From ab264f968fac37a8af2cbcb4d29cf4f01f78575b Mon Sep 17 00:00:00 2001 From: Eric Brugger Date: Thu, 9 Nov 2023 06:15:13 -0800 Subject: [PATCH] Add new results to the dashboard. --- .../pascal_trunk_parallel/Pick2D.html | 1706 +++++++++ .../pascal_trunk_parallel/Pick3DTo2D.html | 2126 +++++++++++ .../pascal_trunk_parallel/PickAMR.html | 1271 +++++++ .../pascal_trunk_parallel/PickBox.html | 546 +++ .../PickIndexSelect.html | 1026 ++++++ .../pascal_trunk_parallel/PickSamrai_01.html | 1426 +++++++ .../pascal_trunk_parallel/PickSamrai_05.html | 676 ++++ .../pascal_trunk_parallel/avg_value_02.html | 31 + .../pascal_trunk_parallel/c_bigdata_01.png | Bin 0 -> 929 bytes .../c_bigdata_01_thumb.png | Bin 0 -> 405 bytes .../pascal_trunk_parallel/c_legends_07.png | Bin 0 -> 22961 bytes .../c_legends_07_thumb.png | Bin 0 -> 5243 bytes .../c_ops_cart_proj_1.png | Bin 0 -> 10286 bytes .../c_ops_cart_proj_1_thumb.png | Bin 0 -> 2620 bytes .../c_ops_cart_proj_3.png | Bin 0 -> 13831 bytes .../c_ops_cart_proj_3_thumb.png | Bin 0 -> 3924 bytes .../c_ops_dualmesh_mesh_plot_2d_01.png | Bin 0 -> 1507 bytes .../c_ops_dualmesh_mesh_plot_2d_01_thumb.png | Bin 0 -> 545 bytes .../c_pixeldata_0_05.png | Bin 0 -> 70152 bytes .../c_pixeldata_0_05_thumb.png | Bin 0 -> 15509 bytes .../c_pixeldata_0_07.png | Bin 0 -> 72356 bytes .../c_pixeldata_0_07_thumb.png | Bin 0 -> 17572 bytes .../c_pixeldata_0_08.png | Bin 0 -> 911 bytes .../c_pixeldata_0_08_thumb.png | Bin 0 -> 289 bytes .../c_pixeldata_0_09.png | Bin 0 -> 85815 bytes .../c_pixeldata_0_09_thumb.png | Bin 0 -> 15413 bytes .../c_pixeldata_0_10.png | Bin 0 -> 911 bytes .../c_pixeldata_0_10_thumb.png | Bin 0 -> 289 bytes .../c_pixeldata_0_11.png | Bin 0 -> 89599 bytes .../c_pixeldata_0_11_thumb.png | Bin 0 -> 17481 bytes .../pascal_trunk_parallel/c_pixie_04.png | Bin 0 -> 23379 bytes .../c_pixie_04_thumb.png | Bin 0 -> 5299 bytes .../c_volumeOpacity_05.png | Bin 0 -> 1926 bytes .../c_volumeOpacity_05_thumb.png | Bin 0 -> 793 bytes .../pascal_trunk_parallel/c_volume_01.png | Bin 0 -> 127840 bytes .../c_volume_01_thumb.png | Bin 0 -> 16496 bytes .../pascal_trunk_parallel/c_volume_02.png | Bin 0 -> 127840 bytes .../c_volume_02_thumb.png | Bin 0 -> 16496 bytes .../pascal_trunk_parallel/css/styles.css | 96 + .../pascal_trunk_parallel/d_bigdata_01.png | Bin 0 -> 533 bytes .../d_bigdata_01_thumb.png | Bin 0 -> 188 bytes .../pascal_trunk_parallel/d_legends_07.png | Bin 0 -> 1393 bytes .../d_legends_07_thumb.png | Bin 0 -> 928 bytes .../d_ops_cart_proj_1.png | Bin 0 -> 2372 bytes .../d_ops_cart_proj_1_thumb.png | Bin 0 -> 1710 bytes .../d_ops_cart_proj_3.png | Bin 0 -> 1887 bytes .../d_ops_cart_proj_3_thumb.png | Bin 0 -> 1411 bytes .../d_ops_dualmesh_mesh_plot_2d_01.png | Bin 0 -> 353 bytes .../d_ops_dualmesh_mesh_plot_2d_01_thumb.png | Bin 0 -> 229 bytes .../d_pixeldata_0_05.png | Bin 0 -> 2870 bytes .../d_pixeldata_0_05_thumb.png | Bin 0 -> 2249 bytes .../d_pixeldata_0_07.png | Bin 0 -> 3121 bytes .../d_pixeldata_0_07_thumb.png | Bin 0 -> 2610 bytes .../d_pixeldata_0_08.png | Bin 0 -> 2030 bytes .../d_pixeldata_0_08_thumb.png | Bin 0 -> 1439 bytes .../d_pixeldata_0_09.png | Bin 0 -> 1919 bytes .../d_pixeldata_0_09_thumb.png | Bin 0 -> 1335 bytes .../d_pixeldata_0_10.png | Bin 0 -> 2663 bytes .../d_pixeldata_0_10_thumb.png | Bin 0 -> 2057 bytes .../d_pixeldata_0_11.png | Bin 0 -> 2861 bytes .../d_pixeldata_0_11_thumb.png | Bin 0 -> 2439 bytes .../pascal_trunk_parallel/d_pixie_04.png | Bin 0 -> 320 bytes .../d_pixie_04_thumb.png | Bin 0 -> 293 bytes .../d_volumeOpacity_05.png | Bin 0 -> 1247 bytes .../d_volumeOpacity_05_thumb.png | Bin 0 -> 740 bytes .../pascal_trunk_parallel/d_volume_01.png | Bin 0 -> 1254 bytes .../d_volume_01_thumb.png | Bin 0 -> 522 bytes .../pascal_trunk_parallel/d_volume_02.png | Bin 0 -> 1254 bytes .../d_volume_02_thumb.png | Bin 0 -> 522 bytes .../databasesVsInstall.html | 86 + .../databases_ANALYZE.html | 84 + .../databases_ANALYZE_py.html | 113 + .../databases_ANSYS.html | 108 + .../databases_ANSYS_py.html | 217 ++ .../pascal_trunk_parallel/databases_CGNS.html | 204 + .../databases_CGNS_py.html | 389 ++ .../pascal_trunk_parallel/databases_Cale.html | 69 + .../databases_Cale_py.html | 65 + .../databases_Chombo.html | 73 + .../databases_Chombo_py.html | 101 + .../databases_EnSight.html | 102 + .../databases_EnSight_py.html | 84 + .../pascal_trunk_parallel/databases_FITS.html | 87 + .../databases_FITS_py.html | 124 + .../pascal_trunk_parallel/databases_FMS.html | 1156 ++++++ .../databases_FMS_py.html | 590 +++ .../databases_Fluent.html | 60 + .../databases_Fluent_py.html | 43 + .../pascal_trunk_parallel/databases_GDAL.html | 36 + .../databases_GDAL_py.html | 107 + .../databases_NASTRAN.html | 204 + .../databases_NASTRAN_py.html | 511 +++ .../databases_OpenFOAM.html | 210 ++ .../databases_OpenFOAM_py.html | 250 ++ .../databases_PATRAN.html | 120 + .../databases_PATRAN_py.html | 242 ++ .../databases_PLOT3D.html | 650 ++++ .../databases_PLOT3D_py.html | 217 ++ .../databases_ProteinDataBank.html | 252 ++ .../databases_ProteinDataBank_py.html | 366 ++ .../pascal_trunk_parallel/databases_RAW.html | 57 + .../databases_RAW_py.html | 94 + .../databases_SPCTH.html | 48 + .../databases_SPCTH_py.html | 36 + .../databases_Velodyne.html | 88 + .../databases_Velodyne_py.html | 79 + .../databases_WData.html | 60 + .../databases_WData_py.html | 58 + .../pascal_trunk_parallel/databases_Xmdv.html | 66 + .../databases_Xmdv_py.html | 105 + .../databases_Xolotl.html | 90 + .../databases_Xolotl_py.html | 47 + .../databases_activesource.html | 80 + .../databases_activesource_py.html | 82 + .../databases_adios2.html | 45 + .../databases_adios2_py.html | 89 + .../databases_avsucd.html | 60 + .../databases_avsucd_py.html | 41 + .../databases_blueprint.html | 2819 ++++++++++++++ .../databases_blueprint_axom_klee.html | 144 + .../databases_blueprint_axom_klee_py.html | 151 + .../databases_blueprint_export.html | 539 +++ .../databases_blueprint_export_py.html | 504 +++ .../databases_blueprint_py.html | 761 ++++ .../pascal_trunk_parallel/databases_bov.html | 423 +++ .../databases_bov_py.html | 205 ++ .../databases_boxlib.html | 80 + .../databases_boxlib_py.html | 119 + .../databases_chgcar.html | 120 + .../databases_chgcar_py.html | 156 + .../pascal_trunk_parallel/databases_claw.html | 54 + .../databases_claw_py.html | 65 + .../databases_closedatabase.html | 94 + .../databases_closedatabase_py.html | 108 + .../databases_correlation.html | 510 +++ .../databases_correlation_py.html | 215 ++ .../databases_curve.html | 60 + .../databases_curve_py.html | 53 + .../databases_ddcMD.html | 159 + .../databases_ddcMD_py.html | 112 + .../databases_empty_db.html | 40 + .../databases_empty_db_py.html | 28 + .../databases_exodus.html | 238 ++ .../databases_exodus_py.html | 272 ++ .../databases_export_db.html | 488 +++ .../databases_export_db_py.html | 611 +++ .../pascal_trunk_parallel/databases_ffp.html | 60 + .../databases_ffp_py.html | 260 ++ .../databases_flash.html | 42 + .../databases_flash_py.html | 46 + .../databases_global_node_ids.html | 96 + .../databases_global_node_ids_py.html | 91 + .../databases_h5part.html | 60 + .../databases_h5part_py.html | 64 + .../databases_history.html | 48 + .../databases_history_py.html | 47 + .../databases_image.html | 60 + .../databases_image_py.html | 90 + .../databases_imgvol.html | 78 + .../databases_imgvol_py.html | 67 + .../databases_kulllite.html | 84 + .../databases_kulllite_py.html | 89 + .../pascal_trunk_parallel/databases_lata.html | 126 + .../databases_lata_py.html | 134 + .../pascal_trunk_parallel/databases_leos.html | 66 + .../databases_leos_py.html | 86 + .../databases_lines.html | 62 + .../databases_lines_py.html | 79 + .../databases_metadata.html | 200 + .../databases_metadata_py.html | 112 + .../pascal_trunk_parallel/databases_mfem.html | 1950 ++++++++++ .../databases_mfem_py.html | 265 ++ .../pascal_trunk_parallel/databases_mili.html | 360 ++ .../databases_mili_py.html | 473 +++ .../databases_miranda.html | 108 + .../databases_miranda_py.html | 156 + .../pascal_trunk_parallel/databases_moab.html | 60 + .../databases_moab_py.html | 61 + .../databases_multi_format.html | 60 + .../databases_multi_format2.html | 42 + .../databases_multi_format2_py.html | 53 + .../databases_multi_format_py.html | 66 + .../databases_netcdf.html | 210 ++ .../databases_netcdf_py.html | 425 +++ .../pascal_trunk_parallel/databases_obj.html | 126 + .../databases_obj_py.html | 85 + .../databases_oldsilo.html | 48 + .../databases_oldsilo_py.html | 38 + .../databases_openPMD.html | 45 + .../databases_openPMD_py.html | 40 + .../databases_openexr.html | 78 + .../databases_openexr_py.html | 54 + .../databases_overlink.html | 108 + .../databases_overlink_py.html | 152 + .../databases_pdbdatabase.html | 348 ++ .../databases_pdbdatabase_py.html | 247 ++ .../databases_pixie.html | 92 + .../databases_pixie_py.html | 161 + .../databases_plaintext.html | 72 + .../databases_plaintext_py.html | 234 ++ .../pascal_trunk_parallel/databases_rect.html | 93 + .../databases_rect_py.html | 98 + .../databases_reopen.html | 261 ++ .../databases_reopen_py.html | 550 +++ .../pascal_trunk_parallel/databases_sami.html | 78 + .../databases_sami_py.html | 80 + .../databases_samrai.html | 294 ++ .../databases_samrai_py.html | 413 +++ .../databases_scale_mesh.html | 42 + .../databases_scale_mesh_py.html | 28 + .../databases_shapefile.html | 183 + .../databases_shapefile_py.html | 236 ++ .../pascal_trunk_parallel/databases_silo.html | 705 ++++ .../databases_silo_altdriver.html | 703 ++++ .../databases_silo_altdriver_py.html | 21 + .../databases_silo_datatypes.html | 79 + .../databases_silo_datatypes_py.html | 152 + .../databases_silo_py.html | 764 ++++ .../databases_singlemulti.html | 76 + .../databases_singlemulti_py.html | 116 + .../pascal_trunk_parallel/databases_sw4.html | 48 + .../databases_sw4_py.html | 50 + .../databases_tecplot.html | 192 + .../databases_tecplot_py.html | 323 ++ .../databases_timesliders.html | 256 ++ .../databases_timesliders_py.html | 247 ++ .../databases_uintah.html | 79 + .../databases_uintah_py.html | 66 + .../pascal_trunk_parallel/databases_unv.html | 72 + .../databases_unv_py.html | 175 + .../pascal_trunk_parallel/databases_vtk.html | 437 +++ .../databases_vtk_py.html | 474 +++ .../databases_wave_tv.html | 62 + .../databases_wave_tv_py.html | 88 + .../pascal_trunk_parallel/databases_xdmf.html | 330 ++ .../databases_xdmf_py.html | 436 +++ .../databases_xform_precision.html | 72 + .../databases_xform_precision_py.html | 86 + .../pascal_trunk_parallel/databases_xyz.html | 76 + .../databases_xyz_py.html | 81 + .../expressions_ghost_zoneid_expr.html | 58 + .../expressions_ghost_zoneid_expr_py.html | 46 + .../expressions_tensor_expr.html | 194 + .../expressions_tensor_expr_py.html | 262 ++ .../faulttolerance_badfile.html | 40 + .../faulttolerance_badfile_py.html | 34 + .../faulttolerance_checkmode.html | 60 + .../faulttolerance_checkmode_py.html | 111 + .../faulttolerance_savewindow.html | 40 + .../faulttolerance_savewindow_py.html | 57 + .../hybrid_cinema-a.html | 108 + .../hybrid_cinema-a_py.html | 214 ++ .../hybrid_cinema-c.html | 210 ++ .../hybrid_cinema-c_py.html | 258 ++ .../hybrid_cleanzonesonly.html | 120 + .../hybrid_cleanzonesonly_py.html | 135 + .../hybrid_clonefirstref.html | 72 + .../hybrid_clonefirstref_py.html | 62 + .../hybrid_conditional.html | 72 + .../hybrid_conditional_py.html | 96 + .../hybrid_conn_cmfe.html | 102 + .../hybrid_conn_cmfe_py.html | 138 + .../hybrid_coord_expr.html | 84 + .../hybrid_coord_expr_py.html | 65 + .../hybrid_curve_anim.html | 72 + .../hybrid_curve_anim_py.html | 77 + .../hybrid_curve_expressions.html | 63 + .../hybrid_curve_expressions_py.html | 50 + .../hybrid_cylindrical_radius.html | 96 + .../hybrid_cylindrical_radius_py.html | 232 ++ .../pascal_trunk_parallel/hybrid_ddf.html | 75 + .../pascal_trunk_parallel/hybrid_ddf_py.html | 172 + .../hybrid_defvar_anim.html | 54 + .../hybrid_defvar_anim_py.html | 61 + .../hybrid_expr2engine.html | 56 + .../hybrid_expr2engine_py.html | 67 + .../hybrid_exprList.html | 56 + .../hybrid_exprList_py.html | 65 + .../hybrid_expr_cmfe.html | 66 + .../hybrid_expr_cmfe_py.html | 66 + .../hybrid_expressions.html | 304 ++ .../hybrid_expressions_py.html | 464 +++ .../hybrid_field_operators.html | 144 + .../hybrid_field_operators_py.html | 258 ++ .../hybrid_ghost_node.html | 42 + .../hybrid_ghost_node_py.html | 45 + .../hybrid_image_proc.html | 54 + .../hybrid_image_proc_py.html | 34 + .../hybrid_keyframe.html | 501 +++ .../hybrid_keyframe_py.html | 544 +++ .../pascal_trunk_parallel/hybrid_lambda2.html | 54 + .../hybrid_lambda2_py.html | 53 + .../pascal_trunk_parallel/hybrid_lineout.html | 247 ++ .../hybrid_lineout_py.html | 661 ++++ .../hybrid_locktime.html | 124 + .../hybrid_locktime_py.html | 125 + .../pascal_trunk_parallel/hybrid_locus.html | 42 + .../hybrid_locus_py.html | 148 + .../hybrid_math_expr.html | 60 + .../hybrid_math_expr_py.html | 44 + .../pascal_trunk_parallel/hybrid_matsel.html | 54 + .../hybrid_matsel_py.html | 96 + .../pascal_trunk_parallel/hybrid_matvf.html | 120 + .../hybrid_matvf_py.html | 249 ++ .../hybrid_merge_tree.html | 108 + .../hybrid_merge_tree_py.html | 64 + .../hybrid_mesh_quality.html | 93 + .../hybrid_mesh_quality_py.html | 160 + .../pascal_trunk_parallel/hybrid_mir.html | 168 + .../hybrid_mir_cache.html | 48 + .../hybrid_mir_cache_py.html | 65 + .../pascal_trunk_parallel/hybrid_mir_py.html | 73 + .../hybrid_missingdata.html | 88 + .../hybrid_missingdata_py.html | 72 + .../hybrid_multivar.html | 60 + .../hybrid_multivar_py.html | 108 + .../hybrid_pos_cmfe.html | 108 + .../hybrid_pos_cmfe_py.html | 149 + .../hybrid_py_exprs.html | 78 + .../hybrid_py_exprs_py.html | 106 + .../pascal_trunk_parallel/hybrid_qcrit.html | 54 + .../hybrid_qcrit_py.html | 54 + .../pascal_trunk_parallel/hybrid_replace.html | 72 + .../hybrid_replace_py.html | 97 + .../pascal_trunk_parallel/hybrid_sil.html | 70 + .../pascal_trunk_parallel/hybrid_sil_py.html | 87 + .../hybrid_simplify_mixed.html | 72 + .../hybrid_simplify_mixed_py.html | 90 + .../pascal_trunk_parallel/hybrid_specmf.html | 48 + .../hybrid_specmf_py.html | 42 + .../pascal_trunk_parallel/hybrid_symm.html | 100 + .../pascal_trunk_parallel/hybrid_symm_py.html | 114 + .../hybrid_time_cmfe.html | 108 + .../hybrid_time_cmfe_py.html | 93 + .../hybrid_time_deriv_cmfe.html | 54 + .../hybrid_time_deriv_cmfe_py.html | 35 + .../hybrid_time_iteration.html | 54 + .../hybrid_time_iteration_py.html | 41 + .../hybrid_timelock.html | 209 ++ .../hybrid_timelock_py.html | 374 ++ .../pascal_trunk_parallel/hybrid_val4mat.html | 66 + .../hybrid_val4mat_py.html | 76 + .../pascal_trunk_parallel/hybrid_vtkm.html | 372 ++ .../pascal_trunk_parallel/hybrid_vtkm_py.html | 779 ++++ .../pascal_trunk_parallel/index.html | 2412 ++++++++++++ .../js/jquery-3.6.1.min.js | 2 + .../js/jquery.tablesorter.js | 1046 ++++++ .../pascal_trunk_parallel/js/purl.js | 271 ++ .../meshtype_arbpoly.html | 90 + .../meshtype_arbpoly_py.html | 124 + .../pascal_trunk_parallel/meshtype_csg.html | 78 + .../meshtype_csg_py.html | 177 + .../meshtype_degen_mesh.html | 84 + .../meshtype_degen_mesh_py.html | 260 ++ .../meshtype_emptydomains.html | 104 + .../meshtype_emptydomains_py.html | 132 + .../pascal_trunk_parallel/meshtype_globe.html | 72 + .../meshtype_globe_py.html | 85 + .../pascal_trunk_parallel/meshtype_point.html | 138 + .../meshtype_point_py.html | 174 + .../meshtype_rect3d.html | 48 + .../meshtype_rect3d_py.html | 80 + .../missingdata_0_04.html | 66 + .../operatorsVsInstall.html | 51 + .../operators_amr_stitch.html | 84 + .../operators_amr_stitch_py.html | 49 + .../pascal_trunk_parallel/operators_box.html | 84 + .../operators_box_py.html | 155 + .../operators_cart_proj.html | 64 + .../operators_cart_proj_py.html | 60 + .../pascal_trunk_parallel/operators_clip.html | 180 + .../operators_clip_py.html | 143 + .../operators_cracksclipper.html | 72 + .../operators_cracksclipper_py.html | 54 + .../operators_defer_expr.html | 114 + .../operators_defer_expr_py.html | 248 ++ .../operators_displace.html | 94 + .../operators_displace_py.html | 129 + .../operators_dual_mesh.html | 110 + .../operators_dual_mesh_py.html | 111 + .../operators_elevate.html | 132 + .../operators_elevate_py.html | 164 + .../operators_ex_surf.html | 56 + .../operators_ex_surf_py.html | 51 + .../operators_explode.html | 180 + .../operators_explode_py.html | 580 +++ .../operators_extrudeStacked.html | 339 ++ .../operators_extrudeStacked_py.html | 283 ++ .../operators_ic_geometry.html | 138 + .../operators_ic_geometry_py.html | 379 ++ .../operators_ic_integration.html | 102 + .../operators_ic_integration_py.html | 115 + .../operators_ic_pathlines.html | 86 + .../operators_ic_pathlines_py.html | 160 + .../operators_ic_pics.html | 1392 +++++++ .../operators_ic_pics_py.html | 114 + .../operators_ic_streamlines.html | 102 + .../operators_ic_streamlines_py.html | 220 ++ .../operators_ic_termination.html | 84 + .../operators_ic_termination_py.html | 91 + .../operators_indexselect.html | 273 ++ .../operators_indexselect_py.html | 621 ++++ .../operators_inverse_ghost_zone.html | 72 + .../operators_inverse_ghost_zone_py.html | 76 + .../operators_isovolume.html | 78 + .../operators_isovolume_py.html | 160 + .../pascal_trunk_parallel/operators_lcs.html | 147 + .../operators_lcs_ic_1.html | 66 + .../operators_lcs_ic_1_py.html | 17 + .../operators_lcs_ic_2.html | 66 + .../operators_lcs_ic_2_py.html | 17 + .../operators_lcs_lc_1.html | 66 + .../operators_lcs_lc_1_py.html | 17 + .../operators_lcs_lc_2.html | 66 + .../operators_lcs_lc_2_py.html | 17 + .../operators_lcs_py.html | 182 + .../operators_moveoperators.html | 114 + .../operators_moveoperators_py.html | 226 ++ .../operators_multires.html | 48 + .../operators_multires_py.html | 34 + .../operators_onionpeel.html | 486 +++ .../operators_onionpeel_py.html | 643 ++++ .../operators_operators.html | 78 + .../operators_operators_py.html | 141 + .../operators_persistent_particles.html | 72 + .../operators_persistent_particles_py.html | 173 + .../operators_radial_resample.html | 60 + .../operators_radial_resample_py.html | 135 + .../operators_reflect.html | 144 + .../operators_reflect_py.html | 345 ++ .../operators_remap.html | 264 ++ .../operators_remap_py.html | 133 + .../operators_resample.html | 72 + .../operators_resample_py.html | 124 + .../operators_revolve.html | 42 + .../operators_revolve_py.html | 35 + .../operators_slice.html | 297 ++ .../operators_slice_py.html | 590 +++ .../operators_sph_resample.html | 42 + .../operators_sph_resample_py.html | 51 + .../operators_tessellate.html | 162 + .../operators_tessellate_py.html | 286 ++ .../operators_threeslice.html | 54 + .../operators_threeslice_py.html | 49 + .../operators_threshold.html | 108 + .../operators_threshold_py.html | 275 ++ .../operators_transform.html | 96 + .../operators_transform_py.html | 228 ++ .../pascal_trunk_parallel/operators_tube.html | 72 + .../operators_tube_py.html | 64 + .../pascal_trunk_parallel/plotsVsInstall.html | 46 + .../pascal_trunk_parallel/plots_contour.html | 244 ++ .../plots_contour_py.html | 183 + .../pascal_trunk_parallel/plots_curve.html | 351 ++ .../pascal_trunk_parallel/plots_curve_py.html | 488 +++ .../plots_filledboundary.html | 84 + .../plots_filledboundary_py.html | 110 + .../pascal_trunk_parallel/plots_label.html | 546 +++ .../pascal_trunk_parallel/plots_label_py.html | 1005 +++++ .../pascal_trunk_parallel/plots_mesh.html | 249 ++ .../pascal_trunk_parallel/plots_mesh_c.html | 249 ++ .../plots_mesh_c_py.html | 21 + .../pascal_trunk_parallel/plots_mesh_py.html | 446 +++ .../pascal_trunk_parallel/plots_molecule.html | 123 + .../plots_molecule_py.html | 242 ++ .../plots_multicolor.html | 201 + .../plots_multicolor_py.html | 229 ++ .../plots_parcoords.html | 129 + .../plots_parcoords_py.html | 196 + .../plots_pseudocolor.html | 429 +++ .../plots_pseudocolor_py.html | 556 +++ .../plots_ray_trace.html | 108 + .../plots_ray_trace_py.html | 220 ++ .../pascal_trunk_parallel/plots_scatter.html | 207 ++ .../plots_scatter_py.html | 343 ++ .../plots_singlecolor.html | 54 + .../plots_singlecolor_py.html | 77 + .../pascal_trunk_parallel/plots_subset.html | 135 + .../plots_subset_py.html | 190 + .../pascal_trunk_parallel/plots_surface.html | 96 + .../plots_surface_py.html | 101 + .../pascal_trunk_parallel/plots_tensor.html | 84 + .../plots_tensor_py.html | 161 + .../plots_truecolor.html | 42 + .../plots_truecolor_py.html | 21 + .../pascal_trunk_parallel/plots_vector.html | 150 + .../plots_vector_py.html | 244 ++ .../plots_volumePlot.html | 227 ++ .../plots_volumePlot_py.html | 665 ++++ .../plugins_databasesVsInstall.html | 40 + .../plugins_databasesVsInstall_py.html | 31 + .../plugins_operatorsVsInstall.html | 40 + .../plugins_operatorsVsInstall_py.html | 29 + .../plugins_plotsVsInstall.html | 40 + .../plugins_plotsVsInstall_py.html | 23 + .../queries_avg_value.html | 58 + .../queries_avg_value_py.html | 63 + .../queries_bestfitline.html | 94 + .../queries_bestfitline_py.html | 204 + .../queries_casetest.html | 40 + .../queries_casetest_py.html | 69 + .../queries_centroid.html | 88 + .../queries_centroid_py.html | 130 + .../queries_conncomp.html | 162 + .../queries_conncomp_py.html | 240 ++ .../queries_consistencyChecks.html | 64 + .../queries_consistencyChecks_py.html | 114 + .../queries_curvature.html | 54 + .../queries_curvature_py.html | 63 + .../queries_database.html | 100 + .../queries_database_py.html | 1083 ++++++ .../queries_error_queries.html | 100 + .../queries_error_queries_py.html | 89 + .../queries_flatten.html | 1605 ++++++++ .../queries_flatten_py.html | 349 ++ .../queries_gridinformation.html | 56 + .../queries_gridinformation_py.html | 43 + .../queries_hohlraum.html | 86 + .../queries_hohlraum_py.html | 112 + .../queries_kurtosis.html | 60 + .../queries_kurtosis_py.html | 49 + .../pascal_trunk_parallel/queries_l2norm.html | 56 + .../queries_l2norm_py.html | 107 + .../pascal_trunk_parallel/queries_length.html | 50 + .../queries_length_py.html | 58 + .../queries_line_scan.html | 428 +++ .../queries_line_scan_py.html | 203 + .../pascal_trunk_parallel/queries_pick.html | 284 ++ .../queries_pickNamedArgs.html | 74 + .../queries_pickNamedArgs_py.html | 227 ++ .../queries_pick_py.html | 3268 +++++++++++++++++ .../queries_pickarray.html | 86 + .../queries_pickarray_py.html | 137 + .../queries_pickcleanzonesonly.html | 48 + .../queries_pickcleanzonesonly_py.html | 57 + .../queries_py_queries.html | 44 + .../queries_py_queries_py.html | 40 + .../queries_queriesOverTime.html | 324 ++ .../queries_queriesOverTime_py.html | 1065 ++++++ .../queries_queryMultiWindow.html | 40 + .../queries_queryMultiWindow_py.html | 154 + .../queries_revolved_surface_area.html | 56 + .../queries_revolved_surface_area_py.html | 85 + .../pascal_trunk_parallel/queries_scf.html | 96 + .../pascal_trunk_parallel/queries_scf_py.html | 150 + .../queries_surface_area_over_time.html | 66 + .../queries_surface_area_over_time_py.html | 144 + .../queries_variable_sum_volume.html | 68 + .../queries_variable_sum_volume_py.html | 69 + .../queries_watertight.html | 44 + .../queries_watertight_py.html | 40 + .../queries_xrayimage.html | 1870 ++++++++++ .../queries_xrayimage_py.html | 1337 +++++++ .../quickrecipes_cl_args.html | 44 + .../quickrecipes_cl_args_py.html | 30 + .../quickrecipes_colortables.html | 72 + .../quickrecipes_colortables_py.html | 217 ++ .../quickrecipes_expressions.html | 42 + .../quickrecipes_expressions_py.html | 62 + .../quickrecipes_operators.html | 52 + .../quickrecipes_operators_py.html | 80 + .../quickrecipes_quantitative_operations.html | 116 + ...ickrecipes_quantitative_operations_py.html | 219 ++ .../quickrecipes_saving_images.html | 52 + .../quickrecipes_saving_images_py.html | 56 + .../quickrecipes_subsetting.html | 52 + .../quickrecipes_subsetting_py.html | 67 + .../quickrecipes_view.html | 60 + .../quickrecipes_view_py.html | 159 + ...quickrecipes_working_with_annotations.html | 76 + ...ckrecipes_working_with_annotations_py.html | 195 + .../quickrecipes_working_with_dbs.html | 68 + .../quickrecipes_working_with_dbs_py.html | 78 + .../quickrecipes_working_with_plots.html | 76 + .../quickrecipes_working_with_plots_py.html | 196 + .../rendering_annotation.html | 294 ++ .../rendering_annotation_py.html | 464 +++ .../rendering_axislabels.html | 150 + .../rendering_axislabels_py.html | 141 + .../rendering_axistitles.html | 120 + .../rendering_axistitles_py.html | 170 + .../rendering_bigdata.html | 56 + .../rendering_bigdata_py.html | 36 + .../rendering_colortexture.html | 66 + .../rendering_colortexture_py.html | 86 + .../rendering_evalcubic.html | 66 + .../rendering_evalcubic_py.html | 123 + .../rendering_image.html | 54 + .../rendering_image_py.html | 46 + .../rendering_legends.html | 437 +++ .../rendering_legends_py.html | 597 +++ .../rendering_lighting.html | 54 + .../rendering_lighting_py.html | 113 + .../rendering_line2d.html | 102 + .../rendering_line2d_py.html | 101 + .../rendering_line3d.html | 102 + .../rendering_line3d_py.html | 104 + .../rendering_offscreensave.html | 106 + .../rendering_offscreensave_py.html | 177 + .../rendering_ospray.html | 48 + .../rendering_ospray_py.html | 104 + .../rendering_pixeldata.html | 174 + .../rendering_pixeldata_py.html | 215 ++ .../rendering_renderpoints.html | 444 +++ .../rendering_renderpoints_py.html | 347 ++ .../rendering_saveformats.html | 120 + .../rendering_saveformats_py.html | 272 ++ .../rendering_scalable.html | 117 + .../rendering_scalable2.html | 53 + .../rendering_scalable2_py.html | 113 + .../rendering_scalable_c.html | 117 + .../rendering_scalable_c_py.html | 21 + .../rendering_scalable_py.html | 392 ++ .../rendering_shadows.html | 54 + .../rendering_shadows_py.html | 55 + .../rendering_specular.html | 102 + .../rendering_specular_py.html | 124 + .../rendering_text2d.html | 108 + .../rendering_text2d_py.html | 123 + .../rendering_text3d.html | 102 + .../rendering_text3d_py.html | 103 + .../rendering_timeslider.html | 174 + .../rendering_timeslider_py.html | 162 + .../rendering_transparency.html | 114 + .../rendering_transparency_py.html | 164 + .../pascal_trunk_parallel/rendering_view.html | 249 ++ .../rendering_viewChange.html | 222 ++ .../rendering_viewChange_py.html | 450 +++ .../rendering_view_py.html | 382 ++ .../rendering_volume.html | 58 + .../rendering_volume_py.html | 95 + .../session_colortable.html | 42 + .../session_colortable_py.html | 34 + .../session_correlationsession.html | 92 + .../session_correlationsession_py.html | 95 + .../session_legendproperties.html | 52 + .../session_legendproperties_py.html | 48 + .../session_rect3d-contour.html | 42 + .../session_rect3d-contour_py.html | 25 + .../session_restorewithsources.html | 48 + .../session_restorewithsources_py.html | 42 + .../session_selection.html | 42 + .../session_selection_py.html | 29 + .../session_sessionexpression.html | 42 + .../session_sessionexpression_py.html | 27 + .../session_sessionview.html | 66 + .../session_sessionview_py.html | 55 + .../session_simplekeyframe.html | 130 + .../session_simplekeyframe_py.html | 78 + .../session_textannot.html | 66 + .../session_textannot_py.html | 38 + .../pascal_trunk_parallel/session_view3d.html | 42 + .../session_view3d_py.html | 29 + .../session_wavecontour.html | 42 + .../session_wavecontour_py.html | 29 + .../pascal_trunk_parallel/simulation_amr.html | 68 + .../simulation_amr_py.html | 58 + .../simulation_aresamr.html | 62 + .../simulation_aresamr_py.html | 48 + .../simulation_batch.html | 426 +++ .../simulation_batch_py.html | 393 ++ .../pascal_trunk_parallel/simulation_csg.html | 114 + .../simulation_csg_py.html | 64 + .../simulation_curve.html | 66 + .../simulation_curve_py.html | 61 + .../simulation_domainbounds.html | 56 + .../simulation_domainbounds_py.html | 47 + .../simulation_domainlist.html | 108 + .../simulation_domainlist_py.html | 125 + .../simulation_ghostcells.html | 194 + .../simulation_ghostcells_py.html | 84 + .../simulation_globalids.html | 196 + .../simulation_globalids_py.html | 218 ++ .../simulation_interleave.html | 188 + .../simulation_interleave_py.html | 86 + .../simulation_life.html | 58 + .../simulation_life_py.html | 43 + .../simulation_mandelbrot.html | 78 + .../simulation_mandelbrot_py.html | 77 + .../simulation_material.html | 62 + .../simulation_material_py.html | 59 + .../simulation_materialvar.html | 104 + .../simulation_materialvar_py.html | 58 + .../simulation_mesh.html | 62 + .../simulation_mesh_py.html | 53 + .../simulation_multiblock.html | 68 + .../simulation_multiblock_py.html | 56 + .../simulation_point.html | 92 + .../simulation_point_py.html | 79 + .../simulation_polyhedral.html | 68 + .../simulation_polyhedral_py.html | 64 + .../simulation_scalar.html | 56 + .../simulation_scalar_py.html | 57 + .../simulation_species.html | 137 + .../simulation_species_py.html | 83 + .../simulation_ucdcurve.html | 66 + .../simulation_ucdcurve_py.html | 72 + .../simulation_unstructured.html | 50 + .../simulation_unstructured_py.html | 44 + .../simulation_updateplots.html | 90 + .../simulation_updateplots_py.html | 89 + .../simulation_updateplots_session.html | 99 + .../simulation_updateplots_session_py.html | 88 + .../pascal_trunk_parallel/simulation_var.html | 56 + .../simulation_var_py.html | 62 + .../simulation_zerocopy.html | 285 ++ .../simulation_zerocopy_py.html | 178 + .../unit_annotation_objects.html | 44 + .../unit_annotation_objects_py.html | 30 + .../unit_atts_assign.html | 1806 +++++++++ .../unit_atts_assign_py.html | 1193 ++++++ .../unit_compiler_warnings.html | 36 + .../unit_compiler_warnings_py.html | 213 ++ .../unit_convert2to3.html | 44 + .../unit_convert2to3_py.html | 34 + .../unit_default_methods.html | 84 + .../unit_default_methods_py.html | 58 + .../pascal_trunk_parallel/unit_launcher.html | 120 + .../unit_launcher_py.html | 196 + .../pascal_trunk_parallel/unit_mrucache.html | 40 + .../unit_mrucache_py.html | 24 + .../unit_namescheme.html | 36 + .../unit_namescheme_py.html | 27 + .../pascal_trunk_parallel/unit_protocol.html | 36 + .../unit_protocol_py.html | 17 + .../unit_stringhelpers.html | 36 + .../unit_stringhelpers_py.html | 26 + .../unit_test_value_simple.html | 120 + .../unit_test_value_simple_py.html | 56 + .../pascal_trunk_parallel/unit_utility.html | 36 + .../unit_utility_py.html | 27 + .../pascal_trunk_parallel/zerocopy02.html | 31 + .../Pick2D.html | 1706 +++++++++ .../Pick3DTo2D.html | 2126 +++++++++++ .../PickAMR.html | 1271 +++++++ .../PickBox.html | 546 +++ .../PickIndexSelect.html | 1026 ++++++ .../PickSamrai_01.html | 1426 +++++++ .../PickSamrai_05.html | 676 ++++ .../avg_value_02.html | 31 + ...Output_spectra_topo_intensities_legacy.png | Bin 0 -> 1205 bytes ..._spectra_topo_intensities_legacy_thumb.png | Bin 0 -> 869 bytes ...Output_spectra_topo_intensities_modern.png | Bin 0 -> 1205 bytes ..._spectra_topo_intensities_modern_thumb.png | Bin 0 -> 868 bytes ...Output_spectra_topo_path_length_legacy.png | Bin 0 -> 1293 bytes ..._spectra_topo_path_length_legacy_thumb.png | Bin 0 -> 1041 bytes ...Output_spectra_topo_path_length_modern.png | Bin 0 -> 1273 bytes ..._spectra_topo_path_length_modern_thumb.png | Bin 0 -> 851 bytes ...Output_spectra_topo_intensities_legacy.png | Bin 0 -> 1186 bytes ..._spectra_topo_intensities_legacy_thumb.png | Bin 0 -> 716 bytes ...Output_spectra_topo_intensities_modern.png | Bin 0 -> 1209 bytes ..._spectra_topo_intensities_modern_thumb.png | Bin 0 -> 871 bytes ...Output_spectra_topo_path_length_legacy.png | Bin 0 -> 1272 bytes ..._spectra_topo_path_length_legacy_thumb.png | Bin 0 -> 850 bytes ...Output_spectra_topo_path_length_modern.png | Bin 0 -> 1289 bytes ..._spectra_topo_path_length_modern_thumb.png | Bin 0 -> 1019 bytes ...Output_spectra_topo_intensities_legacy.png | Bin 0 -> 1207 bytes ..._spectra_topo_intensities_legacy_thumb.png | Bin 0 -> 790 bytes ...Output_spectra_topo_intensities_modern.png | Bin 0 -> 1209 bytes ..._spectra_topo_intensities_modern_thumb.png | Bin 0 -> 818 bytes ...Output_spectra_topo_path_length_legacy.png | Bin 0 -> 1288 bytes ..._spectra_topo_path_length_legacy_thumb.png | Bin 0 -> 980 bytes ...Output_spectra_topo_path_length_modern.png | Bin 0 -> 1289 bytes ..._spectra_topo_path_length_modern_thumb.png | Bin 0 -> 949 bytes .../c_CGNS_NFace_Elements_01.png | Bin 0 -> 24570 bytes .../c_CGNS_NFace_Elements_01_thumb.png | Bin 0 -> 5492 bytes .../c_Chombo_1_00.png | Bin 0 -> 1698 bytes .../c_Chombo_1_00_thumb.png | Bin 0 -> 1897 bytes .../c_Chombo_2_00.png | Bin 0 -> 1157 bytes .../c_Chombo_2_00_thumb.png | Bin 0 -> 1452 bytes .../c_LOR_amr-quad_legacy_lor.png | Bin 0 -> 1046 bytes .../c_LOR_amr-quad_legacy_lor_thumb.png | Bin 0 -> 1022 bytes .../c_LOR_amr-quad_lor.png | Bin 0 -> 955 bytes .../c_LOR_amr-quad_lor_thumb.png | Bin 0 -> 457 bytes .../c_LOR_beam-quad-nurbs_legacy_lor.png | Bin 0 -> 925 bytes ...c_LOR_beam-quad-nurbs_legacy_lor_thumb.png | Bin 0 -> 410 bytes .../c_LOR_beam-quad-nurbs_lor.png | Bin 0 -> 928 bytes .../c_LOR_beam-quad-nurbs_lor_thumb.png | Bin 0 -> 391 bytes .../c_LOR_beam-quad_legacy_lor.png | Bin 0 -> 925 bytes .../c_LOR_beam-quad_legacy_lor_thumb.png | Bin 0 -> 410 bytes .../c_LOR_beam-quad_lor.png | Bin 0 -> 928 bytes .../c_LOR_beam-quad_lor_thumb.png | Bin 0 -> 391 bytes .../c_LOR_beam-tri_legacy_lor.png | Bin 0 -> 1110 bytes .../c_LOR_beam-tri_legacy_lor_thumb.png | Bin 0 -> 610 bytes .../c_LOR_beam-tri_lor.png | Bin 0 -> 928 bytes .../c_LOR_beam-tri_lor_thumb.png | Bin 0 -> 391 bytes .../c_LOR_disc-nurbs_legacy_lor.png | Bin 0 -> 1599 bytes .../c_LOR_disc-nurbs_legacy_lor_thumb.png | Bin 0 -> 780 bytes .../c_LOR_disc-nurbs_lor.png | Bin 0 -> 922 bytes .../c_LOR_disc-nurbs_lor_thumb.png | Bin 0 -> 338 bytes .../c_LOR_inline-quad_legacy_lor.png | Bin 0 -> 1003 bytes .../c_LOR_inline-quad_legacy_lor_thumb.png | Bin 0 -> 762 bytes .../c_LOR_inline-quad_lor.png | Bin 0 -> 922 bytes .../c_LOR_inline-quad_lor_thumb.png | Bin 0 -> 338 bytes .../c_LOR_inline-tri_legacy_lor.png | Bin 0 -> 2734 bytes .../c_LOR_inline-tri_legacy_lor_thumb.png | Bin 0 -> 1517 bytes .../c_LOR_inline-tri_lor.png | Bin 0 -> 922 bytes .../c_LOR_inline-tri_lor_thumb.png | Bin 0 -> 338 bytes .../c_LOR_periodic-square_legacy_lor.png | Bin 0 -> 969 bytes ...c_LOR_periodic-square_legacy_lor_thumb.png | Bin 0 -> 473 bytes .../c_LOR_periodic-square_lor.png | Bin 0 -> 969 bytes .../c_LOR_periodic-square_lor_thumb.png | Bin 0 -> 473 bytes .../c_LOR_square-disc-nurbs_legacy_lor.png | Bin 0 -> 1855 bytes ...LOR_square-disc-nurbs_legacy_lor_thumb.png | Bin 0 -> 864 bytes .../c_LOR_square-disc-nurbs_lor.png | Bin 0 -> 957 bytes .../c_LOR_square-disc-nurbs_lor_thumb.png | Bin 0 -> 468 bytes .../c_LOR_square-disc-p2_legacy_lor.png | Bin 0 -> 6529 bytes .../c_LOR_square-disc-p2_legacy_lor_thumb.png | Bin 0 -> 7490 bytes .../c_LOR_square-disc-p2_lor.png | Bin 0 -> 1348 bytes .../c_LOR_square-disc-p2_lor_thumb.png | Bin 0 -> 965 bytes .../c_LOR_square-disc-p3_legacy_lor.png | Bin 0 -> 6547 bytes .../c_LOR_square-disc-p3_legacy_lor_thumb.png | Bin 0 -> 7414 bytes .../c_LOR_square-disc-p3_lor.png | Bin 0 -> 1348 bytes .../c_LOR_square-disc-p3_lor_thumb.png | Bin 0 -> 965 bytes .../c_LOR_square-disc_legacy_lor.png | Bin 0 -> 6544 bytes .../c_LOR_square-disc_legacy_lor_thumb.png | Bin 0 -> 7500 bytes .../c_LOR_square-disc_lor.png | Bin 0 -> 1348 bytes .../c_LOR_square-disc_lor_thumb.png | Bin 0 -> 965 bytes .../c_Lineout3d.png | Bin 0 -> 5461 bytes .../c_Lineout3d_thumb.png | Bin 0 -> 2812 bytes .../c_LineoutSAMRAI.png | Bin 0 -> 4243 bytes .../c_LineoutSAMRAI_thumb.png | Bin 0 -> 4178 bytes .../c_NonSquare_Pixels_Ray_trace_setup_1.png | Bin 0 -> 3687 bytes ...nSquare_Pixels_Ray_trace_setup_1_thumb.png | Bin 0 -> 2687 bytes .../c_NonSquare_Pixels_Ray_trace_setup_2.png | Bin 0 -> 5442 bytes ...nSquare_Pixels_Ray_trace_setup_2_thumb.png | Bin 0 -> 4052 bytes .../c_NonSquare_Pixels_Ray_trace_setup_3.png | Bin 0 -> 3687 bytes ...nSquare_Pixels_Ray_trace_setup_3_thumb.png | Bin 0 -> 2687 bytes .../c_NonSquare_Pixels_Ray_trace_setup_4.png | Bin 0 -> 5442 bytes ...nSquare_Pixels_Ray_trace_setup_4_thumb.png | Bin 0 -> 4052 bytes .../c_NonSquare_Pixels_Ray_trace_setup_5.png | Bin 0 -> 2878 bytes ...nSquare_Pixels_Ray_trace_setup_5_thumb.png | Bin 0 -> 2232 bytes .../c_NonSquare_Pixels_Ray_trace_setup_6.png | Bin 0 -> 4152 bytes ...nSquare_Pixels_Ray_trace_setup_6_thumb.png | Bin 0 -> 3546 bytes .../c_NonSquare_Pixels_Ray_trace_setup_7.png | Bin 0 -> 3069 bytes ...nSquare_Pixels_Ray_trace_setup_7_thumb.png | Bin 0 -> 2036 bytes .../c_NonSquare_Pixels_Ray_trace_setup_8.png | Bin 0 -> 5688 bytes ...nSquare_Pixels_Ray_trace_setup_8_thumb.png | Bin 0 -> 4000 bytes .../c_PATRAN1_2.png | Bin 0 -> 17914 bytes .../c_PATRAN1_2_thumb.png | Bin 0 -> 4461 bytes .../c_PATRAN2_2.png | Bin 0 -> 19457 bytes .../c_PATRAN2_2_thumb.png | Bin 0 -> 7858 bytes .../c_PATRAN3_2.png | Bin 0 -> 19143 bytes .../c_PATRAN3_2_thumb.png | Bin 0 -> 4474 bytes .../c_Polytopal_mesh_missing_offsets.png | Bin 0 -> 942 bytes ...c_Polytopal_mesh_missing_offsets_thumb.png | Bin 0 -> 498 bytes .../c_amr02.png | Bin 0 -> 1558 bytes .../c_amr02_thumb.png | Bin 0 -> 2090 bytes .../c_amr03.png | Bin 0 -> 1526 bytes .../c_amr03_thumb.png | Bin 0 -> 2723 bytes .../c_ansys1_2.png | Bin 0 -> 18337 bytes .../c_ansys1_2_thumb.png | Bin 0 -> 4497 bytes .../c_ansys2_2.png | Bin 0 -> 23507 bytes .../c_ansys2_2_thumb.png | Bin 0 -> 8543 bytes .../c_ansys3_2.png | Bin 0 -> 19817 bytes .../c_ansys3_2_thumb.png | Bin 0 -> 4580 bytes .../c_bestline_3_00.png | Bin 0 -> 4537 bytes .../c_bestline_3_00_thumb.png | Bin 0 -> 3969 bytes .../c_bestline_3_02.png | Bin 0 -> 4282 bytes .../c_bestline_3_02_thumb.png | Bin 0 -> 3354 bytes .../c_bestline_3_03.png | Bin 0 -> 4697 bytes .../c_bestline_3_03_thumb.png | Bin 0 -> 3619 bytes .../c_bigdata_01.png | Bin 0 -> 929 bytes .../c_bigdata_01_thumb.png | Bin 0 -> 405 bytes .../c_biquadratic_quad_field_01.png | Bin 0 -> 10939 bytes .../c_biquadratic_quad_field_01_thumb.png | Bin 0 -> 3273 bytes .../c_biquadratic_quad_field_02.png | Bin 0 -> 12709 bytes .../c_biquadratic_quad_field_02_thumb.png | Bin 0 -> 4373 bytes .../c_biquadratic_quad_field_03.png | Bin 0 -> 15708 bytes .../c_biquadratic_quad_field_03_thumb.png | Bin 0 -> 4844 bytes .../c_blueprint_1d_curve_element_assoc.png | Bin 0 -> 2169 bytes ...blueprint_1d_curve_element_assoc_thumb.png | Bin 0 -> 2579 bytes .../c_blueprint_2d_hdf5_0_8_2_quads_mesh.png | Bin 0 -> 1238 bytes ...ueprint_2d_hdf5_0_8_2_quads_mesh_thumb.png | Bin 0 -> 861 bytes .../c_blueprint_2d_hdf5_0_8_2_rect_mesh.png | Bin 0 -> 1238 bytes ...lueprint_2d_hdf5_0_8_2_rect_mesh_thumb.png | Bin 0 -> 861 bytes .../c_blueprint_2d_hdf5_0_8_2_struct_mesh.png | Bin 0 -> 1238 bytes ...eprint_2d_hdf5_0_8_2_struct_mesh_thumb.png | Bin 0 -> 861 bytes .../c_blueprint_2d_hdf5_0_8_2_tris_mesh.png | Bin 0 -> 3613 bytes ...lueprint_2d_hdf5_0_8_2_tris_mesh_thumb.png | Bin 0 -> 3963 bytes ...c_blueprint_2d_hdf5_0_8_2_uniform_mesh.png | Bin 0 -> 1238 bytes ...print_2d_hdf5_0_8_2_uniform_mesh_thumb.png | Bin 0 -> 861 bytes .../c_blueprint_2d_hdf5_quads_mesh.png | Bin 0 -> 1248 bytes .../c_blueprint_2d_hdf5_quads_mesh_thumb.png | Bin 0 -> 1320 bytes .../c_blueprint_2d_hdf5_rect_mesh.png | Bin 0 -> 1248 bytes .../c_blueprint_2d_hdf5_rect_mesh_thumb.png | Bin 0 -> 1320 bytes .../c_blueprint_2d_hdf5_struct_mesh.png | Bin 0 -> 1248 bytes .../c_blueprint_2d_hdf5_struct_mesh_thumb.png | Bin 0 -> 1320 bytes .../c_blueprint_2d_hdf5_tris_mesh.png | Bin 0 -> 3394 bytes .../c_blueprint_2d_hdf5_tris_mesh_thumb.png | Bin 0 -> 2538 bytes .../c_blueprint_2d_hdf5_uniform_mesh.png | Bin 0 -> 1248 bytes ...c_blueprint_2d_hdf5_uniform_mesh_thumb.png | Bin 0 -> 1320 bytes .../c_blueprint_2d_json_quads_mesh.png | Bin 0 -> 1006 bytes .../c_blueprint_2d_json_quads_mesh_thumb.png | Bin 0 -> 822 bytes .../c_blueprint_2d_json_rect_mesh.png | Bin 0 -> 1006 bytes .../c_blueprint_2d_json_rect_mesh_thumb.png | Bin 0 -> 822 bytes .../c_blueprint_2d_json_struct_mesh.png | Bin 0 -> 1006 bytes .../c_blueprint_2d_json_struct_mesh_thumb.png | Bin 0 -> 822 bytes .../c_blueprint_2d_json_tris_mesh.png | Bin 0 -> 2722 bytes .../c_blueprint_2d_json_tris_mesh_thumb.png | Bin 0 -> 1719 bytes .../c_blueprint_2d_json_uniform_mesh.png | Bin 0 -> 1006 bytes ...c_blueprint_2d_json_uniform_mesh_thumb.png | Bin 0 -> 822 bytes .../c_blueprint_2d_sidre_hdf5_quads_mesh.png | Bin 0 -> 1248 bytes ...ueprint_2d_sidre_hdf5_quads_mesh_thumb.png | Bin 0 -> 1320 bytes .../c_blueprint_2d_sidre_hdf5_rect_mesh.png | Bin 0 -> 1248 bytes ...lueprint_2d_sidre_hdf5_rect_mesh_thumb.png | Bin 0 -> 1320 bytes .../c_blueprint_2d_sidre_hdf5_struct_mesh.png | Bin 0 -> 1248 bytes ...eprint_2d_sidre_hdf5_struct_mesh_thumb.png | Bin 0 -> 1320 bytes .../c_blueprint_2d_sidre_hdf5_tris_mesh.png | Bin 0 -> 3394 bytes ...lueprint_2d_sidre_hdf5_tris_mesh_thumb.png | Bin 0 -> 2538 bytes ...c_blueprint_2d_sidre_hdf5_uniform_mesh.png | Bin 0 -> 1248 bytes ...print_2d_sidre_hdf5_uniform_mesh_thumb.png | Bin 0 -> 1320 bytes .../c_blueprint_2d_yaml_0_8_2_quads_mesh.png | Bin 0 -> 1238 bytes ...ueprint_2d_yaml_0_8_2_quads_mesh_thumb.png | Bin 0 -> 861 bytes .../c_blueprint_2d_yaml_0_8_2_rect_mesh.png | Bin 0 -> 1238 bytes ...lueprint_2d_yaml_0_8_2_rect_mesh_thumb.png | Bin 0 -> 861 bytes .../c_blueprint_2d_yaml_0_8_2_struct_mesh.png | Bin 0 -> 1238 bytes ...eprint_2d_yaml_0_8_2_struct_mesh_thumb.png | Bin 0 -> 861 bytes .../c_blueprint_2d_yaml_0_8_2_tris_mesh.png | Bin 0 -> 3613 bytes ...lueprint_2d_yaml_0_8_2_tris_mesh_thumb.png | Bin 0 -> 3963 bytes ...c_blueprint_2d_yaml_0_8_2_uniform_mesh.png | Bin 0 -> 1238 bytes ...print_2d_yaml_0_8_2_uniform_mesh_thumb.png | Bin 0 -> 861 bytes ...eriodic_hexagon_conduit_bin_legacy_lor.png | Bin 0 -> 3169 bytes ...c_hexagon_conduit_bin_legacy_lor_thumb.png | Bin 0 -> 5294 bytes ...em_2d_periodic_hexagon_conduit_bin_lor.png | Bin 0 -> 3169 bytes ...periodic_hexagon_conduit_bin_lor_thumb.png | Bin 0 -> 5294 bytes ...riodic_hexagon_conduit_json_legacy_lor.png | Bin 0 -> 3169 bytes ..._hexagon_conduit_json_legacy_lor_thumb.png | Bin 0 -> 5294 bytes ...m_2d_periodic_hexagon_conduit_json_lor.png | Bin 0 -> 3169 bytes ...eriodic_hexagon_conduit_json_lor_thumb.png | Bin 0 -> 5294 bytes ...em_2d_periodic_hexagon_hdf5_legacy_lor.png | Bin 0 -> 3169 bytes ...periodic_hexagon_hdf5_legacy_lor_thumb.png | Bin 0 -> 5294 bytes ...rint_mfem_2d_periodic_hexagon_hdf5_lor.png | Bin 0 -> 3169 bytes ...fem_2d_periodic_hexagon_hdf5_lor_thumb.png | Bin 0 -> 5294 bytes ...em_2d_periodic_hexagon_json_legacy_lor.png | Bin 0 -> 3169 bytes ...periodic_hexagon_json_legacy_lor_thumb.png | Bin 0 -> 5294 bytes ...rint_mfem_2d_periodic_hexagon_json_lor.png | Bin 0 -> 3169 bytes ...fem_2d_periodic_hexagon_json_lor_thumb.png | Bin 0 -> 5294 bytes ..._blueprint_mfem_2d_tri_beam_legacy_lor.png | Bin 0 -> 1110 bytes ...rint_mfem_2d_tri_beam_legacy_lor_thumb.png | Bin 0 -> 610 bytes .../c_blueprint_mfem_2d_tri_beam_lor.png | Bin 0 -> 928 bytes ...c_blueprint_mfem_2d_tri_beam_lor_thumb.png | Bin 0 -> 391 bytes ...rint_poly_2d_hdf5_0_8_2_mesh_topo_mesh.png | Bin 0 -> 2432 bytes ...oly_2d_hdf5_0_8_2_mesh_topo_mesh_thumb.png | Bin 0 -> 1825 bytes ...rint_poly_2d_yaml_0_8_2_mesh_topo_mesh.png | Bin 0 -> 2432 bytes ...oly_2d_yaml_0_8_2_mesh_topo_mesh_thumb.png | Bin 0 -> 1825 bytes ...eprint_rz_cyl_rectilinear.root_plot_2D.png | Bin 0 -> 987 bytes ..._rz_cyl_rectilinear.root_plot_2D_thumb.png | Bin 0 -> 765 bytes ...ueprint_rz_cyl_structured.root_plot_2D.png | Bin 0 -> 987 bytes ...t_rz_cyl_structured.root_plot_2D_thumb.png | Bin 0 -> 765 bytes ..._blueprint_rz_cyl_uniform.root_plot_2D.png | Bin 0 -> 987 bytes ...rint_rz_cyl_uniform.root_plot_2D_thumb.png | Bin 0 -> 765 bytes ...print_rz_cyl_unstructured.root_plot_2D.png | Bin 0 -> 987 bytes ...rz_cyl_unstructured.root_plot_2D_thumb.png | Bin 0 -> 765 bytes .../c_bov_0_05.png | Bin 0 -> 14591 bytes .../c_bov_0_05_thumb.png | Bin 0 -> 5322 bytes .../c_bov_1_05.png | Bin 0 -> 15401 bytes .../c_bov_1_05_thumb.png | Bin 0 -> 5836 bytes .../c_bov_2_05.png | Bin 0 -> 15401 bytes .../c_bov_2_05_thumb.png | Bin 0 -> 5836 bytes .../c_bov_3_05.png | Bin 0 -> 14557 bytes .../c_bov_3_05_thumb.png | Bin 0 -> 5321 bytes .../c_bov_4_05.png | Bin 0 -> 15401 bytes .../c_bov_4_05_thumb.png | Bin 0 -> 5836 bytes .../c_bov_5_05.png | Bin 0 -> 15401 bytes .../c_bov_5_05_thumb.png | Bin 0 -> 5836 bytes .../c_bov_6_05.png | Bin 0 -> 14557 bytes .../c_bov_6_05_thumb.png | Bin 0 -> 5321 bytes .../c_bov_7_05.png | Bin 0 -> 15401 bytes .../c_bov_7_05_thumb.png | Bin 0 -> 5836 bytes .../c_bov_8_05.png | Bin 0 -> 15401 bytes .../c_bov_8_05_thumb.png | Bin 0 -> 5836 bytes .../c_boxlib_01.png | Bin 0 -> 13501 bytes .../c_boxlib_01_thumb.png | Bin 0 -> 9774 bytes .../c_boxlib_02.png | Bin 0 -> 7793 bytes .../c_boxlib_02_thumb.png | Bin 0 -> 9004 bytes .../c_boxlib_03.png | Bin 0 -> 13464 bytes .../c_boxlib_03_thumb.png | Bin 0 -> 9718 bytes .../c_boxlib_05.png | Bin 0 -> 4007 bytes .../c_boxlib_05_thumb.png | Bin 0 -> 3152 bytes .../c_bp_sparse_topos_example.png | Bin 0 -> 6541 bytes .../c_bp_sparse_topos_example_thumb.png | Bin 0 -> 2303 bytes .../c_chgcar_05.png | Bin 0 -> 47844 bytes .../c_chgcar_05_thumb.png | Bin 0 -> 7118 bytes .../c_chgcar_07.png | Bin 0 -> 49558 bytes .../c_chgcar_07_thumb.png | Bin 0 -> 7396 bytes .../c_chgcar_09.png | Bin 0 -> 44795 bytes .../c_chgcar_09_thumb.png | Bin 0 -> 6670 bytes .../c_chgcar_11.png | Bin 0 -> 16210 bytes .../c_chgcar_11_thumb.png | Bin 0 -> 8816 bytes .../c_compositing_01.png | Bin 0 -> 911 bytes .../c_compositing_01_thumb.png | Bin 0 -> 289 bytes .../c_contour_colorMethod_03.png | Bin 0 -> 27307 bytes .../c_contour_colorMethod_03_thumb.png | Bin 0 -> 5557 bytes .../c_contour_colorMethod_05.png | Bin 0 -> 26224 bytes .../c_contour_colorMethod_05_thumb.png | Bin 0 -> 6174 bytes .../c_contour_colorMethod_06.png | Bin 0 -> 31172 bytes .../c_contour_colorMethod_06_thumb.png | Bin 0 -> 6871 bytes .../c_contour_colorMethod_07.png | Bin 0 -> 31372 bytes .../c_contour_colorMethod_07_thumb.png | Bin 0 -> 6071 bytes .../c_contour_colorMethod_08.png | Bin 0 -> 34984 bytes .../c_contour_colorMethod_08_thumb.png | Bin 0 -> 5994 bytes .../c_contour_colorMethod_09.png | Bin 0 -> 34956 bytes .../c_contour_colorMethod_09_thumb.png | Bin 0 -> 6041 bytes .../c_contour_multicolor_00.png | Bin 0 -> 68513 bytes .../c_contour_multicolor_00_thumb.png | Bin 0 -> 13458 bytes .../c_contour_multicolor_01.png | Bin 0 -> 68513 bytes .../c_contour_multicolor_01_thumb.png | Bin 0 -> 13458 bytes .../c_contour_multicolor_02.png | Bin 0 -> 62222 bytes .../c_contour_multicolor_02_thumb.png | Bin 0 -> 12614 bytes .../c_csg_02.png | Bin 0 -> 10353 bytes .../c_csg_02_thumb.png | Bin 0 -> 3696 bytes .../c_curve2Expr.png | Bin 0 -> 2363 bytes .../c_curve2Expr_thumb.png | Bin 0 -> 1919 bytes .../c_curve_anim2.png | Bin 0 -> 3254 bytes .../c_curve_anim2_thumb.png | Bin 0 -> 3207 bytes .../c_curve_anim3.png | Bin 0 -> 2412 bytes .../c_curve_anim3_thumb.png | Bin 0 -> 2424 bytes .../c_curve_scale_00.png | Bin 0 -> 1616 bytes .../c_curve_scale_00_thumb.png | Bin 0 -> 1593 bytes .../c_curve_scale_01.png | Bin 0 -> 1850 bytes .../c_curve_scale_01_thumb.png | Bin 0 -> 1882 bytes .../c_curve_scale_02.png | Bin 0 -> 1907 bytes .../c_curve_scale_02_thumb.png | Bin 0 -> 1927 bytes .../c_curve_scale_03.png | Bin 0 -> 1907 bytes .../c_curve_scale_03_thumb.png | Bin 0 -> 1927 bytes .../c_ddcMD_2_01.png | Bin 0 -> 9077 bytes .../c_ddcMD_2_01_thumb.png | Bin 0 -> 6854 bytes .../c_ddcMD_2_02.png | Bin 0 -> 7422 bytes .../c_ddcMD_2_02_thumb.png | Bin 0 -> 4935 bytes .../c_ddcMD_2_03.png | Bin 0 -> 9558 bytes .../c_ddcMD_2_03_thumb.png | Bin 0 -> 5651 bytes .../c_ddcMD_2_04.png | Bin 0 -> 10241 bytes .../c_ddcMD_2_04_thumb.png | Bin 0 -> 5697 bytes .../c_ddcMD_2_05.png | Bin 0 -> 8154 bytes .../c_ddcMD_2_05_thumb.png | Bin 0 -> 4652 bytes .../c_ddcMD_2_06.png | Bin 0 -> 16006 bytes .../c_ddcMD_2_06_thumb.png | Bin 0 -> 7491 bytes .../c_ddcMD_2_07.png | Bin 0 -> 15074 bytes .../c_ddcMD_2_07_thumb.png | Bin 0 -> 7051 bytes .../c_ddcMD_2_08.png | Bin 0 -> 15701 bytes .../c_ddcMD_2_08_thumb.png | Bin 0 -> 7302 bytes .../c_ddcMD_2_09.png | Bin 0 -> 16625 bytes .../c_ddcMD_2_09_thumb.png | Bin 0 -> 7600 bytes .../c_ddcMD_2_10.png | Bin 0 -> 18459 bytes .../c_ddcMD_2_10_thumb.png | Bin 0 -> 8503 bytes .../c_ddcMD_2_11.png | Bin 0 -> 20197 bytes .../c_ddcMD_2_11_thumb.png | Bin 0 -> 9771 bytes .../c_ddf_spatial_1d.png | Bin 0 -> 1814 bytes .../c_ddf_spatial_1d_thumb.png | Bin 0 -> 1596 bytes .../c_exodus_11.png | Bin 0 -> 26540 bytes .../c_exodus_11_thumb.png | Bin 0 -> 14492 bytes .../c_exodus_12.png | Bin 0 -> 26526 bytes .../c_exodus_12_thumb.png | Bin 0 -> 14494 bytes .../c_exodus_17.png | Bin 0 -> 2948 bytes .../c_exodus_17_thumb.png | Bin 0 -> 2931 bytes .../c_explode_repeat_labels_00.png | Bin 0 -> 17076 bytes .../c_explode_repeat_labels_00_thumb.png | Bin 0 -> 5892 bytes .../c_explode_tire_00.png | Bin 0 -> 13622 bytes .../c_explode_tire_00_thumb.png | Bin 0 -> 3035 bytes .../c_export_db_2_00.png | Bin 0 -> 13786 bytes .../c_export_db_2_00_thumb.png | Bin 0 -> 3742 bytes .../c_export_db_2_01.png | Bin 0 -> 9294 bytes .../c_export_db_2_01_thumb.png | Bin 0 -> 3360 bytes .../c_export_db_2_02.png | Bin 0 -> 10125 bytes .../c_export_db_2_02_thumb.png | Bin 0 -> 3531 bytes .../c_export_db_2_03.png | Bin 0 -> 9312 bytes .../c_export_db_2_03_thumb.png | Bin 0 -> 3283 bytes .../c_export_db_2_04.png | Bin 0 -> 15087 bytes .../c_export_db_2_04_thumb.png | Bin 0 -> 4081 bytes .../c_export_db_2_05.png | Bin 0 -> 16343 bytes .../c_export_db_2_05_thumb.png | Bin 0 -> 4549 bytes .../c_export_db_2_06.png | Bin 0 -> 14818 bytes .../c_export_db_2_06_thumb.png | Bin 0 -> 4087 bytes .../c_export_db_2_07.png | Bin 0 -> 12404 bytes .../c_export_db_2_07_thumb.png | Bin 0 -> 4322 bytes .../c_export_db_2_08.png | Bin 0 -> 5222 bytes .../c_export_db_2_08_thumb.png | Bin 0 -> 4567 bytes .../c_export_db_2_09.png | Bin 0 -> 10344 bytes .../c_export_db_2_09_thumb.png | Bin 0 -> 4764 bytes .../c_export_db_2_10.png | Bin 0 -> 9294 bytes .../c_export_db_2_10_thumb.png | Bin 0 -> 3360 bytes .../c_export_db_2_11.png | Bin 0 -> 10125 bytes .../c_export_db_2_11_thumb.png | Bin 0 -> 3531 bytes .../c_export_db_2_12.png | Bin 0 -> 9312 bytes .../c_export_db_2_12_thumb.png | Bin 0 -> 3283 bytes .../c_export_db_2_13.png | Bin 0 -> 15087 bytes .../c_export_db_2_13_thumb.png | Bin 0 -> 4081 bytes .../c_export_db_2_14.png | Bin 0 -> 16343 bytes .../c_export_db_2_14_thumb.png | Bin 0 -> 4549 bytes .../c_export_db_2_15.png | Bin 0 -> 14818 bytes .../c_export_db_2_15_thumb.png | Bin 0 -> 4087 bytes .../c_export_db_2_16.png | Bin 0 -> 12404 bytes .../c_export_db_2_16_thumb.png | Bin 0 -> 4322 bytes .../c_export_db_2_17.png | Bin 0 -> 5222 bytes .../c_export_db_2_17_thumb.png | Bin 0 -> 4567 bytes .../c_export_db_2_18.png | Bin 0 -> 10344 bytes .../c_export_db_2_18_thumb.png | Bin 0 -> 4764 bytes .../c_fb_lines_03.png | Bin 0 -> 1649 bytes .../c_fb_lines_03_thumb.png | Bin 0 -> 1782 bytes .../c_ghost_node_01.png | Bin 0 -> 12021 bytes .../c_ghost_node_01_thumb.png | Bin 0 -> 5391 bytes .../c_hf_2_1.png | Bin 0 -> 1288 bytes .../c_hf_2_1_thumb.png | Bin 0 -> 772 bytes .../c_hf_4_1.png | Bin 0 -> 1288 bytes .../c_hf_4_1_thumb.png | Bin 0 -> 772 bytes .../c_ic_geometry_01.png | Bin 0 -> 10816 bytes .../c_ic_geometry_01_thumb.png | Bin 0 -> 3970 bytes .../c_ic_geometry_02.png | Bin 0 -> 13340 bytes .../c_ic_geometry_02_thumb.png | Bin 0 -> 4392 bytes .../c_ic_geometry_03.png | Bin 0 -> 13340 bytes .../c_ic_geometry_03_thumb.png | Bin 0 -> 4392 bytes .../c_ic_geometry_04.png | Bin 0 -> 13340 bytes .../c_ic_geometry_04_thumb.png | Bin 0 -> 4392 bytes .../c_ic_geometry_05.png | Bin 0 -> 16481 bytes .../c_ic_geometry_05_thumb.png | Bin 0 -> 4665 bytes .../c_ic_geometry_06.png | Bin 0 -> 16481 bytes .../c_ic_geometry_06_thumb.png | Bin 0 -> 4665 bytes .../c_ic_geometry_07.png | Bin 0 -> 12275 bytes .../c_ic_geometry_07_thumb.png | Bin 0 -> 4369 bytes .../c_ic_geometry_08.png | Bin 0 -> 12275 bytes .../c_ic_geometry_08_thumb.png | Bin 0 -> 4369 bytes .../c_ic_geometry_09.png | Bin 0 -> 14915 bytes .../c_ic_geometry_09_thumb.png | Bin 0 -> 4973 bytes .../c_ic_geometry_10.png | Bin 0 -> 14864 bytes .../c_ic_geometry_10_thumb.png | Bin 0 -> 4964 bytes .../c_ic_geometry_11.png | Bin 0 -> 14864 bytes .../c_ic_geometry_11_thumb.png | Bin 0 -> 4964 bytes .../c_ic_geometry_12.png | Bin 0 -> 14864 bytes .../c_ic_geometry_12_thumb.png | Bin 0 -> 4964 bytes .../c_ic_geometry_13.png | Bin 0 -> 14149 bytes .../c_ic_geometry_13_thumb.png | Bin 0 -> 5051 bytes .../c_ic_geometry_14.png | Bin 0 -> 17012 bytes .../c_ic_geometry_14_thumb.png | Bin 0 -> 5666 bytes .../c_ic_integration_09.png | Bin 0 -> 5115 bytes .../c_ic_integration_09_thumb.png | Bin 0 -> 3014 bytes .../c_ic_integration_10.png | Bin 0 -> 14747 bytes .../c_ic_integration_10_thumb.png | Bin 0 -> 5315 bytes .../c_ic_streamlines_03.png | Bin 0 -> 19571 bytes .../c_ic_streamlines_03_thumb.png | Bin 0 -> 5359 bytes .../c_ic_streamlines_04.png | Bin 0 -> 19710 bytes .../c_ic_streamlines_04_thumb.png | Bin 0 -> 5259 bytes .../c_ic_streamlines_05.png | Bin 0 -> 20964 bytes .../c_ic_streamlines_05_thumb.png | Bin 0 -> 5534 bytes .../c_ic_streamlines_08.png | Bin 0 -> 19583 bytes .../c_ic_streamlines_08_thumb.png | Bin 0 -> 5340 bytes .../c_input_mesh_amr-quad_boundary_topo.png | Bin 0 -> 956 bytes ...nput_mesh_amr-quad_boundary_topo_thumb.png | Bin 0 -> 464 bytes .../c_input_mesh_amr-quad_mres_0000.png | Bin 0 -> 1105 bytes .../c_input_mesh_amr-quad_mres_0000_thumb.png | Bin 0 -> 1436 bytes .../c_input_mesh_amr-quad_mres_0005.png | Bin 0 -> 1105 bytes .../c_input_mesh_amr-quad_mres_0005_thumb.png | Bin 0 -> 1436 bytes ...put_mesh_beam-quad-nurbs_boundary_topo.png | Bin 0 -> 963 bytes ...sh_beam-quad-nurbs_boundary_topo_thumb.png | Bin 0 -> 495 bytes ...c_input_mesh_beam-quad-nurbs_mres_0000.png | Bin 0 -> 944 bytes ...t_mesh_beam-quad-nurbs_mres_0000_thumb.png | Bin 0 -> 630 bytes ...c_input_mesh_beam-quad-nurbs_mres_0020.png | Bin 0 -> 944 bytes ...t_mesh_beam-quad-nurbs_mres_0020_thumb.png | Bin 0 -> 630 bytes .../c_input_mesh_beam-quad_boundary_topo.png | Bin 0 -> 963 bytes ...put_mesh_beam-quad_boundary_topo_thumb.png | Bin 0 -> 495 bytes .../c_input_mesh_beam-quad_mres_0000.png | Bin 0 -> 944 bytes ...c_input_mesh_beam-quad_mres_0000_thumb.png | Bin 0 -> 630 bytes .../c_input_mesh_beam-quad_mres_0020.png | Bin 0 -> 944 bytes ...c_input_mesh_beam-quad_mres_0020_thumb.png | Bin 0 -> 630 bytes .../c_input_mesh_beam-tri_boundary_topo.png | Bin 0 -> 963 bytes ...nput_mesh_beam-tri_boundary_topo_thumb.png | Bin 0 -> 495 bytes .../c_input_mesh_beam-tri_mres_0000.png | Bin 0 -> 1125 bytes .../c_input_mesh_beam-tri_mres_0000_thumb.png | Bin 0 -> 792 bytes .../c_input_mesh_beam-tri_mres_0020.png | Bin 0 -> 1125 bytes .../c_input_mesh_beam-tri_mres_0020_thumb.png | Bin 0 -> 792 bytes .../c_input_mesh_disc-nurbs_boundary_topo.png | Bin 0 -> 949 bytes ...ut_mesh_disc-nurbs_boundary_topo_thumb.png | Bin 0 -> 437 bytes .../c_input_mesh_disc-nurbs_mres_0000.png | Bin 0 -> 1612 bytes ..._input_mesh_disc-nurbs_mres_0000_thumb.png | Bin 0 -> 714 bytes .../c_input_mesh_disc-nurbs_mres_0020.png | Bin 0 -> 2374 bytes ..._input_mesh_disc-nurbs_mres_0020_thumb.png | Bin 0 -> 1643 bytes ...c_input_mesh_inline-quad_boundary_topo.png | Bin 0 -> 956 bytes ...t_mesh_inline-quad_boundary_topo_thumb.png | Bin 0 -> 464 bytes .../c_input_mesh_inline-quad_mres_0000.png | Bin 0 -> 1037 bytes ...input_mesh_inline-quad_mres_0000_thumb.png | Bin 0 -> 965 bytes .../c_input_mesh_inline-quad_mres_0020.png | Bin 0 -> 1037 bytes ...input_mesh_inline-quad_mres_0020_thumb.png | Bin 0 -> 965 bytes .../c_input_mesh_inline-tri_boundary_topo.png | Bin 0 -> 956 bytes ...ut_mesh_inline-tri_boundary_topo_thumb.png | Bin 0 -> 464 bytes .../c_input_mesh_inline-tri_mres_0000.png | Bin 0 -> 2734 bytes ..._input_mesh_inline-tri_mres_0000_thumb.png | Bin 0 -> 1651 bytes .../c_input_mesh_inline-tri_mres_0020.png | Bin 0 -> 2741 bytes ..._input_mesh_inline-tri_mres_0020_thumb.png | Bin 0 -> 1661 bytes ...c_input_mesh_periodic-square_mres_0000.png | Bin 0 -> 1012 bytes ...t_mesh_periodic-square_mres_0000_thumb.png | Bin 0 -> 893 bytes ...c_input_mesh_periodic-square_mres_0020.png | Bin 0 -> 1012 bytes ...t_mesh_periodic-square_mres_0020_thumb.png | Bin 0 -> 893 bytes ...t_mesh_square-disc-nurbs_boundary_topo.png | Bin 0 -> 1003 bytes ..._square-disc-nurbs_boundary_topo_thumb.png | Bin 0 -> 580 bytes ...input_mesh_square-disc-nurbs_mres_0000.png | Bin 0 -> 1866 bytes ...mesh_square-disc-nurbs_mres_0000_thumb.png | Bin 0 -> 815 bytes ...input_mesh_square-disc-nurbs_mres_0020.png | Bin 0 -> 2260 bytes ...mesh_square-disc-nurbs_mres_0020_thumb.png | Bin 0 -> 1327 bytes ...nput_mesh_square-disc-p2_boundary_topo.png | Bin 0 -> 1452 bytes ...esh_square-disc-p2_boundary_topo_thumb.png | Bin 0 -> 1360 bytes .../c_input_mesh_square-disc-p2_mres_0000.png | Bin 0 -> 7695 bytes ...ut_mesh_square-disc-p2_mres_0000_thumb.png | Bin 0 -> 7133 bytes .../c_input_mesh_square-disc-p2_mres_0020.png | Bin 0 -> 7779 bytes ...ut_mesh_square-disc-p2_mres_0020_thumb.png | Bin 0 -> 7166 bytes ...nput_mesh_square-disc-p3_boundary_topo.png | Bin 0 -> 1452 bytes ...esh_square-disc-p3_boundary_topo_thumb.png | Bin 0 -> 1360 bytes .../c_input_mesh_square-disc-p3_mres_0000.png | Bin 0 -> 7654 bytes ...ut_mesh_square-disc-p3_mres_0000_thumb.png | Bin 0 -> 7194 bytes .../c_input_mesh_square-disc-p3_mres_0020.png | Bin 0 -> 7773 bytes ...ut_mesh_square-disc-p3_mres_0020_thumb.png | Bin 0 -> 7367 bytes ...c_input_mesh_square-disc_boundary_topo.png | Bin 0 -> 1452 bytes ...t_mesh_square-disc_boundary_topo_thumb.png | Bin 0 -> 1360 bytes .../c_input_mesh_square-disc_mres_0000.png | Bin 0 -> 7718 bytes ...input_mesh_square-disc_mres_0000_thumb.png | Bin 0 -> 7247 bytes .../c_input_mesh_square-disc_mres_0020.png | Bin 0 -> 7730 bytes ...input_mesh_square-disc_mres_0020_thumb.png | Bin 0 -> 7258 bytes .../c_kulllite_01.png | Bin 0 -> 996 bytes .../c_kulllite_01_thumb.png | Bin 0 -> 491 bytes .../c_kulllite_02.png | Bin 0 -> 935 bytes .../c_kulllite_02_thumb.png | Bin 0 -> 458 bytes .../c_kulllite_03.png | Bin 0 -> 1061 bytes .../c_kulllite_03_thumb.png | Bin 0 -> 757 bytes .../c_label_6_04.png | Bin 0 -> 6189 bytes .../c_label_6_04_thumb.png | Bin 0 -> 3183 bytes .../c_label_8_11.png | Bin 0 -> 58824 bytes .../c_label_8_11_thumb.png | Bin 0 -> 12521 bytes .../c_lata_00.png | Bin 0 -> 2474 bytes .../c_lata_00_thumb.png | Bin 0 -> 3394 bytes .../c_lata_02.png | Bin 0 -> 4571 bytes .../c_lata_02_thumb.png | Bin 0 -> 5452 bytes .../c_lata_06.png | Bin 0 -> 10622 bytes .../c_lata_06_thumb.png | Bin 0 -> 9261 bytes .../c_lata_08.png | Bin 0 -> 10498 bytes .../c_lata_08_thumb.png | Bin 0 -> 8843 bytes .../c_lata_09.png | Bin 0 -> 9757 bytes .../c_lata_09_thumb.png | Bin 0 -> 12520 bytes ...le_gyre_2_domains_NativeMesh_2DAuxGrid.png | Bin 0 -> 20376 bytes ...e_2_domains_NativeMesh_2DAuxGrid_thumb.png | Bin 0 -> 5110 bytes .../c_legends_07.png | Bin 0 -> 22961 bytes .../c_legends_07_thumb.png | Bin 0 -> 5243 bytes .../c_leos_06.png | Bin 0 -> 3852 bytes .../c_leos_06_thumb.png | Bin 0 -> 2972 bytes .../c_line3d07.png | Bin 0 -> 16043 bytes .../c_line3d07_thumb.png | Bin 0 -> 4278 bytes .../c_line3d08.png | Bin 0 -> 16043 bytes .../c_line3d08_thumb.png | Bin 0 -> 4278 bytes .../c_line3d09.png | Bin 0 -> 16043 bytes .../c_line3d09_thumb.png | Bin 0 -> 4278 bytes .../c_line3d10.png | Bin 0 -> 16063 bytes .../c_line3d10_thumb.png | Bin 0 -> 4319 bytes .../c_line3d11.png | Bin 0 -> 16155 bytes .../c_line3d11_thumb.png | Bin 0 -> 4402 bytes .../c_line3d12.png | Bin 0 -> 16110 bytes .../c_line3d12_thumb.png | Bin 0 -> 4301 bytes .../c_ls_0_1.png | Bin 0 -> 1780 bytes .../c_ls_0_10.png | Bin 0 -> 2474 bytes .../c_ls_0_10_thumb.png | Bin 0 -> 3361 bytes .../c_ls_0_13.png | Bin 0 -> 1444 bytes .../c_ls_0_13_thumb.png | Bin 0 -> 1232 bytes .../c_ls_0_16.png | Bin 0 -> 1899 bytes .../c_ls_0_16_thumb.png | Bin 0 -> 2010 bytes .../c_ls_0_1_thumb.png | Bin 0 -> 1847 bytes .../c_ls_0_4.png | Bin 0 -> 1705 bytes .../c_ls_0_4_thumb.png | Bin 0 -> 1842 bytes .../c_ls_0_7.png | Bin 0 -> 1482 bytes .../c_ls_0_7_thumb.png | Bin 0 -> 1327 bytes .../c_ls_1_1.png | Bin 0 -> 1823 bytes .../c_ls_1_10.png | Bin 0 -> 2531 bytes .../c_ls_1_10_thumb.png | Bin 0 -> 3619 bytes .../c_ls_1_13.png | Bin 0 -> 1479 bytes .../c_ls_1_13_thumb.png | Bin 0 -> 1329 bytes .../c_ls_1_16.png | Bin 0 -> 1932 bytes .../c_ls_1_16_thumb.png | Bin 0 -> 2081 bytes .../c_ls_1_1_thumb.png | Bin 0 -> 1961 bytes .../c_ls_1_4.png | Bin 0 -> 1664 bytes .../c_ls_1_4_thumb.png | Bin 0 -> 1773 bytes .../c_ls_1_7.png | Bin 0 -> 1464 bytes .../c_ls_1_7_thumb.png | Bin 0 -> 1391 bytes .../c_ls_2_1.png | Bin 0 -> 1860 bytes .../c_ls_2_10.png | Bin 0 -> 2077 bytes .../c_ls_2_10_thumb.png | Bin 0 -> 2061 bytes .../c_ls_2_13.png | Bin 0 -> 1106 bytes .../c_ls_2_13_thumb.png | Bin 0 -> 737 bytes .../c_ls_2_16.png | Bin 0 -> 1133 bytes .../c_ls_2_16_thumb.png | Bin 0 -> 770 bytes .../c_ls_2_1_thumb.png | Bin 0 -> 1980 bytes .../c_ls_2_4.png | Bin 0 -> 2156 bytes .../c_ls_2_4_thumb.png | Bin 0 -> 2896 bytes .../c_ls_3_1.png | Bin 0 -> 2086 bytes .../c_ls_3_10.png | Bin 0 -> 2203 bytes .../c_ls_3_10_thumb.png | Bin 0 -> 2979 bytes .../c_ls_3_13.png | Bin 0 -> 1509 bytes .../c_ls_3_13_thumb.png | Bin 0 -> 1482 bytes .../c_ls_3_16.png | Bin 0 -> 1554 bytes .../c_ls_3_16_thumb.png | Bin 0 -> 1541 bytes .../c_ls_3_1_thumb.png | Bin 0 -> 2989 bytes .../c_ls_3_4.png | Bin 0 -> 1924 bytes .../c_ls_3_4_thumb.png | Bin 0 -> 2294 bytes .../c_ls_3_7.png | Bin 0 -> 1740 bytes .../c_ls_3_7_thumb.png | Bin 0 -> 1846 bytes .../c_materialvar02.png | Bin 0 -> 1378 bytes .../c_materialvar02_thumb.png | Bin 0 -> 1476 bytes .../c_materialvar03.png | Bin 0 -> 1023 bytes .../c_materialvar03_thumb.png | Bin 0 -> 810 bytes .../c_materialvar04.png | Bin 0 -> 1255 bytes .../c_materialvar04_thumb.png | Bin 0 -> 1317 bytes .../c_materialvar05.png | Bin 0 -> 1404 bytes .../c_materialvar05_thumb.png | Bin 0 -> 1649 bytes .../c_materialvar06.png | Bin 0 -> 1240 bytes .../c_materialvar06_thumb.png | Bin 0 -> 1311 bytes .../c_materialvar07.png | Bin 0 -> 1394 bytes .../c_materialvar07_thumb.png | Bin 0 -> 1602 bytes .../c_materialvar08.png | Bin 0 -> 3478 bytes .../c_materialvar08_thumb.png | Bin 0 -> 2059 bytes .../c_materialvar09.png | Bin 0 -> 3317 bytes .../c_materialvar09_thumb.png | Bin 0 -> 2001 bytes .../c_materialvar10.png | Bin 0 -> 3738 bytes .../c_materialvar10_thumb.png | Bin 0 -> 2245 bytes .../c_materialvar11.png | Bin 0 -> 4347 bytes .../c_materialvar11_thumb.png | Bin 0 -> 2469 bytes .../c_mesh_point_05.png | Bin 0 -> 2176 bytes .../c_mesh_point_05_thumb.png | Bin 0 -> 2484 bytes .../c_mesh_quality_05.png | Bin 0 -> 19427 bytes .../c_mesh_quality_05_thumb.png | Bin 0 -> 6040 bytes .../c_meshtype_point_05.png | Bin 0 -> 12647 bytes .../c_meshtype_point_05_thumb.png | Bin 0 -> 5336 bytes .../c_meshtype_point_07.png | Bin 0 -> 10433 bytes .../c_meshtype_point_07_thumb.png | Bin 0 -> 4903 bytes .../c_missingdata_0_00.png | Bin 0 -> 20546 bytes .../c_missingdata_0_00_thumb.png | Bin 0 -> 4918 bytes .../c_missingdata_0_01.png | Bin 0 -> 29942 bytes .../c_missingdata_0_01_thumb.png | Bin 0 -> 7515 bytes .../c_missingdata_0_02.png | Bin 0 -> 31538 bytes .../c_missingdata_0_02_thumb.png | Bin 0 -> 7495 bytes .../c_missingdata_1_00.png | Bin 0 -> 29836 bytes .../c_missingdata_1_00_thumb.png | Bin 0 -> 7284 bytes .../c_missingdata_1_01.png | Bin 0 -> 43258 bytes .../c_missingdata_1_01_thumb.png | Bin 0 -> 6736 bytes .../c_missingdata_1_02.png | Bin 0 -> 71213 bytes .../c_missingdata_1_02_thumb.png | Bin 0 -> 13149 bytes .../c_moab_01.png | Bin 0 -> 34779 bytes .../c_moab_01_thumb.png | Bin 0 -> 13218 bytes .../c_moveoperator_0.png | Bin 0 -> 7587 bytes .../c_moveoperator_0_thumb.png | Bin 0 -> 8470 bytes .../c_moveoperator_8.png | Bin 0 -> 18354 bytes .../c_moveoperator_8_thumb.png | Bin 0 -> 6800 bytes .../c_moveoperator_9.png | Bin 0 -> 19908 bytes .../c_moveoperator_9_thumb.png | Bin 0 -> 7145 bytes .../c_multi_curv3d.silo_partition19_0_.png | Bin 0 -> 12678 bytes ...multi_curv3d.silo_partition19_0__thumb.png | Bin 0 -> 4118 bytes .../c_multi_curv3d.silo_partition4_0_.png | Bin 0 -> 12672 bytes ..._multi_curv3d.silo_partition4_0__thumb.png | Bin 0 -> 4117 bytes .../c_multi_rect3d.silo_partition19_1_.png | Bin 0 -> 3622 bytes ...multi_rect3d.silo_partition19_1__thumb.png | Bin 0 -> 5981 bytes .../c_multi_rect3d.silo_partition4_0_.png | Bin 0 -> 15310 bytes ..._multi_rect3d.silo_partition4_0__thumb.png | Bin 0 -> 5738 bytes .../c_multi_rect3d.silo_partition4_1_.png | Bin 0 -> 3163 bytes ..._multi_rect3d.silo_partition4_1__thumb.png | Bin 0 -> 4608 bytes .../c_multi_ucd3d.silo_partition4_0_.png | Bin 0 -> 5764 bytes ...c_multi_ucd3d.silo_partition4_0__thumb.png | Bin 0 -> 2228 bytes .../c_multiblock02.png | Bin 0 -> 1750 bytes .../c_multiblock02_thumb.png | Bin 0 -> 2812 bytes .../c_multiblock03.png | Bin 0 -> 5170 bytes .../c_multiblock03_thumb.png | Bin 0 -> 3869 bytes .../c_multiblock04.png | Bin 0 -> 1719 bytes .../c_multiblock04_thumb.png | Bin 0 -> 2296 bytes .../c_multiblock05.png | Bin 0 -> 1740 bytes .../c_multiblock05_thumb.png | Bin 0 -> 1864 bytes .../c_multicolor_1_05.png | Bin 0 -> 25349 bytes .../c_multicolor_1_05_thumb.png | Bin 0 -> 7041 bytes .../c_multicolor_2_05.png | Bin 0 -> 91769 bytes .../c_multicolor_2_05_thumb.png | Bin 0 -> 17657 bytes .../c_multicolor_3_05.png | Bin 0 -> 42394 bytes .../c_multicolor_3_05_thumb.png | Bin 0 -> 11625 bytes .../c_nastran1_2.png | Bin 0 -> 18927 bytes .../c_nastran1_2_thumb.png | Bin 0 -> 4593 bytes .../c_nastran2_2.png | Bin 0 -> 25895 bytes .../c_nastran2_2_thumb.png | Bin 0 -> 8531 bytes .../c_nastran3_2.png | Bin 0 -> 22925 bytes .../c_nastran3_2_thumb.png | Bin 0 -> 4900 bytes .../c_nastran5_1.png | Bin 0 -> 9421 bytes .../c_nastran5_1_thumb.png | Bin 0 -> 4247 bytes .../c_netcdf_3_01.png | Bin 0 -> 80912 bytes .../c_netcdf_3_01_thumb.png | Bin 0 -> 11897 bytes .../c_oldsilo_01.png | Bin 0 -> 4115 bytes .../c_oldsilo_01_thumb.png | Bin 0 -> 4097 bytes .../c_openPMD_3D_Fieldsrho.png | Bin 0 -> 22967 bytes .../c_openPMD_3D_Fieldsrho_thumb.png | Bin 0 -> 6437 bytes .../c_ops_cart_proj_1.png | Bin 0 -> 10286 bytes .../c_ops_cart_proj_1_thumb.png | Bin 0 -> 2620 bytes .../c_ops_cart_proj_3.png | Bin 0 -> 13831 bytes .../c_ops_cart_proj_3_thumb.png | Bin 0 -> 3924 bytes .../c_ops_dualmesh_mesh_plot_2d_00.png | Bin 0 -> 1262 bytes .../c_ops_dualmesh_mesh_plot_2d_00_thumb.png | Bin 0 -> 462 bytes .../c_ops_dualmesh_mesh_plot_2d_01.png | Bin 0 -> 1507 bytes .../c_ops_dualmesh_mesh_plot_2d_01_thumb.png | Bin 0 -> 545 bytes .../c_ops_dualmesh_mesh_plot_2d_02.png | Bin 0 -> 1262 bytes .../c_ops_dualmesh_mesh_plot_2d_02_thumb.png | Bin 0 -> 462 bytes .../c_ops_inverse_ghost_zone05.png | Bin 0 -> 2443 bytes .../c_ops_inverse_ghost_zone05_thumb.png | Bin 0 -> 1513 bytes .../c_ops_refl02.png | Bin 0 -> 4311 bytes .../c_ops_refl02_thumb.png | Bin 0 -> 6550 bytes .../c_ops_refl10.png | Bin 0 -> 28293 bytes .../c_ops_refl10_thumb.png | Bin 0 -> 6395 bytes .../c_ops_refl11.png | Bin 0 -> 29371 bytes .../c_ops_refl11_thumb.png | Bin 0 -> 6464 bytes .../c_ops_refl12.png | Bin 0 -> 36134 bytes .../c_ops_refl12_thumb.png | Bin 0 -> 6389 bytes .../c_ops_resampleop_noise_point_small.png | Bin 0 -> 18786 bytes ...ops_resampleop_noise_point_small_thumb.png | Bin 0 -> 6380 bytes .../c_ops_transform05.png | Bin 0 -> 11935 bytes .../c_ops_transform05_thumb.png | Bin 0 -> 5549 bytes .../c_ops_transform07.png | Bin 0 -> 1686 bytes .../c_ops_transform07_thumb.png | Bin 0 -> 1532 bytes .../c_pickarray_02.png | Bin 0 -> 1100 bytes .../c_pickarray_02_thumb.png | Bin 0 -> 517 bytes .../c_pickarray_04.png | Bin 0 -> 1100 bytes .../c_pickarray_04_thumb.png | Bin 0 -> 569 bytes .../c_pickarray_07.png | Bin 0 -> 1091 bytes .../c_pickarray_07_thumb.png | Bin 0 -> 484 bytes .../c_pickarray_09.png | Bin 0 -> 1055 bytes .../c_pickarray_09_thumb.png | Bin 0 -> 510 bytes .../c_pickarray_10.png | Bin 0 -> 1068 bytes .../c_pickarray_10_thumb.png | Bin 0 -> 517 bytes .../c_pixeldata_0_00.png | Bin 0 -> 74263 bytes .../c_pixeldata_0_00_thumb.png | Bin 0 -> 15271 bytes .../c_pixeldata_0_01.png | Bin 0 -> 75805 bytes .../c_pixeldata_0_01_thumb.png | Bin 0 -> 16867 bytes .../c_pixeldata_0_02.png | Bin 0 -> 96355 bytes .../c_pixeldata_0_02_thumb.png | Bin 0 -> 16701 bytes .../c_pixeldata_0_03.png | Bin 0 -> 99876 bytes .../c_pixeldata_0_03_thumb.png | Bin 0 -> 18557 bytes .../c_pixeldata_0_04.png | Bin 0 -> 9964 bytes .../c_pixeldata_0_04_thumb.png | Bin 0 -> 7965 bytes .../c_pixeldata_0_05.png | Bin 0 -> 70152 bytes .../c_pixeldata_0_05_thumb.png | Bin 0 -> 15509 bytes .../c_pixeldata_0_06.png | Bin 0 -> 11231 bytes .../c_pixeldata_0_06_thumb.png | Bin 0 -> 9612 bytes .../c_pixeldata_0_07.png | Bin 0 -> 72356 bytes .../c_pixeldata_0_07_thumb.png | Bin 0 -> 17572 bytes .../c_pixeldata_0_08.png | Bin 0 -> 911 bytes .../c_pixeldata_0_08_thumb.png | Bin 0 -> 289 bytes .../c_pixeldata_0_09.png | Bin 0 -> 85815 bytes .../c_pixeldata_0_09_thumb.png | Bin 0 -> 15413 bytes .../c_pixeldata_0_10.png | Bin 0 -> 911 bytes .../c_pixeldata_0_10_thumb.png | Bin 0 -> 289 bytes .../c_pixeldata_0_11.png | Bin 0 -> 89599 bytes .../c_pixeldata_0_11_thumb.png | Bin 0 -> 17481 bytes .../c_pixie_04.png | Bin 0 -> 23379 bytes .../c_pixie_04_thumb.png | Bin 0 -> 5299 bytes .../c_pixie_05.png | Bin 0 -> 18637 bytes .../c_pixie_05_thumb.png | Bin 0 -> 9486 bytes .../c_pixie_06.png | Bin 0 -> 28640 bytes .../c_pixie_06_thumb.png | Bin 0 -> 7753 bytes .../c_pixie_07.png | Bin 0 -> 2016 bytes .../c_pixie_07_thumb.png | Bin 0 -> 865 bytes .../c_polar_curve_01.png | Bin 0 -> 1673 bytes .../c_polar_curve_01_thumb.png | Bin 0 -> 2257 bytes .../c_pseudocolor_domain_bounds_02.png | Bin 0 -> 24571 bytes .../c_pseudocolor_domain_bounds_02_thumb.png | Bin 0 -> 5087 bytes .../c_ray_trace_06.png | Bin 0 -> 7038 bytes .../c_ray_trace_06_thumb.png | Bin 0 -> 4892 bytes .../c_ray_trace_07.png | Bin 0 -> 36514 bytes .../c_ray_trace_07_thumb.png | Bin 0 -> 9704 bytes .../c_rect3d-contour00.png | Bin 0 -> 12423 bytes .../c_rect3d-contour00_thumb.png | Bin 0 -> 3760 bytes .../c_rect3d_01.png | Bin 0 -> 20632 bytes .../c_rect3d_01_thumb.png | Bin 0 -> 9233 bytes .../c_rect3d_02.png | Bin 0 -> 62910 bytes .../c_rect3d_02_thumb.png | Bin 0 -> 13771 bytes .../c_rect_05.png | Bin 0 -> 987 bytes .../c_rect_05_thumb.png | Bin 0 -> 493 bytes .../c_rect_06.png | Bin 0 -> 2056 bytes .../c_rect_06_thumb.png | Bin 0 -> 1614 bytes .../c_rect_07.png | Bin 0 -> 1236 bytes .../c_rect_07_thumb.png | Bin 0 -> 1185 bytes .../c_scalar02.png | Bin 0 -> 3227 bytes .../c_scalar02_thumb.png | Bin 0 -> 1813 bytes .../c_scatter_21.png | Bin 0 -> 1578 bytes .../c_scatter_21_thumb.png | Bin 0 -> 1609 bytes .../c_shapefile_4_00.png | Bin 0 -> 6911 bytes .../c_shapefile_4_00_thumb.png | Bin 0 -> 5130 bytes .../c_shapefile_4_01.png | Bin 0 -> 8938 bytes .../c_shapefile_4_01_thumb.png | Bin 0 -> 8505 bytes .../c_shapefile_4_02.png | Bin 0 -> 8178 bytes .../c_shapefile_4_02_thumb.png | Bin 0 -> 5187 bytes .../c_silo_41.png | Bin 0 -> 9013 bytes .../c_silo_41_thumb.png | Bin 0 -> 6820 bytes .../c_simplify_mixed02.png | Bin 0 -> 1866 bytes .../c_simplify_mixed02_thumb.png | Bin 0 -> 1968 bytes .../c_singlecolor00.png | Bin 0 -> 31054 bytes .../c_singlecolor00_thumb.png | Bin 0 -> 7261 bytes .../c_singlecolor01.png | Bin 0 -> 2214 bytes .../c_singlecolor01_thumb.png | Bin 0 -> 1029 bytes .../c_singlecolor02.png | Bin 0 -> 2214 bytes .../c_singlecolor02_thumb.png | Bin 0 -> 1032 bytes .../c_sph_2d.png | Bin 0 -> 1461 bytes .../c_sph_2d_thumb.png | Bin 0 -> 864 bytes .../c_subset_02.png | Bin 0 -> 2412 bytes .../c_subset_02_thumb.png | Bin 0 -> 2090 bytes .../c_subset_03.png | Bin 0 -> 1918 bytes .../c_subset_03_thumb.png | Bin 0 -> 1657 bytes .../c_tecplot_04.png | Bin 0 -> 1790 bytes .../c_tecplot_04_thumb.png | Bin 0 -> 1349 bytes .../c_tecplot_05.png | Bin 0 -> 15781 bytes .../c_tecplot_05_thumb.png | Bin 0 -> 9308 bytes .../c_tecplot_12.png | Bin 0 -> 26853 bytes .../c_tecplot_12_thumb.png | Bin 0 -> 12126 bytes .../c_tecplot_15.png | Bin 0 -> 1228 bytes .../c_tecplot_15_thumb.png | Bin 0 -> 1267 bytes .../c_text3d03.png | Bin 0 -> 18142 bytes .../c_text3d03_thumb.png | Bin 0 -> 4624 bytes .../c_unv_05.png | Bin 0 -> 20701 bytes .../c_unv_05_thumb.png | Bin 0 -> 17531 bytes .../c_var02.png | Bin 0 -> 8460 bytes .../c_var02_thumb.png | Bin 0 -> 3286 bytes .../c_vector_16.png | Bin 0 -> 5612 bytes .../c_vector_16_thumb.png | Bin 0 -> 7495 bytes .../c_vector_17.png | Bin 0 -> 3844 bytes .../c_vector_17_thumb.png | Bin 0 -> 6033 bytes .../c_vector_18.png | Bin 0 -> 5723 bytes .../c_vector_18_thumb.png | Bin 0 -> 8254 bytes .../c_vector_19.png | Bin 0 -> 4889 bytes .../c_vector_19_thumb.png | Bin 0 -> 7345 bytes .../c_view_09.png | Bin 0 -> 2514 bytes .../c_view_09_thumb.png | Bin 0 -> 2070 bytes .../c_volumeOpacity_05.png | Bin 0 -> 1926 bytes .../c_volumeOpacity_05_thumb.png | Bin 0 -> 793 bytes .../c_volume_01.png | Bin 0 -> 127840 bytes .../c_volume_01_thumb.png | Bin 0 -> 16496 bytes .../c_volume_02.png | Bin 0 -> 127840 bytes .../c_volume_02_thumb.png | Bin 0 -> 16496 bytes .../c_vtk_34a.png | Bin 0 -> 976 bytes .../c_vtk_34a_thumb.png | Bin 0 -> 650 bytes .../c_vtk_36.png | Bin 0 -> 10188 bytes .../c_vtk_36_thumb.png | Bin 0 -> 6113 bytes .../c_xdmf_6_00.png | Bin 0 -> 1298 bytes .../c_xdmf_6_00_thumb.png | Bin 0 -> 1623 bytes .../c_xdmf_6_01.png | Bin 0 -> 1343 bytes .../c_xdmf_6_01_thumb.png | Bin 0 -> 2043 bytes .../c_xdmf_6_02.png | Bin 0 -> 1342 bytes .../c_xdmf_6_02_thumb.png | Bin 0 -> 1118 bytes .../c_xdmf_7_02.png | Bin 0 -> 6943 bytes .../c_xdmf_7_02_thumb.png | Bin 0 -> 2343 bytes .../c_xdmf_7_03.png | Bin 0 -> 5602 bytes .../c_xdmf_7_03_thumb.png | Bin 0 -> 2814 bytes .../css/styles.css | 96 + ...Output_spectra_topo_intensities_legacy.png | Bin 0 -> 184 bytes ..._spectra_topo_intensities_legacy_thumb.png | Bin 0 -> 124 bytes ...Output_spectra_topo_intensities_modern.png | Bin 0 -> 184 bytes ..._spectra_topo_intensities_modern_thumb.png | Bin 0 -> 124 bytes ...Output_spectra_topo_path_length_legacy.png | Bin 0 -> 179 bytes ..._spectra_topo_path_length_legacy_thumb.png | Bin 0 -> 120 bytes ...Output_spectra_topo_path_length_modern.png | Bin 0 -> 179 bytes ..._spectra_topo_path_length_modern_thumb.png | Bin 0 -> 120 bytes ...Output_spectra_topo_intensities_legacy.png | Bin 0 -> 184 bytes ..._spectra_topo_intensities_legacy_thumb.png | Bin 0 -> 124 bytes ...Output_spectra_topo_intensities_modern.png | Bin 0 -> 184 bytes ..._spectra_topo_intensities_modern_thumb.png | Bin 0 -> 124 bytes ...Output_spectra_topo_path_length_legacy.png | Bin 0 -> 179 bytes ..._spectra_topo_path_length_legacy_thumb.png | Bin 0 -> 120 bytes ...Output_spectra_topo_path_length_modern.png | Bin 0 -> 179 bytes ..._spectra_topo_path_length_modern_thumb.png | Bin 0 -> 120 bytes ...Output_spectra_topo_intensities_legacy.png | Bin 0 -> 184 bytes ..._spectra_topo_intensities_legacy_thumb.png | Bin 0 -> 124 bytes ...Output_spectra_topo_intensities_modern.png | Bin 0 -> 184 bytes ..._spectra_topo_intensities_modern_thumb.png | Bin 0 -> 124 bytes ...Output_spectra_topo_path_length_legacy.png | Bin 0 -> 179 bytes ..._spectra_topo_path_length_legacy_thumb.png | Bin 0 -> 120 bytes ...Output_spectra_topo_path_length_modern.png | Bin 0 -> 179 bytes ..._spectra_topo_path_length_modern_thumb.png | Bin 0 -> 120 bytes .../d_CGNS_NFace_Elements_01.png | Bin 0 -> 535 bytes .../d_CGNS_NFace_Elements_01_thumb.png | Bin 0 -> 159 bytes .../d_Chombo_1_00.png | Bin 0 -> 173 bytes .../d_Chombo_1_00_thumb.png | Bin 0 -> 96 bytes .../d_Chombo_2_00.png | Bin 0 -> 185 bytes .../d_Chombo_2_00_thumb.png | Bin 0 -> 135 bytes .../d_LOR_amr-quad_legacy_lor.png | Bin 0 -> 186 bytes .../d_LOR_amr-quad_legacy_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_amr-quad_lor.png | Bin 0 -> 186 bytes .../d_LOR_amr-quad_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_beam-quad-nurbs_legacy_lor.png | Bin 0 -> 184 bytes ...d_LOR_beam-quad-nurbs_legacy_lor_thumb.png | Bin 0 -> 130 bytes .../d_LOR_beam-quad-nurbs_lor.png | Bin 0 -> 184 bytes .../d_LOR_beam-quad-nurbs_lor_thumb.png | Bin 0 -> 130 bytes .../d_LOR_beam-quad_legacy_lor.png | Bin 0 -> 184 bytes .../d_LOR_beam-quad_legacy_lor_thumb.png | Bin 0 -> 130 bytes .../d_LOR_beam-quad_lor.png | Bin 0 -> 184 bytes .../d_LOR_beam-quad_lor_thumb.png | Bin 0 -> 130 bytes .../d_LOR_beam-tri_legacy_lor.png | Bin 0 -> 184 bytes .../d_LOR_beam-tri_legacy_lor_thumb.png | Bin 0 -> 130 bytes .../d_LOR_beam-tri_lor.png | Bin 0 -> 184 bytes .../d_LOR_beam-tri_lor_thumb.png | Bin 0 -> 130 bytes .../d_LOR_disc-nurbs_legacy_lor.png | Bin 0 -> 182 bytes .../d_LOR_disc-nurbs_legacy_lor_thumb.png | Bin 0 -> 124 bytes .../d_LOR_disc-nurbs_lor.png | Bin 0 -> 182 bytes .../d_LOR_disc-nurbs_lor_thumb.png | Bin 0 -> 124 bytes .../d_LOR_inline-quad_legacy_lor.png | Bin 0 -> 186 bytes .../d_LOR_inline-quad_legacy_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_inline-quad_lor.png | Bin 0 -> 186 bytes .../d_LOR_inline-quad_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_inline-tri_legacy_lor.png | Bin 0 -> 186 bytes .../d_LOR_inline-tri_legacy_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_inline-tri_lor.png | Bin 0 -> 186 bytes .../d_LOR_inline-tri_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_periodic-square_legacy_lor.png | Bin 0 -> 182 bytes ...d_LOR_periodic-square_legacy_lor_thumb.png | Bin 0 -> 124 bytes .../d_LOR_periodic-square_lor.png | Bin 0 -> 182 bytes .../d_LOR_periodic-square_lor_thumb.png | Bin 0 -> 124 bytes .../d_LOR_square-disc-nurbs_legacy_lor.png | Bin 0 -> 182 bytes ...LOR_square-disc-nurbs_legacy_lor_thumb.png | Bin 0 -> 124 bytes .../d_LOR_square-disc-nurbs_lor.png | Bin 0 -> 182 bytes .../d_LOR_square-disc-nurbs_lor_thumb.png | Bin 0 -> 124 bytes .../d_LOR_square-disc-p2_legacy_lor.png | Bin 0 -> 186 bytes .../d_LOR_square-disc-p2_legacy_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_square-disc-p2_lor.png | Bin 0 -> 186 bytes .../d_LOR_square-disc-p2_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_square-disc-p3_legacy_lor.png | Bin 0 -> 186 bytes .../d_LOR_square-disc-p3_legacy_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_square-disc-p3_lor.png | Bin 0 -> 186 bytes .../d_LOR_square-disc-p3_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_square-disc_legacy_lor.png | Bin 0 -> 186 bytes .../d_LOR_square-disc_legacy_lor_thumb.png | Bin 0 -> 135 bytes .../d_LOR_square-disc_lor.png | Bin 0 -> 186 bytes .../d_LOR_square-disc_lor_thumb.png | Bin 0 -> 135 bytes .../d_Lineout3d.png | Bin 0 -> 1444 bytes .../d_Lineout3d_thumb.png | Bin 0 -> 913 bytes .../d_LineoutSAMRAI.png | Bin 0 -> 402 bytes .../d_LineoutSAMRAI_thumb.png | Bin 0 -> 274 bytes .../d_NonSquare_Pixels_Ray_trace_setup_1.png | Bin 0 -> 730 bytes ...nSquare_Pixels_Ray_trace_setup_1_thumb.png | Bin 0 -> 528 bytes .../d_NonSquare_Pixels_Ray_trace_setup_2.png | Bin 0 -> 1003 bytes ...nSquare_Pixels_Ray_trace_setup_2_thumb.png | Bin 0 -> 727 bytes .../d_NonSquare_Pixels_Ray_trace_setup_3.png | Bin 0 -> 730 bytes ...nSquare_Pixels_Ray_trace_setup_3_thumb.png | Bin 0 -> 528 bytes .../d_NonSquare_Pixels_Ray_trace_setup_4.png | Bin 0 -> 1003 bytes ...nSquare_Pixels_Ray_trace_setup_4_thumb.png | Bin 0 -> 727 bytes .../d_NonSquare_Pixels_Ray_trace_setup_5.png | Bin 0 -> 623 bytes ...nSquare_Pixels_Ray_trace_setup_5_thumb.png | Bin 0 -> 524 bytes .../d_NonSquare_Pixels_Ray_trace_setup_6.png | Bin 0 -> 878 bytes ...nSquare_Pixels_Ray_trace_setup_6_thumb.png | Bin 0 -> 787 bytes .../d_NonSquare_Pixels_Ray_trace_setup_7.png | Bin 0 -> 491 bytes ...nSquare_Pixels_Ray_trace_setup_7_thumb.png | Bin 0 -> 376 bytes .../d_NonSquare_Pixels_Ray_trace_setup_8.png | Bin 0 -> 820 bytes ...nSquare_Pixels_Ray_trace_setup_8_thumb.png | Bin 0 -> 615 bytes .../d_PATRAN1_2.png | Bin 0 -> 1658 bytes .../d_PATRAN1_2_thumb.png | Bin 0 -> 1295 bytes .../d_PATRAN2_2.png | Bin 0 -> 1951 bytes .../d_PATRAN2_2_thumb.png | Bin 0 -> 1463 bytes .../d_PATRAN3_2.png | Bin 0 -> 1295 bytes .../d_PATRAN3_2_thumb.png | Bin 0 -> 865 bytes .../d_Polytopal_mesh_missing_offsets.png | Bin 0 -> 184 bytes ...d_Polytopal_mesh_missing_offsets_thumb.png | Bin 0 -> 125 bytes .../d_amr02.png | Bin 0 -> 188 bytes .../d_amr02_thumb.png | Bin 0 -> 138 bytes .../d_amr03.png | Bin 0 -> 188 bytes .../d_amr03_thumb.png | Bin 0 -> 138 bytes .../d_ansys1_2.png | Bin 0 -> 1658 bytes .../d_ansys1_2_thumb.png | Bin 0 -> 1295 bytes .../d_ansys2_2.png | Bin 0 -> 1951 bytes .../d_ansys2_2_thumb.png | Bin 0 -> 1463 bytes .../d_ansys3_2.png | Bin 0 -> 1295 bytes .../d_ansys3_2_thumb.png | Bin 0 -> 865 bytes .../d_bestline_3_00.png | Bin 0 -> 940 bytes .../d_bestline_3_00_thumb.png | Bin 0 -> 759 bytes .../d_bestline_3_02.png | Bin 0 -> 1033 bytes .../d_bestline_3_02_thumb.png | Bin 0 -> 1308 bytes .../d_bestline_3_03.png | Bin 0 -> 1016 bytes .../d_bestline_3_03_thumb.png | Bin 0 -> 1295 bytes .../d_bigdata_01.png | Bin 0 -> 533 bytes .../d_bigdata_01_thumb.png | Bin 0 -> 188 bytes .../d_biquadratic_quad_field_01.png | Bin 0 -> 186 bytes .../d_biquadratic_quad_field_01_thumb.png | Bin 0 -> 135 bytes .../d_biquadratic_quad_field_02.png | Bin 0 -> 186 bytes .../d_biquadratic_quad_field_02_thumb.png | Bin 0 -> 135 bytes .../d_biquadratic_quad_field_03.png | Bin 0 -> 186 bytes .../d_biquadratic_quad_field_03_thumb.png | Bin 0 -> 135 bytes .../d_blueprint_1d_curve_element_assoc.png | Bin 0 -> 174 bytes ...blueprint_1d_curve_element_assoc_thumb.png | Bin 0 -> 103 bytes .../d_blueprint_2d_hdf5_0_8_2_quads_mesh.png | Bin 0 -> 182 bytes ...ueprint_2d_hdf5_0_8_2_quads_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_hdf5_0_8_2_rect_mesh.png | Bin 0 -> 182 bytes ...lueprint_2d_hdf5_0_8_2_rect_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_hdf5_0_8_2_struct_mesh.png | Bin 0 -> 182 bytes ...eprint_2d_hdf5_0_8_2_struct_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_hdf5_0_8_2_tris_mesh.png | Bin 0 -> 182 bytes ...lueprint_2d_hdf5_0_8_2_tris_mesh_thumb.png | Bin 0 -> 124 bytes ...d_blueprint_2d_hdf5_0_8_2_uniform_mesh.png | Bin 0 -> 182 bytes ...print_2d_hdf5_0_8_2_uniform_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_hdf5_quads_mesh.png | Bin 0 -> 182 bytes .../d_blueprint_2d_hdf5_quads_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_hdf5_rect_mesh.png | Bin 0 -> 182 bytes .../d_blueprint_2d_hdf5_rect_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_hdf5_struct_mesh.png | Bin 0 -> 182 bytes .../d_blueprint_2d_hdf5_struct_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_hdf5_tris_mesh.png | Bin 0 -> 182 bytes .../d_blueprint_2d_hdf5_tris_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_hdf5_uniform_mesh.png | Bin 0 -> 182 bytes ...d_blueprint_2d_hdf5_uniform_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_json_quads_mesh.png | Bin 0 -> 182 bytes .../d_blueprint_2d_json_quads_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_json_rect_mesh.png | Bin 0 -> 182 bytes .../d_blueprint_2d_json_rect_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_json_struct_mesh.png | Bin 0 -> 186 bytes .../d_blueprint_2d_json_struct_mesh_thumb.png | Bin 0 -> 135 bytes .../d_blueprint_2d_json_tris_mesh.png | Bin 0 -> 182 bytes .../d_blueprint_2d_json_tris_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_json_uniform_mesh.png | Bin 0 -> 182 bytes ...d_blueprint_2d_json_uniform_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_sidre_hdf5_quads_mesh.png | Bin 0 -> 182 bytes ...ueprint_2d_sidre_hdf5_quads_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_sidre_hdf5_rect_mesh.png | Bin 0 -> 182 bytes ...lueprint_2d_sidre_hdf5_rect_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_sidre_hdf5_struct_mesh.png | Bin 0 -> 182 bytes ...eprint_2d_sidre_hdf5_struct_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_sidre_hdf5_tris_mesh.png | Bin 0 -> 182 bytes ...lueprint_2d_sidre_hdf5_tris_mesh_thumb.png | Bin 0 -> 124 bytes ...d_blueprint_2d_sidre_hdf5_uniform_mesh.png | Bin 0 -> 182 bytes ...print_2d_sidre_hdf5_uniform_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_yaml_0_8_2_quads_mesh.png | Bin 0 -> 182 bytes ...ueprint_2d_yaml_0_8_2_quads_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_yaml_0_8_2_rect_mesh.png | Bin 0 -> 182 bytes ...lueprint_2d_yaml_0_8_2_rect_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_yaml_0_8_2_struct_mesh.png | Bin 0 -> 182 bytes ...eprint_2d_yaml_0_8_2_struct_mesh_thumb.png | Bin 0 -> 124 bytes .../d_blueprint_2d_yaml_0_8_2_tris_mesh.png | Bin 0 -> 182 bytes ...lueprint_2d_yaml_0_8_2_tris_mesh_thumb.png | Bin 0 -> 124 bytes ...d_blueprint_2d_yaml_0_8_2_uniform_mesh.png | Bin 0 -> 182 bytes ...print_2d_yaml_0_8_2_uniform_mesh_thumb.png | Bin 0 -> 124 bytes ...eriodic_hexagon_conduit_bin_legacy_lor.png | Bin 0 -> 182 bytes ...c_hexagon_conduit_bin_legacy_lor_thumb.png | Bin 0 -> 128 bytes ...em_2d_periodic_hexagon_conduit_bin_lor.png | Bin 0 -> 182 bytes ...periodic_hexagon_conduit_bin_lor_thumb.png | Bin 0 -> 128 bytes ...riodic_hexagon_conduit_json_legacy_lor.png | Bin 0 -> 182 bytes ..._hexagon_conduit_json_legacy_lor_thumb.png | Bin 0 -> 128 bytes ...m_2d_periodic_hexagon_conduit_json_lor.png | Bin 0 -> 182 bytes ...eriodic_hexagon_conduit_json_lor_thumb.png | Bin 0 -> 128 bytes ...em_2d_periodic_hexagon_hdf5_legacy_lor.png | Bin 0 -> 182 bytes ...periodic_hexagon_hdf5_legacy_lor_thumb.png | Bin 0 -> 128 bytes ...rint_mfem_2d_periodic_hexagon_hdf5_lor.png | Bin 0 -> 182 bytes ...fem_2d_periodic_hexagon_hdf5_lor_thumb.png | Bin 0 -> 128 bytes ...em_2d_periodic_hexagon_json_legacy_lor.png | Bin 0 -> 182 bytes ...periodic_hexagon_json_legacy_lor_thumb.png | Bin 0 -> 128 bytes ...rint_mfem_2d_periodic_hexagon_json_lor.png | Bin 0 -> 182 bytes ...fem_2d_periodic_hexagon_json_lor_thumb.png | Bin 0 -> 128 bytes ..._blueprint_mfem_2d_tri_beam_legacy_lor.png | Bin 0 -> 184 bytes ...rint_mfem_2d_tri_beam_legacy_lor_thumb.png | Bin 0 -> 130 bytes .../d_blueprint_mfem_2d_tri_beam_lor.png | Bin 0 -> 184 bytes ...d_blueprint_mfem_2d_tri_beam_lor_thumb.png | Bin 0 -> 130 bytes ...rint_poly_2d_hdf5_0_8_2_mesh_topo_mesh.png | Bin 0 -> 178 bytes ...oly_2d_hdf5_0_8_2_mesh_topo_mesh_thumb.png | Bin 0 -> 158 bytes ...rint_poly_2d_yaml_0_8_2_mesh_topo_mesh.png | Bin 0 -> 178 bytes ...oly_2d_yaml_0_8_2_mesh_topo_mesh_thumb.png | Bin 0 -> 158 bytes ...eprint_rz_cyl_rectilinear.root_plot_2D.png | Bin 0 -> 184 bytes ..._rz_cyl_rectilinear.root_plot_2D_thumb.png | Bin 0 -> 110 bytes ...ueprint_rz_cyl_structured.root_plot_2D.png | Bin 0 -> 184 bytes ...t_rz_cyl_structured.root_plot_2D_thumb.png | Bin 0 -> 118 bytes ..._blueprint_rz_cyl_uniform.root_plot_2D.png | Bin 0 -> 184 bytes ...rint_rz_cyl_uniform.root_plot_2D_thumb.png | Bin 0 -> 110 bytes ...print_rz_cyl_unstructured.root_plot_2D.png | Bin 0 -> 184 bytes ...rz_cyl_unstructured.root_plot_2D_thumb.png | Bin 0 -> 118 bytes .../d_bov_0_05.png | Bin 0 -> 1425 bytes .../d_bov_0_05_thumb.png | Bin 0 -> 798 bytes .../d_bov_1_05.png | Bin 0 -> 191 bytes .../d_bov_1_05_thumb.png | Bin 0 -> 113 bytes .../d_bov_2_05.png | Bin 0 -> 191 bytes .../d_bov_2_05_thumb.png | Bin 0 -> 113 bytes .../d_bov_3_05.png | Bin 0 -> 1425 bytes .../d_bov_3_05_thumb.png | Bin 0 -> 798 bytes .../d_bov_4_05.png | Bin 0 -> 191 bytes .../d_bov_4_05_thumb.png | Bin 0 -> 113 bytes .../d_bov_5_05.png | Bin 0 -> 191 bytes .../d_bov_5_05_thumb.png | Bin 0 -> 113 bytes .../d_bov_6_05.png | Bin 0 -> 1425 bytes .../d_bov_6_05_thumb.png | Bin 0 -> 798 bytes .../d_bov_7_05.png | Bin 0 -> 191 bytes .../d_bov_7_05_thumb.png | Bin 0 -> 113 bytes .../d_bov_8_05.png | Bin 0 -> 191 bytes .../d_bov_8_05_thumb.png | Bin 0 -> 113 bytes .../d_boxlib_01.png | Bin 0 -> 454 bytes .../d_boxlib_01_thumb.png | Bin 0 -> 288 bytes .../d_boxlib_02.png | Bin 0 -> 271 bytes .../d_boxlib_02_thumb.png | Bin 0 -> 140 bytes .../d_boxlib_03.png | Bin 0 -> 454 bytes .../d_boxlib_03_thumb.png | Bin 0 -> 288 bytes .../d_boxlib_05.png | Bin 0 -> 209 bytes .../d_boxlib_05_thumb.png | Bin 0 -> 165 bytes .../d_bp_sparse_topos_example.png | Bin 0 -> 392 bytes .../d_bp_sparse_topos_example_thumb.png | Bin 0 -> 304 bytes .../d_chgcar_05.png | Bin 0 -> 265 bytes .../d_chgcar_05_thumb.png | Bin 0 -> 265 bytes .../d_chgcar_07.png | Bin 0 -> 294 bytes .../d_chgcar_07_thumb.png | Bin 0 -> 318 bytes .../d_chgcar_09.png | Bin 0 -> 225 bytes .../d_chgcar_09_thumb.png | Bin 0 -> 226 bytes .../d_chgcar_11.png | Bin 0 -> 502 bytes .../d_chgcar_11_thumb.png | Bin 0 -> 493 bytes .../d_compositing_01.png | Bin 0 -> 1586 bytes .../d_compositing_01_thumb.png | Bin 0 -> 1193 bytes .../d_contour_colorMethod_03.png | Bin 0 -> 1474 bytes .../d_contour_colorMethod_03_thumb.png | Bin 0 -> 953 bytes .../d_contour_colorMethod_05.png | Bin 0 -> 1166 bytes .../d_contour_colorMethod_05_thumb.png | Bin 0 -> 734 bytes .../d_contour_colorMethod_06.png | Bin 0 -> 1820 bytes .../d_contour_colorMethod_06_thumb.png | Bin 0 -> 1366 bytes .../d_contour_colorMethod_07.png | Bin 0 -> 1515 bytes .../d_contour_colorMethod_07_thumb.png | Bin 0 -> 1015 bytes .../d_contour_colorMethod_08.png | Bin 0 -> 1482 bytes .../d_contour_colorMethod_08_thumb.png | Bin 0 -> 966 bytes .../d_contour_colorMethod_09.png | Bin 0 -> 1474 bytes .../d_contour_colorMethod_09_thumb.png | Bin 0 -> 953 bytes .../d_contour_multicolor_00.png | Bin 0 -> 3126 bytes .../d_contour_multicolor_00_thumb.png | Bin 0 -> 2364 bytes .../d_contour_multicolor_01.png | Bin 0 -> 3126 bytes .../d_contour_multicolor_01_thumb.png | Bin 0 -> 2364 bytes .../d_contour_multicolor_02.png | Bin 0 -> 3465 bytes .../d_contour_multicolor_02_thumb.png | Bin 0 -> 2602 bytes .../d_csg_02.png | Bin 0 -> 489 bytes .../d_csg_02_thumb.png | Bin 0 -> 362 bytes .../d_curve2Expr.png | Bin 0 -> 184 bytes .../d_curve2Expr_thumb.png | Bin 0 -> 121 bytes .../d_curve_anim2.png | Bin 0 -> 177 bytes .../d_curve_anim2_thumb.png | Bin 0 -> 122 bytes .../d_curve_anim3.png | Bin 0 -> 177 bytes .../d_curve_anim3_thumb.png | Bin 0 -> 122 bytes .../d_curve_scale_00.png | Bin 0 -> 178 bytes .../d_curve_scale_00_thumb.png | Bin 0 -> 105 bytes .../d_curve_scale_01.png | Bin 0 -> 178 bytes .../d_curve_scale_01_thumb.png | Bin 0 -> 105 bytes .../d_curve_scale_02.png | Bin 0 -> 178 bytes .../d_curve_scale_02_thumb.png | Bin 0 -> 105 bytes .../d_curve_scale_03.png | Bin 0 -> 178 bytes .../d_curve_scale_03_thumb.png | Bin 0 -> 105 bytes .../d_ddcMD_2_01.png | Bin 0 -> 174 bytes .../d_ddcMD_2_01_thumb.png | Bin 0 -> 102 bytes .../d_ddcMD_2_02.png | Bin 0 -> 174 bytes .../d_ddcMD_2_02_thumb.png | Bin 0 -> 102 bytes .../d_ddcMD_2_03.png | Bin 0 -> 174 bytes .../d_ddcMD_2_03_thumb.png | Bin 0 -> 102 bytes .../d_ddcMD_2_04.png | Bin 0 -> 174 bytes .../d_ddcMD_2_04_thumb.png | Bin 0 -> 102 bytes .../d_ddcMD_2_05.png | Bin 0 -> 174 bytes .../d_ddcMD_2_05_thumb.png | Bin 0 -> 102 bytes .../d_ddcMD_2_06.png | Bin 0 -> 174 bytes .../d_ddcMD_2_06_thumb.png | Bin 0 -> 102 bytes .../d_ddcMD_2_07.png | Bin 0 -> 174 bytes .../d_ddcMD_2_07_thumb.png | Bin 0 -> 102 bytes .../d_ddcMD_2_08.png | Bin 0 -> 174 bytes .../d_ddcMD_2_08_thumb.png | Bin 0 -> 102 bytes .../d_ddcMD_2_09.png | Bin 0 -> 174 bytes .../d_ddcMD_2_09_thumb.png | Bin 0 -> 102 bytes .../d_ddcMD_2_10.png | Bin 0 -> 174 bytes .../d_ddcMD_2_10_thumb.png | Bin 0 -> 102 bytes .../d_ddcMD_2_11.png | Bin 0 -> 174 bytes .../d_ddcMD_2_11_thumb.png | Bin 0 -> 102 bytes .../d_ddf_spatial_1d.png | Bin 0 -> 173 bytes .../d_ddf_spatial_1d_thumb.png | Bin 0 -> 107 bytes .../d_exodus_11.png | Bin 0 -> 186 bytes .../d_exodus_11_thumb.png | Bin 0 -> 135 bytes .../d_exodus_12.png | Bin 0 -> 186 bytes .../d_exodus_12_thumb.png | Bin 0 -> 135 bytes .../d_exodus_17.png | Bin 0 -> 191 bytes .../d_exodus_17_thumb.png | Bin 0 -> 128 bytes .../d_explode_repeat_labels_00.png | Bin 0 -> 179 bytes .../d_explode_repeat_labels_00_thumb.png | Bin 0 -> 103 bytes .../d_explode_tire_00.png | Bin 0 -> 173 bytes .../d_explode_tire_00_thumb.png | Bin 0 -> 101 bytes .../d_export_db_2_00.png | Bin 0 -> 174 bytes .../d_export_db_2_00_thumb.png | Bin 0 -> 101 bytes .../d_export_db_2_01.png | Bin 0 -> 342 bytes .../d_export_db_2_01_thumb.png | Bin 0 -> 248 bytes .../d_export_db_2_02.png | Bin 0 -> 483 bytes .../d_export_db_2_02_thumb.png | Bin 0 -> 318 bytes .../d_export_db_2_03.png | Bin 0 -> 341 bytes .../d_export_db_2_03_thumb.png | Bin 0 -> 223 bytes .../d_export_db_2_04.png | Bin 0 -> 399 bytes .../d_export_db_2_04_thumb.png | Bin 0 -> 271 bytes .../d_export_db_2_05.png | Bin 0 -> 496 bytes .../d_export_db_2_05_thumb.png | Bin 0 -> 410 bytes .../d_export_db_2_06.png | Bin 0 -> 398 bytes .../d_export_db_2_06_thumb.png | Bin 0 -> 280 bytes .../d_export_db_2_07.png | Bin 0 -> 855 bytes .../d_export_db_2_07_thumb.png | Bin 0 -> 642 bytes .../d_export_db_2_08.png | Bin 0 -> 423 bytes .../d_export_db_2_08_thumb.png | Bin 0 -> 264 bytes .../d_export_db_2_09.png | Bin 0 -> 503 bytes .../d_export_db_2_09_thumb.png | Bin 0 -> 352 bytes .../d_export_db_2_10.png | Bin 0 -> 342 bytes .../d_export_db_2_10_thumb.png | Bin 0 -> 248 bytes .../d_export_db_2_11.png | Bin 0 -> 483 bytes .../d_export_db_2_11_thumb.png | Bin 0 -> 318 bytes .../d_export_db_2_12.png | Bin 0 -> 341 bytes .../d_export_db_2_12_thumb.png | Bin 0 -> 223 bytes .../d_export_db_2_13.png | Bin 0 -> 399 bytes .../d_export_db_2_13_thumb.png | Bin 0 -> 271 bytes .../d_export_db_2_14.png | Bin 0 -> 496 bytes .../d_export_db_2_14_thumb.png | Bin 0 -> 410 bytes .../d_export_db_2_15.png | Bin 0 -> 398 bytes .../d_export_db_2_15_thumb.png | Bin 0 -> 280 bytes .../d_export_db_2_16.png | Bin 0 -> 855 bytes .../d_export_db_2_16_thumb.png | Bin 0 -> 642 bytes .../d_export_db_2_17.png | Bin 0 -> 423 bytes .../d_export_db_2_17_thumb.png | Bin 0 -> 264 bytes .../d_export_db_2_18.png | Bin 0 -> 503 bytes .../d_export_db_2_18_thumb.png | Bin 0 -> 352 bytes .../d_fb_lines_03.png | Bin 0 -> 533 bytes .../d_fb_lines_03_thumb.png | Bin 0 -> 188 bytes .../d_ghost_node_01.png | Bin 0 -> 2270 bytes .../d_ghost_node_01_thumb.png | Bin 0 -> 1467 bytes .../d_hf_2_1.png | Bin 0 -> 183 bytes .../d_hf_2_1_thumb.png | Bin 0 -> 125 bytes .../d_hf_4_1.png | Bin 0 -> 183 bytes .../d_hf_4_1_thumb.png | Bin 0 -> 125 bytes .../d_ic_geometry_01.png | Bin 0 -> 173 bytes .../d_ic_geometry_01_thumb.png | Bin 0 -> 108 bytes .../d_ic_geometry_02.png | Bin 0 -> 173 bytes .../d_ic_geometry_02_thumb.png | Bin 0 -> 108 bytes .../d_ic_geometry_03.png | Bin 0 -> 173 bytes .../d_ic_geometry_03_thumb.png | Bin 0 -> 108 bytes .../d_ic_geometry_04.png | Bin 0 -> 173 bytes .../d_ic_geometry_04_thumb.png | Bin 0 -> 108 bytes .../d_ic_geometry_05.png | Bin 0 -> 189 bytes .../d_ic_geometry_05_thumb.png | Bin 0 -> 124 bytes .../d_ic_geometry_06.png | Bin 0 -> 189 bytes .../d_ic_geometry_06_thumb.png | Bin 0 -> 124 bytes .../d_ic_geometry_07.png | Bin 0 -> 185 bytes .../d_ic_geometry_07_thumb.png | Bin 0 -> 125 bytes .../d_ic_geometry_08.png | Bin 0 -> 185 bytes .../d_ic_geometry_08_thumb.png | Bin 0 -> 125 bytes .../d_ic_geometry_09.png | Bin 0 -> 196 bytes .../d_ic_geometry_09_thumb.png | Bin 0 -> 146 bytes .../d_ic_geometry_10.png | Bin 0 -> 335 bytes .../d_ic_geometry_10_thumb.png | Bin 0 -> 234 bytes .../d_ic_geometry_11.png | Bin 0 -> 335 bytes .../d_ic_geometry_11_thumb.png | Bin 0 -> 234 bytes .../d_ic_geometry_12.png | Bin 0 -> 335 bytes .../d_ic_geometry_12_thumb.png | Bin 0 -> 234 bytes .../d_ic_geometry_13.png | Bin 0 -> 736 bytes .../d_ic_geometry_13_thumb.png | Bin 0 -> 645 bytes .../d_ic_geometry_14.png | Bin 0 -> 978 bytes .../d_ic_geometry_14_thumb.png | Bin 0 -> 909 bytes .../d_ic_integration_09.png | Bin 0 -> 174 bytes .../d_ic_integration_09_thumb.png | Bin 0 -> 102 bytes .../d_ic_integration_10.png | Bin 0 -> 224 bytes .../d_ic_integration_10_thumb.png | Bin 0 -> 144 bytes .../d_ic_streamlines_03.png | Bin 0 -> 183 bytes .../d_ic_streamlines_03_thumb.png | Bin 0 -> 107 bytes .../d_ic_streamlines_04.png | Bin 0 -> 183 bytes .../d_ic_streamlines_04_thumb.png | Bin 0 -> 107 bytes .../d_ic_streamlines_05.png | Bin 0 -> 332 bytes .../d_ic_streamlines_05_thumb.png | Bin 0 -> 220 bytes .../d_ic_streamlines_08.png | Bin 0 -> 183 bytes .../d_ic_streamlines_08_thumb.png | Bin 0 -> 107 bytes .../d_input_mesh_amr-quad_boundary_topo.png | Bin 0 -> 186 bytes ...nput_mesh_amr-quad_boundary_topo_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_amr-quad_mres_0000.png | Bin 0 -> 186 bytes .../d_input_mesh_amr-quad_mres_0000_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_amr-quad_mres_0005.png | Bin 0 -> 186 bytes .../d_input_mesh_amr-quad_mres_0005_thumb.png | Bin 0 -> 135 bytes ...put_mesh_beam-quad-nurbs_boundary_topo.png | Bin 0 -> 184 bytes ...sh_beam-quad-nurbs_boundary_topo_thumb.png | Bin 0 -> 130 bytes ...d_input_mesh_beam-quad-nurbs_mres_0000.png | Bin 0 -> 184 bytes ...t_mesh_beam-quad-nurbs_mres_0000_thumb.png | Bin 0 -> 130 bytes ...d_input_mesh_beam-quad-nurbs_mres_0020.png | Bin 0 -> 200 bytes ...t_mesh_beam-quad-nurbs_mres_0020_thumb.png | Bin 0 -> 150 bytes .../d_input_mesh_beam-quad_boundary_topo.png | Bin 0 -> 184 bytes ...put_mesh_beam-quad_boundary_topo_thumb.png | Bin 0 -> 130 bytes .../d_input_mesh_beam-quad_mres_0000.png | Bin 0 -> 184 bytes ...d_input_mesh_beam-quad_mres_0000_thumb.png | Bin 0 -> 130 bytes .../d_input_mesh_beam-quad_mres_0020.png | Bin 0 -> 200 bytes ...d_input_mesh_beam-quad_mres_0020_thumb.png | Bin 0 -> 150 bytes .../d_input_mesh_beam-tri_boundary_topo.png | Bin 0 -> 184 bytes ...nput_mesh_beam-tri_boundary_topo_thumb.png | Bin 0 -> 130 bytes .../d_input_mesh_beam-tri_mres_0000.png | Bin 0 -> 184 bytes .../d_input_mesh_beam-tri_mres_0000_thumb.png | Bin 0 -> 130 bytes .../d_input_mesh_beam-tri_mres_0020.png | Bin 0 -> 200 bytes .../d_input_mesh_beam-tri_mres_0020_thumb.png | Bin 0 -> 150 bytes .../d_input_mesh_disc-nurbs_boundary_topo.png | Bin 0 -> 182 bytes ...ut_mesh_disc-nurbs_boundary_topo_thumb.png | Bin 0 -> 124 bytes .../d_input_mesh_disc-nurbs_mres_0000.png | Bin 0 -> 182 bytes ..._input_mesh_disc-nurbs_mres_0000_thumb.png | Bin 0 -> 124 bytes .../d_input_mesh_disc-nurbs_mres_0020.png | Bin 0 -> 181 bytes ..._input_mesh_disc-nurbs_mres_0020_thumb.png | Bin 0 -> 121 bytes ...d_input_mesh_inline-quad_boundary_topo.png | Bin 0 -> 186 bytes ...t_mesh_inline-quad_boundary_topo_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_inline-quad_mres_0000.png | Bin 0 -> 186 bytes ...input_mesh_inline-quad_mres_0000_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_inline-quad_mres_0020.png | Bin 0 -> 186 bytes ...input_mesh_inline-quad_mres_0020_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_inline-tri_boundary_topo.png | Bin 0 -> 186 bytes ...ut_mesh_inline-tri_boundary_topo_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_inline-tri_mres_0000.png | Bin 0 -> 186 bytes ..._input_mesh_inline-tri_mres_0000_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_inline-tri_mres_0020.png | Bin 0 -> 186 bytes ..._input_mesh_inline-tri_mres_0020_thumb.png | Bin 0 -> 135 bytes ...d_input_mesh_periodic-square_mres_0000.png | Bin 0 -> 182 bytes ...t_mesh_periodic-square_mres_0000_thumb.png | Bin 0 -> 124 bytes ...d_input_mesh_periodic-square_mres_0020.png | Bin 0 -> 182 bytes ...t_mesh_periodic-square_mres_0020_thumb.png | Bin 0 -> 124 bytes ...t_mesh_square-disc-nurbs_boundary_topo.png | Bin 0 -> 182 bytes ..._square-disc-nurbs_boundary_topo_thumb.png | Bin 0 -> 124 bytes ...input_mesh_square-disc-nurbs_mres_0000.png | Bin 0 -> 182 bytes ...mesh_square-disc-nurbs_mres_0000_thumb.png | Bin 0 -> 124 bytes ...input_mesh_square-disc-nurbs_mres_0020.png | Bin 0 -> 182 bytes ...mesh_square-disc-nurbs_mres_0020_thumb.png | Bin 0 -> 124 bytes ...nput_mesh_square-disc-p2_boundary_topo.png | Bin 0 -> 186 bytes ...esh_square-disc-p2_boundary_topo_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_square-disc-p2_mres_0000.png | Bin 0 -> 186 bytes ...ut_mesh_square-disc-p2_mres_0000_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_square-disc-p2_mres_0020.png | Bin 0 -> 186 bytes ...ut_mesh_square-disc-p2_mres_0020_thumb.png | Bin 0 -> 135 bytes ...nput_mesh_square-disc-p3_boundary_topo.png | Bin 0 -> 186 bytes ...esh_square-disc-p3_boundary_topo_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_square-disc-p3_mres_0000.png | Bin 0 -> 186 bytes ...ut_mesh_square-disc-p3_mres_0000_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_square-disc-p3_mres_0020.png | Bin 0 -> 186 bytes ...ut_mesh_square-disc-p3_mres_0020_thumb.png | Bin 0 -> 135 bytes ...d_input_mesh_square-disc_boundary_topo.png | Bin 0 -> 186 bytes ...t_mesh_square-disc_boundary_topo_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_square-disc_mres_0000.png | Bin 0 -> 186 bytes ...input_mesh_square-disc_mres_0000_thumb.png | Bin 0 -> 135 bytes .../d_input_mesh_square-disc_mres_0020.png | Bin 0 -> 186 bytes ...input_mesh_square-disc_mres_0020_thumb.png | Bin 0 -> 135 bytes .../d_kulllite_01.png | Bin 0 -> 183 bytes .../d_kulllite_01_thumb.png | Bin 0 -> 124 bytes .../d_kulllite_02.png | Bin 0 -> 186 bytes .../d_kulllite_02_thumb.png | Bin 0 -> 133 bytes .../d_kulllite_03.png | Bin 0 -> 186 bytes .../d_kulllite_03_thumb.png | Bin 0 -> 133 bytes .../d_label_6_04.png | Bin 0 -> 349 bytes .../d_label_6_04_thumb.png | Bin 0 -> 159 bytes .../d_label_8_11.png | Bin 0 -> 9753 bytes .../d_label_8_11_thumb.png | Bin 0 -> 3627 bytes .../d_lata_00.png | Bin 0 -> 184 bytes .../d_lata_00_thumb.png | Bin 0 -> 131 bytes .../d_lata_02.png | Bin 0 -> 184 bytes .../d_lata_02_thumb.png | Bin 0 -> 130 bytes .../d_lata_06.png | Bin 0 -> 177 bytes .../d_lata_06_thumb.png | Bin 0 -> 125 bytes .../d_lata_08.png | Bin 0 -> 182 bytes .../d_lata_08_thumb.png | Bin 0 -> 124 bytes .../d_lata_09.png | Bin 0 -> 182 bytes .../d_lata_09_thumb.png | Bin 0 -> 124 bytes ...le_gyre_2_domains_NativeMesh_2DAuxGrid.png | Bin 0 -> 1686 bytes ...e_2_domains_NativeMesh_2DAuxGrid_thumb.png | Bin 0 -> 1727 bytes .../d_legends_07.png | Bin 0 -> 1393 bytes .../d_legends_07_thumb.png | Bin 0 -> 928 bytes .../d_leos_06.png | Bin 0 -> 182 bytes .../d_leos_06_thumb.png | Bin 0 -> 124 bytes .../d_line3d07.png | Bin 0 -> 362 bytes .../d_line3d07_thumb.png | Bin 0 -> 261 bytes .../d_line3d08.png | Bin 0 -> 358 bytes .../d_line3d08_thumb.png | Bin 0 -> 248 bytes .../d_line3d09.png | Bin 0 -> 539 bytes .../d_line3d09_thumb.png | Bin 0 -> 376 bytes .../d_line3d10.png | Bin 0 -> 281 bytes .../d_line3d10_thumb.png | Bin 0 -> 178 bytes .../d_line3d11.png | Bin 0 -> 379 bytes .../d_line3d11_thumb.png | Bin 0 -> 220 bytes .../d_line3d12.png | Bin 0 -> 273 bytes .../d_line3d12_thumb.png | Bin 0 -> 141 bytes .../d_ls_0_1.png | Bin 0 -> 173 bytes .../d_ls_0_10.png | Bin 0 -> 173 bytes .../d_ls_0_10_thumb.png | Bin 0 -> 107 bytes .../d_ls_0_13.png | Bin 0 -> 173 bytes .../d_ls_0_13_thumb.png | Bin 0 -> 103 bytes .../d_ls_0_16.png | Bin 0 -> 173 bytes .../d_ls_0_16_thumb.png | Bin 0 -> 103 bytes .../d_ls_0_1_thumb.png | Bin 0 -> 103 bytes .../d_ls_0_4.png | Bin 0 -> 173 bytes .../d_ls_0_4_thumb.png | Bin 0 -> 108 bytes .../d_ls_0_7.png | Bin 0 -> 173 bytes .../d_ls_0_7_thumb.png | Bin 0 -> 103 bytes .../d_ls_1_1.png | Bin 0 -> 176 bytes .../d_ls_1_10.png | Bin 0 -> 173 bytes .../d_ls_1_10_thumb.png | Bin 0 -> 106 bytes .../d_ls_1_13.png | Bin 0 -> 173 bytes .../d_ls_1_13_thumb.png | Bin 0 -> 103 bytes .../d_ls_1_16.png | Bin 0 -> 173 bytes .../d_ls_1_16_thumb.png | Bin 0 -> 103 bytes .../d_ls_1_1_thumb.png | Bin 0 -> 103 bytes .../d_ls_1_4.png | Bin 0 -> 173 bytes .../d_ls_1_4_thumb.png | Bin 0 -> 108 bytes .../d_ls_1_7.png | Bin 0 -> 173 bytes .../d_ls_1_7_thumb.png | Bin 0 -> 103 bytes .../d_ls_2_1.png | Bin 0 -> 173 bytes .../d_ls_2_10.png | Bin 0 -> 174 bytes .../d_ls_2_10_thumb.png | Bin 0 -> 103 bytes .../d_ls_2_13.png | Bin 0 -> 173 bytes .../d_ls_2_13_thumb.png | Bin 0 -> 103 bytes .../d_ls_2_16.png | Bin 0 -> 173 bytes .../d_ls_2_16_thumb.png | Bin 0 -> 103 bytes .../d_ls_2_1_thumb.png | Bin 0 -> 103 bytes .../d_ls_2_4.png | Bin 0 -> 173 bytes .../d_ls_2_4_thumb.png | Bin 0 -> 103 bytes .../d_ls_3_1.png | Bin 0 -> 178 bytes .../d_ls_3_10.png | Bin 0 -> 178 bytes .../d_ls_3_10_thumb.png | Bin 0 -> 105 bytes .../d_ls_3_13.png | Bin 0 -> 173 bytes .../d_ls_3_13_thumb.png | Bin 0 -> 103 bytes .../d_ls_3_16.png | Bin 0 -> 173 bytes .../d_ls_3_16_thumb.png | Bin 0 -> 103 bytes .../d_ls_3_1_thumb.png | Bin 0 -> 105 bytes .../d_ls_3_4.png | Bin 0 -> 178 bytes .../d_ls_3_4_thumb.png | Bin 0 -> 105 bytes .../d_ls_3_7.png | Bin 0 -> 173 bytes .../d_ls_3_7_thumb.png | Bin 0 -> 103 bytes .../d_materialvar02.png | Bin 0 -> 184 bytes .../d_materialvar02_thumb.png | Bin 0 -> 110 bytes .../d_materialvar03.png | Bin 0 -> 184 bytes .../d_materialvar03_thumb.png | Bin 0 -> 110 bytes .../d_materialvar04.png | Bin 0 -> 184 bytes .../d_materialvar04_thumb.png | Bin 0 -> 110 bytes .../d_materialvar05.png | Bin 0 -> 184 bytes .../d_materialvar05_thumb.png | Bin 0 -> 110 bytes .../d_materialvar06.png | Bin 0 -> 184 bytes .../d_materialvar06_thumb.png | Bin 0 -> 110 bytes .../d_materialvar07.png | Bin 0 -> 184 bytes .../d_materialvar07_thumb.png | Bin 0 -> 110 bytes .../d_materialvar08.png | Bin 0 -> 184 bytes .../d_materialvar08_thumb.png | Bin 0 -> 110 bytes .../d_materialvar09.png | Bin 0 -> 184 bytes .../d_materialvar09_thumb.png | Bin 0 -> 110 bytes .../d_materialvar10.png | Bin 0 -> 184 bytes .../d_materialvar10_thumb.png | Bin 0 -> 110 bytes .../d_materialvar11.png | Bin 0 -> 184 bytes .../d_materialvar11_thumb.png | Bin 0 -> 110 bytes .../d_mesh_point_05.png | Bin 0 -> 173 bytes .../d_mesh_point_05_thumb.png | Bin 0 -> 97 bytes .../d_mesh_quality_05.png | Bin 0 -> 173 bytes .../d_mesh_quality_05_thumb.png | Bin 0 -> 96 bytes .../d_meshtype_point_05.png | Bin 0 -> 179 bytes .../d_meshtype_point_05_thumb.png | Bin 0 -> 110 bytes .../d_meshtype_point_07.png | Bin 0 -> 173 bytes .../d_meshtype_point_07_thumb.png | Bin 0 -> 105 bytes .../d_missingdata_0_00.png | Bin 0 -> 178 bytes .../d_missingdata_0_00_thumb.png | Bin 0 -> 108 bytes .../d_missingdata_0_01.png | Bin 0 -> 187 bytes .../d_missingdata_0_01_thumb.png | Bin 0 -> 151 bytes .../d_missingdata_0_02.png | Bin 0 -> 199 bytes .../d_missingdata_0_02_thumb.png | Bin 0 -> 154 bytes .../d_missingdata_1_00.png | Bin 0 -> 177 bytes .../d_missingdata_1_00_thumb.png | Bin 0 -> 111 bytes .../d_missingdata_1_01.png | Bin 0 -> 186 bytes .../d_missingdata_1_01_thumb.png | Bin 0 -> 125 bytes .../d_missingdata_1_02.png | Bin 0 -> 171 bytes .../d_missingdata_1_02_thumb.png | Bin 0 -> 96 bytes .../d_moab_01.png | Bin 0 -> 663 bytes .../d_moab_01_thumb.png | Bin 0 -> 391 bytes .../d_moveoperator_0.png | Bin 0 -> 174 bytes .../d_moveoperator_0_thumb.png | Bin 0 -> 97 bytes .../d_moveoperator_8.png | Bin 0 -> 1071 bytes .../d_moveoperator_8_thumb.png | Bin 0 -> 764 bytes .../d_moveoperator_9.png | Bin 0 -> 1411 bytes .../d_moveoperator_9_thumb.png | Bin 0 -> 1074 bytes .../d_multi_curv3d.silo_partition19_0_.png | Bin 0 -> 631 bytes ...multi_curv3d.silo_partition19_0__thumb.png | Bin 0 -> 514 bytes .../d_multi_curv3d.silo_partition4_0_.png | Bin 0 -> 1379 bytes ..._multi_curv3d.silo_partition4_0__thumb.png | Bin 0 -> 823 bytes .../d_multi_rect3d.silo_partition19_1_.png | Bin 0 -> 175 bytes ...multi_rect3d.silo_partition19_1__thumb.png | Bin 0 -> 101 bytes .../d_multi_rect3d.silo_partition4_0_.png | Bin 0 -> 179 bytes ..._multi_rect3d.silo_partition4_0__thumb.png | Bin 0 -> 110 bytes .../d_multi_rect3d.silo_partition4_1_.png | Bin 0 -> 175 bytes ..._multi_rect3d.silo_partition4_1__thumb.png | Bin 0 -> 101 bytes .../d_multi_ucd3d.silo_partition4_0_.png | Bin 0 -> 334 bytes ...d_multi_ucd3d.silo_partition4_0__thumb.png | Bin 0 -> 182 bytes .../d_multiblock02.png | Bin 0 -> 182 bytes .../d_multiblock02_thumb.png | Bin 0 -> 124 bytes .../d_multiblock03.png | Bin 0 -> 182 bytes .../d_multiblock03_thumb.png | Bin 0 -> 124 bytes .../d_multiblock04.png | Bin 0 -> 182 bytes .../d_multiblock04_thumb.png | Bin 0 -> 124 bytes .../d_multiblock05.png | Bin 0 -> 182 bytes .../d_multiblock05_thumb.png | Bin 0 -> 124 bytes .../d_multicolor_1_05.png | Bin 0 -> 2212 bytes .../d_multicolor_1_05_thumb.png | Bin 0 -> 1690 bytes .../d_multicolor_2_05.png | Bin 0 -> 3036 bytes .../d_multicolor_2_05_thumb.png | Bin 0 -> 2513 bytes .../d_multicolor_3_05.png | Bin 0 -> 1656 bytes .../d_multicolor_3_05_thumb.png | Bin 0 -> 1101 bytes .../d_nastran1_2.png | Bin 0 -> 1672 bytes .../d_nastran1_2_thumb.png | Bin 0 -> 1301 bytes .../d_nastran2_2.png | Bin 0 -> 1972 bytes .../d_nastran2_2_thumb.png | Bin 0 -> 1476 bytes .../d_nastran3_2.png | Bin 0 -> 1334 bytes .../d_nastran3_2_thumb.png | Bin 0 -> 906 bytes .../d_nastran5_1.png | Bin 0 -> 1681 bytes .../d_nastran5_1_thumb.png | Bin 0 -> 850 bytes .../d_netcdf_3_01.png | Bin 0 -> 222 bytes .../d_netcdf_3_01_thumb.png | Bin 0 -> 205 bytes .../d_oldsilo_01.png | Bin 0 -> 182 bytes .../d_oldsilo_01_thumb.png | Bin 0 -> 126 bytes .../d_openPMD_3D_Fieldsrho.png | Bin 0 -> 333 bytes .../d_openPMD_3D_Fieldsrho_thumb.png | Bin 0 -> 294 bytes .../d_ops_cart_proj_1.png | Bin 0 -> 2372 bytes .../d_ops_cart_proj_1_thumb.png | Bin 0 -> 1710 bytes .../d_ops_cart_proj_3.png | Bin 0 -> 1887 bytes .../d_ops_cart_proj_3_thumb.png | Bin 0 -> 1411 bytes .../d_ops_dualmesh_mesh_plot_2d_00.png | Bin 0 -> 182 bytes .../d_ops_dualmesh_mesh_plot_2d_00_thumb.png | Bin 0 -> 125 bytes .../d_ops_dualmesh_mesh_plot_2d_01.png | Bin 0 -> 353 bytes .../d_ops_dualmesh_mesh_plot_2d_01_thumb.png | Bin 0 -> 229 bytes .../d_ops_dualmesh_mesh_plot_2d_02.png | Bin 0 -> 182 bytes .../d_ops_dualmesh_mesh_plot_2d_02_thumb.png | Bin 0 -> 125 bytes .../d_ops_inverse_ghost_zone05.png | Bin 0 -> 339 bytes .../d_ops_inverse_ghost_zone05_thumb.png | Bin 0 -> 306 bytes .../d_ops_refl02.png | Bin 0 -> 182 bytes .../d_ops_refl02_thumb.png | Bin 0 -> 125 bytes .../d_ops_refl10.png | Bin 0 -> 1336 bytes .../d_ops_refl10_thumb.png | Bin 0 -> 948 bytes .../d_ops_refl11.png | Bin 0 -> 1260 bytes .../d_ops_refl11_thumb.png | Bin 0 -> 702 bytes .../d_ops_refl12.png | Bin 0 -> 1458 bytes .../d_ops_refl12_thumb.png | Bin 0 -> 601 bytes .../d_ops_resampleop_noise_point_small.png | Bin 0 -> 173 bytes ...ops_resampleop_noise_point_small_thumb.png | Bin 0 -> 101 bytes .../d_ops_transform05.png | Bin 0 -> 3037 bytes .../d_ops_transform05_thumb.png | Bin 0 -> 2506 bytes .../d_ops_transform07.png | Bin 0 -> 184 bytes .../d_ops_transform07_thumb.png | Bin 0 -> 121 bytes .../d_pickarray_02.png | Bin 0 -> 184 bytes .../d_pickarray_02_thumb.png | Bin 0 -> 124 bytes .../d_pickarray_04.png | Bin 0 -> 184 bytes .../d_pickarray_04_thumb.png | Bin 0 -> 124 bytes .../d_pickarray_07.png | Bin 0 -> 184 bytes .../d_pickarray_07_thumb.png | Bin 0 -> 124 bytes .../d_pickarray_09.png | Bin 0 -> 182 bytes .../d_pickarray_09_thumb.png | Bin 0 -> 124 bytes .../d_pickarray_10.png | Bin 0 -> 183 bytes .../d_pickarray_10_thumb.png | Bin 0 -> 125 bytes .../d_pixeldata_0_00.png | Bin 0 -> 3005 bytes .../d_pixeldata_0_00_thumb.png | Bin 0 -> 2412 bytes .../d_pixeldata_0_01.png | Bin 0 -> 3354 bytes .../d_pixeldata_0_01_thumb.png | Bin 0 -> 2846 bytes .../d_pixeldata_0_02.png | Bin 0 -> 3005 bytes .../d_pixeldata_0_02_thumb.png | Bin 0 -> 2412 bytes .../d_pixeldata_0_03.png | Bin 0 -> 3227 bytes .../d_pixeldata_0_03_thumb.png | Bin 0 -> 2725 bytes .../d_pixeldata_0_04.png | Bin 0 -> 2658 bytes .../d_pixeldata_0_04_thumb.png | Bin 0 -> 1982 bytes .../d_pixeldata_0_05.png | Bin 0 -> 2870 bytes .../d_pixeldata_0_05_thumb.png | Bin 0 -> 2249 bytes .../d_pixeldata_0_06.png | Bin 0 -> 2887 bytes .../d_pixeldata_0_06_thumb.png | Bin 0 -> 2282 bytes .../d_pixeldata_0_07.png | Bin 0 -> 3121 bytes .../d_pixeldata_0_07_thumb.png | Bin 0 -> 2610 bytes .../d_pixeldata_0_08.png | Bin 0 -> 2030 bytes .../d_pixeldata_0_08_thumb.png | Bin 0 -> 1439 bytes .../d_pixeldata_0_09.png | Bin 0 -> 1919 bytes .../d_pixeldata_0_09_thumb.png | Bin 0 -> 1335 bytes .../d_pixeldata_0_10.png | Bin 0 -> 2663 bytes .../d_pixeldata_0_10_thumb.png | Bin 0 -> 2057 bytes .../d_pixeldata_0_11.png | Bin 0 -> 2861 bytes .../d_pixeldata_0_11_thumb.png | Bin 0 -> 2439 bytes .../d_pixie_04.png | Bin 0 -> 320 bytes .../d_pixie_04_thumb.png | Bin 0 -> 293 bytes .../d_pixie_05.png | Bin 0 -> 226 bytes .../d_pixie_05_thumb.png | Bin 0 -> 144 bytes .../d_pixie_06.png | Bin 0 -> 2321 bytes .../d_pixie_06_thumb.png | Bin 0 -> 1624 bytes .../d_pixie_07.png | Bin 0 -> 402 bytes .../d_pixie_07_thumb.png | Bin 0 -> 285 bytes .../d_polar_curve_01.png | Bin 0 -> 181 bytes .../d_polar_curve_01_thumb.png | Bin 0 -> 132 bytes .../d_pseudocolor_domain_bounds_02.png | Bin 0 -> 680 bytes .../d_pseudocolor_domain_bounds_02_thumb.png | Bin 0 -> 544 bytes .../d_ray_trace_06.png | Bin 0 -> 251 bytes .../d_ray_trace_06_thumb.png | Bin 0 -> 179 bytes .../d_ray_trace_07.png | Bin 0 -> 943 bytes .../d_ray_trace_07_thumb.png | Bin 0 -> 824 bytes .../d_rect3d-contour00.png | Bin 0 -> 1357 bytes .../d_rect3d-contour00_thumb.png | Bin 0 -> 805 bytes .../d_rect3d_01.png | Bin 0 -> 1582 bytes .../d_rect3d_01_thumb.png | Bin 0 -> 2944 bytes .../d_rect3d_02.png | Bin 0 -> 10183 bytes .../d_rect3d_02_thumb.png | Bin 0 -> 5719 bytes .../d_rect_05.png | Bin 0 -> 182 bytes .../d_rect_05_thumb.png | Bin 0 -> 124 bytes .../d_rect_06.png | Bin 0 -> 182 bytes .../d_rect_06_thumb.png | Bin 0 -> 124 bytes .../d_rect_07.png | Bin 0 -> 184 bytes .../d_rect_07_thumb.png | Bin 0 -> 120 bytes .../d_scalar02.png | Bin 0 -> 182 bytes .../d_scalar02_thumb.png | Bin 0 -> 124 bytes .../d_scatter_21.png | Bin 0 -> 176 bytes .../d_scatter_21_thumb.png | Bin 0 -> 117 bytes .../d_shapefile_4_00.png | Bin 0 -> 203 bytes .../d_shapefile_4_00_thumb.png | Bin 0 -> 165 bytes .../d_shapefile_4_01.png | Bin 0 -> 187 bytes .../d_shapefile_4_01_thumb.png | Bin 0 -> 136 bytes .../d_shapefile_4_02.png | Bin 0 -> 203 bytes .../d_shapefile_4_02_thumb.png | Bin 0 -> 180 bytes .../d_silo_41.png | Bin 0 -> 459 bytes .../d_silo_41_thumb.png | Bin 0 -> 282 bytes .../d_simplify_mixed02.png | Bin 0 -> 173 bytes .../d_simplify_mixed02_thumb.png | Bin 0 -> 99 bytes .../d_singlecolor00.png | Bin 0 -> 2472 bytes .../d_singlecolor00_thumb.png | Bin 0 -> 1880 bytes .../d_singlecolor01.png | Bin 0 -> 1256 bytes .../d_singlecolor01_thumb.png | Bin 0 -> 724 bytes .../d_singlecolor02.png | Bin 0 -> 1257 bytes .../d_singlecolor02_thumb.png | Bin 0 -> 725 bytes .../d_sph_2d.png | Bin 0 -> 418 bytes .../d_sph_2d_thumb.png | Bin 0 -> 458 bytes .../d_subset_02.png | Bin 0 -> 363 bytes .../d_subset_02_thumb.png | Bin 0 -> 247 bytes .../d_subset_03.png | Bin 0 -> 233 bytes .../d_subset_03_thumb.png | Bin 0 -> 150 bytes .../d_tecplot_04.png | Bin 0 -> 183 bytes .../d_tecplot_04_thumb.png | Bin 0 -> 126 bytes .../d_tecplot_05.png | Bin 0 -> 173 bytes .../d_tecplot_05_thumb.png | Bin 0 -> 102 bytes .../d_tecplot_12.png | Bin 0 -> 182 bytes .../d_tecplot_12_thumb.png | Bin 0 -> 124 bytes .../d_tecplot_15.png | Bin 0 -> 182 bytes .../d_tecplot_15_thumb.png | Bin 0 -> 125 bytes .../d_text3d03.png | Bin 0 -> 372 bytes .../d_text3d03_thumb.png | Bin 0 -> 309 bytes .../d_unv_05.png | Bin 0 -> 10433 bytes .../d_unv_05_thumb.png | Bin 0 -> 6219 bytes .../d_var02.png | Bin 0 -> 182 bytes .../d_var02_thumb.png | Bin 0 -> 124 bytes .../d_vector_16.png | Bin 0 -> 182 bytes .../d_vector_16_thumb.png | Bin 0 -> 124 bytes .../d_vector_17.png | Bin 0 -> 182 bytes .../d_vector_17_thumb.png | Bin 0 -> 124 bytes .../d_vector_18.png | Bin 0 -> 182 bytes .../d_vector_18_thumb.png | Bin 0 -> 124 bytes .../d_vector_19.png | Bin 0 -> 182 bytes .../d_vector_19_thumb.png | Bin 0 -> 124 bytes .../d_view_09.png | Bin 0 -> 173 bytes .../d_view_09_thumb.png | Bin 0 -> 105 bytes .../d_volumeOpacity_05.png | Bin 0 -> 1247 bytes .../d_volumeOpacity_05_thumb.png | Bin 0 -> 740 bytes .../d_volume_01.png | Bin 0 -> 1254 bytes .../d_volume_01_thumb.png | Bin 0 -> 522 bytes .../d_volume_02.png | Bin 0 -> 1254 bytes .../d_volume_02_thumb.png | Bin 0 -> 522 bytes .../d_vtk_34a.png | Bin 0 -> 186 bytes .../d_vtk_34a_thumb.png | Bin 0 -> 133 bytes .../d_vtk_36.png | Bin 0 -> 188 bytes .../d_vtk_36_thumb.png | Bin 0 -> 138 bytes .../d_xdmf_6_00.png | Bin 0 -> 182 bytes .../d_xdmf_6_00_thumb.png | Bin 0 -> 124 bytes .../d_xdmf_6_01.png | Bin 0 -> 182 bytes .../d_xdmf_6_01_thumb.png | Bin 0 -> 124 bytes .../d_xdmf_6_02.png | Bin 0 -> 182 bytes .../d_xdmf_6_02_thumb.png | Bin 0 -> 125 bytes .../d_xdmf_7_02.png | Bin 0 -> 186 bytes .../d_xdmf_7_02_thumb.png | Bin 0 -> 135 bytes .../d_xdmf_7_03.png | Bin 0 -> 186 bytes .../d_xdmf_7_03_thumb.png | Bin 0 -> 135 bytes .../databasesVsInstall.html | 86 + .../databases_ANALYZE.html | 84 + .../databases_ANALYZE_py.html | 113 + .../databases_ANSYS.html | 114 + .../databases_ANSYS_py.html | 217 ++ .../databases_CGNS.html | 206 ++ .../databases_CGNS_py.html | 389 ++ .../databases_Cale.html | 69 + .../databases_Cale_py.html | 65 + .../databases_Chombo.html | 77 + .../databases_Chombo_py.html | 101 + .../databases_EnSight.html | 102 + .../databases_EnSight_py.html | 84 + .../databases_FITS.html | 87 + .../databases_FITS_py.html | 124 + .../databases_FMS.html | 1156 ++++++ .../databases_FMS_py.html | 590 +++ .../databases_Fluent.html | 60 + .../databases_Fluent_py.html | 43 + .../databases_GDAL.html | 36 + .../databases_GDAL_py.html | 107 + .../databases_NASTRAN.html | 212 ++ .../databases_NASTRAN_py.html | 511 +++ .../databases_OpenFOAM.html | 210 ++ .../databases_OpenFOAM_py.html | 250 ++ .../databases_PATRAN.html | 126 + .../databases_PATRAN_py.html | 242 ++ .../databases_PLOT3D.html | 650 ++++ .../databases_PLOT3D_py.html | 217 ++ .../databases_ProteinDataBank.html | 252 ++ .../databases_ProteinDataBank_py.html | 366 ++ .../databases_RAW.html | 57 + .../databases_RAW_py.html | 94 + .../databases_SPCTH.html | 48 + .../databases_SPCTH_py.html | 36 + .../databases_Velodyne.html | 88 + .../databases_Velodyne_py.html | 79 + .../databases_WData.html | 60 + .../databases_WData_py.html | 58 + .../databases_Xmdv.html | 66 + .../databases_Xmdv_py.html | 105 + .../databases_Xolotl.html | 90 + .../databases_Xolotl_py.html | 47 + .../databases_activesource.html | 80 + .../databases_activesource_py.html | 82 + .../databases_adios2.html | 45 + .../databases_adios2_py.html | 89 + .../databases_avsucd.html | 60 + .../databases_avsucd_py.html | 41 + .../databases_blueprint.html | 2907 +++++++++++++++ .../databases_blueprint_axom_klee.html | 144 + .../databases_blueprint_axom_klee_py.html | 151 + .../databases_blueprint_export.html | 551 +++ .../databases_blueprint_export_py.html | 504 +++ .../databases_blueprint_py.html | 761 ++++ .../databases_bov.html | 441 +++ .../databases_bov_py.html | 205 ++ .../databases_boxlib.html | 88 + .../databases_boxlib_py.html | 119 + .../databases_chgcar.html | 128 + .../databases_chgcar_py.html | 156 + .../databases_claw.html | 54 + .../databases_claw_py.html | 65 + .../databases_closedatabase.html | 94 + .../databases_closedatabase_py.html | 108 + .../databases_correlation.html | 510 +++ .../databases_correlation_py.html | 215 ++ .../databases_curve.html | 62 + .../databases_curve_py.html | 53 + .../databases_ddcMD.html | 181 + .../databases_ddcMD_py.html | 112 + .../databases_empty_db.html | 40 + .../databases_empty_db_py.html | 28 + .../databases_exodus.html | 244 ++ .../databases_exodus_py.html | 272 ++ .../databases_export_db.html | 526 +++ .../databases_export_db_py.html | 611 +++ .../databases_ffp.html | 60 + .../databases_ffp_py.html | 260 ++ .../databases_flash.html | 42 + .../databases_flash_py.html | 46 + .../databases_global_node_ids.html | 96 + .../databases_global_node_ids_py.html | 91 + .../databases_h5part.html | 60 + .../databases_h5part_py.html | 64 + .../databases_history.html | 48 + .../databases_history_py.html | 47 + .../databases_image.html | 60 + .../databases_image_py.html | 90 + .../databases_imgvol.html | 78 + .../databases_imgvol_py.html | 67 + .../databases_kulllite.html | 90 + .../databases_kulllite_py.html | 89 + .../databases_lata.html | 136 + .../databases_lata_py.html | 134 + .../databases_leos.html | 68 + .../databases_leos_py.html | 86 + .../databases_lines.html | 62 + .../databases_lines_py.html | 79 + .../databases_metadata.html | 200 + .../databases_metadata_py.html | 112 + .../databases_mfem.html | 2068 +++++++++++ .../databases_mfem_py.html | 265 ++ .../databases_mili.html | 360 ++ .../databases_mili_py.html | 473 +++ .../databases_miranda.html | 108 + .../databases_miranda_py.html | 156 + .../databases_moab.html | 62 + .../databases_moab_py.html | 61 + .../databases_multi_format.html | 60 + .../databases_multi_format2.html | 42 + .../databases_multi_format2_py.html | 53 + .../databases_multi_format_py.html | 66 + .../databases_netcdf.html | 212 ++ .../databases_netcdf_py.html | 425 +++ .../databases_obj.html | 126 + .../databases_obj_py.html | 85 + .../databases_oldsilo.html | 50 + .../databases_oldsilo_py.html | 38 + .../databases_openPMD.html | 47 + .../databases_openPMD_py.html | 40 + .../databases_openexr.html | 78 + .../databases_openexr_py.html | 54 + .../databases_overlink.html | 108 + .../databases_overlink_py.html | 152 + .../databases_pdbdatabase.html | 348 ++ .../databases_pdbdatabase_py.html | 247 ++ .../databases_pixie.html | 98 + .../databases_pixie_py.html | 161 + .../databases_plaintext.html | 72 + .../databases_plaintext_py.html | 234 ++ .../databases_rect.html | 99 + .../databases_rect_py.html | 98 + .../databases_reopen.html | 261 ++ .../databases_reopen_py.html | 550 +++ .../databases_sami.html | 78 + .../databases_sami_py.html | 80 + .../databases_samrai.html | 294 ++ .../databases_samrai_py.html | 413 +++ .../databases_scale_mesh.html | 42 + .../databases_scale_mesh_py.html | 28 + .../databases_shapefile.html | 189 + .../databases_shapefile_py.html | 236 ++ .../databases_silo.html | 707 ++++ .../databases_silo_altdriver.html | 705 ++++ .../databases_silo_altdriver_py.html | 21 + .../databases_silo_datatypes.html | 79 + .../databases_silo_datatypes_py.html | 152 + .../databases_silo_py.html | 764 ++++ .../databases_singlemulti.html | 76 + .../databases_singlemulti_py.html | 116 + .../databases_sw4.html | 48 + .../databases_sw4_py.html | 50 + .../databases_tecplot.html | 200 + .../databases_tecplot_py.html | 323 ++ .../databases_timesliders.html | 256 ++ .../databases_timesliders_py.html | 247 ++ .../databases_uintah.html | 79 + .../databases_uintah_py.html | 66 + .../databases_unv.html | 74 + .../databases_unv_py.html | 175 + .../databases_vtk.html | 441 +++ .../databases_vtk_py.html | 474 +++ .../databases_wave_tv.html | 62 + .../databases_wave_tv_py.html | 88 + .../databases_xdmf.html | 340 ++ .../databases_xdmf_py.html | 436 +++ .../databases_xform_precision.html | 72 + .../databases_xform_precision_py.html | 86 + .../databases_xyz.html | 76 + .../databases_xyz_py.html | 81 + .../expressions_ghost_zoneid_expr.html | 58 + .../expressions_ghost_zoneid_expr_py.html | 46 + .../expressions_tensor_expr.html | 194 + .../expressions_tensor_expr_py.html | 262 ++ .../faulttolerance_badfile.html | 40 + .../faulttolerance_badfile_py.html | 34 + .../faulttolerance_checkmode.html | 60 + .../faulttolerance_checkmode_py.html | 111 + .../faulttolerance_savewindow.html | 40 + .../faulttolerance_savewindow_py.html | 57 + .../hybrid_cinema-a.html | 108 + .../hybrid_cinema-a_py.html | 214 ++ .../hybrid_cinema-c.html | 210 ++ .../hybrid_cinema-c_py.html | 258 ++ .../hybrid_cleanzonesonly.html | 120 + .../hybrid_cleanzonesonly_py.html | 135 + .../hybrid_clonefirstref.html | 72 + .../hybrid_clonefirstref_py.html | 62 + .../hybrid_conditional.html | 72 + .../hybrid_conditional_py.html | 96 + .../hybrid_conn_cmfe.html | 102 + .../hybrid_conn_cmfe_py.html | 138 + .../hybrid_coord_expr.html | 84 + .../hybrid_coord_expr_py.html | 65 + .../hybrid_curve_anim.html | 76 + .../hybrid_curve_anim_py.html | 77 + .../hybrid_curve_expressions.html | 63 + .../hybrid_curve_expressions_py.html | 50 + .../hybrid_cylindrical_radius.html | 96 + .../hybrid_cylindrical_radius_py.html | 232 ++ .../hybrid_ddf.html | 77 + .../hybrid_ddf_py.html | 172 + .../hybrid_defvar_anim.html | 54 + .../hybrid_defvar_anim_py.html | 61 + .../hybrid_expr2engine.html | 56 + .../hybrid_expr2engine_py.html | 67 + .../hybrid_exprList.html | 56 + .../hybrid_exprList_py.html | 65 + .../hybrid_expr_cmfe.html | 66 + .../hybrid_expr_cmfe_py.html | 66 + .../hybrid_expressions.html | 304 ++ .../hybrid_expressions_py.html | 464 +++ .../hybrid_field_operators.html | 144 + .../hybrid_field_operators_py.html | 258 ++ .../hybrid_ghost_node.html | 44 + .../hybrid_ghost_node_py.html | 45 + .../hybrid_image_proc.html | 54 + .../hybrid_image_proc_py.html | 34 + .../hybrid_keyframe.html | 501 +++ .../hybrid_keyframe_py.html | 544 +++ .../hybrid_lambda2.html | 54 + .../hybrid_lambda2_py.html | 53 + .../hybrid_lineout.html | 251 ++ .../hybrid_lineout_py.html | 661 ++++ .../hybrid_locktime.html | 124 + .../hybrid_locktime_py.html | 125 + .../hybrid_locus.html | 36 + .../hybrid_locus_py.html | 148 + .../hybrid_math_expr.html | 60 + .../hybrid_math_expr_py.html | 44 + .../hybrid_matsel.html | 54 + .../hybrid_matsel_py.html | 96 + .../hybrid_matvf.html | 120 + .../hybrid_matvf_py.html | 249 ++ .../hybrid_merge_tree.html | 108 + .../hybrid_merge_tree_py.html | 64 + .../hybrid_mesh_quality.html | 95 + .../hybrid_mesh_quality_py.html | 160 + .../hybrid_mir.html | 168 + .../hybrid_mir_cache.html | 48 + .../hybrid_mir_cache_py.html | 65 + .../hybrid_mir_py.html | 73 + .../hybrid_missingdata.html | 100 + .../hybrid_missingdata_py.html | 72 + .../hybrid_multivar.html | 60 + .../hybrid_multivar_py.html | 108 + .../hybrid_pos_cmfe.html | 108 + .../hybrid_pos_cmfe_py.html | 149 + .../hybrid_py_exprs.html | 78 + .../hybrid_py_exprs_py.html | 106 + .../hybrid_qcrit.html | 54 + .../hybrid_qcrit_py.html | 54 + .../hybrid_replace.html | 72 + .../hybrid_replace_py.html | 97 + .../hybrid_sil.html | 70 + .../hybrid_sil_py.html | 87 + .../hybrid_simplify_mixed.html | 74 + .../hybrid_simplify_mixed_py.html | 90 + .../hybrid_specmf.html | 48 + .../hybrid_specmf_py.html | 42 + .../hybrid_symm.html | 100 + .../hybrid_symm_py.html | 114 + .../hybrid_time_cmfe.html | 108 + .../hybrid_time_cmfe_py.html | 93 + .../hybrid_time_deriv_cmfe.html | 54 + .../hybrid_time_deriv_cmfe_py.html | 35 + .../hybrid_time_iteration.html | 54 + .../hybrid_time_iteration_py.html | 41 + .../hybrid_timelock.html | 189 + .../hybrid_timelock_py.html | 374 ++ .../hybrid_val4mat.html | 66 + .../hybrid_val4mat_py.html | 76 + .../hybrid_vtkm.html | 372 ++ .../hybrid_vtkm_py.html | 779 ++++ .../index.html | 2416 ++++++++++++ .../js/jquery-3.6.1.min.js | 2 + .../js/jquery.tablesorter.js | 1046 ++++++ .../js/purl.js | 271 ++ .../meshtype_arbpoly.html | 90 + .../meshtype_arbpoly_py.html | 124 + .../meshtype_csg.html | 80 + .../meshtype_csg_py.html | 177 + .../meshtype_degen_mesh.html | 84 + .../meshtype_degen_mesh_py.html | 260 ++ .../meshtype_emptydomains.html | 104 + .../meshtype_emptydomains_py.html | 132 + .../meshtype_globe.html | 72 + .../meshtype_globe_py.html | 85 + .../meshtype_point.html | 142 + .../meshtype_point_py.html | 174 + .../meshtype_rect3d.html | 52 + .../meshtype_rect3d_py.html | 80 + .../missingdata_0_04.html | 66 + .../operatorsVsInstall.html | 51 + .../operators_amr_stitch.html | 84 + .../operators_amr_stitch_py.html | 49 + .../operators_box.html | 84 + .../operators_box_py.html | 155 + .../operators_cart_proj.html | 64 + .../operators_cart_proj_py.html | 60 + .../operators_clip.html | 180 + .../operators_clip_py.html | 143 + .../operators_cracksclipper.html | 72 + .../operators_cracksclipper_py.html | 54 + .../operators_defer_expr.html | 114 + .../operators_defer_expr_py.html | 248 ++ .../operators_displace.html | 94 + .../operators_displace_py.html | 129 + .../operators_dual_mesh.html | 114 + .../operators_dual_mesh_py.html | 111 + .../operators_elevate.html | 132 + .../operators_elevate_py.html | 164 + .../operators_ex_surf.html | 56 + .../operators_ex_surf_py.html | 51 + .../operators_explode.html | 184 + .../operators_explode_py.html | 580 +++ .../operators_extrudeStacked.html | 339 ++ .../operators_extrudeStacked_py.html | 283 ++ .../operators_ic_geometry.html | 166 + .../operators_ic_geometry_py.html | 379 ++ .../operators_ic_integration.html | 106 + .../operators_ic_integration_py.html | 115 + .../operators_ic_pathlines.html | 86 + .../operators_ic_pathlines_py.html | 160 + .../operators_ic_pics.html | 1392 +++++++ .../operators_ic_pics_py.html | 114 + .../operators_ic_streamlines.html | 110 + .../operators_ic_streamlines_py.html | 220 ++ .../operators_ic_termination.html | 84 + .../operators_ic_termination_py.html | 91 + .../operators_indexselect.html | 273 ++ .../operators_indexselect_py.html | 621 ++++ .../operators_inverse_ghost_zone.html | 74 + .../operators_inverse_ghost_zone_py.html | 76 + .../operators_isovolume.html | 78 + .../operators_isovolume_py.html | 160 + .../operators_lcs.html | 149 + .../operators_lcs_ic_1.html | 66 + .../operators_lcs_ic_1_py.html | 17 + .../operators_lcs_lc_1.html | 66 + .../operators_lcs_lc_1_py.html | 17 + .../operators_lcs_py.html | 182 + .../operators_moveoperators.html | 120 + .../operators_moveoperators_py.html | 226 ++ .../operators_multires.html | 48 + .../operators_multires_py.html | 34 + .../operators_onionpeel.html | 486 +++ .../operators_onionpeel_py.html | 643 ++++ .../operators_operators.html | 78 + .../operators_operators_py.html | 141 + .../operators_persistent_particles.html | 72 + .../operators_persistent_particles_py.html | 173 + .../operators_radial_resample.html | 60 + .../operators_radial_resample_py.html | 135 + .../operators_reflect.html | 152 + .../operators_reflect_py.html | 345 ++ .../operators_remap.html | 264 ++ .../operators_remap_py.html | 133 + .../operators_resample.html | 74 + .../operators_resample_py.html | 124 + .../operators_revolve.html | 42 + .../operators_revolve_py.html | 35 + .../operators_slice.html | 297 ++ .../operators_slice_py.html | 590 +++ .../operators_sph_resample.html | 44 + .../operators_sph_resample_py.html | 51 + .../operators_tessellate.html | 168 + .../operators_tessellate_py.html | 286 ++ .../operators_threeslice.html | 54 + .../operators_threeslice_py.html | 49 + .../operators_threshold.html | 108 + .../operators_threshold_py.html | 275 ++ .../operators_transform.html | 100 + .../operators_transform_py.html | 228 ++ .../operators_tube.html | 72 + .../operators_tube_py.html | 64 + .../plotsVsInstall.html | 46 + .../plots_contour.html | 262 ++ .../plots_contour_py.html | 183 + .../plots_curve.html | 361 ++ .../plots_curve_py.html | 488 +++ .../plots_filledboundary.html | 86 + .../plots_filledboundary_py.html | 110 + .../plots_label.html | 550 +++ .../plots_label_py.html | 1005 +++++ .../plots_mesh.html | 251 ++ .../plots_mesh_c.html | 251 ++ .../plots_mesh_c_py.html | 21 + .../plots_mesh_py.html | 446 +++ .../plots_molecule.html | 123 + .../plots_molecule_py.html | 242 ++ .../plots_multicolor.html | 207 ++ .../plots_multicolor_py.html | 229 ++ .../plots_parcoords.html | 129 + .../plots_parcoords_py.html | 196 + .../plots_pseudocolor.html | 431 +++ .../plots_pseudocolor_py.html | 556 +++ .../plots_ray_trace.html | 112 + .../plots_ray_trace_py.html | 220 ++ .../plots_scatter.html | 209 ++ .../plots_scatter_py.html | 343 ++ .../plots_singlecolor.html | 60 + .../plots_singlecolor_py.html | 77 + .../plots_subset.html | 139 + .../plots_subset_py.html | 190 + .../plots_surface.html | 96 + .../plots_surface_py.html | 101 + .../plots_tensor.html | 84 + .../plots_tensor_py.html | 161 + .../plots_truecolor.html | 42 + .../plots_truecolor_py.html | 21 + .../plots_vector.html | 158 + .../plots_vector_py.html | 244 ++ .../plots_volumePlot.html | 227 ++ .../plots_volumePlot_py.html | 665 ++++ .../plugins_databasesVsInstall.html | 40 + .../plugins_databasesVsInstall_py.html | 31 + .../plugins_operatorsVsInstall.html | 40 + .../plugins_operatorsVsInstall_py.html | 29 + .../plugins_plotsVsInstall.html | 40 + .../plugins_plotsVsInstall_py.html | 23 + .../queries_avg_value.html | 58 + .../queries_avg_value_py.html | 63 + .../queries_bestfitline.html | 100 + .../queries_bestfitline_py.html | 204 + .../queries_casetest.html | 40 + .../queries_casetest_py.html | 69 + .../queries_centroid.html | 88 + .../queries_centroid_py.html | 130 + .../queries_conncomp.html | 162 + .../queries_conncomp_py.html | 240 ++ .../queries_consistencyChecks.html | 64 + .../queries_consistencyChecks_py.html | 114 + .../queries_curvature.html | 54 + .../queries_curvature_py.html | 63 + .../queries_database.html | 100 + .../queries_database_py.html | 1083 ++++++ .../queries_error_queries.html | 100 + .../queries_error_queries_py.html | 89 + .../queries_flatten.html | 1605 ++++++++ .../queries_flatten_py.html | 349 ++ .../queries_gridinformation.html | 56 + .../queries_gridinformation_py.html | 43 + .../queries_hohlraum.html | 90 + .../queries_hohlraum_py.html | 112 + .../queries_kurtosis.html | 60 + .../queries_kurtosis_py.html | 49 + .../queries_l2norm.html | 56 + .../queries_l2norm_py.html | 107 + .../queries_length.html | 50 + .../queries_length_py.html | 58 + .../queries_line_scan.html | 474 +++ .../queries_line_scan_py.html | 203 + .../queries_pick.html | 284 ++ .../queries_pickNamedArgs.html | 74 + .../queries_pickNamedArgs_py.html | 227 ++ .../queries_pick_py.html | 3268 +++++++++++++++++ .../queries_pickarray.html | 96 + .../queries_pickarray_py.html | 137 + .../queries_pickcleanzonesonly.html | 48 + .../queries_pickcleanzonesonly_py.html | 57 + .../queries_py_queries.html | 44 + .../queries_py_queries_py.html | 40 + .../queries_queriesOverTime.html | 324 ++ .../queries_queriesOverTime_py.html | 1065 ++++++ .../queries_queryMultiWindow.html | 40 + .../queries_queryMultiWindow_py.html | 154 + .../queries_revolved_surface_area.html | 56 + .../queries_revolved_surface_area_py.html | 85 + .../queries_scf.html | 96 + .../queries_scf_py.html | 150 + .../queries_surface_area_over_time.html | 66 + .../queries_surface_area_over_time_py.html | 144 + .../queries_variable_sum_volume.html | 68 + .../queries_variable_sum_volume_py.html | 69 + .../queries_watertight.html | 44 + .../queries_watertight_py.html | 40 + .../queries_xrayimage.html | 1910 ++++++++++ .../queries_xrayimage_py.html | 1337 +++++++ .../quickrecipes_cl_args.html | 44 + .../quickrecipes_cl_args_py.html | 30 + .../quickrecipes_colortables.html | 72 + .../quickrecipes_colortables_py.html | 217 ++ .../quickrecipes_expressions.html | 42 + .../quickrecipes_expressions_py.html | 62 + .../quickrecipes_operators.html | 52 + .../quickrecipes_operators_py.html | 80 + .../quickrecipes_quantitative_operations.html | 116 + ...ickrecipes_quantitative_operations_py.html | 219 ++ .../quickrecipes_saving_images.html | 52 + .../quickrecipes_saving_images_py.html | 56 + .../quickrecipes_subsetting.html | 52 + .../quickrecipes_subsetting_py.html | 67 + .../quickrecipes_view.html | 60 + .../quickrecipes_view_py.html | 159 + ...quickrecipes_working_with_annotations.html | 76 + ...ckrecipes_working_with_annotations_py.html | 195 + .../quickrecipes_working_with_dbs.html | 68 + .../quickrecipes_working_with_dbs_py.html | 78 + .../quickrecipes_working_with_plots.html | 76 + .../quickrecipes_working_with_plots_py.html | 196 + .../rendering_annotation.html | 294 ++ .../rendering_annotation_py.html | 464 +++ .../rendering_axislabels.html | 150 + .../rendering_axislabels_py.html | 141 + .../rendering_axistitles.html | 120 + .../rendering_axistitles_py.html | 170 + .../rendering_bigdata.html | 56 + .../rendering_bigdata_py.html | 36 + .../rendering_colortexture.html | 66 + .../rendering_colortexture_py.html | 86 + .../rendering_compositing.html | 44 + .../rendering_compositing_py.html | 40 + .../rendering_evalcubic.html | 66 + .../rendering_evalcubic_py.html | 123 + .../rendering_image.html | 54 + .../rendering_image_py.html | 46 + .../rendering_legends.html | 437 +++ .../rendering_legends_py.html | 597 +++ .../rendering_lighting.html | 54 + .../rendering_lighting_py.html | 113 + .../rendering_line2d.html | 102 + .../rendering_line2d_py.html | 101 + .../rendering_line3d.html | 114 + .../rendering_line3d_py.html | 104 + .../rendering_offscreensave.html | 106 + .../rendering_offscreensave_py.html | 177 + .../rendering_pixeldata.html | 186 + .../rendering_pixeldata_py.html | 215 ++ .../rendering_renderpoints.html | 444 +++ .../rendering_renderpoints_py.html | 347 ++ .../rendering_saveformats.html | 120 + .../rendering_saveformats_py.html | 272 ++ .../rendering_scalable.html | 117 + .../rendering_scalable2.html | 53 + .../rendering_scalable2_py.html | 113 + .../rendering_scalable_c.html | 117 + .../rendering_scalable_c_py.html | 21 + .../rendering_scalable_py.html | 392 ++ .../rendering_shadows.html | 54 + .../rendering_shadows_py.html | 55 + .../rendering_specular.html | 102 + .../rendering_specular_py.html | 124 + .../rendering_text2d.html | 108 + .../rendering_text2d_py.html | 123 + .../rendering_text3d.html | 104 + .../rendering_text3d_py.html | 103 + .../rendering_timeslider.html | 174 + .../rendering_timeslider_py.html | 162 + .../rendering_view.html | 251 ++ .../rendering_viewChange.html | 222 ++ .../rendering_viewChange_py.html | 450 +++ .../rendering_view_py.html | 382 ++ .../rendering_volume.html | 58 + .../rendering_volume_py.html | 95 + .../session_colortable.html | 42 + .../session_colortable_py.html | 34 + .../session_correlationsession.html | 94 + .../session_correlationsession_py.html | 95 + .../session_legendproperties.html | 50 + .../session_legendproperties_py.html | 48 + .../session_rect3d-contour.html | 44 + .../session_rect3d-contour_py.html | 25 + .../session_restorewithsources.html | 48 + .../session_restorewithsources_py.html | 42 + .../session_selection.html | 42 + .../session_selection_py.html | 29 + .../session_sessionexpression.html | 42 + .../session_sessionexpression_py.html | 27 + .../session_sessionview.html | 66 + .../session_sessionview_py.html | 55 + .../session_textannot.html | 66 + .../session_textannot_py.html | 38 + .../session_view3d.html | 42 + .../session_view3d_py.html | 29 + .../session_wavecontour.html | 42 + .../session_wavecontour_py.html | 29 + .../simulation_amr.html | 72 + .../simulation_amr_py.html | 58 + .../simulation_aresamr.html | 62 + .../simulation_aresamr_py.html | 48 + .../simulation_batch.html | 426 +++ .../simulation_batch_py.html | 393 ++ .../simulation_csg.html | 114 + .../simulation_csg_py.html | 64 + .../simulation_curve.html | 66 + .../simulation_curve_py.html | 61 + .../simulation_domainbounds.html | 56 + .../simulation_domainbounds_py.html | 47 + .../simulation_domainlist.html | 108 + .../simulation_domainlist_py.html | 125 + .../simulation_ghostcells.html | 194 + .../simulation_ghostcells_py.html | 84 + .../simulation_globalids.html | 196 + .../simulation_globalids_py.html | 218 ++ .../simulation_interleave.html | 188 + .../simulation_interleave_py.html | 86 + .../simulation_life.html | 58 + .../simulation_life_py.html | 43 + .../simulation_mandelbrot.html | 78 + .../simulation_mandelbrot_py.html | 77 + .../simulation_material.html | 62 + .../simulation_material_py.html | 59 + .../simulation_materialvar.html | 124 + .../simulation_materialvar_py.html | 58 + .../simulation_mesh.html | 62 + .../simulation_mesh_py.html | 53 + .../simulation_multiblock.html | 76 + .../simulation_multiblock_py.html | 56 + .../simulation_point.html | 92 + .../simulation_point_py.html | 79 + .../simulation_polyhedral.html | 68 + .../simulation_polyhedral_py.html | 64 + .../simulation_scalar.html | 58 + .../simulation_scalar_py.html | 57 + .../simulation_species.html | 137 + .../simulation_species_py.html | 83 + .../simulation_ucdcurve.html | 66 + .../simulation_ucdcurve_py.html | 72 + .../simulation_unstructured.html | 50 + .../simulation_unstructured_py.html | 44 + .../simulation_updateplots.html | 90 + .../simulation_updateplots_py.html | 89 + .../simulation_updateplots_session.html | 99 + .../simulation_updateplots_session_py.html | 88 + .../simulation_var.html | 58 + .../simulation_var_py.html | 62 + .../simulation_zerocopy.html | 285 ++ .../simulation_zerocopy_py.html | 178 + .../unit_annotation_objects.html | 44 + .../unit_annotation_objects_py.html | 30 + .../unit_atts_assign.html | 1806 +++++++++ .../unit_atts_assign_py.html | 1193 ++++++ .../unit_compiler_warnings.html | 36 + .../unit_compiler_warnings_py.html | 213 ++ .../unit_convert2to3.html | 44 + .../unit_convert2to3_py.html | 34 + .../unit_default_methods.html | 84 + .../unit_default_methods_py.html | 58 + .../unit_launcher.html | 120 + .../unit_launcher_py.html | 196 + .../unit_mrucache.html | 40 + .../unit_mrucache_py.html | 24 + .../unit_namescheme.html | 36 + .../unit_namescheme_py.html | 27 + .../unit_protocol.html | 36 + .../unit_protocol_py.html | 17 + .../unit_stringhelpers.html | 36 + .../unit_stringhelpers_py.html | 26 + .../unit_test_value_simple.html | 120 + .../unit_test_value_simple_py.html | 56 + .../unit_utility.html | 36 + .../unit_utility_py.html | 27 + .../zerocopy02.html | 31 + .../pascal_trunk_serial/Pick2D.html | 1706 +++++++++ .../pascal_trunk_serial/Pick3DTo2D.html | 2126 +++++++++++ .../pascal_trunk_serial/PickAMR.html | 1271 +++++++ .../pascal_trunk_serial/PickBox.html | 546 +++ .../pascal_trunk_serial/PickIndexSelect.html | 1026 ++++++ .../pascal_trunk_serial/PickSamrai_01.html | 1426 +++++++ .../pascal_trunk_serial/PickSamrai_05.html | 676 ++++ .../pascal_trunk_serial/avg_value_02.html | 31 + .../pascal_trunk_serial/c_bigdata_01.png | Bin 0 -> 929 bytes .../c_bigdata_01_thumb.png | Bin 0 -> 405 bytes ...l_rectilinear.root_plot_revolved_to_3D.png | Bin 0 -> 2643 bytes ...ilinear.root_plot_revolved_to_3D_thumb.png | Bin 0 -> 2432 bytes ...z_cyl_uniform.root_plot_revolved_to_3D.png | Bin 0 -> 911 bytes ...uniform.root_plot_revolved_to_3D_thumb.png | Bin 0 -> 289 bytes .../pascal_trunk_serial/c_legends_07.png | Bin 0 -> 22961 bytes .../c_legends_07_thumb.png | Bin 0 -> 5243 bytes .../pascal_trunk_serial/c_ops_cart_proj_1.png | Bin 0 -> 10286 bytes .../c_ops_cart_proj_1_thumb.png | Bin 0 -> 2620 bytes .../pascal_trunk_serial/c_ops_cart_proj_3.png | Bin 0 -> 13831 bytes .../c_ops_cart_proj_3_thumb.png | Bin 0 -> 3924 bytes .../c_ops_dualmesh_mesh_plot_2d_01.png | Bin 0 -> 1507 bytes .../c_ops_dualmesh_mesh_plot_2d_01_thumb.png | Bin 0 -> 545 bytes .../pascal_trunk_serial/c_pixeldata_0_05.png | Bin 0 -> 61695 bytes .../c_pixeldata_0_05_thumb.png | Bin 0 -> 15071 bytes .../pascal_trunk_serial/c_pixeldata_0_07.png | Bin 0 -> 63897 bytes .../c_pixeldata_0_07_thumb.png | Bin 0 -> 16944 bytes .../pascal_trunk_serial/c_pixeldata_0_08.png | Bin 0 -> 911 bytes .../c_pixeldata_0_08_thumb.png | Bin 0 -> 289 bytes .../pascal_trunk_serial/c_pixeldata_0_09.png | Bin 0 -> 82043 bytes .../c_pixeldata_0_09_thumb.png | Bin 0 -> 15245 bytes .../pascal_trunk_serial/c_pixeldata_0_10.png | Bin 0 -> 911 bytes .../c_pixeldata_0_10_thumb.png | Bin 0 -> 289 bytes .../pascal_trunk_serial/c_pixeldata_0_11.png | Bin 0 -> 85818 bytes .../c_pixeldata_0_11_thumb.png | Bin 0 -> 17182 bytes .../c_volumeOpacity_05.png | Bin 0 -> 1926 bytes .../c_volumeOpacity_05_thumb.png | Bin 0 -> 793 bytes .../pascal_trunk_serial/c_volume_01.png | Bin 0 -> 127840 bytes .../pascal_trunk_serial/c_volume_01_thumb.png | Bin 0 -> 16496 bytes .../pascal_trunk_serial/c_volume_02.png | Bin 0 -> 127840 bytes .../pascal_trunk_serial/c_volume_02_thumb.png | Bin 0 -> 16496 bytes .../pascal_trunk_serial/css/styles.css | 96 + .../pascal_trunk_serial/d_bigdata_01.png | Bin 0 -> 533 bytes .../d_bigdata_01_thumb.png | Bin 0 -> 188 bytes ...l_rectilinear.root_plot_revolved_to_3D.png | Bin 0 -> 1269 bytes ...ilinear.root_plot_revolved_to_3D_thumb.png | Bin 0 -> 765 bytes ...z_cyl_uniform.root_plot_revolved_to_3D.png | Bin 0 -> 1269 bytes ...uniform.root_plot_revolved_to_3D_thumb.png | Bin 0 -> 765 bytes .../pascal_trunk_serial/d_legends_07.png | Bin 0 -> 1393 bytes .../d_legends_07_thumb.png | Bin 0 -> 928 bytes .../pascal_trunk_serial/d_ops_cart_proj_1.png | Bin 0 -> 2372 bytes .../d_ops_cart_proj_1_thumb.png | Bin 0 -> 1710 bytes .../pascal_trunk_serial/d_ops_cart_proj_3.png | Bin 0 -> 1887 bytes .../d_ops_cart_proj_3_thumb.png | Bin 0 -> 1411 bytes .../d_ops_dualmesh_mesh_plot_2d_01.png | Bin 0 -> 353 bytes .../d_ops_dualmesh_mesh_plot_2d_01_thumb.png | Bin 0 -> 229 bytes .../pascal_trunk_serial/d_pixeldata_0_05.png | Bin 0 -> 2715 bytes .../d_pixeldata_0_05_thumb.png | Bin 0 -> 2068 bytes .../pascal_trunk_serial/d_pixeldata_0_07.png | Bin 0 -> 2914 bytes .../d_pixeldata_0_07_thumb.png | Bin 0 -> 2371 bytes .../pascal_trunk_serial/d_pixeldata_0_08.png | Bin 0 -> 2030 bytes .../d_pixeldata_0_08_thumb.png | Bin 0 -> 1439 bytes .../pascal_trunk_serial/d_pixeldata_0_09.png | Bin 0 -> 1738 bytes .../d_pixeldata_0_09_thumb.png | Bin 0 -> 1168 bytes .../pascal_trunk_serial/d_pixeldata_0_10.png | Bin 0 -> 2663 bytes .../d_pixeldata_0_10_thumb.png | Bin 0 -> 2057 bytes .../pascal_trunk_serial/d_pixeldata_0_11.png | Bin 0 -> 2696 bytes .../d_pixeldata_0_11_thumb.png | Bin 0 -> 2272 bytes .../d_volumeOpacity_05.png | Bin 0 -> 1247 bytes .../d_volumeOpacity_05_thumb.png | Bin 0 -> 740 bytes .../pascal_trunk_serial/d_volume_01.png | Bin 0 -> 1254 bytes .../pascal_trunk_serial/d_volume_01_thumb.png | Bin 0 -> 522 bytes .../pascal_trunk_serial/d_volume_02.png | Bin 0 -> 1254 bytes .../pascal_trunk_serial/d_volume_02_thumb.png | Bin 0 -> 522 bytes .../databasesVsInstall.html | 86 + .../databases_ANALYZE.html | 84 + .../databases_ANALYZE_py.html | 113 + .../pascal_trunk_serial/databases_ANSYS.html | 108 + .../databases_ANSYS_py.html | 217 ++ .../pascal_trunk_serial/databases_CGNS.html | 204 + .../databases_CGNS_py.html | 389 ++ .../pascal_trunk_serial/databases_Cale.html | 69 + .../databases_Cale_py.html | 65 + .../pascal_trunk_serial/databases_Chombo.html | 73 + .../databases_Chombo_py.html | 101 + .../databases_EnSight.html | 102 + .../databases_EnSight_py.html | 84 + .../pascal_trunk_serial/databases_FITS.html | 87 + .../databases_FITS_py.html | 124 + .../pascal_trunk_serial/databases_FMS.html | 1156 ++++++ .../pascal_trunk_serial/databases_FMS_py.html | 590 +++ .../pascal_trunk_serial/databases_Fluent.html | 60 + .../databases_Fluent_py.html | 43 + .../pascal_trunk_serial/databases_GDAL.html | 36 + .../databases_GDAL_py.html | 107 + .../databases_NASTRAN.html | 204 + .../databases_NASTRAN_py.html | 511 +++ .../databases_OpenFOAM.html | 210 ++ .../databases_OpenFOAM_py.html | 250 ++ .../pascal_trunk_serial/databases_PATRAN.html | 120 + .../databases_PATRAN_py.html | 242 ++ .../pascal_trunk_serial/databases_PLOT3D.html | 650 ++++ .../databases_PLOT3D_py.html | 217 ++ .../databases_ProteinDataBank.html | 252 ++ .../databases_ProteinDataBank_py.html | 366 ++ .../pascal_trunk_serial/databases_RAW.html | 57 + .../pascal_trunk_serial/databases_RAW_py.html | 94 + .../pascal_trunk_serial/databases_SPCTH.html | 48 + .../databases_SPCTH_py.html | 36 + .../databases_Velodyne.html | 88 + .../databases_Velodyne_py.html | 79 + .../pascal_trunk_serial/databases_WData.html | 60 + .../databases_WData_py.html | 58 + .../pascal_trunk_serial/databases_Xmdv.html | 66 + .../databases_Xmdv_py.html | 105 + .../pascal_trunk_serial/databases_Xolotl.html | 90 + .../databases_Xolotl_py.html | 47 + .../databases_activesource.html | 80 + .../databases_activesource_py.html | 82 + .../pascal_trunk_serial/databases_adios2.html | 45 + .../databases_adios2_py.html | 89 + .../pascal_trunk_serial/databases_avsucd.html | 60 + .../databases_avsucd_py.html | 41 + .../databases_blueprint.html | 2819 ++++++++++++++ .../databases_blueprint_axom_klee.html | 144 + .../databases_blueprint_axom_klee_py.html | 151 + .../databases_blueprint_export.html | 539 +++ .../databases_blueprint_export_py.html | 504 +++ .../databases_blueprint_py.html | 761 ++++ .../pascal_trunk_serial/databases_bov.html | 423 +++ .../pascal_trunk_serial/databases_bov_py.html | 205 ++ .../pascal_trunk_serial/databases_boxlib.html | 80 + .../databases_boxlib_py.html | 119 + .../pascal_trunk_serial/databases_chgcar.html | 120 + .../databases_chgcar_py.html | 156 + .../pascal_trunk_serial/databases_claw.html | 54 + .../databases_claw_py.html | 65 + .../databases_closedatabase.html | 94 + .../databases_closedatabase_py.html | 108 + .../databases_correlation.html | 510 +++ .../databases_correlation_py.html | 215 ++ .../pascal_trunk_serial/databases_curve.html | 60 + .../databases_curve_py.html | 53 + .../pascal_trunk_serial/databases_ddcMD.html | 159 + .../databases_ddcMD_py.html | 112 + .../databases_empty_db.html | 40 + .../databases_empty_db_py.html | 28 + .../pascal_trunk_serial/databases_exodus.html | 238 ++ .../databases_exodus_py.html | 272 ++ .../databases_export_db.html | 299 ++ .../databases_export_db_py.html | 611 +++ .../pascal_trunk_serial/databases_ffp.html | 60 + .../pascal_trunk_serial/databases_ffp_py.html | 260 ++ .../pascal_trunk_serial/databases_flash.html | 42 + .../databases_flash_py.html | 46 + .../databases_global_node_ids.html | 96 + .../databases_global_node_ids_py.html | 91 + .../pascal_trunk_serial/databases_h5part.html | 60 + .../databases_h5part_py.html | 64 + .../databases_history.html | 48 + .../databases_history_py.html | 47 + .../pascal_trunk_serial/databases_image.html | 60 + .../databases_image_py.html | 90 + .../pascal_trunk_serial/databases_imgvol.html | 78 + .../databases_imgvol_py.html | 67 + .../databases_kulllite.html | 84 + .../databases_kulllite_py.html | 89 + .../pascal_trunk_serial/databases_lata.html | 126 + .../databases_lata_py.html | 134 + .../pascal_trunk_serial/databases_leos.html | 66 + .../databases_leos_py.html | 86 + .../pascal_trunk_serial/databases_lines.html | 62 + .../databases_lines_py.html | 79 + .../databases_metadata.html | 200 + .../databases_metadata_py.html | 112 + .../pascal_trunk_serial/databases_mfem.html | 1950 ++++++++++ .../databases_mfem_py.html | 265 ++ .../pascal_trunk_serial/databases_mili.html | 360 ++ .../databases_mili_py.html | 473 +++ .../databases_miranda.html | 108 + .../databases_miranda_py.html | 156 + .../pascal_trunk_serial/databases_moab.html | 60 + .../databases_moab_py.html | 61 + .../databases_multi_format.html | 60 + .../databases_multi_format2.html | 42 + .../databases_multi_format2_py.html | 53 + .../databases_multi_format_py.html | 66 + .../pascal_trunk_serial/databases_netcdf.html | 210 ++ .../databases_netcdf_py.html | 425 +++ .../pascal_trunk_serial/databases_obj.html | 126 + .../pascal_trunk_serial/databases_obj_py.html | 85 + .../databases_oldsilo.html | 48 + .../databases_oldsilo_py.html | 38 + .../databases_openPMD.html | 45 + .../databases_openPMD_py.html | 40 + .../databases_openexr.html | 78 + .../databases_openexr_py.html | 54 + .../databases_overlink.html | 108 + .../databases_overlink_py.html | 152 + .../databases_pdbdatabase.html | 348 ++ .../databases_pdbdatabase_py.html | 247 ++ .../pascal_trunk_serial/databases_pixie.html | 90 + .../databases_pixie_py.html | 161 + .../databases_plaintext.html | 72 + .../databases_plaintext_py.html | 234 ++ .../pascal_trunk_serial/databases_rect.html | 93 + .../databases_rect_py.html | 98 + .../pascal_trunk_serial/databases_reopen.html | 261 ++ .../databases_reopen_py.html | 550 +++ .../pascal_trunk_serial/databases_sami.html | 78 + .../databases_sami_py.html | 80 + .../pascal_trunk_serial/databases_samrai.html | 294 ++ .../databases_samrai_py.html | 413 +++ .../databases_scale_mesh.html | 42 + .../databases_scale_mesh_py.html | 28 + .../databases_shapefile.html | 183 + .../databases_shapefile_py.html | 236 ++ .../pascal_trunk_serial/databases_silo.html | 705 ++++ .../databases_silo_altdriver.html | 703 ++++ .../databases_silo_altdriver_py.html | 21 + .../databases_silo_datatypes.html | 79 + .../databases_silo_datatypes_py.html | 152 + .../databases_silo_py.html | 764 ++++ .../databases_singlemulti.html | 76 + .../databases_singlemulti_py.html | 116 + .../pascal_trunk_serial/databases_sw4.html | 48 + .../pascal_trunk_serial/databases_sw4_py.html | 50 + .../databases_tecplot.html | 192 + .../databases_tecplot_py.html | 323 ++ .../databases_timesliders.html | 256 ++ .../databases_timesliders_py.html | 247 ++ .../pascal_trunk_serial/databases_uintah.html | 79 + .../databases_uintah_py.html | 66 + .../pascal_trunk_serial/databases_unv.html | 72 + .../pascal_trunk_serial/databases_unv_py.html | 175 + .../pascal_trunk_serial/databases_vtk.html | 437 +++ .../pascal_trunk_serial/databases_vtk_py.html | 474 +++ .../databases_wave_tv.html | 62 + .../databases_wave_tv_py.html | 88 + .../pascal_trunk_serial/databases_xdmf.html | 330 ++ .../databases_xdmf_py.html | 436 +++ .../databases_xform_precision.html | 72 + .../databases_xform_precision_py.html | 86 + .../pascal_trunk_serial/databases_xyz.html | 76 + .../pascal_trunk_serial/databases_xyz_py.html | 81 + .../databases_zipwrapper.html | 78 + .../databases_zipwrapper_py.html | 90 + .../expressions_ghost_zoneid_expr.html | 58 + .../expressions_ghost_zoneid_expr_py.html | 46 + .../expressions_tensor_expr.html | 194 + .../expressions_tensor_expr_py.html | 262 ++ .../faulttolerance_badfile.html | 40 + .../faulttolerance_badfile_py.html | 34 + .../faulttolerance_checkmode.html | 60 + .../faulttolerance_checkmode_py.html | 111 + .../faulttolerance_savewindow.html | 40 + .../faulttolerance_savewindow_py.html | 57 + .../pascal_trunk_serial/hybrid_cinema-a.html | 108 + .../hybrid_cinema-a_py.html | 214 ++ .../pascal_trunk_serial/hybrid_cinema-c.html | 210 ++ .../hybrid_cinema-c_py.html | 258 ++ .../hybrid_cleanzonesonly.html | 120 + .../hybrid_cleanzonesonly_py.html | 135 + .../hybrid_clonefirstref.html | 72 + .../hybrid_clonefirstref_py.html | 62 + .../hybrid_conditional.html | 72 + .../hybrid_conditional_py.html | 96 + .../pascal_trunk_serial/hybrid_conn_cmfe.html | 102 + .../hybrid_conn_cmfe_py.html | 138 + .../hybrid_coord_expr.html | 84 + .../hybrid_coord_expr_py.html | 65 + .../hybrid_curve_anim.html | 72 + .../hybrid_curve_anim_py.html | 77 + .../hybrid_curve_expressions.html | 63 + .../hybrid_curve_expressions_py.html | 50 + .../hybrid_cylindrical_radius.html | 96 + .../hybrid_cylindrical_radius_py.html | 232 ++ .../pascal_trunk_serial/hybrid_ddf.html | 75 + .../pascal_trunk_serial/hybrid_ddf_py.html | 172 + .../hybrid_defvar_anim.html | 54 + .../hybrid_defvar_anim_py.html | 61 + .../hybrid_expr2engine.html | 56 + .../hybrid_expr2engine_py.html | 67 + .../pascal_trunk_serial/hybrid_exprList.html | 56 + .../hybrid_exprList_py.html | 65 + .../pascal_trunk_serial/hybrid_expr_cmfe.html | 66 + .../hybrid_expr_cmfe_py.html | 66 + .../hybrid_expressions.html | 304 ++ .../hybrid_expressions_py.html | 464 +++ .../hybrid_field_operators.html | 144 + .../hybrid_field_operators_py.html | 258 ++ .../hybrid_ghost_node.html | 42 + .../hybrid_ghost_node_py.html | 45 + .../hybrid_image_proc.html | 54 + .../hybrid_image_proc_py.html | 34 + .../pascal_trunk_serial/hybrid_keyframe.html | 501 +++ .../hybrid_keyframe_py.html | 544 +++ .../pascal_trunk_serial/hybrid_lambda2.html | 54 + .../hybrid_lambda2_py.html | 53 + .../pascal_trunk_serial/hybrid_lineout.html | 247 ++ .../hybrid_lineout_py.html | 661 ++++ .../pascal_trunk_serial/hybrid_locktime.html | 124 + .../hybrid_locktime_py.html | 125 + .../pascal_trunk_serial/hybrid_locus.html | 42 + .../pascal_trunk_serial/hybrid_locus_py.html | 148 + .../pascal_trunk_serial/hybrid_math_expr.html | 60 + .../hybrid_math_expr_py.html | 44 + .../pascal_trunk_serial/hybrid_matsel.html | 54 + .../pascal_trunk_serial/hybrid_matsel_py.html | 96 + .../pascal_trunk_serial/hybrid_matvf.html | 120 + .../pascal_trunk_serial/hybrid_matvf_py.html | 249 ++ .../hybrid_merge_tree.html | 108 + .../hybrid_merge_tree_py.html | 64 + .../hybrid_mesh_quality.html | 93 + .../hybrid_mesh_quality_py.html | 160 + .../pascal_trunk_serial/hybrid_mir.html | 168 + .../pascal_trunk_serial/hybrid_mir_cache.html | 48 + .../hybrid_mir_cache_py.html | 65 + .../pascal_trunk_serial/hybrid_mir_py.html | 73 + .../hybrid_missingdata.html | 88 + .../hybrid_missingdata_py.html | 72 + .../pascal_trunk_serial/hybrid_multivar.html | 60 + .../hybrid_multivar_py.html | 108 + .../pascal_trunk_serial/hybrid_pos_cmfe.html | 108 + .../hybrid_pos_cmfe_py.html | 149 + .../pascal_trunk_serial/hybrid_py_exprs.html | 78 + .../hybrid_py_exprs_py.html | 106 + .../pascal_trunk_serial/hybrid_qcrit.html | 54 + .../pascal_trunk_serial/hybrid_qcrit_py.html | 54 + .../pascal_trunk_serial/hybrid_replace.html | 72 + .../hybrid_replace_py.html | 97 + .../pascal_trunk_serial/hybrid_sil.html | 70 + .../pascal_trunk_serial/hybrid_sil_py.html | 87 + .../hybrid_simplify_mixed.html | 72 + .../hybrid_simplify_mixed_py.html | 90 + .../pascal_trunk_serial/hybrid_specmf.html | 48 + .../pascal_trunk_serial/hybrid_specmf_py.html | 42 + .../pascal_trunk_serial/hybrid_symm.html | 100 + .../pascal_trunk_serial/hybrid_symm_py.html | 114 + .../pascal_trunk_serial/hybrid_time_cmfe.html | 108 + .../hybrid_time_cmfe_py.html | 93 + .../hybrid_time_deriv_cmfe.html | 54 + .../hybrid_time_deriv_cmfe_py.html | 35 + .../hybrid_time_iteration.html | 54 + .../hybrid_time_iteration_py.html | 41 + .../pascal_trunk_serial/hybrid_timelock.html | 209 ++ .../hybrid_timelock_py.html | 374 ++ .../pascal_trunk_serial/hybrid_val4mat.html | 66 + .../hybrid_val4mat_py.html | 76 + .../pascal_trunk_serial/hybrid_vtkm.html | 372 ++ .../pascal_trunk_serial/hybrid_vtkm_py.html | 779 ++++ .../pascal_trunk_serial/index.html | 2410 ++++++++++++ .../js/jquery-3.6.1.min.js | 2 + .../js/jquery.tablesorter.js | 1046 ++++++ .../pascal_trunk_serial/js/purl.js | 271 ++ .../pascal_trunk_serial/meshtype_arbpoly.html | 90 + .../meshtype_arbpoly_py.html | 124 + .../pascal_trunk_serial/meshtype_csg.html | 78 + .../pascal_trunk_serial/meshtype_csg_py.html | 177 + .../meshtype_degen_mesh.html | 84 + .../meshtype_degen_mesh_py.html | 260 ++ .../meshtype_emptydomains.html | 104 + .../meshtype_emptydomains_py.html | 132 + .../pascal_trunk_serial/meshtype_globe.html | 72 + .../meshtype_globe_py.html | 85 + .../pascal_trunk_serial/meshtype_point.html | 138 + .../meshtype_point_py.html | 174 + .../pascal_trunk_serial/meshtype_rect3d.html | 48 + .../meshtype_rect3d_py.html | 80 + .../operatorsVsInstall.html | 51 + .../operators_amr_stitch.html | 84 + .../operators_amr_stitch_py.html | 49 + .../pascal_trunk_serial/operators_box.html | 84 + .../pascal_trunk_serial/operators_box_py.html | 155 + .../operators_cart_proj.html | 64 + .../operators_cart_proj_py.html | 60 + .../pascal_trunk_serial/operators_clip.html | 180 + .../operators_clip_py.html | 143 + .../operators_cracksclipper.html | 72 + .../operators_cracksclipper_py.html | 54 + .../operators_defer_expr.html | 114 + .../operators_defer_expr_py.html | 248 ++ .../operators_displace.html | 94 + .../operators_displace_py.html | 129 + .../operators_dual_mesh.html | 110 + .../operators_dual_mesh_py.html | 111 + .../operators_elevate.html | 132 + .../operators_elevate_py.html | 164 + .../operators_ex_surf.html | 56 + .../operators_ex_surf_py.html | 51 + .../operators_explode.html | 180 + .../operators_explode_py.html | 580 +++ .../operators_extrudeStacked.html | 339 ++ .../operators_extrudeStacked_py.html | 283 ++ .../operators_ic_geometry.html | 138 + .../operators_ic_geometry_py.html | 379 ++ .../operators_ic_integration.html | 102 + .../operators_ic_integration_py.html | 115 + .../operators_ic_pathlines.html | 86 + .../operators_ic_pathlines_py.html | 160 + .../operators_ic_pics.html | 1392 +++++++ .../operators_ic_pics_py.html | 114 + .../operators_ic_streamlines.html | 102 + .../operators_ic_streamlines_py.html | 220 ++ .../operators_ic_termination.html | 84 + .../operators_ic_termination_py.html | 91 + .../operators_indexselect.html | 273 ++ .../operators_indexselect_py.html | 621 ++++ .../operators_inverse_ghost_zone.html | 72 + .../operators_inverse_ghost_zone_py.html | 76 + .../operators_isovolume.html | 78 + .../operators_isovolume_py.html | 160 + .../pascal_trunk_serial/operators_lcs.html | 147 + .../operators_lcs_ic_1.html | 66 + .../operators_lcs_ic_1_py.html | 17 + .../operators_lcs_ic_2.html | 66 + .../operators_lcs_ic_2_py.html | 17 + .../operators_lcs_lc_1.html | 66 + .../operators_lcs_lc_1_py.html | 17 + .../operators_lcs_lc_2.html | 66 + .../operators_lcs_lc_2_py.html | 17 + .../pascal_trunk_serial/operators_lcs_py.html | 182 + .../operators_moveoperators.html | 114 + .../operators_moveoperators_py.html | 226 ++ .../operators_multires.html | 48 + .../operators_multires_py.html | 34 + .../operators_onionpeel.html | 486 +++ .../operators_onionpeel_py.html | 643 ++++ .../operators_operators.html | 78 + .../operators_operators_py.html | 141 + .../operators_persistent_particles.html | 72 + .../operators_persistent_particles_py.html | 173 + .../operators_radial_resample.html | 60 + .../operators_radial_resample_py.html | 135 + .../operators_reflect.html | 150 + .../operators_reflect_py.html | 345 ++ .../pascal_trunk_serial/operators_remap.html | 264 ++ .../operators_remap_py.html | 133 + .../operators_resample.html | 72 + .../operators_resample_py.html | 124 + .../operators_revolve.html | 42 + .../operators_revolve_py.html | 35 + .../pascal_trunk_serial/operators_slice.html | 297 ++ .../operators_slice_py.html | 590 +++ .../operators_sph_resample.html | 42 + .../operators_sph_resample_py.html | 51 + .../operators_tessellate.html | 162 + .../operators_tessellate_py.html | 286 ++ .../operators_threeslice.html | 54 + .../operators_threeslice_py.html | 49 + .../operators_threshold.html | 108 + .../operators_threshold_py.html | 275 ++ .../operators_transform.html | 96 + .../operators_transform_py.html | 228 ++ .../pascal_trunk_serial/operators_tube.html | 72 + .../operators_tube_py.html | 64 + .../pascal_trunk_serial/plotsVsInstall.html | 46 + .../pascal_trunk_serial/plots_contour.html | 244 ++ .../pascal_trunk_serial/plots_contour_py.html | 183 + .../pascal_trunk_serial/plots_curve.html | 351 ++ .../pascal_trunk_serial/plots_curve_py.html | 488 +++ .../plots_filledboundary.html | 84 + .../plots_filledboundary_py.html | 110 + .../pascal_trunk_serial/plots_label.html | 546 +++ .../pascal_trunk_serial/plots_label_py.html | 1005 +++++ .../pascal_trunk_serial/plots_mesh.html | 249 ++ .../pascal_trunk_serial/plots_mesh_c.html | 249 ++ .../pascal_trunk_serial/plots_mesh_c_py.html | 21 + .../pascal_trunk_serial/plots_mesh_py.html | 446 +++ .../pascal_trunk_serial/plots_molecule.html | 123 + .../plots_molecule_py.html | 242 ++ .../pascal_trunk_serial/plots_multicolor.html | 201 + .../plots_multicolor_py.html | 229 ++ .../pascal_trunk_serial/plots_parcoords.html | 129 + .../plots_parcoords_py.html | 196 + .../plots_pseudocolor.html | 429 +++ .../plots_pseudocolor_py.html | 556 +++ .../pascal_trunk_serial/plots_ray_trace.html | 108 + .../plots_ray_trace_py.html | 220 ++ .../pascal_trunk_serial/plots_scatter.html | 207 ++ .../pascal_trunk_serial/plots_scatter_py.html | 343 ++ .../plots_singlecolor.html | 54 + .../plots_singlecolor_py.html | 77 + .../pascal_trunk_serial/plots_subset.html | 135 + .../pascal_trunk_serial/plots_subset_py.html | 190 + .../pascal_trunk_serial/plots_surface.html | 96 + .../pascal_trunk_serial/plots_surface_py.html | 101 + .../pascal_trunk_serial/plots_tensor.html | 84 + .../pascal_trunk_serial/plots_tensor_py.html | 161 + .../pascal_trunk_serial/plots_truecolor.html | 42 + .../plots_truecolor_py.html | 21 + .../pascal_trunk_serial/plots_vector.html | 150 + .../pascal_trunk_serial/plots_vector_py.html | 244 ++ .../pascal_trunk_serial/plots_volumePlot.html | 233 ++ .../plots_volumePlot_py.html | 665 ++++ .../plugins_databasesVsInstall.html | 40 + .../plugins_databasesVsInstall_py.html | 31 + .../plugins_operatorsVsInstall.html | 40 + .../plugins_operatorsVsInstall_py.html | 29 + .../plugins_plotsVsInstall.html | 40 + .../plugins_plotsVsInstall_py.html | 23 + .../queries_avg_value.html | 58 + .../queries_avg_value_py.html | 63 + .../queries_bestfitline.html | 94 + .../queries_bestfitline_py.html | 204 + .../pascal_trunk_serial/queries_casetest.html | 40 + .../queries_casetest_py.html | 69 + .../pascal_trunk_serial/queries_centroid.html | 88 + .../queries_centroid_py.html | 130 + .../pascal_trunk_serial/queries_conncomp.html | 162 + .../queries_conncomp_py.html | 240 ++ .../queries_consistencyChecks.html | 64 + .../queries_consistencyChecks_py.html | 114 + .../queries_curvature.html | 54 + .../queries_curvature_py.html | 63 + .../pascal_trunk_serial/queries_database.html | 100 + .../queries_database_py.html | 1083 ++++++ .../queries_error_queries.html | 100 + .../queries_error_queries_py.html | 89 + .../pascal_trunk_serial/queries_flatten.html | 1605 ++++++++ .../queries_flatten_py.html | 349 ++ .../queries_gridinformation.html | 56 + .../queries_gridinformation_py.html | 43 + .../pascal_trunk_serial/queries_hohlraum.html | 86 + .../queries_hohlraum_py.html | 112 + .../pascal_trunk_serial/queries_kurtosis.html | 60 + .../queries_kurtosis_py.html | 49 + .../pascal_trunk_serial/queries_l2norm.html | 56 + .../queries_l2norm_py.html | 107 + .../pascal_trunk_serial/queries_length.html | 50 + .../queries_length_py.html | 58 + .../queries_line_scan.html | 428 +++ .../queries_line_scan_py.html | 203 + .../pascal_trunk_serial/queries_pick.html | 284 ++ .../queries_pickNamedArgs.html | 74 + .../queries_pickNamedArgs_py.html | 227 ++ .../pascal_trunk_serial/queries_pick_py.html | 3268 +++++++++++++++++ .../queries_pickarray.html | 86 + .../queries_pickarray_py.html | 137 + .../queries_pickcleanzonesonly.html | 48 + .../queries_pickcleanzonesonly_py.html | 57 + .../queries_py_queries.html | 44 + .../queries_py_queries_py.html | 40 + .../queries_queriesOverTime.html | 324 ++ .../queries_queriesOverTime_py.html | 1065 ++++++ .../queries_queryMultiWindow.html | 40 + .../queries_queryMultiWindow_py.html | 154 + .../queries_revolved_surface_area.html | 56 + .../queries_revolved_surface_area_py.html | 85 + .../pascal_trunk_serial/queries_scf.html | 96 + .../pascal_trunk_serial/queries_scf_py.html | 150 + .../queries_surface_area_over_time.html | 66 + .../queries_surface_area_over_time_py.html | 144 + .../queries_variable_sum_volume.html | 68 + .../queries_variable_sum_volume_py.html | 69 + .../queries_watertight.html | 44 + .../queries_watertight_py.html | 40 + .../queries_xrayimage.html | 1870 ++++++++++ .../queries_xrayimage_py.html | 1337 +++++++ .../quickrecipes_cl_args.html | 44 + .../quickrecipes_cl_args_py.html | 30 + .../quickrecipes_colortables.html | 72 + .../quickrecipes_colortables_py.html | 217 ++ .../quickrecipes_expressions.html | 42 + .../quickrecipes_expressions_py.html | 62 + .../quickrecipes_operators.html | 52 + .../quickrecipes_operators_py.html | 80 + .../quickrecipes_quantitative_operations.html | 116 + ...ickrecipes_quantitative_operations_py.html | 219 ++ .../quickrecipes_saving_images.html | 52 + .../quickrecipes_saving_images_py.html | 56 + .../quickrecipes_subsetting.html | 52 + .../quickrecipes_subsetting_py.html | 67 + .../quickrecipes_view.html | 60 + .../quickrecipes_view_py.html | 159 + ...quickrecipes_working_with_annotations.html | 76 + ...ckrecipes_working_with_annotations_py.html | 195 + .../quickrecipes_working_with_dbs.html | 68 + .../quickrecipes_working_with_dbs_py.html | 78 + .../quickrecipes_working_with_plots.html | 76 + .../quickrecipes_working_with_plots_py.html | 196 + .../rendering_annotation.html | 294 ++ .../rendering_annotation_py.html | 464 +++ .../rendering_axislabels.html | 150 + .../rendering_axislabels_py.html | 141 + .../rendering_axistitles.html | 120 + .../rendering_axistitles_py.html | 170 + .../rendering_bigdata.html | 56 + .../rendering_bigdata_py.html | 36 + .../rendering_colortexture.html | 66 + .../rendering_colortexture_py.html | 86 + .../rendering_compositing.html | 42 + .../rendering_compositing_py.html | 40 + .../rendering_evalcubic.html | 66 + .../rendering_evalcubic_py.html | 123 + .../pascal_trunk_serial/rendering_image.html | 54 + .../rendering_image_py.html | 46 + .../rendering_legends.html | 437 +++ .../rendering_legends_py.html | 597 +++ .../rendering_lighting.html | 54 + .../rendering_lighting_py.html | 113 + .../pascal_trunk_serial/rendering_line2d.html | 102 + .../rendering_line2d_py.html | 101 + .../pascal_trunk_serial/rendering_line3d.html | 102 + .../rendering_line3d_py.html | 104 + .../rendering_offscreensave.html | 106 + .../rendering_offscreensave_py.html | 177 + .../pascal_trunk_serial/rendering_ospray.html | 48 + .../rendering_ospray_py.html | 104 + .../rendering_pixeldata.html | 174 + .../rendering_pixeldata_py.html | 215 ++ .../rendering_renderpoints.html | 444 +++ .../rendering_renderpoints_py.html | 347 ++ .../rendering_saveformats.html | 120 + .../rendering_saveformats_py.html | 272 ++ .../rendering_scalable.html | 117 + .../rendering_scalable2.html | 53 + .../rendering_scalable2_py.html | 113 + .../rendering_scalable_c.html | 117 + .../rendering_scalable_c_py.html | 21 + .../rendering_scalable_py.html | 392 ++ .../rendering_shadows.html | 54 + .../rendering_shadows_py.html | 55 + .../rendering_specular.html | 102 + .../rendering_specular_py.html | 124 + .../pascal_trunk_serial/rendering_text2d.html | 108 + .../rendering_text2d_py.html | 123 + .../pascal_trunk_serial/rendering_text3d.html | 102 + .../rendering_text3d_py.html | 103 + .../rendering_timeslider.html | 174 + .../rendering_timeslider_py.html | 162 + .../rendering_transparency.html | 114 + .../rendering_transparency_py.html | 164 + .../pascal_trunk_serial/rendering_view.html | 249 ++ .../rendering_viewChange.html | 222 ++ .../rendering_viewChange_py.html | 450 +++ .../rendering_view_py.html | 382 ++ .../pascal_trunk_serial/rendering_volume.html | 58 + .../rendering_volume_py.html | 95 + .../session_colortable.html | 42 + .../session_colortable_py.html | 34 + .../session_correlationsession.html | 92 + .../session_correlationsession_py.html | 95 + .../session_legendproperties.html | 48 + .../session_legendproperties_py.html | 48 + .../session_rect3d-contour.html | 42 + .../session_rect3d-contour_py.html | 25 + .../session_restorewithsources.html | 48 + .../session_restorewithsources_py.html | 42 + .../session_selection.html | 42 + .../session_selection_py.html | 29 + .../session_sessionexpression.html | 42 + .../session_sessionexpression_py.html | 27 + .../session_sessionview.html | 66 + .../session_sessionview_py.html | 55 + .../session_simplekeyframe.html | 130 + .../session_simplekeyframe_py.html | 78 + .../session_textannot.html | 66 + .../session_textannot_py.html | 38 + .../pascal_trunk_serial/session_view3d.html | 42 + .../session_view3d_py.html | 29 + .../session_wavecontour.html | 42 + .../session_wavecontour_py.html | 29 + .../pascal_trunk_serial/simulation_amr.html | 68 + .../simulation_amr_py.html | 58 + .../simulation_aresamr.html | 62 + .../simulation_aresamr_py.html | 48 + .../pascal_trunk_serial/simulation_batch.html | 426 +++ .../simulation_batch_py.html | 393 ++ .../pascal_trunk_serial/simulation_csg.html | 114 + .../simulation_csg_py.html | 64 + .../pascal_trunk_serial/simulation_curve.html | 66 + .../simulation_curve_py.html | 61 + .../simulation_domainbounds.html | 56 + .../simulation_domainbounds_py.html | 47 + .../simulation_domainlist.html | 108 + .../simulation_domainlist_py.html | 125 + .../simulation_ghostcells.html | 194 + .../simulation_ghostcells_py.html | 84 + .../simulation_globalids.html | 196 + .../simulation_globalids_py.html | 218 ++ .../simulation_interleave.html | 188 + .../simulation_interleave_py.html | 86 + .../pascal_trunk_serial/simulation_life.html | 58 + .../simulation_life_py.html | 43 + .../simulation_mandelbrot.html | 78 + .../simulation_mandelbrot_py.html | 77 + .../simulation_material.html | 62 + .../simulation_material_py.html | 59 + .../simulation_materialvar.html | 104 + .../simulation_materialvar_py.html | 58 + .../pascal_trunk_serial/simulation_mesh.html | 62 + .../simulation_mesh_py.html | 53 + .../simulation_multiblock.html | 68 + .../simulation_multiblock_py.html | 56 + .../pascal_trunk_serial/simulation_point.html | 92 + .../simulation_point_py.html | 79 + .../simulation_polyhedral.html | 68 + .../simulation_polyhedral_py.html | 64 + .../simulation_scalar.html | 56 + .../simulation_scalar_py.html | 57 + .../simulation_species.html | 137 + .../simulation_species_py.html | 83 + .../simulation_ucdcurve.html | 66 + .../simulation_ucdcurve_py.html | 72 + .../simulation_unstructured.html | 50 + .../simulation_unstructured_py.html | 44 + .../simulation_updateplots.html | 90 + .../simulation_updateplots_py.html | 89 + .../simulation_updateplots_session.html | 99 + .../simulation_updateplots_session_py.html | 88 + .../pascal_trunk_serial/simulation_var.html | 56 + .../simulation_var_py.html | 62 + .../simulation_zerocopy.html | 285 ++ .../simulation_zerocopy_py.html | 178 + .../unit_annotation_objects.html | 44 + .../unit_annotation_objects_py.html | 30 + .../pascal_trunk_serial/unit_atts_assign.html | 1806 +++++++++ .../unit_atts_assign_py.html | 1193 ++++++ .../unit_compiler_warnings.html | 36 + .../unit_compiler_warnings_py.html | 213 ++ .../pascal_trunk_serial/unit_convert2to3.html | 44 + .../unit_convert2to3_py.html | 34 + .../unit_default_methods.html | 84 + .../unit_default_methods_py.html | 58 + .../pascal_trunk_serial/unit_launcher.html | 120 + .../pascal_trunk_serial/unit_launcher_py.html | 196 + .../pascal_trunk_serial/unit_mrucache.html | 40 + .../pascal_trunk_serial/unit_mrucache_py.html | 24 + .../pascal_trunk_serial/unit_namescheme.html | 36 + .../unit_namescheme_py.html | 27 + .../pascal_trunk_serial/unit_protocol.html | 36 + .../pascal_trunk_serial/unit_protocol_py.html | 17 + .../unit_stringhelpers.html | 36 + .../unit_stringhelpers_py.html | 26 + .../unit_test_value_simple.html | 120 + .../unit_test_value_simple_py.html | 56 + .../pascal_trunk_serial/unit_utility.html | 36 + .../pascal_trunk_serial/unit_utility_py.html | 27 + index.html | 15 + 3747 files changed, 370456 insertions(+) create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/Pick2D.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/Pick3DTo2D.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/PickAMR.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/PickBox.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/PickIndexSelect.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/PickSamrai_01.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/PickSamrai_05.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/avg_value_02.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_bigdata_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_bigdata_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_legends_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_legends_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_ops_cart_proj_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_ops_cart_proj_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_ops_cart_proj_3.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_ops_cart_proj_3_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_ops_dualmesh_mesh_plot_2d_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_ops_dualmesh_mesh_plot_2d_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixie_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_pixie_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_volumeOpacity_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_volumeOpacity_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_volume_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_volume_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_volume_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/c_volume_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/css/styles.css create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_bigdata_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_bigdata_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_legends_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_legends_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_ops_cart_proj_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_ops_cart_proj_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_ops_cart_proj_3.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_ops_cart_proj_3_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_ops_dualmesh_mesh_plot_2d_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_ops_dualmesh_mesh_plot_2d_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixie_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_pixie_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_volumeOpacity_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_volumeOpacity_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_volume_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_volume_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_volume_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/d_volume_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databasesVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_ANALYZE.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_ANALYZE_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_ANSYS.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_ANSYS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_CGNS.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_CGNS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Cale.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Cale_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Chombo.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Chombo_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_EnSight.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_EnSight_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_FITS.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_FITS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_FMS.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_FMS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Fluent.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Fluent_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_GDAL.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_GDAL_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_NASTRAN.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_NASTRAN_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_OpenFOAM.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_OpenFOAM_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_PATRAN.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_PATRAN_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_PLOT3D.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_PLOT3D_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_ProteinDataBank.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_ProteinDataBank_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_RAW.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_RAW_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_SPCTH.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_SPCTH_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Velodyne.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Velodyne_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_WData.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_WData_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Xmdv.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Xmdv_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Xolotl.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_Xolotl_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_activesource.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_activesource_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_adios2.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_adios2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_avsucd.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_avsucd_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_axom_klee.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_axom_klee_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_export.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_export_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_bov.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_bov_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_boxlib.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_boxlib_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_chgcar.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_chgcar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_claw.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_claw_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_closedatabase.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_closedatabase_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_correlation.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_correlation_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_curve.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_curve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_ddcMD.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_ddcMD_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_empty_db.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_empty_db_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_exodus.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_exodus_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_export_db.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_export_db_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_ffp.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_ffp_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_flash.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_flash_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_global_node_ids.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_global_node_ids_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_h5part.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_h5part_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_history.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_history_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_image.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_image_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_imgvol.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_imgvol_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_kulllite.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_kulllite_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_lata.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_lata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_leos.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_leos_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_lines.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_lines_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_metadata.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_metadata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_mfem.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_mfem_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_mili.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_mili_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_miranda.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_miranda_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_moab.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_moab_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format2.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_netcdf.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_netcdf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_obj.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_obj_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_oldsilo.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_oldsilo_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_openPMD.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_openPMD_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_openexr.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_openexr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_overlink.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_overlink_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_pdbdatabase.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_pdbdatabase_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_pixie.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_pixie_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_plaintext.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_plaintext_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_rect.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_rect_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_reopen.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_reopen_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_sami.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_sami_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_samrai.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_samrai_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_scale_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_scale_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_shapefile.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_shapefile_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_silo.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_silo_altdriver.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_silo_altdriver_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_silo_datatypes.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_silo_datatypes_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_silo_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_singlemulti.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_singlemulti_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_sw4.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_sw4_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_tecplot.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_tecplot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_timesliders.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_timesliders_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_uintah.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_uintah_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_unv.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_unv_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_vtk.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_vtk_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_wave_tv.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_wave_tv_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_xdmf.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_xdmf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_xform_precision.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_xform_precision_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_xyz.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/databases_xyz_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/expressions_ghost_zoneid_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/expressions_ghost_zoneid_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/expressions_tensor_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/expressions_tensor_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_badfile.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_badfile_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_checkmode.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_checkmode_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_savewindow.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_savewindow_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-a.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-a_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-c.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-c_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_cleanzonesonly.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_cleanzonesonly_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_clonefirstref.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_clonefirstref_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_conditional.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_conditional_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_conn_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_conn_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_coord_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_coord_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_anim.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_anim_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_expressions.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_expressions_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_cylindrical_radius.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_cylindrical_radius_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_ddf.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_ddf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_defvar_anim.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_defvar_anim_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr2engine.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr2engine_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_exprList.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_exprList_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_expressions.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_expressions_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_field_operators.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_field_operators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_ghost_node.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_ghost_node_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_image_proc.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_image_proc_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_keyframe.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_keyframe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_lambda2.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_lambda2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_lineout.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_lineout_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_locktime.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_locktime_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_locus.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_locus_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_math_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_math_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_matsel.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_matsel_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_matvf.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_matvf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_merge_tree.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_merge_tree_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_mesh_quality.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_mesh_quality_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_cache.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_cache_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_missingdata.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_missingdata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_multivar.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_multivar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_pos_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_pos_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_py_exprs.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_py_exprs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_qcrit.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_qcrit_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_replace.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_replace_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_sil.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_sil_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_simplify_mixed.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_simplify_mixed_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_specmf.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_specmf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_symm.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_symm_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_deriv_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_deriv_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_iteration.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_iteration_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_timelock.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_timelock_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_val4mat.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_val4mat_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_vtkm.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/hybrid_vtkm_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/index.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/js/jquery-3.6.1.min.js create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/js/jquery.tablesorter.js create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/js/purl.js create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_arbpoly.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_arbpoly_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_csg.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_csg_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_degen_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_degen_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_emptydomains.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_emptydomains_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_globe.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_globe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_point.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_point_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_rect3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/meshtype_rect3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/missingdata_0_04.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operatorsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_amr_stitch.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_amr_stitch_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_box.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_box_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_cart_proj.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_cart_proj_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_clip.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_clip_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_cracksclipper.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_cracksclipper_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_defer_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_defer_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_displace.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_displace_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_dual_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_dual_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_elevate.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_elevate_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ex_surf.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ex_surf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_explode.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_explode_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_extrudeStacked.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_extrudeStacked_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_geometry.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_geometry_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_integration.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_integration_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pathlines.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pathlines_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pics.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pics_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_streamlines.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_streamlines_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_termination.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_ic_termination_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_indexselect.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_indexselect_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_inverse_ghost_zone.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_inverse_ghost_zone_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_isovolume.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_isovolume_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_lcs.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_1.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_1_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_2.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_1.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_1_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_2.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_moveoperators.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_moveoperators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_multires.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_multires_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_onionpeel.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_onionpeel_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_operators.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_operators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_persistent_particles.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_persistent_particles_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_radial_resample.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_radial_resample_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_reflect.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_reflect_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_remap.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_remap_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_resample.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_resample_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_revolve.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_revolve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_slice.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_slice_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_sph_resample.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_sph_resample_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_tessellate.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_tessellate_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_threeslice.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_threeslice_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_threshold.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_threshold_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_transform.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_transform_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_tube.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/operators_tube_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plotsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_contour.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_contour_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_curve.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_curve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_filledboundary.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_filledboundary_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_label.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_label_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_c.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_c_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_molecule.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_molecule_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_multicolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_multicolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_parcoords.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_parcoords_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_pseudocolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_pseudocolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_ray_trace.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_ray_trace_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_scatter.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_scatter_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_singlecolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_singlecolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_subset.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_subset_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_surface.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_surface_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_tensor.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_tensor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_truecolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_truecolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_vector.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_vector_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_volumePlot.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plots_volumePlot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plugins_databasesVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plugins_databasesVsInstall_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plugins_operatorsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plugins_operatorsVsInstall_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plugins_plotsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/plugins_plotsVsInstall_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_avg_value.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_avg_value_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_bestfitline.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_bestfitline_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_casetest.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_casetest_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_centroid.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_centroid_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_conncomp.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_conncomp_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_consistencyChecks.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_consistencyChecks_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_curvature.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_curvature_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_database.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_database_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_error_queries.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_error_queries_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_flatten.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_flatten_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_gridinformation.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_gridinformation_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_hohlraum.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_hohlraum_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_kurtosis.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_kurtosis_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_l2norm.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_l2norm_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_length.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_length_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_line_scan.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_line_scan_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_pick.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_pickNamedArgs.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_pickNamedArgs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_pick_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_pickarray.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_pickarray_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_pickcleanzonesonly.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_pickcleanzonesonly_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_py_queries.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_py_queries_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_queriesOverTime.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_queriesOverTime_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_queryMultiWindow.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_queryMultiWindow_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_revolved_surface_area.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_revolved_surface_area_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_scf.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_scf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_surface_area_over_time.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_surface_area_over_time_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_variable_sum_volume.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_variable_sum_volume_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_watertight.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_watertight_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_xrayimage.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/queries_xrayimage_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_cl_args.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_cl_args_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_colortables.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_colortables_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_expressions.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_expressions_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_operators.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_operators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_quantitative_operations.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_quantitative_operations_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_saving_images.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_saving_images_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_subsetting.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_subsetting_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_view.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_view_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_annotations.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_annotations_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_dbs.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_dbs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_plots.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_plots_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_annotation.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_annotation_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_axislabels.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_axislabels_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_axistitles.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_axistitles_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_bigdata.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_bigdata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_colortexture.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_colortexture_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_evalcubic.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_evalcubic_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_image.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_image_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_legends.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_legends_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_lighting.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_lighting_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_line2d.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_line2d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_line3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_line3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_offscreensave.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_offscreensave_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_ospray.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_ospray_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_pixeldata.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_pixeldata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_renderpoints.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_renderpoints_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_saveformats.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_saveformats_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable2.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_c.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_c_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_shadows.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_shadows_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_specular.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_specular_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_text2d.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_text2d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_text3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_text3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_timeslider.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_timeslider_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_transparency.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_transparency_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_view.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_viewChange.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_viewChange_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_view_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_volume.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/rendering_volume_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_colortable.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_colortable_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_correlationsession.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_correlationsession_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_legendproperties.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_legendproperties_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_rect3d-contour.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_rect3d-contour_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_restorewithsources.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_restorewithsources_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_selection.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_selection_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_sessionexpression.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_sessionexpression_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_sessionview.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_sessionview_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_simplekeyframe.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_simplekeyframe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_textannot.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_textannot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_view3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_view3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_wavecontour.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/session_wavecontour_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_amr.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_amr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_aresamr.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_aresamr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_batch.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_batch_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_csg.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_csg_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_curve.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_curve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_domainbounds.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_domainbounds_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_domainlist.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_domainlist_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_ghostcells.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_ghostcells_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_globalids.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_globalids_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_interleave.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_interleave_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_life.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_life_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_mandelbrot.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_mandelbrot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_material.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_material_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_materialvar.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_materialvar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_multiblock.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_multiblock_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_point.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_point_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_polyhedral.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_polyhedral_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_scalar.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_scalar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_species.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_species_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_ucdcurve.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_ucdcurve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_unstructured.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_unstructured_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_session.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_session_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_var.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_var_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_zerocopy.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/simulation_zerocopy_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_annotation_objects.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_annotation_objects_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_atts_assign.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_atts_assign_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_compiler_warnings.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_compiler_warnings_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_convert2to3.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_convert2to3_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_default_methods.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_default_methods_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_launcher.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_launcher_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_mrucache.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_mrucache_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_namescheme.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_namescheme_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_protocol.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_protocol_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_stringhelpers.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_stringhelpers_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_test_value_simple.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_test_value_simple_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_utility.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/unit_utility_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_parallel/zerocopy02.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/Pick2D.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/Pick3DTo2D.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickAMR.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickBox.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickIndexSelect.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickSamrai_01.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickSamrai_05.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/avg_value_02.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_CGNS_NFace_Elements_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_CGNS_NFace_Elements_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Chombo_1_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Chombo_1_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Chombo_2_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Chombo_2_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_amr-quad_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_amr-quad_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_amr-quad_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_amr-quad_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-tri_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-tri_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-tri_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-tri_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_disc-nurbs_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_disc-nurbs_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_disc-nurbs_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_disc-nurbs_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-quad_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-quad_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-quad_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-quad_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-tri_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-tri_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-tri_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-tri_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_periodic-square_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_periodic-square_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_periodic-square_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_periodic-square_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-nurbs_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-nurbs_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-nurbs_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-nurbs_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p3_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p3_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p3_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p3_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Lineout3d.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Lineout3d_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LineoutSAMRAI.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LineoutSAMRAI_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_3.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_3_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_4.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_4_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_5.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_5_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_6.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_6_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_7.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_7_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_8.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_8_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN1_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN1_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN2_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN2_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN3_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN3_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Polytopal_mesh_missing_offsets.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Polytopal_mesh_missing_offsets_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_amr02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_amr02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_amr03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_amr03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys1_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys1_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys2_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys2_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys3_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys3_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bestline_3_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bestline_3_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bestline_3_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bestline_3_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bestline_3_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bestline_3_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bigdata_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bigdata_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_1d_curve_element_assoc.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_1d_curve_element_assoc_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_quads_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_quads_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_rect_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_rect_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_struct_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_struct_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_tris_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_tris_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_uniform_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_uniform_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_quads_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_quads_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_rect_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_rect_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_struct_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_struct_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_tris_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_tris_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_uniform_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_uniform_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_quads_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_quads_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_rect_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_rect_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_struct_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_struct_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_tris_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_tris_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_uniform_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_uniform_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_quads_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_quads_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_rect_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_rect_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_struct_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_struct_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_tris_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_tris_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_uniform_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_uniform_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_quads_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_quads_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_rect_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_rect_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_struct_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_struct_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_tris_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_tris_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_uniform_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_uniform_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_tri_beam_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_tri_beam_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_tri_beam_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_tri_beam_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_rectilinear.root_plot_2D.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_rectilinear.root_plot_2D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_structured.root_plot_2D.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_structured.root_plot_2D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_uniform.root_plot_2D.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_uniform.root_plot_2D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_unstructured.root_plot_2D.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_unstructured.root_plot_2D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_0_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_0_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_1_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_1_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_2_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_2_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_3_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_3_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_4_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_4_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_5_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_5_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_6_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_6_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_7_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_7_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_8_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_8_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bp_sparse_topos_example.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bp_sparse_topos_example_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_compositing_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_compositing_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_csg_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_csg_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve2Expr.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve2Expr_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim3.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim3_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddf_spatial_1d.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddf_spatial_1d_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_17.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_17_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_explode_repeat_labels_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_explode_repeat_labels_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_explode_tire_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_explode_tire_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_14.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_14_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_15.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_15_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_17.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_17_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_18.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_18_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_fb_lines_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_fb_lines_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ghost_node_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ghost_node_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_hf_2_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_hf_2_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_hf_4_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_hf_4_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_14.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_14_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_integration_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_integration_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_integration_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_integration_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0005.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0005_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_periodic-square_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_periodic-square_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_periodic-square_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_periodic-square_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_label_6_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_label_6_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_label_8_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_label_8_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_legends_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_legends_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_leos_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_leos_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_4.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_4_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_7.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_7_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_4.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_4_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_7.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_7_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_4.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_4_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_4.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_4_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_7.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_7_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_mesh_point_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_mesh_point_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_mesh_quality_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_mesh_quality_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_meshtype_point_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_meshtype_point_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_meshtype_point_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_meshtype_point_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moab_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moab_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moveoperator_0.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moveoperator_0_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moveoperator_8.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moveoperator_8_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moveoperator_9.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moveoperator_9_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_curv3d.silo_partition19_0_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_curv3d.silo_partition19_0__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_curv3d.silo_partition4_0_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_curv3d.silo_partition4_0__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition19_1_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition19_1__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_0_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_0__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_1_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_1__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_ucd3d.silo_partition4_0_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_ucd3d.silo_partition4_0__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_1_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_1_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_2_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_2_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_3_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_3_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran1_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran1_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran2_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran2_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran3_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran3_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran5_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran5_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_netcdf_3_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_netcdf_3_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_oldsilo_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_oldsilo_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_openPMD_3D_Fieldsrho.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_openPMD_3D_Fieldsrho_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_cart_proj_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_cart_proj_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_cart_proj_3.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_cart_proj_3_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_inverse_ghost_zone05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_inverse_ghost_zone05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_resampleop_noise_point_small.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_resampleop_noise_point_small_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_transform05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_transform05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_transform07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_transform07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_polar_curve_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_polar_curve_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pseudocolor_domain_bounds_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pseudocolor_domain_bounds_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ray_trace_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ray_trace_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ray_trace_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ray_trace_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d-contour00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d-contour00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_scalar02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_scalar02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_scatter_21.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_scatter_21_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_silo_41.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_silo_41_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_simplify_mixed02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_simplify_mixed02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_sph_2d.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_sph_2d_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_subset_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_subset_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_subset_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_subset_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_15.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_15_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_text3d03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_text3d03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_unv_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_unv_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_var02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_var02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_17.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_17_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_18.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_18_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_19.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_19_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_view_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_view_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volumeOpacity_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volumeOpacity_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volume_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volume_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volume_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volume_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vtk_34a.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vtk_34a_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vtk_36.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vtk_36_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_7_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_7_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_7_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_7_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/css/styles.css create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_CGNS_NFace_Elements_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_CGNS_NFace_Elements_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Chombo_1_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Chombo_1_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Chombo_2_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Chombo_2_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad-nurbs_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad-nurbs_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad-nurbs_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad-nurbs_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-tri_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-tri_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-tri_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-tri_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_disc-nurbs_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_disc-nurbs_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_disc-nurbs_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_disc-nurbs_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-quad_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-quad_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-quad_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-quad_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_periodic-square_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_periodic-square_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_periodic-square_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_periodic-square_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-nurbs_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-nurbs_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-nurbs_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-nurbs_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p2_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p2_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p2_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p2_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Lineout3d.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Lineout3d_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LineoutSAMRAI.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LineoutSAMRAI_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_3.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_3_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_4.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_4_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_5.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_5_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_6.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_6_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_7.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_7_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_8.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_8_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN1_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN1_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN2_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN2_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN3_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN3_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Polytopal_mesh_missing_offsets.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Polytopal_mesh_missing_offsets_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_amr02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_amr02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_amr03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_amr03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys1_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys1_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys2_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys2_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys3_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys3_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bigdata_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bigdata_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_1d_curve_element_assoc.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_1d_curve_element_assoc_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_quads_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_quads_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_rect_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_rect_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_struct_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_struct_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_tris_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_tris_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_uniform_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_uniform_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_quads_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_quads_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_rect_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_rect_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_struct_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_struct_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_tris_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_tris_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_uniform_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_uniform_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_quads_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_quads_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_rect_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_rect_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_struct_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_struct_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_tris_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_tris_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_uniform_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_uniform_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_sidre_hdf5_quads_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_sidre_hdf5_quads_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_sidre_hdf5_rect_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_sidre_hdf5_rect_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_sidre_hdf5_struct_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_sidre_hdf5_struct_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_sidre_hdf5_tris_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_sidre_hdf5_tris_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_sidre_hdf5_uniform_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_sidre_hdf5_uniform_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_yaml_0_8_2_quads_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_yaml_0_8_2_quads_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_yaml_0_8_2_rect_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_yaml_0_8_2_rect_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_yaml_0_8_2_struct_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_yaml_0_8_2_struct_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_yaml_0_8_2_tris_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_yaml_0_8_2_tris_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_yaml_0_8_2_uniform_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_yaml_0_8_2_uniform_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_tri_beam_legacy_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_tri_beam_legacy_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_tri_beam_lor.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_tri_beam_lor_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_rectilinear.root_plot_2D.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_rectilinear.root_plot_2D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_structured.root_plot_2D.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_structured.root_plot_2D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_uniform.root_plot_2D.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_uniform.root_plot_2D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_unstructured.root_plot_2D.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_unstructured.root_plot_2D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_0_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_0_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_1_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_1_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_2_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_2_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_3_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_3_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_4_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_4_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_5_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_5_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_6_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_6_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_7_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_7_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_8_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_8_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bp_sparse_topos_example.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bp_sparse_topos_example_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_compositing_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_compositing_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_multicolor_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_multicolor_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_multicolor_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_multicolor_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_multicolor_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_multicolor_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_csg_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_csg_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve2Expr.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve2Expr_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_anim2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_anim2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_anim3.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_anim3_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_scale_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_scale_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_scale_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_scale_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_scale_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_scale_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_scale_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve_scale_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddf_spatial_1d.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddf_spatial_1d_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_17.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_17_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_explode_repeat_labels_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_explode_repeat_labels_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_explode_tire_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_explode_tire_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_14.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_14_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_15.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_15_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_17.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_17_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_18.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_18_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_fb_lines_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_fb_lines_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ghost_node_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ghost_node_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_hf_2_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_hf_2_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_hf_4_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_hf_4_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_14.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_14_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_integration_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_integration_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_integration_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_integration_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0005.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0005_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_disc-nurbs_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_disc-nurbs_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_disc-nurbs_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_disc-nurbs_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_disc-nurbs_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_disc-nurbs_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_periodic-square_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_periodic-square_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_periodic-square_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_periodic-square_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-nurbs_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-nurbs_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-nurbs_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-nurbs_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-nurbs_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-nurbs_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_boundary_topo.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_boundary_topo_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0000.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0000_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0020.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0020_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_label_6_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_label_6_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_label_8_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_label_8_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_legends_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_legends_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_leos_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_leos_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_4.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_4_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_7.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_7_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_4.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_4_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_7.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_7_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_4.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_4_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_13.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_13_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_4.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_4_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_7.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_7_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_mesh_point_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_mesh_point_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_mesh_quality_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_mesh_quality_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_0_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_0_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_0_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_0_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_0_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_0_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moab_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moab_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moveoperator_0.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moveoperator_0_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moveoperator_8.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moveoperator_8_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moveoperator_9.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moveoperator_9_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_curv3d.silo_partition19_0_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_curv3d.silo_partition19_0__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_curv3d.silo_partition4_0_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_curv3d.silo_partition4_0__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition19_1_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition19_1__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition4_0_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition4_0__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition4_1_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition4_1__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_ucd3d.silo_partition4_0_.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_ucd3d.silo_partition4_0__thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_1_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_1_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_2_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_2_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_3_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_3_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran1_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran1_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran2_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran2_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran3_2.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran3_2_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran5_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran5_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_netcdf_3_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_netcdf_3_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_oldsilo_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_oldsilo_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_openPMD_3D_Fieldsrho.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_openPMD_3D_Fieldsrho_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_cart_proj_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_cart_proj_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_cart_proj_3.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_cart_proj_3_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_inverse_ghost_zone05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_inverse_ghost_zone05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_resampleop_noise_point_small.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_resampleop_noise_point_small_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_polar_curve_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_polar_curve_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pseudocolor_domain_bounds_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pseudocolor_domain_bounds_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ray_trace_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ray_trace_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ray_trace_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ray_trace_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d-contour00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d-contour00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect_06.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect_06_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_scalar02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_scalar02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_scatter_21.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_scatter_21_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_silo_41.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_silo_41_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_simplify_mixed02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_simplify_mixed02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_singlecolor00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_singlecolor00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_singlecolor01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_singlecolor01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_singlecolor02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_singlecolor02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_sph_2d.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_sph_2d_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_subset_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_subset_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_subset_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_subset_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_04.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_04_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_12.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_12_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_15.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_15_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_text3d03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_text3d03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_unv_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_unv_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_var02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_var02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vector_16.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vector_16_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vector_17.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vector_17_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vector_18.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vector_18_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vector_19.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vector_19_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_view_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_view_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volumeOpacity_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volumeOpacity_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volume_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volume_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volume_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volume_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vtk_34a.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vtk_34a_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vtk_36.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vtk_36_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_00.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_00_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_7_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_7_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_7_03.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_7_03_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databasesVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANALYZE.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANALYZE_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANSYS.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANSYS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_CGNS.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_CGNS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Cale.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Cale_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Chombo.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Chombo_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_EnSight.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_EnSight_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FITS.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FITS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FMS.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FMS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Fluent.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Fluent_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_GDAL.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_GDAL_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_NASTRAN.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_NASTRAN_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_OpenFOAM.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_OpenFOAM_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PATRAN.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PATRAN_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PLOT3D.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PLOT3D_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ProteinDataBank.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ProteinDataBank_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_RAW.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_RAW_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_SPCTH.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_SPCTH_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Velodyne.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Velodyne_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_WData.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_WData_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xmdv.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xmdv_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xolotl.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xolotl_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_activesource.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_activesource_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_adios2.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_adios2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_avsucd.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_avsucd_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_axom_klee.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_axom_klee_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_export.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_export_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_bov.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_bov_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_boxlib.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_boxlib_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_chgcar.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_chgcar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_claw.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_claw_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_closedatabase.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_closedatabase_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_correlation.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_correlation_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_curve.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_curve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ddcMD.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ddcMD_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_empty_db.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_empty_db_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_exodus.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_exodus_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_export_db.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_export_db_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ffp.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ffp_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_flash.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_flash_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_global_node_ids.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_global_node_ids_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_h5part.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_h5part_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_history.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_history_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_image.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_image_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_imgvol.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_imgvol_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_kulllite.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_kulllite_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lata.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_leos.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_leos_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lines.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lines_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_metadata.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_metadata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mfem.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mfem_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mili.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mili_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_miranda.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_miranda_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_moab.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_moab_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format2.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_netcdf.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_netcdf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_obj.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_obj_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_oldsilo.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_oldsilo_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openPMD.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openPMD_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openexr.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openexr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_overlink.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_overlink_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pdbdatabase.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pdbdatabase_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pixie.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pixie_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_plaintext.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_plaintext_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_rect.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_rect_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_reopen.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_reopen_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sami.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sami_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_samrai.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_samrai_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_scale_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_scale_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_shapefile.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_shapefile_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_altdriver.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_altdriver_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_datatypes.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_datatypes_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_singlemulti.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_singlemulti_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sw4.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sw4_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_tecplot.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_tecplot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_timesliders.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_timesliders_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_uintah.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_uintah_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_unv.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_unv_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_vtk.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_vtk_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_wave_tv.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_wave_tv_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xdmf.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xdmf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xform_precision.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xform_precision_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xyz.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xyz_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_ghost_zoneid_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_ghost_zoneid_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_tensor_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_tensor_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_badfile.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_badfile_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_checkmode.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_checkmode_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_savewindow.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_savewindow_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-a.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-a_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-c.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-c_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cleanzonesonly.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cleanzonesonly_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_clonefirstref.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_clonefirstref_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conditional.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conditional_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conn_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conn_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_coord_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_coord_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_anim.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_anim_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_expressions.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_expressions_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cylindrical_radius.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cylindrical_radius_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ddf.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ddf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_defvar_anim.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_defvar_anim_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr2engine.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr2engine_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_exprList.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_exprList_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expressions.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expressions_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_field_operators.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_field_operators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ghost_node.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ghost_node_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_image_proc.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_image_proc_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_keyframe.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_keyframe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lambda2.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lambda2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lineout.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lineout_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locktime.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locktime_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locus.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locus_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_math_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_math_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matsel.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matsel_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matvf.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matvf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_merge_tree.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_merge_tree_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mesh_quality.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mesh_quality_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_cache.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_cache_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_missingdata.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_missingdata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_multivar.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_multivar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_pos_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_pos_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_py_exprs.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_py_exprs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_qcrit.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_qcrit_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_replace.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_replace_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_sil.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_sil_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_simplify_mixed.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_simplify_mixed_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_specmf.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_specmf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_symm.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_symm_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_deriv_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_deriv_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_iteration.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_iteration_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_timelock.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_timelock_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_val4mat.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_val4mat_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_vtkm.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_vtkm_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/index.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/js/jquery-3.6.1.min.js create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/js/jquery.tablesorter.js create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/js/purl.js create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_arbpoly.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_arbpoly_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_csg.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_csg_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_degen_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_degen_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_emptydomains.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_emptydomains_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_globe.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_globe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_point.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_point_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_rect3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_rect3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/missingdata_0_04.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operatorsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_amr_stitch.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_amr_stitch_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_box.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_box_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cart_proj.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cart_proj_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_clip.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_clip_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cracksclipper.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cracksclipper_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_defer_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_defer_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_displace.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_displace_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_dual_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_dual_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_elevate.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_elevate_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ex_surf.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ex_surf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_explode.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_explode_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_extrudeStacked.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_extrudeStacked_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_geometry.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_geometry_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_integration.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_integration_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pathlines.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pathlines_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pics.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pics_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_streamlines.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_streamlines_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_termination.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_termination_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_indexselect.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_indexselect_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_inverse_ghost_zone.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_inverse_ghost_zone_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_isovolume.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_isovolume_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_ic_1.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_ic_1_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_lc_1.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_lc_1_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_moveoperators.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_moveoperators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_multires.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_multires_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_onionpeel.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_onionpeel_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_operators.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_operators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_persistent_particles.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_persistent_particles_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_radial_resample.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_radial_resample_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_reflect.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_reflect_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_remap.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_remap_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_resample.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_resample_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_revolve.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_revolve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_slice.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_slice_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_sph_resample.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_sph_resample_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tessellate.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tessellate_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threeslice.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threeslice_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threshold.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threshold_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_transform.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_transform_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tube.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tube_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plotsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_contour.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_contour_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_curve.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_curve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_filledboundary.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_filledboundary_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_label.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_label_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_c.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_c_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_molecule.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_molecule_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_multicolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_multicolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_parcoords.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_parcoords_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_pseudocolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_pseudocolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_ray_trace.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_ray_trace_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_scatter.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_scatter_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_singlecolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_singlecolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_subset.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_subset_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_surface.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_surface_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_tensor.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_tensor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_truecolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_truecolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_vector.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_vector_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_volumePlot.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_volumePlot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_databasesVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_databasesVsInstall_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_operatorsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_operatorsVsInstall_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_plotsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_plotsVsInstall_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_avg_value.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_avg_value_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_bestfitline.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_bestfitline_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_casetest.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_casetest_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_centroid.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_centroid_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_conncomp.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_conncomp_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_consistencyChecks.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_consistencyChecks_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_curvature.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_curvature_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_database.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_database_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_error_queries.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_error_queries_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_flatten.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_flatten_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_gridinformation.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_gridinformation_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_hohlraum.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_hohlraum_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_kurtosis.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_kurtosis_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_l2norm.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_l2norm_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_length.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_length_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_line_scan.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_line_scan_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pick.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickNamedArgs.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickNamedArgs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pick_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickarray.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickarray_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickcleanzonesonly.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickcleanzonesonly_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_py_queries.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_py_queries_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queriesOverTime.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queriesOverTime_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queryMultiWindow.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queryMultiWindow_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_revolved_surface_area.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_revolved_surface_area_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_scf.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_scf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_surface_area_over_time.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_surface_area_over_time_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_variable_sum_volume.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_variable_sum_volume_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_watertight.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_watertight_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_xrayimage.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_xrayimage_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_cl_args.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_cl_args_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_colortables.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_colortables_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_expressions.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_expressions_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_operators.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_operators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_quantitative_operations.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_quantitative_operations_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_saving_images.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_saving_images_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_subsetting.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_subsetting_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_view.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_view_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_annotations.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_annotations_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_dbs.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_dbs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_plots.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_plots_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_annotation.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_annotation_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axislabels.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axislabels_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axistitles.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axistitles_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_bigdata.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_bigdata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_colortexture.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_colortexture_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_compositing.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_compositing_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_evalcubic.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_evalcubic_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_image.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_image_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_legends.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_legends_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_lighting.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_lighting_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line2d.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line2d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_offscreensave.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_offscreensave_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_pixeldata.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_pixeldata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_renderpoints.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_renderpoints_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_saveformats.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_saveformats_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable2.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_c.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_c_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_shadows.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_shadows_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_specular.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_specular_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text2d.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text2d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_timeslider.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_timeslider_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_view.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_viewChange.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_viewChange_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_view_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_volume.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_volume_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_colortable.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_colortable_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_correlationsession.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_correlationsession_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_legendproperties.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_legendproperties_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_rect3d-contour.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_rect3d-contour_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_restorewithsources.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_restorewithsources_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_selection.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_selection_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionexpression.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionexpression_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionview.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionview_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_textannot.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_textannot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_view3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_view3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_wavecontour.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_wavecontour_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_amr.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_amr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_aresamr.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_aresamr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_batch.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_batch_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_csg.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_csg_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_curve.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_curve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainbounds.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainbounds_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainlist.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainlist_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ghostcells.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ghostcells_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_globalids.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_globalids_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_interleave.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_interleave_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_life.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_life_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mandelbrot.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mandelbrot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_material.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_material_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_materialvar.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_materialvar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_multiblock.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_multiblock_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_point.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_point_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_polyhedral.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_polyhedral_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_scalar.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_scalar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_species.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_species_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ucdcurve.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ucdcurve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_unstructured.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_unstructured_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_session.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_session_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_var.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_var_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_zerocopy.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_zerocopy_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_annotation_objects.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_annotation_objects_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_atts_assign.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_atts_assign_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_compiler_warnings.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_compiler_warnings_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_convert2to3.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_convert2to3_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_default_methods.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_default_methods_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_launcher.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_launcher_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_mrucache.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_mrucache_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_namescheme.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_namescheme_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_protocol.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_protocol_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_stringhelpers.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_stringhelpers_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_test_value_simple.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_test_value_simple_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_utility.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_utility_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/zerocopy02.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/Pick2D.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/Pick3DTo2D.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/PickAMR.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/PickBox.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/PickIndexSelect.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/PickSamrai_01.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/PickSamrai_05.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/avg_value_02.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_bigdata_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_bigdata_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_blueprint_rz_cyl_uniform.root_plot_revolved_to_3D.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_blueprint_rz_cyl_uniform.root_plot_revolved_to_3D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_legends_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_legends_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_ops_cart_proj_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_ops_cart_proj_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_ops_cart_proj_3.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_ops_cart_proj_3_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_ops_dualmesh_mesh_plot_2d_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_ops_dualmesh_mesh_plot_2d_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_volumeOpacity_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_volumeOpacity_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_volume_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_volume_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_volume_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/c_volume_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/css/styles.css create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_bigdata_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_bigdata_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_blueprint_rz_cyl_uniform.root_plot_revolved_to_3D.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_blueprint_rz_cyl_uniform.root_plot_revolved_to_3D_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_legends_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_legends_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_ops_cart_proj_1.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_ops_cart_proj_1_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_ops_cart_proj_3.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_ops_cart_proj_3_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_ops_dualmesh_mesh_plot_2d_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_ops_dualmesh_mesh_plot_2d_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_07.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_07_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_08.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_08_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_09.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_09_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_10.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_10_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_11.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_11_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_volumeOpacity_05.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_volumeOpacity_05_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_volume_01.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_volume_01_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_volume_02.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/d_volume_02_thumb.png create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databasesVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_ANALYZE.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_ANALYZE_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_ANSYS.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_ANSYS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_CGNS.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_CGNS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Cale.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Cale_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Chombo.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Chombo_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_EnSight.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_EnSight_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_FITS.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_FITS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_FMS.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_FMS_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Fluent.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Fluent_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_GDAL.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_GDAL_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_NASTRAN.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_NASTRAN_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_OpenFOAM.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_OpenFOAM_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_PATRAN.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_PATRAN_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_PLOT3D.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_PLOT3D_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_ProteinDataBank.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_ProteinDataBank_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_RAW.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_RAW_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_SPCTH.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_SPCTH_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Velodyne.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Velodyne_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_WData.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_WData_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Xmdv.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Xmdv_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Xolotl.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_Xolotl_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_activesource.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_activesource_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_adios2.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_adios2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_avsucd.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_avsucd_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_blueprint.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_axom_klee.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_axom_klee_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_export.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_export_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_bov.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_bov_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_boxlib.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_boxlib_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_chgcar.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_chgcar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_claw.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_claw_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_closedatabase.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_closedatabase_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_correlation.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_correlation_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_curve.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_curve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_ddcMD.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_ddcMD_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_empty_db.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_empty_db_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_exodus.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_exodus_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_export_db.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_export_db_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_ffp.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_ffp_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_flash.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_flash_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_global_node_ids.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_global_node_ids_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_h5part.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_h5part_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_history.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_history_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_image.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_image_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_imgvol.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_imgvol_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_kulllite.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_kulllite_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_lata.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_lata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_leos.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_leos_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_lines.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_lines_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_metadata.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_metadata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_mfem.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_mfem_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_mili.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_mili_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_miranda.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_miranda_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_moab.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_moab_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_multi_format.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_multi_format2.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_multi_format2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_multi_format_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_netcdf.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_netcdf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_obj.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_obj_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_oldsilo.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_oldsilo_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_openPMD.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_openPMD_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_openexr.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_openexr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_overlink.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_overlink_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_pdbdatabase.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_pdbdatabase_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_pixie.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_pixie_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_plaintext.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_plaintext_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_rect.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_rect_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_reopen.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_reopen_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_sami.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_sami_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_samrai.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_samrai_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_scale_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_scale_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_shapefile.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_shapefile_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_silo.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_silo_altdriver.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_silo_altdriver_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_silo_datatypes.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_silo_datatypes_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_silo_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_singlemulti.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_singlemulti_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_sw4.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_sw4_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_tecplot.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_tecplot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_timesliders.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_timesliders_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_uintah.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_uintah_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_unv.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_unv_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_vtk.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_vtk_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_wave_tv.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_wave_tv_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_xdmf.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_xdmf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_xform_precision.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_xform_precision_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_xyz.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_xyz_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_zipwrapper.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/databases_zipwrapper_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/expressions_ghost_zoneid_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/expressions_ghost_zoneid_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/expressions_tensor_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/expressions_tensor_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/faulttolerance_badfile.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/faulttolerance_badfile_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/faulttolerance_checkmode.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/faulttolerance_checkmode_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/faulttolerance_savewindow.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/faulttolerance_savewindow_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-a.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-a_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-c.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-c_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_cleanzonesonly.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_cleanzonesonly_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_clonefirstref.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_clonefirstref_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_conditional.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_conditional_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_conn_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_conn_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_coord_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_coord_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_anim.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_anim_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_expressions.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_expressions_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_cylindrical_radius.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_cylindrical_radius_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_ddf.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_ddf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_defvar_anim.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_defvar_anim_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_expr2engine.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_expr2engine_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_exprList.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_exprList_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_expr_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_expr_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_expressions.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_expressions_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_field_operators.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_field_operators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_ghost_node.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_ghost_node_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_image_proc.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_image_proc_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_keyframe.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_keyframe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_lambda2.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_lambda2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_lineout.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_lineout_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_locktime.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_locktime_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_locus.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_locus_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_math_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_math_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_matsel.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_matsel_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_matvf.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_matvf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_merge_tree.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_merge_tree_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_mesh_quality.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_mesh_quality_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_mir.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_cache.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_cache_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_missingdata.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_missingdata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_multivar.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_multivar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_pos_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_pos_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_py_exprs.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_py_exprs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_qcrit.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_qcrit_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_replace.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_replace_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_sil.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_sil_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_simplify_mixed.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_simplify_mixed_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_specmf.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_specmf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_symm.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_symm_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_time_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_time_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_time_deriv_cmfe.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_time_deriv_cmfe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_time_iteration.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_time_iteration_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_timelock.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_timelock_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_val4mat.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_val4mat_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_vtkm.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/hybrid_vtkm_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/index.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/js/jquery-3.6.1.min.js create mode 100644 2023-11-08-22:00/pascal_trunk_serial/js/jquery.tablesorter.js create mode 100644 2023-11-08-22:00/pascal_trunk_serial/js/purl.js create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_arbpoly.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_arbpoly_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_csg.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_csg_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_degen_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_degen_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_emptydomains.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_emptydomains_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_globe.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_globe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_point.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_point_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_rect3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/meshtype_rect3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operatorsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_amr_stitch.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_amr_stitch_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_box.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_box_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_cart_proj.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_cart_proj_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_clip.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_clip_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_cracksclipper.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_cracksclipper_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_defer_expr.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_defer_expr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_displace.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_displace_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_dual_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_dual_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_elevate.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_elevate_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ex_surf.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ex_surf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_explode.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_explode_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_extrudeStacked.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_extrudeStacked_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_geometry.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_geometry_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_integration.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_integration_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_pathlines.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_pathlines_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_pics.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_pics_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_streamlines.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_streamlines_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_termination.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_ic_termination_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_indexselect.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_indexselect_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_inverse_ghost_zone.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_inverse_ghost_zone_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_isovolume.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_isovolume_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_lcs.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_1.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_1_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_2.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_1.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_1_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_2.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_lcs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_moveoperators.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_moveoperators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_multires.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_multires_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_onionpeel.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_onionpeel_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_operators.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_operators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_persistent_particles.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_persistent_particles_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_radial_resample.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_radial_resample_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_reflect.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_reflect_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_remap.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_remap_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_resample.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_resample_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_revolve.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_revolve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_slice.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_slice_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_sph_resample.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_sph_resample_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_tessellate.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_tessellate_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_threeslice.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_threeslice_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_threshold.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_threshold_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_transform.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_transform_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_tube.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/operators_tube_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plotsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_contour.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_contour_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_curve.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_curve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_filledboundary.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_filledboundary_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_label.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_label_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_mesh_c.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_mesh_c_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_molecule.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_molecule_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_multicolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_multicolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_parcoords.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_parcoords_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_pseudocolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_pseudocolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_ray_trace.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_ray_trace_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_scatter.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_scatter_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_singlecolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_singlecolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_subset.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_subset_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_surface.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_surface_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_tensor.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_tensor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_truecolor.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_truecolor_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_vector.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_vector_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_volumePlot.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plots_volumePlot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plugins_databasesVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plugins_databasesVsInstall_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plugins_operatorsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plugins_operatorsVsInstall_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plugins_plotsVsInstall.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/plugins_plotsVsInstall_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_avg_value.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_avg_value_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_bestfitline.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_bestfitline_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_casetest.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_casetest_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_centroid.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_centroid_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_conncomp.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_conncomp_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_consistencyChecks.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_consistencyChecks_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_curvature.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_curvature_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_database.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_database_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_error_queries.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_error_queries_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_flatten.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_flatten_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_gridinformation.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_gridinformation_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_hohlraum.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_hohlraum_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_kurtosis.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_kurtosis_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_l2norm.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_l2norm_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_length.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_length_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_line_scan.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_line_scan_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_pick.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_pickNamedArgs.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_pickNamedArgs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_pick_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_pickarray.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_pickarray_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_pickcleanzonesonly.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_pickcleanzonesonly_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_py_queries.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_py_queries_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_queriesOverTime.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_queriesOverTime_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_queryMultiWindow.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_queryMultiWindow_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_revolved_surface_area.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_revolved_surface_area_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_scf.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_scf_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_surface_area_over_time.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_surface_area_over_time_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_variable_sum_volume.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_variable_sum_volume_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_watertight.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_watertight_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_xrayimage.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/queries_xrayimage_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_cl_args.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_cl_args_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_colortables.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_colortables_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_expressions.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_expressions_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_operators.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_operators_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_quantitative_operations.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_quantitative_operations_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_saving_images.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_saving_images_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_subsetting.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_subsetting_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_view.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_view_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_annotations.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_annotations_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_dbs.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_dbs_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_plots.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_plots_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_annotation.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_annotation_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_axislabels.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_axislabels_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_axistitles.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_axistitles_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_bigdata.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_bigdata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_colortexture.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_colortexture_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_compositing.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_compositing_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_evalcubic.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_evalcubic_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_image.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_image_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_legends.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_legends_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_lighting.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_lighting_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_line2d.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_line2d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_line3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_line3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_offscreensave.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_offscreensave_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_ospray.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_ospray_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_pixeldata.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_pixeldata_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_renderpoints.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_renderpoints_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_saveformats.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_saveformats_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_scalable.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_scalable2.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_scalable2_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_c.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_c_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_shadows.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_shadows_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_specular.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_specular_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_text2d.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_text2d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_text3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_text3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_timeslider.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_timeslider_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_transparency.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_transparency_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_view.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_viewChange.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_viewChange_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_view_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_volume.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/rendering_volume_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_colortable.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_colortable_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_correlationsession.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_correlationsession_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_legendproperties.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_legendproperties_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_rect3d-contour.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_rect3d-contour_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_restorewithsources.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_restorewithsources_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_selection.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_selection_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_sessionexpression.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_sessionexpression_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_sessionview.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_sessionview_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_simplekeyframe.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_simplekeyframe_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_textannot.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_textannot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_view3d.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_view3d_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_wavecontour.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/session_wavecontour_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_amr.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_amr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_aresamr.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_aresamr_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_batch.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_batch_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_csg.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_csg_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_curve.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_curve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_domainbounds.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_domainbounds_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_domainlist.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_domainlist_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_ghostcells.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_ghostcells_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_globalids.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_globalids_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_interleave.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_interleave_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_life.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_life_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_mandelbrot.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_mandelbrot_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_material.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_material_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_materialvar.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_materialvar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_mesh.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_mesh_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_multiblock.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_multiblock_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_point.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_point_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_polyhedral.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_polyhedral_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_scalar.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_scalar_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_species.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_species_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_ucdcurve.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_ucdcurve_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_unstructured.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_unstructured_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_session.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_session_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_var.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_var_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_zerocopy.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/simulation_zerocopy_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_annotation_objects.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_annotation_objects_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_atts_assign.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_atts_assign_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_compiler_warnings.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_compiler_warnings_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_convert2to3.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_convert2to3_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_default_methods.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_default_methods_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_launcher.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_launcher_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_mrucache.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_mrucache_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_namescheme.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_namescheme_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_protocol.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_protocol_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_stringhelpers.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_stringhelpers_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_test_value_simple.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_test_value_simple_py.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_utility.html create mode 100644 2023-11-08-22:00/pascal_trunk_serial/unit_utility_py.html diff --git a/2023-11-08-22:00/pascal_trunk_parallel/Pick2D.html b/2023-11-08-22:00/pascal_trunk_parallel/Pick2D.html new file mode 100644 index 000000000..9ffc1cc5d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/Pick2D.html @@ -0,0 +1,1706 @@ +Results for test case Pick2D + +

Results for test case Pick2D

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
100 Lines Changed

+

1 modifications, totalling 100 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1:  
2: A: ucd2d.silo2: A: ucd2d.silo
3: ucdmesh2d3: ucdmesh2d
4: Point: <1.95556, 0.355556>4: Point: <1.95556, 0.355556>
5: Zone: 55: Zone: 5
6: Incident Nodes: 2 1 3 56: Incident Nodes: 2 1 3 5
7: d: <nodal>7: d: <nodal>
8:     (2) = 0.7071078:     (2) = 0.707107
9:     (1) = 29:     (1) = 2
10:     (3) = 0.70710710:     (3) = 0.707107
11:     (5) = 0.511:     (5) = 0.5
12:  12:  
13: p: <zonal> = 0.87513: p: <zonal> = 0.875
14:  14:  
15: u: <nodal>15: u: <nodal>
16:     (2) = -0.516:     (2) = -0.5
17:     (1) = 017:     (1) = 0
18:     (3) = 0.518:     (3) = 0.5
19:     (5) = 019:     (5) = 0
20:  20:  
21:  21:  
22: B: ucd2d.silo22: B: ucd2d.silo
23: ucdmesh2d23: ucdmesh2d
24: Point: <1.42222, 2.06222>24: Point: <1.42222, 2.06222>
25: Zone: 425: Zone: 4
26: Incident Nodes: 0 2 6 926: Incident Nodes: 0 2 6 9
27: d: <nodal>27: d: <nodal>
28:     (0) = 228:     (0) = 2
29:     (2) = 0.70710729:     (2) = 0.707107
30:     (6) = 0.530:     (6) = 0.5
31:     (9) = 0.70710731:     (9) = 0.707107
32:  32:  
33: p: <zonal> = 0.87533: p: <zonal> = 0.875
34:  34:  
35: u: <nodal>35: u: <nodal>
36:     (0) = -236:     (0) = -2
37:     (2) = -0.537:     (2) = -0.5
38:     (6) = -0.538:     (6) = -0.5
39:     (9) = -0.539:     (9) = -0.5
40:  40:  
41:  41:  
42: C: ucd2d.silo42: C: ucd2d.silo
43: ucdmesh2d43: ucdmesh2d
44: Point: <2, 1.125>44: Point: <2, 1.125>
45: Zone: 545: Zone: 5
46: Incident Nodes: 2 1 3 546: Incident Nodes: 2 1 3 5
47: d: <nodal>47: d: <nodal>
48:     (2) = 0.70710748:     (2) = 0.707107
49:     (1) = 249:     (1) = 2
50:     (3) = 0.70710750:     (3) = 0.707107
51:     (5) = 0.551:     (5) = 0.5
52:  52:  
53: p: <zonal> = 0.87553: p: <zonal> = 0.875
54:  54:  
55: u: <nodal>55: u: <nodal>
56:     (2) = -0.556:     (2) = -0.5
57:     (1) = 057:     (1) = 0
58:     (3) = 0.558:     (3) = 0.5
59:     (5) = 059:     (5) = 0
60:  60:  
61:  61:  
62: D: ucd2d.silo62: D: ucd2d.silo
63: ucdmesh2d63: ucdmesh2d
64: Point: <1.125, 2>64: Point: <1.125, 2>
65: Zone: 465: Zone: 4
66: Incident Nodes: 0 2 6 966: Incident Nodes: 0 2 6 9
67: d: <nodal>67: d: <nodal>
68:     (0) = 268:     (0) = 2
69:     (2) = 0.70710769:     (2) = 0.707107
70:     (6) = 0.570:     (6) = 0.5
71:     (9) = 0.70710771:     (9) = 0.707107
72:  72:  
73: p: <zonal> = 0.87573: p: <zonal> = 0.875
74:  74:  
75: u: <nodal>75: u: <nodal>
76:     (0) = -276:     (0) = -2
77:     (2) = -0.577:     (2) = -0.5
78:     (6) = -0.578:     (6) = -0.5
79:     (9) = -0.579:     (9) = -0.5
80:  80:  
81:  81:  
82: E: curv2d.silo82: E: curv2d.silo
83: curvmesh2d83: curvmesh2d
84: Point (Z,R): <0.179723, 2.09234>84: Point (Z,R): <0.179723, 2.09234>
85: Zone: 4485: Zone: 44
86: Incident Nodes: 45 46 77 7686: Incident Nodes: 45 46 77 76
87: d: <zonal> = 2.109687: d: <zonal> = 2.1096
88:  88:  
89:  89:  
90: F: curv2d.silo90: F: curv2d.silo
91: curvmesh2d91: curvmesh2d
92: Point (Z,R): <0.318298, 2.00966>92: Point (Z,R): <0.318298, 2.00966>
93: Zone: 13(ghost)93: Zone: 13(ghost)
94: Incident Nodes: 13(ghost) 14(ghost) 45 4494: Incident Nodes: 13(ghost) 14(ghost) 45 44
95: d: <zonal> = 2.0347195: d: <zonal> = 2.03471
96:  96:  
97:  97:  
98: G: curv2d.silo98: G: curv2d.silo
99: curvmesh2d99: curvmesh2d
100: Point (Z,R): <0.216897, 2.06363>100: Point (Z,R): <0.216897, 2.06363>
101: Node: 45101: Node: 45
102: Incident Zones: 43 13(ghost) 44 14(ghost)102: Incident Zones: 43 13(ghost) 44 14(ghost)
103: d: <zonal>103: d: <zonal>
104:     (43) = 2.1096104:     (43) = 2.1096
105:     (13) = 2.03471105:     (13) = 2.03471
106:     (44) = 2.1096106:     (44) = 2.1096
107:     (14) = 2.03471107:     (14) = 2.03471
108:  108:  
109:  109:  
110: H: curv2d.silo110: H: curv2d.silo
111: curvmesh2d111: curvmesh2d
112: Point (Z,R): <0.415823, 1.9563>112: Point (Z,R): <0.415823, 1.9563>
113: Node: 13(ghost)113: Node: 13(ghost)
114: Incident Zones: 12(ghost) 13(ghost)114: Incident Zones: 12(ghost) 13(ghost)
115: d: <zonal>115: d: <zonal>
116:     (12) = 2.03471116:     (12) = 2.03471
117:     (13) = 2.03471117:     (13) = 2.03471
118:  118:  
119:  119:  
120: I: curv2d.silo120: I: curv2d.silo
121: curvmesh2d121: curvmesh2d
122: Point (Z,R): <-0.253497, 4.09227>122: Point (Z,R): <-0.253497, 4.09227>
123: Zone: 855123: Zone: 855
124: Incident Nodes: 883 884 915 914124: Incident Nodes: 883 884 915 914
125: d: <zonal> = 4.13183125: d: <zonal> = 4.13183
126:  126:  
127:  127:  
128: J: curv2d.silo128: J: curv2d.silo
129: curvmesh2d129: curvmesh2d
130: Point (Z,R): <-3.50778, 1.34651>130: Point (Z,R): <-3.50778, 1.34651>
131: Zone: 716131: Zone: 716
132: Incident Nodes: 739 740 771 770132: Incident Nodes: 739 740 771 770
133: d: <zonal> = 3.75734133: d: <zonal> = 3.75734
134:  134:  
135:  135:  
136: K: curv2d.silo136: K: curv2d.silo
137: curvmesh2d137: curvmesh2d
138: Point (Z,R): <-0.428567, 4.07754>138: Point (Z,R): <-0.428567, 4.07754>
139: Node: 884139: Node: 884
140: Incident Zones: 855 825 856 826140: Incident Zones: 855 825 856 826
141: d: <zonal>141: d: <zonal>
142:     (855) = 4.13183142:     (855) = 4.13183
143:     (825) = 4.05693143:     (825) = 4.05693
144:     (856) = 4.13183144:     (856) = 4.13183
145:     (826) = 4.05693145:     (826) = 4.05693
146:  146:  
147:  147:  
148: L: curv2d.silo148: L: curv2d.silo
149: curvmesh2d149: curvmesh2d
150: Point (Z,R): <3.8, 0>150: Point (Z,R): <3.8, 0>
151: Node: 744(ghost)151: Node: 744(ghost)
152: Incident Zones: 720(ghost) 690(ghost)152: Incident Zones: 720(ghost) 690(ghost)
153: d: <zonal>153: d: <zonal>
154:     (720) = 3.83224154:     (720) = 3.83224
155:     (690) = 3.75734155:     (690) = 3.75734
156:  156:  
157:  157:  
158: M: curv2d.silo158: M: curv2d.silo
159: curvmesh2d159: curvmesh2d
160: Point (Z,R): <-2.41668, 1.87777>160: Point (Z,R): <-2.41668, 1.87777>
161: Zone: 443161: Zone: 443
162: Incident Nodes: 457 458 489 488162: Incident Nodes: 457 458 489 488
163: d: <zonal> = 3.08327163: d: <zonal> = 3.08327
164:  164:  
165:  165:  
166: N: curv2d.silo166: N: curv2d.silo
167: curvmesh2d167: curvmesh2d
168: Point (Z,R): <2.92945, 0.153526>168: Point (Z,R): <2.92945, 0.153526>
169: Zone: 360(ghost)169: Zone: 360(ghost)
170: Incident Nodes: 372(ghost) 373 404 403(ghost)170: Incident Nodes: 372(ghost) 373 404 403(ghost)
171: d: <zonal> = 2.93347171: d: <zonal> = 2.93347
172:  172:  
173:  173:  
174: O: curv2d.silo174: O: curv2d.silo
175: curvmesh2d175: curvmesh2d
176: Point (Z,R): <-2.4675, 1.79275>176: Point (Z,R): <-2.4675, 1.79275>
177: Node: 458177: Node: 458
178: Incident Zones: 443 413 444 414178: Incident Zones: 443 413 444 414
179: d: <zonal>179: d: <zonal>
180:     (443) = 3.08327180:     (443) = 3.08327
181:     (413) = 3.00837181:     (413) = 3.00837
182:     (444) = 3.08327182:     (444) = 3.08327
183:     (414) = 3.00837183:     (414) = 3.00837
184:  184:  
185:  185:  
186: P: curv2d.silo186: P: curv2d.silo
187: curvmesh2d187: curvmesh2d
188: Point (Z,R): <2.83663, 0.602944>188: Point (Z,R): <2.83663, 0.602944>
189: Node: 374189: Node: 374
190: Incident Zones: 361 331 362 332190: Incident Zones: 361 331 362 332
191: d: <zonal>191: d: <zonal>
192:     (361) = 2.93347192:     (361) = 2.93347
193:     (331) = 2.85858193:     (331) = 2.85858
194:     (362) = 2.93347194:     (362) = 2.93347
195:     (332) = 2.85858195:     (332) = 2.85858
196:  196:  
197:  197:  
198: Q: curv2d.silo198: Q: curv2d.silo
199: curvmesh2d199: curvmesh2d
200: Point (Z,R): <2.03693, 1.06863>200: Point (Z,R): <2.03693, 1.06863>
201: Zone: 124201: Zone: 124
202: Incident Nodes: 128 129 160 159202: Incident Nodes: 128 129 160 159
203: d: <zonal> = 2.3343203: d: <zonal> = 2.3343
204:  204:  
205:  205:  
206: R: curv2d.silo206: R: curv2d.silo
207: curvmesh2d207: curvmesh2d
208: Point (Z,R): <-1.37475, 1.69768>208: Point (Z,R): <-1.37475, 1.69768>
209: Zone: 81209: Zone: 81
210: Incident Nodes: 83 84 115 114210: Incident Nodes: 83 84 115 114
211: d: <zonal> = 2.1845211: d: <zonal> = 2.1845
212:  212:  
213:  213:  
214: S: curv2d.silo214: S: curv2d.silo
215: curvmesh2d215: curvmesh2d
216: Point (Z,R): <1.99186, 1.15>216: Point (Z,R): <1.99186, 1.15>
217: Node: 129217: Node: 129
218: Incident Zones: 124 94 125 95218: Incident Zones: 124 94 125 95
219: d: <zonal>219: d: <zonal>
220:     (124) = 2.3343220:     (124) = 2.3343
221:     (94) = 2.2594221:     (94) = 2.2594
222:     (125) = 2.3343222:     (125) = 2.3343
223:     (95) = 2.2594223:     (95) = 2.2594
224:  224:  
225:  225:  
226: T: curv2d.silo226: T: curv2d.silo
227: curvmesh2d227: curvmesh2d
228: Point (Z,R): <-1.59776, 1.43863>228: Point (Z,R): <-1.59776, 1.43863>
229: Node: 85229: Node: 85
230: Incident Zones: 82 52 83 53230: Incident Zones: 82 52 83 53
231: d: <zonal>231: d: <zonal>
232:     (82) = 2.1845232:     (82) = 2.1845
233:     (52) = 2.1096233:     (52) = 2.1096
234:     (83) = 2.1845234:     (83) = 2.1845
235:     (53) = 2.1096235:     (53) = 2.1096
236:  236:  
237:  237: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
238: U: rect2d.silo
239: quadmesh2d
240: Point: <0.244444, 0.994444>
241: Zone: 877
242: Incident Nodes: 906 907 937 938
243: ascii: <zonal> = O
244:  
245:  
246: V: rect2d.silo
247: quadmesh2d
248: Point: <0.527778, 0.527778>
249: Zone: 465
250: Incident Nodes: 480 481 511 512
251: ascii: <zonal> = A
252:  
253:  
254: W: rect2d.silo
255: quadmesh2d
256: Point: <0.966667, 1.29444>
257: Zone: 1169
258: Incident Nodes: 1207 1208 1238 1239
259: ascii: <zonal> = Y
260:  
261:  
262: X: rect2d.silo
263: quadmesh2d
264: Point: <0.505556, 1.22778>
265: Zone: 1095
266: Incident Nodes: 1131 1132 1162 1163
267: ascii: <zonal> = T
268:  
269:  
270: Y: rect2d.silo
271: quadmesh2d
272: Point: <0.705556, 0.338889>
273: Zone: 321
274: Incident Nodes: 331 332 362 363
275: ascii: <zonal> = H
276:  
277:  
278: Z: rect2d.silo
279: quadmesh2d
280: Point: <0.233333, 1>
281: Node: 937
282: Incident Zones: 906 876 907 877
283: ascii: <zonal>
284:     (906) = Q
285:     (876) = P
286:     (907) = P
287:     (877) = O
288:  
289:  
290: a: rect2d.silo
291: quadmesh2d
292: Point: <0.533333, 0.533333>
293: Node: 512
294: Incident Zones: 495 465 496 466
295: ascii: <zonal>
296:     (495) = A
297:     (465) = A
298:     (496) = B
299:     (466) = A
300:  
301:  
302: b: rect2d.silo
303: quadmesh2d
304: Point: <0.966667, 1.3>
305: Node: 1238
306: Incident Zones: 1198 1168 1199 1169
307: ascii: <zonal>
308:     (1198) = Z
309:     (1168) = Y
310:     (1199) = Z
311:     (1169) = Y
312:  
313:  
314: c: rect2d.silo
315: quadmesh2d
316: Point: <0.5, 1.23333>
317: Node: 1162
318: Incident Zones: 1124 1094 1125 1095
319: ascii: <zonal>
320:     (1124) = U
321:     (1094) = T
322:     (1125) = U
323:     (1095) = T
324:  
325:  
326: d: rect2d.silo
327: quadmesh2d
328: Point: <0.7, 0.333333>
329: Node: 331
330: Incident Zones: 320 290 321 291
331: ascii: <zonal>
332:     (320) = G
333:     (290) = H
334:     (321) = H
335:     (291) = H
336:  
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/Pick3DTo2D.html b/2023-11-08-22:00/pascal_trunk_parallel/Pick3DTo2D.html new file mode 100644 index 000000000..d20b443dc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/Pick3DTo2D.html @@ -0,0 +1,2126 @@ +Results for test case Pick3DTo2D + +

Results for test case Pick3DTo2D

+ + + + + +
Legend
46 Lines Added
66 Lines Deleted
31 Lines Changed

+

10 modifications, totalling 143 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1:  
2: A: globe.silo2: A: globe.silo
3: mesh13: mesh1
4: Point: <0, -4.48889, 3.95556>4: Point: <0, -4.48889, 3.95556>
5: Zone: 5545: Zone: 554
6: Incident Nodes: 797 798 789 788 851 852 843 8426: Incident Nodes: 797 798 789 788 851 852 843 842
7: u: <nodal>7: u: <nodal>
8:     (797) = -3.726788:     (797) = -3.72678
9:     (798) = -5.129479:     (798) = -5.12947
10:     (789) = -3.847110:     (789) = -3.8471
11:     (788) = -2.7950811:     (788) = -2.79508
12:     (851) = -3.9185712:     (851) = -3.91857
13:     (852) = -5.3934513:     (852) = -5.39345
14:     (843) = -4.0450814:     (843) = -4.04508
15:     (842) = -2.9389315:     (842) = -2.93893
16:  16:  
17:  17:  
18: B: globe.silo18: B: globe.silo
19: mesh119: mesh1
20: Point: <0, 4.4, -2.44444>20: Point: <0, 4.4, -2.44444>
21: Zone: 94521: Zone: 945
22: Incident Nodes: 315 316 307 306 369 370 361 36022: Incident Nodes: 315 316 307 306 369 370 361 360
23: u: <nodal>23: u: <nodal>
24:     (315) = 6.3403824:     (315) = 6.34038
25:     (316) = 5.3934525:     (316) = 5.39345
26:     (307) = 4.0450826:     (307) = 4.04508
27:     (306) = 4.7552827:     (306) = 4.75528
28:     (369) = 6.0300628:     (369) = 6.03006
29:     (370) = 5.1294729:     (370) = 5.12947
30:     (361) = 3.847130:     (361) = 3.8471
31:     (360) = 4.5225431:     (360) = 4.52254
32:  32:  
33:  33:  
34: C: globe.silo34: C: globe.silo
35: mesh135: mesh1
36: Point: <-0.629469, -3.97431, 4.07401>36: Point: <-0.629469, -3.97431, 4.07401>
37: Zone: 55437: Zone: 554
38: Incident Nodes: 797 798 789 788 851 852 843 84238: Incident Nodes: 797 798 789 788 851 852 843 842
39: u: <nodal>39: u: <nodal>
40:     (797) = -3.7267840:     (797) = -3.72678
41:     (798) = -5.1294741:     (798) = -5.12947
42:     (789) = -3.847142:     (789) = -3.8471
43:     (788) = -2.7950843:     (788) = -2.79508
44:     (851) = -3.9185744:     (851) = -3.91857
45:     (852) = -5.3934545:     (852) = -5.39345
46:     (843) = -4.0450846:     (843) = -4.04508
47:     (842) = -2.9389347:     (842) = -2.93893
48:  48:  
49:  49:  
50: D: globe.silo50: D: globe.silo
51: mesh151: mesh1
52: Point: <-0.793176, 5.00792, -2.61567>52: Point: <-0.793176, 5.00792, -2.61567>
53: Zone: 94553: Zone: 945
54: Incident Nodes: 315 316 307 306 369 370 361 36054: Incident Nodes: 315 316 307 306 369 370 361 360
55: u: <nodal>55: u: <nodal>
56:     (315) = 6.3403856:     (315) = 6.34038
57:     (316) = 5.3934557:     (316) = 5.39345
58:     (307) = 4.0450858:     (307) = 4.04508
59:     (306) = 4.7552859:     (306) = 4.75528
60:     (369) = 6.0300660:     (369) = 6.03006
61:     (370) = 5.1294761:     (370) = 5.12947
62:     (361) = 3.847162:     (361) = 3.8471
63:     (360) = 4.5225463:     (360) = 4.52254
64:  64:  
65:  65:  
66: E: globe.silo66: E: globe.silo
67: mesh167: mesh1
68: Point: <0, -4.48889, 3.95556>68: Point: <0, -4.48889, 3.95556>
69: Zone: 55469: Zone: 554
70: Incident Nodes: 797 798 789 788 851 852 843 84270: Incident Nodes: 797 798 789 788 851 852 843 842
71: u: <nodal>71: u: <nodal>
72:     (797) = -3.7267872:     (797) = -3.72678
73:     (798) = -5.1294773:     (798) = -5.12947
74:     (789) = -3.847174:     (789) = -3.8471
75:     (788) = -2.7950875:     (788) = -2.79508
76:     (851) = -3.9185776:     (851) = -3.91857
77:     (852) = -5.3934577:     (852) = -5.39345
78:     (843) = -4.0450878:     (843) = -4.04508
79:     (842) = -2.9389379:     (842) = -2.93893
80:  80:  
81:  81:  
82: F: globe.silo82: F: globe.silo
83: mesh183: mesh1
84: Point: <0, 4.4, -2.44444>84: Point: <0, 4.4, -2.44444>
85: Zone: 94585: Zone: 945
86: Incident Nodes: 315 316 307 306 369 370 361 36086: Incident Nodes: 315 316 307 306 369 370 361 360
87: u: <nodal>87: u: <nodal>
88:     (315) = 6.3403888:     (315) = 6.34038
89:     (316) = 5.3934589:     (316) = 5.39345
90:     (307) = 4.0450890:     (307) = 4.04508
91:     (306) = 4.7552891:     (306) = 4.75528
92:     (369) = 6.0300692:     (369) = 6.03006
93:     (370) = 5.1294793:     (370) = 5.12947
94:     (361) = 3.847194:     (361) = 3.8471
95:     (360) = 4.5225495:     (360) = 4.52254
96:  96:  
97:  97:  
98: G: globe.silo98: G: globe.silo
99: mesh199: mesh1
100: Point: <-0.629469, -3.97431, 4.07401>100: Point: <-0.629469, -3.97431, 4.07401>
101: Zone: 554101: Zone: 554
102: Incident Nodes: 797 798 789 788 851 852 843 842102: Incident Nodes: 797 798 789 788 851 852 843 842
103: u: <nodal>103: u: <nodal>
104:     (797) = -3.72678104:     (797) = -3.72678
105:     (798) = -5.12947105:     (798) = -5.12947
106:     (789) = -3.8471106:     (789) = -3.8471
107:     (788) = -2.79508107:     (788) = -2.79508
108:     (851) = -3.91857108:     (851) = -3.91857
109:     (852) = -5.39345109:     (852) = -5.39345
110:     (843) = -4.04508110:     (843) = -4.04508
111:     (842) = -2.93893111:     (842) = -2.93893
112:  112:  
113:  113:  
114: H: globe.silo114: H: globe.silo
115: mesh1115: mesh1
116: Point: <-0.793176, 5.00792, -2.61567>116: Point: <-0.793176, 5.00792, -2.61567>
117: Zone: 945117: Zone: 945
118: Incident Nodes: 315 316 307 306 369 370 361 360118: Incident Nodes: 315 316 307 306 369 370 361 360
119: u: <nodal>119: u: <nodal>
120:     (315) = 6.34038120:     (315) = 6.34038
121:     (316) = 5.39345121:     (316) = 5.39345
122:     (307) = 4.04508122:     (307) = 4.04508
123:     (306) = 4.75528123:     (306) = 4.75528
124:     (369) = 6.03006124:     (369) = 6.03006
125:     (370) = 5.12947125:     (370) = 5.12947
126:     (361) = 3.8471126:     (361) = 3.8471
127:     (360) = 4.52254127:     (360) = 4.52254
128:  128:  
129:  129:  
130: I: globe.silo130: I: globe.silo
131: mesh1131: mesh1
132: Point: (in transformed space)132: Point: (in transformed space)
133:        <-0.650387, 1.08398, 0>133:        <-0.650387, 1.08398, 0>
134: Zone: 506134: Zone: 506
135: Incident Nodes: 347 348 339 338 401 402 393 392135: Incident Nodes: 347 348 339 338 401 402 393 392
136: u: <nodal>136: u: <nodal>
137:     (347) = 1.86339137:     (347) = 1.86339
138:     (348) = 2.56474138:     (348) = 2.56474
139:     (339) = 1.28237139:     (339) = 1.28237
140:     (338) = 0.931695140:     (338) = 0.931695
141:     (401) = 1.58509141:     (401) = 1.58509
142:     (402) = 2.18169142:     (402) = 2.18169
143:     (393) = 1.09085143:     (393) = 1.09085
144:     (392) = 0.792547144:     (392) = 0.792547
145:  145:  
146:  146:  
147: J: globe.silo147: J: globe.silo
148: mesh1148: mesh1
149: Point: (in transformed space)149: Point: (in transformed space)
150:        <-3.0785, -4.9863, 0>150:        <-3.0785, -4.9863, 0>
151: Zone: 593151: Zone: 593
152: Incident Nodes: 761 762 753 752 815 816 807 806152: Incident Nodes: 761 762 753 752 815 816 807 806
153: u: <nodal>153: u: <nodal>
154:     (761) = -4.75528154:     (761) = -4.75528
155:     (762) = -6.54508155:     (762) = -6.54508
156:     (753) = -5.45424156:     (753) = -5.45424
157:     (752) = -3.96274157:     (752) = -3.96274
158:     (815) = -5.59017158:     (815) = -5.59017
159:     (816) = -7.69421159:     (816) = -7.69421
160:     (807) = -6.41184160:     (807) = -6.41184
161:     (806) = -4.65847161:     (806) = -4.65847
162:  162:  
163:  163:  
164: K: globe.silo164: K: globe.silo
165: mesh1165: mesh1
166: Point: <0.782909, 1.53655, 1.746>166: Point: <0.782909, 1.53655, 1.746>
167: Zone: 503167: Zone: 503
168: Incident Nodes: 185 186 177 176 239 240 231 230168: Incident Nodes: 185 186 177 176 239 240 231 230
169: u: <nodal>169: u: <nodal>
170:     (185) = 1.58509170:     (185) = 1.58509
171:     (186) = 2.18169171:     (186) = 2.18169
172:     (177) = 1.09085172:     (177) = 1.09085
173:     (176) = 0.792547173:     (176) = 0.792547
174:     (239) = 1.86339174:     (239) = 1.86339
175:     (240) = 2.56474175:     (240) = 2.56474
176:     (231) = 1.28237176:     (231) = 1.28237
177:     (230) = 0.931695177:     (230) = 0.931695
178:  178:  
179:  179:  
180: L: globe.silo180: L: globe.silo
181: mesh1181: mesh1
182: Point: <2.87067, -5.634, 6.40201>182: Point: <2.87067, -5.634, 6.40201>
183: Zone: 596183: Zone: 596
184: Incident Nodes: 923 924 915 914 977 978 969 968184: Incident Nodes: 923 924 915 914 977 978 969 968
185: u: <nodal>185: u: <nodal>
186:     (923) = -5.59017186:     (923) = -5.59017
187:     (924) = -7.69421187:     (924) = -7.69421
188:     (915) = -6.41184188:     (915) = -6.41184
189:     (914) = -4.65847189:     (914) = -4.65847
190:     (977) = -4.75528190:     (977) = -4.75528
191:     (978) = -6.54508191:     (978) = -6.54508
192:     (969) = -5.45424192:     (969) = -5.45424
193:     (968) = -3.96274193:     (968) = -3.96274
194:  194:  
195:  195:  
196: Pick with all materials turned on:196: Pick with all materials turned on:
197:  197: Chosen pick did not intersect surface.
198: M: multi_rect3d.silo198: M: multi_rect3d.silo
199: mesh1 domain 1
200: Point: <0.2, 0.0666667, 0.0888889>
201: Zone: 225
202: Incident Nodes: 269 270 280 281 390 391 401 402
203: d: <zonal> = 0.682125
204:  
205:  
206: N: multi_rect3d.silo
207: mesh1 domain 1199: mesh1 domain 1
208: Point: <0.216667, 0.0625, 0.0833333>200: Point: <0.216667, 0.0625, 0.0833333>
209: Zone: 226201: Zone: 226
210: Incident Nodes: 270 271 281 282 391 392 402 403202: Incident Nodes: 270 271 281 282 391 392 402 403
211: d: <zonal> = 0.667304203: d: <zonal> = 0.667304
212:  204:  
213:  205: Chosen pick did not intersect surface.
214: O: multi_rect3d.silo206: N: multi_rect3d.silo
215: mesh1 domain 19
216: Point: <0.2, 0.511111, 0.555556>
217: Zone: 605
218: Incident Nodes: 731 732 742 743 852 853 863 864
219: d: <zonal> = 0.320833
220:  
221:  
222: P: multi_rect3d.silo
223: mesh1 domain 19207: mesh1 domain 19
224: Point: <0.216667, 0.5125, 0.55>208: Point: <0.216667, 0.5125, 0.55>
225: Zone: 606209: Zone: 606
226: Incident Nodes: 732 733 743 744 853 854 864 865210: Incident Nodes: 732 733 743 744 853 854 864 865
227: d: <zonal> = 0.287983211: d: <zonal> = 0.287983
228:  212:  
229:  213: Chosen pick did not intersect surface.
230: Q: multi_rect3d.silo214: O: multi_rect3d.silo
231: mesh1 domain 1215: mesh1 domain 1
232: Point: <0.2, 0.075, 0.1>216: Point: <0.2, 0.075, 0.1>
233: Node: 402217: Node: 402
234: Incident Zones: 335 325 225 235 336 326 226 236218: Incident Zones: 335 325 225 235 336 326 226 236
235: d: <zonal>219: d: <zonal>
236:     (335) = 0.646048220:     (335) = 0.646048
237:     (325) = 0.66229221:     (325) = 0.66229
238:     (225) = 0.682125222:     (225) = 0.682125
239:     (235) = 0.666367223:     (235) = 0.666367
240:     (336) = 0.63038224:     (336) = 0.63038
241:     (326) = 0.647015225:     (326) = 0.647015
242:     (226) = 0.667304226:     (226) = 0.667304
243:     (236) = 0.651187227:     (236) = 0.651187
244:  228:  
229: Chosen pick did not intersect surface.
230: P: multi_rect3d.silo
231: mesh1 domain 19
232: Point: <0.2, 0.5, 0.566667>
233: Node: 853
234: Incident Zones: 705 605 706 606
235: d: <zonal>
236:     (705) = 0.327687
237:     (605) = 0.320833
238:     (706) = 0.295599
239:     (606) = 0.287983
240:  
241:  
242: Pick with material 2 turned off:
243:  
244: Q: multi_rect3d.silo
245: mesh1 domain 1
246: Point: <0.2, 0.0666667, 0.0888889>
247: Zone: 225
248: Incident Nodes: 269 270 280 281 390 391 401 402
249: d: <zonal> = 0.682125
250:  
245:  251:  
246: R: multi_rect3d.silo252: R: multi_rect3d.silo
253: mesh1 domain 1
254: Point: <0.216667, 0.0625, 0.0833333>
255: Zone: 226
256: Incident Nodes: 270 271 281 282 391 392 402 403
257: d: <zonal> = 0.667304
258:  
259:  
260: S: multi_rect3d.silo
261: mesh1 domain 19
262: Point: <0.2, 0.511111, 0.555556>
263: Zone: 605
264: Incident Nodes: 731 732 742 743 852 853 863 864
265: d: <zonal> = 0.320833
266:  
267:  
268: T: multi_rect3d.silo
269: mesh1 domain 19
270: Point: <0.216667, 0.5125, 0.55>
271: Zone: 606
272: Incident Nodes: 732 733 743 744 853 854 864 865
273: d: <zonal> = 0.287983
274:  
275:  
276: U: multi_rect3d.silo
247: mesh1 domain 1277: mesh1 domain 1
248: Point: <0.2, 0.075, 0.1>278: Point: <0.2, 0.075, 0.1>
249: Node: 402279: Node: 402
250: Incident Zones: 335 325 225 235 336 326 226 236280: Incident Zones: 335 325 225 235 336 326 226 236
251: d: <zonal>281: d: <zonal>
252:     (335) = 0.646048282:     (335) = 0.646048
253:     (325) = 0.66229283:     (325) = 0.66229
254:     (225) = 0.682125284:     (225) = 0.682125
255:     (235) = 0.666367285:     (235) = 0.666367
256:     (336) = 0.63038286:     (336) = 0.63038
257:     (326) = 0.647015287:     (326) = 0.647015
258:     (226) = 0.667304288:     (226) = 0.667304
259:     (236) = 0.651187289:     (236) = 0.651187
260:  290:  
261:  291:  
262: S: multi_rect3d.silo
263: mesh1 domain 19
264: Point: <0.2, 0.5, 0.566667>
265: Node: 853
266: Incident Zones: 705 605 706 606
267: d: <zonal>
268:     (705) = 0.327687
269:     (605) = 0.320833
270:     (706) = 0.295599
271:     (606) = 0.287983
272:  
273:  
274: T: multi_rect3d.silo
275: mesh1 domain 19
276: Point: <0.2, 0.5, 0.566667>
277: Node: 853
278: Incident Zones: 705 605 706 606
279: d: <zonal>
280:     (705) = 0.327687
281:     (605) = 0.320833
282:     (706) = 0.295599
283:     (606) = 0.287983
284:  
285:  
286: Pick with material 2 turned off:
287:  
288: U: multi_rect3d.silo
289: mesh1 domain 1
290: Point: <0.2, 0.0666667, 0.0888889>
291: Zone: 226
292: Incident Nodes: 270 271 281 282 391 392 402 403
293: d: <zonal> = 0.667304
294:  
295:  
296: V: multi_rect3d.silo292: V: multi_rect3d.silo
297: mesh1 domain 1
298: Point: <0.216667, 0.0625, 0.0833333>
299: Zone: 226
300: Incident Nodes: 270 271 281 282 391 392 402 403
301: d: <zonal> = 0.667304
302:  
303:  
304: W: multi_rect3d.silo
305: mesh1 domain 19
306: Point: <0.2, 0.511111, 0.555556>
307: Zone: 606
308: Incident Nodes: 732 733 743 744 853 854 864 865
309: d: <zonal> = 0.287983
310:  
311:  
312: X: multi_rect3d.silo
313: mesh1 domain 19
314: Point: <0.216667, 0.5125, 0.55>
315: Zone: 606
316: Incident Nodes: 732 733 743 744 853 854 864 865
317: d: <zonal> = 0.287983
318:  
319:  
320: Y: multi_rect3d.silo
321: mesh1 domain 1293: mesh1 domain 1
322: Point: <0.2, 0.075, 0.1>294: Point: <0.2, 0.075, 0.1>
323: Node: 402295: Node: 402
324: Incident Zones: 335 325 225 235 336 326 226 236296: Incident Zones: 335 325 225 235 336 326 226 236
325: d: <zonal>297: d: <zonal>
326:     (335) = 0.646048298:     (335) = 0.646048
327:     (325) = 0.66229299:     (325) = 0.66229
328:     (225) = 0.682125300:     (225) = 0.682125
329:     (235) = 0.666367301:     (235) = 0.666367
330:     (336) = 0.63038302:     (336) = 0.63038
331:     (326) = 0.647015303:     (326) = 0.647015
332:     (226) = 0.667304304:     (226) = 0.667304
333:     (236) = 0.651187305:     (236) = 0.651187
334:  306:  
335:  307:  
336: Z: multi_rect3d.silo308: W: multi_rect3d.silo
337: mesh1 domain 1
338: Point: <0.2, 0.075, 0.1>
339: Node: 402
340: Incident Zones: 335 325 225 235 336 326 226 236
341: d: <zonal>
342:     (335) = 0.646048
343:     (325) = 0.66229
344:     (225) = 0.682125
345:     (235) = 0.666367
346:     (336) = 0.63038
347:     (326) = 0.647015
348:     (226) = 0.667304
349:     (236) = 0.651187
350:  
351:  
352: a: multi_rect3d.silo
353: mesh1 domain 19309: mesh1 domain 19
354: Point: <0.2, 0.5, 0.566667>310: Point: <0.2, 0.5, 0.566667>
355: Node: 853311: Node: 853
356: Incident Zones: 705 605 706 606312: Incident Zones: 705 605 706 606
357: d: <zonal>313: d: <zonal>
358:     (705) = 0.327687314:     (705) = 0.327687
359:     (605) = 0.320833315:     (605) = 0.320833
360:     (706) = 0.295599316:     (706) = 0.295599
361:     (606) = 0.287983317:     (606) = 0.287983
362:  318:  
363:  319:  
364: b: multi_rect3d.silo320: X: multi_rect3d.silo
365: mesh1 domain 19321: mesh1 domain 19
366: Point: <0.2, 0.5, 0.566667>322: Point: <0.2, 0.5, 0.566667>
367: Node: 853323: Node: 853
368: Incident Zones: 705 605 706 606324: Incident Zones: 705 605 706 606
369: d: <zonal>325: d: <zonal>
370:     (705) = 0.327687326:     (705) = 0.327687
371:     (605) = 0.320833327:     (605) = 0.320833
372:     (706) = 0.295599328:     (706) = 0.295599
373:     (606) = 0.287983329:     (606) = 0.287983
374:  330:  
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/PickAMR.html b/2023-11-08-22:00/pascal_trunk_parallel/PickAMR.html new file mode 100644 index 000000000..0c0583804 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/PickAMR.html @@ -0,0 +1,1271 @@ +Results for test case PickAMR + +

Results for test case PickAMR

+ + + + + +
Legend
2 Lines Added
98 Lines Deleted
13 Lines Changed

+

15 modifications, totalling 113 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1: Testing boxlib 2D, pseudocolor1: Testing boxlib 2D, pseudocolor
2: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
3: Testing boxlib 2D, contour
2:  4:  
3: A: Header5: A: Header
4: Mesh level 2 patch level2,patch2
5: Point (R,Z): <0.0282891, 0.12232>
6: Node: 654
7: Incident Zones: 638 598 639 599
8: density: <zonal>
9:     (638) = 3.69789
10:     (598) = 4.17764
11:     (639) = 3.69759
12:     (599) = 4.15408
13:  
14:  
15: B: Header
16: Mesh level 2 patch level2,patch2
17: Point (R,Z): <0.028445, 0.122458>
18: Zone: 639
19: Incident Nodes: 654 655 695 696
20: density: <zonal> = 3.69759
21:  
22:  
23: C: Header
24: Mesh level 2 patch level2,patch2
25: Point (R,Z): <0.0282891, 0.121922>
26: Node: 613
27: Incident Zones: 598 558 599 559
28: density: <zonal>
29:     (598) = 4.17764
30:     (558) = 4.16579
31:     (599) = 4.15408
32:     (559) = 4.1593
33:  
34:  
35: D: Header
36: Mesh level 2 patch level2,patch2
37: Point (R,Z): <0.0280996, 0.122113>
38: Zone: 598
39: Incident Nodes: 612 613 653 654
40: density: <zonal> = 4.17764
41:  
42:  
43: E: Header
44: Mesh level 2 patch level2,patch2
45: Point (R,Z): <0.0251016, 0.11993>
46: Node: 400
47: Incident Zones: 390 350 391 351
48: density: <zonal>
49:     (390) = 5.09666
50:     (350) = 5.20894
51:     (391) = 5.11838
52:     (351) = 5.0991
53:  
54:  
55: F: Header
56: Mesh level 2 patch level2,patch2
57: Point (R,Z): <0.0249287, 0.119789>
58: Zone: 350
59: Incident Nodes: 358 359 399 400
60: density: <zonal> = 5.20894
61:  
62:  
63: G: Header
64: Mesh level 1 patch level1,patch7
65: Point (R,Z): <0.0270937, 0.122719>
66: Node: 2840
67: Incident Zones: 2793 2794
68: density: <zonal>
69:     (2793) = 3.29057
70:     (2794) = 3.55829
71:  
72:  
73: H: Header
74: Mesh level 1 patch level1,patch7
75: Point (R,Z): <0.0272833, 0.123024>
76: Zone: 2794
77: Incident Nodes: 2840 2841 2901 2902
78: density: <zonal> = 3.55829
79:  
80:  
81: I: Header
82: Mesh level 1 patch level1,patch7
83: Point (R,Z): <0.0286875, 0.118734>
84: Node: 2537
85: Incident Zones: 2496 2436
86: density: <zonal>
87:     (2496) = 4.62701
88:     (2436) = 4.28138
89:  
90:  
91: J: Header
92: Mesh level 1 patch level1,patch7
93: Point (R,Z): <0.0289473, 0.119098>
94: Zone: 2496
95: Incident Nodes: 2537 2538 2598 2599
96: density: <zonal> = 4.62701
97:  
98:  
99: Testing boxlib 2D, contour
100:  
101: K: Header
102: Mesh level 1 patch level1,patch56: Mesh level 1 patch level1,patch5
103: Point (R,Z): <0.0202973, 0.124521>7: Point (R,Z): <0.0202973, 0.124521>
104: Zone: 258: Zone: 25
105: Incident Nodes: 25 26 70 719: Incident Nodes: 25 26 70 71
106: density: <zonal> = 2.8448110: density: <zonal> = 2.84481
107:  11:  
108:  12:  
109: L: Header13: B: Header
110: Mesh level 1 patch level1,patch514: Mesh level 1 patch level1,patch5
111: Point (R,Z): <0.0199219, 0.124313>15: Point (R,Z): <0.0199219, 0.124313>
112: Node: 2516: Node: 25
113: Incident Zones: 24 2517: Incident Zones: 24 25
114: density: <zonal>18: density: <zonal>
115:     (24) = 2.9548619:     (24) = 2.95486
116:     (25) = 2.8448120:     (25) = 2.84481
117:  21:  
118:  22:  
119: M: Header23: C: Header
120: Mesh level 1 patch level1,patch524: Mesh level 1 patch level1,patch5
121: Point (R,Z): <0.0227024, 0.124842>25: Point (R,Z): <0.0227024, 0.124842>
122: Zone: 2826: Zone: 28
123: Incident Nodes: 28 29 73 7427: Incident Nodes: 28 29 73 74
124: density: <zonal> = 2.6896628: density: <zonal> = 2.68966
125:  29:  
126:  30:  
127: N: Header31: D: Header
128: Mesh level 1 patch level1,patch532: Mesh level 1 patch level1,patch5
129: Point (R,Z): <0.0223125, 0.125109>33: Point (R,Z): <0.0223125, 0.125109>
130: Node: 7334: Node: 73
131: Incident Zones: 71 27 72 2835: Incident Zones: 71 27 72 28
132: density: <zonal>36: density: <zonal>
133:     (71) = 1.9186537:     (71) = 1.91865
134:     (27) = 2.6747738:     (27) = 2.67477
135:     (72) = 1.9130739:     (72) = 1.91307
136:     (28) = 2.6896640:     (28) = 2.68966
137:  41:  
138:  42:  
139: O: Header43: E: Header
140: Mesh level 2 patch level2,patch2844: Mesh level 2 patch level2,patch28
141: Point (R,Z): <0.0310403, 0.113927>45: Point (R,Z): <0.0310403, 0.113927>
142: Zone: 79346: Zone: 793
143: Incident Nodes: 842 843 859 86047: Incident Nodes: 842 843 859 860
144: density: <zonal> = 0.1911948: density: <zonal> = 0.19119
145:  49:  
146:  50:  
147: P: Header51: F: Header
148: Mesh level 2 patch level2,patch2852: Mesh level 2 patch level2,patch28
149: Point (R,Z): <0.0310781, 0.113953>53: Point (R,Z): <0.0310781, 0.113953>
150: Node: 86054: Node: 860
151: Incident Zones: 809 793 810 79455: Incident Zones: 809 793 810 794
152: density: <zonal>56: density: <zonal>
153:     (809) = 0.3686357:     (809) = 0.36863
154:     (793) = 0.1911958:     (793) = 0.19119
155:     (810) = 0.3639459:     (810) = 0.36394
156:     (794) = 0.18964260:     (794) = 0.189642
157:  61:  
158:  62:  
159: Q: Header63: G: Header
160: Mesh level 0 patch level0,patch064: Mesh level 0 patch level0,patch0
161: Point (R,Z): <0.0353697, 0.133991>65: Point (R,Z): <0.0353697, 0.133991>
162: Zone: 539866: Zone: 5398
163: Incident Nodes: 5482 5483 5547 554867: Incident Nodes: 5482 5483 5547 5548
164: density: <zonal> = 0.17987768: density: <zonal> = 0.179877
165:  69:  
166:  70:  
167: R: Header71: H: Header
168: Mesh level 0 patch level0,patch072: Mesh level 0 patch level0,patch0
169: Point (R,Z): <0.0350625, 0.133875>73: Point (R,Z): <0.0350625, 0.133875>
170: Node: 548274: Node: 5482
171: Incident Zones: 5398 533475: Incident Zones: 5398 5334
172: density: <zonal>76: density: <zonal>
173:     (5398) = 0.17987777:     (5398) = 0.179877
174:     (5334) = 0.34473578:     (5334) = 0.344735
175:  79:  
176:  80:  
177: Testing boxlib 2D, Boundary81: Testing boxlib 2D, Boundary
178:  82:  
179: S: Header83: I: Header
180: Mesh level 2 patch level2,patch3384: Mesh level 2 patch level2,patch33
181: Point (R,Z): <0.0182644, 0.105451>85: Point (R,Z): <0.0182644, 0.105451>
182: Zone: 71386: Zone: 713
183: Incident Nodes: 757 758 774 77587: Incident Nodes: 757 758 774 775
184: materials: mat188: materials: mat1
185:  89:  
186:  90:  
187: T: Header91: J: Header
188: Mesh level 2 patch level2,patch3392: Mesh level 2 patch level2,patch33
189: Point (R,Z): <0.0183281, 0.105586>93: Point (R,Z): <0.0183281, 0.105586>
190: Node: 77594: Node: 775
191: Incident Zones: 729 713 730 71495: Incident Zones: 729 713 730 714
192: materials:96: materials:
193:     (729) mat197:     (729) mat1
194:     (713) mat198:     (713) mat1
195:     (730) mat199:     (730) mat1
196:     (714) mat1100:     (714) mat1
197:  101:  
198:  102:  
199: U: Header103: K: Header
200: Mesh level 2 patch level2,patch28104: Mesh level 2 patch level2,patch28
201: Point (R,Z): <0.0288625, 0.0950003>105: Point (R,Z): <0.0288625, 0.0950003>
202: Zone: 36106: Zone: 36
203: Incident Nodes: 38 39 55 56107: Incident Nodes: 38 39 55 56
204: materials: mat4108: materials: mat4
205:  109:  
206:  110:  
207: V: Header111: L: Header
208: Mesh level 2 patch level2,patch28112: Mesh level 2 patch level2,patch28
209: Point (R,Z): <0.0286875, 0.0948281>113: Point (R,Z): <0.0286875, 0.0948281>
210: Node: 38114: Node: 38
211: Incident Zones: 35 19 36 20115: Incident Zones: 35 19 36 20
212: materials:116: materials:
213:     (35) mat4117:     (35) mat4
214:     (19) mat4118:     (19) mat4
215:     (36) mat4119:     (36) mat4
216:     (20) mat4120:     (20) mat4
217:  121:  
218:  122:  
219: W: Header123: M: Header
220: Mesh level 2 patch level2,patch33124: Mesh level 2 patch level2,patch33
221: Point (R,Z): <0.0147844, 0.114794>125: Point (R,Z): <0.0147844, 0.114794>
222: Zone: 1089126: Zone: 1089
223: Incident Nodes: 1157 1158 1174 1175127: Incident Nodes: 1157 1158 1174 1175
224: materials:128: materials:
225:     mat1 = 0.929427129:     mat1 = 0.929427
226:     mat4 = 0.0705727130:     mat4 = 0.0705727
227:  131:  
228:  132:  
229: X: Header133: N: Header
230: Mesh level 2 patch level2,patch33134: Mesh level 2 patch level2,patch33
231: Point (R,Z): <0.0147422, 0.11475>135: Point (R,Z): <0.0147422, 0.11475>
232: Node: 1157136: Node: 1157
233: Incident Zones: 1088 1072 1089 1073137: Incident Zones: 1088 1072 1089 1073
234: materials:138: materials:
235:     (1088)139:     (1088)
236:         mat1 = 0.00610821140:         mat1 = 0.00610821
237:         mat3 = 0.0314769141:         mat3 = 0.0314769
238:         mat4 = 0.962415142:         mat4 = 0.962415
239:     (1072) mat3143:     (1072) mat3
240:     (1089)144:     (1089)
241:         mat1 = 0.929427145:         mat1 = 0.929427
242:         mat4 = 0.0705727146:         mat4 = 0.0705727
243:     (1073)147:     (1073)
244:         mat1 = 0.0962816148:         mat1 = 0.0962816
245:         mat3 = 0.87329149:         mat3 = 0.87329
246:         mat4 = 0.030428150:         mat4 = 0.030428
247:  151:  
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/PickBox.html b/2023-11-08-22:00/pascal_trunk_parallel/PickBox.html new file mode 100644 index 000000000..04e30f9b6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/PickBox.html @@ -0,0 +1,546 @@ +Results for test case PickBox + +

Results for test case PickBox

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
61 Lines Changed

+

5 modifications, totalling 61 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
2: A: rect2d.silo2: A: rect3d.silo
3: quadmesh2d
4: Point: <0.527778, 0.527778>
5: Zone: 465
6: Incident Nodes: 480 481 511 512
7: d: <zonal> = 0.0235702
8:  
9:  
10: B: rect2d.silo
11: quadmesh2d
12: Point: <0.533333, 0.533333>
13: Node: 512
14: Incident Zones: 495 465 496 466
15: d: <zonal>
16:     (495) = 0.0527046
17:     (465) = 0.0235702
18:     (496) = 0.0707107
19:     (466) = 0.0527046
20:  
21:  
22: C: rect2d.silo
23: quadmesh2d
24: Point: <0.527778, 0.527778>
25: Zone: 465
26: Incident Nodes: 480 481 511 512
27:  
28: D: rect2d.silo
29: quadmesh2d
30: Point: <0.533333, 0.533333>
31: Node: 512
32: Incident Zones: 495 465 496 466
33:  
34: E: rect3d.silo
35: quadmesh3d3: quadmesh3d
36: Point: <0.715556, 0.5, 0.822222>4: Point: <0.715556, 0.5, 0.822222>
37: Zone: 294215: Zone: 29421
38: Incident Nodes: 31145 31146 31176 31177 32416 32417 32447 324486: Incident Nodes: 31145 31146 31176 31177 32416 32417 32447 32448
39: d: <zonal> = 0.3838997: d: <zonal> = 0.383899
40:  8:  
41:  9:  
42: F: rect3d.silo10: B: rect3d.silo
43: quadmesh3d11: quadmesh3d
44: Point: <0.648889, 0.5, 0.0977778>12: Point: <0.648889, 0.5, 0.0977778>
45: Zone: 301913: Zone: 3019
46: Incident Nodes: 3181 3182 3212 3213 4452 4453 4483 448414: Incident Nodes: 3181 3182 3212 3213 4452 4453 4483 4484
47: d: <zonal> = 0.44302115: d: <zonal> = 0.443021
48:  16:  
49:  17:  
50: G: rect3d.silo18: C: rect3d.silo
51: quadmesh3d19: quadmesh3d
52: Point: <0.7, 0.5, 0.833333>20: Point: <0.7, 0.5, 0.833333>
53: Node: 3241621: Node: 32416
54: Incident Zones: 30620 30590 29390 29420 30621 30591 29391 2942122: Incident Zones: 30620 30590 29390 29420 30621 30591 29391 29421
55: d: <zonal>23: d: <zonal>
56:     (30620) = 0.39530724:     (30620) = 0.395307
57:     (30590) = 0.39530725:     (30590) = 0.395307
58:     (29390) = 0.36612226:     (29390) = 0.366122
59:     (29420) = 0.36612227:     (29420) = 0.366122
60:     (30621) = 0.41182628:     (30621) = 0.411826
61:     (30591) = 0.41182629:     (30591) = 0.411826
62:     (29391) = 0.38389930:     (29391) = 0.383899
63:     (29421) = 0.38389931:     (29421) = 0.383899
64:  32:  
65:  33:  
66: H: rect3d.silo34: D: rect3d.silo
67: quadmesh3d35: quadmesh3d
68: Point: <0.633333, 0.5, 0.1>36: Point: <0.633333, 0.5, 0.1>
69: Node: 445237: Node: 4452
70: Incident Zones: 4218 4188 2988 3018 4219 4189 2989 301938: Incident Zones: 4218 4188 2988 3018 4219 4189 2989 3019
71: d: <zonal>39: d: <zonal>
72:     (4218) = 0.40088940:     (4218) = 0.400889
73:     (4188) = 0.40088941:     (4188) = 0.400889
74:     (2988) = 0.43287242:     (2988) = 0.432872
75:     (3018) = 0.43287243:     (3018) = 0.432872
76:     (4219) = 0.41182644:     (4219) = 0.411826
77:     (4189) = 0.41182645:     (4189) = 0.411826
78:     (2989) = 0.44302146:     (2989) = 0.443021
79:     (3019) = 0.44302147:     (3019) = 0.443021
80:  48:  
81:  49: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
82: I: rect3d.silo
83: quadmesh3d
84: Point: <0.715556, 0.5, 0.822222>
85: Zone: 29391
86: Incident Nodes: 31114 31115 31145 31146 32385 32386 32416 32417
87:  
88: J: rect3d.silo
89: quadmesh3d
90: Point: <0.648889, 0.5, 0.0977778>
91: Zone: 2989
92: Incident Nodes: 3150 3151 3181 3182 4421 4422 4452 4453
93:  
94: K: rect3d.silo
95: quadmesh3d
96: Point: <0.7, 0.5, 0.833333>
97: Node: 32416
98: Incident Zones: 30620 30590 29390 29420 30621 30591 29391 29421
99:  
100: L: rect3d.silo
101: quadmesh3d
102: Point: <0.633333, 0.5, 0.1>
103: Node: 4452
104: Incident Zones: 4218 4188 2988 3018 4219 4189 2989 3019
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/PickIndexSelect.html b/2023-11-08-22:00/pascal_trunk_parallel/PickIndexSelect.html new file mode 100644 index 000000000..1d1c8eaca --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/PickIndexSelect.html @@ -0,0 +1,1026 @@ +Results for test case PickIndexSelect + +

Results for test case PickIndexSelect

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
124 Lines Changed

+

13 modifications, totalling 124 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1: Pick on Index-selected 2D Mesh Plot1: Pick on Index-selected 2D Mesh Plot
2:  2: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
3: A: rect2d.silo
4: quadmesh2d
5: Point: <0.0415832, 0.0424471>
6: Zone: 31
7: Incident Nodes: 32 33 63 64
8:  
9: B: rect2d.silo
10: quadmesh2d
11: Point: <0.0333333, 0.0333333>
12: Node: 32
13: Incident Zones: 30 0 31 1
14:  
15: Same Picks on Index-selected 2D Pseudocolor Plot3: Same Picks on Index-selected 2D Pseudocolor Plot
16:  4: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
17: C: rect2d.silo
18: quadmesh2d
19: Point: <0.0415832, 0.0424471>
20: Zone: 31
21: Incident Nodes: 32 33 63 64
22: u: <nodal>
23:     (32) = -0.707107
24:     (33) = -0.680451
25:     (63) = -0.732794
26:     (64) = -0.707107
27:  
28:  
29: D: rect2d.silo
30: quadmesh2d
31: Point: <0.0333333, 0.0333333>
32: Node: 32
33: Incident Zones: 30 0 31 1
34: u: <nodal> = -0.707107
35:  
36:  
37: Changed stride of IndexSelect, 2D Mesh Plot picks5: Changed stride of IndexSelect, 2D Mesh Plot picks
38:  6: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
39: E: rect2d.silo
40: quadmesh2d
41: Point: <0.0415832, 0.0424471>
42: Zone: 31
43: Incident Nodes: 32 33 63 64
44:  
45: F: rect2d.silo
46: quadmesh2d
47: Point: <0.0333333, 0.0333333>
48: Node: 32
49: Incident Zones: 30 0 31 1
50:  
51: Same picks 2D Pseudocolor Plot7: Same picks 2D Pseudocolor Plot
52:  8: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
53: G: rect2d.silo
54: quadmesh2d
55: Point: <0.0415832, 0.0424471>
56: Zone: 31
57: Incident Nodes: 32 33 63 64
58: u: <nodal>
59:     (32) = -0.707107
60:     (33) = -0.680451
61:     (63) = -0.732794
62:     (64) = -0.707107
63:  
64:  
65: H: rect2d.silo
66: quadmesh2d
67: Point: <0.0333333, 0.0333333>
68: Node: 32
69: Incident Zones: 30 0 31 1
70: u: <nodal> = -0.707107
71:  
72:  
73: Index selected 3D Mesh Plot9: Index selected 3D Mesh Plot
74:  10:  
75: I: rect3d.silo11: A: rect3d.silo
76: quadmesh3d12: quadmesh3d
77: Point: <0, 0.164242, 0.412301>13: Point: <0, 0.164242, 0.412301>
78: Zone: 1458014: Zone: 14580
79: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 1674115: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 16741
80:  16:  
81: J: rect3d.silo17: B: rect3d.silo
82: quadmesh3d18: quadmesh3d
83: Point: <0, 0.2, 0.4>19: Point: <0, 0.2, 0.4>
84: Node: 1550020: Node: 15500
85: Incident Zones: 14640 14610 13410 1344021: Incident Zones: 14640 14610 13410 13440
86:  22:  
87: Same picks on 3D Pseudocolor Plot23: Same picks on 3D Pseudocolor Plot
88:  24:  
89: K: rect3d.silo25: C: rect3d.silo
90: quadmesh3d26: quadmesh3d
91: Point: <0, 0.164242, 0.412301>27: Point: <0, 0.164242, 0.412301>
92: Zone: 1458028: Zone: 14580
93: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 1674129: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 16741
94: d: <zonal> = 0.59536730: d: <zonal> = 0.595367
95:  31:  
96:  32:  
97: L: rect3d.silo33: D: rect3d.silo
98: quadmesh3d34: quadmesh3d
99: Point: <0, 0.2, 0.4>35: Point: <0, 0.2, 0.4>
100: Node: 1550036: Node: 15500
101: Incident Zones: 14640 14610 13410 1344037: Incident Zones: 14640 14610 13410 13440
102: d: <zonal>38: d: <zonal>
103:     (14640) = 0.56851739:     (14640) = 0.568517
104:     (14610) = 0.5815640:     (14610) = 0.58156
105:     (13410) = 0.58726441:     (13410) = 0.587264
106:     (13440) = 0.5743542:     (13440) = 0.57435
107:  43:  
108:  44:  
109: Sliced, Index-selected 3D Mesh Plot45: Sliced, Index-selected 3D Mesh Plot
110:  46: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
111: M: rect3d.silo
112: quadmesh3d
113: Point: <0.378395, 0.378989, 0.5>
114: Zone: 17261
115: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
116:  
117: N: rect3d.silo
118: quadmesh3d
119: Point: <0.4, 0.4, 0.5>
120: Node: 19573
121: Incident Zones: 18491 18461 17261 17291 18492 18462 17262 17292
122:  
123: Same pickes on Sliced, Index-selected 3D Pseudocolor Plot47: Same pickes on Sliced, Index-selected 3D Pseudocolor Plot
124:  48: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
125: O: rect3d.silo
126: quadmesh3d
127: Point: <0.378395, 0.378989, 0.5>
128: Zone: 17261
129: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
130: d: <zonal> = 0.162927
131:  
132:  
133: P: rect3d.silo
134: quadmesh3d
135: Point: <0.4, 0.4, 0.5>
136: Node: 19573
137: Incident Zones: 18491 18461 17261 17291 18492 18462 17262 17292
138: d: <zonal>
139:     (18491) = 0.146783
140:     (18461) = 0.162927
141:     (17261) = 0.162927
142:     (17291) = 0.146783
143:     (18492) = 0.121977
144:     (18462) = 0.140991
145:     (17262) = 0.140991
146:     (17292) = 0.121977
147:  
148:  
149: Same picks on Sliced, Index-selected 3D FilledBoundary Plot49: Same picks on Sliced, Index-selected 3D FilledBoundary Plot
150: Stride changes back to 1 due to MIR, so should match Mesh results below50: Stride changes back to 1 due to MIR, so should match Mesh results below
151:  51:  
152: Q: rect3d.silo52: E: rect3d.silo
153: quadmesh3d53: quadmesh3d
154: Point: <0.378395, 0.378989, 0.5>54: Point: <0.378395, 0.378989, 0.5>
155: Zone: 1726155: Zone: 17261
156: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 1957356: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
157: mat1: 757: mat1: 7
158:  58:  
159:  59:  
160: R: rect3d.silo60: F: rect3d.silo
161: quadmesh3d61: quadmesh3d
162: Point: <0.366667, 0.375, 0.5>62: Point: <0.366667, 0.375, 0.5>
163: Node: 1954163: Node: 19541
164: Incident Zones: 18460 18430 17230 17260 18461 18431 17231 1726164: Incident Zones: 18460 18430 17230 17260 18461 18431 17231 17261
165: mat1:65: mat1:
166:     (18460)66:     (18460)
167:         6 = 0.12767:         6 = 0.127
168:         7 = 0.87368:         7 = 0.873
169:     (18430)69:     (18430)
170:         6 = 0.7770:         6 = 0.77
171:         7 = 0.2371:         7 = 0.23
172:     (17230)72:     (17230)
173:         6 = 0.7873:         6 = 0.78
174:         7 = 0.2274:         7 = 0.22
175:     (17260)75:     (17260)
176:         6 = 0.13576:         6 = 0.135
177:         7 = 0.86577:         7 = 0.865
178:     (18461) 778:     (18461) 7
179:     (18431)79:     (18431)
180:         6 = 0.00380:         6 = 0.003
181:         7 = 0.99781:         7 = 0.997
182:     (17231)82:     (17231)
183:         6 = 0.00483:         6 = 0.004
184:         7 = 0.99684:         7 = 0.996
185:     (17261) 785:     (17261) 7
186:  86:  
187:  87:  
188: Same picks on Sliced, 3D Mesh Plot88: Same picks on Sliced, 3D Mesh Plot
189:  89: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
190: S: rect3d.silo
191: quadmesh3d
192: Point: <0.378395, 0.378989, 0.5>
193: Zone: 17261
194: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
195:  
196: T: rect3d.silo
197: quadmesh3d
198: Point: <0.366667, 0.375, 0.5>
199: Node: 19541
200: Incident Zones: 18460 18430 17230 17260 18461 18431 17231 17261
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/PickSamrai_01.html b/2023-11-08-22:00/pascal_trunk_parallel/PickSamrai_01.html new file mode 100644 index 000000000..28ef4d54c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/PickSamrai_01.html @@ -0,0 +1,1426 @@ +Results for test case PickSamrai_01 + +

Results for test case PickSamrai_01

+ + + + + +
Legend
16 Lines Added
122 Lines Deleted
42 Lines Changed

+

16 modifications, totalling 180 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1:  
2: Testing sliced SAMRAI:2: Testing sliced SAMRAI:
3:  3: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
4: A: summary.samrai timestep 04: A: summary.samrai timestep 0
5: amr_mesh level 2 patch level2,patch0
6: Point: <5.74804, 7.82107, 4>
7: Zone: 1863
8: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
9:  
10: B: summary.samrai timestep 0
11: amr_mesh level 2 patch level2,patch05: amr_mesh level 2 patch level2,patch0
12: Point: <5.74804, 7.82107, 4>6: Point: <5.74804, 7.82107, 4>
13: Zone: 18637: Zone: 1863
14: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 24428: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
15: Primitive Var _number_0: <zonal> = 809: Primitive Var _number_0: <zonal> = 80
16:  10:  
11: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
12: B: summary.samrai timestep 0
13: amr_mesh level 2 patch level2,patch0
14: Point: <6, 8, 4>
15: Node: 2442
16: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
17: Primitive Var _number_0: <zonal>
18:     (2205) = 10
19:     (2187) = 80
20:     (1863) = 80
21:     (1881) = 10
22:     (2206) = 10
23:     (2188) = 80
24:     (1864) = 10
25:     (1882) = 10
17:  26:  
27: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
18: C: summary.samrai timestep 028: C: summary.samrai timestep 0
19: amr_mesh level 2 patch level2,patch029: amr_mesh level 2 patch level2,patch0
20: Point: <5.74804, 7.82107, 4>30: Point: <5.5, 7.5, 4>
31: Node: 2422
32: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
33: Primitive Var _number_0: <zonal>
34:     (2186) = 80
35:     (2168) = 80
36:     (1844) = 80
37:     (1862) = 80
38:     (2187) = 80
39:     (2169) = 80
40:     (1845) = 80
41:     (1863) = 80
42:  
43:  
44: D: summary.samrai timestep 0
45: amr_mesh level 2 patch level2,patch0
46: Point: <5.75, 7.75, 3.75>
21: Zone: 186347: Zone: 1863
22: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 244248: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
23:  49:  
24: D: summary.samrai timestep 050: E: summary.samrai timestep 0
25: amr_mesh level 2 patch level2,patch051: amr_mesh level 2 patch level2,patch0
26: Point: <5.74804, 7.82107, 4>52: Point: <5.75, 7.75, 3.75>
27: Zone: 186353: Zone: 1863
28: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 244254: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
29: Primitive Var _number_0: <zonal> = 8055: Primitive Var _number_0: <zonal> = 80
30:  56:  
31:  57:  
32: E: summary.samrai timestep 058: F: summary.samrai timestep 0
59: amr_mesh level 2 patch level2,patch0
60: Point: <5.75, 7.75, 3.75>
61: Zone: 1863
62: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
63:  
64: G: summary.samrai timestep 0
65: amr_mesh level 2 patch level2,patch0
66: Point: <5.75, 7.75, 3.75>
67: Zone: 1863
68: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
69: Primitive Var _number_0: <zonal> = 80
70:  
71:  
72: H: summary.samrai timestep 0
33: amr_mesh level 2 patch level2,patch073: amr_mesh level 2 patch level2,patch0
34: Point: <6, 8, 4>74: Point: <6, 8, 4>
35: Node: 244275: Node: 2442
36: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 188276: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
37:  77:  
38: F: summary.samrai timestep 078: I: summary.samrai timestep 0
39: amr_mesh level 2 patch level2,patch079: amr_mesh level 2 patch level2,patch0
40: Point: <6, 8, 4>80: Point: <6, 8, 4>
41: Node: 244281: Node: 2442
42: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 188282: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
43: Primitive Var _number_0: <zonal>83: Primitive Var _number_0: <zonal>
44:     (2205) = 1084:     (2205) = 10
45:     (2187) = 8085:     (2187) = 80
46:     (1863) = 8086:     (1863) = 80
47:     (1881) = 1087:     (1881) = 10
48:     (2206) = 1088:     (2206) = 10
49:     (2188) = 8089:     (2188) = 80
50:     (1864) = 1090:     (1864) = 10
51:     (1882) = 1091:     (1882) = 10
52:  92:  
53:  93:  
54: G: summary.samrai timestep 094: J: summary.samrai timestep 0
55: amr_mesh level 2 patch level2,patch095: amr_mesh level 2 patch level2,patch0
56: Point: <6, 8, 4>96: Point: <6, 8, 4>
57: Node: 244297: Node: 2442
58: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 188298: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
59:  99:  
60: H: summary.samrai timestep 0100: K: summary.samrai timestep 0
61: amr_mesh level 2 patch level2,patch0101: amr_mesh level 2 patch level2,patch0
62: Point: <6, 8, 4>102: Point: <6, 8, 4>
63: Node: 2442103: Node: 2442
64: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882104: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
65: Primitive Var _number_0: <zonal>105: Primitive Var _number_0: <zonal>
66:     (2205) = 10106:     (2205) = 10
67:     (2187) = 80107:     (2187) = 80
68:     (1863) = 80108:     (1863) = 80
69:     (1881) = 10109:     (1881) = 10
70:     (2206) = 10110:     (2206) = 10
71:     (2188) = 80111:     (2188) = 80
72:     (1864) = 10112:     (1864) = 10
73:     (1882) = 10113:     (1882) = 10
74:  114:  
75:  115:  
76: I: summary.samrai timestep 0116: L: summary.samrai timestep 0
77: amr_mesh level 2 patch level2,patch0117: amr_mesh level 2 patch level2,patch0
78: Point: <5.5, 7.5, 4>118: Point: <5.5, 7.5, 4>
79: Node: 2422119: Node: 2422
80: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863120: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
81:  121:  
82: J: summary.samrai timestep 0122: M: summary.samrai timestep 0
83: amr_mesh level 2 patch level2,patch0123: amr_mesh level 2 patch level2,patch0
84: Point: <5.5, 7.5, 4>124: Point: <5.5, 7.5, 4>
85: Node: 2422125: Node: 2422
86: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863126: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
87: Primitive Var _number_0: <zonal>127: Primitive Var _number_0: <zonal>
88:     (2186) = 80128:     (2186) = 80
89:     (2168) = 80129:     (2168) = 80
90:     (1844) = 80130:     (1844) = 80
91:     (1862) = 80131:     (1862) = 80
92:     (2187) = 80132:     (2187) = 80
93:     (2169) = 80133:     (2169) = 80
94:     (1845) = 80134:     (1845) = 80
95:     (1863) = 80135:     (1863) = 80
96:  136:  
97:  137:  
98: K: summary.samrai timestep 0138: N: summary.samrai timestep 0
99: amr_mesh level 2 patch level2,patch0139: amr_mesh level 2 patch level2,patch0
100: Point: <5.5, 7.5, 4>140: Point: <5.5, 7.5, 4>
101: Node: 2422141: Node: 2422
102: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863142: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
103:  143:  
104: L: summary.samrai timestep 0144: O: summary.samrai timestep 0
105: amr_mesh level 2 patch level2,patch0145: amr_mesh level 2 patch level2,patch0
106: Point: <5.5, 7.5, 4>146: Point: <5.5, 7.5, 4>
107: Node: 2422147: Node: 2422
108: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863148: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
109: Primitive Var _number_0: <zonal>149: Primitive Var _number_0: <zonal>
110:     (2186) = 80150:     (2186) = 80
111:     (2168) = 80151:     (2168) = 80
112:     (1844) = 80152:     (1844) = 80
113:     (1862) = 80153:     (1862) = 80
114:     (2187) = 80154:     (2187) = 80
115:     (2169) = 80155:     (2169) = 80
116:     (1845) = 80156:     (1845) = 80
117:     (1863) = 80157:     (1863) = 80
118:  158:  
119:  
120: M: summary.samrai timestep 0
121: amr_mesh level 2 patch level2,patch0
122: Point: <5.75, 7.75, 3.75>
123: Zone: 1863
124: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
125:  
126: N: summary.samrai timestep 0
127: amr_mesh level 2 patch level2,patch0
128: Point: <5.75, 7.75, 3.75>
129: Zone: 1863
130: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
131: Primitive Var _number_0: <zonal> = 80
132:  
133:  
134: O: summary.samrai timestep 0
135: amr_mesh level 2 patch level2,patch0
136: Point: <5.75, 7.75, 3.75>
137: Zone: 1863
138: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
139:  
140: P: summary.samrai timestep 0
141: amr_mesh level 2 patch level2,patch0
142: Point: <5.75, 7.75, 3.75>
143: Zone: 1863
144: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
145: Primitive Var _number_0: <zonal> = 80
146:  
147:  
148: Q: summary.samrai timestep 0
149: amr_mesh level 2 patch level2,patch0
150: Point: <6, 8, 4>
151: Node: 2442
152: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
153:  
154: R: summary.samrai timestep 0
155: amr_mesh level 2 patch level2,patch0
156: Point: <6, 8, 4>
157: Node: 2442
158: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
159: Primitive Var _number_0: <zonal>
160:     (2205) = 10
161:     (2187) = 80
162:     (1863) = 80
163:     (1881) = 10
164:     (2206) = 10
165:     (2188) = 80
166:     (1864) = 10
167:     (1882) = 10
168:  
169:  
170: S: summary.samrai timestep 0
171: amr_mesh level 2 patch level2,patch0
172: Point: <6, 8, 4>
173: Node: 2442
174: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
175:  
176: T: summary.samrai timestep 0
177: amr_mesh level 2 patch level2,patch0
178: Point: <6, 8, 4>
179: Node: 2442
180: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
181: Primitive Var _number_0: <zonal>
182:     (2205) = 10
183:     (2187) = 80
184:     (1863) = 80
185:     (1881) = 10
186:     (2206) = 10
187:     (2188) = 80
188:     (1864) = 10
189:     (1882) = 10
190:  
191:  
192: U: summary.samrai timestep 0
193: amr_mesh level 2 patch level2,patch0
194: Point: <5.5, 7.5, 4>
195: Node: 2422
196: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
197:  
198: V: summary.samrai timestep 0
199: amr_mesh level 2 patch level2,patch0
200: Point: <5.5, 7.5, 4>
201: Node: 2422
202: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
203: Primitive Var _number_0: <zonal>
204:     (2186) = 80
205:     (2168) = 80
206:     (1844) = 80
207:     (1862) = 80
208:     (2187) = 80
209:     (2169) = 80
210:     (1845) = 80
211:     (1863) = 80
212:  
213:  
214: W: summary.samrai timestep 0
215: amr_mesh level 2 patch level2,patch0
216: Point: <5.5, 7.5, 4>
217: Node: 2422
218: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
219:  
220: X: summary.samrai timestep 0
221: amr_mesh level 2 patch level2,patch0
222: Point: <5.5, 7.5, 4>
223: Node: 2422
224: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
225: Primitive Var _number_0: <zonal>
226:     (2186) = 80
227:     (2168) = 80
228:     (1844) = 80
229:     (1862) = 80
230:     (2187) = 80
231:     (2169) = 80
232:     (1845) = 80
233:     (1863) = 80
234:  
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/PickSamrai_05.html b/2023-11-08-22:00/pascal_trunk_parallel/PickSamrai_05.html new file mode 100644 index 000000000..b69f32b07 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/PickSamrai_05.html @@ -0,0 +1,676 @@ +Results for test case PickSamrai_05 + +

Results for test case PickSamrai_05

+ + + + + +
Legend
0 Lines Added
20 Lines Deleted
75 Lines Changed

+

6 modifications, totalling 95 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1:  
2: Testing front:2: Testing front:
3:  3: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
4: A: summary.samrai timestep 04: A: summary.samrai timestep 0
5: amr_mesh level 1 patch level1,patch4
6: Point: <0.803403, 0.553261>
7: Zone: 95
8: Incident Nodes: 106 107 115 116
9:  
10: B: summary.samrai timestep 0
11: amr_mesh level 1 patch level1,patch4
12: Point: <0.803403, 0.553261>
13: Zone: 95
14: Incident Nodes: 106 107 115 116
15:  
16: C: summary.samrai timestep 0
17: amr_mesh level 1 patch level1,patch45: amr_mesh level 1 patch level1,patch4
18: Point: <0.803403, 0.553261>6: Point: <0.803403, 0.553261>
19: Zone: 957: Zone: 95
20: Incident Nodes: 106 107 115 1168: Incident Nodes: 106 107 115 116
21: Distance to front: <nodal>9: Distance to front: <nodal>
22:     (106) = 0.32026810:     (106) = 0.320268
23:     (107) = 0.35151811:     (107) = 0.351518
24:     (115) = 0.35778712:     (115) = 0.357787
25:     (116) = 0.38903713:     (116) = 0.389037
26:  14:  
27:  15: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
28: D: summary.samrai timestep 016: B: summary.samrai timestep 0
29: amr_mesh level 1 patch level1,patch4
30: Point: <0.803403, 0.553261>
31: Zone: 95
32: Incident Nodes: 106 107 115 116
33: Distance to front: <nodal>
34:     (106) = 0.320268
35:     (107) = 0.351518
36:     (115) = 0.357787
37:     (116) = 0.389037
38:  
39:  
40: E: summary.samrai timestep 0
41: amr_mesh level 1 patch level1,patch4
42: Point: <0.78125, 0.5625>
43: Node: 115
44: Incident Zones: 94 95
45:  
46: F: summary.samrai timestep 0
47: amr_mesh level 1 patch level1,patch4
48: Point: <0.78125, 0.5625>
49: Node: 115
50: Incident Zones: 94 95
51:  
52: G: summary.samrai timestep 0
53: amr_mesh level 1 patch level1,patch417: amr_mesh level 1 patch level1,patch4
54: Point: <0.78125, 0.5625>18: Point: <0.78125, 0.5625>
55: Node: 11519: Node: 115
56: Incident Zones: 94 9520: Incident Zones: 94 95
57: Distance to front: <nodal> = 0.35778721: Distance to front: <nodal> = 0.357787
58:  22:  
59:  23: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
60: H: summary.samrai timestep 024: C: summary.samrai timestep 0
61: amr_mesh level 1 patch level1,patch4
62: Point: <0.78125, 0.5625>
63: Node: 115
64: Incident Zones: 94 95
65: Distance to front: <nodal> = 0.357787
66:  
67:  
68: I: summary.samrai timestep 0
69: amr_mesh level 0 patch level0,patch0
70: Point: <0.803403, 0.569949>
71: Zone: 156
72: Incident Nodes: 165 166 182 183
73:  
74: J: summary.samrai timestep 0
75: amr_mesh level 0 patch level0,patch0
76: Point: <0.803403, 0.569949>
77: Zone: 156
78: Incident Nodes: 165 166 182 183
79:  
80: K: summary.samrai timestep 0
81: amr_mesh level 0 patch level0,patch025: amr_mesh level 0 patch level0,patch0
82: Point: <0.803403, 0.569949>26: Point: <0.803403, 0.569949>
83: Zone: 15627: Zone: 156
84: Incident Nodes: 165 166 182 18328: Incident Nodes: 165 166 182 183
85: Distance to front: <nodal>29: Distance to front: <nodal>
86:     (165) = 0.32653730:     (165) = 0.326537
87:     (166) = 0.38903731:     (166) = 0.389037
88:     (182) = 0.39142132:     (182) = 0.391421
89:     (183) = 0.45392133:     (183) = 0.453921
90:  34:  
91:  35: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
92: L: summary.samrai timestep 036: D: summary.samrai timestep 0
93: amr_mesh level 0 patch level0,patch0
94: Point: <0.803403, 0.569949>
95: Zone: 156
96: Incident Nodes: 165 166 182 183
97: Distance to front: <nodal>
98:     (165) = 0.326537
99:     (166) = 0.389037
100:     (182) = 0.391421
101:     (183) = 0.453921
102:  
103:  
104: M: summary.samrai timestep 0
105: amr_mesh level 0 patch level0,patch0
106: Point: <0.8125, 0.5625>
107: Node: 166
108: Incident Zones: 156 157 141
109:  
110: N: summary.samrai timestep 0
111: amr_mesh level 0 patch level0,patch0
112: Point: <0.8125, 0.5625>
113: Node: 166
114: Incident Zones: 156 157 141
115:  
116: O: summary.samrai timestep 0
117: amr_mesh level 0 patch level0,patch037: amr_mesh level 0 patch level0,patch0
118: Point: <0.8125, 0.5625>38: Point: <0.8125, 0.5625>
119: Node: 16639: Node: 166
120: Incident Zones: 156 157 14140: Incident Zones: 156 157 141
121: Distance to front: <nodal> = 0.38903741: Distance to front: <nodal> = 0.389037
122:  42:  
123:  
124: P: summary.samrai timestep 0
125: amr_mesh level 0 patch level0,patch0
126: Point: <0.8125, 0.5625>
127: Node: 166
128: Incident Zones: 156 157 141
129: Distance to front: <nodal> = 0.389037
130:  
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/avg_value_02.html b/2023-11-08-22:00/pascal_trunk_parallel/avg_value_02.html new file mode 100644 index 000000000..4bee43e4e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/avg_value_02.html @@ -0,0 +1,31 @@ +Results for test case avg_value_02 + +

Results for test case avg_value_02

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
1 Lines Changed

+

1 modifications, totalling 1 lines

+ + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1: The average value of vel is 4.06619e-17, -1.2443e-17, 01: The average value of vel is -1.62203e-17, -1.2443e-17, 0
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_bigdata_01.png b/2023-11-08-22:00/pascal_trunk_parallel/c_bigdata_01.png new file mode 100644 index 0000000000000000000000000000000000000000..7978742f7abc9ce28a73723bdff97126f4e4b1d1 GIT binary patch literal 929 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tH~PZ!6KiaBqu9^`Fc;9)lG zx>5i1QyZ%vQ*~2~-^{zV4d){H8}6m=(;O!rxftiqj!PC{xWt~$( F69DDi3{?OC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_bigdata_01_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_bigdata_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8160cc8350447b69c4375da54cdab3e3d5ecc407 GIT binary patch literal 405 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 U6_B`A4vHCowy;H3BW}e04+-}&MgRZ+ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_legends_07_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_legends_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cfa75bf78cb5af270ffcad90e5971306c1f6fdb5 GIT binary patch literal 5243 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

1o?-OA#s<8}-R^H-*jf5qz2@+aRyTkT$(0 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 PcuhkEq+I^W=EMI2J@7N) literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_ops_cart_proj_1_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_ops_cart_proj_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..87d20b18c598a1d778c2b9e6333fe7c22aa5da43 GIT binary patch literal 2620 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 PFMzy^igb;n>9_v_@bX}Y literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_ops_cart_proj_3_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_ops_cart_proj_3_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0b63c862304bd955e83103b29357c1681e9a40c6 GIT binary patch literal 3924 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_ops_dualmesh_mesh_plot_2d_01.png b/2023-11-08-22:00/pascal_trunk_parallel/c_ops_dualmesh_mesh_plot_2d_01.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d59dc37937b7b654da4a1cb34c1a09f17a922a GIT binary patch literal 1507 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_stuo-U3d6?5L+Hk>4DF2L%z z_FaAYsfOhbW^}!BPo0%}(4o*!cE0`oy1&1;U;K%cXZZKtg~L$L$)`m?Sn&uh=EjE{ z^>uYVK6TbNjbs%6NY;t{4}Sk^f6bqAwfCPNEu24pe!cv?BPkP~Yru_|{b$iu*{7$U z)W+F-Db7_+FG}BZv{)obsbvO-qMB2OZ{5XPeV^mTik`X6`xP-CnmY_leItpKTR=a6fE3 zsULMaaG%e;=SQ9GubUOAm8(VDxPxp3YE^2v@kD&>Ta9>#%d@2|CtFX}owpe7{hUwT z*UF~oPySx{@xuA7y>m{^Jt=lR5TX_60JER2+196~pZvY2;>Gh@Zs(qyOX(gC-o{7( zYW43QZ-)o+-?)pz#it`Qf=9iLmYr|cAAiXIKp%Ih2QQ6q6^j%p_|5JfEE}>$H-0*> P@MiFI^>bP0l+XkKSs|7t literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_ops_dualmesh_mesh_plot_2d_01_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_ops_dualmesh_mesh_plot_2d_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd93c4f44bfc8286133cbe58691d2e6ec501482 GIT binary patch literal 545 zcmeAS@N?(olHy`uVBq!ia0vp^DIme!{lb=*clHaG zSWFW*F63o(ZGG*%zq9|Iy8gPrLD;{Y?{E*SzW0Nm11Pt;8L9;?%wqPGXxj;SkREiwq6T-G2M~@7PmjzLVXj z73b}YX%m=tK3#Kn-1_v*MxE!=EuYr}E{!>*VmH6kZoYi~aRZ+3zxPhDmFusZcb-e} zOYQqPuXnBMIQz3k?0#GD=RfmJZBsZEy*VPCP6#L~W99@*Fejux2UU&eLK`um@0#N7o(J%gvKpUXO@geCwF751Y5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_05.png b/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_05.png new file mode 100644 index 0000000000000000000000000000000000000000..829fd50301ebcffc5b0d815fd0307e664a128d4b GIT binary patch literal 70152 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_05_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..19da06592b1f9ad4a4da9b62110a6577c60b63b1 GIT binary patch literal 15509 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 z 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

O!MrN`@jSA!trOMZ(0a>**pFLr#p}Y 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 LNkvXXu0mjft;Nd# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_08.png b/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_08.png new file mode 100644 index 0000000000000000000000000000000000000000..d59728b43f3d0ad60bf2d49d56691e65c37f38ea GIT binary patch literal 911 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIZPZ!6KiaBpD8!|E|@Eq9C zSbyHxjbDhhwkoZx;oMs02jyxlGdLB~oH}L-B#kmh!(lWL5Y7zW7`Ey$hi@%ed;*x! O7(8A5T-G@yGywonlqt^u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_08_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecece5e2f8812a41d4efa801d1572cf0886d478 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^DImfe|(a+t|hi>;_|Fn#bwY|W zSPq&ETVLa1PQ9KJufD->*XjGO-pOn1Ke6-Vj|jkE$M#zP|Ks~l>^%9SYd5~?n^PMD zFtZa4j_t9*{`Il#l#eHlV}oYb{@DNU^s_(N#q@24jVYb-S?nYiu6PAOP*J_MoGJnm+*8{^R1B!!RJ;~Xx zaWS7l9MXyVR3Y#NCH|8Ezu{$^{_*-}$Mq=gd!G_0erj<@FaFtpz)u8zCk}G*<1+-mV`uMQHwd{K&?@`0T=O6& z_Fpv|^kRB)|7oy1eg887%Nqj2GX%x!A@hcz_$kLB3s>M%ioj1l_?=2mPeZFb-ts!_ zZ^RFDO|Cl)nNJCpC-*-oEQgr+G=bu$7Kbcc@hm~$^(FqP!S4i+u7kIy3%{ofxle%N zuGu&rcOb6EUZ>;asSxJVgXPnM;*%ruy4brxD4vSvPc05vy7JkAz)uJG4H@io)*3W8 zW&hRfZxC|VKI5scUeHe8e`4n|sK;JM+@F0=e3sylm9OxuLEzJaU%%&%gZ++^+Eaqu zjcApFT{qS^emV|{>(SSZ!4jW<9(xiqpG+v;ATm#d;btbFw>Lf~}(@N9zL5Kh-b z%QFr+p0@L<*BTFY+Rm#Re`2sa(f*k9KdYd48Vx>6aLAD#JsT1D?1tafF!;o^%9A^v z402cRzaG-^)|0mHrS(P*el;vlmHuZH6rY7S7@&wf_DCMze~nkX%t3=*=x*e7H7vKsetnQ* zO>Y#I*OC5V<4*<@uZPUMt*tiOE03+ZC0z4HbPX(5?J@!vmk3Dv-Pc9U%i@obZ@!5<+Zd4ne1_-#yhs&DOZ+VQDAYCwVyj8^Z#? zdVep?ssOgf+c@@vld!xIBD(q`a5@y99GOoAiq9ZyZlulAYs}5jCZ6>O{9}gS!HSuA zVq3p8YEPi?>a!1DB=?q)tPBW17;N{zAQ(?1r!wIXa&#v+_G(tVnuIyPi(L(#xI=l= zZ>NUCjp5%cUZ=wHnDk#8dw={;eD>pzo1@K73j|&dZ#M?NLl=7S+OqQMgY>NrR?O#! zP7%pC>CY~wT})3t@vVdH7BJ9&zyz4#TL|uqN64?;Fozk;2*L~;WAIwLaMBfVee$cB zs&A0L9x|cIJa$OmGwUPtEl)!uG8C@|hN~d7ZuX2q@%qSo_T!LSqpeRb1U?P;^&bzU zi(*YO$`ip&l3a|+CX7&2AaGoP0Wet9MKy{{`WpuY z%_5%2HCibL)#ZzQ6x)TX$nEj=rx5}_5%|R)9(Y~DFOwkjqk2--^K~QYz&v(7+O+?6eg6JB2Iv|b$JTPo#c|N-vBt+p z=>(E33sRIWn^hZLT>k!@U2w>q@y;I`0!Qsga_E_$!3Y}j!;Ii4 zpZx5&3Sio5Yi&I8xEh}dzy9Mvp$UGLF9kir5H@1O8%emV^7XoCwg#Ee7%ewsl`slM zM4vll^yR#k=L@QX*-_koBG zj~<8pVM!Y$T{JdymlHZiZaE z5y>j(F$yNaxc`|M3apRQ#=AHUHj_CFAlC$VH5&V!YYZN1Y^FQK27oK8T>ynE4Vd}y zsl3#G#En7mVAa|Bq_#OKZUlS4Ckm}UejM`5~^dhh$M?)Z#*U-&}Ybr;T` z$Jw*k+QMW45rlxc#{1uoZ~R8Qa_5y3 zwt�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%0A#q@hD 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_09_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..aa436e6b7f8417f93bd774c3d3ffa8fbea799277 GIT binary patch literal 15413 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_10.png b/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_10.png new file mode 100644 index 0000000000000000000000000000000000000000..d59728b43f3d0ad60bf2d49d56691e65c37f38ea GIT binary patch literal 911 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIZPZ!6KiaBpD8!|E|@Eq9C zSbyHxjbDhhwkoZx;oMs02jyxlGdLB~oH}L-B#kmh!(lWL5Y7zW7`Ey$hi@%ed;*x! O7(8A5T-G@yGywonlqt^u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_10_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_pixeldata_0_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecece5e2f8812a41d4efa801d1572cf0886d478 GIT binary patch literal 289 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�ZlK19b0!#R9mg(3Mz>&5XXoj7z;U`YK4`^ za6nXM)Wt(Y3$Iyi3^dGDp$)mN{{l^w?hPL%ke+7^_-C}Lt;F48m& zqtLK<*t$=At|a7P3j|POsDGIK&wuyI?yr947k+i#i>psHjPbw_=mQ5-jH*Xzc>B-~ zM$JLm$}$uCqZTt$0FxHFmmJSk2N7ASp4NJb<~AjS?HQyoC`Hnveq^Kp0bGvQgEH6} z)IbTw!dSQnG;bybRt_4&%2Mx<(foT}HLzgtV6)j8&Nad?W;QVJ|d%WJ$QrMK$SffxVrB&s`_$GGUckEqSA{ByL*E7a2ucKlyns5e!YTp_A+UuBAp#Y$i$SBG zNH-i#VeN4@yW`TJ+oiCmP1stM!TG2W zL31QTMj;A?v4)ww_>!P%_1f{yK`CNovBpQrIEQZJnJ5U14cG=iAP7`Ab%S93oiBgm z-rO7(58dq1rB3f~=dGRJ{qQ5e-ec^n;%r;RA5CQ=Jc=EaCndF5QP7CiH6?r)9HxJsTe{`gGw`WF!X(A=^ zin3}&j5TAqQ37COtc(CG(F3m#iWG%2#6d`GVGM}Cx%C7Ij`@|#t9!A>V~=9;((SWX z9?J&t!a}gI>0bIrH;?V?&;F$;m^wA5^-R0Co3N4j1#^1YUOh0Qz8M8!BnCAUtJC4J z)^e#OA#2Sc=Ar85HNZmG7t1y-(vUIYVp^_trP_YOEfrB;B08G%CTC~D}^yRSa zM;df1X{*L@fCw5vEL5dXS4fs2&((P$>tWKqKOFg?X2HS6WI9+f1|&dPDhOr6%q&tC z;gxbUE?2^RBLLp}(O^`cYV?ketPM-(%Hl8bo>Vj5T76=F#vuPTs*hvpD}4-inwuA* zs0afR@!$H^?%WfVr!P4Kg`KveBrEm`_VHvZjX}K)tEALUIqH&B~Kd(#=;%Wo2gAWigLW2;X@^B15OBJqEY}5L?lBu#L zJg8xU)IbeH#YvuPk;8d-RR^y@VUxJBJ9pu{P?lSrme>)2=xG-PyhiVU>Fb607G4WA~{txlWjhL@d7mx zK@||^C`&0XD9te}q?`Cozjpoh)b>$h=xxMKR9p!Tk*a$5Qo>54$_l+&z1C@WnAod- z$S5T$pdp!xu+Lopwn~vkhSX9(*7uK5NsN2t#i>W$u$=*>54Dm}ZsH0>0ZnRg_1GWu zOc(_{SKA*{_eROE!#h`Msh+LR&8Z<1PSY{@!eg#x2P?y2*IL8G4GBj#>c6!;Z4Ylm zm80X1bwXLr-jAZMt{e(T&G?n*fyK4?iu=`8?-eP=svsg-CGicR|m_Q`=Hk4rsr!>sDJF0B% zR_=VrgWbv1sY%CIYi%of(*_1l1-gISLW@o;hYCmI!_T2?s;$AL)%ddV9CFGpr;qU}ftg z(VRh|q^t-FBw7|ll;@jQvJX|Ef3&Az%vojnD-wnR!m0KrR&V_5Umkp6CVl$gX%o_C zqeuV2`*-hsARq9~b4T&g8r+iwg?lzTn`A!8{h(SIq<(AH)mt*mb!Q*9ZU-ATCmyvc z%;oo`3cwJo5ePGcz(i*3U@?&dVa1$!zJ2SpiAov-A%wC)c#{qf{87V8C8f9`b|68d z96BVU$PX%&N>Is0cDJ7mPt!cJz$HG{qqceTihXl!+J~`LG$8Tf)d@4gfrzRvNFaoP z1BnDoV{2f{?id$QK3u13OXQgOaQ|?2es*_#j}(pbA1*E@?j}xu<1oD51A^sX_1xC- zyLR*5nYV7o)^=ff+8h)#DmtU$pzXFR+Rd}K-c2TFQiR!^yT$G6!Q${@GpddY)1fd# zp@9gI7AzwxN#q(HRkeo55;>J>s}(%*x$gRF70Nk)5@i{VdM@=^tx`2dRFTk2s6vE6 zXQab+SalS-x?jv~)OL#8_m7ITODP};$?bay5H-&!m(un*|B~SMuXA(!aRhcdUE<)-o1)O+eSS>)gx!B z>etSH_SH*U`OWTah3;bh0C~sBalUn&-#y4~+F~mo9=1oVsbRA<*x&cT&Z(7Pv8--Z zQUpw)Q5DD92^?ANS|2batPRnoP=#zv>{Y_%gkN~Nv-OINJ&YP7N;-7nGUS9v)i@uE zr@~Xl2o0wiMoh|wJ?)S9hTrcnf92PI>F@p5 z|3{~Oe6NemZ`t`<;o<)9=6YgR!__ASo!(%^5BmqB{p)zK_DG{z)v_kVS{P!e0s|`^ zVnwUM6Nmx|3^9`dK}g$NuyWPd9DZ{7vCXyHkqm1g!IB#COaO_8c<Gd;}#3QZ%3^Y%lyZHBi^*{X6JAeGr&N>}5wvIAX zvuD0OTKcKUb#22Bg2Y$mu)jCG94)B|lc6x6u(al&Kt+f_H8GZ~VXnYN-ZE1b5EBvT z*!r+A0Zbgng;}@gbf*sAV3r#GO(ls zQX$u(yr3-OG(#aih^aYA%}FycDXqFjhP@>(QZo1hq(o=tW)AlbPkO8#5PY}Yee}sk zgUDt>I59fYDQ+ALX*Se1%&0(I06B)otw_K2`RGCoYk$%z&bM3h$;1k_Ym*aeBNCns zxtP+*a+3Gb&@>Pk3JigmAkaR!NX#^%8ih<$_d#OJJM-R>`OHyh4GcIZ8mVhhR53tu?f2Yk>`e5K-)-h-;yV0}~lAK?Uke;dF>$ z*B(jrz{N=~REomTwv5*NsG0P!f2esLFy)TK-iM{usO|6Vm-ST-2%dpR`%-ClT*XqIOX0Y}K|7`0Fkqdl1(pS^Z>rSPOAWeT+vuhJrYK=2Q%VFB@^M7*~? zvvB$_di3U7wS(1B7WeMq-5z}Ad%bPh+5KR;bG0@b2Im92Y=Xi?_L%cwI10jaB9MkZ zv#jSIPp*D<{rL8&P-AfE!c$o=UvODjh2Q+*?#|Cn04>10^p~>F-t}L-ZNwU{p2!sW z(9?lv_-xH_C!w^e8RI6B1X)2LTbohahTV{RNvP{C-)WD611gUT>( z9SmDLqw0Zr#3?96VBj3elP6D5ko4r}-G1+b?G>WD0PNLOBvyO=tnyn_l9xrzzVo zkfdlIL1Zv7l~y8KS*bm92|mw$?;l5Mz>1pM&?$&gb+h2Jw~L!!3xES4j5Z{i%WnMY zq2FF>{obu2ozQ&F(nc0+_yQzpxwsHFJo>F^*ZWxOiW;M63r&6 zRa7d7VsEWyg0)aZQNVko>G;|hsA4#T2$B?6UYYH#ohRcQys_q_@0ys(Tr?OEjH3>v z%z5vV!Dwb;V!zvQkq+7y`fm^GiyP-1Zrv&B3$OL4-tJU~dyg-+ct z!b+xfj{Umq?1|H(jhn&Y)v1})$}pSy;KLRh1X}8#2>>VJMLglJ{K?91HHJ5zO&93s z7p3~uUm1k;B>G;*92{i9mQQYK1&13^81TFA>30V2A?@c0f&i0~XtyDPxj9TuVrmK# z6KJ*2YN1+16d?%4u{Z!kFb2*+1kRx-kRJkRTKWv_kgxCqE-=b59y)b;thq3z8t_$cn)9&~5x2dhg{@wo~wO=6-3 z8!#`#wiSMz+BkjXAeK?I8QysH=H^9*W)no%-NoJ>tVOMc zMgxroCMPj5abK(=Sc{T*M8+9t06~B-1T(xxmZ8_f?mpIEdqM`Y!YK$*5Q?g(^oxN) z4V#nh;4`H{*l=yDgjm*RfWiV{lh=py8FxROFuvNv{CX-ix+mj z^b3PWny5l-Ucd!48HH06)x&|ZPxah0U%vXm;Kt$aeChL8T}2oo%TeSwbqee2xO*3u zFQZ;Z9HU-GwTdttBgG6Nl&wBxOSE(2O#q`2_71TA&Puj(&YN6;Fbs3`ndC{4igUH7 zS{j}Y4@!8L;Kv#5P`Oa`)W8yBf>0xP#mJ>I$v=Dl?Ww)ipI>^`QEnGDW^K?y5sy;i zC&HNHnzC3J68L^MXwF^Uvj5ZbFY4vTkr%jj73~gAoyF8N;us%(h?ic%um3tKl`%lp zj=`ew*$*OkKfWlj%X1vJareV|diO~+fZ>8Q(aih8`$D~|1{DY<=O@c947TIg!+pt8 zRUP-Ihajg=sAI?Xn@f!`NS50-v3Kg52bF`V&ODqVWFQ09NoNeP<$lFy5zFLMROD53 z70-uQAv6ggK|CB|k|pAQbL+-evP&W|aXe`DDp3?RIIyv0Q6vRIi%fU7vxEIhgZ*1c z?c2{hhB&}W{|r3Dl*Pds(#x1##hEj>ejWGj;fW_6NYDvJV>Z5@dM-ID%g`TS<94;U z`DIY-0_RAbii%eecpq~Z+Aw!Hjmy9Fgz_Je|I{FU5+&8c-k7mmGt^&=$^+^!t_n?9Wa9&feW&O;KSq7%@PEoWQ`y zj&ezYkQPvZLPW*G zy9!5_NjD#K+WDXWH4irE*}^Z@?JX(51SK$F2*Ri^DuyD4;MFDC|M@3+z3cpTd%1;X zY-D?AZ@BJp7mwLYJ$~oOOLu#F$mdY0!Z~!i zW9Alt2!h}NXO%Ez8Ac-v1~@pv&39(AqvgUTzV!J-R6L7TgId7Wi$9syQqDg3D8Y}@ zuVpk-05zZpoRuoh){_uC3lmX*`ufJDZ?=mUegE(>{8TgM5e2o-`=*!vASBegy5JXw41xt*ym*S;C7Ucb`3wB9?tmNeH{KAcU8wa@RFP#E3;>KFD^I;r6N>^x zfzb%vE)I|I;T608!DVL(F=GOPYRqA50svmeNO|!mUi8TX7yIBSR0WWGExd-%3Iz^% z*?pj7JSoEyh(TV%H+oV2p3-mi=6<$5Jtt`)$D760`+1Nz#0mlLzeGbPF*gTQBnebuEwT)8{D8Bv3`K##0EdUTevNN@_bHz>)Orvb zW-n4l6oS2qSARlJs#>jA_jdPAT%WPKGd>3aCQ{XYR(Lj{QDclVWy6yy!9y7$Dh%-? zS4P&o>|W$v`}ruY6&q{G@!e`fRCr;Cj&%2(=&#N__GUi%-t~KBY*g9g3Gy;^$|pjhZ^?^oG|ySj+oK z;1C$ovf-qwJi^n=#Ka0w@{e7QUv6dmm=3FXis@(mkXJUdp_RZR5HaWGi?0Qvbbn>{ z!q=AN_H(y?dlNdqLN%X^^Vc`DYJvqBLA4XAs*xlbgN;{j`CPBVbYZ$bmmA8(+{AcVf<)o1#QeX5YxE7AiMb$Z7y1M#TzvP_1_ucQ} zo?t7-)(B_k5l{i5Fr4;8d7Q z*r-oWO)f6YPfkooTBN<~_In>DM>j@(kj%}ItJI|4v~?yT5d-D2UlCBDvZyojMIw2D z;)yqtr*2sft`#cQj|_!Qp~@b2`qAk2?61uvAi z`{gHp=F}tY-Q+imM$Z)}JUaVf`@^|>XX)af>3U7qM)Zr5yJ~o`|SE zJw3a!T%Vk@p|zuAZ)^Y7J2&A>54X-u?>}~Sk&GEsdi&L4fA6q!5Z1D($zUQ5BY0I3 zB?57uN8QP`%nf*TCYbd%ySvj{bMr3BttWsTs{*-x?`i&j|N0@0GkJ66uYF-=xR6!X zM!0ri))bG-EyPEUUSK&T6WGr?l+>%2AczOqAa!Z(oQ!8fd4j}29GdW9-Fz@nN>x;B2~fFJ_+r=} z)?4-NQP&WgFltUr&CD*=Ta(Ue=kV}oXD{syLZv7O0}j3IPM&{r>e12Mpx(%5a-S~* z+5QD{IMv_TIau3|T3DW}%~YaFCi!}0E4t8m>=~M9#0%4=UZbFrUf()8{@(P&DDVtb z^-3esZ+^8Z7h_=bzx-o;^F z^oPFFp*wdc501_iK2j>YdI0y>Or;-tcgL`|kA*M3uw9*ua>8 z$qla@tet)4}tkNUf(tm0Hm2as_mP~iqtF`b3 zt`pdQyBAcuzSWSp5+!NW9#jrHlewP}b)Isku28QUc^FaIU)$PSTc2K>UVY-3_R-PS z`kf*fJv5n(YEg}dy!cX-y!SH;GrexF$j4rExo^kF(fIeUKYa0PFMjLyzxCRmy)qbP zquf~=ShmEb94w*`RR&SlZOtt1EzH6sXkP9I^_$b1Po>_}21R`&)p{_!#B&wDe_ROm z=H_s*l1@$4nyd4ZO^(9YvPBqhT-iF!`yUpO_bf_6snYYW4$fUmc9wZ%!x6mMC8p5( zLR^wT%IQWT==N52I`hQhMZFq@cuflwnYuy>qalsGKBw@`=Nos{*6*%O&(B_b;)y&P zZmq3#jt|*TJ#LgpJ*;tMwekaw(o(Wi%kg*wvev%)#=G5icWP#8cYW6~!XVHx#wsGt zgP9ec3sJW5Xns*QKg7f>JaZnkXV&UwW#VXlqQR|!t;O~@E<#(xF%43lXvwKXUGy9E zW{9Qvn4F4gsH2>#P4Zq;WC(fxLU8-ZMksb>jb6OcZ54SMln1jGC`K~MrO4q_)qog= z=z$+xsB`dMy@)4ef^m|2abBEwC#u8*_50iFyW4kb&D!Fb#l^ETy}e%Vu&1OTe2k$U z9DVoqt)7g;BP~tSJ2&r$m*>Cu{LL#j_V4@nx--c(Nj47?QPcn>gD<<2st3 z6}oi2es!tt<2Z0oVg?yyD`p^JsHvAmgQoU&X|_dCswRjv+Z*}Adm&|Vp!vUA**W?P zO?*B=rFJ8UuU?<|`v1Oj?$&Y6$|@diD2W$ezF!Yf#mSq8jK__t2%u2TW#r3^^3$rQ zdVwbfDf*pu=V*U%Ve#@amj!a;%8i5FgA%eaL&^Qf)kDJqAE@Dp$l1WIudR2EI?sOY z*=oIZ?b@0Ef#F7I97ziGDguoH84l52!)l{h*&I}NgfH&P(J>z`)Hz=ygdx~y=6x^C zGVkiPQuhrU#B{YUmnK=_e7~{(ZZUWx^Ire7wRiNC2aSLo)Cjd!cgFtVapf2Okxt}J zA?(Gd5piDJcn~W}D8{po6wvW33lc3vOOeEVq(tDx(5WLrv)arC*(-ng%H-_ig-aLC zKYsq&m23OE`yhDlr{|~3>xae7mZ`DvNqOJYGRBNXqwjt5d(Xf4{O4z;UwiqTYCy&i zD`o10q(EWPrWB?tzO&ypM9r=jMCIdZcye9Vm%aJ&n`h3S`MF>C>btMJlMIq546RbG;;3+0H62#W z#Nhfy=TM^M9dHhvU&Gz!;A1diCZXYxZ{J8a+FPFulk;Jr+ri$_q%21L)^xRABzfmX z&n@mOg>x6{d-FbNSyUn<7TE~4hp@VRSr6ZqR-r;5W7LgZ4=veh{7Il6n*coic;o$t z2Lc=7N>sCK$JVBn;}y)&!O`9y?@i55UAS~%>Fm<zpdJ>kQgw|r z8+SLlN8P7iczWaZ#?HN+AhMZ=XXiEQY+h(CzjJqMup11Pb}*MfYgt%5*MpFI?p{GY|TMH(z@5^0SxYN__9;J!909 zFOX8_6g6%>_0{1Ad%z|>*8vLDc)Kw;>qa=}6z}is-&&ik4L+|T!R*!3U%fdyGkw8a zG?Ay#@!V-UTdy=KMnCBF<5R`yN;A%n5x^2cz$*q3G$WgNM`dL@sWKU;7S0`v`XkEs z(q3fjbWm+^B{tTVlT*ihMrE|qvJFiTm`{L7RJ`{^QB>-cQ|C{eK6iRJ8ovJ0>)V^# zDCfh8o`{b9eu4VfH2@~gvh3|w-hSe_C!TuY$t&-EcwD4~EsUDuTaR>y?;I~^9${$* zh%njin`3v}@gJ@gZ(W_t2IozH0>k+;8&5oeVCnsE`z(bKCajsUQ;IYVA893ze5ad# zZdH=)K_od>!lMESHLvT+AB598-jP$UaK6ZL^?rBIzp01&%>iZvHHGS(!BN;YOTEUU z!8{R_G;hlm5o5}OOT_z+PP8qGLZOqhlV=|}Td7tK_77hA)0YN=fkN5vN1UFL;8n*$ zG(HW#@48%;eTeVA_U@^3r#|!IbFaMl&R{S!pqiUGy7k2E{@pVd2DjD#i|RJk-^*@q z%6nVUVP0WQJrM$#oYGbu(R@GG?Wq4K454b`md>O)y=WG`edJ!RJgUY1ob;yL#PwVu zVb_~Xy;W~K#20CZU z5-I0h;fhMFvT|-^Wp!mV8r{8lcXxX?FLE|)jPdGE4#5ZGm_K4?o%qrvK=dHP!NjGJ zWV*KO2(v)F zoGz*Gf)-%{$IBb4!u?~I&F991KjYi-5qnDoi%#+holULumnj`m)^5f>{$XHq~IA$*RWF|DL zm%@*Df1@=V9Sr+O>IZdB;ei}*$P4ZFwKELVsE|0yo$(Mrsm#@oia76_C#V?38OABa zJfS713nBq43LqSywu{}Y-@t3HzW(LGm-YUrY43gEintapuP!gIE+4^2Ts5euwGP~h|t=J(K3Fko@SN9i}ypa=?IsOrS*#F-0cqH1)wfB5RRUmXsH z3MD4Cd;;hvjO_kC5&KBgVI1vy7@!}77nq1{e|Wps?mhn8<7?N~j`xqPwOn=-6B#mP zX|zHUmnh5dc=EM>b2$jE$XQw3cOiVTQ*`_Oy${{nw`y78ZKPrx5yKZ!p7`pZjx|s* z<=YVGqj#GPH5=S-&yLV=h%#K-!sGxWpzN|IEWNR$Lp61?w6e5xcBvGl{hj?h&)ITG z-lf$1K%_oyxQRmP)WoTBUeOPl+WiSjJXnfIy-|PaGfy4u9F z0My%wh2slPY=4bkIRC=e*Is`4=DHzHPhS|WALdtX%=bruS{+p-F&@stJN3T7QG}?Q zWtl4{4JdnfmiC$C;K_kJ-jP$Cqf1A~G4<9I?b7leFF)3P?99b8Q7t;&KfZJQ&S0EV z#KUm>NTfc(cVz@(rL|Hb^&T3 zGeP~uZ+!8!fA>0A{^Bp}f9@-T_qPv!^EanPJCBITv;qmZr-#(VCuJQU`}{u^QsbqF6^u#h;~MwF zm-qFtyawZ)*WNjE{>A>eB$vfKj-oJHk z^k}f3d8r2BAw~>g;m~s(rY#!4s7e_Es0GH0PhA11LMo9pAtx>sl_{NCI=?ivGa$O6+}_w)+X|zw;N z5g8K_d-2QXmKRSis_NFgtt;K79MblEPH=q?Ek8rH7V5ZV?8vGq-Nd5P?~Q#Rf*9JwF;s)}UzoUFw76 zriJ9r%`eU^pIx4wpFY?*_~5M%+DGlu>}JC!mg6Uq^iPbGsMwR!?I*+Qq?Lv44~r-r zqjQg)d-AhSe(>%GE_cR^JO7#P4{-sA$wn4lAxhRW7zWl@$I|zsOp91;z{ZQmIO?L_ zdt=S%3#XP&FB#_Td)ptp{XtO_#O09J2lpxZ7)%cvO+PVG55W3~@hWYO5{MJXK)7-B z#>(o-b1y#k{u}R)`lE8VAjatw@}vWDed{B`tZKkHypZPVbMFZh!&EsaTmQ;Ce@skI zET3JTUYI`IJ-q(zwa!tewByJ;C^`G#FrB>MCqwEZVErU`jm3mM4jG6oZ{FQ(AGSa9 zrO({Ed2jR11_u^ILh6Bx#EDCNo|ZlC_qB{cA=wBVzn_#v#ala>LUdIW8qbHUNd;CfcGIAPeBEdq0w;koj?4}(=R+d zH8=I%tM7qH7#?B->;>Kd#3<*TvxNzWSV^4Z>L;crmRFZ&7G@514z9j+wSCkst2Ix^ z8~1PP^bt@_aQP(o9@f(z7pYGm_)m}57#-Dz6>!{>UEY{y%uaaodvBgTfBJ>5z3|@a z?~MkdinRbDn7Y~$tg>ERMG6sX?aKL;r87%VY^`ryeS0iQC3BalQ$48-`o5gPzb|F{ z#HT)i;6D{!KS%*T2{N|4erJ6&7(MyfC)aPUZ?0_yK_KOuC-s1MQPs(r$y2MR<`(7- zb`P$;b@ll0n23yhNR;r&cclBVVEQ!5_=BGMWP<N#+{9%wW9qb?UUg}+b=5iQ^ zcW>MkmBJSy64>C>`BN)rRusB@Z@UyFV@zpJo}7jcTMzm$R`-SLQ^NEkmGOswNO2H< zN-u~0f8SWG6oV(9f6^E;w>bCOcV9bm?#$fc+`-Pl`rY-;VP`B#W!u$9p?R=;NC!`r zKQ3pT$k(SwN>nJa(Wmzc>EFjK`-;3ceg5><|NPh2Zmn(I+uFFhF%~7}lOE(BBtZ}M zKdO>HE@yqBGX8L+RFwh~e0neX2T9YXf$U)*bev8ew<{907*qoM6N<$f^k|Cwg3PC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_pixie_04.png b/2023-11-08-22:00/pascal_trunk_parallel/c_pixie_04.png new file mode 100644 index 0000000000000000000000000000000000000000..293fc05fe139b945bc4039d14ff26719c7d9d29a GIT binary patch literal 23379 zcmeEN19N0uwC!->OfYdKwrxyodt!TH+qUgYteIe9b!^)m+kXAMfAOkbS9NvOt*(3P z?z7L@d#$}rq>_RpG6Eg~002OimJ(9|03hi9`@%tjuRIXpk^%rf@ubCmsCnd^=em2S zEj)B@RnWM6ZP%xZijqQ0P&g`l+{BQwBq6`s6oC&UPxwlFx9N?RQdSgHKx*9HTqSgW zs!l&2LVo*da?az-3eSST-M4X>Of{96%yyWQc{ZhOQ}_2_6DxfzRHFErP{Uv=K;pJL z4y#aN&*Tpr2Od$e`0tq~90rkC;E*MnHM^ihv{Laki%tk$Z2S!Ayroaf|Nr&>d<2$# zeWCCs40??laMl>p$HLv6_P}fXF_SR}3N7r^jcAkW%$$RHZweasbh^#_B(aqJ{p`FR!SEt_c@0F)UHaPrZA*PcL?I5ohilsp>3x#Q zZjcd3h|{^Vzk@d!q+g2qEV&*6JbdHmJeYGkumjY&cdS_JU5a={^W+x|E>S8+U-?Jl zyHMWN+xp8G?k~>WqW}C(*e4`szOU+`&pS2szJ=hjvPu|D!DW9H(nxZ?aNzV_NIO2{ zq0La&GKRbVh@t4=2I3#LvH1Sz*@>T!tFLe@e-`(l?c#E$u&u#f!0*G;WZ1DT&Q!Jg z?Q<9xukDo4?$!84i)1&5&W`m;p?f1`b_seBa$`Cc%4%r4wnf8$hoH^Qyz``YEYFrB{&7Bei#{0*cALrh zs-C`4r-Yw(b859nO6{D&Lva8oSY{7qVHb8XNyr$Yy10DiKzNM#ho|cpeD@7HkfRCE zZ7?eD-Sy;mtj^#0Uu_iqc!wR+TLD-*TaugSps5=R#iLPq&F8j;a?ckM2r-`hB_Tyj1-<9(d9wu*|8$1D&Gp&o z;Q6p=1QiZN1HXtpSfj>rLBeJoEWQr)15lOqFV? z8SN=C&T^^t#O!c#+btQcr;bO;@s7A^OA!IR*OE(yX{f` z;(ll=@)l#8E5nF8?U=SKub%;Iytn8zUPz8@cLRRqFdIJc{|HJ_

4=A_uB5gKKyCOZl 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 Z!Petn4FA+qA;2Wh;OXk;vd$@?2>^8%Vg3LB literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_volume_01.png b/2023-11-08-22:00/pascal_trunk_parallel/c_volume_01.png new file mode 100644 index 0000000000000000000000000000000000000000..d9b261c2adcde3d025faca879cc6748483023c11 GIT binary patch literal 127840 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

RqyCXG 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 RaPR;C002ovPDHLkV1ntWVgvvH literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_volume_01_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_volume_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4a131750218435757f8ba20f65a5295b3672bb GIT binary patch literal 16496 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 z zS>i2S&&7sGL7uQINi36s<(9VNct+VUPPsY58den=d3;G!j;8DyuFvUvPS$u&)iTLQ zJ+tw!s@t3{l$)nfb_dosRCubT}_OoUCLMA%u7Vl|0x}GAt z+Mj3W8Zys~1-pjh1)Cl734O$RxD;<2Gj~q-m-LR@@B5jWdMM0X9=Ul(RdX2G^ zC0z%G^9x2}MiUgej@1^MV%-437)w4gZ7*H#zwXQ5^R-|7@9|GP|C>FfMLz$kum8`h zYWY(?@;A>{I6Djkl?}!am2E|l;vM6RwgcE!WC`1fTW+g6 zMashqfLn*0uescEIK?~OIN|z&!zr&n;b6*JZjgB%UlJqt_FdtWP0hSuRnhg7j`^6U zW?Yo)A`i~E_XN2TG{neeOOZ2~4AQEmrD+FlIY}^OAw1sh>>I@CY5F> zU-^aq-Z%fT|0qqzBO&DqoxDbcc4s+M|x|A!1H-98;F7=v{j9TEa<;N%47n9fKN zb`{Gd+ZvbBH5f}iK~-E~wk2QuIseB0>%0Ez$z=S$v&=txdHyReec-#l7f&H(Z|+ zl!xaW&&U!^E*WJU&FDHVcO1`Hj39EpAu4Upd^FI4c|zhTGU}dX#WoCp=U%S1-)9HJ zh$`_EXk5zb*@pyIOo|L zEH~Ug!&&lVaHv~{EH{)5$1|FiUBhC+;e;obMCGYN4o56Y9$u0p%yQ;AWrteMx7foo2nHKDtVG+~gCBSUN`5ILg6Sg&7&+S9JKvRn}YZG}eiDImqdthe#b;xqrkpZS4z zzT=($JcIlicUb)FKl+>B^=IGn=#7UiNazMSbHCXv^Bm8~65e<+OgS1e005gEsUOr& ziKFSbw&0oT+&|;NImc7lo|6>^6Y_+I=NwMCzTnA{<(3-tFf2 z-}QN)!WzHk?I`*W-~S_j`aA!_S6=#L?xk=fP&G8|uu5W22V8D3hE2sdqv<%9@aTdf zrEW<)ec;A|#1FdQd#6O@cs?BAquIc-k21y?o0`-y9}lY+4kqL&ZRC7M8EG4u7LCIT z*jq$(K#=1eGR?7$EFq!JqpRfAP!y)!+Xq zP4VlycjwjDKK!S?{cGO;{$Ey=%#s>Lp1J|JwV0! z%{ZEI?~JY^O;}ZU%cQ^=6vi3IFbkg~oNsZCX~MeZY>i3C3$|O@mcAd3oA=~7W?u~m zVuq>l#A7UezuvE8wWh47TKW#-hmvZvz<9~#W?g9!Z+^?y|LK4IEB=7B_EX#8*Lz9P zYp;Fmd;a`4|MdI*ZndND$Q=o!j++O=VC-c@kx}l3NJig?j zSZ>W>|AHEauOcB;$0=tpkjq4a}!(8$_8FTy8lj zDKfg6Czq^u+`5f-Lu|e{$NNE;o_M?`26j8PTe|*NL%Wf|#nPN4#aPN6O<-MOE%g>L zxD@L#`+Ky~c>U(>-}ml+>)-zJZ@hc=?yu7Vzp;zeR;%Uz@Pps^!$0!h-G6Y>)aU0r(j7kVk8E9O5c$bmL#f-KKHY~ z;5}dUAN{s>zU$Zj-hac!0;+2B!$11p|Kv~ojgNffgY~Yg>sVDX8Zn+Q8nL=0D!Y>0 zkrlKRZBL9G%;=jz;i?(eZXz`&7o05zYHy#;wp*rC6f_b7b;Z#&tVM*2bNZh7f}&tN z!dkW^O^ewtV@OCdE|xqwAw*n?aX60{G~zP>k&Nt^g?sZK{Wrh$_kF>a6~({cEBpS} z=fT6*e*7nY@F#!jhhBN*ldH?Ju5fN>UqfKC0YT%?QFaaPidO1+rc-8f@`Ac%dCvYd zE1aI-9oB;)hF!^cLQx<>+j4%+WI7x->sTy6sA{r;#3M4q^0Nz^$0Znxv8a-cj9A(z zhc}PE=y!a@SN*A&^x;r()3Z`Zp2m;n%P6{C@yJ WLK1E9L!2rA0000~uPB+L^k0rQ?^$ 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

RqyCXG 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 RaPR;C002ovPDHLkV1ntWVgvvH literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/c_volume_02_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/c_volume_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4a131750218435757f8ba20f65a5295b3672bb GIT binary patch literal 16496 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 z zS>i2S&&7sGL7uQINi36s<(9VNct+VUPPsY58den=d3;G!j;8DyuFvUvPS$u&)iTLQ zJ+tw!s@t3{l$)nfb_dosRCubT}_OoUCLMA%u7Vl|0x}GAt z+Mj3W8Zys~1-pjh1)Cl734O$RxD;<2Gj~q-m-LR@@B5jWdMM0X9=Ul(RdX2G^ zC0z%G^9x2}MiUgej@1^MV%-437)w4gZ7*H#zwXQ5^R-|7@9|GP|C>FfMLz$kum8`h zYWY(?@;A>{I6Djkl?}!am2E|l;vM6RwgcE!WC`1fTW+g6 zMashqfLn*0uescEIK?~OIN|z&!zr&n;b6*JZjgB%UlJqt_FdtWP0hSuRnhg7j`^6U zW?Yo)A`i~E_XN2TG{neeOOZ2~4AQEmrD+FlIY}^OAw1sh>>I@CY5F> zU-^aq-Z%fT|0qqzBO&DqoxDbcc4s+M|x|A!1H-98;F7=v{j9TEa<;N%47n9fKN zb`{Gd+ZvbBH5f}iK~-E~wk2QuIseB0>%0Ez$z=S$v&=txdHyReec-#l7f&H(Z|+ zl!xaW&&U!^E*WJU&FDHVcO1`Hj39EpAu4Upd^FI4c|zhTGU}dX#WoCp=U%S1-)9HJ zh$`_EXk5zb*@pyIOo|L zEH~Ug!&&lVaHv~{EH{)5$1|FiUBhC+;e;obMCGYN4o56Y9$u0p%yQ;AWrteMx7foo2nHKDtVG+~gCBSUN`5ILg6Sg&7&+S9JKvRn}YZG}eiDImqdthe#b;xqrkpZS4z zzT=($JcIlicUb)FKl+>B^=IGn=#7UiNazMSbHCXv^Bm8~65e<+OgS1e005gEsUOr& ziKFSbw&0oT+&|;NImc7lo|6>^6Y_+I=NwMCzTnA{<(3-tFf2 z-}QN)!WzHk?I`*W-~S_j`aA!_S6=#L?xk=fP&G8|uu5W22V8D3hE2sdqv<%9@aTdf zrEW<)ec;A|#1FdQd#6O@cs?BAquIc-k21y?o0`-y9}lY+4kqL&ZRC7M8EG4u7LCIT z*jq$(K#=1eGR?7$EFq!JqpRfAP!y)!+Xq zP4VlycjwjDKK!S?{cGO;{$Ey=%#s>Lp1J|JwV0! z%{ZEI?~JY^O;}ZU%cQ^=6vi3IFbkg~oNsZCX~MeZY>i3C3$|O@mcAd3oA=~7W?u~m zVuq>l#A7UezuvE8wWh47TKW#-hmvZvz<9~#W?g9!Z+^?y|LK4IEB=7B_EX#8*Lz9P zYp;Fmd;a`4|MdI*ZndND$Q=o!j++O=VC-c@kx}l3NJig?j zSZ>W>|AHEauOcB;$0=tpkjq4a}!(8$_8FTy8lj zDKfg6Czq^u+`5f-Lu|e{$NNE;o_M?`26j8PTe|*NL%Wf|#nPN4#aPN6O<-MOE%g>L zxD@L#`+Ky~c>U(>-}ml+>)-zJZ@hc=?yu7Vzp;zeR;%Uz@Pps^!$0!h-G6Y>)aU0r(j7kVk8E9O5c$bmL#f-KKHY~ z;5}dUAN{s>zU$Zj-hac!0;+2B!$11p|Kv~ojgNffgY~Yg>sVDX8Zn+Q8nL=0D!Y>0 zkrlKRZBL9G%;=jz;i?(eZXz`&7o05zYHy#;wp*rC6f_b7b;Z#&tVM*2bNZh7f}&tN z!dkW^O^ewtV@OCdE|xqwAw*n?aX60{G~zP>k&Nt^g?sZK{Wrh$_kF>a6~({cEBpS} z=fT6*e*7nY@F#!jhhBN*ldH?Ju5fN>UqfKC0YT%?QFaaPidO1+rc-8f@`Ac%dCvYd zE1aI-9oB;)hF!^cLQx<>+j4%+WI7x->sTy6sA{r;#3M4q^0Nz^$0Znxv8a-cj9A(z zhc}PE=y!a@SN*A&^x;r()3Z`Zp2m;n%P6{C@yJ WLK1E9L!2rA0000^ZOHB-kqWyqi}GA0BUpz)Kuv)&FBeO Q!UT#zPgg&ebxsLQ09?SJ9smFU literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_bigdata_01_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/d_bigdata_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a61ffb51678cb5a10e924169c2e652ad58b0db2a GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5L}v1UOhws3%HG&Yxf7cEtC>&r|uC+csRbP0l+XkK+L%l3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_legends_07.png b/2023-11-08-22:00/pascal_trunk_parallel/d_legends_07.png new file mode 100644 index 0000000000000000000000000000000000000000..46a7becd42143677d7fa64d52dfab4a9c22dec9e GIT binary patch literal 1393 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=FImo-U3d6?5Lsy*O#M0}qSh z)c^leKMDNq`Iuzmrrf#Y_e;I-siJQ$ZqhNErv}o70xHsGPRpD%?UhlLQGVV1tXu#7 z?tgZD_I|~z!>iY{E6w`Y@N^kRAamKXHI-4%TFvf!$ZK-H)^?G_-oHcY)9pX<`Tr|Y%6)5dnA@3nZ#)34HhJS=Ux->{M0J(oj!+ol;8 z?r)gtdVO!BnTW$QhD|IJR2y^}7rSci=F|3=cA$IB)m0^t5sU0TDs|`GetvgO>vmpu zVVgr?1_!wnycr^yP6#`^6Teq^VmX8|N8Q3 zv+J3@HuJoTHPut&(%-~x5=&3KpP!+Vx~uEfhdcNDr>^_B;+dpU((E-(;Rj~~T6g_i z`dnQ*@4M;UYYFFy_IX>D%)eE|BsFoC&hcq=%hsLY&OH6L|4g-3rZ@X-M^&@rNjmRe z&)@paYvR-VsWP#W#bKwmOfo$2v0C=o2b#syA0_$D3w``dJJc(P>Ox<{w4>jrPP zj;fx|#Vuv`eXZ)di+%TAUr4gv&V6rl;;$*sWiM#0e()th_LAo6Cn2w7u4t^zxS1$( zO?`Dv=QHUWYO4z@v!$yvv=g>mTDm{GAb3-k{$!uS{Hb%}I;X`4RdE&699k4}HRV>b z#g1D3?7n%fpItZYvgqr-<|zG&{hsU8#lpwWm+t5{JKM{*Z{A(AIqR)=+H>?>`(Rl1 z`O90kDE;t@PxqXP%1b_z^C$Oa?7{l4HH*^@cIj!D*}hFVDtG@MOZ`L9YqLC}t8-6m zR$+g0^3c@=4|Uny246Uszi+PE)uq$je}VJJ$t)li(&jfi*LfJmE=!A#(bR`_89; zQlO{?Cy;`;Yp#B6f~}Ku7*jYy?0r8S{3mU3%cM#^(%h=PId8Vvp3X|Iz~$__{DN1f z@a}s1ZQDz|IeuX`S~mTb|LOi?idk;OpNgkdw@&PWnR)J1mhsQJLpPH=r#UQkecAk+ zKmB`S3MV*)={{f6_xY;HM4isfn|{5SUvmJY3Yt)X_RpDCy72PDmqEy43f>R)tU0|# z_MEsEBtZk!DR?V50G-{=m(vu0bZM7RV{)s(9yQMUU(EMC60M_;pv z@q`e^)Tm?qwTbtwwe+-`pLla( ztVC`a@x6{opL(N+FDrJ6*o{qmFJlibzx|2t#M8cpzgy4m`BW(1V;k8yH$%S5Oyoqx z!(uDLhaN_gre5llY*z8rd{^*P#_iUh*H@;N3d}t1*1!IU@(CO1C_e4aSN--Wbn=Dg z{rq`-SK+=(+2`Y@w8#7ehmJUVwGaygUr)uQL?H}_3tL@D90a~w?T8A1-PUtw--1}sz= O7(8A5T-G@yGywoSB77tO literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_legends_07_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/d_legends_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..db4b38f8ebee2f2202fbd2028a79d53a8d8fdbe7 GIT binary patch literal 928 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 WE|BUF$&nlVvxS=4m{i~NO8gH?UvEkP literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_ops_cart_proj_1_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/d_ops_cart_proj_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cb7768a5a2bafa76ed2a7a932e72fe9d657ec676 GIT binary patch literal 1710 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 V`wav@6HUHBmgaV5jGJC@{{Z`?m2Ut5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_ops_cart_proj_3_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/d_ops_cart_proj_3_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ce273ad0aef66f1a91272b46b6e36c39174529ed GIT binary patch literal 1411 zcmV-}1$_F6P)d;V3a6oG|>kW6O2Mk(1ds)G2umh zzz2;a5{dEztq&3_5hMW$HdyHrZk4p%ZZFeqciHXk>}7VwhozO)nQgbAzRd4wzHiPs z|2f}n&IcG67#J8B7#J8B7#J8B7#J8B{3j4veReXJ3kd}PNKDkkRuQ0nb8a03c~@m|Npc zq@1Han?ai`2DktKWBly5lCED~A|)I*^(Z=lNjLBkk*?)K7K#EO+E0&e`^Q>Xh=?1Yz%T$Hac(eh z0vrv5N!5+V2;Eru&dC&998zjD5`;O85JgA;W7dt8-<(X7FsWk_Q4o#^VK5dN=A70G z%OuoKIb7t87_W@V4rEA@$!R|SOo9d0$pMv!FmfHw*#S6LSQ57_%$O_6rX}0GiX<5z z(>7lF>#@}~)1poFRxm{XSQe%hUy3lflRo9zW+7|bTa$IT8_nUGp)9qn>P&WvP0xo@ z)vV9Gw$Vlc=lTIizBm#^d}1Ww|Fl5>xrlWrv;Z%;ILnVJLTfXMKZ6HUL5R4FobzA~Po zbcah|DHX+b0E+l>S?a0JHY;{3WT(>**$UbHPF3{;6YZ-pAARYCi>(`W z9f-D9@r+z5c7Jt-^(@I?<>Q>JCo=iNv-aT!od9s|i?JQ_l8-GH%7DJGZ9=ipL*Lc( zqzZd86!&fixjJ}a3maIY{IoCDcIM&IL;Is-CgW~Vw|1>9bsRf+qEgZmDR@J`oxfg- zcOr1mYCrxa2b?dHf3~E*4%eSl>BP3$cFQZfM`gaj9oo0yxjygevrq5({6KRVQ+;x& zc})e-K?L?JHJy^6T}TLR6%R=9!ZZT_J(rHSzl;;Mh?Tuo*X28-Kc4)h7?uLT z7oe6|tbj`-JXcE3R~DT9XqD6J+6choCx&4I|61MQ^3o;C#}}<{4Ibh%e9dK1ft*7`~CGeR&HErC6c$QhrZpbNGd^F zr=735gk*@P`&~Q$glfn2M6NrhpZ(q8LAq?W^-v25r0A>U<`Vu|9ugda#Z{GO=Oy6K*`5^0fj{Gz~tHVeoM9?>J*Ll zDneHsdA)9`u_%B4EZUoKnzUb4RaG5O{i>>F5;<+Nn^AL4W^cI}jCW^m43|&>K*_zT zvyrsUuEJb*Mu1dR07$8E2S5-xmq7N;xPaU5l$9*!F6n@&+pmFvfq}vQ$zRM7Td2N7 RI;Q{t002ovPDHLkV1hHTm%IP~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_ops_dualmesh_mesh_plot_2d_01.png b/2023-11-08-22:00/pascal_trunk_parallel/d_ops_dualmesh_mesh_plot_2d_01.png new file mode 100644 index 0000000000000000000000000000000000000000..c72cc2acf2ef0fba5c6f838ba76f26c83579f647 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK#qo|i(^Q|oVV9E3NkASusFv3 zeEz2^k<0zoE3*&hEZQ53L24U3&!7EJJ@5OR&*9I{9-7}B$xt^#iY<%7z>AmJltp4` zTcZ?HPtaipUPiZ-i3{2o7GE(4aBc|9l31a5K*N;hia^2?g31{_lrTsXFL`+Kq8*5elF{r5}E*u#&D|u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_ops_dualmesh_mesh_plot_2d_01_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/d_ops_dualmesh_mesh_plot_2d_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..23350613df49634fc5cf1c3ceca69f1b586f5ef3 GIT binary patch literal 229 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 X$gvNwg>+7000000NkvXXu0mjflSocI literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_07.png b/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_07.png new file mode 100644 index 0000000000000000000000000000000000000000..202f5dbd45a2743c870ef0490ef26fe6d5c88bf5 GIT binary patch literal 3121 zcmV-149@e3P)=}!Eq6iN`Clr}atHa0dkHa0dkHa0dkHau{Q zZa^FP$mcIZ+xu^1sA(hl$0P3n~;g9M@ z__YzyPp&RAtFNwwA}bv*C$VgmEv$xu;?w#{s~S&|fc~lFQGJSL4ehHkL`cFfA{{ zm&WV}FP5MSCo8REkkUz*ln-HyBw3#e7T`WRcW-+xa(oHA3pf(iw*tC~LH?qWe7>M4YyWcb)B>yD8zrvm-Gjhmv9cyj z#}^Xf7CHKL_!YQW)$e%>vK537({#KY(?!gcJzl8$Cr=qz!6!;mdC!m*DHe7IuY2Yi#*4 z7ZYBG_-mU+nHXebR)Ao2r-WtZr?RXFF(GwIzq2(V%}Ui6uMMY!BGR<2OoNOxIl2v! zFOox(DS-_YQw59^en{G^9m8|r+CW%oFASOE$Jb0^s=!${tl`y<3B^6^5I$U1)itc(ec zDzJe^D7#L^4JFIX6AjXAj2Sw2hF*Q?K=p8GvMjfO`hi?BwggF*M?lLSbn1pBD6*E2 zl`lV63J9{6{BdLX z-k~9u2!4B7T3L7aKHb<{2XkcdS1mA4eDz$1jQ-+)<#Qd*R+{BUp|5yo<{wdW*DJ6& za@=Vp2w8aDf2p)HvE}(Tcm-^R4X)-6oExL)DxfUtLA`(^qKkKBQG-=j_U4?BIHj*7 zsKkvd!3l|v1l6yaEYf3mJM`~{&*YBmRYleo7KMjJ9emM2*88Nkl_kKHtf^l4=EGK& z003DBH|6hjgVv3#Bl76X`9OC4LRKcW8e8v)Sy7givg!?KD|X2bSF(` zQ9OGISr3yI2E3c^Rh9xES)PZ)PXP6t^+si>pSg^zhe%6{Hd!$z#xDV(8NQ94E2Lu< zwjZ^-AuB*Uz=P3;xsu!5AfFA-)XmQi$0DcQ^#dfU(f5*@S4Hf5{jA|kMUIwtvTn7{ z?axQHLVu|199+q#mh;(*Z(aPj;6wK3Fpm3g62@S%8moF?S^CXZ6hAi`g#N`7c2_vc z0;E2is(a7rUQ%vj=Hiy09S~x_y;7;Ca@5$=qhTmP`9qHIV3C@k<5MtpG3Ahx2p0@-SvpVe)4 z2)&(-%D3{e^&DqLG!PUe0$ydfU&xhuY8%lnlce;gra0Npk*p~&1iHr zZd`qp0XCi+{3~WsZoI(G%LsbSY5FPrNGara#2}REDB2&SePc5J z=7?HLxsoN|e#$rKsf2YeV#Qp&G6DAw&YK35RdgaWkW5!7*t_!*2$sT{z+MHs5G^dh z>JH5ZbE@stx6V4!BEA+Jp{Wn&jHr zQYR<`{V~Yd!Rsvb_YI92G8=$wH)dDW=aeoBU1nfP2|U-~7q)t&v^u!D5Aa9sS%sM% zH?AZd#b(2t-mx=IBnoQX&}nC!sC~vwsEZ@L$=fFbwxf)btAr}Z^VV$|2!tWEB3UVN z9VUPoTLP|-0Z6hGHV8&TC!Z@c*J1H3bZqcl24eYseltuBOXTQ|FHS1e0r@mw!jk!L zT_XcKBGcMtv4|Oh5i~fg_B%k~@@ow!RfzgBrG$|+pX&|~L+9+ByO4P07eAviM!xVT zOZ+_UTe9x0XO~HA<032`F~j+!b-~*a!-EcC;G^OWNzi5}vaMANF{K1rV;hz+_@&tT(q)nB@WE6Qyfws|0$a*@t|6u*_G*SLg-x-G z&RAL3^7H|pDIsmH$aR>X3sH1U+#N>LLE?~%o)CODee%bwLsx+px=&qF+|MBEIq|&` zn*MN=byWYS)Ui{+WS8~dDyvpts@phZ9p<{SOi)ubP1hfuvJUV^K{N2XIv)eH_}7NA zQkLt`tt%=cvA1kF)ZOXw;JFq|LEmp$?b5eiL}S%=zBM03FeGTj{h6peJxOs zC9JRDYPiTctM3devtkF63|RdSN>xH5+J7OZ4tAeOt~MMVw;GA-I?=me(Uw-#5yMyQ zBjvMrvRotUSCJ*@a4TK91G)MIX_j5Z-H}pxl0$EeXem%kz4s3@T%aRMnaXJfY};sk z8nm&mVz9_6ji&dHT6hVng=RLCX84J5De^fjz?u9!Jh~ob{n`_IDrZ}nUaip%@E>pd zmr!0rN}T)Bv-_2lq2V%vw!)X+d$u0 z-L>2=43srX9MpeC4%}hkOlg4kVv|KfH8jWti>St~4nR0Z_03UUYw9}0JQ2Iuu-t8d zwB0QyD@eT_$!xd_y`CR>K}6;sYtsr@0L@0&i)nP4B+8bakGPlk5V9_@LgZ8!LUVKm zc3{9GMp>5*)pYT;bz`O&85{~S!)uq?L7eh>C^ZZz*cnk{7AqmO{291`_mLyQ26#rd z;A2jx+_2zmfVkOE+_AQhqBAD~T?cWvcevTr2=%ixT_wa6&Rnch$`jXb6(o_vRJ_Wf z!^#K$m8Wst0E-+DgFh1Yun2hA%GfvV7_?v^b|lJsLGz5je5*Ubf?p#kZ_6-vn<#W`2o3?xHGUbZ$k4%;z2*{G0Q^D28Wutngy#;LUVxEj}_ z40r&nV`v9rl{t)k;&ElB!U$ay{E&n3SqevUu4x(=wHU&9E7An3<_G zBt)Y8E*ij00000 LNkvXXu0mjf#LV_?Y_hxA*SCM%-Oatb_wEDz!$0`` zlY7taob$Qo^*g_FvcP41+oVY>yCDStpwF5Op|LyOQo6Y7pLg9&SNj&2007#WRp`Aj z?xN}~(V8v*)0S9T0ANAZJ$IyIXll^dn}zO1p|`&8nD1*r^qccPZOnZhg8*OzU~zQ) zNFSEz)W`1}2vsF`V?ZXk0F*3BcE7jBgS0stoey>WB2 zob&Upseh!XsOZr;l5ag;=OAf&Si7GwRlIxX@&=vKwCUrNW3wDuhP%|xxH zhice8FEsElmq>fh+A-kH%AT%`G3*jK2YqL}BTP%mEZrhaFMK*{<%u99y&+#-%5kQ5 zG$SV~CdYrle}2^NPD&GI>85J|_-nQv_BfoO48L6a$jRVh%zZyMqI~bE{?u7>QdFuR zblUsecFh#+^faSEW*PQdTF_f{OeD?A+czFu@d^|G){b+?oO`7#%{l1n^4Z;KNvSgo zMujp#ef7dS0013*A>WnXkgk~5ak^{tJJ)1s0Sr3NkGkziX~HZa?BkX7<~on~FySCe zUR86J{@%{v6rGJ}Nz>D!etfvLuNx0bG4@B9oW6IDC%#Ncvsm@S{26Lc`JS2@Kszln zff*gr`lVqII+ZgzHmn~8{OX%i>mF58@-tyO@5~0}CLa{AldS1c=@Iu@1GcI5mv@Pb zac!GQzH*@0uL^Ol0g&3EN-;~jOZ%eIItl2|u&U{e?EpsqrfR<{MFKHgtCnq{0UoLu z9pa9A+^uMJb|HI~1TwZot)kqUR6i5=>@)!2#6?Bx=#p(I^Cb|x{wtMOLsvTAuLZO? z-xF#4L@cCLUdLMdy2iOui0@x&>ttU2KPLG#gCoWnVFt^vKTyW6+zlF?_oW|7A;9}8 z5M&g)yl@$k!^0yJd{>B1S0zUj0suF0_zOAYdNl};k;F`edNTCO#D}}nB8>o!55v|h zgUq>89Rk3wn7Skz0Q9Sr%N(Kz2to8OW<-T3YtGAhAbqRy1iV-U(ai^aOTq68005p{ zUp+G^0m|wtw=TYWp0e$&P5=|mK6_^%tU2=lP^#n}RDGAa9Jv6H6lCaj1kybP0CI-D z8OTQ=53B`%8}ARi)z<;&tWKc2qUg=g>ed3l4}uHU;sb!a-webRdeQ>W-d_7BaePES zcYHLmgb>e(O0KJAkSjmGYfXKC1!Oc47pFXD+(};)i1=IetswbfM!qR zDE8FE8s~mTSi)GIv?V^=oV2zXpATc%QUIXx?hr$!U?}Fah<{TSOCf-v_dMXyKzK?3 z0M$Jz4vh~ROo7MHAxMM>O%A|)0a$t~fTU?(1EQMmjDCPQ3U$+?nJf^OdI6D+ECgx}in8`2nn7Kz5 zBkMjUNk?@dP&h6{h^H^Fi|6E!CglTWK&xG}7u;j+?w=(~UhfwRSI%o)1F>D=h0f@A~l|49@`f!On14=C8o!5Ri!F(HFd_JY(FlH}VnBP{pbX3(`L zc9SAxV2Uauxr`)jYh{U|7k2M&`=mX}5*~NTPVvdc5w)Bf)&OXJuvvUFTw$Fs2{A5C zy)OB{mrqtk=(qVumIW8lia*No6-9?cc;S7aTWHB?F zgk^dF$S8sVK>CJ?w~Mnk)QP6`01SC0t!xXA_SYu}VVNFDkGGHJ11M-B$&rBJq~36g zxz#~#k8nNdvZlPdEhdEjeB`~Oz?GJ#0LTw|fI##aC&bnFKL<&+EmUFvzYgU*C;%wAq?XX% zx@&JAd(+Lv!f@W@_wRGQBaeq{*&IO+fZ*gK?0B+pvayA1$$oXADa5P3q3nS;CKI7vtU zZn`4(fX1<15qq3FYKS35^A+TnIBbFI)vZTJk`)|M+5^VI|98+-5S1aS&`bUm0HAq~ zB)6`0bw1-KD-;Nk>Mw~JVFV@YCv9^8h_iU;xiSBv*r5hFX{$UkG!p1nN8JWfjM{@* z<|WJZ0B|o!ub+cgVa|{ur19*KmvjvrbCHg^lDt?|OPW&G{t9>G0k~hR$~qM&SAcli zPX(rehbPSm5C9-&wx*npx{BX5i&YFv0e-Fkah(f3+01c`M3}MRH`A|W(A)frwm48e!kHFT?bjFOR-jxWavJir!&Ne zzV_nOYByQE%2G-8u%BdypX9ok2fj%Lu*OZ&Ck}iMS$ykBc1(u8jAV>sN+K#~BDpKr zKP$1&y9p2}(T^z!DZTjZ)|~;ysVVqN&tw2d{gP$M_raGc!!q%3G_pc4bAy=ni_@v` z6^`{ojI7?kgZAd-Gj;C9gERhc+gt0zYly|pmP`6zRV{q!gP$%=z5UTza@(b^izu3X z%R^h;|0U@pZ54%yR}jxnO1k}-p7+~tzzJ*j;RZ|MjQD>XBTNy0_i z*}9}E429u*{r<1ax!6?}LlOuwC|Una_bvxuxd?-b&H(@b000000002Y!0*mLosj&s zGs903E7W({o8JeB)uPdtz1iKHx<)7GcIVdp+nBais_ksMR`-xcX>lmF{h)>(p7r5!Om2wSFD=Pb49U56D*MAewy{NU5lL-TJ(R5kj z^vVO$IJKoiz?UM7bYA^TW#MUMeEHJ~e15SKf)h4&q{Sp6HBmmwN%8YSv98QB{t4M` z!_v!B@lvswjce74vrfA!5PObF@ppxK%X{nKp0qBg`WBddM<#jqd`ra2i%*!SJs+)F zjuvYnT-KS0syrXX&RK_>aJ>RWZz0#aa@>oZ^+((y_8k}#M7drsR$sLfda;6B2Z*I_ zghl%ZmGKC%bhA8iV3NiIGY8TO897|$&vuAdib_#87JIfss$n~ocqQ(bI_m*<5g!9# zoMWnCBeETQJ~&UYCRUADu0kztKzb^=nc-}2W6o*|%9p(|>*Qh~#5?DHa;0h+b5=W^ znD*u8V$VcXbMom|;^4E@(#!Qbz+N>}4I|S5x^M^SWEA#_CSJLTStGQF7G$vusr5x3 zUwd&UduoY#ebf>k5-^AA?oNbFwPd;2u7lBWkLVGpqK?kUOW-9DI;BRvC78rs555ko zmL!%{Yq4sH&VpJgsD>o8TC!MXtwpN^XE9J}K`aFovFz4E+>us+JJPp+SUiQbAeI7% zC6HSSVkv-F5}CE+H!Q5q|1pTpf>tS#SkS8dkt1l8!;1y23eXzLB$k0#3RtmF3rpZE z1-N}rL%tvjXEAufExcI9twjj{XYmwjNe_m=TiM^ZeJ`PU(aF48E@=)CvqVz2;3lgA zI7=pR3&c`T6ASe)0?w)syQL5yS zSklyRE|ztzL{JS=G|Q{NSQ2oS0*IvmVkt<)LdX({r2t|nfLH}s0e1)xO98}E z0I?K6ECmot0mM=Ou@pco1rSRC#8Oa-h3QfjI7c&0Q* z@rDJ|ipkWVUK%hRv^@I<^%M=fb&*R!Jo#r@t-f!vg6s3q7Z58!4%fL@rh|J*VJtW+ zA(jUpR%<7;EEjCK9!6!ymoqD*TB%m;whYtN#8L$p>3aE8ID)gjklz+yc8M@)t&b2P z{WC@Wu$nC*lhAzvi1neRI#Dspa#!n*t_2c}qFTnzxV6~g!&wR-R)Oj!tGNI9s1_SD zj^q<=o5^0hc3RmsmGHxfWio2j3XS2;Mcp6x8043R0>fEj<$XNk5dwK9F* zQ0_JnTMau)(5n4e2P4+vwPK%jFzYN^#m_;BBcMum<51WMD0vdXq_eoU zDr@sKHgAQ6F0E|dzNbUXjhn1zTZ^Efye6GR(c%rERT zNV6$Kv20kYy_9g4!V$7qHmuc*d1q<-P!a2RYpDuYbJpQ%>56B&8Y-<&6-!!t>+NWZ zqjHvUts2C-PU)>{rEr$-OW?6|6s18d-+S&y(^H;SXZh^kx6@UQ7P0&}8hz<2Pn)wm z`QP`_SqS}M@1Jb$zTO6V@cnh8rNOkcKiNb#Oah-+(iyzttjG3F zXJxE+ApM!+daPbkxLw*uR>Voy@b(nVBfT~03LZM2HAk)cVm;DYa~M+8C&sNA*KkNR zv|_F?F-ubGASDM4cj))54${dvH>W)L(j;3#+Khs&xcEE7no_P6{jA#=*FWqu#{)0v zlq)XTG5B6ZWZ!5OcAvtc21}=wCs$gK-ai#q+Zo8J)?KAm+7Y?3sDE94Fsovg zwop{qY5Qp+%L06NgC;#2wz${3t~DId{QK%2Q(4$`P&eq?t6k30epXLW1v4#IZgqk! zt>QON@iNcE8P>aO^-Wf885n}fej94!rXU~*AscH|2b5yd*wELbJ*(%w_hR-9q`BgL z#xLy3svFrj>p&|JkM*?2&SvKn4b_iIv|=UMBvj)sxO*UsT|V zys;luW20DP;`L={H?l2DRBx$i8QP8P%2Te3W^L7N?8($Kdj?e&W-H{a9mhkZTAVS> zl*1Ew))dW?m2!Ks*Sn_bb~a|Q)=>ul000000000000000000I51J4KvfSw1@>;M1& M07*qoM6N<$g5*BN%K!iX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_08_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3d6dd006d37a81340e46870a9deb11d7d34d60eb GIT binary patch literal 1439 zcmV;Q1z`G#P)Eis0eRuW%qo2C!84XNE4 zO_M&<7%MTxM39YtAJB0E{b*(BHlm?p=nk?dLChCVRRl9RQ$90|wWHeQR(} zbm>DtMwz1v0E#ji$K}`{#v_Hlx0?@Q6aaVt4p;vwqkpT`Ll-1d zdQS*Q;sj@Uc2hir?;561Q2f&M@9k!r9@F{|ogD3M`+N)lVEVfK$m3eBT9Vbe=Z`TW zBBGP;T3tlsd_&hlAvFEl>J&q%bzeGwgeDqzn&)|*=hGKt@@h{SE8O$c=u5e|A>5ey z;n**uc<->odbaibeSq5q#KmK%!{O-q$I&M!8lMT(<=`4VYUb_|(Wu8;bMf_sdI0+Q z%hxI(XQPJ@-TUN%ym;7aG~vLMB~=F59}9#?kX`rA@ft0*5p|k6q!ErSv6HP z(?GtjY+(l3uZTlMYj2@cNbO<;@ibRu@SG3x&d-abm(hIQ3|1PSadcs@@tPX|kYCU= z>HWoQXXT4mwjH8ngY2VG$S(L^9anwnP&31vaw5SW!Vfctki{Po*T5b!@f-j^Cqc*^ z?QjaNgbxf#NX{bm5R{iHAd8zzHGt?}mX~z(>?1-%)RQFhgj=kEAMSo+Es{YV9wqjW z2W7{TmdGpgZ%;9QRwE`u+W{r_GIPi%kB#RbAHq1#{Ba3{D>syo<;)@1$KmW$K%RVo zIpi{l010CJG>tXmej~(L(F>_)+QyoJlYIcBX%Sh?%tscH%M1YVUWVb61`PU9x%Vk! zKPeK?cFDdD09Hh}sS8gN3W#p~rH?0rH;z`>3dj?GzF4f9@?+OlMNIUV&wf2b^sqqg z$uvsmsQMARl1k(dAYPNmS1KVIOjrPQ zS3p)~TQy+ZKL;4+N|4D@T139C4=75Mib=OLc;TISK+>x^$rD$j296x-L&6t5Gro#4 z_6xfkM&vXc7tM>oFtn~_?8k#G$>m!UR}9GOs#(vC(<4M4zqJWJ!WcrN-Z92~#T+46 zR1+b?9FC~|?fwX`%;69bQC*ITuyrkGV3xxnBIlb5^WtPLwAioSEL5?hRp*XQ@q$Yp z@zv@>CQc*K32#<#^G7B*`!$A)U&Xu)S845Crf@K=mmQ=U09R0BBYQrSs%FNp8M!qU zn~Uh%R6hn%nYm)AwGj~sHR@~^J69%&h{(As(6D3Y3K5ZgY2d-lE-FNS2TPl>OWTqV zeE+%5L*#a_U<8bZD18gr%MNMF05)`+kvFC-1MwM%=`4kah&sYKw5#xhHWXaLHLBM< zNMxdw%epr`90Y*pqjSY&ttkj?Tyn*FGx8zUUmF1d0P=F~Wri);2+Du6Krr zcIP~LphA89&`?8NMXbB1T}nz-c@OoPU_3!YG_eavW0F@~*CB^&!BS5xAW~GPFwrZu zs?O$R+?tCo@0b7}<*xweNim7rDbC&ZHtQ|4SFC&Mc1n0RhYDEc;G>I$PgUj^g!a}2 zAFe&QTTIH8xVxh2a8NDnyYNa$%KAN*0-o$KQ0|(Y-v~rRZX)NIipULw^Our=nT1p5 t`66_W3|wh*M9zpnJRiEvtY-C}>tAmY=%hB>5KjOA002ovPDHLkV1luKsAB*C literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_09.png b/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_09.png new file mode 100644 index 0000000000000000000000000000000000000000..10e20180f47df6e95b799b84ca79ab92181a96cc GIT binary patch literal 1919 zcmcJQ`#;kQ1INe7DYx9$6SXA8$+ANh7Sh}zjLi7XHM688b6j(`WE#;98%Ko5uuU4~ zQYJidJ8skDetW3H&a&K|W4b)2f8lvO&kvvX51(H@uh;wYz|GY`QBG411Oh2KUa`Ff z0!cx?=g{8;$QL|T0|FhiceK5Xjw=?GOvU``tg>B?-nY0)NS8rD{~c0Oo^M>4;eO)oaKmQkPb@0C36l7_jJ2f&`ic>! zXx_|7Ap4|lQWNP02H~at_eg!rGU-G{*n?9GSSH<&1A4&PMsDA$@F+P_Z!**ixZ#5> z4w_(SY92Y`my9*CAru-vcNWv|*9y^bY}DtzUvA^N2c2>|)|a7I+o5$y&0=bF58s~% z@a~ZoIfl??^K01peB?sFUpS9+*a;@M3)*O^}S z@Yy3Qbwyi~{8%Mxxzh!6YzM{xF6Kk`O;YuRWLX)s_SdG9AgCTuI(Nzu}t zz6$ZD;#<#`KnIDBUFoOG@ptvuqnuX`s2BLT`iD)6oZa4lCRsxvs~17GD~MKZeEeab z-fB9gJPB&no9N~wzuCu4ZA!B<*0ym*)&RjtBJ(S4789N$t3z`?UbutCue!R+b} z&IydD%dtBgaDL?J&%|D}G}aFCAyvj20OiYQQ=5GGLBUe!L9Ai6vBhA~QojbpBKhcw zx)RQ<5-L>nY<;jIa0cUDP9j^CWq{v;H9kS^Z<=>-GdyeyRqq0Tjf#yhEkobC*<+e0 zQUUVrgNNIw0&5JW27yw=4uwrnsDi{HBOoswW3a)2kYeDmfpA}!k)tLdwA~5{N>`dl z8X2}KwER6BDxMI(jN01LF=xF$c8|p>;GCGNq-_>9mI~(bL%6I*@R*eOE$H-#bwq~2 ztI$3Fgugm|Oz|al(Tf=S;h8VGXy(UvcEQb_l3ZVYw@_B2!6(}NR`6WTh1X#DD8qlZ z9JyKiYfE}S>Im^EPHk;6*c zd`q6Mt7R^k0nAfM97By4S%w80j7K?&m%izn)gxk#Fx#AS1wTjT-w{NBykO>pV?L)^ z;;)J~_b>GNng$u9sf(N7`RjWaxQC1-AQh4IzOfOuVcxFe%=d7 z|5TOsCRdpst+V(0_npR#9Y?k;+ya}RdAIip$8H)NV4k$T$C5=dUmQ9|g{QGE6xEjF z4$iLRVV}qN3{#H#xW4QHhg=3kf*?zPq|PaZI=1<_(5pkSF7(X9oU*#SU-ax^S`N>+ zOQQLer51^BG}^%Gt(dcYyI;wK2W4L*$~nmL?$>E*EJ^7IpH;#&^GT7_C1>!q=i%|D zd|cna^Z<(K#}(bA!ziq5_Ls1y$s*n3Ux8Vi<~IUy!zQ^o_P zVA}G!!ix7R!6Upzq~Tyh=>Tu8_;YO}P@wNB=8eStF$1YV+bm43lhGK&XLCy=kmW7W z&ZFIdRoOFz;y?m~sslu8b}3Z*y9@J&)h^+;d1IkcKGckhbME=@l$)XU6Wd&GMJY6X z2!j3F1Aagr8GK6K8km?Z@9Fz4(g&>BD5RgI0@i2W7BdQHMFYr-Q%qq(dEb-UWo+`eFeRiZF94IqZ?nhUoTM3dZfPA!s zA%G=6c1>R6;R&;HH$``!P3dRLPp`}vFsKc)IHp&C?di^aD_TQ9FQx`QtHkpk>UY|o zcBt1vhsL4?)D$+fbQ_0X|M^2>bHz4fIuU$erudDoDfH{DG8dQayy%umjAIXC2c-@$ z{&{D4$ekX6i2TFdSq*@+!%#p*`Re)WB2C~1w-~X*6O8uJ-I&X4S+cI_^$qo!Ulk=lN{W9uo^LnRe6jBUuCeNd(Anz)(i@GCs=QLZi_ hPG3Hi1Ny&XF-3IrxKq^tmHYi!9qn9g>yUw@{{R3AfCm5o literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_09_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..87985602414cf1661f6fbe83613faf9ce02b4989 GIT binary patch literal 1335 zcmV-71<3k|P)EAc^1Bp6=AM19c2C#4UN z5@Sk8jlo)Dj1NRz+fqr3K+_khm4YCtmD;Z@{aW^We7IZK`!)A=w@Y}~^E5m2zw_I< zXXc!lxeh_@t>88=@{l|vhgNvAG&$2#v)-LsNc8ie5#R1-asqLvR(vEkBXQ)zN*mg?9xX>X0dZSrFsy0a)`>p`+$4r)x!ls9l1pwFn(Knur zE4?`6U06b>?*64H;hdsWs~vN#Jgt@jibzPT1>qYU;~KELTda+$Ol@-|fa@g-ndM@%SgI~4X|WJ#V^{3kKi@A}%vd^_AKzYWB~mm0 z-VIGz4o+`sNURQcAh^^Jwd1?HfWHEZd0lo)4H-)SoX9OiiF3Vkxq{3zwn94qBeP2k zS#bQRTAodcpPT@W?=$i4XvnlF1)0Ae$|pr!2@|q(Yi*%XZB6QRT^)g#1LpxJKsE=X z$dso{TbF|LhambNY~2DZE6)N_=+)Py&92#ga5mM#sz(!7dozVN4We}l@<=fd1FE|Z zu-SdBaGl*w!!|UjYC$0e_GQxFfq{h zRN8+poicz-lmc(t?LQn;vcfI%lzLPz=rf~{Bo6{5eKr}9u$YxjjjiEy{mpz5ZU9!k z`0l(7NHDC(P0ih@(%(v2(Ze+WZR-9)eL{qW^l7Y7#-LFxPS1>?Kt0q)(rc736ju#i z2qDgw$QUnc^qL$Wc+fkd``1Eu&5ZBGM#&;{N;XS6VU9jeJ&zC*H z)kDKizUi{k8j&yD=jb%5&(w?{u{u~co%$i!eP#tY=>+y?-}g;3T8yI!;K)f!uh=#t zNC80PlXy-cNdUUe<&q!2=g>74+)E*puB+f-;+^FRv|9q*W>^I002ovPDHLkV1jc8gwg;2 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_10.png b/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_10.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b1d5f690f685e1f1589bdd80cb629d1f0bf9eb GIT binary patch literal 2663 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 VR(|poI1~T?002ovPDHLkV1fmPGkyR7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_10_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ee0c0d64ff46dcc5f60844ca8a2397d7e46a7ee0 GIT binary patch literal 2057 zcmV+k2=@1hP)qBJ&9sTlWb8wePMbEJ$sbOf zG_9t|Ogd9zHEN7HQ-hP%`idIkqtUUgf~!0tu0cR#L3WjeWtY=G?%id1=<>MxM`!x| z>+GF-&xh~tch2veb1(3JjX;`FJQF7o)nX3`#H`1ZXo-xV_pZ>F*GCwST5X=DUNs;_ zlP)3wjR`3&^Qq{D>a4?nOo_)iNblW(G|?q&=8{q?UaO;aZ=h74OPx2dSen7 z&$D#jjSINPc1E(DYrkNMNf;O5bT>I3VyYj+f;LqfX4ZS|-$T=~IqPp{GB&vF8VO>7 zmd+bb>jysn<$H$#i!m|Eq;s}54Q)yTaY8dyKi(S`IdhKDTT`*Wo~$QIF8sZI%GGgr zwLv0bzjF4yHUP|9u5U>i7vXj`IqmL&kQqO0GMu`*s3@s__NJsWS`s6pjSbDV_KpBZ;q|WFIj)I=yEvYf76j6BXzOV^ zKYPFB>d8_xB&DB#j4v|A60m-1 z?`^4~;lOzp02w9LV_;kYkWsCc7oV)FWoGJpBwPl7n&%y=S&@~sYnvXR$BP64fGckc zl_|XRu>sI|k^Gl-+)*1s`9>hshUBmIZD&=7@LB9~k2OvRrH~=ZB z>O;uSLuimdBLFgwdnSLEeto={Z5RTAt1PJkd*2H2^tfD`yZ-4 zP2k?_ZQ;{ph{Fu<=a)UILnP;#bC2}Wmw4}A)So9BooB<64gzL8U#Jdo3%~?sFHxBe=Yo;L4C+Fov$SUZR;cR)o1YiX@KN&a&zL0h!8-+bAb4E1>!X8 zLz4Mo0-R_>2o@~BpJ%z$hr|d15E=!d!5tbaKw_f;X^p<9_HG*hEns#i5SPBADHM=% zfY%o;W+$Hv0mD%N+GyYC!o52bncr0h*^!+-h&AfR>N6ahAw1*0Z!%&#tv-XTbr}9| z&5aM@Intv#MWyZbNOY@h7xxv-wRw5x`+)v)YBl_Jj4^N_|wq<)&_{x{Ocf zeg;Z?l$G#Nfl;U0I~*ZI$4g4j1(WEeYH-w$XrWa?a$Jp@` zCBaLwDg(|xi^^1t)fxFsp0W63?eszm_?BP8u{!mPeA)xXtaTR;CoHnY1ibMs<2BWc zSoOxao2;Ee>@Y)F0DJ}JTD2gX-n9xLgnONy{*aO=UR4XyErbxFqZ~k54)_j1-c&>T zjZ}3~G7g|-c_k?OM_=Nd&p0Z6rw#)E+q0E&@BOw~)A9@^^`^Ynx0+8b3~)kibD?pq z7rNAVN7(a^I~M{+k*rjy>L1_K2n*T;UE zz9tOzjgfJAp0B(31^KHc4-RH{X&ObIu^?`*3;2E!z4})}of5<5WJ^azP3SziHn#5% zesp|AvNHVO>mx6h>=|jKs+0WB#}+Nk3-90MPO|ZfNM9+W*4GYmC7&F+dR|{(`X5 z-9P-by+VjJDaYhr?*03ln?K)H5I28NCWfJzPy0-k_ouALzb0xU(SIU@5MAXEX(F|_ zBxS?|fT@d3N^9QbK*&-a^Slc(WfL$VcV%A8s1Sg;)c1keykeKNM`3&$#pdrK0Zf;~ zHc84_yf{mGNH4(@HfN^4ZTyqGcHdp1-6Yn^*IvAqJUkN*Kl@}`ZhfmX%WfB^=-lT{ zB)(O+b4?e3v?}S+jp||jC&t5-R;pCh$EpuLpJQ6^>Tx0DFMBb0D|4cT*-NlfoT<=S zmzJEAU#Dos&nRFtH)yp*~HnAm>4dE+b43vub`OtW)#C|n8){-+R0yz nG!r9+kh<*Jbv5S1|G54Os5%d5vAS%a00000NkvXXu0mjfQIF{* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_11.png b/2023-11-08-22:00/pascal_trunk_parallel/d_pixeldata_0_11.png new file mode 100644 index 0000000000000000000000000000000000000000..5c1583090d337dff20ac93748b57616bc605d592 GIT binary patch literal 2861 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 FV1hfHl28Bu literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_pixie_04.png b/2023-11-08-22:00/pascal_trunk_parallel/d_pixie_04.png new file mode 100644 index 0000000000000000000000000000000000000000..80e08982c2be5e074cc1035e59a2fc68f2ff712a GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKn}a7i(^Q|oVT|Ru4^(7aJYE! z|NrNOpL+ryC$p_}uuVVOHD&fT6Ga!04npAdlWWWtJv|+Jo}CJLXYXGaw9fU}73n3_ zAGA8wuJ+To!Fzh6pLUp}LE*Xi`&B1z%6D}!Yz`}px|+#aV3YjqouvPVdquWYp}g9r zkBwy9*061qI+7*8-F``{eU04SS8Q8n6-qKyKX8t4UfUd1e`f8jB(|*$i#NpI)!81v zZI=8~_vG*FgKpNjwhj3w<*Tk;{qybigZ58ywS=4vl)tf)JM^#h&5ieEfZ@Zy;OXk; Jvd$@?2>^KZYiy8 z!j_&X7pz3?HZ5>|{^G{c?cW5e81mrd!xJbU~`@22!q)3>N7EZV1#z28)N^~XexSyTFbo_pDyy>6nYoVlW- z;HllcFEchxd(q0rC4TnGf?emP<{t=7-uL+A;*u>Pfy?wyZW8O7!?#M~^46lf$2;^E zU5J}1_Dt&7?SOa5%NHgtS$C)Hsl@HOrYFLkFL+zdjE}yZvbO0|a_{;>MjOwre(YAh mZ%XK)&z)KI`yozb_+Wi+nvj(6&6m>0K_Z^6elF{r5}E*~#)5PJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_volumeOpacity_05.png b/2023-11-08-22:00/pascal_trunk_parallel/d_volumeOpacity_05.png new file mode 100644 index 0000000000000000000000000000000000000000..f118ff197682f9b6a475e340d8ec243751a49076 GIT binary patch literal 1247 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=AyGJY5_^D(1YMdwSYz0|8c7 zzkmOypHzC>lY8LY);xQORbrKTS7Kv01#TF#fpnn&n@xSCJsZQOU!45(<@@uq=KcSF z=}*()&J0no8dwGrGnQ#%Iw~SM=kIAwmwQK^v2>T z-^I&yU)>Sgn09Sx9Mg3xZJEE9t6O(XI_)-Z=h{_TyE5+Fw7xKFleb&xoi*ViaR$q> z4`u_2etuC8b9;Hm(`$E*bAS5mOekb>!HWB{)mmoUi@B`=pA{EuXnq(ZLH<#r0b3c)K_P2nA18@hjI3r zZ3m5}xou*J*(Ak&I$Y+Ykip3;S)J%g74HMet1CCeuujrp>|XQjpwU#1O)N5-`~-CT zC#rZeL^7QaGB{y%bW-X=tCL1DmtUVSYS3X!;Zy)gect3({L~;`u)|Mk=q-)6Yt&70PhJS|w8a#rr9_sLnTAcMiW^i;FIF(+-_r1w?v zoVRMW7}V?&LOUj{d1?H8%Np%i>ln?*%U~NpdJgPab9oNmb8c0*5ffAkWFy-)Z*#ns zxlVT3PQOh&V8wiq%OkePxPm<<>~cCt>7>wy6It@Q{*6FStE{fv;`0<3GSk;wyI3UZ zzKJDgla%}EFe#v-lUdTb@rgi18mlw6RQ)^9KfgaX>~u!z9~bo-2enowZds!W)VO|4 z*~L#{z|?SN(=1o*KkPToT|6~yx5ToA4Y6U1Gj4i!zF2#Fdk0I&F%yxFnWkTFa=q+M z;dEJheCtiFS6wNbN9MkKy-D<1aLlGtdOIGmrAcwM$o=n{DFIGuagm!gi{9n~COZ4{ z)HLl~l9N;g^t3+~Y1gdii7QG=a#EMPY@iw=*{pJQ(u;zpTPAK>;_~WLmQvy0-b+)j zJH5K+(6a6f+a&X#JG+Wb``<4udUZ-~Uqbh}rP}+yO#187zOL&~w^@C9>D4K*+k)*D zuU_@y(02>FtD)gVAHDTgZMaoby+`rOy~u8>XpxUc_ib_$HPd=}>}=%WODF{j4$gvE Y_8-pH2eiL(R0gT=boFyt=akR{0NemHhyVZp literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_volumeOpacity_05_thumb.png b/2023-11-08-22:00/pascal_trunk_parallel/d_volumeOpacity_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ce206a779913d5a0b3147995bbf0b8a68fb78232 GIT binary patch literal 740 zcmV3_$V?u4a5JFNBgD5$uEftEF>On#eUd40Jn@H)UzohyLym;_d1uveYh~`ke z#L!lvh}PPW24a(_knQI4kW0jGcITVyE+YFJC$sa+JGI0AOO${d~ds6qaL{#66q(GL^R`e}$$2kbBnp=ycxZ!Wusb04OBRJ5P67 zp-TGOAKdOeCoIR1*~{UM4*;-Eggia~43ZH@a4}qooNQKnNdf?nK6d@PW~}-A(wY1` zYR#{eW^K?GsxoQ69`@?SL5oIc9c--HLXDqdml$>f)F>1|YCIHyX_l*A3L>KF^0;qM@7jFn}vspBAOF6xYCvv04Grh};Izhc(xxx(qcoAuU8W5p5xFmr!; zu>asEy8S*n8s97F`qtyE(O=4Q zf*b(m%H9&{b-zu!-JQMBAZs!QuqOZOugDgQh-gLXu;(KCPooE~jB<(k5l5Ktk6yKBQW|B=& z??^ThopoUb0Kj@j)<2TXokL>pobt2N=FjMk>O!Ju!E_0mLQMV zN`fsGsEDHM5lsOnno?9WMKy0t1Xai&6+_J!C0lkE&NFWDS%N_sJtih5CMG84|Kv9= W8rEVdo!18d0000Fw$IgC1dp)myjg$@gfz z%X(|RPWJq(XWsi9Z5M zvyDxt%l$(?O@jkmzv%pBx2u<0HBaGvOjyab3!k4a;#$Kx&rUWpV6F9hUiBA^Y6||= zj}u&36i?U{N3CLrI+<&+Ikc`&^Xkf#N|!cIt-SRmY~mBIoWr7Pin{lR#U9d9axS!t zJRPCB>ru?9S6q*iHci{KE9UJZ`EtM53{&;|wL7~yxcSvzM|_@K%AI}iVAr!%uamc{ zg}Ph`ywld2RUC9Qs$#>c?)8bfxuMZ@tl5RDxf~?3D_0vi3VN?DQq@_j)WyZBvvyvs zRZUXn*X8`2`CigeLMGPCTrE-;?2#WZ&RP7#D1T(`0t;FtHqmy{?1(T_s80;MVpNN&RhETuXOhF zl%-XEm;ZhD&i>L-k(4?0OfJVQ*)=i!1)DzEDwVNo-#&bj$reb@pUf)6ts>^3Ga*7@ zqeD{T5vI;j0a}EI_I))mk2NK;BUCmzMBD89D|9TQyTf){{{EiABI%}Y1zRq?T^P3P z?N{%LQ}JI?KAmCeoci+nzuWxxBR9VNvio@0-supZs*A>a~sKyvVP1Y|lTRDcZJbYKF~r zr7oj=(qUS@ft;s%BMb{RIZV}z`g=obbBJ2@$GH)a`)+Rt$PHN)!F@ig^rflJTCS_x zAFhh&Ej2&4#&m1c>TeC~TaTyjyuH@Uy?WENJDpe8SxlR?R-5O%&V{dT(P`V(X|7X0 zUHm$GFhmGgqEpyTs|2UG}rNGh(F;XO!-^ z#5ON7A!geD9nRatth<)o?#TK1<<7iL?)~W(b1gp4ew6y-%q;ir^(j}&53ieFdEWK$ z{OGy27eBw2_+##k-3|9%yUknoPQL7W>*1`sH^j~LWGB78CRp_P(Zd~i^R|`qzuvfK hUytdeYj3yyWBNKHU$=`J_vpVS`%c6aF=qKj)PDTQS66En-;2d6u!+@@DUZ>36Rc&VS>^a3@N{oZ-H_ zM3=^*4kfI_AL%D2s0k38w@u$)GxEfrmY9A&>u0Ap=i`0PZ%412C2sI$k(l(^*T;IFCoyN3#GSA{ zD|C44|I?Em_i!HbnRfH_Q?~b8ER`>Y9c##ca&E%IFRPEIr}=I1L%+Cw(S zUftzg@c+u3+pu6{1- HoD!Mk9 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/d_volume_02.png b/2023-11-08-22:00/pascal_trunk_parallel/d_volume_02.png new file mode 100644 index 0000000000000000000000000000000000000000..7d09b2d9d9deee2f58431ef9d9fb1cc7dc97b094 GIT binary patch literal 1254 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=Ax5JzX3_D(1Ysd2rHY0|ADM z8?*oapMF?TAjy5w@~2u&OWrZRX`9h?uTO-1+m7pxpMCwm>Fw$IgC1dp)myjg$@gfz z%X(|RPWJq(XWsi9Z5M zvyDxt%l$(?O@jkmzv%pBx2u<0HBaGvOjyab3!k4a;#$Kx&rUWpV6F9hUiBA^Y6||= zj}u&36i?U{N3CLrI+<&+Ikc`&^Xkf#N|!cIt-SRmY~mBIoWr7Pin{lR#U9d9axS!t zJRPCB>ru?9S6q*iHci{KE9UJZ`EtM53{&;|wL7~yxcSvzM|_@K%AI}iVAr!%uamc{ zg}Ph`ywld2RUC9Qs$#>c?)8bfxuMZ@tl5RDxf~?3D_0vi3VN?DQq@_j)WyZBvvyvs zRZUXn*X8`2`CigeLMGPCTrE-;?2#WZ&RP7#D1T(`0t;FtHqmy{?1(T_s80;MVpNN&RhETuXOhF zl%-XEm;ZhD&i>L-k(4?0OfJVQ*)=i!1)DzEDwVNo-#&bj$reb@pUf)6ts>^3Ga*7@ zqeD{T5vI;j0a}EI_I))mk2NK;BUCmzMBD89D|9TQyTf){{{EiABI%}Y1zRq?T^P3P z?N{%LQ}JI?KAmCeoci+nzuWxxBR9VNvio@0-supZs*A>a~sKyvVP1Y|lTRDcZJbYKF~r zr7oj=(qUS@ft;s%BMb{RIZV}z`g=obbBJ2@$GH)a`)+Rt$PHN)!F@ig^rflJTCS_x zAFhh&Ej2&4#&m1c>TeC~TaTyjyuH@Uy?WENJDpe8SxlR?R-5O%&V{dT(P`V(X|7X0 zUHm$GFhmGgqEpyTs|2UG}rNGh(F;XO!-^ z#5ON7A!geD9nRatth<)o?#TK1<<7iL?)~W(b1gp4ew6y-%q;ir^(j}&53ieFdEWK$ z{OGy27eBw2_+##k-3|9%yUknoPQL7W>*1`sH^j~LWGB78CRp_P(Zd~i^R|`qzuvfK hUytdeYj3yyWBNKHU$=`J_vpVS`%c6aF=qKj)PDTQS66En-;2d6u!+@@DUZ>36Rc&VS>^a3@N{oZ-H_ zM3=^*4kfI_AL%D2s0k38w@u$)GxEfrmY9A&>u0Ap=i`0PZ%412C2sI$k(l(^*T;IFCoyN3#GSA{ zD|C44|I?Em_i!HbnRfH_Q?~b8ER`>Y9c##ca&E%IFRPEIr}=I1L%+Cw(S zUftzg@c+u3+pu6{1- HoD!Mk9 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databasesVsInstall.html b/2023-11-08-22:00/pascal_trunk_parallel/databasesVsInstall.html new file mode 100644 index 000000000..320d0f916 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databasesVsInstall.html @@ -0,0 +1,86 @@ +Results for test case databasesVsInstall + +

Results for test case databasesVsInstall

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
12 Lines Changed

+

1 modifications, totalling 12 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1: { 'BOV': 'success',1: { 'BOV': 'make failed',
2:     'Blueprint': 'success',2:     'Blueprint': 'make failed',
3:     'CGNS': 'success',3:     'CGNS': 'make failed',
4:     'Cale': 'success',4:     'Cale': 'make failed',
5:     'Claw': 'success',5:     'Claw': 'make failed',
6:     'Exodus': 'success',6:     'Exodus': 'make failed',
7:     'FITS': 'success',7:     'FITS': 'make failed',
8:     'H5Part': 'success',8:     'H5Part': 'make failed',
9:     'MFEM': 'success',9:     'MFEM': 'make failed',
10:     'Mili': 'success',10:     'Mili': 'make failed',
11:     'SAMRAI': 'success',11:     'SAMRAI': 'make failed',
12:     'VTK': 'success'}12:     'VTK': 'cmake configure failed'}
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_ANALYZE.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_ANALYZE.html new file mode 100644 index 000000000..dd6720838 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_ANALYZE.html @@ -0,0 +1,84 @@ + +Results for databases/ANALYZE.py + +

Results of VisIt Regression Test - databases/ANALYZE

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ANALYZE000.000.00
ANALYZE010.000.00
ANALYZE020.000.00
ANALYZE030.000.00
ANALYZE040.000.00
ANALYZE050.000.00
ANALYZE060.000.00
ANALYZE070.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_ANALYZE_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_ANALYZE_py.html new file mode 100644 index 000000000..04d706589 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_ANALYZE_py.html @@ -0,0 +1,113 @@ +databases/ANALYZE.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ANALYZE.py
+#
+#  Tests:      mesh      - 3D rectilinear, single domain
+#              plots     - Pseudocolor, Contour
+#              operators - Slice
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Dec 5 09:50:05 PDT 2003
+#
+#  Modifications:
+#    Brad Whitlock, Wed Mar 31 09:13:47 PDT 2004
+#    Added code to clear the engine cache to reduce memory usage.
+#
+#    Brad Whitlock, Wed Mar 9 09:12:05 PDT 2005
+#    Updated so it does not use removed, deprecated functions.
+#
+# ----------------------------------------------------------------------------
+
+# Set up the window background color
+a = GetAnnotationAttributes()
+a.backgroundMode = a.Solid
+a.backgroundColor = (0, 0, 0, 255)
+a.foregroundColor = (255, 255, 255, 255)
+SetAnnotationAttributes(a)
+
+# Create a plot using the large database
+dbs = (data_path("ANALYZE_test_data/s01_anatomy_stripped.hdr"),
+       data_path("ANALYZE_test_data/s01_epi_r01.visit"))
+OpenDatabase(dbs[0])
+AddPlot("Contour", "Variable")
+c = ContourAttributes()
+c.contourMethod = c.Value
+c.contourValue = (40)
+c.colorType = c.ColorBySingleColor
+c.singleColor = (255,240,220,255)
+SetPlotOptions(c)
+DrawPlots()
+
+# Set the view
+v = View3DAttributes()
+v.viewNormal = (0, 0, -1)
+v.focus = (0, 0, 0)
+v.viewUp = (0, -1, 0)
+v.viewAngle = 30
+v.parallelScale = 399.965
+v.nearPlane = -799.93
+v.farPlane = 799.93
+v.imagePan = (0, 0)
+v.imageZoom = 2.26061
+v.perspective = 1
+v.eyeAngle = 2
+SetView3D(v)
+
+Test("ANALYZE00")
+
+# Look at it from another view
+v.viewNormal = (1, 0, 0)
+SetView3D(v)
+Test("ANALYZE01")
+
+# Look at it from the top
+v.viewNormal = (0, -1, 0)
+v.viewUp = (-1, 0, 0)
+SetView3D(v)
+Test("ANALYZE02")
+
+# Look at a new database
+ResetView()
+DeleteAllPlots()
+CloseDatabase(dbs[0])
+ClearCache("localhost")
+
+OpenDatabase(dbs[1])
+AddPlot("Pseudocolor", "Variable")
+p = PseudocolorAttributes()
+p.minFlag = 1
+p.min = 0
+p.maxFlag = 1
+p.max = 1300
+p.colorTableName = "gray"
+p.scaling = p.Skew
+p.skewFactor = 0.5
+SetPlotOptions(p)
+
+# Slice it.
+AddOperator("Slice")
+s = SliceAttributes()
+s.originType = s.Point
+s.originPoint = (0, 0, 0)
+s.normal = (0, -1, 0)
+s.upAxis = (0, 0, 1)
+s.project2d = 1
+s.axisType = s.ZAxis
+SetOperatorOptions(s)
+DrawPlots()
+
+# Add a time slider
+slider = CreateAnnotationObject("TimeSlider")
+slider.text = ""
+slider.height = 0.1
+
+# Animate through the rest of the frames
+testnum = 3
+for i in range(TimeSliderGetNStates()):
+    SetTimeSliderState(i)
+    Test("ANALYZE%02d" % testnum)
+    testnum = testnum + 1
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_ANSYS.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_ANSYS.html new file mode 100644 index 000000000..f493b98a8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_ANSYS.html @@ -0,0 +1,108 @@ + +Results for databases/ANSYS.py + +

Results of VisIt Regression Test - databases/ANSYS

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
pipe.inp
ansys1_00.000.00
ansys1_10.000.00
ansys1_20.000.00
waterjacket.inp
ansys2_00.000.00
ansys2_10.000.00
ansys2_20.000.00
intake.inp
ansys3_00.000.00
ansys3_10.000.00
ansys3_20.000.00
cubeF.inp
ansys4_10.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_ANSYS_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_ANSYS_py.html new file mode 100644 index 000000000..72ea97b4e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_ANSYS_py.html @@ -0,0 +1,217 @@ +databases/ANSYS.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ANSYS.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - Mesh
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Jul 7 17:46:51 PST 2005
+#
+#  Notes:      The data for these tests are supposed to be ANSYS versions of
+#              some of the data in the NASTRAN tests. I have not found other
+#              ANSYS datasets in this format to confirm that these datasets
+#              are actually ANSYS but I think there may be several ANSYS
+#              formats.
+#
+#  Modifications:
+#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
+#    Replace use of meshatts 'foregroundFlag' and 'backgroundFlag' with
+#    meshColorSource and opaqueColorSource.
+#
+# ----------------------------------------------------------------------------
+
+def AddMeshPlot():
+    AddPlot("Mesh", "mesh")
+    m = MeshAttributes()
+    m.legendFlag = 0
+    m.opaqueColor = (153, 204, 255, 255)
+    m.opaqueColorSource = m.OpaqueCustom
+    m.meshColorSource = m.MeshCustom
+    m.meshColor = (0,0,0,255)
+    SetPlotOptions(m)
+
+def AddPseudocolorPlot():
+    AddPlot("Pseudocolor", "one")
+    p = PseudocolorAttributes()
+    p.colorTableName = "rainbow"
+    p.SetOpacityType(p.Constant)
+    p.opacity = 0.2
+    SetPlotOptions(p)
+    DrawPlots()
+
+def test1(datapath):
+    db = "pipe.inp"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath, db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.786306, 0.379526, 0.487527)
+    v.focus = (0.149902, 0.212562, 0.124929)
+    v.viewUp = (0.316186, 0.925114, -0.210215)
+    v.viewAngle = 30
+    v.parallelScale = 0.585963
+    v.nearPlane = -1.17193
+    v.farPlane = 1.17193
+    v.imagePan = (0.0173275, 0.033058)
+    v.imageZoom = 1.45734
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.149902, 0.212562, 0.124929)
+    SetView3D(v)
+    Test("ansys1_0")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.786306, 0.379526, 0.487527)
+    v2.focus = (0.149902, 0.212562, 0.124929)
+    v2.viewUp = (0.316186, 0.925114, -0.210215)
+    v2.viewAngle = 30
+    v2.parallelScale = 0.585963
+    v2.nearPlane = -1.17193
+    v2.farPlane = 1.17193
+    v2.imagePan = (-0.108127, 0.0971661)
+    v2.imageZoom = 6.92887
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0.149902, 0.212562, 0.124929)
+    SetView3D(v2)
+    Test("ansys1_1")
+
+    DeleteActivePlots()
+    AddPseudocolorPlot()
+    SetView3D(v)
+    Test("ansys1_2")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test2(datapath):
+    db = "waterjacket.inp"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.65317, -0.673371, 0.346324)
+    v.focus = (0.03, -0.03, -0.1125)
+    v.viewUp = (0.225064, 0.264053, 0.937882)
+    v.viewAngle = 30
+    v.parallelScale = 0.289925
+    v.nearPlane = -0.579849
+    v.farPlane = 0.579849
+    v.imagePan = (0.0984407, 0.0467479)
+    v.imageZoom = 1.40003
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.03, -0.03, -0.1125)
+    SetView3D(v)
+    Test("ansys2_0")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.65317, -0.673371, 0.346324)
+    v2.focus = (0.03, -0.03, -0.1125)
+    v2.viewUp = (0.225064, 0.264053, 0.937882)
+    v2.viewAngle = 30
+    v2.parallelScale = 0.289925
+    v2.nearPlane = -0.579849
+    v2.farPlane = 0.579849
+    v2.imagePan = (0.100347, 0.0410472)
+    v2.imageZoom = 7.7658
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0.03, -0.03, -0.1125)
+    SetView3D(v2)
+    Test("ansys2_1")
+
+    DeleteActivePlots()
+    AddPseudocolorPlot()
+    SetView3D(v)
+    Test("ansys2_2")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test3(datapath):
+    db = "intake.inp"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.61876, 0.311053, -0.721375)
+    v.focus = (0, 0.011, -0.0935)
+    v.viewUp = (0.208418, 0.950364, 0.231021)
+    v.viewAngle = 30
+    v.parallelScale = 0.198752
+    v.nearPlane = -0.397503
+    v.farPlane = 0.397503
+    v.imagePan = (0.0151275, 0.00167627)
+    v.imageZoom = 1.43299
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0.011, -0.0935)
+    SetView3D(v)
+    Test("ansys3_0")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.61876, 0.311053, -0.721375)
+    v2.focus = (0, 0.011, -0.0935)
+    v2.viewUp = (0.208418, 0.950364, 0.231021)
+    v2.viewAngle = 30
+    v2.parallelScale = 0.198752
+    v2.nearPlane = -0.397503
+    v2.farPlane = 0.397503
+    v2.imagePan = (-0.101283, 0.0396808)
+    v2.imageZoom = 6.28038
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0, 0.011, -0.0935)
+    SetView3D(v2)
+    Test("ansys3_1")
+
+    DeleteActivePlots()
+    AddPseudocolorPlot()
+    SetView3D(v)
+    Test("ansys3_2")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test4(datapath):
+    db = "cubeF.inp"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+    Test("ansys4_1")
+
+def main():
+    # Set up the window background color
+    a = GetAnnotationAttributes()
+    a.backgroundMode = a.Solid
+    a.backgroundColor = (180, 180, 180, 255)
+    a.foregroundColor = (255, 255, 255, 255)
+    SetAnnotationAttributes(a)
+
+    DefineScalarExpression("one", "(zoneid(mesh) + 1) / (zoneid(mesh) + 1)")
+
+    datapath = data_path("ANSYS_test_data")
+    test1(datapath)
+    test2(datapath)
+    test3(datapath)
+    test4(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_CGNS.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_CGNS.html new file mode 100644 index 000000000..58798d311 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_CGNS.html @@ -0,0 +1,204 @@ + +Results for databases/CGNS.py + +

Results of VisIt Regression Test - databases/CGNS

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Structured files
CGNS_0_000.000.00
CGNS_0_010.000.00
CGNS_0_020.000.00
CGNS_0_030.000.00
CGNS_0_040.000.00
CGNS_0_050.000.00
CGNS_0_060.000.00
Unstructured files
CGNS_1_000.000.00
CGNS_1_010.000.00
CGNS_1_020.000.00
CGNS_1_030.000.00
CGNS_1_040.000.00
CGNS_1_050.000.00
CGNS_1_060.000.00
CGNS_1_070.000.00
Variables on only some of the domains
CGNS_2_000.000.00
CGNS_2_010.000.00
CGNS_2_020.000.00
CGNS_2_030.000.00
CGNS_2_040.000.00
CGNS_2_050.000.00
File with boundaries
CGNS_3_000.000.00
Arbitrary polygons
CGNS_NGon_Elements_000.000.00
Arbitrary polyhedra
CGNS_NFace_Elements_000.000.00
CGNS_NFace_Elements_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_CGNS_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_CGNS_py.html new file mode 100644 index 000000000..a2f6c6a59 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_CGNS_py.html @@ -0,0 +1,389 @@ +databases/CGNS.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  CGNS.py
+#
+#  Tests:      mesh      - 3D structured, unstructured, single and 
+#                          multiple domain
+#              plots     - Contour, Mesh, Pseudocolor, Subset
+#              operators - Clip, Slice
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Sep 2 11:19:33 PDT 2005
+#
+#  Modifications:
+#    Brad Whitlock, Mon Apr 21 10:55:14 PDT 2008
+#    Updated variable names to compensate for changes to CGNS reader.
+#
+#    Jeremy Meredith, Fri Aug  8 11:23:29 EDT 2008
+#    Updated streamline settings to match new attribute fields.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Cyrus Harrison, Wed Aug 25 14:28:14 PDT 2010
+#    Variable name change due to changes with SIL generation.
+#
+#    Brad Whitlock, Tue Sep 11 14:38:37 PDT 2012
+#    Test file that has boundaries.
+#
+#    Alister Maguire, Tue Mar  2 10:29:37 PST 2021
+#    Added tests for NGon and NFace elements.
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("CGNS")
+
+def test0(datapath):
+    TestSection("Structured files")
+
+    OpenDatabase(pjoin(datapath,"delta.cgns"))
+    AddPlot("Mesh", "Zone___1")
+    DrawPlots()
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.673597, -0.70478, 0.222605)
+    v0.focus = (0.5, 0.827196, 0.0589651)
+    v0.viewUp = (0.150257, 0.164313, 0.974897)
+    v0.viewAngle = 30
+    v0.parallelScale = 2.30431
+    v0.nearPlane = -4.60862
+    v0.farPlane = 4.60862
+    v0.imagePan = (0.0171482, 0.0494526)
+    v0.imageZoom = 1.09899
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0.5, 0.827196, 0.0589651)
+    SetView3D(v0)
+    Test("CGNS_0_00")
+
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "Density")
+    DrawPlots()
+    Test("CGNS_0_01")
+
+    ChangeActivePlotsVar("MomentumX")
+    Test("CGNS_0_02")
+
+    AddPlot("Vector", "Momentum")
+    v = VectorAttributes()
+    v.nVectors = 4000
+    v.scale = 0.065
+    v.scaleByMagnitude = 0
+    v.autoScale = 0
+    SetPlotOptions(v)
+    DrawPlots()
+    v1 = View3DAttributes()
+    v1.viewNormal = (-0.59445, 0.745055, 0.302528)
+    v1.focus = (0.5, 0.827196, 0.0589651)
+    v1.viewUp = (0.177264, -0.245548, 0.953039)
+    v1.viewAngle = 30
+    v1.parallelScale = 2.30431
+    v1.nearPlane = 0
+    v1.farPlane = 4.60862
+    v1.imagePan = (-0.00797807, 0.021628)
+    v1.imageZoom = 2.76008
+    v1.perspective = 1
+    v1.eyeAngle = 2
+    v1.centerOfRotationSet = 0
+    v1.centerOfRotation = (0.5, 0.827196, 0.0589651)
+    SetView3D(v1)
+    Test("CGNS_0_03")
+    DeleteAllPlots()
+
+    OpenDatabase(pjoin(datapath,"5blocks.cgns"))
+    AddPlot("Subset", "zones")
+    AddPlot("Mesh", "BASE_1")
+    DrawPlots()
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.56714, 0.62864, 0.532131)
+    v2.focus = (18.3432, -132.647, 108.59)
+    v2.viewUp = (0.353654, -0.397621, 0.846656)
+    v2.viewAngle = 30
+    v2.parallelScale = 390.48
+    v2.nearPlane = -780.96
+    v2.farPlane = 780.96
+    v2.imagePan = (0.0358739, 0.018554)
+    v2.imageZoom = 1.2581
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (18.3432, -132.647, 108.59)
+    SetView3D(v2)
+    Test("CGNS_0_04")
+    DeleteAllPlots()
+
+    OpenDatabase(pjoin(datapath,"multi.cgns"))
+    AddPlot("Subset", "zones")
+    AddOperator("Slice")
+    DrawPlots()
+    v3 = View2DAttributes()
+    v3.windowCoords = (-0.101847, 1.39507, -0.777335, 0.779882)
+    v3.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v3.fullFrameActivationMode = v3.Off  # On, Off, Auto
+    v3.fullFrameAutoThreshold = 100
+    SetView2D(v3)
+    Test("CGNS_0_05")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "MomentumZ")
+    AddOperator("Slice")
+    DrawPlots()
+    Test("CGNS_0_06")
+
+    DeleteAllPlots()
+
+
+def test1(datapath):
+    TestSection("Unstructured files")
+
+    OpenDatabase(pjoin(datapath,"StaticMixer.cgns"))
+    AddPlot("Mesh", "StaticMixer")
+    AddPlot("Pseudocolor", "Pressure")
+    DrawPlots()
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.791423, -0.34473, 0.504788)
+    v0.focus = (0, 0, 6.65045e-11)
+    v0.viewUp = (0.453682, 0.222176, 0.863024)
+    v0.viewAngle = 30
+    v0.parallelScale = 4.1231
+    v0.nearPlane = -8.24621
+    v0.farPlane = 8.24621
+    v0.imagePan = (-0.00919414, -0.0394234)
+    v0.imageZoom = 1.4092
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0, 0, 0)
+    SetView3D(v0)
+    Test("CGNS_1_00")
+
+    ChangeActivePlotsVar("VelocityX")
+    Test("CGNS_1_01")
+
+    SetActivePlots((0,1))
+    AddOperator("Clip")
+    c = ClipAttributes()
+    c.plane2Status = 1
+    c.plane1Normal = (-1.,0.,0.)
+    c.plane2Normal = (0.,-1.,0.)
+    SetOperatorOptions(c)
+    DrawPlots()
+    Test("CGNS_1_02")
+    DeleteAllPlots()
+
+    OpenDatabase(pjoin(datapath,"jet.cgns"))
+    AddPlot("Pseudocolor", "CoefPressure")
+    AddPlot("Contour", "CoefPressure")
+    c = ContourAttributes()
+    c.colorType = c.ColorBySingleColor
+    c.contourNLevels = 30
+    c.singleColor=(0,0,0,255)
+    c.legendFlag = 0
+    SetPlotOptions(c)
+    DrawPlots()
+    v1 = View3DAttributes()
+    v1.viewNormal = (0.89973, 0.23533, 0.367566)
+    v1.focus = (1.82694, 0, 4.12744)
+    v1.viewUp = (-0.354779, -0.0961553, 0.929992)
+    v1.viewAngle = 30
+    v1.parallelScale = 47.9514
+    v1.nearPlane = -95.9031
+    v1.farPlane = 95.9031
+    v1.imagePan = (-0.0544089, 0.00587157)
+    v1.imageZoom = 1.62963
+    v1.perspective = 1
+    v1.eyeAngle = 2
+    v1.centerOfRotationSet = 0
+    v1.centerOfRotation = (1.82694, 0, 4.12744)
+    SetView3D(v1)
+    Test("CGNS_1_03")
+    DeleteAllPlots()
+
+    OpenDatabase(pjoin(datapath,"yf17.cgns"))
+    AddPlot("Mesh", "Zone1")
+    AddPlot("Pseudocolor", "Density")
+    DrawPlots()
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.79815, 0.489358, 0.351405)
+    v2.focus = (0, 31.7504, 0)
+    v2.viewUp = (0.286761, -0.204385, 0.935946)
+    v2.viewAngle = 30
+    v2.parallelScale = 95.2512
+    v2.nearPlane = 0
+    v2.farPlane = 190.502
+    v2.imagePan = (-0.129267, -0.0352136)
+    v2.imageZoom = 15.4243
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0, 31.7504, 0)
+    SetView3D(v2)
+    Test("CGNS_1_04")
+
+    v3 = View3DAttributes()
+    v3.viewNormal = (-0.79815, 0.489358, 0.351405)
+    v3.focus = (0, 31.7504, 0)
+    v3.viewUp = (0.286761, -0.204385, 0.935946)
+    v3.viewAngle = 30
+    v3.parallelScale = 95.2512
+    v3.nearPlane = 0
+    v3.farPlane = 190.502
+    v3.imagePan = (-0.130871, -0.033492)
+    v3.imageZoom = 66.7586
+    v3.perspective = 1
+    v3.eyeAngle = 2
+    v3.centerOfRotationSet = 0
+    v3.centerOfRotation = (0, 31.7504, 0)
+    SetView3D(v3)
+    Test("CGNS_1_05")
+
+    SetActivePlots(0)
+    DeleteActivePlots()
+    SetView3D(v2)
+    Test("CGNS_1_06")
+
+    AddPlot("Vector", "Velocity")
+    v = VectorAttributes()
+    v.nVectors = 4000
+    v.scale = 0.2
+    v.scaleByMagnitude = 0
+    v.autoScale = 0
+    SetPlotOptions(v)
+    DrawPlots()
+    Test("CGNS_1_07")
+    DeleteAllPlots()
+
+
+def test2(datapath):
+    TestSection("Variables on only some of the domains")
+
+    OpenDatabase(pjoin(datapath,"HeatingCoil.cgns"))
+    AddPlot("Subset", "zones(Base)")
+    DrawPlots()
+    v0 = View3DAttributes()
+    v0.viewNormal = (0.27344, 0.876709, 0.395743)
+    v0.focus = (0, 0, 1.125)
+    v0.viewUp = (-0.0932919, -0.385311, 0.918059)
+    v0.viewAngle = 30
+    v0.parallelScale = 1.8071
+    v0.nearPlane = -3.61421
+    v0.farPlane = 3.61421
+    v0.imagePan = (-0.00158217, 0.0267093)
+    v0.imageZoom = 1.11866
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0, 0, 1.125)
+    SetView3D(v0)
+    Test("CGNS_2_00")
+
+    TurnDomainsOff("FluidZone")
+    Test("CGNS_2_01")
+
+    TurnDomainsOn()
+    TurnDomainsOff("SolidZone")
+    Test("CGNS_2_02")
+    TurnDomainsOn()
+    DeleteAllPlots()
+
+    # Make sure we can plot variables that exist on only 1 domain.
+    AddPlot("Pseudocolor", "Pressure")
+    DrawPlots()
+    Test("CGNS_2_03")
+    ChangeActivePlotsVar("VelocityZ")
+    AddPlot("Mesh", "subgrid/Base001")
+    DrawPlots()
+    Test("CGNS_2_04")
+    DeleteAllPlots()
+
+    # Draw the 1 variable that exists in both domains.
+    AddPlot("Pseudocolor","Temperature")
+    DrawPlots()
+    Test("CGNS_2_05")
+    DeleteAllPlots()
+
+def test3(datapath):
+    TestSection("File with boundaries")
+
+    OpenDatabase(pjoin(datapath,"with_boundary_faces.cgns"))
+    AddPlot("Pseudocolor", "Density")
+    DrawPlots()
+    ResetView()
+    v = GetView2D()
+    v.fullFrameActivationMode = v.On
+    SetView2D(v)
+
+    Test("CGNS_3_00")
+    DeleteAllPlots()
+
+def testNGonElements(datapath):
+    TestSection("Arbitrary polygons")
+
+    OpenDatabase(pjoin(datapath, "spherePolyMesh.cgns"))
+    AddPlot("Mesh", "sphere")
+    DrawPlots()
+    ResetView()
+
+    Test("CGNS_NGon_Elements_00")
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath, "spherePolyMesh.cgns"))
+
+def testNFaceElements(datapath):
+    TestSection("Arbitrary polyhedra")
+
+    #
+    # First, test the simple case. This mesh has 2 sections,
+    # one for NGon and one for NFace.
+    #
+    OpenDatabase(pjoin(datapath, "trappedvtx_ngon.cgns"))
+    AddPlot("Mesh", "ComputeBase")
+    MeshAtts = MeshAttributes()
+    DrawPlots()
+    ResetView()
+
+    Test("CGNS_NFace_Elements_00")
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath, "trappedvtx_ngon.cgns"))
+
+    #
+    # Next, test a more complicated case. This mesh has 5 sections,
+    # 4 of which are NGon. The single NFace section references all
+    # 4 NGon sections.
+    #
+    OpenDatabase(pjoin(datapath, "spherePolyMesh3D.cgns"))
+    AddPlot("Mesh", "sphere")
+    MeshAtts = MeshAttributes()
+    MeshAtts.opacity = 0.4
+    SetPlotOptions(MeshAtts)
+
+    AddPlot("Pseudocolor", "Density")
+    PseudocolorAtts = PseudocolorAttributes()
+    PseudocolorAtts.opacityType = PseudocolorAtts.Constant
+    PseudocolorAtts.opacity = 0.4
+    SetPlotOptions(PseudocolorAtts)
+
+    DrawPlots()
+    ResetView()
+
+    Test("CGNS_NFace_Elements_01")
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath, "spherePolyMesh3D.cgns"))
+
+def main():
+    # Draw antialiased lines
+    r = GetRenderingAttributes()
+    r.antialiasing = 1
+    SetRenderingAttributes(r)
+
+    datapath = data_path("CGNS_test_data")
+    test0(datapath)
+    test1(datapath)
+    test2(datapath)
+    test3(datapath)
+    testNGonElements(datapath)
+    testNFaceElements(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Cale.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Cale.html new file mode 100644 index 000000000..073d6d828 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Cale.html @@ -0,0 +1,69 @@ + +Results for databases/Cale.py + +

Results of VisIt Regression Test - databases/Cale

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Cale files
Cale_0_000.000.00
Cale_0_010.000.00
Cale_0_020.000.00
Cale_0_030.000.00
Cale_0_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Cale_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Cale_py.html new file mode 100644 index 000000000..13029b747 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Cale_py.html @@ -0,0 +1,65 @@ +databases/Cale.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  Cale.py
+#
+#  Tests:      mesh      - 2D, structured, single domain
+#              plots     - Pseudocolor, FilledBoundary
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Oct 10 11:46:45 PDT 2007
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def test0(datapath):
+    TestSection("Cale files")
+    OpenDatabase(pjoin(datapath,"jet00405.pdb"))
+    AddPlot("Pseudocolor", "p")
+    DrawPlots()
+    Test("Cale_0_00")
+    DeleteActivePlots()
+
+    AddPlot("FilledBoundary", "Materials")
+    DrawPlots()
+    Test("Cale_0_01")
+
+    AddPlot("Mesh", "hydro")
+    DrawPlots()
+    v0 = View2DAttributes()
+    v0.windowCoords = (10.1155, 11.6375, 3.20767, 4.82837)
+    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
+    v0.fullFrameAutoThreshold = 100
+    v0.xScale = v0.LINEAR  # LINEAR, LOG
+    v0.yScale = v0.LINEAR  # LINEAR, LOG
+    SetView2D(v0)
+    Test("Cale_0_02")
+
+    # Do a PC plot with mixvars.
+    SetActivePlots(0)
+    DeleteActivePlots()
+    m = GetMaterialAttributes()
+    m.forceMIR = 1
+    SetMaterialAttributes(m)
+    AddPlot("Pseudocolor", "den")
+    DrawPlots()
+    Test("Cale_0_03")
+    DeleteAllPlots()
+
+    # Test another file.
+    OpenDatabase(pjoin(datapath,"vpgz.pdb"))
+    AddPlot("FilledBoundary", "Materials")
+    DrawPlots()
+    ResetView()
+    Test("Cale_0_04")
+    DeleteActivePlots()
+
+def main():
+    datapath = data_path("Cale_test_data")
+    test0(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Chombo.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Chombo.html new file mode 100644 index 000000000..2f2fb3f34 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Chombo.html @@ -0,0 +1,73 @@ + +Results for databases/Chombo.py + +

Results of VisIt Regression Test - databases/Chombo

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Changing time states
Chombo_0_000.000.00
Chombo_0_010.000.00
Chombo_0_020 modifications totalling 0 lines
More distinct refinements
Chombo_1_000.000.00
Anisotropic refinement
Chombo_2_000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Chombo_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Chombo_py.html new file mode 100644 index 000000000..e5ecc2dfc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Chombo_py.html @@ -0,0 +1,101 @@ +databases/Chombo.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  Chombo.py
+#
+#  Tests:      mesh      - 2D AMR
+#              plots     - Pseudocolor
+#
+#  Programmer: Brad Whitlock
+#  Date:       Mon Sep 25 14:17:58 PST 2006
+#
+#  Modifications:
+#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
+#    Removed silly comments regarding global annotation object 'a'
+#
+# ----------------------------------------------------------------------------
+
+def test0(datapath):
+    TestSection("Changing time states")
+
+    # Set up the plots.
+    db = pjoin(datapath,"chombo.visit")
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "Density")
+    AddOperator("Transform")
+    t = TransformAttributes()
+    t.doScale = 1
+    t.scaleY = 8.
+    SetOperatorOptions(t)
+    DrawPlots()
+
+    Test("Chombo_0_00")
+
+    # Make sure we can change time states. This demonstrates the reader's
+    # ability to change metadata/SIL over time.
+    SetTimeSliderState(1)
+    Test("Chombo_0_01")
+
+    # Get the time steps.
+    s = "Number of states: %d\n" %  TimeSliderGetNStates()
+    for i in range(TimeSliderGetNStates()):
+        SetTimeSliderState(i)
+        Query("Cycle")
+        cycle = GetQueryOutputValue()
+        Query("Time")
+        time = GetQueryOutputValue()
+        values = "Cycle=%d, Time=%g" % (cycle, time)
+        s = s + values + "\n"
+    TestText("Chombo_0_02", s)
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test1(datapath):
+    TestSection("More distinct refinements")
+
+    db = pjoin(datapath,"chombo.visit")
+    OpenDatabase(db)
+
+    AddPlot("Subset", "patches")
+    AddPlot("Contour", "P_y_Over_Rho")
+    DrawPlots()
+    v = GetView2D()
+    v.fullFrameActivationMode = v.On
+    SetView2D(v)
+
+    Test("Chombo_1_00")
+
+    ResetView()
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test2(datapath):
+    TestSection("Anisotropic refinement")
+
+    db = pjoin(datapath,"aniso_refin.2d.hdf5")
+    OpenDatabase(db)
+    AddPlot("Mesh", "Mesh")
+    AddPlot("Subset", "levels")
+    DrawPlots()
+
+    Test("Chombo_2_00")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def main():
+    TurnOffAllAnnotations()
+
+    InvertBackgroundColor()
+
+    datapath = data_path("Chombo_test_data")
+    test0(datapath)
+    test1(datapath)
+    test2(datapath)
+
+    InvertBackgroundColor()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_EnSight.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_EnSight.html new file mode 100644 index 000000000..b39148ed8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_EnSight.html @@ -0,0 +1,102 @@ + +Results for databases/EnSight.py + +

Results of VisIt Regression Test - databases/EnSight

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
MT, ASCII, EnSight Gold files
EnSight_0_000.000.00
EnSight_0_010.000.00
EnSight_0_020.000.00
EnSight_0_030.000.00
EnSight_0_040.000.00
EnSight_0_050.000.00
EnSight_0_060.000.00
EnSight_0_070.000.00
EnSight_0_080 modifications totalling 0 lines
Make sure that we get correct values
EnSight_1_000 modifications totalling 0 lines
EnSight_1_010 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_EnSight_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_EnSight_py.html new file mode 100644 index 000000000..3fc679f60 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_EnSight_py.html @@ -0,0 +1,84 @@ +databases/EnSight.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  EnSight.py
+#
+#  Tests:      mesh      - 2D structured
+#              plots     - Pseudocolor
+#
+#  Programmer: Brad Whitlock
+#  Date:       Tue Jun 27 10:27:50 PDT 2006
+#
+#  Modifications:
+#    Brad Whitlock, Wed Sep 27 10:19:38 PDT 2006
+#    Test another dataset to make sure that the cycle/time values and the
+#    dataset values are right.
+#
+# ----------------------------------------------------------------------------
+
+RequiredDatabasePlugin("EnSight")
+
+def test0(datapath):
+    TestSection("MT, ASCII, EnSight Gold files")
+
+    # Set up the plots.
+    OpenDatabase(pjoin(datapath,"CHR.case"))
+    AddPlot("Pseudocolor", "Pression")
+    DrawPlots()
+
+    # Save images for all 8 time steps
+    s = "Time values:\n"
+    for i in range(8):
+        SetTimeSliderState(i)
+        DrawPlots()
+        Test("EnSight_0_%02d" % i)
+
+        Query("Time")
+        s = s + GetQueryOutputString() + "\n"
+
+    TestText("EnSight_0_08", s)
+    DeleteAllPlots()
+
+def test1(datapath):
+    TestSection("Make sure that we get correct values")
+
+    # Set up the plots.
+    OpenDatabase(pjoin(datapath,"dataset2/CHR.case"))
+    AddPlot("Pseudocolor", "nb")
+    DrawPlots()
+
+    # Query the values at all time steps to make sure that we get the
+    # right cycles, times and min dataset value.
+    s = "Time values:\n"
+    v = "Dataset values\n"
+    for i in range(TimeSliderGetNStates()):
+        SetTimeSliderState(i)
+        DrawPlots()
+
+        # Get cycle and time.
+        Query("Time")
+        t = GetQueryOutputValue()
+
+        # Get min value
+        Query("Min")
+        m = GetQueryOutputValue()
+
+        line = "Time=%g\n" % t
+        s = s + line
+        line = "Min Value=%g\n" % m
+        v = v + line
+
+    TestText("EnSight_1_00", s)
+    TestText("EnSight_1_01", v)
+    DeleteAllPlots()
+
+def main():
+    TurnOffAllAnnotations()
+
+    datapath = data_path("EnSight_test_data")
+    test0(datapath)
+    test1(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_FITS.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_FITS.html new file mode 100644 index 000000000..1e497ae7d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_FITS.html @@ -0,0 +1,87 @@ + +Results for databases/FITS.py + +

Results of VisIt Regression Test - databases/FITS

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
2D truecolor images
FITS_0_000.000.00
2D pseudocolor images
FITS_1_000.000.00
FITS_1_010.000.00
FITS_1_020.000.00
FITS_1_030.000.00
3D pseudocolor data
FITS_2_000.000.00
FITS_2_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_FITS_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_FITS_py.html new file mode 100644 index 000000000..f28f87d7c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_FITS_py.html @@ -0,0 +1,124 @@ +databases/FITS.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  FITS.py
+#
+#  Tests:      mesh      - 2D structured, 3D structured
+#              plots     - Pseudocolor, TrueColor
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Jul 20 14:07:49 PST 2006
+#
+#  Modifications:
+#
+#    Hank Childs, Tue Mar 18 15:40:19 PDT 2008
+#    Reflect change in variable names.
+#
+#    Hank Childs, Sat Mar 13 10:57:19 PST 2010
+#    Reflect change in variable names.
+#    
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("FITS")
+
+def test0(datapath):
+    TestSection("2D truecolor images")
+
+    # Set up the plots.
+    db = pjoin(datapath,"mandrill.fits")
+    OpenDatabase(db)
+    AddPlot("Truecolor", "MANDRILL")
+    DrawPlots()
+
+    Test("FITS_0_00")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+
+def test1(datapath):
+    TestSection("2D pseudocolor images")
+
+    # Set up the plots.
+    db = pjoin(datapath,"y2000m2.fits")
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "NGC7083 V 550nm _lp_Intens_rp_")
+    pc = PseudocolorAttributes()
+    pc.minFlag = 1
+    pc.scaling = pc.Log  # Linear, Log, Skew
+    pc.min = 0.001
+    pc.colorTableName = "bluehot"
+    SetPlotOptions(pc)
+    DrawPlots()
+    Test("FITS_1_00")
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+    # Set up the plots.
+    db = pjoin(datapath, "04May04_standard_*.fits database")
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "HD43583")
+    DrawPlots()
+    Test("FITS_1_01")
+
+    SetTimeSliderState(1)
+    Test("FITS_1_02")
+
+    SetTimeSliderState(2)
+    Test("FITS_1_03")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+
+def test2(datapath):
+    TestSection("3D pseudocolor data")
+
+    # Set up the plots.
+    db = pjoin(datapath,"ngc6503.fits")
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "NGC6503")
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (0.406249, -0.543192, 0.734782)
+    v.focus = (128, 128, 15.5)
+    v.viewUp = (-0.273573, 0.694941, 0.664993)
+    v.viewAngle = 30
+    v.parallelScale = 181.682
+    v.nearPlane = -363.363
+    v.farPlane = 363.363
+    v.imagePan = (0.0160165, 0.0533909)
+    v.imageZoom = 1.05918
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (128, 128, 15.5)
+    SetView3D(v)
+    Test("FITS_2_00")
+    DeleteAllPlots()
+
+    AddPlot("Contour", "NGC6503")
+    ca = ContourAttributes()
+    ca.contourValue = (0.0075)
+    ca.contourMethod = ca.Value  # Level, Value, Percent
+    SetPlotOptions(ca)
+    DrawPlots()
+    Test("FITS_2_01")
+    DeleteAllPlots()
+
+    CloseDatabase(db)
+
+def main():
+    TurnOffAllAnnotations()
+
+    InvertBackgroundColor()
+
+    datapath = data_path("FITS_test_data")
+    test0(datapath)
+    test1(datapath)
+    test2(datapath)
+
+    InvertBackgroundColor()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_FMS.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_FMS.html new file mode 100644 index 000000000..e79656fb7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_FMS.html @@ -0,0 +1,1156 @@ + +Results for databases/FMS.py + +

Results of VisIt Regression Test - databases/FMS

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
domains - ascii
FMS_0_1_000 modifications totalling 0 lines
FMS_0_1_010.000.00
FMS_0_1_020.000.00
FMS_0_1_030.000.00
FMS_0_2_000 modifications totalling 0 lines
FMS_0_2_010.000.00
FMS_0_2_020.000.00
FMS_0_2_030.000.00
FMS_0_3_000 modifications totalling 0 lines
FMS_0_3_010.000.00
FMS_0_3_020.000.00
FMS_0_3_030.000.00
domains - yaml
FMS_1_1_000 modifications totalling 0 lines
FMS_1_1_010.000.00
FMS_1_1_020.000.00
FMS_1_1_030.000.00
FMS_1_2_000 modifications totalling 0 lines
FMS_1_2_010.000.00
FMS_1_2_020.000.00
FMS_1_2_030.000.00
FMS_1_3_000 modifications totalling 0 lines
FMS_1_3_010.000.00
FMS_1_3_020.000.00
FMS_1_3_030.000.00
domains - json
FMS_2_1_000 modifications totalling 0 lines
FMS_2_1_010.000.00
FMS_2_1_020.000.00
FMS_2_1_030.000.00
FMS_2_2_000 modifications totalling 0 lines
FMS_2_2_010.000.00
FMS_2_2_020.000.00
FMS_2_2_030.000.00
FMS_2_3_000 modifications totalling 0 lines
FMS_2_3_010.000.00
FMS_2_3_020.000.00
FMS_2_3_030.000.00
domains - hdf5
FMS_3_1_000 modifications totalling 0 lines
FMS_3_1_010.000.00
FMS_3_1_020.000.00
FMS_3_1_030.000.00
FMS_3_2_000 modifications totalling 0 lines
FMS_3_2_010.000.00
FMS_3_2_020.000.00
FMS_3_2_030.000.00
FMS_3_3_000 modifications totalling 0 lines
FMS_3_3_010.000.00
FMS_3_3_020.000.00
FMS_3_3_030.000.00
quads - ascii
FMS_4_1_000 modifications totalling 0 lines
FMS_4_1_010.000.00
FMS_4_1_020.000.00
FMS_4_1_030.000.00
FMS_4_1_040.000.00
FMS_4_1_050.000.00
FMS_4_1_060.000.00
FMS_4_2_000 modifications totalling 0 lines
FMS_4_2_010.000.00
FMS_4_2_020.000.00
FMS_4_2_030.000.00
FMS_4_2_040.000.00
FMS_4_2_050.000.00
FMS_4_2_060.000.00
FMS_4_3_000 modifications totalling 0 lines
FMS_4_3_010.000.00
FMS_4_3_020.000.00
FMS_4_3_030.000.00
FMS_4_3_040.000.00
FMS_4_3_050.000.00
FMS_4_3_060.000.00
quads - yaml
FMS_5_1_000 modifications totalling 0 lines
FMS_5_1_010.000.00
FMS_5_1_020.000.00
FMS_5_1_030.000.00
FMS_5_1_040.000.00
FMS_5_1_050.000.00
FMS_5_1_060.000.00
FMS_5_2_000 modifications totalling 0 lines
FMS_5_2_010.000.00
FMS_5_2_020.000.00
FMS_5_2_030.000.00
FMS_5_2_040.000.00
FMS_5_2_050.000.00
FMS_5_2_060.000.00
FMS_5_3_000 modifications totalling 0 lines
FMS_5_3_010.000.00
FMS_5_3_020.000.00
FMS_5_3_030.000.00
FMS_5_3_040.000.00
FMS_5_3_050.000.00
FMS_5_3_060.000.00
hex - ascii
FMS_6_1_000 modifications totalling 0 lines
FMS_6_1_010.000.00
FMS_6_1_020.000.00
FMS_6_1_030.000.00
FMS_6_1_040.000.00
FMS_6_1_050.000.00
FMS_6_2_000 modifications totalling 0 lines
FMS_6_2_010.000.00
FMS_6_2_020.000.00
FMS_6_2_030.000.00
FMS_6_2_040.000.00
FMS_6_2_050.000.00
FMS_6_3_000 modifications totalling 0 lines
FMS_6_3_010.000.00
FMS_6_3_020.000.00
FMS_6_3_030.000.00
FMS_6_3_040.000.00
FMS_6_3_050.000.00
FMS_6_4_000 modifications totalling 0 lines
FMS_6_4_010.000.00
FMS_6_4_020.000.00
FMS_6_4_030.000.00
FMS_6_4_040.000.00
FMS_6_4_050.000.00
FMS_6_5_000 modifications totalling 0 lines
FMS_6_5_010.000.00
FMS_6_5_020.000.00
FMS_6_5_030.000.00
FMS_6_5_040.000.00
FMS_6_5_050.000.00
hex - hdf5
FMS_7_1_000 modifications totalling 0 lines
FMS_7_1_010.000.00
FMS_7_1_020.000.00
FMS_7_1_030.000.00
FMS_7_1_040.000.00
FMS_7_1_050.000.00
FMS_7_2_000 modifications totalling 0 lines
FMS_7_2_010.000.00
FMS_7_2_020.000.00
FMS_7_2_030.000.00
FMS_7_2_040.000.00
FMS_7_2_050.000.00
FMS_7_3_000 modifications totalling 0 lines
FMS_7_3_010.000.00
FMS_7_3_020.000.00
FMS_7_3_030.000.00
FMS_7_3_040.000.00
FMS_7_3_050.000.00
FMS_7_4_000 modifications totalling 0 lines
FMS_7_4_010.000.00
FMS_7_4_020.000.00
FMS_7_4_030.000.00
FMS_7_4_040.000.00
FMS_7_4_050.000.00
FMS_7_5_000 modifications totalling 0 lines
FMS_7_5_010.000.00
FMS_7_5_020.000.00
FMS_7_5_030.000.00
FMS_7_5_040.000.00
FMS_7_5_050.000.00
hex - time varying
FMS_8__000 modifications totalling 0 lines
FMS_8__010.000.00
FMS_8__020.000.00
Root file
FMS_9__000 modifications totalling 0 lines
FMS_9__010.000.00
FMS_9__020.000.00
Converted MFEM data: escher-p3-0ref
FMS_10_000 modifications totalling 0 lines
FMS_10_010.000.00
FMS_10_020.000.00
FMS_10_030.000.00
Converted MFEM data: escher-p3
FMS_11_000 modifications totalling 0 lines
FMS_11_010.000.00
FMS_11_020.000.00
Converted MFEM data: Example15
FMS_12_000 modifications totalling 0 lines
FMS_12_010.000.00
FMS_12_020.000.00
FMS_12_030.000.00
Converted MFEM data: Example9
FMS_13_000 modifications totalling 0 lines
FMS_13_010.000.00
Converted MFEM data: fichera-q2-0ref
FMS_14_000 modifications totalling 0 lines
FMS_14_010.000.00
FMS_14_020.000.00
FMS_14_030.000.00
Converted MFEM data: fichera-q2
FMS_15_000 modifications totalling 0 lines
FMS_15_010.000.00
FMS_15_020.000.00
Converted MFEM data: star-q3-0ref
FMS_16_000 modifications totalling 0 lines
FMS_16_010.000.00
FMS_16_020.000.00
FMS_16_030.000.00
Converted MFEM data: star-q3
FMS_17_000 modifications totalling 0 lines
FMS_17_010.000.00
FMS_17_020.000.00
Converted MFEM data: toroid-hex-0ref
FMS_18_000 modifications totalling 0 lines
FMS_18_010.000.00
FMS_18_020.000.00
FMS_18_030.000.00
Converted MFEM data: toroid-hex
FMS_19_000 modifications totalling 0 lines
FMS_19_010.000.00
FMS_19_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_FMS_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_FMS_py.html new file mode 100644 index 000000000..0df892432 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_FMS_py.html @@ -0,0 +1,590 @@ +databases/FMS.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  FMS.py
+#
+#  Tests:      mesh      - high order meshes
+#              plots     - Mesh, Pseudocolor
+#
+#  Programmer: Brad Whitlock
+#  Date:       Tue Aug  4 11:25:39 PDT 2020
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def FilterMetaData(s):
+    lines = s.split("\n")
+    txt = ""
+    ignores=("exprList.","#expressions",".enum","simInfo.","blockNameScheme",".missingData","DataExtents =",".rectilinearGrid",".unitCell")
+    for line in lines:
+        keep = True
+        for ig in ignores:
+             if ig in line:
+                 keep = False
+                 break
+        if keep:
+            txt = txt + (line + "\n")
+    return txt
+
+def test_mesh_plus_dofs(prefix, db1, order):
+    OpenDatabase(db1)
+
+    # Get the metadata
+    md = GetMetaData(db1)
+    TestText(prefix+"_00", FilterMetaData(str(md)))
+
+    # Show the mesh (curved)
+    AddPlot("Mesh", "mesh")
+    m = MeshAttributes()
+    m.lineWidth = 2
+    SetPlotOptions(m)
+    if order != "one":
+        AddOperator("MultiresControl")
+        mra = MultiresControlAttributes()
+        mra.resolution = 10
+        mra.maxResolution = 100
+        SetOperatorOptions(mra)
+    DrawPlots()
+    delta = 0.03
+    v0 = GetView2D()
+    v0.windowCoords = (0.-delta, 1.+delta, 0.-delta, 1.+delta)
+    v0.viewportCoords = (0.04, 0.98, 0.03, 0.98)
+    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
+    v0.fullFrameAutoThreshold = 100
+    v0.xScale = v0.LINEAR  # LINEAR, LOG
+    v0.yScale = v0.LINEAR  # LINEAR, LOG
+    v0.windowValid = 1
+    SetView2D(v0)
+    Test(prefix + "_01")
+
+    # Overlay the dofs
+    DefineScalarExpression("X", "coords(dofs)[0]")
+    AddPlot("Pseudocolor", "X")
+    pc = PseudocolorAttributes()
+    pc.pointSizePixels = 12
+    pc.colorTableName = "hot_desaturated"
+    SetPlotOptions(pc)
+    AddOperator("Project")
+    AddOperator("Transform")
+    tform = TransformAttributes(1)
+    tform.doTranslate = 1
+    tform.translateZ = 0.01
+    SetOperatorOptions(tform)
+    DrawPlots()
+    Test(prefix + "_02")
+    DeleteActivePlots()
+
+    AddPlot("Pseudocolor", "zid")
+    SetPlotOptions(pc)
+    DrawPlots()
+    Test(prefix + "_03")
+
+def domain_test(datapath, prefix, protocol, order):
+    db1 = pjoin(datapath,"domains_"+protocol+"_order_"+order+".fms")
+    test_mesh_plus_dofs(prefix, db1, order)
+    # Cleanup
+    DeleteAllPlots()
+    CloseDatabase(db1)
+    CloseComputeEngine()
+
+def quads_test(datapath, prefix, protocol, order):
+    db1 = pjoin(datapath,"quads_"+protocol+"_order_"+order+".fms")
+    test_mesh_plus_dofs(prefix, db1, order)
+
+    ChangeActivePlotsVar("r1")
+    DrawPlots()
+    Test(prefix + "_04")
+
+    ChangeActivePlotsVar("r2")
+    DrawPlots()
+    Test(prefix + "_05")
+
+    ChangeActivePlotsVar("r3")
+    DrawPlots()
+    Test(prefix + "_06")
+
+    # Cleanup
+    DeleteAllPlots()
+    CloseDatabase(db1)
+    CloseComputeEngine()
+
+def hex_test(datapath, prefix, protocol, order):
+    db1 = pjoin(datapath,"hex_"+protocol+"_order_"+order+".fms")
+    OpenDatabase(db1)
+
+    # Get the metadata
+    md = GetMetaData(db1)
+    TestText(prefix+"_00", FilterMetaData(str(md)))
+
+    # Show the mesh (curved)
+    AddPlot("Mesh", "mesh")
+    m = MeshAttributes()
+    m.lineWidth = 2
+    SetPlotOptions(m)
+    if order != "one":
+        AddOperator("MultiresControl")
+        mra = MultiresControlAttributes()
+        mra.resolution = 7
+        mra.maxResolution = 100
+        SetOperatorOptions(mra)
+    DrawPlots()
+    v0 = GetView3D()
+    v0.viewNormal = (-0.736972, 0.363225, -0.570035)
+    v0.focus = (0.499999, 0.500005, 0.499787)
+    v0.viewUp = (0.289138, 0.931697, 0.219863)
+    v0.viewAngle = 30
+    v0.parallelScale = 0.900499
+    v0.nearPlane = -1.801
+    v0.farPlane = 1.801
+    v0.imagePan = (-0.00987149, 0.0367767)
+    v0.imageZoom = 1.15249
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0.499999, 0.500005, 0.499787)
+    v0.axis3DScaleFlag = 0
+    v0.axis3DScales = (1, 1, 1)
+    v0.shear = (0, 0, 1)
+    v0.windowValid = 1
+    SetView3D(v0)
+    Test(prefix + "_01")
+
+    AddPlot("Pseudocolor", "zid")
+    pc = PseudocolorAttributes()
+    pc.colorTableName = "hot_desaturated"
+    SetPlotOptions(pc)
+    DrawPlots()
+    Test(prefix + "_02")
+
+    ChangeActivePlotsVar("r1")
+    Test(prefix + "_03")
+
+    ChangeActivePlotsVar("r2")
+    Test(prefix + "_04")
+
+    # Check that order 3 interior dofs look ok.
+    AddPlot("Contour", "r3")
+    c = ContourAttributes(1)
+    c.contourValue = (0.6, 0.8, 0.9, 1, 1.2)
+    c.contourMethod = c.Value  # Level, Value, Percent
+    SetPlotOptions(c)
+    SetActivePlots((0,1)) # Delete mesh,pc plots
+    DeleteActivePlots()
+    DrawPlots()
+    Test(prefix + "_05")
+
+    # Cleanup
+    DeleteAllPlots()
+    CloseDatabase(db1)
+    CloseComputeEngine()
+
+def test0(datapath):
+    protocol = "ascii"
+    TestSection("domains - " + protocol)
+    domain_test(datapath, "FMS_0_1", protocol, "one")
+    domain_test(datapath, "FMS_0_2", protocol, "two")
+    domain_test(datapath, "FMS_0_3", protocol, "three")
+
+def test1(datapath):
+    protocol = "yaml"
+    TestSection("domains - " + protocol)
+    domain_test(datapath, "FMS_1_1", protocol, "one")
+    domain_test(datapath, "FMS_1_2", protocol, "two")
+    domain_test(datapath, "FMS_1_3", protocol, "three")
+
+def test2(datapath):
+    protocol = "json"
+    TestSection("domains - " + protocol)
+    domain_test(datapath, "FMS_2_1", protocol, "one")
+    domain_test(datapath, "FMS_2_2", protocol, "two")
+    domain_test(datapath, "FMS_2_3", protocol, "three")
+
+def test3(datapath):
+    protocol = "hdf5"
+    TestSection("domains - " + protocol)
+    domain_test(datapath, "FMS_3_1", protocol, "one")
+    domain_test(datapath, "FMS_3_2", protocol, "two")
+    domain_test(datapath, "FMS_3_3", protocol, "three")
+
+def test4(datapath):
+    protocol = "ascii"
+    TestSection("quads - " + protocol)
+    quads_test(datapath, "FMS_4_1", protocol, "one")
+    quads_test(datapath, "FMS_4_2", protocol, "two")
+    quads_test(datapath, "FMS_4_3", protocol, "three")
+
+def test5(datapath):
+    protocol = "yaml"
+    TestSection("quads - " + protocol)
+    quads_test(datapath, "FMS_5_1", protocol, "one")
+    quads_test(datapath, "FMS_5_2", protocol, "two")
+    quads_test(datapath, "FMS_5_3", protocol, "three")
+
+def test6(datapath):
+    protocol = "ascii"
+    TestSection("hex - " + protocol)
+    hex_test(datapath, "FMS_6_1", protocol, "one")
+    hex_test(datapath, "FMS_6_2", protocol, "two")
+    hex_test(datapath, "FMS_6_3", protocol, "three")
+    hex_test(datapath, "FMS_6_4", protocol, "four")
+    hex_test(datapath, "FMS_6_5", protocol, "five")
+
+def test7(datapath):
+    protocol = "hdf5"
+    TestSection("hex - " + protocol)
+    hex_test(datapath, "FMS_7_1", protocol, "one")
+    hex_test(datapath, "FMS_7_2", protocol, "two")
+    hex_test(datapath, "FMS_7_3", protocol, "three")
+    hex_test(datapath, "FMS_7_4", protocol, "four")
+    hex_test(datapath, "FMS_7_5", protocol, "five")
+
+def test8(datapath):
+    TestSection("hex - time varying")
+    prefix = "FMS_8_"
+    db1 = pjoin(datapath,"hex*.fms database")
+    OpenDatabase(db1)
+
+    # Get the metadata
+    md = GetMetaData(db1)
+    TestText(prefix+"_00", FilterMetaData(str(md)))
+
+    # Show the mesh (curved)
+    AddPlot("Mesh", "mesh")
+    m = MeshAttributes()
+    m.lineWidth = 2
+    SetPlotOptions(m)
+    AddOperator("MultiresControl")
+    mra = MultiresControlAttributes()
+    mra.resolution = 7
+    mra.maxResolution = 100
+    SetOperatorOptions(mra)
+    DrawPlots()
+    v0 = GetView3D()
+    v0.viewNormal = (-0.722008, 0.525589, -0.449957)
+    v0.focus = (0.500085, 0.501459, 0.49554)
+    v0.viewUp = (0.465249, 0.850161, 0.246515)
+    v0.viewAngle = 30
+    v0.parallelScale = 0.989501
+    v0.nearPlane = -1.979
+    v0.farPlane = 1.979
+    v0.imagePan = (0, 0)
+    v0.imageZoom = 1.12555
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0.500085, 0.501459, 0.49554)
+    v0.axis3DScaleFlag = 0
+    v0.axis3DScales = (1, 1, 1)
+    v0.shear = (0, 0, 1)
+    v0.windowValid = 1
+    SetView3D(v0)
+
+    AddPlot("Pseudocolor", "r3")
+    pc = PseudocolorAttributes()
+    pc.colorTableName = "hot_desaturated"
+    SetPlotOptions(pc)
+    DrawPlots()
+    Test(prefix + "_01")
+
+    SetTimeSliderState(9)
+    Test(prefix + "_02")
+
+    # Cleanup
+    DeleteAllPlots()
+    CloseDatabase(db1)
+    CloseComputeEngine()
+
+def test9(datapath):
+    TestSection("Root file")
+    prefix = "FMS_9_"
+    db1 = pjoin(datapath,"multidom.fms_root")
+    OpenDatabase(db1)
+
+    # Get the metadata
+    md = GetMetaData(db1)
+    TestText(prefix+"_00", FilterMetaData(str(md)))
+
+    # Show the mesh (curved)
+    AddPlot("Mesh", "mesh")
+    m = MeshAttributes()
+    m.lineWidth = 2
+    SetPlotOptions(m)
+    DrawPlots()
+    AddPlot("Pseudocolor", "coords_magnitude")
+    pc = PseudocolorAttributes()
+    pc.colorTableName = "hot_desaturated"
+    SetPlotOptions(pc)
+    DrawPlots()
+    ResetView()
+    Test(prefix + "_01")
+
+    DeleteActivePlots()
+    AddPlot("Subset", "domains")
+    DrawPlots()
+    Test(prefix + "_02")
+
+    # Cleanup
+    DeleteAllPlots()
+    CloseDatabase(db1)
+    CloseComputeEngine()
+
+def plot_converted_data(prefix, db, var, v0, resolution, meshName, dodof):
+    OpenDatabase(db)
+
+    # Get the metadata
+    md = GetMetaData(db)
+    TestText(prefix+"_00", FilterMetaData(str(md)))
+
+    AddPlot("Pseudocolor", var)
+    pc = PseudocolorAttributes()
+    pc.colorTableName = "hot_desaturated"
+    SetPlotOptions(pc)
+    AddOperator("MultiresControl")
+    mra = MultiresControlAttributes()
+    mra.resolution = resolution
+    mra.maxResolution = 100
+    SetOperatorOptions(mra)
+    DrawPlots()
+
+    # Try setting the view.
+    try:
+        SetView3D(v0)
+    except:
+        try:
+            SetView2D(v0)
+        except:
+            ResetView()
+
+
+    Test(prefix + "_01")
+
+    # Add a mesh plot of the boundaries and refine them.
+    if meshName != "":
+        AddPlot("Mesh", meshName, 1, 1)
+        m = MeshAttributes(1)
+        m.lineWidth = 1
+        SetPlotOptions(m)
+        DrawPlots()
+        Test(prefix + "_02")
+
+    # Add a mesh plot of the dofs.
+    if dodof:
+        AddPlot("Mesh", "dofs", 0, 0)
+        m2 = MeshAttributes(1)
+        m2.meshColor = (255, 0, 0, 255)
+        m2.meshColorSource = m2.MeshCustom  # Foreground, MeshCustom, MeshRandom
+        m2.pointSize = 0.075
+        m2.opaqueColor = (255, 255, 255, 255)
+        m2.pointType = m2.SphereGeometry  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
+        m2.pointSizePixels = 10
+        m2.opacity = 1
+        SetPlotOptions(m2)
+        DrawPlots()
+        Test(prefix + "_03")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+    CloseComputeEngine()
+
+def escher_view():
+    v0 = GetView3D()
+    v0.viewNormal = (0.301943, 0.349059, 0.887124)
+    v0.focus = (0.015155, 0.00931501, 0.00220501)
+    v0.viewUp = (-0.108572, 0.937093, -0.331767)
+    v0.viewAngle = 30
+    v0.parallelScale = 2.69081
+    v0.nearPlane = -5.38163
+    v0.farPlane = 5.38163
+    v0.imagePan = (-0.011426, -0.0216873)
+    v0.imageZoom = 1.62652
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0.015155, 0.00931501, 0.00220501)
+    v0.axis3DScaleFlag = 0
+    v0.axis3DScales = (1, 1, 1)
+    v0.shear = (0, 0, 1)
+    v0.windowValid = 1
+    return v0
+
+def test10(datapath):
+    TestSection("Converted MFEM data: escher-p3-0ref")
+    db = pjoin(datapath,"converted-data/escher-p3-0ref/Example5_000000.fms")
+
+    v0 = escher_view()
+    plot_converted_data("FMS_10", db, "pressure", v0, 5, "boundary", True)
+
+def test11(datapath):
+    TestSection("Converted MFEM data: escher-p3")
+    db = pjoin(datapath,"converted-data/escher-p3/Example5_000000.fms")
+
+    v0 = escher_view()
+    plot_converted_data("FMS_11", db, "pressure", v0, 4, "boundary", False)
+
+def test12(datapath):
+    TestSection("Converted MFEM data: Example15")
+    db = pjoin(datapath,"converted-data/Example15/Example15_000000.fms")
+
+    v0 = GetView2D()
+    v0.windowCoords = (-1.74594, 1.76718, -1.7, 1.55366)
+    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
+    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
+    v0.fullFrameAutoThreshold = 100
+    v0.xScale = v0.LINEAR  # LINEAR, LOG
+    v0.yScale = v0.LINEAR  # LINEAR, LOG
+    v0.windowValid = 1
+
+    plot_converted_data("FMS_12", db, "solution", v0, 8, "boundary", True)
+
+def test13(datapath):
+    TestSection("Converted MFEM data: Example9")
+    db = pjoin(datapath,"converted-data/Example9/Example9_000000.fms")
+
+    v0 = GetView2D()
+    v0.windowCoords = (-1, 1, -0.966025, 0.866025)
+    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
+    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
+    v0.fullFrameAutoThreshold = 100
+    v0.xScale = v0.LINEAR  # LINEAR, LOG
+    v0.yScale = v0.LINEAR  # LINEAR, LOG
+    v0.windowValid = 1
+
+    plot_converted_data("FMS_13", db, "solution", v0, 8, "", False)
+
+def fichera_view():
+    v0 = GetView3D()
+    v0.viewNormal = (0.76587, 0.438546, -0.470235)
+    v0.focus = (0.00682861, 0.00298607, -0.00561833)
+    v0.viewUp = (-0.368491, 0.898664, 0.237945)
+    v0.viewAngle = 30
+    v0.parallelScale = 1.82615
+    v0.nearPlane = -3.6523
+    v0.farPlane = 3.6523
+    v0.imagePan = (0.00522255, 0.0292194)
+    v0.imageZoom = 1.09494
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0.00682861, 0.00298607, -0.00561833)
+    v0.axis3DScaleFlag = 0
+    v0.axis3DScales = (1, 1, 1)
+    v0.shear = (0, 0, 1)
+    v0.windowValid = 1
+    return v0
+
+def test14(datapath):
+    TestSection("Converted MFEM data: fichera-q2-0ref")
+    db = pjoin(datapath,"converted-data/fichera-q2-0ref/Example5_000000.fms")
+
+    v0 = fichera_view()
+    plot_converted_data("FMS_14", db, "pressure", v0, 8, "boundary", True)
+
+def test15(datapath):
+    TestSection("Converted MFEM data: fichera-q2")
+    db = pjoin(datapath,"converted-data/fichera-q2/Example5_000000.fms")
+
+    v0 = fichera_view()
+    plot_converted_data("FMS_15", db, "pressure", v0, 4, "boundary", False)
+
+def test16(datapath):
+    TestSection("Converted MFEM data: star-q3-0ref")
+    db = pjoin(datapath,"converted-data/star-q3-0ref/Example5_000000.fms")
+
+    v0 = GetView2D()
+    v0.windowCoords = (-1.8181, 1.8181, -1.7, 1.58418)
+    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
+    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
+    v0.fullFrameAutoThreshold = 100
+    v0.xScale = v0.LINEAR  # LINEAR, LOG
+    v0.yScale = v0.LINEAR  # LINEAR, LOG
+    v0.windowValid = 1
+
+    plot_converted_data("FMS_16", db, "pressure", v0, 8, "mesh", True)
+
+def test17(datapath):
+    TestSection("Converted MFEM data: star-q3")
+    db = pjoin(datapath,"converted-data/star-q3/Example5_000000.fms")
+
+    v0 = GetView2D()
+    v0.windowCoords = (-1.8181, 1.8181, -1.7, 1.58418)
+    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
+    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
+    v0.fullFrameAutoThreshold = 100
+    v0.xScale = v0.LINEAR  # LINEAR, LOG
+    v0.yScale = v0.LINEAR  # LINEAR, LOG
+    v0.windowValid = 1
+
+    plot_converted_data("FMS_17", db, "pressure", v0, 4, "boundary", False)
+
+def toroid_view():
+    v0 = GetView3D()
+    v0.viewNormal = (0, 0, 1)
+    v0.focus = (-0.0503261, 0, 0)
+    v0.viewUp = (0, 1, 0)
+    v0.viewAngle = 30
+    v0.parallelScale = 1.96586
+    v0.nearPlane = -3.93172
+    v0.farPlane = 3.93172
+    v0.imagePan = (0, 0)
+    v0.imageZoom = 1.29234
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (-0.0503261, 0, 0)
+    v0.axis3DScaleFlag = 0
+    v0.axis3DScales = (1, 1, 1)
+    v0.shear = (0, 0, 1)
+    v0.windowValid = 1
+    return v0
+
+def test18(datapath):
+    TestSection("Converted MFEM data: toroid-hex-0ref")
+    db = pjoin(datapath,"converted-data/toroid-hex-0ref/Example5_000000.fms")
+
+    v0 = toroid_view()
+    plot_converted_data("FMS_18", db, "pressure", v0, 8, "mesh", True)
+
+def test19(datapath):
+    TestSection("Converted MFEM data: toroid-hex")
+    db = pjoin(datapath,"converted-data/toroid-hex/Example5_000000.fms")
+
+    v0 = toroid_view()
+    plot_converted_data("FMS_19", db, "pressure", v0, 4, "boundary", False)
+
+def main():
+    RequiredDatabasePlugin("FMS")
+
+    datapath = data_path("FMS_test_data")
+    DefineScalarExpression("zid", "zoneid(mesh)")
+
+    # domains
+    test0(datapath)
+    test1(datapath)
+    test2(datapath)
+    test3(datapath)
+    # quads
+    test4(datapath)
+    test5(datapath)
+    # hex
+    test6(datapath)
+    test7(datapath)
+    # time varying data
+    test8(datapath)
+    # root
+    test9(datapath)
+    # Datasets that were converted from MFEM to FMS
+    test10(datapath)
+    test11(datapath)
+    test12(datapath)
+    test13(datapath)
+    test14(datapath)
+    test15(datapath)
+    test16(datapath)
+    test17(datapath)
+    test18(datapath)
+    test19(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Fluent.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Fluent.html new file mode 100644 index 000000000..efac2643f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Fluent.html @@ -0,0 +1,60 @@ + +Results for databases/Fluent.py + +

Results of VisIt Regression Test - databases/Fluent

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Fluent_010.000.00
Fluent_020.000.00
Fluent_030.000.00
Fluent_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Fluent_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Fluent_py.html new file mode 100644 index 000000000..31429d620 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Fluent_py.html @@ -0,0 +1,43 @@ +databases/Fluent.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  Fluent.py
+#
+#  Programmer: Hank Childs
+#  Date:       September 8, 2006
+#
+#  Modifications:
+#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
+#    Changed number of vectors in vector plot to match the old behavior.
+#    (We now account for how many domains there are.)
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(data_path("Fluent_test_data/Gas2OxyEntSlurry3d30m_MSmods_Ar_Wen_Moist_CO2_WGS_HCl_COdevol.cas"))
+
+AddPlot("Pseudocolor", "TEMPERATURE")
+DrawPlots()
+Test("Fluent_01")
+
+AddPlot("Mesh", "Mesh")
+DrawPlots()
+Test("Fluent_02")
+
+DeleteAllPlots()
+
+AddPlot("Vector", "DPMS_MOM")
+v = VectorAttributes()
+v.nVectors = 400*5
+SetPlotOptions(v)
+DrawPlots()
+Test("Fluent_03")
+
+DeleteAllPlots()
+
+AddPlot("Subset", "blocks")
+DrawPlots()
+Test("Fluent_04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_GDAL.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_GDAL.html new file mode 100644 index 000000000..cedabf2c1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_GDAL.html @@ -0,0 +1,36 @@ + +Results for databases/GDAL.py + +

Results of VisIt Regression Test - databases/GDAL

+ + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
+

Final Return Code: 124

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_GDAL_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_GDAL_py.html new file mode 100644 index 000000000..6b4e846d7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_GDAL_py.html @@ -0,0 +1,107 @@ +databases/GDAL.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  GDAL.py
+#
+#  Tests:      mesh      - 2D structured, 3D unstructured
+#              plots     - Contour, Pseudocolor
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Sep 8 16:35:17 PST 2005
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("GDAL")
+
+def test0_and_1(db, prefix):
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "lower_res/resolution_0067x0086/height")
+    AddPlot("Contour", "lower_res/resolution_0067x0086/height")
+    c = ContourAttributes()
+    c.colorType = c.ColorBySingleColor
+    c.singleColor = (0,0,0,255)
+    c.legendFlag = 0
+    SetPlotOptions(c)
+    DrawPlots()
+    ResetView()
+    v = View2DAttributes()
+    v.windowCoords = (478545, 489295, 4.38614e+06, 4.40004e+06)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.fullFrameActivationMode = v.Off  # On, Off, Auto
+    v.fullFrameAutoThreshold = 100
+    SetView2D(v)
+    Test(prefix + "00")
+
+    # Increase the resolution a couple times.
+    SetActivePlots((0,1))
+    ChangeActivePlotsVar("lower_res/resolution_0268x0347/height")
+    Test(prefix + "01")
+    ChangeActivePlotsVar("height")
+    Test(prefix + "02")
+
+    # Switch to the elevated mesh
+    ChangeActivePlotsVar("elevated/lower_res/resolution_0067x0086/height")
+    v0 = View3DAttributes()
+    v0.viewNormal = (0.514425, -0.612921, 0.599745)
+    v0.focus = (483920, 4.39318e+06, 2025.5)
+    v0.viewUp = (-0.383293, 0.461288, 0.800187)
+    v0.viewAngle = 30
+    v0.parallelScale = 8729.59
+    v0.nearPlane = -17459.2
+    v0.farPlane = 17459.2
+    v0.imagePan = (0, 0)
+    v0.imageZoom = 1.16907
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (483920, 4.39318e+06, 2025.5)
+    SetView3D(v0)
+    Test(prefix + "03")
+
+    v1 = View3DAttributes()
+    v1.viewNormal = (0.514425, -0.612921, 0.599745)
+    v1.focus = (483920, 4.39312e+06, 2031)
+    v1.viewUp = (-0.383293, 0.461288, 0.800187)
+    v1.viewAngle = 30
+    v1.parallelScale = 8777.87
+    v1.nearPlane = -17555.7
+    v1.farPlane = 17555.7
+    v1.imagePan = (0.106418, 0.0224564)
+    v1.imageZoom = 2.73653
+    v1.perspective = 1
+    v1.eyeAngle = 2
+    v1.centerOfRotationSet = 0
+    v1.centerOfRotation = (483920, 4.39312e+06, 2031)
+    SetView3D(v1)
+    Test(prefix + "04")
+
+    SetActivePlots(1)
+    DeleteActivePlots()
+    ChangeActivePlotsVar("elevated/lower_res/resolution_0268x0347/height")
+    Test(prefix + "05")
+    ChangeActivePlotsVar("elevated/mesh/height")
+    Test(prefix + "06")
+    DeleteAllPlots()
+
+def test0(datapath):
+    TestSection("ArcInfo files")
+    test0_and_1(pjoin(datapath,"ADF/w001001.adf"), "GDAL_0_")
+
+def test1(datapath):
+    TestSection("DEM files")
+    test0_and_1(pjoin(datapath,"DEM/Morrison.dem"), "GDAL_1_")
+
+def main():
+    # Draw antialiased lines
+    r = GetRenderingAttributes()
+    r.antialiasing = 1
+    SetRenderingAttributes(r)
+
+    datapath = data_path("GDAL_test_data")
+    test0(datapath)
+    test1(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_NASTRAN.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_NASTRAN.html new file mode 100644 index 000000000..20800c223 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_NASTRAN.html @@ -0,0 +1,204 @@ + +Results for databases/NASTRAN.py + +

Results of VisIt Regression Test - databases/NASTRAN

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
pipe.nas
nastran1_00.000.00
nastran1_10.000.00
nastran1_20.000.00
waterjacket.nas
nastran2_00.000.00
nastran2_10.000.00
nastran2_20.000.00
intake.nas
nastran3_00.000.00
nastran3_10.000.00
nastran3_20.000.00
porsche.nas
nastran4_00.000.00
nastran4_10.000.00
nastran4_20.000.00
Rohr_01.nas
nastran5_00.000.00
nastran5_10.000.00
BMSP4E.nas
nastran6_00.000.00
HAM6D.nas
nastran7_00.000.00
nastran7_10.000.00
simpleCQUAD8.nas
nastran8_00.000.00
simpleQuadSphere.nas
nastran9_00.000.00
simpleQuadSphereBlock.nas
nastran10_00.000.00
simpleQuadTet.nas
nastran11_00.000.00
simpleQuadWedge.nas
nastran12_00.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_NASTRAN_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_NASTRAN_py.html new file mode 100644 index 000000000..016fd846e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_NASTRAN_py.html @@ -0,0 +1,511 @@ +databases/NASTRAN.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  NASTRAN.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - Mesh
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Jul 7 17:46:51 PST 2005
+#
+#  Modifications:
+#    Edward Rusu, Tue Aug 21 10:06:24 PST 2018
+#    Added tests for quadratic elements.
+#
+#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
+#    Replace use of meshatts 'foregroundFlag' and 'backgroundFlag' with
+#    meshColorSource and opaqueColorSource.
+#
+# ----------------------------------------------------------------------------
+
+def AddMeshPlot():
+    AddPlot("Mesh", "mesh")
+    m = MeshAttributes()
+    m.legendFlag = 0
+    m.opaqueColor = (153, 204, 255, 255)
+    m.opaqueColorSource = m.OpaqueCustom
+    m.meshColorSource = m.MeshCustom
+    m.meshColor = (0,0,0,255)
+    SetPlotOptions(m)
+
+def AddPseudocolorPlot():
+    AddPlot("Pseudocolor", "one")
+    p = PseudocolorAttributes()
+    p.colorTableName = "rainbow"
+    p.SetOpacityType(p.Constant)
+    p.opacity = 0.2
+    SetPlotOptions(p)
+    DrawPlots()
+
+def test1(datapath):
+    db = "pipe.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.786306, 0.379526, 0.487527)
+    v.focus = (0.149902, 0.212562, 0.124929)
+    v.viewUp = (0.316186, 0.925114, -0.210215)
+    v.viewAngle = 30
+    v.parallelScale = 0.585963
+    v.nearPlane = -1.17193
+    v.farPlane = 1.17193
+    v.imagePan = (0.0173275, 0.033058)
+    v.imageZoom = 1.45734
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.149902, 0.212562, 0.124929)
+    SetView3D(v)
+    Test("nastran1_0")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.786306, 0.379526, 0.487527)
+    v2.focus = (0.149902, 0.212562, 0.124929)
+    v2.viewUp = (0.316186, 0.925114, -0.210215)
+    v2.viewAngle = 30
+    v2.parallelScale = 0.585963
+    v2.nearPlane = -1.17193
+    v2.farPlane = 1.17193
+    v2.imagePan = (-0.108127, 0.0971661)
+    v2.imageZoom = 6.92887
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0.149902, 0.212562, 0.124929)
+    SetView3D(v2)
+    Test("nastran1_1")
+
+    DeleteActivePlots()
+    AddPseudocolorPlot()
+    SetView3D(v)
+    Test("nastran1_2")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test2(datapath):
+    db = "waterjacket.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.65317, -0.673371, 0.346324)
+    v.focus = (0.03, -0.03, -0.1125)
+    v.viewUp = (0.225064, 0.264053, 0.937882)
+    v.viewAngle = 30
+    v.parallelScale = 0.289925
+    v.nearPlane = -0.579849
+    v.farPlane = 0.579849
+    v.imagePan = (0.0984407, 0.0467479)
+    v.imageZoom = 1.40003
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.03, -0.03, -0.1125)
+    SetView3D(v)
+    Test("nastran2_0")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.65317, -0.673371, 0.346324)
+    v2.focus = (0.03, -0.03, -0.1125)
+    v2.viewUp = (0.225064, 0.264053, 0.937882)
+    v2.viewAngle = 30
+    v2.parallelScale = 0.289925
+    v2.nearPlane = -0.579849
+    v2.farPlane = 0.579849
+    v2.imagePan = (0.100347, 0.0410472)
+    v2.imageZoom = 7.7658
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0.03, -0.03, -0.1125)
+    SetView3D(v2)
+    Test("nastran2_1")
+
+    DeleteActivePlots()
+    AddPseudocolorPlot()
+    SetView3D(v)
+    Test("nastran2_2")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test3(datapath):
+    db = "intake.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.61876, 0.311053, -0.721375)
+    v.focus = (0, 0.011, -0.0935)
+    v.viewUp = (0.208418, 0.950364, 0.231021)
+    v.viewAngle = 30
+    v.parallelScale = 0.198752
+    v.nearPlane = -0.397503
+    v.farPlane = 0.397503
+    v.imagePan = (0.0151275, 0.00167627)
+    v.imageZoom = 1.43299
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0.011, -0.0935)
+    SetView3D(v)
+    Test("nastran3_0")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.61876, 0.311053, -0.721375)
+    v2.focus = (0, 0.011, -0.0935)
+    v2.viewUp = (0.208418, 0.950364, 0.231021)
+    v2.viewAngle = 30
+    v2.parallelScale = 0.198752
+    v2.nearPlane = -0.397503
+    v2.farPlane = 0.397503
+    v2.imagePan = (-0.101283, 0.0396808)
+    v2.imageZoom = 6.28038
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0, 0.011, -0.0935)
+    SetView3D(v2)
+    Test("nastran3_1")
+
+    DeleteActivePlots()
+    AddPseudocolorPlot()
+    SetView3D(v)
+    Test("nastran3_2")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test4(datapath):
+    db = "porsche.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (0.518428, 0.424019, 0.74259)
+    v.focus = (0, 7.9285, 0)
+    v.viewUp = (-0.299854, 0.903405, -0.306506)
+    v.viewAngle = 30
+    v.parallelScale = 24.7409
+    v.nearPlane = -5
+    v.farPlane = 49.4817
+    v.imagePan = (0.00934164, 0.144131)
+    v.imageZoom = 4.02409
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 7.9285, 0)
+    SetView3D(v)
+    Test("nastran4_0")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (0.518428, 0.424019, 0.74259)
+    v2.focus = (0, 7.9285, 0)
+    v2.viewUp = (-0.299854, 0.903405, -0.306506)
+    v2.viewAngle = 30
+    v2.parallelScale = 24.7409
+    v2.nearPlane = -5
+    v2.farPlane = 49.4817
+    v2.imagePan = (0.0898178, 0.146581)
+    v2.imageZoom = 19.659
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0, 7.9285, 0)
+    SetView3D(v2)
+    Test("nastran4_1")
+
+    v3 = View3DAttributes()
+    v3.viewNormal = (0.945904, 0.10945, -0.305429)
+    v3.focus = (0, 7.9285, 0)
+    v3.viewUp = (-0.0962433, 0.993666, 0.0580174)
+    v3.viewAngle = 30
+    v3.parallelScale = 24.7409
+    v3.nearPlane = -8
+    v3.farPlane = 49.4817
+    v3.imagePan = (-0.000386251, 0.195232)
+    v3.imageZoom = 17.0743
+    v3.perspective = 1
+    v3.eyeAngle = 2
+    v3.centerOfRotationSet = 0
+    v3.centerOfRotation = (0, 7.9285, 0)
+    SetView3D(v3)
+    Test("nastran4_2")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test5(datapath):
+    db = "Rohr_01.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (0.528785, -0.54024, -0.654619)
+    v.focus = (4308, -300.408, 1264.41)
+    v.viewUp = (0.848128, 0.365992, 0.383052)
+    v.viewAngle = 30
+    v.parallelScale = 80.5714
+    v.nearPlane = -161.143
+    v.farPlane = 161.143
+    v.imagePan = (0.00712918, 0.0383046)
+    v.imageZoom = 1.48788
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (4308, -300.408, 1264.41)
+    SetView3D(v)
+    Test("nastran5_0")
+
+    DeleteActivePlots()
+    AddPseudocolorPlot()
+    Test("nastran5_1")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test6(datapath):
+    db = "BMSP4E.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (0.489205, 0.349064, 0.79927)
+    v.focus = (0, 45.5, 0)
+    v.viewUp = (-0.206708, 0.93671, -0.282569)
+    v.viewAngle = 30
+    v.parallelScale = 87.3806
+    v.nearPlane = -174.761
+    v.farPlane = 174.761
+    v.imagePan = (-0.0102947, 0.0427356)
+    v.imageZoom = 1.29632
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 45.5, 0)
+    SetView3D(v)
+    Test("nastran6_0")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test7(datapath):
+    db = "HAM6D.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (0.470653, -0.53132, 0.704403)
+    v.focus = (23.6, -6.3125, 0)
+    v.viewUp = (0.882043, 0.303259, -0.360602)
+    v.viewAngle = 30
+    v.parallelScale = 74.2944
+    v.nearPlane = -148.589
+    v.farPlane = 148.589
+    v.imagePan = (0.0131053, 0.00691564)
+    v.imageZoom = 1.18535
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (23.6, -6.3125, 0)
+    SetView3D(v)
+    Test("nastran7_0")
+
+    v.viewNormal = (0.347772, 0.646944, -0.678615)
+    v.focus = (23.6, -6.3125, 0)
+    v.viewUp = (0.937573, -0.242724, 0.249084)
+    v.viewAngle = 30
+    v.parallelScale = 74.2944
+    v.nearPlane = -148.589
+    v.farPlane = 148.589
+    v.imagePan = (-0.0229218, 0.0211742)
+    v.imageZoom = 1.18535
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (23.6, -6.3125, 0)
+    SetView3D(v)
+    Test("nastran7_1")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test8(datapath):
+    db = "simpleCQUAD8.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+    Test("nastran8_0")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test9(datapath):
+    db = "simpleQuadSphere.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (0, 0, 1)
+    View3DAtts.focus = (2.88777, -1.45671, -0.629586)
+    View3DAtts.viewUp = (0, 1, 0)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 6.98115
+    View3DAtts.nearPlane = -13.9623
+    View3DAtts.farPlane = 13.9623
+    View3DAtts.imagePan = (0.204513, -0.111237)
+    View3DAtts.imageZoom = 5.50207
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (2.88777, -1.45671, -0.629586)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+    Test("nastran9_0")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test10(datapath):
+    db = "simpleQuadSphereBlock.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (0, 0, 1)
+    View3DAtts.focus = (0, -1.38778, -3.66334)
+    View3DAtts.viewUp = (0, 1, 0)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 12.6655
+    View3DAtts.nearPlane = -25.3309
+    View3DAtts.farPlane = 25.3309
+    View3DAtts.imagePan = (-0.00429799, -0.061086)
+    View3DAtts.imageZoom = 9.89552
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (0, -1.38778, -3.66334)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+    Test("nastran10_0")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test11(datapath):
+    db = "simpleQuadTet.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (0.585895, 0.392177, 0.709172)
+    View3DAtts.focus = (0.5, 0.5, 0.5)
+    View3DAtts.viewUp = (-0.133518, 0.909858, -0.39285)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 0.866025
+    View3DAtts.nearPlane = -1.73205
+    View3DAtts.farPlane = 1.73205
+    View3DAtts.imagePan = (0, 0)
+    View3DAtts.imageZoom = 1
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (0.5, 0.5, 0.5)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+    Test("nastran11_0")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test12(datapath):
+    db = "simpleQuadWedge.nas"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (-0.468638, 0.237166, 0.850959)
+    View3DAtts.focus = (0.5, 0.5, 0.5)
+    View3DAtts.viewUp = (0.128356, 0.971346, -0.20003)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 0.866025
+    View3DAtts.nearPlane = -1.73205
+    View3DAtts.farPlane = 1.73205
+    View3DAtts.imagePan = (0, 0)
+    View3DAtts.imageZoom = 1
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (0.5, 0.5, 0.5)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+    Test("nastran12_0")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def main():
+    # Set the window background color
+    a = GetAnnotationAttributes()
+    a.backgroundMode = a.Solid
+    a.backgroundColor = (180, 180, 180, 255)
+    a.foregroundColor = (255, 255, 255, 255)
+    SetAnnotationAttributes(a)
+
+    DefineScalarExpression("one", "(zoneid(mesh) + 1) / (zoneid(mesh) + 1)")
+
+    datapath = data_path("NASTRAN_test_data")
+    test1(datapath)
+    test2(datapath)
+    test3(datapath)
+    test4(datapath)
+    test5(datapath)
+    test6(datapath)
+    test7(datapath)
+    test8(datapath)
+    test9(datapath)
+    test10(datapath)
+    test11(datapath)
+    test12(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_OpenFOAM.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_OpenFOAM.html new file mode 100644 index 000000000..b4103f290 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_OpenFOAM.html @@ -0,0 +1,210 @@ + +Results for databases/OpenFOAM.py + +

Results of VisIt Regression Test - databases/OpenFOAM

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
OpenFOAM_010.000.00
OpenFOAM_020.000.00
OpenFOAM_030.000.00
OpenFOAM_040.000.00
OpenFOAM_050.000.00
OpenFOAM_060.000.00
OpenFOAM_070.000.00
OpenFOAM_080.000.00
OpenFOAM_090.000.00
OpenFOAM_100.000.00
OpenFOAM_lagrangian_010.000.00
OpenFOAM_lagrangian_020.000.00
OpenFOAM_lagrangian_030.000.00
OpenFOAM_lagrangian_040.000.00
OpenFOAM_lagrangian_050.000.00
OpenFOAM_lagrangian_060.000.00
OpenFOAM_lagrangian_070.000.00
OpenFOAM_MultiRegion_010.000.00
OpenFOAM_MultiRegion_020.000.00
OpenFOAM_MultiRegion_030.000.00
OpenFOAM_MultiRegion_040.000.00
OpenFOAM_MultiRegion_050.000.00
OpenFOAM_MultiRegion_060.000.00
OpenFOAM_Decomposed_010.000.00
OpenFOAM_Decomposed_020.000.00
OpenFOAM_Decomposed_030.000.00
OpenFOAM_ReadZones_010.000.00
OpenFOAM_ReadZones_020.000.00
OpenFOAM_ReadZones_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_OpenFOAM_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_OpenFOAM_py.html new file mode 100644 index 000000000..90d5536d9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_OpenFOAM_py.html @@ -0,0 +1,250 @@ +databases/OpenFOAM.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  OpenFOAM.py
+#
+#  Programmer: Hank Childs
+#  Date:       September 8, 2006
+#
+#  Modifications:
+#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
+#    Changed number of vectors in vector plot to match the old behavior.
+#    (We now account for how many domains there are.)
+#
+#    Kathleen Biagas, Tue Aug 20 14:06:46 PDT 2013
+#    Reader has been updated, default mesh is now 'internalMesh', and
+#    variables need mesh name.
+#
+#    Kathleen Biagas, Wed Aug 28 12:04:03 PDT 2013
+#    Added tests for new data, different Open Options.
+#
+# ----------------------------------------------------------------------------
+
+def OrigTests():
+    OpenDatabase(data_path("OpenFOAM_test_data/bubbleColumn/system/controlDict"))
+
+    AddPlot("Vector", "internalMesh/Ua")
+    v = VectorAttributes()
+    v.nVectors = 400*5
+    SetPlotOptions(v)
+    DrawPlots()
+    Test("OpenFOAM_01")
+
+    TimeSliderNextState()
+    Test("OpenFOAM_02")
+    TimeSliderNextState()
+    Test("OpenFOAM_03")
+
+    AddPlot("Mesh", "internalMesh")
+    DrawPlots()
+    Test("OpenFOAM_04")
+
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "internalMesh/epsilon")
+    DrawPlots()
+    Test("OpenFOAM_05")
+
+    DeleteAllPlots()
+
+    OpenDatabase(data_path("OpenFOAM_test_data/mixer2D_ascii/system/controlDict"))
+
+    AddPlot("Vector", "internalMesh/U")
+    v = VectorAttributes()
+    v.nVectors = 400*6
+    SetPlotOptions(v)
+    DrawPlots()
+    Test("OpenFOAM_06")
+
+    TimeSliderNextState()
+    Test("OpenFOAM_07")
+    TimeSliderNextState()
+    Test("OpenFOAM_08")
+
+    AddPlot("Mesh", "internalMesh")
+    DrawPlots()
+    Test("OpenFOAM_09")
+
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "internalMesh/p")
+    DrawPlots()
+    Test("OpenFOAM_10")
+
+    DeleteAllPlots()
+
+def TestLagrangian():
+    OpenDatabase(data_path("OpenFOAM_test_data/simplifiedSiwek/system/controlDict"))
+    # Point clouds don't exist at timestate 0, so advance by 1.
+    TimeSliderNextState()
+
+    AddPlot("Subset", "internalMesh")
+    subset = SubsetAttributes()
+    subset.wireframe = 1
+    subset.colorType = subset.ColorBySingleColor
+    SetPlotOptions(subset)
+    AddPlot("Mesh", "lagrangian/coalCloud1")
+    coalMesh = MeshAttributes()
+    coalMesh.meshColorSource = coalMesh.MeshCustom
+    coalMesh.meshColor = (255, 0, 0, 255)
+    coalMesh.pointType = coalMesh.Sphere
+    coalMesh.pointSizePixels = 15
+    SetPlotOptions(coalMesh)
+    AddPlot("Mesh", "lagrangian/limestoneCloud1")
+    limestoneMesh = MeshAttributes()
+    limestoneMesh.meshColorSource = limestoneMesh.MeshCustom
+    limestoneMesh.meshColor = (0, 255, 0, 255)
+    limestoneMesh.pointType = limestoneMesh.Sphere
+    limestoneMesh.pointSizePixels = 15
+    SetPlotOptions(limestoneMesh)
+
+    coalCloudText = CreateAnnotationObject("Text2D")
+    coalCloudText.text = "coalCloud1"
+    coalCloudText.height = 0.04
+    coalCloudText.position = (0.4, 0.85)
+    coalCloudText.useForegroundForTextColor = 0
+    coalCloudText.textColor = (255, 0, 0, 255)
+
+    limestoneCloudText = CreateAnnotationObject("Text2D")
+    limestoneCloudText.text = "limestoneCloud1"
+    limestoneCloudText.height = 0.04
+    limestoneCloudText.position = (0.4, 0.75)
+    limestoneCloudText.useForegroundForTextColor = 0
+    limestoneCloudText.textColor = (0, 255, 0, 255)
+
+    slider = CreateAnnotationObject("TimeSlider")
+    slider.position = (0.4, 0.6)
+    slider.width = (0.5)
+    slider.height = (0.1)
+
+    DrawPlots()
+    Test("OpenFOAM_lagrangian_01")
+
+    TimeSliderSetState(4)
+    Test("OpenFOAM_lagrangian_02")
+    TimeSliderSetState(7)
+    Test("OpenFOAM_lagrangian_03")
+    SetActivePlots((1, 2))
+    DeleteActivePlots()
+    TimeSliderSetState(10)
+    AddPlot("Pseudocolor", "lagrangian/coalCloud1/tTurb")
+    pc = PseudocolorAttributes()
+    pc.pointType = pc.Sphere
+    pc.pointSizePixels = 15
+    SetPlotOptions(pc)
+    DrawPlots()
+    coalCloudText.textColor = (0, 0, 0, 255)
+    coalCloudText.text = "coalcloud1/tTurb"
+    limestoneCloudText.visible = 0
+    Test("OpenFOAM_lagrangian_04")
+    TimeSliderSetState(13)
+    Test("OpenFOAM_lagrangian_05")
+    ChangeActivePlotsVar("lagrangian/limestoneCloud1/tTurb")
+    coalCloudText.visible = 0
+    limestoneCloudText.visible = 1
+    limestoneCloudText.textColor = (0, 0, 0, 255)
+    limestoneCloudText.text = "limestoneCloud1/tTurb"
+    Test("OpenFOAM_lagrangian_06")
+    TimeSliderSetState(16)
+    Test("OpenFOAM_lagrangian_07")
+
+    coalCloudText.Delete()
+    limestoneCloudText.Delete()
+    slider.Delete()
+
+    DeleteAllPlots()
+
+def TurnOffSetsByName(silr, cat, names):
+    sets = silr.SetsInCategory(cat)
+    for s in sets:
+        setname = silr.SetName(s)
+        try:
+            if setname in names:
+                silr.TurnOffSet(s)
+        except:
+            if setname == names:
+                silr.TurnOffSet(s)
+
+def TestMultiRegion():
+    OpenDatabase(data_path("OpenFOAM_test_data/snappyMultiRegionHeater/system/controlDict"))
+    AddPlot("Subset", "Region")
+    DrawPlots()
+    Test("OpenFOAM_MultiRegion_01")
+
+    silr = SILRestriction()
+    TurnOffSetsByName(silr, "Region", ("bottomAir, topAir"))
+    SetPlotSILRestriction(silr)
+    Test("OpenFOAM_MultiRegion_02")
+
+    ChangeActivePlotsVar("boundary(Patches)")
+    silr = SILRestriction()
+    silr.TurnOnAll()
+    v = GetView3D()
+    v.viewNormal = (-0.566091, -0.118534, 0.815776)
+    v.viewUp = (0.0223539, 0.987037, 0.15893)
+    SetView3D(v)
+
+    Test("OpenFOAM_MultiRegion_03")
+    TurnDomainsOff(("maxY", "maxZ"))
+    Test("OpenFOAM_MultiRegion_04")
+
+    silr.TurnOnAll()
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "heater/internalMesh/T")
+    v = GetView3D()
+    v.viewNormal = (-1, 0, 0)
+    SetView3D(v)
+    DrawPlots()
+    Test("OpenFOAM_MultiRegion_05")
+    TimeSliderNextState()
+    Test("OpenFOAM_MultiRegion_06")
+    DeleteAllPlots()
+
+def TestDecomposed():
+    opts = GetDefaultFileOpenOptions("OpenFOAM")
+    opts['Case Type'] = 0 #Decomposed
+    opts['Convert Cell Data To Point Data'] = 1
+    SetDefaultFileOpenOptions("OpenFOAM", opts)
+    OpenDatabase(data_path("OpenFOAM_test_data/damBreakFineDecomposed/system/controlDict"))
+    AddPlot("Pseudocolor", "internalMesh/U_magnitude")
+    ResetView()
+    TimeSliderSetState(2)
+    DrawPlots()
+    Test("OpenFOAM_Decomposed_01")
+    TimeSliderSetState(6)
+    Test("OpenFOAM_Decomposed_02")
+    TimeSliderSetState(8)
+    Test("OpenFOAM_Decomposed_03")
+    DeleteAllPlots()
+
+def TestReadZones():
+    opts = GetDefaultFileOpenOptions("OpenFOAM")
+    opts['Case Type'] = 1 #Reconstructed
+    opts['Convert Cell Data To Point Data'] = 0
+    opts['Read Zones'] = 1
+    SetDefaultFileOpenOptions("OpenFOAM", opts)
+    # need a ReOpen because we changed the Open options, and the file
+    # wasn't closed from previous test.
+    ReOpenDatabase(data_path("OpenFOAM_test_data/snappyMultiRegionHeater/system/controlDict"))
+    AddPlot("Mesh", "faceZones")
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (-0.407812, -0.112136, 0.906154)
+    v.viewUp = (0.00527397, 0.992124, 0.125148)
+    SetView3D(v)
+    Test("OpenFOAM_ReadZones_01")
+    ChangeActivePlotsVar("cellZones")
+    Test("OpenFOAM_ReadZones_02")
+    TurnDomainsOff(("topAir", "bottomAir"))
+    Test("OpenFOAM_ReadZones_03")
+    DeleteAllPlots()
+
+OrigTests()
+TestLagrangian()
+TestMultiRegion()
+TestDecomposed()
+TestReadZones()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_PATRAN.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_PATRAN.html new file mode 100644 index 000000000..0ff9d416c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_PATRAN.html @@ -0,0 +1,120 @@ + +Results for databases/PATRAN.py + +

Results of VisIt Regression Test - databases/PATRAN

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
pipe.neu
PATRAN1_00.000.00
PATRAN1_10.000.00
PATRAN1_20.000.00
waterjacket.neu
PATRAN2_00.000.00
PATRAN2_10.000.00
PATRAN2_20.000.00
intake.neu
PATRAN3_00.000.00
PATRAN3_10.000.00
PATRAN3_20.000.00
patout.neu
PATRAN4_00.000.00
PATRAN4_10.000.00
PATRAN4_20.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_PATRAN_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_PATRAN_py.html new file mode 100644 index 000000000..19df104fb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_PATRAN_py.html @@ -0,0 +1,242 @@ +databases/PATRAN.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  PATRAN.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - Mesh
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Jul 29 17:30:33 PST 2005
+#
+#  Notes:      The data for these tests are supposed to be PATRAN versions of
+#              some of the data in the NASTRAN tests.
+#
+#  Modifications:
+#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
+#    Replace use of meshatts 'foregroundFlag' and 'backgroundFlag' with
+#    meshColorSource and opaqueColorSource.
+#
+# ----------------------------------------------------------------------------
+
+def AddMeshPlot():
+    AddPlot("Mesh", "mesh")
+    m = MeshAttributes()
+    m.legendFlag = 0
+    m.opaqueColor = (153, 204, 255, 255)
+    m.opaqueColorSource = m.OpaqueCustom
+    m.meshColorSource =  m.MeshCustom
+    m.meshColor = (0,0,0,255)
+    TurnMaterialsOff("default")
+    SetPlotOptions(m)
+
+def AddPseudocolorPlot():
+    AddPlot("Pseudocolor", "one")
+    p = PseudocolorAttributes()
+    p.colorTableName = "rainbow"
+    p.SetOpacityType(p.Constant)
+    p.opacity = 0.2
+    SetPlotOptions(p)
+    TurnMaterialsOff("default")
+    DrawPlots()
+
+def test1(datapath):
+    db = "pipe.neu"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.786306, 0.379526, 0.487527)
+    v.focus = (0.149902, 0.212562, 0.124929)
+    v.viewUp = (0.316186, 0.925114, -0.210215)
+    v.viewAngle = 30
+    v.parallelScale = 0.585963
+    v.nearPlane = -1.17193
+    v.farPlane = 1.17193
+    v.imagePan = (0.0173275, 0.033058)
+    v.imageZoom = 1.45734
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.149902, 0.212562, 0.124929)
+    SetView3D(v)
+    Test("PATRAN1_0")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.786306, 0.379526, 0.487527)
+    v2.focus = (0.149902, 0.212562, 0.124929)
+    v2.viewUp = (0.316186, 0.925114, -0.210215)
+    v2.viewAngle = 30
+    v2.parallelScale = 0.585963
+    v2.nearPlane = -1.17193
+    v2.farPlane = 1.17193
+    v2.imagePan = (-0.108127, 0.0971661)
+    v2.imageZoom = 6.92887
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0.149902, 0.212562, 0.124929)
+    SetView3D(v2)
+    Test("PATRAN1_1")
+
+    DeleteActivePlots()
+    AddPseudocolorPlot()
+    SetView3D(v)
+    Test("PATRAN1_2")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test2(datapath):
+    db = "waterjacket.neu"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.65317, -0.673371, 0.346324)
+    v.focus = (0.03, -0.03, -0.1125)
+    v.viewUp = (0.225064, 0.264053, 0.937882)
+    v.viewAngle = 30
+    v.parallelScale = 0.289925
+    v.nearPlane = -0.579849
+    v.farPlane = 0.579849
+    v.imagePan = (0.0984407, 0.0467479)
+    v.imageZoom = 1.40003
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.03, -0.03, -0.1125)
+    SetView3D(v)
+    Test("PATRAN2_0")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.65317, -0.673371, 0.346324)
+    v2.focus = (0.03, -0.03, -0.1125)
+    v2.viewUp = (0.225064, 0.264053, 0.937882)
+    v2.viewAngle = 30
+    v2.parallelScale = 0.289925
+    v2.nearPlane = -0.579849
+    v2.farPlane = 0.579849
+    v2.imagePan = (0.100347, 0.0410472)
+    v2.imageZoom = 7.7658
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0.03, -0.03, -0.1125)
+    SetView3D(v2)
+    Test("PATRAN2_1")
+
+    DeleteActivePlots()
+    AddPseudocolorPlot()
+    SetView3D(v)
+    Test("PATRAN2_2")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test3(datapath):
+    db = "intake.neu"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddMeshPlot()
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.61876, 0.311053, -0.721375)
+    v.focus = (0, 0.011, -0.0935)
+    v.viewUp = (0.208418, 0.950364, 0.231021)
+    v.viewAngle = 30
+    v.parallelScale = 0.198752
+    v.nearPlane = -0.397503
+    v.farPlane = 0.397503
+    v.imagePan = (0.0151275, 0.00167627)
+    v.imageZoom = 1.43299
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0.011, -0.0935)
+    SetView3D(v)
+    Test("PATRAN3_0")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.61876, 0.311053, -0.721375)
+    v2.focus = (0, 0.011, -0.0935)
+    v2.viewUp = (0.208418, 0.950364, 0.231021)
+    v2.viewAngle = 30
+    v2.parallelScale = 0.198752
+    v2.nearPlane = -0.397503
+    v2.farPlane = 0.397503
+    v2.imagePan = (-0.101283, 0.0396808)
+    v2.imageZoom = 6.28038
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0, 0.011, -0.0935)
+    SetView3D(v2)
+    Test("PATRAN3_1")
+
+    DeleteActivePlots()
+    AddPseudocolorPlot()
+    SetView3D(v)
+    Test("PATRAN3_2")
+
+    DeleteActivePlots()
+    CloseDatabase(pjoin(datapath,db))
+
+def test4(datapath):
+    db = "patout.neu"
+    TestSection(db)
+    OpenDatabase(pjoin(datapath,db))
+    AddPlot("FilledBoundary", "named_components")
+    f = FilledBoundaryAttributes()
+    f.legendFlag = 0
+    SetPlotOptions(f)
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.765801, 0.0434351, -0.641609)
+    v.focus = (-3175.88, -94.6135, -37.6065)
+    v.viewUp = (0.625813, -0.179298, -0.759085)
+    v.viewAngle = 30
+    v.parallelScale = 3328.81
+    v.nearPlane = -6657.62
+    v.farPlane = 6657.62
+    v.imagePan = (-0.0688128, -0.239564)
+    v.imageZoom = 92.5361
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (-3175.88, -94.6135, -37.6065)
+    SetView3D(v)
+    Test("PATRAN4_0")
+
+    DeleteActivePlots()
+    AddPlot("Pseudocolor", "elementMats")
+    DrawPlots()
+    Test("PATRAN4_1")
+
+    ChangeActivePlotsVar("elementIds")
+    Test("PATRAN4_2")
+
+def main():
+    # Set the window background color
+    a = GetAnnotationAttributes()
+    a.backgroundMode = a.Solid
+    a.backgroundColor = (180, 180, 180, 255)
+    a.foregroundColor = (255, 255, 255, 255)
+    SetAnnotationAttributes(a)
+
+    DefineScalarExpression("one", "(zoneid(mesh) + 1) / (zoneid(mesh) + 1)")
+    datapath = data_path("PATRAN_test_data")
+    test1(datapath)
+    test2(datapath)
+    test3(datapath)
+    test4(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_PLOT3D.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_PLOT3D.html new file mode 100644 index 000000000..1c3d89b89 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_PLOT3D.html @@ -0,0 +1,650 @@ + +Results for databases/PLOT3D.py + +

Results of VisIt Regression Test - databases/PLOT3D

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Open using MetaFile .vp3d
bluntfin_Density_010.000.00
bluntfin_InternalEnergy_010.000.00
bluntfin_Momentum_010.000.00
bluntfin_subsetDomains_010.000.00
deltawing_Density_010.000.00
deltawing_InternalEnergy_010.000.00
deltawing_Momentum_010.000.00
deltawing_subsetDomains_010.000.00
post_Density_010.000.00
post_InternalEnergy_010.000.00
post_Momentum_010.000.00
post_subsetDomains_010.000.00
sslv_Density_010.000.00
sslv_InternalEnergy_010.000.00
sslv_Momentum_010.000.00
sslv_subsetDomains_010.000.00
wbt_Density_010.000.00
wbt_InternalEnergy_010.000.00
wbt_Momentum_010.000.00
wbt_subsetDomains_010.000.00
Open using gridfile and Open Options
bluntfin_Density_020.000.00
bluntfin_InternalEnergy_020.000.00
bluntfin_Pressure_020.000.00
bluntfin_Temperature_020.000.00
bluntfin_Enthalpy_020.000.00
bluntfin_StagnationEnergy_020.000.00
bluntfin_Entropy_020.000.00
bluntfin_Swirl_020.000.00
bluntfin_Momentum_020.000.00
bluntfin_Velocity_020.000.00
bluntfin_Vorticity_020.000.00
bluntfin_PressureGradient_020.000.00
bluntfin_StrainRate_020.000.00
bluntfin_subsetDomains_020.000.00
deltawing_Density_020.000.00
deltawing_InternalEnergy_020.000.00
deltawing_Pressure_020.000.00
deltawing_Temperature_020.000.00
deltawing_Enthalpy_020.000.00
deltawing_StagnationEnergy_020.000.00
deltawing_Entropy_020.000.00
deltawing_Swirl_020.000.00
deltawing_Momentum_020.000.00
deltawing_Velocity_020.000.00
deltawing_Vorticity_020.000.00
deltawing_PressureGradient_020.000.00
deltawing_StrainRate_020.000.00
deltawing_subsetDomains_020.000.00
post_Density_020.000.00
post_InternalEnergy_020.000.00
post_Pressure_020.000.00
post_Temperature_020.000.00
post_Enthalpy_020.000.00
post_StagnationEnergy_020.000.00
post_Entropy_020.000.00
post_Swirl_020.000.00
post_Momentum_020.000.00
post_Velocity_020.000.00
post_Vorticity_020.000.00
post_PressureGradient_020.000.00
post_StrainRate_020.000.00
post_subsetDomains_020.000.00
sslv_Density_020.000.00
sslv_InternalEnergy_020.000.00
sslv_Pressure_020.000.00
sslv_Temperature_020.000.00
sslv_Enthalpy_020.000.00
sslv_StagnationEnergy_020.000.00
sslv_Entropy_020.000.00
sslv_Swirl_020.000.00
sslv_Momentum_020.000.00
sslv_Velocity_020.000.00
sslv_Vorticity_020.000.00
sslv_PressureGradient_020.000.00
sslv_StrainRate_020.000.00
sslv_subsetDomains_020.000.00
wbt_Density_020.000.00
wbt_InternalEnergy_020.000.00
wbt_Pressure_020.000.00
wbt_Temperature_020.000.00
wbt_Enthalpy_020.000.00
wbt_StagnationEnergy_020.000.00
wbt_Entropy_020.000.00
wbt_Swirl_020.000.00
wbt_Momentum_020.000.00
wbt_Velocity_020.000.00
wbt_Vorticity_020.000.00
wbt_PressureGradient_020.000.00
wbt_StrainRate_020.000.00
wbt_subsetDomains_020.000.00
Time Series with meta file
plot3d_timeseries_10 modifications totalling 0 lines
plot3d_timeseries_1_1200.00.000.00
plot3d_timeseries_1_1220.00.000.00
plot3d_timeseries_1_1240.00.000.00
plot3d_timeseries_1_1300.00.000.00
plot3d_timeseries_1_1320.00.000.00
plot3d_timeseries_1_1340.00.000.00
Time series via Read Options
plot3d_timeseries_20 modifications totalling 0 lines
plot3d_timeseries_2_1230.00.000.00
plot3d_timeseries_2_1330.00.000.00
wnb020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_PLOT3D_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_PLOT3D_py.html new file mode 100644 index 000000000..97e6939e5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_PLOT3D_py.html @@ -0,0 +1,217 @@ +databases/PLOT3D.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#  LIMIT: 1500
+#  Test Case:  PLOT3D.py 
+#
+#  Programmer: Kathleen Biagas
+#  Date:       Sep 5, 2014
+#
+#  Modifications:
+#    Kathleen Biagas, Wed Aug 26 09:21:15 PDT 2015
+#    Removed Magnitude scalars, no longer provided by reader since VisIt
+#    already automatically creates vector magnitude expressions.
+#    Added tests for time-series.
+#
+# ----------------------------------------------------------------------------
+
+
+def BasicTest(testName, testNum):
+    # These are the scalars and vectors from the solution file
+    scalars = ["Density", "InternalEnergy"]
+    vectors = ["Momentum"]
+
+    # These are all the reader-calculated scalars and vectors
+    computedScalars = ["Pressure", "Temperature", "Enthalpy",
+                       "StagnationEnergy", "Entropy", "Swirl" ]
+    computedVectors = ["Velocity", "Vorticity", "PressureGradient",
+                        "StrainRate"]
+
+    AddPlot("Mesh", "mesh")
+    AddPlot("Pseudocolor", scalars[0])
+    DrawPlots()
+    Test("%s_%s_%02d"%(testName,scalars[0],testNum))
+    for s in scalars[1:]:
+        ChangeActivePlotsVar(s)
+        DrawPlots()
+        Test("%s_%s_%02d"%(testName,s,testNum))
+
+    if testNum == 2:
+        for s in computedScalars:
+            ChangeActivePlotsVar(s)
+            DrawPlots()
+            Test("%s_%s_%02d"%(testName,s,testNum))
+
+    DeleteAllPlots()
+
+    AddPlot("Vector", vectors[0])
+    vecAtts = VectorAttributes()
+    vecAtts.scale = 0.5
+    vecAtts.useStride = 1
+    SetPlotOptions(vecAtts)
+    DrawPlots()
+    Test("%s_%s_%02d"%(testName,vectors[0],testNum))
+
+    if testNum == 2:
+        for v in computedVectors:
+            ChangeActivePlotsVar(v)
+            DrawPlots()
+            Test("%s_%s_%02d"%(testName,v,testNum))
+
+    DeleteAllPlots()
+    AddPlot("Subset", "domains")
+    DrawPlots()
+    Test("%s_subsetDomains_%02d"%(testName,testNum))
+
+    DeleteAllPlots()
+
+# Open using the MetaFile .vp3d
+def TestMetaOpen(metaFile, testName, testStart):
+    OpenDatabase(data_path("PLOT3D_test_data/%s"%metaFile))
+    BasicTest(testName, testStart)
+    CloseDatabase(data_path("PLOT3D_test_data/%s"%metaFile))
+
+# Open using the grid file and openOptions
+def TestOpenOptions(gridFile, testname, options, testStart):
+    if len(options)> 0:
+        # Grab the default options
+        opts = GetDefaultFileOpenOptions("PLOT3D")
+        # Set the passed options
+        for k,v in options.items():
+            if k in list(opts.keys()):
+                opts[k] = v
+        SetDefaultFileOpenOptions("PLOT3D", opts)
+    OpenDatabase(data_path("PLOT3D_test_data/%s"%gridFile),0, "PLOT3D_1.0")
+    BasicTest(testname, testStart)
+    CloseDatabase(data_path("PLOT3D_test_data/%s"%gridFile))
+
+# names: [dir,  vp3dname, gridname, testname, openOptions]
+names = [
+    ["BluntFin", "blunt.vp3d", "blunt.x", "bluntfin", {}],
+    ["DeltaWing", "delta-40.vp3d", "delta-40.x", "deltawing", {}],
+    ["LiquidOxygenPost", "post.vp3d", "post.x", "post", {}],
+    ["SpaceShuttleLaunchVehicle", "sslv.vp3d", "grid", "sslv",
+        {"Multi Grid": 1, "IBlanking":1, "Use IBlanking If Present": 1, "Solution (Q) File Name":"solution"}],
+    ["WingBodyTail", "wbt.vp3d", "wbtg.bin", "wbt",
+        {"Solution (Q) File Name":"wbtr.bin",
+        "Multi Grid":1,
+        "IBlanking":1,
+        "Use IBlanking If Present": 0,
+        "File Format":1,
+        "Big Endian":1,
+        "Double Precision":0,
+        "3D":1}],
+]
+
+def TestTimeSeries():
+    TestSection("Time Series with meta file")
+    SetCreateMeshQualityExpressions(0)
+    SetCreateTimeDerivativeExpressions(0)
+    SetCreateVectorMagnitudeExpressions(0)
+    #SetViewExtentsType("actual")
+    OpenDatabase(data_path("PLOT3D_test_data/BluntFin/blunt_timeseries.vp3d"))
+    md = GetMetaData(data_path("PLOT3D_test_data/BluntFin/blunt_timeseries.vp3d"))
+    TestText("plot3d_timeseries_1", str(md))
+
+    DefineScalarExpression("TD", "time(mesh) * Density")
+    AddPlot("Pseudocolor", "TD")
+    AddOperator("Isovolume")
+    isoAtts = IsovolumeAttributes()
+    isoAtts.lbound = 2000
+    SetOperatorOptions(isoAtts)
+    DrawPlots()
+
+    #v = GetView3D()
+    #v.viewNormal = (0, -1, 6.12323e-17)
+    #v.focus = (3.32801, -0.103006, 16.13)
+    #v.viewUp = (0, 6.12323e-17, 1)
+    #SetView3D(v)
+
+    #  step through time
+    for t in range(0, TimeSliderGetNStates(),2):
+        SetTimeSliderState(t)
+        Query("Time")
+        Test("plot3d_timeseries_1_%s" % GetQueryOutputValue())
+
+    DeleteAllPlots()
+
+    CloseDatabase(data_path("PLOT3D_test_data/BluntFin/blunt_timeseries.vp3d"))
+
+    TestSection("Time series via Read Options")
+
+    # specify sub-selection of time slices.
+    opts = {"Solution (Q) File Name" : r"TimeSeries/blunt_??3?.q",
+            "Solution Time field accurate": 0}
+    SetDefaultFileOpenOptions("PLOT3D", opts)
+
+    OpenDatabase(data_path("PLOT3D_test_data/BluntFin/blunt.x"), 0, "PLOT3D_1.0")
+    md = GetMetaData(data_path("PLOT3D_test_data/BluntFin/blunt.x"))
+    TestText("plot3d_timeseries_2", str(md))
+
+    AddPlot("Pseudocolor", "TD")
+    AddOperator("Isovolume")
+    SetOperatorOptions(isoAtts)
+    DrawPlots()
+
+    #SetView3D(v)
+
+    #  step through time
+    for t in range(0, TimeSliderGetNStates()):
+        SetTimeSliderState(t)
+        Query("Time")
+        Test("plot3d_timeseries_2_%s" % GetQueryOutputValue())
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("PLOT3D_test_data/BluntFin/blunt.x"))
+
+def BasicTests():
+    TestSection("Open using MetaFile .vp3d")
+    for f in names:
+        # test opening meta file
+        TestMetaOpen("%s/%s"%(f[0],f[1]), f[3], 1)
+
+    TestSection("Open using gridfile and Open Options")
+    # save true defaults for resetting
+    opts = GetDefaultFileOpenOptions("PLOT3D")
+    for f in names:
+        # test opening grid file, possibly using OpenOptions
+        TestOpenOptions("%s/%s"%(f[0],f[2]), f[3], f[4], 2)
+    # reset to true defaults
+    SetDefaultFileOpenOptions("PLOT3D", opts)
+
+def TestIBlanking():
+    # Custom tests with specific views:
+    OpenDatabase(data_path("PLOT3D_test_data/WingNoBody/wnb.vp3d"))
+    AddPlot("Mesh", "mesh")
+    DrawPlots()
+
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (-0.489596, 0.871773, 0.0175216)
+    View3DAtts.focus = (1.5, -3.00142, 0)
+    View3DAtts.viewUp = (-0.0396695, -0.00219579, -0.99921)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 11.0231
+    View3DAtts.nearPlane = -22.0462
+    View3DAtts.farPlane = 22.0462
+    View3DAtts.imagePan = (-0.0355573, -0.00323714)
+    View3DAtts.imageZoom = 66.2641
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (1.5, -3.00142, 0)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+    DrawPlots()
+    Test("wnb02")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("PLOT3D_test_data/WingNoBody/wnb.vp3d"))
+
+BasicTests()
+TestTimeSeries()
+TestIBlanking()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_ProteinDataBank.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_ProteinDataBank.html new file mode 100644 index 000000000..9a98e6347 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_ProteinDataBank.html @@ -0,0 +1,252 @@ + +Results for databases/ProteinDataBank.py + +

Results of VisIt Regression Test - databases/ProteinDataBank

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Testing Rattlesnake venom
proteindb_0_000.000.00
proteindb_0_010.000.00
proteindb_0_020.000.00
proteindb_0_030.000.00
proteindb_0_040.000.00
proteindb_0_050.000.00
proteindb_0_060.000.00
proteindb_0_070.000.00
Testing small DNA
proteindb_1_000.000.00
proteindb_1_010.000.00
proteindb_1_020.000.00
proteindb_1_030.000.00
proteindb_1_040.000.00
proteindb_1_050.000.00
proteindb_1_060.000.00
proteindb_1_070.000.00
Testing insulin
proteindb_2_000.000.00
proteindb_2_010.000.00
proteindb_2_020.000.00
proteindb_2_030.000.00
proteindb_2_040.000.00
proteindb_2_050.000.00
proteindb_2_060.000.00
proteindb_2_070.000.00
Testing Black Mamba venom
proteindb_3_000.000.00
proteindb_3_010.000.00
proteindb_3_020.000.00
proteindb_3_030.000.00
proteindb_3_040.000.00
proteindb_3_050.000.00
proteindb_3_060.000.00
proteindb_3_070.000.00
proteindb_3_080.000.00
proteindb_3_090.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_ProteinDataBank_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_ProteinDataBank_py.html new file mode 100644 index 000000000..841ea75bd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_ProteinDataBank_py.html @@ -0,0 +1,366 @@ +databases/ProteinDataBank.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ProteinDataBank.py
+#
+#  Tests:      mesh      - 3D points
+#              plots     - Molecule
+#
+#  Programmer: Brad Whitlock
+#  Date:       Tue Mar 28 15:46:53 PST 2006
+#
+#  Modifications:
+#    Jeremy Meredith, Tue Aug 29 13:23:30 EDT 2006
+#    ProteinDataBank files now have models as directories, not time steps.
+#
+#    Brad Whitlock, Thu Mar 12 11:04:32 PDT 2009
+#    I restructured the test into functions.
+#
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Replace obsolete Label text attributes with new versions.
+#
+# ----------------------------------------------------------------------------
+
+def LabelTest(testname, var, zoomview):
+    AddPlot("Label", var)
+    LabelAtts = LabelAttributes()
+    LabelAtts.legendFlag = 1
+    LabelAtts.showNodes = 0
+    LabelAtts.showCells = 1
+    LabelAtts.restrictNumberOfLabels = 0
+    LabelAtts.drawLabelsFacing = LabelAtts.Front  # Front, Back, FrontAndBack
+    LabelAtts.labelDisplayFormat = LabelAtts.Natural  # Natural, LogicalIndex, Index
+    LabelAtts.numberOfLabels = 200
+    LabelAtts.textFont1.useForegroundColor = 0
+    LabelAtts.textFont1.color = (0, 255, 0, 255)
+    LabelAtts.textFont1.scale = 5
+    LabelAtts.textFont2.useForegroundColor = 1
+    LabelAtts.textFont2.color = (0, 0, 255, 0)
+    LabelAtts.textFont2.scale = 4
+    LabelAtts.horizontalJustification = LabelAtts.HCenter  # HCenter, Left, Right
+    LabelAtts.verticalJustification = LabelAtts.VCenter  # VCenter, Top, Bottom
+    LabelAtts.depthTestMode = LabelAtts.LABEL_DT_AUTO  # LABEL_DT_AUTO, LABEL_DT_ALWAYS, LABEL_DT_NEVER
+    SetPlotOptions(LabelAtts)
+    DrawPlots()
+    oldview = GetView3D()
+    SetView3D(zoomview)
+    # Save these images somewhat larger than a regular test case image
+    # since the images contain a lot of text.
+#    swa = SaveWindowAttributes()
+#    swa.width = 500
+#    swa.height = 500
+#    swa.screenCapture = 0
+#    Test(testname, swa)
+    Test(testname)
+    DeleteActivePlots()
+    SetView3D(oldview)
+
+
+def AddMoleculePlot(db, var):
+    OpenDatabase(db)
+    AddPlot("Molecule", var)
+
+    MoleculeAtts = MoleculeAttributes()
+    MoleculeAtts.drawAtomsAs = MoleculeAtts.SphereAtoms  # NoAtoms, SphereAtoms, ImposterAtoms
+    MoleculeAtts.scaleRadiusBy = MoleculeAtts.Fixed  # Fixed, Covalent, Atomic, Variable
+    MoleculeAtts.drawBondsAs = MoleculeAtts.CylinderBonds  # NoBonds, LineBonds, CylinderBonds
+    MoleculeAtts.colorBonds = MoleculeAtts.ColorByAtom  # ColorByAtom, SingleColor
+    MoleculeAtts.bondSingleColor = (128, 128, 128, 255)
+    MoleculeAtts.radiusVariable = "default"
+    MoleculeAtts.radiusScaleFactor = 1
+    MoleculeAtts.radiusFixed = 0.4
+    MoleculeAtts.atomSphereQuality = MoleculeAtts.Medium  # Low, Medium, High, Super
+    MoleculeAtts.bondCylinderQuality = MoleculeAtts.Medium  # Low, Medium, High, Super
+    MoleculeAtts.bondRadius = 0.12
+    MoleculeAtts.bondLineWidth = 0
+    MoleculeAtts.elementColorTable = "cpk_jmol"
+    MoleculeAtts.residueTypeColorTable = "amino_shapely"
+    MoleculeAtts.residueSequenceColorTable = "Default"
+    MoleculeAtts.continuousColorTable = "Default"
+    MoleculeAtts.legendFlag = 1
+    MoleculeAtts.minFlag = 0
+    MoleculeAtts.scalarMin = 0
+    MoleculeAtts.maxFlag = 0
+    MoleculeAtts.scalarMax = 1
+    SetPlotOptions(MoleculeAtts)
+    DrawPlots()
+
+
+def test0():
+    TestSection("Testing Rattlesnake venom")
+    AddMoleculePlot(data_path("ProteinDataBank_test_data/crotamine.pdb"), "element")
+
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.967329, 0.252251, -0.0253765)
+    v0.focus = (31.726, -54.1675, 13.645)
+    v0.viewUp = (0.252129, 0.967661, 0.0079404)
+    v0.viewAngle = 30
+    v0.parallelScale = 24.9831
+    v0.nearPlane = -49.9661
+    v0.farPlane = 49.9661
+    v0.imagePan = (0, 0)
+    v0.imageZoom = 1.44471
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (31.726, -54.1675, 13.645)
+    SetView3D(v0)
+
+    v0zoom = View3DAttributes()
+    v0zoom.viewNormal = (-0.967329, 0.252251, -0.0253765)
+    v0zoom.focus = (31.726, -54.1675, 13.645)
+    v0zoom.viewUp = (0.252129, 0.967661, 0.0079404)
+    v0zoom.viewAngle = 30
+    v0zoom.parallelScale = 24.9831
+    v0zoom.nearPlane = -49.9661
+    v0zoom.farPlane = 49.9661
+    v0zoom.imagePan = (0, 0)
+    v0zoom.imageZoom = 7.15293
+    v0zoom.perspective = 1
+    v0zoom.eyeAngle = 2
+    v0zoom.centerOfRotationSet = 0
+    v0zoom.centerOfRotation = (31.726, -54.1675, 13.645)
+
+    Test("proteindb_0_00")
+    LabelTest("proteindb_0_01", "elementname", v0zoom)
+
+    ChangeActivePlotsVar("resseq")
+    Test("proteindb_0_02")
+    LabelTest("proteindb_0_03", "resseq", v0zoom)
+
+    ChangeActivePlotsVar("backbone")
+    Test("proteindb_0_04")
+
+    ChangeActivePlotsVar("restype")
+    Test("proteindb_0_05")
+    LabelTest("proteindb_0_06", "resname", v0zoom)
+
+    LabelTest("proteindb_0_07", "longresname", v0zoom)
+    DeleteAllPlots()
+
+
+def test1():
+    TestSection("Testing small DNA")
+    AddMoleculePlot(data_path("ProteinDataBank_test_data/1NTS.pdb"), "element")
+
+    v1 = View3DAttributes()
+    v1.viewNormal = (-0.320353, 0.944248, 0.075961)
+    v1.focus = (-0.0580001, 0.0915003, 0.3815)
+    v1.viewUp = (0.342959, 0.190354, -0.919861)
+    v1.viewAngle = 30
+    v1.parallelScale = 22.575
+    v1.nearPlane = -45.1501
+    v1.farPlane = 45.1501
+    v1.imagePan = (-0.0021177, -0.0481532)
+    v1.imageZoom = 1.27797
+    v1.perspective = 1
+    v1.eyeAngle = 2
+    v1.centerOfRotationSet = 0
+    v1.centerOfRotation = (-0.0580001, 0.0915003, 0.3815)
+    SetView3D(v1)
+
+    v1zoom = View3DAttributes()
+    v1zoom.viewNormal = (-0.320353, 0.944248, 0.075961)
+    v1zoom.focus = (-0.0580001, 0.0915003, 0.3815)
+    v1zoom.viewUp = (0.342959, 0.190354, -0.919861)
+    v1zoom.viewAngle = 30
+    v1zoom.parallelScale = 22.575
+    v1zoom.nearPlane = -45.1501
+    v1zoom.farPlane = 45.1501
+    v1zoom.imagePan = (-0.00906313, 0.0442979)
+    v1zoom.imageZoom = 6.4294
+    v1zoom.perspective = 1
+    v1zoom.eyeAngle = 2
+    v1zoom.centerOfRotationSet = 0
+    v1zoom.centerOfRotation = (-0.0580001, 0.0915003, 0.3815)
+
+    Test("proteindb_1_00")
+    LabelTest("proteindb_1_01", "elementname", v1zoom)
+
+    ChangeActivePlotsVar("resseq")
+    Test("proteindb_1_02")
+    LabelTest("proteindb_1_03", "resseq", v1zoom)
+
+    ChangeActivePlotsVar("backbone")
+    Test("proteindb_1_04")
+
+    ChangeActivePlotsVar("restype")
+    Test("proteindb_1_05")
+    LabelTest("proteindb_1_06", "resname", v1zoom)
+
+    LabelTest("proteindb_1_07", "longresname", v1zoom)
+    DeleteAllPlots()
+
+
+def test2():
+    TestSection("Testing insulin")
+    AddMoleculePlot(data_path("ProteinDataBank_test_data/1UZ9.pdb"), "element")
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (0.215329, 0.245957, 0.94506)
+    v2.focus = (23.441, 26.835, 23.6865)
+    v2.viewUp = (-0.351063, 0.922561, -0.160113)
+    v2.viewAngle = 30
+    v2.parallelScale = 29.1931
+    v2.nearPlane = -58.3862
+    v2.farPlane = 58.3862
+    v2.imagePan = (0.0260607, 0.00408113)
+    v2.imageZoom = 1.8463
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (23.441, 26.835, 23.6865)
+    SetView3D(v2)
+
+    v2zoom = View3DAttributes()
+    v2zoom.viewNormal = (0.685414, 0.259247, 0.68044)
+    v2zoom.focus = (23.441, 26.835, 23.6865)
+    v2zoom.viewUp = (0.700183, 0.02186, -0.713629)
+    v2zoom.viewAngle = 30
+    v2zoom.parallelScale = 29.1931
+    v2zoom.nearPlane = -58.3862
+    v2zoom.farPlane = 58.3862
+    v2zoom.imagePan = (-0.0257104, -0.00810227)
+    v2zoom.imageZoom = 10.3892
+    v2zoom.perspective = 1
+    v2zoom.eyeAngle = 2
+    v2zoom.centerOfRotationSet = 0
+    v2zoom.centerOfRotation = (23.441, 26.835, 23.6865)
+
+    Test("proteindb_2_00")
+    LabelTest("proteindb_2_01", "elementname", v2zoom)
+
+    ChangeActivePlotsVar("resseq")
+    Test("proteindb_2_02")
+    LabelTest("proteindb_2_03", "resseq", v2zoom)
+
+    ChangeActivePlotsVar("backbone")
+    Test("proteindb_2_04")
+
+    ChangeActivePlotsVar("restype")
+    Test("proteindb_2_05")
+    LabelTest("proteindb_2_06", "resname", v2zoom)
+
+    LabelTest("proteindb_2_07", "longresname", v2zoom)
+    DeleteAllPlots()
+
+
+def test3():
+    TestSection("Testing Black Mamba venom")
+    AddMoleculePlot(data_path("ProteinDataBank_test_data/1TFS.pdb"), "element")
+
+    v3 = View3DAttributes()
+    v3.viewNormal = (-0.242177, -0.689536, 0.682562)
+    v3.focus = (-1.73, -1.927, -0.202)
+    v3.viewUp = (0.243612, 0.637752, 0.730702)
+    v3.viewAngle = 30
+    v3.parallelScale = 25.6826
+    v3.nearPlane = -51.3652
+    v3.farPlane = 51.3652
+    v3.imagePan = (0.0337528, -0.0400135)
+    v3.imageZoom = 1.49054
+    v3.perspective = 1
+    v3.eyeAngle = 2
+    v3.centerOfRotationSet = 0
+    v3.centerOfRotation = (-1.73, -1.927, -0.202)
+    SetView3D(v3)
+
+    v3zoom = View3DAttributes()
+    v3zoom.viewNormal = (-0.558032, -0.716666, 0.418318)
+    v3zoom.focus = (-1.73, -1.927, -0.202)
+    v3zoom.viewUp = (0.120358, 0.428875, 0.89531)
+    v3zoom.viewAngle = 30
+    v3zoom.parallelScale = 25.6826
+    v3zoom.nearPlane = -51.3652
+    v3zoom.farPlane = 51.3652
+    v3zoom.imagePan = (0.0337528, -0.0400135)
+    v3zoom.imageZoom = 8.39928
+    v3zoom.perspective = 1
+    v3zoom.eyeAngle = 2
+    v3zoom.centerOfRotationSet = 0
+    v3zoom.centerOfRotation = (-1.73, -1.927, -0.202)
+
+    Test("proteindb_3_00")
+    LabelTest("proteindb_3_01", "elementname", v3zoom)
+
+    ChangeActivePlotsVar("resseq")
+    Test("proteindb_3_02")
+    LabelTest("proteindb_3_03", "resseq", v3zoom)
+
+    ChangeActivePlotsVar("backbone")
+    Test("proteindb_3_04")
+
+    ChangeActivePlotsVar("restype")
+    Test("proteindb_3_05")
+    LabelTest("proteindb_3_06", "resname", v3zoom)
+
+    LabelTest("proteindb_3_07", "longresname", v3zoom)
+
+    # Make sure that there are multiple models in the file.
+    ChangeActivePlotsVar("element")
+    ChangeActivePlotsVar("models/model_09/element")
+    Test("proteindb_3_08")
+    ChangeActivePlotsVar("models/model_19/element")
+    Test("proteindb_3_09")
+    DeleteAllPlots()
+
+# NOTE: This test is not enabled because it fails. It needs baselines too.
+def test4():
+    TestSection("Testing file replacement with ProteinDataBank files")
+    AddMoleculePlot(data_path("ProteinDataBank_test_data/crotamine.pdb"), "element")
+
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.967329, 0.252251, -0.0253765)
+    v0.focus = (31.726, -54.1675, 13.645)
+    v0.viewUp = (0.252129, 0.967661, 0.0079404)
+    v0.viewAngle = 30
+    v0.parallelScale = 24.9831
+    v0.nearPlane = -49.9661
+    v0.farPlane = 49.9661
+    v0.imagePan = (0, 0)
+    v0.imageZoom = 1.44471
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (31.726, -54.1675, 13.645)
+    SetView3D(v0)
+    Test("proteindb_4_00")
+    ReplaceDatabase(data_path("ProteinDataBank_test_data/1UZ9.pdb"))
+
+    v1 = View3DAttributes()
+    v1.viewNormal = (-0.320353, 0.944248, 0.075961)
+    v1.focus = (-0.0580001, 0.0915003, 0.3815)
+    v1.viewUp = (0.342959, 0.190354, -0.919861)
+    v1.viewAngle = 30
+    v1.parallelScale = 22.575
+    v1.nearPlane = -45.1501
+    v1.farPlane = 45.1501
+    v1.imagePan = (-0.0021177, -0.0481532)
+    v1.imageZoom = 1.27797
+    v1.perspective = 1
+    v1.eyeAngle = 2
+    v1.centerOfRotationSet = 0
+    v1.centerOfRotation = (-0.0580001, 0.0915003, 0.3815)
+    SetView3D(v1)
+    Test("proteindb_4_01")
+
+
+def main():
+    # Set the window background color
+    a = GetAnnotationAttributes()
+    a.backgroundMode = a.Solid
+    a.foregroundColor = (0, 0, 0, 255)
+    a.backgroundColor = (255, 255, 255, 255)
+    a.databaseInfoFlag = 0
+    SetAnnotationAttributes(a)
+
+    # Call the tests
+    test0()
+    test1()
+    test2()
+    test3()
+    #test4()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_RAW.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_RAW.html new file mode 100644 index 000000000..9aed9f055 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_RAW.html @@ -0,0 +1,57 @@ + +Results for databases/RAW.py + +

Results of VisIt Regression Test - databases/RAW

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
RAW files
RAW_0_000.000.00
RAW_0_010.000.00
RAW_0_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_RAW_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_RAW_py.html new file mode 100644 index 000000000..d16f1f0cf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_RAW_py.html @@ -0,0 +1,94 @@ +databases/RAW.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  RAW.py
+#
+#  Tests:      mesh      - 3D unstructured
+#              plots     - Mesh, Pseudocolor, FilledBoundary
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Oct 10 12:05:17 PDT 2007
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def test0(datapath):
+    TestSection("RAW files")
+    OpenDatabase(pjoin(datapath,"visitrocks.raw"))
+    AddPlot("Pseudocolor", "x")
+    DrawPlots()
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.567094, 0.226914, 0.791779)
+    v0.focus = (0.000999987, -0.1635, 0)
+    v0.viewUp = (0.130227, 0.973912, -0.18584)
+    v0.viewAngle = 30
+    v0.parallelScale = 1.5462
+    v0.nearPlane = -3.0924
+    v0.farPlane = 3.0924
+    v0.imagePan = (0.0382352, 0.0259835)
+    v0.imageZoom = 1.29479
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0.000999987, -0.1635, 0)
+    SetView3D(v0)
+    Test("RAW_0_00")
+    DeleteAllPlots()
+
+    OpenDatabase(pjoin(datapath,"visit1.7.raw"))
+    AddPlot("Pseudocolor", "z")
+    DrawPlots()
+    v1 = View3DAttributes()
+    v1.viewNormal = (0.548073, -0.470773, 0.691367)
+    v1.focus = (-3, 2.5, -3.5)
+    v1.viewUp = (-0.467318, 0.513182, 0.719902)
+    v1.viewAngle = 30
+    v1.parallelScale = 26.3154
+    v1.nearPlane = -52.6308
+    v1.farPlane = 52.6308
+    v1.imagePan = (-0.00129203, 0.0275781)
+    v1.imageZoom = 1.17533
+    v1.perspective = 1
+    v1.eyeAngle = 2
+    v1.centerOfRotationSet = 0
+    v1.centerOfRotation = (-3, 2.5, -3.5)
+    SetView3D(v1)
+    Test("RAW_0_01")
+    DeleteAllPlots()
+
+    OpenDatabase(pjoin(datapath,"llnl-logo.raw"))
+    AddPlot("Subset", "domains")
+    silr = SILRestriction()
+    silr.SuspendCorrectnessChecking()
+    silr.TurnOffAll()
+    for silSet in (1,2,77):
+        silr.TurnOnSet(silSet)
+    silr.EnableCorrectnessChecking()
+    SetPlotSILRestriction(silr)
+    DrawPlots()
+    v2 = View3DAttributes()
+    v2.viewNormal = (0.373419, 0.166874, 0.91253)
+    v2.focus = (0.108829, 9.95567, 5.85852)
+    v2.viewUp = (-0.0717588, 0.985936, -0.150933)
+    v2.viewAngle = 30
+    v2.parallelScale = 91.211
+    v2.nearPlane = -182.422
+    v2.farPlane = 182.422
+    v2.imagePan = (-0.00129203, 0.0275781)
+    v2.imageZoom = 1.17145
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0.108829, 9.95567, 5.85852)
+    SetView3D(v2)
+    Test("RAW_0_02")
+    DeleteAllPlots()
+
+def main():
+    datapath = data_path("RAW_test_data")
+    test0(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_SPCTH.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_SPCTH.html new file mode 100644 index 000000000..3174d8f2f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_SPCTH.html @@ -0,0 +1,48 @@ + +Results for databases/SPCTH.py + +

Results of VisIt Regression Test - databases/SPCTH

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
spcth_010.000.00
spcth_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_SPCTH_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_SPCTH_py.html new file mode 100644 index 000000000..ea738a70d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_SPCTH_py.html @@ -0,0 +1,36 @@ +databases/SPCTH.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  SPCTH.py 
+#
+#  Programmer: Kevin Griffin 
+#  Date:       September 15, 2017 
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+#efp2d.spcth
+OpenDatabase(data_path("SPCTH_test_data/efp2d.spcth"))
+AddPlot("FilledBoundary", "materials")
+DrawPlots()
+Test("spcth_01")
+DeleteAllPlots()
+CloseDatabase(data_path("SPCTH_test_data/efp2d.spcth"))
+
+#efp3d.spcth
+OpenDatabase(data_path("SPCTH_test_data/efp3d.spcth"))
+AddPlot("Pseudocolor", "M")
+
+silr = SILRestriction()
+silr.TurnOnAll()
+silr.TurnOffSet(silr.SetsInCategory('materials')[3])
+SetPlotSILRestriction(silr)
+
+DrawPlots()
+Test("spcth_02")
+DeleteAllPlots()
+CloseDatabase(data_path("SPCTH_test_data/efp3d.spcth"))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Velodyne.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Velodyne.html new file mode 100644 index 000000000..d8f03d5cc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Velodyne.html @@ -0,0 +1,88 @@ + +Results for databases/Velodyne.py + +

Results of VisIt Regression Test - databases/Velodyne

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Solid
Velodyne_0_000 modifications totalling 0 lines
Velodyne_0_010.000.00
Velodyne_0_020.000.00
Velodyne_0_030.000.00
Velodyne_0_040.000.00
Velodyne_0_050.000.00
Velodyne_0_060.000.00
Surface
Velodyne_1_000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Velodyne_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Velodyne_py.html new file mode 100644 index 000000000..36df7157a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Velodyne_py.html @@ -0,0 +1,79 @@ +databases/Velodyne.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  Velodyne.py
+#
+#  Tests:      mesh      - 3D unstructured
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Feb 10 14:51:33 PDT 2010
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def InitializeView():
+    v0 = View3DAttributes()
+    v0.viewNormal = (0.715595, -0.551955, 0.4281)
+    v0.focus = (11.5, 2.39999, 1.04954)
+    v0.viewUp = (-0.34794, 0.249768, 0.903633)
+    v0.viewAngle = 30
+    v0.parallelScale = 11.8686
+    v0.nearPlane = -23.7373
+    v0.farPlane = 23.7373
+    v0.imagePan = (-0.0579851, 0.0689456)
+    v0.imageZoom = 1.2342
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (11.5, 2.39999, 1.04954)
+    SetView3D(v0)
+
+def test0(datapath):
+    TestSection("Solid")
+    db = pjoin(datapath,"pelh.*.vld database")
+    OpenDatabase(db,0,"Velodyne_1.0")
+    md = GetMetaData(db)
+    TestText("Velodyne_0_00", str(md))
+    AddPlot("Pseudocolor", "Solid/Pressure")
+    DrawPlots()
+    InitializeView()
+
+    Test("Velodyne_0_01")
+    TimeSliderSetState(11)
+    Test("Velodyne_0_02")
+    TimeSliderSetState(22)
+    Test("Velodyne_0_03")
+    TimeSliderSetState(0)
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "Solid/Velocity_0")
+    DrawPlots()
+    InitializeView()
+    Test("Velodyne_0_04")
+    TimeSliderSetState(11)
+    Test("Velodyne_0_05")
+    TimeSliderSetState(22)
+    Test("Velodyne_0_06")
+    TimeSliderSetState(0)
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test1(datapath):
+    TestSection("Surface")
+
+    OpenDatabase(pjoin(datapath,"pelh.1.vld"),0,"Velodyne_1.0")
+    AddPlot("Pseudocolor", "Surface/Velocity_0")
+    DrawPlots()
+    InitializeView()
+    Test("Velodyne_1_00")
+    DeleteAllPlots()
+
+def main():
+    datapath = data_path("Velodyne_test_data")
+    test0(datapath)
+    test1(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_WData.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_WData.html new file mode 100644 index 000000000..9221448a1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_WData.html @@ -0,0 +1,60 @@ + +Results for databases/WData.py + +

Results of VisIt Regression Test - databases/WData

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
wdata_1_010.000.00
wdata_1_020.000.00
wdata_1_030.000.00
wdata_1_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_WData_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_WData_py.html new file mode 100644 index 000000000..aa5defd8f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_WData_py.html @@ -0,0 +1,58 @@ +databases/WData.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  WData.py 
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       September 22, 2021 
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def Test1():
+    OpenDatabase(data_path("WData_test_data/WData-test.wtxt"))
+
+    AddPlot("Contour", "density_a")
+    AddPlot("Vector", "current_a")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal=(0.363715, 0.43572, 0.822339)
+    v.viewUp=(-0.158317, 0.898996, -0.40834)
+    SetView3D(v)
+
+    Test("wdata_1_01")
+
+    TimeSliderSetState(5)
+    Test("wdata_1_02")
+
+    DeleteAllPlots()
+    AddPlot("Volume", "density_b")
+    DrawPlots()
+    Test("wdata_1_03")
+
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "density_b")
+    DrawPlots()
+
+    SetQueryOutputToObject()
+    se = Query("SpatialExtents")["extents"]
+    AddOperator("ThreeSlice")
+    ts = ThreeSliceAttributes()
+    ts.x = (se[1] - se[0]) * 0.5
+    ts.y = (se[3] - se[2]) * 0.5
+    ts.z = (se[5] - se[4]) * 0.5
+    SetOperatorOptions(ts)
+    DrawPlots()
+
+    Test("wdata_1_04")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("WData_test_data/WData-test.wtxt"))
+
+Test1()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Xmdv.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Xmdv.html new file mode 100644 index 000000000..9a501b804 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Xmdv.html @@ -0,0 +1,66 @@ + +Results for databases/Xmdv.py + +

Results of VisIt Regression Test - databases/Xmdv

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Xmdv_010.000.00
Xmdv_020.000.00
Xmdv_030.000.00
Xmdv_040.000.00
Xmdv_050.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Xmdv_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Xmdv_py.html new file mode 100644 index 000000000..05e6a3843 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Xmdv_py.html @@ -0,0 +1,105 @@ +databases/Xmdv.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  Xmdv.py
+#
+#  Tests:      mesh      - 3D point mesh
+#
+#  Defect ID:  none
+#
+#  Programmer: Hank Childs
+#  Date:       July 21, 2005
+#
+#  Modifications:
+#    Brad Whitlock, Wed Aug 10 10:00:45 PDT 2005
+#    Fixed due to a change in the Label plot.
+#
+#    Hank Childs, Tue Mar 18 15:40:57 PDT 2008
+#    Reflect change in variable names.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Hank Childs, Sat Mar 13 11:13:26 PST 2010
+#    Change variable names for forbidden characters.
+#
+# ----------------------------------------------------------------------------
+
+
+# First test that we can open a Xmdv file.
+OpenDatabase(data_path("okc_test_data/astronomy.okc"))
+
+AddPlot("Pseudocolor", "classmagi")
+AddOperator("Transform")
+t = TransformAttributes()
+t.doScale = 1
+t.scaleZ = 0.03
+SetOperatorOptions(t)
+DrawPlots()
+
+Test("Xmdv_01")
+
+DefineArrayExpression("sub_arr", "array_compose(b, d)")
+AddPlot("Label", "sub_arr")
+L = LabelAttributes()
+L.depthTestMode = L.LABEL_DT_NEVER
+SetPlotOptions(L)
+AddOperator("Transform")
+SetOperatorOptions(t)
+DrawPlots()
+
+Test("Xmdv_02")
+
+
+# This is super ugly, but I want to have something in the regression suite
+# that tests reading in array variables directly from a file (for coverage
+# purpose).
+DeleteAllPlots()
+AddPlot("Label", "all_vars")
+L = LabelAttributes()
+L.depthTestMode = L.LABEL_DT_NEVER
+SetPlotOptions(L)
+DrawPlots()
+Test("Xmdv_03")
+DeleteAllPlots()
+
+
+# Now test the writer.
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+DefineScalarExpression("uc", "recenter(u)")
+DefineScalarExpression("vc", "recenter(v)")
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+e = ExportDBAttributes()
+e.db_type = "Xmdv"
+e.filename = "xmdv"
+e.variables = ("d", "p", "uc", "vc")
+ExportDatabase(e)
+
+DeleteAllPlots()
+DeleteExpression("uc")
+DeleteExpression("vc")
+OpenDatabase("xmdv.okc")
+AddPlot("Pseudocolor", "vc")
+DrawPlots()
+Test("Xmdv_04")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Vector", "vel")
+DrawPlots()
+e.variables = ()
+e.filename = "xmdv2"
+ExportDatabase(e)
+DeleteAllPlots()
+OpenDatabase("xmdv2.okc")
+AddPlot("Pseudocolor", "vel_lb_0_rb_")
+DrawPlots()
+Test("Xmdv_05")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Xolotl.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Xolotl.html new file mode 100644 index 000000000..db84efa8d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Xolotl.html @@ -0,0 +1,90 @@ + +Results for databases/Xolotl.py + +

Results of VisIt Regression Test - databases/Xolotl

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
0D Example Xolot File
xolotl_0D_HeliumVacancies0.000.00
xolotl_0D_HeliumDeuterium0.000.00
xolotl_0D_HeliumInterstitial0.000.00
xolotl_0D_HeliumTritium0.000.00
1D Example Xolotl File
xolotl_1D_Helium Concentration0.000.00
xolotl_1D_Deuterium Concentration0.000.00
xolotl_1D_Interstitial Concentration0.000.00
xolotl_1D_Tritium Concentration0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_Xolotl_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_Xolotl_py.html new file mode 100644 index 000000000..891ab0df9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_Xolotl_py.html @@ -0,0 +1,47 @@ +databases/Xolotl.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  Xolotl.py
+#
+#  Tests:      Xolotl hdf5 files
+#
+#  Programmer: James Kress
+#  Date:       Mon Aug 26 13:00:15 EDT 2019
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("Xolotl")
+
+xolotl_0D = "xolotl_test_data/network-PSI2-0D.xolotl"
+xolotl_1D = "xolotl_test_data/network-PSI2-1D.xolotl"
+
+zeroDVars = ["Helium/Vacancies", "Helium/Deuterium", "Helium/Interstitial", "Helium/Tritium"]
+oneDVars = ["Helium Concentration", "Deuterium Concentration", "Interstitial Concentration", "Tritium Concentration"]
+
+def test(var_name,tag_name):
+    SetTimeSliderState(1)
+    AddPlot("Pseudocolor", var_name)
+    SetActivePlots(0)
+    PseudocolorAtts = PseudocolorAttributes()
+    PseudocolorAtts.scaling = PseudocolorAtts.Log  # Linear, Log, Skew
+    PseudocolorAtts.colorTableName = "hot_desaturated"
+    SetPlotOptions(PseudocolorAtts)
+    DrawPlots()
+    file_name = var_name.replace("/", "")
+    Test(tag_name + "_" +  file_name)
+    DeleteAllPlots()
+
+
+TestSection("0D Example Xolot File")
+OpenDatabase(data_path(xolotl_0D))
+for var_name in zeroDVars:
+    test(var_name,"xolotl_0D")
+CloseDatabase(data_path(xolotl_0D))
+
+TestSection("1D Example Xolotl File")
+OpenDatabase(data_path(xolotl_1D))
+for var_name in oneDVars:
+    test(var_name,"xolotl_1D")
+CloseDatabase(data_path(xolotl_1D))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_activesource.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_activesource.html new file mode 100644 index 000000000..593855e43 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_activesource.html @@ -0,0 +1,80 @@ + +Results for databases/activesource.py + +

Results of VisIt Regression Test - databases/activesource

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
activesource000.000.00
activesource010 modifications totalling 0 lines
activesource020 modifications totalling 0 lines
activesource030.000.00
activesource040.000.00
activesource050 modifications totalling 0 lines
activesource060.000.00
activesource070 modifications totalling 0 lines
activesource080 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_activesource_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_activesource_py.html new file mode 100644 index 000000000..412f4fb86 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_activesource_py.html @@ -0,0 +1,82 @@ +databases/activesource.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  activesource.py
+#
+#  Tests:      mesh      - 2D, curvilinear, single domain
+#              plots     - FilledBoundary
+#              databases - PDB
+#
+#  Purpose:    This test case tests that the viewer uses the right active
+#              source for the active window.
+#
+#  Bugs:       '4527
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Mar 18 13:45:29 PST 2004
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+
+#
+# Look at the first few lines of the string representation of the
+# WindowInformation to see the list of time sliders, etc.
+#
+def TestWindowInformation(testname):
+    # Get the window information and convert it to a string.
+    s = str(GetWindowInformation())
+    # Only use the first 5 or so lines from the string.
+    lines = s.split("\n")
+    s = ""
+    for i in range(5):
+        if(i < len(lines)):
+            s = s + lines[i]
+            s = s + "\n"
+    TestText(testname, s)
+
+# Create a plot of dbA00.pdb.
+OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
+
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+Test("activesource00")
+
+# Create another window and make sure that it has dbA00.pdb as its
+# active source.
+CloneWindow()
+SetActiveWindow(2)
+DeleteAllPlots()
+TestWindowInformation("activesource01")
+
+# Open dbB00.pdb and make sure that it becomes the active source.
+OpenDatabase(data_path("pdb_test_data/dbB00.pdb"))
+
+TestWindowInformation("activesource02")
+
+# Create a plot from it.
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+Test("activesource03")
+# note: py3 div creates float
+SetTimeSliderState(int(TimeSliderGetNStates() / 2))
+Test("activesource04")
+TestWindowInformation("activesource05")
+
+# Create a 3rd window by cloning window 2. We're making sure that the 
+# time slider got copied to the new window and that it has the right
+# time state.
+CloneWindow()
+SetActiveWindow(3)
+DrawPlots()
+Test("activesource06")
+TestWindowInformation("activesource07")
+
+# Switch back to window 1 and make sure that the window information has
+# dbA00.pdb as the active source.
+SetActiveWindow(1)
+TestWindowInformation("activesource08")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_adios2.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_adios2.html new file mode 100644 index 000000000..be0fe100e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_adios2.html @@ -0,0 +1,45 @@ + +Results for databases/adios2.py + +

Results of VisIt Regression Test - databases/adios2

+ + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Adios2 Blosc Test
adios2_3d_bp_mesh71x71x71_mesh0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_adios2_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_adios2_py.html new file mode 100644 index 000000000..8dbb97f49 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_adios2_py.html @@ -0,0 +1,89 @@ +databases/adios2.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  adios2.py 
+#
+#  Tests:      mesh      - 3D single domain
+#              plots     - Pseudocolor
+#              operators - Clip
+#
+#  Programmer: Justin Privitera
+#  Date:       Mon May  9 18:05:05 PDT 2022
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("ADIOS2")
+
+from os.path import join as pjoin
+
+adios2_test_dir = "adios2_v2.7.1_test_data"
+cube_data = data_path(pjoin(adios2_test_dir,"interesting_cube00000000.bp"))
+
+def set_3d_view():
+    v = View3DAttributes()
+    v.viewNormal = (0.844823, 0.290329, 0.449425)
+    v.focus = (35, 35, 35)
+    v.viewUp = (-0.239502, 0.956325, -0.167574)
+    v.viewAngle = 30
+    v.parallelScale = 60.6218
+    v.nearPlane = -121.244
+    v.farPlane = 121.244
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (35, 35, 35)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+def set_test_view(tag_name):
+    if "3d" in tag_name:
+        set_3d_view()
+    else:
+        ResetView()
+
+def test(mesh_name, tag_name):
+    AddPlot("Mesh", mesh_name, 1, 1)
+    AddPlot("Pseudocolor", "/data/0/meshes/admbase_lapse_rl00/admbase_alp", 1, 1)
+    AddOperator("Clip", 1)
+    SetActivePlots(1)
+    SetActivePlots(1)
+    ClipAtts = ClipAttributes()
+    ClipAtts.quality = ClipAtts.Fast  # Fast, Accurate
+    ClipAtts.funcType = ClipAtts.Plane  # Plane, Sphere
+    ClipAtts.plane1Status = 1
+    ClipAtts.plane2Status = 0
+    ClipAtts.plane3Status = 0
+    ClipAtts.plane1Origin = (35, 35, 35)
+    ClipAtts.plane2Origin = (0, 0, 0)
+    ClipAtts.plane3Origin = (0, 0, 0)
+    ClipAtts.plane1Normal = (1, 0, 0)
+    ClipAtts.plane2Normal = (0, 1, 0)
+    ClipAtts.plane3Normal = (0, 0, 1)
+    ClipAtts.planeInverse = 0
+    ClipAtts.planeToolControlledClipPlane = ClipAtts.Plane1  # NONE, Plane1, Plane2, Plane3
+    ClipAtts.center = (0, 0, 0)
+    ClipAtts.radius = 1
+    ClipAtts.sphereInverse = 0
+    ClipAtts.crinkleClip = 0
+    SetOperatorOptions(ClipAtts, 0, 1)
+    DrawPlots()
+    set_test_view(tag_name)
+    Test(tag_name + "_" +  mesh_name + "_mesh")
+    DeleteAllPlots()
+
+# requires adios2 to be built with c-blosc support
+TestSection("Adios2 Blosc Test")
+OpenDatabase(cube_data, 0, "ADIOS2_1.0")
+mesh_name = "mesh71x71x71"
+tag_name = "adios2_3d_bp"
+test(mesh_name, tag_name)
+CloseDatabase(cube_data)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_avsucd.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_avsucd.html new file mode 100644 index 000000000..e5d0964d3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_avsucd.html @@ -0,0 +1,60 @@ + +Results for databases/avsucd.py + +

Results of VisIt Regression Test - databases/avsucd

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
avsucd_010.000.00
avsucd_020.000.00
avsucd_030.000.00
avsucd_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_avsucd_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_avsucd_py.html new file mode 100644 index 000000000..dfa43cf7b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_avsucd_py.html @@ -0,0 +1,41 @@ +databases/avsucd.py
# ----------------------------------------------------------------------------)
+#  CLASSES: nightly
+#
+#  Test Case:  avsucd.py 
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       February 6, 2020
+#
+# ----------------------------------------------------------------------------
+
+OpenDatabase(data_path("AVSucd_test_data/cell_data.inp"))
+AddPlot("Pseudocolor", "stress sx")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (0.804006, 0.580568, 0.128511)
+viewUp = (-0.482246, 0.763086, -0.430278)
+SetView3D(v)
+Test("avsucd_01")
+
+ChangeActivePlotsVar("stress sz")
+Test("avsucd_02")
+
+ChangeActivePlotsVar("temp1")
+Test("avsucd_03")
+
+DeleteAllPlots()
+CloseDatabase(data_path("AVSucd_test_data/cell_data.inp"))
+
+# file with vectors
+OpenDatabase(data_path("AVSucd_test_data/vec1.1.000.inp"))
+AddPlot("Vector", "vect")
+DrawPlots()
+ResetView()
+Test("avsucd_04")
+
+DeleteAllPlots()
+CloseDatabase(data_path("AVSucd_test_data/vec1.1.000.inp"))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint.html new file mode 100644 index 000000000..d05cbc709 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint.html @@ -0,0 +1,2819 @@ + +Results for databases/blueprint.py + +

Results of VisIt Regression Test - databases/blueprint

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
2D Example JSON Mesh Files
blueprint_2d_json_points_mesh0.000.00
blueprint_2d_json_points_braid0.000.00
blueprint_2d_json_points_radial0.000.00
blueprint_2d_json_uniform_mesh0.000.00
blueprint_2d_json_uniform_braid0.000.00
blueprint_2d_json_uniform_radial0.000.00
blueprint_2d_json_rect_mesh0.000.00
blueprint_2d_json_rect_braid0.000.00
blueprint_2d_json_rect_radial0.000.00
blueprint_2d_json_struct_mesh0.000.00
blueprint_2d_json_struct_braid0.000.00
blueprint_2d_json_struct_radial0.000.00
blueprint_2d_json_tris_mesh0.000.00
blueprint_2d_json_tris_braid0.000.00
blueprint_2d_json_tris_radial0.000.00
blueprint_2d_json_quads_mesh0.000.00
blueprint_2d_json_quads_braid0.000.00
blueprint_2d_json_quads_radial0.000.00
2D Example HDF5 Mesh Files
blueprint_2d_hdf5_points_mesh0.000.00
blueprint_2d_hdf5_points_braid0.000.00
blueprint_2d_hdf5_points_radial0.000.00
blueprint_2d_hdf5_uniform_mesh0.000.00
blueprint_2d_hdf5_uniform_braid0.000.00
blueprint_2d_hdf5_uniform_radial0.000.00
blueprint_2d_hdf5_rect_mesh0.000.00
blueprint_2d_hdf5_rect_braid0.000.00
blueprint_2d_hdf5_rect_radial0.000.00
blueprint_2d_hdf5_struct_mesh0.000.00
blueprint_2d_hdf5_struct_braid0.000.00
blueprint_2d_hdf5_struct_radial0.000.00
blueprint_2d_hdf5_tris_mesh0.000.00
blueprint_2d_hdf5_tris_braid0.000.00
blueprint_2d_hdf5_tris_radial0.000.00
blueprint_2d_hdf5_quads_mesh0.000.00
blueprint_2d_hdf5_quads_braid0.000.00
blueprint_2d_hdf5_quads_radial0.000.00
2D Example Sidre HDF5 Mesh Files
blueprint_2d_sidre_hdf5_points_mesh0.000.00
blueprint_2d_sidre_hdf5_points_braid0.000.00
blueprint_2d_sidre_hdf5_points_radial0.000.00
blueprint_2d_sidre_hdf5_uniform_mesh0.000.00
blueprint_2d_sidre_hdf5_uniform_braid0.000.00
blueprint_2d_sidre_hdf5_uniform_radial0.000.00
blueprint_2d_sidre_hdf5_rect_mesh0.000.00
blueprint_2d_sidre_hdf5_rect_braid0.000.00
blueprint_2d_sidre_hdf5_rect_radial0.000.00
blueprint_2d_sidre_hdf5_struct_mesh0.000.00
blueprint_2d_sidre_hdf5_struct_braid0.000.00
blueprint_2d_sidre_hdf5_struct_radial0.000.00
blueprint_2d_sidre_hdf5_tris_mesh0.000.00
blueprint_2d_sidre_hdf5_tris_braid0.000.00
blueprint_2d_sidre_hdf5_tris_radial0.000.00
blueprint_2d_sidre_hdf5_quads_mesh0.000.00
blueprint_2d_sidre_hdf5_quads_braid0.000.00
blueprint_2d_sidre_hdf5_quads_radial0.000.00
3D Example JSON Mesh Files
blueprint_3d_json_points_mesh0.000.00
blueprint_3d_json_points_braid0.000.00
blueprint_3d_json_points_radial0.000.00
blueprint_3d_json_uniform_mesh0.000.00
blueprint_3d_json_uniform_braid0.000.00
blueprint_3d_json_uniform_radial0.000.00
blueprint_3d_json_rect_mesh0.000.00
blueprint_3d_json_rect_braid0.000.00
blueprint_3d_json_rect_radial0.000.00
blueprint_3d_json_struct_mesh0.000.00
blueprint_3d_json_struct_braid0.000.00
blueprint_3d_json_struct_radial0.000.00
blueprint_3d_json_tets_mesh0.000.00
blueprint_3d_json_tets_braid0.000.00
blueprint_3d_json_tets_radial0.000.00
blueprint_3d_json_hexs_mesh0.000.00
blueprint_3d_json_hexs_braid0.000.00
blueprint_3d_json_hexs_radial0.000.00
3D Example HDF5 Mesh Files
blueprint_3d_hdf5_points_mesh0.000.00
blueprint_3d_hdf5_points_braid0.000.00
blueprint_3d_hdf5_points_radial0.000.00
blueprint_3d_hdf5_uniform_mesh0.000.00
blueprint_3d_hdf5_uniform_braid0.000.00
blueprint_3d_hdf5_uniform_radial0.000.00
blueprint_3d_hdf5_rect_mesh0.000.00
blueprint_3d_hdf5_rect_braid0.000.00
blueprint_3d_hdf5_rect_radial0.000.00
blueprint_3d_hdf5_struct_mesh0.000.00
blueprint_3d_hdf5_struct_braid0.000.00
blueprint_3d_hdf5_struct_radial0.000.00
blueprint_3d_hdf5_tets_mesh0.000.00
blueprint_3d_hdf5_tets_braid0.000.00
blueprint_3d_hdf5_tets_radial0.000.00
blueprint_3d_hdf5_hexs_mesh0.000.00
blueprint_3d_hdf5_hexs_braid0.000.00
blueprint_3d_hdf5_hexs_radial0.000.00
3D Example Sidre HDF5 Mesh Files
blueprint_3d_sidre_hdf5_points_mesh0.000.00
blueprint_3d_sidre_hdf5_points_braid0.000.00
blueprint_3d_sidre_hdf5_points_radial0.000.00
blueprint_3d_sidre_hdf5_uniform_mesh0.000.00
blueprint_3d_sidre_hdf5_uniform_braid0.000.00
blueprint_3d_sidre_hdf5_uniform_radial0.000.00
blueprint_3d_sidre_hdf5_rect_mesh0.000.00
blueprint_3d_sidre_hdf5_rect_braid0.000.00
blueprint_3d_sidre_hdf5_rect_radial0.000.00
blueprint_3d_sidre_hdf5_struct_mesh0.000.00
blueprint_3d_sidre_hdf5_struct_braid0.000.00
blueprint_3d_sidre_hdf5_struct_radial0.000.00
blueprint_3d_sidre_hdf5_tets_mesh0.000.00
blueprint_3d_sidre_hdf5_tets_braid0.000.00
blueprint_3d_sidre_hdf5_tets_radial0.000.00
blueprint_3d_sidre_hdf5_hexs_mesh0.000.00
blueprint_3d_sidre_hdf5_hexs_braid0.000.00
blueprint_3d_sidre_hdf5_hexs_radial0.000.00
MFEM Blueprint Example Data Tests
blueprint_mfem_3d_periodic_cube_json_sol0.000.00
blueprint_mfem_3d_periodic_cube_json_ele_coloring0.000.00
blueprint_mfem_3d_periodic_cube_json_ele_att0.000.00
blueprint_mfem_3d_periodic_cube_conduit_bin_sol0.000.00
blueprint_mfem_3d_periodic_cube_conduit_bin_ele_coloring0.000.00
blueprint_mfem_3d_periodic_cube_conduit_bin_ele_att0.000.00
blueprint_mfem_3d_periodic_cube_conduit_json_sol0.000.00
blueprint_mfem_3d_periodic_cube_conduit_json_ele_coloring0.000.00
blueprint_mfem_3d_periodic_cube_conduit_json_ele_att0.000.00
blueprint_mfem_3d_periodic_cube_hdf5_sol0.000.00
blueprint_mfem_3d_periodic_cube_hdf5_ele_coloring0.000.00
blueprint_mfem_3d_periodic_cube_hdf5_ele_att0.000.00
blueprint_mfem_3d_star_q3_json_sol0.000.00
blueprint_mfem_3d_star_q3_json_ele_coloring0.000.00
blueprint_mfem_3d_star_q3_json_ele_att0.000.00
blueprint_mfem_3d_star_q3_conduit_bin_sol0.000.00
blueprint_mfem_3d_star_q3_conduit_bin_ele_coloring0.000.00
blueprint_mfem_3d_star_q3_conduit_bin_ele_att0.000.00
blueprint_mfem_3d_star_q3_conduit_json_sol0.000.00
blueprint_mfem_3d_star_q3_conduit_json_ele_coloring0.000.00
blueprint_mfem_3d_star_q3_conduit_json_ele_att0.000.00
blueprint_mfem_3d_star_q3_hdf5_sol0.000.00
blueprint_mfem_3d_star_q3_hdf5_ele_coloring0.000.00
blueprint_mfem_3d_star_q3_hdf5_ele_att0.000.00
blueprint_mfem_2d_periodic_hexagon_json_sol0.000.00
blueprint_mfem_2d_periodic_hexagon_json_ele_coloring0.000.00
blueprint_mfem_2d_periodic_hexagon_json_ele_att0.000.00
blueprint_mfem_2d_periodic_hexagon_conduit_bin_sol0.000.00
blueprint_mfem_2d_periodic_hexagon_conduit_bin_ele_coloring0.000.00
blueprint_mfem_2d_periodic_hexagon_conduit_bin_ele_att0.000.00
blueprint_mfem_2d_periodic_hexagon_conduit_json_sol0.000.00
blueprint_mfem_2d_periodic_hexagon_conduit_json_ele_coloring0.000.00
blueprint_mfem_2d_periodic_hexagon_conduit_json_ele_att0.000.00
blueprint_mfem_2d_periodic_hexagon_hdf5_sol0.000.00
blueprint_mfem_2d_periodic_hexagon_hdf5_ele_coloring0.000.00
blueprint_mfem_2d_periodic_hexagon_hdf5_ele_att0.000.00
MFEM LOR Mesh Blueprint Tests
blueprint_mfem_3d_periodic_cube_json_lor0.000.00
blueprint_mfem_3d_periodic_cube_json_legacy_lor0.000.00
blueprint_mfem_3d_periodic_cube_conduit_bin_lor0.000.00
blueprint_mfem_3d_periodic_cube_conduit_bin_legacy_lor0.000.00
blueprint_mfem_3d_periodic_cube_conduit_json_lor0.000.00
blueprint_mfem_3d_periodic_cube_conduit_json_legacy_lor0.000.00
blueprint_mfem_3d_periodic_cube_hdf5_lor0.000.00
blueprint_mfem_3d_periodic_cube_hdf5_legacy_lor0.000.00
blueprint_mfem_3d_star_q3_json_lor0.000.00
blueprint_mfem_3d_star_q3_json_legacy_lor0.000.00
blueprint_mfem_3d_star_q3_conduit_bin_lor0.000.00
blueprint_mfem_3d_star_q3_conduit_bin_legacy_lor0.000.00
blueprint_mfem_3d_star_q3_conduit_json_lor0.000.00
blueprint_mfem_3d_star_q3_conduit_json_legacy_lor0.000.00
blueprint_mfem_3d_star_q3_hdf5_lor0.000.00
blueprint_mfem_3d_star_q3_hdf5_legacy_lor0.000.00
blueprint_mfem_2d_periodic_hexagon_json_lor0.000.00
blueprint_mfem_2d_periodic_hexagon_json_legacy_lor0.000.00
blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor0.000.00
blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor0.000.00
blueprint_mfem_2d_periodic_hexagon_conduit_json_lor0.000.00
blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor0.000.00
blueprint_mfem_2d_periodic_hexagon_hdf5_lor0.000.00
blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor0.000.00
blueprint_mfem_3d_esher_lor0.000.00
blueprint_mfem_3d_esher_legacy_lor0.000.00
blueprint_mfem_3d_laghos_tg.cycle_lor0.000.00
blueprint_mfem_3d_laghos_tg.cycle_legacy_lor0.000.00
blueprint_mfem_3d_taylor_green.cycle_lor0.000.00
blueprint_mfem_3d_taylor_green.cycle_legacy_lor0.000.00
blueprint_mfem_2d_tri_beam_lor0.000.00
blueprint_mfem_2d_tri_beam_legacy_lor0.000.00
blueprint_mfem_3d_warbly_cube_lor0.000.00
blueprint_mfem_3d_warbly_cube_legacy_lor0.000.00
MFEM LOR Field Blueprint Tests
blueprint_mfem_3d_esher_pseudocolor_mesh_nodes_magnitude_lor0.000.00
blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_mesh_nodes_magnitude_lor0.000.00
blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_density_lor0.000.00
blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_specific_internal_energy_lor0.000.00
blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_velocity_magnitude_lor0.000.00
blueprint_mfem_3d_laghos_tg.cycle_vector_velocity_lor0.000.00
blueprint_mfem_3d_taylor_green.cycle_pseudocolor_mesh_nodes_magnitude_lor0.000.00
blueprint_mfem_3d_taylor_green.cycle_pseudocolor_density_lor0.000.00
blueprint_mfem_3d_taylor_green.cycle_pseudocolor_specific_internal_energy_lor0.000.00
blueprint_mfem_3d_taylor_green.cycle_pseudocolor_velocity_magnitude_lor0.000.00
blueprint_mfem_3d_taylor_green.cycle_vector_velocity_lor0.000.00
blueprint_mfem_2d_tri_beam_pseudocolor_mesh_nodes_magnitude_lor0.000.00
blueprint_mfem_2d_tri_beam_vector_mesh_nodes_lor0.000.00
blueprint_mfem_3d_warbly_cube_pseudocolor_mesh_nodes_magnitude_lor0.000.00
Blueprint Expressions
blueprint_expressions0.000.00
Variables With Parens
paren_vars_000.000.00
Blueprint Matset Example Tests: venn_small_full
venn_small_full_mat_check0.000.00
testeq_t_mat_check_max
 4320 .eq. 4320 (prec=5) : True
testeq_mat_check_min
 1 .eq. 1 (prec=5) : True
Blueprint Matset Example Tests: venn_small_full Matvf Exprs
venn_small_full_vf_bg0.000.00
testeq_vf_bg_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_bg_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_full_vf_c_a0.000.00
testeq_vf_c_a_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_a_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_full_vf_c_b0.000.00
testeq_vf_c_b_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_b_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_full_vf_c_c0.000.00
testeq_vf_c_c_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_c_min
 0.0 .eq. 0.0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_full Val4mat Exprs
venn_small_full_v4m_bg0.000.00
testeq_v4m_bg_max
 1 .eq. 1 (prec=5) : True
testeq_v4m_bg_min
 0 .eq. 0 (prec=5) : True
venn_small_full_v4m_c_a0.000.00
testeq_v4m_c_a_max
 20 .eq. 20 (prec=5) : True
testeq_v4m_c_a_min
 0 .eq. 0 (prec=5) : True
venn_small_full_v4m_c_b0.000.00
testeq_v4m_c_b_max
 300 .eq. 300 (prec=5) : True
testeq_v4m_c_b_min
 0 .eq. 0 (prec=5) : True
venn_small_full_v4m_c_c0.000.00
testeq_v4m_c_c_max
 4000 .eq. 4000 (prec=5) : True
testeq_v4m_c_c_min
 0 .eq. 0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_element
venn_small_sparse_by_element_mat_check0.000.00
testeq_t_mat_check_max
 4320 .eq. 4320 (prec=5) : True
testeq_mat_check_min
 1 .eq. 1 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_element Matvf Exprs
venn_small_sparse_by_element_vf_bg0.000.00
testeq_vf_bg_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_bg_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_element_vf_c_a0.000.00
testeq_vf_c_a_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_a_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_element_vf_c_b0.000.00
testeq_vf_c_b_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_b_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_element_vf_c_c0.000.00
testeq_vf_c_c_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_c_min
 0.0 .eq. 0.0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_element Val4mat Exprs
venn_small_sparse_by_element_v4m_bg0.000.00
testeq_v4m_bg_max
 1 .eq. 1 (prec=5) : True
testeq_v4m_bg_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_element_v4m_c_a0.000.00
testeq_v4m_c_a_max
 20 .eq. 20 (prec=5) : True
testeq_v4m_c_a_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_element_v4m_c_b0.000.00
testeq_v4m_c_b_max
 300 .eq. 300 (prec=5) : True
testeq_v4m_c_b_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_element_v4m_c_c0.000.00
testeq_v4m_c_c_max
 4000 .eq. 4000 (prec=5) : True
testeq_v4m_c_c_min
 0 .eq. 0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_material
venn_small_sparse_by_material_mat_check0.000.00
testeq_t_mat_check_max
 4320 .eq. 4320 (prec=5) : True
testeq_mat_check_min
 1 .eq. 1 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_material Matvf Exprs
venn_small_sparse_by_material_vf_bg0.000.00
testeq_vf_bg_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_bg_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_material_vf_c_a0.000.00
testeq_vf_c_a_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_a_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_material_vf_c_b0.000.00
testeq_vf_c_b_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_b_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_material_vf_c_c0.000.00
testeq_vf_c_c_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_c_min
 0.0 .eq. 0.0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_material Val4mat Exprs
venn_small_sparse_by_material_v4m_bg0.000.00
testeq_v4m_bg_max
 1 .eq. 1 (prec=5) : True
testeq_v4m_bg_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_material_v4m_c_a0.000.00
testeq_v4m_c_a_max
 20 .eq. 20 (prec=5) : True
testeq_v4m_c_a_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_material_v4m_c_b0.000.00
testeq_v4m_c_b_max
 300 .eq. 300 (prec=5) : True
testeq_v4m_c_b_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_material_v4m_c_c0.000.00
testeq_v4m_c_c_max
 4000 .eq. 4000 (prec=5) : True
testeq_v4m_c_c_min
 0 .eq. 0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_full_yaml
venn_small_full_yaml_mat_check0.000.00
testeq_t_mat_check_max
 4320 .eq. 4320 (prec=5) : True
testeq_mat_check_min
 1 .eq. 1 (prec=5) : True
Blueprint Matset Example Tests: venn_small_full_yaml Matvf Exprs
venn_small_full_yaml_vf_bg0.000.00
testeq_vf_bg_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_bg_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_full_yaml_vf_c_a0.000.00
testeq_vf_c_a_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_a_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_full_yaml_vf_c_b0.000.00
testeq_vf_c_b_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_b_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_full_yaml_vf_c_c0.000.00
testeq_vf_c_c_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_c_min
 0.0 .eq. 0.0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_full_yaml Val4mat Exprs
venn_small_full_yaml_v4m_bg0.000.00
testeq_v4m_bg_max
 1 .eq. 1 (prec=5) : True
testeq_v4m_bg_min
 0 .eq. 0 (prec=5) : True
venn_small_full_yaml_v4m_c_a0.000.00
testeq_v4m_c_a_max
 20 .eq. 20 (prec=5) : True
testeq_v4m_c_a_min
 0 .eq. 0 (prec=5) : True
venn_small_full_yaml_v4m_c_b0.000.00
testeq_v4m_c_b_max
 300 .eq. 300 (prec=5) : True
testeq_v4m_c_b_min
 0 .eq. 0 (prec=5) : True
venn_small_full_yaml_v4m_c_c0.000.00
testeq_v4m_c_c_max
 4000 .eq. 4000 (prec=5) : True
testeq_v4m_c_c_min
 0 .eq. 0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_element_yaml
venn_small_sparse_by_element_yaml_mat_check0.000.00
testeq_t_mat_check_max
 4320 .eq. 4320 (prec=5) : True
testeq_mat_check_min
 1 .eq. 1 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_element_yaml Matvf Exprs
venn_small_sparse_by_element_yaml_vf_bg0.000.00
testeq_vf_bg_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_bg_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_element_yaml_vf_c_a0.000.00
testeq_vf_c_a_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_a_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_element_yaml_vf_c_b0.000.00
testeq_vf_c_b_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_b_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_element_yaml_vf_c_c0.000.00
testeq_vf_c_c_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_c_min
 0.0 .eq. 0.0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_element_yaml Val4mat Exprs
venn_small_sparse_by_element_yaml_v4m_bg0.000.00
testeq_v4m_bg_max
 1 .eq. 1 (prec=5) : True
testeq_v4m_bg_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_element_yaml_v4m_c_a0.000.00
testeq_v4m_c_a_max
 20 .eq. 20 (prec=5) : True
testeq_v4m_c_a_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_element_yaml_v4m_c_b0.000.00
testeq_v4m_c_b_max
 300 .eq. 300 (prec=5) : True
testeq_v4m_c_b_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_element_yaml_v4m_c_c0.000.00
testeq_v4m_c_c_max
 4000 .eq. 4000 (prec=5) : True
testeq_v4m_c_c_min
 0 .eq. 0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_material_yaml
venn_small_sparse_by_material_yaml_mat_check0.000.00
testeq_t_mat_check_max
 4320 .eq. 4320 (prec=5) : True
testeq_mat_check_min
 1 .eq. 1 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_material_yaml Matvf Exprs
venn_small_sparse_by_material_yaml_vf_bg0.000.00
testeq_vf_bg_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_bg_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_material_yaml_vf_c_a0.000.00
testeq_vf_c_a_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_a_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_material_yaml_vf_c_b0.000.00
testeq_vf_c_b_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_b_min
 0.0 .eq. 0.0 (prec=5) : True
venn_small_sparse_by_material_yaml_vf_c_c0.000.00
testeq_vf_c_c_max
 1.0 .eq. 1.0 (prec=5) : True
testeq_vf_c_c_min
 0.0 .eq. 0.0 (prec=5) : True
Blueprint Matset Example Tests: venn_small_sparse_by_material_yaml Val4mat Exprs
venn_small_sparse_by_material_yaml_v4m_bg0.000.00
testeq_v4m_bg_max
 1 .eq. 1 (prec=5) : True
testeq_v4m_bg_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_material_yaml_v4m_c_a0.000.00
testeq_v4m_c_a_max
 20 .eq. 20 (prec=5) : True
testeq_v4m_c_a_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_material_yaml_v4m_c_b0.000.00
testeq_v4m_c_b_max
 300 .eq. 300 (prec=5) : True
testeq_v4m_c_b_min
 0 .eq. 0 (prec=5) : True
venn_small_sparse_by_material_yaml_v4m_c_c0.000.00
testeq_v4m_c_c_max
 4000 .eq. 4000 (prec=5) : True
testeq_v4m_c_c_min
 0 .eq. 0 (prec=5) : True
Venn With Modded Material Numbers, 0.8.7
Venn_with_modded_matnos0.000.00
2D Example HDF5 Mesh Files, 0.8.2
blueprint_2d_hdf5_0_8_2_points_mesh0.000.00
blueprint_2d_hdf5_0_8_2_points_braid0.000.00
blueprint_2d_hdf5_0_8_2_points_radial0.000.00
blueprint_2d_hdf5_0_8_2_uniform_mesh0.000.00
blueprint_2d_hdf5_0_8_2_uniform_braid0.000.00
blueprint_2d_hdf5_0_8_2_uniform_radial0.000.00
blueprint_2d_hdf5_0_8_2_rect_mesh0.000.00
blueprint_2d_hdf5_0_8_2_rect_braid0.000.00
blueprint_2d_hdf5_0_8_2_rect_radial0.000.00
blueprint_2d_hdf5_0_8_2_struct_mesh0.000.00
blueprint_2d_hdf5_0_8_2_struct_braid0.000.00
blueprint_2d_hdf5_0_8_2_struct_radial0.000.00
blueprint_2d_hdf5_0_8_2_tris_mesh0.000.00
blueprint_2d_hdf5_0_8_2_tris_braid0.000.00
blueprint_2d_hdf5_0_8_2_tris_radial0.000.00
blueprint_2d_hdf5_0_8_2_quads_mesh0.000.00
blueprint_2d_hdf5_0_8_2_quads_braid0.000.00
blueprint_2d_hdf5_0_8_2_quads_radial0.000.00
blueprint_2d_hdf5_0_8_2_points_implicit_mesh0.000.00
blueprint_2d_hdf5_0_8_2_points_implicit_braid0.000.00
blueprint_2d_hdf5_0_8_2_points_implicit_radial0.000.00
2D Example YAML Mesh Files, 0.8.2
blueprint_2d_yaml_0_8_2_points_mesh0.000.00
blueprint_2d_yaml_0_8_2_points_braid0.000.00
blueprint_2d_yaml_0_8_2_points_radial0.000.00
blueprint_2d_yaml_0_8_2_uniform_mesh0.000.00
blueprint_2d_yaml_0_8_2_uniform_braid0.000.00
blueprint_2d_yaml_0_8_2_uniform_radial0.000.00
blueprint_2d_yaml_0_8_2_rect_mesh0.000.00
blueprint_2d_yaml_0_8_2_rect_braid0.000.00
blueprint_2d_yaml_0_8_2_rect_radial0.000.00
blueprint_2d_yaml_0_8_2_struct_mesh0.000.00
blueprint_2d_yaml_0_8_2_struct_braid0.000.00
blueprint_2d_yaml_0_8_2_struct_radial0.000.00
blueprint_2d_yaml_0_8_2_tris_mesh0.000.00
blueprint_2d_yaml_0_8_2_tris_braid0.000.00
blueprint_2d_yaml_0_8_2_tris_radial0.000.00
blueprint_2d_yaml_0_8_2_quads_mesh0.000.00
blueprint_2d_yaml_0_8_2_quads_braid0.000.00
blueprint_2d_yaml_0_8_2_quads_radial0.000.00
blueprint_2d_yaml_0_8_2_points_implicit_mesh0.000.00
blueprint_2d_yaml_0_8_2_points_implicit_braid0.000.00
blueprint_2d_yaml_0_8_2_points_implicit_radial0.000.00
3D Example HDF5 Mesh Files, 0.8.2
blueprint_3d_hdf5_0_8_2_points_mesh0.000.00
blueprint_3d_hdf5_0_8_2_points_braid0.000.00
blueprint_3d_hdf5_0_8_2_points_radial0.000.00
blueprint_3d_hdf5_0_8_2_uniform_mesh0.000.00
blueprint_3d_hdf5_0_8_2_uniform_braid0.000.00
blueprint_3d_hdf5_0_8_2_uniform_radial0.000.00
blueprint_3d_hdf5_0_8_2_rect_mesh0.000.00
blueprint_3d_hdf5_0_8_2_rect_braid0.000.00
blueprint_3d_hdf5_0_8_2_rect_radial0.000.00
blueprint_3d_hdf5_0_8_2_struct_mesh0.000.00
blueprint_3d_hdf5_0_8_2_struct_braid0.000.00
blueprint_3d_hdf5_0_8_2_struct_radial0.000.00
blueprint_3d_hdf5_0_8_2_tets_mesh0.000.00
blueprint_3d_hdf5_0_8_2_tets_braid0.000.00
blueprint_3d_hdf5_0_8_2_tets_radial0.000.00
blueprint_3d_hdf5_0_8_2_hexs_mesh0.000.00
blueprint_3d_hdf5_0_8_2_hexs_braid0.000.00
blueprint_3d_hdf5_0_8_2_hexs_radial0.000.00
blueprint_3d_hdf5_0_8_2_points_implicit_mesh0.000.00
blueprint_3d_hdf5_0_8_2_points_implicit_braid0.000.00
blueprint_3d_hdf5_0_8_2_points_implicit_radial0.000.00
3D Example YAML Mesh Files, 0.8.2
blueprint_3d_yaml_0_8_2_points_mesh0.000.00
blueprint_3d_yaml_0_8_2_points_braid0.000.00
blueprint_3d_yaml_0_8_2_points_radial0.000.00
blueprint_3d_yaml_0_8_2_uniform_mesh0.000.00
blueprint_3d_yaml_0_8_2_uniform_braid0.000.00
blueprint_3d_yaml_0_8_2_uniform_radial0.000.00
blueprint_3d_yaml_0_8_2_rect_mesh0.000.00
blueprint_3d_yaml_0_8_2_rect_braid0.000.00
blueprint_3d_yaml_0_8_2_rect_radial0.000.00
blueprint_3d_yaml_0_8_2_struct_mesh0.000.00
blueprint_3d_yaml_0_8_2_struct_braid0.000.00
blueprint_3d_yaml_0_8_2_struct_radial0.000.00
blueprint_3d_yaml_0_8_2_tets_mesh0.000.00
blueprint_3d_yaml_0_8_2_tets_braid0.000.00
blueprint_3d_yaml_0_8_2_tets_radial0.000.00
blueprint_3d_yaml_0_8_2_hexs_mesh0.000.00
blueprint_3d_yaml_0_8_2_hexs_braid0.000.00
blueprint_3d_yaml_0_8_2_hexs_radial0.000.00
blueprint_3d_yaml_0_8_2_points_implicit_mesh0.000.00
blueprint_3d_yaml_0_8_2_points_implicit_braid0.000.00
blueprint_3d_yaml_0_8_2_points_implicit_radial0.000.00
Polygonal 2D Example HDF5 Mesh Files, 0.8.2
blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh0.000.00
blueprint_poly_2d_hdf5_0_8_2_mesh_topo_level0.000.00
Polygonal 2D Example YAML Mesh Files, 0.8.2
blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh0.000.00
blueprint_poly_2d_yaml_0_8_2_mesh_topo_level0.000.00
Polygonal 3D Example HDF5 Mesh Files, 0.8.2
blueprint_poly_3d_hdf5_0_8_2_mesh_topo_mesh0.000.00
blueprint_poly_3d_hdf5_0_8_2_mesh_topo_level0.000.00
Polygonal 3D Example YAML Mesh Files, 0.8.2
blueprint_poly_3d_yaml_0_8_2_mesh_topo_mesh0.000.00
blueprint_poly_3d_yaml_0_8_2_mesh_topo_level0.000.00
Blueprint with Partition Map Style Index, 0.8.4
bp_part_map_index_example0.000.00
bp_part_map_index_single_file_example0.000.00
bp_sparse_topos_example0.000.00
bp_part_map_spiral_case_-10.000.00
bp_part_map_spiral_case_00.000.00
bp_part_map_spiral_case_10.000.00
bp_part_map_spiral_case_20.000.00
bp_part_map_spiral_case_30.000.00
bp_part_map_spiral_case_40.000.00
bp_part_map_spiral_case_50.000.00
bp_part_map_spiral_case_60.000.00
bp_part_map_spiral_case_70.000.00
bp_part_map_spiral_case_80.000.00
Blueprint Strided Structured, 0.8.4
bp_strided_struct_2d_ele_vals0.000.00
bp_strided_struct_2d_vert_vals0.000.00
bp_strided_struct_3d_ele_vals0.000.00
bp_strided_struct_3d_vert_vals0.000.00
Blueprint RZ Examples, 0.8.6
blueprint_rz_cyl_rectilinear.root_plot_2D0.000.00
blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D0.000.00
blueprint_rz_cyl_uniform.root_plot_2D0.000.00
blueprint_rz_cyl_uniform.root_plot_revolved_to_3D0.000.00
blueprint_rz_cyl_structured.root_plot_2D0.000.00
blueprint_rz_cyl_structured.root_plot_revolved_to_3D0.000.00
blueprint_rz_cyl_unstructured.root_plot_2D0.000.00
blueprint_rz_cyl_unstructured.root_plot_revolved_to_3D0.000.00
Blueprint 1D Curve Examples, 0.8.6
blueprint_1d_curve_vertex_assoc0.000.00
blueprint_1d_curve_element_assoc0.000.00
Blueprint Polytopal Mesh Missing Offsets, 0.8.7
Polytopal_mesh_missing_offsets0.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_axom_klee.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_axom_klee.html new file mode 100644 index 000000000..fa825b060 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_axom_klee.html @@ -0,0 +1,144 @@ + +Results for databases/blueprint_axom_klee.py + +

Results of VisIt Regression Test - databases/blueprint_axom_klee

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
P0 Material
blueprint_axom_klee_0_000.000.00
P2 Material
blueprint_axom_klee_1_000.000.00
blueprint_axom_klee_1_010.000.00
blueprint_axom_klee_1_020.000.00
blueprint_axom_klee_1_030.000.00
P5 Material
blueprint_axom_klee_2_000.000.00
blueprint_axom_klee_2_010.000.00
blueprint_axom_klee_2_020.000.00
blueprint_axom_klee_2_030.000.00
matvf on HO materials
blueprint_axom_klee_3_000.000.00
blueprint_axom_klee_3_010.000.00
blueprint_axom_klee_3_020.000.00
blueprint_axom_klee_3_030.000.00
blueprint_axom_klee_3_040.000.00
blueprint_axom_klee_3_050.000.00
blueprint_axom_klee_3_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_axom_klee_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_axom_klee_py.html new file mode 100644 index 000000000..7ef83d08e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_axom_klee_py.html @@ -0,0 +1,151 @@ +databases/blueprint_axom_klee.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  blueprint_axom_klee.py 
+#
+#  Tests:      blueprint hdf5 files 
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed May 31 15:59:22 PDT 2023
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("Blueprint")
+from os.path import join as pjoin
+
+def bj_test_helper(datadir, prefix, sectionText):
+    TestSection(sectionText)
+    db = data_path(pjoin("axom_klee_test_data", datadir, "shaping.root"))
+    OpenDatabase(db)
+    AddPlot("FilledBoundary", "shaping_mesh_material")
+    fb = FilledBoundaryAttributes(1)
+    fb.SetMultiColor(0, (255,0,0,255))
+    fb.SetMultiColor(1, (0,255,0,255))
+    fb.SetMultiColor(2, (0,0,255,255))
+    fb.SetMultiColor(3, (0,255,255,255))
+    SetPlotOptions(fb)
+    AddPlot("Mesh", "shaping_mesh")
+    DrawPlots()
+    v = GetView2D()
+    v.windowCoords = (7.83773, 12.304, 8.64959, 13.1412)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    SetView2D(v)
+    SetActivePlots((0,1))
+
+    Test(prefix + "_00")
+
+    # Increase the resolution.
+    AddOperator("MultiresControl", 1)
+    m = MultiresControlAttributes()
+    m.resolution = 4
+    m.maxResolution = 10
+    SetOperatorOptions(m)
+    DrawPlots()
+    Test(prefix + "_01")
+
+    v2 = GetView2D()
+    v2.windowCoords = (9.50025, 10.5163, 10.8769, 11.9097)
+    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    SetView2D(v2)
+    Test(prefix + "_02")
+
+    # Look at one of the volume fractions. It should be refined
+    SetActivePlots(0)
+    DeleteActivePlots()
+    AddPlot("Pseudocolor", "shaping_mesh/vol_frac_steel", 1, 1)
+    DrawPlots()
+    SetView2D(v)
+    Test(prefix + "_03")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test0():
+    TestSection("P0 Material")
+    db = data_path(pjoin("axom_klee_test_data", "heroic_roses_o0", "shaping.root"))
+    OpenDatabase(db)
+
+    AddPlot("FilledBoundary", "shaping_mesh_material")
+    fb = FilledBoundaryAttributes(1)
+    fb.SetMultiColor(0, (0,0,0,255))
+    fb.SetMultiColor(1, (80,80,220,255))
+    fb.SetMultiColor(2, (93,241,160,255))
+    fb.SetMultiColor(3, (0,120,0,255))
+    fb.SetMultiColor(4, (90,100,50,255))
+    fb.SetMultiColor(5, (241,132,171,255))
+    fb.SetMultiColor(6, (184,158,241,255))
+    fb.SetMultiColor(7, (240,0,0,255))
+    fb.SetMultiColor(8, (255,153,0,255))
+    SetPlotOptions(fb)
+    DrawPlots()
+    ResetView()
+    Test("blueprint_axom_klee_0_00")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test1():
+    bj_test_helper("balls_and_jacks_q7o2", "blueprint_axom_klee_1", "P2 Material")
+
+def test2():
+    bj_test_helper("balls_and_jacks_q7o5", "blueprint_axom_klee_2", "P5 Material")
+
+def test3():
+    TestSection("matvf on HO materials")
+    db = data_path(pjoin("axom_klee_test_data", "3mat_q12o12", "shaping.root"))
+    OpenDatabase(db)
+
+    AddPlot("FilledBoundary", "shaping_mesh_material")
+    AddOperator("MultiresControl")
+    op = MultiresControlAttributes()
+    op.resolution = 16
+    SetOperatorOptions(op)
+    DrawPlots()
+    ResetView()
+    Test("blueprint_axom_klee_3_00")
+    DeleteAllPlots()
+
+    DefineScalarExpression("vf_inner", 'matvf(shaping_mesh_material, "inner")')
+    DefineScalarExpression("vf_middle", 'matvf(shaping_mesh_material, "middle")')
+    DefineScalarExpression("vf_outer", 'matvf(shaping_mesh_material, "outer")')
+    AddPlot("Pseudocolor", "vf_inner")
+    AddOperator("MultiresControl")
+    op = MultiresControlAttributes()
+    op.resolution = 3
+    op.maxResolution = 20
+    SetOperatorOptions(op)
+    DrawPlots()
+    Test("blueprint_axom_klee_3_01")
+    op.resolution = 20
+    SetOperatorOptions(op)
+    Test("blueprint_axom_klee_3_02")
+
+    ChangeActivePlotsVar("vf_middle")
+    op.resolution = 3
+    SetOperatorOptions(op)
+    Test("blueprint_axom_klee_3_03")
+    op.resolution = 20
+    SetOperatorOptions(op)
+    Test("blueprint_axom_klee_3_04")
+
+    ChangeActivePlotsVar("vf_outer")
+    op.resolution = 3
+    SetOperatorOptions(op)
+    Test("blueprint_axom_klee_3_05")
+    op.resolution = 20
+    SetOperatorOptions(op)
+    Test("blueprint_axom_klee_3_06")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def main():
+    test0()
+    test1()
+    test2()
+    test3()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_export.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_export.html new file mode 100644 index 000000000..74e715467 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_export.html @@ -0,0 +1,539 @@ + +Results for databases/blueprint_export.py + +

Results of VisIt Regression Test - databases/blueprint_export

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
basic_multi_rect3d.silo_input0.000.00
basic_multi_rect3d.silo_isosurface0.000.00
basic_multi_rect3d.silo_default_exported0.000.00
basic_multi_rect3d.silo_isosurface_exported0.000.00
basic_multi_curv3d.silo_input0.000.00
basic_multi_curv3d.silo_isosurface0.000.00
basic_multi_curv3d.silo_default_exported0.000.00
basic_multi_curv3d.silo_isosurface_exported0.000.00
basic_multi_curv2d.silo_input0.000.00
basic_multi_curv2d.silo_isosurface0.000.00
basic_multi_curv2d.silo_default_exported0.000.00
basic_multi_curv2d.silo_isosurface_exported0.000.00
basic_multi_ucd3d.silo_input0.000.00
basic_multi_ucd3d.silo_isosurface0.000.00
basic_multi_ucd3d.silo_default_exported0.000.00
basic_multi_ucd3d.silo_isosurface_exported0.000.00
basic_multi_rect2d.silo_input0.000.00
basic_multi_rect2d.silo_isosurface0.000.00
basic_multi_rect2d.silo_default_exported0.000.00
basic_multi_rect2d.silo_isosurface_exported0.000.00
Blueprint partition
multi_rect3d.silo0.000.00
multi_rect3d.silo_partition1_0_0.000.00
multi_rect3d.silo_partition1_1_0.000.00
multi_rect3d.silo_partition4_0_0.000.00
multi_rect3d.silo_partition4_1_0.000.00
multi_rect3d.silo_partition19_0_0.000.00
multi_rect3d.silo_partition19_1_0.000.00
multi_rect3d.silo_partition45_0_0.000.00
multi_rect3d.silo_partition45_1_0.000.00
multi_curv3d.silo0.000.00
multi_curv3d.silo_partition1_0_0.000.00
multi_curv3d.silo_partition1_1_0.000.00
multi_curv3d.silo_partition4_0_0.000.00
multi_curv3d.silo_partition4_1_0.000.00
multi_curv3d.silo_partition19_0_0.000.00
multi_curv3d.silo_partition19_1_0.000.00
multi_curv3d.silo_partition45_0_0.000.00
multi_curv3d.silo_partition45_1_0.000.00
multi_ucd3d.silo0.000.00
multi_ucd3d.silo_partition1_0_0.000.00
multi_ucd3d.silo_partition1_1_0.000.00
multi_ucd3d.silo_partition4_0_0.000.00
multi_ucd3d.silo_partition4_1_0.000.00
multi_ucd3d.silo_partition19_0_0.000.00
multi_ucd3d.silo_partition19_1_0.000.00
multi_ucd3d.silo_partition45_0_0.000.00
multi_ucd3d.silo_partition45_1_0.000.00
multi_curv2d.silo0.000.00
multi_curv2d.silo_partition1_0_0.000.00
multi_curv2d.silo_partition1_1_0.000.00
multi_curv2d.silo_partition4_0_0.000.00
multi_curv2d.silo_partition4_1_0.000.00
multi_curv2d.silo_partition7_0_0.000.00
multi_curv2d.silo_partition7_1_0.000.00
multi_curv2d.silo_partition13_0_0.000.00
multi_curv2d.silo_partition13_1_0.000.00
multi_curv2d.silo_partition19_0_0.000.00
multi_curv2d.silo_partition19_1_0.000.00
multi_rect2d.silo0.000.00
multi_rect2d.silo_partition1_0_0.000.00
multi_rect2d.silo_partition1_1_0.000.00
multi_rect2d.silo_partition4_0_0.000.00
multi_rect2d.silo_partition4_1_0.000.00
multi_rect2d.silo_partition7_0_0.000.00
multi_rect2d.silo_partition7_1_0.000.00
multi_rect2d.silo_partition13_0_0.000.00
multi_rect2d.silo_partition13_1_0.000.00
multi_rect2d.silo_partition19_0_0.000.00
multi_rect2d.silo_partition19_1_0.000.00
Extra options
DefaultMesh0.000.00
JSONOptions0.000.00
YAMLOptions0.000.00
OverrideOptions0.000.00
Blueprint flatten
noise.silo.csv-vertex_data.csv0 modifications totalling 0 lines
noise.silo.csv-element_data.csv0 modifications totalling 0 lines
multi_rect3d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
multi_rect3d.silo.csv-element_data.csv0 modifications totalling 0 lines
structured_multi_rect3d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
structured_multi_rect3d.silo.csv-element_data.csv0 modifications totalling 0 lines
unstructured_multi_rect3d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
unstructured_multi_rect3d.silo.csv-element_data.csv0 modifications totalling 0 lines
multi_rect2d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
multi_rect2d.silo.csv-element_data.csv0 modifications totalling 0 lines
structured_multi_rect2d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
structured_multi_rect2d.silo.csv-element_data.csv0 modifications totalling 0 lines
ucd2d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
ucd2d.silo.csv-element_data.csv0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_export_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_export_py.html new file mode 100644 index 000000000..88ee17aba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_export_py.html @@ -0,0 +1,504 @@ +databases/blueprint_export.py
# ----------------------------------------------------------------------------
+#  MODES: serial parallel
+#  CLASSES: nightly
+#
+#  Test Case:  blueprint_export.py
+#
+#  Tests:      Tests blueprint export features "partition" and "flatten".
+#
+#  Programmer: Christopher Laganella
+#  Date:       Tue Dec 14 12:35:16 EST 2021
+#
+#  Modifications:
+#
+#  Chris Laganella, Mon Feb 14 14:39:48 EST 2022
+#  I added a test case for user provided JSON/YAML options
+# ----------------------------------------------------------------------------
+import time
+import sys
+import os.path
+
+# Uncomment these functions to run the script through the regular CLI
+# def Exit():
+#     print("Exiting test...")
+#     return
+
+# def RequiredDatabasePlugin(name):
+#     print("This test requires database plugin " + name)
+#     return
+
+# def TestSection(name):
+#     print("---- " + name + " ----")
+#     return
+
+# def Test(name):
+#     s = SaveWindowAttributes()
+#     s.fileName = name
+#     SetSaveWindowAttributes(s)
+#     SaveWindow()
+#     return
+
+# def TestText(name):
+#     print("Testing text file {}".format(name))
+
+# def silo_data_path(name):
+#     retval = os.path.join("/mnt/data/il/VisIt/VisItClass/data", name)
+#     # print(retval)
+#     return retval
+
+def load_text(file_name):
+    # print("Loading text from {}".format(os.path.abspath(file_name)), file=sys.stderr)
+    with open(file_name, 'r') as f:
+        return f.read()
+
+def set_view(case_name, view=None):
+    if "2d" in case_name:
+        ResetView()
+    else:
+        SetView3D(view)
+
+
+def test_name(case, i):
+    return case + "_" + str(i) + "_"
+
+# Export DB as bp data set
+def export_mesh_bp(case_name, varname):
+    export_name = case_name
+    e = ExportDBAttributes()
+    e.db_type = "Blueprint"
+    e.filename = export_name
+    e.variables = (varname,)
+    ExportDatabase(e)
+    time.sleep(1)
+    return export_name + ".cycle_000000.root"
+
+# Export DB as csv, return the folder name
+def create_csv_output(case_name):
+    export_name = case_name
+    e = ExportDBAttributes()
+    e.db_type = "Blueprint"
+    e.filename = export_name
+    e.variables = ('mesh_coords', 'zc_mesh_coords')
+    opts = GetExportOptions("Blueprint")
+    opts["Operation"] = "Flatten_CSV"
+    ExportDatabase(e, opts)
+    time.sleep(1)
+    return export_name + ".csv"
+
+def test_csv_output(case_name):
+    vert_file = os.path.join(case_name, "vertex_data.csv")
+    elem_file = os.path.join(case_name, "element_data.csv")
+    vert_baseline = case_name + "-" + "vertex_data.csv"
+    elem_baseline = case_name + "-" + "element_data.csv"
+    TestText(vert_baseline, load_text(vert_file))
+    TestText(elem_baseline, load_text(elem_file))
+
+def define_mesh_expressions(mesh_name):
+    DefineScalarExpression("nid", "nodeid({})".format(mesh_name))
+    DefineScalarExpression("zid", "zoneid({})".format(mesh_name))
+    DefineScalarExpression("mesh_coords", "coords({})".format(mesh_name))
+    DefineScalarExpression("zc_mesh_coords", "recenter(mesh_coords, \"zonal\")")
+    return ("nid", "zid", "mesh_coords", "zc_mesh_coords")
+
+# 's' for structured 'r' for rectilinear
+def flatten_multi_2d_case(case):
+    case_name = "multi_rect2d.silo"
+    mesh_name = "mesh1"
+    export_name = case_name
+
+    # Use multi_rect3d to create all cases
+    OpenDatabase(silo_data_path(case_name))
+    AddPlot("Mesh", mesh_name)
+
+    # Define some mesh based variables
+    vars = define_mesh_expressions(mesh_name)
+
+    AddOperator("Resample")
+    ra = ResampleAttributes()
+    ra.samplesX = 5
+    ra.samplesY = 4
+    ra.is3D = 0
+    ra.distributedResample = 1
+    SetOperatorOptions(ra)
+
+    AddOperator("DeferExpression")
+    dea = DeferExpressionAttributes()
+    dea.exprs = vars
+    SetOperatorOptions(dea)
+
+    if case == 's':
+        AddOperator("Transform")
+        ta = TransformAttributes()
+        ta.doRotate = 1
+        # ta.rotateType = "Deg"
+        ta.rotateAmount = 0.00001
+        SetOperatorOptions(ta)
+        export_name = "structured_" + case_name
+
+    DrawPlots()
+
+    # Create csv file
+    export_dir = create_csv_output(export_name)
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path(case_name))
+
+    # Test text
+    test_csv_output(export_dir)
+
+def flatten_multi_2d_unstructured_case():
+    case_name = "ucd2d.silo"
+    mesh_name = "ucdmesh2d"
+    export_name = case_name
+
+    # Use multi_curv2d and remove cells
+    OpenDatabase(silo_data_path(case_name))
+    AddPlot("Mesh", mesh_name)
+
+    # Define some mesh based variables
+    vars = define_mesh_expressions(mesh_name)
+
+    AddOperator("Threshold")
+    ta = ThresholdAttributes()
+    ta.listedVarNames = ("zid",)
+    ta.lowerBounds = (8,)
+    ta.upperBounds = (11,)
+    SetOperatorOptions(ta)
+    export_name = case_name
+
+    AddOperator("DeferExpression")
+    dea = DeferExpressionAttributes()
+    dea.exprs = ("mesh_coords", "zc_mesh_coords")
+    SetOperatorOptions(dea)
+
+    DrawPlots()
+
+    # Create csv file
+    export_dir = create_csv_output(export_name)
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path(case_name))
+
+    # Test text
+    test_csv_output(export_dir)
+
+# case = 'u' for unstructured, 'r' for rectilinear, 's' for structured
+def flatten_multi_3d_case(case):
+    case_name = "multi_rect3d.silo"
+    mesh_name = "mesh1"
+    export_name = case_name
+    # Use multi_rect3d to create all cases
+    OpenDatabase(silo_data_path(case_name))
+    AddPlot("Mesh", mesh_name)
+
+    # Define some mesh based variables
+    vars = define_mesh_expressions(mesh_name)
+
+    AddOperator("Resample")
+    ra = ResampleAttributes()
+    ra.samplesX = 5
+    ra.samplesY = 4
+    ra.samplesZ = 3
+    ra.distributedResample = 1
+    SetOperatorOptions(ra)
+
+    AddOperator("DeferExpression")
+    dea = DeferExpressionAttributes()
+    dea.exprs = vars
+    SetOperatorOptions(dea)
+
+    if case == 'u':
+        AddOperator("Threshold")
+        ta = ThresholdAttributes()
+        ta.listedVarNames = ("zid",)
+        ta.lowerBounds = (1,)
+        SetOperatorOptions(ta)
+        export_name = "unstructured_" + case_name
+    elif case == 's':
+        AddOperator("Transform")
+        ta = TransformAttributes()
+        ta.doRotate = 1
+        # ta.rotateType = "Deg"
+        ta.rotateAmount = 0.00001
+        SetOperatorOptions(ta)
+        export_name = "structured_" + case_name
+    # Do nothing for rectilinear
+
+    DrawPlots()
+
+    # Create csv file
+    export_dir = create_csv_output(export_name)
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path(case_name))
+
+    # Test text
+    test_csv_output(export_dir)
+
+def flatten_noise():
+    case_name = "noise.silo"
+    mesh_name = "Mesh"
+    samples = (5, 4, 3)
+
+    OpenDatabase(silo_data_path(case_name))
+    AddPlot("Mesh", mesh_name)
+
+    # Expose coordinates as variables
+    vars = define_mesh_expressions(mesh_name)
+
+    # Resample
+    AddOperator("Resample")
+    ra = ResampleAttributes()
+    ra.samplesX = samples[0]
+    ra.samplesY = samples[1]
+    ra.samplesZ = samples[2]
+    SetOperatorOptions(ra)
+
+    AddOperator("DeferExpression")
+    dea = DeferExpressionAttributes()
+    dea.exprs = vars
+    SetOperatorOptions(dea)
+
+    DrawPlots()
+
+    # Create the CSV output
+    export_dir = create_csv_output(case_name)
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path(case_name))
+
+    # Test text
+    test_csv_output(export_dir)
+
+def partition_test_case(case_name, targets, view=None):
+    # Write the original dataset
+    OpenDatabase(silo_data_path(case_name))
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    set_view(case_name, view)
+    Test(case_name)
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path(case_name))
+
+    for target in targets:
+        export_name = case_name + "_partition" + str(target)
+        export_filename = export_name + ".cycle_000000.root"
+
+        # Plot the original dataset
+        OpenDatabase(silo_data_path(case_name))
+        AddPlot("Pseudocolor", "u")
+        DrawPlots()
+        set_view(case_name, view)
+
+        # Set the export database attributes.
+        e = ExportDBAttributes()
+        e.db_type = "Blueprint"
+        e.filename = export_name
+        e.variables = ("u")
+        opts = GetExportOptions("Blueprint")
+        opts["Operation"] = "Partition"
+        opts["Partition target number of domains"] = target
+        print("About to partition " + case_name + " into "
+            + str(target) + " blocks.")
+        ExportDatabase(e, opts)
+        time.sleep(1)
+        DeleteAllPlots()
+        CloseDatabase(silo_data_path(case_name))
+
+        OpenDatabase(export_filename)
+        AddPlot("Pseudocolor", "mesh_topo/u")
+        DrawPlots()
+        set_view(case_name, view)
+        Test(test_name(export_name, 0))
+        DeleteAllPlots()
+
+        AddPlot("Subset", "domains")
+        DrawPlots()
+        set_view(case_name, view)
+        Test(test_name(export_name, 1))
+        DeleteAllPlots()
+        CloseDatabase(export_filename)
+
+def partition_test_extra_options():
+    dbname = "multi_rect2d.silo"
+    TestSection("Extra options")
+    OpenDatabase(silo_data_path(dbname))
+    AddPlot("Subset", "domains(mesh1)")
+    DrawPlots()
+    Test("DefaultMesh")
+
+    # Test JSON
+    e0 = ExportDBAttributes()
+    e0.db_type = "Blueprint"
+    e0.filename = "multi_rect2d_json_target_1"
+    e0.variables = ("u")
+    opts0 = GetExportOptions("Blueprint")
+    opts0["Operation"] = "Partition"
+    opts0["Flatten / Partition extra options"] = '{"target": 1}'
+    ExportDatabase(e0, opts0)
+    time.sleep(1)
+
+    # Test YAML
+    e1 = ExportDBAttributes()
+    e1.db_type = "Blueprint"
+    e1.filename = "multi_rect2d_yaml_target_1"
+    e1.variables = ("u")
+    opts1 = GetExportOptions("Blueprint")
+    opts1["Operation"] = "Partition"
+    opts1["Flatten / Partition extra options"]  = 'target: 1'
+    ExportDatabase(e1, opts1)
+    time.sleep(1)
+
+    # Test that the JSON/YAML overrides the options field
+    e2 = ExportDBAttributes()
+    e2.db_type = "Blueprint"
+    e2.filename = "multi_rect2d_override_target_1"
+    e2.variables = ("u")
+    opts2 = GetExportOptions("Blueprint")
+    opts2["Operation"] = "Partition"
+    opts2["Partition target number of domains"] = 13
+    opts2["Flatten / Partition extra options"]  = 'target: 1'
+    ExportDatabase(e2, opts2)
+    time.sleep(1)
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path(dbname))
+
+    OpenDatabase("multi_rect2d_json_target_1.cycle_000000.root")
+    AddPlot("Subset", "domains")
+    DrawPlots()
+    Test("JSONOptions")
+    DeleteAllPlots()
+    CloseDatabase("multi_rect2d_json_target_1.cycle_000000.root")
+
+    OpenDatabase("multi_rect2d_yaml_target_1.cycle_000000.root")
+    AddPlot("Subset", "domains")
+    DrawPlots()
+    Test("YAMLOptions")
+    DeleteAllPlots()
+    CloseDatabase("multi_rect2d_yaml_target_1.cycle_000000.root")
+
+    OpenDatabase("multi_rect2d_override_target_1.cycle_000000.root")
+    AddPlot("Subset", "domains")
+    DrawPlots()
+    Test("OverrideOptions")
+    DeleteAllPlots()
+    CloseDatabase("multi_rect2d_override_target_1.cycle_000000.root")
+
+def basic_test_case(case_name, varname = "d"):
+    OpenDatabase(silo_data_path(case_name))
+    AddPlot("Pseudocolor",varname)
+    DrawPlots()
+    Test("basic_" + case_name + "_input")
+    # export default
+    export_rfile_default = export_mesh_bp(case_name + "_default", varname)
+    # export post isosurface
+    AddOperator("Isosurface")
+    DrawPlots()
+    Test("basic_" + case_name + "_isosurface")
+    export_rfile_isos = export_mesh_bp(case_name + "_isosurface", varname)
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path(case_name))
+
+    OpenDatabase(export_rfile_default)
+    # bp var names are qualified by topo
+    AddPlot("Pseudocolor","mesh_topo/" + varname)
+    DrawPlots()
+    Test("basic_" + case_name + "_default_exported")
+    DeleteAllPlots()
+    CloseDatabase(export_rfile_default)
+
+    OpenDatabase(export_rfile_isos)
+    # bp var names are qualified by topo
+    AddPlot("Pseudocolor", "mesh_topo/" + varname)
+    DrawPlots()
+    Test("basic_" + case_name + "_isosurface_exported")
+    DeleteAllPlots()
+    CloseDatabase(export_rfile_isos)
+
+
+def test_basic():
+    basic_test_case("multi_rect3d.silo")
+    basic_test_case("multi_curv3d.silo")
+    basic_test_case("multi_curv2d.silo")
+    basic_test_case("multi_ucd3d.silo")
+    basic_test_case("multi_rect2d.silo")
+
+def test_flatten():
+    TestSection("Blueprint flatten")
+
+    flatten_noise()
+    flatten_multi_3d_case('r')
+    flatten_multi_3d_case('s')
+    flatten_multi_3d_case('u')
+
+    flatten_multi_2d_case('r')
+    flatten_multi_2d_case('s')
+    flatten_multi_2d_unstructured_case()
+
+def test_partition():
+    TestSection("Blueprint partition")
+
+    # Need a couple different views
+    rect3d_view = GetView3D()
+    rect3d_view.viewNormal = (-0.467474, 0.301847, 0.830877)
+    rect3d_view.focus = (0.5, 0.5, 0.5)
+    rect3d_view.viewUp = (0.140705, 0.953323, -0.267166)
+    rect3d_view.viewAngle = 30
+    rect3d_view.parallelScale = 0.866025
+    rect3d_view.nearPlane = -1.73205
+    rect3d_view.farPlane = 1.73205
+    rect3d_view.imagePan = (-0.0154649, 0.027457)
+    rect3d_view.imageZoom = 1.14276
+    rect3d_view.perspective = 1
+    rect3d_view.eyeAngle = 2
+    rect3d_view.centerOfRotationSet = 0
+    rect3d_view.centerOfRotation = (0.5, 0.5, 0.5)
+    rect3d_view.axis3DScaleFlag = 0
+    rect3d_view.axis3DScales = (1, 1, 1)
+    rect3d_view.shear = (0, 0, 1)
+    rect3d_view.windowValid = 1
+
+    curv3d_view = GetView3D()
+    curv3d_view.viewNormal = (-0.254971, 0.246468, 0.93501)
+    curv3d_view.focus = (0, 2.5, 15)
+    curv3d_view.viewUp = (0.0453522, 0.968953, -0.243049)
+    curv3d_view.viewAngle = 30
+    curv3d_view.parallelScale = 16.0078
+    curv3d_view.nearPlane = -32.0156
+    curv3d_view.farPlane = 32.0156
+    curv3d_view.imagePan = (0, 0)
+    curv3d_view.imageZoom = 1.21
+    curv3d_view.perspective = 1
+    curv3d_view.eyeAngle = 2
+    curv3d_view.centerOfRotationSet = 0
+    curv3d_view.centerOfRotation = (0, 2.5, 15)
+    curv3d_view.axis3DScaleFlag = 0
+    curv3d_view.axis3DScales = (1, 1, 1)
+    curv3d_view.shear = (0, 0, 1)
+    curv3d_view.windowValid = 1
+
+    # Run 3D tests
+    targets_3d = (1, 4, 19, 45)
+    partition_test_case("multi_rect3d.silo",
+        targets_3d, rect3d_view)
+    partition_test_case("multi_curv3d.silo",
+        targets_3d, curv3d_view)
+    partition_test_case("multi_ucd3d.silo",
+        targets_3d, curv3d_view)
+
+    # Run 2D tests
+    targets_2d = (1, 4, 7, 13, 19)
+    partition_test_case("multi_curv2d.silo",
+        targets_2d)
+    partition_test_case("multi_rect2d.silo",
+        targets_2d)
+
+    # Test extra options
+    partition_test_extra_options()
+
+RequiredDatabasePlugin("Blueprint")
+test_basic()
+test_partition()
+test_flatten()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_py.html new file mode 100644 index 000000000..4b3158c18 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_blueprint_py.html @@ -0,0 +1,761 @@ +databases/blueprint.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  blueprint.py 
+#
+#  Tests:      blueprint hdf5 files 
+#
+#  Programmer: Cyrus Harrison
+#  Date:       Thu Jun 16 10:56:37 PDT 2016
+#
+#  Modifications:
+#
+#    Alister Maguire, Fri Jul 17 16:29:50 PDT 2020
+#    Added a test to ensure that variables containing parentheses
+#    are able to be visualized.
+#
+#    Justin Privitera Fri 04 Mar 2022 05:57:49 PM PST
+#    Added tests to test new implicit points topologies.
+# 
+#    Justin Privitera, Mon May 23 17:53:56 PDT 2022
+#    Added polytopal tests.
+# 
+#    Justin Privitera, Mon May 23 17:53:56 PDT 2022
+#    Added mfem lor tests.
+#
+#    Cyrus Harrison, Thu Dec 22 13:53:17 PST 2022
+#    Added bp part map and initial strided structured tests/ 
+#
+#    Cyrus Harrison, Mon, Mar 20, 2023  3:34:04 PM 
+#    Added rz test examples
+# 
+#    Justin Privitera, Wed Mar 22 16:09:52 PDT 2023
+#    Added 1d curve test examples.
+# 
+#    Justin Privitera, Fri Mar 24 17:47:26 PDT 2023
+#    Fixed view issue for mfem lor vector field tests.
+#    Fixed an issue where test names had two consecutive underscores.
+# 
+#    Justin Privitera, Tue Sep 19 11:36:45 PDT 2023
+#    Added a test for material numbers not in the range [0, N)
+# 
+#    Justin Privitera, Wed Oct 25 17:29:07 PDT 2023
+#    Added a test for a polygonal mesh with no offsets.
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("Blueprint")
+
+from os.path import join as pjoin
+
+bp_test_dir = "blueprint_v0.3.1_test_data"
+bp_venn_test_dir = "blueprint_v0.7.0_venn_test_data"
+bp_mfem_test_dir = "blueprint_v0.3.1_mfem_test_data"
+bp_0_8_2_test_dir = "blueprint_v0.8.2_braid_examples_test_data"
+bp_poly_test_dir = "blueprint_v0.8.2_polytess_test_data"
+bp_devilray_mfem_test_dir = "blueprint_v0.8.3_devilray_mfem_test_data"
+bp_part_map_test_dir = "blueprint_v0.8.4_part_map_examples"
+bp_struct_strided_test_dir = "blueprint_v0.8.4_strided_structured_examples"
+bp_rz_test_dir = "blueprint_v0.8.6_rz_examples"
+bp_1d_curve_test_dir = "blueprint_v0.8.6_1d_curve_examples"
+bp_venn_modded_matnos_dir = "blueprint_v0.8.7_venn_modded_matnos_example"
+bp_poly_no_offsets_dir = "blueprint_v0.8.7_polytopal_mesh_no_offsets"
+
+braid_2d_hdf5_root = data_path(pjoin(bp_test_dir,"braid_2d_examples.blueprint_root_hdf5"))
+braid_3d_hdf5_root = data_path(pjoin(bp_test_dir,"braid_3d_examples.blueprint_root_hdf5"))
+
+braid_2d_json_root = data_path(pjoin(bp_test_dir,"braid_2d_examples_json.root"))
+braid_3d_json_root = data_path(pjoin(bp_test_dir,"braid_3d_examples_json.root"))
+
+braid_2d_sidre_root = data_path(pjoin(bp_test_dir,"braid_2d_sidre_examples.root"))
+braid_3d_sidre_root = data_path(pjoin(bp_test_dir,"braid_3d_sidre_examples.root"))
+
+braid_2d_0_8_2_hdf5_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_2d_examples_hdf5.root"))
+braid_3d_0_8_2_hdf5_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_3d_examples_hdf5.root"))
+braid_2d_0_8_2_yaml_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_2d_examples_yaml.root"))
+braid_3d_0_8_2_yaml_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_3d_examples_yaml.root"))
+
+poly_2d_hdf5_root = data_path(pjoin(bp_poly_test_dir,"polytess_example_hdf5.root"))
+poly_2d_yaml_root = data_path(pjoin(bp_poly_test_dir,"polytess_example_yaml.root"))
+poly_3d_hdf5_root = data_path(pjoin(bp_poly_test_dir,"polytess_3d_example_hdf5.root"))
+poly_3d_yaml_root = data_path(pjoin(bp_poly_test_dir,"polytess_3d_example_yaml.root"))
+
+uniform_root = data_path(pjoin(bp_test_dir,"uniform.cycle_001038.root"))
+
+#
+# venn test data (multi material)
+#
+
+venn_full_root  =  data_path(pjoin(bp_venn_test_dir,
+                             "venn_small_example_full_hdf5.root"))
+venn_s_by_e_root  =  data_path(pjoin(bp_venn_test_dir,
+                               "venn_small_example_sparse_by_element_hdf5.root"))
+
+venn_s_by_m_root  =  data_path(pjoin(bp_venn_test_dir,
+                               "venn_small_example_sparse_by_material_hdf5.root"))
+
+venn_full_yaml_root  =  data_path(pjoin(bp_venn_test_dir,
+                             "venn_small_example_full_yaml.root"))
+venn_s_by_e_yaml_root  =  data_path(pjoin(bp_venn_test_dir,
+                               "venn_small_example_sparse_by_element_yaml.root"))
+
+venn_s_by_m_yaml_root  =  data_path(pjoin(bp_venn_test_dir,
+                               "venn_small_example_sparse_by_material_yaml.root"))
+
+venn_modded_matnos_root = data_path(pjoin(bp_venn_modded_matnos_dir,
+                                "venn_w_modded_matnos.root"))
+
+polytopal_mesh_no_offsets_root = data_path(pjoin(bp_poly_no_offsets_dir,
+                                "polytopal_mesh_no_offsets.root"))
+
+bp_part_map_root = data_path(pjoin(bp_part_map_test_dir,
+                             "tout_custom_part_map_index_hdf5.root"))
+
+bp_part_map_single_file_root = data_path(pjoin(bp_part_map_test_dir,
+                                         "tout_single_file_part_map_index_hdf5.root"))
+
+bp_spiral_part_map_examples = []
+for i in range(-1,9):
+    bp_spiral_part_map_examples.append(data_path(pjoin(bp_part_map_test_dir,
+                                       "tout_relay_spiral_mesh_save_nfiles_{0}.cycle_000000.root".format(i))))
+
+bp_sparse_topos_root = data_path(pjoin(bp_part_map_test_dir,
+                                        "tout_relay_bp_mesh_sparse_topos_hdf5.root"))
+
+
+bp_struct_strided_2d_root = data_path(pjoin(bp_struct_strided_test_dir,
+                                      "strided_structured_2d_hdf5.root"));
+
+
+bp_struct_strided_3d_root = data_path(pjoin(bp_struct_strided_test_dir,
+                                      "strided_structured_3d_hdf5.root"));
+
+bp_rz_examples = []
+bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_rectilinear.root")))
+bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_uniform.root")))
+bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_structured.root")))
+bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_unstructured.root")))
+
+bp_1d_curve_examples = [data_path(pjoin(bp_1d_curve_test_dir,"curves_1d.root"))]
+
+braid_2d_meshes = ["points", "uniform", "rect", "struct", "tris","quads"]
+braid_3d_meshes = ["points", "uniform", "rect", "struct", "tets","hexs"]
+
+braid_2d_meshes_0_8_2 = ["points", "uniform", "rect", "struct", "tris","quads", "points_implicit"]
+braid_3d_meshes_0_8_2 = ["points", "uniform", "rect", "struct", "tets","hexs", "points_implicit"]
+
+class mfem_ex9_example:
+    def __init__(self, name, dim):
+        self.name = name
+        self.dim = dim
+
+mfem_ex9_examples = []
+mfem_ex9_examples.append(mfem_ex9_example("periodic_cube", "3d"))
+mfem_ex9_examples.append(mfem_ex9_example("star_q3", "3d"))
+mfem_ex9_examples.append(mfem_ex9_example("periodic_hexagon", "2d"))
+mfem_ex9_protocols = ["json","conduit_bin","conduit_json","hdf5"]
+
+class devilray_mfem_example:
+    def __init__(self, name, number, pseudo_fields, vector_fields, dim):
+        self.name = name
+        self.number = number
+        self.pseudo_fields = pseudo_fields
+        self.vector_fields = vector_fields
+        self.dim = dim
+
+devilray_mfem_examples = []
+devilray_mfem_examples.append(devilray_mfem_example("esher", "000000", ["mesh_nodes_magnitude"], [], "3d"))
+devilray_mfem_examples.append(devilray_mfem_example("laghos_tg.cycle", "000350", ["mesh_nodes_magnitude", "density", "specific_internal_energy", "velocity_magnitude"], ["velocity"], "3d"))
+devilray_mfem_examples.append(devilray_mfem_example("taylor_green.cycle", "001860", ["mesh_nodes_magnitude", "density", "specific_internal_energy", "velocity_magnitude"], ["velocity"], "3d"))
+devilray_mfem_examples.append(devilray_mfem_example("tri_beam", "000000", ["mesh_nodes_magnitude"], ["mesh_nodes"], "2d"))
+devilray_mfem_examples.append(devilray_mfem_example("warbly_cube", "000000", ["mesh_nodes_magnitude"], [], "3d"))
+
+def full_mesh_name(mesh_name):
+    return mesh_name + "_mesh"
+
+def full_var_name(mesh_name,var_name):
+    return full_mesh_name(mesh_name) + "/" + var_name
+
+def mfem_test_file(name, protocol):
+    return data_path(pjoin(bp_mfem_test_dir,"bp_mfem_ex9_%s_%s_000000.root" % ( name, protocol)))
+
+def devilray_mfem_test_file(name, number):
+    return data_path(pjoin(bp_devilray_mfem_test_dir, name + "_" + number + ".root"))
+
+def set_3d_view():
+    v = View3DAttributes()
+    v.viewNormal = (-0.510614, 0.302695, 0.804767)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (-0.0150532, 0.932691, -0.360361)
+    v.viewAngle = 30
+    v.parallelScale = 0.866025
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 0.5, 0.5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+def set_3d_poly_view():
+    v = View3DAttributes()
+    v.viewNormal = (-0.50151, -0.632781, 0.589979)
+    v.focus = (-2.46025e-13, 6.43929e-14, 4.5)
+    v.viewUp = (0.364523, 0.463898, 0.807416)
+    v.viewAngle = 30
+    v.parallelScale = 7.93494
+    v.nearPlane = -15.8699
+    v.farPlane = 15.8699
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (-2.46025e-13, 6.43929e-14, 4.5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+
+def set_test_view(tag_name):
+    if "3d" in tag_name:
+        if "poly" in tag_name:
+            set_3d_poly_view()
+        else:
+            set_3d_view()
+    else:
+        ResetView()
+
+def test(mesh_name,tag_name):
+    #
+    AddPlot("Mesh","%s" % full_mesh_name(mesh_name))
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_" +  mesh_name + "_mesh")
+    DeleteAllPlots()
+    ResetView()
+    #
+    AddPlot("Pseudocolor", full_var_name(mesh_name,"braid"))
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_" +  mesh_name + "_braid")
+    DeleteAllPlots()
+    ResetView()
+    #
+    AddPlot("Pseudocolor", full_var_name(mesh_name,"radial"))
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_" +  mesh_name + "_radial")
+    DeleteAllPlots()
+    ResetView()
+
+def test_poly(tag_name):
+    #
+    AddPlot("Mesh", "mesh_topo")
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_mesh_topo_mesh")
+    DeleteAllPlots()
+    ResetView()
+    #
+    AddPlot("Pseudocolor", "mesh_topo/level")
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_mesh_topo_level")
+    DeleteAllPlots()
+    ResetView()
+
+def test_mfem(tag_name, example_name, protocol):
+    readOptions = GetDefaultFileOpenOptions("Blueprint")
+    readOptions["MFEM LOR Setting"] = "Legacy LOR"
+    SetDefaultFileOpenOptions("Blueprint", readOptions)
+
+    dbfile = mfem_test_file(example_name,protocol)
+    OpenDatabase(dbfile)
+    #
+    AddPlot("Pseudocolor", "mesh_main/solution")
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_" +  example_name + "_" + protocol + "_sol")
+    #
+    DeleteAllPlots()
+    ResetView()
+    AddPlot("Pseudocolor", "mesh_main/element_coloring")
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_" +  example_name + "_" + protocol + "_ele_coloring")
+    #
+    DeleteAllPlots()
+    ResetView()
+    AddPlot("Pseudocolor", "mesh_main/element_attribute")
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_" +  example_name + "_" + protocol + "_ele_att")
+    #
+    DeleteAllPlots()
+    ResetView()
+
+    CloseDatabase(dbfile)
+
+    # reset read options to default
+    readOptions["MFEM LOR Setting"] = "MFEM LOR"
+    SetDefaultFileOpenOptions("Blueprint", readOptions)
+
+def test_mfem_lor_mesh(tag_name, example_name, protocol, devilray = False, number = "000000"):
+    dbfile = ""
+    if (devilray):
+        dbfile = devilray_mfem_test_file(example_name, number)
+    else:
+        dbfile = mfem_test_file(example_name, protocol)
+
+    # get default options
+    readOptions = GetDefaultFileOpenOptions("Blueprint")
+    readOptions["MFEM LOR Setting"] = "MFEM LOR"
+    SetDefaultFileOpenOptions("Blueprint", readOptions)
+    OpenDatabase(dbfile)
+
+    # we want to test a picture of a wireframe
+    # new LOR should only have the outer edge
+    AddPlot("Subset", "mesh_main")
+    SubsetAtts = SubsetAttributes()
+    SubsetAtts.wireframe = 1
+    SetPlotOptions(SubsetAtts)
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_" +  example_name + ("_" + protocol if not devilray else "") + "_lor")
+    DeleteAllPlots()
+    ResetView()
+    CloseDatabase(dbfile)
+
+    ##############################
+
+    # examine legacy
+    readOptions = GetDefaultFileOpenOptions("Blueprint")
+    readOptions["MFEM LOR Setting"] = "Legacy LOR"
+    SetDefaultFileOpenOptions("Blueprint", readOptions)
+    OpenDatabase(dbfile)
+
+    # old LOR leaves a busy wireframe
+    AddPlot("Subset", "mesh_main")
+    SubsetAtts = SubsetAttributes()
+    SubsetAtts.wireframe = 1
+    SetPlotOptions(SubsetAtts)
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_" +  example_name + ("_" + protocol if not devilray else "") + "_legacy_lor")
+    DeleteAllPlots()
+    ResetView()
+    CloseDatabase(dbfile)
+
+    # restore default
+    readOptions = GetDefaultFileOpenOptions("Blueprint")
+    readOptions["MFEM LOR Setting"] = "MFEM LOR"
+    SetDefaultFileOpenOptions("Blueprint", readOptions)
+
+def test_mfem_lor_field(tag_name, name, number, pseudocolor_fields, vector_fields):
+    readOptions = GetDefaultFileOpenOptions("Blueprint")
+    readOptions["MFEM LOR Setting"] = "MFEM LOR"
+    SetDefaultFileOpenOptions("Blueprint", readOptions)
+    dbfile = devilray_mfem_test_file(name, number)
+    OpenDatabase(dbfile)
+
+    for field in pseudocolor_fields:
+        AddPlot("Pseudocolor", "mesh_main/" + field, 1, 1)
+        AddOperator("MultiresControl", 1)
+        SetActivePlots(0)
+        MultiresControlAtts = MultiresControlAttributes()
+        MultiresControlAtts.resolution = 3
+        SetOperatorOptions(MultiresControlAtts, 0, 1)
+        set_test_view(tag_name)
+        DrawPlots()
+        Test(tag_name + "_" + name + "_pseudocolor_" + field + "_lor")
+        DeleteAllPlots()
+        ResetView()
+
+    for field in vector_fields:
+        AddPlot("Vector", "mesh_main/" + field, 1, 1)
+        AddOperator("MultiresControl", 1)
+        SetActivePlots(0)
+        MultiresControlAtts = MultiresControlAttributes()
+        MultiresControlAtts.resolution = 3
+        SetOperatorOptions(MultiresControlAtts, 0, 1)
+        set_test_view(tag_name)
+        DrawPlots()
+        Test(tag_name + "_" + name + "_vector_" + field + "_lor")
+        DeleteAllPlots()
+        ResetView()
+
+    CloseDatabase(dbfile)
+
+def test_venn(tag_name, venn_db_file):
+    TestSection("Blueprint Matset Example Tests: {0} ".format(tag_name))
+    OpenDatabase(venn_db_file)
+    AddPlot("Pseudocolor", "mesh_topo/mat_check")
+    set_test_view(tag_name)
+    DrawPlots()
+    Test(tag_name + "_mat_check")
+    # value check
+    Query("minmax")
+    res = GetQueryOutputObject()
+    print(res)
+    # We expect:
+    #int(res["max"]) == 4320
+    #int(res["min"]) == 1
+    TestValueEQ("testeq_t_mat_check_max",int(res["max"]),4320)
+    TestValueEQ("testeq_mat_check_min",int(res["min"]),1)
+    DeleteAllPlots()
+    ResetView()
+
+
+    TestSection("Blueprint Matset Example Tests: {0} Matvf Exprs".format(tag_name))
+
+    # check all volume fractions
+    vf_exprs = {"vf_bg":'matvf(mesh_topo_matset,"background")',
+                "vf_c_a":'matvf(mesh_topo_matset,"circle_a")',
+                "vf_c_b":'matvf(mesh_topo_matset,"circle_b")',
+                "vf_c_c":'matvf(mesh_topo_matset,"circle_c")'}
+
+    for ename,edef in vf_exprs.items():
+        DefineScalarExpression(ename,edef);
+        AddPlot("Pseudocolor", ename)
+        set_test_view(tag_name)
+        DrawPlots()
+        Test(tag_name + "_" + ename)
+        # value check
+        Query("minmax")
+        res = GetQueryOutputObject()
+        print(res)
+        # We expect:
+        #res["max"] == 1.0
+        #res["min"] == 0.0
+        TestValueEQ("testeq_" + ename + "_max",res["max"],1.0)
+        TestValueEQ("testeq_" + ename + "_min",res["min"],0.0)
+        DeleteAllPlots()
+        ResetView()
+
+    TestSection("Blueprint Matset Example Tests: {0} Val4mat Exprs".format(tag_name))
+
+    # check all volume fractions
+    v4m_exprs = {"v4m_bg":'val4mat(<mesh_topo/mat_check>,"background")',
+                 "v4m_c_a":'val4mat(<mesh_topo/mat_check>,"circle_a")',
+                 "v4m_c_b":'val4mat(<mesh_topo/mat_check>,"circle_b")',
+                 "v4m_c_c":'val4mat(<mesh_topo/mat_check>,"circle_c")'}
+
+    v4m_test_vals = {"v4m_bg":     1,
+                     "v4m_c_a":   20,
+                     "v4m_c_b":  300,
+                     "v4m_c_c": 4000}
+
+    for ename,edef in v4m_exprs.items():
+        DefineScalarExpression(ename,edef);
+        AddPlot("Pseudocolor", ename)
+        set_test_view(tag_name)
+        DrawPlots()
+        Test(tag_name + "_" + ename)
+        # value check
+        Query("minmax")
+        # We expect:
+        res = GetQueryOutputObject()
+        print(res)
+        #int(res["max"]) == v4m_test_vals[ename]
+        #int(res["min"]) == 0
+        TestValueEQ("testeq_" + ename + "_max",int(res["max"]),v4m_test_vals[ename])
+        TestValueEQ("testeq_" + ename + "_min",int(res["min"]),0)
+        DeleteAllPlots()
+        ResetView()
+
+
+    CloseDatabase(venn_db_file)
+
+def test_rz_example(tag_name, rz_db_file):
+    OpenDatabase(rz_db_file)
+    AddPlot("Pseudocolor", "mesh_topo/cyl")
+    AddPlot("Mesh", "mesh_topo")
+    DrawPlots()
+    ResetView()
+    Test(tag_name + "_plot_2D")
+    DeleteAllPlots()
+    ResetView()
+    # now revolve
+    AddPlot("Pseudocolor", "mesh_topo/cyl")
+    AddOperator("Revolve")
+    DrawPlots()
+    ResetView()
+    Test(tag_name + "_plot_revolved_to_3D")
+    DeleteAllPlots()
+    ResetView()
+    CloseDatabase(rz_db_file)
+
+
+def test_paren_vars():
+    TestSection("Variables With Parens")
+
+    #
+    # Testing bugfix for issue #4882.
+    #
+    OpenDatabase(uniform_root)
+    AddPlot("Pseudocolor", "mesh_topo/rho.Y_lp_CH2O_rp_")
+    set_test_view("3d")
+    DrawPlots()
+    Test("paren_vars_00")
+
+    DeleteAllPlots()
+    ResetView()
+    CloseDatabase(uniform_root)
+
+
+TestSection("2D Example JSON Mesh Files")
+OpenDatabase(braid_2d_json_root)
+for mesh_name in braid_2d_meshes:
+    test(mesh_name,"blueprint_2d_json")
+CloseDatabase(braid_2d_json_root)
+
+TestSection("2D Example HDF5 Mesh Files")
+OpenDatabase(braid_2d_hdf5_root)
+for mesh_name in braid_2d_meshes:
+    test(mesh_name,"blueprint_2d_hdf5")
+CloseDatabase(braid_2d_hdf5_root)
+
+TestSection("2D Example Sidre HDF5 Mesh Files")
+OpenDatabase(braid_2d_sidre_root)
+for mesh_name in braid_2d_meshes:
+    test(mesh_name,"blueprint_2d_sidre_hdf5")
+CloseDatabase(braid_2d_sidre_root)
+
+TestSection("3D Example JSON Mesh Files")
+OpenDatabase(braid_3d_json_root)
+for mesh_name in braid_3d_meshes:
+    test(mesh_name,"blueprint_3d_json")
+CloseDatabase(braid_3d_json_root)
+
+TestSection("3D Example HDF5 Mesh Files")
+OpenDatabase(braid_3d_hdf5_root)
+for mesh_name in braid_3d_meshes:
+    test(mesh_name,"blueprint_3d_hdf5")
+CloseDatabase(braid_3d_hdf5_root)
+
+TestSection("3D Example Sidre HDF5 Mesh Files")
+OpenDatabase(braid_3d_sidre_root)
+for mesh_name in braid_3d_meshes:
+    test(mesh_name,"blueprint_3d_sidre_hdf5")
+CloseDatabase(braid_3d_sidre_root)
+
+TestSection("MFEM Blueprint Example Data Tests")
+for example in mfem_ex9_examples:
+    for protocol in mfem_ex9_protocols:
+        test_mfem("blueprint_mfem_" + example.dim, example.name, protocol)
+
+TestSection("MFEM LOR Mesh Blueprint Tests")
+for example in mfem_ex9_examples:
+    for protocol in mfem_ex9_protocols:
+        test_mfem_lor_mesh("blueprint_mfem_" + example.dim, example.name, protocol)
+for example in devilray_mfem_examples:
+    test_mfem_lor_mesh("blueprint_mfem_" + example.dim, example.name, "", devilray = True, number = example.number)
+
+TestSection("MFEM LOR Field Blueprint Tests")
+for example in devilray_mfem_examples:
+    test_mfem_lor_field("blueprint_mfem_" + example.dim, example.name, example.number, example.pseudo_fields, example.vector_fields)
+
+TestSection("Blueprint Expressions")
+OpenDatabase(braid_2d_json_root)
+AddPlot("Pseudocolor", "uniform_mesh/scalar_expr")
+AddPlot("Vector", "uniform_mesh/vector_expr")
+DrawPlots()
+set_test_view("2d")
+Test("blueprint_expressions")
+DeleteAllPlots()
+ResetView()
+CloseDatabase(braid_2d_json_root)
+
+test_paren_vars()
+
+test_venn("venn_small_full", venn_full_root)
+test_venn("venn_small_sparse_by_element", venn_s_by_e_root)
+test_venn("venn_small_sparse_by_material", venn_s_by_m_root)
+
+test_venn("venn_small_full_yaml", venn_full_yaml_root)
+test_venn("venn_small_sparse_by_element_yaml", venn_s_by_e_yaml_root)
+test_venn("venn_small_sparse_by_material_yaml", venn_s_by_m_yaml_root)
+
+TestSection("Venn With Modded Material Numbers, 0.8.7")
+OpenDatabase(venn_modded_matnos_root)
+AddPlot("FilledBoundary", "mesh_topo_matset")
+DrawPlots()
+ResetView()
+Test("Venn_with_modded_matnos")
+DeleteAllPlots()
+ResetView()
+
+TestSection("2D Example HDF5 Mesh Files, 0.8.2")
+OpenDatabase(braid_2d_0_8_2_hdf5_root)
+for mesh_name in braid_2d_meshes_0_8_2:
+    test(mesh_name,"blueprint_2d_hdf5_0_8_2")
+CloseDatabase(braid_2d_0_8_2_hdf5_root)
+
+TestSection("2D Example YAML Mesh Files, 0.8.2")
+OpenDatabase(braid_2d_0_8_2_yaml_root)
+for mesh_name in braid_2d_meshes_0_8_2:
+    test(mesh_name,"blueprint_2d_yaml_0_8_2")
+CloseDatabase(braid_2d_0_8_2_yaml_root)
+
+TestSection("3D Example HDF5 Mesh Files, 0.8.2")
+OpenDatabase(braid_3d_0_8_2_hdf5_root)
+for mesh_name in braid_3d_meshes_0_8_2:
+    test(mesh_name,"blueprint_3d_hdf5_0_8_2")
+CloseDatabase(braid_3d_0_8_2_hdf5_root)
+
+TestSection("3D Example YAML Mesh Files, 0.8.2")
+OpenDatabase(braid_3d_0_8_2_yaml_root)
+for mesh_name in braid_3d_meshes_0_8_2:
+    test(mesh_name,"blueprint_3d_yaml_0_8_2")
+CloseDatabase(braid_3d_0_8_2_yaml_root)
+
+# test polygonal mesh
+TestSection("Polygonal 2D Example HDF5 Mesh Files, 0.8.2")
+OpenDatabase(poly_2d_hdf5_root)
+test_poly("blueprint_poly_2d_hdf5_0_8_2")
+CloseDatabase(poly_2d_hdf5_root)
+
+TestSection("Polygonal 2D Example YAML Mesh Files, 0.8.2")
+OpenDatabase(poly_2d_yaml_root)
+test_poly("blueprint_poly_2d_yaml_0_8_2")
+CloseDatabase(poly_2d_yaml_root)
+
+# test 3d polygonal mesh
+TestSection("Polygonal 3D Example HDF5 Mesh Files, 0.8.2")
+OpenDatabase(poly_3d_hdf5_root)
+test_poly("blueprint_poly_3d_hdf5_0_8_2")
+CloseDatabase(poly_3d_hdf5_root)
+
+TestSection("Polygonal 3D Example YAML Mesh Files, 0.8.2")
+OpenDatabase(poly_3d_yaml_root)
+test_poly("blueprint_poly_3d_yaml_0_8_2")
+CloseDatabase(poly_3d_yaml_root)
+
+
+TestSection("Blueprint with Partition Map Style Index, 0.8.4")
+OpenDatabase(bp_part_map_root)
+AddPlot("Subset","domains")
+DrawPlots()
+Test("bp_part_map_index_example")
+DeleteAllPlots()
+CloseDatabase(bp_part_map_root)
+# single file test case
+OpenDatabase(bp_part_map_single_file_root)
+AddPlot("Pseudocolor","mesh_mesh/braid")
+DrawPlots()
+Test("bp_part_map_index_single_file_example")
+DeleteAllPlots()
+CloseDatabase(bp_part_map_single_file_root)
+# sparse topos case
+# single file test case
+OpenDatabase(bp_sparse_topos_root)
+AddPlot("Pseudocolor","mesh_topo/topo_field")
+AddPlot("Pseudocolor","mesh_pts_topo/pts_field")
+# change plot adds so we can see the points
+pc_atts = PseudocolorAttributes()
+pc_atts.pointSize = 1
+pc_atts.pointType = pc_atts.Sphere
+SetPlotOptions(pc_atts)
+DrawPlots()
+Test("bp_sparse_topos_example")
+DeleteAllPlots()
+CloseDatabase(bp_sparse_topos_root)
+
+# other spiral test cases, which have both index styles
+for i, root_file in enumerate(bp_spiral_part_map_examples):
+    OpenDatabase(root_file)
+    AddPlot("Subset","domains")
+    DrawPlots()
+    # spiral cases are labeled -1 to 8
+    case_name = "bp_part_map_spiral_case_{0}".format(i-1)
+    Test(case_name)
+    DeleteAllPlots()
+    CloseDatabase(root_file)
+
+
+TestSection("Blueprint Strided Structured, 0.8.4")
+# 2d
+OpenDatabase(bp_struct_strided_2d_root)
+# ele vals
+AddPlot("Pseudocolor", "mesh_mesh/ele_vals")
+AddPlot("Pseudocolor", "mesh_orig_pts/orig_ele_vals")
+pc_atts = PseudocolorAttributes()
+pc_atts.pointSize = 0.5
+pc_atts.pointType = pc_atts.Sphere
+SetPlotOptions(pc_atts)
+DrawPlots()
+Test("bp_strided_struct_2d_ele_vals")
+DeleteAllPlots()
+# vert vals
+AddPlot("Pseudocolor", "mesh_mesh/vert_vals")
+AddPlot("Pseudocolor", "mesh_orig_pts/orig_vert_vals")
+pc_atts = PseudocolorAttributes()
+pc_atts.pointSize = 0.5
+pc_atts.pointType = pc_atts.Sphere
+SetPlotOptions(pc_atts)
+DrawPlots()
+Test("bp_strided_struct_2d_vert_vals")
+DeleteAllPlots()
+CloseDatabase(bp_struct_strided_2d_root)
+
+# 2d
+OpenDatabase(bp_struct_strided_3d_root)
+# ele vals
+AddPlot("Pseudocolor", "mesh_mesh/ele_vals")
+AddPlot("Pseudocolor", "mesh_orig_pts/orig_ele_vals")
+pc_atts = PseudocolorAttributes()
+pc_atts.pointSize = 0.5
+pc_atts.pointType = pc_atts.Sphere
+SetPlotOptions(pc_atts)
+DrawPlots()
+Test("bp_strided_struct_3d_ele_vals")
+DeleteAllPlots()
+# vert vals
+AddPlot("Pseudocolor", "mesh_mesh/vert_vals")
+AddPlot("Pseudocolor", "mesh_orig_pts/orig_vert_vals")
+pc_atts = PseudocolorAttributes()
+pc_atts.pointSize = 0.5
+pc_atts.pointType = pc_atts.Sphere
+SetPlotOptions(pc_atts)
+DrawPlots()
+Test("bp_strided_struct_3d_vert_vals")
+DeleteAllPlots()
+CloseDatabase(bp_struct_strided_3d_root)
+
+TestSection("Blueprint RZ Examples, 0.8.6")
+for db in bp_rz_examples:
+    tag_name = os.path.basename(os.path.split(db)[1])
+    test_rz_example(tag_name,db)
+
+TestSection("Blueprint 1D Curve Examples, 0.8.6")
+for db in bp_1d_curve_examples:
+    OpenDatabase(db)
+    AddPlot("Curve", "mesh_topo/field_v")
+    DrawPlots()
+    Test("blueprint_1d_curve_vertex_assoc")
+    DeleteAllPlots()
+    AddPlot("Curve", "mesh_topo/field_e")
+    DrawPlots()
+    Test("blueprint_1d_curve_element_assoc")
+    DeleteAllPlots()
+
+TestSection("Blueprint Polytopal Mesh Missing Offsets, 0.8.7")
+OpenDatabase(polytopal_mesh_no_offsets_root)
+AddPlot("Mesh", "mesh_test")
+AddPlot("Pseudocolor", "mesh_test/field")
+DrawPlots()
+ResetView()
+Test("Polytopal_mesh_missing_offsets")
+DeleteAllPlots()
+ResetView()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_bov.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_bov.html new file mode 100644 index 000000000..67a92cbf8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_bov.html @@ -0,0 +1,423 @@ + +Results for databases/bov.py + +

Results of VisIt Regression Test - databases/bov

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Reading BOV file of FLOAT
bov_0_000.000.00
bov_0_010 modifications totalling 0 lines
bov_0_020.000.00
bov_0_030.000.00
bov_0_040.000.00
bov_0_050.000.00
bov_0_060.000.00
Decomposing BOV of FLOAT into smaller bricks
bov_1_000.000.00
bov_1_010 modifications totalling 0 lines
bov_1_020.000.00
bov_1_030.000.00
bov_1_040.000.00
bov_1_050.000.00
bov_1_060.000.00
Decomposing BOV of FLOAT with small header into smaller bricks
bov_2_000.000.00
bov_2_010 modifications totalling 0 lines
bov_2_020.000.00
bov_2_030.000.00
bov_2_040.000.00
bov_2_050.000.00
bov_2_060.000.00
Reading BOV file of DOUBLE
bov_3_000.000.00
bov_3_010 modifications totalling 0 lines
bov_3_020.000.00
bov_3_030.000.00
bov_3_040.000.00
bov_3_050.000.00
bov_3_060.000.00
Decomposing BOV of DOUBLE into smaller bricks
bov_4_000.000.00
bov_4_010 modifications totalling 0 lines
bov_4_020.000.00
bov_4_030.000.00
bov_4_040.000.00
bov_4_050.000.00
bov_4_060.000.00
Decomposing BOV of DOUBLE with small header into smaller bricks
bov_5_000.000.00
bov_5_010 modifications totalling 0 lines
bov_5_020.000.00
bov_5_030.000.00
bov_5_040.000.00
bov_5_050.000.00
bov_5_060.000.00
Reading BOV file of INT
bov_6_000.000.00
bov_6_010 modifications totalling 0 lines
bov_6_020.000.00
bov_6_030.000.00
bov_6_040.000.00
bov_6_050.000.00
bov_6_060.000.00
Decomposing BOV of INT into smaller bricks
bov_7_000.000.00
bov_7_010 modifications totalling 0 lines
bov_7_020.000.00
bov_7_030.000.00
bov_7_040.000.00
bov_7_050.000.00
bov_7_060.000.00
Decomposing BOV of INT with small header into smaller bricks
bov_8_000.000.00
bov_8_010 modifications totalling 0 lines
bov_8_020.000.00
bov_8_030.000.00
bov_8_040.000.00
bov_8_050.000.00
bov_8_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_bov_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_bov_py.html new file mode 100644 index 000000000..dd2508050 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_bov_py.html @@ -0,0 +1,205 @@ +databases/bov.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  bov.py
+#
+#  Tests:      mesh      - 3D rectilinear, multiple domain
+#              plots     - Pseudocolor, Subset, Label, Contour
+#              operators - Slice
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Mar 17 14:37:45 PST 2006
+#
+#  Modifications:
+#    Brad Whitlock, Thu May 4 14:02:29 PST 2006
+#    Added testing of INT and DOUBLE BOV files.
+#
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Replace obsolete Label text attributes with new versions.
+#
+# ----------------------------------------------------------------------------
+
+def SaveTestImage(name):
+    # Save these images somewhat larger than a regular test case image
+    # since the images contain a lot of text.
+    backup = GetSaveWindowAttributes()
+    swa = SaveWindowAttributes()
+    swa.width = 500
+    swa.height = 500
+    swa.screenCapture = 0
+    Test(name, swa)
+    SetSaveWindowAttributes(backup)
+
+def TestBOVDivide(prefix, db, doSubset):
+    # Take a picture to make sure that the division took. There will be
+    # a lot of bricks.
+    OpenDatabase(db)
+
+    if doSubset:
+        AddPlot("Subset", "bricks")
+        subAtts = SubsetAttributes()
+        subAtts.legendFlag = 0
+        SetPlotOptions(subAtts)
+    else:
+        AddPlot("Pseudocolor", "myvar")
+    DrawPlots()
+    v = View3DAttributes()
+    v.viewNormal = (0.534598, 0.40012, 0.744385)
+    v.focus = (15, 15, 15)
+    v.viewUp = (-0.228183, 0.916444, -0.32873)
+    v.viewAngle = 30
+    v.parallelScale = 8.66025
+    v.nearPlane = -17.3205
+    v.farPlane = 17.3205
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (15, 15, 15)
+    SetView3D(v)
+    Test(prefix + "00")
+
+    # Make sure there are the right number of zones.
+    Query("NumZones",use_actual_data=0)
+    TestText(prefix + "01", GetQueryOutputString())
+
+    # Let's slice a few times to make sure that crucial areas have the
+    # right values
+    AddPlot("Mesh", "mesh")
+    AddPlot("Label", "myvar")
+    L = LabelAttributes()
+    L.textFont1.scale = 5
+    L.textFont2.scale = 5
+    SetPlotOptions(L)
+    SetActivePlots((0,1,2))
+    AddOperator("Slice")
+    s = SliceAttributes()
+    s.originType = s.Intercept  # Point, Intercept, Percent, Zone, Node
+    s.originIntercept = 10.001
+    s.normal = (0, 0, 1)
+    s.axisType = s.ZAxis  # XAxis, YAxis, ZAxis, Arbitrary
+    s.upAxis = (0, 1, 0)
+    s.project2d = 1
+    SetOperatorOptions(s)
+    DrawPlots()
+    v2 = GetView2D()
+    v2.windowCoords = (12.0201, 13.0004, 9.99781, 10.9888)
+    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v2.fullFrameActivationMode = v2.Auto  # On, Off, Auto
+    v2.fullFrameAutoThreshold = 100
+    SetView2D(v2)
+    SaveTestImage(prefix+"02")
+
+    # Move to another slice on the far edge that will have the max zone #
+    s.originIntercept = 19.998
+    SetOperatorOptions(s)
+    v3 = View2DAttributes()
+    v3.windowCoords = (19.2017, 20.0179, 19.1966, 20.0217)
+    v3.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v3.fullFrameActivationMode = v3.Auto  # On, Off, Auto
+    v3.fullFrameAutoThreshold = 100
+    SetView2D(v3)
+    SaveTestImage(prefix+"03")
+
+    # Move to another slice in the middle.
+    s.originIntercept = 15.01
+    SetOperatorOptions(s)
+    v4 = View2DAttributes()
+    v4.windowCoords = (14.6419, 15.361, 15.638, 16.365)
+    v4.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v4.fullFrameActivationMode = v4.Auto  # On, Off, Auto
+    v4.fullFrameAutoThreshold = 100
+    SetView2D(v4)
+    SaveTestImage(prefix+"04")
+    DeleteAllPlots()
+
+    # Test that ghost zones are right.
+    AddPlot("Pseudocolor", "myvar")
+    p = PseudocolorAttributes()
+    p.SetOpacityType(p.Constant)
+    p.opacity = 0.25
+    SetPlotOptions(p)
+    DrawPlots()
+    v5 = View3DAttributes()
+    v5.viewNormal = (0.772475, 0.402431, 0.491255)
+    v5.focus = (15, 15, 15)
+    v5.viewUp = (-0.355911, 0.915018, -0.18992)
+    v5.viewAngle = 30
+    v5.parallelScale = 8.66025
+    v5.nearPlane = -17.3205
+    v5.farPlane = 17.3205
+    v5.imagePan = (-0.0253114, 0.0398304)
+    v5.imageZoom = 1.20806
+    v5.perspective = 1
+    v5.eyeAngle = 2
+    v5.centerOfRotationSet = 0
+    v5.centerOfRotation = (15, 15, 15)
+    SetView3D(v5)
+    Test(prefix+"05")
+
+    # Zoom in on a contour plot to make sure that there are no tears.
+    # This means that the ghost zones were created properly.
+    ClearWindow()
+    p.SetOpacityType(p.FullyOpaque)
+    SetPlotOptions(p)
+    AddOperator("Isosurface")
+    iso = IsosurfaceAttributes()
+    iso.variable = "radial"
+    SetOperatorOptions(iso)
+    DrawPlots()
+    v6 = View3DAttributes()
+    v6.viewNormal = (0.373168, 0.412282, 0.831125)
+    v6.focus = (15, 15, 15)
+    v6.viewUp = (-0.181836, 0.910964, -0.370244)
+    v6.viewAngle = 30
+    v6.parallelScale = 8.66025
+    v6.nearPlane = -17.3205
+    v6.farPlane = 17.3205
+    v6.imagePan = (0.0994254, 0.0810457)
+    v6.imageZoom = 1.94126
+    v6.perspective = 1
+    v6.eyeAngle = 2
+    v6.centerOfRotationSet = 0
+    v6.centerOfRotation = (15, 15, 15)
+    SetView3D(v6)
+    Test(prefix+"06")
+    DeleteAllPlots()
+
+    CloseDatabase(db)
+
+def TestBOVType(bovtype, prefixes):
+    # Test the original BOV file without it being divided.
+    TestSection("Reading BOV file of %s" % bovtype)
+    TestBOVDivide(prefixes[0], data_path("bov_test_data/%s_indices.bov") % bovtype, 0)
+
+    #
+    # Test 2 BOV files that are being subdivided into smaller bricks
+    # by the BOV plugin so that there are multiple domains that
+    # can be processed in parallel.
+    #
+    TestSection("Decomposing BOV of %s into smaller bricks" % bovtype)
+    TestBOVDivide(prefixes[1], data_path("bov_test_data/%s_indices_div.bov") % bovtype, 1)
+
+    TestSection("Decomposing BOV of %s with small header into smaller bricks" % bovtype)
+    TestBOVDivide(prefixes[2], data_path("bov_test_data/%s_indices_div_with_header.bov") % bovtype, 1)
+
+
+def main():
+    # Define some expressions
+    DefineScalarExpression("x", "coord(mesh)[0]")
+    DefineScalarExpression("y", "coord(mesh)[1]")
+    DefineScalarExpression("z", "coord(mesh)[2]")
+    DefineScalarExpression("dx", "x - 15.")
+    DefineScalarExpression("dy", "y - 15.")
+    DefineScalarExpression("dz", "z - 15.")
+    DefineScalarExpression("radial", "sqrt(dx*dx + dy*dy + dz*dz)")
+
+    TestBOVType("FLOAT",  ("bov_0_", "bov_1_", "bov_2_"))
+    TestBOVType("DOUBLE", ("bov_3_", "bov_4_", "bov_5_"))
+    TestBOVType("INT",    ("bov_6_", "bov_7_", "bov_8_"))
+
+    Exit()
+
+main()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_boxlib.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_boxlib.html new file mode 100644 index 000000000..86dfa060e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_boxlib.html @@ -0,0 +1,80 @@ + +Results for databases/boxlib.py + +

Results of VisIt Regression Test - databases/boxlib

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
boxlib_010.000.00
boxlib_020.000.00
boxlib_030.000.00
boxlib_040.000.00
boxlib_050.000.00
boxlib_060.000.00
temperature1 min
 295.40999999999997 .eq. 295.40999999999997 (prec=15) : True
temperature1 max
 295.4100000000001 .eq. 295.4100000000001 (prec=15) : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_boxlib_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_boxlib_py.html new file mode 100644 index 000000000..cca653d05 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_boxlib_py.html @@ -0,0 +1,119 @@ +databases/boxlib.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  boxlib.py
+#
+#  Tests:      mesh      - 2D AMR
+#              plots     - Pseudocolor, mesh, boundary, subset
+#
+#  Defect ID:  none
+#
+#  Programmer: Hank Childs
+#  Date:       March 31, 2005
+#
+#  Modifications:
+#  
+#    Mark C. Miller, Mon Sep 15 12:05:44 PDT 2008
+#    Added 3D test
+#
+#    Mark C. Miller, Mon Jan 11 10:40:34 PST 2021
+#    Replace Assert-style with TestValue-style tests.
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin(("Boxlib2D", "Boxlib3D"))
+
+
+OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
+
+AddPlot("Pseudocolor", "density")
+AddPlot("Boundary", "materials")
+b = BoundaryAttributes()
+b.colorType = b.ColorBySingleColor
+b.lineWidth = 2
+SetPlotOptions(b)
+
+AddPlot("Subset", "patches")
+s = SubsetAttributes()
+s.wireframe = 1
+s.colorType = s.ColorBySingleColor
+s.singleColor = (255, 255, 255, 128)
+s.lineWidth = 3
+SetPlotOptions(s)
+
+DrawPlots()
+
+v = GetView2D()
+v.viewportCoords = (0, 1, 0, 1)
+v.windowCoords = (0, 0.04, 0.09, 0.13)
+SetView2D(v)
+
+Test("boxlib_01")
+
+SetActivePlots((0,1,2))
+s = SILRestriction()
+levels = s.SetsInCategory("levels")
+level2 = levels[2]
+s.TurnOffSet(level2)
+SetPlotSILRestriction(s)
+Test("boxlib_02")
+
+s.TurnOnAll()
+level0 = levels[0]
+s.TurnOffSet(level0)
+SetPlotSILRestriction(s)
+Test("boxlib_03")
+
+DeleteAllPlots()
+CloseDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
+
+OpenDatabase(data_path("boxlib_test_data/3D/plt_asgc05_0309/Header"))
+
+AddPlot("Pseudocolor","tracer")
+DrawPlots()
+ResetView()
+v=GetView3D()
+v.RotateAxis(2,-45.0)
+v.RotateAxis(0,65.0)
+SetView3D(v)
+Test("boxlib_04")
+
+DeleteAllPlots()
+CloseDatabase(data_path("boxlib_test_data/3D/plt_asgc05_0309/Header"))
+
+OpenDatabase(data_path("boxlib_test_data/3D/plt00000.cartgrid.body.small/Header"))
+
+AddPlot("Pseudocolor", "temperature")
+AddOperator("ThreeSlice")
+DrawPlots()
+ResetView()
+v = GetView3D()
+v.RotateAxis(1,45)
+v.RotateAxis(0,45)
+SetView3D(v)
+Test("boxlib_05")
+
+silr = SILRestriction()
+silr.TurnOnAll()
+silr.TurnOffSet(silr.SetsInCategory('materials')[1])
+SetPlotSILRestriction(silr)
+Test("boxlib_06")
+
+# Test precision {
+#
+# Test double precision is working by reading a known double precision
+# database and ensuring we get expected min/max values within 15 digits
+# of accuracy.
+#
+DeleteAllPlots()
+CloseDatabase(data_path("boxlib_test_data/3D/plt00000.cartgrid.body.small/Header"))
+OpenDatabase(data_path("boxlib_test_data/2D/plt0000000/Header"))
+AddPlot("Pseudocolor", "temperature1")
+DrawPlots()
+SetQueryOutputToValue()
+TestValueEQ("temperature1 min", Query("Min"), 295.409999999999968, 15)
+TestValueEQ("temperature1 max", Query("Max"), 295.410000000000082, 15)
+DeleteAllPlots()
+CloseDatabase(data_path("boxlib_test_data/2D/plt0000000/Header"))
+# Test precision }
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_chgcar.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_chgcar.html new file mode 100644 index 000000000..e7ee29cd7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_chgcar.html @@ -0,0 +1,120 @@ + +Results for databases/chgcar.py + +

Results of VisIt Regression Test - databases/chgcar

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
chgcar_010.000.00
chgcar_020.000.00
chgcar_030.000.00
chgcar_040.000.00
chgcar_110.000.00
chgcar_120.000.00
chgcar_130.000.00
chgcar_140.000.00
chgcar_050.000.00
chgcar_060.000.00
chgcar_070.000.00
chgcar_080.000.00
chgcar_090.000.00
chgcar_100.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_chgcar_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_chgcar_py.html new file mode 100644 index 000000000..586a9b033 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_chgcar_py.html @@ -0,0 +1,156 @@ +databases/chgcar.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  chgcar.py
+#
+#  Tests:      mesh      - transformed rectilinear
+#
+#  Defect ID:  none
+#
+#  Programmer: Jeremy Meredith
+#  Date:       February 20, 2007
+#
+#    Jeremy Meredith, Wed Aug 13 14:39:11 EDT 2008
+#    Unrestricted the number of labels plotted.  Since I now
+#    have automatic decomposition of chgcar files, the actual
+#    labels chosen was varying based on serial vs parallel
+#    (which is fine, but doesn't help for regression testing).
+#
+#    Hank Childs, Wed Dec 31 14:32:34 PST 2008
+#    Rename ResamplePluginAtts to ResampleAtts.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Replace obsolete Label text attributes with new versions.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(data_path("chgcar_test_data/CHGCAR"),0, "VASP_1.0")
+
+AddPlot("Pseudocolor", "charge")
+DrawPlots()
+
+View3DAtts = GetView3D()
+View3DAtts.viewNormal = (-0.85796, 0.216484, -0.465874)
+View3DAtts.focus = (4.5, 0.5, 4)
+View3DAtts.viewUp = (0.135878, 0.970204, 0.200602)
+View3DAtts.viewAngle = 30
+SetView3D(View3DAtts)
+
+Test("chgcar_01")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
+
+Test("chgcar_02")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
+
+
+AddOperator("Resample")
+ResampleAtts = ResampleAttributes()
+ResampleAtts.useExtents = 0
+ResampleAtts.startX = 1
+ResampleAtts.endX = 6
+ResampleAtts.samplesX = 80
+ResampleAtts.startY = -2
+ResampleAtts.endY = 4
+ResampleAtts.samplesY = 80
+ResampleAtts.is3D = 1
+ResampleAtts.startZ = 1
+ResampleAtts.endZ = 6
+ResampleAtts.samplesZ = 80
+SetOperatorOptions(ResampleAtts)
+DrawPlots()
+
+Test("chgcar_03")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
+
+Test("chgcar_04")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
+
+
+DeleteActivePlots()
+
+AddPlot("Mesh", "mesh")
+AddOperator("IndexSelect",1)
+IndexSelectAtts = IndexSelectAttributes()
+IndexSelectAtts.dim = IndexSelectAtts.ThreeD  # OneD, TwoD, ThreeD
+IndexSelectAtts.xMin = 2
+SetOperatorOptions(IndexSelectAtts)
+
+AddPlot("Label", "charge")
+LabelAtts = LabelAttributes()
+LabelAtts.textFont1.scale = 7
+LabelAtts.restrictNumberOfLabels = 0
+SetPlotOptions(LabelAtts)
+DrawPlots()
+
+Test("chgcar_11")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
+
+Test("chgcar_12")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
+
+
+DeleteAllPlots()
+
+
+
+AddPlot("Pseudocolor", "charge")
+AddOperator("ThreeSlice")
+ThreeSliceAtts = ThreeSliceAttributes()
+ThreeSliceAtts.x = 3
+ThreeSliceAtts.y = 0
+ThreeSliceAtts.z = 4
+SetOperatorOptions(ThreeSliceAtts)
+DrawPlots()
+
+Test("chgcar_13")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
+
+Test("chgcar_14")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
+
+
+DeleteAllPlots()
+
+AddPlot("Volume", "charge")
+DrawPlots()
+VolumeAtts = VolumeAttributes()
+VolumeAtts.lightingFlag = 0
+VolumeAtts.opacityAttenuation = .6
+VolumeAtts.resampleTarget = 450000
+SetPlotOptions(VolumeAtts)
+
+Test("chgcar_05")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
+
+Test("chgcar_06")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
+
+
+VolumeAtts.opacityAttenuation = .9
+SetPlotOptions(VolumeAtts)
+
+Test("chgcar_07")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
+
+Test("chgcar_08")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
+
+
+VolumeAtts.opacityAttenuation = .4
+VolumeAtts.rendererType = VolumeAtts.RayCasting
+SetPlotOptions(VolumeAtts)
+
+Test("chgcar_09")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
+
+Test("chgcar_10")
+ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_claw.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_claw.html new file mode 100644 index 000000000..b8a8bca23 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_claw.html @@ -0,0 +1,54 @@ + +Results for databases/claw.py + +

Results of VisIt Regression Test - databases/claw

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
claw_010.000.00
claw_020.000.00
claw_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_claw_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_claw_py.html new file mode 100644 index 000000000..681c4b37b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_claw_py.html @@ -0,0 +1,65 @@ +databases/claw.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  claw.py 
+#
+#  Tests:      Claw files 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       September 13, 2007 
+#
+# ----------------------------------------------------------------------------
+
+
+# test the mesh
+OpenDatabase(data_path("claw_test_data/2d/fort.claw"))
+
+TimeSliderNextState()
+AddPlot("Mesh","claw_mesh")
+DrawPlots()
+SetActivePlots((1,))
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if silr.SetName(i) == "level3":
+        silr.TurnOffSet(i)
+SetPlotSILRestriction(silr)
+Test("claw_01")
+SetActivePlots((1,))
+DeleteActivePlots()
+
+# test a variable being read 
+AddPlot("Pseudocolor","col_00")
+DrawPlots()
+Test("claw_02")
+DeleteAllPlots()
+CloseDatabase(data_path("claw_test_data/2d/fort.claw"))
+
+OpenDatabase(data_path("claw_test_data/3d/fort.claw"))
+
+TimeSliderNextState()
+ss = SubsetAttributes()
+#ss.colorType = ss.ColorBySingleColor
+ss.lineWidth = 2
+ss.singleColor = (0, 0, 0, 255)
+ss.wireframe = 1
+SetPlotOptions(ss)
+AddPlot("Pseudocolor","col_00")
+AddPlot("Mesh","claw_mesh")
+SetActivePlots((1,2))
+#AddOperator("Clip", 1)
+AddOperator("Clip")
+clipAtts = ClipAttributes()
+clipAtts.plane1Origin = (0.25, 0.5, 0.75)
+clipAtts.plane1Normal = (0, 0, 1)
+SetOperatorOptions(clipAtts)
+DrawPlots()
+SetActivePlots((0,))
+DrawPlots()
+v=GetView3D()
+v.viewNormal = (0.383221, 0.582931, 0.716473)
+v.viewUp = (-0.29125, 0.812382, -0.505182)
+SetView3D(v)
+Test("claw_03")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_closedatabase.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_closedatabase.html new file mode 100644 index 000000000..22190965c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_closedatabase.html @@ -0,0 +1,94 @@ + +Results for databases/closedatabase.py + +

Results of VisIt Regression Test - databases/closedatabase

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
closedatabase000.000.00
closedatabase010 modifications totalling 0 lines
closedatabase020 modifications totalling 0 lines
closedatabase030.000.00
closedatabase040.000.00
closedatabase050 modifications totalling 0 lines
closedatabase060 modifications totalling 0 lines
closedatabase070 modifications totalling 0 lines
closedatabase080 modifications totalling 0 lines
closedatabase090 modifications totalling 0 lines
closedatabase100 modifications totalling 0 lines
closedatabase_exprs000 modifications totalling 0 lines
closedatabase_exprs010 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_closedatabase_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_closedatabase_py.html new file mode 100644 index 000000000..41a9b4179 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_closedatabase_py.html @@ -0,0 +1,108 @@ +databases/closedatabase.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  closedatabase.py
+#
+#  Tests:      mesh      - 3D, curvilinear, single domain
+#              plots     - Pseudocolor
+#              databases - Silo
+#
+#  Purpose:    This test case tests that the viewer can close a database.
+#
+#  Bugs:       '3283
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Mar 19 08:57:09 PDT 2004
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Wed Apr 14 15:41:11 PDT 2010
+#    Added test to check if database expressions are cleared after
+#    database is closed.
+#
+# ----------------------------------------------------------------------------
+
+#
+# Look at astring representation of the GlobalAttributes to see the list
+# of sources, etc.
+#
+def TestGlobalAttributes(testname):
+    # Get the window information, convert it to a string, and use it as
+    # a test case.
+    TestText(testname, str(GetGlobalAttributes()))
+
+def GetCloseString(db):
+    if(CloseDatabase(db) == 1):
+        testString = "The database %s was closed." % os.path.abspath(db)
+    else:
+        testString = GetLastError()
+    return testString
+
+# Open a database and create a plot
+db = silo_data_path("wave*.silo database")
+OpenDatabase(db, 32)
+AddPlot("Pseudocolor", "pressure")
+DrawPlots()
+
+# Get a picture of the plot.
+Test("closedatabase00")
+
+# Look at the list of sources.
+TestGlobalAttributes("closedatabase01")
+
+# Try and close the database. VisIt should not let us close it since there
+# are plots that use it.
+TestText("closedatabase02", GetCloseString(db))
+
+# Create another window that uses the database.
+CloneWindow()
+SetActiveWindow(2)
+DrawPlots()
+Test("closedatabase03")
+
+# Delete all the plots in window 1 that use the database
+SetActiveWindow(1)
+DeleteAllPlots()
+Test("closedatabase04")
+
+# Try and close the database. VisIt should not let us close it since there
+# are still plots in window 2 that use it.
+TestText("closedatabase05", GetCloseString(db))
+
+SetActiveWindow(2)
+DeleteAllPlots()
+
+# Try and close the database. VisIt should let us close it this time.
+testString = GetCloseString(db) + "\n" + str(GetGlobalAttributes())
+TestText("closedatabase06", testString)
+
+
+# Try adding some databases
+dbs = (silo_data_path("wave.visit") ,
+       silo_data_path("globe.silo") ,
+       silo_data_path("curv3d.silo") )
+
+for db in dbs:
+    OpenDatabase(db)
+
+# Look at the list of sources.
+TestGlobalAttributes("closedatabase07")
+
+# Start removing databases
+testindex = 8
+for i in range(len(dbs)):
+    index = len(dbs) - 1 - i
+    testString = GetCloseString(dbs[index]) + "\n" + str(GetGlobalAttributes())
+    TestText("closedatabase%02d" % testindex, testString)
+    testindex = testindex + 1
+
+# Check that database expressions are cleared when database is closed.
+OpenDatabase(dbs[1])
+TestExpressions("closedatabase_exprs00")
+TestExpressions("closedatabase_exprs01", prefix=GetCloseString(dbs[1])+"\n")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_correlation.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_correlation.html new file mode 100644 index 000000000..44b751334 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_correlation.html @@ -0,0 +1,510 @@ + +Results for databases/correlation.py + +

Results of VisIt Regression Test - databases/correlation

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Padded index correlation
correlation_0_000 modifications totalling 0 lines
correlation_0_010.000.00
correlation_0_020 modifications totalling 0 lines
correlation_0_030.000.00
correlation_0_040 modifications totalling 0 lines
correlation_0_050.000.00
correlation_0_060 modifications totalling 0 lines
correlation_0_070.000.00
correlation_0_080 modifications totalling 0 lines
correlation_0_090.000.00
correlation_0_100 modifications totalling 0 lines
correlation_0_110.000.00
correlation_0_120 modifications totalling 0 lines
correlation_0_130.000.00
correlation_0_140 modifications totalling 0 lines
Stretched correlation
correlation_1_000 modifications totalling 0 lines
correlation_1_010.000.00
correlation_1_020 modifications totalling 0 lines
correlation_1_030.000.00
correlation_1_040 modifications totalling 0 lines
correlation_1_050.000.00
correlation_1_060 modifications totalling 0 lines
correlation_1_070.000.00
correlation_1_080 modifications totalling 0 lines
correlation_1_090.000.00
correlation_1_100 modifications totalling 0 lines
correlation_1_110.000.00
correlation_1_120 modifications totalling 0 lines
correlation_1_130.000.00
correlation_1_140 modifications totalling 0 lines
Time correlation
correlation_2_000 modifications totalling 0 lines
correlation_2_010.000.00
correlation_2_020 modifications totalling 0 lines
correlation_2_030.000.00
correlation_2_040 modifications totalling 0 lines
correlation_2_050.000.00
correlation_2_060 modifications totalling 0 lines
correlation_2_070.000.00
correlation_2_080 modifications totalling 0 lines
correlation_2_090.000.00
correlation_2_100 modifications totalling 0 lines
correlation_2_110.000.00
correlation_2_120 modifications totalling 0 lines
correlation_2_130.000.00
correlation_2_140 modifications totalling 0 lines
correlation_2_150.000.00
correlation_2_160 modifications totalling 0 lines
correlation_2_170.000.00
correlation_2_180 modifications totalling 0 lines
correlation_2_190.000.00
correlation_2_200 modifications totalling 0 lines
Cycle correlation
correlation_3_000 modifications totalling 0 lines
correlation_3_010.000.00
correlation_3_020 modifications totalling 0 lines
correlation_3_030.000.00
correlation_3_040 modifications totalling 0 lines
correlation_3_050.000.00
correlation_3_060 modifications totalling 0 lines
correlation_3_070.000.00
correlation_3_080 modifications totalling 0 lines
correlation_3_090.000.00
correlation_3_100 modifications totalling 0 lines
correlation_3_110.000.00
correlation_3_120 modifications totalling 0 lines
correlation_3_130.000.00
correlation_3_140 modifications totalling 0 lines
Creating new window
correlation_4_000.000.00
correlation_4_010 modifications totalling 0 lines
correlation_4_020.000.00
correlation_4_030 modifications totalling 0 lines
Altering correlation
correlation_5_000 modifications totalling 0 lines
correlation_5_010 modifications totalling 0 lines
correlation_5_020.000.00
correlation_5_030 modifications totalling 0 lines
correlation_5_040.000.00
correlation_5_050 modifications totalling 0 lines
correlation_5_060.000.00
correlation_5_070 modifications totalling 0 lines
correlation_5_080.000.00
correlation_5_090 modifications totalling 0 lines
Deleting correlations
correlation_6_000 modifications totalling 0 lines
Automatic correlations
correlation_7_000 modifications totalling 0 lines
correlation_7_010 modifications totalling 0 lines
correlation_7_020.000.00
correlation_7_030 modifications totalling 0 lines
correlation_7_040.000.00
correlation_7_050 modifications totalling 0 lines
correlation_7_060.000.00
correlation_7_070 modifications totalling 0 lines
correlation_7_080 modifications totalling 0 lines
correlation_7_090.000.00
correlation_7_100 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_correlation_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_correlation_py.html new file mode 100644 index 000000000..6bcff74f7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_correlation_py.html @@ -0,0 +1,215 @@ +databases/correlation.py
# ----------------------------------------------------------------------------
+#  MODES: serial
+#  CLASSES: nightly
+#
+#  Test Case:  correlation.py 
+#
+#  Tests:      Tests database correlations and automatic correlation.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Mon Mar 22 08:28:25 PDT 2004
+#
+#  Modifications:
+#    Brad Whitlock, Fri Apr 1 09:48:23 PDT 2005
+#    I renamed some baselines so I could add correlation definition tests.
+#
+# ----------------------------------------------------------------------------
+
+
+def GetTruncatedWindowInformationString():
+    # Get the window information and convert it to a string.
+    s = str(GetWindowInformation())
+    # Only use the first 5 or so lines from the string.
+    lines = s.split("\n")
+    s = ""
+    for i in range(5):
+        if(i < len(lines)):
+            s = s + lines[i]
+            s = s + "\n"
+    return s
+
+#
+# Look at the first few lines of the string representation of the
+# WindowInformation to see the list of time sliders, etc.
+#
+def TestWindowInformation(testname):
+    TestText(testname, GetTruncatedWindowInformationString())
+
+def TestLength(testname):
+    tsLength = TimeSliderGetNStates()
+    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
+    testString = testString + GetTruncatedWindowInformationString()
+    TestText(testname, testString)
+
+def ComputeStates(nStates, stateIncrement):
+    lastState = nStates - 1
+    states = list(range(0, nStates, stateIncrement))
+    if(states[-1] != lastState):
+        states = states  + [lastState]
+    return states
+
+def GetTestName(sectionIndex, testIndex):
+    return "correlation_%d_%02d" % (sectionIndex, testIndex)
+
+def TestTimeSlider(sectionIndex, testIndex):
+    Test(GetTestName(sectionIndex, testIndex))
+    TestLength(GetTestName(sectionIndex, testIndex + 1))
+    return testIndex + 2
+
+#
+# Tests that the database correlations look a certain way.
+#
+def TestCorrelation(name, sectionIndex, testIndex):
+    names = GetDatabaseCorrelationNames()
+    s = ""
+    if name in names:
+        c = GetDatabaseCorrelation(name)
+        s = s + str(c) + "\n"
+    TestText(GetTestName(sectionIndex, testIndex), s)
+    return testIndex + 1
+
+#
+# Tests the time slider length and the correlation list.
+#
+def TestLengthAndCorrelationList(testname):
+    tsLength = TimeSliderGetNStates()
+    s = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
+    s = s + GetTruncatedWindowInformationString() + "\n\n"
+
+    names = GetDatabaseCorrelationNames()
+    for name in names:
+        c = GetDatabaseCorrelation(name)
+        s = s + str(c) + "\n"
+    TestText(testname, s)
+
+#
+# The databases that we'll use for most tests.
+#
+dbs = (data_path("pdb_test_data/dbA00.pdb"),
+       data_path("pdb_test_data/dbB00.pdb"),
+       data_path("pdb_test_data/dbC00.pdb"))
+
+#
+# Open each database and create a plot.
+#
+for db in dbs:
+    OpenDatabase(db)
+    AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+
+#
+# Correlation Types
+#
+IndexForIndexCorrelation = 0
+StretchedIndexCorrelation = 1
+TimeCorrelation = 2
+CycleCorrelation = 3
+correlationTypes = (IndexForIndexCorrelation, StretchedIndexCorrelation,\
+    TimeCorrelation, CycleCorrelation)
+correlationNames = ("ABC_Index", "ABC_Stretch", "ABC_Time", "ABC_Cycle")
+correlationTitles = ("Padded index correlation", "Stretched correlation",\
+    "Time correlation", "Cycle correlation")
+
+#
+# Create correlations between the 3 databases
+#
+sectionIndex = 0
+testIndex = 0
+for i in range(len(correlationTypes)):
+    TestSection(correlationTitles[i])
+    CreateDatabaseCorrelation(correlationNames[i], dbs, correlationTypes[i])
+    testIndex = TestCorrelation(correlationNames[i], sectionIndex, 0)
+    states = ComputeStates(TimeSliderGetNStates(), 5)
+    for state in states:
+        SetTimeSliderState(state)
+        testIndex = TestTimeSlider(sectionIndex, testIndex)
+    sectionIndex = sectionIndex + 1
+
+#
+# Make sure that a new window has the same plots and correlations.
+#
+TestSection("Creating new window")
+sectionIndex = 4
+testIndex = 0
+alteredCorrelation = correlationNames[0]
+SetActiveTimeSlider(alteredCorrelation)
+SetTimeSliderState(15)
+testIndex = TestTimeSlider(sectionIndex, testIndex)
+CloneWindow()
+SetActiveWindow(2)
+InvertBackgroundColor()
+DrawPlots()
+testIndex = TestTimeSlider(sectionIndex, testIndex)
+SetActiveWindow(1)
+
+#
+# Now that multiple windows use the same correlation, alter the correlation
+# so it only uses 2 databases and make sure that both windows change when
+# we change the time slider.
+#
+TestSection("Altering correlation")
+sectionIndex = 5
+testIndex = 0
+testIndex = TestCorrelation(alteredCorrelation, sectionIndex, testIndex)
+AlterDatabaseCorrelation(alteredCorrelation, (dbs[0], dbs[1]), StretchedIndexCorrelation)
+testIndex = TestCorrelation(alteredCorrelation, sectionIndex, testIndex)
+testIndex = TestTimeSlider(sectionIndex, testIndex)
+SetActiveWindow(2)
+testIndex = TestTimeSlider(sectionIndex, testIndex)
+SetActiveWindow(1)
+SetTimeSliderState(19)
+testIndex = TestTimeSlider(sectionIndex, testIndex)
+SetActiveWindow(2)
+SetTimeSliderState(19)
+testIndex = TestTimeSlider(sectionIndex, testIndex)
+SetActiveWindow(1)
+
+#
+# Test deleting correlations
+#
+TestSection("Deleting correlations")
+sectionIndex = 6
+testIndex = 0
+for n in correlationNames:
+    DeleteDatabaseCorrelation(n)
+TestLengthAndCorrelationList(GetTestName(sectionIndex, testIndex))
+
+#
+# Test automatically correlating by setting the correlation options such
+# that we automatically create a StretchedIndex correlation when adding
+# plots, etc.
+#
+TestSection("Automatic correlations")
+sectionIndex = 7
+SetActiveWindow(1)
+DeleteAllPlots()
+TestLengthAndCorrelationList(GetTestName(sectionIndex, 0))
+testIndex = 1
+SetDatabaseCorrelationOptions(StretchedIndexCorrelation, 0)
+OpenDatabase(dbs[0])
+AddPlot("FilledBoundary", "material(mesh)")
+OpenDatabase(dbs[1])
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+# At this point, the viewer should have automatically created a new correlation
+# and it should be the active time slider.
+testIndex = TestCorrelation(GetActiveTimeSlider(), sectionIndex, testIndex);
+testIndex = TestTimeSlider(sectionIndex, testIndex)
+# note: py3 div creates float
+SetTimeSliderState(int(TimeSliderGetNStates() / 2))
+testIndex = TestTimeSlider(sectionIndex, testIndex)
+SetTimeSliderState(TimeSliderGetNStates() - 1)
+testIndex = TestTimeSlider(sectionIndex, testIndex)
+
+# Now that we've verified the correlation, add another database to it by 
+# Creating a plot from yet another database.
+OpenDatabase(dbs[2])
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+testIndex = TestCorrelation(GetActiveTimeSlider(), sectionIndex, testIndex);
+SetTimeSliderState(int(TimeSliderGetNStates() * 0.8))
+testIndex = TestTimeSlider(sectionIndex, testIndex)
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_curve.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_curve.html new file mode 100644 index 000000000..8eb0d66a4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_curve.html @@ -0,0 +1,60 @@ + +Results for databases/curve.py + +

Results of VisIt Regression Test - databases/curve

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
curve10.000.00
curve20.000.00
curve30.000.00
curve2Expr0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_curve_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_curve_py.html new file mode 100644 index 000000000..fc7288ad2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_curve_py.html @@ -0,0 +1,53 @@ +databases/curve.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  curve.py 
+#
+#  Tests:      normal curves, zone-centered curves, errors in curve files
+#
+#  Programmer: Mark C. Miller 
+#  Date:       October 31, 2006 
+#
+# ----------------------------------------------------------------------------
+
+
+ca = CurveAttributes()
+ca.showPoints = 1
+SetDefaultPlotOptions(ca)
+
+OpenDatabase(data_path("curve_test_data/zonecent.ultra"))
+DefineCurveExpression("curve2Expr","curve2+10")
+
+AddPlot("Curve","curve2")
+DrawPlots()
+v = GetViewCurve()
+v.rangeCoords = (-3, 11)
+SetViewCurve(v)
+Test("curve1")
+
+AddPlot("Curve","curve1")
+DrawPlots()
+v.domainCoords = (-4, 16)
+SetViewCurve(v)
+Test("curve2")
+
+DeleteActivePlots()
+
+AddPlot("Curve","curve4")
+DrawPlots()
+v.domainCoords = (-4, 25)
+SetViewCurve(v)
+Test("curve3")
+
+DeleteActivePlots()
+
+AddPlot("Curve","curve2")
+AddPlot("Curve","curve2Expr")
+ResetView()
+DrawPlots()
+Test("curve2Expr")
+
+DeleteActivePlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_ddcMD.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_ddcMD.html new file mode 100644 index 000000000..11e2ecab5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_ddcMD.html @@ -0,0 +1,159 @@ + +Results for databases/ddcMD.py + +

Results of VisIt Regression Test - databases/ddcMD

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
2D cgrid single files
ddcMD_0_000 modifications totalling 0 lines
ddcMD_0_010.000.00
ddcMD_0_020.000.00
ddcMD_0_030.000.00
2D cgrid multi files
ddcMD_1_000 modifications totalling 0 lines
ddcMD_1_010.000.00
ddcMD_1_020.000.00
ddcMD_1_030.000.00
3D cgrid multi files and multi subname
ddcMD_2_000 modifications totalling 0 lines
ddcMD_2_010.000.00
ddcMD_2_020.000.00
ddcMD_2_030.000.00
ddcMD_2_040.000.00
ddcMD_2_050.000.00
ddcMD_2_060.000.00
ddcMD_2_070.000.00
ddcMD_2_080.000.00
ddcMD_2_090.000.00
ddcMD_2_100.000.00
ddcMD_2_110.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_ddcMD_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_ddcMD_py.html new file mode 100644 index 000000000..d1bc7fe9a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_ddcMD_py.html @@ -0,0 +1,112 @@ +databases/ddcMD.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ddcMD.py
+#
+#  Tests:      mesh      - 2D/3D structured automatically decomposed
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Oct 11 17:04:32 PDT 2012
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def GetVariables(db, doExpressions = 1):
+    md = GetMetaData(db)
+    txt = "Scalar Names:\n"
+    s = []
+    for i in range(md.GetNumScalars()):
+        s = s + [md.GetScalars(i).name]
+    scalars = sorted(s)
+    for s in scalars:
+        txt = txt + s + "\n"
+    if doExpressions:
+        txt = txt + "\n\nExpressions:\n"
+        expr = {}
+        for i in range(md.exprList.GetNumExpressions()):
+            e = md.exprList.GetExpressions(i)
+            expr[e.name] = e.definition
+        keys = sorted(expr.keys())
+        for k in keys:
+            txt = txt + k + " = " + expr[k] + "\n"
+    return txt
+
+def test0(datapath):
+    TestSection("2D cgrid single files")
+    db = pjoin(datapath,"cgrid2d.ddcMD")
+    TestText("ddcMD_0_00", GetVariables(db))
+
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "mass")
+    DrawPlots()
+    Test("ddcMD_0_01")
+
+    ChangeActivePlotsVar("mass_Al")
+    Test("ddcMD_0_02")
+
+    ChangeActivePlotsVar("mass_Cu")
+    Test("ddcMD_0_03")
+
+    DeleteAllPlots()
+
+def test1(datapath):
+    TestSection("2D cgrid multi files")
+    db = pjoin(datapath,"cgrid2d_multi.ddcMD")
+    TestText("ddcMD_1_00", GetVariables(db))
+
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "Kx")
+    DrawPlots()
+    Test("ddcMD_1_01")
+
+    ChangeActivePlotsVar("Kx_Al")
+    Test("ddcMD_1_02")
+
+    ChangeActivePlotsVar("Kx_Cu")
+    Test("ddcMD_1_03")
+
+    DeleteAllPlots()
+
+def test2(datapath):
+    TestSection("3D cgrid multi files and multi subname")
+    db = pjoin(datapath,"cgrid3d_multi_subname", "snapshot.*.ddcMD database")
+    TestText("ddcMD_2_00", GetVariables(db, doExpressions = 0))
+
+    # Plot the gid to see that things are put together properly.
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "anatomy/gid")
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (-0.463775, -0.476999, -0.746582)
+    v.focus = (12.5,12.5,12.5)
+    v.viewUp = (-0.885851, 0.236876, 0.398946)
+    v.parallelScale = 21.6506
+    v.nearPlane = -43.3013
+    v.farPlane = 43.3013
+    v.imagePan = (0.0101758, 0.0313539)
+    v.imageZoom = 1.01954
+    SetView3D(v)
+    Test("ddcMD_2_01")
+
+    ChangeActivePlotsVar("state/Vm")
+
+    # Iterate over time.
+    for i in range(TimeSliderGetNStates()):
+        SetTimeSliderState(i)
+        Test("ddcMD_2_%02d" % (2 + i))
+
+    # Lower the transparency to see if domain boundaries are good. I think that
+    # currently they are not good.
+
+    DeleteAllPlots()
+
+def main():
+    datapath = data_path("ddcmd_test_data")
+    test0(datapath)
+    test1(datapath)
+    test2(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_empty_db.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_empty_db.html new file mode 100644 index 000000000..14867065d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_empty_db.html @@ -0,0 +1,40 @@ + +Results for databases/empty_db.py + +

Results of VisIt Regression Test - databases/empty_db

+ + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
empty_010 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_empty_db_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_empty_db_py.html new file mode 100644 index 000000000..fcf377598 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_empty_db_py.html @@ -0,0 +1,28 @@ +databases/empty_db.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  empty_db.py 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       28Oct10
+#
+#  Modifications:
+#    Mark C. Miller, Mon Nov  1 12:24:23 PDT 2010
+#    I added specification of the Silo format to the open call so that we
+#    can be assured of having the real exception (DBYieldedNoData) returned
+#    in the error message. Otherwise, that exception is caught and then folded
+#    into whatever other possible exceptions other candidates might generate.
+# ----------------------------------------------------------------------------
+import re
+
+OpenDatabase(data_path("silo_pdb_test_data/empty.silo"), 0, "Silo_1.0")
+
+errStr = GetLastError()
+tmpType = re.search(",\nno data was found in the file for VisIt to work with.", errStr)
+msg = errStr
+if tmpType != None:
+    msg = "DBYieldedNoDataException\n"
+TestText("empty_01", msg)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_exodus.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_exodus.html new file mode 100644 index 000000000..16444611d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_exodus.html @@ -0,0 +1,238 @@ + +Results for databases/exodus.py + +

Results of VisIt Regression Test - databases/exodus

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
exodus_010.000.00
exodus_020.000.00
exodus_030.000.00
exodus_040.000.00
exodus_050.000.00
Testing SHELL4 support
exodus_060.000.00
Testing support element block names
exodus_070.000.00
Testing 2D "NSIDED" element type
exodus_080.000.00
exodus_090.000.00
exodus_100.000.00
exodus_110.000.00
exodus_120.000.00
exodus_13a0.000.00
exodus_13b0.000.00
exodus_13c0.000.00
exodus_140.000.00
exodus_150.000.00
exodus_160.000.00
exodus_170.000.00
exodus_180.000.00
exodus_190.000.00
exodus_200.000.00
exodus_210.000.00
exodus_220.000.00
High Order Elements
exodus_230.000.00
exodus_240.000.00
exodus_250.000.00
exodus_260.000.00
exodus_270.000.00
exodus_280.000.00
exodus_290.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_exodus_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_exodus_py.html new file mode 100644 index 000000000..3a910771d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_exodus_py.html @@ -0,0 +1,272 @@ +databases/exodus.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  exodus.py
+#
+#  Tests:      mesh      - 2D, 3D unstructured
+#              plots     - 3D - Pseudocolor, mesh, boundary, subset,
+#                          2D - Filled boundary, label 
+#
+#  Defect ID:  none
+#
+#  Programmer: Hank Childs
+#  Date:       March 31, 2005
+#
+#  Modifications:
+#
+#    Hank Childs, Fri Oct  7 14:27:33 PDT 2005
+#    Explicitly reference the name of the variable to displace by, since the
+#    default changed.
+#
+#    Brad Whitlock, Mon Nov 14 14:31:46 PST 2005
+#    Added testing for SHELL4 support.
+#
+#    Eric Brugger, Wed Mar 14 14:04:32 PDT 2007
+#    Added testing for element block names.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("Exodus")
+
+OpenDatabase(data_path("exodus_test_data/balls.e.4.* database"))
+
+AddPlot("Pseudocolor", "EQPS")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.75, 0.55, 0.36)
+SetView3D(v)
+
+Test("exodus_01")
+
+s = SILRestriction()
+sets = s.SetsInCategory("ElementBlock")
+s.TurnOffSet(sets[0])
+s.TurnOffSet(sets[1])
+s.TurnOffSet(sets[2])
+SetPlotSILRestriction(s)
+
+Test("exodus_02")
+
+SetTimeSliderState(18)
+Test("exodus_03")
+
+files = s.SetsInCategory("File")
+s.TurnOffSet(files[3])
+SetPlotSILRestriction(s)
+Test("exodus_04")
+
+ToggleMaintainViewMode()
+d = DisplaceAttributes()
+d.variable = "DISPL"
+SetDefaultOperatorOptions(d)
+AddOperator("Displace")
+DrawPlots()
+Test("exodus_05")
+ToggleMaintainViewMode()
+
+TestSection("Testing SHELL4 support")
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/balls.e.4.* database"))
+OpenDatabase(data_path("exodus_test_data/aircraft.exoII"))
+
+AddPlot("Mesh", "Mesh")
+DrawPlots()
+v = View3DAttributes()
+v.viewNormal = (-0.51221, 0.429119, 0.743974)
+v.focus = (0, 0, -4)
+v.viewUp = (0.222628, 0.902964, -0.367549)
+v.viewAngle = 30
+v.parallelScale = 66
+v.nearPlane = -132
+v.farPlane = 132
+v.imagePan = (-0.0367114, 0.0152384)
+v.imageZoom = 1.51675
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, 0, -4)
+SetView3D(v)
+Test("exodus_06")
+
+TestSection("Testing support element block names")
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/aircraft.exoII"))
+OpenDatabase(data_path("exodus_test_data/test.exo"))
+
+AddPlot("Subset", "ElementBlock")
+AddPlot("Label", "ElementBlock")
+DrawPlots()
+Test("exodus_07")
+
+TestSection("Testing 2D \"NSIDED\" element type")
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/test.exo"))
+OpenDatabase(data_path("exodus_test_data/porflow5_2_1_r1.exo"))
+
+AddPlot("Mesh","Mesh")
+DrawPlots()
+v = View2DAttributes()
+v.windowCoords = (-115, 70, -80, 100)
+SetView2D(v)
+Test("exodus_08")
+
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/porflow5_2_1_r1.exo"))
+OpenDatabase(data_path("exodus_test_data/kassbohm1.exo"))
+AddPlot("Mesh","Mesh")
+DrawPlots()
+v = View3DAttributes()
+v.viewNormal = (-0.664463, 0.34202, 0.664463)
+v.focus = (1, 1, 0.75)
+v.viewUp = (0.241845, 0.939693, -0.241845)
+v.parallelScale = 3.25
+v.nearPlane = -6.5
+v.farPlane = 6.5
+v.imageZoom = 1.5
+SetView3D(v)
+Test("exodus_09")
+
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/kassbohm1.exo"))
+OpenDatabase(data_path("exodus_test_data/dodecahedron.exo"))
+AddPlot("Mesh","Mesh")
+DrawPlots()
+ResetView()
+Test("exodus_10")
+
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/dodecahedron.exo"))
+OpenDatabase(data_path("exodus_test_data/tri3.exo"))
+AddPlot("Mesh","Mesh")
+AddPlot("Pseudocolor","elem_map")
+DrawPlots()
+ResetView()
+Test("exodus_11")
+
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/tri3.exo"))
+OpenDatabase(data_path("exodus_test_data/tri6.exo"))
+AddPlot("Mesh","Mesh")
+AddPlot("Pseudocolor","elem_map")
+DrawPlots()
+ResetView()
+Test("exodus_12")
+
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/tri6.exo"))
+OpenDatabase(data_path("exodus_test_data/exo-plugin-problem-kassbohm.exo"))
+AddPlot("Pseudocolor","SP1_S11_avg")
+DrawPlots()
+ResetView()
+Test("exodus_13a")
+DeleteAllPlots()
+AddPlot("Pseudocolor","SP3_S11_avg")
+DrawPlots()
+Test("exodus_13b")
+DeleteAllPlots()
+AddPlot("Mesh","Mesh")
+AddPlot("Subset","ElementBlock")
+DrawPlots()
+ResetView()
+Test("exodus_13c")
+
+s = SILRestriction()
+ebsets = s.SetsInCategory("ElementBlock")
+s.TurnOffSet(ebsets[1]) # SHELL
+SetPlotSILRestriction(s)
+sa = SubsetAttributes()
+sa.lineWidth = 4
+SetPlotOptions(sa)
+Test("exodus_14")
+
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/exo-plugin-problem-kassbohm.exo"))
+exoOpts = GetDefaultFileOpenOptions("Exodus")
+exoOpts['Automagically Detect Compound Variables'] = 1
+exoOpts['Use Material Convention'] = 1 # ALEGRA
+SetDefaultFileOpenOptions("Exodus", exoOpts)
+OpenDatabase(data_path("exodus_test_data/snl_data/mixed2d/explwire2d.exo.8.* database"))
+AddPlot("FilledBoundary", "Materials")
+DrawPlots()
+ResetView()
+Test("exodus_15")
+TimeSliderSetState(5)
+Test("exodus_16")
+DeleteAllPlots()
+AddPlot("Vector","VELOCITY")
+DrawPlots()
+Test("exodus_17")
+TimeSliderNextState()
+Test("exodus_18")
+
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/snl_data/mixed2d/explwire2d.exo.8.* database"))
+OpenDatabase(data_path("exodus_test_data/snl_data/mixed3d/coax3D-wedge-tm.exo.8.* database"))
+AddPlot("FilledBoundary", "Materials")
+DrawPlots()
+ResetView()
+Test("exodus_19")
+TimeSliderSetState(4)
+Test("exodus_20")
+
+s = SILRestriction()
+msets = s.SetsInCategory("Materials")
+s.TurnOffSet(msets[1])
+SetPlotSILRestriction(s)
+Test("exodus_21")
+s.TurnOnSet(msets[1])
+s.TurnOffSet(msets[2])
+SetPlotSILRestriction(s)
+Test("exodus_22")
+
+TestSection("High Order Elements")
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/snl_data/mixed3d/coax3D-wedge-tm.exo.8.* database"))
+OpenDatabase(data_path("exodus_test_data/sphere-HEX20.ex2"))
+AddPlot("Pseudocolor","coordx")
+DrawPlots()
+ResetView()
+Test("exodus_23")
+AddOperator("Slice")
+DrawPlots()
+Test("exodus_24")
+
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/sphere-HEX20.ex2"))
+OpenDatabase(data_path("exodus_test_data/sphere-HEX27.ex2"))
+AddPlot("Pseudocolor","coordx")
+DrawPlots()
+ResetView()
+Test("exodus_25")
+AddOperator("Slice")
+DrawPlots()
+Test("exodus_26")
+
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/sphere-HEX27.ex2"))
+OpenDatabase(data_path("exodus_test_data/abl_551/abl_5km_5km_1km_neutral.e.8.* database"))
+AddPlot("Contour","velocity_magnitude")
+ca = ContourAttributes()
+ca.contourMethod = ca.Value
+ca.contourValue = (7)
+SetPlotOptions(ca)
+DrawPlots()
+ResetView()
+Test("exodus_27")
+v = GetView3D()
+v.RotateAxis(1,-30)
+SetView3D(v)
+Test("exodus_28")
+v.RotateAxis(1,-30)
+SetView3D(v)
+Test("exodus_29")
+
+DeleteAllPlots()
+CloseDatabase(data_path("exodus_test_data/abl_551/abl_5km_5km_1km_neutral.e.8.* database"))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_export_db.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_export_db.html new file mode 100644 index 000000000..a84a15ee8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_export_db.html @@ -0,0 +1,488 @@ + +Results for databases/export_db.py + +

Results of VisIt Regression Test - databases/export_db

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
export_db_010.000.00
export_db_020.000.00
export_db_030.000.00
export_db_040.000.00
Test export of some surfaces.
export_db_1_000.000.00
export_db_1_010 modifications totalling 0 lines
export_db_1_020.000.00
export_db_1_030.000.00
export_db_1_040.000.00
export_db_1_050.000.00
export_db_1_060.000.00
export_db_1_070.000.00
export_db_1_080.000.00
export_db_1_090.000.00
export_db_1_100.000.00
export_db_1_110.000.00
export_db_1_120.000.00
export_db_1_130.000.00
export_db_1_140.000.00
export_db_1_150.000.00
export_db_1_160.000.00
export_db_1_170.000.00
export_db_1_180.000.00
export_db_1_190.000.00
export_db_1_200.000.00
Test export with write groups (parallel).
export_db_2_000.000.00
export_db_2_010.000.00
export_db_2_01fn0 modifications totalling 0 lines
export_db_2_020.000.00
export_db_2_02fn0 modifications totalling 0 lines
export_db_2_030.000.00
export_db_2_03fn0 modifications totalling 0 lines
export_db_2_040.000.00
export_db_2_04fn0 modifications totalling 0 lines
export_db_2_050.000.00
export_db_2_05fn0 modifications totalling 0 lines
export_db_2_060.000.00
export_db_2_06fn0 modifications totalling 0 lines
export_db_2_070.000.00
export_db_2_07fn0 modifications totalling 0 lines
export_db_2_080.000.00
export_db_2_08fn0 modifications totalling 0 lines
export_db_2_090.000.00
export_db_2_09fn0 modifications totalling 0 lines
export_db_2_100.000.00
export_db_2_10fn0 modifications totalling 0 lines
export_db_2_110.000.00
export_db_2_11fn0 modifications totalling 0 lines
export_db_2_120.000.00
export_db_2_12fn0 modifications totalling 0 lines
export_db_2_130.000.00
export_db_2_13fn0 modifications totalling 0 lines
export_db_2_140.000.00
export_db_2_14fn0 modifications totalling 0 lines
export_db_2_150.000.00
export_db_2_15fn0 modifications totalling 0 lines
export_db_2_160.000.00
export_db_2_16fn0 modifications totalling 0 lines
export_db_2_170.000.00
export_db_2_17fn0 modifications totalling 0 lines
export_db_2_180.000.00
export_db_2_18fn0 modifications totalling 0 lines
Test Tecplot multiblock export.
export_db_3_000.000.00
export_db_3_010.000.00
export_db_3_020.000.00
export_db_3_030.000.00
export_db_3_040.000.00
Test VTK multiblock export.
export_db_4_010.000.00
export_db_4_020.000.00
export_db_4_030.000.00
export_db_4_040.000.00
export_db_4_050.000.00
Test bov export with and without compression.
test_bov_uncompressed.bov exists
 "True" .eq. "True" : True
test_bov_uncompressed.bof exists
 "True" .eq. "True" : True
export_db_5_010.000.00
test_bov_gzip.bov exists
 "True" .eq. "True" : True
test_bov_gzip.bof.gz exists
 "True" .eq. "True" : True
export_db_5_020.000.00
export_db_vtk_tets_ucd3d0 modifications totalling 0 lines
export_db_vtk_tets_specmix_ucd0 modifications totalling 0 lines
Test htg export.
globe.dx.htg0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_export_db_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_export_db_py.html new file mode 100644 index 000000000..1563c903d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_export_db_py.html @@ -0,0 +1,611 @@ +databases/export_db.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  export_db.py
+#
+#  Tests:      mesh      - 3D unstructured
+#              plots     - Pseudocolor
+#
+#  Defect ID:  '6288, '6290, '6587, '6366
+#
+#  Programmer: Hank Childs
+#  Date:       July 1, 2005
+#
+#  Modifications:
+#
+#    Hank Childs, Thu Sep 15 16:33:48 PDT 2005
+#    Add test for exporting CMFEs as secondary variables ('6587)
+#
+#    Kathleen Bonnell, Tue May  2 08:58:01 PDT 2006
+#    Corrected exported database names (from .visit to .vtk).
+#
+#    Hank Childs, Wed Mar 28 11:33:16 PDT 2007
+#    Uncommented tests for '6366, which were previously checked in, but
+#    commented out.
+#
+#    Mark C. Miller Fri Aug  8 09:11:44 PDT 2008
+#    Fixed typo of missing '()' on call to DeleteAllPlots
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to switch between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Wed Feb 25 14:08:53 PST 2015
+#    Add Mesh Plot for silo data exported as VTK, to test that mesh name
+#    was properly exported.
+#
+#    Kathleen Biagas, Fri Feb 17, 2017
+#    Update for new VTK export options.  Added test4, which tests the new
+#    options.
+#
+#    Alister Maguire, Thu Apr 26 13:31:31 PDT 2018
+#    Added test for bov compression.
+#
+#    Kathleen Biagas, Wed May 16, 2018
+#    Use python's gzip instead of subprocess('gunzip') so test will run
+#    correctly on Windows.  Modified AssertTrue calls to have text stating
+#    what is being tested.
+#
+#    Mark C. Miller, Wed Apr 10 10:24:32 PDT 2019
+#    Add tetrahedralize test
+#
+#    Mark C. Miller, Mon Jan 11 10:32:17 PST 2021
+#    Replace AssertTrue() with TestValueEQ(..., True)
+#
+#    Kathleen Biagas, Thu Jun 24, 2021
+#    Moved test for exporting and plotting different formats to new function.
+#    Added testing of the export-and-plot with changed dirname. (#5462)
+#    Removed cleanup_files since temporary files are written to the _run dir
+#    which gets removed on exit (unless --no-cleanup specified).
+#
+#    Eric Brugger, Mon May 1 15:28:30 PST 2023
+#    Added HTG export test.
+#
+# ----------------------------------------------------------------------------
+import time
+import os.path
+import subprocess
+import fnmatch
+
+def test0():
+    OpenDatabase(silo_data_path("globe.silo"))
+    AddPlot("Pseudocolor", "t")
+    DrawPlots()
+
+    # Set the export database attributes.
+    e = ExportDBAttributes()
+    e.db_type = "VTK"
+    e.filename = "test_ex_db"
+    ExportDatabase(e)
+    time.sleep(1)
+
+    e.variables = ("u", "v")
+    e.filename = "test_ex_db2"
+    e.db_type = "Silo"
+    ExportDatabase(e)
+    time.sleep(1)
+
+    DeleteAllPlots()
+#    CloseDatabase(silo_data_path("globe.silo"))
+
+    OpenDatabase("test_ex_db.vtk")
+    AddPlot("Pseudocolor", "t")
+    DrawPlots()
+    Test("export_db_01")
+    DeleteAllPlots()
+#    CloseDatabase("test_ex_db.vtk")
+
+    OpenDatabase("test_ex_db2.silo")
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    Test("export_db_02")
+    DeleteAllPlots()
+#    CloseDatabase("test_ex_db2.silo")
+
+    OpenDatabase(silo_data_path("wave.visit"))
+    DefineScalarExpression("cmfe", "conn_cmfe(coord(<%s:quadmesh>)[1], quadmesh)" % cmfe_silo_data_path("wave0020.silo"))
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+    e.variables = ("cmfe")
+    e.filename = "test_ex_db3"
+    e.db_type = "VTK"
+    ExportDatabase(e)
+    time.sleep(1)
+    DeleteAllPlots()
+
+    DeleteExpression("cmfe")
+    OpenDatabase("test_ex_db3.vtk")
+    AddPlot("Pseudocolor", "cmfe")
+    DrawPlots()
+    Test("export_db_03")
+
+    # Ensure meshname was written by creating mesh plot with old db's meshname
+    AddPlot("Mesh", "quadmesh")
+    DrawPlots()
+    Test("export_db_04")
+    DeleteAllPlots()
+#    CloseDatabase("test_ex_db3.vtk")
+#    CloseDatabase(silo_data_path("wave.visit"))
+
+def VTK_check_binary(filename):
+    if (sys.version_info > (3, 0)):
+        f = open(filename, "rt", encoding='utf-8', errors='ignore')
+    else:
+        f = open(filename, "rt")
+    line = ""
+    for i in (0,1,2):
+        line = f.readline()
+    b = "BINARY" == line[0:6]
+    return b
+
+
+# Test exporting some surfaces in other formats and plotting the results.
+# e = ExportDBAttributes
+# v = View3D
+# a = AnnotationAttributes
+# count = current test number (used for test names)
+# usingWriteGroups = True or False
+
+def export_and_plot(e, v, a, count, usingWriteGroups):
+
+    # formats fields:
+    # {DBName: (no-write-group exported name to read, write-group exported name to read, plot type, var name)}
+
+    formats = { "PLY":          ("export_PLY.ply",          "*.ply",         "Subset",      "PLY_mesh"),
+                "RAW":          ("export_RAW.raw",          "*.raw",         "Subset",      "mesh"),
+                "STL":          ("export_STL.stl",          "*.stl",         "Subset",      "STL_mesh"),
+                "Silo":         ("export_Silo.silo",        "wg_Silo.silo",  "Pseudocolor", "u"),
+                "Tecplot":      ("export_Tecplot.tec",      "*.tec",         "Pseudocolor", "u"),
+                "VTK":          ("export_VTK.visit",        "wg_VTK.visit",  "Pseudocolor", "u"),
+                "WavefrontOBJ": ("export_WavefrontOBJ.obj", "*.obj",         "Subset",      "OBJMesh"),
+                "XYZ":          ("export_XYZ.xyz",          "*.xyz",         "Subset",      "mesh"),
+                "Xmdv":         ("export_Xmdv.visit",       "wg_Xmdv.visit", "Pseudocolor", "u")
+              }
+
+    keys = sorted(formats.keys())
+    test_name_base="export_db_%d"%(2 if usingWriteGroups else 1)
+
+    # do all the exports
+    for f in keys:
+        export_name="%s_%s"%("wg" if usingWriteGroups else "export", f)
+        e.db_type = f
+        e.db_type_fullname = f + "_1.0"
+        e.filename = export_name
+        ExportDatabase(e)
+        time.sleep(1)
+
+    # now attempt to read the exported files
+    if usingWriteGroups:
+        files = sorted(fnmatch.filter(os.listdir(e.dirname), "wg_*"))
+    for f in keys:
+        # Add the exported data in window 2.
+        AddWindow()
+
+        pattern = formats[f][1] if usingWriteGroups else formats[f][0]
+        filelist=""
+        opendbs = []
+
+        if pattern[0] == '*':
+            # Read all of the filenames
+            ext = pattern[2:]
+            for datafile in files:
+                if datafile[-len(ext):] == ext:
+                    if OpenDatabase(datafile):
+                        AddPlot(formats[f][2], formats[f][3])
+                        opendbs = opendbs + [datafile]
+                        filelist = filelist + datafile + "\n"
+            DrawPlots()
+        else:
+            if OpenDatabase(pjoin(e.dirname, pattern)):
+                md = GetMetaData(pattern)
+                AddPlot(formats[f][2], formats[f][3])
+                DrawPlots()
+                if usingWriteGroups:
+                    opendbs = opendbs + [pattern]
+                    filelist = filelist + pattern + "\n"
+            else:
+                if not usingWriteGroups:
+                    files = os.listdir(e.dirname)
+                    files.sort()
+                    s = ""
+                    for fn in files:
+                        if pattern in fn:
+                            s = fn + "\n"
+                    TestText("files", s)
+                else:
+                    filelist = "ERROR: " + "\n".join(os.listdir("."))
+
+        t = CreateAnnotationObject("Text2D")
+        t.text = f
+        t.position = (0.01, 0.91)
+        t.height = 0.07
+        SetView3D(v)
+        SetAnnotationAttributes(a)
+        Test("%s_%02d"%(test_name_base, count))
+        if usingWriteGroups:
+            TestText("%s_%02dfn"%(test_name_base, count),filelist)
+        count=count+1
+
+        # Clean up window 2
+        DeleteAllPlots()
+        #if not usingWriteGroups:
+        #    CloseDatabase(pattern)
+        #else:
+        #    for db in opendbs:
+        #        CloseDatabase(db)
+        DeleteWindow()
+
+    return count
+
+def test1():
+    TestSection("Test export of some surfaces.")
+    maindb = silo_data_path("multi_rect3d.silo")
+    OpenDatabase(maindb)
+    DefineScalarExpression("rad", "magnitude(coords(mesh1))")
+    AddPlot("Pseudocolor", "u")
+    AddOperator("Isosurface")
+    iso = IsosurfaceAttributes()
+    iso.contourValue = (0.55, 1.455)
+    iso.contourMethod = iso.Value
+    iso.variable = "rad"
+    SetOperatorOptions(iso)
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (-0.467474, 0.301847, 0.830877)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0.140705, 0.953323, -0.267166)
+    v.viewAngle = 30
+    v.parallelScale = 0.866025
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    v.imagePan = (-0.0154649, 0.027457)
+    v.imageZoom = 1.14276
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 0.5, 0.5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+    Test("export_db_1_00")
+
+    # Test VTK binary
+    e = ExportDBAttributes()
+    e.db_type = "VTK"
+    e.filename = "binary_VTK"
+    opts = GetExportOptions("VTK")
+    #opts['Binary format'] = 1
+    opts['FileFormat'] = 1
+    ExportDatabase(e, opts)
+    time.sleep(1)
+    line = "The binary_VTK.0.vtk file is NOT binary.\n\n"
+    visitfile = " ".join(open("binary_VTK.visit").readlines())
+    if VTK_check_binary("binary_VTK/binary_VTK.0.vtk"):
+        line = "The binary_VTK.0.vtk file is binary.\n\n"
+    s = line + visitfile
+    TestText("export_db_1_01", s)
+
+    a = GetAnnotationAttributes()
+
+    AddWindow()
+    OpenDatabase("binary_VTK.visit")
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    t = CreateAnnotationObject("Text2D")
+    t.text = "VTK"
+    t.position = (0.01, 0.91)
+    t.height = 0.07
+    SetView3D(v)
+    SetAnnotationAttributes(a)
+    Test("export_db_1_02")
+#    CloseDatabase("binary_VTK.visit")
+    DeleteWindow()
+
+    # Test exporting some surfaces in other formats and plotting the results.
+
+    count = 3
+    count = export_and_plot(e, v, a, count, False)
+
+    # change directory and retry the export_and_plot
+    edir = pjoin(TestEnv.params["run_dir"], "exports")
+    if not os.path.isdir(edir):
+        os.mkdir(edir)
+    e.dirname=edir
+
+    export_and_plot(e, v, a, count, False)
+
+    # Clean up window 1
+    DeleteAllPlots()
+#    CloseDatabase(maindb)
+
+def test2(writeGroupSize):
+    TestSection("Test export with write groups (parallel).")
+    maindb = silo_data_path("multi_rect3d.silo")
+    OpenDatabase(maindb)
+    DefineScalarExpression("rad", "magnitude(coords(mesh1))")
+    AddPlot("Pseudocolor", "u")
+    AddOperator("Isosurface")
+    iso = IsosurfaceAttributes()
+    iso.contourValue = (0.55, 1.455)
+    iso.contourMethod = iso.Value
+    iso.variable = "rad"
+    SetOperatorOptions(iso)
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (-0.467474, 0.301847, 0.830877)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0.140705, 0.953323, -0.267166)
+    v.viewAngle = 30
+    v.parallelScale = 0.866025
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    v.imagePan = (-0.0154649, 0.027457)
+    v.imageZoom = 1.14276
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 0.5, 0.5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+    Test("export_db_2_00")
+
+    a = GetAnnotationAttributes()
+
+    # Test exporting some surfaces in other formats and plotting the results.
+    e = ExportDBAttributes()
+    e.writeUsingGroups = 1
+    e.groupSize = writeGroupSize
+    count = 1
+    count = export_and_plot(e, v, a, count, True)
+
+    # change directory and retry the export_and_plot
+    edir = pjoin(TestEnv.params["run_dir"], "exports_2")
+    if not os.path.isdir(edir):
+        os.mkdir(edir)
+    e.dirname=edir
+
+    export_and_plot(e, v, a, count, True)
+
+    # Clean up window 1
+    DeleteAllPlots()
+#    CloseDatabase(maindb)
+
+def test3():
+    TestSection("Test Tecplot multiblock export.")
+    maindb = silo_data_path("multi_rect3d.silo")
+    OpenDatabase(maindb)
+    DefineScalarExpression("rad", "magnitude(coords(mesh))")
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (-0.467474, 0.301847, 0.830877)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0.140705, 0.953323, -0.267166)
+    v.viewAngle = 30
+    v.parallelScale = 0.866025
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    v.imagePan = (-0.0154649, 0.027457)
+    v.imageZoom = 1.14276
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 0.5, 0.5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+    Test("export_db_3_00")
+    a = GetAnnotationAttributes()
+
+    e = ExportDBAttributes()
+    e.db_type = "Tecplot"
+    e.db_type_fullname = "Tecplot_1.0"
+    e.filename = "rectTecplot"
+    e.writeUsingGroups = 0
+    e.variables = ("default", "v", "rad")
+    ExportDatabase(e)
+    time.sleep(1)
+
+    # Add the exported database in window 2
+    AddWindow()
+    OpenDatabase("rectTecplot.tec")
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    SetAnnotationAttributes(a)
+    SetView3D(v)
+    Test("export_db_3_01")
+    ChangeActivePlotsVar("v")
+    Test("export_db_3_02")
+    ChangeActivePlotsVar("rad")
+    Test("export_db_3_03")
+
+    # Make sure we have volume data
+    AddOperator("ThreeSlice")
+    atts = ThreeSliceAttributes()
+    atts.y = 0.5
+    atts.x = 0.5
+    atts.z = 0.5
+    SetOperatorOptions(atts)
+    DrawPlots()
+    Test("export_db_3_04")
+
+    # Clean up window 2
+    DeleteAllPlots()
+#    CloseDatabase("rectTecplot.tec")
+    DeleteWindow()
+
+    # Back to window 1
+    DeleteAllPlots()
+#    CloseDatabase(maindb)
+
+def test4():
+    TestSection("Test VTK multiblock export.")
+    OpenDatabase(silo_data_path("multi_rect3d.silo"))
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    Test("export_db_4_01")
+
+    e = ExportDBAttributes()
+    e.db_type = "VTK"
+    e.filename = "multi_rect3d_LA"
+    opts = GetExportOptions("VTK")
+    opts['FileFormat'] = "Legacy Ascii"
+    ExportDatabase(e, opts)
+    time.sleep(1)
+    ReplaceDatabase("multi_rect3d_LA.visit")
+    Test("export_db_4_02")
+
+    e.filename = "multi_rect3d_LB"
+    opts['FileFormat'] = "Legacy Binary"
+    ExportDatabase(e, opts)
+    time.sleep(1)
+    ReplaceDatabase("multi_rect3d_LB.visit")
+    Test("export_db_4_03")
+
+    e.filename = "multi_rect3d_XA"
+    opts['FileFormat'] = "XML Ascii"
+    ExportDatabase(e, opts)
+    time.sleep(1)
+    ReplaceDatabase("multi_rect3d_XA.vtm")
+    Test("export_db_4_04")
+
+    e.filename = "multi_rect3d_XB"
+    opts['FileFormat'] = "XML Binary"
+    ExportDatabase(e, opts)
+    time.sleep(1)
+    ReplaceDatabase("multi_rect3d_XB.vtm")
+    Test("export_db_4_05")
+
+    DeleteAllPlots()
+
+def test_bov():
+    TestSection("Test bov export with and without compression.")
+    maindb = silo_data_path("noise.silo")
+    OpenDatabase(maindb)
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+
+    #
+    # test w/o compression
+    #
+    e = ExportDBAttributes()
+    e.db_type = "BOV"
+    e.db_type_fullname = "BOV_1.0"
+    e.filename = "test_bov_uncompressed"
+    e.variables = ("default")
+    opts = GetExportOptions("BOV")
+    opts["Compression"] = "None"
+    ExportDatabase(e, opts)
+    time.sleep(1)
+    TestValueEQ("test_bov_uncompressed.bov exists", os.path.isfile("test_bov_uncompressed.bov"), True)
+    TestValueEQ("test_bov_uncompressed.bof exists", os.path.isfile("test_bov_uncompressed.bof"), True)
+    ReplaceDatabase("test_bov_uncompressed.bov")
+    Test("export_db_5_01")
+
+    #
+    # test w gzip compression
+    #
+    e.filename = "test_bov_gzip"
+    opts["Compression"] = "gzip"
+    ExportDatabase(e, opts)
+    time.sleep(1)
+    TestValueEQ("test_bov_gzip.bov exists", os.path.isfile("test_bov_gzip.bov"), True)
+    TestValueEQ("test_bov_gzip.bof.gz exists", os.path.isfile("test_bov_gzip.bof.gz"), True)
+    ReplaceDatabase("test_bov_gzip.bov")
+    Test("export_db_5_02")
+
+    DeleteAllPlots()
+
+def test_vtk_tetrahedralize():
+    dbs_noext = ["ucd3d", "specmix_ucd"]
+    for db_noext in dbs_noext:
+        db = "%s.silo"%db_noext
+        OpenDatabase(silo_data_path(db))
+        AddPlot("Pseudocolor","d") # both dbs have variable 'd'
+        DrawPlots()
+        Query("NumZones")
+        nzOrig = int(GetQueryOutputValue())
+
+        # Test VTK binary
+        e = ExportDBAttributes()
+        e.db_type = "VTK"
+        e.filename = "%s_ascii_VTK_tets"%db_noext
+        opts = GetExportOptions("VTK")
+        opts['FileFormat'] = "Legacy Ascii"
+        opts['Tetrahedralize'] = True
+        ExportDatabase(e, opts)
+        time.sleep(1)
+        DeleteAllPlots()
+#        CloseDatabase(silo_data_path(db))
+        OpenDatabase("%s_ascii_VTK_tets.vtk"%db_noext)
+        AddPlot("Pseudocolor","d")
+        DrawPlots()
+        Query("NumZones")
+        nzNew = int(GetQueryOutputValue())
+        TestText("export_db_vtk_tets_%s"%db_noext, "Ratio of exported zone count to original is %d"%(nzNew/nzOrig))
+        DeleteAllPlots()
+
+def test_htg():
+    TestSection("Test htg export.")
+    OpenDatabase(silo_data_path("globe.silo"))
+    AddPlot("Pseudocolor", "dx")
+    AddOperator("Resample")
+    resample = ResampleAttributes()
+    resample.useExtents = 0
+    resample.startX = -10
+    resample.endX = 10
+    resample.samplesX = 16
+    resample.startY = -10
+    resample.endY = 10
+    resample.samplesY = 16
+    resample.is3D = 1
+    resample.startZ = -10
+    resample.endZ = 10
+    resample.samplesZ = 16
+    resample.defaultValue = -10000
+    resample.distributedResample = 0
+    resample.cellCenteredOutput = 1
+    SetOperatorOptions(resample)
+    DrawPlots()
+
+    e = ExportDBAttributes()
+    e.db_type = "HTG"
+    e.filename = "globe"
+    opts = GetExportOptions("HTG")
+    opts['Blank value'] = -10000
+    ExportDatabase(e, opts)
+
+    htg_text = Path('globe.dx.htg').read_text()
+
+    TestText("globe.dx.htg", htg_text)
+
+    DeleteAllPlots()
+
+def main():
+    test0()
+    test1()
+    if GetEngineProperties(GetEngineList()[0]).numProcessors > 1:
+        # We just use 2 processors normally so let's set the write group size
+        # to 1 so each rank will write its own data using a different write
+        # group. For certain formats, there will be 1 data file per write
+        # group, or in this case 2 output files.
+        test2(1)
+    test3()
+    test4()
+    test_bov()
+    test_vtk_tetrahedralize()
+    test_htg()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_ffp.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_ffp.html new file mode 100644 index 000000000..f352b8084 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_ffp.html @@ -0,0 +1,60 @@ + +Results for databases/ffp.py + +

Results of VisIt Regression Test - databases/ffp

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ffp_000.000.00
ffp_010.000.00
ffp_020.000.00
ffp_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_ffp_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_ffp_py.html new file mode 100644 index 000000000..bd7ebc18a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_ffp_py.html @@ -0,0 +1,260 @@ +databases/ffp.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ffp.py
+#
+#  Programmer: Olivier Cessenat
+#  Tue May  8 21:49:21 PDT 2018
+#
+#  Modifications:
+#     Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
+#     Changed Pseudocolor CurrentPlot to ActualData.
+# ----------------------------------------------------------------------------
+TurnOffAllAnnotations()
+
+OpenDatabase(data_path("ffp_test_data/nasa_almond_pec.ffp.gz"), 0, "ffp_1.0")
+AddPlot("Pseudocolor", "cffp", 1, 1)
+# Begin spontaneous state
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.160095, 0.96257, 0.218697)
+View3DAtts.focus = (0, 0, 0)
+View3DAtts.viewUp = (-0.983472, 0.136561, 0.118883)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 3.4641
+View3DAtts.nearPlane = -6.9282
+View3DAtts.farPlane = 6.9282
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1.21
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.centerOfRotationSet = 0
+View3DAtts.centerOfRotation = (0, 0, 0)
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+View3DAtts.shear = (0, 0, 1)
+View3DAtts.windowValid = 1
+SetView3D(View3DAtts)
+# End spontaneous state
+
+DrawPlots()
+SaveWindowAtts = SaveWindowAttributes()
+SaveWindowAtts.outputToCurrentDirectory = 1
+SaveWindowAtts.outputDirectory = "."
+SaveWindowAtts.fileName = "nasa_almond_pec"
+SaveWindowAtts.family = 1
+SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
+SaveWindowAtts.width = 1024
+SaveWindowAtts.height = 1024
+SaveWindowAtts.screenCapture = 0
+SaveWindowAtts.saveTiled = 0
+SaveWindowAtts.quality = 80
+SaveWindowAtts.progressive = 0
+SaveWindowAtts.binary = 0
+SaveWindowAtts.stereo = 0
+SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
+SaveWindowAtts.forceMerge = 0
+SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
+SaveWindowAtts.advancedMultiWindowSave = 0
+SetSaveWindowAttributes(SaveWindowAtts)
+Test("ffp_00", SaveWindowAtts)
+
+DeleteAllPlots()
+CloseDatabase(data_path("ffp_test_data/nasa_almond_pec.ffp.gz"))
+
+# Test standard ffp format
+OpenDatabase(data_path("ffp_test_data/sphereMie.ffp"), 0)
+AddPlot("Pseudocolor", "mffp", 1, 1)
+PseudocolorAtts = PseudocolorAttributes()
+PseudocolorAtts.scaling = PseudocolorAtts.Skew  # Linear, Log, Skew
+PseudocolorAtts.skewFactor = 10000
+PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
+PseudocolorAtts.minFlag = 0
+PseudocolorAtts.min = 0
+PseudocolorAtts.maxFlag = 0
+PseudocolorAtts.max = 1
+PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
+PseudocolorAtts.colorTableName = "hot"
+PseudocolorAtts.invertColorTable = 0
+PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
+PseudocolorAtts.opacityVariable = ""
+PseudocolorAtts.opacity = 1
+PseudocolorAtts.opacityVarMin = 0
+PseudocolorAtts.opacityVarMax = 1
+PseudocolorAtts.opacityVarMinFlag = 0
+PseudocolorAtts.opacityVarMaxFlag = 0
+PseudocolorAtts.pointSize = 0.05
+PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
+PseudocolorAtts.pointSizeVarEnabled = 0
+PseudocolorAtts.pointSizeVar = "default"
+PseudocolorAtts.pointSizePixels = 2
+PseudocolorAtts.lineType = PseudocolorAtts.Line  # Line, Tube, Ribbon
+PseudocolorAtts.lineWidth = 0
+#PseudocolorAtts.tubeDisplayDensity = 10
+PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox  # Absolute, FractionOfBBox
+PseudocolorAtts.tubeRadiusAbsolute = 0.125
+PseudocolorAtts.tubeRadiusBBox = 0.005
+#PseudocolorAtts.varyTubeRadius = 0
+#PseudocolorAtts.varyTubeRadiusVariable = ""
+#PseudocolorAtts.varyTubeRadiusFactor = 10
+#PseudocolorAtts.endPointType = PseudocolorAtts.NONE  # None, Tails, Heads, Both
+#PseudocolorAtts.endPointStyle = PseudocolorAtts.Spheres  # Spheres, Cones
+PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.FractionOfBBox  # Absolute, FractionOfBBox
+PseudocolorAtts.endPointRadiusAbsolute = 1
+PseudocolorAtts.endPointRadiusBBox = 0.005
+PseudocolorAtts.endPointRatio = 2
+PseudocolorAtts.renderSurfaces = 1
+PseudocolorAtts.renderWireframe = 0
+PseudocolorAtts.renderPoints = 0
+PseudocolorAtts.smoothingLevel = 0
+PseudocolorAtts.legendFlag = 1
+PseudocolorAtts.lightingFlag = 1
+SetPlotOptions(PseudocolorAtts)
+DrawPlots()
+# Begin spontaneous state
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.782512, 0.282334, 0.554944)
+View3DAtts.focus = (0, 0, -0.454083)
+View3DAtts.viewUp = (-0.175089, 0.955097, -0.239027)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 0.557719
+View3DAtts.nearPlane = -1.11544
+View3DAtts.farPlane = 1.11544
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.centerOfRotationSet = 0
+View3DAtts.centerOfRotation = (0, 0, -0.454083)
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+View3DAtts.shear = (0, 0, 1)
+View3DAtts.windowValid = 1
+SetView3D(View3DAtts)
+# End spontaneous state
+
+SaveWindowAtts = SaveWindowAttributes()
+SaveWindowAtts.outputToCurrentDirectory = 1
+SaveWindowAtts.outputDirectory = "."
+SaveWindowAtts.fileName = "sphereMie"
+SaveWindowAtts.family = 1
+SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
+SaveWindowAtts.width = 1024
+SaveWindowAtts.height = 1024
+SaveWindowAtts.screenCapture = 0
+SaveWindowAtts.saveTiled = 0
+SaveWindowAtts.quality = 80
+SaveWindowAtts.progressive = 0
+SaveWindowAtts.binary = 0
+SaveWindowAtts.stereo = 0
+SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
+SaveWindowAtts.forceMerge = 0
+SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
+SaveWindowAtts.advancedMultiWindowSave = 0
+SetSaveWindowAttributes(SaveWindowAtts)
+Test("ffp_01", SaveWindowAtts)
+
+DeleteAllPlots()
+CloseDatabase(data_path("ffp_test_data/sphereMie.ffp"))
+OpenDatabase(data_path("ffp_test_data/mksn10.ffp"))
+AddPlot("Pseudocolor", "sffp", 1, 1)
+AddPlot("Mesh", "sphere", 1, 1)
+DrawPlots()
+
+# Begin spontaneous state
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.382511, -0.663647, 0.642852)
+View3DAtts.focus = (0, 0, 0)
+View3DAtts.viewUp = (-0.146698, 0.643316, 0.751415)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 1.73205
+View3DAtts.nearPlane = -3.4641
+View3DAtts.farPlane = 3.4641
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.centerOfRotationSet = 0
+View3DAtts.centerOfRotation = (0, 0, 0)
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+View3DAtts.shear = (0, 0, 1)
+View3DAtts.windowValid = 1
+SetView3D(View3DAtts)
+# End spontaneous state
+
+SaveWindowAtts = SaveWindowAttributes()
+SaveWindowAtts.outputToCurrentDirectory = 1
+SaveWindowAtts.outputDirectory = "."
+SaveWindowAtts.fileName = "mksn10"
+SaveWindowAtts.family = 1
+SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
+SaveWindowAtts.width = 1024
+SaveWindowAtts.height = 1024
+SaveWindowAtts.screenCapture = 0
+SaveWindowAtts.saveTiled = 0
+SaveWindowAtts.quality = 80
+SaveWindowAtts.progressive = 0
+SaveWindowAtts.binary = 0
+SaveWindowAtts.stereo = 0
+SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
+SaveWindowAtts.forceMerge = 0
+SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
+SaveWindowAtts.advancedMultiWindowSave = 0
+SetSaveWindowAttributes(SaveWindowAtts)
+Test("ffp_02", SaveWindowAtts)
+
+DeleteAllPlots()
+CloseDatabase(data_path("ffp_test_data/mksn10.ffp"))
+OpenDatabase(data_path("ffp_test_data/mksn20.ffp"))
+AddPlot("Pseudocolor", "cffp", 1, 1)
+AddPlot("Mesh", "cphere", 1, 1)
+DrawPlots()
+
+# Begin spontaneous state
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (-0.187617, -0.963273, 0.192107)
+View3DAtts.focus = (0, 0, 0)
+View3DAtts.viewUp = (0.0378766, 0.188339, 0.981373)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 3.4641
+View3DAtts.nearPlane = -6.9282
+View3DAtts.farPlane = 6.9282
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.centerOfRotationSet = 0
+View3DAtts.centerOfRotation = (0, 0, 0)
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+View3DAtts.shear = (0, 0, 1)
+View3DAtts.windowValid = 1
+SetView3D(View3DAtts)
+# End spontaneous state
+
+SaveWindowAtts = SaveWindowAttributes()
+SaveWindowAtts.outputToCurrentDirectory = 1
+SaveWindowAtts.outputDirectory = "."
+SaveWindowAtts.fileName = "mksn20"
+SaveWindowAtts.family = 1
+SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
+SaveWindowAtts.width = 1024
+SaveWindowAtts.height = 1024
+SaveWindowAtts.screenCapture = 0
+SaveWindowAtts.saveTiled = 0
+SaveWindowAtts.quality = 80
+SaveWindowAtts.progressive = 0
+SaveWindowAtts.binary = 0
+SaveWindowAtts.stereo = 0
+SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
+SaveWindowAtts.forceMerge = 0
+SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
+SaveWindowAtts.advancedMultiWindowSave = 0
+SetSaveWindowAttributes(SaveWindowAtts)
+Test("ffp_03", SaveWindowAtts)
+
+DeleteAllPlots()
+CloseDatabase(data_path("ffp_test_data/mksn20.ffp"))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_flash.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_flash.html new file mode 100644 index 000000000..2a8ea4552 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_flash.html @@ -0,0 +1,42 @@ + +Results for databases/flash.py + +

Results of VisIt Regression Test - databases/flash

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
flash_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_flash_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_flash_py.html new file mode 100644 index 000000000..967fa683c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_flash_py.html @@ -0,0 +1,46 @@ +databases/flash.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  flash.py 
+#
+#  Tests:      FLASH data 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       March6, 2007 
+#
+#  Modifications:
+#
+#    Hank Childs and Randy Hudson, Sun Mar  2 15:38:05 PST 2008
+#    Reflect new naming scheme.
+#
+#    Hank Childs, Tue Jan 19 13:29:29 PST 2010
+#    Go back to original naming scheme.
+#
+# ----------------------------------------------------------------------------
+import os, string
+
+RequiredDatabasePlugin("FLASH")
+
+SetTryHarderCyclesTimes(1)
+# the following open command doesn't work (#7873)
+##OpenDatabase(data_path("FLASH_test_data/orbit_hdf5_chk_0* database"))
+
+OpenDatabase(data_path("FLASH_test_data/orbit_hdf5_chk_0000"),0, "FLASH_1.0")
+
+
+AddPlot("Pseudocolor","pden")
+AddOperator("Clip")
+c = ClipAttributes()
+c.funcType = c.Plane
+c.plane1Origin = (0.5, 0.5, 0.4)
+c.plane1Normal = (0, 0, 1)
+SetOperatorOptions(c)
+DrawPlots()
+v=GetView3D()
+v.viewNormal=(-0.707107, 0, 0.707107)
+v.viewUp=(0, 1, 0)
+SetView3D(v)
+Test("flash_01")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_global_node_ids.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_global_node_ids.html new file mode 100644 index 000000000..724e94aa4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_global_node_ids.html @@ -0,0 +1,96 @@ + +Results for databases/global_node_ids.py + +

Results of VisIt Regression Test - databases/global_node_ids

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
global_node_ids010.000.00
global_node_ids020.000.00
global_node_ids030.000.00
global_node_ids040.000.00
global_node_ids050.000.00
global_node_ids060.000.00
global_node_ids070.000.00
global_node_ids080.000.00
global_node_ids090.000.00
global_node_ids100.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_global_node_ids_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_global_node_ids_py.html new file mode 100644 index 000000000..763bfd8ba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_global_node_ids_py.html @@ -0,0 +1,91 @@ +databases/global_node_ids.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  global_node_ids.py
+#
+#  Tests:      mesh      - 3D unstructured,multi-domain, global node ids, but
+#                          no ghost zones.
+#              plots     - mat subset, domain subset
+#
+#  Defect ID:  '5448
+#
+#  Programmer: Hank Childs
+#  Date:       October 5, 2004
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+view = View3DAttributes()
+view.viewNormal = (0.557976, 0.651128, 0.514485)
+view.focus = (0.5, 0.5, 0.5)
+view.viewUp = (-0.0955897, 0.666272, -0.739557)
+view.viewAngle = 30
+view.parallelScale = 0.866025
+view.nearPlane = -1.73205
+view.farPlane = 1.73205
+view.perspective = 1
+SetView3D(view)
+
+OpenDatabase(silo_data_path("global_node.silo"))
+
+AddPlot("FilledBoundary", "mat")
+DrawPlots()
+
+# Test the normal material plot.
+Test("global_node_ids01")
+
+# Make sure that the ghost zones were generated correctly.
+view.nearPlane = -0.3
+SetView3D(view)
+Test("global_node_ids02")
+
+view.nearPlane = -1.73205
+SetView3D(view)
+
+TurnMaterialsOff("1")
+Test("global_node_ids03")
+
+TurnMaterialsOff()
+TurnMaterialsOn("1")
+Test("global_node_ids04")
+
+DeleteAllPlots()
+
+# Test that the SIL from the previous plot is preserved.
+AddPlot("Subset", "domains")
+DrawPlots()
+Test("global_node_ids05")
+
+DeleteAllPlots()
+AddPlot("Pseudocolor", "dist")
+DrawPlots()
+Test("global_node_ids06")
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+Test("global_node_ids07")
+
+DeleteAllPlots()
+AddPlot("Contour", "dist")
+DrawPlots()
+Test("global_node_ids08")
+
+DefineScalarExpression("dist2", "recenter(dist)")
+ChangeActivePlotsVar("dist2")
+Test("global_node_ids09")
+
+DeleteAllPlots()
+AddPlot("Pseudocolor", "dist2")
+DrawPlots()
+Test("global_node_ids10")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_h5part.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_h5part.html new file mode 100644 index 000000000..6084faafe --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_h5part.html @@ -0,0 +1,60 @@ + +Results for databases/h5part.py + +

Results of VisIt Regression Test - databases/h5part

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
h5part_010.000.00
h5part_020.000.00
h5part_030.000.00
h5part_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_h5part_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_h5part_py.html new file mode 100644 index 000000000..ffc5bf85b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_h5part_py.html @@ -0,0 +1,64 @@ +databases/h5part.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  h5part.py
+#
+#  Programmer: Gunther Weber 
+#  Date:       January, 2009 
+#
+#  Modifications:
+#    Mark C. Miller, Wed Jan 21 09:36:13 PST 2009
+#    Took Gunther's original code and integrated it with test suite.
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("H5Part")
+
+TurnOffAllAnnotations()
+
+OpenDatabase(data_path("h5part_test_data/sample.h5part"), 0)
+
+AddPlot("Pseudocolor", "GaussianField", 1, 0)
+DrawPlots()
+Test("h5part_01")
+
+ChangeActivePlotsVar("LinearField")
+View3DAtts = GetView3D()
+View3DAtts.viewNormal = (1.000000, 0.000000, 0.0000000)
+View3DAtts.focus = (31.5, 31.5, 31.5)
+View3DAtts.viewUp = (0.000000, 1.000000, 0.0000000)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 54.5596
+View3DAtts.nearPlane = -109.119
+View3DAtts.farPlane = 109.119
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.centerOfRotationSet = 0
+View3DAtts.centerOfRotation = (31.5, 31.5, 31.5)
+SetView3D(View3DAtts)
+Test("h5part_02")
+
+DeleteActivePlots()
+AddPlot("Pseudocolor", "px", 1, 0)
+PseudocolorAtts = PseudocolorAttributes()
+PseudocolorAtts.pointType = PseudocolorAtts.Sphere
+PseudocolorAtts.pointSize = 1.5
+SetPlotOptions(PseudocolorAtts)
+DrawPlots()
+Test("h5part_03")
+
+AddPlot("Pseudocolor", "LinearField", 1, 0)
+AddOperator("Slice", 0)
+SliceAtts = SliceAttributes()
+SliceAtts.originType = SliceAtts.Intercept
+SliceAtts.originIntercept = 30
+SliceAtts.axisType = SliceAtts.XAxis
+SliceAtts.project2d = 0
+SliceAtts.meshName = "particles"
+SetOperatorOptions(SliceAtts)
+DrawPlots()
+Test("h5part_04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_history.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_history.html new file mode 100644 index 000000000..c440816df --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_history.html @@ -0,0 +1,48 @@ + +Results for databases/history.py + +

Results of VisIt Regression Test - databases/history

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
history_010.000.00
history_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_history_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_history_py.html new file mode 100644 index 000000000..c6778a770 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_history_py.html @@ -0,0 +1,47 @@ +databases/history.py
# ----------------------------------------------------------------------------
+#  MODES: serial
+#  CLASSES: nightly
+#
+#  Test Case:  history.py 
+#
+#  Tests:      variables that only have values for real zones (not ghost zones)
+#              Some history variables have this property.
+#
+#  Programmer: Hank Childs
+#  Date:       January 9, 2004
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+
+#
+# Test that we can detect that there is a problem and add 0's.
+#
+AddPlot("Pseudocolor","hist")
+DrawPlots()
+
+v=GetView3D()
+v.viewNormal=(-0.35, -0.47, -0.8)
+SetView3D(v)
+Test("history_01")
+
+#
+# Doing material selection flexes the code in a different way (it confirms
+# that we can detect the problem immediately upon reading it from the disk).
+# Test that that works correctly as well.
+#
+
+sil = SILRestriction()
+sets = sil.SetsInCategory("mat1")
+sil.TurnOffSet(sets[0])
+sil.TurnOffSet(sets[2])
+SetPlotSILRestriction(sil)
+Test("history_02")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_image.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_image.html new file mode 100644 index 000000000..18ea0b43d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_image.html @@ -0,0 +1,60 @@ + +Results for databases/image.py + +

Results of VisIt Regression Test - databases/image

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
image_010.000.00
image_020.000.00
image_030.000.00
image_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_image_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_image_py.html new file mode 100644 index 000000000..564d50bec --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_image_py.html @@ -0,0 +1,90 @@ +databases/image.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  image.py 
+#
+#  Defect ID:  '6277
+#
+#  Tests:      image reader and data selections 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       November 4, 2004 
+#
+#  Modifications:
+# 
+#    Hank Childs, Fri May 20 15:08:37 PDT 2005
+#    Added tests for image volumes.
+#
+#    Jeremy Meredith, Thu Jan 14 12:09:57 EST 2010
+#    Changed the way the imgvol test file was created.
+#
+# ----------------------------------------------------------------------------
+
+
+#
+# we'll make all the pc plots gray scale
+#
+pcatts=PseudocolorAttributes()
+pcatts.colorTableName="gray"
+SetDefaultPlotOptions(pcatts)
+
+#
+# test ability to read an image as usual 
+#
+OpenDatabase(data_path("Image_test_data/manhattan.jpg"))
+
+
+AddPlot("Pseudocolor","intensity")
+DrawPlots()
+Test("image_01")
+
+DeleteAllPlots()
+
+#
+# Test a data selection on a format that cannot
+# handle it during read. The selection will
+# occur after WHOLE image is read
+#
+AddPlot("Pseudocolor","intensity")
+box=BoxAttributes()
+box.minx = 0
+box.maxx = 100
+box.miny = 0
+box.maxy = 100
+AddOperator("Box")
+SetOperatorOptions(box)
+DrawPlots()
+Test("image_02")
+
+DeleteAllPlots()
+
+#
+# Now test a data selection on a format that can
+# handle selection during read 
+#
+OpenDatabase(data_path("Image_test_data/manhattan.pnm"))
+
+AddPlot("Pseudocolor","intensity")
+AddOperator("Box")
+SetOperatorOptions(box)
+DrawPlots()
+Test("image_03")
+
+DeleteAllPlots()
+f = open(data_path("Image_test_data/manhattan.imgvol"), "wt")
+f.write("Z_STEP:60\n")
+for i in range(3):
+   f.write("manhattan.jpg\n")
+f.close()
+OpenDatabase(data_path("Image_test_data/manhattan.imgvol"))
+
+AddPlot("Contour", "green")
+c = ContourAttributes()
+c.contourMethod = c.Value
+c.contourValue = (128)
+SetPlotOptions(c)
+DrawPlots()
+Test("image_04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_imgvol.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_imgvol.html new file mode 100644 index 000000000..8fa082968 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_imgvol.html @@ -0,0 +1,78 @@ + +Results for databases/imgvol.py + +

Results of VisIt Regression Test - databases/imgvol

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
imgvol_010.000.00
imgvol_020.000.00
imgvol_030.000.00
imgvol_040.000.00
imgvol_050.000.00
imgvol_060.000.00
imgvol_070.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_imgvol_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_imgvol_py.html new file mode 100644 index 000000000..077c37349 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_imgvol_py.html @@ -0,0 +1,67 @@ +databases/imgvol.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  imgvol.py 
+#
+#  Tests:      imgvol reader
+#
+#  Mark C. Miller, Fri Apr 23 23:01:06 PDT 2010
+#
+#  Modifications:
+# 
+#    Mark C. Miller, Sun Apr 25 21:30:29 PDT 2010
+#    Added missing Slice operator for contour plot.
+# ----------------------------------------------------------------------------
+
+OpenDatabase(data_path("imgvol_test_data/tcup.imgvol"))
+
+AddPlot("Pseudocolor","intensity")
+sa=SliceAttributes()
+sa.originType = sa.Percent
+sa.originPercent = 50
+AddOperator("Slice")
+SetOperatorOptions(sa)
+DrawPlots()
+Test("imgvol_01")
+
+ChangeActivePlotsVar("intensity_nodal")
+DrawPlots()
+Test("imgvol_02")
+
+AddOperator("InverseGhostZone")
+DrawPlots()
+Test("imgvol_03")
+RemoveLastOperator()
+
+AddPlot("Contour","intensity")
+AddOperator("Slice")
+SetOperatorOptions(sa)
+ca=ContourAttributes()
+ca.contourValue = (65,)
+ca.contourMethod = ca.Value
+ca.lineWidth = 2
+SetPlotOptions(ca)
+DrawPlots()
+Test("imgvol_04")
+
+ChangeActivePlotsVar("intensity")
+DrawPlots()
+Test("imgvol_05")
+
+DeleteActivePlots()
+RemoveLastOperator()
+
+iv=IsovolumeAttributes()
+iv.lbound = 65
+AddOperator("Isovolume")
+SetOperatorOptions(iv)
+AddOperator("Slice")
+SetOperatorOptions(sa)
+DrawPlots()
+Test("imgvol_06")
+
+ChangeActivePlotsVar("intensity_nodal")
+Test("imgvol_07")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_kulllite.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_kulllite.html new file mode 100644 index 000000000..6d5c91e9d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_kulllite.html @@ -0,0 +1,84 @@ + +Results for databases/kulllite.py + +

Results of VisIt Regression Test - databases/kulllite

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
kulllite_010.000.00
kulllite_020.000.00
kulllite_030.000.00
kulllite_040.000.00
kulllite_050.000.00
kulllite_060.000.00
kulllite_070.000.00
kulllite_080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_kulllite_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_kulllite_py.html new file mode 100644 index 000000000..785f21626 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_kulllite_py.html @@ -0,0 +1,89 @@ +databases/kulllite.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  kulllite.py
+#
+#  Tests:      mesh      - 2D, 3D unstructured
+#              plots     - Pseudocolor, mesh, boundary, subset
+#
+#  Defect ID:  '6251, '6326, '7043
+#
+#  Programmer: Hank Childs
+#  Date:       June 14, 2005
+#
+#  Modifications:
+#
+#    Hank Childs, Thu May 11 11:35:39 PDT 2006
+#    Test reading of density values.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("KullLite")
+
+OpenDatabase(data_path("KullLite_test_data/tagtest_xy_3.pdb"))
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+Test("kulllite_01")
+
+DeleteAllPlots()
+OpenDatabase(data_path("KullLite_test_data/tagtest_rz_1_0.pdb"))
+
+AddPlot("FilledBoundary", "Material(mesh)")
+AddPlot("Mesh", "mesh_tags/edges_mesh")
+DrawPlots()
+Test("kulllite_02")
+
+DeleteActivePlots()
+AddPlot("Mesh", "mesh")
+AddPlot("Mesh", "mesh_tags/nodes_mesh")
+m = MeshAttributes()
+m.pointType = m.Box
+SetPlotOptions(m)
+DrawPlots()
+Test("kulllite_03")
+
+DeleteAllPlots()
+AddPlot("FilledBoundary", "mesh_tags/nodes(mesh_tags/nodes_mesh)")
+fb = FilledBoundaryAttributes()
+fb.pointType = fb.Box
+SetPlotOptions(fb)
+DrawPlots()
+Test("kulllite_04")
+
+DeleteAllPlots()
+OpenDatabase(data_path("KullLite_test_data/T.pdb"))
+
+AddPlot("FilledBoundary", "Material")
+DrawPlots()
+Test("kulllite_05")
+
+thres = ThresholdAttributes()
+thres.listedVarNames = ("mesh_quality/shear")
+thres.upperBounds = (0.5)
+SetDefaultOperatorOptions(thres)
+AddOperator("Threshold")
+DrawPlots()
+Test("kulllite_06")
+
+DeleteAllPlots()
+
+# Test reading of densities, for both per-zone quantities and per-zone,
+# per-material quantities.
+OpenDatabase(data_path("pdb_test_data/2dOverlayTest21.pdb"))
+
+AddPlot("Pseudocolor", "density")
+DrawPlots()
+Test("kulllite_07")
+m = MaterialAttributes()
+m.forceMIR = 1
+SetMaterialAttributes(m)
+ReOpenDatabase(data_path("pdb_test_data/2dOverlayTest21.pdb"))
+
+Test("kulllite_08")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_lata.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_lata.html new file mode 100644 index 000000000..fcb7c31a7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_lata.html @@ -0,0 +1,126 @@ + +Results for databases/lata.py + +

Results of VisIt Regression Test - databases/lata

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
lata_000.000.00
lata_010.000.00
lata_020.000.00
lata_030.000.00
lata_040.000.00
lata_050.000.00
lata_060.000.00
lata_070.000.00
lata_080.000.00
lata_090.000.00
lata_100.000.00
lata_110.000.00
lata_120.000.00
lata_130.000.00
lata_140.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_lata_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_lata_py.html new file mode 100644 index 000000000..7ff6a5261 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_lata_py.html @@ -0,0 +1,134 @@ +databases/lata.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  lata.py 
+#
+TurnOffAllAnnotations()
+# on change le stride des vecteurs par defaut 
+vd=VectorAttributes()
+vd.SetUseStride(1)
+SetDefaultPlotOptions(vd)
+OpenDatabase(data_path("Lata_test_data/2D_VDF/PAR_2D_VDF.lata"))
+
+AddPlot("Mesh","dom_solide")
+AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
+AddPlot("Vector","VITESSE_ELEM_dom_fluide")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_00")
+DeleteAllPlots()
+
+AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
+AddPlot("Vector","VITESSE_SOM_dom_fluide")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_01")
+DeleteAllPlots()
+
+AddPlot("Mesh","dom_fluide")
+AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
+AddPlot("Subset", "blocks(dom_solide)")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_02")
+DeleteAllPlots()
+CloseDatabase(data_path("Lata_test_data/2D_VDF/PAR_2D_VDF.lata"))
+
+OpenDatabase(data_path("Lata_test_data/3D_VDF/PAR_3D_VDF.lata"))
+AddPlot("Mesh","dom_solide")
+AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
+AddPlot("Vector","VITESSE_ELEM_dom_fluide")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_03")
+DeleteAllPlots()
+
+AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
+AddPlot("Vector","VITESSE_SOM_dom_fluide")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_04")
+DeleteAllPlots()
+
+AddPlot("Mesh","dom_fluide")
+AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
+AddPlot("Subset", "blocks(dom_solide)")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_05")
+DeleteAllPlots()
+CloseDatabase(data_path("Lata_test_data/3D_VDF/PAR_3D_VDF.lata"))
+
+OpenDatabase(data_path("Lata_test_data/2D_VEF/PAR_2D_VEF.lata"))
+AddPlot("Mesh","dom_solide")
+AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
+AddPlot("Vector","VITESSE_ELEM_dom_fluide")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_06")
+DeleteAllPlots()
+
+AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
+AddPlot("Vector","VITESSE_SOM_dom_fluide")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_07")
+DeleteAllPlots()
+
+AddPlot("Mesh","dom_fluide")
+AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
+AddPlot("Subset", "blocks(dom_solide)")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_08")
+DeleteAllPlots()
+
+AddPlot("Mesh","dom_fluide")
+AddPlot("Vector","VITESSE_FACES_dom_fluide_centerfaces")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_09")
+DeleteAllPlots()
+CloseDatabase(data_path("Lata_test_data/2D_VEF/PAR_2D_VEF.lata"))
+
+OpenDatabase(data_path("Lata_test_data/3D_VEF/PAR_3D_VEF.lata"))
+AddPlot("Mesh","dom_solide")
+AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
+AddPlot("Vector","VITESSE_ELEM_dom_fluide")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_10")
+DeleteAllPlots()
+
+AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
+AddPlot("Vector","VITESSE_SOM_dom_fluide")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_11")
+DeleteAllPlots()
+
+AddPlot("Mesh","dom_fluide")
+AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
+AddPlot("Subset", "blocks(dom_solide)")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_12")
+DeleteAllPlots()
+
+AddPlot("Mesh","dom_fluide")
+AddPlot("Vector","VITESSE_FACES_dom_fluide_centerfaces")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_13")
+DeleteAllPlots()
+CloseDatabase(data_path("Lata_test_data/3D_VEF/PAR_3D_VEF.lata"))
+
+OpenDatabase(data_path("Lata_test_data/./FTD_remaillage_vdf/post.lata"))
+AddPlot("Mesh","INTERFACES")
+AddPlot("Pseudocolor","COURBURE_som_INTERFACES")
+SetTimeSliderState(2)
+DrawPlots()
+Test("lata_14")
+DeleteAllPlots()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_leos.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_leos.html new file mode 100644 index 000000000..913d0fbaa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_leos.html @@ -0,0 +1,66 @@ + +Results for databases/leos.py + +

Results of VisIt Regression Test - databases/leos

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
leos_010.000.00
leos_030.000.00
leos_040.000.00
leos_050.000.00
leos_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_leos_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_leos_py.html new file mode 100644 index 000000000..e42e93fa9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_leos_py.html @@ -0,0 +1,86 @@ +databases/leos.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  leos.py 
+#
+#  Tests:      Auto Full Frame Mode
+#              LEOSFileReader 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       July 20, 2005 
+#
+#  Modifications:
+#    Tom Fogal, Wed Dec 16 13:12:57 MST 2009
+#    Fixed a bad path.
+#
+#    Mark C. Miller, Fri Jan 22 17:30:29 PST 2010
+#    I replaced OpenDatabase with FindAnd... variant to deal with data
+#    we don't keep in repo.
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("PDB")
+
+OpenMDServer("localhost")
+readOptions=GetDefaultFileOpenOptions("PDB")
+readOptions["LEOS try harder level [set to 0, 1 or 2]"] = 1
+SetDefaultFileOpenOptions("PDB", readOptions)
+
+(err, dbname) = FindAndOpenDatabase("sesame.pdb")
+if (err != 1): Exit(116) # Indicate skip
+
+#
+# Test default full frame (became 'auto' 07Mar06)
+#
+AddPlot("Pseudocolor","Calcium_Ca/Pt")
+DrawPlots()
+Test("leos_01")
+
+v=GetView2D()
+#
+# Test auto full frame. This test was obsoleted when
+# auto ff became the default
+#
+#v.fullFrameActivationMode = v.Auto
+#SetView2D(v)
+#Test("leos_02")
+
+#
+# Test turning off full frame
+#
+v.fullFrameActivationMode = v.Off
+SetView2D(v)
+Test("leos_03")
+
+#
+# Test turning on full frame 
+#
+v.fullFrameActivationMode = v.On
+SetView2D(v)
+Test("leos_04")
+
+v.fullFrameActivationMode = v.Auto
+SetView2D(v)
+DeleteAllPlots()
+
+#
+# Test Auto full frame when changing plots
+#
+AddPlot("Pseudocolor","Water_H2O/Et")
+DrawPlots()
+ResetView()
+v=GetView2D()
+v.fullFrameActivationMode = v.Auto
+SetView2D(v)
+Test("leos_05")
+
+#
+# Test the "catch all" mesh
+#
+AddPlot("Mesh","for active plot")
+DrawPlots()
+Test("leos_06")
+
+DeleteAllPlots()
+CloseDatabase(dbname)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_lines.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_lines.html new file mode 100644 index 000000000..0db150f4b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_lines.html @@ -0,0 +1,62 @@ + +Results for databases/lines.py + +

Results of VisIt Regression Test - databases/lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Verifying 3D lines
 6 .eq. 6 (prec=5) : True
mesh_plot_000.000.00
Verifying 2D lines
 4 .eq. 4 (prec=5) : True
mesh_plot_010.000.00
mesh_plot_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_lines_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_lines_py.html new file mode 100644 index 000000000..eeb4bd303 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_lines_py.html @@ -0,0 +1,79 @@ +databases/lines.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  lines.py
+#
+#  Tests:      mesh      - 2D lines (unstructured), 3D lines (unstructured)
+#              plots     - mesh
+#
+#  Programmer: Alister Maguire
+#  Date:       Tue Mar 17 08:50:32 PDT 2020
+#
+#  Modifications:
+#
+#    Mark C. Miller, Mon Jan 11 10:32:17 PST 2021
+#    Replace AssertEqual() with TestValueEQ()
+# ----------------------------------------------------------------------------
+
+def TestMeshPlot():
+
+    #
+    # First, let's make sure that 3d lines are read appropriately.
+    #
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+
+    OpenDatabase(data_path("lines_test_data/spring.lines"))
+    AddPlot("Mesh", "Lines", 1, 1)
+    DrawPlots()
+    Query("SpatialExtents")
+
+    # Check dimensionality.
+    ext_len = len(GetQueryOutputValue())
+    TestValueEQ("Verifying 3D lines", ext_len, 6)
+
+    # Check the rendering.
+    Test("mesh_plot_00")
+    DeleteAllPlots()
+    CloseDatabase(data_path("lines_test_data/spring.lines"))
+
+    #
+    # Next, let's check 2d lines.
+    #
+    OpenDatabase(data_path("lines_test_data/2d.lines"))
+    AddPlot("Mesh", "Lines", 1, 1)
+    DrawPlots()
+    Query("SpatialExtents")
+
+    # Check dimensionality.
+    ext_len = len(GetQueryOutputValue())
+    TestValueEQ("Verifying 2D lines", ext_len, 4)
+
+    # Check the rendering.
+    Test("mesh_plot_01")
+    DeleteAllPlots()
+
+    CloseDatabase(data_path("lines_test_data/2d.lines"))
+
+    #
+    # This test makes sure that consecutive points are only
+    # removed from one line at a time.
+    #
+    OpenDatabase(data_path("lines_test_data/consecutive.lines"))
+    AddPlot("Mesh", "Lines", 1, 1)
+    DrawPlots()
+
+    # Check the rendering.
+    Test("mesh_plot_02")
+    DeleteAllPlots()
+
+    CloseDatabase(data_path("lines_test_data/consecutive.lines"))
+
+
+def main():
+    TestMeshPlot()
+    Exit()
+
+main()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_metadata.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_metadata.html new file mode 100644 index 000000000..79ec3fc49 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_metadata.html @@ -0,0 +1,200 @@ + +Results for databases/metadata.py + +

Results of VisIt Regression Test - databases/metadata

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Getting metadata
metadata_0_000 modifications totalling 0 lines
metadata_0_010 modifications totalling 0 lines
metadata_0_020 modifications totalling 0 lines
metadata_0_030 modifications totalling 0 lines
metadata_0_040 modifications totalling 0 lines
Use the metadata to plot the variables.
metadata_1_scalar_airVf0.000.00
metadata_1_scalar_chromeVf0.000.00
metadata_1_scalar_hardyglobal0.000.00
metadata_1_scalar_hgslice0.000.00
metadata_1_scalar_radial0.000.00
metadata_1_scalar_shepardglobal0.000.00
metadata_1_scalar_x0.000.00
metadata_1_scalar_PointVar0.000.00
metadata_1_scalar_tensor_comps_grad_tensor_ii0.000.00
metadata_1_scalar_tensor_comps_grad_tensor_ij0.000.00
metadata_1_scalar_tensor_comps_grad_tensor_ik0.000.00
metadata_1_scalar_tensor_comps_grad_tensor_ji0.000.00
metadata_1_scalar_tensor_comps_grad_tensor_jj0.000.00
metadata_1_scalar_tensor_comps_grad_tensor_jk0.000.00
metadata_1_scalar_tensor_comps_grad_tensor_ki0.000.00
metadata_1_scalar_tensor_comps_grad_tensor_kj0.000.00
metadata_1_scalar_tensor_comps_grad_tensor_kk0.000.00
metadata_1_vector_airVfGradient0.000.00
metadata_1_vector_grad0.000.00
metadata_1_expr_grad_tensor0.000.00
metadata_1_expr_grad_tensor_diagonal0.000.00
metadata_1_expr_airVfGradient_magnitude0.000.00
metadata_1_expr_grad_magnitude0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_metadata_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_metadata_py.html new file mode 100644 index 000000000..38ebec408 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_metadata_py.html @@ -0,0 +1,112 @@ +databases/metadata.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  metadata.py
+#
+#  Tests:      Getting a usable metadata object from the viewer.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Mar 14 16:40:31 PST 2007
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+def test0():
+    TestSection("Getting metadata")
+
+    # Get metadata for various test datasets.
+    md = GetMetaData(silo_data_path("noise.silo") )
+    TestText("metadata_0_00", str(md))
+
+    # Get the metadata for the first time step
+    md = GetMetaData(silo_data_path("wave*.silo database") )
+    TestText("metadata_0_01", str(md))
+
+    # Get the metadata for the 17th time step where new variables appear
+    md = GetMetaData(silo_data_path("wave*.silo database") , 17)
+    TestText("metadata_0_02", str(md))
+
+    # Get something with species and default plots.
+    md = GetMetaData(data_path("samrai_test_data/mats-par3/dumps.visit"))
+    TestText("metadata_0_03", str(md))
+
+    # Get something with label variables
+    md = GetMetaData(data_path("shapefile_test_data/alameda/tgr06001lkA.shp"))
+    TestText("metadata_0_04", str(md))
+
+def MakeSafe(varname):
+    ret = varname.replace("/", "_")
+    ret = ret.replace("(", "[")
+    ret = ret.replace(")", "]")
+    ret = ret.replace(":", "_")
+    ret = ret.replace(",", "_")
+    ret = ret.replace(";", "_")
+    return ret
+
+def test1():
+    TestSection("Use the metadata to plot the variables.")
+
+    db = silo_data_path("noise.silo")
+    OpenDatabase(db)
+    md = GetMetaData(db)
+
+    # Test all of the scalars.
+    for i in range(md.GetNumScalars()):
+        AddPlot("Pseudocolor", md.GetScalars(i).name)
+        DrawPlots()
+        ResetView()
+        testName = "metadata_1_scalar_" + MakeSafe(md.GetScalars(i).name)
+        Test(testName)
+        DeleteAllPlots()
+
+    # Test all of the vectors.
+    for i in range(md.GetNumVectors()):
+        AddPlot("Vector", md.GetVectors(i).name)
+        DrawPlots()
+        ResetView()
+        testName = "metadata_1_vector_" + MakeSafe(md.GetVectors(i).name)
+        Test(testName)
+        DeleteAllPlots()
+
+    # Test all of the expressions
+    for i in range(md.exprList.GetNumExpressions()):
+        expr = md.exprList.GetExpressions(i)
+        if expr.type == expr.ScalarMeshVar:
+            AddPlot("Pseudocolor", expr.name)
+        elif expr.type == expr.VectorMeshVar:
+            AddPlot("Vector", expr.name)
+            v = VectorAttributes()
+            v.useStride = 1
+            v.stride = 1
+            SetPlotOptions(v)
+        elif expr.type == expr.TensorMeshVar:
+            AddPlot("Tensor", expr.name)
+            t = TensorAttributes()
+            t.useStride = 1
+            t.stride = 5
+            SetPlotOptions(t)
+        elif expr.type == expr.ArrayMeshVar:
+            AddPlot("Label", expr.name)
+        else:
+            print("Add support for plotting expression: ", expr)
+        DrawPlots()
+        ResetView()
+        testName = "metadata_1_expr_" + MakeSafe(expr.name)
+        Test(testName)
+        DeleteAllPlots()
+
+def main():
+    # Draw antialiased lines
+    r = GetRenderingAttributes()
+    r.antialiasing = 1
+    SetRenderingAttributes(r)
+
+    test0()
+    test1()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_mfem.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_mfem.html new file mode 100644 index 000000000..8fd663e16 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_mfem.html @@ -0,0 +1,1950 @@ + +Results for databases/mfem.py + +

Results of VisIt Regression Test - databases/mfem

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Input Mesh Files
input_mesh_amr-hex-nc_mres_00000.000.00
input_mesh_amr-hex-nc_mres_00050.000.00
input_mesh_amr-hex_mres_00000.000.00
input_mesh_amr-hex_mres_00050.000.00
input_mesh_amr-quad-nc_mres_00000.000.00
input_mesh_amr-quad-nc_mres_00050.000.00
input_mesh_amr-quad_mres_00000.000.00
input_mesh_amr-quad_mres_00050.000.00
input_mesh_ball-nurbs_mres_00000.000.00
input_mesh_ball-nurbs_mres_00200.000.00
input_mesh_beam-hex-nurbs_mres_00000.000.00
input_mesh_beam-hex-nurbs_mres_00200.000.00
input_mesh_beam-hex_mres_00000.000.00
input_mesh_beam-hex_mres_00200.000.00
input_mesh_beam-quad-amr-nc_mres_00000.000.00
input_mesh_beam-quad-amr-nc_mres_00050.000.00
input_mesh_beam-quad-nurbs_mres_00000.000.00
input_mesh_beam-quad-nurbs_mres_00200.000.00
input_mesh_beam-quad_mres_00000.000.00
input_mesh_beam-quad_mres_00200.000.00
input_mesh_beam-tet_mres_00000.000.00
input_mesh_beam-tet_mres_00200.000.00
input_mesh_beam-tri_mres_00000.000.00
input_mesh_beam-tri_mres_00200.000.00
input_mesh_disc-nurbs_mres_00000.000.00
input_mesh_disc-nurbs_mres_00200.000.00
input_mesh_escher-p2_mres_00000.000.00
input_mesh_escher-p2_mres_00200.000.00
input_mesh_escher-p3_mres_00000.000.00
input_mesh_escher-p3_mres_00200.000.00
input_mesh_escher_mres_00000.000.00
input_mesh_escher_mres_00200.000.00
input_mesh_fichera-amr-nc_mres_00000.000.00
input_mesh_fichera-amr-nc_mres_00050.000.00
input_mesh_fichera-amr_mres_00000.000.00
input_mesh_fichera-amr_mres_00050.000.00
input_mesh_fichera-q2_mres_00000.000.00
input_mesh_fichera-q2_mres_00200.000.00
input_mesh_fichera-q3_mres_00000.000.00
input_mesh_fichera-q3_mres_00200.000.00
input_mesh_fichera_mres_00000.000.00
input_mesh_fichera_mres_00200.000.00
input_mesh_inline-hex_mres_00000.000.00
input_mesh_inline-hex_mres_00200.000.00
input_mesh_inline-quad_mres_00000.000.00
input_mesh_inline-quad_mres_00200.000.00
input_mesh_inline-segment_mres_00000.000.00
input_mesh_inline-segment_mres_00200.000.00
input_mesh_inline-tet_mres_00000.000.00
input_mesh_inline-tet_mres_00200.000.00
input_mesh_inline-tri_mres_00000.000.00
input_mesh_inline-tri_mres_00200.000.00
input_mesh_klein-bottle_mres_00000.000.00
input_mesh_klein-bottle_mres_00200.000.00
input_mesh_klein-donut_mres_00000.000.00
input_mesh_klein-donut_mres_00200.000.00
input_mesh_mobius-strip_mres_00000.000.00
input_mesh_mobius-strip_mres_00200.000.00
input_mesh_periodic-cube_mres_00000.000.00
input_mesh_periodic-cube_mres_00200.000.00
input_mesh_periodic-hexagon_mres_00000.000.00
input_mesh_periodic-hexagon_mres_00200.000.00
input_mesh_periodic-segment_mres_00000.000.00
input_mesh_periodic-segment_mres_00200.000.00
input_mesh_periodic-square_mres_00000.000.00
input_mesh_periodic-square_mres_00200.000.00
input_mesh_pipe-nurbs_mres_00000.000.00
input_mesh_pipe-nurbs_mres_00200.000.00
input_mesh_square-disc-nurbs_mres_00000.000.00
input_mesh_square-disc-nurbs_mres_00200.000.00
input_mesh_square-disc-p2_mres_00000.000.00
input_mesh_square-disc-p2_mres_00200.000.00
input_mesh_square-disc-p3_mres_00000.000.00
input_mesh_square-disc-p3_mres_00200.000.00
input_mesh_square-disc-surf_mres_00000.000.00
input_mesh_square-disc-surf_mres_00200.000.00
input_mesh_square-disc_mres_00000.000.00
input_mesh_square-disc_mres_00200.000.00
input_mesh_star-q2_mres_00000.000.00
input_mesh_star-q2_mres_00200.000.00
input_mesh_star-q3_mres_00000.000.00
input_mesh_star-q3_mres_00200.000.00
input_mesh_star-surf_mres_00000.000.00
input_mesh_star-surf_mres_00200.000.00
input_mesh_star_mres_00000.000.00
input_mesh_star_mres_00200.000.00
ex01 results
ex01_ex01-disc-nurbs0.000.00
ex01_ex01-escher0.000.00
ex01_ex01-fichera-q20.000.00
ex01_ex01-fichera0.000.00
ex01_ex01-pipe-nurbs0.000.00
ex01_ex01-square-disc-nurbs0.000.00
ex01_ex01-square-disc-p30.000.00
ex01_ex01-square-disc0.000.00
ex01_ex01-star0.000.00
ex02 results
ex02_element_attribute_ex02-beam-hex-nurbs0.000.00
ex02_gf_mag_ex02-beam-hex-nurbs0.000.00
ex02_element_attribute_ex02-beam-hex0.000.00
ex02_gf_mag_ex02-beam-hex0.000.00
ex02_element_attribute_ex02-beam-quad-nurbs0.000.00
ex02_gf_mag_ex02-beam-quad-nurbs0.000.00
ex02_element_attribute_ex02-beam-quad0.000.00
ex02_gf_mag_ex02-beam-quad0.000.00
ex02_element_attribute_ex02-beam-tet0.000.00
ex02_gf_mag_ex02-beam-tet0.000.00
ex02_element_attribute_ex02-beam-tri0.000.00
ex02_gf_mag_ex02-beam-tri0.000.00
MFEM Expressions
mfem_expressions_10.000.00
mfem_expressions_20.000.00
mfem_expressions_30.000.00
Input Mesh Boundary Topology
input_mesh_amr-hex-nc_boundary_topo0.000.00
input_mesh_amr-hex_boundary_topo0.000.00
input_mesh_amr-quad-nc_boundary_topo0.000.00
input_mesh_amr-quad_boundary_topo0.000.00
input_mesh_ball-nurbs_boundary_topo0.000.00
input_mesh_beam-hex-nurbs_boundary_topo0.000.00
input_mesh_beam-hex_boundary_topo0.000.00
input_mesh_beam-quad-amr-nc_boundary_topo0.000.00
input_mesh_beam-quad-nurbs_boundary_topo0.000.00
input_mesh_beam-quad_boundary_topo0.000.00
input_mesh_beam-tet_boundary_topo0.000.00
input_mesh_beam-tri_boundary_topo0.000.00
input_mesh_disc-nurbs_boundary_topo0.000.00
input_mesh_escher-p2_boundary_topo0.000.00
input_mesh_escher-p3_boundary_topo0.000.00
input_mesh_escher_boundary_topo0.000.00
input_mesh_fichera-amr-nc_boundary_topo0.000.00
input_mesh_fichera-amr_boundary_topo0.000.00
input_mesh_fichera-q2_boundary_topo0.000.00
input_mesh_fichera-q3_boundary_topo0.000.00
input_mesh_fichera_boundary_topo0.000.00
input_mesh_inline-hex_boundary_topo0.000.00
input_mesh_inline-quad_boundary_topo0.000.00
input_mesh_inline-segment_boundary_topo0.000.00
input_mesh_inline-tet_boundary_topo0.000.00
input_mesh_inline-tri_boundary_topo0.000.00
input_mesh_klein-bottle_boundary_topo0.000.00
input_mesh_klein-donut_boundary_topo0.000.00
input_mesh_mobius-strip_boundary_topo0.000.00
input_mesh_periodic-cube_boundary_topo0.000.00
input_mesh_periodic-hexagon_boundary_topo0.000.00
input_mesh_periodic-segment_boundary_topo0.000.00
input_mesh_periodic-square_boundary_topo0.000.00
input_mesh_pipe-nurbs_boundary_topo0.000.00
input_mesh_square-disc-nurbs_boundary_topo0.000.00
input_mesh_square-disc-p2_boundary_topo0.000.00
input_mesh_square-disc-p3_boundary_topo0.000.00
input_mesh_square-disc-surf_boundary_topo0.000.00
input_mesh_square-disc_boundary_topo0.000.00
input_mesh_star-q2_boundary_topo0.000.00
input_mesh_star-q3_boundary_topo0.000.00
input_mesh_star-surf_boundary_topo0.000.00
input_mesh_star_boundary_topo0.000.00
Direct Mesh Open
direct_open_mesh_file_amr-hex-nc0.000.00
direct_open_mesh_file_amr-hex0.000.00
direct_open_mesh_file_amr-quad-nc0.000.00
direct_open_mesh_file_amr-quad0.000.00
direct_open_mesh_file_ball-nurbs0.000.00
direct_open_mesh_file_beam-hex-nurbs0.000.00
direct_open_mesh_file_beam-hex0.000.00
direct_open_mesh_file_beam-quad-amr-nc0.000.00
direct_open_mesh_file_beam-quad-nurbs0.000.00
direct_open_mesh_file_beam-quad0.000.00
direct_open_mesh_file_beam-tet0.000.00
direct_open_mesh_file_beam-tri0.000.00
direct_open_mesh_file_disc-nurbs0.000.00
direct_open_mesh_file_escher-p20.000.00
direct_open_mesh_file_escher-p30.000.00
direct_open_mesh_file_escher0.000.00
direct_open_mesh_file_ex01-disc-nurbs0.000.00
direct_open_mesh_file_ex01-escher0.000.00
direct_open_mesh_file_ex01-fichera-q20.000.00
direct_open_mesh_file_ex01-fichera0.000.00
direct_open_mesh_file_ex01-pipe-nurbs0.000.00
direct_open_mesh_file_ex01-square-disc-nurbs0.000.00
direct_open_mesh_file_ex01-square-disc-p30.000.00
direct_open_mesh_file_ex01-square-disc0.000.00
direct_open_mesh_file_ex01-star0.000.00
direct_open_mesh_file_ex02-beam-hex-nurbs0.000.00
direct_open_mesh_file_ex02-beam-hex0.000.00
direct_open_mesh_file_ex02-beam-quad-nurbs0.000.00
direct_open_mesh_file_ex02-beam-quad0.000.00
direct_open_mesh_file_ex02-beam-tet0.000.00
direct_open_mesh_file_ex02-beam-tri0.000.00
direct_open_mesh_file_fichera-amr-nc0.000.00
direct_open_mesh_file_fichera-amr0.000.00
direct_open_mesh_file_fichera-q20.000.00
direct_open_mesh_file_fichera-q30.000.00
direct_open_mesh_file_fichera0.000.00
direct_open_mesh_file_inline-hex0.000.00
direct_open_mesh_file_inline-quad0.000.00
direct_open_mesh_file_inline-segment0.000.00
direct_open_mesh_file_inline-tet0.000.00
direct_open_mesh_file_inline-tri0.000.00
direct_open_mesh_file_klein-bottle0.000.00
direct_open_mesh_file_klein-donut0.000.00
direct_open_mesh_file_mobius-strip0.000.00
direct_open_mesh_file_periodic-cube0.000.00
direct_open_mesh_file_periodic-hexagon0.000.00
direct_open_mesh_file_periodic-segment0.000.00
direct_open_mesh_file_periodic-square0.000.00
direct_open_mesh_file_pipe-nurbs0.000.00
direct_open_mesh_file_square-disc-nurbs0.000.00
direct_open_mesh_file_square-disc-p20.000.00
direct_open_mesh_file_square-disc-p30.000.00
direct_open_mesh_file_square-disc-surf0.000.00
direct_open_mesh_file_square-disc0.000.00
direct_open_mesh_file_star-q20.000.00
direct_open_mesh_file_star-q30.000.00
direct_open_mesh_file_star-surf0.000.00
direct_open_mesh_file_star0.000.00
Legacy and New LOR
LOR_amr-hex-nc_lor0.000.00
LOR_amr-hex-nc_legacy_lor0.000.00
LOR_amr-hex_lor0.000.00
LOR_amr-hex_legacy_lor0.000.00
LOR_amr-quad-nc_lor0.000.00
LOR_amr-quad-nc_legacy_lor0.000.00
LOR_amr-quad_lor0.000.00
LOR_amr-quad_legacy_lor0.000.00
LOR_ball-nurbs_lor0.000.00
LOR_ball-nurbs_legacy_lor0.000.00
LOR_beam-hex-nurbs_lor0.000.00
LOR_beam-hex-nurbs_legacy_lor0.000.00
LOR_beam-hex_lor0.000.00
LOR_beam-hex_legacy_lor0.000.00
LOR_beam-quad-amr-nc_lor0.000.00
LOR_beam-quad-amr-nc_legacy_lor0.000.00
LOR_beam-quad-nurbs_lor0.000.00
LOR_beam-quad-nurbs_legacy_lor0.000.00
LOR_beam-quad_lor0.000.00
LOR_beam-quad_legacy_lor0.000.00
LOR_beam-tet_lor0.000.00
LOR_beam-tet_legacy_lor0.000.00
LOR_beam-tri_lor0.000.00
LOR_beam-tri_legacy_lor0.000.00
LOR_disc-nurbs_lor0.000.00
LOR_disc-nurbs_legacy_lor0.000.00
LOR_escher-p2_lor0.000.00
LOR_escher-p2_legacy_lor0.000.00
LOR_escher-p3_lor0.000.00
LOR_escher-p3_legacy_lor0.000.00
LOR_escher_lor0.000.00
LOR_escher_legacy_lor0.000.00
LOR_fichera-amr-nc_lor0.000.00
LOR_fichera-amr-nc_legacy_lor0.000.00
LOR_fichera-amr_lor0.000.00
LOR_fichera-amr_legacy_lor0.000.00
LOR_fichera-q2_lor0.000.00
LOR_fichera-q2_legacy_lor0.000.00
LOR_fichera-q3_lor0.000.00
LOR_fichera-q3_legacy_lor0.000.00
LOR_fichera_lor0.000.00
LOR_fichera_legacy_lor0.000.00
LOR_inline-hex_lor0.000.00
LOR_inline-hex_legacy_lor0.000.00
LOR_inline-quad_lor0.000.00
LOR_inline-quad_legacy_lor0.000.00
LOR_inline-segment_lor0.000.00
LOR_inline-segment_legacy_lor0.000.00
LOR_inline-tet_lor0.000.00
LOR_inline-tet_legacy_lor0.000.00
LOR_inline-tri_lor0.000.00
LOR_inline-tri_legacy_lor0.000.00
LOR_klein-bottle_lor0.000.00
LOR_klein-bottle_legacy_lor0.000.00
LOR_klein-donut_lor0.000.00
LOR_klein-donut_legacy_lor0.000.00
LOR_mobius-strip_lor0.000.00
LOR_mobius-strip_legacy_lor0.000.00
LOR_periodic-cube_lor0.000.00
LOR_periodic-cube_legacy_lor0.000.00
LOR_periodic-hexagon_lor0.000.00
LOR_periodic-hexagon_legacy_lor0.000.00
LOR_periodic-segment_lor0.000.00
LOR_periodic-segment_legacy_lor0.000.00
LOR_periodic-square_lor0.000.00
LOR_periodic-square_legacy_lor0.000.00
LOR_pipe-nurbs_lor0.000.00
LOR_pipe-nurbs_legacy_lor0.000.00
LOR_square-disc-nurbs_lor0.000.00
LOR_square-disc-nurbs_legacy_lor0.000.00
LOR_square-disc-p2_lor0.000.00
LOR_square-disc-p2_legacy_lor0.000.00
LOR_square-disc-p3_lor0.000.00
LOR_square-disc-p3_legacy_lor0.000.00
LOR_square-disc-surf_lor0.000.00
LOR_square-disc-surf_legacy_lor0.000.00
LOR_square-disc_lor0.000.00
LOR_square-disc_legacy_lor0.000.00
LOR_star-q2_lor0.000.00
LOR_star-q2_legacy_lor0.000.00
LOR_star-q3_lor0.000.00
LOR_star-q3_legacy_lor0.000.00
LOR_star-surf_lor0.000.00
LOR_star-surf_legacy_lor0.000.00
LOR_star_lor0.000.00
LOR_star_legacy_lor0.000.00
Legacy and New LOR Fields
LOR_Fields_ex01-disc-nurbs_pseudocolor_gf_lor0.000.00
LOR_Fields_ex01-disc-nurbs_pseudocolor_gf_legacy_lor0.000.00
LOR_Fields_ex01-escher_pseudocolor_gf_lor0.000.00
LOR_Fields_ex01-escher_pseudocolor_gf_legacy_lor0.000.00
LOR_Fields_ex01-fichera-q2_pseudocolor_gf_lor0.000.00
LOR_Fields_ex01-fichera-q2_pseudocolor_gf_legacy_lor0.000.00
LOR_Fields_ex01-fichera_pseudocolor_gf_lor0.000.00
LOR_Fields_ex01-fichera_pseudocolor_gf_legacy_lor0.000.00
LOR_Fields_ex01-pipe-nurbs_pseudocolor_gf_lor0.000.00
LOR_Fields_ex01-pipe-nurbs_pseudocolor_gf_legacy_lor0.000.00
LOR_Fields_ex01-square-disc-nurbs_pseudocolor_gf_lor0.000.00
LOR_Fields_ex01-square-disc-nurbs_pseudocolor_gf_legacy_lor0.000.00
LOR_Fields_ex01-square-disc-p3_pseudocolor_gf_lor0.000.00
LOR_Fields_ex01-square-disc-p3_pseudocolor_gf_legacy_lor0.000.00
LOR_Fields_ex01-square-disc_pseudocolor_gf_lor0.000.00
LOR_Fields_ex01-square-disc_pseudocolor_gf_legacy_lor0.000.00
LOR_Fields_ex01-star_pseudocolor_gf_lor0.000.00
LOR_Fields_ex01-star_pseudocolor_gf_legacy_lor0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_mfem_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_mfem_py.html new file mode 100644 index 000000000..afe891c86 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_mfem_py.html @@ -0,0 +1,265 @@ +databases/mfem.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#  LIMIT: 1200
+#  Test Case:  mfem.py 
+#
+#  Tests:      mfem files 
+#
+#  Programmer: Cyrus Harrison
+#  Date:       Thu Jun 12 14:58:03 PDT 2014
+#
+#  Modifications:
+#    Brad Whitlock, Wed Sep  2 20:56:13 PDT 2020
+#    The MFEM reader now provides original cells so artificial mesh lines
+#    get removed. There's less of a point to seeing them here. Keep min/max
+#    refinement levels only. 
+# 
+#    Justin Privitera, Mon Oct 17 17:33:30 PDT 2022
+#    Added new tests for the new LOR settings. All prior tests use the legacy
+#    LOR setting, while new tests use a mix of both.
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("MFEM")
+
+readOptions = GetDefaultFileOpenOptions("MFEM")
+readOptions["MFEM LOR Setting"] = "Legacy LOR"
+SetDefaultFileOpenOptions("MFEM", readOptions)
+
+mfem_roots  = glob.glob(data_path("mfem_test_data/*.mfem_root"))
+input_meshs  = [ f for f in mfem_roots if f.count("ex0") == 0]
+ex01_results = [ f for f in mfem_roots if f.count("ex01") == 1]
+ex02_results = [ f for f in mfem_roots if f.count("ex02") == 1]
+mfem_mesh_files = glob.glob(data_path("mfem_test_data/*.mesh"))
+
+def set_test_view():
+    v = View3DAttributes()
+    v.viewNormal = (-0.510614, 0.302695, 0.804767)
+    v.focus = (0, 0, 0)
+    v.viewUp = (-0.0150532, 0.932691, -0.360361)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+TestSection("Input Mesh Files")
+for f in input_meshs:
+    base = os.path.splitext(os.path.basename(f))[0]
+    DeleteAllPlots()
+    OpenDatabase(f)
+    AddPlot("Pseudocolor","main_element_coloring")
+    #pc_atts = PseudocolorAttributes()
+    #pc_atts.colorTableName = "PuBuGn"
+    #SetPlotOptions(pc_atts)
+    AddOperator("MultiresControl")
+    AddPlot("Mesh","main")
+    AddOperator("MultiresControl")
+    SetActivePlots((0,1))
+    levels = [0,20]
+    if f.count("amr") > 0:
+        levels = [0,5]
+    for mres in levels:
+        mc_atts  = MultiresControlAttributes()
+        mc_atts.resolution = mres
+        SetOperatorOptions(mc_atts)
+        ResetView()
+        DrawPlots()
+        Test("input_mesh_%s_mres_%04d" % (base,mres))
+    DeleteAllPlots()
+    CloseDatabase(f)
+
+TestSection("ex01 results")
+for f in ex01_results:
+    base = os.path.splitext(os.path.basename(f))[0]
+    DeleteAllPlots()
+    OpenDatabase(f)
+    AddPlot("Pseudocolor","gf")
+    #AddPlot("Mesh","main")
+    ResetView()
+    DrawPlots()
+    Test("ex01_%s" % (base))
+    DeleteAllPlots()
+    CloseDatabase(f)
+
+TestSection("ex02 results")
+for f in ex02_results:
+    base = os.path.splitext(os.path.basename(f))[0]
+    DeleteAllPlots()
+    OpenDatabase(f)
+    AddPlot("Pseudocolor","main_element_attribute")
+    #AddPlot("Mesh","main")
+    ResetView()
+    DrawPlots()
+    Test("ex02_element_attribute_%s" % (base))
+    ChangeActivePlotsVar("gf_magnitude");
+    DrawPlots()
+    Test("ex02_gf_mag_%s" % (base))
+    DeleteAllPlots()
+    CloseDatabase(f)
+
+TestSection("MFEM Expressions")
+OpenDatabase(data_path("mfem_test_data/ex02-beam-tet.mfem_root"))
+AddPlot("Pseudocolor","mag-gf")
+ResetView()
+DrawPlots()
+Test("mfem_expressions_1")
+DeleteAllPlots()
+AddPlot("Pseudocolor","comp0")
+DrawPlots()
+Test("mfem_expressions_2")
+DeleteAllPlots()
+AddPlot("Vector","curl-gf")
+DrawPlots()
+Test("mfem_expressions_3")
+DeleteAllPlots()
+CloseDatabase(data_path("mfem_test_data/ex02-beam-tet.mfem_root"))
+
+TestSection("Input Mesh Boundary Topology")
+for f in input_meshs:
+    base = os.path.splitext(os.path.basename(f))[0]
+    DeleteAllPlots()
+    OpenDatabase(f)
+    AddPlot("Pseudocolor","main_boundary_attribute")
+    AddPlot("Mesh","main_boundary")
+    mesh_atts = MeshAttributes()
+    mesh_atts.lineWidth = 2
+    SetPlotOptions(mesh_atts)
+    ResetView()
+    DrawPlots()
+    Test("input_mesh_%s_boundary_topo" % (base))
+    DeleteAllPlots()
+    CloseDatabase(f)
+
+TestSection("Direct Mesh Open")
+for f in mfem_mesh_files:
+    base = os.path.splitext(os.path.basename(f))[0]
+    DeleteAllPlots()
+    OpenDatabase(f)
+    AddPlot("Pseudocolor","main_element_coloring")
+    ResetView()
+    DrawPlots()
+    Test("direct_open_mesh_file_%s" % (base))
+    DeleteAllPlots()
+    CloseDatabase(f)
+
+# reset default
+readOptions = GetDefaultFileOpenOptions("MFEM")
+readOptions["MFEM LOR Setting"] = "MFEM LOR"
+SetDefaultFileOpenOptions("MFEM", readOptions)
+
+def test_mfem_lor_mesh(tag_name, dbfile):
+    ResetView()
+    base = os.path.splitext(os.path.basename(dbfile))[0]
+
+    # get default options
+    readOptions = GetDefaultFileOpenOptions("MFEM")
+    readOptions["MFEM LOR Setting"] = "MFEM LOR"
+    SetDefaultFileOpenOptions("MFEM", readOptions)
+    OpenDatabase(dbfile)
+
+    # we want to test a picture of a wireframe
+    # new LOR should only have the outer edge
+    AddPlot("Subset", "main")
+    SubsetAtts = SubsetAttributes()
+    SubsetAtts.wireframe = 1
+    SetPlotOptions(SubsetAtts)
+    set_test_view()
+    DrawPlots()
+    Test(tag_name + "_" + base + "_lor")
+    DeleteAllPlots()
+    ResetView()
+    CloseDatabase(dbfile)
+
+    ##############################
+
+    # examine legacy
+    readOptions = GetDefaultFileOpenOptions("MFEM")
+    readOptions["MFEM LOR Setting"] = "Legacy LOR"
+    SetDefaultFileOpenOptions("MFEM", readOptions)
+    OpenDatabase(dbfile)
+
+    # old LOR leaves a busy wireframe
+    AddPlot("Subset", "main")
+    SubsetAtts = SubsetAttributes()
+    SubsetAtts.wireframe = 1
+    SetPlotOptions(SubsetAtts)
+    set_test_view()
+    DrawPlots()
+    Test(tag_name + "_" + base + "_legacy_lor")
+    DeleteAllPlots()
+    ResetView()
+    CloseDatabase(dbfile)
+
+    # restore default
+    readOptions = GetDefaultFileOpenOptions("MFEM")
+    readOptions["MFEM LOR Setting"] = "MFEM LOR"
+    SetDefaultFileOpenOptions("MFEM", readOptions)
+
+TestSection("Legacy and New LOR")
+for dbfile in input_meshs:
+    test_mfem_lor_mesh("LOR", dbfile)
+
+def test_mfem_lor_field(tag_name, dbfile):
+    ResetView()
+    base = os.path.splitext(os.path.basename(dbfile))[0]
+
+    readOptions = GetDefaultFileOpenOptions("MFEM")
+    readOptions["MFEM LOR Setting"] = "MFEM LOR"
+    SetDefaultFileOpenOptions("MFEM", readOptions)
+    OpenDatabase(dbfile)
+
+    AddPlot("Pseudocolor","gf")
+    AddOperator("MultiresControl", 1)
+    SetActivePlots(0)
+    MultiresControlAtts = MultiresControlAttributes()
+    MultiresControlAtts.resolution = 3
+    SetOperatorOptions(MultiresControlAtts, 0, 1)
+    set_test_view()
+    DrawPlots()
+    Test(tag_name + "_" + base + "_pseudocolor_gf_lor")
+    DeleteAllPlots()
+    ResetView()
+
+    CloseDatabase(dbfile)
+
+    ##############################
+
+    # examine legacy
+    readOptions = GetDefaultFileOpenOptions("MFEM")
+    readOptions["MFEM LOR Setting"] = "Legacy LOR"
+    SetDefaultFileOpenOptions("MFEM", readOptions)
+    OpenDatabase(dbfile)
+
+    AddPlot("Pseudocolor","gf")
+    AddOperator("MultiresControl", 1)
+    SetActivePlots(0)
+    MultiresControlAtts = MultiresControlAttributes()
+    MultiresControlAtts.resolution = 3
+    SetOperatorOptions(MultiresControlAtts, 0, 1)
+    set_test_view()
+    DrawPlots()
+    Test(tag_name + "_" + base + "_pseudocolor_gf_legacy_lor")
+    DeleteAllPlots()
+    ResetView()
+
+    # restore default
+    readOptions = GetDefaultFileOpenOptions("MFEM")
+    readOptions["MFEM LOR Setting"] = "MFEM LOR"
+    SetDefaultFileOpenOptions("MFEM", readOptions)
+
+TestSection("Legacy and New LOR Fields")
+for dbfile in ex01_results:
+    test_mfem_lor_field("LOR_Fields", dbfile)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_mili.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_mili.html new file mode 100644 index 000000000..b9e5f7204 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_mili.html @@ -0,0 +1,360 @@ + +Results for databases/mili.py + +

Results of VisIt Regression Test - databases/mili

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Vector components
mili_brick_comp0.000.00
mili_beam_comp0.000.00
mili_nodacc_comp0.000.00
Non-shared element sets
mili_non_shared_es_010.000.00
Shared element sets
mili_shared_es_010.000.00
mili_shared_es_020.000.00
mili_shared_es_030.000.00
Material variables
mili_mat_var_010.000.00
mili_mat_var_020.000.00
Tensors
mili_tensors_010.000.00
mili_tensors_020.000.00
Vectors
mili_vectors_010.000.00
mili_vectors_020.000.00
mili_vectors_030.000.00
Sand mesh
mili_sand_mesh_010.000.00
mili_sand_mesh_020.000.00
mili_sand_mesh_030.000.00
mili_sand_mesh_040.000.00
Materials
mili_materials_000.000.00
mili_materials_010.000.00
Multi-domain
mili_multi_dom_010.000.00
mili_multi_dom_020.000.00
Particles
mili_particle_010.000.00
Static nodes
mili_static_nodes_010.000.00
Labels
mili_zone_labels_010.000.00
mili_node_labels_010.000.00
Sci notation read
mili_from_sci_not0.000.00
Multi-subrecord read
mili_subrec_offset0.000.00
Derived variables
mili_derived_000.000.00
mili_derived_010.000.00
mili_derived_020.000.00
mili_derived_030.000.00
mili_derived_040.000.00
mili_derived_050.000.00
mili_derived_060.000.00
mili_derived_070.000.00
mili_derived_080.000.00
mili_derived_090.000.00
mili_derived_100.000.00
mili_derived_110.000.00
mili_derived_120.000.00
mili_derived_130.000.00
mili_derived_140.000.00
Global integration point
mili_global_ip_000.000.00
mili_global_ip_010.000.00
mili_global_ip_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_mili_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_mili_py.html new file mode 100644 index 000000000..70edb166f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_mili_py.html @@ -0,0 +1,473 @@ +databases/mili.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  mili.py
+#
+#  Tests:      mesh      - 3D unstructured, multi-domain
+#              plots     - Pseudocolor, material, vector, tensor, label
+#
+#
+#  Programmer: Alister Maguire
+#  Date:       May 22, 2019
+#
+#  Modifications:
+#
+#    Alister Maguire, Mon Aug  5 13:02:05 MST 2019
+#    Added a test that handles .mili files containing integers in
+#    scientific notation.
+#
+#    Alister Maguire, Thu Dec 19 13:40:07 PST 2019
+#    Added a test to make sure correct subrecord offsets are used.
+#
+#    Alister Maguire, Wed Jul 15 13:38:17 PDT 2020
+#    Added test sections and derived variable test.
+#
+#    Alister Maguire, Wed Mar 24 16:06:33 PDT 2021
+#    Added a test for setting/changing the global integration point.
+#
+#    Alister Maguire, Fri Mar 26 10:25:08 PDT 2021
+#    Added more tests for derived variables (stress, strain, sand mesh).
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("Mili")
+single_domain_path = data_path("mili_test_data/single_proc/")
+multi_domain_path  = data_path("mili_test_data/multi_proc/")
+
+def TestComponentVis():
+    TestSection("Vector components")
+    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(90)
+
+    AddPlot("Pseudocolor", "Primal/Shared/edrate")
+    DrawPlots()
+    Test("mili_brick_comp")
+
+    ChangeActivePlotsVar("Primal/beam/svec/svec_x")
+    Test("mili_beam_comp")
+    ChangeActivePlotsVar("Primal/node/nodacc/ax")
+    Test("mili_nodacc_comp")
+
+    DeleteAllPlots()
+
+
+def TestSharedElementSets():
+    TestSection("Shared element sets")
+    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(90)
+
+    AddPlot("Pseudocolor", "Primal/Shared/strain/exy")
+    DrawPlots()
+    Test("mili_shared_es_01")
+    ChangeActivePlotsVar("Primal/Shared/edrate")
+    Test("mili_shared_es_02")
+    ChangeActivePlotsVar("Primal/Shared/stress/sy")
+    Test("mili_shared_es_03")
+
+    DeleteAllPlots()
+
+
+def TestNonSharedElementSets():
+    TestSection("Non-shared element sets")
+    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(90)
+
+    #
+    #  eps is a section of an element set that is only
+    #  defined on beams.
+    #
+    AddPlot("Pseudocolor", "Primal/beam/eps")
+    DrawPlots()
+    Test("mili_non_shared_es_01")
+    DeleteAllPlots()
+
+
+def TestMaterialVar():
+    TestSection("Material variables")
+    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(90)
+
+    AddPlot("Pseudocolor", "Primal/mat/matcgy")
+    DrawPlots()
+    Test("mili_mat_var_01")
+    ChangeActivePlotsVar("Primal/mat/matke")
+    Test("mili_mat_var_02")
+    DeleteAllPlots()
+
+
+def TestTensors():
+    TestSection("Tensors")
+    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(90)
+
+    AddPlot("Tensor", "Primal/Shared/stress")
+    DrawPlots()
+    Test("mili_tensors_01")
+
+    ChangeActivePlotsVar("Primal/Shared/strain")
+    Test("mili_tensors_02")
+    DeleteAllPlots()
+
+
+def TestVectors():
+    TestSection("Vectors")
+    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(90)
+
+    AddPlot("Vector", "Primal/node/nodpos")
+    DrawPlots()
+    Test("mili_vectors_01")
+
+    ChangeActivePlotsVar("Primal/shell/bend")
+    Test("mili_vectors_02")
+
+    ChangeActivePlotsVar("Primal/beam/svec")
+    Test("mili_vectors_03")
+    DeleteAllPlots()
+
+
+def TestSandMesh():
+    TestSection("Sand mesh")
+    OpenDatabase(single_domain_path + "/m_plot.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(101)
+
+    #
+    # First, let's look at the sand variable on a non-sanded mesh.
+    # It should be well structured.
+    #
+    AddPlot("Mesh", "mesh1")
+    AddPlot("Pseudocolor", "Primal/Shared/sand")
+    DrawPlots()
+    Test("mili_sand_mesh_01")
+    DeleteAllPlots()
+
+    #
+    # Now let's view the sand mesh. It's a mess.
+    #
+    AddPlot("Mesh", "sand_mesh1")
+    AddPlot("Pseudocolor", "Primal/Shared/sand")
+    DrawPlots()
+    Test("mili_sand_mesh_02")
+
+    #
+    # Now let's look at sand in its sanded state.
+    #
+    ChangeActivePlotsVar("sand_mesh/Primal/Shared/sand")
+    DrawPlots()
+    Test("mili_sand_mesh_03")
+
+    #
+    # We need to make sure that other variables can also be
+    # viewed in their sanded state.
+    #
+    ChangeActivePlotsVar("sand_mesh/Primal/shell/stress_mid/sx")
+    Test("mili_sand_mesh_04")
+
+    DeleteAllPlots()
+
+
+def TestMaterials():
+    #
+    # The tests need to be in this order to work around a bug in
+    # the filled boundary plot with getting colors from a database
+    # that causes the colors to be set the same for subsequent
+    # filled boundary plots where the colors are not set in the
+    # database.
+    #
+    TestSection("Materials")
+    OpenDatabase(single_domain_path + "/sslide14ball_l.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(12)
+
+    AddPlot("FilledBoundary", "materials1")
+    DrawPlots()
+    Test("mili_materials_00")
+
+    DeleteAllPlots()
+
+    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(70)
+
+    AddPlot("FilledBoundary", "materials1(mesh1)")
+    DrawPlots()
+    Test("mili_materials_01")
+
+    DeleteAllPlots()
+
+def TestMultiDomain():
+    TestSection("Multi-domain")
+    OpenDatabase(multi_domain_path + "/d3samp6.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(90)
+
+    AddPlot("Pseudocolor", "Primal/Shared/strain/exy")
+    DrawPlots()
+    Test("mili_multi_dom_01")
+    ChangeActivePlotsVar("Primal/Shared/stress/sz")
+    Test("mili_multi_dom_02")
+
+    DeleteAllPlots()
+
+
+def TestParticles():
+    TestSection("Particles")
+    OpenDatabase(single_domain_path + "/sslide14ball_l.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(0)
+
+    AddPlot("Pseudocolor", "Primal/particle/stress/sxy")
+    DrawPlots()
+    Test("mili_particle_01")
+    DeleteAllPlots()
+
+
+def TestStaticNodes():
+    TestSection("Static nodes")
+    OpenDatabase(single_domain_path + "/m1_plot.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+
+    AddPlot("Mesh", "mesh1")
+    AddPlot("Pseudocolor", "Primal/node/temp")
+    SetTimeSliderState(10)
+    DrawPlots()
+    Test("mili_static_nodes_01")
+    DeleteAllPlots()
+
+
+def TestLabels():
+    TestSection("Labels")
+    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(90)
+
+    AddPlot("Pseudocolor", "Primal/Shared/edrate")
+    AddPlot("Label", "OriginalZoneLabels")
+    DrawPlots()
+    Test("mili_zone_labels_01")
+
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "Primal/Shared/edrate")
+    AddPlot("Label", "OriginalNodeLabels")
+    DrawPlots()
+    Test("mili_node_labels_01")
+    DeleteAllPlots()
+
+
+def TestSciNotation():
+    TestSection("Sci notation read")
+    #
+    # Some .mili files contain integers in scientific notation.
+    # These need to be handled appropriately.
+    #
+    OpenDatabase(single_domain_path + "/HexModel1.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+
+    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
+    DrawPlots()
+    Test("mili_from_sci_not")
+    DeleteAllPlots()
+
+
+def TestMultiSubrecRead():
+    TestSection("Multi-subrecord read")
+    #
+    # This tests a bug fix that occurred when loading variables
+    # that span several subrecords at different offsets.
+    #
+    OpenDatabase(single_domain_path + "/test4_0.15.plt.mili")
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+
+    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
+    DrawPlots()
+    Test("mili_subrec_offset")
+    DeleteAllPlots()
+
+
+def TestDerivedVariables():
+    TestSection("Derived variables")
+    OpenDatabase(single_domain_path + "/m_plot.mili")
+    v = GetView3D()
+    v.viewNormal = (0.49, 0.19, 0.85)
+    SetView3D(v)
+
+    SetTimeSliderState(85)
+
+    #
+    # Node centered derivations.
+    #
+    AddPlot("Pseudocolor", "Derived/node/displacement/dispx")
+    DrawPlots()
+    Test("mili_derived_00")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "Derived/node/displacement/dispy")
+    DrawPlots()
+    Test("mili_derived_01")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "Derived/node/displacement/dispz")
+    DrawPlots()
+    Test("mili_derived_02")
+    DeleteAllPlots()
+
+    AddPlot("Vector", "Derived/node/displacement")
+    DrawPlots()
+    Test("mili_derived_03")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "sand_mesh/Derived/node/displacement/dispz")
+    DrawPlots()
+    Test("mili_derived_04")
+    DeleteAllPlots()
+
+    #
+    # Stress/strain derivations. In m_plot, only stress comes from
+    # the database, and we derive strain and all of its derivations
+    # using VisIt expressions.
+    #
+    AddPlot("Pseudocolor", "Derived/brick/stress/prin_stress/2")
+    DrawPlots()
+    Test("mili_derived_05")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "Derived/brick/stress/pressure")
+    DrawPlots()
+    Test("mili_derived_06")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "Derived/Shared/strain/almansi/max_shear_almansi")
+    DrawPlots()
+    Test("mili_derived_07")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor",
+        "Derived/Shared/strain/green_lagrange/prin_dev_green_lagrange/2")
+    DrawPlots()
+    Test("mili_derived_08")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "Derived/Shared/strain/infinitesimal/x")
+    DrawPlots()
+    Test("mili_derived_09")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "Derived/Shared/strain/rate/yz")
+    DrawPlots()
+    Test("mili_derived_10")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "sand_mesh/Derived/Shared/strain/rate/yz")
+    DrawPlots()
+    Test("mili_derived_11")
+    DeleteAllPlots()
+
+    AddPlot("Tensor", "Derived/Shared/strain/green_lagrange")
+    DrawPlots()
+    Test("mili_derived_12")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "Derived/Shared/relative_volume")
+    DrawPlots()
+    Test("mili_derived_13")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "Derived/Shared/volumetric_strain")
+    DrawPlots()
+    Test("mili_derived_14")
+    DeleteAllPlots()
+
+
+def TestGlobalIntegrationPoint():
+    TestSection("Global integration point")
+
+    db_path = single_domain_path + "/d3samp6.plt.mili"
+    OpenDatabase(db_path)
+    v = GetView3D()
+    v.viewNormal = (0.9, 0.35, -0.88)
+    SetView3D(v)
+    SetTimeSliderState(90)
+
+    AddPlot("Pseudocolor", "Primal/Shared/strain/exy")
+    DrawPlots()
+
+    mili_options = GetDefaultFileOpenOptions("Mili")
+    mili_options["Global integration point"] = "Inner"
+    SetDefaultFileOpenOptions("Mili", mili_options)
+    ReOpenDatabase(db_path)
+    Test("mili_global_ip_00")
+
+    mili_options = GetDefaultFileOpenOptions("Mili")
+    mili_options["Global integration point"] = "Middle"
+    SetDefaultFileOpenOptions("Mili", mili_options)
+    ReOpenDatabase(db_path)
+    Test("mili_global_ip_01")
+
+    mili_options = GetDefaultFileOpenOptions("Mili")
+    mili_options["Global integration point"] = "Outer"
+    SetDefaultFileOpenOptions("Mili", mili_options)
+    ReOpenDatabase(db_path)
+    Test("mili_global_ip_02")
+
+    DeleteAllPlots()
+    CloseDatabase(db_path)
+
+
+def Main():
+    TestComponentVis()
+    TestNonSharedElementSets()
+    TestSharedElementSets()
+    TestMaterialVar()
+    TestTensors()
+    TestVectors()
+    TestSandMesh()
+    TestMaterials()
+    TestMultiDomain()
+    TestParticles()
+    TestStaticNodes()
+    TestLabels()
+    TestSciNotation()
+    TestMultiSubrecRead()
+    TestDerivedVariables()
+    TestGlobalIntegrationPoint()
+
+Main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_miranda.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_miranda.html new file mode 100644 index 000000000..6f3e248c7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_miranda.html @@ -0,0 +1,108 @@ + +Results for databases/miranda.py + +

Results of VisIt Regression Test - databases/miranda

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
miranda_raw_reader10.000.00
miranda_raw_reader20.000.00
miranda_raw_reader30.000.00
miranda_raw_reader40.000.00
miranda_raw_reader50.000.00
miranda_raw_reader60.000.00
miranda_raw_reader70.000.00
miranda_raw_reader80.000.00
miranda_raw_reader90.000.00
miranda_raw_reader100.000.00
miranda_raw_reader110.000.00
miranda_raw_reader120.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_miranda_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_miranda_py.html new file mode 100644 index 000000000..76036bb90 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_miranda_py.html @@ -0,0 +1,156 @@ +databases/miranda.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  miranda.py 
+#
+#  Tests:      miranda raw dumps
+#
+#  Programmer: David Bremer
+#  Date:       Feb 20, 2007
+#
+#  Modifications:
+#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
+#    Changed number of vectors in vector plot to match the old behavior.
+#    (We now account for how many domains there are.)
+#
+#    Jeremy Meredith, Thu Jan 14 11:19:12 EST 2010
+#    Changed the path to the test data.
+#
+# ----------------------------------------------------------------------------
+import os, string
+
+# ====================================================================
+
+OpenDatabase(data_path("miranda_test_data/TG_vortex/plot.raw"))
+
+AddPlot("Pseudocolor","density")
+DrawPlots()
+Test("miranda_raw_reader1")
+
+# ====================================================================
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+Test("miranda_raw_reader2")
+
+# ====================================================================
+
+SetTimeSliderState(1)
+Test("miranda_raw_reader3")
+
+# ====================================================================
+
+SetTimeSliderState(2)
+DeleteAllPlots()
+AddPlot("Vector", "velocity")
+vec = VectorAttributes()
+vec.nVectors = 400*64
+SetPlotOptions(vec)
+DrawPlots()
+Test("miranda_raw_reader4")
+
+# ====================================================================
+
+v=GetView3D()
+v.viewNormal=(-0.707107, -0.707107, 0)
+v.viewUp=(0, 0, 1)
+SetView3D(v)
+Test("miranda_raw_reader5")
+
+# ====================================================================
+
+DeleteAllPlots()
+ReplaceDatabase(data_path("miranda_test_data/jet_2d/plot_mat_t83.raw"))
+
+
+SetTimeSliderState(0)
+AddPlot("Pseudocolor","density")
+DrawPlots()
+Test("miranda_raw_reader6")
+
+# ====================================================================
+
+SetTimeSliderState(1)
+DeleteAllPlots()
+AddPlot("Vector", "velocity")
+vec = VectorAttributes()
+vec.nVectors = 400*128
+SetPlotOptions(vec)
+DrawPlots()
+vv=GetView2D()
+vv.viewportCoords=(0.2, 0.95, 0.15, 0.95)
+vv.windowCoords=(0.00640306, 0.00963122, 0.0128936, 0.0161598)
+SetView2D(vv)
+Test("miranda_raw_reader7")
+
+# ====================================================================
+
+SetTimeSliderState(2)
+Test("miranda_raw_reader8")
+
+# ====================================================================
+
+DeleteAllPlots()
+ReplaceDatabase(data_path("miranda_test_data/stem_2d/plot.mir"))
+
+vv = View2DAttributes()
+vv.windowCoords = (0, 2.23563, -0.28, 0.835625)
+vv.viewportCoords = (0.05, 0.95, 0.05, 0.95)
+vv.fullFrameActivationMode = vv.On  # On, Off, Auto
+vv.fullFrameAutoThreshold = 100
+SetView2D(vv)
+
+SetTimeSliderState(0)
+AddPlot("Pseudocolor","density")
+DrawPlots()
+Test("miranda_raw_reader9")
+
+# ====================================================================
+
+SetTimeSliderState(3)
+DrawPlots()
+Test("miranda_raw_reader10")
+
+# ====================================================================
+
+ReplaceDatabase(data_path("miranda_test_data/2015-05-06-RT_XeHe/plot.mir"))
+
+SetTimeSliderState(0)
+
+AddPlot("Pseudocolor","density")
+
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (-0.626786, -0.71511, 0.309445)
+View3DAtts.focus = (0, 0, 0)
+View3DAtts.viewUp = (-0.109109, 0.473773, 0.873861)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 11085.1
+View3DAtts.nearPlane = -22170.3
+View3DAtts.farPlane = 22170.3
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.centerOfRotationSet = 0
+View3DAtts.centerOfRotation = (0, 0, 0)
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+View3DAtts.shear = (0, 0, 1)
+View3DAtts.windowValid = 1
+SetView3D(View3DAtts)
+
+DrawPlots()
+
+Test("miranda_raw_reader11")
+
+# ====================================================================
+
+SetTimeSliderState(1)
+DrawPlots()
+
+Test("miranda_raw_reader12")
+
+# ====================================================================
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_moab.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_moab.html new file mode 100644 index 000000000..324ed92d1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_moab.html @@ -0,0 +1,60 @@ + +Results for databases/moab.py + +

Results of VisIt Regression Test - databases/moab

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
moab_010.000.00
moab_020.000.00
moab_030.000.00
moab_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_moab_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_moab_py.html new file mode 100644 index 000000000..5e8c8824c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_moab_py.html @@ -0,0 +1,61 @@ +databases/moab.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  moab.py
+#
+#  Tests:      mesh      - 3D unstructured,multi-domain, 
+#              plots     - Pseudocolor, mesh
+#
+#  Programmer: Mark C Miller
+#  Date:       August 10, 2016
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("MOAB")
+
+OpenDatabase(data_path("moab_test_data/64bricks_12ktet.h5m"))
+
+AddPlot("Mesh", "mesh")
+AddPlot("Pseudocolor", "NODE_vertex_field")
+DrawPlots()
+
+v = GetView3D()
+v.RotateAxis(0,45)
+v.RotateAxis(1,135)
+SetView3D(v)
+Test("moab_01")
+
+DeleteAllPlots()
+AddPlot("Mesh", "mesh")
+AddPlot("Subset", "Materials")
+DrawPlots()
+Test("moab_02")
+
+DeleteAllPlots()
+CloseDatabase(data_path("moab_test_data/64bricks_12ktet.h5m"))
+
+OpenDatabase(data_path("moab_test_data/64bricks_512hex_256part.h5m"))
+AddPlot("Mesh", "mesh")
+DrawPlots()
+
+v = GetView3D()
+v.RotateAxis(0,45)
+v.RotateAxis(1,135)
+SetView3D(v)
+Test("moab_03")
+
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if silr.SetName(i)[0:8] == "GeomSet_":
+        silr.TurnOffSet(i)
+    if   silr.SetName(i) == "GeomSet_427_dim_2":
+        silr.TurnOnSet(i)
+    elif silr.SetName(i) == "GeomSet_433_dim_2":
+        silr.TurnOnSet(i)
+    elif silr.SetName(i) == "GeomSet_438_dim_2":
+        silr.TurnOnSet(i)
+    elif silr.SetName(i) == "GeomSet_443_dim_2":
+        silr.TurnOnSet(i)
+SetPlotSILRestriction(silr)
+Test("moab_04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format.html new file mode 100644 index 000000000..e7542c660 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format.html @@ -0,0 +1,60 @@ + +Results for databases/multi_format.py + +

Results of VisIt Regression Test - databases/multi_format

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
multi_format_010.000.00
multi_format_020.000.00
multi_format_030.000.00
multi_format_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format2.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format2.html new file mode 100644 index 000000000..34d770c82 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format2.html @@ -0,0 +1,42 @@ + +Results for databases/multi_format2.py + +

Results of VisIt Regression Test - databases/multi_format2

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
multi_format2_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format2_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format2_py.html new file mode 100644 index 000000000..3d2ff05bb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format2_py.html @@ -0,0 +1,53 @@ +databases/multi_format2.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  multi_format2.py 
+#
+#  Tests:      Using multiple file formats types in the same engine.
+#
+#  Programmer: Jeremy Meredith
+#  Creation:   March 23, 2004
+#
+#  Tests a strange case related to the original multi_format.py where the
+#  engine is restarted implicitly.  This is currently skipped in parallel
+#  since an implicit engine restart does not pick up the same paralell args.
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+db = (silo_data_path("rect2d.silo") ,
+      data_path("pdb_test_data/allinone00.pdb"))
+
+# Create a Pseudocolor plot of Rect2d.
+OpenDatabase(db[0])
+AddPlot("Pseudocolor", "p")
+
+# Move it off to the side
+t=TransformAttributes()
+t.doTranslate = 1
+t.translateX = 11.0
+t.doScale = 1;
+t.scaleX = 22.5;
+t.scaleY = 22.5;
+SetDefaultOperatorOptions(t)
+AddOperator("Transform")
+
+# Create a Pseudocolor plot of AllInOne
+OpenDatabase(db[1])
+AddPlot("FilledBoundary", "material(mesh)")
+
+# Close the compute engine!
+CloseComputeEngine("localhost");
+
+# Allow it to restart
+DrawPlots()
+
+# Test it!
+Test("multi_format2_01")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format_py.html new file mode 100644 index 000000000..c191d6032 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_multi_format_py.html @@ -0,0 +1,66 @@ +databases/multi_format.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  multi_format.py 
+#
+#  Tests:      Using multiple file formats types in the same engine.
+#
+#  Programmer: Hank Childs
+#  Creation:   March 22, 2004
+#
+#  Modifications:
+#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
+#    Removed deprecated functions.
+#
+#    Tom Fogal, Tue Dec 15 17:34:00 MST 2009
+#    Fix path to data.
+#
+# ----------------------------------------------------------------------------
+
+
+db = (data_path("silo_pdb_test_data/wave*.silo database"),
+      data_path("pdb_test_data/allinone00.pdb"))
+
+# Create a Pseudocolor plot of wave.
+OpenDatabase(db[0])
+AddPlot("Pseudocolor", "pressure")
+DrawPlots()
+
+# Set the view.
+v0 = View3DAttributes()
+v0.viewNormal = (-0.661743, 0.517608, 0.542382)
+v0.focus = (5, 0.757692, 2.5)
+v0.viewUp = (0.370798, 0.854716, -0.363277)
+v0.viewAngle = 30
+v0.parallelScale = 5.63924
+v0.nearPlane = -11.2785
+v0.farPlane = 11.2785
+v0.imagePan = (0.00100868, 0.0454815)
+v0.imageZoom = 1.17935
+v0.perspective = 1
+SetView3D(v0)
+Test("multi_format_01")
+
+# Create another window and make sure that it has the wave database as its
+# active source.
+CloneWindow()
+SetActiveWindow(2)
+DeleteAllPlots()
+
+# Open the allinone database and make sure that it becomes the active source.
+OpenDatabase(db[1])
+
+# Create a plot from it.
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+Test("multi_format_02")
+# note: py3 div creates float
+SetTimeSliderState(int(TimeSliderGetNStates() / 2))
+Test("multi_format_03")
+
+# Switch back to window 1.
+SetActiveWindow(1)
+Test("multi_format_04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_netcdf.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_netcdf.html new file mode 100644 index 000000000..2de828201 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_netcdf.html @@ -0,0 +1,210 @@ + +Results for databases/netcdf.py + +

Results of VisIt Regression Test - databases/netcdf

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ADAPT files
netcdf_0_000.000.00
netcdf_0_010.000.00
netcdf_0_020.000.00
netcdf_0_030.000.00
LODI particle files
netcdf_1_000.000.00
netcdf_1_010.000.00
netcdf_1_020.000.00
LODI files
Basic NETCDF reader
netcdf_3_000.000.00
netcdf_3_010.000.00
netcdf_3_020.000.00
netcdf_3_030.000.00
netcdf_3_040.000.00
netcdf_3_050.000.00
netcdf_3_060.000.00
netcdf_3_070.000.00
netcdf_3_080.000.00
Basic NETCDF reader with zone-centered data
netcdf_3_090.000.00
netcdf_3_100.000.00
CCSM reader
netcdf_4_000.000.00
netcdf_4_010.000.00
netcdf_4_020.000.00
Time-varying curves
netcdf_5_000.000.00
netcdf_5_010.000.00
FVCOM reader
netcdf_6_000.000.00
netcdf_6_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_netcdf_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_netcdf_py.html new file mode 100644 index 000000000..3626e04f6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_netcdf_py.html @@ -0,0 +1,425 @@ +databases/netcdf.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  netcdf.py
+#
+#  Tests:      mesh      - 2D, 3D structured, single domain
+#              plots     - Mesh, Pseudocolor, FilledBoundary
+#              operators - Transform
+#
+#  Programmer: Brad Whitlock
+#  Date:       Mon Aug 22 11:37:35 PDT 2005
+#
+#  Modifications:
+#    Brad Whitlock, Wed Oct 10 11:20:44 PDT 2007
+#    Added tests for CCSM data.
+#
+#    Jeremy Meredith, Fri Aug  8 11:23:29 EDT 2008
+#    Updated streamline settings to match new attribute fields.
+#
+#    Brad Whitlock, Mon 16:37:34 PST 2009
+#    I removed the Streamline plot and I fixed some other things to get it
+#    working again.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Brad Whitlock, Thu Sep  9 11:03:30 PDT 2010
+#    I added tests for time-varying curves, FVCOM.
+#
+#    Kathleen Biagas, Fri Sep 21 10:12:15 MST 2012
+#    Removed pjoin so that tests can run on Windows.
+#
+#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#    Turn off cycling of colors for all Curve plot tests.  Set the colors
+#    individually to match current baseline results.
+#
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Replace obsolete Label text attributes with new versions.
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("NETCDF")
+
+def test0():
+    TestSection("ADAPT files")
+    OpenDatabase(data_path("netcdf_test_data/narac/adapt_etex_metfld_from_obs_102312.nc"))
+    AddPlot("Pseudocolor", "u")
+    AddPlot("Mesh", "main")
+    SetActivePlots((0,1))
+    AddOperator("Transform")
+    t = TransformAttributes()
+    t.scaleZ = 200
+    t.doScale = 1
+    SetOperatorOptions(t)
+    DrawPlots()
+
+    # Set the view
+    v = View3DAttributes()
+    v.viewNormal = (-0.70982, -0.515727, 0.479773)
+    v.focus = (0, 0, 753888)
+    v.viewUp = (0.359948, 0.319901, 0.876414)
+    v.viewAngle = 30
+    v.parallelScale = 2.38503e+06
+    v.nearPlane = -4.77005e+06
+    v.farPlane = 4.77005e+06
+    v.imagePan = (0.000886525, 0.00976909)
+    v.imageZoom = 0.952092
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 753888)
+    SetView3D(v)
+    Test("netcdf_0_00")
+
+    # Set up another view.
+    v1 = View3DAttributes()
+    v1.viewNormal = (-0.434823, -0.389027, -0.812149)
+    v1.focus = (0, 0, 753888)
+    v1.viewUp = (-0.545125, -0.604143, 0.581249)
+    v1.viewAngle = 30
+    v1.parallelScale = 2.38503e+06
+    v1.nearPlane = -4.77005e+06
+    v1.farPlane = 4.77005e+06
+    v1.imagePan = (0.00461106, -0.0368703)
+    v1.imageZoom = 0.952092
+    v1.perspective = 1
+    v1.eyeAngle = 2
+    v1.centerOfRotationSet = 0
+    v1.centerOfRotation = (0, 0, 753888)
+    SetView3D(v1)
+    Test("netcdf_0_01")
+
+    # Plot the terrain by stripping away most of the air.
+    SetActivePlots(1)
+    DeleteActivePlots()
+    AddOperator("IndexSelect")
+    idxsel = IndexSelectAttributes()
+    idxsel.dim = idxsel.ThreeD
+    idxsel.zMax = 1
+    SetOperatorOptions(idxsel)
+
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.394106, -0.0944361, 0.9142)
+    v2.focus = (0, 0, 508267)
+    v2.viewUp = (0.867549, 0.290123, 0.403965)
+    v2.viewAngle = 30
+    v2.parallelScale = 2.31912e+06
+    v2.nearPlane = -4.63825e+06
+    v2.farPlane = 4.63825e+06
+    v2.imagePan = (0.012587, 0.0291994)
+    v2.imageZoom = 1.08833
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0, 0, 508267)
+    SetView3D(v2)
+    DrawPlots()
+    Test("netcdf_0_02")
+
+    # Plot something 2D
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "ustar")
+    p = PseudocolorAttributes()
+    p.skewFactor = 0.01
+    p.scaling = p.Skew
+    DrawPlots()
+    Test("netcdf_0_03")
+    DeleteAllPlots()
+
+def test1():
+    TestSection("LODI particle files")
+    # First put in the terrain, though it is not a LODI particle file.
+    OpenDatabase(data_path("netcdf_test_data/narac/adapt_etex_metfld_from_obs_102312.nc"))
+    AddPlot("Pseudocolor", "u")
+    AddOperator("Transform", 1)
+    t = TransformAttributes()
+    t.scaleZ = 200
+    t.doScale = 1
+    SetOperatorOptions(t)
+    AddOperator("IndexSelect")
+    idxsel = IndexSelectAttributes()
+    idxsel.dim = idxsel.ThreeD
+    idxsel.zMax = 1
+    SetOperatorOptions(idxsel)
+    DrawPlots()
+
+    # Now add the LODI particle file.
+    db = data_path("netcdf_test_data/narac/ppart.nc")
+    OpenDatabase(db)
+    AddPlot("FilledBoundary", "sourceid")
+    AddOperator("Transform")
+    SetOperatorOptions(t)
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.57737, -0.765477, 0.28406)
+    v.focus = (0, 0, 265602)
+    v.viewUp = (0.165375, 0.231057, 0.958782)
+    v.viewAngle = 30
+    v.parallelScale = 2.27828e+06
+    v.nearPlane = -4.55655e+06
+    v.farPlane = 4.55655e+06
+    v.imagePan = (0, 0)
+    v.imageZoom = 3.17577
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 265602)
+    SetView3D(v)
+    Test("netcdf_1_00")
+
+    # Do a Label plot
+    AddPlot("Label", "sourceid")
+    AddOperator("Transform")
+    SetOperatorOptions(t)
+    L = LabelAttributes()
+    L.restrictNumberOfLabels = 0
+    L.textFont1.scale = 6
+    SetPlotOptions(L)
+    DrawPlots()
+    SetActivePlots(1)
+    f = FilledBoundaryAttributes()
+    f.pointSizePixels = 10
+    SetPlotOptions(f)
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.57737, -0.765477, 0.28406)
+    v2.focus = (0, 0, 265602)
+    v2.viewUp = (0.165375, 0.231057, 0.958782)
+    v2.viewAngle = 30
+    v2.parallelScale = 2.27828e+06
+    v2.nearPlane = -4.55655e+06
+    v2.farPlane = 4.55655e+06
+    v2.imagePan = (-0.0022605, 0.0057171)
+    v2.imageZoom = 111.554
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0, 0, 265602)
+    SetView3D(v2)
+    Test("netcdf_1_01")
+
+    # Delete the label plot and go forward in time
+    SetActivePlots(2)
+    DeleteActivePlots()
+    SetView3D(v)
+    SetActivePlots(1)
+    f.pointSizePixels = 2
+    SetPlotOptions(f)
+    TimeSliderNextState()
+    Test("netcdf_1_02")
+    DeleteAllPlots()
+
+def test2():
+    TestSection("LODI files")
+    # This test is reserved for LODI once it is assured to be right.
+    return
+
+def test3():
+    TestSection("Basic NETCDF reader")
+    OpenDatabase(data_path("netcdf_test_data/narac/etex_fill_lambertcc__4000_001.elev"))
+    AddPlot("Pseudocolor", "elevations")
+    DrawPlots()
+    Test("netcdf_3_00")
+
+    # Elevate the data
+    ClearWindow()
+    AddOperator("Elevate")
+    e = ElevateAttributes()
+    e.useXYLimits = e.Always
+    SetOperatorOptions(e)
+    AddOperator("Transform")
+    t = TransformAttributes()
+    t.doScale = 1
+    t.scaleX = 100
+    t.scaleY = 100
+    t.scaleZ = 3
+    SetOperatorOptions(t)
+    th = ThresholdAttributes()
+    th.listedVarNames = ("elevations")
+    th.lowerBounds = (1.0)
+    SetDefaultOperatorOptions(th)
+    AddOperator("Threshold")
+    DrawPlots()
+    # Set up a light
+    oldLight = GetLight(0)
+    newLight = GetLight(0)
+    newLight.enabledFlag = 1
+    newLight.type = newLight.Camera  # Ambient, Object, Camera
+    newLight.direction = (-0.626, -0.427, -0.653)
+    newLight.color = (255, 255, 255, 255)
+    newLight.brightness = 1
+    SetLight(0, newLight)
+    # Set up the view
+    v = View3DAttributes()
+    v.viewNormal = (0, -0.5, 0.866025)
+    v.focus = (0, 0, 1646)
+    v.viewUp = (0, 0.866025, 0.5)
+    v.viewAngle = 30
+    v.parallelScale = 282140
+    v.nearPlane = -564281
+    v.farPlane = 564281
+    v.imagePan = (0, 0)
+    v.imageZoom = 1.43024
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 1646)
+    SetView3D(v)
+    InvertBackgroundColor()
+    Test("netcdf_3_01")
+    SetLight(0, oldLight)
+    DeleteAllPlots()
+    InvertBackgroundColor()
+
+    # Try some curves
+    OpenDatabase(data_path("netcdf_test_data/3252ATT-A1H.cdf"))
+    AddPlot("Curve", "ATTN_55")
+    curveAtts = CurveAttributes()
+    curveAtts.curveColorSource = curveAtts.Custom
+    curveAtts.curveColor = (255, 0, 0, 255)
+    SetPlotOptions(curveAtts)
+    DrawPlots()
+    Test("netcdf_3_02")
+    DeleteAllPlots()
+    OpenDatabase(data_path("netcdf_test_data/AAtestCTD.nc"))
+    AddPlot("Curve", "ST_70")
+    curveAtts.curveColor = (0, 255, 0, 255)
+    SetPlotOptions(curveAtts)
+    DrawPlots()
+    ResetView()
+    Test("netcdf_3_03")
+    DeleteAllPlots()
+
+    # Try some files that I found on climate web sites.
+    OpenDatabase(data_path("netcdf_test_data/pressure.cdf"))
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+    ResetView()
+    ToggleFullFrameMode() # Did this get set somehow by the curve plots?
+    Test("netcdf_3_04")
+    DeleteAllPlots()
+
+    OpenDatabase(data_path("netcdf_test_data/aou.cdf"))
+    AddPlot("Pseudocolor", "aou")
+    AddOperator("Slice")
+    s = SliceAttributes()
+    s.axisType = s.ZAxis
+    SetOperatorOptions(s)
+    DrawPlots()
+    ResetView()
+    Test("netcdf_3_05")
+    DeleteAllPlots()
+
+    OpenDatabase(data_path("netcdf_test_data/NASA_vegetation_lai.cdf"))
+    AddPlot("Pseudocolor", "lai")
+    DrawPlots()
+    v2 = View2DAttributes()
+    v2.windowCoords = (-139.883, -44.1452, -18.7702, 74.4037)
+    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v2.fullFrameActivationMode = v2.Off  # On, Off, Auto
+    v2.fullFrameAutoThreshold = 100
+    SetView2D(v2)
+    Test("netcdf_3_06")
+    DeleteAllPlots()
+
+    # Try a file that used to crash on Windows
+    db = "netcdf_test_data/Case5_2D-Q.nc"
+    OpenDatabase(data_path(db))
+    AddPlot("Pseudocolor", "Q")
+    DrawPlots()
+    ResetView()
+    Test("netcdf_3_07")
+    SetTimeSliderState(29)
+    Test("netcdf_3_08")
+    DeleteAllPlots()
+    CloseDatabase(data_path(db))
+
+    TestSection("Basic NETCDF reader with zone-centered data")
+    swa = SaveWindowAttributes()
+    swa.width = 1000
+    swa.height = 1000
+    swa.screenCapture = 0
+    db = "netcdf_test_data/oase-mapdata.nc"
+    OpenDatabase(data_path(db))
+    AddPlot("Pseudocolor", "national_rivers_2D")
+    DrawPlots()
+    ResetView()
+    Test("netcdf_3_09", swa)
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "as_zonal/national_rivers_2D")
+    DrawPlots()
+    ResetView()
+    Test("netcdf_3_10", swa)
+    DeleteAllPlots()
+    CloseDatabase(data_path(db))
+
+def test4():
+    TestSection("CCSM reader")
+    db = "netcdf_test_data/tas_mean_T63.nc"
+    OpenDatabase(data_path(db))
+    AddPlot("Pseudocolor", "tas")
+    DrawPlots()
+    ResetView()
+    Test("netcdf_4_00")
+
+    # Change to the last time state
+    SetTimeSliderState(1187)
+    Test("netcdf_4_01")
+
+    # Change to the global representation of the data
+    ChangeActivePlotsVar("global/tas")
+    ResetView()
+    Test("netcdf_4_02")
+    DeleteAllPlots()
+    CloseDatabase(data_path(db))
+
+def test5():
+    TestSection("Time-varying curves")
+    db = "netcdf_test_data/timecurve.nc"
+    OpenDatabase(data_path(db))
+    AddPlot("Curve", "theta_1_1")
+    c = CurveAttributes()
+    c.showLabels = 0
+    c.curveColor = (255,0,0,255)
+    c.curveColorSource = c.Custom
+    SetPlotOptions(c)
+    cv = GetViewCurve()
+    cv.domainCoords = (0, 9)
+    cv.rangeCoords = (0.40657, 5)
+    cv.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    cv.domainScale = cv.LINEAR  # LINEAR, LOG
+    cv.rangeScale = cv.LINEAR  # LINEAR, LOG
+    SetViewCurve(cv)
+    DrawPlots()
+    Test("netcdf_5_00")
+    SetTimeSliderState(4)
+    Test("netcdf_5_01")
+    DeleteAllPlots()
+    CloseDatabase(data_path(db))
+
+def test6():
+    TestSection("FVCOM reader ")
+    db = "netcdf_test_data/chn_0001.nc"
+    OpenDatabase(data_path(db))
+    AddPlot("Pseudocolor", "Dens3{S,Theta,P}")
+    DrawPlots()
+    ResetView()
+    Test("netcdf_6_00")
+    SetTimeSliderState(47)
+    Test("netcdf_6_01")
+    DeleteAllPlots()
+    CloseDatabase(data_path(db))
+
+def main():
+    test0()
+    test1()
+    test2()
+    test3()
+    test4()
+    test5()
+    test6()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_obj.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_obj.html new file mode 100644 index 000000000..35198ec86 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_obj.html @@ -0,0 +1,126 @@ + +Results for databases/obj.py + +

Results of VisIt Regression Test - databases/obj

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
obj_cube0.000.00
obj_face10.000.00
obj_face20.000.00
obj_face30.000.00
obj_face40.000.00
obj_face50.000.00
obj_face60.000.00
obj_tri10.000.00
obj_tri20.000.00
obj_box0.000.00
obj_colors0.000.00
obj_immediate_colors0.000.00
obj_scott10.000.00
obj_scott20.000.00
obj_scott30.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_obj_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_obj_py.html new file mode 100644 index 000000000..e91683d97 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_obj_py.html @@ -0,0 +1,85 @@ +databases/obj.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  obj.py
+#
+#  Tests:      Wavefront OBJ reader
+#                  - relative indexing
+#                  - groups w/ and w/o multiple inclusion via enum scalar
+#                  - groups with coloration (via material)
+#
+#  Programmer: Mark C. Miller, Tue Oct 23 16:09:00 PDT 2018
+#
+# ----------------------------------------------------------------------------
+def TurnOnSetsByName(silr, setNames):
+    silr.TurnOffAll()
+    silr.TurnOnSet(1) # the block0 set
+    for i in range(silr.NumSets()):
+        if silr.SetName(i) in setNames:
+            silr.TurnOnSet(i)
+
+OpenDatabase(data_path("obj_test_data/cube2.obj"))
+
+AddPlot("Mesh", "OBJMesh")
+ma = MeshAttributes()
+ma.opaqueColorSource = ma.OpaqueCustom
+ma.opaqueColor = (192, 192, 192)
+DrawPlots()
+SetPlotOptions(ma)
+
+v = GetView3D()
+v.viewNormal = (0.00415051, 0.90155, -0.432654)
+v.viewUp = (0.959161, 0.118781, 0.256713)
+SetView3D(v)
+
+Test("obj_cube")
+
+silr = SILRestriction()
+setsToTest = ("face1","face2","face3","face4","face5","face6","tri1","tri2","box")
+for set in setsToTest:
+    TurnOnSetsByName(silr, (set,))
+    SetPlotSILRestriction(silr)
+    Test("obj_%s"%set)
+
+silr.TurnOnAll()
+SetPlotSILRestriction(silr)
+DeleteAllPlots()
+CloseDatabase(data_path("obj_test_data/cube2.obj"))
+OpenDatabase(data_path("obj_test_data/cube1.obj"))
+
+# Test coloration of faces from matlib
+AddPlot("FilledBoundary", "GroupsAsMaterials")
+DrawPlots()
+v.RotateAxis(0,30)
+SetView3D(v)
+Test("obj_colors")
+
+DeleteAllPlots()
+CloseDatabase(data_path("obj_test_data/cube1.obj"))
+OpenDatabase(data_path("obj_test_data/cube3.obj"))
+
+# Test coloration of faces from immediate mode colors
+# Should be same picture as above
+AddPlot("FilledBoundary", "GroupsAsMaterials")
+DrawPlots()
+Test("obj_immediate_colors")
+
+DeleteAllPlots()
+CloseDatabase(data_path("obj_test_data/cube3.obj"))
+OpenDatabase(data_path("obj_test_data/test.obj"))
+
+# Test various objects from Scott's example database
+AddPlot("FilledBoundary", "GroupsAsMaterials")
+DrawPlots()
+ResetView()
+Test("obj_scott1")
+silr = SILRestriction()
+silr.TurnOffSet(17) # Plane
+SetPlotSILRestriction(silr)
+Test("obj_scott2")
+silr.TurnOffSet(18) # Prism
+SetPlotSILRestriction(silr)
+Test("obj_scott3")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_oldsilo.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_oldsilo.html new file mode 100644 index 000000000..f358507c9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_oldsilo.html @@ -0,0 +1,48 @@ + +Results for databases/oldsilo.py + +

Results of VisIt Regression Test - databases/oldsilo

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
oldsilo_010.000.00
oldsilo_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_oldsilo_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_oldsilo_py.html new file mode 100644 index 000000000..68124694e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_oldsilo_py.html @@ -0,0 +1,38 @@ +databases/oldsilo.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  oldsilo.py 
+#
+#  Tests:      old-style silo files (netcdf driver)
+#
+#  Programmer: Mark C. Miller 
+#  Date:       February 11, 2004 
+#
+#  Modifications:
+#    Jeremy Meredith, Thu Jan 14 12:38:24 EST 2010
+#    Changed path to point to new location.
+#
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(data_path("old_silo_test_data/pion0244.silo"))
+
+AddPlot("Pseudocolor","d")
+AddPlot("Mesh","hydro_mesh")
+DrawPlots()
+Test("oldsilo_01")
+DeleteAllPlots()
+
+OpenDatabase(data_path("old_silo_test_data/fwl.17217"))
+
+AddPlot("Pseudocolor","d")
+AddPlot("Mesh","mesh1")
+DrawPlots()
+Test("oldsilo_02")
+DeleteAllPlots()
+
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_openPMD.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_openPMD.html new file mode 100644 index 000000000..77618341c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_openPMD.html @@ -0,0 +1,45 @@ + +Results for databases/openPMD.py + +

Results of VisIt Regression Test - databases/openPMD

+ + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
3D Example openPMD File
openPMD_3D_Fieldsrho0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_openPMD_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_openPMD_py.html new file mode 100644 index 000000000..a20739a60 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_openPMD_py.html @@ -0,0 +1,40 @@ +databases/openPMD.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  openPMD.py
+#
+#  Tests:      openPMD hdf5 files
+#
+#  Programmer: Dave Pugmire
+#  Date:       Mon Oct 28 13:00:15 EDT 2019
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("OpenPMD")
+
+openPMDFile = 'openpmd_test_data/data00000500.opmd'
+
+vars = ['Fields/rho']
+
+def test(var, tagName) :
+    SetTimeSliderState(1)
+    AddPlot("Contour", var)
+    SetActivePlots(0)
+    ContourAtts = ContourAttributes()
+    ContourAtts.minFlag = 1
+    ContourAtts.min = 1
+    ContourAtts.scaling = ContourAtts.Log
+    SetPlotOptions(ContourAtts)
+    DrawPlots()
+    fileName = var.replace("/", "")
+    Test(tagName + "_" +  fileName)
+    DeleteAllPlots()
+
+
+TestSection("3D Example openPMD File")
+OpenDatabase(data_path(openPMDFile))
+for var in vars:
+    test(var,"openPMD_3D")
+CloseDatabase(data_path(openPMDFile))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_openexr.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_openexr.html new file mode 100644 index 000000000..f4fde78a7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_openexr.html @@ -0,0 +1,78 @@ + +Results for databases/openexr.py + +

Results of VisIt Regression Test - databases/openexr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
openexr_0_R0.000.00
openexr_0_G0.000.00
openexr_0_B0.000.00
openexr_0_A0.000.00
openexr_0_Z0.000.00
openexr_0_L0.000.00
openexr_0_value0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_openexr_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_openexr_py.html new file mode 100644 index 000000000..d887b24a6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_openexr_py.html @@ -0,0 +1,54 @@ +databases/openexr.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  openexr.py 
+#
+#  Tests:      openexr reading 
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Feb 15 14:16:45 PST 2018
+#
+#  Modifications:
+# 
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("OpenEXR")
+
+def test0():
+    DefineScalarExpression("masked_value", "if(gt(A, 0), value, 0)")
+
+    db = data_path("OpenEXR_test_data/noise_rgbazlv.exr")
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "R")
+    DrawPlots()
+    v = GetView2D()
+    v.viewportCoords = (0, 1, 0, 1)
+    SetView2D(v)
+    Test("openexr_0_R")
+
+    ChangeActivePlotsVar("G")
+    Test("openexr_0_G")
+
+    ChangeActivePlotsVar("B")
+    Test("openexr_0_B")
+
+    ChangeActivePlotsVar("A")
+    Test("openexr_0_A")
+
+    ChangeActivePlotsVar("Z")
+    Test("openexr_0_Z")
+
+    ChangeActivePlotsVar("L")
+    Test("openexr_0_L")
+
+    ChangeActivePlotsVar("masked_value")
+    Test("openexr_0_value")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def main():
+    test0()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_overlink.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_overlink.html new file mode 100644 index 000000000..fbc6e9138 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_overlink.html @@ -0,0 +1,108 @@ + +Results for databases/overlink.py + +

Results of VisIt Regression Test - databases/overlink

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
overlink_010.000.00
overlink_020.000.00
overlink_030.000.00
overlink_040.000.00
ANNOTATION_INT nodelists
overlink_050.000.00
overlink_060.000.00
overlink_070.000.00
overlink_080.000.00
overlink_090.000.00
overlink_100.000.00
Large number of nodelists
overlink_110.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_overlink_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_overlink_py.html new file mode 100644 index 000000000..c8f476d02 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_overlink_py.html @@ -0,0 +1,152 @@ +databases/overlink.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  overlink.py 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       November 11, 2004 
+#
+#  Modifications:
+#    Mark C. Miller, Mon Mar  2 12:44:59 PST 2009
+#    Added tests for 3D and 2D ANNOTTAION_INT nodelists
+#
+#    Mark C. Miller, Thu Jun 18 21:43:45 PDT 2009
+#    Added TestSection() for annotation int nodelists.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Mark C. Miller, Fri May  4 22:54:55 PDT 2012
+#    Add a test for modestly large number of nodesets to test new vtkBitArray
+#    approach to handling nodesets.
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(data_path("overlink_test_data/regrovl_qh_1000_10001_4/OvlTop.silo"))
+
+
+#
+# This is an interesting mesh 
+#
+AddPlot("Mesh","MMESH")
+DrawPlots()
+v=GetView3D()
+v.viewNormal = (0.530656, 0.558421, 0.637629)
+v.viewUp = (-0.401835, 0.82812, -0.390828)
+SetView3D(v)
+Test("overlink_01")
+
+AddPlot("Pseudocolor","nvar1")
+DrawPlots()
+Test("overlink_02")
+
+DeleteAllPlots()
+
+AddPlot("Subset","domains(MMESH)")
+DrawPlots()
+Test("overlink_03")
+
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if silr.SetName(i) == "domain1":
+        silr.TurnOffSet(i)
+    elif silr.SetName(i) == "domain4":
+        silr.TurnOffSet(i)
+SetPlotSILRestriction(silr)
+Test("overlink_04")
+
+#
+# Test ANNOTATION_INT objects and read options
+#
+TestSection("ANNOTATION_INT nodelists")
+DeleteAllPlots()
+CloseDatabase(data_path("overlink_test_data/regrovl_qh_1000_10001_4/OvlTop.silo"))
+
+
+# First test open with search for ANNOT_INT objects turned on
+# but none actually in the database.
+readOptions=GetDefaultFileOpenOptions("Silo")
+readOptions["Search For ANNOTATION_INT (!!Slow!!)"] = 1
+SetDefaultFileOpenOptions("Silo", readOptions)
+OpenDatabase(silo_data_path("multipart_multi_ucd3d.silo"))
+
+AddPlot("Pseudocolor","d")
+DrawPlots()
+ResetView()
+Test("overlink_05")
+
+# likewise on single domain, single file
+DeleteAllPlots()
+CloseDatabase(silo_data_path("multipart_multi_ucd3d.silo"))
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor","dx")
+DrawPlots()
+ResetView()
+Test("overlink_06")
+DeleteAllPlots()
+CloseDatabase(silo_data_path("globe.silo"))
+
+
+# Ok, now lets do some real annot_int work
+DeleteAllPlots()
+CloseDatabase(silo_data_path("globe.silo"))
+
+OpenDatabase(data_path("overlink_test_data/annotInt/sweptCellTagTest.silo"))
+
+AddPlot("Mesh","MMESH")
+DrawPlots()
+Test("overlink_07")
+
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if silr.SetName(i) == "negYNodes":
+        silr.TurnOffSet(i)
+        break
+SetPlotSILRestriction(silr)
+Test("overlink_08")
+
+for i in range(silr.NumSets()):
+    if silr.SetName(i) == "negZNodes":
+        silr.TurnOffSet(i)
+        break
+SetPlotSILRestriction(silr)
+Test("overlink_09")
+
+DeleteAllPlots()
+CloseDatabase(data_path("overlink_test_data/annotInt/sweptCellTagTest.silo"))
+
+OpenDatabase(data_path("overlink_test_data/annotInt/overlink2dTest.silo"))
+
+AddPlot("Mesh","MMESH")
+DrawPlots()
+ResetView()
+v = GetView2D()
+v.windowCoords = (-0.360608, 6.36061, -0.115684, 6.11568)
+SetView2D(v)
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if silr.SetName(i) == "posR":
+        silr.TurnOffSet(i)
+        break
+SetPlotSILRestriction(silr)
+Test("overlink_10")
+
+TestSection("Large number of nodelists")
+DeleteAllPlots()
+CloseDatabase(data_path("overlink_test_data/annotInt/overlink2dTest.silo"))
+
+OpenDatabase(data_path("overlink_test_data/annotInt/overlink2dTstA.silo"))
+
+AddPlot("Mesh","MMESH")
+DrawPlots()
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if (i%2 and silr.SetName(i)[0:5] == "cell_"):
+        silr.TurnOffSet(i)
+SetPlotSILRestriction(silr)
+Test("overlink_11")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_pdbdatabase.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_pdbdatabase.html new file mode 100644 index 000000000..f7909fa5e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_pdbdatabase.html @@ -0,0 +1,348 @@ + +Results for databases/pdbdatabase.py + +

Results of VisIt Regression Test - databases/pdbdatabase

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Testing with /usr/WS1/visit/test_trunk/visit/build/testdata/pdb_test_data/multi*.pdb database
pdb_multi_000.000.00
pdb_multi_010.000.00
pdb_multi_020.000.00
pdb_multi_030.000.00
pdb_multi_040.000.00
pdb_multi_050.000.00
pdb_multi_060.000.00
pdb_multi_070.000.00
pdb_multi_080.000.00
pdb_multi_090.000.00
pdb_multi_100.000.00
pdb_multi_110.000.00
pdb_multi_120.000.00
pdb_multi_130.000.00
pdb_multi_140.000.00
pdb_multi_150.000.00
Testing with /usr/WS1/visit/test_trunk/visit/build/testdata/pdb_test_data/family*.pdb database
pdb_family_000.000.00
pdb_family_010.000.00
pdb_family_020.000.00
pdb_family_030.000.00
pdb_family_040.000.00
pdb_family_050.000.00
pdb_family_060.000.00
pdb_family_070.000.00
pdb_family_080.000.00
pdb_family_090.000.00
pdb_family_100.000.00
pdb_family_110.000.00
pdb_family_120.000.00
pdb_family_130.000.00
pdb_family_140.000.00
pdb_family_150.000.00
Testing with /usr/WS1/visit/test_trunk/visit/build/testdata/pdb_test_data/allinone00.pdb
pdb_allinone_000.000.00
pdb_allinone_010.000.00
pdb_allinone_020.000.00
pdb_allinone_030.000.00
pdb_allinone_040.000.00
pdb_allinone_050.000.00
pdb_allinone_060.000.00
pdb_allinone_070.000.00
pdb_allinone_080.000.00
pdb_allinone_090.000.00
pdb_allinone_100.000.00
pdb_allinone_110.000.00
pdb_allinone_120.000.00
pdb_allinone_130.000.00
pdb_allinone_140.000.00
pdb_allinone_150.000.00
Testing mixvars in Flash files
pdb_nomix0.000.00
pdb_mix0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_pdbdatabase_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_pdbdatabase_py.html new file mode 100644 index 000000000..7ff9a5e89 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_pdbdatabase_py.html @@ -0,0 +1,247 @@ +databases/pdbdatabase.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  pdbdatabase.py
+#
+#  Tests:      mesh      - 2D,3D curvilinear, single domain
+#              plots     - Pseudocolor, Subset, Vector
+#              operators - Clip
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Sep 25 09:31:28 PDT 2003
+#
+#  Modifications:
+#    Brad Whitlock, Wed Mar 31 09:11:08 PDT 2004
+#    I added code to clear the engine cache to reduce memory usage.
+#
+#    Brad Whitlock, Fri Apr 9 16:54:15 PST 2004
+#    I added TestSection to divide up the tests a little.
+#
+#    Brad Whitlock, Thu Sep 2 12:08:59 PDT 2004
+#    I replaced some deprecated calls with their new equivalents.
+#
+#    Brad Whitlock, Tue Dec 7 17:52:33 PST 2004
+#    I added a test for mixvars in Flash files.
+#
+#    Mark C. Miller, Sat Feb  3 00:42:05 PST 2007
+#    Added tests for array variables
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Replace obsolete Label text attributes with new versions.
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("PDB")
+
+##
+## This creates a name for a test.
+##
+def CreateTestName(testName, testIndex):
+    name = "%s_%02d" % (testName, testIndex)
+    return name
+
+def sv3():
+    v3 = View3DAttributes()
+    v3.viewNormal = (0.516282, 0.582114, 0.628169)
+    v3.focus = (0, 0, 0)
+    v3.viewUp = (-0.488576, 0.80261, -0.342213)
+    v3.viewAngle = 30
+    v3.parallelScale = 43.589
+    v3.nearPlane = -87.178
+    v3.farPlane = 87.178
+    v3.imagePan = (0, 0)
+    v3.imageZoom = 1.41577
+    v3.perspective = 1
+    SetView3D(v3)
+
+##
+## This function performs the test using the specified database.
+##
+def TestWithDatabase(db, testName):
+    TestSection("Testing with %s" % db)
+
+    # Open the test database
+    OpenDatabase(db)
+
+    ##
+    ## Do the 2D tests.
+    ##
+
+    # Add the plots.
+    AddPlot("FilledBoundary", "material(mesh)")
+    DrawPlots()
+
+    # Do the first test in the series
+    Test(CreateTestName(testName, 0))
+
+    SetTimeSliderState(6)
+    Test(CreateTestName(testName, 1))
+
+    SetTimeSliderState(15)
+    Test(CreateTestName(testName, 2))
+
+    # Do a test on the last frame in the animation.
+    SetTimeSliderState(22)
+    Test(CreateTestName(testName, 3))
+
+    AddPlot("Mesh", "mesh")
+    DrawPlots()
+    v = View2DAttributes()
+    v.windowCoords = (-6.07862, -0.374491, 4.48986, 10.8545)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    SetView2D(v)
+    Test(CreateTestName(testName, 4))
+
+    # Try turning off material 2
+    SetActivePlots((0,1))
+    TurnMaterialsOff("2")
+    Test(CreateTestName(testName, 5))
+    TurnMaterialsOn()
+
+    ResetView()
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "mesh/a")
+    DrawPlots()
+    Test(CreateTestName(testName, 6))
+
+    # Define a expression. I'm testing this because of the strange
+    # <mesh/var> syntax that my plugin has.
+    DefineVectorExpression("testexp1", "3.0 * {<mesh/lt>, <mesh/a>/399.0}")
+    AddPlot("Vector", "testexp1")
+    DrawPlots();
+    vec = VectorAttributes()
+    vec.nVectors = 1200
+    vec.colorByMagnitude = 0
+    SetPlotOptions(vec)
+    v.windowCoords = (-9.51217, -0.289482, 0.983025, 10.6717)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    SetView2D(v)
+    Test(CreateTestName(testName, 7))
+
+    # Set the time back to frame 0
+    SetTimeSliderState(0)
+    ResetView()
+    DeleteAllPlots()
+
+    ##
+    ## Do the 3D tests.
+    ##
+
+    AddPlot("FilledBoundary", "material2(revolved_mesh)")
+    AddOperator("Clip")
+    c = ClipAttributes()
+    c.funcType = c.Plane
+    c.plane1Status = 0
+    c.plane2Status = 1
+    c.plane3Status = 1
+    SetOperatorOptions(c)
+    DrawPlots()
+
+    # Set the view
+    sv3()
+    Test(CreateTestName(testName, 8))
+
+    SetTimeSliderState(6)
+    sv3()
+    Test(CreateTestName(testName, 9))
+
+    SetTimeSliderState(15)
+    sv3()
+    Test(CreateTestName(testName, 10))
+
+    # Do a test on the last frame in the animation.
+    SetTimeSliderState(22)
+    sv3()
+    Test(CreateTestName(testName, 11))
+
+    # Turn off some materials
+    TurnMaterialsOff(("1", "3", "4"))
+    sv3()
+    Test(CreateTestName(testName, 12))
+    TurnMaterialsOn()
+
+    # Set the time back to frame 2
+    SetTimeSliderState(2)
+    ResetView()
+    DeleteAllPlots()
+
+    #
+    # Test array variables
+    #
+    AddPlot("Pseudocolor","logical_mesh/marray_comps/comp_002")
+    DrawPlots()
+    Test(CreateTestName(testName, 13))
+
+    DeleteAllPlots()
+    ResetView()
+    AddPlot("Pseudocolor","revolved_mesh/marray_comps/comp_002")
+    DrawPlots()
+    Test(CreateTestName(testName, 14))
+
+    DeleteAllPlots()
+    ResetView()
+    AddPlot("Label","logical_mesh/marray")
+    DrawPlots()
+    Test(CreateTestName(testName, 15))
+
+    # Set the time back to frame 0
+    SetTimeSliderState(0)
+    ResetView()
+    DeleteAllPlots()
+    CloseDatabase(db)
+    ClearCache("localhost")
+
+#
+# Test mixvars.
+#
+def TestMixvars(db):
+    TestSection("Testing mixvars in Flash files")
+    DeleteAllPlots()
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "mesh/mixvar")
+    DrawPlots()
+    ResetView()
+    v = View2DAttributes()
+    v.windowCoords = (-9.51866, 3.29394, 13.9258, 26.4126)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.fullFrameActivationMode = v.Off
+    SetView2D(v)
+    Test("pdb_nomix")
+
+    # Do the same plot but with forced MIR so the mixvar gets reconstructed.
+    ClearWindow()
+    m = GetMaterialAttributes()
+    m.forceMIR = 1
+    SetMaterialAttributes(m)
+    DrawPlots()
+    Test("pdb_mix")
+    DeleteAllPlots()
+
+#
+# Run the test a few times with different versions of the database. We do this
+# because we have the same database split up three different ways and all the
+# ways a database can be split up must work.
+#
+#   multi{00,01,02}.pdb  - Contains multiple time states in each file but
+#                          we group them all into "multi*.pdb database".
+#
+#   family??.pdb         - Contains a single time state in each file but
+#                          we group them all into "family*.pdb database".
+#
+#   allinone00.pdb       - Contains all of the time states in one file.
+#
+
+databases = (data_path("pdb_test_data/multi*.pdb database"),
+             data_path("pdb_test_data/family*.pdb database"),
+             data_path("pdb_test_data/allinone00.pdb"))
+testNames = ("pdb_multi", "pdb_family", "pdb_allinone")
+for i in range(len(databases)):
+    TestWithDatabase(databases[i], testNames[i])
+
+# Do the mixvar test.
+TestMixvars(databases[2])
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_pixie.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_pixie.html new file mode 100644 index 000000000..d41d05133 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_pixie.html @@ -0,0 +1,92 @@ + +Results for databases/pixie.py + +

Results of VisIt Regression Test - databases/pixie

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
pixie_010.000.00
pixie_020.000.00
pixie_030.000.00
pixie_040.390.00
pixie_050.000.00
pixie_060.000.00
pixie_070.000.00
pixie_080.000.00
pixie_090.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_pixie_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_pixie_py.html new file mode 100644 index 000000000..d153363ad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_pixie_py.html @@ -0,0 +1,161 @@ +databases/pixie.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  pixie.py 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       April 4, 2005 
+#
+#  Modifications:
+#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
+#    Allowed spaces in variable names.
+#
+# ----------------------------------------------------------------------------
+
+
+# test a 2D pixie database
+OpenDatabase(data_path("pixie_test_data/pixie3d3.h5"))
+
+
+#
+# Test simple read and display of a variable 
+#
+AddPlot("Pseudocolor","Car variables/Bx")
+DrawPlots()
+Test("pixie_01")
+
+AddPlot("Mesh","curvemesh_33x33x2")
+DrawPlots()
+Test("pixie_02")
+
+# really zoom in on the center of this mesh
+v=GetView2D()
+v.windowCoords = (-5.84435e-05, 5.84435e-05, -5.12076e-05, 5.12076e-05)
+SetView2D(v)
+Test("pixie_03")
+
+DeleteAllPlots()
+
+# test a 3D pixie database
+OpenDatabase(data_path("pixie_test_data/pixie3d4.h5"))
+
+AddPlot("Mesh","curvemesh_33x33x33")
+AddPlot("Contour","Car variables/Vx")
+v=GetView3D()
+v.viewNormal=(-0.5, 0, 0.866025)
+SetView3D(v)
+DrawPlots()
+Test("pixie_04")
+DeleteAllPlots()
+ResetView()
+
+# test a pixie expression (plot vector magnitude)
+OpenDatabase(data_path("pixie_test_data/pixie_expressions.h5"))
+
+# Test that vector data can be used. We use a Contour plot instead of a Vector
+# plot now because the glyph indices for the Vector plot can change depending
+# on how the mesh was automatically decomposed by the reader.
+AddPlot("Contour","V_magnitude")
+AddOperator("Transform")
+t = TransformAttributes()
+t.doScale = 1
+t.scaleZ = 0.25
+SetOperatorOptions(t)
+DrawPlots()
+v=GetView3D()
+v.viewNormal = (0.557477, 0.525516, 0.642692)
+v.focus = (0.484375, 0.5, 0.984375)
+v.viewUp = (-0.252277, 0.844773, -0.471926)
+v.viewAngle = 30
+v.parallelScale = 1.22474
+v.nearPlane = -2.44949
+v.farPlane = 2.44949
+v.imagePan = (0.0454993, 0.0670485)
+v.imageZoom = 1
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0.484375, 0.5, 0.984375)
+SetView3D(v)
+Test("pixie_05")
+DeleteAllPlots()
+
+# Test a transparent plot to see how well ghosting works when the
+# mesh gets divided up in parallel.
+DefineScalarExpression("one", "point_constant(curvemesh_33x33x65, 1.)")
+AddPlot("Pseudocolor", "one")
+pc = PseudocolorAttributes()
+pc.SetOpacityType(pc.Constant)
+pc.opacity = 0.31
+SetPlotOptions(pc)
+AddOperator("Transform")
+t = TransformAttributes()
+t.doScale = 1
+t.scaleZ = 0.25
+SetOperatorOptions(t)
+DrawPlots()
+Test("pixie_06")
+DeleteAllPlots()
+
+# test a contour plot on double precision data
+AddPlot("Contour","Car_variables/Vx")
+v = GetView3D()
+v.viewNormal = (0, 0, 1)
+v.focus = (0.484375, 0.5, 3.9375)
+v.viewUp = (0, 1, 0)
+v.viewAngle = 30
+v.parallelScale = 4.06202
+v.nearPlane = -8.12404
+v.farPlane = 8.12404
+v.imagePan = (0, 0)
+v.imageZoom = 20
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0.484375, 0.5, 3.9375)
+SetView3D(v)
+DrawPlots()
+Test("pixie_07")
+DeleteAllPlots()
+
+# test a mesh plot of a non-square, 2D, curvilinear mesh 
+OpenDatabase(data_path("pixie_test_data/pixie3d5.h5"))
+
+AddPlot("Mesh","curvemesh_65x33x2")
+AddPlot("Pseudocolor","Diagnostics/q factor")
+DrawPlots()
+v=GetView2D()
+v.windowCoords=(-0.241119, 0.241119, -0.162714, 0.162714)
+SetView2D(v)
+Test("pixie_08")
+DeleteAllPlots()
+
+# test a pseudocolor plot of a 3D curvilinear mesh
+OpenDatabase(data_path("pixie_test_data/pixie3d6.h5"))
+
+AddPlot("Mesh", "curvemesh_8x8x8")
+AddPlot("Pseudocolor","Curvilinear/temperature")
+DrawPlots()
+v = GetView3D()
+v.viewNormal = (0.465617, -0.587141, 0.662168)
+v.focus = (0.5, 1, 1.5)
+v.viewUp = (0.884708, 0.327576, -0.33164)
+v.viewAngle = 30
+v.parallelScale = 1.63698
+v.nearPlane = -3.27395
+v.farPlane = 3.27395
+v.imagePan = (0, 0)
+v.imageZoom = 0.9
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0.5, 1, 1.5)
+v.axis3DScaleFlag = 0
+v.axis3DScales = (1, 1, 1)
+v.shear = (0, 0, 1)
+v.windowValid = 1
+SetView3D(v)
+Test("pixie_09")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_plaintext.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_plaintext.html new file mode 100644 index 000000000..2030ccfb5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_plaintext.html @@ -0,0 +1,72 @@ + +Results for databases/plaintext.py + +

Results of VisIt Regression Test - databases/plaintext

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
CSV data as Curves
PlainText_Curves0.000.00
CSV data as Curves inferred X coordinate
PlainText_Curves_noX0.000.00
CSV data as 3D points with variable(s)
PlainText_Points0.000.00
CSV data as 2D array on uniform grid
PlainText_2DArray0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_plaintext_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_plaintext_py.html new file mode 100644 index 000000000..c0111c583 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_plaintext_py.html @@ -0,0 +1,234 @@ +databases/plaintext.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  plaintext.py
+#
+#  Tests:      multiple curves from a CSV file without and with implicit X
+#              2D and 3D points with variables in a CSV file
+#              An array of data as a 2D regular grid
+#
+#  Notes:
+#    - Code snippets from this file are literalinclude'd in our docs.
+#    - Test image results produced by this test are also literalinclude'd.
+#    - Input .csv files used here are also literalinclude'd.
+#    - If you ever need to change the .csv files, you can regen them using
+#      this script with 'genonly' CL arg and vanilla python (it won't make any
+#      VisIt CLI calls).
+#
+#  Mark C. Miller, Fri Mar 11 14:33:30 PST 2022
+#  Based on original code by Eric Brugger in our documentation
+# ----------------------------------------------------------------------------
+import copy, math, os, sys
+
+#
+# Example of PlainText open options dict...
+#
+# {'Data layout': '1D Columns # Options are: 1D Columns, 2D Array',
+#  'Lines to skip at beginning of file': 0,
+#  'First row has variable names': 0,
+#  'Column for X coordinate (or -1 for none)': -1,
+#  'Column for Y coordinate (or -1 for none)': -1,
+#  'Column for Z coordinate (or -1 for none)': -1}
+#
+
+#
+# Use this function with deepcopy to ensure we always start from a
+# prestine default state for open options.
+#
+def GetDefaultOpenOptions():
+    if not hasattr(GetDefaultOpenOptions, 'defaultOpenOptions'):
+        GetDefaultOpenOptions.defaultOpenOptions = copy.deepcopy(GetDefaultFileOpenOptions("PlainText"))
+    return copy.deepcopy(GetDefaultOpenOptions.defaultOpenOptions)
+
+def CreateCurvesDataFile(filename):
+
+    # Curve gen {
+    with open(filename, "wt") as f:
+        # create header
+        f.write("angle,sine,cosine\n")
+        npts = 73
+        for i in range(npts):
+            angle_deg = float(i) * (360. / float(npts-1))
+            angle_rad = angle_deg * (3.1415926535 / 180.)
+            sine = math.sin(angle_rad)
+            cosine = math.cos(angle_rad)
+            # write abscissa (x value) and ordinates (y-value(s))
+            f.write("%g,%g,%g\n" % (angle_deg, sine, cosine))
+    # Curve gen }
+
+def CreateCurvesDataFileWithNoXCoordinates(filename):
+
+    # Curve noX gen {
+    with open(filename, "wt") as f:
+        # create header
+        f.write("inverse,sqrt,quadratic\n")
+        npts = 100
+        for i in range(npts):
+            inv = float(100) / (float(i)+1)
+            sqr = 10 * math.sqrt(i)
+            quad = float(i*i) / float(100)
+            f.write("%g,%g,%g\n" % (inv, sqr, quad))
+    # Curve noX gen }
+
+def Create3DPointsWithVariablesDataFile(filename):
+
+    # Points gen {
+    with open(filename, "wt") as f:
+        # write header
+        f.write("x y z velx vely velz temp\n")
+        n = 100
+        for i in range(n):
+            t = float(i) / float(n-1)
+            angle = t * (math.pi * 2.) * 5.
+            r = t * 10.
+            x = r * math.cos(angle)
+            y = r * math.sin(angle)
+            z = t * 10.
+            vx = math.sqrt(x*x + y*y)
+            vy = math.sqrt(y*y + z*z)
+            vz = math.sqrt(x*x + z*z)
+            temp = math.sqrt((t-0.5)*(t-0.5))
+            # write point and value(s)
+            f.write("%g %g %g %g %g %g %g\n" % (x,y,z,vx,vy,vz,temp))
+    # Points gen }
+
+def Create2DArrayDataFile(filename):
+
+    # Array gen {
+    with open(filename, "wt") as f:
+        # Only the first column name matters.
+        # The others are required but otherwise ignored.
+        f.write("density c2 c3 c4 c5 c6 c7 c8\n")
+        nx = 8
+        ny = 10
+        for iy in range(ny):
+            y = float(iy)
+            for ix in range(nx):
+                x = float(ix)
+                dist = math.sqrt(x*x + y*y)
+                if (ix < nx - 1):
+                   f.write("%g " % dist)
+                else:
+                   f.write("%g\n" % dist)
+    # Array gen }
+
+def TestCSVCurves():
+    TestSection("CSV data as Curves")
+    CreateCurvesDataFile("curves.csv")
+
+    # Curve plot {
+    plainTextOpenOptions = GetDefaultOpenOptions()
+    plainTextOpenOptions['First row has variable names'] = 1
+    plainTextOpenOptions['Column for X coordinate (or -1 for none)'] = 0
+    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
+
+    OpenDatabase("curves.csv")
+    AddPlot("Curve","sine")
+    AddPlot("Curve","cosine")
+    DrawPlots()
+    # Curve plot }
+    ResetView()
+    Test("PlainText_Curves")
+    DeleteAllPlots()
+    CloseDatabase("curves.csv")
+    os.unlink("curves.csv")
+
+def TestCSVCurvesNoX():
+    TestSection("CSV data as Curves inferred X coordinate")
+    CreateCurvesDataFileWithNoXCoordinates("curves_nox.csv")
+
+    # Curve noX plot {
+    plainTextOpenOptions = GetDefaultOpenOptions()
+    plainTextOpenOptions['First row has variable names'] = 1
+    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
+
+    OpenDatabase("curves_nox.csv")
+    AddPlot("Curve","inverse")
+    AddPlot("Curve","sqrt")
+    AddPlot("Curve","quadratic")
+    DrawPlots()
+    # Curve noX plot }
+    ResetView()
+    Test("PlainText_Curves_noX")
+    DeleteAllPlots()
+    CloseDatabase("curves_nox.csv")
+    os.unlink("curves_nox.csv")
+
+def TestCSV3DPointsAndVariables():
+    TestSection("CSV data as 3D points with variable(s)")
+    Create3DPointsWithVariablesDataFile("points.txt")
+
+    # Points plot {
+    plainTextOpenOptions = GetDefaultOpenOptions()
+    plainTextOpenOptions['First row has variable names'] = 1
+    plainTextOpenOptions['Column for X coordinate (or -1 for none)'] = 0
+    plainTextOpenOptions['Column for Y coordinate (or -1 for none)'] = 1
+    plainTextOpenOptions['Column for Z coordinate (or -1 for none)'] = 2
+    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
+    OpenDatabase("points.txt")
+
+    DefineVectorExpression("vel", "{velx,vely,velz}")
+    AddPlot("Pseudocolor", "temp")
+    AddPlot("Vector","vel")
+    DrawPlots()
+    # Points plot }
+    ResetView()
+    Test("PlainText_Points")
+    DeleteAllPlots()
+    CloseDatabase("points.txt")
+    os.unlink("points.txt")
+
+def TestCSV2DArray():
+    TestSection("CSV data as 2D array on uniform grid")
+    Create2DArrayDataFile("array.txt")
+
+    # Array plot {
+    plainTextOpenOptions = GetDefaultOpenOptions()
+    plainTextOpenOptions['First row has variable names'] = 1
+    plainTextOpenOptions['Data layout'] = '2D Array'
+    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
+
+    OpenDatabase("array.txt")
+    AddPlot("Pseudocolor", "density")
+    DrawPlots()
+    ResetView()
+    # Array plot }
+    Test("PlainText_2DArray")
+    DeleteAllPlots()
+    CloseDatabase("array.txt")
+    os.unlink("array.txt")
+
+def main():
+
+    if 'genonly' in sys.argv:
+        CreateCurvesDataFile('curves.csv')
+        CreateCurvesDataFileWithNoXCoordinates('curves_nox.csv')
+        Create3DPointsWithVariablesDataFile('points.txt')
+        Create2DArrayDataFile('array.txt')
+        sys.exit(0)
+
+    #
+    # Idiom here...we can't manipulate open options until *after*
+    # mdserver is running
+    #
+    OpenMDServer("localhost")
+
+    #
+    # Make sure curve plots are without labels
+    #
+    ca = CurveAttributes()
+    ca.showLabels = 0
+    SetDefaultPlotOptions(ca)
+
+    TestCSVCurves()
+
+    TestCSVCurvesNoX()
+
+    TestCSV3DPointsAndVariables()
+
+    TestCSV2DArray()
+
+    Exit()
+
+main()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_rect.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_rect.html new file mode 100644 index 000000000..5af12e710 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_rect.html @@ -0,0 +1,93 @@ + +Results for databases/rect.py + +

Results of VisIt Regression Test - databases/rect

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Curvilinear grid files
rect_010.000.00
rect_020.000.00
rect_030.000.00
rect_040.000.00
Rectilinear grid files
rect_050.000.00
rect_060.000.00
1D Datasets re-interpreted as curves.
rect_070.000.00
rect_080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_rect_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_rect_py.html new file mode 100644 index 000000000..d16b2c301 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_rect_py.html @@ -0,0 +1,98 @@ +databases/rect.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  rect.py 
+#
+#  Tests:      rect files 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       May 15, 2008 
+#
+#  Mark C. Miller, Thu Feb 12 01:30:24 PST 2009
+#  Added test for rectilinear mesh case. Re-enabled setting of SIL restriction
+#  which was disabled due to a bug that was resolved back in May, 2008.
+#
+#  Mark C. Miller, Wed Feb 18 17:52:44 PST 2009
+#  Fixed missing AddPlot() call just prior to image 08. Changed name of 
+#  curve objects that get re-interpreted.
+#
+#  Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#  Turn off cycling of colors for all Curve plot tests.  Set the colors
+#  individually to match current baseline results.
+#
+# ----------------------------------------------------------------------------
+
+
+# test the main mesh
+TestSection("Curvilinear grid files")
+OpenDatabase(data_path("Rect_test_data/curv_data/datafile.rect"))
+
+AddPlot("Mesh","Mesh")
+DrawPlots()
+v=GetView3D()
+v.RotateAxis(1, 30.0)
+SetView3D(v)
+Test("rect_01")
+
+# test a variable
+AddPlot("Pseudocolor","pressure")
+DrawPlots()
+Test("rect_02")
+
+# test going forward in time
+TimeSliderNextState()
+Test("rect_03")
+
+# test restriction
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if silr.SetName(i) == "domain2":
+        silr.TurnOffSet(i)
+SetPlotSILRestriction(silr)
+DrawPlots()
+Test("rect_04")
+
+DeleteAllPlots()
+CloseDatabase(data_path("Rect_test_data/curv_data/datafile.rect"))
+
+
+TestSection("Rectilinear grid files")
+OpenDatabase(data_path("Rect_test_data/rect_data/datafile.rect"))
+
+AddPlot("Mesh","Mesh")
+DrawPlots()
+ResetView()
+Test("rect_05")
+
+AddPlot("Pseudocolor","myTest")
+DrawPlots()
+Test("rect_06")
+
+DeleteAllPlots()
+CloseDatabase(data_path("Rect_test_data/rect_data/datafile.rect"))
+
+
+TestSection("1D Datasets re-interpreted as curves.")
+
+
+OpenDatabase(data_path("Rect_test_data/1d/rect_data/datafile.rect"))
+
+AddPlot("Curve", "Scalar_Curves/pressure")
+c = CurveAttributes()
+c.showLabels = 0
+c.curveColorSource = c.Custom
+c.curveColor = (255, 0, 0, 255)
+SetPlotOptions(c)
+DrawPlots()
+ResetView()
+Test("rect_07")
+
+AddPlot("Curve", "Scalar_Curves/density")
+c.curveColor = (0, 255, 0, 255)
+SetPlotOptions(c)
+DrawPlots()
+TimeSliderNextState()
+Test("rect_08")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_reopen.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_reopen.html new file mode 100644 index 000000000..4bbe22c00 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_reopen.html @@ -0,0 +1,261 @@ + +Results for databases/reopen.py + +

Results of VisIt Regression Test - databases/reopen

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
reopen_1_000 modifications totalling 0 lines
reopen_1_010.000.00
reopen_1_020 modifications totalling 0 lines
Reopening virtual database
reopen_2_000.000.00
reopen_2_010 modifications totalling 0 lines
reopen_2_020.000.00
reopen_2_030 modifications totalling 0 lines
reopen_2_040.000.00
reopen_2_050 modifications totalling 0 lines
Reopening .visit file
reopen_2_060.000.00
reopen_2_070 modifications totalling 0 lines
reopen_2_080.000.00
reopen_2_090 modifications totalling 0 lines
reopen_2_100.000.00
reopen_2_110 modifications totalling 0 lines
Reopening .visit file of time-varying data
reopen_3_000.000.00
reopen_3_010 modifications totalling 0 lines
reopen_3_020.000.00
reopen_3_030 modifications totalling 0 lines
reopen_3_040.000.00
reopen_3_050 modifications totalling 0 lines
reopen_3_060.000.00
reopen_3_070 modifications totalling 0 lines
Reopening overwritten file to test engine
reopen_4_000.000.00
reopen_4_010.000.00
Testing reopen/expressions with multiple windows
reopen_5_000 modifications totalling 0 lines
reopen_5_010 modifications totalling 0 lines
Testing reopen at an invalid time state
reopen_6_000 modifications totalling 0 lines
reopen_6_010.000.00
reopen_6_020 modifications totalling 0 lines
reopen_6_030.000.00
reopen_6_040 modifications totalling 0 lines
reopen_6_050.000.00
reopen_6_060 modifications totalling 0 lines
reopen_6_070.000.00
reopen_6_080 modifications totalling 0 lines
reopen_6_090.000.00
reopen_6_100 modifications totalling 0 lines
Testing reopen on a deleted file
reopen_7_000.000.00
reopen_7_010 modifications totalling 0 lines
reopen_7_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_reopen_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_reopen_py.html new file mode 100644 index 000000000..eda167288 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_reopen_py.html @@ -0,0 +1,550 @@ +databases/reopen.py
# ----------------------------------------------------------------------------
+#  MODES: serial
+#  CLASSES: nightly
+#
+#  Test Case:  reopen.py 
+#
+#  Tests:      Reopening a database where the SIL is invariant.
+#
+#  Programmer: Hank Childs
+#  Date:       March 1, 2004
+#
+#  Modifications:
+#    Brad Whitlock, Fri Mar 19 15:09:09 PST 2004
+#    I changed one of the OpenDatabase calls to ReOpenDatabase. I also
+#    added more extensive reopen tests.
+#
+#    Brad Whitlock, Fri Apr 9 16:28:01 PST 2004
+#    I added a test that really makes sure the engine reexecuted during
+#    a reopen.
+#
+#    Jeremy Meredith, Wed Apr 28 11:42:31 PDT 2004
+#    I made the "Don't need to copy" message go to stderr.
+#
+#    Brad Whitlock, Wed Feb 2 16:27:54 PST 2005
+#    Added a test for making sure that expressions are right after reopening
+#    a database when there are multiple windows. I also added a test to 
+#    make sure that time sliders are shortened when we reopen a database
+#    that has had some of its time states removed.
+#
+#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
+#    Rename variables that have unsupported characters.
+#
+#    Brad Whitlock, Tue Feb 22 13:56:56 PST 2005
+#    Added a test case for reopening a file that has been deleted.
+#
+#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
+#    Allowed spaces in variable names.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Jeremy Meredith, Wed Jan 20 11:02:36 EST 2010
+#    Fixed some file path issues and checked for "from" file before
+#    assuming a symlink return error implied a different error message.
+#
+#    Kathleen Biagas, Fri May 26 08:31:00 MST 2017
+#    Fixed reopen_04_01 for windows to use the same file as for non-windows.
+#
+#    Kathleen Biagas, Monday October 12, 2020 
+#    Use TestEnv.params["run_dir"] instead of "." in calls to os.listdir.
+#
+# ----------------------------------------------------------------------------
+from __future__ import print_function
+import os
+import sys
+import time
+import shutil
+
+def GetTruncatedWindowInformationString():
+    # Get the window information and convert it to a string.
+    s = str(GetWindowInformation())
+    # Only use the first 5 or so lines from the string.
+    lines = s.split("\n")
+    s = ""
+    for i in range(5):
+        if(i < len(lines)):
+            s = s + lines[i]
+            s = s + "\n"
+    return s
+
+#
+# Look at the first few lines of the string representation of the
+# WindowInformation to see the list of time sliders, etc.
+#
+def TestWindowInformation(testname):
+    TestText(testname, GetTruncatedWindowInformationString())
+
+def TestLength(testname):
+    tsLength = TimeSliderGetNStates()
+    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
+    testString = testString + GetTruncatedWindowInformationString()
+    TestText(testname, testString)
+
+#
+# Returns whether all files in the list are in the run directory.
+#
+def FilesPresent(files):
+    currentFileList = os.listdir(TestEnv.params["run_dir"])
+    count = 0
+    retval = 0
+    if type(files) == type(()) or type(files) == type([]):
+        for file in files:
+            if file in currentFileList:
+                count = count + 1
+        retval = count == len(files)
+    else:
+        # We got here because the files argument was 
+        # a single value instead of a tuple or list.
+        if files in currentFileList:
+            retval = 1
+
+    return retval
+
+
+#
+# Removes all files ending in .silo or .visit from the run directory
+# to ensure that there are no such files left over from a failed test.
+#
+def RemoveAllSiloAndVisItFiles():
+    currentFileList = os.listdir(TestEnv.params["run_dir"])
+    for file in currentFileList:
+        if file[-5:] == ".silo" or file[-6:] == ".visit":
+            try:
+                os.unlink(file)
+            except:
+                # Ignore any exceptions
+                pass
+
+#
+# Function to create a .visit file or virtual database using time states
+# from wave.
+#
+def CreateMTFile(prefix, makeVisItFile, percent):
+    # Create a list of files that will be used to create the database
+    # for the test.
+    nStates = 71
+    t = float(percent) / 100.
+    maxState = int(float(nStates) * t)
+    files = []
+    prefixfiles = []
+    for i in range(maxState):
+        w = "wave%04d.silo" % (i * 10)
+        files = files + [w]
+        prefixfiles = prefixfiles + [prefix+w]
+
+    if makeVisItFile == 0:
+        # Virtual database
+        for file in files:
+            fileFrom = data_path("silo_hdf5_test_data/%s" % file)
+            fileTo   = "%s%s" % (prefix, file)
+            if not os.path.exists(fileFrom):
+                print("Error: %s didn't exist" % fileFrom, file=sys.stderr)
+            try:
+                # Copy a file from the data directory to the current directory.
+                if not sys.platform.startswith("win"):
+                    os.link(fileFrom, fileTo)
+                else:
+                    shutil.copyfile(fileFrom, fileTo)
+            except OSError:
+                print("Don't need to copy %s" % file, file=sys.stderr)
+        db = prefix + "wave*.silo database"
+    else:
+        # .visit file.
+        db = "reopen_wave.visit"
+        f = open(db, "wt")
+        for file in files:
+            f.write(data_path("silo_hdf5_test_data/%s\n" % file))
+        f.close()
+    return (db, prefixfiles)
+
+# Function to remove the .visit file or the virtual database.
+def DestroyMTFile(makeVisItFile, db):
+    RemoveAllSiloAndVisItFiles()
+
+# Function to create a new SAMRAI .visit file.
+def CreateTimeVaryingMTFile(percent):
+    # Read in the entire dumps.visit file for the SAMRAI data so that
+    # we can get the list of files.
+    f = open(data_path("samrai_test_data/sil_changes/dumps.visit"), "rt")
+    lines = f.readlines()
+    f.close()
+
+    # Create a new .visit file
+    nStates = len(lines)
+    t = float(percent) / 100.
+    maxState = int(float(nStates) * t)
+    db = "reopen_samrai.visit"
+    f = open(db, "wt")
+    for i in range(maxState):
+        f.write(data_path("samrai_test_data/sil_changes/%s") % lines[i])
+    f.close()
+    return db
+
+# Function to remove the SAMRAI .visit file.
+def DestroyTimeVaryingMTFile(db):
+    RemoveAllSiloAndVisItFiles()
+
+def SetTheView():
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.735926, 0.562657, 0.376604)
+    v0.focus = (5, 0.753448, 2.5)
+    v0.viewUp = (0.454745, 0.822858, -0.340752)
+    v0.viewAngle = 30
+    v0.parallelScale = 5.6398
+    v0.nearPlane = -11.2796
+    v0.farPlane = 11.2796
+    v0.imagePan = (0.0589778, 0.0898255)
+    v0.imageZoom = 1.32552
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    SetView3D(v0)
+
+###############################################################################
+
+#
+# Make sure that Reopen does not reset the time slider state and also make
+# sure that we are getting the metadata for a late time state.
+#
+def test1():
+    #
+    # This will open at timestep 0.  The variable "transient" will not be
+    # available then.
+    #
+    db = silo_data_path("wave.visit")
+    OpenDatabase(db)
+
+    #
+    # Now set the time to a timestep when "transient" is available.
+    #
+    SetTimeSliderState(20)
+    TestWindowInformation("reopen_1_00")
+
+    #
+    # If we were to try and make a PC plot of transient right now, it wouldn't
+    # work.  We need to do a re-open first.
+    #
+    ReOpenDatabase(db)
+
+    #
+    # Make a plot of transient. This had better not reset the time state to 0.
+    #
+    AddPlot("Pseudocolor","transient")
+    DrawPlots()
+    SetTheView()
+    Test("reopen_1_01")
+
+    #
+    # Delete the plots and close the database
+    #
+    DeleteAllPlots()
+    CloseDatabase(db)
+    TestWindowInformation("reopen_1_02")
+
+
+#
+# Now test that reopening a file actually makes the time slider longer. First
+# create a new .visit file that we can add onto later.
+#
+def test2():
+    VirtualDatabase = 0
+    VisItFile = 1
+
+    testIndex = 0
+    for method in (VirtualDatabase, VisItFile):
+        # Add a section title.
+        if(method == VirtualDatabase):
+            TestSection("Reopening virtual database")
+        else:
+            TestSection("Reopening .visit file")
+
+        db, files = CreateMTFile("", method, 30)
+        OpenDatabase(db)
+        AddPlot("Pseudocolor", "pressure")
+        DrawPlots()
+
+        # Set up the view.
+        SetTheView()
+
+        # Go to the last time state.
+        SetTimeSliderState(TimeSliderGetNStates() - 1)
+        Test("reopen_2_%02d" % testIndex)
+        TestLength("reopen_2_%02d" % (testIndex + 1))
+
+        # Create more time states in the file.
+        db, files = CreateMTFile("", method, 60)
+        ReOpenDatabase(db)
+        # Go to the last time state.
+        SetTimeSliderState(TimeSliderGetNStates() - 1)
+        Test("reopen_2_%02d" % (testIndex + 2))
+        TestLength("reopen_2_%02d" % (testIndex + 3))
+
+        # Create more time states in the file.
+        db, files = CreateMTFile("", method, 100)
+        ReOpenDatabase(db)
+        # Go to the last time state.
+        SetTimeSliderState(TimeSliderGetNStates() - 1)
+        Test("reopen_2_%02d" % (testIndex + 4))
+        TestLength("reopen_2_%02d" % (testIndex + 5))
+
+        # Get rid of the .visit file that we created.
+        DestroyMTFile(method, db)
+        DeleteAllPlots()
+        CloseDatabase(db)
+
+        # Get to the next testIndex
+        testIndex = testIndex + 6
+
+
+#
+# Now that we've tested time-invariant databases, try testing reopen with
+# a time-varying database to see if we get the right plots.
+#
+def test3():
+    TestSection("Reopening .visit file of time-varying data")
+
+    testIndex = 0
+    for percent in (30,60,100):
+        db = CreateTimeVaryingMTFile(percent)
+        if(percent == 30):
+            OpenDatabase(db)
+            AddPlot("Pseudocolor", "Primitive Var _number_0")
+            DrawPlots()
+
+            # Set the view
+            v0 = View3DAttributes()
+            v0.viewNormal = (-0.598154, 0.519575, -0.610127)
+            v0.focus = (15, 10, 10)
+            v0.viewUp = (0.418052, 0.851849, 0.315574)
+            v0.viewAngle = 30
+            v0.parallelScale = 20.6155
+            v0.nearPlane = -41.2311
+            v0.farPlane = 41.2311
+            v0.imagePan = (0.0200698, 0.0374771)
+            v0.imageZoom = 1
+            v0.perspective = 1
+            v0.eyeAngle = 2
+            SetView3D(v0)
+
+            # Save a test
+            Test("reopen_3_%02d" % testIndex)
+            testIndex = testIndex + 1
+            TestLength("reopen_3_%02d" % testIndex)
+            testIndex = testIndex + 1
+
+        else:
+            # Reopen the database to add the new time states.
+            ReOpenDatabase(db)
+
+        # Go to the last time state.
+        SetTimeSliderState(TimeSliderGetNStates() - 1)
+
+        # Save a test
+        Test("reopen_3_%02d" % testIndex)
+        testIndex = testIndex + 1
+        TestLength("reopen_3_%02d" % testIndex)
+        testIndex = testIndex + 1
+
+    # Clean up the time varying .visit file.
+    DeleteAllPlots()
+    CloseDatabase(db)
+    DestroyTimeVaryingMTFile(db)
+
+#
+# Test that reopening a file that has been overwritten works.
+#
+def test4():
+    TestSection("Reopening overwritten file to test engine")
+
+    # Copy curv2d to the current directory.
+    db = "test4.silo"
+    if not sys.platform.startswith("win"):
+        os.link(silo_data_path("curv2d.silo") , db)
+    else:
+        shutil.copyfile(silo_data_path("curv2d.silo") , db)
+
+    # Open up the file and create a plot.
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    Test("reopen_4_00")
+
+    # Delete the file
+    try:
+        os.unlink(db)
+    except:
+        # Ignore any exceptions
+        pass
+
+    if not sys.platform.startswith("win"):
+        os.link(silo_data_path("rect2d.silo") , db)
+    else:
+        shutil.copyfile(silo_data_path("rect2d.silo") , db)
+
+    ReOpenDatabase(db)
+    ResetView()
+    Test("reopen_4_01")
+
+    DeleteAllPlots()
+    # Delete the file
+    try:
+        os.unlink(db)
+    except:
+        # Ignore any exceptions
+        pass
+
+
+#
+# Test that expressions are not lost after reopening a file when there
+# are multiple windows.
+#
+def test5():
+    TestSection("Testing reopen/expressions with multiple windows")
+    db = silo_data_path("curv3d.silo")
+    AddWindow()
+    SetActiveWindow(1)
+    OpenDatabase(db)
+    TestExpressions("reopen_5_00")
+
+    # See if the expressions are right after reopening.
+    ReOpenDatabase(db)
+    TestExpressions("reopen_5_01")
+
+    # Delete the window that we added.
+    SetActiveWindow(2)
+    DeleteWindow()
+    CloseDatabase(db)
+
+#
+# Test that time sliders are shortened when we reopen an MT database
+# that has had time states removed.
+#
+def test6():
+    TestSection("Testing reopen at an invalid time state")
+    RemoveAllSiloAndVisItFiles()
+
+    # Make sure that there is no open database.
+    TestLength("reopen_6_00")
+
+    # Create a short MT file.
+    db, files = CreateMTFile("", 0, (10. / 71.) * 100.)
+
+    # Create a plot and make sure its database has the right number
+    # of time states.
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+    ResetView()
+    Test("reopen_6_01")
+    TestLength("reopen_6_02")
+
+    # Make a copy of the first window.
+    CloneWindow()
+    DrawPlots()
+    Test("reopen_6_03")
+    TestLength("reopen_6_04")
+    SetActiveWindow(1)
+
+    # Delete the last few time states
+    nStates = len(files)
+    for f in files[-5:]:
+        try:
+            os.unlink(f)
+        except:
+            print("Could not delete %s" % f, file=sys.stderr)
+
+    # Change to a time state that we deleted. This should put the plot
+    # in the error state and we should get an error message.
+    SetTimeSliderState(nStates - 2)
+    Test("reopen_6_05")
+    TestText("reopen_6_06", GetLastError())
+
+    # Do the same thing in window 2 so we can check leter if reopen
+    # causes the time slider, etc to be corrected.
+    SetActiveWindow(2)
+    SetTimeSliderState(nStates - 2)
+    SetActiveWindow(1)
+
+    # Reopen the database. This should pick up that the database has
+    # fewer time states and should update the time slider so it is
+    # in bounds. The compute engine also should not crash.
+    ReOpenDatabase(db)
+    DrawPlots()
+    Test("reopen_6_07")
+    TestLength("reopen_6_08")
+
+    # See if we're at the right time state in window 2 too.
+    SetActiveWindow(2)
+    DrawPlots()
+    Test("reopen_6_09")
+    TestLength("reopen_6_10")
+    DeleteWindow()
+
+    # Delete all of the plots in window 1 and close the database.
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+    # Delete the last few files.
+    DestroyMTFile(0, db)
+
+
+#
+# Test reopening a database that has been removed from disk.
+#
+def test7():
+    TestSection("Testing reopen on a deleted file")
+    # Link a file from the data directory to the current directory.
+    db = "reopen_globe.silo"
+    if not sys.platform.startswith("win"):
+        os.link(silo_data_path("globe.silo") , db)
+    else:
+        shutil.copyfile(silo_data_path("globe.silo") , db)
+
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "t")
+    DrawPlots()
+    Test("reopen_7_00")
+
+    # Remove the file and make sure that we can't reopen it.
+    RemoveAllSiloAndVisItFiles()
+    if ReOpenDatabase(db):
+        s = "VisIt was able to reopen " + db
+    else:
+        s = "VisIt was *NOT* able to reopen " + db + "!"
+    TestText("reopen_7_01", s)
+
+    # Do something that will make the plot be regenerated. Here we're changing
+    # plot variables to force VisIt to recalculate the plot.
+    ChangeActivePlotsVar("u")
+    Test("reopen_7_02")
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+
+#
+# Run the tests
+#
+try:
+    # Remove all .silo and .visit files that could be left over from
+    # previous failed runs.
+    RemoveAllSiloAndVisItFiles()
+
+    # Run the tests
+    test1()
+    test2()
+    test3()
+    test4()
+    test5()
+    test6()
+    test7()
+except:
+    # If we got any kind of exception, make sure that we get rid of
+    # all of the .silo and .visit files that might be left.
+    RemoveAllSiloAndVisItFiles()
+
+    # Rethrow the exception so the test won't look like it passed if
+    # it really didn't pass
+    raise
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_sami.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_sami.html new file mode 100644 index 000000000..d187fad77 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_sami.html @@ -0,0 +1,78 @@ + +Results for databases/sami.py + +

Results of VisIt Regression Test - databases/sami

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
sami_010.000.00
sami_020.000.00
sami_030.000.00
sami_040.000.00
sami_050.000.00
sami_060.000.00
sami_070.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_sami_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_sami_py.html new file mode 100644 index 000000000..b764ddf46 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_sami_py.html @@ -0,0 +1,80 @@ +databases/sami.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  sami.py 
+#
+#  Tests:      sami files 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       October 12, 2006 
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("SAMI")
+
+# test the main mesh
+OpenDatabase(data_path("sami_test_data/bdw.sami"))
+
+AddPlot("Mesh","mesh")
+DrawPlots()
+v=GetView3D()
+v.viewNormal = (0.433013, 0.5, -0.75)
+v.viewUp = (-0.25, 0.866025, 0.433013)
+SetView3D(v)
+Test("sami_01")
+
+# test the material object
+AddPlot("FilledBoundary","mat")
+DrawPlots()
+Test("sami_02")
+DeleteAllPlots()
+
+# test a node set
+AddPlot("Mesh","nodesets/sl5m")
+DrawPlots()
+Test("sami_03")
+DeleteAllPlots()
+
+# test a couple of slide plots
+AddPlot("Mesh","slide_0/sideB")
+AddPlot("Mesh","slide_1/sideB")
+AddPlot("Mesh","slide_2/sideA")
+AddPlot("Mesh","slide_3/sideA")
+DrawPlots()
+Test("sami_04")
+DeleteAllPlots()
+
+# test a multi-part sami file
+OpenDatabase(data_path("sami_test_data/sample_sami.visit"))
+
+AddPlot("Pseudocolor","global_node_numbers")
+DrawPlots()
+ResetView()
+v=GetView3D()
+v.viewNormal = (-0.866025, 0, -0.5)
+v.viewUp = (0, 1, 0)
+SetView3D(v)
+Test("sami_05")
+DeleteAllPlots()
+
+AddPlot("Mesh","mesh")
+AddPlot("FilledBoundary","mat")
+DrawPlots()
+Test("sami_06")
+
+# turn off material 2 and domain 0
+mat2SetId = -1
+dom0SetId = -1
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if silr.SetName(i) == "002":
+        mat2SetId = i
+    if silr.SetName(i) == "domain0":
+        dom0SetId = i
+silr.TurnOffSet(mat2SetId)
+silr.TurnOffSet(dom0SetId)
+SetPlotSILRestriction(silr)
+DrawPlots()
+Test("sami_07")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_samrai.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_samrai.html new file mode 100644 index 000000000..70904fbe8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_samrai.html @@ -0,0 +1,294 @@ + +Results for databases/samrai.py + +

Results of VisIt Regression Test - databases/samrai

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
samrai_010.000.00
samrai_020.000.00
samrai_030.000.00
samrai_040.000.00
samrai_050.000.00
samrai_060.000.00
samrai_070.000.00
samrai_080.000.00
samrai_090.000.00
samrai_100.000.00
samrai_110.000.00
samrai_120.000.00
samrai_130.000.00
samrai_140.000.00
samrai_150.000.00
samrai_160.000.00
samrai_170.000.00
samrai_180.000.00
samrai_190.000.00
samrai_200.000.00
samrai_copper_matvf_010.000.00
samrai_copper_matvf_020.000.00
samrai_copper_matvf_030.000.00
samrai_copper_matvf_040.000.00
samrai_gold_val4mat_010.000.00
samrai_gold_val4mat_020.000.00
samrai_gold_val4mat_030.000.00
samrai_gold_val4mat_040.000.00
samrai_210.000.00
samrai_220.000.00
samrai_230.000.00
samrai_240.000.00
samrai_250.000.00
samrai_260.000.00
samrai_270 modifications totalling 0 lines
samrai_280.000.00
samrai_290 modifications totalling 0 lines
samrai_300.000.00
samrai_310 modifications totalling 0 lines
samrai_330.000.00
samrai_340.000.00
samrai_350.000.00
samrai_360.000.00
samrai_370.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_samrai_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_samrai_py.html new file mode 100644 index 000000000..56f021844 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_samrai_py.html @@ -0,0 +1,413 @@ +databases/samrai.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  samrai.py 
+#
+#  Tests:      presence of HDF5
+#              default plot 
+#              sil changing with time
+#              nested ghosting
+#              zbuffer contention
+#              2d ale data
+#              operators - slice
+#              selection - by level
+#
+#  Programmer: Mark C. Miller 
+#  Date:       November 12, 2003 
+#
+#  Modifications:
+#    Brad Whitlock, Thu Mar 25 14:05:32 PST 2004
+#    Added a check to see if plots at later time steps get the right metadata.
+#
+#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
+#    Set the vector origin explicitly for some cases because I changed the
+#    default to Tail.
+#
+#    Mark C. Miller, Thu Aug 19 16:22:49 PDT 2004
+#    Turned off database info flag so future changes to samrai db plugin
+#    are less likely to result in a need to update the baselines
+#
+#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
+#    Rename variables that have unsupported characters.
+#
+#    Mark C. Miller, Thu Feb 17 09:00:41 PST 2005
+#    Added tests for variables defined on only some patches
+#
+#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
+#    Removed deprecated functions.
+#
+#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
+#    Allowed spaces in variable names.
+#
+#    Mark C. Miller, Mon Nov  5 20:15:05 PST 2007
+#    Added tests for sparse materials, expressions
+#
+#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
+#    Changed number of vectors in vector plot to match the old behavior.
+#    (We now account for how many domains there are.)
+#
+#    Brad Whitlock, Thu Feb 4 10:18:23 PDT 2010
+#    Turn off sets by name instead of index since that can change.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use Subset plot for levels instead of FilledBoundary.
+#
+# ----------------------------------------------------------------------------
+
+LevelZero = 4 # set id for level 0
+
+# Turn off sets by name
+def TurnOffSetsByName(silr, cat, names):
+    sets = silr.SetsInCategory(cat)
+    for s in sets:
+        setname = silr.SetName(s)
+        try:
+            if setname in names:
+                silr.TurnOffSet(s)
+        except:
+            if setname == names:
+                silr.TurnOffSet(s)
+
+OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
+
+
+#
+# just tests that default plot comes up automatically 
+#
+Test("samrai_01")
+
+#
+# test exterenal face overlap
+#
+AddPlot("Pseudocolor","Primitive Var _number_0")
+DrawPlots()
+
+v=GetView3D()
+v.viewNormal=(0,0,-1)
+SetView3D(v)
+Test("samrai_02")
+
+v.viewNormal=(0.34202, 0, -0.939693)
+SetView3D(v)
+Test("samrai_03")
+
+#
+# test level selection
+#
+silr=SILRestriction()
+silr.TurnOffSet(LevelZero)
+SetPlotSILRestriction(silr)
+v.viewNormal=(0,0,1)
+SetView3D(v)
+Test("samrai_04")
+
+#
+# test changing time steps (and sil)
+#
+TimeSliderNextState()
+Test("samrai_05")
+
+# go back to begnning of time
+SetTimeSliderState(0)
+
+#
+# turn on level 0 so we can check that
+# nested ghosting is working correctly when we slice
+#
+silr.TurnOnSet(LevelZero)
+SetPlotSILRestriction(silr)
+
+#
+# this test is here to remind us we have many internal faces 
+#
+v.viewNormal=(-0.537631, 0.372794, -0.756292)
+v.focus=(15, 10, 10)
+v.viewUp=(0.262569, 0.926375, 0.269976)
+v.parallelScale=30
+v.nearPlane=-10
+v.farPlane=90
+SetView3D(v)
+Test("samrai_06")
+
+#
+# add a mesh plot and slice operator
+#
+AddPlot("Mesh","amr_mesh")
+sliceAtts=SliceAttributes()
+sliceAtts.originType=sliceAtts.Percent
+sliceAtts.originPercent=20
+sliceAtts.axisType=sliceAtts.ZAxis
+sliceAtts.project2d=1
+SetDefaultOperatorOptions(sliceAtts)
+AddOperator("Slice",1)
+DrawPlots()
+Test("samrai_07")
+
+#
+# Animate forward 1 frame
+#
+TimeSliderNextState()
+Test("samrai_08")
+
+#
+# Now, go back 1 frame
+#
+SetTimeSliderState(0)
+Test("samrai_09")
+
+#
+# Tests for data from a 2d ale calculation.
+#
+DeleteAllPlots()
+
+OpenDatabase(data_path("samrai_test_data/ale2d/dumps.visit"))
+
+ResetView()
+
+#
+# Test the default plot.
+#
+Test("samrai_10")
+
+#
+# Check the last frame.
+#
+TimeSliderNextState()
+Test("samrai_11")
+
+#
+# Test a vector plot.
+#
+AddPlot("Vector", "Velocity")
+vectorAtts=VectorAttributes()
+vectorAtts.scale = 0.02
+vectorAtts.vectorOrigin = vectorAtts.Middle
+vectorAtts.nVectors = 400*47
+SetPlotOptions(vectorAtts)
+DrawPlots()
+
+v = View2DAttributes()
+v.windowCoords = (0.31, 0.58, 0.15, 0.36)
+SetView2D(v)
+Test("samrai_12")
+
+#
+# Tests for material/species data 
+#
+DeleteAllPlots()
+
+OpenDatabase(data_path("samrai_test_data/mats-par3/dumps.visit"))
+
+ResetView()
+
+#
+# test a material plot
+#
+AddPlot("FilledBoundary","materials")
+DrawPlots()
+Test("samrai_13")
+
+#
+# test material plot with some patches off
+#
+silr=SILRestriction()
+TurnOffSetsByName(silr, "patches", ("level0,patch0", "level0,patch1","level0,patch2","level0,patch3"))
+SetPlotSILRestriction(silr)
+Test("samrai_14")
+
+#
+# now, turn off a material, too
+#
+silr.TurnOnAll()
+TurnOffSetsByName(silr, "materials", "Copper")
+SetPlotSILRestriction(silr)
+Test("samrai_15")
+
+silr.TurnOnAll()
+SetPlotSILRestriction(silr)
+DeleteAllPlots()
+
+#
+# add a species plot
+#
+AddPlot("Pseudocolor","species")
+DrawPlots()
+
+#
+# Selectively turn off each species
+#
+silr.TurnOffSet(24)
+SetPlotSILRestriction(silr)
+Test("samrai_16")
+
+silr.TurnOffSet(25)
+SetPlotSILRestriction(silr)
+Test("samrai_17")
+
+silr.TurnOffSet(26)
+SetPlotSILRestriction(silr)
+Test("samrai_18")
+
+silr.TurnOffSet(27)
+SetPlotSILRestriction(silr)
+Test("samrai_19")
+
+silr.TurnOffSet(28)
+SetPlotSILRestriction(silr)
+Test("samrai_20")
+
+DeleteAllPlots()
+
+# test matvf exprs
+DefineScalarExpression("copper_vf",'matvf(materials,"Copper")')
+AddPlot("Pseudocolor","copper_vf")
+DrawPlots()
+patts = PseudocolorAttributes()
+Test("samrai_copper_matvf_01")
+patts.centering = patts.Nodal  # Natural, Nodal, Zonal
+SetPlotOptions(patts)
+Test("samrai_copper_matvf_02")
+patts.centering = patts.Zonal # Natural, Nodal, Zonal
+SetPlotOptions(patts)
+Test("samrai_copper_matvf_03")
+patts.centering = patts.Natural # Natural, Nodal, Zonal
+SetPlotOptions(patts)
+Test("samrai_copper_matvf_04")
+
+DeleteAllPlots()
+
+DefineScalarExpression("gold_den",'val4mat(Density,"Gold")')
+AddPlot("Pseudocolor","gold_den")
+DrawPlots()
+patts = PseudocolorAttributes()
+Test("samrai_gold_val4mat_01")
+patts.centering = patts.Nodal  # Natural, Nodal, Zonal
+SetPlotOptions(patts)
+Test("samrai_gold_val4mat_02")
+patts.centering = patts.Zonal # Natural, Nodal, Zonal
+SetPlotOptions(patts)
+Test("samrai_gold_val4mat_03")
+patts.centering = patts.Natural # Natural, Nodal, Zonal
+SetPlotOptions(patts)
+Test("samrai_gold_val4mat_04")
+
+DeleteAllPlots()
+
+#
+# Open a new database that has levels that change over time so we can test
+# that plots get the right metadata and SIL as time advances.
+#
+OpenDatabase(data_path("samrai_test_data/front/dumps.visit"))
+
+# Get rid of the default plot
+DeleteAllPlots()
+AddPlot("Subset", "levels")
+DrawPlots()
+ResetView()
+Test("samrai_21")
+
+# Go to the next time state. This used to cause an InvalidIndexException.
+TimeSliderNextState()
+Test("samrai_22")
+
+#
+# Test a database where some variables are not defined on all patches
+#
+DeleteAllPlots()
+OpenDatabase(data_path("samrai_test_data/viz_2d/dumps.visit"))
+
+AddPlot("Pseudocolor", "Function_0") # only defined on some patches
+AddPlot("Pseudocolor", "Function_1") # only defined on some other patches
+DrawPlots()
+Test("samrai_23")
+
+#
+# Test a samrai database with sparse material representation
+#
+DeleteAllPlots()
+OpenDatabase(data_path("samrai_test_data/sparse_mats/summary.samrai"))
+
+AddPlot("Pseudocolor", "energy")
+DrawPlots()
+Test("samrai_24")
+
+#
+#  Zoom into a region where there is mixing
+#
+v=GetView2D()
+v.windowCoords=(-0.296975, -0.223086, 0.0437891, 0.120943)
+SetView2D(v)
+DrawPlots()
+Test("samrai_25")
+
+#
+# Turn off different materials and see what we get for the PC plot
+# and zone picks
+#
+silr = SILRestriction()
+j = 0
+for k1 in silr.SetsInCategory("materials"):
+    i = 1
+    for k2 in silr.SetsInCategory("materials"):
+        if silr.SetName(k2) == "material_%d"%(j+1):
+            silr.TurnOffSet(k2)
+        else:
+            silr.TurnOnSet(k2)
+        i = i + 1
+    SetPlotSILRestriction(silr)
+    DrawPlots()
+    Test("samrai_%d"%(26+2*j))
+    PickByZone(247,15)
+    TestText("samrai_%d"%(26+2*j+1),GetPickOutput())
+    j = j + 1
+
+#
+# Test some expressions from the samrai database 
+#
+silr.TurnOnAll()
+SetPlotSILRestriction(silr)
+DeleteAllPlots()
+AddPlot("Pseudocolor","von_mises_stress")
+DrawPlots()
+Test("samrai_33")
+DeleteAllPlots()
+AddPlot("Pseudocolor","speed")
+DrawPlots()
+Test("samrai_34")
+
+
+DeleteAllPlots()
+CloseDatabase(data_path("samrai_test_data/sparse_mats/summary.samrai"))
+OpenDatabase(data_path("samrai_test_data/curv_bnd_ghost/dumps.visit"))
+s = GetPlotOptions()
+s.colorType = s.ColorBySingleColor
+s.singleColor = (100,100,100,255)
+SetPlotOptions(s)
+AddPlot("Pseudocolor","Y_01")
+DrawPlots()
+Test("samrai_35")
+
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if silr.SetName(i) == "level0,patch7":
+        silr.TurnOffSet(i)
+        break
+SetPlotSILRestriction(silr)
+Test("samrai_36")
+
+DeleteAllPlots()
+CloseDatabase(data_path("samrai_test_data/curv_bnd_ghost/dumps.visit"))
+OpenDatabase(data_path("samrai_test_data/matghosts_fullzonal/dumps.visit"))
+s = GetPlotOptions()
+s.colorType = s.ColorBySingleColor
+s.singleColor = (100,100,100,255)
+SetPlotOptions(s)
+AddPlot("FilledBoundary", "materials")
+DrawPlots()
+silr = SILRestriction()
+silr.TurnOffSet(30)
+SetPlotSILRestriction(silr)
+Test("samrai_37")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_scale_mesh.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_scale_mesh.html new file mode 100644 index 000000000..41400f0f1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_scale_mesh.html @@ -0,0 +1,42 @@ + +Results for databases/scale_mesh.py + +

Results of VisIt Regression Test - databases/scale_mesh

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
scale_mesh010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_scale_mesh_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_scale_mesh_py.html new file mode 100644 index 000000000..d9d63f431 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_scale_mesh_py.html @@ -0,0 +1,28 @@ +databases/scale_mesh.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  scale_mesh.py
+#
+#  Purpose:    Tests whether or not we try to scale a mesh when only one
+#              of its dimensions are out of whack (we shouldn't).
+#
+#  Programmer: Hank Childs
+#  Date:       April 22, 2004
+#
+# ----------------------------------------------------------------------------
+
+
+# Create a Pseudocolor plot of wave by opening it up at a late time state.
+OpenDatabase(data_path("vtk_test_data/near_planar.vtk"))
+
+AddPlot("Pseudocolor", "hardyglobal")
+DrawPlots()
+
+# Set the view.
+v0 = GetView3D()
+v0.viewNormal = (-0.661743, 0.517608, 0.542382)
+SetView3D(v0)
+Test("scale_mesh01")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_shapefile.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_shapefile.html new file mode 100644 index 000000000..ac3120f10 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_shapefile.html @@ -0,0 +1,183 @@ + +Results for databases/shapefile.py + +

Results of VisIt Regression Test - databases/shapefile

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Test reading a shapefile that contains points
shapefile_0_000.000.00
shapefile_0_010.000.00
shapefile_0_020.000.00
shapefile_0_030.000.00
Test reading a shapefile that contains polylines
shapefile_1_000.000.00
shapefile_1_010.000.00
shapefile_1_020.000.00
Test reading shapefiles that contain polygons
shapefile_2_000.000.00
shapefile_2_010.000.00
shapefile_2_020.000.00
shapefile_2_030.000.00
shapefile_2_040.000.00
shapefile_2_050.000.00
shapefile_2_060.000.00
shapefile_2_070.000.00
Test multiple files for showing different features
shapefile_3_000.000.00
shapefile_3_010.000.00
shapefile_3_020.000.00
Test a .visit file of shapefiles
shapefile_4_000.000.00
shapefile_4_010.000.00
shapefile_4_020.000.00
shapefile_4_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_shapefile_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_shapefile_py.html new file mode 100644 index 000000000..e04979617 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_shapefile_py.html @@ -0,0 +1,236 @@ +databases/shapefile.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  shapefile.py
+#
+#  Tests:      mesh      - 2D polydata, single domain
+#              plots     - Pseudocolor, Mesh, Subset
+#
+#  Programmer: Brad Whitlock
+#  Date:       Mon Mar 28 11:06:05 PDT 2005
+#
+#  Modifications:
+#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
+#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
+#
+# ----------------------------------------------------------------------------
+
+#
+# Test a file that contains points.
+#
+def test0():
+    TestSection("Test reading a shapefile that contains points")
+
+    db = data_path("shapefile_test_data/m195mbsp/m195mbsp.shp")
+    OpenDatabase(db)
+    AddPlot("Mesh", "point")
+    m = MeshAttributes()
+    m.pointType = m.Box
+    m.pointSize = 2000
+    SetPlotOptions(m)
+    DrawPlots()
+    Test("shapefile_0_00")
+
+    DeleteActivePlots()
+    AddPlot("Pseudocolor", "DEPTH_M")
+    p = PseudocolorAttributes()
+    p.pointType = p.Point # hack -- remove this someday
+    p.pointSizePixels = 5
+    SetPlotOptions(p)
+    DrawPlots()
+    Test("shapefile_0_01")
+
+    ChangeActivePlotsVar("LONGITUDE8")
+    Test("shapefile_0_02")
+    ChangeActivePlotsVar("LATITUDE83")
+    Test("shapefile_0_03")
+    DeleteActivePlots()
+    CloseDatabase(db)
+
+#
+# Test a file that contains polylines.
+#
+def test1():
+    TestSection("Test reading a shapefile that contains polylines")
+    db = data_path("shapefile_test_data/morrison/499071-HP.shp")
+    OpenDatabase(db)
+    AddPlot("Mesh", "polyline")
+    DrawPlots()
+    Test("shapefile_1_00")
+
+    DeleteActivePlots()
+    AddPlot("Pseudocolor", "TPMAJOR_2")
+    DrawPlots()
+    Test("shapefile_1_01")
+
+    ChangeActivePlotsVar("RWE_INDEX")
+    Test("shapefile_1_02")
+
+    DeleteActivePlots()
+    CloseDatabase(db)
+
+#
+# Test a file that has polygons.
+#
+def test2():
+    TestSection("Test reading shapefiles that contain polygons")
+    db = data_path("shapefile_test_data/west/states.shp")
+    OpenDatabase(db)
+    AddPlot("Mesh", "polygon")
+    DrawPlots()
+    ResetView()
+    Test("shapefile_2_00")
+
+    DeleteActivePlots()
+    AddPlot("Pseudocolor", "AVG_SALE87")
+    DrawPlots()
+    Test("shapefile_2_01")
+
+    ChangeActivePlotsVar("MEDIANRENT")
+    Test("shapefile_2_02")
+    DeleteActivePlots()
+    CloseDatabase(db)
+
+    # Look at another file.
+    db = data_path("shapefile_test_data/prism0p020/prism0p020.shp")
+    OpenDatabase(db)
+    AddPlot("Mesh", "polygon")
+    DrawPlots()
+    Test("shapefile_2_03")
+
+    DeleteActivePlots()
+    AddPlot("Pseudocolor", "RANGE")
+    DrawPlots()
+    Test("shapefile_2_04")
+
+    # Zoom in on some interesting areas
+    v = View2DAttributes()
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.windowCoords = (-124.76, -118.94, 43.9999, 49.3856)
+    SetView2D(v)
+    Test("shapefile_2_05")
+
+    v.windowCoords = (-78.596, -74.3052, 36.34, 40.2596)
+    SetView2D(v)
+    Test("shapefile_2_06")
+
+    v.windowCoords = (-83.2497, -79.3216, 24.3312, 29.1338)
+    SetView2D(v)
+    Test("shapefile_2_07")
+    ResetView()
+    DeleteActivePlots()
+    CloseDatabase(db)
+
+#
+# Test multiple plots showing different features.
+#
+def test3():
+    TestSection("Test multiple files for showing different features")
+    dbs = (data_path("shapefile_test_data/alameda/tgr06001lkA.shp"),
+           data_path("shapefile_test_data/alameda/tgr06001cty00.shp"),
+           data_path("shapefile_test_data/alameda/tgr06001wat.shp"),
+           data_path("shapefile_test_data/alameda/tgr06001lkH.shp"))
+    # Put the roads on.
+    OpenDatabase(dbs[0])
+    AddPlot("Mesh", "polyline")
+    g = 180
+    m = MeshAttributes()
+    m.meshColorSource = m.MeshCustom
+    m.meshColor = (g,g,g,255)
+    m.legendFlag = 0
+    SetPlotOptions(m)
+    ResetView()
+    DrawPlots()
+
+    # Put the county outline on.
+    OpenDatabase(dbs[1])
+    AddPlot("Mesh", "polygon")
+    m = MeshAttributes()
+    m.meshColorSource = m.MeshCustom
+    m.meshColor = (255,0,0,255)
+    m.lineWidth = 1
+    m.legendFlag = 0
+    SetPlotOptions(m)
+    DrawPlots()
+
+    # Put the bodies of water on.
+    OpenDatabase(dbs[2])
+    AddPlot("Mesh", "polygon")
+    m = MeshAttributes()
+    m.meshColorSource = m.MeshCustom
+    m.meshColor = (0,0,255,255)
+    m.lineWidth = 1
+    m.legendFlag = 0
+    SetPlotOptions(m)
+    DrawPlots()
+
+    # Put the streams on.
+    OpenDatabase(dbs[3])
+    AddPlot("Mesh", "polyline")
+    m = MeshAttributes()
+    m.meshColorSource = m.MeshCustom
+    m.meshColor = (150,150,255,255)
+    m.legendFlag = 0
+    SetPlotOptions(m)
+    DrawPlots()
+
+    Test("shapefile_3_00")
+
+    # Zoom in some
+    v = View2DAttributes()
+    v.windowCoords = (-121.845, -121.681, 37.608, 37.775)
+    SetView2D(v)
+    Test("shapefile_3_01")
+
+    # Zoom in even more
+    v.windowCoords = (-121.763, -121.718, 37.6533, 37.6983)
+    SetView2D(v)
+    Test("shapefile_3_02")
+
+    # Clean up
+    DeleteAllPlots()
+    for db in dbs:
+        CloseDatabase(db)
+
+#
+# Test a .visit file of shapefiles
+#
+def test4():
+    TestSection("Test a .visit file of shapefiles")
+    db = data_path("shapefile_test_data/bayarearoads/roads.visit")
+    OpenDatabase(db)
+    AddPlot("Subset", "blocks")
+    DrawPlots()
+    ResetView()
+    Test("shapefile_4_00")
+
+    # Zoom in a little
+    v = View2DAttributes()
+    v.windowCoords = (-122.614, -121.92, 37.3495, 37.9982)
+    SetView2D(v)
+    Test("shapefile_4_01")
+
+    # Zoom in more
+    v.windowCoords = (-122.522, -122.362, 37.7017, 37.8424)
+    SetView2D(v)
+    Test("shapefile_4_02")
+
+    # Zoom in more still
+    v.windowCoords = (-122.488, -122.445, 37.7816, 37.825)
+    SetView2D(v)
+    Test("shapefile_4_03")
+
+    DeleteActivePlots()
+    CloseDatabase(db)
+
+#
+# Run the tests.
+#
+test0()
+test1()
+test2()
+test3()
+test4()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_silo.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo.html new file mode 100644 index 000000000..34a975d6c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo.html @@ -0,0 +1,705 @@ + +Results for databases/silo.py + +

Results of VisIt Regression Test - databases/silo

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
silo_010.000.00
silo_020.000.00
silo_030.000.00
silo_040.000.00
silo_050.000.00
silo_060.000.00
silo_070.000.00
silo_080.000.00
silo_090.000.00
silo_100.000.00
silo_110.000.00
silo_120.000.00
silo_130.000.00
silo_140.000.00
silo_150.000.00
silo_160.000.00
silo_170.000.00
silo_180.000.00
silo_200.000.00
silo_210.000.00
silo_220.000.00
silo_230.000.00
silo_240.000.00
silo_250.000.00
silo_260.000.00
silo_270.000.00
silo_280.000.00
silo_290 modifications totalling 0 lines
silo_300.000.00
silo_310.000.00
silo_320.000.00
silo_330.000.00
silo_340.000.00
silo_350.000.00
silo_360.000.00
silo_370.000.00
silo_380.000.00
silo_390.000.00
Silo AMR w/Mrgtrees
silo_400.000.00
silo_410.000.00
silo_420.000.00
silo_430.000.00
silo_440.000.00
silo_450.000.00
Variables defined on material subsets
silo_460.000.00
silo_470.000.00
silo_480.000.00
silo_490.000.00
silo_500.000.00
Various arbitrary polygonal/polyhedral meshes
silo_510.000.00
silo_520.000.00
silo_530.000.00
silo_540.000.00
silo_550.000.00
silo_560.000.00
silo_570.000.00
silo_580.000.00
silo_590.000.00
silo_600.000.00
silo_610.000.00
silo_620.000.00
silo_630.000.00
silo_640.000.00
silo_650.000.00
silo_660.000.00
silo_670.000.00
silo_680.000.00
silo_690.000.00
silo_700.000.00
silo_710.000.00
silo_720.000.00
silo_730.000.00
silo_740.000.00
silo_750.000.00
silo_760.000.00
silo_770.000.00
silo_780.000.00
silo_790.000.00
silo_800.000.00
silo_810.000.00
silo_820.000.00
silo_830.000.00
silo_840.000.00
silo_850.000.00
silo_860.000.00
silo_870.000.00
silo_880.000.00
silo_890.000.00
silo_900.000.00
silo_910.000.00
silo_920.000.00
silo_930.000.00
silo_940.000.00
silo_950.000.00
Scalar and Vector ASCII Label Plots
silo_960.000.00
silo_970.000.00
Curve with polar coordinates
silo_980.000.00
ghost_zone/node_labels
silo_990.000.00
silo_1000.000.00
silo_1010.000.00
silo_1020.000.00
Curvilinear (quad) surfaces in 3D
silo_curvilinear_3d_surface_00.000.00
silo_curvilinear_3d_surface_10.000.00
silo_curvilinear_3d_surface_20.000.00
silo_curvilinear_3d_surface_30.000.00
silo_curvilinear_3d_surface_40.000.00
silo_curvilinear_3d_surface_50.000.00
silo_curvilinear_3d_surface_60.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_altdriver.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_altdriver.html new file mode 100644 index 000000000..2390d6258 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_altdriver.html @@ -0,0 +1,703 @@ + +Results for databases/silo_altdriver.py + +

Results of VisIt Regression Test - databases/silo_altdriver

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
silo_010.000.00
silo_020.000.00
silo_030.000.00
silo_040.000.00
silo_050.000.00
silo_060.000.00
silo_070.000.00
silo_080.000.00
silo_090.000.00
silo_100.000.00
silo_110.000.00
silo_120.000.00
silo_130.000.00
silo_140.000.00
silo_150.000.00
silo_160.000.00
silo_170.000.00
silo_180.000.00
silo_200.000.00
silo_210.000.00
silo_220.000.00
silo_230.000.00
silo_240.000.00
silo_250.000.00
silo_260.000.00
silo_270.000.00
silo_280.000.00
silo_290 modifications totalling 0 lines
silo_300.000.00
silo_310.000.00
silo_320.000.00
silo_330.000.00
silo_340.000.00
silo_350.000.00
silo_360.000.00
silo_370.000.00
silo_380.000.00
silo_390.000.00
Silo AMR w/Mrgtrees
silo_400.000.00
silo_410.000.00
silo_420.000.00
silo_430.000.00
silo_440.000.00
silo_450.000.00
Variables defined on material subsets
silo_460.000.00
silo_470.000.00
silo_480.000.00
silo_490.000.00
silo_500.000.00
Various arbitrary polygonal/polyhedral meshes
silo_510.000.00
silo_520.000.00
silo_530.000.00
silo_540.000.00
silo_550.000.00
silo_560.000.00
silo_570.000.00
silo_580.000.00
silo_590.000.00
silo_600.000.00
silo_610.000.00
silo_620.000.00
silo_630.000.00
silo_640.000.00
silo_650.000.00
silo_660.000.00
silo_670.000.00
silo_680.000.00
silo_690.000.00
silo_700.000.00
silo_710.000.00
silo_720.000.00
silo_730.000.00
silo_740.000.00
silo_750.000.00
silo_760.000.00
silo_770.000.00
silo_780.000.00
silo_790.000.00
silo_800.000.00
silo_810.000.00
silo_820.000.00
silo_830.000.00
silo_840.000.00
silo_850.000.00
silo_860.000.00
silo_870.000.00
silo_880.000.00
silo_890.000.00
silo_900.000.00
silo_910.000.00
silo_920.000.00
silo_930.000.00
silo_940.000.00
silo_950.000.00
Scalar and Vector ASCII Label Plots
silo_960.000.00
silo_970.000.00
Curve with polar coordinates
silo_980.000.00
ghost_zone/node_labels
silo_990.000.00
silo_1000.000.00
silo_1010.000.00
silo_1020.000.00
Curvilinear (quad) surfaces in 3D
silo_curvilinear_3d_surface_00.000.00
silo_curvilinear_3d_surface_10.000.00
silo_curvilinear_3d_surface_20.000.00
silo_curvilinear_3d_surface_30.000.00
silo_curvilinear_3d_surface_40.000.00
silo_curvilinear_3d_surface_50.000.00
silo_curvilinear_3d_surface_60.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_altdriver_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_altdriver_py.html new file mode 100644 index 000000000..059f2016b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_altdriver_py.html @@ -0,0 +1,21 @@ +databases/silo_altdriver.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  silo_altdriver
+#
+#  Tests:      Runs the silo.py test using the 'other' driver. If silo.py
+#              was run on PDB driver, this will run them on HDF5 driver and
+#              vice versa.
+#
+#  Programmer: Mark C. Miller
+#  Date:       25Jan10
+#
+# ----------------------------------------------------------------------------
+
+if TestEnv.params["silo_mode"] == "pdb":
+    TestEnv.params["silo_mode"] = "hdf5"
+else:
+    TestEnv.params["silo_mode"] = "pdb"
+
+Source(tests_path("databases","silo.py"))
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_datatypes.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_datatypes.html new file mode 100644 index 000000000..1856ac2de --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_datatypes.html @@ -0,0 +1,79 @@ + +Results for databases/silo_datatypes.py + +

Results of VisIt Regression Test - databases/silo_datatypes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Silo Data Types
silo_datatypes_quad_fnvar0.000.00
silo_datatypes_quad_fzvar0.000.00
silo_datatypes_ucd_fnvar0.000.00
silo_datatypes_ucd_fzvar0.000.00
silo_datatypes_diffs_hdf5_fsoff0 modifications totalling 0 lines
silo_datatypes_diffs_hdf5_fson0 modifications totalling 0 lines
silo_datatypes_diffs_pdb_fsoff0 modifications totalling 0 lines
silo_datatypes_diffs_pdb_fson0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_datatypes_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_datatypes_py.html new file mode 100644 index 000000000..d17b0e36c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_datatypes_py.html @@ -0,0 +1,152 @@ +databases/silo_datatypes.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  silo_datatypes.py 
+#
+#  Tests:      All varieties of datatypes, centering, variable types,
+#              meshtypes and force-single mode. 
+#
+#  Programmer: Mark C. Miller, Thu Jul 15 14:42:12 PDT 2010
+#
+#  Modifications:
+#    Mark C. Miller, Tue Jul 20 19:26:04 PDT 2010
+#    Adjusted names of temporary output files so they don't stomp on each
+#    other.
+#
+#    Mark C. Miller, Wed Jul 21 08:51:30 PDT 2010
+#    I side-stepped around a subtle problem with long long data from PDB.
+#    Turns out on alastor where tests are being run as of July, 2010, sizeof
+#    long is 8 and that is the same as size of long long. On the HDF5 driver,
+#    if it reads integer data of N bytes, it will put it into the smallest
+#    native type that fits. So, when it reads long long data of 8 bytes
+#    but discovers a native long on the machine where the data is being read
+#    is 8 bytes, it returns long instead. So, HDF5 driver never returns
+#    a type of vtkLongLongArray. But, PDB driver does. And, for some reason
+#    that one single case is getting handled subtly wrong. Its data extents
+#    wind up getting set to [0,1] (which I assume is some sort of default).
+#    So, the plot looks bad. So, here, in that case, I manually set the
+#    extents and get around this problem. I am thinking there is a VTK
+#    bug in computing the data extents for vtkLongLongArray type. But, thats
+#    just a guess.
+#
+#    Mark C. Miller, Mon Jul 26 17:08:59 PDT 2010
+#    Override pass/fail status for long long data until we switch to silo-4.8
+#
+#    Mark C. Miller, Thu Sep 23 21:23:42 PDT 2010
+#    Remove override of pass/fail for long long data since now using silo-4.8
+#
+#    Eric Brugger, Mon Sep 26 11:35:01 PDT 2022
+#    Changed use of test_root_path to more appropriate test_baseline_path.
+#
+# ----------------------------------------------------------------------------
+TurnOffAllAnnotations() # defines global object 'a'
+
+#
+# We do this quick open and immediate close because one cannot
+# set FileOptions for a plugin type without having already opened
+# at least one file of that type.
+#
+dummydb = silo_data_path("one_quad.silo")
+OpenDatabase(dummydb)
+CloseDatabase(dummydb)
+
+def SetForceSingle(val):
+    # Turn off force single precision for this test
+    # Note: We can't successfully do that until we open some database
+    readOptions=GetDefaultFileOpenOptions("Silo")
+    if val == "on":
+        readOptions["Force Single"] = 1
+    else:
+        readOptions["Force Single"] = 0
+    SetDefaultFileOpenOptions("Silo", readOptions)
+
+#
+# Test reading various datatypes from Silo
+#
+TestSection("Silo Data Types")
+DeleteAllPlots()
+mtypes=("quad","ucd")
+dtypes=("c","s","i","l","L","f","d")
+vtypes=("n","z")
+
+#
+# Test 'baseline' for node/zone centered quad/ucd from float data
+#
+backup = GetSaveWindowAttributes()
+for mt in mtypes:
+    dbname=silo_data_path("specmix_%s.silo" % mt)
+    OpenDatabase(dbname)
+    for v in vtypes:
+        varname="%s%svar"%("f",v) # using only 'f'loat for baseline
+        AddPlot("Pseudocolor",varname)
+        DrawPlots()
+        ResetView()
+        Test("silo_datatypes_%s_%s"%(mt,varname))
+        DeleteAllPlots()
+    CloseDatabase(dbname)
+
+# Build PC plot attributes to be used to set min/max
+# Only necessary for long long case from PDB. Why?
+pa = PseudocolorAttributes()
+pa.minFlag = 1
+pa.maxFlag = 1
+pa.min = 0
+pa.max = 20
+
+for path in ["silo_datatypes",
+             pjoin("silo_datatypes","current"),
+             pjoin("silo_datatypes","diff")]:
+    if not os.path.isdir(path):
+        os.mkdir(path)
+for smode in ("hdf5", "pdb"):
+    for fsmode in ("off", "on"): # force single modes
+        SetForceSingle(fsmode)
+        diffResults=""
+        for mt in mtypes:
+            dbname=silo_data_path("specmix_%s.silo" % mt )
+            OpenDatabase(dbname)
+            for v in vtypes:
+                for d in dtypes:
+                    varname="%s%svar"%(d,v)
+                    fvarname="%s%svar"%("f",v)
+                    filename="silo_datatypes_%s_fs%s_%s_%s"%(smode,fsmode,mt,varname)
+                    AddPlot("Pseudocolor",varname)
+                    if (smode == "pdb" and d == "L"):
+                        if (v == "n"):
+                            pa.max = 20
+                        else:
+                            pa.max = 19
+                        SetPlotOptions(pa)
+                    DrawPlots()
+                    ResetView()
+                    swa=SaveWindowAttributes()
+                    swa.outputToCurrentDirectory = 0
+                    swa.outputDirectory = pjoin("silo_datatypes","current")
+                    swa.screenCapture=1
+                    swa.family   = 0
+                    swa.fileName = filename
+                    swa.format   = swa.PNG
+                    SetSaveWindowAttributes(swa)
+                    SaveWindow()
+                    DeleteAllPlots()
+                    tPixs = pPixs = dPixs = 0
+                    davg = 0.0
+                    if TestEnv.params["use_pil"]:
+                         file=filename
+                         cur  = pjoin("silo_datatypes","current","%s.png" % filename)
+                         diff = pjoin("silo_datatypes","diff","%s.png" % filename)
+                         base = test_baseline_path("databases",
+                                                   "silo_datatypes",
+                                                   "silo_datatypes_%s_%s.png"%(mt,fvarname))
+                         (tPixs, pPixs, dPixs, davg) = DiffUsingPIL(file, cur, diff, base, "")
+                         result = "PASSED"
+                         if (dPixs > 0 and davg > 1):
+                             result = "FAILED, %f %f"%(dPixs,davg)
+                         diffResults += "%s_%s:    %s\n"%(mt,varname,result)
+            CloseDatabase(dbname)
+        TestText("silo_datatypes_diffs_%s_fs%s"%(smode,fsmode),diffResults)
+shutil.rmtree("silo_datatypes")
+SetSaveWindowAttributes(backup)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_py.html new file mode 100644 index 000000000..05dc43aae --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_silo_py.html @@ -0,0 +1,764 @@ +databases/silo.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  silo.py
+#
+#  Tests:      multi-part silo files
+#              operators - slice
+#              operators - onion peel
+#              selection - by domains
+#
+#  Programmer: Mark C. Miller
+#  Date:       March 8, 2004
+#
+#  Defects:    4335/4337.
+#
+#  Modifications:
+#    Kathleen Bonnell, Tue Mar  9 08:48:14 PST 2004
+#    Turned off databaseInfo annotation, Used TurnOffDomains instead of
+#    SIL sets to get correct domain turned off, reordered DrawPlots for
+#    test 3 so that we get same results in parallel.  For OnionPeel, use
+#    SetDefaultOperatorOptions so that options are applied.
+#
+#    Hank Childs, Thu Jun 24 09:59:12 PDT 2004
+#    Add tests for quads that are stored as hexes in a ucd mesh. ['4335/'4337]
+#
+#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
+#    Removed deprecated functions.
+#
+#    Mark C. Miller, Tue Jun 28 17:28:56 PDT 2005
+#    Added tests mimicing Ale3d's history variables
+#
+#    Mark C. Miller, Wed Dec 13 18:32:20 PST 2006
+#    Added time invariant mesh tests
+#
+#    Mark C. Miller, Wed Feb  7 20:23:22 PST 2007
+#    Modified code to set SIL Restriction for mesh1_dup to be independent
+#    of the file structure. Added test for multivar that spans multiple
+#    multimeshes; it should fail.
+#
+#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
+#    Changed number of vectors in vector plot to match the old behavior.
+#    (We now account for how many domains there are.)
+#
+#    Mark C. Miller, Thu Jan 22 16:27:54 PST 2009
+#    Modified tests of defvars using mag and vec to make them less sensitive
+#    to differences in platform. The mag test was computing a vector magnitude
+#    whose range was very, very tiny. Switching that to sum fixes that
+#    problem. The vector plot was simply generating way to many vectors that
+#    were being drawn on top of each other. I changed it to use a moderately
+#    large prime as the stride.
+#
+#    Mark C. Miller, Mon Sep 28 20:58:24 PDT 2009
+#    Added tests for AMR data from Silo file using MRG Trees.
+#
+#    Tom Fogal, Wed Dec 16 13:11:19 MST 2009
+#    Fixed a path to a data file.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Mark C. Miller, Fri Jan 22 17:30:29 PST 2010
+#    I replaced OpenDatabase with FindAnd... variant for largefile.silo
+#    to deal with data we don't keep in repo.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Mark C. Miller, Tue Feb 28 00:36:09 PST 2012
+#    Added a slew of tests for hybrid zoo and arbitrary polygonal/polyhedral
+#    meshes and variables defined upon them.
+#
+#    Kathleen Biagas, Thurs May 23 14:09:15 MST 2013
+#    Don't run certain tests on Windows that cause a crash.
+#
+#    Kathleen Biagas, Thurs Jun 6 11:04:13 PDT 2013
+#    Re-enable tests 42,44, and 45 on Windows, now that crash has been fixed.
+#
+#    Edward Rusu, Tues Oct 2 8:20:24 PDT 2018
+#    Added tests for ghost_zone/node_labels in the silo files.
+#
+#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#    Turn off cycling of colors for all Curve plot tests.  Set the colors
+#    individually to match current baseline results.
+#
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Remove obsolete 'colorByMag' vector att with 'colorByMagnitude'.
+#
+#    Kathleen Biagas, Tue July 11, 2023
+#    Don't allow tests using wave_1file.visit to run on Windows, as they
+#    involve symlinks. Symink access on the testing machine is disallowed.
+#
+#    Kathleen Biagas, Fri July 28, 2023
+#    Allow test_26 involving largefile.silo to run on Windows.
+#
+# ----------------------------------------------------------------------------
+
+TurnOffAllAnnotations() # defines global object 'a'
+
+# Turn off sets by name
+def TurnOffSetsByName(silr, cat, names):
+    sets = silr.SetsInCategory(cat)
+    for s in sets:
+        setname = silr.SetName(s)
+        try:
+            if setname in names:
+                silr.TurnOffSet(s)
+        except:
+            if setname == names:
+                silr.TurnOffSet(s)
+
+OpenDatabase(silo_data_path("multipart_multi_ucd3d.silo"))
+
+
+#
+# Test simple read and display of a variable
+#
+AddPlot("Pseudocolor","d")
+DrawPlots()
+
+v=GetView3D()
+v.viewNormal=(-0.5, 0.296198, 0.813798)
+SetView3D(v)
+Test("silo_01")
+
+#
+# Test an intercept slice (that can use
+# spatial extents tree if we have it)
+#
+sliceAtts=SliceAttributes()
+sliceAtts.originType=sliceAtts.Intercept
+sliceAtts.originIntercept=5
+sliceAtts.axisType=sliceAtts.ZAxis
+sliceAtts.project2d=0
+SetDefaultOperatorOptions(sliceAtts)
+AddOperator("Slice",1)
+DrawPlots()
+Test("silo_02")
+DeleteAllPlots()
+
+#
+# test selection down to just 1 domain
+#
+AddPlot("Pseudocolor","u")
+TurnDomainsOff()
+TurnDomainsOn(("domain11"))
+DrawPlots()
+Test("silo_03")
+DeleteAllPlots()
+
+#
+# Test an onion peel
+#
+AddPlot("Pseudocolor","p")
+op = OnionPeelAttributes()
+op.categoryName = "domains"
+op.subsetName = "domain11"
+op.index = (5)
+op.logical = 0
+op.adjacencyType = op.Face
+op.requestedLayer = 3
+SetDefaultOperatorOptions(op)
+AddOperator("OnionPeel")
+DrawPlots()
+Test("silo_04")
+
+# we just hide the plots to keep camera
+HideActivePlots()
+
+
+
+
+#
+# Do some os work to create what VisIt will see as a
+# 'virtual' database of multi-part silo files by
+# creating appropriately named links
+#
+
+#TODO BROKEN:
+# Cyrus: I tried to change this, from prev code
+# b/c symlinks won't work on Windows.
+#
+# also silo paths in multipart_multi_ucd3d, don't point to
+# gorfo files,they won't work out of the data dir
+# (and we shouldn't be modifying the data dir !)
+
+# KSB: Added copy of original file, and removed silo_data_path from
+# shutil copy so that this will work.
+# All the copies are made into the run_dir by default, which gets cleaned
+# up unless --no-cleanup is used.
+
+# remove any gorfos
+for f in glob.glob("gorfo_*"):
+    os.remove(f)
+
+i = 0
+
+
+for filename in glob.glob(silo_data_path("multipart_multi_ucd3d*.silo")):
+    # copy the original file because the silo files have relatives paths
+    shutil.copy(filename, os.path.basename(filename))
+    if filename.endswith("multipart_multi_ucd3d.silo"):
+        shutil.copy(filename,"gorfo_1000")
+        shutil.copy(filename,"gorfo_2000")
+        shutil.copy(filename,"gorfo_3000")
+    else:
+        shutil.copy(filename,"gorfo_1000.%d" %i)
+        shutil.copy(filename,"gorfo_2000.%d" %i)
+        shutil.copy(filename,"gorfo_3000.%d" %i)
+    i = i + 1
+
+#
+# Test opening a 'virtual' database of multi-part silo files
+# at something other than its first timestep
+#
+OpenDatabase("gorfo_* database",1)
+
+AddPlot("Pseudocolor","d")
+AddPlot("Mesh", "mesh1")
+DrawPlots()
+Test("silo_05")
+
+# go to the next frame
+TimeSliderNextState()
+Test("silo_06")
+
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("ucd3d.silo"))
+
+AddPlot("Mesh", "exterior_faces")
+DrawPlots()
+Test("silo_07")
+
+AddOperator("Slice")
+DrawPlots()
+Test("silo_08")
+
+#
+# Test something akin to Ale3d's history variables
+# Note: time state 0 is purposely corrupted with
+# all empty domains. So we go from 1 to end and
+# back around to 1 purposely avoiding 0
+DeleteAllPlots()
+OpenDatabase(silo_data_path("hist_ucd3d_* database"),1)
+
+AddPlot("Pseudocolor","d_dup")
+DrawPlots()
+
+#
+# Build a sil restriction
+#
+silr=SILRestriction()
+for i in silr.Wholes():
+   if silr.SetName(i) == "mesh1_dup":
+       silr.TurnOffSet(i+11)
+       silr.TurnOffSet(i+12)
+       silr.TurnOffSet(i+22)
+       silr.TurnOffSet(i+23)
+SetPlotSILRestriction(silr)
+Test("silo_09")
+
+for i in range(TimeSliderGetNStates()-2):
+    TimeSliderNextState()
+    Test("silo_%02d"%(i+10))
+TimeSliderSetState(1)
+Test("silo_18")
+
+#
+# Test defvar object
+#
+DeleteAllPlots()
+OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+AddPlot("Pseudocolor","sum")
+DrawPlots()
+Test("silo_20")
+
+DeleteActivePlots()
+AddPlot("Vector","vec")
+vec = VectorAttributes()
+vec.useStride = 1
+vec.stride = 41
+vec.colorByMagnitude = 0
+SetPlotOptions(vec)
+DrawPlots()
+Test("silo_21")
+
+DeleteActivePlots()
+AddPlot("Pseudocolor","nmats")
+DrawPlots()
+Test("silo_22")
+
+#
+# Test curves from silo
+#
+DeleteAllPlots()
+a=GetAnnotationAttributes()
+a.axes2D.visible = 1
+SetAnnotationAttributes(a)
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Curve","line")
+curveAtts = CurveAttributes()
+curveAtts.curveColorSource = curveAtts.Custom
+curveAtts.curveColor = (255, 0, 0, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+Test("silo_23")
+
+DeleteActivePlots()
+AddPlot("Curve","wave")
+curveAtts.curveColor = (0, 255, 0, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+Test("silo_24")
+
+DeleteActivePlots()
+AddPlot("Curve","log")
+curveAtts.curveColor = (0, 0, 255, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+Test("silo_25")
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("multi_ucd3d.silo"))
+
+#
+# Test objects existing past 2Gig limit in a >2 Gig file
+# Large File Support. Because file is large, it is NOT
+# part of the repo. We create a sym-link to it from the
+# data dir.
+#
+
+(err, dbname) = FindAndOpenDatabase("largefile.silo")
+if (err != 1):
+    AddSkipCase("silo_26")
+    Test("silo_26")
+else:
+    AddPlot("Curve","sincurve")
+    curveAtts.curveColor = (0, 255, 255, 255)
+    SetPlotOptions(curveAtts)
+    AddPlot("Curve","coscurve")
+    curveAtts.curveColor = (255, 0, 255, 255)
+    SetPlotOptions(curveAtts)
+    DrawPlots()
+    Test("silo_26")
+    DeleteAllPlots()
+    CloseDatabase(dbname)
+
+#
+# Test time invariant mesh
+#
+OpenDatabase(silo_data_path("multi_ucd3d_ti_* database"),2)
+
+AddPlot("Pseudocolor","d")
+DrawPlots()
+ResetView()
+v=GetView3D()
+v.viewNormal=(-0.5, 0.296198, 0.813798)
+SetView3D(v)
+silr=SILRestriction()
+for i in range(1,36,2):
+    silr.TurnOffSet(i)
+SetPlotSILRestriction(silr)
+Test("silo_27")
+TimeSliderNextState()
+Test("silo_28")
+
+#
+# Test that multivars that span multimeshes are correctly
+# invalidated by VisIt
+#
+DeleteAllPlots()
+CloseDatabase(silo_data_path("multi_ucd3d_ti_* database"))
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Pseudocolor","d_split")
+DrawPlots()
+t = GetLastError()
+TestText("silo_29", t)
+
+#
+# Test that we get correct SIL behavior for a database
+# with a varying SIL and TreatAllDBsAsTimeVarying turned
+# on
+#
+DeleteAllPlots()
+CloseDatabase(silo_data_path("multi_ucd3d.silo"))
+
+OpenDatabase(silo_data_path("histne_ucd3d_* database"), 2)
+
+AddPlot("Pseudocolor", "d_dup")
+DrawPlots()
+Test("silo_30")
+TimeSliderNextState()
+Test("silo_31")
+
+SetTreatAllDBsAsTimeVarying(1)
+TimeSliderNextState()
+Test("silo_32")
+TimeSliderNextState()
+Test("silo_33")
+TimeSliderPreviousState()
+TimeSliderPreviousState()
+TimeSliderPreviousState()
+Test("silo_34")
+
+#
+# Test a database with some odd multi-block structure
+#
+DeleteAllPlots()
+CloseDatabase(silo_data_path("histne_ucd3d_* database"))
+
+SetTreatAllDBsAsTimeVarying(0)
+OpenDatabase(data_path("silo_pdb_test_data/odd_multi.silo"))
+
+AddPlot("Pseudocolor","cyc_00000/den")
+DrawPlots()
+ResetView()
+Test("silo_35")
+
+#
+# Test a database in which all timesteps are in one file
+#
+DeleteAllPlots()
+CloseDatabase(data_path("silo_pdb_test_data/odd_multi.silo"))
+
+if not sys.platform.startswith("win"):
+    # files listed in the .visit file (eg wave_1file.silo:cycle_xxx)
+    # are symlinks to wave_1file.silo and symlink access is disallowed
+    # on the windows testing machine.
+    OpenDatabase(silo_data_path("wave_1file.visit"))
+
+    AddPlot("Mesh","quadmesh")
+    AddPlot("Pseudocolor","pressure")
+    DrawPlots()
+    ResetView()
+    Test("silo_36")
+    TimeSliderSetState(23)
+    Test("silo_37")
+    TimeSliderNextState()
+    TimeSliderNextState()
+    TimeSliderNextState()
+    Test("silo_38")
+    TimeSliderPreviousState()
+    TimeSliderPreviousState()
+    TimeSliderPreviousState()
+    TimeSliderPreviousState()
+    TimeSliderPreviousState()
+    TimeSliderPreviousState()
+    Test("silo_39")
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("wave_1file.visit"))
+
+TestSection("Silo AMR w/Mrgtrees")
+TurnOffAllAnnotations()
+OpenDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
+
+AddPlot("Mesh","amr_mesh_wmrgtree")
+DrawPlots()
+ResetView()
+v=GetView2D()
+v.windowCoords = (0.368424, 0.412063, 0.265434, 0.310012)
+SetView2D(v)
+Test("silo_40")
+AddPlot("Pseudocolor","Density_wmrgtree")
+DrawPlots()
+Test("silo_41")
+
+silr=SILRestriction()
+s = silr.SetsInCategory("levels")
+TurnOffSetsByName(silr, "levels", "level2")
+SetPlotSILRestriction(silr)
+Test("silo_42")
+
+DeleteAllPlots()
+CloseDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
+
+OpenDatabase(data_path("silo_amr_test_data/amr3d_wmrgtree.silo"))
+
+AddPlot("Contour","foo_wmrgtree")
+ca=ContourAttributes()
+ca.contourValue = (60,)
+ca.contourMethod = ca.Value
+SetPlotOptions(ca)
+DrawPlots()
+ResetView()
+v=GetView3D()
+v.imagePan = (0.2066, 0.104372)
+v.imageZoom = 6.03355
+SetView3D(v)
+Test("silo_43")
+
+silr=SILRestriction()
+TurnOffSetsByName(silr, "levels", "level2")
+SetPlotSILRestriction(silr)
+Test("silo_44")
+TurnOffSetsByName(silr, "levels", "level1")
+SetPlotSILRestriction(silr)
+Test("silo_45")
+
+DeleteAllPlots()
+CloseDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+TestSection("Variables defined on material subsets")
+sa = SliceAttributes()
+sa.originType = sa.Percent
+sa.originPercent = 50
+sa.axisType = sa.ZAxis
+testNum = 46
+for varname in ("p_on_mats_2","d_on_mats_1_3","m1vf_on_mats_1","m2vf_on_mats_2","m3vf_on_mats_3"):
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", varname)
+    AddOperator("Slice")
+    SetOperatorOptions(sa)
+    DrawPlots()
+    SetViewExtentsType("actual")
+    ResetView()
+    Test("silo_%d"%testNum)
+    testNum = testNum + 1
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("multi_ucd3d.silo"))
+
+OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
+
+TestSection("Various arbitrary polygonal/polyhedral meshes")
+
+ma = MeshAttributes()
+ma.showInternal = 1
+for meshname in ("2D/mesh1_zl1","2D/mesh1_zl2","2D/mesh1_phzl","2D/mesh1_phzl2", "2D/mesh1g_zl2"):
+    DeleteAllPlots()
+    AddPlot("Mesh", meshname)
+    SetPlotOptions(ma)
+    DrawPlots()
+    ResetView()
+    v = GetView2D()
+    v.windowCoords=(-1, 10, -1, 2)
+    SetView2D(v)
+    Test("silo_%d"%testNum)
+    testNum = testNum + 1
+
+for meshname in ("2Dz/mesh1_zl1","2Dz/mesh1_zl2","2Dz/mesh1_phzl","2Dz/mesh1_phzl2", "2Dz/mesh1g_zl2"):
+    DeleteAllPlots()
+    AddPlot("Mesh", meshname)
+    DrawPlots()
+    ResetView()
+    Test("silo_%d"%testNum)
+    testNum = testNum + 1
+
+ma = MeshAttributes()
+ma.showInternal = 1
+ma.opaqueMode = ma.On
+for meshname in ("3D/mesh1", "3D/mesh2", "3D/mesh2g", "3D/mesh3", "3D/mesh3r"):
+    DeleteAllPlots()
+    AddPlot("Mesh", meshname)
+    SetPlotOptions(ma)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.RotateAxis(1,-30)
+    v.RotateAxis(0,20)
+    SetView3D(v)
+    Test("silo_%d"%testNum)
+    testNum = testNum + 1
+
+for varname in ("2D/n11", "2D/n12", "2D/n12g", "2D/n1phzl", "2D/n1phzl2",
+                "2D/z11", "2D/z12", "2D/z12g", "2D/z1phzl", "2D/z1phzl2"):
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", varname)
+    DrawPlots()
+    ResetView()
+    v = GetView2D()
+    v.windowCoords=(-1, 10, -1, 2)
+    SetView2D(v)
+    Test("silo_%d"%testNum)
+    testNum = testNum + 1
+
+for varname in ("2Dz/n11", "2Dz/n12", "2Dz/n12g", "2Dz/n1phzl", "2Dz/n1phzl2",
+                "2Dz/z11", "2Dz/z12", "2Dz/z12g", "2Dz/z1phzl", "2Dz/z1phzl2"):
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", varname)
+    DrawPlots()
+    ResetView()
+    Test("silo_%d"%testNum)
+    testNum = testNum + 1
+
+for varname in ("3D/n1", "3D/n2", "3D/n2g", "3D/n3", "3D/n3r",
+                "3D/z1", "3D/z2", "3D/z2g", "3D/z3", "3D/z3r"):
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", varname)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.RotateAxis(1,-30)
+    v.RotateAxis(0,20)
+    SetView3D(v)
+    Test("silo_%d"%testNum)
+    testNum = testNum + 1
+
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
+
+TestSection("Scalar and Vector ASCII Label Plots")
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+AddPlot("Label", "ascii")
+DrawPlots()
+ResetView()
+v = GetView2D()
+v.windowCoords = (0.362263, 0.967737, -0.0277375, 0.577737)
+SetView2D(v)
+Test("silo_%d"%testNum)
+testNum = testNum + 1
+
+DeleteAllPlots()
+AddPlot("Label", "asciiw")
+DrawPlots()
+ResetView()
+v = GetView2D()
+v.windowCoords = (0.362263, 0.967737, -0.0277375, 0.577737)
+SetView2D(v)
+Test("silo_%d"%testNum)
+testNum = testNum + 1
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("rect2d.silo"))
+
+TestSection("Curve with polar coordinates")
+
+OpenDatabase(silo_data_path("multi_rect2d.silo"))
+AddPlot("Curve","circle")
+curveAtts.curveColor = (255, 255, 0, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+ResetView()
+Test("silo_%d"%testNum)
+testNum = testNum + 1
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("multi_rect2d.silo"))
+
+TestSection("ghost_zone/node_labels")
+
+OpenDatabase(data_path("silo_ghost_test_data/specmix_quad.pdb"))
+ResetView()
+AddPlot("Subset", "Mesh_gnz")
+AddPlot("Mesh", "Mesh_gnz")
+DrawPlots()
+Test("silo_%d"%testNum)
+testNum = testNum + 1
+
+DeleteAllPlots()
+CloseDatabase(data_path("silo_ghost_test_data/specmix_quad.pdb"))
+
+OpenDatabase(data_path("silo_ghost_test_data/specmix_ucd.pdb"))
+ResetView()
+AddPlot("Subset", "Mesh_gnz")
+AddPlot("Mesh", "Mesh_gnz")
+DrawPlots()
+Test("silo_%d"%testNum)
+testNum = testNum + 1
+
+DeleteAllPlots()
+CloseDatabase(data_path("silo_ghost_test_data/specmix_ucd.pdb"))
+
+#
+# Test the way silo reads in curve data with expressions
+#
+OpenDatabase(silo_data_path("multi_rect2d.silo"))
+DefineCurveExpression("alias","wave")
+DefineCurveExpression("waveSquared", "wave*wave")
+ResetView()
+
+AddPlot("Curve","wave")
+curveAtts.curveColor = (255, 135, 0, 255)
+SetPlotOptions(curveAtts)
+AddPlot("Curve","waveSquared")
+curveAtts.curveColor = (255, 0, 135, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+Test("silo_%d"%testNum)
+testNum = testNum + 1
+DeleteAllPlots()
+
+AddPlot("Curve","alias")
+curveAtts.curveColor = (168, 168, 168, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+Test("silo_%d"%testNum)
+testNum = testNum + 1
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("multi_rect2d.silo"))
+
+def curvilinear_3d_surface():
+    """Curvilinear (quad) surfaces in 3D"""
+
+    OpenDatabase(silo_data_path("quad_disk.silo"))
+
+    AddPlot("Pseudocolor","sphElev_on_mesh_3d")
+    ResetView()
+    DrawPlots()
+    v = GetView3D()
+    v.RotateAxis(0,-20)
+    v.RotateAxis(1,-30)
+    SetView3D(v)
+    TestAutoName()
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor","sphElev_on_meshD_3d")
+    DrawPlots()
+    TestAutoName()
+    DeleteAllPlots()
+
+    AddPlot("FilledBoundary", "mat_3d(mesh_3d)")
+    DrawPlots()
+    TestAutoName()
+    DeleteAllPlots()
+
+    CloseDatabase(silo_data_path("quad_disk.silo"))
+    OpenDatabase(silo_data_path("specmix_quad.silo"))
+
+    # Index select doesn't work quite right here
+    AddPlot("Mesh","Mesh_3d")
+    AddOperator("IndexSelect")
+    idxsel = IndexSelectAttributes()
+    idxsel.xMin = 5
+    idxsel.xMax = 15
+    SetOperatorOptions(idxsel)
+    ResetView()
+    DrawPlots()
+    TestAutoName()
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor","p3d")
+    DrawPlots()
+    TestAutoName()
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor","u3d")
+    DrawPlots()
+    TestAutoName()
+    DeleteAllPlots()
+
+    AddPlot("FilledBoundary", "Material_3d(Mesh_3d)")
+    DrawPlots()
+    TestAutoName()
+    DeleteAllPlots()
+
+    CloseDatabase(silo_data_path("specmix_quad.silo"))
+
+curvilinear_3d_surface()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_singlemulti.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_singlemulti.html new file mode 100644 index 000000000..462147197 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_singlemulti.html @@ -0,0 +1,76 @@ + +Results for databases/singlemulti.py + +

Results of VisIt Regression Test - databases/singlemulti

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
singlemulti000.000.00
singlemulti010 modifications totalling 0 lines
singlemulti020.000.00
singlemulti030 modifications totalling 0 lines
singlemulti040.000.00
singlemulti050 modifications totalling 0 lines
singlemulti060.000.00
singlemulti070 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_singlemulti_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_singlemulti_py.html new file mode 100644 index 000000000..fe9330d77 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_singlemulti_py.html @@ -0,0 +1,116 @@ +databases/singlemulti.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  singlemulti.py
+#
+#  Tests:      mesh      - 3D, curvilinear, single domain
+#              plots     - Pseudocolor
+#              databases - Silo
+#
+#  Purpose:    This test case tests the ability of VisIt to have single
+#              time state files in the same window as multi time state
+#              windows and do the right thing when changing time states.
+#
+#  Bugs:       '4011
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Mar 18 13:45:29 PST 2004
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to switch between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+#
+# Look at the first few lines of the string representation of the
+# WindowInformation to see the list of time sliders, etc.
+#
+def TestWindowInformation(testname):
+    # Get the window information and convert it to a string.
+    s = str(GetWindowInformation())
+    # Only use the first 5 or so lines from the string.
+    lines = s.split("\n")
+    s = ""
+    for i in range(5):
+        if(i < len(lines)):
+            s = s + lines[i]
+            s = s + "\n"
+    TestText(testname, s)
+
+# Create a Pseudocolor plot of wave by opening it up at a late time state.
+OpenDatabase(silo_data_path("wave*.silo database"), 20)
+
+AddPlot("Pseudocolor", "pressure")
+DrawPlots()
+
+# Set the view.
+v0 = View3DAttributes()
+v0.viewNormal = (-0.661743, 0.517608, 0.542382)
+v0.focus = (5, 0.757692, 2.5)
+v0.viewUp = (0.370798, 0.854716, -0.363277)
+v0.viewAngle = 30
+v0.parallelScale = 5.63924
+v0.nearPlane = -11.2785
+v0.farPlane = 11.2785
+v0.imagePan = (0.00100868, 0.0454815)
+v0.imageZoom = 1.17935
+v0.perspective = 1
+SetView3D(v0)
+Test("singlemulti00")
+
+# Convert the WindowInformation to a string and use that as a test case.
+# The WindowInformation contains the list of time sliders, the active time
+# state, and the states for each time slider.
+TestWindowInformation("singlemulti01")
+
+# Create a Pseudocolor plot of curv3d, a single time state database.
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Transform")
+t = TransformAttributes()
+t.doScale = 1
+t.scaleX = 0.5
+t.scaleY = 0.5
+t.scaleZ = 0.1667
+t.doTranslate = 1
+t.translateX = 5
+t.translateY = 0
+t.translateZ = -5
+SetOperatorOptions(t)
+DrawPlots()
+
+# Set the view again
+v1 = View3DAttributes()
+v1.viewNormal = (-0.661743, 0.517608, 0.542382)
+v1.focus = (5, 1.25, 0)
+v1.viewUp = (0.370798, 0.854716, -0.363277)
+v1.viewAngle = 30
+v1.parallelScale = 7.1807
+v1.nearPlane = -14.3614
+v1.farPlane = 14.3614
+v1.imagePan = (0.00100868, 0.0454815)
+v1.imageZoom = 1.17935
+v1.perspective = 1
+SetView3D(v1)
+Test("singlemulti02")
+
+# Make sure there is still just one time slider.
+TestWindowInformation("singlemulti03")
+
+# Go to the middle time slider state.
+# Note: this div in python 2 returns int, but returns float in py3
+SetTimeSliderState(int(TimeSliderGetNStates() / 2))
+Test("singlemulti04")
+# Check the time states
+TestWindowInformation("singlemulti05")
+
+# Go to the last time slider state.
+SetTimeSliderState(TimeSliderGetNStates() - 1)
+Test("singlemulti06")
+# Check the time states
+TestWindowInformation("singlemulti07")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_sw4.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_sw4.html new file mode 100644 index 000000000..17657b2ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_sw4.html @@ -0,0 +1,48 @@ + +Results for databases/sw4.py + +

Results of VisIt Regression Test - databases/sw4

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
sw4_000.000.00
sw4_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_sw4_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_sw4_py.html new file mode 100644 index 000000000..3f79d47c0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_sw4_py.html @@ -0,0 +1,50 @@ +databases/sw4.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  SW4.py
+#
+#  Tests:      mesh      - 3D curvilinear, multi domain
+#                        - 3D rectilinear, single domain
+#              plots     - Pseudocolor
+#
+#  Programmer: Eric Brugger
+#  Date:       Tue Jul 21 11:15:20 PDT 2020
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create a plot from a 3Dimg file.
+OpenDatabase(data_path("sw4_test_data/berk.cycle=0000.p.3Dimg"))
+AddPlot("Pseudocolor", "cp")
+DrawPlots()
+
+# Set the view
+v = View3DAttributes()
+v.viewNormal = (-0.555957, 0.661021, -0.503948)
+v.focus = (6000, 6000, 2220.93)
+v.viewUp = (0.540018, -0.173664, -0.823542)
+v.viewAngle = 30
+v.parallelScale = 8928.79
+v.nearPlane = -17857.6
+v.farPlane = 17857.6
+v.imagePan = (0., 0.)
+v.imageZoom = 1
+v.perspective = 1
+v.eyeAngle = 2
+SetView3D(v)
+
+Test("sw4_00")
+
+# Create a plot from a sw4img file.
+DeleteAllPlots()
+CloseDatabase(data_path("sw4_test_data/berk.cycle=0000.p.3Dimg"))
+
+OpenDatabase(data_path("sw4_test_data/berk.cycle=0000.z=0.topo.sw4img"))
+AddPlot("Pseudocolor", "topo")
+DrawPlots()
+
+Test("sw4_01")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_tecplot.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_tecplot.html new file mode 100644 index 000000000..823794d38 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_tecplot.html @@ -0,0 +1,192 @@ + +Results for databases/tecplot.py + +

Results of VisIt Regression Test - databases/tecplot

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
tecplot_010.000.00
tecplot_020.000.00
tecplot_030.000.00
tecplot_040.000.00
tecplot_050.000.00
tecplot_060.000.00
tecplot_080.000.00
tecplot_090.000.00
tecplot_100.000.00
tecplot_110.000.00
tecplot_120.000.00
tecplot_130.000.00
tecplot_140.000.00
tecplot_150.000.00
tecplot_160.000.00
tecplot_170.000.00
tecplot_180.000.00
tecplot_190.000.00
tecplot_200.000.00
tecplot_210.000.00
tecplot_220.000.00
tecplot_230.000.00
tecplot_240.000.00
tecplot_250.000.00
tecplot_260.000.00
tecplot_270.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_tecplot_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_tecplot_py.html new file mode 100644 index 000000000..d4b451b64 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_tecplot_py.html @@ -0,0 +1,323 @@ +databases/tecplot.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  tecplot.py
+#
+#  Tests:      TecPlot files
+#
+#  Programmer: Jeremy Meredith
+#  Date:       November 17, 2004
+#
+#  Modifications:
+#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
+#    Rename variables that have unsupported characters.
+#
+#    Brad Whitlock, Thu Mar 31 17:12:06 PST 2005
+#    Changed the data directory to ../data/tecplot_test_data/tecplot_test_data,
+#    which is now created from a bzipped tar file.
+#
+#    Brad Whitlock, Tue Jul 26 16:27:57 PST 2005
+#    I added a test that has 2D data with a vector expression.
+#
+#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
+#    Allowed spaces in variable names.
+#
+#    Jeremy Meredith, Mon Jul  7 14:20:12 EDT 2008
+#    The tecplot reader now successfully parses x/y/z coordinate variables
+#    from the simpscat.tec file, so I changed the plot to be a pseudocolor
+#    plot instead of a curve plot.
+#
+#    Hank Childs, Sat Mar 13 11:13:26 PST 2010
+#    Change variable names for forbidden characters.
+#
+#    Jeremy Meredith, Fri May 20 09:37:14 EDT 2011
+#    Change subset mesh variable name since files have more than one mesh now.
+#
+#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#    Turn off cycling of colors for all Curve plot tests.  Set the colors
+#    individually to match current baseline results.
+#
+#    Kathleen Biagas, Mon Jul 17 10:59:26 PDT 2023
+#    Change two_triangles_node_and_cell extension from 'plt' to 'tec'.
+#    Second triangle's point ids were invalid, so data was regenerted by
+#    exporting to VTK, fixing the ordering, and re-exporting back to tecplot.
+#
+# ----------------------------------------------------------------------------
+
+
+def SetTheView():
+    ResetView()
+    v = GetView3D()
+    v.viewNormal =  (-0.553771, 0.509362, 0.658702)
+    SetView3D(v)
+
+# Databases
+OpenDatabase(data_path("tecplot_test_data/2dfed.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","P")
+DrawPlots()
+SetTheView()
+Test("tecplot_01")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/3dgeom.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Subset","Zones(mesh)")
+DrawPlots()
+SetTheView()
+Test("tecplot_02")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/T3L3CLS17u.plt"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","U")
+DrawPlots()
+ResetView()
+v=GetView2D()
+v.windowCoords=(-.01,.03,-.02,.02)
+SetView2D(v)
+Test("tecplot_03")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/channel.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","U")
+DrawPlots()
+SetTheView()
+Test("tecplot_04")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/crystal_plot.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","t")
+DrawPlots()
+SetTheView()
+Test("tecplot_05")
+DeleteAllPlots();
+CloseDatabase(data_path("tecplot_test_data/crystal_plot.tec"))
+
+
+OpenDatabase(data_path("tecplot_test_data/cube.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","R")
+DrawPlots()
+SetTheView()
+Test("tecplot_06")
+DeleteAllPlots();
+
+# We must skip this one, as it has column-major
+# ordering instead of row-major, and we are
+# expecting row-major.  There is nothing in the
+# tecplot file format to specify which type it is,
+# so this must wait until we have options for
+# the database plugins.  See '2440.
+##OpenDatabase(data_path("tecplot_test_data/cylindrical.tec"))
+
+#AddPlot("Mesh","mesh")
+#DrawPlots()
+#SetTheView()
+#Test("tecplot_07")
+#DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/febrfeb.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","Temperature")
+DrawPlots()
+SetTheView()
+Test("tecplot_08")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/febrfep.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","Temperature")
+DrawPlots()
+SetTheView()
+Test("tecplot_09")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/fetebk.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","C")
+DrawPlots()
+SetTheView()
+Test("tecplot_10")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/fetetpt.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","C")
+DrawPlots()
+SetTheView()
+Test("tecplot_11")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/flow5.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","V")
+DrawPlots()
+SetTheView()
+Test("tecplot_12")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/human.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","R")
+DrawPlots()
+SetTheView()
+Test("tecplot_13")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/movie.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Subset","Zones(mesh)")
+DrawPlots()
+SetTheView()
+Test("tecplot_14")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/multzn2d.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","Temp")
+DrawPlots()
+SetTheView()
+Test("tecplot_15")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/order1.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","psi")
+DrawPlots()
+SetTheView()
+Test("tecplot_16")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/sample.tp"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Volume","X Velocity")
+v=VolumeAttributes()
+SetPlotOptions(v)
+DrawPlots()
+SetTheView()
+Test("tecplot_17")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/simp3dbk.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","Density")
+DrawPlots()
+SetTheView()
+Test("tecplot_18")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/simp3dpt.tec"))
+
+AddPlot("Mesh","mesh")
+AddPlot("Pseudocolor","Density")
+DrawPlots()
+SetTheView()
+Test("tecplot_19")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/simpscat.tec"))
+
+AddPlot("Pseudocolor","T_lb_K_rb_")
+p = PseudocolorAttributes()
+p.pointSizePixels = 6
+SetPlotOptions(p)
+AddOperator("Threshold")
+t = ThresholdAttributes()
+t.outputMeshType = 1
+SetOperatorOptions(t)
+DrawPlots()
+ResetView()
+Test("tecplot_20")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/simpxy.tec"))
+
+AddPlot("Curve","Temperature vs/Distance")
+curveAtts = CurveAttributes()
+curveAtts.curveColorSource = curveAtts.Custom
+curveAtts.curveColor = (255, 0, 0, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+SetTheView()
+Test("tecplot_21")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/simpxy2.tec"))
+
+AddPlot("Curve","Only Zone/Temperature vs/Distance")
+curveAtts.curveColor = (0, 255, 0, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+SetTheView()
+Test("tecplot_22")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/symmetricFlow.plt"))
+
+AddPlot("Pseudocolor","VELOCITY")
+DrawPlots()
+ResetView()
+Test("tecplot_23")
+DeleteAllPlots();
+AddPlot("Vector", "VEL")
+v = VectorAttributes()
+v.useStride = 1
+SetPlotOptions(v)
+DrawPlots()
+v = View2DAttributes()
+v.windowCoords = (53.9908, 74.1434, 66.5995, 88.2732)
+v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+v.fullFrameActivationMode = v.Off  # On, Off, Auto
+v.fullFrameAutoThreshold = 100
+SetView2D(v)
+Test("tecplot_24")
+DeleteAllPlots();
+
+OpenDatabase(data_path("tecplot_test_data/pointmesh.tec"))
+
+AddPlot("Mesh","mesh")
+ResetView()
+DrawPlots()
+Test("tecplot_25")
+DeleteAllPlots()
+
+DeleteAllPlots();
+CloseDatabase(data_path("tecplot_test_data/pointmesh.tec"))
+
+# ascii file containing both node and cell data in block format
+OpenDatabase(data_path("tecplot_test_data/two_triangles_node_and_cell.tec"))
+
+AddPlot("Pseudocolor","nodal_field")
+ResetView()
+DrawPlots()
+Test("tecplot_26")
+DeleteAllPlots()
+
+AddPlot("Pseudocolor","cell_field")
+ResetView()
+DrawPlots()
+Test("tecplot_27")
+DeleteAllPlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_timesliders.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_timesliders.html new file mode 100644 index 000000000..c784fe365 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_timesliders.html @@ -0,0 +1,256 @@ + +Results for databases/timesliders.py + +

Results of VisIt Regression Test - databases/timesliders

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Set time using different time sliders
timesliders000.000.00
timesliders010 modifications totalling 0 lines
timesliders020.000.00
timesliders030 modifications totalling 0 lines
timesliders040.000.00
timesliders050 modifications totalling 0 lines
timesliders060 modifications totalling 0 lines
timesliders070.000.00
timesliders080 modifications totalling 0 lines
Time slider behavior with a correlation
timesliders090.000.00
timesliders100 modifications totalling 0 lines
timesliders110.000.00
timesliders120 modifications totalling 0 lines
timesliders130.000.00
timesliders140 modifications totalling 0 lines
timesliders150.000.00
timesliders160 modifications totalling 0 lines
timesliders170.000.00
timesliders180 modifications totalling 0 lines
Make sure cloned window gets time sliders
timesliders190.000.00
timesliders200 modifications totalling 0 lines
timesliders210.000.00
timesliders220 modifications totalling 0 lines
Make sure opening ST database clears time slider list
timesliders230 modifications totalling 0 lines
timesliders240.000.00
timesliders250 modifications totalling 0 lines
Make sure replace sequences give right time sliders
timesliders260.000.00
timesliders270 modifications totalling 0 lines
timesliders280.000.00
timesliders290 modifications totalling 0 lines
timesliders300.000.00
timesliders310 modifications totalling 0 lines
timesliders320.000.00
timesliders330 modifications totalling 0 lines
timesliders340.000.00
timesliders350 modifications totalling 0 lines
Make sure we get the right time sliders after deleting plots.
timesliders360.000.00
timesliders370 modifications totalling 0 lines
timesliders380.000.00
timesliders390 modifications totalling 0 lines
timesliders400 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_timesliders_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_timesliders_py.html new file mode 100644 index 000000000..d534b8094 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_timesliders_py.html @@ -0,0 +1,247 @@ +databases/timesliders.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  timesliders.py
+#
+#  Tests:      mesh      - 2D, curvilinear, single domain
+#              plots     - FilledBoundary
+#              databases - PDB
+#
+#  Purpose:    This test case tests out using multiple time sliders.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Mar 19 11:45:12 PDT 2004
+#
+#  Modifications:
+#    Brad Whitlock, Wed Mar 31 10:34:27 PDT 2004
+#    I changed the calls to SetActiveTimeSlider so they can accept the
+#    unexpanded database names instead of requiring fully qualified
+#    database names.
+#
+#    Brad Whitlock, Mon Apr 19 09:20:29 PDT 2004
+#    I added a few more tests to make sure we get the desired list of time
+#    sliders under more conditions.
+#
+#    Brad Whitlock, Wed Feb 9 11:10:29 PDT 2005
+#    I added another test section to make sure that we get the right time
+#    sliders (or lack of) after deleting plots.
+# 
+#    Brad Whitlock, Thu Dec 21 11:57:52 PDT 2006
+#    Added code to make sure that the dictionary keys in one of the tests
+#    are always sorted.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to switch between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+#
+# Look at the first few lines of the string representation of the
+# WindowInformation to see the list of time sliders, etc.
+#
+def TestWindowInformation(testname):
+    # Get the window information and convert it to a string.
+    s = str(GetWindowInformation())
+    # Only use the first 5 or so lines from the string.
+    lines = s.split("\n")
+    s = ""
+    for i in range(5):
+        if(i < len(lines)):
+            s = s + lines[i]
+            s = s + "\n"
+    TestText(testname, s)
+
+def SetTheView():
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.735926, 0.562657, 0.376604)
+    v0.focus = (5, 0.753448, 2.5)
+    v0.viewUp = (0.454745, 0.822858, -0.340752)
+    v0.viewAngle = 30
+    v0.parallelScale = 5.6398
+    v0.nearPlane = -11.2796
+    v0.farPlane = 11.2796
+    v0.imagePan = (0.0589778, 0.0898255)
+    v0.imageZoom = 1.32552
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    SetView3D(v0)
+
+# Print the dictionary so its keys are always sorted a particular way.
+def PrintDict(dict):
+    keys = list(dict.keys())
+    keys.sort()
+    s = "{"
+    i = 0
+    for k in keys:
+        if type(k) == type(str("")):
+            kstr = "'" + str(k) + "'"
+        else:
+            kstr = str(k)
+        s = s + kstr + ": " + str(dict[k])
+        if i < len(keys)-1:
+            s = s + ", "
+        i = i + 1
+    s = s + "}"
+    return s
+
+# The plotted databases.
+dbs = (data_path("pdb_test_data/dbA00.pdb"),
+       data_path("pdb_test_data/dbB00.pdb"),
+       data_path("pdb_test_data/dbC00.pdb"))
+
+# Create a plot from one database
+TestSection("Set time using different time sliders")
+OpenDatabase(dbs[0])
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+Test("timesliders00")
+TestWindowInformation("timesliders01")
+
+# Create a plot from another database
+OpenDatabase(dbs[1])
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+Test("timesliders02")
+TestWindowInformation("timesliders03")
+
+# Change the time state for the second time slider.
+# note: py3 div creates float
+SetTimeSliderState(int(TimeSliderGetNStates() / 2))
+Test("timesliders04")
+TestWindowInformation("timesliders05")
+
+# Make sure that GetTimeSliders returned the right dictionary.
+testString = "GetTimeSliders returned:\n %s" % PrintDict(GetTimeSliders())
+TestText("timesliders06", testString)
+
+# Set the time slider back to the first time slider.
+SetActiveTimeSlider(dbs[0])
+
+# Set the time state for the first time slider.
+SetTimeSliderState(7)
+Test("timesliders07")
+TestWindowInformation("timesliders08")
+
+# Create a database correlation for the first two databases. This correlation
+# will be an IndexForIndex correlation since we passed 0 for the correlation
+# method.
+TestSection("Time slider behavior with a correlation")
+correlation1 = "A_and_B"
+CreateDatabaseCorrelation(correlation1, dbs[:-1], 0)
+SetActiveTimeSlider(correlation1)
+Test("timesliders09")
+TestWindowInformation("timesliders10")
+
+# Set the time state for the active time slider since it is now the A_and_B
+# database correlation.
+SetTimeSliderState(0)
+Test("timesliders11")
+TestWindowInformation("timesliders12")
+
+SetTimeSliderState(5)
+Test("timesliders13")
+TestWindowInformation("timesliders14")
+
+SetTimeSliderState(19)
+Test("timesliders15")
+TestWindowInformation("timesliders16")
+
+# Set the time slider to B. Only B should change.
+SetActiveTimeSlider(dbs[1])
+SetTimeSliderState(5)
+Test("timesliders17")
+TestWindowInformation("timesliders18")
+
+# Add a new window and make sure that the time sliders are copied to it.
+TestSection("Make sure cloned window gets time sliders")
+CloneWindow()
+SetActiveWindow(2)
+DrawPlots()
+Test("timesliders19")
+TestWindowInformation("timesliders20")
+
+SetTimeSliderState(19)
+Test("timesliders21")
+TestWindowInformation("timesliders22")
+DeleteWindow()
+
+# Make sure switching between different databases give the right time sliders.
+TestSection("Make sure opening ST database clears time slider list")
+DeleteAllPlots()
+OpenDatabase(dbs[0])
+SetTimeSliderState(0)
+TestWindowInformation("timesliders23")
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+ResetView()
+Test("timesliders24")
+TestWindowInformation("timesliders25")
+
+# Make sure doing various replace sequences give the right time sliders.
+TestSection("Make sure replace sequences give right time sliders")
+DeleteAllPlots()
+OpenDatabase(dbs[0])
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+Test("timesliders26")
+TestWindowInformation("timesliders27")
+ReplaceDatabase(dbs[1])
+Test("timesliders28")
+TestWindowInformation("timesliders29")
+ReplaceDatabase(dbs[0])
+Test("timesliders30")
+# There should only be 1 time slider at this point.
+TestWindowInformation("timesliders31")
+
+# Make sure that when we replace an MT database with an ST database, we get
+# the right time sliders.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("wave*.silo database"), 30)
+
+AddPlot("Pseudocolor", "pressure")
+DrawPlots()
+SetTheView()
+Test("timesliders32")
+TestWindowInformation("timesliders33")
+# Replace with an ST database
+ReplaceDatabase(silo_data_path("wave0000.silo"))
+Test("timesliders34")
+TestWindowInformation("timesliders35")
+
+# Make sure that we get the right time sliders after we delete plots.
+TestSection("Make sure we get the right time sliders after deleting plots.")
+DeleteAllPlots()
+# Close all the sources so we get fresh time sliders.
+for source in GetGlobalAttributes().sources:
+    CloseDatabase(source)
+
+OpenDatabase(silo_data_path("wave.visit"))
+
+AddPlot("Pseudocolor", "pressure")
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+AddPlot("Pseudocolor", "p")
+DrawPlots()
+
+ResetView()
+v = GetView3D()
+v.viewNormal = (0.163324, 0.442866, 0.881586)
+v.viewUp = (-0.0889191, 0.896556, -0.433913)
+v.parallelScale = 16.9558
+v.imagePan = (0.0834786, 0.0495278)
+v.imageZoom = 1.53171
+SetView3D(v)
+
+Test("timesliders36")
+TestWindowInformation("timesliders37")
+SetActivePlots(0)
+DeleteActivePlots()
+Test("timesliders38")
+TestWindowInformation("timesliders39")
+DeleteActivePlots()
+TestWindowInformation("timesliders40")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_uintah.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_uintah.html new file mode 100644 index 000000000..877a998d6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_uintah.html @@ -0,0 +1,79 @@ + +Results for databases/uintah.py + +

Results of VisIt Regression Test - databases/uintah

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Particle data
Particle_000.000.00
Particle_010.000.00
Particle_020.000.00
Particle_030.000.00
Particle_040.000.00
Particle_050.000.00
Particle ID
 281474976710656.0 .eq. 281474976710656.0 (prec=0) : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_uintah_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_uintah_py.html new file mode 100644 index 000000000..f1ca2730f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_uintah_py.html @@ -0,0 +1,66 @@ +databases/uintah.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  uintah.py
+#
+#  Programmer: Eric Brugger
+#  Date:       Tue Jan  4 13:05:47 PST 2022
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("Uintah")
+
+def test_particle():
+    TestSection("Particle data")
+    OpenDatabase(pjoin(data_path("uintah_test_data"), "index.xml"))
+    AddPlot("Pseudocolor", "p.particleID/*")
+    pc = PseudocolorAttributes()
+    pc.pointType = pc.Point
+    pc.pointSizePixels = 40
+    SetPlotOptions(pc)
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (0, -1, 0)
+    v.focus = (0.01, 0.01, 0.015)
+    v.viewUp = (0, 0, 1)
+    v.viewAngle = 30
+    v.parallelScale = 0.0206155
+    v.nearPlane = -0.0412311
+    v.farPlane = 0.0412311
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 0
+    SetView3D(v)
+    Test("Particle_00")
+
+    ChangeActivePlotsVar("p.particleID/0")
+    Test("Particle_01")
+
+    ChangeActivePlotsVar("p.particleID/1")
+    Test("Particle_02")
+
+    ChangeActivePlotsVar("p.mass/*")
+    Test("Particle_03")
+
+    ChangeActivePlotsVar("p.mass/0")
+    Test("Particle_04")
+
+    ChangeActivePlotsVar("p.mass/1")
+    Test("Particle_05")
+
+    PickAtts = GetPickAttributes()
+    PickAtts.variables = ("p.particleID/*")
+    SetPickAttributes(PickAtts)
+    SetQueryOutputToObject()
+    p = NodePick(0, 0)
+    id = p['p.particleID/*']
+    TestValueEQ("Particle ID", id, 281474976710656., 0)
+
+def main():
+    test_particle()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_unv.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_unv.html new file mode 100644 index 000000000..26c39b8f2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_unv.html @@ -0,0 +1,72 @@ + +Results for databases/unv.py + +

Results of VisIt Regression Test - databases/unv

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
unv_010.000.00
unv_020.000.00
unv_030.000.00
unv_040.000.00
unv_050.000.00
unv_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_unv_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_unv_py.html new file mode 100644 index 000000000..af48cfb63 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_unv_py.html @@ -0,0 +1,175 @@ +databases/unv.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Tests:      smoke check of unv file reader.
+#
+#  Programmer: Olivier Cessenat
+#  Date: Thu Oct 11 08:42:44 PDT 2012
+#
+#  Modifications:
+#    Kathleen Biagas, Fri Sep 23 15:08:38 PDT 2022
+#    Remove use of obsolete FilledBoundaryAttributes fields: boundaryType
+#    and filledFlag.
+#
+# ----------------------------------------------------------------------------
+
+datapath = data_path("unv_test_data")
+
+OpenDatabase(pjoin(datapath, "small_sur.unv"))
+AddPlot("FilledBoundary", "boundaries(freemesh)")
+# Begin spontaneous state
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.446545, 0.0881432, 0.890409)
+View3DAtts.focus = (0, 0, 2.5)
+View3DAtts.viewUp = (-0.122457, 0.991793, -0.0367666)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 3.4641
+View3DAtts.nearPlane = -6.9282
+View3DAtts.farPlane = 6.9282
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.centerOfRotationSet = 0
+View3DAtts.centerOfRotation = (0, 0, 2.5)
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+View3DAtts.shear = (0, 0, 1)
+SetView3D(View3DAtts)
+DrawPlots()
+Test("unv_01")
+DeleteAllPlots()
+CloseDatabase(pjoin(datapath,"small_sur.unv"))
+
+OpenDatabase(pjoin(datapath,"small_mix.unv"))
+AddPlot("FilledBoundary", "surfmats(surfmesh)")
+AddPlot("Mesh", "surfmesh", 1, 0)
+DrawPlots()
+Test("unv_02")
+DeleteAllPlots()
+CloseDatabase(pjoin(datapath,"small_mix.unv"))
+
+OpenDatabase(pjoin(datapath,"small_vol_pri_bor.unv"),0)
+AddPlot("FilledBoundary", "boundaries(freemesh)")
+AddPlot("Mesh", "freemesh")
+DrawPlots()
+Test("unv_03")
+DeleteAllPlots()
+CloseDatabase(pjoin(datapath,"small_vol_pri_bor.unv"))
+
+OpenDatabase(pjoin(datapath,"small_vol_tet_bor.unv"),0)
+AddPlot("FilledBoundary", "boundaries(freemesh)")
+AddPlot("Mesh", "facemesh")
+DrawPlots()
+Test("unv_04")
+DeleteAllPlots()
+CloseDatabase(pjoin(datapath,"small_vol_tet_bor.unv"))
+
+OpenDatabase(pjoin(datapath,"small_vol_pyr_bor.unv"), 0)
+AddPlot("FilledBoundary", "load_sets(facemesh)")
+AddPlot("Mesh", "facemesh")
+AddPlot("Mesh", "mesh")
+SetActivePlots(2)
+AddOperator("ThreeSlice", 0)
+SetActivePlots(2)
+ThreeSliceAtts = ThreeSliceAttributes()
+ThreeSliceAtts.x = 0.1
+ThreeSliceAtts.y = 0.2
+ThreeSliceAtts.z = 0.24
+ThreeSliceAtts.interactive = 1
+SetOperatorOptions(ThreeSliceAtts, 0)
+SetActivePlots(0)
+FilledBoundaryAtts = FilledBoundaryAttributes()
+FilledBoundaryAtts.colorType = FilledBoundaryAtts.ColorByMultipleColors
+FilledBoundaryAtts.colorTableName = "Default"
+FilledBoundaryAtts.invertColorTable = 0
+FilledBoundaryAtts.legendFlag = 1
+FilledBoundaryAtts.lineWidth = 0
+FilledBoundaryAtts.singleColor = (0, 0, 0, 255)
+FilledBoundaryAtts.SetMultiColor(0, (255, 0, 0, 255))
+FilledBoundaryAtts.SetMultiColor(1, (0, 255, 0, 255))
+FilledBoundaryAtts.opacity = 0.258824
+FilledBoundaryAtts.wireframe = 0
+FilledBoundaryAtts.drawInternal = 0
+FilledBoundaryAtts.smoothingLevel = 0
+FilledBoundaryAtts.cleanZonesOnly = 0
+FilledBoundaryAtts.mixedColor = (255, 255, 255, 255)
+FilledBoundaryAtts.pointSize = 0.05
+FilledBoundaryAtts.pointType = FilledBoundaryAtts.Point
+FilledBoundaryAtts.pointSizeVarEnabled = 0
+FilledBoundaryAtts.pointSizeVar = "default"
+FilledBoundaryAtts.pointSizePixels = 2
+SetPlotOptions(FilledBoundaryAtts)
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.440531, 0.546377, 0.712323)
+View3DAtts.focus = (0, 0, 2.5)
+View3DAtts.viewUp = (-0.429096, 0.825111, -0.367517)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 3.4641
+View3DAtts.nearPlane = -6.9282
+View3DAtts.farPlane = 6.9282
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.centerOfRotationSet = 0
+View3DAtts.centerOfRotation = (0, 0, 2.5)
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+View3DAtts.shear = (0, 0, 1)
+SetView3D(View3DAtts)
+DrawPlots()
+Test("unv_05")
+
+DeleteAllPlots()
+CloseDatabase(pjoin(datapath,"small_vol_pyr_bor.unv"))
+OpenDatabase(pjoin(datapath, "small_sur.unv"))
+
+AddPlot("Vector", "normals2d", 1, 1)
+DrawPlots()
+# Begin spontaneous state
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.554906, -0.684409, 0.472931)
+View3DAtts.focus = (0, 0, 2.5)
+View3DAtts.viewUp = (-0.448111, 0.233062, 0.863063)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 3.4641
+View3DAtts.nearPlane = -6.9282
+View3DAtts.farPlane = 6.9282
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.centerOfRotationSet = 0
+View3DAtts.centerOfRotation = (0, 0, 2.5)
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+View3DAtts.shear = (0, 0, 1)
+View3DAtts.windowValid = 1
+SetView3D(View3DAtts)
+# End spontaneous state
+
+SaveWindowAtts = SaveWindowAttributes()
+SaveWindowAtts.outputToCurrentDirectory = 1
+SaveWindowAtts.outputDirectory = "."
+SaveWindowAtts.fileName = "small_sur_normals2d"
+SaveWindowAtts.family = 1
+SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
+SaveWindowAtts.width = 1024
+SaveWindowAtts.height = 1024
+SaveWindowAtts.screenCapture = 0
+SaveWindowAtts.saveTiled = 0
+SaveWindowAtts.quality = 80
+SaveWindowAtts.progressive = 0
+SaveWindowAtts.binary = 0
+SaveWindowAtts.stereo = 0
+SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
+SaveWindowAtts.forceMerge = 0
+SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
+SaveWindowAtts.advancedMultiWindowSave = 0
+SetSaveWindowAttributes(SaveWindowAtts)
+SaveWindow()
+Test("unv_06", SaveWindowAtts)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_vtk.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_vtk.html new file mode 100644 index 000000000..635634134 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_vtk.html @@ -0,0 +1,437 @@ + +Results for databases/vtk.py + +

Results of VisIt Regression Test - databases/vtk

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Materials in VTK
vtk_010.000.00
vtk_020.000.00
vtk_030.000.00
VTK XML-style data files
vtk_040.000.00
vtk_050.000.00
vtk_060.000.00
vtk_070.000.00
vtk_080.000.00
vtk_090.000.00
vtk_100.000.00
vtk_110.000.00
vtk_120.000.00
vtk_130.000.00
vtk_140.000.00
vtk_150.000.00
vtk_160.000.00
vtk_170.000.00
vtk_180.000.00
vtk_190.000.00
vtk_200.000.00
vtk_210.000.00
vtk_220.000.00
vtk_230.000.00
vtk_240.000.00
vtk_250.000.00
vtk_260.000.00
vtk_270.000.00
Quadratic triangles in VTK
vtk_280.000.00
vtk_290.000.00
!NBLOCKS in a .visit file
vtk_300.000.00
vtk_310.000.00
vtk_320.000.00
vtk_330 modifications totalling 0 lines
PVTU files
vtk_340.000.00
vtk_34a0.000.00
PVTI files
vtk_350.000.00
2D Unstructured grids with lines
vtk_360.000.00
VTM files
vtk_370.000.00
vtk_380.000.00
vtk_390.000.00
vtk_400 modifications totalling 0 lines
PVTK files
vtk_410.000.00
vtk_420.000.00
VTK ghost types
vtk_430.000.00
vtk_440.000.00
vtk_450.000.00
Database Expressions in VTK
vtk_460.000.00
PVD, single pvti file, no time, no groups
vtk_pvd_010.000.00
PVD, multiple vtr files, single time, no groups
vtk_pvd_020.000.00
PVD, multiple pvtr files, multiple times, no groups
vtk_pvd_030.000.00
vtk_pvd_040.000.00
PVD, multiple vtr files, multiple times, groups
vtk_pvd_050.000.00
vtk_pvd_060.000.00
PVD, multiple vtm files,multiple times
vtk_pvd_070.000.00
vtk_pvd_080.000.00
PVD, multiple pvti files, multiple times
vtk_pvd_090.000.00
vtk_pvd_100.000.00
vtk_pvd_110.000.00
vtk_pvd_120.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_vtk_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_vtk_py.html new file mode 100644 index 000000000..e1f2655e6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_vtk_py.html @@ -0,0 +1,474 @@ +databases/vtk.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  vtk.py 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       October 28, 2004 
+#
+#  Modifications:
+#    Kathleen Bonnell, Fri Sep 23 10:55:44 PDT 2005
+#    Re-organized code into separate methods.  Added TestXML method.
+#
+#    Brad Whitlock, Mon May 8 15:57:12 PST 2006
+#    Added test for higher_order_triangles.vtk
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Brad Whitlock, Tue Oct 23 11:18:12 PDT 2012
+#    I added tests for NBLOCKS .visit files, cycle & time, and PVTU files.
+#
+#    Eric Brugger, Tue Jun 25 18:20:31 PDT 2013
+#    I added a test for PVTI files.
+#
+#    Kathleen Biagas, Wed Feb 25 14:10:13 PST 2015
+#    Mesh name has been added to blocks.vtu test data, so add mesh plot
+#    to test is has been read correctly.
+#
+#    Kathleen Biagas, Tue Aug 18 14:00:16 PDT 2015
+#    Added a test for VTM files.
+#
+#    Kathleen Biagas, Thu Sep 21 14:56:25 MST 2017
+#    Added a test for PVTK files.
+#
+#    Edward Rusu, Mon Oct 01 15:09:24 PST 2018
+#    Added a test for vtkGhostType.
+#
+#    Kathleen Biagas, Tue Aug 24, 2021
+#    Added a test for PVD files.
+#
+# ----------------------------------------------------------------------------
+
+def TestMaterials():
+    TestSection("Materials in VTK")
+    OpenDatabase(data_path("vtk_test_data/globe_mats.vtk"))
+
+
+    #
+    # Test simple read and display of a material variable 
+    #
+    AddPlot("FilledBoundary","materials")
+    DrawPlots()
+    Test("vtk_01")
+
+    #
+    # Find set ids using their names
+    #
+    setId1 = -1
+    setId2 = -1
+    setId3 = -1
+    silr = SILRestriction()
+    for i in range(silr.NumSets()):
+        if silr.SetName(i) == "1":
+            setId1 = i
+        elif silr.SetName(i) == "2":
+            setId2 = i
+        elif silr.SetName(i) == "3":
+            setId3 = i
+
+    #
+    # Turn on air, but turn void and uranium off
+    #
+    silr.TurnOffSet(setId2)
+    SetPlotSILRestriction(silr)
+    Test("vtk_02")
+
+    silr.TurnOnSet(setId2)
+    SetPlotSILRestriction(silr)
+    AddOperator("Slice")
+    DrawPlots()
+    Test("vtk_03")
+
+    TurnMaterialsOn()
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/globe_mats.vtk"))
+
+def TestXML():
+    TestSection("VTK XML-style data files")
+    OpenDatabase(data_path("vtk_xml_test_data/curv2d.vts"))
+
+    AddPlot("Pseudocolor", "d");
+    DrawPlots();
+    Test("vtk_04")
+    ChangeActivePlotsVar("p")
+    DrawPlots()
+    Test("vtk_05")
+    ChangeActivePlotsVar("u")
+    DrawPlots()
+    Test("vtk_06")
+    ChangeActivePlotsVar("v")
+    DrawPlots()
+    Test("vtk_07")
+    DeleteActivePlots()
+    AddPlot("Vector", "vel")
+    DrawPlots()
+    Test("vtk_08")
+    DeleteActivePlots()
+    CloseDatabase(data_path("vtk_xml_test_data/curv2d.vts"))
+
+    OpenDatabase(data_path("vtk_xml_test_data/curv3d.vts"))
+
+    AddPlot("Pseudocolor", "d");
+    DrawPlots();
+    Test("vtk_09")
+    ChangeActivePlotsVar("p")
+    DrawPlots()
+    Test("vtk_10")
+    ChangeActivePlotsVar("t")
+    DrawPlots()
+    Test("vtk_11")
+    ChangeActivePlotsVar("u")
+    DrawPlots()
+    Test("vtk_12")
+    ChangeActivePlotsVar("v")
+    DrawPlots()
+    Test("vtk_13")
+    ChangeActivePlotsVar("w")
+    DrawPlots()
+    Test("vtk_14")
+    DeleteActivePlots()
+    AddPlot("Vector", "vel")
+    DrawPlots()
+    Test("vtk_15")
+    DeleteActivePlots()
+    CloseDatabase(data_path("vtk_xml_test_data/curv3d.vts"))
+
+    OpenDatabase(data_path("vtk_xml_test_data/rect3d.vtr"))
+
+    AddPlot("Pseudocolor", "d");
+    DrawPlots();
+    Test("vtk_16")
+    ChangeActivePlotsVar("p")
+    DrawPlots()
+    Test("vtk_17")
+    ChangeActivePlotsVar("t")
+    DrawPlots()
+    Test("vtk_18")
+    ChangeActivePlotsVar("u")
+    DrawPlots()
+    Test("vtk_19")
+    ChangeActivePlotsVar("v")
+    DrawPlots()
+    Test("vtk_20")
+    ChangeActivePlotsVar("w")
+    DrawPlots()
+    Test("vtk_21")
+    DeleteActivePlots()
+    AddPlot("Vector", "vel")
+    DrawPlots()
+    Test("vtk_22")
+    DeleteActivePlots()
+    CloseDatabase(data_path("vtk_xml_test_data/rect3d.vtr"))
+
+    OpenDatabase(data_path("vtk_xml_test_data/ucd2d.vtu"))
+
+    AddPlot("Pseudocolor", "d");
+    DrawPlots();
+    Test("vtk_23")
+    ChangeActivePlotsVar("speed")
+    DrawPlots()
+    Test("vtk_24")
+    ChangeActivePlotsVar("u")
+    DrawPlots()
+    Test("vtk_25")
+    ChangeActivePlotsVar("v")
+    DrawPlots()
+    Test("vtk_26")
+    DeleteActivePlots()
+    AddPlot("Vector", "vel")
+    DrawPlots()
+    Test("vtk_27")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_xml_test_data/ucd2d.vtu"))
+
+def TestHigherOrder():
+    TestSection("Quadratic triangles in VTK")
+    OpenDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
+
+    AddPlot("Mesh", "highorder_triangles");
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.429056, 0.759111, 0.489553)
+    v.focus = (0, 0, 0)
+    v.viewUp = (-0.901832, -0.39065, -0.184638)
+    v.viewAngle = 30
+    v.parallelScale = 1.73205
+    v.nearPlane = -3.4641
+    v.farPlane = 3.4641
+    v.imagePan = (0, 0)
+    v.imageZoom = 1.45106
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+
+    Test("vtk_28")
+    DeleteAllPlots()
+
+    DefineScalarExpression("zoneid", "zoneid(highorder_triangles)")
+    AddPlot("Pseudocolor", "zoneid")
+    p = PseudocolorAttributes()
+    p.colorTableName = "levels"
+    SetPlotOptions(p)
+    DrawPlots()
+    Test("vtk_29")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
+
+def TestNBLOCKS():
+    TestSection("!NBLOCKS in a .visit file")
+    OpenDatabase(data_path("vtk_test_data/visitfile/dbA.visit"))
+    AddPlot("Pseudocolor", "mesh/ireg")
+    DrawPlots()
+    ResetView()
+    Test("vtk_30")
+
+    # See that there are multiple time steps.
+    SetTimeSliderState(5)
+    Test("vtk_31")
+    DeleteAllPlots()
+
+    # See that there are 2 domains
+    AddPlot("Subset", "domains")
+    DrawPlots()
+    Test("vtk_32")
+
+    # Test that we can get the cycle and time out.
+    txt = ""
+    for i in range(10):
+        SetTimeSliderState(i)
+        Query("Cycle")
+        cycle = GetQueryOutputValue()
+        Query("Time")
+        time = GetQueryOutputValue()
+        txt = txt + "Cycle: %d, Time: %g\n" % (cycle, time)
+    TestText("vtk_33", txt)
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/visitfile/dbA.visit"))
+
+def TestPVTU():
+    TestSection("PVTU files")
+    OpenDatabase(data_path("vtk_test_data/blocks.pvtu"))
+    AddPlot("Pseudocolor", "MatNum")
+    DrawPlots()
+    ResetView()
+    Test("vtk_34")
+    # MeshName recently added, so test.
+    AddPlot("Mesh", "blocks")
+    DrawPlots()
+    Test("vtk_34a")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/blocks.pvtu"))
+
+def TestPVTI():
+    TestSection("PVTI files")
+    OpenDatabase(data_path("vtk_xml_test_data/earth.pvti"))
+    AddPlot("Truecolor", "PNGImage")
+    DrawPlots()
+    ResetView()
+    Test("vtk_35")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_xml_test_data/earth.pvti"))
+
+def TestMixedTopology():
+    TestSection("2D Unstructured grids with lines")
+    OpenDatabase(data_path("vtk_test_data/test_bound.vtk"))
+    AddPlot("Pseudocolor", "data_cells_with_bound")
+    DrawPlots()
+    ResetView()
+    Test("vtk_36")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/test_bound.vtk"))
+
+def TestVTM():
+    TestSection("VTM files")
+    f = "files.vtm"
+    fN = data_path("vtk_xml_test_data/MultiBlock/%s"%f)
+    OpenDatabase(fN)
+    AddPlot("Subset", "Blocks")
+    DrawPlots()
+    ResetView()
+    Test("vtk_37")
+
+    mmd = GetMetaData(fN).GetMeshes(0)
+    s = f + ":    Groups: " + ", ".join(mmd.groupNames)
+    s = s + "     Blocks: " + ", ".join(mmd.blockNames) + "\n"
+
+    DeleteAllPlots()
+    CloseDatabase(fN)
+
+    f = "files_grouped.vtm"
+    fN = data_path("vtk_xml_test_data/MultiBlock/%s"%f)
+    OpenDatabase(fN)
+    AddPlot("Subset", "Blocks")
+    DrawPlots()
+    ResetView()
+    Test("vtk_38")
+
+    ChangeActivePlotsVar("Groups")
+    DrawPlots()
+    ResetView()
+    Test("vtk_39")
+
+    mmd = GetMetaData(fN).GetMeshes(0)
+    s = s + f + ":    Groups: " + ", ".join(mmd.groupNames)
+    s = s + "    Blocks: " + ", ".join(mmd.blockNames) + "\n"
+    TestText("vtk_40", s)
+    DeleteAllPlots()
+    CloseDatabase(fN)
+
+def TestPVTK():
+    TestSection("PVTK files")
+    f = "earth.pvtk"
+    fN = data_path("vtk_test_data/pvtk/%s"%f)
+    OpenDatabase(fN)
+    AddPlot("Truecolor", "PNGImage")
+    DrawPlots()
+    ResetView()
+    Test("vtk_41")
+
+    DeleteAllPlots()
+    CloseDatabase(fN)
+
+    f = "dbA.pvtk"
+    fN = data_path("vtk_test_data/pvtk/dbA/%s"%f)
+    OpenDatabase(fN)
+    AddPlot("Pseudocolor", "mesh/ireg")
+    DrawPlots()
+    ResetView()
+    Test("vtk_42")
+
+    DeleteAllPlots()
+    CloseDatabase(fN)
+
+def TestVTKGhostType():
+    TestSection("VTK ghost types")
+    OpenDatabase(data_path("vtk_test_data/vtkGhostType.vtk"))
+    ResetView()
+    AddPlot("Pseudocolor", "internal_var_GhostZones")
+    DrawPlots()
+    Test("vtk_43")
+
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "internal_var_GhostNodes")
+    DrawPlots()
+    Test("vtk_44")
+
+    DeleteAllPlots()
+    AddPlot("Mesh", "Mesh_gnz")
+    DrawPlots()
+    Test("vtk_45")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/vtkGhostType.vtk"))
+
+def TestDBExpressions():
+    TestSection("Database Expressions in VTK")
+    OpenDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
+
+    AddPlot("Mesh", "highorder_triangles");
+    AddPlot("Pseudocolor", "x")
+    AddPlot("Vector", "posvec")
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.429056, 0.759111, 0.489553)
+    v.viewUp = (-0.901832, -0.39065, -0.184638)
+    v.parallelScale = 1.73205
+    v.nearPlane = -3.4641
+    v.farPlane = 3.4641
+    v.imageZoom = 1.45106
+    SetView3D(v)
+
+    Test("vtk_46")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
+
+def TestPVD():
+
+    TestSection("PVD, single pvti file, no time, no groups")
+    OpenDatabase(data_path("vtk_xml_test_data/earth.pvd"))
+    AddPlot("Truecolor", "PNGImage")
+    DrawPlots()
+    ResetView()
+    Test("vtk_pvd_01")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_xml_test_data/earth.pvd"))
+
+    TestSection("PVD, multiple vtr files, single time, no groups")
+    OpenDatabase(data_path("vtk_xml_test_data/multiRect3d.pvd"))
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    ResetView()
+    Test("vtk_pvd_02")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_xml_test_data/multiRect3d.pvd"))
+
+    TestSection("PVD, multiple pvtr files, multiple times, no groups")
+    OpenDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_pvtr.pvd"))
+    AddPlot("Pseudocolor", "radial")
+    DrawPlots()
+    ResetView()
+    Test("vtk_pvd_03")
+    TimeSliderSetState(5)
+    Test("vtk_pvd_04")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_pvtr.pvd"))
+
+    TestSection("PVD, multiple vtr files, multiple times, groups")
+    OpenDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_part_vtr.pvd"))
+    AddPlot("Subset", "parts")
+    DrawPlots()
+    Test("vtk_pvd_05")
+    ChangeActivePlotsVar("blocks")
+    Test("vtk_pvd_06")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_part_vtr.pvd"))
+
+    TestSection("PVD, multiple vtm files,multiple times")
+    OpenDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_vtm.pvd"))
+    AddPlot("Pseudocolor", "radial")
+    DrawPlots()
+    ResetView()
+    Test("vtk_pvd_07")
+    TimeSliderSetState(5)
+    Test("vtk_pvd_08")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_vtm.pvd"))
+
+    TestSection("PVD, multiple pvti files, multiple times")
+    OpenDatabase(data_path("vtk_xml_test_data/earth_multiTime/earth_time.pvd"))
+    AddPlot("Truecolor", "PNGImage")
+    DrawPlots()
+    ResetView()
+    Test("vtk_pvd_09")
+    TimeSliderNextState()
+    Test("vtk_pvd_10")
+    TimeSliderNextState()
+    Test("vtk_pvd_11")
+    TimeSliderNextState()
+    Test("vtk_pvd_12")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_xml_test_data/earth_multiTime/earth_time.pvd"))
+
+
+TestMaterials()
+TestXML()
+TestHigherOrder()
+TestNBLOCKS()
+TestPVTU()
+TestPVTI()
+TestMixedTopology()
+TestVTM()
+TestPVTK()
+TestVTKGhostType()
+TestDBExpressions()
+TestPVD()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_wave_tv.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_wave_tv.html new file mode 100644 index 000000000..7bc92ca5b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_wave_tv.html @@ -0,0 +1,62 @@ + +Results for databases/wave_tv.py + +

Results of VisIt Regression Test - databases/wave_tv

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
wave_tv_010.000.00
wave_tv_020.000.00
wave_tv_030 modifications totalling 0 lines
wave_tv_040 modifications totalling 0 lines
wave_tv_050.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_wave_tv_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_wave_tv_py.html new file mode 100644 index 000000000..75b433928 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_wave_tv_py.html @@ -0,0 +1,88 @@ +databases/wave_tv.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  silo.py 
+#
+#  Tests:      The wave_tv database which varies domains and materials and
+#              number of meshes over time.
+#
+#  Defects:    '4760
+#
+#  Programmer: Hank Childs
+#  Date:       April 9, 2004 
+#
+#  Modifications:
+#
+#    Mark C. Miller, June 12, 2007
+#    Replaced explicit annotation manipulation with call to
+#    TurnOffAllAnnotations. Added tests of TreatAllDBsAsTimeVarying
+#    functionality
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("wave_tv*.silo database"), 9)
+
+
+#
+# This brings up a subset plot with 5 materials.
+#
+AddPlot("FilledBoundary", "Material")
+DrawPlots()
+
+Test("wave_tv_01")
+
+#
+# There was a bug ('4760), where animating over time would crash the engine
+# when some materials went out of scope.
+#
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+
+Test("wave_tv_02")
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("wave_tv*.silo database") )
+
+#
+# Open wave_tv one state BEFORE where variable 'transient' is
+# defined and then march forward. With 'TreatAllDBsAsTimeVarying'
+# turned off, the add should always fail. With it turned on,
+# the add should succeed on state 17.
+#
+OpenDatabase(silo_data_path("wave_tv*.silo database") , 16)
+addOk16 = AddPlot("Pseudocolor","transient")
+DeleteAllPlots()
+TimeSliderNextState()
+addOk17 = AddPlot("Pseudocolor","transient")
+msg = "With TreatAllDBsAsTimeVarying set to its default value,\n"
+msg = msg + "AddPlot() returned %d for state 16 and %d for state 17"%(addOk16,addOk17)
+TestText("wave_tv_03", msg)
+DeleteAllPlots()
+CloseDatabase(silo_data_path("wave_tv*.silo database") )
+
+SetTreatAllDBsAsTimeVarying(1)
+OpenDatabase(silo_data_path("wave_tv*.silo database"), 16)
+
+addOk16 = AddPlot("Pseudocolor","transient")
+DeleteAllPlots()
+TimeSliderNextState()
+addOk17 = AddPlot("Pseudocolor","transient")
+msg = "With TreatAllDBsAsTimeVarying set to 1 (true),\n"
+msg = msg + "AddPlot() returned %d for state 16 and %d for state 17"%(addOk16,addOk17)
+TestText("wave_tv_04", msg)
+DrawPlots()
+Test("wave_tv_05")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_xdmf.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_xdmf.html new file mode 100644 index 000000000..2025a8ca3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_xdmf.html @@ -0,0 +1,330 @@ + +Results for databases/xdmf.py + +

Results of VisIt Regression Test - databases/xdmf

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Structured (no hdf5)
xdmf_0_000.000.00
xdmf_0_010.000.00
Basic topology (no hdf5)
xdmf_1_000.000.00
xdmf_1_010.000.00
xdmf_1_020.000.00
xdmf_1_030.000.00
xdmf_1_040.000.00
xdmf_1_050.000.00
xdmf_1_060.000.00
xdmf_1_070.000.00
xdmf_1_080.000.00
xdmf_1_090.000.00
xdmf_1_100.000.00
xdmf_1_110.000.00
xdmf_1_120.000.00
xdmf_1_130.000.00
xdmf_1_140.000.00
xdmf_1_150.000.00
xdmf_1_160.000.00
xdmf_1_170.000.00
Mixed (no hdf5)
xdmf_2_000.000.00
Polygon (no hdf5)
xdmf_3_000.000.00
xdmf_3_010.000.00
xdmf_3_020.000.00
Quadratic topology (no hdf5)
xdmf_4_000.000.00
xdmf_4_010.000.00
xdmf_4_020.000.00
xdmf_4_030.000.00
xdmf_4_040.000.00
xdmf_4_050.000.00
Multiple grids (no hdf5)
xdmf_5_000.000.00
Structured with hdf5
xdmf_6_000.000.00
xdmf_6_010.000.00
xdmf_6_020.000.00
xdmf_6_030.000.00
xdmf_6_040.000.00
xdmf_6_050.000.00
xdmf_6_060.000.00
Quadratic topology (no hdf5)
xdmf_7_000.000.00
xdmf_7_010.000.00
xdmf_7_020.000.00
xdmf_7_030.000.00
xdmf_7_040.000.00
xdmf_7_050.000.00
xdmf_7_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_xdmf_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_xdmf_py.html new file mode 100644 index 000000000..950dc6cbf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_xdmf_py.html @@ -0,0 +1,436 @@ +databases/xdmf.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  xdmf.py
+#
+#  Programmer: Brad Whitlock
+#  Date:       Tue Apr 27 10:37:01 PDT 2010
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("Xdmf")
+
+def test0(datapath):
+    TestSection("Structured (no hdf5)")
+    OpenDatabase(pjoin(datapath,"3DRectMesh.xmf"))
+    AddPlot("Pseudocolor", "CellScalars")
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.722705, 0.363868, 0.587621)
+    v.focus = (2, 1.5, 1.5)
+    v.viewUp = (0.277541, 0.931424, -0.235414)
+    v.viewAngle = 30
+    v.parallelScale = 2.91548
+    v.nearPlane = -5.83095
+    v.farPlane = 5.83095
+    v.imagePan = (0.0188164, 0.0435196)
+    v.imageZoom = 1.09024
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (2, 1.5, 1.5)
+    SetView3D(v)
+    Test("xdmf_0_00")
+
+    ChangeActivePlotsVar("NodeScalars")
+    Test("xdmf_0_01")
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"3DRectMesh.xmf"))
+
+def test1(datapath):
+    TestSection("Basic topology (no hdf5)")
+    OpenDatabase(pjoin(datapath,"BasicTopology.xmf"))
+    AddPlot("Pseudocolor", "Hexahedron/Cell Centered Values")
+    DrawPlots()
+
+    pc = PseudocolorAttributes(1)
+    pc.pointSizePixels = 10
+    pc.pointType = pc.Point
+    SetPlotOptions(pc)
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.722705, 0.363868, 0.587621)
+    v.focus = (0.5, 0.5, 2)
+    v.viewUp = (0.277541, 0.931424, -0.235414)
+    v.viewAngle = 30
+    v.parallelScale = 2.12132
+    v.nearPlane = -4.24264
+    v.farPlane = 4.24264
+    v.imagePan = (0.0665142, 0.0326173)
+    v.imageZoom = 1.4219
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 0.5, 2)
+    SetView3D(v)
+    Test("xdmf_1_00")
+
+    ChangeActivePlotsVar("Hexahedron/Node Centered Values")
+    Test("xdmf_1_01")
+
+    # Polygon
+    ChangeActivePlotsVar("Polygon/Cell Centered Values")
+    Test("xdmf_1_02")
+    ChangeActivePlotsVar("Polygon/Node Centered Values")
+    Test("xdmf_1_03")
+
+    # Polyline
+    ChangeActivePlotsVar("Polyline/Cell Centered Values")
+    Test("xdmf_1_04")
+    ChangeActivePlotsVar("Polyline/Node Centered Values")
+    Test("xdmf_1_05")
+
+    # Polyvertex
+    ChangeActivePlotsVar("Polyvertex/Cell Centered Values")
+    Test("xdmf_1_06")
+    ChangeActivePlotsVar("Polyvertex/Node Centered Values")
+    Test("xdmf_1_07")
+
+    # Pyramid
+    ChangeActivePlotsVar("Pyramid/Cell Centered Values")
+    Test("xdmf_1_08")
+    ChangeActivePlotsVar("Pyramid/Node Centered Values")
+    Test("xdmf_1_09")
+
+    # Quadrilateral
+    ChangeActivePlotsVar("Quadrilateral/Cell Centered Values")
+    Test("xdmf_1_10")
+    ChangeActivePlotsVar("Quadrilateral/Node Centered Values")
+    Test("xdmf_1_11")
+
+    # Tetrahedron
+    ChangeActivePlotsVar("Tetrahedron/Cell Centered Values")
+    Test("xdmf_1_12")
+    ChangeActivePlotsVar("Tetrahedron/Node Centered Values")
+    Test("xdmf_1_13")
+
+    # Triangle
+    ChangeActivePlotsVar("Triangle/Cell Centered Values")
+    Test("xdmf_1_14")
+    ChangeActivePlotsVar("Triangle/Node Centered Values")
+    Test("xdmf_1_15")
+
+    # Wedge
+    ChangeActivePlotsVar("Wedge/Cell Centered Values")
+    Test("xdmf_1_16")
+    ChangeActivePlotsVar("Wedge/Node Centered Values")
+    Test("xdmf_1_17")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"BasicTopology.xmf"))
+
+def test2(datapath):
+    TestSection("Mixed (no hdf5)")
+    # Open the mixed topology file
+    OpenDatabase(pjoin(datapath,"Mixed.xmf"))
+    DeleteAllPlots()
+    AddPlot("Mesh", "Mixed")
+    m = MeshAttributes()
+    m.legendFlag = 1
+    m.lineWidth = 1
+    m.meshColor = (255, 0, 0, 255)
+    m.meshColorSource = m.MeshCustom  # Foreground, MeshCustom
+    m.opaqueColorSource = m.OpaqueCustom  # Background, OpaqueCustom
+    m.opaqueMode = m.Auto  # Auto, On, Off
+    m.pointSize = 0.05
+    m.opaqueColor = (192, 192, 192, 255)
+    m.smoothingLevel = m.NONE  # None, Fast, High
+    m.pointSizeVarEnabled = 0
+    m.pointSizeVar = "default"
+    m.pointType = m.Point  # Box, Axis, Icosahedron, Point, Sphere
+    m.showInternal = 0
+    m.pointSizePixels = 2
+    m.opacity = 1
+    SetPlotOptions(m)
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.611582, 0.210354, 0.762705)
+    v.focus = (0.5, 0.5, 2)
+    v.viewUp = (0.145916, 0.97746, -0.15258)
+    v.viewAngle = 30
+    v.parallelScale = 2.12132
+    v.nearPlane = -4.24264
+    v.farPlane = 4.24264
+    v.imagePan = (-0.0635688, 0.0486989)
+    v.imageZoom = 1.17908
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 0.5, 2)
+    SetView3D(v)
+    Test("xdmf_2_00")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath, "Mixed.xmf"))
+
+def test3(datapath):
+    TestSection("Polygon (no hdf5)")
+    OpenDatabase(pjoin(datapath,"PolygonOctagon.xmf"))
+    AddPlot("Mesh", "PolygonOctagon")
+    DrawPlots()
+    ResetView()
+    Test("xdmf_3_00")
+
+    AddPlot("Pseudocolor", "CellScalar")
+    DrawPlots()
+    Test("xdmf_3_01")
+
+    ChangeActivePlotsVar("NodeScalar")
+    Test("xdmf_3_02")
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"PolygonOctagon.xmf"))
+
+def test4(datapath):
+    TestSection("Quadratic topology (no hdf5)")
+    OpenDatabase(pjoin(datapath,"QuadraticTopology.xmf"))
+    AddPlot("Pseudocolor", "Hexahedron_20/Node Centered Values")
+    DrawPlots()
+    v = View3DAttributes()
+    v.viewNormal = (-0.703184, 0.393286, 0.592333)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0.293186, 0.919352, -0.262361)
+    v.viewAngle = 30
+    v.parallelScale = 0.866025
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    v.imagePan = (0.0122989, 0.0367562)
+    v.imageZoom = 1.02726
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 0.5, 0.5)
+    SetView3D(v)
+    Test("xdmf_4_00")
+
+    ChangeActivePlotsVar("Pyramid_13/Node Centered Values")
+    Test("xdmf_4_01")
+
+    ChangeActivePlotsVar("Quadrilateral_8/Node Centered Values")
+    Test("xdmf_4_02")
+
+    ChangeActivePlotsVar("Tetrahedron_10/Node Centered Values")
+    Test("xdmf_4_03")
+
+    ChangeActivePlotsVar("Triangle_6/Node Centered Values")
+    Test("xdmf_4_04")
+
+    ChangeActivePlotsVar("Wedge_15/Node Centered Values")
+    Test("xdmf_4_05")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"QuadraticTopology.xmf"))
+
+def test5(datapath):
+    TestSection("Multiple grids (no hdf5)")
+    OpenDatabase(pjoin(datapath,"TetrahedronMultipleGrids.xmf"))
+    AddPlot("Pseudocolor", "Tetrahedron 1/CellScalar")
+    AddPlot("Pseudocolor", "Tetrahedron 2/CellScalar")
+    DrawPlots()
+    v = View3DAttributes()
+    v.viewNormal = (-0.0158313, 0.998128, -0.0590748)
+    v.focus = (0, 0.5, 0)
+    v.viewUp = (-0.0096669, -0.0592323, -0.998197)
+    v.viewAngle = 30
+    v.parallelScale = 1.5
+    v.nearPlane = -3
+    v.farPlane = 3
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0.5, 0)
+    SetView3D(v)
+
+    Test("xdmf_5_00")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"TetrahedronMultipleGrids.xmf"))
+
+def test6(datapath):
+    TestSection("Structured with hdf5")
+    db = pjoin(datapath,"rect2d.xmf")
+    OpenDatabase(db)
+    AddPlot("Mesh", "mesh")
+    AddPlot("Pseudocolor", "Pressure")
+    DrawPlots()
+    ResetView()
+    Test("xdmf_6_00")
+    ChangeActivePlotsVar("VelocityX")
+    Test("xdmf_6_01")
+
+    db = pjoin(datapath,"corect2d.xmf")
+    ReplaceDatabase(db)
+    DrawPlots()
+    ResetView()
+    Test("xdmf_6_02")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+    db = pjoin(datapath,"rect3d.xmf")
+    OpenDatabase(db)
+    AddPlot("Mesh", "mesh")
+    AddPlot("Pseudocolor", "VelocityZ")
+    DrawPlots()
+    ResetView()
+    Test("xdmf_6_03")
+
+    db = pjoin(datapath,"corect3d.xmf")
+    ReplaceDatabase(db)
+    DrawPlots()
+    ResetView()
+    Test("xdmf_6_04")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+    db = pjoin(datapath,"xdmf2d.xmf")
+    OpenDatabase(db)
+    AddPlot("Mesh", "mesh1")
+    AddPlot("Pseudocolor", "Pressure")
+    DrawPlots()
+    Test("xdmf_6_05")
+
+    ChangeActivePlotsVar("VelocityX")
+    Test("xdmf_6_06")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test7(datapath):
+    TestSection("Quadratic topology (no hdf5)")
+    OpenDatabase(pjoin(datapath,"singleHex24.xmf"))
+    AddPlot("Mesh", "singleHex24")
+    AddPlot("Pseudocolor", "GlobalNodeId")
+    DrawPlots()
+    v = View3DAttributes()
+    v.viewNormal = (-0.690415, 0.541158, 0.480078)
+    v.focus = (0, 0, 0)
+    v.viewUp = (0.123212, -0.565967, 0.815169)
+    v.viewAngle = 30
+    v.parallelScale = 1.73205
+    v.nearPlane = -3.4641
+    v.farPlane = 3.4641
+    v.imagePan = (0, 0.0352717)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+
+    Test("xdmf_7_00")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"singleHex24.xmf"))
+
+    OpenDatabase(pjoin(datapath,"singleHex27.xmf"))
+    AddPlot("Mesh", "singleHex27")
+    AddPlot("Pseudocolor", "GlobalNodeId")
+    DrawPlots()
+
+    Test("xdmf_7_01")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"singleHex27.xmf"))
+
+    OpenDatabase(pjoin(datapath,"singleQuad6.xmf"))
+    AddPlot("Mesh", "singleQuad6")
+    AddPlot("Pseudocolor", "GlobalNodeId")
+    DrawPlots()
+
+    Test("xdmf_7_02")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"singleQuad6.xmf"))
+
+    OpenDatabase(pjoin(datapath,"singleQuad9.xmf"))
+    AddPlot("Mesh", "singleQuad9")
+    AddPlot("Pseudocolor", "GlobalNodeId")
+    DrawPlots()
+
+    Test("xdmf_7_03")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"singleQuad9.xmf"))
+
+    OpenDatabase(pjoin(datapath,"singleTri7.xmf"))
+    AddPlot("Mesh", "singleTri7")
+    AddPlot("Pseudocolor", "GlobalNodeId")
+    DrawPlots()
+
+    Test("xdmf_7_04")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath, "singleTri7.xmf"))
+
+    OpenDatabase(pjoin(datapath, "singleWedge12.xmf"))
+    AddPlot("Mesh", "singleWedge12")
+    AddPlot("Pseudocolor", "GlobalNodeId")
+    DrawPlots()
+    v = View3DAttributes()
+    v.viewNormal = (0.69918, -0.142559, 0.700588)
+    v.focus = (0, 0, 0.5)
+    v.viewUp = (-0.216074, 0.89196, 0.397139)
+    v.viewAngle = 30
+    v.parallelScale = 1.5
+    v.nearPlane = -3
+    v.farPlane = 3
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+
+    Test("xdmf_7_05")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"singleWedge12.xmf"))
+
+    OpenDatabase(pjoin(datapath,"singleWedge18.xmf"))
+    AddPlot("Mesh", "singleWedge18")
+    AddPlot("Pseudocolor", "GlobalNodeId")
+    DrawPlots()
+
+    Test("xdmf_7_06")
+
+    DeleteAllPlots()
+    CloseDatabase(pjoin(datapath,"singleWedge18.xmf"))
+
+def main():
+    datapath = data_path("xdmf_test_data")
+    test0(datapath)
+    test1(datapath)
+    test2(datapath)
+    test3(datapath)
+    test4(datapath)
+    test5(datapath)
+
+    test6(datapath)
+    test7(datapath)
+
+main()
+Exit()
+
+
+#fails:
+# rect2d.xmf
+#              Crashes the engine cuz we don't give a Z coordinate
+#
+# corect2d.xml 
+#              I can plot the mesh but it is in the YZ plane, which doesn't seem right.
+#              Does not expose Pressure or VelocityX.
+#              
+# rect3d.xmf
+#              Only exposes VelocityZ (where is Pressure?)
+#
+# corect3d.xmf
+#              Does not expose Pressure or VelocityZ
+
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_xform_precision.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_xform_precision.html new file mode 100644 index 000000000..163d5c994 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_xform_precision.html @@ -0,0 +1,72 @@ + +Results for databases/xform_precision.py + +

Results of VisIt Regression Test - databases/xform_precision

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
float_xform_010.000.00
float_xform_020.000.00
float_xform_030.000.00
float_xform_040.000.00
float_xform_050.000.00
float_xform_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_xform_precision_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_xform_precision_py.html new file mode 100644 index 000000000..8d8f6f4b0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_xform_precision_py.html @@ -0,0 +1,86 @@ +databases/xform_precision.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  xform_precision.py 
+#
+#  Tests:      Transform manager's conversion to float 
+#
+#  Programmer: Mark C. Miller
+#  Date:       September 24, 2006 
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("quad_disk.silo"))
+
+
+#
+# Turn off force single precision for this test
+#
+readOptions=GetDefaultFileOpenOptions("Silo")
+readOptions["Force Single"] = 0
+SetDefaultFileOpenOptions("Silo", readOptions)
+
+#
+# Test ordinary float data (no conversion) first
+#
+AddPlot("Mesh","mesh")
+DrawPlots()
+Test("float_xform_01")
+DeleteAllPlots()
+
+#
+# Ok, now read a mesh with double coords
+#
+AddPlot("Mesh","meshD")
+DrawPlots()
+Test("float_xform_02")
+DeleteAllPlots()
+
+CloseDatabase(silo_data_path("quad_disk.silo"))
+OpenDatabase(silo_data_path("quad_disk.silo"))
+
+
+#
+# test float data on a float mesh
+#
+AddPlot("Pseudocolor","sphElev_on_mesh")
+DrawPlots()
+Test("float_xform_03")
+DeleteAllPlots()
+
+#
+# test float data on a double mesh
+#
+AddPlot("Pseudocolor","sphElev_on_meshD")
+DrawPlots()
+Test("float_xform_04")
+DeleteAllPlots()
+
+#
+# test double data on a float mesh
+#
+AddPlot("Pseudocolor","sphElevD_on_mesh")
+DrawPlots()
+Test("float_xform_05")
+DeleteAllPlots()
+
+CloseDatabase(silo_data_path("quad_disk.silo"))
+
+OpenDatabase(silo_data_path("quad_disk.silo"))
+
+
+#
+# test double data on a double mesh
+#
+AddPlot("Pseudocolor","sphElevD_on_meshD")
+DrawPlots()
+Test("float_xform_06")
+DeleteAllPlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_xyz.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_xyz.html new file mode 100644 index 000000000..073c5ed25 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_xyz.html @@ -0,0 +1,76 @@ + +Results for databases/xyz.py + +

Results of VisIt Regression Test - databases/xyz

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
xyz_010.000.00
xyz_020.000.00
xyz_030.000.00
xyz_040.000.00
xyz_050.000.00
xyz_060.000.00
xyz_070 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/databases_xyz_py.html b/2023-11-08-22:00/pascal_trunk_parallel/databases_xyz_py.html new file mode 100644 index 000000000..3ae263a47 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/databases_xyz_py.html @@ -0,0 +1,81 @@ +databases/xyz.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  xyz.py
+#
+#  Tests:      mesh      - 3D Points
+#              plots     - Molecule
+#
+#  Defect ID:  none
+#
+#  Programmer: Jeremy Meredith
+#  Date:       June 14, 2007
+#
+#  Modifications:
+#    Eddie Rusu, Mon Aug 26 08:46:44 PDT 2019
+#    Added test for cell-centered non VTK_VERTEX points.
+#
+#    Kathleen Biagas, Mon Jun 21 09:41:41 PDT 2021
+#    Added 'DeleteAllPlots' before 'CloseDatabase'.
+#
+# ----------------------------------------------------------------------------
+
+
+def test_xyz_ascii_output(data_base_name, var, test_output):
+    OpenDatabase(silo_data_path(data_base_name))
+    AddPlot("Pseudocolor", var, 1, 1)
+    DrawPlots()
+
+    # Export results to database
+    e = ExportDBAttributes()
+    e.db_type = "XYZ"
+    e.filename = "test_ex_db"
+    ExportDatabase(e)
+    time.sleep(1)
+
+    # Stream the ascii text in from the exported database
+    file_streamer = open(e.filename+'.xyz', 'r')
+    string_to_test = file_streamer.read()
+    file_streamer.close()
+
+    # Test the string
+    TestText(test_output, string_to_test)
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path(data_base_name))
+
+
+
+# Starting point in this script
+OpenDatabase(data_path("xyz_test_data/nanowireTB23K298.xyz"),0, "XYZ_1.0")
+
+AddPlot("Molecule", "element")
+DrawPlots()
+
+View3DAtts = GetView3D()
+View3DAtts.viewNormal = (-0.882253, 0.0562832, 0.467398)
+View3DAtts.focus = (26.3509, 22.1853, 31.5426)
+View3DAtts.viewUp = (-0.0613441, 0.970619, -0.232672)
+View3DAtts.viewAngle = 30
+SetView3D(View3DAtts)
+
+Test("xyz_01")
+TimeSliderNextState()
+Test("xyz_02")
+TimeSliderNextState()
+Test("xyz_03")
+TimeSliderNextState()
+Test("xyz_04")
+TimeSliderNextState()
+Test("xyz_05")
+TimeSliderNextState()
+Test("xyz_06")
+DeleteAllPlots()
+CloseDatabase(data_path("xyz_test_data/nanowireTB23K298.xyz"))
+
+# Test case where XYZ writer is cell-centered VTK_VERTEX data
+# In this case, the baseline text is generated from the point-centered data.
+DefineScalarExpression("vz2", 'recenter(vz, "zonal")')
+test_xyz_ascii_output('galaxy0000.silo', 'vz2', 'xyz_07')
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/expressions_ghost_zoneid_expr.html b/2023-11-08-22:00/pascal_trunk_parallel/expressions_ghost_zoneid_expr.html new file mode 100644 index 000000000..6d6136c2a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/expressions_ghost_zoneid_expr.html @@ -0,0 +1,58 @@ + +Results for expressions/ghost_zoneid_expr.py + +

Results of VisIt Regression Test - expressions/ghost_zoneid_expr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Ghost Zone ID Expression
Minimum Field Value
 0.0 .eq. 0.0 (prec=5) : True
Maximum Field Value
 0.0 .eq. 0.0 (prec=5) : True
Ghost Zone ID Expression w/ Inverse Ghost Zones Debugging
Minimum Field Value
 1.0 .eq. 1.0 (prec=5) : True
Maximum Field Value
 1.0 .eq. 1.0 (prec=5) : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/expressions_ghost_zoneid_expr_py.html b/2023-11-08-22:00/pascal_trunk_parallel/expressions_ghost_zoneid_expr_py.html new file mode 100644 index 000000000..e8401e4b9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/expressions_ghost_zoneid_expr_py.html @@ -0,0 +1,46 @@ +expressions/ghost_zoneid_expr.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ghost_zoneid_expr.py
+#
+#  Tests:      Ghost Zone Id Expression
+#
+#  Programmer: Justin Privitera
+#  Date:       Wed Apr 6 15:03:47 PDT 2022
+#
+# ----------------------------------------------------------------------------
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+meshName = "mesh1"
+
+#
+# Set precision for rounding operations
+#
+Prec = 5
+
+TestSection("Ghost Zone ID Expression")
+
+AddPlot("Pseudocolor", "d")
+DefineScalarExpression("ghostzonevar", "ghost_zoneid(" + meshName + ")")
+AddPlot("Pseudocolor", "ghostzonevar")
+DrawPlots()
+Query("MinMax")
+q = GetQueryOutputObject()
+TestValueEQ("Minimum Field Value", q['min'], 0.0, Prec)
+TestValueEQ("Maximum Field Value", q['max'], 0.0, Prec)
+DeleteAllPlots()
+
+TestSection("Ghost Zone ID Expression w/ Inverse Ghost Zones Debugging")
+
+AddPlot("Pseudocolor", "d")
+AddOperator("InverseGhostZone", 1)
+DefineScalarExpression("ghostzonevar", "ghost_zoneid(" + meshName + ")")
+ChangeActivePlotsVar("ghostzonevar")
+DrawPlots()
+Query("MinMax")
+q = GetQueryOutputObject()
+TestValueEQ("Minimum Field Value", q['min'], 1.0, Prec)
+TestValueEQ("Maximum Field Value", q['max'], 1.0, Prec)
+DeleteAllPlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/expressions_tensor_expr.html b/2023-11-08-22:00/pascal_trunk_parallel/expressions_tensor_expr.html new file mode 100644 index 000000000..ba9d7abcd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/expressions_tensor_expr.html @@ -0,0 +1,194 @@ + +Results for expressions/tensor_expr.py + +

Results of VisIt Regression Test - expressions/tensor_expr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
2D Tensor Maximum Shear
Maximum Shear 2D
 46.097721099853516 .eq. 46.09772 (prec=5) : True
Maximum Shear 2D
 46.097721099853516 .eq. 46.09772 (prec=5) : True
3D Tensor Maximum Shear
Maximum Shear 3D
 12.5 .eq. 12.5 (prec=5) : True
Maximum Shear 3D
 12.5 .eq. 12.5 (prec=5) : True
2D Effective Tensor
2D Effective Tensor
 81.24038696289062 .eq. 81.24039 (prec=5) : True
2D Effective Tensor
 81.24038696289062 .eq. 81.24039 (prec=5) : True
3D Effective Tensor
Effective Tensor
 13.076696395874023 .eq. 13.0767 (prec=5) : True
Effective Tensor
 13.076696395874023 .eq. 13.0767 (prec=5) : True
3D, Symmetric Eigenvalues and Eigenvectors
First Eigenvalue of 2
 2 .in. 
[3.4142136573791504, 2.0, 0.5857864618301392]
 (prec=5, at=1) : True
Second Eigenvalue of 2+sqrt(2)
 3.414213562373095 .in. 
[3.4142136573791504, 2.0, 0.5857864618301392]
 (prec=5, at=0) : True
Third Eigenvalue of 2-sqrt(2)
 0.5857864376269049 .in. 
[3.4142136573791504, 2.0, 0.5857864618301392]
 (prec=5, at=2) : True
First Eigenvector of (1,0,-1)
 (1, 0, -1) .in. 
[[0.5, -0.70711, 0.5],
  [0.70711, 0.0, -0.70711],
  [0.5, 0.70711, 0.5]]
 (prec=5, at=1) : True
Second Eigenvector of (1,-sqrt(2),1)
 (1, -1.4142135623730951, 1) .in. 
[[0.5, -0.70711, 0.5],
  [0.70711, 0.0, -0.70711],
  [0.5, 0.70711, 0.5]]
 (prec=5, at=0) : True
Third Eigenvector of (1,sqrt(2),1)
 (1, 1.4142135623730951, 1) .in. 
[[0.5, -0.70711, 0.5],
  [0.70711, 0.0, -0.70711],
  [0.5, 0.70711, 0.5]]
 (prec=5, at=2) : True
3D, Symmetric Eigenvalues and Eigenvectors with Repeated values
First Eigenvalue of -1
 -1 .in. 
[8.0, -1.0, -1.0]
 (prec=5, at=1) : True
Second Eigenvalue of -1
 -1 .in. 
[8.0, -1.0]
 (prec=5, at=1) : True
Third Eigenvalue of 8
 8 .in. 
[8.0, -1.0]
 (prec=5, at=0) : True
First Eigenvector of (1,-2,0)
 (1, -2, 0) .in. 
[[0.666667, 0.333333, 0.666667],
  [0.596285, 0.298142, -0.745356],
  [-0.447214, 0.894427, 0.0]]
 (prec=5, at=2) : True
Second Eigenvector of (4,2,-5)
 (4, 2, -5) .in. 
[[0.666667, 0.333333, 0.666667],
  [0.596285, 0.298142, -0.745356],
  [-0.447214, 0.894427, 0.0]]
 (prec=5, at=1) : True
Third Eigenvector of (2,1,2)
 (2, 1, 2) .in. 
[[0.666667, 0.333333, 0.666667],
  [0.596285, 0.298142, -0.745356],
  [-0.447214, 0.894427, 0.0]]
 (prec=5, at=0) : True
Cross Principal Stresses and Eigenvalues
First principal component is first eigenvalue
 -1 .in. 
[8.0, -1.0, -1.0]
 (prec=5, at=1) : True
Second principal component is second eigenvalue
 -1 .in. 
[8.0, -1.0]
 (prec=5, at=1) : True
Third principal component is third eigenvalue
 8 .in. 
[8.0, -1.0]
 (prec=5, at=0) : True
2D, Symmetric Eigenvalues and Eigenvectors
First Eigenvalue of -1
 -1 .in. 
[5.0, 0.0, -1.0]
 (prec=5, at=2) : True
Second Eigenvalue of 5
 5 .in. 
[5.0, 0.0, -1.0]
 (prec=5, at=0) : True
First Eigenvector of (1,-1)
 (1, -1) .in. 
[[0.70711, 0.70711, 0.0],
  [0.70711, -0.70711, 0.0]]
 (prec=5, at=1) : True
Second Eigenvector of (1,1)
 (1, 1) .in. 
[[0.70711, 0.70711, 0.0],
  [0.70711, -0.70711, 0.0]]
 (prec=5, at=0) : True
3D, Complex Eigenvalues and Eigenvectors
First Eigenvalue of 2
 2 .in. 
[2.0, 1.4000000953674316, 0.19999998807907104]
 (prec=5, at=0) : True
Second Eigenvalue of (4+3i)/5
 1.4 .in. 
[2.0, 1.4000000953674316, 0.19999998807907104]
 (prec=5, at=1) : True
Third Eigenvalue of (4-3i)/5
 0.2 .in. 
[2.0, 1.4000000953674316, 0.19999998807907104]
 (prec=5, at=2) : True
First Eigenvector of (0,0,1)
 (0, 0, 1) .in. 
[[0.0, 0.0, 1.0],
  [0.70711, -0.70711, 0.0],
  [0.70711, 0.70711, 0.0]]
 (prec=5, at=0) : True
Cross Check Deviatoric and Principal Stresses
Principal deviatoric and principal-tr()/3 agree
 [6.0, -3.0, -3.0] .eq. [6.0, -3.0, -3.0]
 (prec=5) : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/expressions_tensor_expr_py.html b/2023-11-08-22:00/pascal_trunk_parallel/expressions_tensor_expr_py.html new file mode 100644 index 000000000..cbccf33f2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/expressions_tensor_expr_py.html @@ -0,0 +1,262 @@ +expressions/tensor_expr.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  tensor_expr.py
+#
+#  Tests:      tensor expressions using simple, constant valued tensors for
+#              which answers are known. The known answers were obtained by
+#              scouring the internet for example problems that were worked.
+#
+#  Mark C. Miller, Mon Nov 11 14:52:02 PST 2019
+#
+# ----------------------------------------------------------------------------
+import math, re
+
+#
+# Scans a string for possible python iterables, builds a list of them
+# and returns them with their values rounded to specific numbers of
+# digits.
+#
+def ExtractIterablesFromString(s,pair='()',rnd=4):
+    retval = []
+    for q in s.split(pair[0]):
+        for r in q.split(pair[1]):
+            if re.match('^[ 0-9eE.,+-]+$', r):
+                retval.append([round(float(x),rnd) for x in r.split(',')])
+    return retval
+
+def EqualEigVecs(a,b):
+    r = []
+    for i in range(len(b)):
+        if b[i] != 0:
+            r.append(float(a[i])/float(b[i]))
+    if min(r) == 0:
+        return max(r) < pow(10,-Prec+1)
+    else:
+        return abs((max(r)/min(r))-1) < pow(10,-Prec+1)
+
+#
+# Creates a group of related expressions; 9 constant scalar expressions and
+# from them a constant tensor expression with specified centering all in a
+# sub-menu with of the given name. For 2D meshes, you would still create a
+# 9 component (3x3) tensor but the z-dimension values would all be zeros.
+#
+def CreateConstantTensorExpr(name, meshName, constType, vals):
+    comps = ("s11","s12","s13","s21","s22","s23","s31","s32","s33")
+    for i in range(len(vals)):
+        DefineScalarExpression("%s/%s"%(name,comps[i]),\
+            "%s_constant(<%s>, %g)"%(constType,meshName,vals[i]))
+    DefineTensorExpression("%s/tensor"%name,
+        "{{<%s/s11>,<%s/s12>,<%s/s13>},\
+          {<%s/s21>,<%s/s22>,<%s/s23>},\
+          {<%s/s31>,<%s/s32>,<%s/s33>}}"%(name, name, name, name,\
+              name, name, name, name, name))
+
+#
+# Set precision for rounding operations
+#
+Prec = 5
+
+#  Since we use the expression system to construct mesh-wide constant values,
+#  all we need as far as a database is a simple, small mesh. Maybe for both
+#  two and three dimensions.
+OpenDatabase(silo_data_path("arbpoly.silo"))
+meshName = "clipped_hex"
+
+TestSection("2D Tensor Maximum Shear")
+CreateConstantTensorExpr("max_shear_2d", meshName, "nodal",\
+   (50,  30,   0,\
+    30, -20,   0,\
+     0,   0,   0))
+DefineScalarExpression("max_shear_2d/result", "tensor_maximum_shear(<max_shear_2d/tensor>)")
+AddPlot("Pseudocolor", "max_shear_2d/result")
+DrawPlots()
+Query("MinMax")
+q = GetQueryOutputObject()
+TestValueEQ("Maximum Shear 2D", q['min'], 46.09772, Prec)
+TestValueEQ("Maximum Shear 2D", q['max'], 46.09772, Prec)
+DeleteAllPlots()
+
+TestSection("3D Tensor Maximum Shear")
+CreateConstantTensorExpr("max_shear", meshName, "nodal",\
+   (5,   0,   0,\
+    0,  -6, -12,\
+    0, -12,   1))
+DefineScalarExpression("max_shear/result", "tensor_maximum_shear(<max_shear/tensor>)")
+AddPlot("Pseudocolor", "max_shear/result")
+DrawPlots()
+Query("MinMax")
+q = GetQueryOutputObject()
+TestValueEQ("Maximum Shear 3D", q['min'], 12.5, Prec)
+TestValueEQ("Maximum Shear 3D", q['max'], 12.5, Prec)
+DeleteAllPlots()
+
+TestSection("2D Effective Tensor")
+CreateConstantTensorExpr("eff_tensor_2d", meshName, "nodal",\
+   (50,  30,   0,\
+    30, -20,   0,\
+     0,   0,   0))
+DefineScalarExpression("eff_tensor_2d/result", "effective_tensor(<eff_tensor_2d/tensor>)")
+AddPlot("Pseudocolor", "eff_tensor_2d/result")
+DrawPlots()
+Query("MinMax")
+q = GetQueryOutputObject()
+TestValueEQ("2D Effective Tensor", q['min'], 81.24039, Prec)
+TestValueEQ("2D Effective Tensor", q['max'], 81.24039, Prec)
+DeleteAllPlots()
+
+TestSection("3D Effective Tensor")
+CreateConstantTensorExpr("eff_tensor", meshName, "nodal",\
+   (2,  -3,   4,\
+   -3,  -5,   1,\
+    4,   1,   6))
+DefineScalarExpression("eff_tensor/result", "effective_tensor(<eff_tensor/tensor>)")
+AddPlot("Pseudocolor", "eff_tensor/result")
+DrawPlots()
+Query("MinMax")
+q = GetQueryOutputObject()
+TestValueEQ("Effective Tensor", q['min'], 13.0767, Prec)
+TestValueEQ("Effective Tensor", q['max'], 13.0767, Prec)
+DeleteAllPlots()
+
+TestSection("3D, Symmetric Eigenvalues and Eigenvectors")
+CreateConstantTensorExpr("eigvals_symm2", meshName, "nodal",\
+    (2, -1,  0,\
+    -1,  2, -1,\
+     0, -1,  2))
+DefineVectorExpression("eigvals_symm2/result", "eigenvalue(<eigvals_symm2/tensor>)")
+AddPlot("Vector", "eigvals_symm2/result")
+DrawPlots()
+p = PickByNode(0,('eigvals_symm2/result',))
+eigvals = list(p['eigvals_symm2/result'])
+TestValueIN("First Eigenvalue of 2", eigvals, 2, Prec)
+TestValueIN("Second Eigenvalue of 2+sqrt(2)", eigvals, 2+math.sqrt(2), Prec)
+TestValueIN("Third Eigenvalue of 2-sqrt(2)",  eigvals, 2-math.sqrt(2), Prec)
+DeleteAllPlots()
+DefineTensorExpression("eigvals_symm2/result2", "transpose(eigenvector(<eigvals_symm2/tensor>))")
+AddPlot("Tensor", "eigvals_symm2/result2")
+DrawPlots()
+PickByNode(0)
+s = GetPickOutput()
+vecs = ExtractIterablesFromString(s, '()', Prec)
+TestValueIN("First Eigenvector of (1,0,-1)", vecs, (1,0,-1), Prec, EqualEigVecs)
+TestValueIN("Second Eigenvector of (1,-sqrt(2),1)", vecs, (1,-math.sqrt(2),1), Prec, EqualEigVecs)
+TestValueIN("Third Eigenvector of (1,sqrt(2),1)", vecs, (1,math.sqrt(2),1), Prec, EqualEigVecs)
+
+TestSection("3D, Symmetric Eigenvalues and Eigenvectors with Repeated values")
+CreateConstantTensorExpr("eigvals_symm", meshName, "nodal",\
+    (3,2,4,\
+     2,0,2,\
+     4,2,3))
+DefineVectorExpression("eigvals_symm/result", "eigenvalue(<eigvals_symm/tensor>)")
+AddPlot("Vector", "eigvals_symm/result")
+DrawPlots()
+p = PickByNode(0)
+eigvals = list(p['eigvals_symm/result'])
+TestValueIN("First Eigenvalue of -1", eigvals, -1, Prec)
+eigvals.remove(-1)
+TestValueIN("Second Eigenvalue of -1", eigvals, -1, Prec)
+TestValueIN("Third Eigenvalue of 8", eigvals, 8, Prec)
+DeleteAllPlots()
+DefineTensorExpression("eigvals_symm/result2", "transpose(eigenvector(<eigvals_symm/tensor>))")
+AddPlot("Tensor", "eigvals_symm/result2")
+DrawPlots()
+PickByNode(0)
+s = GetPickOutput()
+vecs = ExtractIterablesFromString(s, '()', Prec+1)
+TestValueIN("First Eigenvector of (1,-2,0)", vecs, (1,-2,0), Prec, EqualEigVecs)
+TestValueIN("Second Eigenvector of (4,2,-5)", vecs, (4,2,-5), Prec, EqualEigVecs)
+TestValueIN("Third Eigenvector of (2,1,2)", vecs, (2,1,2), Prec, EqualEigVecs)
+DeleteAllPlots()
+
+# Confirm principal_tensor function gives same result as above
+TestSection("Cross Principal Stresses and Eigenvalues")
+DefineVectorExpression("pcomps_symm/result", "principal_tensor(<eigvals_symm/tensor>)")
+AddPlot("Vector", "pcomps_symm/result")
+DrawPlots()
+p = PickByNode(0)
+pcomps = list(p['pcomps_symm/result'])
+TestValueIN("First principal component is first eigenvalue", pcomps, -1, Prec)
+pcomps.remove(-1) # elim the first of the expected two -1 eigvals
+TestValueIN("Second principal component is second eigenvalue", pcomps, -1, Prec)
+TestValueIN("Third principal component is third eigenvalue", pcomps, 8, Prec)
+
+TestSection("2D, Symmetric Eigenvalues and Eigenvectors")
+CreateConstantTensorExpr("eigvals_symm_2d", meshName, "nodal",\
+    (2,  3,  0,\
+     3,  2,  0,\
+     0,  0,  0))
+DefineVectorExpression("eigvals_symm_2d/result", "eigenvalue(<eigvals_symm_2d/tensor>)")
+AddPlot("Vector", "eigvals_symm_2d/result")
+DrawPlots()
+p = PickByNode(0,('eigvals_symm_2d/result',))
+eigvals = list(p['eigvals_symm_2d/result'])
+TestValueIN("First Eigenvalue of -1", eigvals, -1, Prec)
+TestValueIN("Second Eigenvalue of 5", eigvals, 5, Prec)
+DeleteAllPlots()
+DefineTensorExpression("eigvals_symm_2d/result2", "transpose(eigenvector(<eigvals_symm_2d/tensor>))")
+AddPlot("Tensor", "eigvals_symm_2d/result2")
+DrawPlots()
+PickByNode(0)
+s = GetPickOutput()
+vecs = ExtractIterablesFromString(s, '()', Prec)
+vecs.remove([0,0,1]) # we have to take out the Z eigenvector
+TestValueIN("First Eigenvector of (1,-1)", vecs, (1,-1), Prec, EqualEigVecs)
+TestValueIN("Second Eigenvector of (1,1)", vecs, (1,1), Prec, EqualEigVecs)
+
+#
+# Test a case where eigenvalues are complex (e.g. imaginary)
+# The real eigenvalues are 2, (4+3i)/5, (4-3i)/5 but what you
+# get from VisIt is 2, 7/5, 1/5 (as though i==1 in the above).
+#
+TestSection("3D, Complex Eigenvalues and Eigenvectors")
+CreateConstantTensorExpr("eigvals_complex", meshName, "nodal",\
+    (4.0/5.0, -3.0/5.0,     0,\
+     3.0/5.0,  4.0/5.0,     0,\
+        1,        2,        2))
+DefineVectorExpression("eigvals_complex/result", "eigenvalue(<eigvals_complex/tensor>)")
+AddPlot("Vector", "eigvals_complex/result")
+DrawPlots()
+p = PickByNode(0)
+eigvals = list(p['eigvals_complex/result'])
+TestValueIN("First Eigenvalue of 2", eigvals, 2, Prec)
+TestValueIN("Second Eigenvalue of (4+3i)/5", eigvals, float(4+3)/5.0, Prec)
+TestValueIN("Third Eigenvalue of (4-3i)/5", eigvals, float(4-3)/5.0, Prec)
+DeleteAllPlots()
+DefineTensorExpression("eigvals_complex/result2", "transpose(eigenvector(<eigvals_complex/tensor>))")
+AddPlot("Tensor", "eigvals_complex/result2")
+DrawPlots()
+PickByNode(0)
+s = GetPickOutput()
+vecs = ExtractIterablesFromString(s, '()', Prec)
+TestValueIN("First Eigenvector of (0,0,1)", vecs, (0,0,1), Prec, EqualEigVecs)
+DeleteAllPlots()
+
+# Re-use eigvals_symm here
+TestSection("Cross Check Deviatoric and Principal Stresses")
+DefineVectorExpression("eigvals_symm/dev", "principal_deviatoric_tensor(<eigvals_symm/tensor>)")
+AddPlot("Vector", "eigvals_symm/dev")
+DrawPlots()
+PickByNode(0)
+s = GetPickOutput()
+dev_vec = ExtractIterablesFromString(s, '()', Prec)
+DeleteAllPlots()
+DefineScalarExpression("eigvals_symm/tr3", "trace(<eigvals_symm/tensor>)/3.0")
+DefineTensorExpression("eigvals_symm/tensor3",\
+"""
+    {{<eigvals_symm/tensor>[0][0]-<eigvals_symm/tr3>, <eigvals_symm/tensor>[0][1], <eigvals_symm/tensor>[0][2]},
+     {<eigvals_symm/tensor>[1][0], <eigvals_symm/tensor>[1][1]-<eigvals_symm/tr3>, <eigvals_symm/tensor>[1][2]},
+     {<eigvals_symm/tensor>[2][0], <eigvals_symm/tensor>[2][1], <eigvals_symm/tensor>[2][2]-<eigvals_symm/tr3>}}
+"""
+)
+DefineVectorExpression("eigvals_symm/dev2", "principal_tensor(<eigvals_symm/tensor3>)")
+AddPlot("Vector", "eigvals_symm/dev2")
+DrawPlots()
+PickByNode(0)
+s = GetPickOutput()
+dev2_vec = ExtractIterablesFromString(s, '()', Prec)
+DeleteAllPlots()
+TestValueEQ("Principal deviatoric and principal-tr()/3 agree", dev_vec[0], dev2_vec[0])
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_badfile.html b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_badfile.html new file mode 100644 index 000000000..fb8591a1c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_badfile.html @@ -0,0 +1,40 @@ + +Results for faulttolerance/badfile.py + +

Results of VisIt Regression Test - faulttolerance/badfile

+ + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
badfile_020 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_badfile_py.html b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_badfile_py.html new file mode 100644 index 000000000..92c304d98 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_badfile_py.html @@ -0,0 +1,34 @@ +faulttolerance/badfile.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Tests: The quality of the error message being produced when opening a bad
+#         file.
+#
+#  Programmer: Hank Childs
+#  Date:       January 12, 2007
+#
+# ----------------------------------------------------------------------------
+
+import os
+
+TurnOnAllAnnotations()
+
+# Make zero-length Silo file.  The Silo reader is smart enough to not
+# crash, which means we can test the normal error message.
+f = open("junk.silo", "w")
+f.close()
+OpenDatabase("junk.silo")
+e = GetLastError()
+#TestText("badfile_01", e)
+
+# Make zero-length VTK file.  The VTK reader crashes in this case.  If the
+# VTK reader is ever improved, then we'll have to locate a reader that
+# crashes successfully.  (Maybe we'll write one.)
+f = open("junk.vtk", "w")
+f.close()
+OpenDatabase("junk.vtk")
+e = GetLastError()
+TestText("badfile_02", e)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_checkmode.html b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_checkmode.html new file mode 100644 index 000000000..f6fab913c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_checkmode.html @@ -0,0 +1,60 @@ + +Results for faulttolerance/checkmode.py + +

Results of VisIt Regression Test - faulttolerance/checkmode

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
All mode strings compatible
 "True" .eq. "True" : True
Engine matches mode
 "True" .eq. "True" : True
Silo data path matches mode
 "True" .eq. "True" : True
Scalable setting matches mode
 "True" .eq. "True" : True
Icet clarg matches mode
 "True" .eq. "True" : True
Allowdynamic clarg matches mode
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_checkmode_py.html b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_checkmode_py.html new file mode 100644 index 000000000..e70076683 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_checkmode_py.html @@ -0,0 +1,111 @@ +faulttolerance/checkmode.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Tests: Ensures VisIt and/or the test harness is in the correct "mode".
+#
+#  Mark C. Miller, Mon Sep 28 16:24:44 PDT 2020
+#
+# Modifications:
+#    Mark C. Miller, Mon Jan 11 10:32:17 PST 2021
+#    Replace AssertTrue() with TestValueEQ(..., True)
+# ----------------------------------------------------------------------------
+import json
+import sys
+
+#
+# Obtain mode info directly from top-level command-line args passed to test
+# suite harness and stored to "clargs" member of TestEnv.params instead of
+# using any of the alternative logic in the test harness. This ensures we
+# compare with actual mode(s) requested on command-line.
+#
+def GetModeKeysFromClArgs():
+    clargs = json.loads(TestEnv.params["clargs"])
+    for i in range(len(clargs)):
+        if clargs[i] == '-m':
+            return clargs[i+1].split(',')
+        elif clargs[i][0:7] == '--mode=':
+            return clargs[i][8:].split(',')
+    return ('serial',)
+
+#
+# Ensure all mode keys are compatible
+#
+def AllModeKeysCompatible():
+    if 'serial' in activeModeKeys and 'parallel' in activeModeKeys:
+        return False
+    if 'pdb' in activeModeKeys and 'hdf5' in activeModeKeys:
+        return False
+    if 'icet' in activeModeKeys and 'parallel' not in activeModeKeys:
+        return False
+    return True
+
+#
+# Check that engine matches the specified mode
+#
+def EngineMatchesMode():
+    pa = GetProcessAttributes("engine")
+    if 'parallel' in activeModeKeys:
+        if pa.isParallel:
+            if len(pa.pids) > 1:
+                return True
+    else:
+        if not pa.isParallel:
+            if len(pa.pids) == 1:
+                return True
+    return False
+
+#
+# Check that Silo data path matches its mode
+#
+def SiloDataPathMatchesMode():
+    if 'pdb' in activeModeKeys:
+        if 'silo_pdb_test_data' in silo_data_path(''):
+            return True
+    else:
+        if 'silo_hdf5_test_data' in silo_data_path(''):
+            return True
+    return False
+
+#
+# Ensure rendering mode matches mode
+#
+def ScalableSettingMatchesMode():
+    ra = GetRenderingAttributes()
+    if 'scalable' in activeModeKeys:
+        if ra.scalableActivationMode == ra.Always:
+            return True
+    else:
+        if ra.scalableActivationMode == ra.Never:
+            return True
+    return False
+
+def IcetClargMatchesMode():
+    if 'icet' in activeModeKeys and '-icet' not in sys.argv:
+        return False
+    if '-icet' in sys.argv and 'icet' not in activeModeKeys:
+        return False
+    return True
+
+def AllowdynamicClargMatchesMode():
+    if 'dlb' in activeModeKeys and '-allowdynamic' not in sys.argv:
+        return False
+    if '-allowdynamic' in sys.argv and 'dlb' not in activeModeKeys:
+        return False
+    return True
+
+#
+# Capture clargs and known mode keys from raw data entries stored
+# to TestEnv.params. Do this once, now, instead of each time we
+# need to interrogate their contents in the above functions.
+#
+activeModeKeys = GetModeKeysFromClArgs()
+
+TestValueEQ("All mode strings compatible", AllModeKeysCompatible(), True)
+TestValueEQ("Engine matches mode", EngineMatchesMode(), True)
+TestValueEQ("Silo data path matches mode", SiloDataPathMatchesMode(), True)
+TestValueEQ("Scalable setting matches mode", ScalableSettingMatchesMode(), True)
+TestValueEQ("Icet clarg matches mode", IcetClargMatchesMode(), True)
+TestValueEQ("Allowdynamic clarg matches mode", AllowdynamicClargMatchesMode(), True)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_savewindow.html b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_savewindow.html new file mode 100644 index 000000000..cb7481d20 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_savewindow.html @@ -0,0 +1,40 @@ + +Results for faulttolerance/savewindow.py + +

Results of VisIt Regression Test - faulttolerance/savewindow

+ + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
SaveWindowEngineCrash0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_savewindow_py.html b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_savewindow_py.html new file mode 100644 index 000000000..6ec76c39e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/faulttolerance_savewindow_py.html @@ -0,0 +1,57 @@ +faulttolerance/savewindow.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Tests: weather or not SaveWindow can result in a python exception
+#
+#  Programmer: Mark C. Miller
+#  Date:       March 7, 2006 
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Tue Feb 8, 2022
+#    Use run_dir as outputDirectory instead of current. It is in the
+#    testing output directory and is cleaned up on exit.
+#    Added taskkill for Windows to kill the engine.
+#
+# ----------------------------------------------------------------------------
+
+import os
+
+TurnOnAllAnnotations()
+
+swa = SaveWindowAttributes()
+swa.outputToCurrentDirectory = 0
+swa.outputDirectory = TestEnv.params["run_dir"]
+SetSaveWindowAttributes(swa)
+
+OpenDatabase(silo_data_path("wave.visit"))
+
+AddPlot("Pseudocolor","pressure")
+DrawPlots()
+
+pa = GetProcessAttributes("engine")
+enginePid = int(pa.pids[0])
+
+s = ""
+
+for i in range(6):
+    TimeSliderSetState(i)
+    if i == 3:
+        if sys.platform.startswith("win"):
+            os.system("taskkill.exe /F /PID %d /T"%enginePid)
+        else:
+            os.system("kill -9 %d"%enginePid)
+    try:
+        SaveWindow()
+    except Exception as inst:
+        s = s + "save %d had exception \"%s\"\n"%(i,inst);
+    else:
+        s = s + "save %d succeeded\n"%i;
+
+TestText("SaveWindowEngineCrash", s)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-a.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-a.html new file mode 100644 index 000000000..2f113e4e9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-a.html @@ -0,0 +1,108 @@ + +Results for hybrid/cinema-a.py + +

Results of VisIt Regression Test - hybrid/cinema-a

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Cinema spec A static camera
cinema_0_000 modifications totalling 0 lines
cinema_0_010 modifications totalling 0 lines
cinema_0_020 modifications totalling 0 lines
cinema_0_030.000.00
Cinema spec A phi-theta camera
cinema_1_000 modifications totalling 0 lines
cinema_1_010 modifications totalling 0 lines
cinema_1_020 modifications totalling 0 lines
cinema_1_030.000.00
cinema_1_040.000.00
cinema_1_050.000.00
cinema_1_060.000.00
cinema_1_070.000.00
cinema_1_080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-a_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-a_py.html new file mode 100644 index 000000000..32c72d397 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-a_py.html @@ -0,0 +1,214 @@ +hybrid/cinema-a.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  cinema-a.py
+#
+#  Tests:      Tests various aspects of "visit -cinema".
+#
+#  Notes:      
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Feb 15 16:37:20 PST 2018
+#
+#  Modifications:
+#    Kathleen Biagas, Friday December 14, 2018
+#    Fixes for running on Windows: Use abs_path for short_wave.visit, and cdb,
+#    use 'repr(db)' when writing script file to preserve '\' escapes.
+#    Replace forward-slash with back-slash in pattern.
+#
+#    Kathleen Biagas, Tue Jun 11 11:44:14 PDT 2019
+#    Pass '-noconfig' to generated command line in GenerateCinema.
+#
+#    Kathleen Biagas, Tue Sep 14 09:51:45 PDT 2021
+#    Added call to CloseComputeEngine to GenerateCinema method, since the
+#    cinema script launches its own. Prevents a hang when run in parallel.
+#
+#    Kathleen Biagas, Tue Sep 21 17:22:58 PDT 2021
+#    Removed CloseComputeEngine, it prevented the non-cinema-generation parts
+#    of the test from running in parallel.  If the nightlies use srun,
+#    add "--overlap" srun option.  This allows cinema test to succeed in
+#    parallel with recent changes to slurm.
+#
+# ----------------------------------------------------------------------------
+import os
+import subprocess
+
+def GenerateCinema(cinemaArgs):
+    args = [TestEnv.params["visit_bin"], "-noconfig", "-cinema"] + cinemaArgs
+    if TestEnv.params["parallel"]:
+        args = args + ["-np", "2", "-l", TestEnv.params["parallel_launch"]]
+        if TestEnv.params["parallel_launch"] == "srun":
+            args = args + ["-la", "--overlap"]
+    p = subprocess.check_output(args)
+    return p
+
+def GetFileList(path0):
+    def gfl(path):
+        outfiles = []
+        files = os.listdir(path)
+        for f in sorted(files):
+            fpath = os.path.join(path, f)
+            if os.path.isdir(fpath):
+                outfiles = outfiles + gfl(fpath)
+            else:
+                outfiles = outfiles + [fpath[lpath0+1:]]
+        return outfiles
+    lpath0 = len(path0)
+    return gfl(path0)
+
+def ListToString(files):
+    s = ""
+    for f in files:
+        s += f
+        s += "\n"
+    return s
+
+def GetFile(manyfilenames, filename):
+    for f in manyfilenames:
+        if f.find(filename) != -1:
+            return f
+    return ""
+
+def ReadTextFile(filename):
+    lines = open(filename, "rt").readlines()
+    s = ""
+    for line in lines:
+        s += line
+    return s
+
+def test0(db):
+    TestSection("Cinema spec A static camera")
+    f = open("test0.py", "wt")
+    f.write("OpenDatabase(%s)\n" % repr(db))
+    f.write('AddPlot("Pseudocolor", "pressure")\n')
+    f.write('DrawPlots()\n')
+    f.write('v = GetView3D()\n')
+    f.write('v.viewNormal = (-0.569392, 0.672931, 0.472183)\n')
+    f.write('v.focus = (5, 0.353448, 2.5)\n')
+    f.write('v.viewUp = (0.562941, 0.737756, -0.372577)\n')
+    f.write('v.viewAngle = 30\n')
+    f.write('v.parallelScale = 5.6009\n')
+    f.write('v.nearPlane = -11.2018\n')
+    f.write('v.farPlane = 11.2018\n')
+    f.write('v.imagePan = (0.0431021, 0.0442006)\n')
+    f.write('v.imageZoom = 1.06444\n')
+    f.write('v.perspective = 1\n')
+    f.write('v.eyeAngle = 2\n')
+    f.write('v.centerOfRotationSet = 0\n')
+    f.write('v.centerOfRotation = (5, 0.353448, 2.5)\n')
+    f.write('v.axis3DScaleFlag = 0\n')
+    f.write('v.axis3DScales = (1, 1, 1)\n')
+    f.write('v.shear = (0, 0, 1)\n')
+    f.write('v.windowValid = 1\n')
+    f.write('SetView3D(v)\n')
+    f.write('a = GetAnnotationAttributes()\n')
+    f.write('a.axes3D.visible = 0\n')
+    f.write('a.axes3D.bboxFlag = 0\n')
+    f.write('a.axes3D.triadFlag = 0\n')
+    f.write('a.legendInfoFlag = 0\n')
+    f.write('a.databaseInfoFlag = 0\n')
+    f.write('a.userInfoFlag = 0\n')
+    f.write('SetAnnotationAttributes(a)\n')
+    f.close()
+
+    cdb = abs_path(TestEnv.params["run_dir"], "test0.cdb")
+    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
+    args = ["-specification", "A", "-scriptfile", "test0.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "static"]
+    TestText("cinema_0_00", ListToString(args))
+
+    output = GenerateCinema(args)
+
+    files = GetFileList(cdb)
+    TestText("cinema_0_01", ListToString(files))
+
+    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
+    TestText("cinema_0_02", json)
+
+    firstimg = os.path.join(cdb, GetFile(files, ".png"))
+    OpenDatabase(firstimg)
+    AddPlot("Truecolor", "color")
+    DrawPlots()
+    v = GetView2D()
+    v.viewportCoords = (0,1,0,1)
+    SetView2D(v)
+    Test("cinema_0_03")
+    DeleteAllPlots()
+    CloseDatabase(firstimg)
+
+def test1(db):
+    TestSection("Cinema spec A phi-theta camera")
+    f = open("test1.py", "wt")
+    f.write("OpenDatabase(%s)\n" % repr(db))
+    f.write('AddPlot("Pseudocolor", "pressure")\n')
+    f.write('DrawPlots()\n')
+    f.write('a = GetAnnotationAttributes()\n')
+    f.write('a.axes3D.visible = 0\n')
+    f.write('a.axes3D.bboxFlag = 0\n')
+    f.write('a.axes3D.triadFlag = 0\n')
+    f.write('a.legendInfoFlag = 0\n')
+    f.write('a.databaseInfoFlag = 0\n')
+    f.write('a.userInfoFlag = 0\n')
+    f.write('SetAnnotationAttributes(a)\n')
+    f.close()
+
+    cdb = abs_path(TestEnv.params["run_dir"], "test1.cdb")
+
+    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
+    args = ["-specification", "A", "-scriptfile", "test1.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "phi-theta", "-phi", "6", "-theta", "5", "-stride", "3"]
+    TestText("cinema_1_00", ListToString(args))
+
+    output = GenerateCinema(args)
+
+    files = GetFileList(cdb)
+    TestText("cinema_1_01", ListToString(files))
+
+    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
+    TestText("cinema_1_02", json)
+
+    # Use the JSON to come up with some filenames to plot. We will vary phi.
+    params = eval(json)
+    theta_values = [str(x) for x in params["arguments"]["theta"]["values"]]
+    phi_values = [str(x) for x in  params["arguments"]["phi"]["values"]]
+    time_values = params["arguments"]["time"]["values"]
+
+    theta = theta_values[len(theta_values)//4]
+    time = time_values[0]
+    i = 3
+    for phi in phi_values:
+        pattern = params["name_pattern"]
+        if sys.platform.startswith("win"):
+            pattern = pattern.replace("/", "\\")
+        name = pattern.replace("{phi}", phi)
+        name = name.replace("{theta}", theta)
+        name = name.replace("{time}", time)
+
+        img = os.path.join(cdb, GetFile(files, name))
+        OpenDatabase(img)
+        AddPlot("Truecolor", "color")
+        DrawPlots()
+        v = GetView2D()
+        v.viewportCoords = (0,1,0,1)
+        SetView2D(v)
+        Test("cinema_1_%02d" % i)
+        DeleteAllPlots()
+        CloseDatabase(img)
+        i = i + 1
+
+def MakeShortWave():
+    db = abs_path("short_wave.visit")
+    f = open(db, "wt")
+    for i in range(0, 700, 100):
+        f.write(silo_data_path("wave%04d.silo" % i) + "\n")
+    f.close()
+    return os.path.abspath(db)
+
+def main():
+    db = MakeShortWave()
+    test0(db)
+    test1(db)
+
+    os.unlink(db)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-c.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-c.html new file mode 100644 index 000000000..8f74e0846 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-c.html @@ -0,0 +1,210 @@ + +Results for hybrid/cinema-c.py + +

Results of VisIt Regression Test - hybrid/cinema-c

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Cinema spec C static camera
cinema_2_000 modifications totalling 0 lines
cinema_2_010 modifications totalling 0 lines
cinema_2_020 modifications totalling 0 lines
cinema_2_03_lum0.000.00
cinema_2_03_z0.000.00
cinema_2_03_pressure0.000.00
cinema_2_03_v0.000.00
cinema_2_04_lum0.000.00
cinema_2_04_z0.000.00
cinema_2_04_pressure0.000.00
cinema_2_04_v0.000.00
Cinema spec C phi-theta camera
cinema_3_000 modifications totalling 0 lines
cinema_3_010 modifications totalling 0 lines
cinema_3_020 modifications totalling 0 lines
cinema_3_03_lum0.000.00
cinema_3_03_z0.000.00
cinema_3_03_pressure0.000.00
cinema_3_03_v0.000.00
cinema_3_04_lum0.000.00
cinema_3_04_z0.000.00
cinema_3_04_pressure0.000.00
cinema_3_04_v0.000.00
cinema_3_05_lum0.000.00
cinema_3_05_z0.000.00
cinema_3_05_pressure0.000.00
cinema_3_05_v0.000.00
cinema_3_06_lum0.000.00
cinema_3_06_z0.000.00
cinema_3_06_pressure0.000.00
cinema_3_06_v0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-c_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-c_py.html new file mode 100644 index 000000000..469c0c489 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cinema-c_py.html @@ -0,0 +1,258 @@ +hybrid/cinema-c.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  cinema-a.py
+#
+#  Tests:      Tests various aspects of "visit -cinema".
+#
+#  Notes:      
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Feb 15 16:37:20 PST 2018
+#
+#  Modifications:
+#    Kathleen Biagas, Tue Jun 11 11:44:14 PDT 2019
+#    Pass '-noconfig' to generated command line in GenerateCinema.
+#
+#    Kathleen Biagas, Tue Apr 13 2021
+#    Port to python-3. Fix for Windows: Use abs_path for short_wave.visit,
+#    use 'repr(db)' when writing script file to preserve '\' escapes.
+#
+#    Kathleen Biagas, Tue Sep 14 09:51:45 PDT 2021
+#    Added call to CloseComputeEngine to GenerateCinema method, since the
+#    cinema script launches its own. Prevents a hang when run in parallel.
+#
+#    Kathleen Biagas, Tue Sep 21 17:22:58 PDT 2021
+#    Removed CloseComputeEngine, it prevented the non-cinema-generation parts
+#    of the test from running in parallel.  If the nightlies use srun,
+#    add "--overlap" srun option.  This allows cinema test to succeed in
+#    parallel with recent changes to slurm.
+#
+# ----------------------------------------------------------------------------
+
+import math, os, string, subprocess, zlib
+
+def GenerateCinema(cinemaArgs):
+    args = [TestEnv.params["visit_bin"], "-noconfig", "-cinema"] + cinemaArgs
+    if TestEnv.params["parallel"]:
+        args = args + ["-np", "2", "-l", TestEnv.params["parallel_launch"]]
+        if TestEnv.params["parallel_launch"] == "srun":
+            args = args + ["-la", "--overlap"]
+    p = subprocess.check_output(args)
+    return p
+
+def GetFileList(path0):
+    def gfl(path):
+        outfiles = []
+        files = os.listdir(path)
+        for f in sorted(files):
+            fpath = os.path.join(path, f)
+            if os.path.isdir(fpath):
+                outfiles = outfiles + gfl(fpath)
+            else:
+                outfiles = outfiles + [fpath[lpath0+1:]]
+        return outfiles
+    lpath0 = len(path0)
+    return gfl(path0)
+
+def ListToString(files):
+    s = ""
+    for f in files:
+        s += f
+        s += "\n"
+    return s
+
+def GetFile(manyfilenames, filename):
+    for f in manyfilenames:
+        if f.find(filename) != 0:
+            return f
+    return ""
+
+def ReadTextFile(filename):
+    lines = open(filename, "rt").readlines()
+    s = ""
+    for line in lines:
+        s += line
+    return s
+
+def write_setup_plot(f):
+    f.write('AddPlot("Pseudocolor", "pressure")\n')
+    f.write('AddOperator("Clip")\n')
+    f.write('clip = GetOperatorOptions(0)\n')
+    f.write('clip.plane1Normal = (0,0,1)\n')
+    f.write('clip.plane1Origin = (0,0,2.5)\n')
+    f.write('SetOperatorOptions(clip)\n')
+    f.write('AddPlot("Pseudocolor", "pressure", 1, 1)\n')
+    f.write('clip.plane1Normal = (0,0,-1)\n')
+    f.write('SetOperatorOptions(clip)\n')
+    f.write('DrawPlots()\n')
+    f.write('a = GetAnnotationAttributes()\n')
+    f.write('a.axes3D.visible = 0\n')
+    f.write('a.axes3D.bboxFlag = 0\n')
+    f.write('a.axes3D.triadFlag = 0\n')
+    f.write('a.legendInfoFlag = 0\n')
+    f.write('a.databaseInfoFlag = 0\n')
+    f.write('a.userInfoFlag = 0\n')
+    f.write('a.backgroundColor=(0,0,0,255)\n')
+    f.write('a.backgroundMode=a.Solid\n')
+    f.write('SetAnnotationAttributes(a)\n')
+
+def test_Z_file(testname, varname, imagefilename, domask):
+    """
+    Decompress a float32 buffer, make a BOV file from it, and plot it.
+    """
+    cbytes = open(imagefilename, "rb").read()
+    fbytes = zlib.decompress(cbytes)
+    datfile = testname + ".dat"
+    bovfile = testname + ".bov"
+    f = open(datfile, "wb")
+    f.write(fbytes)
+    f.close()
+    imagesize = int(math.sqrt(len(fbytes)/4))
+    f = open(bovfile, "wt")
+    f.write("TIME: 0\n")
+    f.write("DATA_FILE: %s\n" % datfile)
+    f.write("DATA_SIZE: %d %d 1\n" % (imagesize, imagesize))
+    f.write("DATA_FORMAT: FLOAT\n")
+    f.write("VARIABLE: %s\n" % varname)
+    f.write("DATA_ENDIAN: LITTLE\n")
+    f.write("CENTERING: zonal\n")
+    f.write("BRICK_ORIGIN: 0 0 0\n")
+    f.write("BRICK_SIZE: 1 1 1\n")
+    f.close()
+    OpenDatabase(bovfile)
+    if domask:
+        # Mask out values larger than 255 so we can see the values.
+        # I'd mask on Z but I don't want to do cmfe.
+        DefineScalarExpression("maskvar", "if(gt(%s, 255), 0., %s)" % (varname,varname))
+        AddPlot("Pseudocolor", "maskvar")
+    else:
+        AddPlot("Pseudocolor", varname)
+    AddOperator("Transform")
+    t = TransformAttributes()
+    t.doScale = 1
+    t.scaleY = -1
+    SetOperatorOptions(t)
+    DrawPlots()
+    ResetView()
+    v = GetView2D()
+    v.viewportCoords = (0,1,0,1)
+    SetView2D(v)
+    Test(testname + "_" + varname)
+    DeleteAllPlots()
+    CloseDatabase(bovfile)
+
+    os.unlink(datfile)
+    os.unlink(bovfile)
+
+def test_composite(testname, imagepath, scalars):
+    """
+    Make test images for a composite image.
+    """
+    img0 = os.path.join(imagepath, "image=0.png")
+    img1 = os.path.join(imagepath, "image=1.Z")
+    OpenDatabase(img0)
+    AddPlot("Truecolor", "color")
+    DrawPlots()
+    ResetView()
+    v = GetView2D()
+    v.viewportCoords = (0,1,0,1)
+    SetView2D(v)
+    Test(testname + "_lum")
+    DeleteAllPlots()
+    CloseDatabase(img0)
+
+    test_Z_file(testname, "z", os.path.join(imagepath, "image=1.Z"), 0)
+    idx = 2
+    for s in scalars:
+        test_Z_file(testname, s, os.path.join(imagepath, "image=%d.Z" % idx), 1)
+        idx = idx + 1
+
+def test2(db):
+    TestSection("Cinema spec C static camera")
+    f = open("test2.py", "wt")
+    f.write('OpenDatabase(%s)\n' % repr(db))
+    write_setup_plot(f)
+    f.write('v = GetView3D()\n')
+    f.write('v.viewNormal = (-0.569392, 0.672931, 0.472183)\n')
+    f.write('v.focus = (5, 0.353448, 2.5)\n')
+    f.write('v.viewUp = (0.562941, 0.737756, -0.372577)\n')
+    f.write('v.viewAngle = 30\n')
+    f.write('v.parallelScale = 5.6009\n')
+    f.write('v.nearPlane = -11.2018\n')
+    f.write('v.farPlane = 11.2018\n')
+    f.write('v.imagePan = (0.0431021, 0.0442006)\n')
+    f.write('v.imageZoom = 1.06444\n')
+    f.write('v.perspective = 1\n')
+    f.write('v.eyeAngle = 2\n')
+    f.write('v.centerOfRotationSet = 0\n')
+    f.write('v.centerOfRotation = (5, 0.353448, 2.5)\n')
+    f.write('v.axis3DScaleFlag = 0\n')
+    f.write('v.axis3DScales = (1, 1, 1)\n')
+    f.write('v.shear = (0, 0, 1)\n')
+    f.write('v.windowValid = 1\n')
+    f.write('SetView3D(v)\n')
+    f.close()
+
+    cdb = "test2.cdb"
+    scalars = ("pressure", "v")
+    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
+    args = ["-specification", "C", "-docomposite", "-scriptfile", "test2.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "static", "-var", scalars[0], "-var", scalars[1]]
+    TestText("cinema_2_00", ListToString(args))
+
+    output = GenerateCinema(args)
+
+    files = GetFileList(cdb)
+    TestText("cinema_2_01", ListToString(files))
+
+    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
+    TestText("cinema_2_02", json)
+
+    # Test a couple of composite images
+    test_composite("cinema_2_03", os.path.join(cdb, "image","time=3","vis=0"), scalars)
+    test_composite("cinema_2_04", os.path.join(cdb, "image","time=3","vis=1"), scalars)
+
+
+def test3(db):
+    TestSection("Cinema spec C phi-theta camera")
+    f = open("test3.py", "wt")
+    f.write('OpenDatabase(%s)\n' % repr(db))
+    write_setup_plot(f)
+    f.close()
+
+    cdb = "test3.cdb"
+    scalars = ("pressure", "v")
+    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
+    args = ["-specification", "C", "-docomposite", "-scriptfile", "test3.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "phi-theta", "-phi", "6", "-theta", "5", "-var", scalars[0], "-var", scalars[1]]
+    TestText("cinema_3_00", ListToString(args))
+
+    output = GenerateCinema(args)
+
+    files = GetFileList(cdb)
+    TestText("cinema_3_01", ListToString(files))
+
+    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
+    TestText("cinema_3_02", json)
+
+    # Test a couple of composite images
+    test_composite("cinema_3_03", os.path.join(cdb, "image","phi=0","theta=0","time=0","vis=0"), scalars)
+    test_composite("cinema_3_04", os.path.join(cdb, "image","phi=0","theta=0","time=0","vis=1"), scalars)
+    test_composite("cinema_3_05", os.path.join(cdb, "image","phi=3","theta=1","time=0","vis=0"), scalars)
+    test_composite("cinema_3_06", os.path.join(cdb, "image","phi=3","theta=1","time=0","vis=1"), scalars)
+
+
+def MakeShortWave(incr):
+    db = abs_path("short_wave.visit")
+    f = open(db, "wt")
+    for i in range(0, 700, incr):
+        f.write(silo_data_path("wave%04d.silo" % i) + "\n")
+    f.close()
+    return os.path.abspath(db)
+
+def main():
+    test2(MakeShortWave(100))
+    test3(MakeShortWave(500))
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cleanzonesonly.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cleanzonesonly.html new file mode 100644 index 000000000..c63460f66 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cleanzonesonly.html @@ -0,0 +1,120 @@ + +Results for hybrid/cleanzonesonly.py + +

Results of VisIt Regression Test - hybrid/cleanzonesonly

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Multicolor mode
hybrid_cleanzonesonly_010.000.00
hybrid_cleanzonesonly_020.000.00
hybrid_cleanzonesonly_030.000.00
Continuous colortable mode
hybrid_cleanzonesonly_040.000.00
hybrid_cleanzonesonly_050.000.00
hybrid_cleanzonesonly_060.000.00
Discrete colortable mode
hybrid_cleanzonesonly_070.000.00
hybrid_cleanzonesonly_080.000.00
hybrid_cleanzonesonly_090.000.00
Singlecolor mode
hybrid_cleanzonesonly_100.000.00
hybrid_cleanzonesonly_110.000.00
hybrid_cleanzonesonly_120.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cleanzonesonly_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cleanzonesonly_py.html new file mode 100644 index 000000000..7a694320e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cleanzonesonly_py.html @@ -0,0 +1,135 @@ +hybrid/cleanzonesonly.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  cleanzonesonly.py
+#
+#  Tests:      plots     - filled boundary
+#
+#  Defect ID:  '5135
+#
+#  Programmer: Jeremy Meredith
+#  Date:       July  6, 2004
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+# Turn off all annotation
+a = AnnotationAttributes()
+TurnOffAllAnnotations(a)
+SetAnnotationAttributes(a)
+
+# -----------------------------------------------------------------------------
+#    multicolor mode -- normal plot, then CZO on, then CZO off
+# -----------------------------------------------------------------------------
+TestSection("Multicolor mode")
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+
+AddPlot("FilledBoundary", "mat1");
+DrawPlots()
+
+v=GetView2D()
+v.viewportCoords=(0.3, 0.9, 0.15, 0.9)
+SetView2D(v)
+
+Test("hybrid_cleanzonesonly_01")
+
+m = FilledBoundaryAttributes()
+m.cleanZonesOnly = 1
+SetPlotOptions(m)
+
+Test("hybrid_cleanzonesonly_02")
+
+m.cleanZonesOnly = 0
+SetPlotOptions(m)
+
+Test("hybrid_cleanzonesonly_03")
+
+DeleteAllPlots()
+
+# -----------------------------------------------------------------------------
+#    continuous colortable mode -- normal plot, then CZO on, then CZO off
+# -----------------------------------------------------------------------------
+TestSection("Continuous colortable mode")
+AddPlot("FilledBoundary", "mat1");
+
+m = FilledBoundaryAttributes();
+m.colorType = m.ColorByColorTable
+m.colorTableName = 'calewhite'
+m.mixedColor=(0,100,100,255)
+SetPlotOptions(m)
+DrawPlots()
+
+Test("hybrid_cleanzonesonly_04")
+
+m = FilledBoundaryAttributes()
+m.cleanZonesOnly = 1
+SetPlotOptions(m)
+
+Test("hybrid_cleanzonesonly_05")
+
+m.cleanZonesOnly = 0
+SetPlotOptions(m)
+
+Test("hybrid_cleanzonesonly_06")
+
+DeleteAllPlots()
+
+# -----------------------------------------------------------------------------
+#    discrete colortable mode -- normal plot, then CZO on, then CZO off
+# -----------------------------------------------------------------------------
+TestSection("Discrete colortable mode")
+AddPlot("FilledBoundary", "mat1");
+
+m = FilledBoundaryAttributes();
+m.colorType = m.ColorByColorTable
+m.colorTableName = 'levels'
+m.mixedColor=(0,0,0,255)
+SetPlotOptions(m)
+DrawPlots()
+
+Test("hybrid_cleanzonesonly_07")
+
+m = FilledBoundaryAttributes()
+m.cleanZonesOnly = 1
+SetPlotOptions(m)
+
+Test("hybrid_cleanzonesonly_08")
+
+m.cleanZonesOnly = 0
+SetPlotOptions(m)
+
+Test("hybrid_cleanzonesonly_09")
+
+DeleteAllPlots()
+
+# -----------------------------------------------------------------------------
+#    singlecolor mode -- normal plot, then CZO on, then CZO off
+# -----------------------------------------------------------------------------
+TestSection("Singlecolor mode")
+AddPlot("FilledBoundary", "mat1");
+
+m = FilledBoundaryAttributes();
+m.colorType = m.ColorBySingleColor
+m.singleColor = (255, 0, 0, 255)
+SetPlotOptions(m)
+DrawPlots()
+
+Test("hybrid_cleanzonesonly_10")
+
+m = FilledBoundaryAttributes()
+m.cleanZonesOnly = 1
+SetPlotOptions(m)
+
+Test("hybrid_cleanzonesonly_11")
+
+m.cleanZonesOnly = 0
+SetPlotOptions(m)
+
+Test("hybrid_cleanzonesonly_12")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_clonefirstref.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_clonefirstref.html new file mode 100644 index 000000000..740d54107 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_clonefirstref.html @@ -0,0 +1,72 @@ + +Results for hybrid/clonefirstref.py + +

Results of VisIt Regression Test - hybrid/clonefirstref

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
clonefirstref_000.000.00
clonefirstref_010 modifications totalling 0 lines
clonefirstref_020.000.00
clonefirstref_030.000.00
clonefirstref_040 modifications totalling 0 lines
clonefirstref_050.000.00
clonefirstref_060 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_clonefirstref_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_clonefirstref_py.html new file mode 100644 index 000000000..2a6ff2099 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_clonefirstref_py.html @@ -0,0 +1,62 @@ +hybrid/clonefirstref.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  clonefirstref.py
+#
+#  Tests:      mesh      - 2D, curvilinear, single domain
+#              plots     - FilledBoundary
+#              databases - PDB
+#
+#  Purpose:    This test case tests the viewer's ability to consider a window
+#              that had been referenced as unreferenced if its plot list has
+#              no active source.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Feb 18 14:01:48 PST 2005
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+#
+# Look at the first few lines of the string representation of the
+# WindowInformation to see the list of time sliders, etc.
+#
+def TestWindowInformation(testname):
+    # Get the window information and convert it to a string.
+    s = str(GetWindowInformation())
+    # Only use the first 5 or so lines from the string.
+    lines = s.split("\n")
+    s = ""
+    for i in range(5):
+        if(i < len(lines)):
+            s = s + lines[i]
+            s = s + "\n"
+    TestText(testname, s)
+
+SetCloneWindowOnFirstRef(1)
+SetWindowLayout(2)
+SetActiveWindow(2)
+OpenDatabase(data_path("pdb_test_data/dbB00.pdb"))
+
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+Test("clonefirstref_00")
+TestWindowInformation("clonefirstref_01")
+
+# Make sure that the database and time sliders, etc got copied to window 1,
+# even though it had been "referenced" already. Without the fix, VisIt used
+# to complain about no database being open.
+SetActiveWindow(1)
+Test("clonefirstref_02")
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+Test("clonefirstref_03")
+TestWindowInformation("clonefirstref_04")
+
+# Make sure that we can move through time.
+SetTimeSliderState(5)
+Test("clonefirstref_05")
+TestWindowInformation("clonefirstref_06")
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conditional.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conditional.html new file mode 100644 index 000000000..5c9b2f430 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conditional.html @@ -0,0 +1,72 @@ + +Results for hybrid/conditional.py + +

Results of VisIt Regression Test - hybrid/conditional

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
conditional_010.000.00
conditional_020.000.00
conditional_030.000.00
conditional_040.000.00
conditional_050.000.00
conditional_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conditional_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conditional_py.html new file mode 100644 index 000000000..bc3cdc53e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conditional_py.html @@ -0,0 +1,96 @@ +hybrid/conditional.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  expressions.py
+#
+#  Tests:      mesh      - 3D rectilinear, single domain
+#              plots     - Pseudocolor
+#              operators - Threshold
+#
+#  Defect ID:  '3655
+#
+#  Programmer: Hank Childs
+#  Date:       August 21, 2003
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
+#    Changed Pseudocolor CurrentPlot to ActualData.
+#
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+
+DefineScalarExpression("bigun", 'if(and(gt(nmats(mat1), 1.), gt(matvf(mat1, "4"), 0.)), d, 0.)')
+
+AddPlot("Pseudocolor", "bigun")
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (0.17, 0.74, 0.64)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (-0.31, 0.65, -0.68)
+v.parallelScale = 0.866
+v.nearPlane = -1.73
+v.farPlane = 1.73
+SetView3D(v)
+
+Test("conditional_01")
+
+t = ThresholdAttributes()
+t.lowerBounds = (0.01)
+t.upperBounds = (0.99)
+SetDefaultOperatorOptions(t)
+AddOperator("Threshold")
+
+pc_atts = PseudocolorAttributes()
+pc_atts.limitsMode = pc_atts.ActualData
+SetPlotOptions(pc_atts)
+DrawPlots()
+Test("conditional_02")
+
+DeleteAllPlots()
+
+DefineVectorExpression("vel2", "{ if(lt(u, 0), u, -u/2), if(gte(v, -0.333), v, -v/4), w}")
+AddPlot("Vector", "vel2")
+vec_atts = VectorAttributes()
+vec_atts.nVectors = 100
+SetPlotOptions(vec_atts)
+DrawPlots()
+
+Test("conditional_03")
+
+DeleteAllPlots()
+
+DefineScalarExpression("eq", "if(eq(u, v), abs(w), 0.)")
+AddPlot("Pseudocolor", "eq")
+AddOperator("Threshold")
+DrawPlots()
+
+Test("conditional_04")
+
+DefineScalarExpression("close", "if(lte(abs(u-v), 0.05), abs(w), 0.)")
+ChangeActivePlotsVar("close")
+
+Test("conditional_05")
+
+
+DefineScalarExpression("close_and_far", "if(or(lte(abs(u-v), 0.05), gte(abs(u-v), 1.)), abs(w), 0.)")
+ChangeActivePlotsVar("close_and_far")
+
+Test("conditional_06")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conn_cmfe.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conn_cmfe.html new file mode 100644 index 000000000..68d4802e1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conn_cmfe.html @@ -0,0 +1,102 @@ + +Results for hybrid/conn_cmfe.py + +

Results of VisIt Regression Test - hybrid/conn_cmfe

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
conn_cmfe_010.000.00
conn_cmfe_020.000.00
conn_cmfe_030.000.00
conn_cmfe_040 modifications totalling 0 lines
conn_cmfe_050 modifications totalling 0 lines
conn_cmfe_060 modifications totalling 0 lines
conn_cmfe_070 modifications totalling 0 lines
conn_cmfe_080 modifications totalling 0 lines
conn_cmfe_090.000.00
conn_cmfe_100 modifications totalling 0 lines
conn_cmfe_110 modifications totalling 0 lines
conn_cmfe_120.000.00
conn_cmfe_130 modifications totalling 0 lines
conn_cmfe_140 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conn_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conn_cmfe_py.html new file mode 100644 index 000000000..a962bcb89 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_conn_cmfe_py.html @@ -0,0 +1,138 @@ +hybrid/conn_cmfe.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  conn_cmfe.py
+#
+#  Defect ID:  '6616
+#
+#  Programmer: Hank Childs
+#  Date:       August 30, 2005
+#
+#  Modifications:
+#
+#    Hank Childs, Tue Sep 20 13:15:11 PDT 2005
+#    Test for non-existent databases, especially those with short names ['6616]
+#
+#    Hank Childs, Fri Oct  7 17:14:07 PDT 2005
+#    Test error message for Eulerian material selection.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Cyrus Harrison, Wed Aug 25 14:25:13 PDT 2010
+#    SIL id shift (from 1 to 2) due to changes in SIL generation.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("wave0200.silo"))
+
+
+
+# Test general capability.
+DefineScalarExpression("cmfe", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("wave0020.silo"))
+AddPlot("Pseudocolor", "cmfe")
+DrawPlots()
+Test("conn_cmfe_01")
+
+# Test using the expression as a secondary variable.
+ChangeActivePlotsVar("pressure")
+AddOperator("Threshold")
+t = ThresholdAttributes()
+t.lowerBounds = (-1.0)
+t.upperBounds = (0.1)
+t.listedVarNames = ("cmfe")
+SetOperatorOptions(t)
+DrawPlots()
+Test("conn_cmfe_02")
+
+# Test using cmfe in another expression.
+DefineVectorExpression("disp", "{0, 3*cmfe, 0}")
+RemoveLastOperator()
+d = DisplaceAttributes()
+d.variable = "disp"
+SetDefaultOperatorOptions(d)
+AddOperator("Displace")
+DrawPlots()
+Test("conn_cmfe_03")
+
+RemoveLastOperator()
+ChangeActivePlotsVar("cmfe")
+DrawPlots()
+
+Query("MinMax")
+t = GetQueryOutputString()
+TestText("conn_cmfe_04", t)
+
+# Now test error conditions.
+DefineScalarExpression("cmfe2", "conn_cmfe(pressure, quadmesh)")
+ChangeActivePlotsVar("cmfe2")
+DrawPlots()
+t = GetLastError()
+TestText("conn_cmfe_05", t)
+
+DefineScalarExpression("cmfe3", "conn_cmfe(<bad_file.silo:a_var>, quadmesh)")
+ChangeActivePlotsVar("cmfe3")
+DrawPlots()
+t = GetLastError()
+TestText("conn_cmfe_06", t)
+
+DefineScalarExpression("cmfe4", "conn_cmfe(<%s:pressure>, quadmesh, pressure)" %  cmfe_silo_data_path("wave0100.silo"))
+ChangeActivePlotsVar("cmfe4")
+DrawPlots()
+t = GetLastError()
+TestText("conn_cmfe_07", t)
+
+DefineScalarExpression("cmfe5", "conn_cmfe(<%s:pressure>)" % cmfe_silo_data_path("wave0100.silo"))
+ChangeActivePlotsVar("cmfe5")
+DrawPlots()
+t = GetLastError()
+TestText("conn_cmfe_08", t)
+
+# And one more cool picture just for grins.
+DefineScalarExpression("cmfe6", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("wave0570.silo"))
+DefineScalarExpression("max", "if(ge(pressure, cmfe6), pressure, cmfe6)")
+ChangeActivePlotsVar("max")
+DrawPlots()
+Test("conn_cmfe_09")
+
+# Invalid variable in new database.
+DefineScalarExpression("cmfe7", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("globe.silo"))
+ChangeActivePlotsVar("cmfe7")
+t = GetLastError()
+TestText("conn_cmfe_10", t)
+
+# Now a good variable, but connectivity doesn't match.
+DefineScalarExpression("cmfe8", "conn_cmfe(<%s:t>, quadmesh)" % cmfe_silo_data_path("globe.silo"))
+ChangeActivePlotsVar("cmfe8")
+DrawPlots()
+t = GetLastError()
+TestText("conn_cmfe_11", t)
+
+# Test multiple CMFEs
+DefineScalarExpression("cmfe9", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("wave0100.silo"))
+DefineScalarExpression("max2", "if(ge(max, cmfe9), max, cmfe9)")
+ChangeActivePlotsVar("max2")
+DrawPlots()
+Test("conn_cmfe_12")
+
+DefineScalarExpression("cmfe10", "conn_cmfe(<30:d>, quadmesh)")
+ChangeActivePlotsVar("cmfe10")
+t = GetLastError()
+TestText("conn_cmfe_13", t)
+
+ChangeActivePlotsVar("cmfe")
+DrawPlots()
+s = SILRestriction()
+s.TurnOffAll()
+s.TurnOnSet(2)
+SetPlotSILRestriction(s)
+t = GetLastError()
+TestText("conn_cmfe_14", t)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_coord_expr.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_coord_expr.html new file mode 100644 index 000000000..3166a8b09 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_coord_expr.html @@ -0,0 +1,84 @@ + +Results for hybrid/coord_expr.py + +

Results of VisIt Regression Test - hybrid/coord_expr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
coord_expr_010.000.00
coord_expr_020.000.00
coord_expr_030.000.00
coord_expr_040.000.00
coord_expr_050.000.00
coord_expr_060.000.00
coord_expr_070.000.00
coord_expr_080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_coord_expr_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_coord_expr_py.html new file mode 100644 index 000000000..7762aacd8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_coord_expr_py.html @@ -0,0 +1,65 @@ +hybrid/coord_expr.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  coord_expr.py
+#
+#  Tests:      mesh      - 3D unstructured, multi- domain
+#              plots     - Pseudocolor
+#
+#  Defect ID:  '5994, '5995
+#
+#  Programmer: Hank Childs
+#  Date:       June 30, 2005
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+
+DefineScalarExpression("polar_radius", "polar_radius(mesh1)")
+AddPlot("Pseudocolor", "polar_radius")
+DrawPlots()
+Test("coord_expr_01")
+
+DefineScalarExpression("zero", "polar_radius-polar(mesh1)[0]")
+ChangeActivePlotsVar("zero")
+Test("coord_expr_02")
+
+DefineScalarExpression("polar_theta", "polar_theta(mesh1)")
+ChangeActivePlotsVar("polar_theta")
+Test("coord_expr_03")
+
+DefineScalarExpression("polar_phi", "polar_phi(mesh1)")
+ChangeActivePlotsVar("polar_phi")
+Test("coord_expr_04")
+
+DefineScalarExpression("cylindrical_radius", "cylindrical_radius(mesh1)")
+ChangeActivePlotsVar("cylindrical_radius")
+Test("coord_expr_05")
+
+DefineScalarExpression("cylindrical_theta", "cylindrical_theta(mesh1)")
+ChangeActivePlotsVar("cylindrical_theta")
+Test("coord_expr_06")
+
+DeleteExpression("zero")
+# Not really zero -- this is the diagonal
+DefineScalarExpression("zero", "polar_radius-cylindrical_radius")
+ChangeActivePlotsVar("zero")
+Test("coord_expr_07")
+
+DeleteActivePlots()
+
+DefineVectorExpression("c", "cylindrical(mesh1)")
+AddPlot("Vector", "c")
+DrawPlots()
+Test("coord_expr_08")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_anim.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_anim.html new file mode 100644 index 000000000..f0e5d236c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_anim.html @@ -0,0 +1,72 @@ + +Results for hybrid/curve_anim.py + +

Results of VisIt Regression Test - hybrid/curve_anim

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
curve_anim10.000.00
curve_anim20.000.00
curve_anim30.000.00
curve_anim40.000.00
curve_anim50.000.00
curve_anim60.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_anim_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_anim_py.html new file mode 100644 index 000000000..2409f6a09 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_anim_py.html @@ -0,0 +1,77 @@ +hybrid/curve_anim.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  curve_anim.py
+#
+#  Tests:      mesh      - polygonal line from .curve file.
+#              plots     - curve
+#              operators - none
+#
+#  Defect ID:  '2973
+#
+#  Programmer: Hank Childs
+#  Date:       January 15, 2003
+#
+#  Modifications:
+#
+#    Hank Childs, Mon Aug  4 09:51:40 PDT 2003
+#    Curves are no longer valid subsets, but they are now curve plots.
+#
+#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
+#    Removed deprecated functions.
+#
+#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#    Turn off cycling of colors for all Curve plot tests.  Set the colors
+#    individually to match current baseline results.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(data_path("curve_test_data/curve.visit"))
+
+curveAtts = CurveAttributes()
+curveAtts.curveColorSource = curveAtts.Custom
+AddPlot("Curve", "flat")
+curveAtts.curveColor = (0, 255, 0, 255)
+SetPlotOptions(curveAtts)
+AddPlot("Curve", "going_up")
+curveAtts.curveColor = (255, 0, 0, 255)
+SetPlotOptions(curveAtts)
+AddPlot("Curve", "going_down")
+curveAtts.curveColor = (0, 0, 255, 255)
+SetPlotOptions(curveAtts)
+AddPlot("Curve", "parabolic")
+curveAtts.curveColor = (0, 255, 255, 255)
+SetPlotOptions(curveAtts)
+
+SetTimeSliderState(40)
+DrawPlots()
+# This additional set frame is so that the saved
+# image is correct.
+SetTimeSliderState(40)
+Test("curve_anim1")
+
+SetTimeSliderState(99)
+Test("curve_anim2")
+
+SetActivePlots(3)
+DeleteActivePlots()
+
+Test("curve_anim3")
+
+SetTimeSliderState(40)
+Test("curve_anim4")
+
+SetActivePlots(0)
+DeleteActivePlots()
+Test("curve_anim5")
+
+SetTimeSliderState(5)
+AddPlot("Curve", "flat")
+curveAtts.curveColor = (0, 255, 0, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+Test("curve_anim6")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_expressions.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_expressions.html new file mode 100644 index 000000000..c2c1923cc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_expressions.html @@ -0,0 +1,63 @@ + +Results for hybrid/curve_expressions.py + +

Results of VisIt Regression Test - hybrid/curve_expressions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
binary operations on curves
curve_exp_bin_000.000.00
curve_exp_bin_010.000.00
curve_exp_bin_020.000.00
curve_exp_bin_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_expressions_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_expressions_py.html new file mode 100644 index 000000000..62d9dcb2d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_curve_expressions_py.html @@ -0,0 +1,50 @@ +hybrid/curve_expressions.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  curve_expressions.py
+#
+#  Programmer: Kathleen Bonnell 
+#  Date:       November 18, 2008
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def TurnOffCurveLabels():
+    c = CurveAttributes()
+    c.showLabels = 0
+    SetDefaultPlotOptions(c)
+
+def DoBinaryOp(db1, curve1, db2, curve2, op, index):
+    # name = db:curve1 op curve_cmfe(<db2:curve2>, <db1, curve1>)
+    var1 = "<%s>" % (curve1)
+    var2 = "<%s:%s>" % (db2, curve2)
+    cmfe = "curve_cmfe(%s,%s)" % (var2, var1)
+    name = "<A %s B>" %(op)
+    DefineCurveExpression(name, "%s %s %s" %(var1, op, cmfe))
+
+    AddPlot("Curve", name);
+    DrawPlots()
+
+    Test("curve_exp_bin_%02d" %index)
+    DeleteAllPlots()
+
+def TestBinary():
+    binops = ("+", "-", "*", "/")
+    cdb = cmfe_data_path("curve_test_data/distribution.ultra")
+    db = data_path("curve_test_data/distribution.ultra")
+    logNormal = "Log Normal Distribution"
+    exponential = "Exponential Distribution"
+
+    TestSection("binary operations on curves")
+    OpenDatabase(db)
+    for i in range(4):
+        DoBinaryOp(cdb, logNormal, cdb, exponential, binops[i], i)
+
+    CloseDatabase(db)
+
+
+TurnOffCurveLabels()
+TestBinary()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cylindrical_radius.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cylindrical_radius.html new file mode 100644 index 000000000..edb3b1e57 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cylindrical_radius.html @@ -0,0 +1,96 @@ + +Results for hybrid/cylindrical_radius.py + +

Results of VisIt Regression Test - hybrid/cylindrical_radius

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
cylin_rad_default_10.000.00
cylin_rad_default_20.000.00
cylin_rad_x_10.000.00
cylin_rad_x_20.000.00
cylin_rad_y_10.000.00
cylin_rad_y_20.000.00
cylin_rad_z_10.000.00
cylin_rad_z_20.000.00
cylin_rad_diag_a_10.000.00
cylin_rad_diag_b_10.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cylindrical_radius_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cylindrical_radius_py.html new file mode 100644 index 000000000..33d258dad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_cylindrical_radius_py.html @@ -0,0 +1,232 @@ +hybrid/cylindrical_radius.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  cylindrical_radius.py
+#
+#  Tests:      mesh      - 3D structured, multi domain
+#              plots     - pc
+#
+#  Ticket Id:  '7915
+#
+#  Notes:      Created to test axis selection for the cylindrical_radius 
+#              expression
+#
+#  Programmer: Cyrus Harrison
+#  Date:       March 31, 2008
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+
+
+# Default use case
+DefineScalarExpression("cylin_rad_default",   "cylindrical_radius(mesh1)")
+# Cyl axis = {1,0,0}
+DefineScalarExpression("cylin_rad_x",         'cylindrical_radius(mesh1,"x")')
+# Cyl axis = {0,1,0}
+DefineScalarExpression("cylin_rad_y",         'cylindrical_radius(mesh1,"y")')
+# Cyl axis = {0,0,1} (same as default)
+DefineScalarExpression("cylin_rad_z",         'cylindrical_radius(mesh1,"z")')
+# Cyl axis = {1,1,1}
+DefineScalarExpression("cylin_rad_diag_a",    'cylindrical_radius(mesh1,{1,1,1})')
+# Cyl axis = {1,1,-1}
+DefineScalarExpression("cylin_rad_diag_b",    'cylindrical_radius(mesh1,{1,1,-1})')
+
+# use rotate and defer expression to test proper axis selection
+
+def test_cyl(var_name):
+    DeleteAllPlots();
+    ResetView()
+    AddPlot("Pseudocolor", var_name)
+    DrawPlots()
+    Test(var_name + "_%d" % 1)
+    AddOperator("Transform") # rotate to another view
+    TransformAtts = TransformAttributes()
+    TransformAtts.doRotate = 1
+    TransformAtts.rotateOrigin = (0, 0, 0)
+    TransformAtts.rotateAxis = (0, 1, 0)
+    TransformAtts.rotateAmount = 45
+    TransformAtts.rotateType = TransformAtts.Deg
+    TransformAtts.doScale = 0
+    TransformAtts.doTranslate = 0
+    TransformAtts.transformType = TransformAtts.Similarity
+    TransformAtts.inputCoordSys = TransformAtts.Cartesian
+    TransformAtts.outputCoordSys = TransformAtts.Cartesian
+    SetOperatorOptions(TransformAtts)
+    DrawPlots()
+    Test(var_name + "_%d" % 2)
+
+def test_cyl_x(var_name):
+    DeleteAllPlots();
+    ResetView()
+    AddPlot("Pseudocolor", var_name)
+    AddOperator("Transform")
+    TransformAtts = TransformAttributes()
+    TransformAtts.doRotate = 1
+    TransformAtts.rotateOrigin = (0, 0, 0)
+    TransformAtts.rotateAxis = (0, 1, 0)
+    TransformAtts.rotateAmount = 90
+    TransformAtts.rotateType = TransformAtts.Deg
+    TransformAtts.doScale = 0
+    TransformAtts.doTranslate = 0
+    TransformAtts.transformType = TransformAtts.Similarity
+    TransformAtts.inputCoordSys = TransformAtts.Cartesian
+    TransformAtts.outputCoordSys = TransformAtts.Cartesian
+    SetOperatorOptions(TransformAtts)
+    AddOperator("DeferExpression")
+    DeferExpressionAtts = DeferExpressionAttributes()
+    DeferExpressionAtts.exprs = (var_name)
+    SetOperatorOptions(DeferExpressionAtts)
+    DrawPlots()
+    Test(var_name + "_%d" % 1)
+    AddOperator("Transform") # rotate to better view
+    TransformAtts = TransformAttributes()
+    TransformAtts.doRotate = 1
+    TransformAtts.rotateOrigin = (0, 0, 0)
+    TransformAtts.rotateAxis = (0, 1, 0)
+    TransformAtts.rotateAmount = -45
+    TransformAtts.rotateType = TransformAtts.Deg
+    TransformAtts.doScale = 0
+    TransformAtts.doTranslate = 0
+    TransformAtts.transformType = TransformAtts.Similarity
+    TransformAtts.inputCoordSys = TransformAtts.Cartesian
+    TransformAtts.outputCoordSys = TransformAtts.Cartesian
+    SetOperatorOptions(TransformAtts)
+    DrawPlots()
+    Test(var_name + "_%d" % 2)
+
+
+def test_cyl_y(var_name):
+    DeleteAllPlots();
+    ResetView()
+    AddPlot("Pseudocolor", var_name)
+    AddOperator("Transform")
+    TransformAtts = TransformAttributes()
+    TransformAtts.doRotate = 1
+    TransformAtts.rotateOrigin = (0, 0, 0)
+    TransformAtts.rotateAxis = (1, 0, 0)
+    TransformAtts.rotateAmount = 90
+    TransformAtts.rotateType = TransformAtts.Deg
+    TransformAtts.doScale = 0
+    TransformAtts.doTranslate = 0
+    TransformAtts.transformType = TransformAtts.Similarity
+    TransformAtts.inputCoordSys = TransformAtts.Cartesian
+    TransformAtts.outputCoordSys = TransformAtts.Cartesian
+    SetOperatorOptions(TransformAtts)
+    AddOperator("DeferExpression")
+    DeferExpressionAtts = DeferExpressionAttributes()
+    DeferExpressionAtts.exprs = (var_name)
+    SetOperatorOptions(DeferExpressionAtts)
+    DrawPlots()
+    Test(var_name + "_%d" % 1)
+    AddOperator("Transform") # rotate to better view
+    TransformAtts = TransformAttributes()
+    TransformAtts.doRotate = 1
+    TransformAtts.rotateOrigin = (0, 0, 0)
+    TransformAtts.rotateAxis = (1, 0, 0)
+    TransformAtts.rotateAmount = -45
+    TransformAtts.rotateType = TransformAtts.Deg
+    TransformAtts.doScale = 0
+    TransformAtts.doTranslate = 0
+    TransformAtts.transformType = TransformAtts.Similarity
+    TransformAtts.inputCoordSys = TransformAtts.Cartesian
+    TransformAtts.outputCoordSys = TransformAtts.Cartesian
+    SetOperatorOptions(TransformAtts)
+    DrawPlots()
+    Test(var_name + "_%d" % 2)
+
+def test_cyl_diag_a(var_name):
+    DeleteAllPlots();
+    ResetView()
+    AddPlot("Pseudocolor", var_name)
+    AddOperator("Transform")
+    TransformAtts = TransformAttributes()
+    TransformAtts.doRotate = 1
+    TransformAtts.rotateOrigin = (0, 0, 0)
+    TransformAtts.rotateAxis = (0, 1, 0)
+    TransformAtts.rotateAmount = 45
+    TransformAtts.rotateType = TransformAtts.Deg
+    TransformAtts.doScale = 0
+    TransformAtts.doTranslate = 0
+    TransformAtts.transformType = TransformAtts.Similarity
+    TransformAtts.inputCoordSys = TransformAtts.Cartesian
+    TransformAtts.outputCoordSys = TransformAtts.Cartesian
+    SetOperatorOptions(TransformAtts)
+    AddOperator("Transform") # rotate to better view
+    TransformAtts = TransformAttributes()
+    TransformAtts.doRotate = 1
+    TransformAtts.rotateOrigin = (0, 0, 0)
+    TransformAtts.rotateAxis = (-0.70710678118654746, 0, 0.70710678118654746)
+    TransformAtts.rotateAmount = 35.26
+    TransformAtts.rotateType = TransformAtts.Deg
+    TransformAtts.doScale = 0
+    TransformAtts.doTranslate = 0
+    TransformAtts.transformType = TransformAtts.Similarity
+    TransformAtts.inputCoordSys = TransformAtts.Cartesian
+    TransformAtts.outputCoordSys = TransformAtts.Cartesian
+    SetOperatorOptions(TransformAtts)
+    AddOperator("DeferExpression")
+    DeferExpressionAtts = DeferExpressionAttributes()
+    DeferExpressionAtts.exprs = (var_name)
+    SetOperatorOptions(DeferExpressionAtts)
+    DrawPlots()
+    Test(var_name + "_%d" % 1)
+
+def test_cyl_diag_b(var_name):
+    DeleteAllPlots();
+    ResetView()
+    AddPlot("Pseudocolor", var_name)
+    AddOperator("Transform")
+    TransformAtts = TransformAttributes()
+    TransformAtts.doRotate = 1
+    TransformAtts.rotateOrigin = (0, 0, 0)
+    TransformAtts.rotateAxis = (0, 1, 0)
+    TransformAtts.rotateAmount = -45
+    TransformAtts.rotateType = TransformAtts.Deg
+    TransformAtts.doScale = 0
+    TransformAtts.doTranslate = 0
+    TransformAtts.transformType = TransformAtts.Similarity
+    TransformAtts.inputCoordSys = TransformAtts.Cartesian
+    TransformAtts.outputCoordSys = TransformAtts.Cartesian
+    SetOperatorOptions(TransformAtts)
+    AddOperator("Transform") # rotate to better view
+    TransformAtts = TransformAttributes()
+    TransformAtts.doRotate = 1
+    TransformAtts.rotateOrigin = (0, 0, 0)
+    TransformAtts.rotateAxis = (0.70710678118654746, 0, 0.70710678118654746)
+    TransformAtts.rotateAmount = 35.26
+    TransformAtts.rotateType = TransformAtts.Deg
+    TransformAtts.doScale = 0
+    TransformAtts.doTranslate = 0
+    TransformAtts.transformType = TransformAtts.Similarity
+    TransformAtts.inputCoordSys = TransformAtts.Cartesian
+    TransformAtts.outputCoordSys = TransformAtts.Cartesian
+    SetOperatorOptions(TransformAtts)
+    AddOperator("DeferExpression")
+    DeferExpressionAtts = DeferExpressionAttributes()
+    DeferExpressionAtts.exprs = (var_name)
+    SetOperatorOptions(DeferExpressionAtts)
+    DrawPlots()
+    Test(var_name + "_%d" % 1)
+
+
+test_cyl("cylin_rad_default")
+test_cyl_x("cylin_rad_x")
+test_cyl_y("cylin_rad_y")
+test_cyl("cylin_rad_z") # same as default
+test_cyl_diag_a("cylin_rad_diag_a")
+test_cyl_diag_b("cylin_rad_diag_b")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ddf.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ddf.html new file mode 100644 index 000000000..704f26dd3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ddf.html @@ -0,0 +1,75 @@ + +Results for hybrid/ddf.py + +

Results of VisIt Regression Test - hybrid/ddf

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ddf_010.000.00
ddf_020.000.00
ddf_030.000.00
ddf_040.000.00
DDF Spatial Collapse with Ghost Zones
ddf_spatial_1d0.000.00
ddf_spatial_2d0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ddf_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ddf_py.html new file mode 100644 index 000000000..363207b48 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ddf_py.html @@ -0,0 +1,172 @@ +hybrid/ddf.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ddf.py
+#
+#  Defect ID:  '5203
+#
+#  Programmer: Hank Childs
+#  Date:       February 20, 2006
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Tue Feb 23 12:40:36 PST 2021
+#    Added spatial collapse with ghost zones test.
+#
+#    Kathleen Biagas, Thu Feb 17 07:38:01 PST 2022
+#    Replace old ConstructDDFAttributes attribute names for new:
+#    ddfName -> name, ranges -> binBoundaries, numSamples -> numBins,
+#    statisticalOperator -> reductionOperator,
+#    codomainName -> varForReductionOperator.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+t = ConstructDDFAttributes()
+t.name = "ddf1"
+t.varnames = ("u")
+t.binBoundaries = (-1, 1)
+t.numBins = (4)
+t.varForReductionOperator = "u"
+t.reductionOperator = t.Average
+ConstructDDF(t)
+
+DefineScalarExpression("e1", "u - apply_ddf(curvmesh2d, ddf1)")
+ChangeActivePlotsVar("e1")
+Test("ddf_01")
+
+t.name = "ddf2"
+t.reductionOperator = t.Maximum
+t.varForReductionOperator = "v"
+t.varnames = ("v")
+ConstructDDF(t)
+DefineScalarExpression("e2", "v - apply_ddf(curvmesh2d, ddf2)")
+ChangeActivePlotsVar("e2")
+Test("ddf_02")
+
+t.name = "ddf3"
+t.varnames = ("u", "v")
+t.binBoundaries = (-1, 1, -1, 1)
+t.numBins = (25, 25)
+t.varForReductionOperator = "u"
+t.reductionOperator = t.Minimum
+ConstructDDF(t)
+
+DefineScalarExpression("e3", "u - apply_ddf(curvmesh2d, ddf3)")
+ChangeActivePlotsVar("e3")
+Test("ddf_03")
+
+
+ChangeActivePlotsVar("u")
+t.name = "ddf4"
+t.varnames = ("u", "v")
+t.binBoundaries = (-1, 1, -1, 1)
+t.numBins = (25, 25)
+t.varForReductionOperator = "u"
+t.reductionOperator = t.RMS
+ConstructDDF(t)
+
+DefineScalarExpression("e4", "apply_ddf(curvmesh2d, ddf4)")
+ChangeActivePlotsVar("e4")
+Test("ddf_04")
+
+
+#
+# DDF Spatial Collapse with ghost zones
+#
+
+def ddf(atts,var_name,ddf_op):
+    # ddf helper used in the wild to normalize var
+    # and file names
+    ddf_op_map = {"avg": atts.Average,
+                  "min": atts.Minimum,
+                  "max": atts.Maximum,
+                  "stddev": atts.StandardDeviation,
+                  "var":    atts.Variance,
+                  "sum":    atts.Sum,
+                  "count":  atts.Count,
+                  "rms": atts.RMS,
+                  "pdf": atts.PDF}
+    atts.reductionOperator = ddf_op_map[ddf_op]
+    visit.ConstructDDF(atts)
+    ndims = len(atts.numBins)
+    ddf_oname = "%s_%s_%dd" % (var_name,ddf_op,ndims)
+    if len(atts.numBins) == 1:
+        src_fname = "%s.ultra" % atts.name
+        des_fname = "%s.ult" % (atts.name)
+        os.rename(src_fname,des_fname)
+        lines = open(des_fname).readlines()
+        f     = open(des_fname, "w")
+        f.write("# %s\n" % (ddf_oname))
+        for l in lines[1:]:
+            f.write(l)
+        f.close()
+    else:
+        src_fname = "%s.vtk" % atts.name
+        des_fname = src_fname
+        orig_vtk_var = "SCALARS %s float" % var_name
+        ddf_vtk_var  = "SCALARS %s float" % ddf_oname
+        data = open(des_fname).read()
+        f = open(des_fname, "w")
+        data = data.replace(orig_vtk_var,ddf_vtk_var)
+        f.write(data)
+    print("[ddf output: %s]" % des_fname)
+    return des_fname
+
+#################################################
+# bigsil has ghost zones, this test makes
+# sure we are taking care of ghost zones property
+# in ddfs
+# use ddf to sum collapse spatially in 1d, then 2d
+def ddf_collapse_test():
+    TestSection("DDF Spatial Collapse with Ghost Zones")
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("bigsil.silo"))
+    DefineScalarExpression("mesh_x_nodal","coord(mesh)[0]")
+    DefineScalarExpression("mesh_y_nodal","coord(mesh)[1]")
+    DefineScalarExpression("mesh_z_nodal","coord(mesh)[2]")
+    DefineScalarExpression("mesh_x_zonal","recenter(coord(mesh)[0])")
+    DefineScalarExpression("mesh_y_zonal","recenter(coord(mesh)[1])")
+    DefineScalarExpression("mesh_z_zonal","recenter(coord(mesh)[2])")
+    AddPlot("Pseudocolor","dist")
+    DrawPlots()
+    atts = visit.ConstructDDFAttributes()
+    atts.name = "ddf_dist_1d"
+    atts.varForReductionOperator = "dist"
+    atts.varnames = ("mesh_x_zonal",)
+    atts.binBoundaries = (0,1)
+    atts.numBins = (21,)
+    ddf(atts,"dist","sum")
+    atts = visit.ConstructDDFAttributes()
+    atts.name = "ddf_dist_2d"
+    atts.varForReductionOperator = "dist"
+    atts.varnames = ("mesh_x_zonal", "mesh_y_zonal")
+    atts.binBoundaries = (0,1, 0,1)
+    atts.numBins = (21,21)
+    ddf(atts,"dist","sum")
+    # plot 1d result
+    DeleteAllPlots()
+    OpenDatabase("ddf_dist_1d.ult")
+    AddPlot("Curve","dist_sum_1d")
+    DrawPlots()
+    Test("ddf_spatial_1d")
+    # plot 2d result
+    DeleteAllPlots()
+    OpenDatabase("ddf_dist_2d.vtk")
+    AddPlot("Pseudocolor","dist_sum_2d")
+    DrawPlots()
+    Test("ddf_spatial_2d")
+
+ddf_collapse_test()
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_defvar_anim.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_defvar_anim.html new file mode 100644 index 000000000..78105e98e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_defvar_anim.html @@ -0,0 +1,54 @@ + +Results for hybrid/defvar_anim.py + +

Results of VisIt Regression Test - hybrid/defvar_anim

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
defvar_anim_010.000.00
defvar_anim_020.000.00
defvar_anim_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_defvar_anim_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_defvar_anim_py.html new file mode 100644 index 000000000..94f3488fe --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_defvar_anim_py.html @@ -0,0 +1,61 @@ +hybrid/defvar_anim.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  defvar.py
+#
+#  Tests:      plots     - vector
+#
+#  Defect ID:  '3221
+#
+#  Programmer: Hank Childs
+#  Date:       April 10, 2003
+#
+#  Modifications:
+#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
+#    Set the vector origin explicitly for some cases because I changed the
+#    default to Tail.
+#
+#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
+#    Removed deprecated functions.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(silo_data_path("wave.visit"))
+
+
+
+vec = VectorAttributes()
+vec.vectorOrigin = vec.Middle
+SetDefaultPlotOptions(vec)
+
+
+AddPlot("Vector", "direction")
+DrawPlots()
+
+# Set the view
+v = View3DAttributes()
+v.viewNormal = (-0.293413, 0.703819, 0.646953)
+v.focus = (5, 0.353448, 2.5)
+v.viewUp = (0.228637, 0.708763, -0.667368)
+v.viewAngle = 30
+v.parallelScale = 3.87214
+v.nearPlane = -11.2018
+v.farPlane = 11.2018
+v.perspective = 1
+SetView3D(v)
+
+
+Test("defvar_anim_01")
+
+SetTimeSliderState(30)
+Test("defvar_anim_02")
+
+SetTimeSliderState(60)
+Test("defvar_anim_03")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr2engine.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr2engine.html new file mode 100644 index 000000000..4bc4d140a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr2engine.html @@ -0,0 +1,56 @@ + +Results for hybrid/expr2engine.py + +

Results of VisIt Regression Test - hybrid/expr2engine

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
expr2engine_000.000.00
expr2engine_010 modifications totalling 0 lines
expr2engine_020 modifications totalling 0 lines
expr2engine_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr2engine_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr2engine_py.html new file mode 100644 index 000000000..e85b60de0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr2engine_py.html @@ -0,0 +1,67 @@ +hybrid/expr2engine.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  expr2engine.py
+#
+#  Tests:      mesh      - 2D, curvilinear, single domain
+#              plots     - FilledBoundary
+#              databases - PDB
+#
+#  Purpose:    This test case tests the viewer's ability to send not only the
+#              user-defined expressions to the engine but also the correct
+#              database expressions.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Feb 18 14:01:48 PST 2005
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+
+#
+# Create some expressions.
+#
+DefineScalarExpression("user_defined1", "u * u")
+DefineScalarExpression("user_defined2", "v + v")
+DefineVectorExpression("user_defined3", "{u, v, w}")
+
+# Open a database and make a plot.
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Vector", "vel")
+v = VectorAttributes()
+v.nVectors = 4000
+SetPlotOptions(v)
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.63515, 0.317784, 0.703987)
+v.viewUp = (0.176786, 0.947058, -0.268008)
+SetView3D(v)
+
+# Test the image that we should have by this point. Also make sure that the
+# expression list contains the database expressions for the first database.
+Test("expr2engine_00")
+TestExpressions("expr2engine_01")
+
+# Open a different database. The expression list should only contain the 
+# database variables from the new database.
+OpenDatabase(silo_data_path("noise.silo"))
+
+TestExpressions("expr2engine_02")
+
+# Test that the plot from the old database, which was a plot of an expression
+# from the first database can still be generated.
+AddOperator("Transform")
+DrawPlots()
+Test("expr2engine_03")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_exprList.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_exprList.html new file mode 100644 index 000000000..f77df71bc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_exprList.html @@ -0,0 +1,56 @@ + +Results for hybrid/exprList.py + +

Results of VisIt Regression Test - hybrid/exprList

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
exprList000 modifications totalling 0 lines
exprList010 modifications totalling 0 lines
exprList020 modifications totalling 0 lines
exprList030 modifications totalling 0 lines
exprList040 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_exprList_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_exprList_py.html new file mode 100644 index 000000000..1af03ad4a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_exprList_py.html @@ -0,0 +1,65 @@ +hybrid/exprList.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  exprList.py
+#  Tests:      Expression list contents as windows are added and we switch
+#              between databases that have expressions.
+#
+#  Defect ID:  VisIt00003955
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Oct 24 18:06:01 PST 2003
+#
+#  Modifications:
+#    
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+
+# Define some expressions just so we have some in the list.
+DefineScalarExpression("var1", "var2 + var3")
+DefineScalarExpression("var4", "var5 * var6")
+DefineScalarExpression("var7", "var8 / var9")
+
+# Open the first database, which has some expressions.
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "speed")
+DrawPlots()
+
+# This test should show our scalar expressions + globe's expressions.
+TestExpressions("exprList00")
+
+# Add a new window and open a different database that has no expressions of
+# its own.
+AddWindow()
+SetActiveWindow(2)
+DeleteAllPlots()
+OpenDatabase(silo_data_path("wave*.silo database"))
+
+TestExpressions("exprList01")
+
+# Going back to window 1, where globe is open. This should make the expression
+# list contain globe's expressions.
+SetActiveWindow(1)
+TestExpressions("exprList02")
+
+# Open a new database. This should make the expression list contain the
+# expressions for rect3d and our scalar expressions.
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+TestExpressions("exprList03")
+
+# Add a plot
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+# Make the active plot be the plot of globe. The expression list should 
+# contain globe's expressions.
+SetActivePlots(0)
+TestExpressions("exprList04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr_cmfe.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr_cmfe.html new file mode 100644 index 000000000..db987ec2f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr_cmfe.html @@ -0,0 +1,66 @@ + +Results for hybrid/expr_cmfe.py + +

Results of VisIt Regression Test - hybrid/expr_cmfe

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
expr_cmfe_010.000.00
expr_cmfe_020.000.00
expr_cmfe_030.000.00
expr_cmfe_040.000.00
expr_cmfe_050.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr_cmfe_py.html new file mode 100644 index 000000000..c84e01cc0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expr_cmfe_py.html @@ -0,0 +1,66 @@ +hybrid/expr_cmfe.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  expr_cmfe.py
+#
+#  Defect ID:  None
+#
+#  Programmer: Hank Childs
+#  Date:       September 9, 2005
+#
+#  Modifications:
+#
+#    Hank Childs, Thu Dec 29 11:21:26 PST 2005
+#    Expand the color range for a plot of an expression that should result in 
+#    uniformly "1", but actually has some small variation.  This causes 
+#    issues with coloring between optimized and non-optimized modes.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(silo_data_path("wave.visit"))
+
+
+
+# Test that database expressions can still be generated.
+DefineVectorExpression("cmfe", "conn_cmfe(<%s[30]i:direction>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
+AddPlot("Vector", "cmfe")
+DrawPlots()
+Test("expr_cmfe_01")
+
+DeleteAllPlots()
+DefineScalarExpression("cmfe2", "conn_cmfe(coord(<%s[40]i:pressure>)[1], quadmesh)" % cmfe_silo_data_path("wave.visit"))
+AddPlot("Pseudocolor", "cmfe2")
+DrawPlots()
+Test("expr_cmfe_02")
+
+DeleteAllPlots()
+DefineScalarExpression("cmfe3", "coord(quadmesh)[1] - conn_cmfe(coord(<%s[40]i:pressure>)[1], quadmesh)" % cmfe_silo_data_path("wave.visit"))
+AddPlot("Pseudocolor", "cmfe3")
+DrawPlots()
+Test("expr_cmfe_03")
+
+DeleteAllPlots()
+DefineScalarExpression("cmfe4", "coord(quadmesh)[1] - cmfe2")
+AddPlot("Pseudocolor", "cmfe4")
+DrawPlots()
+Test("expr_cmfe_04")
+
+DeleteAllPlots()
+DefineScalarExpression("cmfe5", "volume(quadmesh) / conn_cmfe(volume(<%s[40]i:quadmesh>), quadmesh)" % cmfe_silo_data_path("wave.visit"))
+AddPlot("Pseudocolor", "cmfe5")
+pc = PseudocolorAttributes()
+pc.min = 0.5
+pc.minFlag = 1
+pc.max = 1.5
+pc.maxFlag = 1
+SetPlotOptions(pc)
+DrawPlots()
+Test("expr_cmfe_05")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expressions.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expressions.html new file mode 100644 index 000000000..beb1b7be8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expressions.html @@ -0,0 +1,304 @@ + +Results for hybrid/expressions.py + +

Results of VisIt Regression Test - hybrid/expressions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
radius_ghosts0.000.00
magnitude10.000.00
magnitude20.000.00
vector_sum0.000.00
vector_diff0.000.00
theta0.000.00
phi0.000.00
cos0.000.00
abs_cos0.000.00
sin0.000.00
minus_sin0.000.00
four_phase0.000.00
one0.000.00
X0.000.00
radius0.000.00
zero0.000.00
vector_add_const0.000.00
vector_cross0.000.00
identity_expr0.000.00
diff_centering_expr_010.000.00
diff_centering_expr_020.000.00
diff_centering_expr_030.000.00
diff_centering_expr_040.000.00
diff_centering_expr_050.000.00
diff_centering_expr_060.000.00
diff_centering_expr_070.000.00
const_with_no_other_vars0.000.00
nmats_with_mir0.000.00
mult_var_usage0.000.00
mixed_centering_nodal0.000.00
mixed_centering_zonal0.000.00
mult_identity_expr0.000.00
long_identity_expr0.000.00
divide10.000.00
divide20.000.00
divide30.000.00
resrad0.000.00
resrad_error0 modifications totalling 0 lines
ident_mesh0.000.00
min10.000.00
min20.000.00
max10.000.00
min30.000.00
max20.000.00
max30.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expressions_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expressions_py.html new file mode 100644 index 000000000..923ea4a4a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_expressions_py.html @@ -0,0 +1,464 @@ +hybrid/expressions.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  expressions.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - pc
+#
+#  Defect ID:  '3939 + '4008 + '4022 + '4162 + '4417 + '4435 + '5790 + '5672
+#            + '5763 + '5767 + '5874 + '7465 + '7473
+#
+#  Programmer: Hank Childs
+#  Date:       November 18, 2002
+#
+#  Modifications:
+#
+#    Hank Childs, Fri Oct 24 09:25:04 PDT 2003
+#    Added test for mesh expressions for databases where we communicate
+#    ghost zones.
+#
+#    Hank Childs, Wed Dec 10 14:25:01 PST 2003
+#    Add tests for implicit and explicit changes in centering.  Also added
+#    a test for the identity expression, which previously crashed the engine.
+#
+#    Hank Childs, Wed Feb 11 14:49:40 PST 2004
+#    Add tests for nmats and constants.
+#    
+#    Hank Childs, Thu Apr 22 16:19:36 PDT 2004
+#    Update comments due to the change in semantics of recenter (it is now
+#    always zonal).
+#
+#    Hank Childs, Wed Dec 22 13:14:29 PST 2004
+#    Add tests for variables used both in an expression and in the
+#    pipeline ['5790].
+#
+#    Hank Childs, Thu Jan  6 11:21:21 PST 2005
+#    Add tests for multiple identity filters and additional tests for mixed
+#    centering ['5672, '5763, '5767].
+#
+#    Hank Childs, Thu Jan 20 18:29:28 PST 2005
+#    Add test for resrad ['5874].
+#
+#    Hank Childs, Fri Aug 25 17:34:13 PDT 2006
+#    Add test for resrad when arguments are missing ['7473].
+#
+#    Hank Childs, Fri Sep 14 11:52:39 PDT 2007
+#    Add test for identify filters and meshes ['7465].
+#
+#    Cyrus Harrison, Thu Jan 31 09:19:57 PST 2008
+#    Added a test for the value_for_material filter. 
+#
+#    Cyrus Harrison, Tue Feb 19 13:52:01 PST 2008
+#    Removed value_for_material tests (they now reside in val4mat.py)
+#
+#    Kathleen Bonnell, Thu May  7 09:26:36 PDT 2009
+#    ident_mesh is no longer an error case, so remove the error test and
+#    save an image instead.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Alister Maguire, Mon Mar 29 12:17:40 PDT 2021
+#    Moved min/max tests into function and extended to include
+#    multi-domain data.
+#
+# ----------------------------------------------------------------------------
+
+def TestMinMaxExpression():
+    # Test min/max expression
+    OpenDatabase(silo_data_path("rect2d.silo"))
+
+    #
+    # First, let's test a serial dataset.
+    #
+    DefineScalarExpression('min1', 'min(10.0, 5.0, d+p)')
+    AddPlot('Pseudocolor', 'min1')
+    DrawPlots()
+    Test('min1')
+    DeleteAllPlots()
+
+    DefineScalarExpression('min2', 'min(d+p, 5.0, 10.0)')
+    AddPlot('Pseudocolor', 'min2')
+    DrawPlots()
+    Test('min2')
+    DeleteAllPlots()
+
+    DefineScalarExpression('max1', 'max(10.0, 5.0, d+p)')
+    AddPlot('Pseudocolor', 'max1')
+    DrawPlots()
+    Test('max1')
+    DeleteAllPlots()
+
+    DefineScalarExpression('min3', 'min(2.0, d+p, d*p+2*d)')
+    AddPlot('Pseudocolor', 'min3')
+    DrawPlots()
+    Test('min3')
+    DeleteAllPlots()
+
+    CloseDatabase(silo_data_path("rect2d.silo"))
+
+    #
+    # Multi-domain datasets are handled a little differently, so
+    # let's test one here.
+    #
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+    DefineScalarExpression('max2', 'max(p*16, 4)')
+    AddPlot('Pseudocolor', 'max2')
+    DrawPlots()
+    Test('max2')
+    DeleteAllPlots()
+
+    DefineScalarExpression('max3', 'max(p*16, d, 4)')
+    AddPlot('Pseudocolor', 'max3')
+    DrawPlots()
+    Test('max3')
+    DeleteAllPlots()
+
+    CloseDatabase(silo_data_path("multi_ucd3d.silo"))
+
+
+OpenDatabase(silo_data_path("bigsil.silo"))
+
+
+DefineScalarExpression("radius_polar", "polar(mesh)[0]")
+AddPlot("Contour", "radius_polar")
+DrawPlots()
+Test("radius_ghosts")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+
+DefineScalarExpression("mag1", "magnitude(vel)")
+AddPlot("Pseudocolor", "mag1")
+DrawPlots()
+
+Test("magnitude1")
+DeleteAllPlots()
+
+#
+# We have a poor gradient scheme that will cause gradients along a band to
+# falsely register as 0.  Regardless, I'd like to test it.
+#
+DefineScalarExpression("mag2", "magnitude(gradient(v))")
+AddPlot("Pseudocolor", "mag2")
+DrawPlots()
+
+Test("magnitude2")
+DeleteAllPlots()
+
+
+#
+# See above comment regarding gradients.
+#
+DefineScalarExpression("vector_sum", "magnitude(gradient(v)+gradient(u))")
+AddPlot("Pseudocolor", "vector_sum")
+DrawPlots()
+
+Test("vector_sum")
+DeleteAllPlots()
+
+
+DefineScalarExpression("vector_diff", "magnitude(gradient(v)-gradient(u))")
+AddPlot("Pseudocolor", "vector_diff")
+DrawPlots()
+
+Test("vector_diff")
+DeleteAllPlots()
+
+
+DefineScalarExpression("theta", "polar(mesh1)[1]")
+AddPlot("Pseudocolor", "theta")
+DrawPlots()
+
+Test("theta")
+DeleteAllPlots()
+
+
+DefineScalarExpression("phi", "polar(mesh1)[2]")
+AddPlot("Pseudocolor", "phi")
+DrawPlots()
+
+Test("phi")
+DeleteAllPlots()
+
+
+DefineScalarExpression("cos", "cos(polar(mesh1)[1])")
+AddPlot("Pseudocolor", "cos")
+DrawPlots()
+
+Test("cos")
+DeleteAllPlots()
+
+
+DefineScalarExpression("abs_cos", "abs(cos(polar(mesh1)[1]))")
+AddPlot("Pseudocolor", "abs_cos")
+DrawPlots()
+
+Test("abs_cos")
+DeleteAllPlots()
+
+
+DefineScalarExpression("sin", "sin(polar(mesh1)[1])")
+AddPlot("Pseudocolor", "sin")
+DrawPlots()
+
+Test("sin")
+DeleteAllPlots()
+
+
+DefineScalarExpression("minus_sin", "-sin(polar(mesh1)[1])")
+AddPlot("Pseudocolor", "minus_sin")
+DrawPlots()
+
+Test("minus_sin")
+DeleteAllPlots()
+
+DefineScalarExpression("four_phase", "rad2deg(acos(sin(polar(mesh1)[1]))-polar(mesh1)[1])")
+AddPlot("Pseudocolor", "four_phase")
+DrawPlots()
+
+Test("four_phase")
+DeleteAllPlots()
+
+
+atts = PseudocolorAttributes()
+atts.minFlag = 1
+atts.min = 0.99
+atts.maxFlag = 1
+atts.max = 1.01
+SetDefaultPlotOptions(atts)
+
+DefineScalarExpression("one", "sin(polar(mesh1)[1])*sin(polar(mesh1)[1]) + cos(polar(mesh1)[1])*cos(polar(mesh1)[1])")
+AddPlot("Pseudocolor", "one")
+DrawPlots()
+
+Test("one")
+DeleteAllPlots()
+
+atts.minFlag = 0
+atts.maxFlag = 0
+SetDefaultPlotOptions(atts)
+
+DefineScalarExpression("X", "coord(mesh1)[0]")
+AddPlot("Pseudocolor", "X")
+DrawPlots()
+
+Test("X")
+DeleteAllPlots()
+
+
+DefineScalarExpression("radius", "sqrt(coords(mesh1)[0]*coords(mesh1)[0]+coords(mesh1)[1]*coords(mesh1)[1]+coords(mesh1)[2]*coords(mesh1)[2])")
+AddPlot("Pseudocolor", "radius")
+DrawPlots()
+
+Test("radius")
+DeleteAllPlots()
+
+
+DefineScalarExpression("zero", "(polar(mesh1))[0] - sqrt(coords(mesh1)[0]*coords(mesh1)[0]+coords(mesh1)[1]*coords(mesh1)[1]+coords(mesh1)[2]*coords(mesh1)[2])")
+AddPlot("Pseudocolor", "zero")
+DrawPlots()
+
+Test("zero")
+DeleteAllPlots()
+
+DefineVectorExpression("dd", "disp+{1,2,3}")
+AddPlot("Vector", "dd")
+DrawPlots()
+
+Test("vector_add_const")
+DeleteAllPlots()
+
+DefineVectorExpression("cr", "cross(disp,dd)")
+AddPlot("Vector", "cr")
+DrawPlots()
+
+Test("vector_cross")
+DeleteAllPlots()
+
+DefineScalarExpression("a", "t")
+AddPlot("Pseudocolor", "a")
+DrawPlots()
+Test("identity_expr")
+DeleteAllPlots()
+
+DefineScalarExpression("sum1", "t+100*u")
+AddPlot("Pseudocolor", "sum1")
+DrawPlots()
+Test("diff_centering_expr_01")
+DeleteAllPlots()
+
+DefineScalarExpression("sum2", "(u+t/100.)*100.")
+AddPlot("Pseudocolor", "sum2")
+DrawPlots()
+Test("diff_centering_expr_02")
+DeleteAllPlots()
+
+DefineScalarExpression("diff", "sum2-sum1")
+AddPlot("Pseudocolor", "diff")
+DrawPlots()
+Test("diff_centering_expr_03")
+DeleteAllPlots()
+
+DefineScalarExpression("sum_rc1", "recenter(t)+100*u")
+AddPlot("Pseudocolor", "sum_rc1")
+DrawPlots()
+Test("diff_centering_expr_04")
+DeleteAllPlots()
+
+# This one will recenter the first t.  When the second one is subtracted,
+# will recenter the first t again to make it zonal again.
+DefineScalarExpression("diff_rc1", "recenter(t)-t")
+AddPlot("Pseudocolor", "diff_rc1")
+DrawPlots()
+Test("diff_centering_expr_05")
+DeleteAllPlots()
+
+# This one will recenter the first t twice.  The second one will not be 
+# touched.
+DefineScalarExpression("diff_rc2", "recenter(recenter(t))-t")
+AddPlot("Pseudocolor", "diff_rc2")
+DrawPlots()
+Test("diff_centering_expr_06")
+DeleteAllPlots()
+
+# The first t will not be touched.  The second one will be recentered once
+# explicitly and once implicitly (from the minus).
+DefineScalarExpression("diff_rc3", "t-recenter(t)")
+AddPlot("Pseudocolor", "diff_rc2")
+DrawPlots()
+Test("diff_centering_expr_07")
+DeleteAllPlots()
+
+# The constant (3.14159) will be the only variable in the dataset.  Test
+# that the constant creation logic can figure out that we must be making
+# an expression based on the mesh downstream.
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+DefineScalarExpression("sin_x", "sin(3.14159*coord(quadmesh3d)[0])")
+AddPlot("Pseudocolor", "sin_x")
+DrawPlots()
+Test("const_with_no_other_vars")
+DeleteAllPlots()
+
+# The nmats expression needs to use the original zone numbers array to
+# find the correct index into an avtMaterial object.  Make sure that this is
+# being done correctly by splitting the zones before we even get to the
+# expression via MIR.
+DefineScalarExpression("nmats", "nmats(mat1)")
+AddPlot("FilledBoundary", "mat1")
+AddOperator("Threshold")
+thresh = ThresholdAttributes()
+thresh.lowerBounds = (1.5)
+thresh.listedVarNames = ("nmats")
+SetOperatorOptions(thresh)
+DrawPlots()
+Test("nmats_with_mir")
+DeleteAllPlots()
+
+# Test that a variable (u) can be used in both the expression and downstream
+# in the pipeline.
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "speed")
+AddOperator("Threshold")
+thresh = ThresholdAttributes()
+thresh.lowerBounds = (0.0)
+thresh.listedVarNames = ("u")
+SetOperatorOptions(thresh)
+DrawPlots()
+Test("mult_var_usage")
+DeleteAllPlots()
+
+# The binary math filter forces mixed centering to be zonal.  The base class
+# used to get confused and would sometimes declare the variable as nodal.
+# Test to make sure this works.  By forcing the centering, we can confirm
+# the base class is declaring the variable the right way.
+DefineScalarExpression("prod", "u*t")
+AddPlot("Pseudocolor", "prod")
+pc = PseudocolorAttributes()
+pc.centering = pc.Nodal
+SetPlotOptions(pc)
+DrawPlots()
+Test("mixed_centering_nodal")
+pc = PseudocolorAttributes()
+pc.centering = pc.Zonal
+SetPlotOptions(pc)
+Test("mixed_centering_zonal")
+
+# Test that we can handle multiple identity expressions.
+DefineScalarExpression("sub1", "u")
+DefineScalarExpression("sub2", "v")
+DefineScalarExpression("sum", "sub1+sub2")
+DeleteAllPlots()
+AddPlot("Pseudocolor", "sum")
+DrawPlots()
+Test("mult_identity_expr")
+
+# Test that we can handle identity expressions that are not the first node
+# of the expression tree.
+DefineVectorExpression("C", "coord(mesh1)")
+DefineScalarExpression("X", "C[0]")
+DefineScalarExpression("Y", "C[1]")
+DefineScalarExpression("Z", "C[2]")
+DefineScalarExpression("TX", "X")
+DefineScalarExpression("TY", "cos_angle*Y - sin_angle*Z + Zt*sin_angle - Yt*cos_angle")
+DefineScalarExpression("TZ", "sin_angle*Y + cos_angle*Z + Yt*sin_angle - Zt*cos_angle")
+DefineScalarExpression("Yt", "5")
+DefineScalarExpression("Zt", "10")
+DefineScalarExpression("angle", "rad2deg(30)")
+DefineScalarExpression("sin_angle", "sin(angle)")
+DefineScalarExpression("cos_angle", "cos(angle)")
+DefineScalarExpression("rad", "TX*TX + TY*TY + TZ*TZ")
+AddPlot("Pseudocolor", "rad")
+DrawPlots()
+Test("long_identity_expr")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+# Test divide expression
+DefineScalarExpression('divide1', 'divide(d,p)')
+AddPlot('Pseudocolor','divide1')
+DrawPlots()
+Test('divide1')
+
+DefineScalarExpression('divide2', 'divide(d,p,0.0,2.0)')
+AddPlot('Pseudocolor','divide2')
+DrawPlots()
+Test('divide2')
+DeleteAllPlots()
+
+DefineScalarExpression('divide3', 'divide(d,p,1.0,2.0)')
+AddPlot('Pseudocolor','divide3')
+DrawPlots()
+Test('divide3')
+DeleteAllPlots()
+
+# Test resrad
+DefineScalarExpression("resrad", "resrad(recenter(u), 0.1)")
+AddPlot("Pseudocolor", "resrad")
+DrawPlots()
+Test("resrad")
+
+DeleteAllPlots()
+DefineScalarExpression("resrad2", "resrad(recenter(u))")
+AddPlot("Pseudocolor", "resrad2")
+DrawPlots()
+txt = GetLastError()
+TestText("resrad_error", txt)
+
+DeleteAllPlots()
+DefineScalarExpression("ident_mesh", "quadmesh2d")
+AddPlot("Pseudocolor", "ident_mesh")
+DrawPlots()
+Test("ident_mesh")
+
+TestMinMaxExpression()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_field_operators.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_field_operators.html new file mode 100644 index 000000000..a0a9863c9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_field_operators.html @@ -0,0 +1,144 @@ + +Results for hybrid/field_operators.py + +

Results of VisIt Regression Test - hybrid/field_operators

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
field_op_010.000.00
field_op_020.000.00
field_op_030.000.00
field_op_040.000.00
field_op_050.000.00
field_op_060.000.00
field_op_070.000.00
field_op_080.000.00
field_op_090.000.00
field_op_100.000.00
field_op_110.000.00
field_op_120.000.00
field_op_130.000.00
field_op_140.000.00
field_op_150.000.00
field_op_160.000.00
field_op_170.000.00
field_op_180.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_field_operators_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_field_operators_py.html new file mode 100644 index 000000000..7b48fff8a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_field_operators_py.html @@ -0,0 +1,258 @@ +hybrid/field_operators.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  field_operators.py
+#
+#  Tests:      mesh      - rectilinear, curvilinear
+#              plots     - vector, contour
+#
+#  Defect ID:  '4141, '5343, '6297, '6460, '7063, '8025
+#
+#  Programmer: Hank Childs
+#  Date:       December 13, 2003
+#
+#  Modifications:
+#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
+#    Set the vector origin explicitly for some cases because I changed the
+#    default to Tail.
+#
+#    Hank Childs, Mon Jan  3 10:35:56 PST 2005
+#    Renamed to field_operators.  Added testing for divergence, Laplacian,
+#    and curl.
+#
+#    Hank Childs, Mon Jun  6 11:28:45 PDT 2005
+#    Add tests for 2D divergence, Laplacian.
+#
+#    Hank Childs, Mon Aug 15 14:19:49 PDT 2005
+#    2D curl now produces a scalar.  Change our test appropriately.
+#
+#    Hank Childs, Fri Mar  3 09:01:08 PST 2006
+#    Add test for Jacobian (2D determinants).  '7063
+#
+#    Hank Childs, Mon Jun 18 09:54:09 PDT 2007
+#    Add test for dot of curl with a vector.  This is really testing the
+#    ability of macro expressions to maintain secondary variables. '8025
+#
+#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
+#    Changed number of vectors in vector plot to match the old behavior.
+#    (We now account for how many domains there are.)
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Remove obsolete 'colorByMag' vector att with 'colorByMagnitude'.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+DefineVectorExpression("grad_t", "gradient(t)")
+AddPlot("Vector", "grad_t")
+v = VectorAttributes()
+v.vectorOrigin = v.Middle
+SetPlotOptions(v)
+DrawPlots()
+
+# Zonal UCD gradient.
+Test("field_op_01")
+DeleteAllPlots()
+
+DefineVectorExpression("grad_u", "gradient(u)")
+AddPlot("Vector", "grad_u")
+v = VectorAttributes()
+v.vectorOrigin = v.Middle
+SetPlotOptions(v)
+DrawPlots()
+
+# Nodal UCD gradient.
+Test("field_op_02")
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+
+DefineVectorExpression("grad_d", "gradient(d)")
+AddPlot("Vector", "grad_d")
+v = VectorAttributes()
+v.colorByMagnitude = 1
+v.vectorOrigin = v.Middle
+SetPlotOptions(v)
+DrawPlots()
+
+# Zonal rect-2d gradient.
+Test("field_op_03")
+DeleteAllPlots()
+
+AddPlot("Vector", "grad_u")
+v = VectorAttributes()
+v.colorByMagnitude = 1
+v.vectorOrigin = v.Middle
+SetPlotOptions(v)
+DrawPlots()
+
+# Nodal rect-2d gradient.
+Test("field_op_04")
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+AddPlot("Vector", "grad_d")
+v = VectorAttributes()
+v.nVectors = 447
+v.vectorOrigin = v.Middle
+SetPlotOptions(v)
+DrawPlots()
+
+# Zonal rect-3d gradient.
+Test("field_op_05")
+DeleteAllPlots()
+
+AddPlot("Vector", "grad_u")
+v = VectorAttributes()
+v.vectorOrigin = v.Middle
+SetPlotOptions(v)
+DrawPlots()
+
+# Nodal rect-3d gradient.
+Test("field_op_06")
+DeleteAllPlots()
+
+AddPlot("Vector", "vel")
+DefineScalarExpression("mag", "magnitude(vel)")
+AddOperator("Threshold")
+t = ThresholdAttributes()
+t.lowerBounds = (0.5)
+t.upperBounds = (1.5)
+t.listedVarNames = ("mag")
+SetOperatorOptions(t)
+DrawPlots()
+
+# Test vector with threshold ('4178)
+Test("field_op_07")
+DeleteAllPlots()
+
+
+AddPlot("Vector", "grad_u")
+v = VectorAttributes()
+v.vectorOrigin = v.Middle
+v.nVectors = 400*3
+SetPlotOptions(v)
+DefineScalarExpression("u_mag", "magnitude(grad_u)")
+AddOperator("Isosurface")
+iso = IsosurfaceAttributes()
+iso.contourNLevels = 3
+iso.variable = "u_mag"
+SetOperatorOptions(iso)
+DrawPlots()
+
+v = GetView3D()
+v.imageZoom = 4.5
+SetView3D(v)
+
+# Test vector with isosurface ('4207)
+Test("field_op_08")
+
+# Add a contour plot just for grins to show that our isosurface operator is
+# picking up the same surface as the contour plot.
+AddPlot("Contour", "u_mag")
+con = ContourAttributes()
+con.contourNLevels = 3
+SetPlotOptions(con)
+DrawPlots()
+
+Test("field_op_09")
+DeleteAllPlots()
+
+# Test that we can calculate the Laplacian.
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+v = GetView3D()
+v.imageZoom = 1
+v.viewNormal = (0.41, 0.08, -0.91)
+SetView3D(v)
+
+DefineScalarExpression("LP", "abs(Laplacian(u))")
+AddPlot("Contour", "LP")
+c = ContourAttributes()
+c.scaling = c.Log
+SetPlotOptions(c)
+DrawPlots()
+Test("field_op_10")
+
+DefineScalarExpression("div", "divergence(vel)")
+DeleteAllPlots()
+AddPlot("Contour", "div")
+c = ContourAttributes()
+c.scaling = c.Log
+SetPlotOptions(c)
+DrawPlots()
+Test("field_op_11")
+
+
+# Test multiple macro expressions together -- divergence and Laplacian.
+DeleteAllPlots()
+AddPlot("Pseudocolor", "div")
+pc = PseudocolorAttributes()
+pc.scaling = pc.Log
+SetPlotOptions(pc)
+AddOperator("Isosurface")
+iso = IsosurfaceAttributes()
+iso.scaling = iso.Log
+iso.variable = "LP"
+SetOperatorOptions(iso)
+DrawPlots()
+
+Test("field_op_12")
+
+
+DefineVectorExpression("curl", "curl(vel)")
+DeleteAllPlots()
+AddPlot("Vector", "curl")
+v = VectorAttributes()
+v.scaleByMagnitude = 0
+SetPlotOptions(v)
+DrawPlots()
+Test("field_op_13")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+DefineScalarExpression("div2", "divergence(vel)")
+AddPlot("Pseudocolor", "div2")
+DrawPlots()
+Test("field_op_14")
+
+DeleteAllPlots()
+DefineScalarExpression("LP2", "Laplacian(d)")
+AddPlot("Pseudocolor", "LP2")
+DrawPlots()
+Test("field_op_15")
+
+DeleteAllPlots()
+DefineScalarExpression("curl2", "curl(vel)")
+AddPlot("Pseudocolor", "curl2")
+DrawPlots()
+Test("field_op_16")
+
+DeleteAllPlots()
+DefineScalarExpression("jacobian", "determinant({gradient(u), gradient(v)})")
+AddPlot("Pseudocolor", "jacobian")
+DrawPlots()
+Test("field_op_17")
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+DefineVectorExpression("mycurl", "curl(vel)")
+DefineScalarExpression("mydot", "dot(curl,vel)")
+DeleteAllPlots()
+AddPlot("Pseudocolor", "mydot")
+DrawPlots()
+Test("field_op_18")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ghost_node.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ghost_node.html new file mode 100644 index 000000000..ea7ea9af4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ghost_node.html @@ -0,0 +1,42 @@ + +Results for hybrid/ghost_node.py + +

Results of VisIt Regression Test - hybrid/ghost_node

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ghost_node_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ghost_node_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ghost_node_py.html new file mode 100644 index 000000000..e1f819443 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_ghost_node_py.html @@ -0,0 +1,45 @@ +hybrid/ghost_node.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ghost_node.py 
+#
+#  Tests:      ghost node removal of multi_curv3d.silo
+#
+#  Programmer: Eric Brugger
+#  Date:       July 6, 2020 
+#
+#  Modifications:
+#    Kathleen Biagas, Fri Mar 12, 2021
+#    Added DeleteAllPlots before CloseDatabase.
+#
+# ----------------------------------------------------------------------------
+TurnOffAllAnnotations() # defines global object 'a'
+
+OpenDatabase(silo_data_path("multi_curv3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+pc = PseudocolorAttributes()
+pc.opacityType = pc.Constant
+pc.opacityVariable = ""
+pc.opacity = 0.25
+SetPlotOptions(pc)
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (-0.491824, 0.420414, 0.76247)
+v.focus = (0, 2.5, 15)
+v.viewUp = (0.214182, 0.907212, -0.362066)
+v.viewAngle = 30
+v.parallelScale = 16.0078
+v.nearPlane = -32.0156
+v.farPlane = 32.0156
+v.imagePan = (0, 0)
+v.imageZoom = 1
+SetView3D(v)
+
+Test("ghost_node_01")
+DeleteAllPlots()
+CloseDatabase(silo_data_path("multi_curv3d.silo"))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_image_proc.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_image_proc.html new file mode 100644 index 000000000..b9deeb0a6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_image_proc.html @@ -0,0 +1,54 @@ + +Results for hybrid/image_proc.py + +

Results of VisIt Regression Test - hybrid/image_proc

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
image_proc_010.000.00
image_proc_020.000.00
image_proc_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_image_proc_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_image_proc_py.html new file mode 100644 index 000000000..188591b6b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_image_proc_py.html @@ -0,0 +1,34 @@ +hybrid/image_proc.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  image_proc.py
+#
+#  Tests:      mesh      - Image
+#              plots     - Pseudocolor
+#
+#  Defect ID:  '6492
+#
+#  Programmer: Hank Childs
+#  Date:       August 19, 2005
+#
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(data_path("Image_test_data/manhattan.jpg"))
+
+DefineScalarExpression("cm", "conservative_smoothing(intensity)")
+AddPlot("Pseudocolor", "cm")
+DrawPlots()
+Test("image_proc_01")
+
+DefineScalarExpression("median", "median_filter(intensity)")
+ChangeActivePlotsVar("median")
+Test("image_proc_02")
+
+DefineScalarExpression("mean", "mean_filter(intensity)")
+ChangeActivePlotsVar("mean")
+Test("image_proc_03")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_keyframe.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_keyframe.html new file mode 100644 index 000000000..38752f131 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_keyframe.html @@ -0,0 +1,501 @@ + +Results for hybrid/keyframe.py + +

Results of VisIt Regression Test - hybrid/keyframe

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Simple 6 frame animation
keyframe_010.000.00
keyframe_020.000.00
keyframe_030.000.00
keyframe_040.000.00
keyframe_050.000.00
keyframe_060.000.00
Setting plot frame range
keyframe_070.000.00
keyframe_080.000.00
keyframe_090.000.00
keyframe_100.000.00
keyframe_110.000.00
keyframe_120.000.00
Setting a plot attributes keyframe
keyframe_130.000.00
keyframe_140.000.00
keyframe_150.000.00
keyframe_160.000.00
keyframe_170.000.00
keyframe_180.000.00
Removing a plot attributes keyframe
keyframe_190.000.00
keyframe_200.000.00
keyframe_210.000.00
keyframe_220.000.00
keyframe_230.000.00
keyframe_240.000.00
Deleting another plot attributes keyframe
keyframe_250.000.00
keyframe_260.000.00
keyframe_270.000.00
keyframe_280.000.00
keyframe_290.000.00
keyframe_300.000.00
Decreasing number of animation frames
keyframe_310.000.00
keyframe_320.000.00
keyframe_330.000.00
keyframe_340.000.00
Copying keyframed plot to a new window
keyframe_350.000.00
keyframe_360.000.00
keyframe_370.000.00
keyframe_380.000.00
Turning off keyframe mode
keyframe_390.000.00
keyframe_400.000.00
keyframe_410.000.00
keyframe_420.000.00
Testing view keyframing
keyframe_430.000.00
keyframe_440.000.00
keyframe_450.000.00
keyframe_460.000.00
keyframe_470.000.00
keyframe_480.000.00
keyframe_490.000.00
keyframe_500.000.00
keyframe_510.000.00
keyframe_520.000.00
keyframe_530.000.00
Moving keyframes
keyframe_540.000.00
keyframe_550.000.00
keyframe_560.000.00
keyframe_570.000.00
keyframe_580.000.00
keyframe_590.000.00
keyframe_600.000.00
keyframe_610.000.00
keyframe_620.000.00
Operator keyframes
keyframe_630.000.00
keyframe_640.000.00
keyframe_650.000.00
keyframe_660.000.00
keyframe_670.000.00
keyframe_680.000.00
keyframe_690.000.00
keyframe_700.000.00
keyframe_710.000.00
keyframe_720.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_keyframe_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_keyframe_py.html new file mode 100644 index 000000000..fed2271ee --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_keyframe_py.html @@ -0,0 +1,544 @@ +hybrid/keyframe.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  keyframe.py
+#
+#  Tests:      mesh      - 3D structured, single domain
+#              plots     - pc, mesh
+#              operators - none
+#              selection - none
+#
+#  Defect ID:  none
+#
+#  Programmer: Eric Brugger
+#  Date:       Thu Dec 19 16:02:41 PST 2002
+#
+#  Modifications:
+#    Brad Whitlock, Wed Apr 7 17:24:41 PST 2004
+#    I added TestSection to break up the test images a little. I also updated
+#    the code so it uses the new time slider functions instead of the
+#    deprecated animation functions.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to switch between Silo's HDF5 and PDB data.
+#
+#    Eric Brugger, Wed Mar 22 16:23:12 PDT 2023
+#    Added operator keyframe tests.
+#
+# ----------------------------------------------------------------------------
+
+
+# Open a database.
+OpenDatabase(silo_data_path("wave.visit"))
+
+
+# Enable keyframe mode.
+k = GetKeyframeAttributes()
+k.enabled = 1
+SetKeyframeAttributes(k)
+
+# Set the number of frames to be 6.
+AnimationSetNFrames(6)
+
+# Create a pseudocolor plot that exists over the first
+# 6 frames of the animation.
+AddPlot("Pseudocolor", "pressure")
+SetPlotFrameRange(0, 0, 5)
+
+# Set the attributes at the first and last frame.
+SetTimeSliderState(0)
+pc = PseudocolorAttributes()
+pc.min = 0
+pc.max = 0.2
+pc.minFlag = 1
+pc.maxFlag = 1
+SetPlotOptions(pc)
+
+SetTimeSliderState(5)
+pc.max = 0.5
+SetPlotOptions(pc)
+
+# Create a mesh plot that exists over frames 2
+# through 4.
+AddPlot("Mesh", "quadmesh")
+
+SetPlotFrameRange(1, 2, 4)
+SetPlotDatabaseState(1, 2, 28)
+SetPlotDatabaseState(1, 4, 56)
+
+# Cycle through all the frames, checking that all
+# the images are correct.
+TestSection("Simple 6 frame animation")
+SetTimeSliderState(0)
+DrawPlots()
+Test("keyframe_01")
+TimeSliderNextState()
+Test("keyframe_02")
+TimeSliderNextState()
+Test("keyframe_03")
+TimeSliderNextState()
+Test("keyframe_04")
+TimeSliderNextState()
+Test("keyframe_05")
+TimeSliderNextState()
+Test("keyframe_06")
+
+# Change to frame 4, change the frame range and
+# check that all the frames are ok.
+TestSection("Setting plot frame range")
+SetTimeSliderState(4)
+SetPlotFrameRange(1, 0, 2)
+SetPlotDatabaseState(1, 0, 0)
+SetPlotDatabaseState(1, 2, 28)
+
+SetTimeSliderState(0)
+Test("keyframe_07")
+TimeSliderNextState()
+Test("keyframe_08")
+TimeSliderNextState()
+Test("keyframe_09")
+TimeSliderNextState()
+Test("keyframe_10")
+TimeSliderNextState()
+Test("keyframe_11")
+TimeSliderNextState()
+Test("keyframe_12")
+
+SetActivePlots(1)
+DeleteActivePlots()
+
+# Set the pseudocolor attributes for frame 2 and
+# check that all the frames are ok.
+TestSection("Setting a plot attributes keyframe")
+SetActivePlots(0)
+SetTimeSliderState(2)
+pc.max = 0.7
+SetPlotOptions(pc)
+
+SetTimeSliderState(0)
+Test("keyframe_13")
+TimeSliderNextState()
+Test("keyframe_14")
+TimeSliderNextState()
+Test("keyframe_15")
+TimeSliderNextState()
+Test("keyframe_16")
+TimeSliderNextState()
+Test("keyframe_17")
+TimeSliderNextState()
+Test("keyframe_18")
+
+# Delete the keyframe at frame 2 and check that
+# all the frames are ok.
+TestSection("Removing a plot attributes keyframe")
+SetTimeSliderState(2)
+DeletePlotKeyframe(0, 2)
+
+SetTimeSliderState(0)
+Test("keyframe_19")
+TimeSliderNextState()
+Test("keyframe_20")
+TimeSliderNextState()
+Test("keyframe_21")
+TimeSliderNextState()
+Test("keyframe_22")
+TimeSliderNextState()
+Test("keyframe_23")
+TimeSliderNextState()
+Test("keyframe_24")
+
+# Delete the keyframe at frame 5 and check that
+# all the frames are ok.
+TestSection("Deleting another plot attributes keyframe")
+DeletePlotKeyframe(0, 5)
+
+SetTimeSliderState(0)
+Test("keyframe_25")
+TimeSliderNextState()
+Test("keyframe_26")
+TimeSliderNextState()
+Test("keyframe_27")
+TimeSliderNextState()
+Test("keyframe_28")
+TimeSliderNextState()
+Test("keyframe_29")
+TimeSliderNextState()
+Test("keyframe_30")
+
+# Change the number of frames to 4.  Create a
+# pseudocolor plot that changes its range but
+# keeps the database state constant at 0.  Check
+# that all the frames are ok.
+TestSection("Decreasing number of animation frames")
+DeleteActivePlots()
+AnimationSetNFrames(4)
+AddPlot("Pseudocolor", "pressure")
+SetPlotFrameRange(0, 0, 3)
+SetTimeSliderState(0)
+pc.max = 0.2
+SetPlotOptions(pc)
+SetTimeSliderState(3)
+pc.max = 0.5
+SetPlotOptions(pc)
+DeletePlotDatabaseKeyframe(0, 3)
+DrawPlots()
+
+SetTimeSliderState(0)
+Test("keyframe_31")
+TimeSliderNextState()
+Test("keyframe_32")
+TimeSliderNextState()
+Test("keyframe_33")
+TimeSliderNextState()
+Test("keyframe_34")
+
+# Test copying plots to a new window.
+TestSection("Copying keyframed plot to a new window")
+SetTimeSliderState(2)
+AddWindow()
+SetActiveWindow(2)
+CopyPlotsToWindow(1, 2)
+CopyAnnotationsToWindow(1, 2)
+CopyViewToWindow(1, 2)
+DrawPlots()
+
+Test("keyframe_35")
+TimeSliderNextState()
+Test("keyframe_36")
+TimeSliderNextState()
+Test("keyframe_37")
+TimeSliderNextState()
+Test("keyframe_38")
+
+# Take the window out of keyframe mode and
+# check that setting the plot attributes sets
+# them for all the frames.
+TestSection("Turning off keyframe mode")
+k.enabled = 0
+SetKeyframeAttributes(k)
+
+SetPlotDatabaseState(0, 3, 3)
+SetTimeSliderState(3)
+pc.minFlag = 0
+pc.maxFlag = 0
+SetPlotOptions(pc)
+
+SetTimeSliderState(0)
+Test("keyframe_39")
+TimeSliderNextState()
+Test("keyframe_40")
+TimeSliderNextState()
+Test("keyframe_41")
+TimeSliderNextState()
+Test("keyframe_42")
+
+# Clear the window, reset the view and enable
+# keyframe mode in preparation to test view
+# keyframing.
+TestSection("Testing view keyframing")
+DeleteAllPlots()
+ResetView()
+k.enabled = 1
+SetKeyframeAttributes(k)
+
+# Open a database.
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+# Set the number of frames to be 9.
+AnimationSetNFrames(9)
+
+# Create a pseudocolor plot that exists over the first
+# 9 frames of the animation.
+AddPlot("Pseudocolor", "u")
+SetPlotFrameRange(0, 0, 8)
+
+# Create 5 view keyframes.
+SetTimeSliderState(0)
+v = GetView3D()
+v.SetViewNormal(1, 0, 0)
+v.SetFocus(0, 0, 0)
+v.SetViewUp(0, 0, 1)
+v.SetViewAngle(30)
+v.SetParallelScale(17.3205)
+v.SetNearPlane(-34.641)
+v.SetFarPlane(34.641)
+v.SetPerspective(1)
+SetView3D(v)
+SetViewKeyframe()
+
+SetTimeSliderState(2)
+v.SetViewNormal(0, 1, 0)
+SetView3D(v)
+SetViewKeyframe()
+
+SetTimeSliderState(4)
+v.SetViewNormal(-1, 0, 0)
+SetView3D(v)
+SetViewKeyframe()
+
+SetTimeSliderState(6)
+v.SetViewNormal(0, -1, 0)
+SetView3D(v)
+SetViewKeyframe()
+
+SetTimeSliderState(8)
+v.SetViewNormal(1, 0, 0)
+SetView3D(v)
+SetViewKeyframe()
+
+# Render the first frame.
+SetTimeSliderState(0)
+DrawPlots()
+
+# Enter camera view mode and cycle through all the
+# frames, checking that all the images are correct.
+ToggleCameraViewMode()
+Test("keyframe_43")
+TimeSliderNextState()
+Test("keyframe_44")
+TimeSliderNextState()
+Test("keyframe_45")
+TimeSliderNextState()
+Test("keyframe_46")
+TimeSliderNextState()
+Test("keyframe_47")
+TimeSliderNextState()
+Test("keyframe_48")
+TimeSliderNextState()
+Test("keyframe_49")
+TimeSliderNextState()
+Test("keyframe_50")
+TimeSliderNextState()
+Test("keyframe_51")
+
+# Delete the view keyframe at frame 8 and check the image.
+DeleteViewKeyframe(8)
+Test("keyframe_52")
+
+# Clear all the view keyframes and check the first image.
+ClearViewKeyframes()
+TimeSliderNextState()
+Test("keyframe_53")
+
+# Clear the window and reset the view in preparation
+# to test moving keyframes.
+TestSection("Moving keyframes")
+DeleteAllPlots()
+ResetView()
+
+# Open a database.
+OpenDatabase(silo_data_path("wave.visit"))
+
+
+# Set the number of frames to be 6.
+AnimationSetNFrames(6)
+
+# Create a pseudocolor plot that exists over the first
+# 6 frames of the animation.
+AddPlot("Pseudocolor", "pressure")
+SetPlotFrameRange(0, 0, 5)
+
+# Set 3 keyframes.
+SetTimeSliderState(0)
+pc = PseudocolorAttributes()
+pc.min = 0
+pc.max = 0.2
+pc.minFlag = 1
+pc.maxFlag = 1
+SetPlotOptions(pc)
+
+SetTimeSliderState(3)
+pc.max = 0.7
+SetPlotOptions(pc)
+
+SetTimeSliderState(5)
+pc.max = 0.5
+SetPlotOptions(pc)
+
+# Render all the images.
+SetTimeSliderState(0)
+DrawPlots()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+
+# Move the keyframe at frame 3 to 4, regenerate all
+# the frames and check a few of them.
+MovePlotKeyframe(0, 3, 4)
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+
+SetTimeSliderState(2)
+Test("keyframe_54")
+SetTimeSliderState(4)
+Test("keyframe_55")
+SetTimeSliderState(5)
+Test("keyframe_56")
+
+# Delete the last 2 keyframes, move the database
+# keyframe from frame 5 to 3, regenerate all
+# the frames and check a few of them.
+DeletePlotKeyframe(0, 4)
+DeletePlotKeyframe(0, 5)
+
+MovePlotDatabaseKeyframe(0, 5, 3)
+SetTimeSliderState(0)
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+
+SetTimeSliderState(1)
+Test("keyframe_57")
+SetTimeSliderState(3)
+Test("keyframe_58")
+SetTimeSliderState(4)
+Test("keyframe_59")
+
+# Delete the second database keyframe, create
+# 3 view keyframes and regenerate all the images.
+DeletePlotDatabaseKeyframe(0, 3)
+
+SetTimeSliderState(0)
+v = GetView3D()
+v.SetViewNormal(-1, 0, 1)
+v.SetFocus(5, 0.35, 2.5)
+v.SetViewUp(0, 1, 0)
+v.SetViewAngle(30)
+v.SetParallelScale(5.6009)
+v.SetNearPlane(-11.2018)
+v.SetFarPlane(11.2018)
+v.SetPerspective(1)
+SetView3D(v)
+SetViewKeyframe()
+
+SetTimeSliderState(2)
+v.SetViewNormal(0, 0, 1)
+SetView3D(v)
+SetViewKeyframe()
+
+SetTimeSliderState(5)
+v.SetViewNormal(1, 0, 1)
+SetView3D(v)
+SetViewKeyframe()
+
+ToggleCameraViewMode()
+SetTimeSliderState(0)
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+
+# Move the view keyframe at frame 2 to frame 3,
+# regenerate all the frames and check a few of them.
+MoveViewKeyframe(2, 3)
+SetTimeSliderState(0)
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+TimeSliderNextState()
+
+SetTimeSliderState(2)
+Test("keyframe_60")
+SetTimeSliderState(3)
+Test("keyframe_61")
+SetTimeSliderState(4)
+Test("keyframe_62")
+
+# Clear the window and reset the view in preparation
+# to test operator keyframes.
+TestSection("Operator keyframes")
+DeleteAllPlots()
+ResetView()
+
+# Open a database.
+OpenDatabase(silo_data_path("noise.silo"))
+
+# Set the number of frames to be 11.
+AnimationSetNFrames(11)
+
+# Create a pseudocolor plot that exists over the first
+# 11 frames of the animation.
+AddPlot("Pseudocolor", "hardyglobal")
+AddOperator("Slice")
+AddOperator("Isosurface")
+SetPlotFrameRange(0, 0, 10)
+
+# Set 3 slice keyframes.
+SetTimeSliderState(0)
+slice = SliceAttributes()
+slice.originType = slice.Percent
+slice.originPercent = 0
+slice.project2d = 0
+SetOperatorOptions(slice)
+SetTimeSliderState(2)
+SetOperatorOptions(slice)
+SetTimeSliderState(10)
+slice.originPercent = 100
+SetOperatorOptions(slice)
+
+# Set 2 isosurface keyframes.
+SetTimeSliderState(0)
+iso = IsosurfaceAttributes()
+SetOperatorOptions(iso)
+SetTimeSliderState(5)
+iso.contourNLevels = 5
+SetOperatorOptions(iso)
+
+SetTimeSliderState(0)
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (0.225979, 0.625179, 0.747051)
+v.focus = (0, 0, 0)
+v.viewUp = (-0.965293, 0.246786, 0.0854703)
+v.viewAngle = 30
+v.parallelScale = 17.3205
+v.nearPlane = -34.641
+v.farPlane = 34.641
+v.perspective = 1
+SetView3D(v)
+
+# Check a bunch of frames.
+Test("keyframe_63")
+SetTimeSliderState(2)
+Test("keyframe_64")
+SetTimeSliderState(5)
+Test("keyframe_65")
+SetTimeSliderState(7)
+Test("keyframe_66")
+SetTimeSliderState(10)
+Test("keyframe_67")
+
+# Delete the slice keyframe and move the isosurface keyframe.
+DeleteOperatorKeyframe(0, 0, 2)
+MoveOperatorKeyframe(0, 1, 5, 10)
+
+# Check a bunch of frames.
+SetTimeSliderState(0)
+Test("keyframe_68")
+SetTimeSliderState(2)
+Test("keyframe_69")
+SetTimeSliderState(5)
+Test("keyframe_70")
+SetTimeSliderState(7)
+Test("keyframe_71")
+SetTimeSliderState(10)
+Test("keyframe_72")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lambda2.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lambda2.html new file mode 100644 index 000000000..8f1ecb9be --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lambda2.html @@ -0,0 +1,54 @@ + +Results for hybrid/lambda2.py + +

Results of VisIt Regression Test - hybrid/lambda2

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
iso_lambda20.000.00
contour_lambda20.000.00
pseudo_lambda20.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lambda2_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lambda2_py.html new file mode 100644 index 000000000..965fdad69 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lambda2_py.html @@ -0,0 +1,53 @@ +hybrid/lambda2.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  lambda2.py
+#
+#  Tests:#     plots   - pseudocolor, contour
+#  Defect ID:  1829
+#
+#  Programmer: Kevin Griffin
+#  Date:       Tue Aug 5 15:01:27 PDT 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+ds = data_path("miranda_test_data/TG_vortex/plot.raw")
+OpenDatabase(ds)
+DefineScalarExpression("lambda2", "lambda2(gradient(velocity[0]), gradient(velocity[1]), gradient(velocity[2]))")
+TimeSliderNextState()
+TimeSliderNextState()
+
+#
+# Test 1
+#
+AddPlot("Pseudocolor", "lambda2")
+AddOperator("Isovolume")
+IsovolumeAtts = IsovolumeAttributes()
+IsovolumeAtts.lbound = -999.99
+IsovolumeAtts.ubound = 0.0
+IsovolumeAtts.variable = "default"
+SetOperatorOptions(IsovolumeAtts)
+
+DrawPlots()
+Test("iso_lambda2")
+DeleteAllPlots()
+
+#
+# Test 2
+#
+AddPlot("Contour", "lambda2")
+DrawPlots()
+Test("contour_lambda2")
+DeleteAllPlots()
+
+#
+# Test 3
+#
+AddPlot("Pseudocolor", "lambda2")
+DrawPlots()
+Test("pseudo_lambda2")
+DeleteAllPlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lineout.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lineout.html new file mode 100644 index 000000000..56d1d1125 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lineout.html @@ -0,0 +1,247 @@ + +Results for hybrid/lineout.py + +

Results of VisIt Regression Test - hybrid/lineout

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Lineout2d0.000.00
CurvesFrom2d_withSampling0.000.00
Lineout3d0.000.00
CurvesFrom3d_withSampling0.000.00
MultiVarLineout2d0.000.00
MultiVarCurvesFrom2d_withSampling0.000.00
LineoutSAMRAI0.000.00
CurvesFromSAMRAI_withSampling0.000.00
LineoutSpecifyWindow_010.000.00
CurvesFromSpecifyWindow_01_withSampling0.000.00
LineoutSpecifyWindow_020.000.00
CurvesFromSpecifyWindow_02_withSampling0.000.00
Lineout2d_output_040 modifications totalling 0 lines
Lineout2d_output_080 modifications totalling 0 lines
CurvesFrom2d_noSampling0.000.00
Lineout2d_output_020 modifications totalling 0 lines
Lineout2d_output_150 modifications totalling 0 lines
CurvesFrom3d_noSampling0.000.00
MultiVarCurvesFrom2d_noSampling0.000.00
CurvesFromSAMRAI_noSampling0.000.00
CurvesFromSpecifyWindow_01_noSampling0.000.00
CurvesFromSpecifyWindow_02_noSampling0.000.00
CurvesFromDynamic_010.000.00
CurvesFromDynamic_020.000.00
CurvesFromDynamic_030.000.00
CurvesFromDynamic_040.000.00
CurvesFromDynamic_050.000.00
CurvesFromDynamic_060.000.00
Dynamic2_010.000.00
Dynamic2_020.000.00
Dynamic2_030.000.00
LineoutTecPlot_010.000.00
CurvesFromTecPlot_010.000.00
Operator-Created Variables
lineout_op_vars_000.000.00
lineout_op_vars_010.000.00
lineout_op_vars_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lineout_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lineout_py.html new file mode 100644 index 000000000..4e35ceb69 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_lineout_py.html @@ -0,0 +1,661 @@ +hybrid/lineout.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  lineout.py #
+#  Tests:      plots     - Curve
+#              operators - Lineout
+#
+#  Defect ID:  none
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Jan 3 14:22:41 PST 2003
+#
+#  Modifications:
+#    Kathleen Bonnell, Mon Mar 17 09:54:14 PST 2003
+#    Added TestMultiVarLineout2D.
+#
+#    Kathleen Bonnell, Tue Dec 23 09:29:29 PST 2003 
+#    Added TestSAMRAI.
+#
+#    Kathleen Bonnell, Thu Jul 29 11:59:35 PDT 2004 
+#    Added tests for no-sampling version, renamed old Curve* tests to
+#    indicate they were generated with-sampling. 
+#
+#    Kathleen Bonnell, Thu Aug  5 10:44:22 PDT 2004 
+#    Added calls to ResetPickLetter() and ResetLineoutColor() at the end of
+#    each test, so that failure on any one test won't necessarily affect the
+#    tests that follow. 
+#
+#    Kathleen Bonnell, Wed Nov 24 11:38:55 PST 2004 
+#    Modified the way that sampling gets turned on due to changes in Lineout
+#    Attributes and GlobalLineoutAttributes.  Use global version to turn
+#    sampling on and off. 
+#
+#    Kathleen Bonnell, Fri Feb  4 11:17:56 PST 2005 
+#    Added TestDynamic, to test new global atts: curveOption and colorOption.
+#
+#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
+#    Rename variables that have unsupported characters.
+#
+#    Kathleen Bonnell, Wed Mar 23 17:58:20 PST 2005 
+#    Added TestDynamic2. 
+#
+#    Kathleen Bonnell, hu May 19 11:26:39 PDT 2005 
+#    Added TestTecPlot. 
+#
+#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
+#    Allowed spaces in variable names.
+#
+#    Kathleen Bonnell, Tue Jun 20 16:02:38 PDT 2006
+#    Added tests for GetOutputArray to Lineout2D.
+#
+#    Kathleen Bonnell, Wed Jun 28 15:57:58 PDT 2006
+#    Added tests to TestDynamicLineout, testing having curves from  different
+#    time-varying databases (same originating window and different originating
+#    window) in same curve window, and update the curves via the originating
+#    plots time-slider (bug '7002).
+#
+#    Brad Whitlock, Wed Jan 14 16:12:10 PST 2009
+#    I changed the call to GetOutputArray. It's no longer a built-in function
+#    in the CLI.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Brad Whitlock, Tue Mar 26 12:06:51 PDT 2013
+#    I added TestOperatorCreatedVariables.
+#
+#    Kathleen Biagas, Wed Feb 24 10:11:35 PST 2021
+#    Remove setting of Pseudocolor colorTableName name to 'Default', as
+#    that is now the default anyways.
+#    Reset default continuous color table to 'hot' after a test that changes
+#    it is finished, so that other tests aren't affected.
+#
+#    Justin Privitera, Wed May 18 11:25:46 PDT 2022
+#    Changed *active* to *default* for everything related to color tables.
+# 
+# ----------------------------------------------------------------------------
+
+def GetOutputArray(plotID = -1, winID = -1):
+    gInfo = GetGlobalAttributes()
+    oldWin = gInfo.windows[gInfo.activeWindow]
+    # Set the active window
+    if winID != -1:
+        SetActiveWindow(winID)
+
+    # Get the active plots
+    active = []
+    if plotID != -1:
+        pL = GetPlotList()
+        for i in range(pL.GetNumPlots()):
+            if pL.GetPlots(i).activeFlag:
+                active = active + [i]
+        SetActivePlots(plotID)
+
+    pInfo = GetPlotInformation()
+
+    # Restore the old active plots
+    if len(active) > 0:
+        SetActivePlots(tuple(active))
+
+    # Restore the old active window
+    if winID != -1:
+        SetActiveWindow(oldWin)
+
+    return pInfo["Curve"]
+
+def InitAnnotation():
+    a = AnnotationAttributes()
+    TurnOffAllAnnotations(a)
+    a.axes2D.visible = 1
+    a.axes2D.xAxis.label.visible = 0
+    a.axes2D.yAxis.label.visible = 0
+    a.axes2D.xAxis.title.visible = 0
+    a.axes2D.yAxis.title.visible = 0
+    SetAnnotationAttributes(a)
+
+def TestLineout2D(time, suffix):
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    # Set the colortable to one that has white at the bottom values.
+    SetDefaultContinuousColorTable("calewhite")
+
+    # Create the variable list.
+    vars = ("default")
+
+    # Do some lineouts.
+    p0 = (-4.01261, 1.91818)
+    p1 = (-0.693968, 4.448759)
+    p2 = (4.144392, 1.713066)
+    nsteps = 15
+    for i in range(nsteps):
+        t = float(i) / float(nsteps - 1)
+        p3x = t * p2[0] + (1. - t) * p1[0]
+        p3y = t * p2[1] + (1. - t) * p1[1]
+        SetActiveWindow(1)
+        Lineout(p0, (p3x, p3y), vars)
+
+    if (time == 1):
+        SetActiveWindow(1)
+        Test("Lineout2d")
+
+    if (time == 2):
+        SetActiveWindow(1)
+        oa = GetOutputArray(4, 2)
+        s = ''.join(['%f, '% x for x in oa])
+        s = '(' + s + ')'
+        TestText("Lineout2d_output_04", s)
+        oa = GetOutputArray(8, 2)
+        s = ''.join(['%f, '% x for x in oa])
+        s = '(' + s + ')'
+        TestText("Lineout2d_output_08", s)
+
+    SetActiveWindow(2)
+
+    InitAnnotation()
+    Test("CurvesFrom2d" + suffix)
+
+    if (time == 2):
+        oa = GetOutputArray(2)
+        s = ''.join(['%f, '% x for x in oa])
+        s = '(' + s + ')'
+        TestText("Lineout2d_output_02", s)
+        oa = GetOutputArray()
+        s = ''.join(['%f, '% x for x in oa])
+        s = '(' + s + ')'
+        TestText("Lineout2d_output_15", s)
+
+    # Reset the CT to 'hot'
+    SetDefaultContinuousColorTable("hot")
+    # Delete the second window.
+    DeleteWindow()
+    DeleteAllPlots()
+    ResetPickLetter()
+    ResetLineoutColor()
+
+def TestLineout3D(time, suffix):
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+
+    # Set the view
+    v = View3DAttributes()
+    v.viewNormal = (-0.65577, 0.350079, 0.668888)
+    v.focus = (0, 0, 0)
+    v.viewUp = (0.218553, 0.936082, -0.275655)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.perspective = 1
+    SetView3D(v)
+
+    # Do some lineouts
+    vars = ("default")
+    p0 = (-10., -10., -10.)
+    P  = ((-10., -10., 10.), (-10., 10., -10.), (-10., 10., 10.),\
+(10., -10., -10.), (10., -10., 10.), (10., 10., -10.), (10., 10., 10.))
+    for p in P:
+        SetActiveWindow(1)
+        Lineout(p0, p, vars)
+
+    if (time == 1):
+        SetActiveWindow(1)
+        pc = PseudocolorAttributes()
+        pc.colorTableName = "xray"
+        pc.SetOpacityType(pc.Constant)
+        pc.opacity = 0.5
+        SetPlotOptions(pc)
+        Test("Lineout3d")
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("CurvesFrom3d" + suffix)
+
+    # Delete the second window.
+    DeleteWindow()
+    DeleteAllPlots()
+    ResetPickLetter()
+    ResetLineoutColor()
+
+def TestMultiVarLineout2D(time, suffix):
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    # Do some lineouts
+    vars = ("p", "u", "v")
+    Y = (2, 3, 4)
+    x1 = -4.5
+    x2 = 4.5
+    for y in Y:
+        SetActiveWindow(1)
+        Lineout((x1, y), (x2, y), vars)
+
+    if (time == 1):
+        SetActiveWindow(1)
+        Test("MultiVarLineout2d")
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("MultiVarCurvesFrom2d" + suffix)
+    DeleteWindow()
+    DeleteAllPlots()
+
+    ResetPickLetter()
+    ResetLineoutColor()
+
+def TestSAMRAI(time, suffix):
+    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
+
+    AddPlot("Pseudocolor", "Primitive Var _number_0")
+    DrawPlots()
+
+    # Set the colortable to one that has white at the bottom values.
+    SetDefaultContinuousColorTable("rainbow")
+
+    AddOperator("Slice", 1)
+    slice = SliceAttributes()
+    slice.originType = slice.Percent
+    slice.originPercent = 18
+    slice.axisType = slice.ZAxis
+    slice.project2d = 1
+    SetOperatorOptions(slice, 0, 1)
+    DrawPlots()
+    ResetView()
+
+    SetTimeSliderState(1)
+
+    #Do some lineouts
+    p0 = (3, 3)
+    p1 = (0, 20)
+    p2 = (30, 0)
+    nsteps = 15
+    for i in range(nsteps):
+        t = float(i) / float(nsteps - 1)
+        p3x = t * p2[0] + (1. - t) * p1[0]
+        p3y = t * p2[1] + (1. - t) * p1[1]
+        SetActiveWindow(1)
+        Lineout(p0, (p3x, p3y))
+
+    if (time == 1):
+        SetActiveWindow(1)
+        Test("LineoutSAMRAI")
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("CurvesFromSAMRAI" + suffix)
+    DeleteWindow()
+    DeleteAllPlots()
+
+    ResetPickLetter()
+    ResetLineoutColor()
+    SetDefaultContinuousColorTable("hot")
+
+def TestSpecifyLineoutWindow(time, suffix):
+    #window 1
+    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
+
+    AddPlot("Pseudocolor", "mesh/ireg")
+    DrawPlots()
+    ResetView()
+
+    Lineout((0, 2.5), (5, 2.5))
+
+    if (time == 1):
+        SetActiveWindow(1)
+        InitAnnotation()
+        Test("LineoutSpecifyWindow_01")
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("CurvesFromSpecifyWindow_01" + suffix)
+
+    SetActiveWindow(1)
+    CloneWindow()
+    #window 3
+    SetTimeSliderState(4)
+    DrawPlots()
+
+
+    gla = GetGlobalLineoutAttributes()
+    gla.createWindow = 0
+    gla.windowId = 4
+    SetGlobalLineoutAttributes(gla)
+
+    Lineout((0, 2.5), (5, 2.5))
+
+    if (time == 1):
+        SetActiveWindow(3)
+        InitAnnotation()
+        Test("LineoutSpecifyWindow_02")
+
+    SetActiveWindow(4)
+    InitAnnotation()
+    Test("CurvesFromSpecifyWindow_02" + suffix)
+
+    DeleteWindow()
+    SetActiveWindow(3)
+    DeleteWindow()
+    SetActiveWindow(2)
+    DeleteWindow()
+    DeleteAllPlots()
+    gla.createWindow = 1
+    gla.windowId = 2
+    SetGlobalLineoutAttributes(gla)
+
+    ResetPickLetter()
+    ResetLineoutColor()
+
+def TestDynamicLineout(time, suffix):
+    if (time == 1):
+        return
+    #window 1
+    OpenDatabase(silo_data_path("wave.visit"))
+
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+    ResetView()
+
+    Lineout((0, 0.5, 2.5), (10, 0.5, 2.5))
+
+    gla = GetGlobalLineoutAttributes()
+    gla.Dynamic = 1
+    gla.curveOption = gla.UpdateCurve
+    SetGlobalLineoutAttributes(gla)
+
+    SetActiveWindow(1)
+    t = 0
+    for i in range (10):
+        t += 5
+        SetTimeSliderState(t)
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    ResetView()
+    Test("CurvesFromDynamic_01")
+
+    # go back to the beginning time state
+    # and have new curves created for each new time 
+    SetActiveWindow(1)
+    t = 0
+    SetTimeSliderState(t)
+
+    gla.curveOption = gla.CreateCurve
+    SetGlobalLineoutAttributes(gla)
+    for i in range (7):
+        t += 5
+        SetTimeSliderState(t)
+
+    # now have each new curve have its own color.
+    gla.colorOption = gla.CreateColor
+    SetGlobalLineoutAttributes(gla)
+    for i in range (7):
+        t += 5
+        SetTimeSliderState(t)
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    ResetView()
+    Test("CurvesFromDynamic_02")
+
+    ResetPickLetter()
+    ResetLineoutColor()
+    # delete window 2
+    DeleteWindow()
+    # clear all plots from window 1
+    DeleteAllPlots()
+
+    dbs = (data_path("pdb_test_data/dbA00.pdb"),
+           data_path("pdb_test_data/dbB00.pdb"),
+           data_path("pdb_test_data/dbC00.pdb"))
+    OpenDatabase(dbs[0])
+    AddPlot("Pseudocolor", "mesh/ireg")
+    OpenDatabase(dbs[1])
+    AddPlot("Pseudocolor", "mesh/ireg")
+    DrawPlots()
+
+    AddWindow()
+    SetActiveWindow(2)
+    DeleteAllPlots()
+    OpenDatabase(dbs[2])
+    AddPlot("Pseudocolor", "mesh/ireg")
+    DrawPlots()
+
+    gla.Dynamic = 1
+    gla.curveOption = gla.UpdateCurve
+    SetGlobalLineoutAttributes(gla)
+
+    #Lineout for dbC00.pdb in window 2
+    Lineout((5.0, 7.5, 0.), (10, 7.5, 0.))
+
+    SetActiveWindow(1)
+    SetActivePlots(1)
+
+    #Lineout for dbB00.pdb in window 1
+    Lineout((0, 8, 0), (5, 8, 0))
+
+    SetActivePlots(0)
+    #Lineout for dbA00.pdb in window 1
+    Lineout((0, 3, 0), (5, 3, 0))
+
+
+    SetActiveWindow(3)
+    InitAnnotation()
+    Test("CurvesFromDynamic_03")
+
+    SetActiveWindow(1)
+    SetActiveTimeSlider(dbs[1])
+    SetTimeSliderState(15)
+
+    SetActiveWindow(3)
+    Test("CurvesFromDynamic_04")
+
+    SetActiveWindow(1)
+    SetActiveTimeSlider(dbs[0])
+    SetTimeSliderState(3)
+
+
+    SetActiveWindow(3)
+    Test("CurvesFromDynamic_05")
+
+    SetActiveWindow(2)
+    SetTimeSliderState(29)
+
+    SetActiveWindow(3)
+    Test("CurvesFromDynamic_06")
+
+    ResetLineoutColor()
+    ResetPickLetter()
+    # delete window 3
+    DeleteWindow()
+    # delete window 2
+    SetActiveWindow(2)
+    DeleteWindow()
+    # clear all plots from window 1
+    DeleteAllPlots()
+
+def TestDynamic2():
+    # VisIt00006006 -- ensure  that 'ClearRefLines' will 'disconnect' the lineout 
+    # from its originating plot, and won't update when orig plot changes time.
+    OpenDatabase(silo_data_path("wave.visit"))
+
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+    ResetView()
+    SetTimeSliderState(0)
+    Lineout((0, 0.5, 2.5), (10, 0.5, 2.5))
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("Dynamic2_01")
+
+    SetActiveWindow(1)
+    gla = GetGlobalLineoutAttributes()
+    gla.Dynamic = 1
+    gla.curveOption = gla.UpdateCurve
+    SetGlobalLineoutAttributes(gla)
+
+    SetTimeSliderState(27)
+
+    SetActiveWindow(2)
+    Test("Dynamic2_02")
+
+    SetActiveWindow(1)
+    gla.Dynamic = 0
+    SetGlobalLineoutAttributes(gla)
+
+    SetTimeSliderState(52)
+
+    SetActiveWindow(2)
+    Test("Dynamic2_03")
+
+    ResetPickLetter()
+    ResetLineoutColor()
+    DeleteWindow()
+    DeleteAllPlots()
+
+
+def TestTecPlot():
+    # VisIt00006243 -- curve generated from Lineout looks reversed in X
+    OpenDatabase(data_path("tecplot_test_data/T3L3CLS17u.plt"))
+
+    AddPlot("Mesh", "mesh")
+    AddPlot("Pseudocolor", "k")
+    DrawPlots()
+    ResetView()
+
+    v = GetView2D()
+    v.windowCoords = (0.340063, 0.340868, 0.00512584, 0.00572613 )
+    SetView2D(v)
+
+    Lineout((0.340505, 0.00565604, 0), (0.340291, 0.00514717, 0))
+
+    InitAnnotation()
+    Test("LineoutTecPlot_01")
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("CurvesFromTecPlot_01")
+
+    ResetPickLetter()
+    ResetLineoutColor()
+    # delete window 2
+    DeleteWindow()
+    # remove plots from window 1
+    DeleteAllPlots()
+
+def TestOperatorCreatedVariables():
+    def SetCurveAtts():
+        c = CurveAttributes(1)
+        c.lineWidth = 2
+        c.curveColor = (255,0,0,255)
+        c.curveColorSource = c.Custom
+        c.showLabels = 0
+        SetPlotOptions(c)
+
+    TestSection("Operator-Created Variables")
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    # Do lineout on a data binning variable.
+    AddPlot("Pseudocolor", "operators/DataBinning/2D/Mesh", 1, 1)
+    DataBinningAtts = DataBinningAttributes()
+    DataBinningAtts.numDimensions = DataBinningAtts.Two  # One, Two, Three
+    DataBinningAtts.dim1BinBasedOn = DataBinningAtts.X  # X, Y, Z, Variable
+    DataBinningAtts.dim1Var = "default"
+    DataBinningAtts.dim1SpecifyRange = 0
+    DataBinningAtts.dim1MinRange = 0
+    DataBinningAtts.dim1MaxRange = 1
+    DataBinningAtts.dim1NumBins = 50
+    DataBinningAtts.dim2BinBasedOn = DataBinningAtts.Y  # X, Y, Z, Variable
+    DataBinningAtts.dim2Var = "default"
+    DataBinningAtts.dim2SpecifyRange = 0
+    DataBinningAtts.dim2MinRange = 0
+    DataBinningAtts.dim2MaxRange = 1
+    DataBinningAtts.dim2NumBins = 50
+    DataBinningAtts.dim3BinBasedOn = DataBinningAtts.Variable  # X, Y, Z, Variable
+    DataBinningAtts.dim3Var = "default"
+    DataBinningAtts.dim3SpecifyRange = 0
+    DataBinningAtts.dim3MinRange = 0
+    DataBinningAtts.dim3MaxRange = 1
+    DataBinningAtts.dim3NumBins = 50
+    DataBinningAtts.outOfBoundsBehavior = DataBinningAtts.Clamp  # Clamp, Discard
+    DataBinningAtts.reductionOperator = DataBinningAtts.Maximum  # Average, Minimum, Maximum, StandardDeviation, Variance, Sum, Count, RMS, PDF
+    DataBinningAtts.varForReduction = "hardyglobal"
+    DataBinningAtts.emptyVal = 0
+    DataBinningAtts.outputType = DataBinningAtts.OutputOnBins  # OutputOnBins, OutputOnInputMesh
+    DataBinningAtts.removeEmptyValFromCurve = 1
+    SetOperatorOptions(DataBinningAtts, 1)
+    DrawPlots()
+    Lineout((9, 9), (4.5, -9))
+    SetActiveWindow(1)
+    ResetView()
+    Test("lineout_op_vars_00")
+    SetActiveWindow(2)
+    InitAnnotation()
+    ResetView()
+    SetCurveAtts()
+    Test("lineout_op_vars_01")
+
+    # delete window 2
+    DeleteWindow()
+    # remove plots from window 1
+    DeleteAllPlots()
+
+    # Do lineout on a data binning variable that had other operators
+    OpenDatabase(silo_data_path("noise.silo"))
+    AddPlot("Pseudocolor", "operators/DataBinning/2D/Mesh", 1, 1)
+    SetOperatorOptions(DataBinningAtts, 1)
+    AddOperator("Transform")
+    AddOperator("Project")
+    DrawPlots()
+    Lineout((9, 9), (4.5, -9))
+    SetActiveWindow(2)
+    InitAnnotation()
+    SetCurveAtts()
+    Test("lineout_op_vars_02")
+
+    # delete window 2
+    DeleteWindow()
+    # remove plots from window 1
+    DeleteAllPlots()
+
+
+def DoTests(t,s):
+    TestLineout2D(t,s)
+    TestLineout3D(t,s)
+    TestMultiVarLineout2D(t,s)
+    TestSAMRAI(t,s)
+    TestSpecifyLineoutWindow(t,s)
+    TestDynamicLineout(t,s)
+
+def LineoutMain():
+    InitAnnotation()
+    la = GetGlobalLineoutAttributes()
+    la.samplingOn = 1
+    SetGlobalLineoutAttributes(la)
+
+    DoTests(1, "_withSampling")
+
+    la.samplingOn = 0
+    SetGlobalLineoutAttributes(la)
+
+    DoTests(2, "_noSampling")
+
+    TestDynamic2()
+    TestTecPlot()
+    TestOperatorCreatedVariables()
+
+# Call the main function
+LineoutMain()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locktime.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locktime.html new file mode 100644 index 000000000..14b5dbef1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locktime.html @@ -0,0 +1,124 @@ + +Results for hybrid/locktime.py + +

Results of VisIt Regression Test - hybrid/locktime

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
locktime_000.000.00
locktime_010 modifications totalling 0 lines
locktime_020.000.00
locktime_030 modifications totalling 0 lines
locktime_040 modifications totalling 0 lines
locktime_050.000.00
locktime_060 modifications totalling 0 lines
locktime_070.000.00
locktime_080 modifications totalling 0 lines
locktime_090.000.00
locktime_100 modifications totalling 0 lines
locktime_110.000.00
locktime_120 modifications totalling 0 lines
locktime_130 modifications totalling 0 lines
locktime_140.000.00
locktime_150 modifications totalling 0 lines
locktime_160.000.00
locktime_170 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locktime_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locktime_py.html new file mode 100644 index 000000000..0ec61e2bf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locktime_py.html @@ -0,0 +1,125 @@ +hybrid/locktime.py
# ----------------------------------------------------------------------------
+#  MODES: serial
+#  CLASSES: nightly
+#
+#  Test Case:  multiwindowcorrelation.py 
+#
+#  Tests:      Tests database correlations when there are multiple windows.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Mon Mar 22 15:59:24 PST 2004
+#
+#  Modifications:
+#    Brad Whitlock, Fri Apr 1 15:01:13 PST 2005
+#    Added a function to check the database correlation list.
+#
+# ----------------------------------------------------------------------------
+
+def GetTruncatedWindowInformationString():
+    # Get the window information and convert it to a string.
+    s = str(GetWindowInformation())
+    # Only use the first 5 or so lines from the string.
+    lines = s.split("\n")
+    s = ""
+    for i in range(5):
+        if(i < len(lines)):
+            s = s + lines[i]
+            s = s + "\n"
+    return s
+
+def TestLength(testname):
+    tsLength = TimeSliderGetNStates()
+    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
+    testString = testString + GetTruncatedWindowInformationString()
+    TestText(testname, testString)
+
+#
+# Tests the time slider length and the correlation list.
+#
+def TestLengthAndCorrelationList(testname):
+    tsLength = TimeSliderGetNStates()
+    s = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
+    s = s + GetTruncatedWindowInformationString() + "\n\n"
+
+    names = GetDatabaseCorrelationNames()
+    for name in names:
+        c = GetDatabaseCorrelation(name)
+        s = s + str(c) + "\n"
+    TestText(testname, s)
+
+# Create a plot of DB A.
+OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
+
+AddPlot("FilledBoundary", "material(mesh)")
+DrawPlots()
+Test("locktime_00")
+TestLength("locktime_01")
+
+# Create a second window and create plot of DB B.
+CloneWindow()
+DeleteAllPlots()
+OpenDatabase(data_path("pdb_test_data/dbB00.pdb"))
+
+AddPlot("FilledBoundary", "material(mesh)")
+InvertBackgroundColor()
+DrawPlots()
+Test("locktime_02")
+TestLength("locktime_03")
+
+#
+# Set the database correlation options to control how we create automatic
+# correlations. When we lock the windows together, VisIt will create a
+# correlation for the databases in both windows because the windows do not
+# have a common database. I'm setting the correlation options here because 
+# I want a StretchedIndexCorrelation correlation to be created.
+#
+StretchedIndexCorrelation = 1
+SetDatabaseCorrelationOptions(StretchedIndexCorrelation, 0)
+
+#
+# Lock time for window 2 and window 1. This will create a correlation between
+# the databases in both windows.
+#
+ToggleLockTime()
+SetActiveWindow(1)
+ToggleLockTime()
+TestLengthAndCorrelationList("locktime_04")
+
+SetTimeSliderState(17)
+Test("locktime_05")
+TestLength("locktime_06")
+
+SetActiveWindow(2)
+Test("locktime_07")
+TestLength("locktime_08")
+
+SetActiveWindow(1)
+SetTimeSliderState(7)
+Test("locktime_09")
+TestLength("locktime_10")
+
+SetActiveWindow(2)
+Test("locktime_11")
+TestLength("locktime_12")
+
+#
+# Now let's delete the correlation that was created. It will be have the same
+# name as the active time slider.
+#
+DeleteDatabaseCorrelation(GetActiveTimeSlider())
+TestLengthAndCorrelationList("locktime_13")
+
+# Now try moving the time slider state for DB B, since that's the active time
+# slider for window 2, which is the active window right now.
+SetTimeSliderState(15)
+Test("locktime_14")
+TestLength("locktime_15")
+
+# Make sure that window 1 did not change.
+SetActiveWindow(1)
+Test("locktime_16")
+TestLength("locktime_17")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locus.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locus.html new file mode 100644 index 000000000..95501bf55 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locus.html @@ -0,0 +1,42 @@ + +Results for hybrid/locus.py + +

Results of VisIt Regression Test - hybrid/locus

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
locus_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locus_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locus_py.html new file mode 100644 index 000000000..665ec134c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_locus_py.html @@ -0,0 +1,148 @@ +hybrid/locus.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  locus.py
+#
+#  Purpose:
+#      Identifies the locus of points of maximum value from inside a sphere.
+#      Tests repeated lineout capabilities, as well as the VisIt writer.
+#
+#  Programmer: Hank Childs
+#  Date:       April 4, 2005
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Jul 14 10:28:41 PDT 2005
+#    Save tmp.ultra to 'current' directory.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Jeremy Meredith, Wed Jan 20 12:50:34 EST 2010
+#    Added src/lib to python path so we can find the visit writer module.
+#
+#    Mark C. Miller, Mon Apr 12 15:40:16 PDT 2010
+#    Gracefully skip if we're in scalable mode.
+#
+#    Mark C. Miller, Tue Jun 29 16:51:46 PDT 2010
+#    Changed exit code if we're in scalable mode from 116 (skip) to
+#    121 (not applicable)
+#
+#    Kathleen Biagas, Tue Jul 15 11:10:27 MST 2014 
+#    Don't need VISITARCHHOME on Windows, but do need 'outputToCurrentDirectory'
+#
+# ----------------------------------------------------------------------------
+
+import sys
+import os
+import platform
+from os.path import join as pjoin
+if not platform.system() == "Windows":
+    sys.path.append(pjoin(os.environ['VISITARCHHOME'],"lib"))
+
+import visit_writer
+
+
+# We can't run this test while in SR mode
+# So, exit and indicate the test was skipped.
+# 'scalable' is defined in Testing.py
+if TestEnv.params["scalable"] != 0:
+    Exit(121)
+
+# BEGIN USER MODIFIABLE SECTION
+
+database = silo_data_path("globe.silo")
+origin = (0,0,0)
+radius = 10
+variable = "recenter(t) + 10*u"
+isExpression = 1
+startTheta = 0
+thetaStep = 36
+nThetaSteps = 11
+startPhi = 0
+phiStep = 18
+nPhiSteps = 11
+
+# END USER MODIFIABLE SECTION
+
+if (isExpression):
+   DefineScalarExpression("locus", variable)
+OpenDatabase(database)
+AddPlot("Pseudocolor", "locus")
+DrawPlots()
+
+import math
+
+sw = GetSaveWindowAttributes()
+sw.format = sw.ULTRA
+sw.family = 0
+sw.fileName = "tmp"
+sw.outputToCurrentDirectory = 1
+SetSaveWindowAttributes(sw)
+
+import locale
+def GetNum(line):
+   a = line.split(' ')
+   pos = locale.atof(a[0])
+   max = locale.atof(a[1])
+   return [pos, max]
+
+
+# Opens up the file "tmp.ultra" and gets the maximum position.
+def GetMaximumPosition():
+   uf = open("tmp.ultra", "r")
+   line = uf.readline()  # Remove header
+   line = uf.readline()
+   num = GetNum(line)
+   pos = num[0]
+   max = num[1]
+   while(1):
+      line = uf.readline()
+      if (line == ""):
+          break
+      num = GetNum(line)
+      if (num[1] > max):
+         pos = num[0]
+         max = num[1]
+   return [pos, max]
+
+
+vals = []
+pos = []
+points = []
+for j in range(nPhiSteps):
+    phi = startPhi + j*phiStep
+    phi_rads = phi*2.*math.pi / 360.
+    for i in range(nThetaSteps):
+        theta = startTheta + i*thetaStep
+        theta_rads = theta*2.*math.pi / 360.
+        PX = radius * math.cos(theta_rads) * math.sin(phi_rads)
+        PY = radius * math.sin(theta_rads) * math.sin(phi_rads)
+        PZ = radius * math.cos(phi_rads)
+        PX2 = PX + origin[0]
+        PY2 = PY + origin[1]
+        PZ2 = PZ + origin[2]
+        Lineout(origin, (PX2, PY2, PZ2))
+        SetActiveWindow(2)
+        SaveWindow()
+        rv = GetMaximumPosition()
+        pos = pos + [rv[0]]
+        vals = vals + [rv[1]]
+        prop = rv[0] / radius
+        FX = origin[0] + (PX)*prop
+        FY = origin[1] + (PY)*prop
+        FZ = origin[2] + (PZ)*prop
+        points = points + [FX, FY, FZ]
+        DeleteAllPlots()
+        SetActiveWindow(1)
+
+dims = (nThetaSteps, nPhiSteps, 1)
+
+visit_writer.WriteCurvilinearMesh("locus", 0, dims, points, [["max", 1, 1, vals]])
+DeleteAllPlots()
+OpenDatabase("locus.vtk")
+AddPlot("Pseudocolor", "max")
+DrawPlots()
+Test("locus_01")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_math_expr.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_math_expr.html new file mode 100644 index 000000000..d1bf6d61f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_math_expr.html @@ -0,0 +1,60 @@ + +Results for hybrid/math_expr.py + +

Results of VisIt Regression Test - hybrid/math_expr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
math_expr_010.000.00
math_expr_020.000.00
math_expr_030.000.00
math_expr_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_math_expr_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_math_expr_py.html new file mode 100644 index 000000000..3e2bc8900 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_math_expr_py.html @@ -0,0 +1,44 @@ +hybrid/math_expr.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  math_expr.py
+#
+#  Tests:      mesh      - 3D unstructured, multi- domain
+#              plots     - Pseudocolor
+#
+#  Defect ID:  '6115
+#
+#  Programmer: Hank Childs
+#  Date:       June 30, 2005
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+
+DefineScalarExpression("mod", "mod(t, 10)")
+AddPlot("Pseudocolor", "mod")
+DrawPlots()
+Test("math_expr_01")
+
+DefineScalarExpression("round", "round(u/10)")
+ChangeActivePlotsVar("round")
+Test("math_expr_02")
+
+DefineScalarExpression("ceil", "ceil(u/10)")
+ChangeActivePlotsVar("ceil")
+Test("math_expr_03")
+
+DefineScalarExpression("floor", "floor(u/10)")
+ChangeActivePlotsVar("floor")
+Test("math_expr_04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matsel.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matsel.html new file mode 100644 index 000000000..4e2b07dd2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matsel.html @@ -0,0 +1,54 @@ + +Results for hybrid/matsel.py + +

Results of VisIt Regression Test - hybrid/matsel

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
hybrid_matsel_010.000.00
hybrid_matsel_020.000.00
hybrid_matsel_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matsel_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matsel_py.html new file mode 100644 index 000000000..ea92d8969 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matsel_py.html @@ -0,0 +1,96 @@ +hybrid/matsel.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  matsel.py
+#
+#  Tests:      plots     - contour,pseudocolor
+#
+#  Defect ID:  '4353
+#
+#  Programmer: Jeremy Meredith
+#  Date:       June 24, 2004
+#
+#    Jeremy Meredith, Tue Jul 13 18:03:11 PDT 2004
+#    Added curvilinear case.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+
+#
+# Do a test of 2D nodal interpolation on material-selected rectilinear meshes
+#
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+
+AddPlot("Pseudocolor", "u");
+
+sil = SILRestriction()
+sets = sil.SetsInCategory("mat1")
+sil.TurnOnAll()
+sil.TurnOffSet(sets[4])
+SetPlotSILRestriction(sil)
+DrawPlots()
+
+Test("hybrid_matsel_01")
+
+DeleteAllPlots();
+
+#
+# Do a test of 3D nodal interpolation on material-selected rectilinear meshes
+# Ths is easiest to see when doing a contour plot of a matsel variable
+#
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+AddPlot("Contour", "u");
+
+sil = SILRestriction()
+sets = sil.SetsInCategory("mat1")
+sil.TurnOnAll()
+sil.TurnOffSet(sets[4])
+SetPlotSILRestriction(sil)
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.624401, -0.368813, -0.688549)
+focus = (0.5, 0.5, 0.5)
+v.viewUp = (-0.768963, 0.135421, 0.624786)
+SetView3D(v)
+
+Test("hybrid_matsel_02")
+
+DeleteAllPlots();
+
+#
+# Do a test of 2D nodal interpolation on material-selected curvilinear meshes
+#
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+
+AddPlot("Pseudocolor", "u");
+
+sil = SILRestriction()
+sets = sil.SetsInCategory("mat1")
+sil.TurnOnAll()
+sil.TurnOffSet(sets[0])
+SetPlotSILRestriction(sil)
+DrawPlots()
+v = GetView2D()
+v.windowCoords = (0.1, 2.0, 2.8, 3.8)
+SetView2D(v)
+p = PseudocolorAttributes()
+p.min = 0
+p.max = .5
+p.minFlag = 1
+p.maxFlag = 1
+SetPlotOptions(p)
+
+Test("hybrid_matsel_03")
+
+DeleteAllPlots();
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matvf.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matvf.html new file mode 100644 index 000000000..b5d174361 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matvf.html @@ -0,0 +1,120 @@ + +Results for hybrid/matvf.py + +

Results of VisIt Regression Test - hybrid/matvf

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
matvf_010.000.00
matvf_020.000.00
matvf_030.000.00
matvf_040.000.00
matvf_050.000.00
matvf_060.000.00
matvf_070.000.00
matvf_080.000.00
matvf_090.000.00
matvf_100.000.00
matvf_post_ghost_10.000.00
matvf_post_ghost_20.000.00
matvf_post_ghost_30.000.00
matvf_post_ghost_40.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matvf_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matvf_py.html new file mode 100644 index 000000000..b9dd10599 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_matvf_py.html @@ -0,0 +1,249 @@ +hybrid/matvf.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  expressions.py
+#
+#  Tests:      mesh      - 3D unstructured, multi- domain
+#                          3D rectilinear, single domain
+#              plots     - Pseudocolor
+#              operators - Threshold
+#              selection - Material
+#
+#  Defect ID:  '2415 '3939 '5521
+#
+#  Programmer: Hank Childs
+#  Date:       August 13, 2003
+#
+#  Modifications:
+#
+#    Hank Childs, Mon Oct 20 16:32:46 PDT 2003
+#    Added bigsil portion to test '3939 (matvf with databases that create
+#    ghost zones).
+#
+#    Hank Childs, Mon Jan  3 09:28:39 PST 2005
+#    Added tests for materror.
+#
+#    Cyrus Harrison, Tue Feb 12 15:16:36 PST 2008
+#    Added explicit tests for matvf w/ ghost zones. 
+#
+#    Cyrus Harrison, Wed Apr  9 11:17:22 PDT 2008
+#    Added new test for post ghost info.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+
+DefineScalarExpression("m1", 'matvf(mat1, ["1", "3"])')
+AddPlot("Pseudocolor", "m1")
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (0.17, 0.74, 0.64)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (-0.31, 0.65, -0.68)
+v.parallelScale = 0.866
+v.nearPlane = -1.73
+v.farPlane = 1.73
+SetView3D(v)
+
+Test("matvf_01")
+
+t = ThresholdAttributes()
+t.lowerBounds = (0.01)
+t.upperBounds = (0.99)
+SetDefaultOperatorOptions(t)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("matvf_02")
+
+sil = SILRestriction()
+matsets = sil.SetsInCategory("mat1")
+sil.TurnOffAll()
+sil.TurnOnSet(matsets[1])
+SetPlotSILRestriction(sil)
+
+Test("matvf_03")
+
+DeleteAllPlots()
+
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Pseudocolor", "m1")
+AddOperator("Threshold")
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (-0.82, 0.44, 0.37)
+v.focus = (0, 3.3, 10)
+v.viewUp = (0.13, 0.76, -0.62)
+v.parallelScale = 7.32
+v.nearPlane = -14.65
+v.farPlane = 14.65
+SetView3D(v)
+
+Test("matvf_04")
+
+sil = SILRestriction()
+matsets = sil.SetsInCategory("mat1")
+sil.TurnOffAll()
+sil.TurnOnSet(matsets[1])
+SetPlotSILRestriction(sil)
+
+Test("matvf_05")
+
+DeleteAllPlots()
+
+DefineScalarExpression("mbs", 'matvf(mat, 1)')
+OpenDatabase(silo_data_path("bigsil.silo"))
+
+AddPlot("Pseudocolor", "mbs")
+t = ThresholdAttributes()
+t.lowerBounds = (0.5)
+t.upperBounds = (1.1)
+SetDefaultOperatorOptions(t)
+AddOperator("Threshold")
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (-0.59, 0.33, 0.74)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (0.18, 0.94, -0.28)
+v.parallelScale = 0.866
+v.nearPlane = -1.73
+v.farPlane = 1.73
+SetView3D(v)
+
+v = View3DAttributes()
+v.viewNormal = (0.17, 0.74, 0.64)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (-0.31, 0.65, -0.68)
+v.parallelScale = 0.866
+v.nearPlane = -1.73
+v.farPlane = 1.73
+SetView3D(v)
+
+Test("matvf_06")
+
+#NOTE: the fix for '3939 included disabling the communication of ghost zones. 
+# As a result, the matvf_07 picture will contain internal surfaces that should
+# not be there.  If this ever gets fixed, then the baseline picture will need
+# to be reset.
+v.nearPlane = -0.1
+SetView3D(v)
+
+Test("matvf_07")
+
+# Now test the materror expression.
+DeleteAllPlots()
+DefineScalarExpression("materror1", 'materror(mat1, 1)')
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+AddPlot("Pseudocolor", "materror1")
+sil = SILRestriction()
+sil.TurnOnAll()
+SetPlotSILRestriction(sil)
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (0.17, 0.74, 0.64)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (-0.31, 0.65, -0.68)
+v.parallelScale = 0.866
+v.nearPlane = -1.73
+v.farPlane = 1.73
+SetView3D(v)
+
+Test("matvf_08")
+
+DefineScalarExpression("abs_materror1", 'abs(materror1)')
+t = ThresholdAttributes()
+t.lowerBounds = (0.01)
+t.upperBounds = (1.01)
+t.listedVarNames = ("abs_materror1")
+SetDefaultOperatorOptions(t)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("matvf_09")
+
+# Now test that it can calculate "volume fractions" using areas.
+ReplaceDatabase(silo_data_path("rect2d.silo"))
+
+RemoveLastOperator()
+Test("matvf_10")
+
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("rect2d.silo"))
+
+OpenDatabase(silo_data_path("thinplane.silo"))
+
+
+# tests for matvf w/ ghost zones
+
+# test standard
+DefineScalarExpression("mvf_2", "matvf(mat,2)")
+AddPlot("Pseudocolor", "mvf_2")
+atts = PseudocolorAttributes(1)
+atts.minFlag = 1
+atts.min = 0.0
+atts.maxFlag = 1
+atts.max = 1.0
+atts.centering = atts.Natural
+SetPlotOptions(atts)
+DrawPlots()
+Test("matvf_post_ghost_1")
+
+# test with ghosts
+atts = PseudocolorAttributes(1)
+atts.minFlag = 1
+atts.min = 0.0
+atts.maxFlag = 1
+atts.max = 1.0
+atts.centering = atts.Nodal
+SetPlotOptions(atts)
+DrawPlots()
+Test("matvf_post_ghost_2")
+
+# switch back to ensure w/ ghost case caching does not alter w/o ghosts
+atts = PseudocolorAttributes(1)
+atts.minFlag = 1
+atts.min = 0.0
+atts.maxFlag = 1
+atts.max = 1.0
+atts.centering = atts.Zonal
+SetPlotOptions(atts)
+DrawPlots()
+Test("matvf_post_ghost_3")
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("thinplane.silo"))
+
+OpenDatabase(silo_data_path("bigsil.silo"))
+
+
+# test for gradient w/ matvf, to check if post ghosts were correctly 
+# requested. 
+
+DefineScalarExpression("gate", "agrad(dist)[0] * matvf(mat,1)")
+AddPlot("Pseudocolor", "gate")
+DrawPlots()
+Test("matvf_post_ghost_4")
+DeleteAllPlots()
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_merge_tree.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_merge_tree.html new file mode 100644 index 000000000..e558db989 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_merge_tree.html @@ -0,0 +1,108 @@ + +Results for hybrid/merge_tree.py + +

Results of VisIt Regression Test - hybrid/merge_tree

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
rect2d_mtree0.000.00
rect2d_stree0.000.00
rect2d_localt_mt0.000.00
rect2d_localt_st0.000.00
noise2d_mtree0.000.00
noise2d_stree0.000.00
noise2d_localt_mt0.000.00
noise2d_localt_st0.000.00
noise3d_mtree0.000.00
noise3d_stree0.000.00
noise3d_localt_mt0.000.00
noise3d_localt_st0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_merge_tree_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_merge_tree_py.html new file mode 100644 index 000000000..70678449d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_merge_tree_py.html @@ -0,0 +1,64 @@ +hybrid/merge_tree.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  merge_tree.py
+#
+#
+#  Programmer: Cyrus Harrison
+#  Date:       Friday October 28, 2016
+#
+#  Modifiations:
+#
+# ----------------------------------------------------------------------------
+
+
+test_dbs = { "rect2d" : {"var":  "d",
+                         "path": silo_data_path("rect2d.silo")} ,
+             "noise2d" : {"var": "shepardglobal",
+                          "path" :silo_data_path("noise2d.silo")} ,
+
+             "noise3d" : {"var": "shepardglobal",
+                          "path": silo_data_path("noise.silo")}
+           }
+
+for db_name,db_info in list(test_dbs.items()):
+    test_db_file = db_info["path"]
+    OpenDatabase(test_db_file)
+
+    # test merge tree, split tree and local threshold exprs
+
+    DefineScalarExpression("mtree", "merge_tree(%s)" % db_info["var"])
+    AddPlot("Pseudocolor", "mtree")
+    DrawPlots()
+
+    Test(db_name + "_mtree")
+    DeleteAllPlots()
+
+    DefineScalarExpression("stree", "split_tree(%s)" % db_info["var"])
+    AddPlot("Pseudocolor", "stree")
+    DrawPlots()
+
+    Test(db_name + "_stree")
+    DeleteAllPlots()
+
+    DefineScalarExpression("localt_mt", "local_threshold(%s,mtree)" % db_info["var"])
+
+    AddPlot("Pseudocolor", "localt_mt")
+    DrawPlots()
+
+    Test(db_name + "_localt_mt")
+    DeleteAllPlots()
+
+    DefineScalarExpression("localt_st", "local_threshold(%s,stree)" % db_info["var"])
+
+    AddPlot("Pseudocolor", "localt_st")
+    DrawPlots()
+
+    Test(db_name + "_localt_st")
+    DeleteAllPlots()
+
+
+    CloseDatabase(test_db_file)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mesh_quality.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mesh_quality.html new file mode 100644 index 000000000..399ca40fc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mesh_quality.html @@ -0,0 +1,93 @@ + +Results for hybrid/mesh_quality.py + +

Results of VisIt Regression Test - hybrid/mesh_quality

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
mesh_quality_010.000.00
mesh_quality_020.000.00
mesh_quality_030.000.00
mesh_quality_040.000.00
mesh_quality_050.000.00
mesh_quality_060.000.00
mesh_quality_070.000.00
Side Volume
min_side_volume_000.000.00
max_side_volume_000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mesh_quality_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mesh_quality_py.html new file mode 100644 index 000000000..557dbc406 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mesh_quality_py.html @@ -0,0 +1,160 @@ +hybrid/mesh_quality.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  mesh_quality.py
+#
+#  Tests:      mesh      - 3D unstructured
+#              plots     - Pseudocolor
+#
+#  Programmer: Hank Childs
+#  Date:       November 25, 2003
+#
+#  Modifications:
+#
+#    Hank Childs, Fri Jun 25 07:58:32 PDT 2004
+#    The name of the mesh quality variables for ucd3d changed, since there are
+#    now multiple meshes in that file.  Use the new names.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Matthew Wheeler, Thu Feb 06 12:00:00 GMT 2014
+#    Added two new AWE mesh quality tests
+#
+#    Alister Maguire, Wed Apr 21 13:26:01 PDT 2021
+#    Added TestSideVolume.
+#
+# ----------------------------------------------------------------------------
+
+
+def TestSideVolume():
+    #
+    # This ensures that a bug fix is still working well.
+    #
+    TestSection("Side Volume")
+
+    OpenDatabase(silo_data_path("wave.visit"))
+
+    AddPlot("Pseudocolor", "mesh_quality/min_side_volume")
+    DrawPlots()
+
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (0.3, 0.8, 0.6)
+    SetView3D(v)
+    SetTimeSliderState(10)
+
+    Test("min_side_volume_00")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "mesh_quality/max_side_volume")
+    DrawPlots()
+
+    Test("max_side_volume_00")
+    DeleteAllPlots()
+
+    CloseDatabase(silo_data_path("wave.visit"))
+
+
+OpenDatabase(silo_data_path("ucd3d.silo"))
+
+AddPlot("Pseudocolor", "mesh_quality/ucdmesh3d/volume")
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (-0.178, -0.29, 0.94)
+v.focus = (0, 2.5, 10)
+v.viewUp = (-0.11, 0.95, 0.26)
+v.parallelScale = 11.45
+v.nearPlane = -22.9
+v.farPlane = 22.9
+v.imageZoom = 1.46
+SetView3D(v)
+
+Test("mesh_quality_01")
+
+DeleteAllPlots()
+AddPlot("Pseudocolor", "mesh_quality/ucdmesh3d/skew")
+DrawPlots()
+
+Test("mesh_quality_02")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("tire.silo"))
+
+AddPlot("Pseudocolor", "mesh_quality/aspect")
+DrawPlots()
+v = View3DAttributes()
+v.viewNormal = (-0.128, 0.26, 0.958)
+v.focus = (0, 0, 0)
+v.viewUp = (0.31, 0.92, -0.21)
+v.parallelScale = 83
+v.nearPlane = -165
+v.farPlane = 165
+SetView3D(v)
+
+pc = PseudocolorAttributes()
+pc.minFlag = 1
+pc.maxFlag = 1
+pc.min=11
+pc.max=22
+SetPlotOptions(pc)
+
+Test("mesh_quality_03")
+
+pc.minFlag=0
+pc.maxFlag=0
+SetPlotOptions(pc)
+Test("mesh_quality_04")
+
+AddOperator("Threshold")
+thres = ThresholdAttributes()
+thres.lowerBounds = (0.5)
+thres.upperBounds = (0.55)
+thres.listedVarNames = ("mesh_quality/skew")
+SetOperatorOptions(thres)
+DrawPlots()
+Test("mesh_quality_05")
+
+
+
+DeleteAllPlots()
+
+CloseDatabase(silo_data_path("ucd3d.silo"))
+CloseDatabase(silo_data_path("tire.silo"))
+
+# Add AWE Mesh-Quality tests
+
+OpenDatabase(silo_data_path("specmix_ucd.silo"))
+
+AddPlot("Mesh", "Mesh")
+AddPlot("Pseudocolor", "mesh_quality/Mesh/min_corner_area")
+pc = PseudocolorAttributes()
+pc.invertColorTable = 1
+SetPlotOptions(pc)
+DrawPlots()
+Test("mesh_quality_06")
+
+DeleteAllPlots()
+
+AddPlot("Mesh", "Mesh")
+AddPlot("Pseudocolor", "mesh_quality/Mesh/min_sin_corner")
+pc = PseudocolorAttributes()
+pc.invertColorTable = 1
+SetPlotOptions(pc)
+DrawPlots()
+Test("mesh_quality_07")
+
+DeleteAllPlots()
+
+CloseDatabase(silo_data_path("specmix_ucd.silo"))
+
+TestSideVolume()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir.html new file mode 100644 index 000000000..cace70ee2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir.html @@ -0,0 +1,168 @@ + +Results for hybrid/mir.py + +

Results of VisIt Regression Test - hybrid/mir

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Curvilinear, 2D
mir_curv2d_equi_t0.000.00
mir_curv2d_equi_z0.000.00
mir_curv2d_equi_z_i50.000.00
mir_curv2d_plic0.000.00
mir_curv2d_isovol0.000.00
Unstructured, 2D
mir_ucd2d_equi_t0.000.00
mir_ucd2d_equi_z0.000.00
mir_ucd2d_equi_z_i50.000.00
mir_ucd2d_plic0.000.00
mir_ucd2d_isovol0.000.00
Rectilinear, 2D
mir_rect2d_equi_t0.000.00
mir_rect2d_equi_z0.000.00
mir_rect2d_equi_z_i50.000.00
mir_rect2d_plic0.000.00
mir_rect2d_isovol0.000.00
Rectilinear, 3D
mir_rect3d_equi_t0.000.00
mir_rect3d_equi_z0.000.00
mir_rect3d_equi_z_i50.000.00
mir_rect3d_plic0.000.00
mir_rect3d_isovol0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_cache.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_cache.html new file mode 100644 index 000000000..fbb571ecf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_cache.html @@ -0,0 +1,48 @@ + +Results for hybrid/mir_cache.py + +

Results of VisIt Regression Test - hybrid/mir_cache

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
mir_cache10.000.00
mir_cache20.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_cache_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_cache_py.html new file mode 100644 index 000000000..541fe9e44 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_cache_py.html @@ -0,0 +1,65 @@ +hybrid/mir_cache.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  mir_cache.py
+#
+#  Tests:      mesh      - 3D curvilinear,multi-domain,ghost zones replicated.
+#              plots     - volume, PC
+#
+#  Defect ID:  '3542
+#
+#  Programmer: Hank Childs
+#  Date:       July 22, 2003
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+view = View3DAttributes()
+view.viewNormal = (0.557976, 0.651128, 0.514485)
+view.focus = (0.5, 0.5, 0.5)
+view.viewUp = (-0.0955897, 0.666272, -0.739557)
+view.viewAngle = 30
+view.parallelScale = 0.866025
+view.nearPlane = -1.73205
+view.farPlane = 1.73205
+view.perspective = 1
+SetView3D(view)
+
+#
+# The volume plot does not need ghost zones, so this will create one
+# set of MIRs.
+#
+OpenDatabase(silo_data_path("bigsil.silo"))
+
+AddPlot("Volume", "dist")
+sil = SILRestriction()
+sets = sil.SetsInCategory("mat")
+sil.TurnOffAll()
+sil.TurnOnSet(sets[0])
+SetPlotSILRestriction(sil)
+DrawPlots()
+
+DeleteAllPlots()
+
+#
+# The PC plot will need ghost zones.  If it does not create a new set of MIRs,
+# we will get garbled data.
+#
+AddPlot("Pseudocolor", "dist")
+DrawPlots()
+
+Test("mir_cache1")
+
+#
+# Make extra sure that there aren't garbled zones in the interior.
+#
+view.nearPlane = -0.3
+SetView3D(view)
+Test("mir_cache2")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_py.html new file mode 100644 index 000000000..62a8a3c63 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_mir_py.html @@ -0,0 +1,73 @@ +hybrid/mir.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  mir.py
+#
+#  Tests:      mesh      - 2D, 3D, structured, unstructured, single domain
+#              plots     - FilledBoundary
+#
+#  Programmer: Jeremy Meredith
+#  Date:       March 24, 2010
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def TestOneMode(file, mat, name):
+    SetMaterialAttributes(mat)
+    ReOpenDatabase(file)
+    Test(name)
+
+
+def TestOneFile(isRectilinear, file, matname, prefix):
+    OpenDatabase(file)
+
+    AddPlot("FilledBoundary", matname)
+    DrawPlots()
+
+    v3 = GetView3D()
+    v3.viewNormal = (0.3, 0.4, 0.8)
+    SetView3D(v3)
+
+    m = MaterialAttributes()
+
+    m.algorithm = m.EquiT
+    TestOneMode(file, m, prefix + "_equi_t")
+
+    m.algorithm = m.EquiZ
+    m.iterationEnabled = False
+    TestOneMode(file, m, prefix + "_equi_z")
+
+    m.algorithm = m.EquiZ
+    m.iterationEnabled = True
+    m.numIterations = 5
+    m.iterationDamping = 0.4
+    TestOneMode(file, m, prefix + "_equi_z_i5")
+    m.iterationEnabled = False
+
+    m.algorithm = m.PLIC
+    TestOneMode(file, m, prefix + "_plic")
+
+    m.algorithm = m.Isovolume
+    TestOneMode(file, m, prefix + "_isovol")
+
+    # Discrete currently only works on rectilinear
+    if isRectilinear:
+        m.algorithm = m.Discrete
+        # Discrete is stochastic, we can't test it reliably
+        #TestOneMode(file, m, prefix + "_discrete")
+
+    DeleteAllPlots()
+    CloseDatabase(file)
+
+TestSection("Curvilinear, 2D")
+TestOneFile(False,silo_data_path("specmix_quad.silo") , "Material", "mir_curv2d")
+TestSection("Unstructured, 2D")
+TestOneFile(False,silo_data_path("specmix_ucd.silo") , "Material", "mir_ucd2d")
+TestSection("Rectilinear, 2D")
+TestOneFile(True,silo_data_path("rect2d.silo") , "mat1", "mir_rect2d")
+TestSection("Rectilinear, 3D")
+TestOneFile(True,silo_data_path("rect3d.silo") , "mat1", "mir_rect3d")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_missingdata.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_missingdata.html new file mode 100644 index 000000000..ae4fadfcb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_missingdata.html @@ -0,0 +1,88 @@ + +Results for hybrid/missingdata.py + +

Results of VisIt Regression Test - hybrid/missingdata

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Missing data
missingdata_0_000.000.00
missingdata_0_010.000.00
missingdata_0_020.000.00
missingdata_0_030.000.00
missingdata_0_041 modifications totalling 8 lines
Expressions and missing data
missingdata_1_000.000.00
missingdata_1_010.000.00
missingdata_1_020.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_missingdata_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_missingdata_py.html new file mode 100644 index 000000000..79decdebb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_missingdata_py.html @@ -0,0 +1,72 @@ +hybrid/missingdata.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  missingdata.py
+#
+#  Tests:      missing data
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Jan 19 09:49:15 PST 2012
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def SetTheView():
+    v = GetView2D()
+    v.viewportCoords = (0.02, 0.98, 0.25, 1)
+    SetView2D(v)
+
+def test0(datapath):
+    TestSection("Missing data")
+    OpenDatabase(pjoin(datapath,"earth.nc"))
+    AddPlot("Pseudocolor", "height")
+    DrawPlots()
+    SetTheView()
+    Test("missingdata_0_00")
+    ChangeActivePlotsVar("carbon_particulates")
+    Test("missingdata_0_01")
+    ChangeActivePlotsVar("seatemp")
+    Test("missingdata_0_02")
+    ChangeActivePlotsVar("population")
+    Test("missingdata_0_03")
+
+    # Pick on higher zone numbers to make sure pick works.
+    PickByNode(domain=0, element=833621)
+    TestText("missingdata_0_04", GetPickOutput())
+
+    DeleteAllPlots()
+
+def test1(datapath):
+    TestSection("Expressions and missing data")
+    OpenDatabase(pjoin(datapath,"earth.nc"))
+    DefineScalarExpression("meaningless", "carbon_particulates + seatemp")
+    AddPlot("Pseudocolor", "meaningless")
+    DrawPlots()
+    SetTheView()
+    Test("missingdata_1_00")
+    DeleteAllPlots()
+
+    DefineVectorExpression("color", "color(red,green,blue)")
+    AddPlot("Truecolor", "color")
+    DrawPlots()
+    ResetView()
+    SetTheView()
+    Test("missingdata_1_01")
+
+    DefineVectorExpression("color2", "color(population*0.364,green,blue)")
+    ChangeActivePlotsVar("color2")
+    v1 = GetView2D()
+    v1.viewportCoords = (0.02, 0.98, 0.02, 0.98)
+    v1.windowCoords = (259.439, 513.299, 288.93, 540) #25.466)
+    SetView2D(v1)
+    Test("missingdata_1_02")
+
+def main():
+    datapath = data_path("netcdf_test_data")
+    test0(datapath)
+    test1(datapath)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_multivar.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_multivar.html new file mode 100644 index 000000000..5bd84c83f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_multivar.html @@ -0,0 +1,60 @@ + +Results for hybrid/multivar.py + +

Results of VisIt Regression Test - hybrid/multivar

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
multivar_010.000.00
multivar_020.000.00
multivar_030.000.00
multivar_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_multivar_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_multivar_py.html new file mode 100644 index 000000000..6f9c8dd21 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_multivar_py.html @@ -0,0 +1,108 @@ +hybrid/multivar.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  multivar.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - pc, vector, filledboundary 
+#              operators - isosurface
+#
+#  Defect ID:  '7843
+#
+#  Programmer: Hank Childs
+#  Date:       April 24, 2002
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
+#    Changed the variable format for SubsetPlots, to reflect new interface
+#    which allows subsets of groups.
+#
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from subset plots.
+#
+#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
+#    Set the vector origin explicitly for some cases because I changed the
+#    default to Tail.
+#
+#    Hank Childs, Tue Mar 13 09:42:24 PDT 2007
+#    Add new test for mixed centering multiple variables and expressions.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+
+# Set up the isosurface operators attributes
+
+atts = IsosurfaceAttributes()
+atts.contourMethod = atts.Value
+atts.contourValue = 500
+atts.variable = "t"
+SetDefaultOperatorOptions(atts)
+
+
+# Test the PC plot with the isosurface operator.
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isosurface")
+DrawPlots()
+
+v = GetView3D()
+v.SetViewNormal(-0.528889, 0.367702, 0.7649)
+v.SetViewUp(0.176641, 0.929226, -0.324558)
+v.SetParallelScale(17.3205)
+v.SetPerspective(1)
+SetView3D(v)
+
+Test("multivar_01")
+DeleteAllPlots()
+
+
+# Test the subset plot with the isosurface operator.
+
+AddPlot("FilledBoundary", "mat1")
+AddOperator("Isosurface")
+DrawPlots()
+Test("multivar_02")
+DeleteAllPlots()
+
+
+# Test the subset plot with the isosurface operator.
+
+AddPlot("Vector", "vel")
+vec=VectorAttributes()
+vec.useStride = 1
+vec.stride = 1
+vec.vectorOrigin = vec.Middle
+SetPlotOptions(vec)
+AddOperator("Isosurface")
+DrawPlots()
+Test("multivar_03")
+DeleteAllPlots()
+
+# Test multiple variables with different centerings with expressions ('7843)
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+DefineScalarExpression("x", "coord(curvmesh3d)[0]")
+DefineScalarExpression("y", "coord(curvmesh3d)[1]")
+DefineScalarExpression("z", "coord(curvmesh3d)[2]")
+DefineScalarExpression("myvar", "if(and(lt(x,0),gt(z,0)), abs(x*z), -abs(x*z))")
+AddPlot("Pseudocolor", "myvar")
+AddOperator("Isosurface")
+atts.variable = "d"
+atts.contourValue = 3
+SetOperatorOptions(atts)
+DrawPlots()
+Test("multivar_04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_pos_cmfe.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_pos_cmfe.html new file mode 100644 index 000000000..cb0104948 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_pos_cmfe.html @@ -0,0 +1,108 @@ + +Results for hybrid/pos_cmfe.py + +

Results of VisIt Regression Test - hybrid/pos_cmfe

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
pos_cmfe_010.000.00
pos_cmfe_020.000.00
pos_cmfe_030.000.00
pos_cmfe_040.000.00
pos_cmfe_050 modifications totalling 0 lines
pos_cmfe_060 modifications totalling 0 lines
pos_cmfe_070 modifications totalling 0 lines
pos_cmfe_080 modifications totalling 0 lines
pos_cmfe_090 modifications totalling 0 lines
pos_cmfe_100 modifications totalling 0 lines
pos_cmfe_110.000.00
pos_cmfe_120.000.00
pos_cmfe_130.000.00
pos_cmfe_140.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_pos_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_pos_cmfe_py.html new file mode 100644 index 000000000..96924a05c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_pos_cmfe_py.html @@ -0,0 +1,149 @@ +hybrid/pos_cmfe.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  pos_cmfe.py
+#
+#  Defect ID:  '5528, '5677
+#
+#  Programmer: Hank Childs
+#  Date:       January 9, 2006
+#
+#  Modifications:
+#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
+#    Changed number of vectors in vector plot to match the old behavior.
+#    (We now account for how many domains there are.)
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+
+
+
+
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+
+
+# Test general capability.
+DefineScalarExpression("cmfe", "pos_cmfe(<%s:d>, curvmesh2d, -1.)" % cmfe_silo_data_path("ucd2d.silo"))
+AddPlot("Pseudocolor", "cmfe")
+DrawPlots()
+Test("pos_cmfe_01")
+
+# Zonal vars
+DefineScalarExpression("cmfeZ", "pos_cmfe(<%s:p>, curvmesh2d, -1.)" %  cmfe_silo_data_path("ucd2d.silo"))
+DeleteAllPlots()
+AddPlot("Pseudocolor", "cmfeZ")
+DrawPlots()
+Test("pos_cmfe_02")
+
+# Test using the expression as a secondary variable.
+ChangeActivePlotsVar("d")
+AddOperator("Threshold")
+t = ThresholdAttributes()
+t.lowerBounds = (0.1)
+t.listedVarNames = ("cmfe")
+SetOperatorOptions(t)
+DrawPlots()
+Test("pos_cmfe_03")
+
+# Test using cmfe in another expression.
+DefineVectorExpression("disp", "{0, 3*cmfe}")
+RemoveLastOperator()
+d = DisplaceAttributes()
+d.variable = "disp"
+SetDefaultOperatorOptions(d)
+AddOperator("Displace")
+DrawPlots()
+Test("pos_cmfe_04")
+
+RemoveLastOperator()
+ChangeActivePlotsVar("cmfe")
+DrawPlots()
+
+Query("MinMax")
+t = GetQueryOutputString()
+TestText("pos_cmfe_05", t)
+
+# Now test error conditions.
+DefineScalarExpression("cmfe2", "pos_cmfe(pressure, quadmesh)")
+ChangeActivePlotsVar("cmfe2")
+DrawPlots()
+t = GetLastError()
+TestText("pos_cmfe_06", t)
+
+DefineScalarExpression("cmfe3", "pos_cmfe(<bad_file.silo:a_var>, curvmesh2d, 0.)")
+ChangeActivePlotsVar("cmfe3")
+DrawPlots()
+t = GetLastError()
+TestText("pos_cmfe_07", t)
+
+DefineScalarExpression("cmfe4", "pos_cmfe(<%s:pressure>, curvmesh2d)" %  cmfe_silo_data_path("wave0100.silo"))
+ChangeActivePlotsVar("cmfe4")
+DrawPlots()
+t = GetLastError()
+TestText("pos_cmfe_08", t)
+
+DefineScalarExpression("cmfe5", "pos_cmfe(<%s:pressure>)" % cmfe_silo_data_path("wave0100.silo"))
+ChangeActivePlotsVar("cmfe5")
+DrawPlots()
+t = GetLastError()
+TestText("pos_cmfe_09", t)
+
+# Invalid variable in new database.
+DefineScalarExpression("cmfe6", "pos_cmfe(<%s:xyz>, curvmesh2d, 0.)" % cmfe_silo_data_path("ucd2d.silo"))
+ChangeActivePlotsVar("cmfe6")
+DrawPlots()
+t = GetLastError()
+TestText("pos_cmfe_10", t)
+
+# Enough error checking, let's do some more testing when it works.
+
+# 3D, multi-block to multi-block.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+DefineScalarExpression("cmfe7", "pos_cmfe(<%s:d>, mesh1, 0.)" %  cmfe_silo_data_path("multi_curv3d.silo"))
+AddPlot("Pseudocolor", "cmfe7")
+DrawPlots()
+Test("pos_cmfe_11")
+
+DeleteAllPlots()
+
+# multi-block to single-block.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+DefineScalarExpression("cmfe8", "pos_cmfe(<%s:d>, curvmesh3d, 0.)" %  cmfe_silo_data_path("multi_curv3d.silo"))
+AddPlot("Pseudocolor", "cmfe8")
+DrawPlots()
+Test("pos_cmfe_12")
+
+# single-block to multi-block.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("multi_curv3d.silo"))
+
+DefineScalarExpression("cmfe9", "pos_cmfe(<%s:d>, mesh1, 0.)" % cmfe_silo_data_path("curv3d.silo"))
+AddPlot("Pseudocolor", "cmfe9")
+DrawPlots()
+Test("pos_cmfe_13")
+
+# single-block to multi-block -- vector
+DeleteAllPlots()
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+DefineVectorExpression("cmfe10", "pos_cmfe(gradient(<%s:d>), mesh1, {0,0,0})"% cmfe_silo_data_path("curv3d.silo"))
+AddPlot("Vector", "cmfe10")
+vec = VectorAttributes()
+vec.nVectors = 400*36
+SetPlotOptions(vec)
+DrawPlots()
+Test("pos_cmfe_14")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_py_exprs.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_py_exprs.html new file mode 100644 index 000000000..cf9025c7a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_py_exprs.html @@ -0,0 +1,78 @@ + +Results for hybrid/py_exprs.py + +

Results of VisIt Regression Test - hybrid/py_exprs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
py_exprs_000.000.00
py_exprs_010.000.00
py_exprs_020.000.00
py_exprs_030.000.00
py_exprs_040.000.00
py_exprs_050.000.00
py_exprs_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_py_exprs_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_py_exprs_py.html new file mode 100644 index 000000000..3f5bc005e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_py_exprs_py.html @@ -0,0 +1,106 @@ +hybrid/py_exprs.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  py_exprs.py
+#
+#  Tests:      python filters / python expressions
+#              plots     - Pseudocolor
+#
+#
+#  Programmer: Cyrus Harrison
+#  Date:       Fri May 21 09:14:07 PDT 2010
+#
+#  Modifications:
+#
+#  Eddie Rusu - Tue Jul 30 13:22:17 PDT 2019
+#  Added testing for python expressions with numpy mixed with simple
+#  expressions.
+#
+#  Kathleen Biagas Fri Mar 12, 2021
+#  Rename xx_simple_xx.py expression scripts to prevent them being run when
+#  passing file globs to test suite (eg tests/hybrid/*.py) 
+#
+# ----------------------------------------------------------------------------
+
+import os
+from os.path import join as pjoin
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+
+script_file = pjoin(os.path.split(TestScriptPath())[0],"py_expr_script_00.vpe")
+
+DefinePythonExpression("d_wave",("d"),file=script_file)
+AddPlot("Pseudocolor", "d_wave")
+AddOperator("Elevate")
+v = View3DAttributes()
+v.viewNormal = (0.724969, -0.544156, 0.422273)
+v.focus = (0.5, 0.666667, 0.526085)
+v.viewUp = (-0.377473, 0.198927, 0.904401)
+v.viewAngle = 30
+v.parallelScale = 0.981769
+v.nearPlane = -1.96354
+v.farPlane = 1.96354
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0.5, 0.666667, 0.526085)
+SetView3D(v)
+DrawPlots()
+Test("py_exprs_00")
+DeleteAllPlots()
+
+
+# Test simple expressions mixed with python expressions using numpy
+OpenDatabase(silo_data_path("multi_rect2d.silo"))
+
+script_file = pjoin(os.path.split(TestScriptPath())[0],"simple_numpy_expr.vpe")
+DefinePythonExpression("python_multiply", ['d','p'], file=script_file)
+AddPlot("Pseudocolor", "python_multiply", 1, 1)
+DrawPlots()
+Test("py_exprs_01")
+DeleteAllPlots()
+
+script_file = pjoin(os.path.split(TestScriptPath())[0],"python_simple_mix_01.vpe")
+DefineScalarExpression("my_expr", "d*p")
+DefinePythonExpression("python_with_simple", ['d','p', 'my_expr'], file=script_file)
+AddPlot("Pseudocolor", "python_with_simple", 1, 1)
+DrawPlots()
+Test("py_exprs_02")
+DeleteAllPlots()
+
+script_file = pjoin(os.path.split(TestScriptPath())[0],"python_simple_mix_02.vpe")
+DefinePythonExpression("python_with_python", ['d','p', 'python_multiply'], file=script_file)
+AddPlot("Pseudocolor", "python_with_python", 1, 1)
+DrawPlots()
+Test("py_exprs_03")
+DeleteAllPlots()
+
+DefineScalarExpression("simple_with_python", "python_multiply-p+d+p*p")
+AddPlot("Pseudocolor", "simple_with_python", 1, 1)
+DrawPlots()
+Test("py_exprs_04")
+DeleteAllPlots()
+
+CloseDatabase(silo_data_path("multi_rect2d.silo"))
+
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+script_file = pjoin(os.path.split(TestScriptPath())[0],"python_example_1.vpe")
+DefinePythonExpression("MyExpression", ['d', 'p'], file=script_file)
+AddPlot("Pseudocolor", "MyExpression")
+DrawPlots()
+Test("py_exprs_05")
+DeleteAllPlots()
+
+script_file = pjoin(os.path.split(TestScriptPath())[0],"python_example_2.vpe")
+DefinePythonExpression("MyExpression", ("d"), file=script_file)
+AddPlot("Pseudocolor", "MyExpression")
+DrawPlots()
+Test("py_exprs_06")
+DeleteAllPlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_qcrit.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_qcrit.html new file mode 100644 index 000000000..79db522c7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_qcrit.html @@ -0,0 +1,54 @@ + +Results for hybrid/qcrit.py + +

Results of VisIt Regression Test - hybrid/qcrit

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
iso_qcrit0.000.00
contour_qcrit0.000.00
pseudo_qcrit0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_qcrit_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_qcrit_py.html new file mode 100644 index 000000000..a62cf897c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_qcrit_py.html @@ -0,0 +1,54 @@ +hybrid/qcrit.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  qcrit.py
+#
+#  Tests:#     plots   - pseudocolor, contour
+#  Defect ID:  1829
+#
+#  Programmer: Kevin Griffin
+#  Date:       Thu Jul 31 14:21:02 PDT 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+ds = data_path("miranda_test_data/TG_vortex/plot.raw")
+#ds = "/g/g14/kgriffin/trunk/build_debug/data/miranda_test_data/TG_vortex/plot.raw"
+OpenDatabase(ds)
+DefineScalarExpression("qcrit", "q_criterion(gradient(velocity[0]), gradient(velocity[1]), gradient(velocity[2]))")
+TimeSliderNextState()
+TimeSliderNextState()
+
+#
+# Test 1
+#
+AddPlot("Pseudocolor", "qcrit")
+AddOperator("Isovolume")
+IsovolumeAtts = IsovolumeAttributes()
+IsovolumeAtts.lbound = 0.2
+IsovolumeAtts.ubound = 5.0
+IsovolumeAtts.variable = "default"
+SetOperatorOptions(IsovolumeAtts)
+
+DrawPlots()
+Test("iso_qcrit")
+DeleteAllPlots()
+
+#
+# Test 2
+#
+AddPlot("Contour", "qcrit")
+DrawPlots()
+Test("contour_qcrit")
+DeleteAllPlots()
+
+#
+# Test 3
+#
+AddPlot("Pseudocolor", "qcrit")
+DrawPlots()
+Test("pseudo_qcrit")
+DeleteAllPlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_replace.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_replace.html new file mode 100644 index 000000000..580e49da7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_replace.html @@ -0,0 +1,72 @@ + +Results for hybrid/replace.py + +

Results of VisIt Regression Test - hybrid/replace

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
AllMaterials0.000.00
Material2Off0.000.00
Replace10.000.00
Replace20.000.00
Replace30.000.00
Replace40.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_replace_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_replace_py.html new file mode 100644 index 000000000..aac545bb6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_replace_py.html @@ -0,0 +1,97 @@ +hybrid/replace.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  replace.py
+#
+#  Tests:      the ReplaceDatabase function.
+#
+#  Defect ID:  VisIt00003002
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Jan 22 11:06:49 PDT 2003
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from subset plots.
+# 
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+# Turn off annotation
+a = AnnotationAttributes()
+TurnOffAllAnnotations(a)
+a.axes2D.visible = 1
+a.axes2D.xAxis.label.visible = 0
+a.axes2D.yAxis.label.visible = 0
+a.axes2D.xAxis.title.visible = 0
+a.axes2D.yAxis.title.visible = 0
+SetAnnotationAttributes(a)
+
+# Set up the plots.
+OpenDatabase(silo_data_path("wave0110.silo"))
+
+AddPlot("FilledBoundary", "Material")
+DrawPlots()
+v = View3DAttributes()
+v.viewNormal = (-0.427729, 0.776091, 0.463391)
+v.focus = (4.37669, 0.376992, 2.57924)
+v.viewUp = (0.67875, 0.614328, -0.402368)
+v.viewAngle = 30.
+v.parallelScale = 5.03337
+v.nearPlane = -11.2758
+v.farPlane = 11.2758
+v.perspective = 1
+SetView3D(v)
+
+# Show what it looks like with all materials
+Test("AllMaterials")
+# Turn off the green material
+TurnMaterialsOff("2 water")
+Test("Material2Off")
+
+# Try replacing with a later time step and see if the SIL selection
+# still is applied. It should be still applied since the files have
+# equivalent SILs.
+ReplaceDatabase(silo_data_path("wave0340.silo"))
+
+Test("Replace1")
+
+# Make different materials active and replace again.
+TurnMaterialsOn()
+TurnMaterialsOff("1 barrier")
+ReplaceDatabase(silo_data_path("wave0470.silo"))
+
+Test("Replace2")
+
+# Open one of our simple databases, do a plot and then replace it with
+# an unrelated database.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+ReplaceDatabase(silo_data_path("curv3d.silo"))
+
+v2 = View3DAttributes()
+v2.viewNormal = (-0.499092, 0.420388, 0.757747)
+v2.focus = (0,2.5,15)
+v2.viewUp = (0.195607, 0.906528, -0.374093)
+v2.viewAngle = 30.
+v2.parallelScale = 16.0078
+v2.nearPlane = -32.0156
+v2.farPlane = 32.0156
+v2.perspective = 1
+SetView3D(v2)
+Test("Replace3")
+
+# Replace it with a 2d database.
+ReplaceDatabase(silo_data_path("curv2d.silo"))
+
+Test("Replace4")
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_sil.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_sil.html new file mode 100644 index 000000000..a016a256b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_sil.html @@ -0,0 +1,70 @@ + +Results for hybrid/sil.py + +

Results of VisIt Regression Test - hybrid/sil

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
sil10.000.00
sil20.000.00
sil30.000.00
sil40.000.00
sil50.000.00
sil60 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_sil_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_sil_py.html new file mode 100644 index 000000000..adc17f5fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_sil_py.html @@ -0,0 +1,87 @@ +hybrid/sil.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  sil.py
+#
+#  Tests:      mesh      - 3D curvilinear,multi-domain,ghost zones replicated.
+#              plots     - mat subset, domain subset
+#
+#  Defect ID:  none
+#
+#  Programmer: Hank Childs
+#  Date:       December 5, 2002
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from subset plots.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Hank Childs, Fri Feb 24 15:45:41 PST 2012
+#    Add test for preserving SILs across time slice changes.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+view = View3DAttributes()
+view.viewNormal = (0.557976, 0.651128, 0.514485)
+view.focus = (0.5, 0.5, 0.5)
+view.viewUp = (-0.0955897, 0.666272, -0.739557)
+view.viewAngle = 30
+view.parallelScale = 0.866025
+view.nearPlane = -1.73205
+view.farPlane = 1.73205
+view.perspective = 1
+SetView3D(view)
+
+OpenDatabase(silo_data_path("bigsil.silo"))
+
+AddPlot("FilledBoundary", "mat")
+DrawPlots()
+
+# Test the normal material plot.
+Test("sil1")
+
+# Make sure that the ghost zones were generated correctly.
+view.nearPlane = -0.3
+SetView3D(view)
+Test("sil2")
+
+view.nearPlane = -1.73205
+SetView3D(view)
+
+TurnMaterialsOff("1")
+Test("sil3")
+
+TurnMaterialsOff()
+TurnMaterialsOn("1")
+Test("sil4")
+
+DeleteAllPlots()
+
+# Test that the SIL from the previous plot is preserved.
+AddPlot("Subset", "domains")
+DrawPlots()
+Test("sil5")
+
+OpenDatabase(data_path("Chombo_test_data/chombo.visit"))
+
+AddPlot("Pseudocolor", "Density")
+s = SILRestriction()
+s.TurnOffSet(s.SetsInCategory("materials")[1])
+SetPlotSILRestriction(s)
+DrawPlots()
+TimeSliderSetState(4)
+s = SILRestriction()
+if (s.UsesData(s.SetsInCategory("materials")[1])):
+   text="Material 1 got turned back on!  (incorrect)\n"
+else:
+   text="Material 1 was correctly left off.\n"
+
+TestText("sil6", text)
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_simplify_mixed.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_simplify_mixed.html new file mode 100644 index 000000000..4bb999562 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_simplify_mixed.html @@ -0,0 +1,72 @@ + +Results for hybrid/simplify_mixed.py + +

Results of VisIt Regression Test - hybrid/simplify_mixed

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
simplify_mixed010.000.00
simplify_mixed020.000.00
simplify_mixed030.000.00
simplify_mixed040.000.00
simplify_mixed050.000.00
simplify_mixed060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_simplify_mixed_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_simplify_mixed_py.html new file mode 100644 index 000000000..11bdd4817 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_simplify_mixed_py.html @@ -0,0 +1,90 @@ +hybrid/simplify_mixed.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  simplify_mixed.py
+#
+#  Tests:      plots     - filled boundary
+#
+#  Defect ID:  '4363, '6464, '6504, '8082
+#
+#  Programmer: Hank Childs
+#  Date:       August 19, 2005
+#
+#  Modifications:
+# 
+#    Hank Childs, Fri Sep 28 12:48:54 PDT 2007
+#    Add testing for mixvars with simplify heavily mixed ['8082].
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
+#    Changed Pseudocolor CurrentPlot to ActualData.
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
+
+
+AddPlot("FilledBoundary", "materials")
+DrawPlots()
+
+v = GetView2D()
+v.windowCoords = (0.0084, 0.0215, 0.0920, 0.1034)
+v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+SetView2D(v)
+
+Test("simplify_mixed01")
+
+m = MaterialAttributes()
+m.simplifyHeavilyMixedZones = 1
+m.maxMaterialsPerZone = 2
+SetMaterialAttributes(m)
+
+AddPlot("Boundary", "materials")
+b = BoundaryAttributes()
+b.colorType = b.ColorBySingleColor
+SetPlotOptions(b)
+
+DrawPlots()
+
+Test("simplify_mixed02")
+
+DeleteAllPlots()
+m.maxMaterialsPerZone = 1
+SetMaterialAttributes(m)
+
+AddPlot("FilledBoundary", "materials")
+DrawPlots()
+
+Test("simplify_mixed03")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("thinplane.silo"))
+
+
+m.forceMIR = 1
+SetMaterialAttributes(m)
+AddPlot("Pseudocolor", "den")
+p = PseudocolorAttributes()
+p.limitsMode = p.ActualData
+SetPlotOptions(p)
+DrawPlots()
+Test("simplify_mixed04")
+
+m.maxMaterialsPerZone = 2
+SetMaterialAttributes(m)
+ReOpenDatabase(silo_data_path("thinplane.silo"))
+
+Test("simplify_mixed05")
+
+m.maxMaterialsPerZone = 3
+SetMaterialAttributes(m)
+ReOpenDatabase(silo_data_path("thinplane.silo"))
+
+Test("simplify_mixed06")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_specmf.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_specmf.html new file mode 100644 index 000000000..dbf1077cf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_specmf.html @@ -0,0 +1,48 @@ + +Results for hybrid/specmf.py + +

Results of VisIt Regression Test - hybrid/specmf

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
specmf_00.000.00
specmf_10.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_specmf_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_specmf_py.html new file mode 100644 index 000000000..f5e3964fb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_specmf_py.html @@ -0,0 +1,42 @@ +hybrid/specmf.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  val4mat.py
+#
+#  Tests:      mesh      - 2d structured
+#              plots     - pc
+#
+#  Notes
+#
+#  Programmer: Cyrus Harrison
+#  Date:       Tuesday 12, 2008
+#
+#  Modifiations:
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("specmix_quad.silo"))
+
+atts = PseudocolorAttributes()
+atts.minFlag = 1
+atts.min = 0.0
+atts.maxFlag = 1
+atts.max = 1.0
+SetDefaultPlotOptions(atts)
+
+# view the per material values for each of the 3 materials
+
+DefineScalarExpression("spec_mix", "specmf(Species,1,1)")
+AddPlot("Pseudocolor", "spec_mix")
+DrawPlots()
+Test("specmf_0")
+
+OpenDatabase(silo_data_path("specmix_double_quad.silo"))
+
+AddPlot("Pseudocolor", "spec_mix")
+DrawPlots()
+Test("specmf_1")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_symm.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_symm.html new file mode 100644 index 000000000..6443ac6ae --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_symm.html @@ -0,0 +1,100 @@ + +Results for hybrid/symm.py + +

Results of VisIt Regression Test - hybrid/symm

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
symm_010 modifications totalling 0 lines
symm_020.000.00
symm_030.000.00
symm_040.000.00
symm_050.000.00
symm_060.000.00
symm_070.000.00
symm_080.000.00
symm_090.000.00
symm_100.000.00
symm_110.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_symm_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_symm_py.html new file mode 100644 index 000000000..19de4c689 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_symm_py.html @@ -0,0 +1,114 @@ +hybrid/symm.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  symm.py
+#
+#  Defect ID:  '6913, '7644, '7650
+#
+#  Programmer: Hank Childs
+#  Date:       January 23, 2006
+#
+#  Modifications:
+#
+#    Hank Childs, Fri Dec 22 11:01:09 PST 2006
+#    Add testing for symm_point
+#
+#    Hank Childs, Fri Jan  5 11:14:59 PST 2007
+#    Add testing for non-rectilinear mesh types, since they use a different
+#    code path (which broke).
+#
+#    Hank Childs, Mon Jan  8 11:04:50 PST 2007
+#    Add testing for non-scalar variable types with symmetry CMFE expressions.
+#
+#    Brad Whitlock, Thu May 10 09:06:46 PDT 2007
+#    Changed the name of an expression.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+
+
+# Test errors.
+DefineScalarExpression("sp1", "symm_plane(d, [0, 0, 0, 1, 0, 0])")
+AddPlot("Pseudocolor", "sp1")
+DrawPlots()
+t = GetLastError()
+TestText("symm_01", t)
+
+# Now test it working...
+DeleteAllPlots()
+DefineScalarExpression("sp2", "symm_plane(d, [1, 0, 0, 0.3, 0, 0])")
+AddPlot("Pseudocolor", "sp2")
+DrawPlots()
+Test("symm_02")
+
+DeleteAllPlots()
+DefineScalarExpression("sp3", "symm_plane(d, [1, -1, 0, 0.1, 0, 0])")
+AddPlot("Pseudocolor", "sp3")
+DrawPlots()
+Test("symm_03")
+
+DeleteAllPlots()
+DefineScalarExpression("sp4", "symm_plane(d, [2, -1, 0, 0.1, 0, 0])")
+AddPlot("Pseudocolor", "sp4")
+DrawPlots()
+Test("symm_04")
+
+DeleteAllPlots()
+DefineScalarExpression("st1", "symm_transform(d, [0,1,0,1,0,0,0,0,0])")
+AddPlot("Pseudocolor", "st1")
+DrawPlots()
+Test("symm_05")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("noise.silo"))
+
+DefineScalarExpression("sp5", "symm_plane(hardyglobal, [1, 0, 0, 0, 0, 0])")
+AddPlot("Contour", "sp5")
+DrawPlots()
+Test("symm_06")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("noise.silo"))
+
+DefineScalarExpression("st2", "symm_transform(hardyglobal, [0.707, 0.707, 0, -0.707, 0.707, 0, 0, 0, 1])")
+AddPlot("Contour", "st2")
+DrawPlots()
+Test("symm_07")
+
+ActivateDatabase(silo_data_path("rect2d.silo"))
+
+DeleteAllPlots()
+DefineScalarExpression("sp4_2", "symm_point(d, [0.4, 0.6, 0])")
+AddPlot("Pseudocolor", "sp4_2")
+DrawPlots()
+Test("symm_08")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+DefineScalarExpression("sp6", "symm_plane(d, [1, 0, 0, 0.2, 0, 0])")
+AddPlot("Pseudocolor", "sp6")
+DrawPlots()
+Test("symm_09")
+
+DeleteAllPlots()
+DefineVectorExpression("sp7", "symm_plane(vel, [1, 0, 0, 0.2, 0, 0])")
+AddPlot("Vector", "sp7")
+DrawPlots()
+Test("symm_10")
+
+DeleteAllPlots()
+DefineScalarExpression("sp8", "magnitude(symm_plane(vel, [1, 0, 0, 0.2, 0, 0]))")
+AddPlot("Pseudocolor", "sp8")
+DrawPlots()
+Test("symm_11")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_cmfe.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_cmfe.html new file mode 100644 index 000000000..1260b08ad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_cmfe.html @@ -0,0 +1,108 @@ + +Results for hybrid/time_cmfe.py + +

Results of VisIt Regression Test - hybrid/time_cmfe

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
time_cmfe_010.000.00
time_cmfe_020.000.00
time_cmfe_030.000.00
time_cmfe_040.000.00
time_cmfe_050.000.00
time_cmfe_060.000.00
time_cmfe_070.000.00
time_cmfe_080.000.00
time_cmfe_090.000.00
time_cmfe_100.000.00
time_cmfe_110.000.00
time_cmfe_120.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_cmfe_py.html new file mode 100644 index 000000000..a26fc1119 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_cmfe_py.html @@ -0,0 +1,93 @@ +hybrid/time_cmfe.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  time_cmfe.py
+#
+#  Defect ID:  None
+#
+#  Programmer: Hank Childs
+#  Date:       August 30, 2005
+#
+#  Modifications:
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Brad Whitlock, Thu Apr 19 14:35:20 PDT 2012
+#    I changed the last couple of tests so we can directly compare the
+#    data at a time step with what time deltas should give us.
+#
+# ----------------------------------------------------------------------------
+
+OpenDatabase(silo_data_path("wave.visit"))
+
+
+
+# Test general capability.
+DefineScalarExpression("cmfe", "conn_cmfe(<%s[10]i:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
+AddPlot("Pseudocolor", "cmfe")
+DrawPlots()
+Test("time_cmfe_01")
+
+# Should be same pressure, since we aren't doing deltas
+SetTimeSliderState(20)
+Test("time_cmfe_02")
+
+DefineScalarExpression("cmfe2", "conn_cmfe(<%s[-10]id:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
+ChangeActivePlotsVar("cmfe2")
+Test("time_cmfe_03")
+
+SetTimeSliderState(40)
+Test("time_cmfe_04")
+
+DefineScalarExpression("cmfe3", "conn_cmfe(<%s[200]c:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
+ChangeActivePlotsVar("cmfe3")
+Test("time_cmfe_05")
+
+SetTimeSliderState(20)
+Test("time_cmfe_06")
+
+DefineScalarExpression("cmfe4", "conn_cmfe(<%s[200]cd:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
+ChangeActivePlotsVar("cmfe4")
+Test("time_cmfe_07")
+
+SetTimeSliderState(40)
+Test("time_cmfe_08")
+
+DefineScalarExpression("cmfe5", "conn_cmfe(<%s[-0.9]t:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
+ChangeActivePlotsVar("cmfe5")
+Test("time_cmfe_09")
+
+SetTimeSliderState(20)
+Test("time_cmfe_10")
+
+# Get rid of the wave in the mesh and slice it. I'm slicing it because I was 
+# originally doing lineouts but those didn't line up for some reason.
+DefineScalarExpression("i", "mod(nodeid(quadmesh), 101.)")
+DefineScalarExpression("j", "floor((nodeid(quadmesh) - (k*101.*11.) - i) / 101.)")
+DefineScalarExpression("k", "floor(nodeid(quadmesh) / (101.*11.))")
+DefineVectorExpression("offset", "{coords(quadmesh)[0], j * 0.06, coords(quadmesh)[2]} - coords(quadmesh)")
+AddOperator("Displace")
+disp = DisplaceAttributes()
+disp.variable = "offset"
+disp.factor = 1
+SetOperatorOptions(disp)
+AddOperator("Slice")
+DrawPlots()
+
+ChangeActivePlotsVar("pressure")
+# Do a plot of pressure at time state 25 since the time there is 3. 
+SetTimeSliderState(25)
+Test("time_cmfe_11")
+
+# Now create a time delta expression where we want to get the data that trails
+# the current time step by 0.8. We'll set the time slider to state 29 where the 
+# time is 3.8 and we'll use the cmfe time delta to obtain data from 0.8 time
+# units before, or in other words, time state 25. Then we'll do a plot to see
+# if the data matches the previous test.
+DefineScalarExpression("cmfe6", "conn_cmfe(<%s[-0.8]td:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
+SetTimeSliderState(29)
+ChangeActivePlotsVar("cmfe6")
+Test("time_cmfe_12")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_deriv_cmfe.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_deriv_cmfe.html new file mode 100644 index 000000000..679bc4034 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_deriv_cmfe.html @@ -0,0 +1,54 @@ + +Results for hybrid/time_deriv_cmfe.py + +

Results of VisIt Regression Test - hybrid/time_deriv_cmfe

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
time_deriv_cmfe_010.000.00
time_deriv_cmfe_020.000.00
time_deriv_cmfe_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_deriv_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_deriv_cmfe_py.html new file mode 100644 index 000000000..cdfe188c9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_deriv_cmfe_py.html @@ -0,0 +1,35 @@ +hybrid/time_deriv_cmfe.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  time_deriv_cmfe.py
+#
+#  Defect ID:  '2715, '6897
+#
+#  Programmer: Hank Childs
+#  Date:       January 12, 2006
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(silo_data_path("wave.visit"))
+
+
+
+# Test general capability.
+AddPlot("Pseudocolor", "time_derivative/conn_based/pressure")
+DrawPlots()
+Test("time_deriv_cmfe_01")
+
+TimeSliderSetState(50)
+Test("time_deriv_cmfe_02")
+
+ChangeActivePlotsVar("time_derivative/pos_based/pressure")
+Test("time_deriv_cmfe_03")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_iteration.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_iteration.html new file mode 100644 index 000000000..8094e4057 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_iteration.html @@ -0,0 +1,54 @@ + +Results for hybrid/time_iteration.py + +

Results of VisIt Regression Test - hybrid/time_iteration

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
time_iteration_010.000.00
time_iteration_020.000.00
time_iteration_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_iteration_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_iteration_py.html new file mode 100644 index 000000000..a1a0b9fa9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_time_iteration_py.html @@ -0,0 +1,41 @@ +hybrid/time_iteration.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  time_iteration.py
+#
+#  Defect ID:  None
+#
+#  Programmer: Hank Childs
+#  Date:       August 27, 2010
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(silo_data_path("wave.visit"))
+
+
+
+DefineScalarExpression("ave1", "average_over_time(pressure, 1, 10, 1)")
+AddPlot("Pseudocolor", "ave1")
+DrawPlots()
+v = GetView3D()
+v.viewNormal = (0.607716, 0.507406, 0.610918)
+v.viewUp = (-0.342711, 0.861513, -0.374627)
+SetView3D(v)
+Test("time_iteration_01")
+
+DeleteAllPlots()
+DefineScalarExpression("ave2", "average_over_time(pressure, 10, 20, 1)")
+AddPlot("Pseudocolor", "ave2")
+DrawPlots()
+Test("time_iteration_02")
+
+DeleteAllPlots()
+DefineScalarExpression("pressure_big", "ge(pressure, 0.8)")
+DefineScalarExpression("first_time", "first_time_when_condition_is_true(pressure_big, 100, 1, 71, 1)")
+AddPlot("Pseudocolor", "first_time")
+DrawPlots()
+Test("time_iteration_03")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_timelock.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_timelock.html new file mode 100644 index 000000000..f58481f49 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_timelock.html @@ -0,0 +1,209 @@ + +Results for hybrid/timelock.py + +

Results of VisIt Regression Test - hybrid/timelock

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Make sure we get a time slider when locking a window causes the most suitable correlation to be altered.
timelock_000.000.00
timelock_010 modifications totalling 0 lines
timelock_020.000.00
timelock_030 modifications totalling 0 lines
timelock_040.000.00
timelock_050 modifications totalling 0 lines
timelock_060 modifications totalling 0 lines
timelock_070 modifications totalling 0 lines
timelock_080.000.00
timelock_090 modifications totalling 0 lines
timelock_100.000.00
timelock_110 modifications totalling 0 lines
timelock_120.000.00
timelock_130 modifications totalling 0 lines
Test that the time slider works when time locking multiple windows
timelock_140.000.00
timelock_150 modifications totalling 0 lines
timelock_160.000.00
timelock_170.000.00
timelock_180 modifications totalling 0 lines
timelock_190.000.00
timelock_200 modifications totalling 0 lines
Make sure replacing into a time-locked window updates the database correlation.
timelock_210.000.00
timelock_220.000.00
timelock_230 modifications totalling 0 lines
timelock_240 modifications totalling 0 lines
timelock_250 modifications totalling 0 lines
timelock_260 modifications totalling 0 lines
timelock_270.000.00
timelock_280.000.00
timelock_290.000.00
timelock_300 modifications totalling 0 lines
timelock_310.000.00
timelock_320 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_timelock_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_timelock_py.html new file mode 100644 index 000000000..b74bd9ab7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_timelock_py.html @@ -0,0 +1,374 @@ +hybrid/timelock.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  timelock.py
+#
+#  Tests:      mesh      - 2D, 3D, curvilinear, single domain
+#              plots     - FilledBoundary, Pseudocolor
+#              databases - PDB, Silo
+#
+#  Purpose:    This test case tests out locking windows in time with multiple
+#              databases in multiple windows. It makes sure that we get the
+#              right database correlations and the right time sliders.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Mar 17 09:58:35 PDT 2005
+#
+#  Modifications:
+#    Brad Whitlock, Wed Mar 23 09:23:53 PDT 2005
+#    I made it truncate the window information so the scalable rendering flag
+#    is not included. This way, I don't need mode-specific baselines. I also
+#    added 2 new test cases to check the window information because one of
+#    the baseline images in test case 2 was incorrect. Finally, I added code
+#    in the CleanSlate function to make sure that time locking is off. That
+#    was what caused the incorrect test case image.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Eric Brugger, Fri Jul 30 13:53:48 PDT 2010
+#    I increased the number of lines of information it prints to 18.
+#
+# ----------------------------------------------------------------------------
+
+import os
+
+#
+# Look at the first few lines of the string representation of the
+# WindowInformation to see the list of time sliders, etc.
+#
+def TestWindowInformation(testname):
+    # Get the window information and convert it to a string.
+    s = str(GetWindowInformation())
+    # Only use the first 18 or so lines from the string.
+    lines = s.split("\n")
+    s = ""
+    for i in range(18):
+        if(i < len(lines)):
+            s = s + lines[i]
+            s = s + "\n"
+    # Get the window information and convert it to a string.
+    TestText(testname, s)
+
+
+#
+# Tests that the database correlations look a certain way.
+#
+def TestCorrelations(testname):
+    names = GetDatabaseCorrelationNames()
+    s = ""
+    for name in names:
+        c = GetDatabaseCorrelation(name)
+        s = s + str(c) + "\n"
+    TestText(testname, s)
+
+def CleanSlate():
+    # Delete all but the first window.
+    windows = list(GetGlobalAttributes().windows)
+    windows.sort()
+    for win in windows[1:]:
+        SetActiveWindow(win)
+        DeleteWindow()
+
+    # Delete all of the plots.
+    DeleteAllPlots()
+
+    # Delete all of the database correlations:
+    sources = GetGlobalAttributes().sources
+    cL = GetDatabaseCorrelationNames()
+    for name in cL:
+        if name not in sources:
+            DeleteDatabaseCorrelation(name)
+
+    # Close all of the sources.
+    for src in sources:
+        CloseDatabase(src)
+
+    # Make sure clone window on first reference is off.
+    SetCloneWindowOnFirstRef(0)
+
+    # Make sure that window 1 is not locked in time!
+    if GetWindowInformation().lockTime == 1:
+        ToggleLockTime()
+
+#
+# Returns whether all files in the list are in the current directory.
+#
+def FilesPresent(files):
+    currentFileList = os.listdir(".")
+    count = 0
+    retval = 0
+    if type(files) == type(()) or type(files) == type([]):
+        for file in files:
+            if file in currentFileList:
+                count = count + 1
+        retval = count == len(files)
+    else:
+        # We got here because the files argument was 
+        # a single value instead of a tuple or list.
+        if files in currentFileList:
+            retval = 1
+
+    return retval
+
+#
+# Waits for all files in the list to be present in the current directory.
+#
+def WaitForFilesToBePresent(files):
+    while(FilesPresent(files) == 0): sleep(1)
+
+#
+# Remove all .visit files from the current directory.
+#
+def RemoveAllVisItFiles():
+    currentFileList = os.listdir(".")
+    for file in currentFileList:
+        if file[-5:] == ".silo" or file[-6:] == ".visit":
+            try:
+                os.unlink(file)
+            except:
+                # Ignore any exceptions
+                pass
+
+#
+# Set a better view for wave.
+#
+def SetWaveDatabaseView():
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.735926, 0.562657, 0.376604)
+    v0.focus = (5, 0.753448, 2.5)
+    v0.viewUp = (0.454745, 0.822858, -0.340752)
+    v0.viewAngle = 30
+    v0.parallelScale = 5.6398
+    v0.nearPlane = -11.2796
+    v0.farPlane = 11.2796
+    v0.imagePan = (0.0589778, 0.0898255)
+    v0.imageZoom = 1.32552
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    SetView3D(v0)
+
+#
+# Set the active window and also set the window's background color so it's
+# easy to tell which window we're looking at.
+#
+def GotoWindow(win):
+    SetActiveWindow(win)
+
+    a = GetAnnotationAttributes()
+    if win == 1:
+        a.backgroundColor = (255,200,200,255)
+    elif win == 2:
+        a.backgroundColor = (200,255,200,255)
+    else:
+        a.backgroundColor = (200,200,255,255)
+    SetAnnotationAttributes(a)
+
+#
+# Test that we get an active time slider when a correlation is modified
+# as a result of locking the window in time.
+#
+def test1(testindex):
+    TestSection("Make sure we get a time slider when locking a window "
+                "causes the most suitable correlation to be altered.")
+    SetWindowLayout(4)
+
+    # Turn on "CloneWindowOnFirstRef"
+    SetCloneWindowOnFirstRef(1)
+
+    # Copy wave.visit to this directory a few times.
+    f = open(silo_data_path("wave.visit") , "rt")
+    lines = f.readlines()
+    f.close()
+    f0 = open("wave.visit","wt")
+    f1 = open("wave1.visit","wt")
+    f2 = open("wave2.visit","wt")
+    for line in lines:
+        f0.write(silo_data_path(line))
+        f1.write(silo_data_path(line))
+        f2.write(silo_data_path(line))
+    f0.close()
+    f1.close()
+    f2.close()
+
+    GotoWindow(1)
+    OpenDatabase("wave.visit")
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+    SetWaveDatabaseView()
+    Test("timelock_%02d" % testindex)
+    TestWindowInformation("timelock_%02d" % (testindex+1))
+
+    # Go to the next window. The plot should be copied. Replace the database
+    # before we draw the plots so we'll be using a different database.
+    GotoWindow(2)
+    ReplaceDatabase("wave1.visit")
+    DrawPlots()
+    Test("timelock_%02d" % (testindex+2))
+    TestWindowInformation("timelock_%02d" % (testindex+3))
+
+    # Go to the next window. The plot should be copied. Replace the database
+    # before we draw the plots so we'll be using a different database.
+    GotoWindow(3)
+    ReplaceDatabase("wave2.visit")
+    DrawPlots()
+    Test("timelock_%02d" % (testindex+4))
+    TestWindowInformation("timelock_%02d" % (testindex+5))
+
+    # Lock window 1 and 2. This should result in a database correlation.
+    GotoWindow(1)
+    ToggleLockTime()
+    GotoWindow(2)
+    ToggleLockTime()
+    TestCorrelations("timelock_%02d" % (testindex+6))
+
+    # Lock window 3 in time now also. This should result in the new database
+    # correlation being modified to accomodate window 3's database.
+    GotoWindow(3)
+    ToggleLockTime()
+    TestCorrelations("timelock_%02d" % (testindex+7))
+
+    # Change time states and make sure all windows look the same.
+    SetTimeSliderState(36)
+    Test("timelock_%02d" % (testindex+8))
+    TestWindowInformation("timelock_%02d" % (testindex+9))
+    GotoWindow(2)
+    Test("timelock_%02d" % (testindex+10))
+    TestWindowInformation("timelock_%02d" % (testindex+11))
+    GotoWindow(1)
+    Test("timelock_%02d" % (testindex+12))
+    TestWindowInformation("timelock_%02d" % (testindex+13))
+
+    # Get ready for the next test.
+    CleanSlate()
+    RemoveAllVisItFiles()
+
+    return testindex + 14
+
+#
+# Test that time locking works for multiple windows. What we're really
+# testing is that the database is copied to the newly referenced window
+# even though we have "CloneWindowOnFirstRef" set to off. Defect '6053.
+#
+def test2(testindex):
+    TestSection("Test that the time slider works when time locking multiple windows")
+
+    a = GetAnnotationAttributes()
+    b = GetAnnotationAttributes()
+    SetAnnotationAttributes(b)
+
+    SetCloneWindowOnFirstRef(0)
+    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
+
+    AddPlot("FilledBoundary", "material(mesh)")
+    DrawPlots()
+    Test("timelock_%02d" % testindex)
+
+    SetWindowLayout(2)
+    GotoWindow(2)
+    SetAnnotationAttributes(b)
+    TestWindowInformation("timelock_%02d" % (testindex+1))
+    AddPlot("Pseudocolor", "mesh/nummm")
+    DrawPlots()
+    Test("timelock_%02d" % (testindex+2))
+
+    # Turn on time locking in both windows.
+    GotoWindow(1)
+    ToggleLockTime()
+    GotoWindow(2)
+    ToggleLockTime()
+
+    # See if both windows updated when we changed the time in window 2.
+    SetTimeSliderState(5)
+    # This crashes in scalable,parallel,icet.
+    if TestEnv.params["scalable"] == False:
+        Test("timelock_%02d" % (testindex+3))
+        TestWindowInformation("timelock_%02d" % (testindex+4))
+        GotoWindow(1)
+        ResetView()
+        Test("timelock_%02d" % (testindex+5))
+        TestWindowInformation("timelock_%02d" % (testindex+6))
+
+    # Get ready for the next test.
+    CleanSlate()
+    SetAnnotationAttributes(a)
+
+    return testindex + 7
+
+#
+# Make sure that replacing into a time-locked window updates the database
+# correlation.
+#
+def test3(testindex):
+    TestSection("Make sure replacing into a time-locked window updates "
+                "the database correlation.")
+    SetWindowLayout(4)
+
+    # Turn on "CloneWindowOnFirstRef"
+    SetCloneWindowOnFirstRef(1)
+
+    dbs = (silo_data_path("wave.visit") ,
+           silo_data_path("wave_tv.visit") )
+    OpenDatabase(dbs[0])
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+    SetWaveDatabaseView()
+    Test("timelock_%02d" % testindex)
+
+    GotoWindow(2)
+    DeleteAllPlots()
+    AddPlot("FilledBoundary", "Material")
+    DrawPlots()
+    Test("timelock_%02d" % (testindex+1))
+    ToggleLockTime()
+    TestWindowInformation("timelock_%02d" % (testindex+2))
+    GotoWindow(1)
+    ToggleLockTime()
+    TestWindowInformation("timelock_%02d" % (testindex+3))
+
+    # Go to window 3 and make sure that certain fields were copied.
+    # Window 3 should already be locked in time and it should contain
+    # a Pseudocolor plot.
+    GotoWindow(3)
+    TestWindowInformation("timelock_%02d" % (testindex+4))
+
+    # Replace the database with wave_tv so we can make sure that VisIt can
+    # create correlations when it needs to during a replace. Note that we
+    # also replace with a later time state. This should cause the time states
+    # for the other windows to be updated.
+    ReplaceDatabase(dbs[1], 36)
+    TestCorrelations("timelock_%02d" % (testindex+5))
+    DrawPlots()
+    Test("timelock_%02d" % (testindex+6))
+
+    # Test that we change change to the transient variable.
+    ChangeActivePlotsVar("transient")
+    Test("timelock_%02d" % (testindex+7))
+
+    # Make sure that the time state changed in windows 1,2.
+    GotoWindow(2)
+    Test("timelock_%02d" % (testindex+8))
+    TestWindowInformation("timelock_%02d" % (testindex+9))
+    GotoWindow(1)
+    Test("timelock_%02d" % (testindex+10))
+    TestWindowInformation("timelock_%02d" % (testindex+11))
+
+    # Get ready for the next test.
+    CleanSlate()
+
+    return testindex + 12
+
+#
+# Run the tests
+#
+try:
+    testindex = 0
+    testindex = test1(testindex)
+    testindex = test2(testindex)
+    testindex = test3(testindex)
+except:
+    RemoveAllVisItFiles()
+    raise
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_val4mat.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_val4mat.html new file mode 100644 index 000000000..fd7f50353 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_val4mat.html @@ -0,0 +1,66 @@ + +Results for hybrid/val4mat.py + +

Results of VisIt Regression Test - hybrid/val4mat

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
value_for_mat_10.000.00
value_for_mat_20.000.00
value_for_mat_30.000.00
value_for_mat_post_ghost_10.000.00
value_for_mat_post_ghost_20.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_val4mat_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_val4mat_py.html new file mode 100644 index 000000000..c98bbf0b0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_val4mat_py.html @@ -0,0 +1,76 @@ +hybrid/val4mat.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  val4mat.py
+#
+#  Tests:      mesh      - 3D structured, multi domain
+#              plots     - pc
+#
+#  Notes:      Migrated value_for_material tests from expressions.py
+#              and added post ghost test cases. 
+#
+#  Programmer: Cyrus Harrison
+#  Date:       Tuesday 12, 2008
+#
+#  Modifiations:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("thinplane.silo"))
+
+atts = PseudocolorAttributes()
+atts.minFlag = 1
+atts.min = 0.0
+atts.maxFlag = 1
+atts.max = 10.0
+SetDefaultPlotOptions(atts)
+
+# view the per material values for each of the 3 materials
+
+DefineScalarExpression("vfm_1", "value_for_material(den,1)")
+AddPlot("Pseudocolor", "vfm_1")
+DrawPlots()
+Test("value_for_mat_1")
+
+DeleteAllPlots()
+DefineScalarExpression("vfm_2", "value_for_material(den,2)")
+AddPlot("Pseudocolor", "vfm_2")
+DrawPlots()
+Test("value_for_mat_2")
+
+DeleteAllPlots()
+DefineScalarExpression("vfm_3", "value_for_material(den,\"3\")")
+AddPlot("Pseudocolor", "vfm_3")
+DrawPlots()
+Test("value_for_mat_3")
+
+
+ChangeActivePlotsVar("vfm_2")
+
+# test w/ ghost zones (switch vfm_2 to nodal)
+atts = PseudocolorAttributes(1)
+atts.minFlag = 1
+atts.min = 0.0
+atts.maxFlag = 1
+atts.max = 10.0
+atts.centering = atts.Nodal
+SetPlotOptions(atts)
+DrawPlots()
+Test("value_for_mat_post_ghost_1")
+
+# make sure post ghost caching doesn't tank non ghost results
+atts = PseudocolorAttributes(1)
+atts.minFlag = 1
+atts.min = 0.0
+atts.maxFlag = 1
+atts.max = 10.0
+atts.centering = atts.Zonal
+SetPlotOptions(atts)
+DrawPlots()
+Test("value_for_mat_post_ghost_2")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_vtkm.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_vtkm.html new file mode 100644 index 000000000..f76c2a85e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_vtkm.html @@ -0,0 +1,372 @@ + +Results for hybrid/vtkm.py + +

Results of VisIt Regression Test - hybrid/vtkm

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
vtkm_rect2d_010.000.00
vtkm_rect2d_020.000.00
vtkm_rect3d_010.000.00
vtkm_rect3d_01a0.000.00
vtkm_rect3d_020.000.00
vtkm_rect3d_030.000.00
vtkm_rect3d_040.000.00
vtkm_rect3d_050.000.00
vtkm_rect3d_060.000.00
vtkm_rect3d_070.000.00
vtkm_rect3d_080.000.00
vtkm_rect3d_090.000.00
vtkm_rect3d_100.000.00
vtkm_curv2d_010.000.00
vtkm_curv2d_020.000.00
vtkm_curv3d_010.000.00
vtkm_curv3d_01a0.000.00
vtkm_curv3d_020.000.00
vtkm_curv3d_030.000.00
vtkm_curv3d_040.000.00
vtkm_curv3d_050.000.00
vtkm_curv3d_060.000.00
vtkm_curv3d_070.000.00
vtkm_curv3d_080.000.00
vtkm_curv3d_090.000.00
vtkm_curv3d_100.000.00
vtkm_ucd2d_010.000.00
vtkm_ucd2d_020.000.00
vtkm_ucd3d_010.000.00
vtkm_ucd3d_01a0.000.00
vtkm_ucd3d_020.000.00
vtkm_ucd3d_030.000.00
vtkm_ucd3d_040.000.00
vtkm_ucd3d_050.000.00
vtkm_ucd3d_060.000.00
vtkm_ucd3d_070.000.00
vtkm_ucd3d_080.000.00
vtkm_globe_010.000.00
vtkm_globe_020.000.00
vtkm_globe_030.000.00
vtkm_globe_040.000.00
vtkm_globe_050.000.00
vtkm_globe_060.000.00
vtkm_globe_070.000.00
vtkm_globe_080.000.00
vtkm_globe_090.000.00
vtkm_globe_100.000.00
vtkm_globe_110.000.00
vtkm_multi_ucd3d_010.000.00
vtkm_multi_ucd3d_020.000.00
vtkm_multi_ucd3d_030.000.00
vtkm_multi_ucd3d_040.000.00
vtkm_multi_ucd3d_050.000.00
vtkm_multi_ucd3d_060.000.00
vtkm_multi_ucd3d_070.000.00
vtkm_multi_ucd3d_080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/hybrid_vtkm_py.html b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_vtkm_py.html new file mode 100644 index 000000000..7421ae946 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/hybrid_vtkm_py.html @@ -0,0 +1,779 @@ +hybrid/vtkm.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  vtkm.py
+#
+#  Tests:      mesh      - 3D rectilinear, single domain
+#                          3D curvilinear, single domain
+#                          3D unstructured, single domain
+#                          3D unstructured, multi domain
+#              plots     - Contour, Pseudocolor
+#              operators - Isosurface, Isovolume, Slice, Threshold
+#
+#  Programmer: Eric Brugger
+#  Date:       Wed Sep 19 12:18:14 PDT 2018
+#
+#  Modifications:
+#    James Kress, Tue Oct  5 14:00:28 PST 2021
+#    Adding additional threshold tests.
+#
+#    Eric Brugger, Fri Feb 24 14:57:15 PST 2023
+#    Added additional tests.
+#
+# ----------------------------------------------------------------------------
+
+SetBackendType("vtkm")
+
+#
+# Test a 2d rectilinear mesh.
+#
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+Test("vtkm_rect2d_01")
+
+DeleteAllPlots()
+
+AddPlot("Contour", "d")
+DrawPlots()
+
+Test("vtkm_rect2d_02")
+
+#
+# Test a 3d rectilinear mesh.
+#
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (0.4854, 0.3984, 0.7782)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (-0.1209, 0.9122, -0.3916)
+v.parallelScale = 0.8660
+v.nearPlane = -1.7321
+v.farPlane = 1.7321
+SetView3D(v)
+
+Test("vtkm_rect3d_01")
+
+DeleteAllPlots()
+
+AddPlot("Contour", "d")
+DrawPlots()
+
+Test("vtkm_rect3d_01a")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (0., 1., 0.)
+atts.originType = atts.Point
+atts.originPoint = (0.5, 0.5, 0.5)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_rect3d_02")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (0., 1., 0.)
+atts.originType = atts.Point
+atts.originPoint = (0.5, 0.5, 0.5)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_rect3d_03")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isosurface")
+atts = IsosurfaceAttributes()
+atts.contourNLevels = 10
+atts.contourMethod = atts.Level
+atts.minFlag = 0
+atts.maxFlag = 0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_rect3d_04")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Isosurface")
+atts = IsosurfaceAttributes()
+atts.contourNLevels = 10
+atts.contourMethod = atts.Level
+atts.minFlag = 0
+atts.maxFlag = 0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_rect3d_05")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (0.2)
+ThresholdAtts.upperBounds = (0.59)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_rect3d_06")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (1)
+ThresholdAtts.lowerBounds = (-0.2)
+ThresholdAtts.upperBounds = (0.39)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_rect3d_07")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (-0.2)
+ThresholdAtts.upperBounds = (0.39)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_rect3d_08")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Isovolume")
+IsovolumeAtts = IsovolumeAttributes()
+IsovolumeAtts.lbound = -0.2
+IsovolumeAtts.ubound = 0.39
+IsovolumeAtts.variable = "u"
+SetOperatorOptions(IsovolumeAtts)
+DrawPlots()
+
+Test("vtkm_rect3d_09")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isovolume")
+IsovolumeAtts = IsovolumeAttributes()
+IsovolumeAtts.lbound = -0.2
+IsovolumeAtts.ubound = 0.39
+IsovolumeAtts.variable = "default"
+SetOperatorOptions(IsovolumeAtts)
+DrawPlots()
+
+Test("vtkm_rect3d_10")
+
+#
+# Test a 2d curvilinear mesh.
+#
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+Test("vtkm_curv2d_01")
+
+DeleteAllPlots()
+
+AddPlot("Contour", "d")
+DrawPlots()
+
+Test("vtkm_curv2d_02")
+
+#
+# Test a 3d curvilinear mesh.
+#
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (0.4854, 0.3984, 0.7782)
+v.focus = (0., 2.5, 15.)
+v.viewUp = (-0.1209, 0.9122, -0.3916)
+v.parallelScale = 16.0078
+v.nearPlane = -32.0156
+v.farPlane = 32.0156
+SetView3D(v)
+
+Test("vtkm_curv3d_01")
+
+DeleteAllPlots()
+
+AddPlot("Contour", "d")
+DrawPlots()
+
+Test("vtkm_curv3d_01a")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (0., 1., 0.)
+atts.originType = atts.Point
+atts.originPoint = (0., 2.5, 15.)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_curv3d_02")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (0., 1., 0.)
+atts.originType = atts.Point
+atts.originPoint = (0., 2.5, 15.)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_curv3d_03")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isosurface")
+atts = IsosurfaceAttributes()
+atts.contourNLevels = 10
+atts.contourMethod = atts.Level
+atts.minFlag = 0
+atts.maxFlag = 0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_curv3d_04")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Isosurface")
+atts = IsosurfaceAttributes()
+atts.contourNLevels = 10
+atts.contourMethod = atts.Level
+atts.minFlag = 0
+atts.maxFlag = 0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_curv3d_05")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (1)
+ThresholdAtts.upperBounds = (3)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_curv3d_06")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (1)
+ThresholdAtts.lowerBounds = (-0.5)
+ThresholdAtts.upperBounds = (0.5)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_curv3d_07")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (-0.5)
+ThresholdAtts.upperBounds = (0.5)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_curv3d_08")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Isovolume")
+IsovolumeAtts = IsovolumeAttributes()
+IsovolumeAtts.lbound = -0.5
+IsovolumeAtts.ubound = 0.5
+IsovolumeAtts.variable = "u"
+SetOperatorOptions(IsovolumeAtts)
+DrawPlots()
+
+Test("vtkm_curv3d_09")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isovolume")
+IsovolumeAtts = IsovolumeAttributes()
+IsovolumeAtts.lbound = -0.5
+IsovolumeAtts.ubound = 0.5
+IsovolumeAtts.variable = "default"
+SetOperatorOptions(IsovolumeAtts)
+DrawPlots()
+
+Test("vtkm_curv3d_10")
+
+#
+# Test a 2d unstructured mesh.
+#
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("ucd2d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+Test("vtkm_ucd2d_01")
+
+DeleteAllPlots()
+
+AddPlot("Contour", "d")
+DrawPlots()
+
+Test("vtkm_ucd2d_02")
+
+#
+# Test a 3d unstructured mesh.
+#
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("ucd3d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (0.4854, 0.3984, 0.7782)
+v.focus = (0., 2.5, 10.)
+v.viewUp = (-0.1209, 0.9122, -0.3916)
+v.parallelScale = 11.4564
+v.nearPlane = -22.9129
+v.farPlane = 22.9129
+SetView3D(v)
+
+Test("vtkm_ucd3d_01")
+
+DeleteAllPlots()
+
+AddPlot("Contour", "d")
+DrawPlots()
+
+Test("vtkm_ucd3d_01a")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (0., 1., 0.)
+atts.originType = atts.Point
+atts.originPoint = (0., 2.5, 10.)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_ucd3d_02")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (0., 1., 0.)
+atts.originType = atts.Point
+atts.originPoint = (0., 2.5, 10.)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_ucd3d_03")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isosurface")
+atts = IsosurfaceAttributes()
+atts.contourNLevels = 10
+atts.contourMethod = atts.Level
+atts.minFlag = 0
+atts.maxFlag = 0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_ucd3d_04")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Isosurface")
+atts = IsosurfaceAttributes()
+atts.contourNLevels = 10
+atts.contourMethod = atts.Level
+atts.minFlag = 0
+atts.maxFlag = 0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_ucd3d_05")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (2.5)
+ThresholdAtts.upperBounds = (4.0)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_ucd3d_06")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (1)
+ThresholdAtts.lowerBounds = (0.8)
+ThresholdAtts.upperBounds = (0.95)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_ucd3d_07")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (0.8)
+ThresholdAtts.upperBounds = (0.95)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_ucd3d_08")
+
+#
+# Test 3d unstructured with zoo elements.
+#
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (-0.3057, 0.7186, 0.6247)
+v.focus = (0., 0., 0.)
+v.viewUp = (0.5003, 0.6794, -0.5367)
+v.parallelScale = 17.3205
+v.nearPlane = -34.641
+v.farPlane = 34.641
+SetView3D(v)
+
+Test("vtkm_globe_01")
+
+DeleteAllPlots()
+
+AddPlot("Contour", "dx")
+DrawPlots()
+
+Test("vtkm_globe_02")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "v")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (0., 1., 0.)
+atts.originType = atts.Point
+atts.originPoint = (0., 0., 0.)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_globe_03")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "dx")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (0., 1., 0.)
+atts.originType = atts.Point
+atts.originPoint = (0., 0., 0.)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_globe_04")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isosurface")
+atts = IsosurfaceAttributes()
+atts.contourNLevels = 10
+atts.contourMethod = atts.Level
+atts.minFlag = 0
+atts.maxFlag = 0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_globe_05")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "dx")
+AddOperator("Isosurface")
+atts = IsosurfaceAttributes()
+atts.contourNLevels = 10
+atts.contourMethod = atts.Level
+atts.minFlag = 0
+atts.maxFlag = 0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_globe_06")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "dx")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (-2.0)
+ThresholdAtts.upperBounds = (2.0)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_globe_07")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (1)
+ThresholdAtts.lowerBounds = (-5.0)
+ThresholdAtts.upperBounds = (5.0)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_globe_08")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (-5.0)
+ThresholdAtts.upperBounds = (5.0)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_globe_09")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "dx")
+AddOperator("Isovolume")
+atts = IsovolumeAttributes()
+atts.lbound = -5.0
+atts.ubound = 5.0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_globe_10")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isovolume")
+atts = IsovolumeAttributes()
+atts.lbound = -5.0
+atts.ubound = 5.0
+atts.variable = "default"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_globe_11")
+
+#
+# Test a multi-domain unstructured mesh.
+#
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (0.4854, 0.3984, 0.7782)
+v.focus = (0., 2.5, 10.)
+v.viewUp = (-0.1209, 0.9122, -0.3916)
+v.parallelScale = 11.4564
+v.nearPlane = -22.9129
+v.farPlane = 22.9129
+SetView3D(v)
+
+Test("vtkm_multi_ucd3d_01")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (0., 1., 0.)
+atts.originType = atts.Point
+atts.originPoint = (0., 2.5, 10.)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_multi_ucd3d_02")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (0., 1., 0.)
+atts.originType = atts.Point
+atts.originPoint = (0., 2.5, 10.)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_multi_ucd3d_03")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isosurface")
+atts = IsosurfaceAttributes()
+atts.contourNLevels = 10
+atts.contourMethod = atts.Level
+atts.minFlag = 0
+atts.maxFlag = 0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_multi_ucd3d_04")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Isosurface")
+atts = IsosurfaceAttributes()
+atts.contourNLevels = 10
+atts.contourMethod = atts.Level
+atts.minFlag = 0
+atts.maxFlag = 0
+atts.variable = "u"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("vtkm_multi_ucd3d_05")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (2.5)
+ThresholdAtts.upperBounds = (4.0)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_multi_ucd3d_06")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (1)
+ThresholdAtts.lowerBounds = (0.995)
+ThresholdAtts.upperBounds = (0.9985)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_multi_ucd3d_07")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (0.995)
+ThresholdAtts.upperBounds = (0.9985)
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+Test("vtkm_multi_ucd3d_08")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/index.html b/2023-11-08-22:00/pascal_trunk_parallel/index.html new file mode 100644 index 000000000..2b7e393a1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/index.html @@ -0,0 +1,2412 @@ + + + + + VisIt Regression Results ( pascal,trunk,parallel ) - 2023:11:09:00:19:47 + + + + + + + + + + +

Results of VisIt Regression Test ( pascal,trunk,parallel )

+Test suite run started at 2023:11:09:00:19:47.
+(Click on table header to sort) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IndexCategory Test File Status Runtime (sec)
0databasesANSYS.pySucceeded11
1databasesCGNS.pySucceeded16
43databasessilo.pySucceeded With Skips48
2databasesCale.pySucceeded7
3databasesFITS.pySucceeded10
44databasessilo_altdriver.pySucceeded47
45databasessilo_datatypes.pySucceeded26
46databasessinglemulti.pySucceeded7
47databasessw4.pySucceeded9
4databasesFMS.pySucceeded113
48databasestimesliders.pySucceeded11
5databasesGDAL.pyDatabase plugin requirements not met6
49databasesuintah.pySucceeded7
6databasesRAW.pySucceeded9
50databasesunv.pySucceeded9
7databasesSPCTH.pySucceeded7
8databasesWData.pySucceeded8
51databasesvtk.pySucceeded24
9databasesXmdv.pySucceeded8
52databasesxdmf.pySucceeded14
53databasesxyz.pySucceeded10
10databasesbov.pySucceeded31
54databasesANALYZE.pySucceeded9
11databasesclaw.pySucceeded8
55databasesChombo.pySucceeded9
12databasescurve.pySucceeded7
56databasesFluent.pySucceeded8
57databasesNASTRAN.pySucceeded20
13databasesddcMD.pySucceeded28
14databasesdiff.pySkipped(skipped)
15databasesffp.pySucceeded9
58databasesOpenFOAM.pySucceeded19
16databasesflash.pySucceeded7
59databasesPATRAN.pySucceeded12
17databasesimage.pySucceeded8
18databaseslata.pySucceeded13
19databasesleos.pySucceeded18
20databaseslines.pySucceeded7
60databasesPLOT3D.pySucceeded83
21databasesmetadata.pySucceeded14
61databasesProteinDataBank.pySucceeded19
62databasesVelodyne.pySucceeded8
63databasesXolotl.pySucceeded9
64databasesactivesource.pySucceeded8
65databasesadios2.pySucceeded8
66databasesavsucd.pySucceeded7
67databasesboxlib.pySucceeded12
68databasesblueprint_export.pySucceeded87
69databaseschgcar.pySucceeded12
70databasesclosedatabase.pySucceeded7
71databasescorrelation.pySucceeded21
72databasesempty_db.pySucceeded7
73databasesexodus.pySucceeded With Skips15
74databasesexport_db.pySucceeded85
22databasesmfem.pySucceeded454
75databasesglobal_node_ids.pySucceeded12
76databasesh5part.pySucceeded8
23databasesmili.pySucceeded24
77databaseshistory.pySucceeded7
24databasesmiranda.pySucceeded15
78databasesimgvol.pySucceeded8
79databaseskulllite.pySucceeded8
25databasesmoab.pySucceeded16
80databaseswave_tv.pySucceeded8
26databasesmulti_format.pySucceeded7
81databasesxform_precision.pySucceeded7
82databaseszipwrapper.pySkipped(skipped)
27databasesmulti_format2.pySucceeded7
28databasesnetcdf.pySucceeded15
83databasesblueprint_axom_klee.pySucceeded28
29databasesobj.pySucceeded8
84databasesEnSight.pySucceeded10
30databasesoldsilo.pySucceeded7
31databasesopenPMD.pySucceeded7
85databasestecplot.pySucceeded15
32databasesopenexr.pySucceeded8
33databasesoverlink.pySucceeded10
34databasespdbdatabase.pySucceeded35
35databasespixie.pySucceeded With Skips10
36databasesplaintext.pySucceeded8
86databasesblueprint.pySucceeded With Skips123
37databasesrect.pySucceeded8
87expressionsghost_zoneid_expr.pySucceeded7
38databasesreopen.pySucceeded12
88expressionstensor_expr.pySucceeded11
39databasessami.pySucceeded8
89faulttolerancebadfile.pySucceeded6
90faulttolerancecheckmode.pySucceeded6
40databasessamrai.pySucceeded16
41databasesscale_mesh.pySucceeded7
91faulttolerancesavewindow.pySucceeded11
92hybridddf.pySucceeded9
42databasesshapefile.pySucceeded18
93hybridlocus.pySucceeded22
129hybridlineout.pySucceeded28
94hybridmatvf.pySucceeded10
130hybridlocktime.pySucceeded8
95hybridmir.pySucceeded15
96hybridmovie.pySkipped(skipped)
131hybridmath_expr.pySucceeded7
97hybridqcrit.pySucceeded8
132hybridmatsel.pySucceeded7
98hybridsil.pySucceeded7
133hybridmerge_tree.pySucceeded12
99hybridsimplify_mixed.pySucceeded9
134hybridmesh_quality.pySucceeded8
100hybridspecmf.pySucceeded6
135hybridmir_cache.pySucceeded7
101hybridsymm.pySucceeded10
136hybridmissingdata.pySucceeded With Skips10
102hybridtime_cmfe.pySucceeded9
137hybridmultivar.pySucceeded7
103hybridtime_deriv_cmfe.pySucceeded7
138hybridpos_cmfe.pySucceeded11
104hybridtime_iteration.pySucceeded10
139hybridpy_exprs.pySucceeded8
105hybridval4mat.pySucceeded7
140hybridreplace.pySucceeded8
141hybridselections.pySkipped(skipped)
142hybridselections_pp.pySkipped(skipped)
106hybridvtkm.pySucceeded19
143meshtypecsg.pySucceeded23
107hybridtimelock.pySucceeded11
144meshtypeglobe.pySucceeded8
145meshtypepoint.pySucceeded10
108hybridcinema-a.pySucceeded28
146meshtypearbpoly.pySucceeded8
147meshtypedegen_mesh.pySucceeded12
148meshtypeemptydomains.pySucceeded10
109hybridcinema-c.pySucceeded52
149meshtyperect3d.pySucceeded7
110hybridcleanzonesonly.pySucceeded8
111hybridclonecopy.pySkipped(skipped)
150operatorsbox.pySucceeded8
112hybridclonefirstref.pySucceeded7
151operatorsclip.pySucceeded10
113hybridconditional.pySucceeded8
114hybridconn_cmfe.pySucceeded10
115hybridcoord_expr.pySucceeded8
116hybridcurve_anim.pySucceeded8
117hybridcurve_expressions.pySucceeded8
118hybridcylindrical_radius.pySucceeded10
119hybriddefvar_anim.pySucceeded7
120hybridexpr2engine.pySucceeded7
121hybridexprList.pySucceeded7
122hybridexpr_cmfe.pySucceeded8
123hybridexpressions.pySucceeded19
124hybridfield_operators.pySucceeded13
125hybridghost_node.pySucceeded7
126hybridimage_proc.pySucceeded8
127hybridkeyframe.pySucceeded24
152operatorslcs.pySucceeded271
128hybridlambda2.pySucceeded9
153operatorsremap.pySucceeded67
154operatorsslice.pySucceeded18
155operatorstube.pySucceeded8
156operatorsamr_stitch.pySucceeded9
157operatorscart_proj.pySucceeded With Skips12
172operatorslcs_ic_1.pySucceeded141
158operatorscracksclipper.pySucceeded26
159operatorsdefer_expr.pySucceeded36
160operatorsdisplace.pySucceeded9
161operatorsdual_mesh.pySucceeded With Skips12
162operatorselevate.pySucceeded10
163operatorsex_surf.pySucceeded9
164operatorsexplode.pySucceeded31
173operatorslcs_ic_2.pySucceeded187
165operatorsic_integration.pySucceeded11
166operatorsic_pathlines.pySucceeded13
167operatorsic_pics.pySucceeded106
168operatorsic_termination.pySucceeded8
174operatorslcs_lc_1.pySucceeded160
169operatorsindexselect.pySucceeded16
170operatorsinverse_ghost_zone.pySucceeded8
171operatorsisovolume.pySucceeded10
215queriespick.pySucceeded With Skips152
216queriesscf.pySucceeded9
217queriesIntegralCurveInfo.pySkipped(skipped)
175operatorslcs_lc_2.pySucceeded245
218queriesavg_value.pySucceeded With Skips18
176operatorsmoveoperators.pySucceeded12
219queriesbestfitline.pySucceeded13
177operatorsmultires.pySucceeded7
220queriescasetest.pySucceeded7
221queriescentroid.pySucceeded14
222queriesconncomp.pySucceeded10
223queriesconsistencyChecks.pySucceeded8
224queriescurvature.pySucceeded7
225queriesdatabase.pySucceeded25
178operatorsonionpeel.pySucceeded126
179operatorsoperators.pySucceeded8
226queriesflatten.pySucceeded79
180operatorspersistent_particles.pySucceeded43
227queriesgridinformation.pySucceeded10
181operatorsradial_resample.pySucceeded8
228querieshohlraum.pySucceeded15
182operatorsresample.pySucceeded7
229querieskurtosis.pySucceeded7
183operatorsrevolve.pySucceeded6
184operatorssph_resample.pySucceeded7
185operatorstessellate.pySucceeded11
186operatorsthreeslice.pySucceeded7
187operatorsthreshold.pySucceeded10
188operatorstransform.pySucceeded9
230queriesl2norm.pySucceeded102
189operatorsextrudeStacked.pySucceeded15
231querieslength.pySucceeded15
190operatorsic_geometry.pySucceeded29
232queriesline_scan.pySucceeded46
233queriespickNamedArgs.pySucceeded15
234queriespickarray.pySucceeded9
235queriespickcleanzonesonly.pySucceeded7
236queriespy_queries.pySucceeded7
191operatorsic_streamlines.pySucceeded96
192operatorsreflect.pySucceeded18
193plotscurve.pySucceeded14
194plotslabel.pySucceeded225
195plotsmesh.pySucceeded14
196plotscontour.pySucceeded14
197plotsfilledboundary.pySucceeded9
198plotsmesh_c.pySucceeded19
199plotsmolecule.pySucceeded10
200plotsmulticolor.pySucceeded10
201plotsparcoords.pySucceeded10
202plotspseudocolor.pySucceeded18
203plotsray_trace.pySucceeded10
204plotsscatter.pySucceeded34
205plotssinglecolor.pySucceeded12
206plotssubset.pySucceeded10
207plotssurface.pySucceeded18
208plotstensor.pySucceeded15
237queriesqueriesOverTime.pySucceeded643
209plotstruecolor.pySucceeded7
238queriesqueryMultiWindow.pySucceeded9
210plotsvector.pySucceeded15
239queriesrevolved_surface_area.pySucceeded8
211plotsvolumePlot.pySucceeded With Skips21
240queriessurface_area_over_time.pySucceeded72
241queriesvariable_sum_volume.pySucceeded8
242querieswatertight.pySucceeded7
243querieserror_queries.pySucceeded7
212pluginsdatabasesVsInstall.pyUnacceptable99
213pluginsoperatorsVsInstall.pyUnacceptable52
214pluginsplotsVsInstall.pyUnacceptable50
258renderingimage.pySucceeded7
259renderingview.pySucceeded24
244queriesxrayimage.pySucceeded182
260renderingannotation.pySucceeded11
245quickrecipesview.pySucceeded8
261renderingaxislabels.pySucceeded9
246quickrecipescl_args.pySucceeded5
262renderingaxistitles.pySucceeded9
247quickrecipescolortables.pySucceeded9
248quickrecipesexpressions.pySucceeded6
249quickrecipeshow_to_start.pySkipped(skipped)
250quickrecipesopening_compute_engine.pySkipped(skipped)
263renderingbigdata.pySucceeded With Skips7
264renderingcolortexture.pySucceeded7
265renderingcompositing.pySkipped(skipped)
251quickrecipesoperators.pySucceeded18
266renderingevalcubic.pySucceeded8
252quickrecipessaving_images.pySucceeded5
253quickrecipessubsetting.pySucceeded7
267renderinglegends.pySucceeded With Skips19
254quickrecipesworking_with_annotations.pySucceeded8
268renderinglighting.pySucceeded7
255quickrecipesworking_with_dbs.pySucceeded9
269renderingline2d.pySucceeded8
270renderingline3d.pySucceeded8
256quickrecipesworking_with_plots.pySucceeded15
271renderingospray.pySucceeded13
257quickrecipesquantitative_operations.pySucceeded20
272renderingpixeldata.pySucceeded With Skips13
301simulationcsg.pySucceeded30
273renderingrenderpoints.pySucceeded26
302simulationcurve.pySucceeded With Skips14
274renderingsaveformats.pySucceeded13
303simulationlife.pySucceeded With Skips9
275renderingscalable2.pySucceeded11
304simulationmesh.pySucceeded9
305simulationpoint.pySucceeded9
276renderingscalable_c.pySucceeded31
306simulationvar.pySucceeded9
277renderingshadows.pySucceeded7
307simulationaresamr.pySucceeded9
278renderingspecular.pySucceeded8
308simulationdomainbounds.pySucceeded8
279renderingtext2d.pySucceeded8
309simulationdomainlist.pySucceeded16
280renderingtext3d.pySucceeded10
281renderingtimeslider.pySucceeded10
310simulationghostcells.pySucceeded16
282renderingtransparency.pySucceeded14
311simulationglobalids.pySucceeded19
312simulationinterleave.pySucceeded12
283renderingviewChange.pySucceeded26
284renderingvolume.pySucceeded With Skips11
313simulationmandelbrot.pySucceeded29
314simulationmaterial.pySucceeded9
285renderingscalable.pySucceeded32
315simulationmaterialvar.pySucceeded10
316simulationmultiblock.pySucceeded11
286renderingoffscreensave.pySucceeded28
317simulationpolyhedral.pySucceeded9
287sessioncolortable.pySucceeded7
318simulationscalar.pySucceeded9
288sessioncorrelationsession.pySucceeded9
289sessionlegendproperties.pySucceeded With Skips7
319simulationspecies.pySucceeded10
290sessionrect3d-contour.pySucceeded7
291sessionrestorewithsources.pySucceeded8
320simulationucdcurve.pySucceeded25
292sessionselection.pySucceeded7
321simulationunstructured.pySucceeded8
293sessionsessionexpression.pySucceeded7
322simulationupdateplots.pySucceeded11
294sessionsessionview.pySucceeded13
295sessionsimplekeyframe.pySucceeded10
296sessiontextannot.pySucceeded7
323simulationupdateplots_session.pySucceeded52
297sessionview3d.pySucceeded6
298sessionwavecontour.pySucceeded7
324simulationzerocopy.pySucceeded With Skips31
299simulationamr.pySucceeded8
325unitannotation_objects.pySucceeded5
326unitatts_assign.pySucceeded9
327unitcompiler_warnings.pySkipped(skipped)
300simulationbatch.pySucceeded37
328unitconvert2to3.pySucceeded6
329unitdefault_methods.pySucceeded6
330unitlauncher.pySucceeded17
331unitmrucache.pySucceeded5
332unitnamescheme.pySucceeded5
333unitprotocol.pySucceeded6
334unitstringhelpers.pySucceeded5
335unittest_value_simple.pySucceeded5
336unitutility.pySucceeded5
+Test suite run complete at 2023:11:09:01:55:42 (5756 seconds). + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/js/jquery-3.6.1.min.js b/2023-11-08-22:00/pascal_trunk_parallel/js/jquery-3.6.1.min.js new file mode 100644 index 000000000..2c69bc908 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/js/jquery-3.6.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 1) { + arr = arr.concat(checkCellColSpan(table, headerArr, row++)); + } else { + if (table.tHead.length == 1 || (cell.rowSpan > 1 || !r[row + 1])) { + arr.push(cell); + } + // headerArr[row] = (i+row); + } + } + return arr; + }; + + function checkHeaderMetadata(cell) { + if (($.metadata) && ($(cell).metadata().sorter === false)) { + return true; + }; + return false; + } + + function checkHeaderOptions(table, i) { + if ((table.config.headers[i]) && (table.config.headers[i].sorter === false)) { + return true; + }; + return false; + } + + function checkHeaderOptionsSortingLocked(table, i) { + if ((table.config.headers[i]) && (table.config.headers[i].lockedOrder)) return table.config.headers[i].lockedOrder; + return false; + } + + function applyWidget(table) { + var c = table.config.widgets; + var l = c.length; + for (var i = 0; i < l; i++) { + + getWidgetById(c[i]).format(table); + } + + } + + function getWidgetById(name) { + var l = widgets.length; + for (var i = 0; i < l; i++) { + if (widgets[i].id.toLowerCase() == name.toLowerCase()) { + return widgets[i]; + } + } + }; + + function formatSortingOrder(v) { + if (typeof(v) != "Number") { + return (v.toLowerCase() == "desc") ? 1 : 0; + } else { + return (v == 1) ? 1 : 0; + } + } + + function isValueInArray(v, a) { + var l = a.length; + for (var i = 0; i < l; i++) { + if (a[i][0] == v) { + return true; + } + } + return false; + } + + function setHeadersCss(table, $headers, list, css) { + // remove all header information + $headers.removeClass(css[0]).removeClass(css[1]); + + var h = []; + $headers.each(function (offset) { + if (!this.sortDisabled) { + h[this.column] = $(this); + } + }); + + var l = list.length; + for (var i = 0; i < l; i++) { + h[list[i][0]].addClass(css[list[i][1]]); + } + } + + function fixColumnWidth(table, $headers) { + var c = table.config; + if (c.widthFixed) { + var colgroup = $(''); + $("tr:first td", table.tBodies[0]).each(function () { + colgroup.append($('').css('width', $(this).width())); + }); + $(table).prepend(colgroup); + }; + } + + function updateHeaderSortCount(table, sortList) { + var c = table.config, + l = sortList.length; + for (var i = 0; i < l; i++) { + var s = sortList[i], + o = c.headerList[s[0]]; + o.count = s[1]; + o.count++; + } + } + + /* sorting methods */ + + var sortWrapper; + + function multisort(table, sortList, cache) { + + if (table.config.debug) { + var sortTime = new Date(); + } + + var dynamicExp = "sortWrapper = function(a,b) {", + l = sortList.length; + + // TODO: inline functions. + for (var i = 0; i < l; i++) { + + var c = sortList[i][0]; + var order = sortList[i][1]; + // var s = (getCachedSortType(table.config.parsers,c) == "text") ? + // ((order == 0) ? "sortText" : "sortTextDesc") : ((order == 0) ? + // "sortNumeric" : "sortNumericDesc"); + // var s = (table.config.parsers[c].type == "text") ? ((order == 0) + // ? makeSortText(c) : makeSortTextDesc(c)) : ((order == 0) ? + // makeSortNumeric(c) : makeSortNumericDesc(c)); + var s = (table.config.parsers[c].type == "text") ? ((order == 0) ? makeSortFunction("text", "asc", c) : makeSortFunction("text", "desc", c)) : ((order == 0) ? makeSortFunction("numeric", "asc", c) : makeSortFunction("numeric", "desc", c)); + var e = "e" + i; + + dynamicExp += "var " + e + " = " + s; // + "(a[" + c + "],b[" + c + // + "]); "; + dynamicExp += "if(" + e + ") { return " + e + "; } "; + dynamicExp += "else { "; + + } + + // if value is the same keep orignal order + var orgOrderCol = cache.normalized[0].length - 1; + dynamicExp += "return a[" + orgOrderCol + "]-b[" + orgOrderCol + "];"; + + for (var i = 0; i < l; i++) { + dynamicExp += "}; "; + } + + dynamicExp += "return 0; "; + dynamicExp += "}; "; + + if (table.config.debug) { + benchmark("Evaling expression:" + dynamicExp, new Date()); + } + + eval(dynamicExp); + + cache.normalized.sort(sortWrapper); + + if (table.config.debug) { + benchmark("Sorting on " + sortList.toString() + " and dir " + order + " time:", sortTime); + } + + return cache; + }; + + function makeSortFunction(type, direction, index) { + var a = "a[" + index + "]", + b = "b[" + index + "]"; + if (type == 'text' && direction == 'asc') { + return "(" + a + " == " + b + " ? 0 : (" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : (" + a + " < " + b + ") ? -1 : 1 )));"; + } else if (type == 'text' && direction == 'desc') { + return "(" + a + " == " + b + " ? 0 : (" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : (" + b + " < " + a + ") ? -1 : 1 )));"; + } else if (type == 'numeric' && direction == 'asc') { + return "(" + a + " === null && " + b + " === null) ? 0 :(" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : " + a + " - " + b + "));"; + } else if (type == 'numeric' && direction == 'desc') { + return "(" + a + " === null && " + b + " === null) ? 0 :(" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : " + b + " - " + a + "));"; + } + }; + + function makeSortText(i) { + return "((a[" + i + "] < b[" + i + "]) ? -1 : ((a[" + i + "] > b[" + i + "]) ? 1 : 0));"; + }; + + function makeSortTextDesc(i) { + return "((b[" + i + "] < a[" + i + "]) ? -1 : ((b[" + i + "] > a[" + i + "]) ? 1 : 0));"; + }; + + function makeSortNumeric(i) { + return "a[" + i + "]-b[" + i + "];"; + }; + + function makeSortNumericDesc(i) { + return "b[" + i + "]-a[" + i + "];"; + }; + + function sortText(a, b) { + if (table.config.sortLocaleCompare) return a.localeCompare(b); + return ((a < b) ? -1 : ((a > b) ? 1 : 0)); + }; + + function sortTextDesc(a, b) { + if (table.config.sortLocaleCompare) return b.localeCompare(a); + return ((b < a) ? -1 : ((b > a) ? 1 : 0)); + }; + + function sortNumeric(a, b) { + return a - b; + }; + + function sortNumericDesc(a, b) { + return b - a; + }; + + function getCachedSortType(parsers, i) { + return parsers[i].type; + }; /* public methods */ + this.construct = function (settings) { + return this.each(function () { + // if no thead or tbody quit. + if (!this.tHead || !this.tBodies) return; + // declare + var $this, $document, $headers, cache, config, shiftDown = 0, + sortOrder; + // new blank config object + this.config = {}; + // merge and extend. + config = $.extend(this.config, $.tablesorter.defaults, settings); + // store common expression for speed + $this = $(this); + // save the settings where they read + $.data(this, "tablesorter", config); + // build headers + $headers = buildHeaders(this); + // try to auto detect column type, and store in tables config + this.config.parsers = buildParserCache(this, $headers); + // build the cache for the tbody cells + cache = buildCache(this); + // get the css class names, could be done else where. + var sortCSS = [config.cssDesc, config.cssAsc]; + // fixate columns if the users supplies the fixedWidth option + fixColumnWidth(this); + // apply event handling to headers + // this is to big, perhaps break it out? + $headers.click( + + function (e) { + var totalRows = ($this[0].tBodies[0] && $this[0].tBodies[0].rows.length) || 0; + if (!this.sortDisabled && totalRows > 0) { + // Only call sortStart if sorting is + // enabled. + $this.trigger("sortStart"); + // store exp, for speed + var $cell = $(this); + // get current column index + var i = this.column; + // get current column sort order + this.order = this.count++ % 2; + // always sort on the locked order. + if(this.lockedOrder) this.order = this.lockedOrder; + + // user only whants to sort on one + // column + if (!e[config.sortMultiSortKey]) { + // flush the sort list + config.sortList = []; + if (config.sortForce != null) { + var a = config.sortForce; + for (var j = 0; j < a.length; j++) { + if (a[j][0] != i) { + config.sortList.push(a[j]); + } + } + } + // add column to sort list + config.sortList.push([i, this.order]); + // multi column sorting + } else { + // the user has clicked on an all + // ready sortet column. + if (isValueInArray(i, config.sortList)) { + // revers the sorting direction + // for all tables. + for (var j = 0; j < config.sortList.length; j++) { + var s = config.sortList[j], + o = config.headerList[s[0]]; + if (s[0] == i) { + o.count = s[1]; + o.count++; + s[1] = o.count % 2; + } + } + } else { + // add column to sort list array + config.sortList.push([i, this.order]); + } + }; + setTimeout(function () { + // set css for headers + setHeadersCss($this[0], $headers, config.sortList, sortCSS); + appendToTable( + $this[0], multisort( + $this[0], config.sortList, cache) + ); + }, 1); + // stop normal event by returning false + return false; + } + // cancel selection + }).mousedown(function () { + if (config.cancelSelection) { + this.onselectstart = function () { + return false + }; + return false; + } + }); + // apply easy methods that trigger binded events + $this.bind("update", function () { + var me = this; + setTimeout(function () { + // rebuild parsers. + me.config.parsers = buildParserCache( + me, $headers); + // rebuild the cache map + cache = buildCache(me); + }, 1); + }).bind("updateCell", function (e, cell) { + var config = this.config; + // get position from the dom. + var pos = [(cell.parentNode.rowIndex - 1), cell.cellIndex]; + // update cache + cache.normalized[pos[0]][pos[1]] = config.parsers[pos[1]].format( + getElementText(config, cell), cell); + }).bind("sorton", function (e, list) { + $(this).trigger("sortStart"); + config.sortList = list; + // update and store the sortlist + var sortList = config.sortList; + // update header count index + updateHeaderSortCount(this, sortList); + // set css for headers + setHeadersCss(this, $headers, sortList, sortCSS); + // sort the table and append it to the dom + appendToTable(this, multisort(this, sortList, cache)); + }).bind("appendCache", function () { + appendToTable(this, cache); + }).bind("applyWidgetId", function (e, id) { + getWidgetById(id).format(this); + }).bind("applyWidgets", function () { + // apply widgets + applyWidget(this); + }); + if ($.metadata && ($(this).metadata() && $(this).metadata().sortlist)) { + config.sortList = $(this).metadata().sortlist; + } + // if user has supplied a sort list to constructor. + if (config.sortList.length > 0) { + $this.trigger("sorton", [config.sortList]); + } + // apply widgets + applyWidget(this); + }); + }; + this.addParser = function (parser) { + var l = parsers.length, + a = true; + for (var i = 0; i < l; i++) { + if (parsers[i].id.toLowerCase() == parser.id.toLowerCase()) { + a = false; + } + } + if (a) { + parsers.push(parser); + }; + }; + this.addWidget = function (widget) { + widgets.push(widget); + }; + this.formatFloat = function (s) { + var i = parseFloat(s); + return (isNaN(i)) ? 0 : i; + }; + this.formatInt = function (s) { + var i = parseInt(s); + return (isNaN(i)) ? 0 : i; + }; + this.isDigit = function (s, config) { + // replace all an wanted chars and match. + return /^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g, ''))); + }; + this.clearTableBody = function (table) { + if ($.browser.msie) { + while (table.tBodies[0].firstChild) { + table.tBodies[0].removeChild(table.tBodies[0].firstChild); + } + } else { + table.tBodies[0].innerHTML = ""; + } + }; + } + }); + + // extend plugin scope + $.fn.extend({ + tablesorter: $.tablesorter.construct + }); + + // make shortcut + var ts = $.tablesorter; + + // add default parsers + ts.addParser({ + id: "text", + is: function (s) { + return true; + }, format: function (s) { + return $.trim(s.toLocaleLowerCase()); + }, type: "text" + }); + + ts.addParser({ + id: "digit", + is: function (s, table) { + var c = table.config; + return $.tablesorter.isDigit(s, c); + }, format: function (s) { + return $.tablesorter.formatFloat(s); + }, type: "numeric" + }); + + ts.addParser({ + id: "currency", + is: function (s) { + return /^[£$€?.]/.test(s); + }, format: function (s) { + return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g), "")); + }, type: "numeric" + }); + + ts.addParser({ + id: "ipAddress", + is: function (s) { + return /^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s); + }, format: function (s) { + var a = s.split("."), + r = "", + l = a.length; + for (var i = 0; i < l; i++) { + var item = a[i]; + if (item.length == 2) { + r += "0" + item; + } else { + r += item; + } + } + return $.tablesorter.formatFloat(r); + }, type: "numeric" + }); + + ts.addParser({ + id: "url", + is: function (s) { + return /^(https?|ftp|file):\/\/$/.test(s); + }, format: function (s) { + return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//), '')); + }, type: "text" + }); + + ts.addParser({ + id: "isoDate", + is: function (s) { + return /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s); + }, format: function (s) { + return $.tablesorter.formatFloat((s != "") ? new Date(s.replace( + new RegExp(/-/g), "/")).getTime() : "0"); + }, type: "numeric" + }); + + ts.addParser({ + id: "percent", + is: function (s) { + return /\%$/.test($.trim(s)); + }, format: function (s) { + return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g), "")); + }, type: "numeric" + }); + + ts.addParser({ + id: "usLongDate", + is: function (s) { + return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/)); + }, format: function (s) { + return $.tablesorter.formatFloat(new Date(s).getTime()); + }, type: "numeric" + }); + + ts.addParser({ + id: "shortDate", + is: function (s) { + return /\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s); + }, format: function (s, table) { + var c = table.config; + s = s.replace(/\-/g, "/"); + if (c.dateFormat == "us") { + // reformat the string in ISO format + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$1/$2"); + } + if (c.dateFormat == "pt") { + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1"); + } else if (c.dateFormat == "uk") { + // reformat the string in ISO format + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1"); + } else if (c.dateFormat == "dd/mm/yy" || c.dateFormat == "dd-mm-yy") { + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/, "$1/$2/$3"); + } + return $.tablesorter.formatFloat(new Date(s).getTime()); + }, type: "numeric" + }); + ts.addParser({ + id: "time", + is: function (s) { + return /^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s); + }, format: function (s) { + return $.tablesorter.formatFloat(new Date("2000/01/01 " + s).getTime()); + }, type: "numeric" + }); + ts.addParser({ + id: "metadata", + is: function (s) { + return false; + }, format: function (s, table, cell) { + var c = table.config, + p = (!c.parserMetadataName) ? 'sortValue' : c.parserMetadataName; + return $(cell).metadata()[p]; + }, type: "numeric" + }); + // add default widgets + ts.addWidget({ + id: "zebra", + format: function (table) { + if (table.config.debug) { + var time = new Date(); + } + var $tr, row = -1, + odd; + // loop through the visible rows + $("tr:visible", table.tBodies[0]).each(function (i) { + $tr = $(this); + // style children rows the same way the parent + // row was styled + if (!$tr.hasClass(table.config.cssChildRow)) row++; + odd = (row % 2 == 0); + $tr.removeClass( + table.config.widgetZebra.css[odd ? 0 : 1]).addClass( + table.config.widgetZebra.css[odd ? 1 : 0]) + }); + if (table.config.debug) { + $.tablesorter.benchmark("Applying Zebra widget", time); + } + } + }); +})(jQuery); diff --git a/2023-11-08-22:00/pascal_trunk_parallel/js/purl.js b/2023-11-08-22:00/pascal_trunk_parallel/js/purl.js new file mode 100644 index 000000000..d25ca4c00 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/js/purl.js @@ -0,0 +1,271 @@ +/* + * JQuery URL Parser plugin, v2.2.1 + * Developed and maintanined by Mark Perkins, mark@allmarkedup.com + * Source repository: https://github.com/allmarkedup/jQuery-URL-Parser + * Licensed under an MIT-style license. See https://github.com/allmarkedup/jQuery-URL-Parser/blob/master/LICENSE for details. + */ + +;(function(factory) { + if (typeof define === 'function' && define.amd) { + // AMD available; use anonymous module + if ( typeof jQuery !== 'undefined' ) { + define(['jquery'], factory); + } else { + define([], factory); + } + } else { + // No AMD available; mutate global vars + if ( typeof jQuery !== 'undefined' ) { + factory(jQuery); + } else { + factory(); + } + } +})(function($, undefined) { + + var tag2attr = { + a : 'href', + img : 'src', + form : 'action', + base : 'href', + script : 'src', + iframe : 'src', + link : 'href' + }, + + key = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'], // keys available to query + + aliases = { 'anchor' : 'fragment' }, // aliases for backwards compatability + + parser = { + strict : /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, //less intuitive, more accurate to the specs + loose : /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // more intuitive, fails on relative paths and deviates from specs + }, + + toString = Object.prototype.toString, + + isint = /^[0-9]+$/; + + function parseUri( url, strictMode ) { + var str = decodeURI( url ), + res = parser[ strictMode || false ? 'strict' : 'loose' ].exec( str ), + uri = { attr : {}, param : {}, seg : {} }, + i = 14; + + while ( i-- ) { + uri.attr[ key[i] ] = res[i] || ''; + } + + // build query and fragment parameters + uri.param['query'] = parseString(uri.attr['query']); + uri.param['fragment'] = parseString(uri.attr['fragment']); + + // split path and fragement into segments + uri.seg['path'] = uri.attr.path.replace(/^\/+|\/+$/g,'').split('/'); + uri.seg['fragment'] = uri.attr.fragment.replace(/^\/+|\/+$/g,'').split('/'); + + // compile a 'base' domain attribute + uri.attr['base'] = uri.attr.host ? (uri.attr.protocol ? uri.attr.protocol+'://'+uri.attr.host : uri.attr.host) + (uri.attr.port ? ':'+uri.attr.port : '') : ''; + + return uri; + }; + + function getAttrName( elm ) { + var tn = elm.tagName; + if ( typeof tn !== 'undefined' ) return tag2attr[tn.toLowerCase()]; + return tn; + } + + function promote(parent, key) { + if (parent[key].length == 0) return parent[key] = {}; + var t = {}; + for (var i in parent[key]) t[i] = parent[key][i]; + parent[key] = t; + return t; + } + + function parse(parts, parent, key, val) { + var part = parts.shift(); + if (!part) { + if (isArray(parent[key])) { + parent[key].push(val); + } else if ('object' == typeof parent[key]) { + parent[key] = val; + } else if ('undefined' == typeof parent[key]) { + parent[key] = val; + } else { + parent[key] = [parent[key], val]; + } + } else { + var obj = parent[key] = parent[key] || []; + if (']' == part) { + if (isArray(obj)) { + if ('' != val) obj.push(val); + } else if ('object' == typeof obj) { + obj[keys(obj).length] = val; + } else { + obj = parent[key] = [parent[key], val]; + } + } else if (~part.indexOf(']')) { + part = part.substr(0, part.length - 1); + if (!isint.test(part) && isArray(obj)) obj = promote(parent, key); + parse(parts, obj, part, val); + // key + } else { + if (!isint.test(part) && isArray(obj)) obj = promote(parent, key); + parse(parts, obj, part, val); + } + } + } + + function merge(parent, key, val) { + if (~key.indexOf(']')) { + var parts = key.split('['), + len = parts.length, + last = len - 1; + parse(parts, parent, 'base', val); + } else { + if (!isint.test(key) && isArray(parent.base)) { + var t = {}; + for (var k in parent.base) t[k] = parent.base[k]; + parent.base = t; + } + set(parent.base, key, val); + } + return parent; + } + + function parseString(str) { + return reduce(String(str).split(/&|;/), function(ret, pair) { + try { + pair = decodeURIComponent(pair.replace(/\+/g, ' ')); + } catch(e) { + // ignore + } + var eql = pair.indexOf('='), + brace = lastBraceInKey(pair), + key = pair.substr(0, brace || eql), + val = pair.substr(brace || eql, pair.length), + val = val.substr(val.indexOf('=') + 1, val.length); + + if ('' == key) key = pair, val = ''; + + return merge(ret, key, val); + }, { base: {} }).base; + } + + function set(obj, key, val) { + var v = obj[key]; + if (undefined === v) { + obj[key] = val; + } else if (isArray(v)) { + v.push(val); + } else { + obj[key] = [v, val]; + } + } + + function lastBraceInKey(str) { + var len = str.length, + brace, c; + for (var i = 0; i < len; ++i) { + c = str[i]; + if (']' == c) brace = false; + if ('[' == c) brace = true; + if ('=' == c && !brace) return i; + } + } + + function reduce(obj, accumulator){ + var i = 0, + l = obj.length >> 0, + curr = arguments[2]; + while (i < l) { + if (i in obj) curr = accumulator.call(undefined, curr, obj[i], i, obj); + ++i; + } + return curr; + } + + function isArray(vArg) { + return Object.prototype.toString.call(vArg) === "[object Array]"; + } + + function keys(obj) { + var keys = []; + for ( prop in obj ) { + if ( obj.hasOwnProperty(prop) ) keys.push(prop); + } + return keys; + } + + function purl( url, strictMode ) { + if ( arguments.length === 1 && url === true ) { + strictMode = true; + url = undefined; + } + strictMode = strictMode || false; + url = url || window.location.toString(); + + return { + + data : parseUri(url, strictMode), + + // get various attributes from the URI + attr : function( attr ) { + attr = aliases[attr] || attr; + return typeof attr !== 'undefined' ? this.data.attr[attr] : this.data.attr; + }, + + // return query string parameters + param : function( param ) { + return typeof param !== 'undefined' ? this.data.param.query[param] : this.data.param.query; + }, + + // return fragment parameters + fparam : function( param ) { + return typeof param !== 'undefined' ? this.data.param.fragment[param] : this.data.param.fragment; + }, + + // return path segments + segment : function( seg ) { + if ( typeof seg === 'undefined' ) { + return this.data.seg.path; + } else { + seg = seg < 0 ? this.data.seg.path.length + seg : seg - 1; // negative segments count from the end + return this.data.seg.path[seg]; + } + }, + + // return fragment segments + fsegment : function( seg ) { + if ( typeof seg === 'undefined' ) { + return this.data.seg.fragment; + } else { + seg = seg < 0 ? this.data.seg.fragment.length + seg : seg - 1; // negative segments count from the end + return this.data.seg.fragment[seg]; + } + } + + }; + + }; + + if ( typeof $ !== 'undefined' ) { + + $.fn.url = function( strictMode ) { + var url = ''; + if ( this.length ) { + url = $(this).attr( getAttrName(this[0]) ) || ''; + } + return purl( url, strictMode ); + }; + + $.url = purl; + + } else { + window.purl = purl; + } + +}); + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_arbpoly.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_arbpoly.html new file mode 100644 index 000000000..5e1ac1297 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_arbpoly.html @@ -0,0 +1,90 @@ + +Results for meshtype/arbpoly.py + +

Results of VisIt Regression Test - meshtype/arbpoly

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
arbpoly_010.000.00
arbpoly_020.000.00
arbpoly_030.000.00
arbpoly_040.000.00
arbpoly_050.000.00
arbpoly_060.000.00
arbpoly_070.000.00
arbpoly_080.000.00
arbpoly_090.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_arbpoly_py.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_arbpoly_py.html new file mode 100644 index 000000000..801a934f6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_arbpoly_py.html @@ -0,0 +1,124 @@ +meshtype/arbpoly.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  arbpoly.py
+#
+#  Tests:      mesh      - a ucd mesh with arbitrary polyhedral zones
+#              plots     - pc, contour, mat subset, mesh
+#              operators - OnionPeel
+#              selection - material
+#
+#  Defect ID:  none
+#
+#  Programmer: Mark C. Miller
+#  Date:       October 24, 2004
+#
+#  Modifications
+#    Mark C. Miller, Tue Oct 20 16:30:31 PDT 2009
+#    Added tests for fully arbitrary mesh
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Aug 26 08:55:04 PDT 2010
+#    Update set index after SIL generation changes.
+#
+#    Kathleen Biagas, Wed Sep 10 14:15:44 PDT 2014
+#    Added tests for OnionPeel'd arb poly, and a single-zone arb-poly set.
+#
+#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
+#    Replace use of meshatts 'backgroundFlag' with opaqueColorSource.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("poly3d.silo"))
+
+
+AddPlot("Mesh", "ucdmesh3d")
+DrawPlots()
+
+v = GetView3D()
+v.SetViewNormal(-0.0356529, 0.010858, 0.999305)
+v.SetViewUp(0.0100239, 0.999895, -0.0105068)
+v.SetImageZoom(2.75)
+SetView3D(v)
+
+Test("arbpoly_01")
+
+#
+# See if we can handle a zone centered variable correctly
+#
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+Test("arbpoly_02")
+
+DeleteActivePlots()
+
+#
+# See if we can handle a material correctly
+# Turn off alternate materials.
+AddPlot("FilledBoundary", "mat1")
+silr=SILRestriction()
+silr.TurnOffSet(2)
+SetPlotSILRestriction(silr)
+DrawPlots()
+
+Test("arbpoly_03")
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("poly3d.silo"))
+
+
+OpenDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
+
+AddPlot("Mesh","MMESH")
+DrawPlots()
+ma = MeshAttributes()
+ma.opaqueColor = (0, 200, 200, 255)
+ma.opaqueMode = ma.On
+ma.opaqueColorSource = ma.OpaqueCustom
+SetPlotOptions(ma)
+ResetView()
+Test("arbpoly_04")
+v = GetView3D()
+v.SetViewNormal(-0.433013, 0.5, 0.75)
+v.SetViewUp(0.25, 0.866025, -0.433013)
+SetView3D(v)
+Test("arbpoly_05")
+ma.opaqueMode = ma.Off
+SetPlotOptions(ma)
+
+AddPlot("Pseudocolor","nvar0")
+DrawPlots()
+Test("arbpoly_06")
+DeleteActivePlots()
+
+AddPlot("Pseudocolor","zvar3")
+DrawPlots()
+Test("arbpoly_07")
+
+DeleteActivePlots()
+ma.lineWidth = 3
+SetPlotOptions(ma)
+AddPlot("FilledBoundary", "MMATERIAL")
+AddPlot("Subset", "domains")
+AddOperator("OnionPeel", 1)
+op = OnionPeelAttributes()
+op.index = 99
+SetOperatorOptions(op,0,1)
+DrawPlots()
+Test("arbpoly_08")
+DeleteAllPlots()
+CloseDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
+
+OpenDatabase(silo_data_path("arbpoly.silo"))
+AddPlot("Mesh", "clipped_hex")
+ma.opaqueMode = ma.On
+SetPlotOptions(ma)
+DrawPlots()
+Test("arbpoly_09")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_csg.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_csg.html new file mode 100644 index 000000000..406f6e233 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_csg.html @@ -0,0 +1,78 @@ + +Results for meshtype/csg.py + +

Results of VisIt Regression Test - meshtype/csg

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
csg_010.000.00
csg_020.000.00
csg_030.000.00
csg_040.000.00
csg_050.000.00
csg_070.000.00
csg_080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_csg_py.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_csg_py.html new file mode 100644 index 000000000..51f3212a8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_csg_py.html @@ -0,0 +1,177 @@ +meshtype/csg.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  csg.py
+#
+#  Tests:      mesh      - a csg mesh
+#              subset plot
+#              selection - subset
+#
+#  Programmer: Mark C. Miller 
+#  Date:       August 16, 2005
+#
+#  Mofications:
+#
+#    Mark C. Miller, Sun Dec  3 12:20:11 PST 2006
+#    Added tests for materials, variables and Matt's csg data
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Mark C. Miller, Fri Apr  2 17:31:28 PDT 2010
+#    Replaced first two tests with subset plot instead of mesh plot.
+#    Used MultiPass instead of uniform for first test.
+# ----------------------------------------------------------------------------
+
+mma=MeshManagementAttributes()
+mma.discretizationMode = mma.Adaptive
+mma.discretizationTolerance=(0.01, 0.25)
+SetMeshManagementAttributes(mma)
+OpenDatabase(silo_data_path("csg.silo"))
+
+
+#
+# the mesh named "csgmesh" uses just spheres, cylinder and plane
+# primitives
+#
+AddPlot("Subset", "csgmesh")
+DrawPlots()
+v = GetView3D()
+v.SetViewNormal(0.650274, -0.646958, 0.398232)
+v.SetViewUp(-0.290226, 0.272881, 0.917227)
+SetView3D(v)
+Test("csg_01")
+
+#
+# Change the discretization tolerance and mode
+#
+mma.discretizationMode = mma.MultiPass
+mma.discretizationTolerance=(0.02, 0.25)
+SetMeshManagementAttributes(mma)
+ReOpenDatabase(silo_data_path("csg.silo"))
+
+ClearWindow()
+DrawPlots()
+Test("csg_02")
+DeleteAllPlots()
+ResetView()
+
+#
+# Ok, lets try Greg Greenman's example mesh. It uses
+# all general quadrics and planes
+#
+mma.discretizationTolerance=(0.005, 0.25)
+mma.discretizationMode = mma.Adaptive
+SetMeshManagementAttributes(mma)
+ReOpenDatabase(silo_data_path("csg.silo"))
+
+AddPlot("Subset", "regions(greenman_mesh)")
+DrawPlots()
+v = GetView3D()
+v.SetViewNormal(-0.496376, -0.386195, -0.777473)
+v.SetViewUp(0.865609, -0.152286, -0.477001)
+SetView3D(v)
+Test("csg_03")
+
+#
+# Find set ids using their names
+#
+voidSetId = -1
+uraniumSetId = -1
+airSetId = -1
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if silr.SetName(i) == "void":
+        voidSetId = i
+    elif silr.SetName(i) == "uranium":
+        uraniumSetId = i
+    elif silr.SetName(i) == "air":
+        airSetId = i
+
+#
+# Turn off the air
+#
+silr.TurnOffSet(airSetId)
+SetPlotSILRestriction(silr)
+Test("csg_04")
+
+#
+# Turn on air, but turn void and uranium off
+#
+silr.TurnOnSet(airSetId)
+silr.TurnOffSet(voidSetId)
+silr.TurnOffSet(uraniumSetId)
+SetPlotSILRestriction(silr)
+Test("csg_05")
+
+#
+# Try a material plot
+#
+#DeleteAllPlots()
+#AddPlot("FilledBoundary","mat")
+#AddPlot("Mesh","csgmesh")
+#DrawPlots()
+#ResetView()
+#v = GetView3D()
+#v.SetViewNormal(0.650274, -0.646958, 0.398232)
+#v.SetViewUp(-0.290226, 0.272881, 0.917227)
+#SetView3D(v)
+#Test("csg_06")
+
+#
+# Try plotting a variable
+#
+DeleteAllPlots()
+AddPlot("Pseudocolor","var1")
+AddPlot("Mesh","csgmesh")
+DrawPlots()
+ResetView()
+v = GetView3D()
+v.SetViewNormal(0.650274, -0.646958, 0.398232)
+v.SetViewUp(-0.290226, 0.272881, 0.917227)
+SetView3D(v)
+Test("csg_07")
+
+#
+# Try various other objects in this file 
+#
+DeleteAllPlots()
+
+#
+# Now use Matt's Fusion data
+#
+DeleteAllPlots()
+CloseDatabase(silo_data_path("csg.silo"))
+
+mma.discretizationTolerance=(0.05, 0.25)
+mma.discretizationMode = mma.Adaptive
+SetMeshManagementAttributes(mma)
+OpenDatabase(data_path("csg_test_data/Fusion_000001_root.gra"))
+
+AddPlot("FilledBoundary","MC_Material(MC_ThreeD_Structured)")
+DrawPlots()
+silr = SILRestriction()
+for i in range(silr.NumSets()):
+    if silr.SetName(i) == "2 Concrete_B":
+        silr.TurnOffSet(i)
+    if silr.SetName(i) == "6 Concrete_F":
+        silr.TurnOffSet(i)
+    if silr.SetName(i) == "7 Concrete_G":
+        silr.TurnOffSet(i)
+    if silr.SetName(i) == "8 Air_A":
+        silr.TurnOffSet(i)
+    if silr.SetName(i) == "9 Air_B":
+        silr.TurnOffSet(i)
+    if silr.SetName(i) == "10 Air_C":
+        silr.TurnOffSet(i)
+SetPlotSILRestriction(silr)
+ResetView()
+v = GetView3D()
+v.SetViewNormal(-0.5, -0.852869, -0.150384)
+v.SetViewUp(0.0, -0.173648, 0.984808)
+v.imageZoom = 1.5
+SetView3D(v)
+Test("csg_08")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_degen_mesh.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_degen_mesh.html new file mode 100644 index 000000000..3823e27ec --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_degen_mesh.html @@ -0,0 +1,84 @@ + +Results for meshtype/degen_mesh.py + +

Results of VisIt Regression Test - meshtype/degen_mesh

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
degen_mesh_010.000.00
degen_mesh_020.000.00
degen_mesh_030.000.00
degen_mesh_040.000.00
degen_mesh_050.000.00
degen_mesh_060.000.00
degen_mesh_070.000.00
degen_mesh_080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_degen_mesh_py.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_degen_mesh_py.html new file mode 100644 index 000000000..5dcbdba87 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_degen_mesh_py.html @@ -0,0 +1,260 @@ +meshtype/degen_mesh.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  degenerate.py
+#
+#  Tests:      mesh      - 3D curvilinear, rectilinear
+#              plots     - pc, contour, mesh
+#              operators - none
+#              selection - none
+#
+#  Defect ID:  '5333 & '5335
+#
+#  Programmer: Hank Childs
+#  Date:       August 26, 2004
+#
+#
+#  Modifications:
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+
+
+# Define some expressions that will be handy for later.
+DefineVectorExpression("coords_plus1", "coords(mesh)")
+DefineVectorExpression("coords", "{coords_plus1[0]-1., coords_plus1[1]-1., coords_plus1[2]-1. }")
+DefineVectorExpression("i_disp", "{ -sqrt(coords[1]*coords[1] + coords[2]*coords[2]), 0, 0 }")
+DefineVectorExpression("j_disp", "{ 0, -sqrt(coords[0]*coords[0] + coords[2]*coords[2]), 0 }")
+DefineVectorExpression("k_disp", "{ 0, 0, -sqrt(coords[0]*coords[0] + coords[1]*coords[1]) }")
+DefineScalarExpression("pos", "sqrt(coords[0]*coords[0]+coords[1]*coords[1]+coords[2]*coords[2])")
+
+#
+# Start off by testing curvilinear meshes.
+#
+
+# Test that we can make the meshes with no modification.
+OpenDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
+
+AddPlot("Mesh", "mesh")
+# If you do a DrawPlots now, you will exhibit '5337
+OpenDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
+
+AddPlot("Mesh", "mesh")
+OpenDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+Test("degen_mesh_01")
+
+# Test that we can handle displacing them and operating on them with
+# expressions.
+disp = DisplaceAttributes()
+disp.variable = "i_disp"
+SetDefaultOperatorOptions(disp)
+SetActivePlots(0)
+AddOperator("Displace")
+disp.variable = "j_disp"
+SetDefaultOperatorOptions(disp)
+SetActivePlots(1)
+AddOperator("Displace")
+disp.variable = "k_disp"
+SetDefaultOperatorOptions(disp)
+SetActivePlots(2)
+AddOperator("Displace")
+DrawPlots()
+
+v= GetView3D()
+v.viewNormal = (0.449864, 0.604932, 0.657023)
+v.focus = (0.801178, 0.801178, 0.801178)
+v.viewUp = (0.377875, 0.537649, -0.753753)
+v.viewAngle = 30
+v.parallelScale = 2.00714
+v.nearPlane = -4.01428
+v.farPlane = 4.01428
+v.imagePan = (0, 0)
+v.imageZoom = 0.873008
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, 0, 0)
+SetView3D(v)
+Test("degen_mesh_02")
+
+# Test that we can do PC plots ('5335)
+ActivateDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
+
+AddPlot("Pseudocolor", "pos")
+disp = DisplaceAttributes()
+disp.variable = "i_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+ActivateDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
+
+AddPlot("Pseudocolor", "pos")
+disp.variable = "j_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+ActivateDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
+
+AddPlot("Pseudocolor", "pos")
+disp.variable = "k_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+DrawPlots()
+Test("degen_mesh_03")
+
+SetActivePlots(5)
+DeleteActivePlots()
+SetActivePlots(4)
+DeleteActivePlots()
+SetActivePlots(3)
+DeleteActivePlots()
+
+
+# Test that we can do contours ('5333)
+ActivateDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
+
+AddPlot("Contour", "pos")
+disp = DisplaceAttributes()
+disp.variable = "i_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+ActivateDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
+
+AddPlot("Contour", "pos")
+disp.variable = "j_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+ActivateDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
+
+AddPlot("Contour", "pos")
+disp.variable = "k_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+DrawPlots()
+Test("degen_mesh_04")
+
+
+#
+# Now do the same thing over again with rectilinear meshes.
+#
+DeleteAllPlots()
+
+# Test that we can make the meshes with no modification.
+OpenDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
+
+AddPlot("Mesh", "mesh")
+# If you do a DrawPlots now, you will exhibit '5337
+OpenDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
+
+AddPlot("Mesh", "mesh")
+OpenDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+Test("degen_mesh_05")
+
+# Test that we can handle displacing them and operating on them with
+# expressions.
+disp = DisplaceAttributes()
+disp.variable = "i_disp"
+SetDefaultOperatorOptions(disp)
+SetActivePlots(0)
+AddOperator("Displace")
+disp.variable = "j_disp"
+SetDefaultOperatorOptions(disp)
+SetActivePlots(1)
+AddOperator("Displace")
+disp.variable = "k_disp"
+SetDefaultOperatorOptions(disp)
+SetActivePlots(2)
+AddOperator("Displace")
+DrawPlots()
+v= GetView3D()
+v.viewNormal = (0.449864, 0.604932, 0.657023)
+v.focus = (0.801178, 0.801178, 0.801178)
+v.viewUp = (0.377875, 0.537649, -0.753753)
+v.viewAngle = 30
+v.parallelScale = 2.00714
+v.nearPlane = -4.01428
+v.farPlane = 4.01428
+v.imagePan = (0, 0)
+v.imageZoom = 0.873008
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, 0, 0)
+SetView3D(v)
+Test("degen_mesh_06")
+
+# Test that we can do PC plots ('5335)
+ActivateDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
+
+AddPlot("Pseudocolor", "pos")
+disp = DisplaceAttributes()
+disp.variable = "i_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+ActivateDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
+
+AddPlot("Pseudocolor", "pos")
+disp.variable = "j_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+ActivateDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
+
+AddPlot("Pseudocolor", "pos")
+disp.variable = "k_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+DrawPlots()
+Test("degen_mesh_07")
+
+SetActivePlots(5)
+DeleteActivePlots()
+SetActivePlots(4)
+DeleteActivePlots()
+SetActivePlots(3)
+DeleteActivePlots()
+
+
+# Test that we can do contours ('5333)
+ActivateDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
+
+AddPlot("Contour", "pos")
+disp = DisplaceAttributes()
+disp.variable = "i_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+ActivateDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
+
+AddPlot("Contour", "pos")
+disp.variable = "j_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+ActivateDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
+
+AddPlot("Contour", "pos")
+disp.variable = "k_disp"
+SetDefaultOperatorOptions(disp)
+AddOperator("Displace")
+
+DrawPlots()
+Test("degen_mesh_08")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_emptydomains.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_emptydomains.html new file mode 100644 index 000000000..2324ed260 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_emptydomains.html @@ -0,0 +1,104 @@ + +Results for meshtype/emptydomains.py + +

Results of VisIt Regression Test - meshtype/emptydomains

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
meshtype_emptydomains_010.000.00
meshtype_emptydomains_020.000.00
meshtype_emptydomains_030.000.00
meshtype_emptydomains_040.000.00
meshtype_emptydomains_050.000.00
meshtype_emptydomains_060.000.00
meshtype_emptydomains_070.000.00
meshtype_emptydomains_080.000.00
meshtype_emptydomains_090.000.00
meshtype_emptydomains_100.000.00
meshtype_emptydomains_110 modifications totalling 0 lines
meshtype_emptydomains_120 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_emptydomains_py.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_emptydomains_py.html new file mode 100644 index 000000000..fb0fb3b98 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_emptydomains_py.html @@ -0,0 +1,132 @@ +meshtype/emptydomains.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  emptydomains.py
+#
+#  Tests:      multi-objects with empty domains
+#
+#  Defect ID:  VisIt00005226
+#
+#  Programmer: Jeremy Meredith
+#  Date:       June  7, 2005
+#
+#  Modificatons:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Mark C. Miller, Wed Sep 23 16:28:27 PDT 2020
+#    Force to run on only PDB driver
+# ----------------------------------------------------------------------------
+OpenDatabase(data_path("silo_pdb_test_data/emptydomains.silo"))
+
+# Test the multi-mesh support
+AddPlot("Mesh", "mesh")
+DrawPlots()
+
+v = GetView3D()
+v.SetViewNormal(-0.528889, 0.367702, 0.7649)
+v.SetViewUp(0.176641, 0.929226, -0.324558)
+v.SetPerspective(1)
+SetView3D(v)
+
+Test("meshtype_emptydomains_01")
+
+# Test the multi-var support
+AddPlot("Pseudocolor", "density")
+DrawPlots()
+Test("meshtype_emptydomains_02")
+
+# Test material selection support
+TurnMaterialsOff("5")
+Test("meshtype_emptydomains_03")
+
+# Test multi-material support
+TurnMaterialsOn()
+DeleteAllPlots()
+AddPlot("FilledBoundary", "mat")
+DrawPlots()
+Test("meshtype_emptydomains_04")
+
+# Test multi-species/species selection support
+DeleteAllPlots()
+AddPlot("Pseudocolor","spec")
+silr=SILRestriction()
+silr.TurnOffSet(6)
+SetPlotSILRestriction(silr)
+DrawPlots()
+Test("meshtype_emptydomains_05")
+
+silr.TurnOffSet(5)
+SetPlotSILRestriction(silr)
+Test("meshtype_emptydomains_06")
+
+# Test domain selection support
+DeleteAllPlots()
+silr.TurnOnAll()
+silr.TurnOffSet(1)
+SetPlotSILRestriction(silr)
+AddPlot("Mesh", "mesh")
+AddPlot("Pseudocolor", "density")
+DrawPlots()
+Test("meshtype_emptydomains_07")
+
+# Test slice-by-zone
+silr.TurnOnAll()
+SetPlotSILRestriction(silr)
+DeleteAllPlots()
+AddPlot("Pseudocolor", "density")
+AddOperator("Slice")
+s1 = SliceAttributes()
+s1.originType = s1.Zone
+s1.project2d = 0
+s1.originZone = 170
+s1.originZoneDomain = 2
+SetOperatorOptions(s1)
+DrawPlots()
+Test("meshtype_emptydomains_08")
+
+# Test slice-by-node
+silr.TurnOnAll()
+SetPlotSILRestriction(silr)
+DeleteAllPlots()
+AddPlot("Pseudocolor", "density")
+AddOperator("Slice")
+s2 = SliceAttributes()
+s2.originType = s2.Node
+s2.project2d = 0
+s2.originNode = 11
+s2.originNodeDomain = 2
+SetOperatorOptions(s2)
+DrawPlots()
+Test("meshtype_emptydomains_09")
+
+# Test onion peel
+DeleteAllPlots()
+AddPlot("Pseudocolor", "density")
+AddOperator("OnionPeel")
+o = OnionPeelAttributes()
+o.categoryName = "domains"
+o.subsetName = "domain2"
+o.index = (210)
+o.requestedLayer = 3
+DrawPlots()
+SetOperatorOptions(o)
+Test("meshtype_emptydomains_10")
+
+# Test zone pick
+DeleteAllPlots()
+AddPlot("Pseudocolor", "density")
+DrawPlots()
+PickByZone(120, 2, "density")
+TestText("meshtype_emptydomains_11", GetPickOutput())
+
+# Test node pick
+DeleteAllPlots()
+AddPlot("Pseudocolor", "density")
+DrawPlots()
+PickByNode(100, 2, "density")
+TestText("meshtype_emptydomains_12", GetPickOutput())
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_globe.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_globe.html new file mode 100644 index 000000000..779942ed3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_globe.html @@ -0,0 +1,72 @@ + +Results for meshtype/globe.py + +

Results of VisIt Regression Test - meshtype/globe

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
globe_010.000.00
globe_020.000.00
globe_030.000.00
globe_040.000.00
globe_050.000.00
globe_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_globe_py.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_globe_py.html new file mode 100644 index 000000000..5f6c8d39c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_globe_py.html @@ -0,0 +1,85 @@ +meshtype/globe.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  globe.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - pc, contour, mat subset, mesh, vector
+#              operators - none
+#              selection - none
+#
+#  Defect ID:  none
+#
+#  Programmer: Jeremy Meredith
+#  Date:       April 17, 2002
+#
+#  Modificatons:
+#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
+#    Changed the variable format for SubsetPlots, to reflect new interface
+#    which allows subsets of groups.
+#
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from subset plots.
+#
+#    Kathleen Bonnell, Wed Sep  3 09:31:25 PDT 2003
+#    Opaque mode for MeshPlot is ON by default now, so turn it off
+#    for this test.
+#
+#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
+#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+v = GetView3D()
+v.SetViewNormal(-0.528889, 0.367702, 0.7649)
+v.SetViewUp(0.176641, 0.929226, -0.324558)
+v.SetParallelScale(17.3205)
+v.SetPerspective(1)
+SetView3D(v)
+
+Test("globe_01")
+
+DeleteAllPlots()
+AddPlot("Contour", "t")
+DrawPlots()
+Test("globe_02")
+
+DeleteAllPlots()
+AddPlot("FilledBoundary", "mat1")
+DrawPlots()
+Test("globe_03")
+
+DeleteAllPlots()
+AddPlot("Volume", "u")
+DrawPlots()
+Test("globe_04")
+
+#Test MeshPlot with OpaqueFlag ON
+DeleteAllPlots()
+AddPlot("Mesh", "mesh1")
+m = MeshAttributes()
+m.opaqueMode = m.Off
+SetPlotOptions(m)
+DrawPlots()
+Test("globe_05")
+
+DeleteAllPlots()
+AddPlot("Vector", "vel")
+DrawPlots()
+Test("globe_06")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_point.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_point.html new file mode 100644 index 000000000..a2881d0ec --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_point.html @@ -0,0 +1,138 @@ + +Results for meshtype/point.py + +

Results of VisIt Regression Test - meshtype/point

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
meshtype_point_010.000.00
meshtype_point_020.000.00
meshtype_point_030.000.00
meshtype_point_040.000.00
meshtype_point_050.000.00
meshtype_point_060.000.00
meshtype_point_070.000.00
meshtype_point_080.000.00
meshtype_point_090.000.00
meshtype_point_100.000.00
meshtype_point_110.000.00
meshtype_point_120.000.00
meshtype_point_130.000.00
meshtype_point_140.000.00
meshtype_point_150.000.00
meshtype_point_160.000.00
meshtype_point_170.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_point_py.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_point_py.html new file mode 100644 index 000000000..0d9be08da --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_point_py.html @@ -0,0 +1,174 @@ +meshtype/point.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  point.py
+#
+#  Tests:      mesh      - 3D point
+#              plots     - pseudocolor, subset, mesh
+#              operators - none
+#              selection - none
+#
+#  Defect ID:  none
+#
+#  Programmer: Jeremy Meredith
+#  Date:       May  4, 2004
+#
+#  Modificatons:
+#    Kathleen Bonnell, Thu Aug 19 15:07:23 PDT 2004
+#    Added tests 4-7.
+#
+#    Kathleen Bonnell, Thu Nov 11 17:28:15 PST 2004
+#    Added tests 8-17.
+#
+#    Brad Whitlock, Thu Jul 21 15:44:05 PST 2005
+#    Added tests for setting the point size for points rendered as pixels.
+#
+#    Brad Whitlock, Fri Aug 26 13:59:08 PST 2005
+#    Needed to add more rendering tests so I moved the point rendering
+#    stuff to renderpoint.py.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
+#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
+#
+# ----------------------------------------------------------------------------
+
+
+v = GetView3D()
+v.viewNormal = (0.3, 0.5, 0.8)
+SetView3D(v)
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+
+AddPlot("Pseudocolor", "PointVar")
+DrawPlots()
+
+p=PseudocolorAttributes()
+p.pointType = p.Axis
+p.pointSize = 0.2
+SetPlotOptions(p)
+Test("meshtype_point_01")
+
+p.pointSizeVarEnabled = 1
+p.pointSize = 0.5
+SetPlotOptions(p)
+Test("meshtype_point_02")
+
+p.pointType = p.Point
+p.pointSizePixels = 1
+SetPlotOptions(p)
+Test("meshtype_point_03")
+
+DeleteAllPlots()
+
+
+#Test some more of the point-related atts for the pc plot.
+OpenDatabase(silo_data_path("multi_point2d.silo"))
+
+AddPlot("Pseudocolor", "u")
+p = PseudocolorAttributes()
+SetPlotOptions(p)
+DrawPlots()
+ResetView()
+
+Test("meshtype_point_04")
+
+p.pointSize = 0.05
+p.pointType = p.Axis
+p.pointSizeVarEnabled = 1
+p.pointSizeVar = "d"
+SetPlotOptions(p)
+Test("meshtype_point_05")
+
+p.pointSize = 0.25
+p.pointType = p.Box
+p.pointSizeVar = "p"
+SetPlotOptions(p)
+Test("meshtype_point_06")
+
+p.pointSize = 0.25
+p.pointType = p.Icosahedron
+p.pointSizeVar = "u"
+SetPlotOptions(p)
+Test("meshtype_point_07")
+
+DeleteAllPlots()
+
+#Test Subsets of point meshes
+AddPlot("Subset", "domains")
+s = SubsetAttributes()
+s.pointSizePixels = 1
+SetPlotOptions(s)
+DrawPlots()
+ResetView()
+Test("meshtype_point_08")
+
+s.pointSizeVarEnabled = 1
+s.pointSizeVar = "d"
+s.pointType = s.Icosahedron
+SetPlotOptions(s)
+Test("meshtype_point_09")
+
+s.pointSizeVar = "u"
+s.pointType = s.Box
+SetPlotOptions(s)
+Test("meshtype_point_10")
+
+s.pointSizeVar = "v"
+SetPlotOptions(s)
+Test("meshtype_point_11")
+
+s.colorType = s.ColorBySingleColor
+s.singleColor = (255, 0, 0, 255)
+SetPlotOptions(s)
+Test("meshtype_point_12")
+
+DeleteAllPlots()
+
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "PointVar")
+p.pointSize = 0.5
+p.pointSizeVarEnabled = 0
+SetPlotOptions(p)
+DrawPlots()
+Test("meshtype_point_13")
+
+# the next two not only test using poingSizeVar, but also DataSetVerifier which
+# will reduce the number of values in the var array to match the actual number
+# of points in the point mesh
+p.pointSize = 0.5
+p.pointSizeVarEnabled = 1
+p.pointSizeVar = "hardyglobal"
+p.pointType = p.Box
+SetPlotOptions(p)
+Test("meshtype_point_14")
+
+#can we scale by a a vector variable?
+p.pointSizeVar = "grad"
+SetPlotOptions(p)
+Test("meshtype_point_15")
+
+DeleteAllPlots()
+
+AddPlot("Mesh", "PointMesh")
+m = MeshAttributes()
+m.meshColorSource = m.MeshCustom
+m.meshColor = (0, 122, 200, 255)
+m.pointType = m.Box
+m.pointSize = 0.5
+SetPlotOptions(m)
+DrawPlots()
+Test("meshtype_point_16")
+
+m.pointSizeVarEnabled = 1
+m.pointSizeVar = "PointVar"
+SetPlotOptions(m)
+Test("meshtype_point_17")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_rect3d.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_rect3d.html new file mode 100644 index 000000000..327f4d4a7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_rect3d.html @@ -0,0 +1,48 @@ + +Results for meshtype/rect3d.py + +

Results of VisIt Regression Test - meshtype/rect3d

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
rect3d_010.000.00
rect3d_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/meshtype_rect3d_py.html b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_rect3d_py.html new file mode 100644 index 000000000..57922c3fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/meshtype_rect3d_py.html @@ -0,0 +1,80 @@ +meshtype/rect3d.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  rect3d.py
+#
+#  Tests:      mesh      - 3D regular, single domain
+#              plots     - pc, contour, mat subset, mesh
+#              operators - none
+#              selection - material
+#
+#  Defect ID:  none
+#
+#  Programmer: Jeremy Meredith
+#  Date:       April 17, 2002
+#
+#  Modifications:
+#
+#    Hank Childs, Wed Apr 24 10:04:35 PDT 2002
+#    Turn off opaque mesh.
+#
+#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
+#    Changed the variable format for SubsetPlots, to reflect new interface
+#    which allows subsets of groups.
+#
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from subset plots.
+#
+#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
+#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+AddPlot("Pseudocolor", "d")
+pc=PseudocolorAttributes()
+pc.SetOpacityType(pc.Constant)
+pc.opacity=0.2
+SetPlotOptions(pc)
+
+AddPlot("Mesh", "quadmesh3d")
+m1=MeshAttributes()
+m1.opaqueMode=m1.Off
+SetPlotOptions(m1)
+
+AddPlot("Contour", "u")
+
+# Turn off alternate materials.
+silr=SILRestriction()
+onoff = 0
+for sets in silr.SetsInCategory('mat1'):
+    if(onoff == 0):
+        silr.TurnOffSet(sets)
+        onoff = 1
+    else:
+        onoff = 0
+
+AddPlot("FilledBoundary", "mat1")
+SetPlotSILRestriction(silr)
+
+DrawPlots()
+
+Test("rect3d_01")
+
+v = GetView3D()
+v.SetViewNormal(.7,.6,.5)
+SetView3D(v)
+
+Test("rect3d_02")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/missingdata_0_04.html b/2023-11-08-22:00/pascal_trunk_parallel/missingdata_0_04.html new file mode 100644 index 000000000..657868e57 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/missingdata_0_04.html @@ -0,0 +1,66 @@ +Results for test case missingdata_0_04 + +

Results for test case missingdata_0_04

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
8 Lines Changed

+

1 modifications, totalling 8 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1: Pick could not retrieve the requested information, possibly due to a bad expression in its variables list. Please check the requested variables list and try again.
2: A: earth.nc
3: mesh1350x675
4: Point: <671, 617>
5: Node: 833621
6: Incident Zones: 833004 831655 833005 831656
7: population: <nodal> = 0
8:  
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operatorsVsInstall.html b/2023-11-08-22:00/pascal_trunk_parallel/operatorsVsInstall.html new file mode 100644 index 000000000..96b190ee4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operatorsVsInstall.html @@ -0,0 +1,51 @@ +Results for test case operatorsVsInstall + +

Results for test case operatorsVsInstall

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
5 Lines Changed

+

1 modifications, totalling 5 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1: { 'CartographicProjection': 'success',1: { 'CartographicProjection': 'cmake configure failed',
2:     'CracksClipper': 'success',2:     'CracksClipper': 'make failed',
3:     'RadialResample': 'success',3:     'RadialResample': 'make failed',
4:     'Slice': 'success',4:     'Slice': 'make failed',
5:     'Threshold': 'success'}5:     'Threshold': 'make failed'}
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_amr_stitch.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_amr_stitch.html new file mode 100644 index 000000000..76866d30f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_amr_stitch.html @@ -0,0 +1,84 @@ + +Results for operators/amr_stitch.py + +

Results of VisIt Regression Test - operators/amr_stitch

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
amr_stitch_010.000.00
amr_stitch_020.000.00
amr_stitch_030.000.00
amr_stitch_040.000.00
amr_stitch_050.000.00
amr_stitch_060.000.00
amr_stitch_070.000.00
amr_stitch_080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_amr_stitch_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_amr_stitch_py.html new file mode 100644 index 000000000..babfba63f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_amr_stitch_py.html @@ -0,0 +1,49 @@ +operators/amr_stitch.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  amr_stitch.py
+#
+#  Programmer: Gunther H. Weber
+#  Date:       April 29, 2014
+#
+#  Modifications:
+#
+#      Alister Maguire, Wed Jan  6 08:31:05 PST 2021
+#      Added the -enable-ghosts-for-t-intersections flag, as it
+#      is now disabled by default.
+#
+# ----------------------------------------------------------------------------
+
+# NOTE: the comment below tells visit to use the
+# 'enable-ghosts-for-t-intersections' flag when running this test.
+# This flag must be enabled for this test to succeed.
+
+#VARGS: "-enable-ghosts-for-t-intersections"
+
+# Turn off all annotation
+a = AnnotationAttributes()
+TurnOffAllAnnotations(a)
+
+# Files used for tests
+filename_template = "AMRStitchCell_test_data/AMRStitchCellTest.%d.no_ghost.phi.%dd.hdf5"
+test_case_filenames = [ data_path(filename_template % ( case, dim )) for dim in range(2,4) for case in range(1,5) ]
+
+# Setup plots and run first test
+OpenDatabase(test_case_filenames[0])
+AddPlot("Contour", "phi")
+AddOperator("AMRStitchCell")
+DrawPlots()
+Test("amr_stitch_01")
+
+# Perform remaining tests
+for test_no, ds in enumerate(test_case_filenames[1:], 2):
+    ReplaceDatabase(ds)
+    Test("amr_stitch_%02d" % test_no)
+
+# Clean-up
+DeleteAllPlots()
+for ds in test_case_filenames:
+    CloseDatabase(ds)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_box.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_box.html new file mode 100644 index 000000000..5d89f409f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_box.html @@ -0,0 +1,84 @@ + +Results for operators/box.py + +

Results of VisIt Regression Test - operators/box

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_box010.000.00
ops_box020.000.00
ops_box030.000.00
ops_box040.000.00
ops_box050.000.00
ops_box060.000.00
ops_box070.000.00
ops_box080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_box_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_box_py.html new file mode 100644 index 000000000..f37396bfc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_box_py.html @@ -0,0 +1,155 @@ +operators/box.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  box.py
+#
+#  Tests:      mesh      - 3D point, single domain,
+#                          3D rectilinear, multiple domain.
+#                          3D unstructured, single domain.
+#              plots     - pc, vector, contour, vector
+#
+#  Defect ID:  3160
+#
+#  Programmer: Hank Childs
+#  Date:       March 26, 2003
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from subset plots.
+#
+#    Hank Childs, Wed Jun  4 08:56:08 PDT 2008
+#    Test facelist filter after applying a box.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+# 3D, rectilinear.  Multi-block  Tests ghost zones as well.
+OpenDatabase(silo_data_path("bigsil.silo"))
+
+
+atts = BoxAttributes()
+atts.amount = 0
+atts.minx = 0.4
+atts.maxx = 0.7
+atts.miny = 0.1
+atts.maxy = 0.9
+atts.minz = 0.4
+atts.maxz = 1.7
+
+AddPlot("Pseudocolor", "dist")
+AddOperator("Box")
+SetOperatorOptions(atts)
+DrawPlots()
+view = GetView3D()
+view.viewNormal = (0.79, -0.035, 0.61)
+view.focus = (0.5, 0.5, 0.5)
+view.viewUp = (0, 1, 0)
+view.parallelScale = 0.765
+view.nearPlane = -0.25
+view.farPlane = 1.73
+SetView3D(view)
+Test("ops_box01")
+DeleteAllPlots()
+
+
+# 3D, unstructured
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("FilledBoundary", "mat1")
+AddOperator("Box")
+atts.minx = -5
+atts.maxx = +5
+atts.miny = -5
+atts.maxy = +5
+atts.minz = -5
+atts.maxz = +5
+SetOperatorOptions(atts)
+DrawPlots()
+view.viewNormal = (0.56, 0.81, -0.14)
+view.focus = (0, 0, 0)
+view.viewUp = (-0.66, 0.55, 0.49)
+view.parallelScale = 11
+view.nearPlane = -34
+view.farPlane = 34
+SetView3D(view)
+Test("ops_box02")
+
+
+atts.amount = 1
+SetOperatorOptions(atts)
+Test("ops_box03")
+
+DeleteAllPlots()
+
+view.parallelScale = 14
+SetView3D(view)
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Vector", "airVfGradient")
+vec = VectorAttributes()
+SetPlotOptions(vec)
+atts.minx = -5
+atts.maxx = +5
+atts.miny = -10
+atts.maxy = +10
+atts.minz = -10
+atts.maxz = +10
+AddOperator("Box")
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_box04")
+
+DeleteAllPlots()
+
+AddPlot("Contour", "hardyglobal")
+AddOperator("Box")
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_box05")
+
+DeleteAllPlots()
+
+AddPlot("Mesh", "PointMesh")
+mesh = MeshAttributes()
+mesh.pointType = mesh.Box
+mesh.pointSizeVar = "PointVar"
+mesh.pointSizeVarEnabled = 1
+SetPlotOptions(mesh)
+AddOperator("Box")
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_box06")
+
+# This final test should be blank.  The box operator was crashing with
+# point meshes that fell outside the box previously.  ('3160)
+atts.minx = -30
+atts.maxx = -20
+SetOperatorOptions(atts)
+Test("ops_box07")
+
+# If we apply the box operator to a rectilinear grid, it can change
+# the "Extents", which can screw up the facelist filter.  Test that
+# no one has undone the fix from Paul Selby.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Box")
+atts.minx = 0.2
+atts.maxx = 1.0
+SetOperatorOptions(atts)
+DrawPlots()
+view.focus = (0.5, 0.5, 0.5)
+view.parallelScale = 1.4
+SetView3D(view)
+Test("ops_box08")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_cart_proj.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_cart_proj.html new file mode 100644 index 000000000..5a27216ed --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_cart_proj.html @@ -0,0 +1,64 @@ + +Results for operators/cart_proj.py + +

Results of VisIt Regression Test - operators/cart_proj

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_cart_proj_00.000.00
ops_cart_proj_161.4012.57
ops_cart_proj_20.000.00
ops_cart_proj_3118.9612.31
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_cart_proj_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_cart_proj_py.html new file mode 100644 index 000000000..363734905 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_cart_proj_py.html @@ -0,0 +1,60 @@ +operators/cart_proj.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  cart_proj.py
+#
+#  Tests:
+#              plots     - pc
+#              operators - CartographicProjection
+#
+#
+#  Programmer: Cyrus Harrison
+#  Date:      Tue Sep 25 08:41:19 PDT 2012
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+
+# Test 2D Case
+
+OpenDatabase(data_path("netcdf_test_data/NASA_vegetation_lai.cdf"))
+
+v = View2DAttributes()
+v.fullFrameActivationMode = v.Off  # On, Off, Auto
+SetView2D(v)
+
+
+AddPlot("Pseudocolor", "lai")
+DrawPlots()
+ResetView()
+Test("ops_cart_proj_0")
+
+AddOperator("CartographicProjection")
+cart_proj_atts = CartographicProjectionAttributes()
+cart_proj_atts.projectionID = cart_proj_atts.hammer
+SetOperatorOptions(cart_proj_atts)
+DrawPlots()
+ResetView()
+Test("ops_cart_proj_1")
+
+DeleteAllPlots()
+
+OpenDatabase(data_path("netcdf_test_data/tas_mean_T63.nc"))
+
+AddPlot("Pseudocolor", "tas")
+DrawPlots()
+ResetView()
+Test("ops_cart_proj_2")
+
+AddOperator("CartographicProjection")
+cart_proj_atts = CartographicProjectionAttributes()
+cart_proj_atts.projectionID = cart_proj_atts.hammer
+SetOperatorOptions(cart_proj_atts)
+DrawPlots()
+ResetView()
+Test("ops_cart_proj_3")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_clip.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_clip.html new file mode 100644 index 000000000..ccaadfd33 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_clip.html @@ -0,0 +1,180 @@ + +Results for operators/clip.py + +

Results of VisIt Regression Test - operators/clip

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
clip000.000.00
clip010.000.00
clip020.000.00
clip030.000.00
clip040.000.00
clip050.000.00
clip060.000.00
clip070.000.00
clip080.000.00
clip090.000.00
clip100.000.00
clip110.000.00
clip120.000.00
clip130.000.00
clip140.000.00
clip150.000.00
clip160.000.00
clip170.000.00
clip180.000.00
clip190.000.00
clip200.000.00
clip_globe_fast0.000.00
clip_globe_accurate0.000.00
crinkle_clip_globe0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_clip_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_clip_py.html new file mode 100644 index 000000000..8f38441ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_clip_py.html @@ -0,0 +1,143 @@ +operators/clip.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  clip.py
+#
+#  Tests:      mesh      - 2D rectilinear, 2D curvilinear,
+#                          3D rectilinear, 3D curvilinear,
+#                          3D unstructured
+#
+#  Defect ID:  7470, 7195
+#
+#  Programmer: Hank Childs
+#  Date:       September 1, 2006
+#
+#  Modifications:
+#
+#    Hank Childs, Wed Sep  6 16:56:27 PDT 2006
+#    Test clip operator with no plane and no sphere (this was crashing the
+#    engine due to a memory problem) ['7195]
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Alister Maguire, Fri Nov 13 14:07:54 PST 2020
+#    Added a test for the crinkle clip.
+#
+# ----------------------------------------------------------------------------
+
+def TestOne(filename, index, zonal_var, nodal_var, radius):
+   OpenDatabase(filename)
+   c = ClipAttributes()
+   c.funcType = c.Sphere
+   c.radius = radius
+   c.sphereInverse = 1
+   AddPlot("Pseudocolor", zonal_var)
+   AddOperator("Clip")
+   SetOperatorOptions(c)
+   DrawPlots()
+   name = "clip%02d" %(index+0)
+   Test(name)
+   ChangeActivePlotsVar(nodal_var)
+   name = "clip%02d" %(index+1)
+   Test(name)
+   c.funcType = c.Plane
+   c.plane1Origin = (0.5, 0.5, 0)
+   c.plane1Normal = (1, 1, 0)
+   SetOperatorOptions(c)
+   name = "clip%02d" %(index+2)
+   Test(name)
+   ChangeActivePlotsVar(zonal_var)
+   name = "clip%02d" %(index+3)
+   Test(name)
+   DeleteAllPlots()
+
+TestOne(silo_data_path("rect2d.silo"), 4*0, "d", "u", 0.5)
+TestOne(silo_data_path("rect3d.silo"), 4*1, "d", "u", 0.5)
+TestOne(silo_data_path("curv2d.silo"), 4*2, "d", "u", 3)
+TestOne(silo_data_path("curv3d.silo"), 4*3, "d", "u", 4)
+TestOne(silo_data_path("globe.silo"), 4*4, "t", "u", 5)
+
+# Test doing a clip where there are no planes selected.  This has caused
+# a crash ['7195].
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor" , "d")
+AddOperator("Clip")
+c = ClipAttributes()
+c.funcType = c.Plane
+c.plane1Status = 0
+c.plane2Status = 0
+c.plane3Status = 0
+SetOperatorOptions(c)
+DrawPlots()
+
+test_idx = 20
+name = "clip%02d" %(test_idx)
+Test(name)
+test_idx += 1
+
+# Test accurate vs. fast.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Mesh", "mesh1")
+c = ClipAttributes()
+c.funcType = c.Plane  # Plane, Sphere
+c.plane1Status = 1
+c.plane2Status = 1
+c.plane3Status = 0
+c.plane1Origin = (0, 2.37883, 0)
+c.plane2Origin = (0, 2.37883, 0)
+c.plane3Origin = (0, 2.37883, 0)
+c.plane1Normal = (1, 0, 0)
+c.plane2Normal = (0, 1, 0)
+c.plane3Normal = (0, 0, 1)
+c.planeInverse = 0
+c.center = (0, 0, 0)
+c.radius = 1
+c.sphereInverse = 0
+AddOperator("Clip")
+SetOperatorOptions(c)
+
+v = View3DAttributes()
+v.viewNormal = (0.0548192, 0.0422395, 0.997602)
+v.focus = (0.427242, 3.08232, -0.155563)
+v.viewUp = (0.195041, 0.979406, -0.0521867)
+v.viewAngle = 30
+v.parallelScale = 4.21585
+v.nearPlane = -34.5981
+v.farPlane = 34.5981
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, -0.0372553, 0)
+
+DrawPlots()
+SetView3D(v)
+
+Test("clip_globe_fast")
+
+c.quality = c.Accurate
+SetOperatorOptions(c)
+Test("clip_globe_accurate")
+
+DeleteAllPlots()
+ResetView()
+
+#
+# Test the crinkle clip.
+#
+AddPlot("Pseudocolor", "u")
+AddOperator("Clip")
+c = ClipAttributes()
+c.crinkleClip = 1
+SetOperatorOptions(c)
+DrawPlots()
+Test("crinkle_clip_globe")
+DeleteAllPlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_cracksclipper.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_cracksclipper.html new file mode 100644 index 000000000..e2aa07c46 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_cracksclipper.html @@ -0,0 +1,72 @@ + +Results for operators/cracksclipper.py + +

Results of VisIt Regression Test - operators/cracksclipper

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
CracksClipper_000.000.00
CracksClipper_010.000.00
CracksClipper_020.000.00
CracksClipper_030.000.00
CracksClipper_040.000.00
CracksClipper_050.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_cracksclipper_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_cracksclipper_py.html new file mode 100644 index 000000000..417c1044a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_cracksclipper_py.html @@ -0,0 +1,54 @@ +operators/cracksclipper.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  cracksclipper.py
+#
+#  Tests:      operators - CracksClipper
+#
+#  Programmer: Kathleen Biagas
+#  Date:       August 14, 2012
+#
+#  Modifications:
+# ----------------------------------------------------------------------------
+
+OpenDatabase(data_path("vtk_cracked_test_data/cracked_*.vtk database"))
+AddPlot("Pseudocolor", "operators/CracksClipper/mesh/den")
+pcAtts = PseudocolorAttributes()
+pcAtts.minFlag = 1
+pcAtts.maxFlag = 1
+pcAtts.min = 1.9
+pcAtts.max = 3.853
+SetPlotOptions(pcAtts)
+
+
+v = GetView3D()
+v.viewNormal = (-0.507948, 0.663707, 0.549074)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (0.388198, 0.745409, -0.541911)
+v.parallelScale = 0.866025
+v.nearPlane = -1.73205
+v.farPlane = 1.73205
+SetView3D(v)
+
+DrawPlots()
+
+# Changing time states shows the cracks developing, and demonstrates
+# the density calculation
+Test("CracksClipper_00")
+SetTimeSliderState(1)
+Test("CracksClipper_01")
+SetTimeSliderState(3)
+Test("CracksClipper_02")
+SetTimeSliderState(5)
+Test("CracksClipper_03")
+SetTimeSliderState(12)
+Test("CracksClipper_04")
+
+SetTimeSliderState(14)
+# Show that normal vars can be used.
+ChangeActivePlotsVar("ems")
+# 
+Test("CracksClipper_05")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_defer_expr.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_defer_expr.html new file mode 100644 index 000000000..ef6fa43db --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_defer_expr.html @@ -0,0 +1,114 @@ + +Results for operators/defer_expr.py + +

Results of VisIt Regression Test - operators/defer_expr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
defer_expr_010.000.00
defer_expr_020.000.00
defer_expr_030.000.00
defer_expr_040.000.00
defer_expr_050.000.00
defer_expr_060.000.00
defer_expr_070.000.00
defer_expr_080.000.00
defer_expr_090.000.00
defer_expr_100.000.00
defer_expr_110.000.00
defer_expr_120.000.00
defer_expr_130.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_defer_expr_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_defer_expr_py.html new file mode 100644 index 000000000..567558782 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_defer_expr_py.html @@ -0,0 +1,248 @@ +operators/defer_expr.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  defer_expr.py
+#
+#  Defect ID:  '2433, '1527, '6630, '6631, '6676, '6637
+#
+#  Programmer: Hank Childs
+#  Date:       September 21, 2005
+#
+#  Modifications:
+#
+#    Hank Childs, Thu Dec 29 11:29:08 PST 2005
+#    Widen color range of vector plot to sidestep precision issues between
+#    optimized and non-optimized binaries.
+#
+#    Hank Childs, Thu Jan 17 15:44:06 PST 2008
+#    Explicitly specify the color table for the vector plot.  This is an issue
+#    because this test runs with "-config" (*not* "-noconfig") and the default
+#    color table can get confused if the user has a color table in his .visit
+#    directory that collides with the normal default ("hot").  So we're
+#    skirting that issue by explicitly specifying the color table.
+#
+#    Jeremy Meredith, Mon Jul 14 12:28:50 EDT 2008
+#    Allow the vector plot to show all vectors (even ones not from
+#    from original cells/nodes) to match the old behavior.
+#
+#    Hank Childs, Wed Dec 31 14:32:34 PST 2008
+#    Rename ResamplePluginAtts to ResampleAtts.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Brad Whitlock, Wed Apr 18 15:40:47 PDT 2012
+#    Make vectors constant color for test 8.
+#
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Remove obsolete 'colorByMag' vector att with 'colorByMagnitude'.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+DefineScalarExpression("en", "external_node(mesh1)")
+AddPlot("Pseudocolor", "en")
+AddOperator("Isovolume")
+iso_atts = IsovolumeAttributes()
+iso_atts.variable = "t"
+iso_atts.lbound = 500
+SetOperatorOptions(iso_atts)
+AddOperator("Slice")
+DrawPlots()
+
+# Save a picture before deferring the expression evaluation.
+Test("defer_expr_01")
+
+# Test that the external node operator can find the external nodes
+# on a 2D slice.
+d = DeferExpressionAttributes()
+d.exprs = ("en")
+SetDefaultOperatorOptions(d)
+AddOperator("DeferExpression")
+DrawPlots()
+Test("defer_expr_02")
+
+# Now test that the external node expression can find the external nodes
+# on a 3D dataset (before the slice).  This should be an identical picture
+# to what's above (bar interpolation from the slice).
+DemoteOperator(2)
+DrawPlots()
+Test("defer_expr_03")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isovolume")
+iso_atts = IsovolumeAttributes()
+iso_atts.variable = "t"
+iso_atts.ubound = 500
+SetOperatorOptions(iso_atts)
+AddOperator("DeferExpression")
+AddOperator("Threshold")
+thres_atts = ThresholdAttributes()
+thres_atts.upperBounds = (0.5)
+thres_atts.outputMeshType = 1
+thres_atts.listedVarNames = ("en")
+SetOperatorOptions(thres_atts)
+DrawPlots()
+Test("defer_expr_04")
+
+DeleteAllPlots()
+
+DefineScalarExpression("X1", "coord(mesh1)[0]")
+DefineScalarExpression("X2", "coord(mesh1)[0]")
+DefineScalarExpression("X3", "coord(mesh1)[0]")
+
+AddPlot("Pseudocolor", "X1")
+
+# Transform by 45 degrees.
+t = TransformAttributes()
+t.doRotate = 1
+t.rotateAxis = (0, 1, 0)
+t.rotateAmount = 45
+SetDefaultOperatorOptions(t)
+AddOperator("Transform")
+
+# Now evaluate X2 after transforming
+d.exprs = ("X2")
+SetDefaultOperatorOptions(d)
+AddOperator("DeferExpression")
+
+# Now threshold out where X2 is bigger than 0 (after the transform)
+thres_atts.listedVarNames = ("X2")
+thres_atts.lowerBounds = (0.0)
+thres_atts.upperBounds = (1000.0)
+SetDefaultOperatorOptions(thres_atts)
+AddOperator("Threshold")
+
+# Now transform by another 45 degrees
+AddOperator("Transform")
+
+# Evaluate X3 after the new transform.
+d.exprs = ("X3")
+SetDefaultOperatorOptions(d)
+AddOperator("DeferExpression")
+
+# Now threshold out where X3 is bigger than 0 (after the new transform)
+thres_atts.listedVarNames = ("X3")
+SetDefaultOperatorOptions(thres_atts)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("defer_expr_05")
+
+# Now do the same thing, but defer X1 until the end of the transforms.
+d.exprs = ("X1")
+SetDefaultOperatorOptions(d)
+AddOperator("DeferExpression")
+DrawPlots()
+# This should be the same geometry as '05, but the color should be different.
+Test("defer_expr_06")
+
+DeleteAllPlots()
+DefineVectorExpression("normals", "cell_surface_normal(mesh1)")
+AddPlot("Vector", "normals")
+v = VectorAttributes()
+v.origOnly = 0
+v.min = 0.5
+v.max = 1.5
+v.minFlag = 1
+v.maxFlag = 1
+v.colorTableName = "hot"
+v.useStride = 0
+v.stride = 1
+SetPlotOptions(v)
+
+AddOperator("ExternalSurface")
+AddOperator("DeferExpression")
+d.exprs = "normals"
+SetOperatorOptions(d)
+DrawPlots()
+Test("defer_expr_07")
+
+DeleteAllPlots()
+AddPlot("Contour", "t")
+c = ContourAttributes()
+c.contourMethod = c.Value
+c.contourValue = (500)
+SetPlotOptions(c)
+AddPlot("Vector", "normals")
+v = VectorAttributes()
+v.origOnly = 0
+v.colorByMagnitude = 0
+v.vectorColor = (255,255,0,255)
+SetPlotOptions(v)
+AddOperator("Isosurface")
+i = IsosurfaceAttributes()
+i.contourMethod = i.Value
+i.contourValue = (500)
+i.variable = "t"
+SetOperatorOptions(i)
+AddOperator("DeferExpression")
+d.exprs = "normals"
+SetOperatorOptions(d)
+DrawPlots()
+Test("defer_expr_08")
+
+DeleteAllPlots()
+AddPlot("Pseudocolor", "mesh_quality/max_edge_length")
+AddOperator("Slice")
+DrawPlots()
+Test("defer_expr_09")
+
+d.exprs = ("mesh_quality/max_edge_length")
+AddOperator("DeferExpression")
+SetOperatorOptions(d)
+DrawPlots()
+Test("defer_expr_10")
+
+DeleteAllPlots()
+r = ResampleAttributes()
+r.samplesX = 50
+r.samplesY = 50
+r.samplesZ = 50
+r.defaultValue = -100
+r.distributedResample = 0
+DefineScalarExpression("procid", "procid(mesh1)")
+AddPlot("Pseudocolor", "procid")
+AddOperator("Resample")
+SetOperatorOptions(r)
+AddOperator("Threshold")
+t = ThresholdAttributes()
+t.lowerBounds = (-10.0)
+t.listedVarNames = ("u")
+t.outputMeshType = 1
+SetOperatorOptions(t)
+AddOperator("DeferExpression")
+d.exprs = "procid"
+SetOperatorOptions(d)
+DrawPlots()
+
+Test("defer_expr_11")
+
+r.distributedResample = 1
+SetOperatorOptions(r)
+Test("defer_expr_12")
+
+DeleteAllPlots()
+DefineVectorExpression("sn", "recenter(-cell_surface_normal(mesh1))")
+AddPlot("Vector", "sn")
+v = VectorAttributes()
+v.origOnly = 0
+v.colorTableName = "hot"
+SetPlotOptions(v)
+AddOperator("ExternalSurface")
+AddOperator("DeferExpression")
+d.exprs = "sn"
+SetOperatorOptions(d)
+DrawPlots()
+Test("defer_expr_13")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_displace.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_displace.html new file mode 100644 index 000000000..5dedee088 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_displace.html @@ -0,0 +1,94 @@ + +Results for operators/displace.py + +

Results of VisIt Regression Test - operators/displace

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_disp010.000.00
ops_disp020.000.00
ops_disp030.000.00
ops_disp040.000.00
ops_disp050.000.00
ops_disp060.000.00
ops_disp070.000.00
ops_disp080 modifications totalling 0 lines
ops_disp090.000.00
ops_disp100.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_displace_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_displace_py.html new file mode 100644 index 000000000..fdf8beaf5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_displace_py.html @@ -0,0 +1,129 @@ +operators/displace.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  displace.py
+#
+#  Tests:      mesh      - 2D/3D rectilinear, single domain.
+#                          3D unstructured, single domain.
+#                          2D/3D curvilinear, single domain.
+#              plots     - pc, mesh
+#
+#  Defect ID:  '5921, '7486, '8160, '8259, '8265
+#
+#  Programmer: Hank Childs
+#  Date:       May 6, 2004
+#
+#  Modifications:
+#
+#    Hank Childs, Tue Jun  7 09:47:58 PDT 2005
+#    Added tests for filled boundary with cell-based vectors ['5921].
+#
+#    Hank Childs, Tue Sep  5 16:39:40 PDT 2006
+#    Added test for when users put in non-vectors ['7486].
+#
+#    Hank Childs, Fri Sep 28 12:28:30 PDT 2007
+#    Add tests for three recent bugs ['8160, '8259, '8265]
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+disp = DisplaceAttributes()
+disp.variable = "vel"
+SetDefaultOperatorOptions(disp)
+
+# 2D, rectilinear.
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Displace")
+AddPlot("Mesh", "quadmesh2d")
+AddOperator("Displace")
+DrawPlots()
+
+Test("ops_disp01")
+
+SetActivePlots(1)
+DeleteActivePlots()
+ReplaceDatabase(silo_data_path("curv2d.silo"))
+
+ResetView()
+
+Test("ops_disp02")
+
+ReplaceDatabase(silo_data_path("curv3d.silo"))
+
+v = GetView3D()
+v.viewNormal = (0.61, -0.61, 0.61)
+SetView3D(v)
+
+Test("ops_disp03")
+
+ReplaceDatabase(silo_data_path("rect3d.silo"))
+
+Test("ops_disp04")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("ucd3d.silo"))
+
+
+AddPlot("FilledBoundary", "mat1")
+AddOperator("Displace")
+disp.factor = 5
+SetOperatorOptions(disp)
+DrawPlots()
+
+Test("ops_disp05")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("FilledBoundary", "mat1")
+AddOperator("Displace")
+disp.variable = "vel"
+disp.factor = 1
+SetOperatorOptions(disp)
+DrawPlots()
+Test("ops_disp06")
+
+disp.variable = "disp"
+SetOperatorOptions(disp)
+Test("ops_disp07")
+
+disp.variable = "t"
+SetOperatorOptions(disp)
+error = GetLastError()
+TestText("ops_disp08", error)
+
+DeleteAllPlots()
+
+OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
+
+
+#   8265: cell-centered vector with rectilinear mesh 
+# + 8259: file format the declares itself having 2D vectors + displace
+AddPlot("Pseudocolor", "density")
+AddOperator("Displace")
+disp.variable = "mom"
+disp.factor = 1e-12 # this way the quads won't overlap each other.
+SetOperatorOptions(disp)
+DrawPlots()
+Test("ops_disp09")
+
+DeleteAllPlots()
+
+# '8160: subset plot displaced by a vector
+AddPlot("Subset", "patches")
+AddOperator("Displace")
+SetOperatorOptions(disp)
+DrawPlots()
+Test("ops_disp10")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_dual_mesh.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_dual_mesh.html new file mode 100644 index 000000000..2b675b1ce --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_dual_mesh.html @@ -0,0 +1,110 @@ + +Results for operators/dual_mesh.py + +

Results of VisIt Regression Test - operators/dual_mesh

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_dualmesh_pc_plot_2d_d_000.000.00
ops_dualmesh_pc_plot_2d_d_010.000.00
ops_dualmesh_pc_plot_2d_d_020.000.00
ops_dualmesh_mesh_plot_2d_000.000.00
ops_dualmesh_mesh_plot_2d_0189.7733.58
ops_dualmesh_mesh_plot_2d_020.000.00
ops_dual_mesh_pc_plot_3d_d_000.000.00
ops_dual_mesh_pc_plot_3d_d_010.000.00
ops_dual_mesh_pc_plot_3d_d_020.000.00
ops_dual_mesh_pc_plot_3d_t_000.000.00
ops_dual_mesh_pc_plot_3d_t_010.000.00
ops_dual_mesh_pc_plot_3d_t_020.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_dual_mesh_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_dual_mesh_py.html new file mode 100644 index 000000000..52347620b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_dual_mesh_py.html @@ -0,0 +1,111 @@ +operators/dual_mesh.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  dual_mesh.py
+#
+#  Tests:      mesh      - 2D rectilinear, single domain.
+#                          3D rectilinear, single domain.
+#              plots     - pc, mesh
+#              operators - DualMesh
+#
+#
+#  Programmer: Cyrus Harrison
+#  Date:       May 13, 2008
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+
+
+# Test 2D Case
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+Test("ops_dualmesh_pc_plot_2d_d_00")
+
+# test auto, Zones to Nodes
+AddOperator("DualMesh")
+DrawPlots()
+Test("ops_dualmesh_pc_plot_2d_d_01")
+
+# test auto, Nodes to Zones
+AddOperator("DualMesh")
+DrawPlots()
+Test("ops_dualmesh_pc_plot_2d_d_02")
+
+DeleteAllPlots()
+
+# Test Mesh Plot auto
+AddPlot("Mesh", "quadmesh2d")
+DrawPlots()
+Test("ops_dualmesh_mesh_plot_2d_00")
+
+AddOperator("DualMesh")
+DrawPlots()
+Test("ops_dualmesh_mesh_plot_2d_01")
+
+AddOperator("DualMesh")
+DrawPlots()
+Test("ops_dualmesh_mesh_plot_2d_02")
+DeleteAllPlots()
+
+# Test 3D Case
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+view = GetView3D()
+view.viewNormal = (-0.5, 0.5, 0.7172)
+SetView3D(view)
+DrawPlots()
+Test("ops_dual_mesh_pc_plot_3d_d_00")
+
+# Test explicit Zones to Nodes
+AddOperator("DualMesh")
+DualMeshAtts = DualMeshAttributes()
+DualMeshAtts.mode = DualMeshAtts.ZonesToNodes
+SetOperatorOptions(DualMeshAtts)
+DrawPlots()
+Test("ops_dual_mesh_pc_plot_3d_d_01")
+
+# Test explicit Nodes to Zones (round trip)
+AddOperator("DualMesh")
+DualMeshAtts = DualMeshAttributes()
+DualMeshAtts.mode = DualMeshAtts.NodesToZones
+SetOperatorOptions(DualMeshAtts)
+DrawPlots()
+Test("ops_dual_mesh_pc_plot_3d_d_02")
+
+DeleteAllPlots()
+
+# Test Nodes to Zones <-> Zones to Nodes Round Trip
+AddPlot("Pseudocolor", "t")
+DrawPlots()
+Test("ops_dual_mesh_pc_plot_3d_t_00")
+
+AddOperator("DualMesh")
+DualMeshAtts = DualMeshAttributes()
+DualMeshAtts.mode = DualMeshAtts.NodesToZones
+SetOperatorOptions(DualMeshAtts)
+DrawPlots()
+Test("ops_dual_mesh_pc_plot_3d_t_01")
+
+AddOperator("DualMesh")
+DualMeshAtts = DualMeshAttributes()
+DualMeshAtts.mode = DualMeshAtts.ZonesToNodes
+SetOperatorOptions(DualMeshAtts)
+DrawPlots()
+Test("ops_dual_mesh_pc_plot_3d_t_02")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_elevate.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_elevate.html new file mode 100644 index 000000000..31e2515aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_elevate.html @@ -0,0 +1,132 @@ + +Results for operators/elevate.py + +

Results of VisIt Regression Test - operators/elevate

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
elevate010.000.00
elevate020.000.00
elevate030.000.00
elevate040.000.00
elevate050.000.00
elevate060.000.00
elevate070.000.00
elevate080.000.00
elevate090.000.00
elevate100.000.00
elevate110.000.00
elevate120.000.00
elevate130.000.00
elevate140.000.00
elevate150.000.00
elevate160.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_elevate_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_elevate_py.html new file mode 100644 index 000000000..a9dde97aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_elevate_py.html @@ -0,0 +1,164 @@ +operators/elevate.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  elevate.py
+#
+#  Tests:      mesh      - 2D rectilinear
+#                          3D rectilinear, multiple domain,
+#                          2D curvilinear, multiple domain
+#              plots     - pc, mesh, filled boundary
+#              operators - elevate
+#              selection - none
+#
+#  Defect ID:  '5379, '5934 '6260, '6768
+#
+#  Programmer: Hank Childs
+#  Date:       February 3, 2005
+#
+#  Modifications:
+#
+#    Hank Childs, Tue Jun  7 14:16:02 PDT 2005
+#    Add tests for lighting of slices after elevation.
+#
+#    Hank Childs, Tue Nov 15 07:17:22 PST 2005
+#    Add tests for macro expressions as secondary variables.
+#
+#    Hank Childs, Thu Jan 10 15:52:00 PST 2008
+#    Add test for recenter expression with material plot.
+#
+#    Hank Childs, Wed Jan 16 17:26:03 PST 2008
+#    Add testing for the "zeroFlag".
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+
+#One zonal variable
+AddPlot("Pseudocolor", "u")
+AddOperator("Elevate")
+DrawPlots()
+v = GetView3D()
+v.viewNormal = (-0.707, 0, 0.707)
+SetView3D(v)
+Test("elevate01")
+
+#One nodal variable
+ChangeActivePlotsVar("d")
+Test("elevate02")
+
+elevate_atts = ElevateAttributes()
+DefineScalarExpression("d_mod", "0.1*d")
+elevate_atts.variable = "d_mod"
+elevate_atts.useXYLimits = elevate_atts.Never
+SetOperatorOptions(elevate_atts)
+Test("elevate03")
+
+elevate_atts.useXYLimits = elevate_atts.Auto
+SetOperatorOptions(elevate_atts)
+Test("elevate04")
+
+#Primary variable zonal, Secondary variable zonal 
+ChangeActivePlotsVar("p")
+elevate_atts.variable = "d"
+SetOperatorOptions(elevate_atts)
+Test("elevate05")
+
+#Primary variable zonal, secondary nodal.
+elevate_atts.variable = "u"
+SetOperatorOptions(elevate_atts)
+Test("elevate06")
+
+#Primary variable nodal, secondary nodal.
+ChangeActivePlotsVar("v")
+Test("elevate07")
+
+#Primary variable nodal, secondary zonal.
+elevate_atts.variable = "p"
+SetOperatorOptions(elevate_atts)
+Test("elevate08")
+
+elevate_atts.useXYLimits = elevate_atts.Never
+SetOperatorOptions(elevate_atts)
+Test("elevate09")
+
+DeleteAllPlots()
+
+AddPlot("Mesh", "quadmesh2d")
+AddOperator("Elevate")
+elevate_atts.variable = "p"
+elevate_atts.useXYLimits = elevate_atts.Always
+SetOperatorOptions(elevate_atts)
+DrawPlots()
+Test("elevate10")
+
+DeleteAllPlots()
+AddPlot("FilledBoundary", "mat1")
+AddOperator("Elevate")
+elevate_atts.variable = "u"
+elevate_atts.useXYLimits = elevate_atts.Always
+SetOperatorOptions(elevate_atts)
+DrawPlots()
+Test("elevate11")
+
+elevate_atts.useXYLimits = elevate_atts.Never
+SetOperatorOptions(elevate_atts)
+DrawPlots()
+Test("elevate12")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Slice")
+AddOperator("Elevate")
+DrawPlots()
+Test("elevate13")
+
+# Testing expressions.  Test that macro expressions work as secondary
+# variables ('6768).
+DeleteAllPlots()
+OpenDatabase(silo_data_path("noise.silo"))
+
+DefineScalarExpression("vv", "hgslice+polar_radius(Mesh2D)")
+AddPlot("Pseudocolor", "hgslice")
+AddOperator("Elevate")
+elevate_atts.variable = "vv"
+elevate_atts.useXYLimits = elevate_atts.Always
+SetOperatorOptions(elevate_atts)
+DrawPlots()
+Test("elevate14")
+
+# Filled boundary with recentered expression
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+DefineScalarExpression("d2", "recenter(d)")
+AddPlot("FilledBoundary", "mat1")
+AddOperator("Elevate")
+elevate_atts.variable = "d2"
+elevate_atts.useXYLimits = elevate_atts.Always
+SetOperatorOptions(elevate_atts)
+DrawPlots()
+Test("elevate15")
+
+# Boundary plots that are elevated by zero height (no variable). '8346.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("ucd2d.silo"))
+
+AddPlot("Boundary", "mat1")
+AddOperator("Elevate")
+e = ElevateAttributes()
+e.zeroFlag = 1
+SetOperatorOptions(e)
+DrawPlots()
+v = GetView3D()
+v.viewNormal = (0.5, 0.5, 0.5)
+SetView3D(v)
+Test("elevate16")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ex_surf.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ex_surf.html new file mode 100644 index 000000000..7c572f9dd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ex_surf.html @@ -0,0 +1,56 @@ + +Results for operators/ex_surf.py + +

Results of VisIt Regression Test - operators/ex_surf

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_ex_surf_010.000.00
ops_ex_surf_020 modifications totalling 0 lines
ops_ex_surf_030 modifications totalling 0 lines
ops_ex_surf_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ex_surf_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ex_surf_py.html new file mode 100644 index 000000000..b4a8eb41d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ex_surf_py.html @@ -0,0 +1,51 @@ +operators/ex_surf.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  external_surface.py
+#
+#  Programmer: Hank Childs
+#  Date:       August 24, 2005
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("ExternalSurface")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.707, 0, 0.707)
+v.nearPlane = 0
+SetView3D(v)
+
+Test("ops_ex_surf_01")
+
+Query("NumZones", "actual")
+t = GetQueryOutputString()
+TestText("ops_ex_surf_02", t)
+
+es = ExternalSurfaceAttributes()
+es.removeGhosts = 1
+SetOperatorOptions(es)
+
+Query("NumZones", "actual")
+t = GetQueryOutputString()
+TestText("ops_ex_surf_03", t)
+
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("ucd2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("ExternalSurface")
+DrawPlots()
+Test("ops_ex_surf_04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_explode.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_explode.html new file mode 100644 index 000000000..a575436b2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_explode.html @@ -0,0 +1,180 @@ + +Results for operators/explode.py + +

Results of VisIt Regression Test - operators/explode

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
explode_globe_000.000.00
explode_globe_010.000.00
explode_globe_020.000.00
explode_globe_030.000.00
explode_ucd3d_000.000.00
explode_ucd3d_020.000.00
explode_ucd3d_030.000.00
explode_ucd3d_040.000.00
explode_ucd3d_050.000.00
explode_ucd3d_060.000.00
explode_ucd3d_070.000.00
explode_ucd3d_080.000.00
explode_rect3d_000.000.00
explode_multi_rect3d_000.000.00
explode_tire_000.000.00
explode_tire_010.000.00
explode_tire_020.000.00
explode_quad_disk_000.000.00
recenter_000.000.00
recenter_010.000.00
recenter_020.000.00
explode_domains_000.000.00
explode_domains_010.000.00
explode_repeat_labels_000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_explode_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_explode_py.html new file mode 100644 index 000000000..e36fa3454 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_explode_py.html @@ -0,0 +1,580 @@ +operators/explode.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  explode.py
+#
+#  Tests:      mesh      - 3D rectilinear, single domain, 
+#                           multi domain
+#                          3D unstructured, single domain
+#                          3D curvilinear, single domain
+#                          2D unstructured, single domain
+#              plots     - filled boundary, pseudocolor
+#              operators - explode
+#
+#  Programmer: Alister Maguire
+#  Date: Tue Jan  2 15:07:06 PST 2018
+#
+#  Modifications:
+#
+#      Alister Maguire, Wed Jan 17 15:28:46 PST 2018
+#      Added tests of multi-domain data.    
+#
+#      Alister Maguire, Mon Jan 22 11:00:51 PST 2018
+#      Changed explosion factors to account of scale update. 
+#
+#      Alister Maguire, Wed Feb 14 16:07:51 PST 2018
+#      Updated tests with multiple explosions to be perfomed
+#      by a single operator.   
+#
+#      Alister Maguire, Tue Feb 20 16:22:05 PST 2018
+#      Added a 2d test with no materials. 
+#
+#      Alister Maguire, Wed May  2 12:54:43 PDT 2018
+#      Added tests for recentering. 
+#
+#      Alister Maguire, Tue Sep 18 14:57:03 PDT 2018
+#      Added tests for exploding domains. 
+#
+#      Alister Maguire, Mon Sep 24 13:32:04 PDT 2018
+#      Added a test for handling repeat labels. 
+#
+# ----------------------------------------------------------------------------
+
+
+def unstructured_explosions():
+    OpenDatabase(silo_data_path("globe.silo"))
+    AddPlot("FilledBoundary", "mat1", 1, 1)
+    DrawPlots()
+
+    ResetView()
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (0.0758172, -0.984828, -0.156097)
+    View3DAtts.focus = (0, 0, 0)
+    View3DAtts.viewUp = (-0.01047, 0.155753, -0.987741)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 17.3205
+    View3DAtts.nearPlane = -34.641
+    View3DAtts.farPlane = 34.641
+    View3DAtts.imagePan = (0, 0)
+    View3DAtts.imageZoom = 0.826446
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (0, 0, 0)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+
+    AddOperator("Explode")
+    mainAtts = ExplodeAttributes()
+
+    # Explode one material by a plane
+    atts1 = ExplodeAttributes()
+    atts1.explosionType = atts1.Plane
+    atts1.planePoint = (0, 0, 0)
+    atts1.planeNorm = (1, 0, 0)
+    atts1.materialExplosionFactor = 1
+    atts1.material = "4"
+    atts1.explodeMaterialCells = 1
+    atts1.cellExplosionFactor = .8
+    atts1.explosionPattern = atts1.Impact
+    mainAtts.AddExplosions(atts1)
+    SetOperatorOptions(mainAtts, 1)
+    DrawPlots()
+
+    Test("explode_globe_00")
+
+    # Explode second material by plane
+    atts2 = ExplodeAttributes()
+    atts2.explosionType = atts2.Plane
+    atts2.planePoint = (0, 0, 0)
+    atts2.planeNorm = (0, 0, 1)
+    atts2.materialExplosionFactor = 1
+    atts2.material = "3"
+    atts2.explodeMaterialCells = 1
+    atts2.cellExplosionFactor = .8
+    atts2.explosionPattern = atts2.Impact
+    mainAtts.AddExplosions(atts2)
+    SetOperatorOptions(mainAtts, 1)
+    DrawPlots()
+
+    Test("explode_globe_01")
+
+    # Explode third material by plane
+    atts3 = ExplodeAttributes()
+    atts3.explosionType = atts3.Plane
+    atts3.planePoint = (0, 0, 0)
+    atts3.planeNorm = (0, 0, 1)
+    atts3.materialExplosionFactor = 1
+    atts3.material = "1"
+    atts3.explodeMaterialCells = 1
+    atts3.cellExplosionFactor = .3
+    atts3.explosionPattern = atts3.Impact
+    mainAtts.AddExplosions(atts3)
+    SetOperatorOptions(mainAtts, 1)
+    DrawPlots()
+
+    Test("explode_globe_02")
+
+    # Explode material by point
+    atts4 = ExplodeAttributes()
+    atts4.explosionType = atts4.Point
+    atts4.explosionPoint = (0, 0, 0)
+    atts4.materialExplosionFactor = 1
+    atts4.material = "2"
+    atts4.explodeMaterialCells = 1
+    atts4.cellExplosionFactor = .1
+    atts4.explosionPattern = atts4.Impact  # Impact, Scatter
+    mainAtts.AddExplosions(atts4)
+    SetOperatorOptions(mainAtts, 1)
+    DrawPlots()
+    Test("explode_globe_03")
+
+    ResetView()
+    DeleteAllPlots()
+
+def curvilinear_explosions():
+    OpenDatabase(silo_data_path("ucd3d.silo"))
+    AddPlot("Pseudocolor", "v", 1, 1)
+    AddOperator("Explode", 1)
+    DrawPlots()
+
+    ResetView()
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (-0.706303, 0.44773, 0.548338)
+    View3DAtts.focus = (0, 3.41092, 10)
+    View3DAtts.viewUp = (0.262178, 0.884949, -0.384874)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 17.0459
+    View3DAtts.nearPlane = -34.641
+    View3DAtts.farPlane = 34.641
+    View3DAtts.imagePan = (0, 0)
+    View3DAtts.imageZoom = 0.926446
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (0, 3.41092, 10)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+
+    # Explode by cylinder without radius 
+    ExplodeAtts = ExplodeAttributes()
+    ExplodeAtts.explosionType = ExplodeAtts.Cylinder
+    ExplodeAtts.cylinderPoint1 = (-5, 0, 20)
+    ExplodeAtts.cylinderPoint2 = (5, 5, 0)
+    ExplodeAtts.materialExplosionFactor = 1
+    ExplodeAtts.material = "1"
+    ExplodeAtts.cylinderRadius = 0
+    ExplodeAtts.explodeMaterialCells = 1
+    ExplodeAtts.cellExplosionFactor = 1
+    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
+    ExplodeAtts.explodeAllCells = 0
+    SetOperatorOptions(ExplodeAtts, 1)
+
+    Test("explode_ucd3d_00")
+
+    # Explode by plane
+    ExplodeAtts = ExplodeAttributes()
+    ExplodeAtts.explosionType = ExplodeAtts.Plane
+    ExplodeAtts.explodeMaterialCells = 0
+    ExplodeAtts.planePoint = (0, 2, 20)
+    ExplodeAtts.planeNorm = (0, 1, 0)
+    ExplodeAtts.materialExplosionFactor = 1
+    ExplodeAtts.material = "4"
+    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
+    ExplodeAtts.explodeAllCells = 0
+    SetOperatorOptions(ExplodeAtts, 1)
+
+    Test("explode_ucd3d_02")
+
+    # Explode all cells by point (impact)
+    ExplodeAtts = ExplodeAttributes()
+    ExplodeAtts.explosionType = ExplodeAtts.Point
+    ExplodeAtts.explosionPoint = (0, 0, 0)
+    ExplodeAtts.materialExplosionFactor = 1
+    ExplodeAtts.material = "1"
+    ExplodeAtts.cellExplosionFactor = 1
+    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
+    ExplodeAtts.explodeAllCells = 1
+    SetOperatorOptions(ExplodeAtts, 1)
+
+    Test("explode_ucd3d_03")
+
+    # Explode all cells by point (impact)
+    ExplodeAtts = ExplodeAttributes()
+    ExplodeAtts.explosionType = ExplodeAtts.Point
+    ExplodeAtts.explosionPoint = (0, 3, 10)
+    ExplodeAtts.materialExplosionFactor = 1
+    ExplodeAtts.material = "1"
+    ExplodeAtts.cellExplosionFactor = 1
+    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
+    ExplodeAtts.explodeAllCells = 1
+    SetOperatorOptions(ExplodeAtts, 1)
+
+    Test("explode_ucd3d_04")
+
+    # Explode all cells by point (scatter)
+    ExplodeAtts = ExplodeAttributes()
+    ExplodeAtts.explosionType = ExplodeAtts.Point
+    ExplodeAtts.explosionPoint = (0, 3, 10)
+    ExplodeAtts.materialExplosionFactor = 1
+    ExplodeAtts.material = "1"
+    ExplodeAtts.cellExplosionFactor = 3
+    ExplodeAtts.explosionPattern = ExplodeAtts.Scatter
+    ExplodeAtts.explodeAllCells = 1
+    SetOperatorOptions(ExplodeAtts, 1)
+
+    Test("explode_ucd3d_05")
+
+    # Explode material by point (scatter)
+    ExplodeAtts = ExplodeAttributes()
+    ExplodeAtts.explosionType = ExplodeAtts.Point
+    ExplodeAtts.explosionPoint = (0, 0, 0)
+    ExplodeAtts.materialExplosionFactor = 1
+    ExplodeAtts.material = "1"
+    ExplodeAtts.explodeMaterialCells = 1
+    ExplodeAtts.cellExplosionFactor = 1.5
+    ExplodeAtts.explosionPattern = ExplodeAtts.Scatter
+    ExplodeAtts.explodeAllCells = 0
+    SetOperatorOptions(ExplodeAtts, 1)
+
+    Test("explode_ucd3d_06")
+
+    # Explode material by point
+    ExplodeAtts = ExplodeAttributes()
+    ExplodeAtts.explosionType = ExplodeAtts.Point
+    ExplodeAtts.explosionPoint = (0, 3, 10)
+    ExplodeAtts.materialExplosionFactor = 1
+    ExplodeAtts.material = "1"
+    ExplodeAtts.cylinderRadius = 0
+    ExplodeAtts.explodeMaterialCells = 1
+    ExplodeAtts.cellExplosionFactor = 1.5
+    ExplodeAtts.explosionPattern = ExplodeAtts.Scatter
+    ExplodeAtts.explodeAllCells = 0
+    SetOperatorOptions(ExplodeAtts, 1)
+
+    Test("explode_ucd3d_07")
+
+    # Explode all cells by cylinder with radius
+    ExplodeAtts = ExplodeAttributes()
+    ExplodeAtts.explosionType = ExplodeAtts.Cylinder
+    ExplodeAtts.cylinderPoint1 = (0, 1, 10)
+    ExplodeAtts.cylinderPoint2 = (0, 0, 10)
+    ExplodeAtts.cylinderRadius = 4
+    ExplodeAtts.cellExplosionFactor = .4
+    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
+    ExplodeAtts.explodeAllCells = 1
+    SetOperatorOptions(ExplodeAtts, 1)
+
+    Test("explode_ucd3d_08")
+
+    ResetView()
+    DeleteAllPlots()
+
+def rectilinear_explosions():
+    OpenDatabase(silo_data_path("rect3d.silo"))
+    AddPlot("FilledBoundary", "mat1")
+
+    ResetView()
+    RecenterView()
+
+    AddOperator("Explode")
+    mainAtts = ExplodeAttributes()
+    DrawPlots()
+
+    atts1 = ExplodeAttributes()
+    atts1.explosionPoint = (1, 0, 0)
+    atts1.materialExplosionFactor = 2
+    atts1.material = "7"
+    mainAtts.AddExplosions(atts1)
+    SetOperatorOptions(mainAtts, 1)
+
+    atts2 = ExplodeAttributes()
+    atts2.explosionPoint = (0, 0, 1)
+    atts2.materialExplosionFactor = 2
+    atts2.material = "5"
+    mainAtts.AddExplosions(atts2)
+    SetOperatorOptions(mainAtts, 1)
+
+    Test("explode_rect3d_00")
+
+    ResetView()
+    DeleteAllPlots()
+
+def multi_rectilinear_explosions():
+    OpenDatabase(silo_data_path("multi_rect3d.silo"))
+    AddPlot("FilledBoundary", "mat1")
+
+    ResetView()
+    RecenterView()
+
+    AddOperator("Explode")
+    DrawPlots()
+    mainAtts = ExplodeAttributes()
+
+    atts1 = ExplodeAttributes()
+    atts1.explosionPoint = (1, 0, 0)
+    atts1.materialExplosionFactor = 2
+    atts1.material = "2"
+    mainAtts.AddExplosions(atts1)
+    SetOperatorOptions(mainAtts, 1)
+
+    atts2 = ExplodeAttributes()
+    atts2.explosionPoint = (0, 0, 1)
+    atts2.materialExplosionFactor = 2
+    atts2.material = "3"
+    mainAtts.AddExplosions(atts2)
+    SetOperatorOptions(mainAtts, 1)
+
+    Test("explode_multi_rect3d_00")
+
+    ResetView()
+    DeleteAllPlots()
+
+def multi_tire():
+    OpenDatabase(silo_data_path("tire.silo"))
+    AddPlot("FilledBoundary", "Materials")
+
+    ResetView()
+    RecenterView()
+
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (1.0, 0.0, 0.0)
+    View3DAtts.focus = (0, 0, 0)
+    View3DAtts.viewUp = (0, 1, 0)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 8.0
+    View3DAtts.nearPlane = -0.5
+    View3DAtts.farPlane = 0.5
+    View3DAtts.imagePan = (0, 0)
+    View3DAtts.imageZoom = 0.826446
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (0, 0, 0)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+
+
+    AddOperator("Explode")
+    DrawPlots()
+    mainAtts = ExplodeAttributes()
+
+    # If domains are being treated correctly, this
+    # should not produce an explosion. 
+    atts1 = ExplodeAttributes()
+    atts1.materialExplosionFactor = 500
+    atts1.material = "1 Rubber"
+    mainAtts.AddExplosions(atts1)
+    SetOperatorOptions(mainAtts, 1)
+
+    Test("explode_tire_00")
+
+    atts2 = ExplodeAttributes()
+    atts2.materialExplosionFactor = 0
+    atts2.explodeMaterialCells = 1
+    atts2.cellExplosionFactor = 1
+    atts2.explosionType = atts2.Plane
+    atts2.planePoint = (0, 0, 0)
+    atts2.planeNorm = (0, 1, 0)
+    atts2.material = "1 Rubber"
+    mainAtts.AddExplosions(atts2)
+    SetOperatorOptions(mainAtts, 1)
+
+    Test("explode_tire_01")
+
+    atts3 = ExplodeAttributes()
+    atts3.materialExplosionFactor = 1
+    atts3.explodeMaterialCells = 0
+    atts3.cellExplosionFactor = 0
+    atts3.explosionType = atts3.Point
+    atts3.explosionPoint = (0, 0, 60)
+    atts3.material = "2 Steel"
+    mainAtts.AddExplosions(atts3)
+    SetOperatorOptions(mainAtts, 1)
+
+    Test("explode_tire_02")
+    ResetView()
+    DeleteAllPlots()
+
+def TwoDimNoMat():
+    OpenDatabase(silo_data_path("quad_disk.silo"))
+    AddPlot("Pseudocolor", "sphElevD_on_mesh")
+
+    ResetView()
+    RecenterView()
+
+    AddOperator("Explode")
+    DrawPlots()
+
+    atts = ExplodeAttributes()
+    atts.explodeAllCells  = 1
+    atts.explosionPattern = atts.Scatter
+    SetOperatorOptions(atts)
+
+    Test("explode_quad_disk_00")
+    ResetView()
+    DeleteAllPlots()
+
+def TestRecenter():
+    #
+    # Recentering is enabled when exploding all cells,
+    # and it allows a cell to be displaced even when 
+    # its center lies on an explode origin. 
+    #
+    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
+    AddPlot("Pseudocolor", "3D/z1")
+
+    ResetView()
+    RecenterView()
+
+    AddOperator("Explode")
+    DrawPlots()
+
+    #
+    # Test when a cell center lies on an explode
+    # cylinder with radius 0. 
+    #
+    atts = ExplodeAttributes()
+    atts.explodeAllCells = 1
+    atts.explosionType   = atts.Cylinder
+    atts.cylinderPoint1  = (0, .5, .5)
+    atts.cylinderPoint2  = (1, .5, .5)
+    SetOperatorOptions(atts)
+
+    Test("recenter_00")
+
+    #
+    # Test when a cell center lies on an explode
+    # point.
+    #
+    atts = ExplodeAttributes()
+    atts.explodeAllCells = 1
+    atts.explosionType   = atts.Point
+    atts.explosionPoint  = (.5, .5, .5)
+    SetOperatorOptions(atts)
+
+    Test("recenter_01")
+
+    #
+    # Test when a cell center lies on an explode
+    # plane.
+    #
+    atts = ExplodeAttributes()
+    atts.explodeAllCells = 1
+    atts.explosionType   = atts.Plane
+    atts.planePoint      = (1.5, 0, 0)
+    atts.planeNorm       = (1, 0, 0)
+    SetOperatorOptions(atts)
+
+    Test("recenter_02")
+
+    ResetView()
+    DeleteAllPlots()
+
+
+def TestDomainExplode():
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+    AddPlot("Subset", "domains(mesh1)")
+
+    ResetView()
+    RecenterView()
+
+    #
+    # Test exploding full mesh domains. 
+    #
+    AddOperator("Explode")
+    expAtts = ExplodeAttributes()
+    expAtts.explosionType = expAtts.Point
+    expAtts.explosionPoint = (0, 0, 0)
+    expAtts.materialExplosionFactor = 1.2
+    expAtts.material = "15"
+    expAtts.explodeMaterialCells = 0
+    expAtts.explosionPattern = expAtts.Impact
+    SetOperatorOptions(expAtts, 1)
+    DrawPlots()
+    Test("explode_domains_00")
+
+    ResetView()
+    DeleteAllPlots()
+
+    AddPlot("Subset", "domains(mesh1_front)")
+
+    #
+    # Test exploding a subset of mesh domains. 
+    #
+    AddOperator("Explode")
+    expAtts = ExplodeAttributes()
+    expAtts.explosionType = expAtts.Point
+    expAtts.explosionPoint = (0, 0, 0)
+    expAtts.materialExplosionFactor = 1.2
+    expAtts.material = "8"
+    expAtts.explodeMaterialCells = 0
+    expAtts.explosionPattern = expAtts.Impact
+    SetOperatorOptions(expAtts, 1)
+    DrawPlots()
+    Test("explode_domains_01")
+
+    ResetView()
+    DeleteAllPlots()
+
+def TestRepeatMatLabels():
+    #
+    # Under certain circumstances, the explode operator
+    # will recieve repeat labels that need to be condensed. 
+    # Make sure we can handle this. 
+    #
+    OpenDatabase(silo_data_path("tire.silo"))
+    AddPlot("FilledBoundary", "Materials")
+
+    ResetView()
+    RecenterView()
+
+    #
+    # First, add a reflect operator, which will create
+    # repeat labels if used on multi domain data.  
+    #
+    AddOperator("Reflect")
+
+    #
+    # Test exploding full mesh domains. 
+    #
+    AddOperator("Explode")
+    expAtts = ExplodeAttributes()
+    expAtts.explosionType = expAtts.Point
+    expAtts.explosionPoint = (0, 0, 10)
+    expAtts.materialExplosionFactor = 1.2
+    expAtts.material = "1 Rubber"
+    expAtts.explodeMaterialCells = 1
+    expAtts.explosionPattern = expAtts.Impact
+    SetOperatorOptions(expAtts, 1)
+    DrawPlots()
+    Test("explode_repeat_labels_00")
+
+    ResetView()
+    DeleteAllPlots()
+
+
+def Main():
+    unstructured_explosions()
+    curvilinear_explosions()
+    rectilinear_explosions()
+    multi_rectilinear_explosions()
+    multi_tire()
+    TwoDimNoMat()
+    TestRecenter()
+    TestDomainExplode()
+    TestRepeatMatLabels()
+
+
+Main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_extrudeStacked.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_extrudeStacked.html new file mode 100644 index 000000000..a28242085 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_extrudeStacked.html @@ -0,0 +1,339 @@ + +Results for operators/extrudeStacked.py + +

Results of VisIt Regression Test - operators/extrudeStacked

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Extrude stacked function
Testing database = lines.vtk
extrude_lines_v0_node_height0.000.00
extrude_lines_v1_node_height0.000.00
extrude_lines_v1_cell_height0.000.00
extrude_lines_v2_node_height0.000.00
extrude_lines_v2_cell_height0.000.00
extrude_lines_v2_index0.000.00
extrude_lines_v3_node_height0.000.00
extrude_lines_v3_cell_height0.000.00
extrude_lines_v3_index0.000.00
extrude_lines_v4_node_height0.000.00
extrude_lines_v4_cell_height0.000.00
extrude_lines_v4_index0.000.00
Testing database = polygons.vtk
extrude_polygons_v0_node_height0.000.00
extrude_polygons_v1_node_height0.000.00
extrude_polygons_v1_cell_height0.000.00
extrude_polygons_v2_node_height0.000.00
extrude_polygons_v2_cell_height0.000.00
extrude_polygons_v2_index0.000.00
extrude_polygons_v3_node_height0.000.00
extrude_polygons_v3_cell_height0.000.00
extrude_polygons_v3_index0.000.00
extrude_polygons_v4_node_height0.000.00
extrude_polygons_v4_cell_height0.000.00
extrude_polygons_v4_index0.000.00
Testing database = rectilinear.vtk
extrude_rectilinear_v0_node_height0.000.00
extrude_rectilinear_v1_node_height0.000.00
extrude_rectilinear_v1_cell_height0.000.00
extrude_rectilinear_v2_node_height0.000.00
extrude_rectilinear_v2_cell_height0.000.00
extrude_rectilinear_v2_index0.000.00
extrude_rectilinear_v3_node_height0.000.00
extrude_rectilinear_v3_cell_height0.000.00
extrude_rectilinear_v3_index0.000.00
extrude_rectilinear_v4_node_height0.000.00
extrude_rectilinear_v4_cell_height0.000.00
extrude_rectilinear_v4_index0.000.00
Testing database = structured.vtk
extrude_structured_v0_node_height0.000.00
extrude_structured_v1_node_height0.000.00
extrude_structured_v1_cell_height0.000.00
extrude_structured_v2_node_height0.000.00
extrude_structured_v2_cell_height0.000.00
extrude_structured_v2_index0.000.00
extrude_structured_v3_node_height0.000.00
extrude_structured_v3_cell_height0.000.00
extrude_structured_v3_index0.000.00
extrude_structured_v4_node_height0.000.00
extrude_structured_v4_cell_height0.000.00
extrude_structured_v4_index0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_extrudeStacked_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_extrudeStacked_py.html new file mode 100644 index 000000000..c19e83806 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_extrudeStacked_py.html @@ -0,0 +1,283 @@ +operators/extrudeStacked.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  extrudeStacked.py
+#
+#  Tests:      operator   - Extrude Stacked
+#
+#  Programmer: Allen Sanderson
+#  Date:       30 August 2023
+#
+#  Modifications:
+#    Kathleen Biagas, Wed Sep 20, 2023
+#    Changed SetLocalView to retrieve the view via GetView3D() and only
+#    change the viewNormal and viewUp, so that test images are larger.
+#
+# ----------------------------------------------------------------------------
+
+RequiredDatabasePlugin("VTK")
+
+# For local testing using the CLI
+
+#def data_path( db_name ):
+#  db="/Users/allen/Projects/VisIt/git/visit/data/%s" %(db_name)
+#  return db
+
+#def Test(case_name):
+#   swatts = SaveWindowAttributes()
+#   swatts.family = 0
+#   swatts.fileName = "/Users/allen/Projects/VisIt/git/visit/data/%s" %(case_name)
+#   SetSaveWindowAttributes(swatts)
+#   SaveWindow()
+#   return
+
+#def TestSection(tmpstr):
+#   return
+
+#def Exit():
+#   return
+
+# Set the local view
+def SetLocalView():
+  ResetView()
+  #
+  View3DAtts = GetView3D()
+  View3DAtts.viewNormal = (0, -1, 0)
+  View3DAtts.viewUp = (0, 0, 1)
+  SetView3D(View3DAtts)
+
+# Open the database here and add a plot.
+db=data_path("extrude_test_data/extrude_structured.vtk")
+OpenDatabase(db)
+
+AddPlot("Pseudocolor", "V1", 1, 0)
+AddOperator("ExtrudeStacked", 0)
+SetActivePlots(0)
+DrawPlots()
+
+PseudocolorAtts = PseudocolorAttributes()
+PseudocolorAtts.renderSurfaces = 1
+PseudocolorAtts.renderWireframe = 1
+SetPlotOptions(PseudocolorAtts)
+
+SetLocalView()
+
+# Loop through all of the databases
+databases=["lines", "polygons", "rectilinear", "structured" ]
+
+TestSection("Extrude stacked function")
+for i in range(len(databases)):
+  db=data_path("extrude_test_data/extrude_%s.vtk") %(databases[i])
+  tmpstr="Testing database = %s.vtk" %(databases[i])
+  TestSection(tmpstr)
+  OpenDatabase(db)
+  #
+  # Replace the database from before with the one just openned.
+  ReplaceDatabase(db)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("default")
+  ExtrudeStackedAtts.visualVariableNames = ("default")
+  ExtrudeStackedAtts.extentMinima = (-1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37)
+  ExtrudeStackedAtts.extentScale = (1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.OriginalData
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v0_node_height" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1")
+  ExtrudeStackedAtts.visualVariableNames = ("V1")
+  ExtrudeStackedAtts.extentMinima = (-1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37)
+  ExtrudeStackedAtts.extentScale = (1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v1_node_height" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1")
+  ExtrudeStackedAtts.visualVariableNames = ("V1")
+  ExtrudeStackedAtts.extentMinima = (-1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37)
+  ExtrudeStackedAtts.extentScale = (1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v1_cell_height" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2")
+  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2")
+  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37)
+  ExtrudeStackedAtts.extentScale = (1, 1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v2_node_height" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2")
+  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2")
+  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37)
+  ExtrudeStackedAtts.extentScale = (1, 1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v2_cell_height" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2")
+  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2")
+  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37)
+  ExtrudeStackedAtts.extentScale = (1, 1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.VariableIndex
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v2_index" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3")
+  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3")
+  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37)
+  ExtrudeStackedAtts.extentScale = (1, 1, 1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v3_node_height" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3")
+  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3")
+  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37)
+  ExtrudeStackedAtts.extentScale = (1, 1, 1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v3_cell_height" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3")
+  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3")
+  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37)
+  ExtrudeStackedAtts.extentScale = (1, 1, 1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.VariableIndex
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v3_index" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3", "V4")
+  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3", "V4")
+  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37, 1e+37)
+  ExtrudeStackedAtts.extentScale = (1, 1, 1, 1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v4_node_height" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3", "V4")
+  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3", "V4")
+  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37, 1e+37)
+  ExtrudeStackedAtts.extentScale = (1, 1, 1, 1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v4_cell_height" %(databases[i])
+  Test(tmpstr)
+  #
+  ExtrudeStackedAtts = ExtrudeStackedAttributes()
+  ExtrudeStackedAtts.axis = (0, 0, 1)
+  ExtrudeStackedAtts.byVariable = 1
+  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3", "V4")
+  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3", "V4")
+  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
+  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37, 1e+37)
+  ExtrudeStackedAtts.extentScale = (1, 1, 1, 1)
+  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.VariableIndex
+  ExtrudeStackedAtts.length = 1
+  ExtrudeStackedAtts.steps = 1
+  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
+  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
+  #
+  tmpstr="extrude_%s_v4_index" %(databases[i])
+  Test(tmpstr)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_geometry.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_geometry.html new file mode 100644 index 000000000..1e587084c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_geometry.html @@ -0,0 +1,138 @@ + +Results for operators/ic_geometry.py + +

Results of VisIt Regression Test - operators/ic_geometry

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ic_geometry_010.000.00
ic_geometry_020.000.00
ic_geometry_030.000.00
ic_geometry_040.000.00
ic_geometry_050.000.00
ic_geometry_060.000.00
ic_geometry_070.000.00
ic_geometry_080.000.00
ic_geometry_090.000.00
ic_geometry_100.000.00
ic_geometry_110.000.00
ic_geometry_120.000.00
ic_geometry_130.000.00
ic_geometry_140.000.00
ic_geometry_crop_10.000.00
ic_geometry_crop_20.000.00
ic_geometry_crop_30.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_geometry_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_geometry_py.html new file mode 100644 index 000000000..f0bed1b5f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_geometry_py.html @@ -0,0 +1,379 @@ +operators/ic_geometry.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ic_geometry.py
+#
+#  Tests:      operator      - integralcurve
+#              plot          - pseudocolor
+#
+#  Defect ID:  -
+#
+#  Programmer: Allen Sanderson
+#  Date:       March 10, 2016
+#
+#  Modifications:
+#    Kathleen Biagas, Tue Sep 29 09:17:57 PDT 2020
+#    Turned off IC warnings.
+#
+#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
+#    Changed Pseudocolor CurrentPlot to ActualData.
+#
+# ----------------------------------------------------------------------------
+
+OpenDatabase(silo_data_path("noise.silo"))
+AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
+
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
+View3DAtts.focus = (0.496062, 0.99603, 0.496062)
+View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 12.1829
+View3DAtts.nearPlane = -24.3658
+View3DAtts.farPlane = 24.3658
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+SetView3D(View3DAtts)
+
+PseudocolorAtts = PseudocolorAttributes()
+PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
+PseudocolorAtts.skewFactor = 1
+PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
+PseudocolorAtts.minFlag = 0
+PseudocolorAtts.min = 0
+PseudocolorAtts.maxFlag = 0
+PseudocolorAtts.max = 1
+PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
+PseudocolorAtts.colorTableName = "hot"
+PseudocolorAtts.invertColorTable = 0
+PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
+PseudocolorAtts.opacityVariable = ""
+PseudocolorAtts.opacity = 1
+PseudocolorAtts.opacityVarMin = 0
+PseudocolorAtts.opacityVarMax = 1
+PseudocolorAtts.opacityVarMinFlag = 0
+PseudocolorAtts.opacityVarMaxFlag = 0
+PseudocolorAtts.pointSize = 0.05
+PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
+PseudocolorAtts.pointSizeVarEnabled = 0
+PseudocolorAtts.pointSizeVar = "default"
+PseudocolorAtts.pointSizePixels = 2
+PseudocolorAtts.lineType = PseudocolorAtts.Tube  # Line, Tube, Ribbon
+PseudocolorAtts.lineWidth = 0
+PseudocolorAtts.tubeResolution = 100
+PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
+PseudocolorAtts.tubeRadiusAbsolute = 0.1
+PseudocolorAtts.tubeRadiusBBox = 0.005
+PseudocolorAtts.tubeRadiusVarEnabled = 0
+PseudocolorAtts.tubeRadiusVar = ""
+PseudocolorAtts.tubeRadiusVarRatio = 10
+PseudocolorAtts.tailStyle = PseudocolorAtts.Spheres  # None, Spheres, Cones
+PseudocolorAtts.headStyle = PseudocolorAtts.NONE  # None, Spheres, Cones
+PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
+PseudocolorAtts.endPointRadiusAbsolute = 0.3
+PseudocolorAtts.endPointRadiusBBox = 0.005
+PseudocolorAtts.endPointResolution = 100
+PseudocolorAtts.endPointRatio = 2
+PseudocolorAtts.endPointRadiusVarEnabled = 0
+PseudocolorAtts.endPointRadiusVar = ""
+PseudocolorAtts.endPointRadiusVarRatio = 10
+PseudocolorAtts.renderSurfaces = 1
+PseudocolorAtts.renderWireframe = 0
+PseudocolorAtts.renderPoints = 0
+PseudocolorAtts.smoothingLevel = 0
+PseudocolorAtts.legendFlag = 1
+PseudocolorAtts.lightingFlag = 1
+PseudocolorAtts.wireframeColor = (0, 0, 0, 0)
+PseudocolorAtts.pointColor = (0, 0, 0, 0)
+SetPlotOptions(PseudocolorAtts)
+
+IntegralCurveAtts = IntegralCurveAttributes()
+IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, PointList, SpecifiedLine, Circle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox, Selection, FieldData
+IntegralCurveAtts.pointSource = (0, 0, 0)
+IntegralCurveAtts.lineStart = (0, 0, 0)
+IntegralCurveAtts.lineEnd = (1, 0, 0)
+IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
+IntegralCurveAtts.planeNormal = (0, 1, 0)
+IntegralCurveAtts.planeUpAxis = (1, 0, 0)
+IntegralCurveAtts.radius = 1
+IntegralCurveAtts.sphereOrigin = (0, 0, 0)
+IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
+IntegralCurveAtts.useWholeBox = 1
+IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
+IntegralCurveAtts.fieldData = ()
+IntegralCurveAtts.sampleDensity0 = 5
+IntegralCurveAtts.sampleDensity1 = 5
+IntegralCurveAtts.sampleDensity2 = 2
+IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute  # Solid, SeedPointID, Speed, Vorticity, ArcLength, TimeAbsolute, TimeRelative, AverageDistanceFromSeed, CorrelationDistance, Difference, Variable
+IntegralCurveAtts.dataVariable = ""
+IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both, ForwardDirectionless, BackwardDirectionless, BothDirectionless
+IntegralCurveAtts.maxSteps = 100000
+IntegralCurveAtts.terminateByDistance = 0
+IntegralCurveAtts.termDistance = 10
+IntegralCurveAtts.terminateByTime = 1
+IntegralCurveAtts.termTime = 200
+IntegralCurveAtts.maxStepLength = 0.1
+IntegralCurveAtts.limitMaximumTimestep = 1
+IntegralCurveAtts.maxTimeStep = 0.02
+IntegralCurveAtts.relTol = 1e-06
+IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
+IntegralCurveAtts.absTolAbsolute = 1e-06
+IntegralCurveAtts.absTolBBox = 1e-07
+IntegralCurveAtts.fieldType = IntegralCurveAtts.Default  # Default, FlashField, M3DC12DField, M3DC13DField, Nek5000Field, NektarPPField
+IntegralCurveAtts.fieldConstant = 1
+IntegralCurveAtts.velocitySource = (0, 0, 0)
+IntegralCurveAtts.integrationType = IntegralCurveAtts.AdamsBashforth  # Euler, Leapfrog, DormandPrince, AdamsBashforth, RK4, M3DC12DIntegrator
+IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects  # LoadOnDemand, ParallelStaticDomains, ManagerWorker, VisItSelects
+IntegralCurveAtts.maxProcessCount = 10
+IntegralCurveAtts.maxDomainCacheSize = 3
+IntegralCurveAtts.workGroupSize = 32
+IntegralCurveAtts.pathlines = 0
+IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
+IntegralCurveAtts.pathlinesOverrideStartingTime = 0
+IntegralCurveAtts.pathlinesPeriod = 0
+IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE  # CONN_CMFE, POS_CMFE
+IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines  # Lines, Tubes, Ribbons
+IntegralCurveAtts.cropBeginFlag = 0
+IntegralCurveAtts.cropBegin = 0
+IntegralCurveAtts.cropEndFlag = 0
+IntegralCurveAtts.cropEnd = 0
+IntegralCurveAtts.cropValue = IntegralCurveAtts.Time  # Distance, Time, StepNumber
+IntegralCurveAtts.sampleDistance0 = 18
+IntegralCurveAtts.sampleDistance1 = 18
+IntegralCurveAtts.sampleDistance2 = 10
+IntegralCurveAtts.fillInterior = 1
+IntegralCurveAtts.randomSamples = 0
+IntegralCurveAtts.randomSeed = 0
+IntegralCurveAtts.numberOfRandomSamples = 1
+IntegralCurveAtts.issueAdvectionWarnings = 1
+IntegralCurveAtts.issueBoundaryWarnings = 1
+IntegralCurveAtts.issueTerminationWarnings = 1
+IntegralCurveAtts.issueStepsizeWarnings = 1
+IntegralCurveAtts.issueStiffnessWarnings = 1
+IntegralCurveAtts.issueCriticalPointsWarnings = 1
+IntegralCurveAtts.criticalPointThreshold = 0.001
+IntegralCurveAtts.correlationDistanceAngTol = 5
+IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
+IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
+IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
+IntegralCurveAtts.selection = ""
+
+# Test coloring options
+
+SetOperatorOptions(IntegralCurveAtts)
+DrawPlots()
+Test( "ic_geometry_01" )
+
+PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.FractionOfBBox
+PseudocolorAtts.endPointRadiusBBox = 0.03
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_02" )
+
+PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute
+PseudocolorAtts.endPointRadiusAbsolute = 0.6
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_03" )
+
+PseudocolorAtts.lineType = PseudocolorAtts.Tube
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_04" )
+
+PseudocolorAtts.tubeRadiusBBox = 0.01
+PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_05" )
+
+PseudocolorAtts.tubeRadiusAbsolute = 0.2
+PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_06" )
+
+PseudocolorAtts.lineType = PseudocolorAtts.Ribbon
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_07" )
+
+PseudocolorAtts.tubeRadiusBBox = 0.01
+PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_08" )
+
+PseudocolorAtts.tubeRadiusAbsolute = 0.4
+PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_09" )
+
+PseudocolorAtts.lineType = PseudocolorAtts.Line
+PseudocolorAtts.headStyle = PseudocolorAtts.Spheres  # None, Spheres, Cones
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_10" )
+
+PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.FractionOfBBox
+PseudocolorAtts.endPointRadiusBBox = 0.03
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_11" )
+
+PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute
+PseudocolorAtts.endPointRadiusAbsolute = 0.6
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_12" )
+
+PseudocolorAtts.tailStyle = PseudocolorAtts.Cones  # None, Spheres, Cones
+PseudocolorAtts.headStyle = PseudocolorAtts.Cones  # None, Spheres, Cones
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_13" )
+
+PseudocolorAtts.endPointRatio = 3
+SetPlotOptions(PseudocolorAtts)
+Test( "ic_geometry_14" )
+
+#
+# Test crop w/ head (cone) location
+#
+DeleteAllPlots()
+OpenDatabase(silo_data_path("noise.silo"))
+AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
+
+PseudocolorAtts = PseudocolorAttributes()
+PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
+PseudocolorAtts.skewFactor = 1
+PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
+PseudocolorAtts.minFlag = 0
+PseudocolorAtts.min = 0
+PseudocolorAtts.maxFlag = 0
+PseudocolorAtts.max = 1
+PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
+PseudocolorAtts.colorTableName = "hot"
+PseudocolorAtts.invertColorTable = 0
+PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
+PseudocolorAtts.opacityVariable = ""
+PseudocolorAtts.opacity = 1
+PseudocolorAtts.opacityVarMin = 0
+PseudocolorAtts.opacityVarMax = 1
+PseudocolorAtts.opacityVarMinFlag = 0
+PseudocolorAtts.opacityVarMaxFlag = 0
+PseudocolorAtts.pointSize = 0.05
+PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
+PseudocolorAtts.pointSizeVarEnabled = 0
+PseudocolorAtts.pointSizeVar = "default"
+PseudocolorAtts.pointSizePixels = 2
+PseudocolorAtts.lineType = PseudocolorAtts.Line  # Line, Tube, Ribbon
+PseudocolorAtts.lineWidth = 0
+PseudocolorAtts.tubeResolution = 10
+PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox  # Absolute, FractionOfBBox
+PseudocolorAtts.tubeRadiusAbsolute = 0.4
+PseudocolorAtts.tubeRadiusBBox = 0.02
+PseudocolorAtts.tubeRadiusVarEnabled = 0
+PseudocolorAtts.tubeRadiusVar = ""
+PseudocolorAtts.tubeRadiusVarRatio = 10
+PseudocolorAtts.tailStyle = PseudocolorAtts.NONE  # None, Spheres, Cones
+PseudocolorAtts.headStyle = PseudocolorAtts.Cones  # None, Spheres, Cones
+PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
+PseudocolorAtts.endPointRadiusAbsolute = 0.8
+PseudocolorAtts.endPointRadiusBBox = 0.04
+PseudocolorAtts.endPointResolution = 10
+PseudocolorAtts.endPointRatio = 2
+PseudocolorAtts.endPointRadiusVarEnabled = 0
+PseudocolorAtts.endPointRadiusVar = ""
+PseudocolorAtts.endPointRadiusVarRatio = 10
+PseudocolorAtts.renderSurfaces = 1
+PseudocolorAtts.renderWireframe = 0
+PseudocolorAtts.renderPoints = 0
+PseudocolorAtts.smoothingLevel = 0
+PseudocolorAtts.legendFlag = 1
+PseudocolorAtts.lightingFlag = 1
+PseudocolorAtts.wireframeColor = (0, 0, 0, 0)
+PseudocolorAtts.pointColor = (0, 0, 0, 0)
+SetPlotOptions(PseudocolorAtts)
+
+IntegralCurveAtts = IntegralCurveAttributes()
+IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPoint  # SpecifiedPoint, PointList, SpecifiedLine, Circle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox, Selection, FieldData
+IntegralCurveAtts.pointSource = (0, 0, 0)
+IntegralCurveAtts.lineStart = (0, 0, 0)
+IntegralCurveAtts.lineEnd = (1, 0, 0)
+IntegralCurveAtts.planeOrigin = (0, 0, 0)
+IntegralCurveAtts.planeNormal = (0, 0, 1)
+IntegralCurveAtts.planeUpAxis = (0, 1, 0)
+IntegralCurveAtts.radius = 1
+IntegralCurveAtts.sphereOrigin = (0, 0, 0)
+IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
+IntegralCurveAtts.useWholeBox = 1
+IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
+IntegralCurveAtts.fieldData = ()
+IntegralCurveAtts.sampleDensity0 = 2
+IntegralCurveAtts.sampleDensity1 = 2
+IntegralCurveAtts.sampleDensity2 = 2
+IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute  # Solid, SeedPointID, Speed, Vorticity, ArcLength, TimeAbsolute, TimeRelative, AverageDistanceFromSeed, CorrelationDistance, Difference, Variable
+IntegralCurveAtts.dataVariable = ""
+IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward  # Forward, Backward, Both, ForwardDirectionless, BackwardDirectionless, BothDirectionless
+IntegralCurveAtts.maxSteps = 1000
+IntegralCurveAtts.terminateByDistance = 0
+IntegralCurveAtts.termDistance = 10
+IntegralCurveAtts.terminateByTime = 0
+IntegralCurveAtts.termTime = 10
+IntegralCurveAtts.maxStepLength = 0.1
+IntegralCurveAtts.limitMaximumTimestep = 0
+IntegralCurveAtts.maxTimeStep = 0.1
+IntegralCurveAtts.relTol = 0.0001
+IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
+IntegralCurveAtts.absTolAbsolute = 1e-06
+IntegralCurveAtts.absTolBBox = 1e-06
+IntegralCurveAtts.fieldType = IntegralCurveAtts.Default  # Default, FlashField, M3DC12DField, M3DC13DField, Nek5000Field, NektarPPField
+IntegralCurveAtts.fieldConstant = 1
+IntegralCurveAtts.velocitySource = (0, 0, 0)
+IntegralCurveAtts.integrationType = IntegralCurveAtts.AdamsBashforth  # Euler, Leapfrog, DormandPrince, AdamsBashforth, RK4, M3DC12DIntegrator
+IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects  # LoadOnDemand, ParallelStaticDomains, ManagerWorker, VisItSelects
+IntegralCurveAtts.maxProcessCount = 10
+IntegralCurveAtts.maxDomainCacheSize = 3
+IntegralCurveAtts.workGroupSize = 32
+IntegralCurveAtts.pathlines = 0
+IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
+IntegralCurveAtts.pathlinesOverrideStartingTime = 0
+IntegralCurveAtts.pathlinesPeriod = 0
+IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE  # CONN_CMFE, POS_CMFE
+IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines  # Lines, Tubes, Ribbons
+IntegralCurveAtts.cropBeginFlag = 0
+IntegralCurveAtts.cropBegin = 0
+IntegralCurveAtts.cropEndFlag = 0
+IntegralCurveAtts.cropEnd = 0
+IntegralCurveAtts.cropValue = IntegralCurveAtts.Time  # Distance, Time, StepNumber
+IntegralCurveAtts.sampleDistance0 = 10
+IntegralCurveAtts.sampleDistance1 = 10
+IntegralCurveAtts.sampleDistance2 = 10
+IntegralCurveAtts.fillInterior = 1
+IntegralCurveAtts.randomSamples = 0
+IntegralCurveAtts.randomSeed = 0
+IntegralCurveAtts.numberOfRandomSamples = 1
+IntegralCurveAtts.issueAdvectionWarnings = 0
+IntegralCurveAtts.issueBoundaryWarnings = 0
+IntegralCurveAtts.issueTerminationWarnings = 0
+IntegralCurveAtts.issueStepsizeWarnings = 0
+IntegralCurveAtts.issueStiffnessWarnings = 0
+IntegralCurveAtts.issueCriticalPointsWarnings = 0
+IntegralCurveAtts.criticalPointThreshold = 0.001
+IntegralCurveAtts.correlationDistanceAngTol = 5
+IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
+IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
+IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
+IntegralCurveAtts.selection = ""
+
+IntegralCurveAtts.cropEndFlag  = 1
+IntegralCurveAtts.cropEnd = 2
+SetOperatorOptions(IntegralCurveAtts)
+DrawPlots()
+Test( "ic_geometry_crop_1")
+
+IntegralCurveAtts.cropEnd = 5
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_geometry_crop_2")
+
+IntegralCurveAtts.cropBeginFlag  = 1
+IntegralCurveAtts.cropBegin = 2
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_geometry_crop_3")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_integration.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_integration.html new file mode 100644 index 000000000..54aee5362 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_integration.html @@ -0,0 +1,102 @@ + +Results for operators/ic_integration.py + +

Results of VisIt Regression Test - operators/ic_integration

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ic_integration_010.000.00
ic_integration_020.000.00
ic_integration_030.000.00
ic_integration_040.000.00
ic_integration_050.000.00
ic_integration_060.000.00
ic_integration_070.000.00
ic_integration_080.000.00
ic_integration_090.000.00
ic_integration_100.000.00
ic_integration_110.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_integration_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_integration_py.html new file mode 100644 index 000000000..d03b99f47 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_integration_py.html @@ -0,0 +1,115 @@ +operators/ic_integration.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ic_integration.py
+#
+#  Tests:      operator      - integralcurve
+#
+#  Defect ID:  -
+#
+#  Programmer: Allen Sanderson
+#  Date:       March 10, 2016
+#
+#  Modifications:
+#    Kathleen Biagas, Tue Sep 29 11:01:37 PDT 2020
+#    Turn off IC warnings.
+# ----------------------------------------------------------------------------
+
+OpenDatabase(silo_data_path("noise.silo"))
+AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
+
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
+View3DAtts.focus = (0.496062, 0.99603, 0.496062)
+View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 12.1829
+View3DAtts.nearPlane = -24.3658
+View3DAtts.farPlane = 24.3658
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+SetView3D(View3DAtts)
+
+IntegralCurveAtts = IntegralCurveAttributes()
+IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, SpecifiedPointList, SpecifiedLine, SpecifiedCircle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox
+IntegralCurveAtts.limitMaximumTimestep = 1
+IntegralCurveAtts.maxTimeStep = 0.02
+IntegralCurveAtts.terminateByTime = 1
+IntegralCurveAtts.termTime = 200
+IntegralCurveAtts.maxSteps = 100000
+IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
+IntegralCurveAtts.planeNormal = (0, 1, 0)
+IntegralCurveAtts.planeUpAxis = (1, 0, 0)
+IntegralCurveAtts.sampleDensity0 = 5
+IntegralCurveAtts.sampleDensity1 = 5
+IntegralCurveAtts.sampleDistance0 = 18
+IntegralCurveAtts.sampleDistance1 = 18
+IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both
+IntegralCurveAtts.relTol = 1e-06
+IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.Absolute
+IntegralCurveAtts.absTolAbsolute = 1e-07
+IntegralCurveAtts.integrationType = IntegralCurveAtts.DormandPrince  # DormandPrince, AdamsBashforth, M3DC1Integrator
+IntegralCurveAtts.maxProcessCount = 10
+IntegralCurveAtts.maxDomainCacheSize = 3
+IntegralCurveAtts.workGroupSize = 32
+IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
+# turn off warnings
+IntegralCurveAtts.issueAdvectionWarnings = 0
+IntegralCurveAtts.issueBoundaryWarnings = 0
+IntegralCurveAtts.issueTerminationWarnings = 0
+IntegralCurveAtts.issueStepsizeWarnings = 0
+IntegralCurveAtts.issueStiffnessWarnings = 0
+IntegralCurveAtts.issueCriticalPointsWarnings = 0
+
+
+# test defaults
+SetOperatorOptions(IntegralCurveAtts)
+DrawPlots()
+Test( "ic_integration_01" )
+
+IntegralCurveAtts.maxTimeStep = 0.05
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_integration_02" )
+
+IntegralCurveAtts.limitMaximumTimestep = 0
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_integration_03" )
+
+IntegralCurveAtts.absTolAbsolute = 1e-03
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_integration_04" )
+
+IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_integration_05" )
+
+IntegralCurveAtts.absTolBBox = 1e-09
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_integration_06" )
+
+IntegralCurveAtts.absTolBBox = 1e-04
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_integration_07" )
+
+IntegralCurveAtts.integrationType = IntegralCurveAtts.AdamsBashforth
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_integration_08" )
+
+IntegralCurveAtts.maxStepLength = 0.2
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_integration_09" )
+
+IntegralCurveAtts.maxStepLength = 1.0
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_integration_10" )
+
+IntegralCurveAtts.maxStepLength = 0.01
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_integration_11" )
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pathlines.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pathlines.html new file mode 100644 index 000000000..f9def6b5e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pathlines.html @@ -0,0 +1,86 @@ + +Results for operators/ic_pathlines.py + +

Results of VisIt Regression Test - operators/ic_pathlines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ic_pathlines_010.000.00
ic_pathlines_020.000.00
ic_pathlines_030 modifications totalling 0 lines
ic_pathlines_040.000.00
ic_pathlines_050.000.00
ic_pathlines_060.000.00
ic_pathlines_070.000.00
ic_pathlines_080.000.00
ic_pathlines_090 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pathlines_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pathlines_py.html new file mode 100644 index 000000000..f03b11612 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pathlines_py.html @@ -0,0 +1,160 @@ +operators/ic_pathlines.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ic_pathlines.py
+#
+#  Tests:      operator      - integralcurve
+#
+#  Defect ID:  -
+#
+#  Programmer: Allen Sanderson
+#  Date:       March 10, 2016
+#
+#  Modifications:
+#    Kathleen Biagas, Thu Sep 17 11:35:47 PDT 2020
+#    Turn off IC warnings. Set larger linewidth so for better images.
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("PICS_Tester")
+
+OpenDatabase(data_path("pics_test_data/pathline_test.pics"))
+AddPlot("Pseudocolor", "operators/IntegralCurve/velocity", 1, 0)
+pcAtts = PseudocolorAttributes();
+pcAtts.lineWidth = 3
+SetPlotOptions(pcAtts)
+
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
+View3DAtts.focus = (0.496062, 0.99603, 0.496062)
+View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 12.1829
+View3DAtts.nearPlane = -24.3658
+View3DAtts.farPlane = 24.3658
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+SetView3D(View3DAtts)
+
+IntegralCurveAtts = IntegralCurveAttributes()
+IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPoint
+IntegralCurveAtts.pointSource = (0.5, 0.1, 0.1)
+IntegralCurveAtts.lineStart = (0, 0, 0)
+IntegralCurveAtts.lineEnd = (1, 0, 0)
+IntegralCurveAtts.planeOrigin = (0, 0, 0)
+IntegralCurveAtts.planeNormal = (0, 0, 1)
+IntegralCurveAtts.planeUpAxis = (0, 1, 0)
+IntegralCurveAtts.radius = 1
+IntegralCurveAtts.sphereOrigin = (0, 0, 0)
+IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
+IntegralCurveAtts.useWholeBox = 1
+IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
+IntegralCurveAtts.fieldData = ()
+IntegralCurveAtts.sampleDensity0 = 2
+IntegralCurveAtts.sampleDensity1 = 2
+IntegralCurveAtts.sampleDensity2 = 2
+IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
+IntegralCurveAtts.dataVariable = ""
+IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward
+IntegralCurveAtts.maxSteps = 1000
+IntegralCurveAtts.terminateByDistance = 0
+IntegralCurveAtts.termDistance = 10
+IntegralCurveAtts.terminateByTime = 0
+IntegralCurveAtts.termTime = 10
+IntegralCurveAtts.maxStepLength = 0.01
+IntegralCurveAtts.limitMaximumTimestep = 0
+IntegralCurveAtts.maxTimeStep = 0.1
+IntegralCurveAtts.relTol = 0.0001
+IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox
+IntegralCurveAtts.absTolAbsolute = 1e-06
+IntegralCurveAtts.absTolBBox = 1e-06
+IntegralCurveAtts.fieldType = IntegralCurveAtts.Default
+IntegralCurveAtts.fieldConstant = 1
+IntegralCurveAtts.velocitySource = (0, 0, 0)
+IntegralCurveAtts.integrationType = IntegralCurveAtts.Euler
+IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects
+IntegralCurveAtts.maxProcessCount = 10
+IntegralCurveAtts.maxDomainCacheSize = 3
+IntegralCurveAtts.workGroupSize = 32
+IntegralCurveAtts.pathlines = 1
+IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
+IntegralCurveAtts.pathlinesOverrideStartingTime = 0
+IntegralCurveAtts.pathlinesPeriod = 0
+IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.CONN_CMFE
+IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines
+IntegralCurveAtts.cropBeginFlag = 0
+IntegralCurveAtts.cropBegin = 0
+IntegralCurveAtts.cropEndFlag = 0
+IntegralCurveAtts.cropEnd = 0
+IntegralCurveAtts.cropValue = IntegralCurveAtts.Time
+IntegralCurveAtts.sampleDistance0 = 10
+IntegralCurveAtts.sampleDistance1 = 10
+IntegralCurveAtts.sampleDistance2 = 10
+IntegralCurveAtts.fillInterior = 1
+IntegralCurveAtts.randomSamples = 0
+IntegralCurveAtts.randomSeed = 0
+IntegralCurveAtts.numberOfRandomSamples = 1
+IntegralCurveAtts.issueAdvectionWarnings = 1
+IntegralCurveAtts.issueBoundaryWarnings = 1
+IntegralCurveAtts.issueTerminationWarnings = 1
+IntegralCurveAtts.issueStepsizeWarnings = 1
+IntegralCurveAtts.issueStiffnessWarnings = 1
+IntegralCurveAtts.issueCriticalPointsWarnings = 1
+IntegralCurveAtts.criticalPointThreshold = 0.001
+IntegralCurveAtts.correlationDistanceAngTol = 5
+IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
+IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
+IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox
+IntegralCurveAtts.selection = ""
+IntegralCurveAtts.issueAdvectionWarnings = 0
+IntegralCurveAtts.issueBoundaryWarnings = 0
+IntegralCurveAtts.issueTerminationWarnings = 0
+IntegralCurveAtts.issueStepsizeWarnings = 0
+IntegralCurveAtts.issueStiffnessWarnings = 0
+IntegralCurveAtts.issueCriticalPointsWarnings = 0
+
+SetOperatorOptions(IntegralCurveAtts, 0)
+DrawPlots()
+Test("ic_pathlines_01")
+
+IntegralCurveAtts.terminateByTime = 1
+IntegralCurveAtts.termTime = 3
+SetOperatorOptions(IntegralCurveAtts)
+Test("ic_pathlines_02")
+
+TimeSliderSetState(6)
+e = GetLastError()
+TestText("ic_pathlines_03", e)
+
+IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Backward
+SetOperatorOptions(IntegralCurveAtts)
+DrawPlots()
+Test("ic_pathlines_04")
+
+IntegralCurveAtts.terminateByTime = 0
+SetOperatorOptions(IntegralCurveAtts)
+Test("ic_pathlines_05")
+
+IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 1
+IntegralCurveAtts.pathlinesOverrideStartingTime = 3.5
+SetOperatorOptions(IntegralCurveAtts)
+Test("ic_pathlines_06")
+
+TimeSliderSetState(0)
+IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE
+SetOperatorOptions(IntegralCurveAtts)
+Test("ic_pathlines_07")
+
+IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE
+SetOperatorOptions(IntegralCurveAtts)
+Test("ic_pathlines_08")
+
+IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
+SetOperatorOptions(IntegralCurveAtts)
+e = GetLastError()
+TestText("ic_pathlines_09", e)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pics.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pics.html new file mode 100644 index 000000000..7b0c5cf9d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pics.html @@ -0,0 +1,1392 @@ + +Results for operators/ic_pics.py + +

Results of VisIt Regression Test - operators/ic_pics

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
MB_2D_rect
Varying time type with parallelization algorithm = POS
Varying integrator = Euler (0)
ic_pics_MB_2D_rect_POS_Euler_path_forward0.000.00
ic_pics_MB_2D_rect_POS_Euler_path_backward0.000.00
ic_pics_MB_2D_rect_POS_Euler_stream_forward0.000.00
ic_pics_MB_2D_rect_POS_Euler_stream_backward0.000.00
ic_pics_MB_2D_rect_POS_Euler_stream_both0.000.00
Varying integrator = Leapfrog (1)
ic_pics_MB_2D_rect_POS_Leapfrog_path_forward0.000.00
ic_pics_MB_2D_rect_POS_Leapfrog_path_backward0.000.00
ic_pics_MB_2D_rect_POS_Leapfrog_stream_forward0.000.00
ic_pics_MB_2D_rect_POS_Leapfrog_stream_backward0.000.00
ic_pics_MB_2D_rect_POS_Leapfrog_stream_both0.000.00
Varying integrator = DormandPrince (2)
ic_pics_MB_2D_rect_POS_DormandPrince_path_forward0.000.00
ic_pics_MB_2D_rect_POS_DormandPrince_path_backward0.000.00
ic_pics_MB_2D_rect_POS_DormandPrince_stream_forward0.000.00
ic_pics_MB_2D_rect_POS_DormandPrince_stream_backward0.000.00
ic_pics_MB_2D_rect_POS_DormandPrince_stream_both0.000.00
Varying integrator = AdamsBashforth (3)
ic_pics_MB_2D_rect_POS_AdamsBashforth_path_forward0.000.00
ic_pics_MB_2D_rect_POS_AdamsBashforth_path_backward0.000.00
ic_pics_MB_2D_rect_POS_AdamsBashforth_stream_forward0.000.00
ic_pics_MB_2D_rect_POS_AdamsBashforth_stream_backward0.000.00
ic_pics_MB_2D_rect_POS_AdamsBashforth_stream_both0.000.00
Varying integrator = RK4 (4)
ic_pics_MB_2D_rect_POS_RK4_path_forward0.000.00
ic_pics_MB_2D_rect_POS_RK4_path_backward0.000.00
ic_pics_MB_2D_rect_POS_RK4_stream_forward0.000.00
ic_pics_MB_2D_rect_POS_RK4_stream_backward0.000.00
ic_pics_MB_2D_rect_POS_RK4_stream_both0.000.00
Varying time type with parallelization algorithm = POD
Varying integrator = Euler (0)
ic_pics_MB_2D_rect_POD_Euler_path_forward0.000.00
ic_pics_MB_2D_rect_POD_Euler_path_backward0.000.00
ic_pics_MB_2D_rect_POD_Euler_stream_forward0.000.00
ic_pics_MB_2D_rect_POD_Euler_stream_backward0.000.00
ic_pics_MB_2D_rect_POD_Euler_stream_both0.000.00
Varying integrator = Leapfrog (1)
ic_pics_MB_2D_rect_POD_Leapfrog_path_forward0.000.00
ic_pics_MB_2D_rect_POD_Leapfrog_path_backward0.000.00
ic_pics_MB_2D_rect_POD_Leapfrog_stream_forward0.000.00
ic_pics_MB_2D_rect_POD_Leapfrog_stream_backward0.000.00
ic_pics_MB_2D_rect_POD_Leapfrog_stream_both0.000.00
Varying integrator = DormandPrince (2)
ic_pics_MB_2D_rect_POD_DormandPrince_path_forward0.000.00
ic_pics_MB_2D_rect_POD_DormandPrince_path_backward0.000.00
ic_pics_MB_2D_rect_POD_DormandPrince_stream_forward0.000.00
ic_pics_MB_2D_rect_POD_DormandPrince_stream_backward0.000.00
ic_pics_MB_2D_rect_POD_DormandPrince_stream_both0.000.00
Varying integrator = AdamsBashforth (3)
ic_pics_MB_2D_rect_POD_AdamsBashforth_path_forward0.000.00
ic_pics_MB_2D_rect_POD_AdamsBashforth_path_backward0.000.00
ic_pics_MB_2D_rect_POD_AdamsBashforth_stream_forward0.000.00
ic_pics_MB_2D_rect_POD_AdamsBashforth_stream_backward0.000.00
ic_pics_MB_2D_rect_POD_AdamsBashforth_stream_both0.000.00
Varying integrator = RK4 (4)
ic_pics_MB_2D_rect_POD_RK4_path_forward0.000.00
ic_pics_MB_2D_rect_POD_RK4_path_backward0.000.00
ic_pics_MB_2D_rect_POD_RK4_stream_forward0.000.00
ic_pics_MB_2D_rect_POD_RK4_stream_backward0.000.00
ic_pics_MB_2D_rect_POD_RK4_stream_both0.000.00
MB_2D_ugrid
Varying time type with parallelization algorithm = POS
Varying integrator = Euler (0)
ic_pics_MB_2D_ugrid_POS_Euler_path_forward0.000.00
ic_pics_MB_2D_ugrid_POS_Euler_path_backward0.000.00
ic_pics_MB_2D_ugrid_POS_Euler_stream_forward0.000.00
ic_pics_MB_2D_ugrid_POS_Euler_stream_backward0.000.00
ic_pics_MB_2D_ugrid_POS_Euler_stream_both0.000.00
Varying integrator = Leapfrog (1)
ic_pics_MB_2D_ugrid_POS_Leapfrog_path_forward0.000.00
ic_pics_MB_2D_ugrid_POS_Leapfrog_path_backward0.000.00
ic_pics_MB_2D_ugrid_POS_Leapfrog_stream_forward0.000.00
ic_pics_MB_2D_ugrid_POS_Leapfrog_stream_backward0.000.00
ic_pics_MB_2D_ugrid_POS_Leapfrog_stream_both0.000.00
Varying integrator = DormandPrince (2)
ic_pics_MB_2D_ugrid_POS_DormandPrince_path_forward0.000.00
ic_pics_MB_2D_ugrid_POS_DormandPrince_path_backward0.000.00
ic_pics_MB_2D_ugrid_POS_DormandPrince_stream_forward0.000.00
ic_pics_MB_2D_ugrid_POS_DormandPrince_stream_backward0.000.00
ic_pics_MB_2D_ugrid_POS_DormandPrince_stream_both0.000.00
Varying integrator = AdamsBashforth (3)
ic_pics_MB_2D_ugrid_POS_AdamsBashforth_path_forward0.000.00
ic_pics_MB_2D_ugrid_POS_AdamsBashforth_path_backward0.000.00
ic_pics_MB_2D_ugrid_POS_AdamsBashforth_stream_forward0.000.00
ic_pics_MB_2D_ugrid_POS_AdamsBashforth_stream_backward0.000.00
ic_pics_MB_2D_ugrid_POS_AdamsBashforth_stream_both0.000.00
Varying integrator = RK4 (4)
ic_pics_MB_2D_ugrid_POS_RK4_path_forward0.000.00
ic_pics_MB_2D_ugrid_POS_RK4_path_backward0.000.00
ic_pics_MB_2D_ugrid_POS_RK4_stream_forward0.000.00
ic_pics_MB_2D_ugrid_POS_RK4_stream_backward0.000.00
ic_pics_MB_2D_ugrid_POS_RK4_stream_both0.000.00
Varying time type with parallelization algorithm = POD
Varying integrator = Euler (0)
ic_pics_MB_2D_ugrid_POD_Euler_path_forward0.000.00
ic_pics_MB_2D_ugrid_POD_Euler_path_backward0.000.00
ic_pics_MB_2D_ugrid_POD_Euler_stream_forward0.000.00
ic_pics_MB_2D_ugrid_POD_Euler_stream_backward0.000.00
ic_pics_MB_2D_ugrid_POD_Euler_stream_both0.000.00
Varying integrator = Leapfrog (1)
ic_pics_MB_2D_ugrid_POD_Leapfrog_path_forward0.000.00
ic_pics_MB_2D_ugrid_POD_Leapfrog_path_backward0.000.00
ic_pics_MB_2D_ugrid_POD_Leapfrog_stream_forward0.000.00
ic_pics_MB_2D_ugrid_POD_Leapfrog_stream_backward0.000.00
ic_pics_MB_2D_ugrid_POD_Leapfrog_stream_both0.000.00
Varying integrator = DormandPrince (2)
ic_pics_MB_2D_ugrid_POD_DormandPrince_path_forward0.000.00
ic_pics_MB_2D_ugrid_POD_DormandPrince_path_backward0.000.00
ic_pics_MB_2D_ugrid_POD_DormandPrince_stream_forward0.000.00
ic_pics_MB_2D_ugrid_POD_DormandPrince_stream_backward0.000.00
ic_pics_MB_2D_ugrid_POD_DormandPrince_stream_both0.000.00
Varying integrator = AdamsBashforth (3)
ic_pics_MB_2D_ugrid_POD_AdamsBashforth_path_forward0.000.00
ic_pics_MB_2D_ugrid_POD_AdamsBashforth_path_backward0.000.00
ic_pics_MB_2D_ugrid_POD_AdamsBashforth_stream_forward0.000.00
ic_pics_MB_2D_ugrid_POD_AdamsBashforth_stream_backward0.000.00
ic_pics_MB_2D_ugrid_POD_AdamsBashforth_stream_both0.000.00
Varying integrator = RK4 (4)
ic_pics_MB_2D_ugrid_POD_RK4_path_forward0.000.00
ic_pics_MB_2D_ugrid_POD_RK4_path_backward0.000.00
ic_pics_MB_2D_ugrid_POD_RK4_stream_forward0.000.00
ic_pics_MB_2D_ugrid_POD_RK4_stream_backward0.000.00
ic_pics_MB_2D_ugrid_POD_RK4_stream_both0.000.00
MB_3D_rect
Varying time type with parallelization algorithm = POS
Varying integrator = Euler (0)
ic_pics_MB_3D_rect_POS_Euler_path_forward0.000.00
ic_pics_MB_3D_rect_POS_Euler_path_backward0.000.00
ic_pics_MB_3D_rect_POS_Euler_stream_forward0.000.00
ic_pics_MB_3D_rect_POS_Euler_stream_backward0.000.00
ic_pics_MB_3D_rect_POS_Euler_stream_both0.000.00
Varying integrator = Leapfrog (1)
ic_pics_MB_3D_rect_POS_Leapfrog_path_forward0.000.00
ic_pics_MB_3D_rect_POS_Leapfrog_path_backward0.000.00
ic_pics_MB_3D_rect_POS_Leapfrog_stream_forward0.000.00
ic_pics_MB_3D_rect_POS_Leapfrog_stream_backward0.000.00
ic_pics_MB_3D_rect_POS_Leapfrog_stream_both0.000.00
Varying integrator = DormandPrince (2)
ic_pics_MB_3D_rect_POS_DormandPrince_path_forward0.000.00
ic_pics_MB_3D_rect_POS_DormandPrince_path_backward0.000.00
ic_pics_MB_3D_rect_POS_DormandPrince_stream_forward0.000.00
ic_pics_MB_3D_rect_POS_DormandPrince_stream_backward0.000.00
ic_pics_MB_3D_rect_POS_DormandPrince_stream_both0.000.00
Varying integrator = AdamsBashforth (3)
ic_pics_MB_3D_rect_POS_AdamsBashforth_path_forward0.000.00
ic_pics_MB_3D_rect_POS_AdamsBashforth_path_backward0.000.00
ic_pics_MB_3D_rect_POS_AdamsBashforth_stream_forward0.000.00
ic_pics_MB_3D_rect_POS_AdamsBashforth_stream_backward0.000.00
ic_pics_MB_3D_rect_POS_AdamsBashforth_stream_both0.000.00
Varying integrator = RK4 (4)
ic_pics_MB_3D_rect_POS_RK4_path_forward0.000.00
ic_pics_MB_3D_rect_POS_RK4_path_backward0.000.00
ic_pics_MB_3D_rect_POS_RK4_stream_forward0.000.00
ic_pics_MB_3D_rect_POS_RK4_stream_backward0.000.00
ic_pics_MB_3D_rect_POS_RK4_stream_both0.000.00
Varying time type with parallelization algorithm = POD
Varying integrator = Euler (0)
ic_pics_MB_3D_rect_POD_Euler_path_forward0.000.00
ic_pics_MB_3D_rect_POD_Euler_path_backward0.000.00
ic_pics_MB_3D_rect_POD_Euler_stream_forward0.000.00
ic_pics_MB_3D_rect_POD_Euler_stream_backward0.000.00
ic_pics_MB_3D_rect_POD_Euler_stream_both0.000.00
Varying integrator = Leapfrog (1)
ic_pics_MB_3D_rect_POD_Leapfrog_path_forward0.000.00
ic_pics_MB_3D_rect_POD_Leapfrog_path_backward0.000.00
ic_pics_MB_3D_rect_POD_Leapfrog_stream_forward0.000.00
ic_pics_MB_3D_rect_POD_Leapfrog_stream_backward0.000.00
ic_pics_MB_3D_rect_POD_Leapfrog_stream_both0.000.00
Varying integrator = DormandPrince (2)
ic_pics_MB_3D_rect_POD_DormandPrince_path_forward0.000.00
ic_pics_MB_3D_rect_POD_DormandPrince_path_backward0.000.00
ic_pics_MB_3D_rect_POD_DormandPrince_stream_forward0.000.00
ic_pics_MB_3D_rect_POD_DormandPrince_stream_backward0.000.00
ic_pics_MB_3D_rect_POD_DormandPrince_stream_both0.000.00
Varying integrator = AdamsBashforth (3)
ic_pics_MB_3D_rect_POD_AdamsBashforth_path_forward0.000.00
ic_pics_MB_3D_rect_POD_AdamsBashforth_path_backward0.000.00
ic_pics_MB_3D_rect_POD_AdamsBashforth_stream_forward0.000.00
ic_pics_MB_3D_rect_POD_AdamsBashforth_stream_backward0.000.00
ic_pics_MB_3D_rect_POD_AdamsBashforth_stream_both0.000.00
Varying integrator = RK4 (4)
ic_pics_MB_3D_rect_POD_RK4_path_forward0.000.00
ic_pics_MB_3D_rect_POD_RK4_path_backward0.000.00
ic_pics_MB_3D_rect_POD_RK4_stream_forward0.000.00
ic_pics_MB_3D_rect_POD_RK4_stream_backward0.000.00
ic_pics_MB_3D_rect_POD_RK4_stream_both0.000.00
MB_3D_ugrid
Varying time type with parallelization algorithm = POS
Varying integrator = Euler (0)
ic_pics_MB_3D_ugrid_POS_Euler_path_forward0.000.00
ic_pics_MB_3D_ugrid_POS_Euler_path_backward0.000.00
ic_pics_MB_3D_ugrid_POS_Euler_stream_forward0.000.00
ic_pics_MB_3D_ugrid_POS_Euler_stream_backward0.000.00
ic_pics_MB_3D_ugrid_POS_Euler_stream_both0.000.00
Varying integrator = Leapfrog (1)
ic_pics_MB_3D_ugrid_POS_Leapfrog_path_forward0.000.00
ic_pics_MB_3D_ugrid_POS_Leapfrog_path_backward0.000.00
ic_pics_MB_3D_ugrid_POS_Leapfrog_stream_forward0.000.00
ic_pics_MB_3D_ugrid_POS_Leapfrog_stream_backward0.000.00
ic_pics_MB_3D_ugrid_POS_Leapfrog_stream_both0.000.00
Varying integrator = DormandPrince (2)
ic_pics_MB_3D_ugrid_POS_DormandPrince_path_forward0.000.00
ic_pics_MB_3D_ugrid_POS_DormandPrince_path_backward0.000.00
ic_pics_MB_3D_ugrid_POS_DormandPrince_stream_forward0.000.00
ic_pics_MB_3D_ugrid_POS_DormandPrince_stream_backward0.000.00
ic_pics_MB_3D_ugrid_POS_DormandPrince_stream_both0.000.00
Varying integrator = AdamsBashforth (3)
ic_pics_MB_3D_ugrid_POS_AdamsBashforth_path_forward0.000.00
ic_pics_MB_3D_ugrid_POS_AdamsBashforth_path_backward0.000.00
ic_pics_MB_3D_ugrid_POS_AdamsBashforth_stream_forward0.000.00
ic_pics_MB_3D_ugrid_POS_AdamsBashforth_stream_backward0.000.00
ic_pics_MB_3D_ugrid_POS_AdamsBashforth_stream_both0.000.00
Varying integrator = RK4 (4)
ic_pics_MB_3D_ugrid_POS_RK4_path_forward0.000.00
ic_pics_MB_3D_ugrid_POS_RK4_path_backward0.000.00
ic_pics_MB_3D_ugrid_POS_RK4_stream_forward0.000.00
ic_pics_MB_3D_ugrid_POS_RK4_stream_backward0.000.00
ic_pics_MB_3D_ugrid_POS_RK4_stream_both0.000.00
Varying time type with parallelization algorithm = POD
Varying integrator = Euler (0)
ic_pics_MB_3D_ugrid_POD_Euler_path_forward0.000.00
ic_pics_MB_3D_ugrid_POD_Euler_path_backward0.000.00
ic_pics_MB_3D_ugrid_POD_Euler_stream_forward0.000.00
ic_pics_MB_3D_ugrid_POD_Euler_stream_backward0.000.00
ic_pics_MB_3D_ugrid_POD_Euler_stream_both0.000.00
Varying integrator = Leapfrog (1)
ic_pics_MB_3D_ugrid_POD_Leapfrog_path_forward0.000.00
ic_pics_MB_3D_ugrid_POD_Leapfrog_path_backward0.000.00
ic_pics_MB_3D_ugrid_POD_Leapfrog_stream_forward0.000.00
ic_pics_MB_3D_ugrid_POD_Leapfrog_stream_backward0.000.00
ic_pics_MB_3D_ugrid_POD_Leapfrog_stream_both0.000.00
Varying integrator = DormandPrince (2)
ic_pics_MB_3D_ugrid_POD_DormandPrince_path_forward0.000.00
ic_pics_MB_3D_ugrid_POD_DormandPrince_path_backward0.000.00
ic_pics_MB_3D_ugrid_POD_DormandPrince_stream_forward0.000.00
ic_pics_MB_3D_ugrid_POD_DormandPrince_stream_backward0.000.00
ic_pics_MB_3D_ugrid_POD_DormandPrince_stream_both0.000.00
Varying integrator = AdamsBashforth (3)
ic_pics_MB_3D_ugrid_POD_AdamsBashforth_path_forward0.000.00
ic_pics_MB_3D_ugrid_POD_AdamsBashforth_path_backward0.000.00
ic_pics_MB_3D_ugrid_POD_AdamsBashforth_stream_forward0.000.00
ic_pics_MB_3D_ugrid_POD_AdamsBashforth_stream_backward0.000.00
ic_pics_MB_3D_ugrid_POD_AdamsBashforth_stream_both0.000.00
Varying integrator = RK4 (4)
ic_pics_MB_3D_ugrid_POD_RK4_path_forward0.000.00
ic_pics_MB_3D_ugrid_POD_RK4_path_backward0.000.00
ic_pics_MB_3D_ugrid_POD_RK4_stream_forward0.000.00
ic_pics_MB_3D_ugrid_POD_RK4_stream_backward0.000.00
ic_pics_MB_3D_ugrid_POD_RK4_stream_both0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pics_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pics_py.html new file mode 100644 index 000000000..5597a4e34 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_pics_py.html @@ -0,0 +1,114 @@ +operators/ic_pics.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ic_pics.py
+#
+#  Tests:      operator      - integralcurve
+#
+#  Defect ID:  -
+#
+#  Programmer: Allen Sanderson
+#  Date:       March 10, 2016
+#
+#  Modifications:
+#    Kathleen Biagas, Thu Sep 17 11:35:47 PDT 2020
+#    Turn off IC warnings. Set larger linewidth so for better images.
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("PICS_Tester")
+
+IntegralCurveAtts = IntegralCurveAttributes()
+databases=["MB_2D_rect", "MB_2D_ugrid", "MB_3D_rect", "MB_3D_ugrid"]
+is2D=[1,1,0,0]
+isUgrid=[0,1,0,1]
+algs=[IntegralCurveAtts.LoadOnDemand, IntegralCurveAtts.ParallelStaticDomains]
+algs_strings=["POS", "POD", "MS", "BestAlg"]
+time_strings=["path_forward", "path_backward", "stream_forward", "stream_backward", "stream_both"]
+intg=[IntegralCurveAtts.Euler, IntegralCurveAtts.Leapfrog, IntegralCurveAtts.DormandPrince, IntegralCurveAtts.AdamsBashforth, IntegralCurveAtts.RK4]
+intg_strings=["Euler", "Leapfrog", "DormandPrince", "AdamsBashforth", "RK4"]
+
+View3DAtts = View3DAttributes()
+View3DAttIntegralCurveAttsviewNormal = (0.270729, 0.624198, 0.732859)
+View3DAttIntegralCurveAttsfocus = (0.496062, 0.99603, 0.496062)
+View3DAttIntegralCurveAttsviewUp = (-0.0922782, 0.774611, -0.62567)
+View3DAttIntegralCurveAttsviewAngle = 30
+View3DAttIntegralCurveAttsparallelScale = 12.1829
+View3DAttIntegralCurveAttsnearPlane = -24.3658
+View3DAttIntegralCurveAttsfarPlane = 24.3658
+View3DAttIntegralCurveAttsimagePan = (0, 0)
+View3DAttIntegralCurveAttsimageZoom = 1
+View3DAttIntegralCurveAttsperspective = 1
+View3DAttIntegralCurveAttseyeAngle = 2
+View3DAttIntegralCurveAttsaxis3DScaleFlag = 0
+View3DAttIntegralCurveAttsaxis3DScales = (1, 1, 1)
+SetView3D(View3DAtts)
+
+for i in range(len(databases)):
+  TestSection(databases[i])
+  db=data_path("pics_test_data/%s.pics") %(databases[i])
+  for j in range(len(algs)):
+     tmpstr="Varying time type with parallelization algorithm = %s" %(algs_strings[j])
+     TestSection(tmpstr)
+
+     for integrator_i in range(len(intg)) :
+       tmpstr="Varying integrator = %s (%d)" %(intg_strings[integrator_i], integrator_i)
+       TestSection(tmpstr)
+
+       for k in range(len(time_strings)):
+         DeleteAllPlots()
+         OpenDatabase(db)
+         AddPlot("Pseudocolor", "operators/IntegralCurve/velocity", 1, 0)
+         pcAtts = PseudocolorAttributes();
+         pcAtts.lineWidth = 3
+         SetPlotOptions(pcAtts)
+         IntegralCurveAtts = IntegralCurveAttributes()
+         IntegralCurveAtts.parallelizationAlgorithmType = algs[j]
+         IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPoint
+         IntegralCurveAtts.issueAdvectionWarnings = 0
+         IntegralCurveAtts.issueBoundaryWarnings = 0
+         IntegralCurveAtts.issueTerminationWarnings = 0
+         IntegralCurveAtts.issueStepsizeWarnings = 0
+         IntegralCurveAtts.issueStiffnessWarnings = 0
+         IntegralCurveAtts.issueCriticalPointsWarnings = 0
+         if (is2D[i]):
+           if (intg[integrator_i] in [IntegralCurveAtts.RK4, IntegralCurveAtts.DormandPrince, IntegralCurveAtts.AdamsBashforth]) :
+             IntegralCurveAtts.pointSource = (0.51, 0.1, 0)
+           else:
+             IntegralCurveAtts.pointSource = (0.5, 0.1, 0)
+         else:
+           if (isUgrid[i]):
+             IntegralCurveAtts.pointSource = (0.2, 0.6, 0.6)
+           else:
+             if (intg[integrator_i] in [IntegralCurveAtts.RK4, IntegralCurveAtts.DormandPrince, IntegralCurveAtts.AdamsBashforth]) :
+               IntegralCurveAtts.pointSource = (0.51, 0.1, 0.1)
+             else:
+               IntegralCurveAtts.pointSource = (0.5, 0.1, 0.1)
+         if (time_strings[k] == "path_forward"):
+           TimeSliderSetState(0)
+           IntegralCurveAtts.pathlines = 1
+           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward
+         if (time_strings[k] == "path_backward"):
+           TimeSliderSetState(TimeSliderGetNStates()-1)
+           IntegralCurveAtts.pathlines = 1
+           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Backward
+         if (time_strings[k] == "stream_forward"):
+           TimeSliderSetState(0)
+           IntegralCurveAtts.pathlines = 0
+           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward
+         if (time_strings[k] == "stream_backward"):
+           TimeSliderSetState(0)
+           IntegralCurveAtts.pathlines = 0
+           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Backward
+         if (time_strings[k] == "stream_both"):
+           TimeSliderSetState(0)
+           IntegralCurveAtts.pathlines = 0
+           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both
+         IntegralCurveAtts.maxStepLength = 0.01
+         IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE
+         IntegralCurveAtts.integrationType = intg[integrator_i]
+         SetOperatorOptions(IntegralCurveAtts)
+         DrawPlots()
+         tmpstr="ic_pics_%s_%s_%s_%s" %(databases[i], algs_strings[j], intg_strings[integrator_i], time_strings[k])
+         Test(tmpstr)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_streamlines.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_streamlines.html new file mode 100644 index 000000000..8271b29f8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_streamlines.html @@ -0,0 +1,102 @@ + +Results for operators/ic_streamlines.py + +

Results of VisIt Regression Test - operators/ic_streamlines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ic_streamlines_010.000.00
ic_streamlines_020.000.00
ic_streamlines_030.000.00
ic_streamlines_040.000.00
ic_streamlines_050.000.00
ic_streamlines_060.000.00
ic_streamlines_070.000.00
ic_streamlines_080.000.00
ic_streamlines_090.000.00
ic_streamlines_100.000.00
ic_streamlines_110.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_streamlines_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_streamlines_py.html new file mode 100644 index 000000000..9ea556921 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_streamlines_py.html @@ -0,0 +1,220 @@ +operators/ic_streamlines.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ic_streamlines.py
+#
+#  Tests:      operator      - integralcurve
+#
+#  Defect ID:  -
+#
+#  Programmer: Allen Sanderson
+#  Date:       March 10, 2016
+#
+#  Modifications:
+#    Kathleen Biagas, Tue Sep 29 11:29:33 PDT 2020
+#    Turn off IC warnings.
+#
+#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
+#    Changed Pseudocolor CurrentPlot to ActualData.
+# ----------------------------------------------------------------------------
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
+
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
+View3DAtts.focus = (0.496062, 0.99603, 0.496062)
+View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 12.1829
+View3DAtts.nearPlane = -24.3658
+View3DAtts.farPlane = 24.3658
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+SetView3D(View3DAtts)
+
+PseudocolorAtts = PseudocolorAttributes()
+PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
+PseudocolorAtts.skewFactor = 1
+PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
+PseudocolorAtts.minFlag = 0
+PseudocolorAtts.min = 0
+PseudocolorAtts.maxFlag = 0
+PseudocolorAtts.max = 1
+PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
+PseudocolorAtts.colorTableName = "hot"
+PseudocolorAtts.invertColorTable = 0
+PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
+PseudocolorAtts.opacityVariable = ""
+PseudocolorAtts.opacity = 1
+PseudocolorAtts.opacityVarMin = 0
+PseudocolorAtts.opacityVarMax = 1
+PseudocolorAtts.opacityVarMinFlag = 0
+PseudocolorAtts.opacityVarMaxFlag = 0
+PseudocolorAtts.pointSize = 0.05
+PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
+PseudocolorAtts.pointSizeVarEnabled = 0
+PseudocolorAtts.pointSizeVar = "default"
+PseudocolorAtts.pointSizePixels = 2
+PseudocolorAtts.lineType = PseudocolorAtts.Tube  # Line, Tube, Ribbon
+PseudocolorAtts.lineWidth = 0
+PseudocolorAtts.tubeResolution = 100
+PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
+PseudocolorAtts.tubeRadiusAbsolute = 0.25
+PseudocolorAtts.tubeRadiusBBox = 0.005
+PseudocolorAtts.tubeRadiusVarEnabled = 0
+PseudocolorAtts.tubeRadiusVar = ""
+PseudocolorAtts.tubeRadiusVarRatio = 10
+PseudocolorAtts.tailStyle = PseudocolorAtts.Spheres  # None, Spheres, Cones
+PseudocolorAtts.headStyle = PseudocolorAtts.NONE  # None, Spheres, Cones
+PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
+PseudocolorAtts.endPointRadiusAbsolute = 0.8
+PseudocolorAtts.endPointRadiusBBox = 0.005
+PseudocolorAtts.endPointResolution = 100
+PseudocolorAtts.endPointRatio = 2
+PseudocolorAtts.endPointRadiusVarEnabled = 0
+PseudocolorAtts.endPointRadiusVar = ""
+PseudocolorAtts.endPointRadiusVarRatio = 10
+PseudocolorAtts.renderSurfaces = 1
+PseudocolorAtts.renderWireframe = 0
+PseudocolorAtts.renderPoints = 0
+PseudocolorAtts.smoothingLevel = 0
+PseudocolorAtts.legendFlag = 1
+PseudocolorAtts.lightingFlag = 1
+PseudocolorAtts.wireframeColor = (0, 0, 0, 0)
+PseudocolorAtts.pointColor = (0, 0, 0, 0)
+SetPlotOptions(PseudocolorAtts)
+
+IntegralCurveAtts = IntegralCurveAttributes()
+IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, PointList, SpecifiedLine, Circle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox, Selection, FieldData
+IntegralCurveAtts.pointSource = (0, 0, 0)
+IntegralCurveAtts.lineStart = (0, 0, 0)
+IntegralCurveAtts.lineEnd = (1, 0, 0)
+IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
+IntegralCurveAtts.planeNormal = (0, 1, 0)
+IntegralCurveAtts.planeUpAxis = (1, 0, 0)
+IntegralCurveAtts.radius = 1
+IntegralCurveAtts.sphereOrigin = (0, 0, 0)
+IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
+IntegralCurveAtts.useWholeBox = 1
+IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
+IntegralCurveAtts.fieldData = ()
+IntegralCurveAtts.sampleDensity0 = 5
+IntegralCurveAtts.sampleDensity1 = 5
+IntegralCurveAtts.sampleDensity2 = 2
+IntegralCurveAtts.dataValue = IntegralCurveAtts.Speed  # Solid, SeedPointID, Speed, Vorticity, ArcLength, TimeAbsolute, TimeRelative, AverageDistanceFromSeed, CorrelationDistance, Difference, Variable
+IntegralCurveAtts.dataVariable = ""
+IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both, ForwardDirectionless, BackwardDirectionless, BothDirectionless
+IntegralCurveAtts.maxSteps = 100000
+IntegralCurveAtts.terminateByDistance = 0
+IntegralCurveAtts.termDistance = 10
+IntegralCurveAtts.terminateByTime = 1
+IntegralCurveAtts.termTime = 200
+IntegralCurveAtts.maxStepLength = 0.1
+IntegralCurveAtts.limitMaximumTimestep = 1
+IntegralCurveAtts.maxTimeStep = 0.02
+IntegralCurveAtts.relTol = 1e-06
+IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
+IntegralCurveAtts.absTolAbsolute = 1e-06
+IntegralCurveAtts.absTolBBox = 1e-07
+IntegralCurveAtts.fieldType = IntegralCurveAtts.Default  # Default, FlashField, M3DC12DField, M3DC13DField, Nek5000Field, NektarPPField
+IntegralCurveAtts.fieldConstant = 1
+IntegralCurveAtts.velocitySource = (0, 0, 0)
+IntegralCurveAtts.integrationType = IntegralCurveAtts.DormandPrince  # Euler, Leapfrog, DormandPrince, AdamsBashforth, RK4, M3DC12DIntegrator
+IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects  # LoadOnDemand, ParallelStaticDomains, ManagerWorker, VisItSelects
+IntegralCurveAtts.maxProcessCount = 10
+IntegralCurveAtts.maxDomainCacheSize = 3
+IntegralCurveAtts.workGroupSize = 32
+IntegralCurveAtts.pathlines = 0
+IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
+IntegralCurveAtts.pathlinesOverrideStartingTime = 0
+IntegralCurveAtts.pathlinesPeriod = 0
+IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE  # CONN_CMFE, POS_CMFE
+IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines  # Lines, Tubes, Ribbons
+IntegralCurveAtts.cropBeginFlag = 0
+IntegralCurveAtts.cropBegin = 0
+IntegralCurveAtts.cropEndFlag = 0
+IntegralCurveAtts.cropEnd = 0
+IntegralCurveAtts.cropValue = IntegralCurveAtts.Time  # Distance, Time, StepNumber
+IntegralCurveAtts.sampleDistance0 = 18
+IntegralCurveAtts.sampleDistance1 = 18
+IntegralCurveAtts.sampleDistance2 = 10
+IntegralCurveAtts.fillInterior = 1
+IntegralCurveAtts.randomSamples = 0
+IntegralCurveAtts.randomSeed = 0
+IntegralCurveAtts.numberOfRandomSamples = 1
+IntegralCurveAtts.issueAdvectionWarnings = 0
+IntegralCurveAtts.issueBoundaryWarnings = 0
+IntegralCurveAtts.issueTerminationWarnings = 0
+IntegralCurveAtts.issueStepsizeWarnings = 0
+IntegralCurveAtts.issueStiffnessWarnings = 0
+IntegralCurveAtts.issueCriticalPointsWarnings = 0
+IntegralCurveAtts.criticalPointThreshold = 0.001
+IntegralCurveAtts.correlationDistanceAngTol = 5
+IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
+IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
+IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
+IntegralCurveAtts.selection = ""
+
+# Test coloring options
+
+IntegralCurveAtts.dataValue = IntegralCurveAtts.Speed
+SetOperatorOptions(IntegralCurveAtts)
+DrawPlots()
+Test( "ic_streamlines_01" )
+
+IntegralCurveAtts.dataValue = IntegralCurveAtts.Vorticity
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_streamlines_02" )
+
+IntegralCurveAtts.dataValue = IntegralCurveAtts.ArcLength
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_streamlines_03" )
+
+IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_streamlines_04" )
+
+IntegralCurveAtts.dataValue = IntegralCurveAtts.SeedPointID
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_streamlines_05" )
+
+IntegralCurveAtts.dataValue = IntegralCurveAtts.Variable
+IntegralCurveAtts.dataVariable = "hardyglobal"
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_streamlines_06" )
+
+IntegralCurveAtts.dataValue = IntegralCurveAtts.Solid
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_streamlines_07" )
+
+# test termination modes (termination by time implied in previous tests)
+
+IntegralCurveAtts.dataValue = IntegralCurveAtts.ArcLength
+
+IntegralCurveAtts.terminateByTime = 0
+IntegralCurveAtts.terminateByDistance = 1
+IntegralCurveAtts.termDistance = 10
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_streamlines_08" )
+
+IntegralCurveAtts.termDistance = 5
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_streamlines_09" )
+
+IntegralCurveAtts.terminateByDistance = 0
+IntegralCurveAtts.maxSteps = 500
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_streamlines_10" )
+
+IntegralCurveAtts.maxSteps = 250
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_streamlines_11" )
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_termination.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_termination.html new file mode 100644 index 000000000..f39b7c046 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_termination.html @@ -0,0 +1,84 @@ + +Results for operators/ic_termination.py + +

Results of VisIt Regression Test - operators/ic_termination

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ic_termination_010.000.00
ic_termination_020.000.00
ic_termination_030.000.00
ic_termination_040.000.00
ic_termination_050.000.00
ic_termination_060.000.00
ic_termination_070.000.00
ic_termination_080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_termination_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_termination_py.html new file mode 100644 index 000000000..82ac40880 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_ic_termination_py.html @@ -0,0 +1,91 @@ +operators/ic_termination.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ic_termination.py
+#
+#  Tests:      operator      - integralcurve
+#
+#  Defect ID:  -
+#
+#  Programmer: Allen Sanderson
+#  Date:       March 10, 2016
+#
+# ----------------------------------------------------------------------------
+
+OpenDatabase(silo_data_path("noise.silo"))
+AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
+
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
+View3DAtts.focus = (0.496062, 0.99603, 0.496062)
+View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 12.1829
+View3DAtts.nearPlane = -24.3658
+View3DAtts.farPlane = 24.3658
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 1
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+SetView3D(View3DAtts)
+
+IntegralCurveAtts = IntegralCurveAttributes()
+IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, SpecifiedPointList, SpecifiedLine, SpecifiedCircle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox
+IntegralCurveAtts.terminateByTime = 1
+IntegralCurveAtts.termTime = 200
+IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
+IntegralCurveAtts.planeNormal = (0, 1, 0)
+IntegralCurveAtts.planeUpAxis = (1, 0, 0)
+IntegralCurveAtts.sampleDensity0 = 5
+IntegralCurveAtts.sampleDensity1 = 5
+IntegralCurveAtts.sampleDistance0 = 18
+IntegralCurveAtts.sampleDistance1 = 18
+IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both
+IntegralCurveAtts.relTol = 1e-06
+IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.Absolute
+IntegralCurveAtts.absTolAbsolute = 1e-07
+IntegralCurveAtts.integrationType = IntegralCurveAtts.DormandPrince  # DormandPrince, AdamsBashforth, M3DC1Integrator
+IntegralCurveAtts.maxProcessCount = 10
+IntegralCurveAtts.maxDomainCacheSize = 3
+IntegralCurveAtts.workGroupSize = 32
+IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
+
+# test defaults
+SetOperatorOptions(IntegralCurveAtts)
+DrawPlots()
+Test( "ic_termination_01" )
+
+IntegralCurveAtts.termTime = 50
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_termination_02" )
+
+IntegralCurveAtts.terminateByDistance = 1
+IntegralCurveAtts.termDistance = 4
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_termination_03" )
+
+IntegralCurveAtts.terminateByDistance = 1
+IntegralCurveAtts.termDistance = 12
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_termination_04" )
+
+IntegralCurveAtts.terminateByTime = 0
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_termination_05" )
+
+IntegralCurveAtts.maxSteps = 40
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_termination_06" )
+
+IntegralCurveAtts.termDistance = 25
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_termination_07" )
+
+IntegralCurveAtts.maxSteps = 10000
+SetOperatorOptions(IntegralCurveAtts)
+Test( "ic_termination_08" )
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_indexselect.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_indexselect.html new file mode 100644 index 000000000..679f9d31f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_indexselect.html @@ -0,0 +1,273 @@ + +Results for operators/indexselect.py + +

Results of VisIt Regression Test - operators/indexselect

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_indexselect010.000.00
ops_indexselect020.000.00
ops_indexselect030.000.00
ops_indexselect040.000.00
ops_indexselect050.000.00
ops_indexselect060.000.00
ops_indexselect070.000.00
ops_indexselect080.000.00
ops_indexselect090.000.00
ops_indexselect100.000.00
ops_indexselect110.000.00
ops_indexselect120.000.00
ops_indexselect130.000.00
ops_indexselect140.000.00
ops_indexselect150.000.00
ops_indexselect160.000.00
ops_indexselect170.000.00
ops_indexselect180.000.00
ops_indexselect190.000.00
ops_indexselect200.000.00
ops_indexselect210.000.00
ops_indexselect220.000.00
ops_indexselect230.000.00
ops_indexselect240.000.00
ops_indexselect250.000.00
ops_indexselect260.000.00
ops_indexselect270.000.00
ops_indexselect280.000.00
ops_indexselect290.000.00
ops_indexselect300.000.00
ops_indexselect310.000.00
ops_indexselect320.000.00
IndexSelect on Point meshes.
ops_indexselect330.000.00
ops_indexselect340.000.00
ops_indexselect350.000.00
ops_indexselect360.000.00
ops_indexselect370.000.00
ops_indexselect380.000.00
ops_indexselect390.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_indexselect_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_indexselect_py.html new file mode 100644 index 000000000..ef87cbe59 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_indexselect_py.html @@ -0,0 +1,621 @@ +operators/indexselect.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  indexselect.py
+#
+#  Tests:      mesh      - 3D curvilinear, single domain,
+#                          3D rectilinear, single domain.
+#                          2D rectilinear, single domain.
+#                          3D rectilinear, single domain.
+#              plots     - pc, mesh, subset, vector, surface
+#              operators - index select (with threshold and sphere slice)
+#
+#  Defect ID:  none
+#
+#  Programmer: Hank Childs
+#  Date:       October 2, 2002
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from subset plots.
+#
+#    Kathleen Bonnell, Wed Sep  3 09:31:25 PDT 2003
+#    Opaque mode for MeshPlot is ON by default now, so turn it off
+#    for this test.
+#
+#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
+#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
+#
+#    Kathleen Bonnell, Wed Sep  8 11:29:10 PDT 2004 
+#    Add two new tests, testing 'modulo' problems. ('3308).
+#
+#    Kathleen Bonnell, Wed Jul 20 13:32:44 PDT 2005 
+#    Add two new tests, testing 'group' problems. ('6386).
+#
+#    Kathleen Bonnell, Wed Aug 10 10:13:56 PDT 2005 
+#    Add tests 27-30 which tests extracting faces along maximum and minimum
+#    boundaries of 3d data. ('6106).
+#
+#    Kathleen Bonnell, Fri Aug 19 15:45:46 PDT 2005 
+#    Add tests 31-32 which tests domain boundaries w/i a group that coincide
+#    with external boundaries of the index-selection. ('6428)  
+#
+#    Kathleen Bonnell, Mon Jan 30 16:40:30 PST 2006 
+#    Add tests 33-38 which tests point meshes.
+#
+#    Kathleen Bonnell, Thu Jun  7 14:43:32 PDT 2007 
+#    IndexSelect atts have changed, make corrections. 
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Kathleen Biagas, Wed Jan 11 13:57:00 PST 2012
+#    Added test for Index Select of point meshes with Box operator applied.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
+#    Changed Pseudocolor CurrentPlot to ActualData.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+atts = IndexSelectAttributes()
+# Dim is an enumerated type.  0 -> 1D, 1 -> 2D, 2 -> 3D.
+atts.dim = 2
+atts.xMin = 5
+atts.xMax = 23
+atts.xIncr = 2
+atts.yMin = 0
+atts.yMax = 20
+atts.yIncr = 1
+atts.zMin = 10
+atts.zMax = -1
+atts.zIncr = 2
+
+# 3D, rectilinear, zonal var.
+AddPlot("Pseudocolor", "d")
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+view = GetView3D()
+view.viewNormal = (-0.5, 0.5, 0.7172)
+SetView3D(view)
+Test("ops_indexselect01")
+DeleteAllPlots()
+
+# 3D, rectilinear, nodal var.
+AddPlot("Pseudocolor", "u")
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_indexselect02")
+DeleteAllPlots()
+
+# 3D, rectilinear, mesh.
+m = MeshAttributes()
+m.opaqueMode = m.Off
+SetDefaultPlotOptions(m)
+AddPlot("Mesh", "quadmesh3d")
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_indexselect03")
+DeleteAllPlots()
+
+# 3D, rectilinear, subset.
+AddPlot("FilledBoundary", "mat1")
+AddOperator("IndexSelect")
+atts.xIncr = 1
+atts.yIncr = 1
+atts.zIncr = 1
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_indexselect04")
+DeleteAllPlots()
+
+# 3D, rectilinear, after a threshold
+AddPlot("Pseudocolor", "p")
+a2 = ThresholdAttributes()
+a2.listedVarNames = ("u")
+a2.lowerBounds = (0.25)
+a2.upperBounds = (1.0)
+AddOperator("Threshold")
+SetOperatorOptions(a2)
+atts.zMin = 5
+atts.zMax = 20
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_indexselect05")
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+
+# 3D, curvilinear, mesh plot
+AddPlot("Mesh", "curvmesh3d")
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+ResetView()
+view = GetView3D()
+view.viewNormal = (-0.5, 0.5, 0.7172)
+SetView3D(view)
+Test("ops_indexselect06")
+DeleteAllPlots()
+
+# 3D, curvilinear, PC plot
+AddPlot("Pseudocolor", "d")
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_indexselect07")
+DeleteAllPlots()
+
+# 3D, curvilinear, with sphere slice
+AddPlot("Pseudocolor", "d")
+AddOperator("SphereSlice")
+a3 = SphereSliceAttributes()
+a3.origin = (2.5, -0.5, 13)
+a3.radius = 7
+SetOperatorOptions(a3)
+AddOperator("IndexSelect")
+atts.xMin = 0
+atts.xMax = -1
+atts.yMin = 0
+atts.yMax = -1
+atts.zMin = 5
+atts.zMax = 18
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_indexselect08")
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+
+# 2D, rectilinear, mesh plot
+AddPlot("Mesh", "quadmesh2d")
+AddOperator("IndexSelect")
+# Dim is an enumerated type.  0 -> 1D, 1 -> 2D, 2 -> 3D.
+atts.dim = 1
+atts.xMin = 5
+atts.xMax = 25
+atts.yMin = 5
+atts.yMax = 30
+SetOperatorOptions(atts)
+DrawPlots()
+ResetView()
+Test("ops_indexselect09")
+DeleteAllPlots()
+
+# 2D, rectilinear, PC plot
+AddPlot("Pseudocolor", "d")
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_indexselect10")
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+
+# 2D, curvilinear, mesh plot
+AddPlot("Mesh", "curvmesh2d")
+AddOperator("IndexSelect")
+atts.yMax = 25
+SetOperatorOptions(atts)
+DrawPlots()
+ResetView()
+Test("ops_indexselect11")
+DeleteAllPlots()
+
+# 2D, curv, PC plot
+AddPlot("Pseudocolor", "d")
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_indexselect12")
+DeleteAllPlots()
+
+# 2D, curv, with threshold.
+AddPlot("Pseudocolor", "d")
+AddOperator("Threshold")
+a2.listedVarNames = ("p")
+a2.lowerBounds = (0.34)
+a2.upperBounds = (0.5)
+SetOperatorOptions(a2)
+AddOperator("IndexSelect")
+atts.xMin = 10
+atts.xMax = -1
+atts.yMin = 0
+atts.yMin = -1
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_indexselect13")
+DeleteAllPlots()
+
+# 2D, curv of vector
+AddPlot("Vector", "vel")
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_indexselect14")
+DeleteAllPlots()
+
+# 2D surface of curvilinear
+AddPlot("Pseudocolor", "d")
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+AddOperator("Elevate")
+DrawPlots()
+ResetView()
+Test("ops_indexselect15")
+DeleteAllPlots()
+
+# 3D multi-rect 
+# test 'modulo' problems, bug: VisIt00003308
+OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("IndexSelect")
+atts.dim = 2
+atts.xMin = 0
+atts.xMax = 1000
+atts.yMin = 0
+atts.yMax = 1000
+atts.zMin = 0
+atts.zMax = 1000
+atts.xIncr = 3
+atts.yIncr = 3
+atts.zIncr = 3
+SetOperatorOptions(atts)
+DrawPlots()
+ResetView()
+Test("ops_indexselect16")
+
+atts.xMin = 1
+atts.xMax = 8
+atts.yMin = 1
+atts.yMax = 8
+atts.zMin = 1
+atts.zMax = 8
+atts.xIncr = 5
+atts.yIncr = 5
+atts.zIncr = 5
+SetOperatorOptions(atts)
+
+Test("ops_indexselect17")
+DeleteAllPlots()
+
+# bigsil 
+# test 'domainIndex' problems, bug: VisIt00005559
+OpenDatabase(silo_data_path("bigsil.silo"))
+
+AddPlot("Subset", "domains")
+AddPlot("Mesh", "mesh")
+AddOperator("IndexSelect")
+atts.dim = atts.ThreeD
+atts.xMin = 0
+atts.xMax = 1000
+atts.yMin = 0
+atts.yMax = 1000
+atts.zMin = 0
+atts.zMax = 1000
+atts.xIncr = 1
+atts.yIncr = 1
+atts.zIncr = 1
+atts.useWholeCollection = 0
+atts.categoryName = "domains"
+atts.subsetName = "domain2"
+SetOperatorOptions(atts)
+DrawPlots()
+ResetView()
+
+v = GetView3D()
+v.viewNormal = (0.653901, -0.39603, -0.64465)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (-0.251385, -0.917378, 0.308584)
+v.viewAngle = 30
+v.parallelScale = 0.866025
+v.nearPlane = -1.73205
+v.farPlane = 1.73205
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, 0, 0)
+SetView3D(v)
+
+Test("ops_indexselect18")
+
+# smallest domainIndex should be 1
+atts.subsetName = "domain1"
+SetOperatorOptions(atts)
+Test("ops_indexselect19")
+
+atts.subsetName = "domain27"
+SetOperatorOptions(atts)
+Test("ops_indexselect20")
+
+DeleteAllPlots()
+
+#test whichData = OneGroup
+AddPlot("Subset", "blocks")
+s = SubsetAttributes()
+s.wireframe = 1
+s.lineWidth = 3
+SetPlotOptions(s)
+AddPlot("Mesh", "mesh")
+AddPlot("Pseudocolor", "dist")
+AddOperator("IndexSelect")
+atts.dim = atts.ThreeD
+atts.xMin = 1
+atts.xMax = 2
+atts.yMin = 1
+atts.yMax = 2
+atts.zMin = 0
+atts.zMax = -1
+atts.categoryName = "blocks"
+atts.subsetName = "block0"
+SetOperatorOptions(atts)
+
+DrawPlots()
+ResetView()
+v = GetView3D()
+v.viewNormal = (0, 0, -1)
+v.focus = (0.5, 0.5, 0.5)
+v.parallelScale = 0.866025
+v.viewUp = (0, 1, 0)
+v.nearPlane = -1.73205
+v.farPlane  = 1.73205
+v.perspective = 0
+SetView3D(v)
+v.imageZoom = 5.39496
+SetView3D(v)
+v.imagePan = (-0.23029, 0.259159)
+SetView3D(v)
+Test("ops_indexselect21")
+
+atts.categoryName = "domains"
+atts.subsetName = "domain1"
+SetOperatorOptions(atts)
+Test("ops_indexselect22")
+
+SetActivePlots(1)
+DeleteActivePlots()
+
+SetActivePlots(1)
+atts.categoryName = "blocks"
+atts.subsetName = "block2"
+atts.xMin = 0
+atts.xMax = -1
+atts.yMin = 5
+atts.yMax = 19
+atts.zMin = 7
+atts.zMax = 8
+SetOperatorOptions(atts)
+ResetView()
+Test("ops_indexselect23")
+
+TurnMaterialsOff(("1", "5", "8"))
+Test("ops_indexselect24")
+
+TurnMaterialsOn()
+TurnDomainsOff(("domain23"))
+Test("ops_indexselect25")
+
+TurnMaterialsOff(("1", "5", "8"))
+Test("ops_indexselect26")
+
+TurnMaterialsOn()
+TurnDomainsOn()
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+# 3D, rectilinear, zonal var, index-selected at max/min boundaries.
+AddPlot("Pseudocolor", "d")
+AddOperator("IndexSelect")
+atts.dim = atts.ThreeD
+atts.xMin = 0
+atts.xMax = -1 # maximum
+atts.yMin = 40 # maximum boundary
+atts.yMax = 40 # maximum boundary
+atts.zMin = 0
+atts.zMax = -1
+atts.xIncr = 1
+atts.yIncr = 1
+atts.zIncr = 1
+atts.useWholeCollection = 1
+SetOperatorOptions(atts)
+pc = PseudocolorAttributes()
+pc.limitsMode = pc.ActualData
+SetPlotOptions(pc)
+DrawPlots()
+ResetView()
+view = GetView3D()
+view.viewNormal = (0, 1, 0)
+view.viewUp = (0, 0, -1)
+view.perspective = 0
+SetView3D(view)
+Test("ops_indexselect27")
+
+atts.yMin = 0
+atts.yMax = 0
+SetOperatorOptions(atts)
+Test("ops_indexselect28")
+
+DeleteAllPlots()
+
+
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+# 3D, curvilinear, zonal var, index-selected at max/min boundaries.
+AddPlot("Pseudocolor", "p")
+AddOperator("IndexSelect")
+atts.dim = atts.ThreeD
+atts.xMin = 30
+atts.xMax = 30
+atts.yMin = 0
+atts.yMax = -1
+atts.zMin = 0
+atts.zMax = -1
+atts.xIncr = 1
+atts.yIncr = 1
+atts.zIncr = 1
+SetOperatorOptions(atts)
+pc = PseudocolorAttributes()
+pc.limitsMode = pc.ActualData
+SetPlotOptions(pc)
+DrawPlots()
+ResetView()
+view = GetView3D()
+view.viewNormal = (0, 1, 0)
+view.viewUp = (0, 0, -1)
+view.perspective = 0
+SetView3D(view)
+Test("ops_indexselect29")
+
+atts.xMin = 0
+atts.xMax = 0
+SetOperatorOptions(atts)
+Test("ops_indexselect30")
+
+DeleteAllPlots()
+
+#'6428, boundary between domains disappear when on edge of
+# index-selected plot 
+OpenDatabase(silo_data_path("bigsil.silo"))
+
+AddPlot("Pseudocolor", "dist")
+atts.dim = atts.ThreeD
+atts.xMin = 0
+atts.xMax = -1 #max
+atts.yMin = 8
+atts.yMax = 17
+atts.zMin = 0
+atts.zMax = -1 #max
+atts.xIncr = 1
+atts.yIncr = 1
+atts.zIncr = 1
+atts.useWholeCollection = 0
+atts.categoryName = "blocks"
+# middle group for this dataset, has group boundaries and internal
+# domain boundaries
+atts.subsetName = "block1"
+
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+ResetView()
+v = GetView3D()
+v.viewNormal = (0.437142, -0.719538, -0.539603)
+v.viewUp = (-0.309012, -0.683599, 0.661214)
+v.perspective = 0
+SetView3D(v)
+Test("ops_indexselect31")
+
+DeleteAllPlots()
+
+# Filled boundary takes different path through IndexSelect than
+# does PC, so test it too. 
+AddPlot("FilledBoundary", "mat")
+AddOperator("IndexSelect")
+SetOperatorOptions(atts)
+DrawPlots()
+SetView3D(v)
+Test("ops_indexselect32")
+DeleteAllPlots()
+
+
+# Test point meshes
+TestSection("IndexSelect on Point meshes.")
+OpenDatabase(data_path("vtk_test_data/ugrid_points.vtk"))
+
+AddPlot("Pseudocolor", "u")
+p = PseudocolorAttributes()
+p.pointType = p.Box
+p.pointSize = 0.2
+SetPlotOptions(p)
+DrawPlots()
+
+v = GetView2D()
+v.windowCoords = (-0.4, 9.4, -0.4, 9.4)
+SetView2D(v)
+
+Test("ops_indexselect33")
+
+AddOperator("IndexSelect")
+isa = IndexSelectAttributes()
+isa.dim = isa.OneD
+isa.xMin = 60
+isa.xMax = 70
+isa.xIncr = 1
+SetOperatorOptions(isa)
+DrawPlots()
+Test("ops_indexselect34")
+
+isa.xMin = 0
+isa.xMax = -1
+isa.xIncr = 2
+SetOperatorOptions(isa)
+
+Test("ops_indexselect35")
+
+isa.xIncr = 3
+SetOperatorOptions(isa)
+Test("ops_indexselect36")
+
+isa.xMin = 4
+isa.xMax = -1
+isa.xIncr = 2
+SetOperatorOptions(isa)
+
+Test("ops_indexselect37")
+
+isa.xMin = 10
+isa.xMax = 89
+isa.xIncr = 7
+SetOperatorOptions(isa)
+
+Test("ops_indexselect38")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "PointVar")
+AddOperator("IndexSelect")
+# make sure we are using default atts
+isa = IndexSelectAttributes()
+SetOperatorOptions(isa)
+box = BoxAttributes()
+box.minx = -5
+box.maxx = 5
+box.miny = -5
+box.maxy = 5
+box.minz = -5
+box.maxz = 5
+AddOperator("Box")
+SetOperatorOptions(box)
+DrawPlots()
+
+Test("ops_indexselect39")
+
+DeleteAllPlots()
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_inverse_ghost_zone.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_inverse_ghost_zone.html new file mode 100644 index 000000000..6c5b4d45a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_inverse_ghost_zone.html @@ -0,0 +1,72 @@ + +Results for operators/inverse_ghost_zone.py + +

Results of VisIt Regression Test - operators/inverse_ghost_zone

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_inverse_ghost_zone010.000.00
ops_inverse_ghost_zone020.000.00
ops_inverse_ghost_zone030.000.00
ops_inverse_ghost_zone040.000.00
ops_inverse_ghost_zone050.000.00
ops_inverse_ghost_zone060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_inverse_ghost_zone_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_inverse_ghost_zone_py.html new file mode 100644 index 000000000..3a7eceda0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_inverse_ghost_zone_py.html @@ -0,0 +1,76 @@ +operators/inverse_ghost_zone.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  inverse_ghost_zone.py
+#
+#  Defect ID:  '6724
+#
+#  Programmer: Hank Childs
+#  Date:       March 3, 2006
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to switch between Silo's HDF5 and PDB data.
+#
+#    Hank Childs, Sun Jan  2 10:45:22 PST 2011
+#    Add tests for new features.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("bigsil.silo"))
+
+AddPlot("Pseudocolor", "dist")
+# By default, we won't create ghost zones, because we don't need them
+# for this case.  Do something that makes us need them.
+pc = PseudocolorAttributes()
+pc.centering = pc.Zonal
+SetPlotOptions(pc)
+AddOperator("InverseGhostZone")
+DrawPlots()
+Test("ops_inverse_ghost_zone01")
+
+sil = SILRestriction()
+sil.TurnOffSet(1)
+SetPlotSILRestriction(sil)
+Test("ops_inverse_ghost_zone02")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("InverseGhostZone")
+DrawPlots()
+Test("ops_inverse_ghost_zone03")
+
+sil = SILRestriction()
+sil.TurnOffSet(1)
+SetPlotSILRestriction(sil)
+Test("ops_inverse_ghost_zone04")
+
+DeleteAllPlots()
+
+OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
+
+AddPlot("Pseudocolor", "density")
+AddOperator("InverseGhostZone")
+i = InverseGhostZoneAttributes()
+i.requestGhostZones = 1
+i.showDuplicated = 1
+i.showEnhancedConnectivity = 0
+i.showReducedConnectivity = 0
+i.showAMRRefined = 0
+i.showExterior = 0
+i.showNotApplicable = 0
+SetOperatorOptions(i)
+DrawPlots()
+Test("ops_inverse_ghost_zone05")
+
+i.showDuplicated = 0
+i.showAMRRefined = 1
+SetOperatorOptions(i)
+Test("ops_inverse_ghost_zone06")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_isovolume.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_isovolume.html new file mode 100644 index 000000000..fc90b20b0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_isovolume.html @@ -0,0 +1,78 @@ + +Results for operators/isovolume.py + +

Results of VisIt Regression Test - operators/isovolume

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_isovol010.000.00
ops_isovol020.000.00
ops_isovol030.000.00
ops_isovol040.000.00
ops_isovol050.000.00
ops_isovol060.000.00
ops_isovol070.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_isovolume_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_isovolume_py.html new file mode 100644 index 000000000..df29283b4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_isovolume_py.html @@ -0,0 +1,160 @@ +operators/isovolume.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  isovolume.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain,
+#                          3D rectilinear, multiple domain,
+#                          2D curvilinear, multiple domain
+#              plots     - pc, mesh, filledboundary, contour
+#              operators - isovolume
+#              selection - none
+#
+#  Defect ID:  '5640
+#
+#  Programmer: Hank Childs
+#  Date:       March 27, 2004
+#
+#  Modifications:
+#
+#    Hank Childs, Wed Nov 17 15:38:37 PST 2004
+#    Added test for isovolumes of poly-data where the poly-data is totally
+#    within the data range. ['5640]
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+v = GetView3D()
+v.SetViewNormal(-0.528889, 0.367702, 0.7649)
+v.SetViewUp(0.176641, 0.929226, -0.324558)
+v.SetParallelScale(17.3205)
+v.SetPerspective(1)
+SetView3D(v)
+
+#
+# Normal PC isovolume for globe.
+#
+isovol = IsovolumeAttributes()
+
+isovol.lbound = -4
+isovol.ubound =  4
+SetDefaultOperatorOptions(isovol)
+AddOperator("Isovolume")
+DrawPlots()
+Test("ops_isovol01")
+
+
+#
+# Normal PC plot of globe, isovolumeing by a different variable than what we
+# are coloring by.
+#
+RemoveAllOperators()
+isovol.lbound = 140
+isovol.ubound = 340
+isovol.variable = "t"
+SetDefaultOperatorOptions(isovol)
+AddOperator("Isovolume")
+DrawPlots()
+Test("ops_isovol02")
+
+DeleteAllPlots()
+
+#
+# Contour lines by one variable, isovolumeing by another.  Multi-block,
+# curvilinear, 2D.
+#
+OpenDatabase(silo_data_path("multi_curv2d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+isovol.lbound = 0.7
+isovol.ubound = 0.9
+isovol.variable = "v"
+SetDefaultOperatorOptions(isovol)
+AddOperator("Isovolume")
+DrawPlots()
+
+Test("ops_isovol03")
+
+DeleteAllPlots()
+
+#
+# Material plot, isovolumeed by a scalar variable.  Multi-block,
+# curvilinear, 2D.
+#
+AddPlot("FilledBoundary", "mat1")
+DrawPlots()
+
+isovol.lbound = -0.4
+isovol.ubound = 1.0
+isovol.variable = "u"
+SetDefaultOperatorOptions(isovol)
+AddOperator("Isovolume")
+DrawPlots()
+
+Test("ops_isovol04")
+
+DeleteAllPlots()
+
+#
+# Mesh plot and PC plot, both isovolumeed by the same variable, criteria.
+# Multi-block, rectilinear, 3D.
+#
+OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+
+isovol.lbound = 0.4
+isovol.ubound = 1.0
+isovol.variable = "u"
+SetDefaultOperatorOptions(isovol)
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Isovolume")
+AddPlot("Mesh", "mesh1")
+AddOperator("Isovolume")
+DrawPlots()
+
+Test("ops_isovol05")
+
+#
+# Test that we can slice poly-data correctly.
+#
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+isovol.lbound = -1.0
+isovol.ubound = 1.0
+isovol.variable = "default"
+SetDefaultOperatorOptions(isovol)
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Slice")
+AddOperator("Isovolume")
+DrawPlots()
+
+Test("ops_isovol06")
+
+isovol.lbound = 0.5
+SetOperatorOptions(isovol)
+Test("ops_isovol07")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs.html new file mode 100644 index 000000000..6ad9836fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs.html @@ -0,0 +1,147 @@ + +Results for operators/lcs.py + +

Results of VisIt Regression Test - operators/lcs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Basic FTLE function
Testing database = ftle_double_gyre_1_domain.pics
Testing sample source = RegularGrid
Testing auxiliary grid = NoAuxGrid
lcs_ftle_double_gyre_1_domain_RegularGrid_NoAuxGrid0.000.00
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_1_domain_RegularGrid_2DAuxGrid0.000.00
Testing sample source = NativeMesh
Testing auxiliary grid = NoAuxGrid
lcs_ftle_double_gyre_1_domain_NativeMesh_NoAuxGrid0.000.00
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_1_domain_NativeMesh_2DAuxGrid0.000.00
Testing database = ftle_double_gyre_2_domains.pics
Testing sample source = RegularGrid
Testing auxiliary grid = NoAuxGrid
lcs_ftle_double_gyre_2_domains_RegularGrid_NoAuxGrid0.000.00
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_2_domains_RegularGrid_2DAuxGrid0.000.00
Testing sample source = NativeMesh
Testing auxiliary grid = NoAuxGrid
lcs_ftle_double_gyre_2_domains_NativeMesh_NoAuxGrid0.000.00
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid0.000.00
lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_Smallest0.000.00
lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_Left0.000.00
lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_EigenValue0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_1.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_1.html new file mode 100644 index 000000000..f02c43733 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_1.html @@ -0,0 +1,66 @@ + +Results for operators/lcs_ic_1.py + +

Results of VisIt Regression Test - operators/lcs_ic_1

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Basic FTLE function with IntegralCurve operator
Testing database = ftle_double_gyre_1_domain.pics
Testing sample source = RegularGrid
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_1_domain_RegularGrid_2DAuxGrid_IntegralCurve0.000.00
Testing sample source = NativeMesh
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_1_domain_NativeMesh_2DAuxGrid_IntegralCurve0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_1_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_1_py.html new file mode 100644 index 000000000..7825b97b8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_1_py.html @@ -0,0 +1,17 @@ +operators/lcs_ic_1.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  lcs_ic_1.py
+#
+#  Tests:      operator   - LCS, IntegralCurve
+#
+#  Programmer: Allen Sanderson
+#  Date:       August 25, 2015
+# ----------------------------------------------------------------------------
+
+Source(tests_path("operators", "lcs_operator_main"))
+
+LCS_operator("IntegralCurve", "ftle_double_gyre_1_domain")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_2.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_2.html new file mode 100644 index 000000000..aa4813dd6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_2.html @@ -0,0 +1,66 @@ + +Results for operators/lcs_ic_2.py + +

Results of VisIt Regression Test - operators/lcs_ic_2

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Basic FTLE function with IntegralCurve operator
Testing database = ftle_double_gyre_2_domains.pics
Testing sample source = RegularGrid
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_2_domains_RegularGrid_2DAuxGrid_IntegralCurve0.000.00
Testing sample source = NativeMesh
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_IntegralCurve0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_2_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_2_py.html new file mode 100644 index 000000000..6d19a3c24 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_ic_2_py.html @@ -0,0 +1,17 @@ +operators/lcs_ic_2.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  lcs_ic_2.py
+#
+#  Tests:      operator   - LCS
+#
+#  Programmer: Allen Sanderson
+#  Date:       August 25, 2015
+# ----------------------------------------------------------------------------
+
+Source(tests_path("operators", "lcs_operator_main"))
+
+LCS_operator("IntegralCurve", "ftle_double_gyre_2_domains")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_1.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_1.html new file mode 100644 index 000000000..24b97c5d7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_1.html @@ -0,0 +1,66 @@ + +Results for operators/lcs_lc_1.py + +

Results of VisIt Regression Test - operators/lcs_lc_1

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Basic FTLE function with LimitCycle operator
Testing database = ftle_double_gyre_1_domain.pics
Testing sample source = RegularGrid
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_1_domain_RegularGrid_2DAuxGrid_LimitCycle0.000.00
Testing sample source = NativeMesh
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_1_domain_NativeMesh_2DAuxGrid_LimitCycle0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_1_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_1_py.html new file mode 100644 index 000000000..cfca817fc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_1_py.html @@ -0,0 +1,17 @@ +operators/lcs_lc_1.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  lcs_lc_1.py
+#
+#  Tests:      operator   - LCS
+#
+#  Programmer: Allen Sanderson
+#  Date:       August 25, 2015
+# ----------------------------------------------------------------------------
+
+Source(tests_path("operators", "lcs_operator_main"))
+
+LCS_operator("LimitCycle", "ftle_double_gyre_1_domain")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_2.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_2.html new file mode 100644 index 000000000..efea8b435 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_2.html @@ -0,0 +1,66 @@ + +Results for operators/lcs_lc_2.py + +

Results of VisIt Regression Test - operators/lcs_lc_2

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Basic FTLE function with LimitCycle operator
Testing database = ftle_double_gyre_2_domains.pics
Testing sample source = RegularGrid
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_2_domains_RegularGrid_2DAuxGrid_LimitCycle0.000.00
Testing sample source = NativeMesh
Testing auxiliary grid = 2DAuxGrid
lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_LimitCycle0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_2_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_2_py.html new file mode 100644 index 000000000..509e97ac6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_lc_2_py.html @@ -0,0 +1,17 @@ +operators/lcs_lc_2.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  lcs_lc_2.py
+#
+#  Tests:      operator   - LCS
+#
+#  Programmer: Allen Sanderson
+#  Date:       August 25, 2015
+# ----------------------------------------------------------------------------
+
+Source(tests_path("operators", "lcs_operator_main"))
+
+LCS_operator("LimitCycle", "ftle_double_gyre_2_domains")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_py.html new file mode 100644 index 000000000..14f9317b4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_lcs_py.html @@ -0,0 +1,182 @@ +operators/lcs.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  LCS.py
+#
+#  Tests:      operator   - LCS
+#
+#  Programmer: Allen Sanderson
+#  Date:       August 25, 2015
+#
+#  Modifications:
+#    Kathleen Biagas, Thur Sep 17, 2020
+#    Shorten name used for 'Testing database' TestSection. Turn of warnings.
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin("PICS_Tester")
+
+#-vargs="-debug 5"
+
+# For testing using the CLI
+
+#def data_path( db_name ):
+#  db="/Projects/VisIt/trunk/build/data/%s" %(db_name)
+#  return db
+
+#def Test(case_name):
+#   swatts = SaveWindowAttributes()
+#   swatts.family = 0
+#   swatts.fileName = "/Projects/tmp/lcs/ser/%s" %(case_name)
+#   SetSaveWindowAttributes(swatts)
+#   SaveWindow()
+#   return
+
+#def TestSection(tmpstr):
+#   return
+
+#def Exit():
+#   return   
+
+
+# Open the database here and add a plot as for some reason it fails
+# within a loop. It only happens with all-in-one plots with an operator
+# such as with "Pseudocolor" and "operators/LCS/velocity"
+db=data_path("pics_test_data/ftle_double_gyre_1_domain.pics")
+OpenDatabase(db)
+AddPlot("Pseudocolor", "operators/LCS/velocity")
+
+
+LCSAtts = LCSAttributes()
+LCSAtts.Resolution = (101, 51, 1)
+LCSAtts.integrationDirection = LCSAtts.Forward
+LCSAtts.auxiliaryGridSpacing = 0.005
+LCSAtts.maxSteps = 1000000
+LCSAtts.operationType = LCSAtts.Lyapunov
+LCSAtts.cauchyGreenTensor = LCSAtts.Right
+LCSAtts.eigenComponent = LCSAtts.Largest
+LCSAtts.operatorType = LCSAtts.BaseValue
+LCSAtts.terminationType = LCSAtts.Time
+LCSAtts.terminateByTime = 1
+LCSAtts.termTime = 4
+LCSAtts.maxStepLength = 0.001
+LCSAtts.integrationType = LCSAtts.AdamsBashforth
+LCSAtts.parallelizationAlgorithmType = LCSAtts.ParallelStaticDomains
+LCSAtts.pathlines = 1
+LCSAtts.pathlinesCMFE = LCSAtts.CONN_CMFE
+LCSAtts.issueAdvectionWarnings = 0
+LCSAtts.issueBoundaryWarnings = 0
+LCSAtts.issueTerminationWarnings = 0
+LCSAtts.issueStepsizeWarnings = 0
+LCSAtts.issueStiffnessWarnings = 0
+LCSAtts.issueCriticalPointsWarnings = 0
+
+SetOperatorOptions(LCSAtts, 0)
+
+
+databases=["ftle_double_gyre_1_domain", "ftle_double_gyre_2_domains"]
+
+src_type=[LCSAtts.RegularGrid, LCSAtts.NativeMesh]
+src_type_str=["RegularGrid", "NativeMesh"]
+
+aux_grid=[LCSAtts.NONE, LCSAtts.TwoDim]
+aux_grid_str=["NoAuxGrid", "2DAuxGrid"]
+
+TestSection("Basic FTLE function")
+for i in range(len(databases)):
+  db=data_path("pics_test_data/%s.pics") %(databases[i])
+  tmpstr="Testing database = %s.pics" %(databases[i])
+  TestSection(tmpstr)
+  OpenDatabase(db)
+  # Replace the database from before with this one as a new plot can
+  # not be opened within the loop when using runtest. This issue is a
+  # bug.
+  ReplaceDatabase(db)
+  #  DeleteAllPlots()
+  #  AddPlot("Pseudocolor", "operators/LCS/velocity")
+  for j in range(len(src_type)):
+     tmpstr="Testing sample source = %s" %(src_type_str[j])
+     TestSection(tmpstr)
+     LCSAtts.sourceType = src_type[j]  # NativeMesh, RegularGrid
+     for k in range(len(aux_grid)):
+        tmpstr="Testing auxiliary grid = %s" %(aux_grid_str[k])
+        TestSection(tmpstr)
+        LCSAtts.auxiliaryGrid = aux_grid[k]  # None, TwoDim
+        SetOperatorOptions(LCSAtts, 0)
+        DrawPlots()
+        tmpstr="lcs_%s_%s_%s" %(databases[i], src_type_str[j], aux_grid_str[k])
+        Test(tmpstr)
+
+
+
+# FTLE with smallest exponent
+LCSAtts.eigenComponent = LCSAtts.Smallest  # Smallest, Intermediate, Largest, PosShearVector, NegShearVector, PosLambdaShearVector, NegLambdaShearVector
+SetOperatorOptions(LCSAtts, 0)
+DrawPlots()
+tmpstr="lcs_%s_%s_%s_Smallest" %(databases[i], src_type_str[j], aux_grid_str[k])
+Test(tmpstr)
+
+
+
+# FTLE with left Cauchy Green Tensor
+LCSAtts.cauchyGreenTensor = LCSAtts.Left  # Left, Right
+LCSAtts.eigenComponent = LCSAtts.Largest  # Smallest, Intermediate, Largest, PosShearVector, NegShearVector, PosLambdaShearVector, NegLambdaShearVector
+SetOperatorOptions(LCSAtts, 0)
+DrawPlots()
+tmpstr="lcs_%s_%s_%s_Left" %(databases[i], src_type_str[j], aux_grid_str[k])
+Test(tmpstr)
+
+
+
+# FTLE with eigen value
+LCSAtts.operationType = LCSAtts.EigenValue  # IntegrationTime, ArcLength, AverageDistanceFromSeed, EigenValue, EigenVector, Lyapunov
+LCSAtts.cauchyGreenTensor = LCSAtts.Right  # Left, Right
+LCSAtts.eigenComponent = LCSAtts.Largest  # Smallest, Intermediate, Largest, PosShearVector, NegShearVector, PosLambdaShearVector, NegLambdaShearVector
+SetOperatorOptions(LCSAtts, 0)
+DrawPlots()
+tmpstr="lcs_%s_%s_%s_EigenValue" %(databases[i], src_type_str[j], aux_grid_str[k])
+Test(tmpstr)
+
+
+Exit()
+
+
+# 1 processor:
+
+#wo/aux grid
+
+# Native 1  -0.04343 - 1.066   190 zeros # Match
+# Rect   1  -0.04343 - 1.066   190 zeros #
+
+# Native 2  -0.04343 - 1.066   193 zeros # Match
+# Rect   2  -0.04343 - 1.233   190 zeros # Match with ghost cells but for a few cells.
+
+# Errors in the domain boundary gradients 
+
+
+#w/aux grid
+
+# Native 1  0.004539 - 1.396   304 exited / 680 zeros # Match
+# Rect   1  0.004539 - 1.396   304 exited / 680 zeros # 
+
+# Native 2  0.004539 - 1.396   308 exited / 690 zeros # Match
+# Rect   2  0.004539 - 1.396   304 exited / 680 zeros #
+
+
+# 4 processors:
+
+#wo/aux grid
+
+# Native 1  -0.04343 - 1.066   190 zeros # Match
+# Rect   1  -0.04343 - 1.066   190 zeros #
+
+# Native 2  -0.04343 - 1.066   193 zeros # Match
+# Rect   2  -0.04343 - 1.233   190 zeros # Match with ghost cells but for a few cells.
+
+#w/aux grid
+
+# Native 1  0.004539 - 1.396   304 exited / 680 zeros # Match
+# Rect   1  0.004539 - 1.396   304 exited / 680 zeros # 
+
+# Native 2  0.004539 - 1.396   308 exited / 690 zeros # Match
+# Rect   2  0.004539 - 1.396   304 exited / 680 zeros #
+
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_moveoperators.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_moveoperators.html new file mode 100644 index 000000000..f85ac95e6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_moveoperators.html @@ -0,0 +1,114 @@ + +Results for operators/moveoperators.py + +

Results of VisIt Regression Test - operators/moveoperators

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
moveoperator_00.000.00
moveoperator_10.000.00
moveoperator_20.000.00
moveoperator_30.000.00
moveoperator_40.000.00
moveoperator_50.000.00
moveoperator_60.000.00
moveoperator_70.000.00
moveoperator_80.000.00
moveoperator_90.000.00
moveoperator_100.000.00
moveoperator_110.000.00
moveoperator_120.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_moveoperators_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_moveoperators_py.html new file mode 100644 index 000000000..924e7f9dc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_moveoperators_py.html @@ -0,0 +1,226 @@ +operators/moveoperators.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  moveoperators.py
+#
+#  Tests:      plots     - Pseudocolor, Mesh, FilledBoundary
+#              operators - Erase, Isosurface, Reflect, Slice, Transform
+#
+#  Defect ID:  '1837
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Apr 17 16:45:46 PST 2003
+#
+#  Modifications:
+#    Eric Brugger, Thu May  8 12:57:56 PDT 2003
+#    Remove a call to ToggleAutoCenterMode since it no longer exists.
+#
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from subset plots.
+#
+#    Kathleen Bonnell, Wed Mar 17 07:33:40 PST 2004 
+#    Set default Slice atts, as these have changed. 
+#
+#    Kathleen Bonnell, Wed May  5 08:13:22 PDT 2004 
+#    Modified Slice atts to get same picture as defaults have changed. 
+#
+#    Brad Whitlock, Tue Jan 17 12:14:21 PDT 2006
+#    Added runTest4.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Thu Jul 11 08:18:42 PDT 2013
+#    Removed legacy sytle annotation setting.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+def InitAnnotation():
+    # Turn off all annotation except for the bounding box.
+    a = AnnotationAttributes()
+    TurnOffAllAnnotations(a)
+    a.axes2D.visible = 1
+    a.axes2D.xAxis.label.visible = 0
+    a.axes2D.yAxis.label.visible = 0
+    a.axes2D.xAxis.title.visible = 0
+    a.axes2D.yAxis.title.visible = 0
+    a.axes3D.bboxFlag = 1
+    SetAnnotationAttributes(a)
+
+def InitDefaults():
+    # Set the default reflect operator attributes.
+    reflect = ReflectAttributes()
+    reflect.SetReflections(1, 1, 0, 0, 0, 0, 0, 0)
+    SetDefaultOperatorOptions(reflect)
+    slice = SliceAttributes()
+    slice.project2d = 0
+    slice.SetAxisType(slice.XAxis)
+    slice.SetFlip(1)
+    SetDefaultOperatorOptions(slice)
+
+def setTheFirstView():
+    # Set the view
+    v = View3DAttributes()
+    v.viewNormal = (-0.695118, 0.351385, 0.627168)
+    v.focus = (-10, 0, 0)
+    v.viewUp = (0.22962, 0.935229, -0.269484)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -70
+    v.farPlane = 70
+    v.perspective = 1
+    SetView3D(v)
+
+#
+# Test operator promotion, demotion, and removal.
+#
+def runTest1():
+    OpenDatabase(silo_data_path("noise.silo"))
+
+
+    # Set up a plot with a few operators.
+    AddPlot("Pseudocolor", "hardyglobal")
+    AddOperator("Isosurface")
+    AddOperator("Slice")
+    AddOperator("Reflect")
+    DrawPlots()
+    setTheFirstView()
+
+    # Take a picture of the initial setup.
+    Test("moveoperator_0")
+
+    # Move the reflect so that it is before the slice in the pipeline.
+    # The pipeline will be: Isosurface, Reflect, Slice
+    DemoteOperator(2)
+    DrawPlots()
+    Test("moveoperator_1")
+
+    # Move the reflect operator back so that the pipeline matches the
+    # initial configuration: Isosurface, Slice, Reflect
+    PromoteOperator(1)
+    DrawPlots()
+    Test("moveoperator_2")
+
+    # Remove the slice operator from the middle, resulting in:
+    # Isosurface, Reflect
+    RemoveOperator(1)
+    DrawPlots()
+    Test("moveoperator_3")
+
+    # Remove the Isosurface operator, resulting in: Reflect
+    RemoveOperator(0)
+    DrawPlots()
+    Test("moveoperator_4")
+
+    # Remove the Reflect operator
+    RemoveOperator(0)
+    DrawPlots()
+    Test("moveoperator_5")
+
+    DeleteAllPlots()
+
+#
+# Test removing an operator from more than one plot at the same time.
+#
+def runTest2():
+    all = 1
+    # Set up a couple plots of globe
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    AddPlot("Mesh", "mesh1")
+    # Add a reflect operator to both plots.
+    AddOperator("Reflect", all)
+    DrawPlots()
+    Test("moveoperator_6")
+
+    # Remove the operator from both plots.
+    RemoveOperator(0, all)
+    DrawPlots()
+    Test("moveoperator_7")
+    DeleteAllPlots()
+
+#
+# Test setting attributes for multiple operators of the same type.
+#
+def runTest3():
+    # Set up a couple plots of globe
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    pc = PseudocolorAttributes()
+    pc.SetOpacityType(pc.Constant)
+    pc.opacity = 0.2
+    SetPlotOptions(pc)
+    AddPlot("FilledBoundary", "mat1")
+
+    # The subset plot is the active plot, add a couple transform
+    # operators to it.
+    AddOperator("Transform")
+    AddOperator("Transform")
+
+    # Set the attributes for the *first* transform operator.
+    # This results in a full size globe translated up in Y.
+    t0 = TransformAttributes()
+    t0.doTranslate = 1
+    t0.translateY = 15
+    SetOperatorOptions(t0, 0)
+    DrawPlots()
+    Test("moveoperator_8")
+
+    # Set the attributes for the *second* transform operator.
+    # The plot has been translated, now scale it. Since it has already
+    # been translated, this will also translate it a little in Y.
+    t1 = TransformAttributes()
+    t1.doScale = 1
+    t1.scaleX = 0.5
+    t1.scaleY = 0.5
+    t1.scaleZ = 0.5
+    SetOperatorOptions(t1, 1)
+    Test("moveoperator_9")
+
+    # Demote the last operator to reverse the order of the transformations.
+    DemoteOperator(1)
+    # Make the pc plot opaque again
+    SetActivePlots(0)
+    pc.SetOpacityType(pc.FullyOpaque)
+    SetPlotOptions(pc)
+    DrawPlots()
+    Test("moveoperator_10")
+
+    DeleteAllPlots()
+
+#
+# Test that removing an operator using the RemoveOperator(i) method causes
+# the vis window to get redrawn.
+#
+def runTest4():
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    AddOperator("Isosurface")
+    DrawPlots()
+    Test("moveoperator_11")
+
+    RemoveOperator(0)
+    Test("moveoperator_12")
+    DeleteAllPlots()
+
+#
+# Set up the environment and run all of the tests.
+#
+def runTests():
+    InitAnnotation()
+    InitDefaults()
+    runTest1()
+    runTest2()
+    runTest3()
+    runTest4()
+
+# Run the tests.
+runTests()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_multires.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_multires.html new file mode 100644 index 000000000..e11ea2176 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_multires.html @@ -0,0 +1,48 @@ + +Results for operators/multires.py + +

Results of VisIt Regression Test - operators/multires

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
multires_00.000.00
multires_10.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_multires_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_multires_py.html new file mode 100644 index 000000000..9e2df5bd6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_multires_py.html @@ -0,0 +1,34 @@ +operators/multires.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  multires.py
+#
+#  Programmer: Tom Fogal
+#  Date:       August 6, 2010
+#
+# ----------------------------------------------------------------------------
+
+ds = data_path("Chombo_test_data/chombo.visit")
+OpenDatabase(ds)
+
+AddPlot("Pseudocolor", "Scalar_1")
+AddOperator("MultiresControl")
+
+att = MultiresControlAttributes()
+att.resolution = 0
+SetOperatorOptions(att)
+
+DrawPlots()
+Test("multires_0")
+
+att.resolution = 1
+SetOperatorOptions(att)
+DrawPlots()
+Test("multires_1")
+
+DeleteAllPlots()
+
+CloseDatabase(ds)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_onionpeel.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_onionpeel.html new file mode 100644 index 000000000..b66b11c3f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_onionpeel.html @@ -0,0 +1,486 @@ + +Results for operators/onionpeel.py + +

Results of VisIt Regression Test - operators/onionpeel

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_onionpeel_010.000.00
ops_onionpeel_020.000.00
ops_onionpeel_030.000.00
ops_onionpeel_040.000.00
ops_onionpeel_050.000.00
ops_onionpeel_060.000.00
ops_onionpeel_070.000.00
ops_onionpeel_080.000.00
ops_onionpeel_090.000.00
ops_onionpeel_100.000.00
ops_onionpeel_110.000.00
ops_onionpeel_120.000.00
ops_onionpeel_130.000.00
ops_onionpeel_140.000.00
ops_onionpeel_150.000.00
ops_onionpeel_160.000.00
ops_onionpeel_170.000.00
ops_onionpeel_180.000.00
ops_onionpeel_190.000.00
ops_onionpeel_200.000.00
ops_onionpeel_210.000.00
ops_onionpeel_220.000.00
ops_onionpeel_230.000.00
ops_onionpeel_240.000.00
ops_onionpeel_250.000.00
ops_onionpeel_260.000.00
Arbitrary Polyhedra, honor original mesh
poly_originalMesh_000.000.00
poly_originalMesh_010.000.00
poly_originalMesh_020.000.00
poly_originalMesh_030.000.00
poly_originalMesh_040.000.00
poly_originalMesh_050.000.00
poly_originalMesh_060.000.00
poly_originalMesh_070.000.00
poly_originalMesh_080.000.00
poly_originalMesh_090.000.00
poly_originalMesh_100.000.00
Arbitrary Polyhedra, honor actual mesh
poly_actualMesh000.000.00
poly_actualMesh010.000.00
poly_actualMesh020.000.00
poly_actualMesh030.000.00
poly_actualMesh040.000.00
poly_actualMesh050.000.00
poly_actualMesh060.000.00
poly_actualMesh070.000.00
poly_actualMesh080.000.00
poly_actualMesh090.000.00
poly_actualMesh100.000.00
poly_actualMesh110.000.00
poly_actualMesh120.000.00
poly_actualMesh130.000.00
poly_actualMesh140.000.00
poly_actualMesh150.000.00
poly_actualMesh160.000.00
poly_actualMesh170.000.00
poly_actualMesh180.000.00
poly_actualMesh190.000.00
poly_actualMesh200.000.00
poly_actualMesh210.000.00
poly_actualMesh220.000.00
poly_actualMesh230.000.00
poly_actualMesh240.000.00
poly_actualMesh250.000.00
poly_actualMesh260.000.00
bigsil_mesh_010.000.00
bigsil_mesh_020.000.00
bigsil_mesh_030.000.00
bigsil_mesh_040.000.00
amr_3d_010.000.00
amr_3d_020.000.00
amr_3d_030.000.00
amr_3d_040.000.00
amr_2d_010.000.00
amr_2d_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_onionpeel_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_onionpeel_py.html new file mode 100644 index 000000000..7b7c48ca7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_onionpeel_py.html @@ -0,0 +1,643 @@ +operators/onionpeel.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  onionpeel.py
+#
+#  Tests:      mesh      - 3D rectilinear, mulitple domain, mulitple groups
+#              plots     - subset
+#              operators - onionpeel
+#              selection - none
+#
+#  Defect ID:  
+#
+#  Programmer: Kathleen Bonnell 
+#  Date:       December 23, 2003 
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Feb 26 15:31:31 PST 2004
+#    Added TestUCD.
+#
+#    Kathleen Bonnell, Wed Dec 15 15:24:50 PST 2004 
+#    Added TestGlobalZoneId.
+#
+#    Kathleen Bonnell, Tue Jan 18 19:34:41 PST 2005 
+#    Added TestMatSelect.
+#
+#    Kathleen Bonnell, Wed Jan 19 15:45:38 PST 2005 
+#    Added TestNodeId.
+#
+#    Kathleen Bonnell, Tue Jun 14 11:33:39 PDT 2005 
+#    Added TestFilledBoundary.
+#
+#    Kathleen Bonnell, Thu Jul 21 09:09:26 PDT 2005 
+#    Modified indices used in TestBigSil, to match corrsponding changes
+#    to bigsil.silo. 
+#
+#    Kathleen Bonnell, Fri Aug 19 16:23:45 PDT 2005 
+#    Modified indices used in TestBigSil, more changes to bigsil.silo. 
+#
+#    Kathleen Bonnell, Thu Sep 22 11:59:42 PDT 2005 
+#    Added TestBoundary. 
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Kathleen Biagas, Fri Jul 25 15:10:11 MST 2014
+#    Added ArbPoly test, which demonstrates use of new att: honorOriginalMesh.
+#
+#    Kathleen Biagas, Mon Mar 23 17:25:07 PDT 2015
+#    Modified AMR test to include the default Subset plot, now that it
+#    is fixed.
+#
+#    Kathleen Biagas, Tue Nov 29 10:40:50 PST 2022
+#    Change use of obosolete text settings to new textFont settings.
+#
+# ----------------------------------------------------------------------------
+
+def TestBigSil():
+    OpenDatabase(silo_data_path("bigsil.silo"))
+
+
+    AddPlot("Subset", "domains")
+    AddPlot("Subset", "blocks")
+    s = SubsetAttributes()
+    s.legendFlag = 0
+    s.wireframe = 1
+    s.colorType = s.ColorBySingleColor
+    s.singleColor = (100,100,100,255)
+    SetPlotOptions(s)
+
+    SetActivePlots(0)
+    AddOperator("OnionPeel")
+    op = OnionPeelAttributes()
+    op.categoryName = "blocks"
+    op.subsetName = "block0"
+    op.index = (4, 11, 5)
+    op.logical = 1
+    op.adjacencyType = op.Face
+    op.requestedLayer = 3
+    SetOperatorOptions(op)
+    DrawPlots()
+
+    Test("ops_onionpeel_01")
+
+    op.subsetName = "block1"
+    op.index = (18, 4, 5)
+    SetOperatorOptions(op)
+
+    Test("ops_onionpeel_02")
+
+    op.subsetName = "block2"
+    op.index = (11, 18, 5)
+    SetOperatorOptions(op)
+
+    Test("ops_onionpeel_03")
+
+    DeleteAllPlots()
+
+def TestUCD():
+    # This is to test that onion peel will work (by default)
+    # on the first "On" set -- in this case "domain4".
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    domains = ("domain4", "domain5", "domain6")
+    TurnDomainsOff()
+    TurnDomainsOn(domains)
+    DrawPlots()
+    ResetView()
+    SetViewExtentsType("actual")
+    AddOperator("OnionPeel")
+    DrawPlots()
+    Test("ops_onionpeel_04")
+
+    DeleteAllPlots()
+
+def TestGlobalZoneId():
+    # This is to test that onion peel will work when 
+    # a global cell number is specified. 
+    OpenDatabase(silo_data_path("global_node.silo"))
+
+    TurnDomainsOn()
+    AddPlot("Subset", "domains")
+    s = SubsetAttributes()
+    s.legendFlag = 0
+    s.wireframe = 1
+    s.colorType = s.ColorBySingleColor
+    s.singleColor = (100,100,100,255)
+    SetPlotOptions(s)
+    AddPlot("Pseudocolor", "dist")
+    AddOperator("OnionPeel")
+    op = OnionPeelAttributes()
+    op.categoryName = "domains"
+    op.subsetName = "domain5"
+    op.index = 372
+    op.logical = 0
+    op.adjacencyType = op.Face
+    op.requestedLayer = 7
+    SetOperatorOptions(op)
+
+    DrawPlots()
+    ResetView()
+    SetViewExtentsType("original")
+
+    Test("ops_onionpeel_05")
+
+    #only change is to specify that seed cell is global
+    op.useGlobalId = 1
+    SetOperatorOptions(op)
+    Test("ops_onionpeel_06")
+
+    DeleteAllPlots()
+
+def TestMatSelect():
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("FilledBoundary", "mat1")
+    AddOperator("OnionPeel")
+    op = OnionPeelAttributes()
+    op.index = 8
+    op.requestedLayer = 5
+    op.adjacencyType = op.Face
+    SetOperatorOptions(op)
+    DrawPlots()
+    SetViewExtentsType("actual")
+    Test("ops_onionpeel_07")
+
+    TurnMaterialsOff("1")
+    Test("ops_onionpeel_08")
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    TurnMaterialsOff("4")
+    AddOperator("OnionPeel")
+    op.requestedLayer = 2
+    op.index = 27
+    SetOperatorOptions(op)
+    DrawPlots()
+    Test("ops_onionpeel_09")
+    TurnMaterialsOn()
+    DeleteAllPlots()
+
+def TestNodeId():
+    OpenDatabase(silo_data_path("ucd2d.silo"))
+
+    AddPlot("Mesh", "ucdmesh2d")
+    AddPlot("Pseudocolor", "d")
+    AddOperator("OnionPeel")
+    op = OnionPeelAttributes()
+    op.index = 0
+    op.seedType = op.SeedCell
+    SetOperatorOptions(op)
+    DrawPlots()
+    Test("ops_onionpeel_10")
+
+    op.seedType = op.SeedNode
+    SetOperatorOptions(op)
+    Test("ops_onionpeel_11")
+
+    op.requestedLayer = 2
+    op.adjacencyType = op.Face
+    SetOperatorOptions(op)
+    Test("ops_onionpeel_12")
+
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Mesh", "quadmesh3d")
+    AddPlot("Pseudocolor", "d")
+    SetActivePlots((0, 1))
+    TurnMaterialsOff("1")
+    AddOperator("OnionPeel")
+    op.index = 44
+    op.requestedLayer = 0
+    SetOperatorOptions(op)
+    DrawPlots()
+    SetViewExtentsType("actual")
+    v = GetView3D()
+    v.viewNormal = (0, 0, -1)
+    SetView3D(v)
+    Test("ops_onionpeel_13")
+    op.requestedLayer = 12
+    SetOperatorOptions(op)
+    Test("ops_onionpeel_14")
+    TurnMaterialsOn()
+    DeleteAllPlots()
+
+def TestFilledBoundary():
+    # need to test index on high-side
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Mesh", "quadmesh3d")
+    AddPlot("FilledBoundary", "mat1")
+    SetActivePlots((0,1))
+    AddOperator("OnionPeel")
+    op = OnionPeelAttributes()
+    op.index = 15735
+    op.requestedLayer = 5
+    op.adjacencyType = op.Face
+    SetOperatorOptions(op)
+    DrawPlots()
+    ResetView()
+    SetViewExtentsType("actual")
+    Test("ops_onionpeel_15")
+
+    op.seedType = op.SeedNode
+    op.index = 32713
+    SetOperatorOptions(op)
+    Test("ops_onionpeel_16")
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Mesh", "mesh1")
+    AddPlot("FilledBoundary", "mat1")
+    SetActivePlots((0,1))
+    AddOperator("OnionPeel")
+    op.seedType = op.SeedCell
+    op.requestedLayer = 2
+    op.index = 742
+    SetOperatorOptions(op)
+    DrawPlots()
+    Test("ops_onionpeel_17")
+    op.index = 1117
+    SetOperatorOptions(op)
+    DrawPlots()
+    ResetView()
+    Test("ops_onionpeel_18")
+
+    op.seedType = op.SeedNode
+    op.requestedLayer = 6
+    op.index = 965
+    SetOperatorOptions(op)
+    Test("ops_onionpeel_19")
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("curv3d.silo"))
+
+    AddPlot("Mesh", "curvmesh3d")
+    AddPlot("FilledBoundary", "mat1")
+    SetActivePlots((0, 1))
+    AddOperator("OnionPeel")
+    op.seedType = op.SeedCell
+    op.requestedLayer = 5
+    op.index = 19412
+    SetOperatorOptions(op)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (0, 0, 1)
+    v.focus = (-2.29977, 0.966088, 16.5)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 5.61745
+    v.nearPlane = -11.2349
+    v.farPlane = 11.2349
+    v.imagePan = (-0.00484124, 0.00104964)
+    v.imageZoom = 4.08886
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (-2.29977, 0.966088, 16.5)
+    SetView3D(v)
+    Test("ops_onionpeel_20")
+    DeleteAllPlots()
+
+
+def TestBoundary():
+    # need to test index on high-side
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Mesh", "quadmesh3d")
+    AddPlot("Boundary", "mat1")
+    SetActivePlots((0,1))
+    AddOperator("OnionPeel")
+    op = OnionPeelAttributes()
+    op.index = 15735
+    op.requestedLayer = 5
+    op.adjacencyType = op.Face
+    SetOperatorOptions(op)
+    DrawPlots()
+    ResetView()
+    SetViewExtentsType("actual")
+    Test("ops_onionpeel_21")
+
+    op.seedType = op.SeedNode
+    op.index = 1370
+    SetOperatorOptions(op)
+    Test("ops_onionpeel_22")
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Mesh", "mesh1")
+    AddPlot("Boundary", "mat1")
+    SetActivePlots((0,1))
+    AddOperator("OnionPeel")
+    op.seedType = op.SeedCell
+    op.requestedLayer = 2
+    op.index = 17
+    SetOperatorOptions(op)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (1, 0, 0)
+    v.viewUp = (0, 1, 0)
+    SetView3D(v)
+    Test("ops_onionpeel_23")
+    op.index = 117
+    SetOperatorOptions(op)
+    DrawPlots()
+    ResetView()
+    Test("ops_onionpeel_24")
+
+    op.seedType = op.SeedNode
+    op.requestedLayer = 6
+    op.index = 13
+    SetOperatorOptions(op)
+    Test("ops_onionpeel_25")
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("curv3d.silo"))
+
+    AddPlot("Mesh", "curvmesh3d")
+    AddPlot("Boundary", "mat1")
+    SetActivePlots((0, 1))
+    AddOperator("OnionPeel")
+    op.seedType = op.SeedCell
+    op.requestedLayer = 5
+    op.index = 19472
+    SetOperatorOptions(op)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (0, 0, 1)
+    v.focus = (-2.29977, 0.966088, 16.5)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 5.61745
+    v.nearPlane = -11.2349
+    v.farPlane = 11.2349
+    v.imagePan = (-0.00484124, 0.00104964)
+    v.imageZoom = 4.08886
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (-2.29977, 0.966088, 16.5)
+    SetView3D(v)
+    Test("ops_onionpeel_26")
+    DeleteAllPlots()
+
+def TestArbPoly():
+    TestSection("Arbitrary Polyhedra, honor original mesh")
+    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
+    DefineScalarExpression("gzid", "global_zoneid(<3D/mesh1>)")
+    AddPlot("Mesh", "3D/mesh1")
+    AddPlot("Pseudocolor", "gzid")
+    pc = PseudocolorAttributes()
+    pc.colorTableName="levels"
+    SetPlotOptions(pc)
+    AddOperator("OnionPeel")
+    DrawPlots()
+    ResetView()
+    op = OnionPeelAttributes()
+
+    SetQueryOutputToObject()
+    # there are only 11 zones in original mesh
+    # when NumZonesQuery is fixed, can use it instead
+    # SetActivePlots(0)
+    # numZones = Query("NumZones", use_actual_data=0)['num_zones']
+    # SetActivePlots(1)
+    numZones = 11
+    for i in range(numZones):
+        op.index = i
+        SetOperatorOptions(op)
+        DrawPlots()
+        Test("poly_originalMesh_%02d"%i)
+
+    TestSection("Arbitrary Polyhedra, honor actual mesh")
+    op.honorOriginalMesh = 0
+    SetActivePlots(0)
+    numZones = Query("NumZones", use_actual_data=1)['num_zones']
+    print("numZones: ", numZones)
+    SetActivePlots(1)
+    for i in range (numZones):
+        op.index = i
+        SetOperatorOptions(op)
+        DrawPlots()
+        Test("poly_actualMesh%02d"%i)
+
+    DeleteAllPlots()
+
+def TestBigSilMesh():
+    # use actual spatial extents
+    SetViewExtentsType(1)
+
+    # non-logical index
+    OpenDatabase(silo_data_path("bigsil.silo"))
+    AddPlot("Mesh", "mesh")
+    mesh = MeshAttributes()
+    mesh.showInternal = 1
+    SetPlotOptions(mesh)
+
+    AddPlot("Label", "mesh")
+    label = LabelAttributes()
+    label.showNodes = 1
+    label.showCells = 1
+    label.drawLabelsFacing = label.FrontAndBack
+    label.labelDisplayFormat = label.Index
+    label.textFont1.useForegroundColor = 0
+    label.textFont1.color = (255, 0, 0, 0)
+    label.textFont2.useForegroundColor = 0
+    label.textFont2.color = (0, 0, 255, 0)
+    label.depthTestMode = label.LABEL_DT_NEVER
+    SetPlotOptions(label)
+
+    AddOperator("OnionPeel", 1)
+    op = OnionPeelAttributes()
+    op.categoryName = "domains"
+    op.subsetName = "domain14"
+    op.logical = 0
+    op.index = (211)
+    op.requestedLayer = 0
+    op.seedType = op.SeedNode
+    SetOperatorOptions(op,0, 1);
+    DrawPlots()
+    Test("bigsil_mesh_01")
+
+    op.seedType = op.SeedCell
+    op.index = (223)
+    op.requestedLayer = 1
+    SetOperatorOptions(op,0, 1);
+    DrawPlots()
+    Test("bigsil_mesh_02")
+
+    # Blocks/Domains, logical index
+    op.logical = 1
+    op.index = (3, 2, 3)
+    op.requestedLayer = 0
+    op.seedType = op.SeedNode
+    SetOperatorOptions(op,0, 1);
+    DrawPlots()
+    Test("bigsil_mesh_03")
+
+    op.seedType = op.SeedCell
+    op.index = (6, 3, 4)
+    op.requestedLayer = 1
+    SetOperatorOptions(op,0, 1);
+    DrawPlots()
+    Test("bigsil_mesh_04")
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("bigsil.silo"))
+    # use original spatial extents
+    SetViewExtentsType(0)
+
+def TestAMR():
+    # AMR Mesh
+    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
+    # use actual spatial extents
+    SetViewExtentsType(1)
+
+    AddPlot("Mesh", "amr_mesh")
+    mesh = MeshAttributes()
+    mesh.showInternal = 1
+    SetPlotOptions(mesh)
+
+    AddPlot("Label", "amr_mesh")
+    label = LabelAttributes()
+    label.showNodes = 1
+    label.showCells = 1
+    label.drawLabelsFacing = label.FrontAndBack
+    label.labelDisplayFormat = label.Index
+    label.textFont1.useForegroundColor = 0
+    label.textFont1.color = (255, 0, 0, 0)
+    label.textFont2.useForegroundColor = 0
+    label.textFont2.color = (0, 0, 255, 0)
+    label.depthTestMode = label.LABEL_DT_NEVER
+    SetPlotOptions(label)
+
+    AddOperator("OnionPeel", 1)
+    op = OnionPeelAttributes()
+    op.categoryName = "levels"
+    op.subsetName = "level2"
+    op.logical = 1
+    op.index = (11, 15, 8)
+    op.seedType = op.SeedNode
+    SetOperatorOptions(op,0, 1);
+    DrawPlots()
+    Test("amr_3d_01")
+
+    op.seedType = op.SeedCell
+    op.index = (10, 15, 8)
+    op.requestedLayer = 1
+    SetOperatorOptions(op,0, 1);
+    Test("amr_3d_02")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
+
+    # Test Vector plot
+    OpenDatabase(data_path("samrai_test_data/mats-par3/dumps.visit"))
+
+    AddPlot("Mesh", "amr_mesh")
+    AddPlot("Vector", "Velocity")
+    TimeSliderNextState()
+    AddOperator("OnionPeel", 1)
+    op = OnionPeelAttributes()
+    op.categoryName = "levels"
+    op.subsetName = "level1"
+    op.logical = 1
+    op.index = (12, 15, 10)
+    op.seedType = op.SeedCell
+    op.requestedLayer = 1
+    SetOperatorOptions(op,0, 1);
+    DrawPlots()
+    Test("amr_3d_03")
+
+    op.seedType = op.SeedNode
+    op.index = (13, 15, 10)
+    op.requestedLayer = 0
+    SetOperatorOptions(op,0, 1);
+    Test("amr_3d_04")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("samrai_test_data/mats-par3/dumps.visit"))
+
+    # 2D AMR Mesh
+    OpenDatabase(data_path("samrai_test_data/ale2d/dumps.visit"))
+
+    # use actual spatial extents
+    SetViewExtentsType(1)
+
+    AddPlot("Mesh", "amr_mesh")
+    AddPlot("Contour", "Density")
+
+    AddOperator("OnionPeel", 1)
+    op = OnionPeelAttributes()
+    op.categoryName = "levels"
+    op.subsetName = "level2"
+    op.logical = 1
+    op.index = (384, 490)
+    op.seedType = op.SeedCell
+    op.requestedLayer = 1
+    SetOperatorOptions(op,0, 1);
+    DrawPlots()
+    Test("amr_2d_01")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("samrai_test_data/ale2d/dumps.visit"))
+
+    OpenDatabase(data_path("AMRStitchCell_test_data/AMRStitchCellTest.1.no_ghost.phi.2d.hdf5"))
+    AddPlot("Subset", "levels")
+    AddPlot("Mesh", "Mesh")
+    AddPlot("Contour", "phi")
+    AddPlot("Label", "Mesh")
+    label = LabelAttributes()
+    label.showNodes = 1
+    label.showCells = 1
+    label.drawLabelsFacing = label.FrontAndBack
+    label.labelDisplayFormat = label.Index
+    label.textFont1.useForegroundColor = 0
+    label.textFont1.color = (255, 0, 0, 0)
+    label.textFont2.useForegroundColor = 0
+    label.textFont2.color = (0, 0, 255, 0)
+    label.depthTestMode = label.LABEL_DT_NEVER
+    SetPlotOptions(label)
+
+    AddOperator("OnionPeel", 1)
+    op = OnionPeelAttributes()
+    op.categoryName = "levels"
+    op.subsetName = "level2"
+    op.logical = 1
+    op.seedType = op.SeedCell
+    op.requestedLayer = 1
+    op.index = (24, 35)
+    SetOperatorOptions(op, 0, 1)
+    DrawPlots()
+    Test("amr_2d_02")
+    # use original spatial extents
+    SetViewExtentsType(0)
+
+def Main():
+    TestBigSil()
+    TestUCD()
+    TestGlobalZoneId()
+    TestMatSelect()
+    TestNodeId()
+    TestFilledBoundary()
+    TestBoundary()
+    TestArbPoly()
+    TestBigSilMesh()
+    TestAMR()
+
+Main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_operators.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_operators.html new file mode 100644 index 000000000..2c90e85f6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_operators.html @@ -0,0 +1,78 @@ + +Results for operators/operators.py + +

Results of VisIt Regression Test - operators/operators

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_sliceop010.000.00
ops_sliceop020.000.00
ops_clip010.000.00
ops_clip020.000.00
ops_clip030.000.00
ops_onion010.000.00
ops_onion020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_operators_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_operators_py.html new file mode 100644 index 000000000..1c7d31426 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_operators_py.html @@ -0,0 +1,141 @@ +operators/operators.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  operators.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - pc
+#              operators - slice, clip, onionpeel
+#              selection - none
+#
+#  Defect ID:  none
+#
+#  Programmer: Jeremy Meredith
+#  Date:       April 17, 2002
+#
+#  Modifications:
+#
+#    Hank Childs, Wed Jul 24 10:21:07 PDT 2002
+#    Remove threshold tests in favor of its own file.
+#
+#    Hank Childs. Tue Nov 19 15:45:12 PST 2002
+#    Change Aslice to Slice for slicing interface change.
+#
+#    Eric Brugger, Fri Jan 17 16:53:32 PST 2003
+#    Change Erase to Clip for interface change.
+#
+#    Eric Brugger, Thu May  8 12:47:54 PDT 2003
+#    Change the setting of one of the Slice attributes because of an
+#    interface change.
+#
+#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004 
+#    Default slice atts have changed, update accordingly. 
+#    
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+v = GetView3D()
+v.SetViewNormal(-0.528889, 0.367702, 0.7649)
+v.SetViewUp(0.176641, 0.929226, -0.324558)
+v.SetParallelScale(17.3205)
+v.SetPerspective(1)
+SetView3D(v)
+
+# Slice
+slice = SliceAttributes()
+
+RemoveAllOperators()
+slice.originType = slice.Point
+slice.SetOriginPoint(1,2,3)
+slice.SetNormal(1,-1,0)
+slice.SetUpAxis(0,0,1)
+slice.project2d = 1
+SetDefaultOperatorOptions(slice)
+AddOperator("Slice")
+DrawPlots()
+
+Test("ops_sliceop01")
+
+RemoveAllOperators()
+slice.project2d = 0
+SetDefaultOperatorOptions(slice)
+AddOperator("Slice")
+DrawPlots()
+
+Test("ops_sliceop02")
+
+# Clip
+clip = ClipAttributes()
+
+RemoveAllOperators()
+clip.plane1Status = 1
+clip.SetPlane1Origin(1,2,3)
+clip.SetPlane1Normal(-1,1,0)
+clip.funcType = 0
+SetDefaultOperatorOptions(clip)
+AddOperator("Clip")
+DrawPlots()
+
+Test("ops_clip01")
+
+RemoveAllOperators()
+clip.SetCenter(0,0,10)
+clip.radius = 9
+clip.funcType = 1
+SetDefaultOperatorOptions(clip)
+AddOperator("Clip")
+DrawPlots()
+
+Test("ops_clip02")
+
+clip = ClipAttributes()
+clip.plane1Status = 1
+clip.SetPlane1Origin(1,2,3)
+clip.SetPlane1Normal(-1,1,0)
+clip.plane2Status = 1
+clip.SetPlane2Origin(0,0,0)
+clip.SetPlane2Normal(-1,0,0)
+clip.funcType = 0
+SetDefaultOperatorOptions(clip)
+AddOperator("Clip")
+DrawPlots()
+
+Test("ops_clip03")
+
+# OnionPeel
+onion = OnionPeelAttributes()
+
+RemoveAllOperators()
+onion.adjacencyType = 0
+onion.index = 30
+onion.requestedLayer = 3
+SetDefaultOperatorOptions(onion)
+AddOperator("OnionPeel")
+DrawPlots()
+
+Test("ops_onion01")
+
+RemoveAllOperators()
+onion.adjacencyType = 1
+onion.requestedLayer = 7
+SetDefaultOperatorOptions(onion)
+AddOperator("OnionPeel")
+DrawPlots()
+
+Test("ops_onion02")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_persistent_particles.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_persistent_particles.html new file mode 100644 index 000000000..5e885db40 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_persistent_particles.html @@ -0,0 +1,72 @@ + +Results for operators/persistent_particles.py + +

Results of VisIt Regression Test - operators/persistent_particles

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
persistent_particles_010.000.00
persistent_particles_020.000.00
persistent_particles_030.000.00
persistent_particles_040.000.00
persistent_particles_050.000.00
persistent_particles_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_persistent_particles_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_persistent_particles_py.html new file mode 100644 index 000000000..a1057e874 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_persistent_particles_py.html @@ -0,0 +1,173 @@ +operators/persistent_particles.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  persistent_particles.py
+#
+#  Programmer: Hank Childs
+#  Date:       October 15, 2010
+#
+#  Modifications:
+#     Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
+#     Changed Pseudocolor CurrentPlot to ActualData.
+#
+# ----------------------------------------------------------------------------
+
+OpenDatabase(data_path("synergia_test_data/vis_particles_* database"),0, "Vs")
+
+AddPlot("Pseudocolor", "particles_6")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.outputMeshType = 0
+ThresholdAtts.listedVarNames = ("default")
+ThresholdAtts.zonePortions = (0)
+ThresholdAtts.lowerBounds = (-1e+37)
+ThresholdAtts.upperBounds = (20)
+ThresholdAtts.defaultVarName = "particles_6"
+ThresholdAtts.defaultVarIsScalar = 1
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+
+View3DAtts = View3DAttributes()
+View3DAtts.viewNormal = (0.282153, 0.56578, 0.774779)
+View3DAtts.focus = (-0.000283548, -1.60497e-05, -0.00167359)
+View3DAtts.viewUp = (-0.173662, 0.824371, -0.538752)
+View3DAtts.viewAngle = 30
+View3DAtts.parallelScale = 0.0560412
+View3DAtts.nearPlane = -0.112082
+View3DAtts.farPlane = 0.112082
+View3DAtts.imagePan = (0, 0)
+View3DAtts.imageZoom = 3
+View3DAtts.perspective = 1
+View3DAtts.eyeAngle = 2
+View3DAtts.centerOfRotationSet = 0
+View3DAtts.centerOfRotation = (-0.000283548, -1.60497e-05, -0.00167359)
+View3DAtts.axis3DScaleFlag = 0
+View3DAtts.axis3DScales = (1, 1, 1)
+View3DAtts.shear = (0, 0, 1)
+SetView3D(View3DAtts)
+
+Test("persistent_particles_01")
+
+CreateNamedSelection("selection1")
+a = GetAnnotationAttributes()
+SetWindowLayout(2)
+SetActiveWindow(2)
+SetAnnotationAttributes(a)
+AddPlot("Pseudocolor", "particles_6", 1, 1)
+silr = SILRestriction()
+silr.TurnOnAll()
+SetPlotSILRestriction(silr ,1)
+ApplyNamedSelection("selection1")
+DrawPlots()
+SetView3D(View3DAtts)
+Test("persistent_particles_02")
+
+AddOperator("PersistentParticles", 1)
+PersistentParticlesAtts = PersistentParticlesAttributes()
+PersistentParticlesAtts.startIndex = 0
+PersistentParticlesAtts.stopIndex = 5
+PersistentParticlesAtts.stride = 1
+PersistentParticlesAtts.startPathType = PersistentParticlesAtts.Absolute  # Absolute, Relative
+PersistentParticlesAtts.stopPathType = PersistentParticlesAtts.Absolute  # Absolute, Relative
+PersistentParticlesAtts.traceVariableX = "default"
+PersistentParticlesAtts.traceVariableY = "default"
+PersistentParticlesAtts.traceVariableZ = "default"
+PersistentParticlesAtts.connectParticles = 0
+PersistentParticlesAtts.indexVariable = "default"
+SetOperatorOptions(PersistentParticlesAtts, 1)
+DrawPlots()
+Test("persistent_particles_03")
+
+PersistentParticlesAtts.connectParticles = 1
+SetOperatorOptions(PersistentParticlesAtts, 1)
+Test("persistent_particles_04")
+
+AddOperator("Tube", 1)
+TubeAtts = TubeAttributes()
+TubeAtts.scaleByVarFlag = 0
+TubeAtts.tubeRadiusType = TubeAtts.Absolute
+TubeAtts.radiusAbsolute = 0.0005
+TubeAtts.scaleVariable = "default"
+TubeAtts.fineness = 10
+TubeAtts.capping = 0
+SetOperatorOptions(TubeAtts, 1)
+DrawPlots()
+Test("persistent_particles_05")
+
+
+AddPlot("Pseudocolor", "particles_6", 1, 0)
+ApplyNamedSelection("selection1")
+PseudocolorAtts = PseudocolorAttributes()
+PseudocolorAtts.legendFlag = 1
+PseudocolorAtts.lightingFlag = 1
+PseudocolorAtts.minFlag = 0
+PseudocolorAtts.maxFlag = 0
+PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
+PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
+PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
+PseudocolorAtts.min = 0
+PseudocolorAtts.max = 1
+PseudocolorAtts.pointSize = 0.001
+PseudocolorAtts.pointType = PseudocolorAtts.Icosahedron  # Box, Axis, Icosahedron, Point, Sphere
+PseudocolorAtts.skewFactor = 1
+PseudocolorAtts.opacity = 1
+PseudocolorAtts.colorTableName = "orangehot"
+PseudocolorAtts.smoothingLevel = 0
+PseudocolorAtts.pointSizeVarEnabled = 0
+PseudocolorAtts.pointSizeVar = "default"
+PseudocolorAtts.pointSizePixels = 2
+PseudocolorAtts.lineWidth = 0
+PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
+SetPlotOptions(PseudocolorAtts)
+PseudocolorAtts = PseudocolorAttributes()
+PseudocolorAtts.legendFlag = 1
+PseudocolorAtts.lightingFlag = 1
+PseudocolorAtts.minFlag = 0
+PseudocolorAtts.maxFlag = 1
+PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
+PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
+PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
+PseudocolorAtts.min = 0
+PseudocolorAtts.max = 20
+PseudocolorAtts.pointSize = 0.001
+PseudocolorAtts.pointType = PseudocolorAtts.Icosahedron  # Box, Axis, Icosahedron, Point, Sphere
+PseudocolorAtts.skewFactor = 1
+PseudocolorAtts.opacity = 1
+PseudocolorAtts.colorTableName = "orangehot"
+PseudocolorAtts.smoothingLevel = 0
+PseudocolorAtts.pointSizeVarEnabled = 0
+PseudocolorAtts.pointSizeVar = "default"
+PseudocolorAtts.pointSizePixels = 2
+PseudocolorAtts.lineWidth = 0
+PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
+SetPlotOptions(PseudocolorAtts)
+SetActivePlots((0, 1))
+SetActivePlots(0)
+PseudocolorAtts = PseudocolorAttributes()
+PseudocolorAtts.legendFlag = 1
+PseudocolorAtts.lightingFlag = 1
+PseudocolorAtts.minFlag = 0
+PseudocolorAtts.maxFlag = 1
+PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
+PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
+PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
+PseudocolorAtts.min = 0
+PseudocolorAtts.max = 20
+PseudocolorAtts.pointSize = 0.05
+PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Point, Sphere
+PseudocolorAtts.skewFactor = 1
+PseudocolorAtts.opacity = 1
+PseudocolorAtts.colorTableName = "orangehot"
+PseudocolorAtts.smoothingLevel = 0
+PseudocolorAtts.pointSizeVarEnabled = 0
+PseudocolorAtts.pointSizeVar = "default"
+PseudocolorAtts.pointSizePixels = 2
+PseudocolorAtts.lineWidth = 0
+PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
+SetPlotOptions(PseudocolorAtts)
+DrawPlots()
+Test("persistent_particles_06")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_radial_resample.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_radial_resample.html new file mode 100644 index 000000000..53df5c8c7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_radial_resample.html @@ -0,0 +1,60 @@ + +Results for operators/radial_resample.py + +

Results of VisIt Regression Test - operators/radial_resample

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_radialresampleop_rect2d0.000.00
ops_radialresampleop_rect3d0.000.00
ops_radialresampleop_multi_rect2d0.000.00
ops_radialresampleop_multi_rect3d0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_radial_resample_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_radial_resample_py.html new file mode 100644 index 000000000..abeec54ce --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_radial_resample_py.html @@ -0,0 +1,135 @@ +operators/radial_resample.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  radial_resample.py
+#
+#  Tests:      mesh    - 2D rectilinear, single domain,
+#                        3D rectilinear, single domain
+#                        3D unstructured, multiple domain
+#              plots   - pseudocolor
+#
+#  Defect ID:  1827 
+#
+#  Programmer: Kevin Griffin
+#  Date:       Tue Jun  3 11:00:41 EST 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# 2D, Rectilinear
+ds = silo_data_path("rect2d.silo")
+OpenDatabase(ds)
+
+# clean-up 1's
+AddPlot("Mesh", "quadmesh2d", 1, 1)
+AddOperator("RadialResample")
+
+RadialResampleAttrs = RadialResampleAttributes()
+RadialResampleAttrs.isFast = 0
+RadialResampleAttrs.minTheta = -45
+RadialResampleAttrs.maxTheta = 90
+RadialResampleAttrs.deltaTheta = 5
+RadialResampleAttrs.radius = 0.5
+RadialResampleAttrs.deltaRadius = 0.05
+RadialResampleAttrs.center = (0.5, 0.5, 0.5)
+RadialResampleAttrs.is3D = 0
+
+SetOperatorOptions(RadialResampleAttrs)
+
+AddPlot("Pseudocolor", "t", 1, 1)
+DrawPlots()
+Test("ops_radialresampleop_rect2d")
+
+DeleteAllPlots()
+CloseDatabase(ds)
+
+#3D, Rectilinear
+ds = silo_data_path("rect3d.silo")
+OpenDatabase(ds)
+
+AddPlot("Mesh", "quadmesh3d", 1, 1)
+AddOperator("RadialResample")
+
+RadialResampleAtts = RadialResampleAttributes()
+RadialResampleAtts.isFast = 0
+RadialResampleAtts.minTheta = -90
+RadialResampleAtts.maxTheta = 90
+RadialResampleAtts.deltaTheta = 5
+RadialResampleAtts.radius = 0.5
+RadialResampleAtts.deltaRadius = 0.05
+RadialResampleAtts.center = (0.5, 0.5, 0.5)
+RadialResampleAtts.is3D = 1
+RadialResampleAtts.minAzimuth = 0
+RadialResampleAtts.maxAzimuth = 360
+RadialResampleAtts.deltaAzimuth = 5
+
+SetOperatorOptions(RadialResampleAtts, 1)
+
+AddPlot("Pseudocolor", "w", 1, 1)
+DrawPlots()
+Test("ops_radialresampleop_rect3d")
+
+DeleteAllPlots()
+CloseDatabase(ds)
+
+#2D, Rectilinear, Multiple Domains
+ds = silo_data_path("multi_rect2d.silo")
+OpenDatabase(ds)
+
+AddPlot("Mesh", "mesh1", 1, 1)
+AddOperator("RadialResample", 1)
+
+RadialResampleAtts = RadialResampleAttributes()
+RadialResampleAtts.isFast = 0
+RadialResampleAtts.minTheta = 0
+RadialResampleAtts.maxTheta = 360
+RadialResampleAtts.deltaTheta = 5
+RadialResampleAtts.radius = 1
+RadialResampleAtts.deltaRadius = 0.05
+RadialResampleAtts.center = (0.3, 0, 0)
+RadialResampleAtts.is3D = 0
+RadialResampleAtts.minAzimuth = 0
+RadialResampleAtts.maxAzimuth = 180
+RadialResampleAtts.deltaAzimuth = 5
+
+SetOperatorOptions(RadialResampleAtts, 1)
+AddPlot("Pseudocolor", "vec_magnitude", 1, 1)
+
+DrawPlots()
+Test("ops_radialresampleop_multi_rect2d")
+
+DeleteAllPlots()
+CloseDatabase(ds)
+
+# 3D, Rectilinear, Multiple Domains
+ds = silo_data_path("multi_rect3d.silo")
+OpenDatabase(ds)
+
+AddPlot("Mesh", "mesh1", 1, 1)
+AddOperator("RadialResample", 1)
+
+RadialResampleAtts = RadialResampleAttributes()
+RadialResampleAtts.isFast = 0
+RadialResampleAtts.minTheta = -90
+RadialResampleAtts.maxTheta = 90
+RadialResampleAtts.deltaTheta = 5
+RadialResampleAtts.radius = 0.5
+RadialResampleAtts.deltaRadius = 0.05
+RadialResampleAtts.center = (0.5, 0.5, 0.5)
+RadialResampleAtts.is3D = 1
+RadialResampleAtts.minAzimuth = 0
+RadialResampleAtts.maxAzimuth = 360
+RadialResampleAtts.deltaAzimuth = 5
+
+SetOperatorOptions(RadialResampleAtts)
+
+AddPlot("Pseudocolor", "w")
+DrawPlots()
+Test("ops_radialresampleop_multi_rect3d")
+
+DeleteAllPlots()
+CloseDatabase(ds)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_reflect.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_reflect.html new file mode 100644 index 000000000..07df66412 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_reflect.html @@ -0,0 +1,144 @@ + +Results for operators/reflect.py + +

Results of VisIt Regression Test - operators/reflect

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_refl010.000.00
ops_refl020.000.00
ops_refl030.000.00
ops_refl040.000.00
ops_refl050.000.00
ops_refl060.000.00
ops_refl070.000.00
ops_refl080.000.00
ops_refl090.000.00
ops_refl100.000.00
ops_refl110.000.00
ops_refl120.000.00
ops_refl130.000.00
arb_plane000.000.00
arb_plane010.000.00
arb_plane020.000.00
arb_plane030.000.00
arb_plane040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_reflect_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_reflect_py.html new file mode 100644 index 000000000..da135e8d9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_reflect_py.html @@ -0,0 +1,345 @@ +operators/reflect.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  reflect.py
+#
+#  Tests:      mesh      - 3D curvilinear, single domain,
+#                          3D rectilinear, single domain.
+#                          3D unstructured, single domain.
+#              plots     - pc, vector, subset
+#
+#  Defect ID:  '5079, '5872, '6321
+#
+#  Programmer: Hank Childs
+#  Date:       June 24, 2004
+#
+#  Modifications:
+#
+#    Hank Childs, Fri Aug 13 09:52:28 PDT 2004
+#    Test ghost nodes along the reflection plane.
+#
+#    Hank Childs, Thu Aug 19 16:37:35 PDT 2004
+#    Do not test ops_refl12 since that is done in reflect2.py (and will be
+#    until SR mode plays well with transparency).
+#
+#    Jeremy Meredith, Thu Oct 21 11:56:05 PDT 2004
+#    Reintegrated ops_refl12 since SR/transparency works now.
+#
+#    Hank Childs, Thu Jan 20 11:31:43 PST 2005
+#    Test projecting then reflecting ['5872].
+#
+#    Hank Childs, Tue Jul  5 09:29:40 PDT 2005
+#    Test that reflected plots are not degenerate by using the volume plot
+#    ['6321].
+#
+#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
+#    Changed number of vectors in vector plot to match the old behavior.
+#    (We now account for how many domains there are.)
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+#    Alister Maguire, Wed Apr 25 15:56:47 PDT 2018
+#    Added tests for reflecting across an arbitrary plane. 
+#
+# ----------------------------------------------------------------------------
+
+
+# 3D, rectilinear.  Multi-block  Tests ghost zones as well.
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+
+atts = ReflectAttributes()
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Reflect")
+atts.reflections = (1, 0, 1, 0, 0, 0, 0, 0)
+SetOperatorOptions(atts)
+DrawPlots()
+Test("ops_refl01")
+
+DeleteAllPlots()
+
+AddPlot("Mesh", "quadmesh2d")
+AddPlot("FilledBoundary", "mat1")
+SetActivePlots((0,1))
+AddOperator("Reflect")
+DrawPlots()
+atts.reflections = (0, 1, 1, 1, 0, 0, 0, 0)
+atts.useXBoundary = 0
+atts.specifiedX = -0.1
+atts.useYBoundary = 0
+atts.specifiedY = -0.05
+SetOperatorOptions(atts)
+Test("ops_refl02")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Reflect")
+DrawPlots()
+Test("ops_refl03")
+
+AddOperator("Isosurface")
+DrawPlots()
+Test("ops_refl04")
+
+# Move the isosurface operator before the reflect.  This tests whether
+# or not we can reflect polydata.
+PromoteOperator(0)
+DrawPlots()
+Test("ops_refl05")
+DeleteAllPlots()
+
+# Test unstructured mesh -- plus test vectors.
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Vector", "vel")
+v = VectorAttributes()
+v.vectorOrigin = v.Head
+v.nVectors = 400*4
+SetPlotOptions(v)
+
+AddOperator("Reflect")
+atts.reflections = (1, 0, 1, 0, 1, 0, 0, 1)
+atts.useXBoundary = 1
+atts.useYBoundary = 1
+SetOperatorOptions(atts)
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.324974, 0.839345, 0.435765)
+v.focus = (-10, -10, -10)
+v.viewUp = (-0.252067, 0.367233, -0.895322)
+v.viewAngle = 30
+v.parallelScale = 34.641
+v.nearPlane = -69.282
+v.farPlane = 69.282
+v.imagePan = (0, 0)
+v.imageZoom = 1.56244
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, 0, 0)
+SetView3D(v)
+
+Test("ops_refl06")
+
+
+# Now test a zonal vector variable (different code in the reflect operator).
+ChangeActivePlotsVar("disp")
+Test("ops_refl07")
+
+disp_atts = DisplaceAttributes()
+disp_atts.variable = "vel"
+SetDefaultOperatorOptions(disp_atts)
+AddOperator("Displace")
+DrawPlots()
+Test("ops_refl08")
+
+PromoteOperator(0)
+disp_atts.variable = "disp"
+disp_atts.factor = 4
+SetOperatorOptions(disp_atts)
+ChangeActivePlotsVar("vel")
+DrawPlots()
+Test("ops_refl09")
+DeleteAllPlots()
+
+
+# Test that we properly put ghost nodes along the reflection plane.
+
+# There is a lot of code dedicated to creating the ghost nodes for a 
+# rectilinear grid.  Use the PXPYPZ and NXNYNZ octants to flex all of that 
+# code.
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "hardyglobal")
+pc = PseudocolorAttributes()
+pc.SetOpacityType(pc.Constant)
+pc.opacity = 0.3
+SetPlotOptions(pc)
+
+AddOperator("Reflect")
+r = ReflectAttributes()
+r.reflections = (1,1,1,1,1,1,1,1)
+SetOperatorOptions(r)
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.390471, 0.546441, 0.740901)
+v.focus = (-10, -10, -10)
+v.viewUp = (0.00925777, 0.807079, -0.590371)
+v.viewAngle = 30
+v.parallelScale = 34.641
+v.nearPlane = -69.282
+v.farPlane = 69.282
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, 0, 0)
+SetView3D(v)
+
+Test("ops_refl10")
+
+r.octant = r.NXNYNZ
+SetOperatorOptions(r)
+
+v.viewNormal = (0.576101, 0.343493, 0.741701)
+v.focus = (10, 10, 10)
+v.viewUp = (-0.15522, 0.936877, -0.313318)
+SetView3D(v)
+
+Test("ops_refl11")
+
+
+# Now make sure that this works well with an everyday vtkPointSet as well.
+# Also test that we can handle the presence of both ghost nodes (from the
+# reflect) and ghost zones (from the multi_ucd3d file).
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+SetPlotOptions(pc)
+AddOperator("Reflect")
+r = ReflectAttributes()
+r.reflections = (1,0,0,0,1,0,0,0)
+SetOperatorOptions(r)
+DrawPlots()
+
+v.viewNormal = (0.328912, 0.896692, 0.296244)
+v.focus = (0, 2.5, 20)
+v.viewUp = (-0.710536, 0.441617, -0.547826)
+v.viewAngle = 30
+v.parallelScale = 20.7666
+v.nearPlane = -41.5331
+v.farPlane = 41.5331
+v.imagePan = (-0.237006, -0.229008)
+v.imageZoom = 1.25605
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, 0, 0)
+SetView3D(v)
+
+Test("ops_refl12")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Boundary", "mat1")
+AddOperator("Project")
+AddOperator("Reflect")
+DrawPlots()
+Test("ops_refl13")
+
+# This test hangs in parallel.
+if TestEnv.params["serial"]:
+    # The "mass volume extractor" of the volume renderer depends on the
+    # rectilinear grid not being inverted.  Test that here ('6321).
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Volume", "d")
+    AddOperator("Reflect")
+    DrawPlots()
+    Test("ops_refl14")
+
+#
+# Now test reflecting different datasets over arbitrary planes.
+#
+
+# Test 3D rectilinear over arbitrary plane.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+AddPlot("Pseudocolor" ,"d")
+AddOperator("Reflect")
+
+atts = ReflectAttributes()
+atts.reflectType = atts.Plane
+atts.planePoint = (1, 1, 1)
+atts.planeNormal = (4, 5, 6)
+SetOperatorOptions(atts)
+
+DrawPlots()
+
+Test("arb_plane00")
+
+# Test 3D curvilinear over arbitrary plane. 
+DeleteAllPlots()
+ResetView()
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+AddPlot("Pseudocolor" ,"v")
+AddOperator("Reflect")
+
+atts = ReflectAttributes()
+atts.reflectType = atts.Plane
+atts.planePoint = (-8, -3, -4)
+atts.planeNormal = (4.5, 3, 2)
+SetOperatorOptions(atts)
+
+DrawPlots()
+
+Test("arb_plane01")
+
+# Test 2D curvilinear
+DeleteAllPlots()
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor" ,"v")
+AddOperator("Reflect")
+
+atts = ReflectAttributes()
+atts.reflectType = atts.Plane
+atts.planePoint = (-8, -3, 0)
+atts.planeNormal = (4.5, 3, 0)
+SetOperatorOptions(atts)
+
+DrawPlots()
+
+Test("arb_plane02")
+
+# Test 3D unstructured
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor" ,"v")
+AddOperator("Reflect")
+
+atts = ReflectAttributes()
+atts.reflectType = atts.Plane
+atts.planePoint = (-8, -3, 0)
+atts.planeNormal = (7, 9, 1)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("arb_plane03")
+
+AddOperator("Reflect")
+
+atts = ReflectAttributes()
+atts.reflectType = atts.Plane
+atts.planePoint = (20, 15, 19)
+atts.planeNormal = (3, 2, 4)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("arb_plane04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_remap.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_remap.html new file mode 100644 index 000000000..cd38572fe --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_remap.html @@ -0,0 +1,264 @@ + +Results for operators/remap.py + +

Results of VisIt Regression Test - operators/remap

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ghost_zvar_int0.000.00
ghost_zvar_ext0.000.00
globalNode_p_int0.000.00
globalNode_p_ext0.000.00
mCurve2_d_int0.000.00
mCurve2_d_ext0.000.00
mCurve2_d_dup_int0.000.00
mCurve2_d_dup_ext0.000.00
mCurve2_nmats_int0.000.00
mCurve2_nmats_ext0.000.00
mCurve2_p_int0.000.00
mCurve2_p_ext0.000.00
mCurve3_d_int0.000.00
mCurve3_d_ext0.000.00
mCurve3_d_dup_int0.000.00
mCurve3_d_dup_ext0.000.00
mCurve3_nmats_int0.000.00
mCurve3_nmats_ext0.000.00
mCurve3_p_int0.000.00
mCurve3_p_ext0.000.00
mRect2_d_int0.000.00
mRect2_d_ext0.000.00
mRect2_d_dup_int0.000.00
mRect2_d_dup_ext0.000.00
mRect2_nmats_int0.000.00
mRect2_nmats_ext0.000.00
mRect2_p_int0.000.00
mRect2_p_ext0.000.00
mRect3_d_int0.000.00
mRect3_d_ext0.000.00
mRect3_d_dup_int0.000.00
mRect3_d_dup_ext0.000.00
mRect3_nmats_int0.000.00
mRect3_nmats_ext0.000.00
mRect3_p_int0.000.00
mRect3_p_ext0.000.00
ucd2_p_int0.000.00
ucd2_p_ext0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_remap_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_remap_py.html new file mode 100644 index 000000000..213073ef7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_remap_py.html @@ -0,0 +1,133 @@ +operators/remap.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  remap.py
+#
+#  Tests:      remap operator
+#
+#  Defect ID:  none
+#
+#  Programmer: Eddie Rusu
+#  Date:       Fri Feb  1 11:16:24 PST 2019
+#
+#  Modifications:
+#     Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
+#     Changed Pseudocolor CurrentPlot to ActualData.
+# ----------------------------------------------------------------------------
+
+def remap(cells, type = 0):
+    AddOperator("Remap", 1)
+    RemapAtts = RemapAttributes()
+    RemapAtts.cellsX = cells
+    RemapAtts.cellsY = cells
+    RemapAtts.cellsZ = cells
+    if type == 1:
+        RemapAtts.variableType = RemapAtts.extrinsic
+        setPseudoOptions()
+    SetOperatorOptions(RemapAtts, 1)
+    DrawPlots()
+
+def setPseudoOptions():
+    PseudocolorAtts = PseudocolorAttributes()
+    PseudocolorAtts.limitsMode = PseudocolorAtts.ActualData
+    SetPlotOptions(PseudocolorAtts)
+
+def set3DView():
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (0.5, 0.5, 0.7)
+    View3DAtts.focus = (1.5, 1.5, 0.5)
+    View3DAtts.viewUp = (-0.0429563, 0.998733, -0.0262205)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 2.17945
+    View3DAtts.nearPlane = -4.3589
+    View3DAtts.farPlane = 4.3589
+    View3DAtts.imagePan = (0, 0)
+    View3DAtts.imageZoom = 1
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (1.5, 1.5, 0.5)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+
+def plotVariables(varName, saveName, cells = 10):
+    AddPlot("Pseudocolor", varName, 1, 1)
+    DrawPlots()
+
+    remap(cells)
+    Test(saveName + "_int")
+
+    RemoveOperator(0, 1)
+    remap(cells, 1)
+    Test(saveName + "_ext")
+
+    DeleteAllPlots()
+
+def ghost1():
+    OpenDatabase(silo_data_path("ghost1.silo"))
+    plotVariables("zvar", "ghost_zvar")
+    CloseDatabase(silo_data_path("ghost1.silo"))
+
+def globalNode():
+    OpenDatabase(silo_data_path("global_node.silo"))
+    set3DView()
+    plotVariables("p", "globalNode_p", 4) # Wrong results.
+    ResetView()
+    CloseDatabase(silo_data_path("global_node.silo"))
+
+def mCurve2():
+    OpenDatabase(silo_data_path("multi_curv2d.silo"))
+    plotVariables("d", "mCurve2_d")
+    plotVariables("d_dup", "mCurve2_d_dup")
+    plotVariables("nmats", "mCurve2_nmats")
+    plotVariables("p", "mCurve2_p")
+    CloseDatabase(silo_data_path("multi_curv2d.silo"))
+
+def mCurve3():
+    OpenDatabase(silo_data_path("multi_curv3d.silo"))
+    set3DView()
+    plotVariables("d", "mCurve3_d", 4)
+    plotVariables("d_dup", "mCurve3_d_dup", 4)
+    plotVariables("nmats", "mCurve3_nmats", 4)
+    plotVariables("p", "mCurve3_p", 4)
+    ResetView()
+    CloseDatabase(silo_data_path("multi_curv3d.silo"))
+
+def mRect2():
+    OpenDatabase(silo_data_path("multi_rect2d.silo"))
+    plotVariables("d", "mRect2_d")
+    plotVariables("d_dup", "mRect2_d_dup")
+    plotVariables("nmats", "mRect2_nmats")
+    plotVariables("p", "mRect2_p")
+    CloseDatabase(silo_data_path("multi_rect2d.silo"))
+
+def mRect3():
+    OpenDatabase(silo_data_path("multi_rect3d.silo"))
+    set3DView()
+    plotVariables("d", "mRect3_d", 4)
+    plotVariables("d_dup", "mRect3_d_dup", 4)
+    plotVariables("nmats", "mRect3_nmats", 4)
+    plotVariables("p", "mRect3_p", 4)
+    ResetView()
+    CloseDatabase(silo_data_path("multi_rect3d.silo"))
+
+def ucd2():
+    OpenDatabase(silo_data_path("ucd2d.silo"))
+    plotVariables("p", "ucd2_p")
+    CloseDatabase(silo_data_path("ucd2d.silo"))
+
+def Main():
+    ghost1()
+    globalNode()
+    mCurve2()
+    mCurve3()
+    mRect2()
+    mRect3()
+    ucd2()
+
+Main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_resample.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_resample.html new file mode 100644 index 000000000..118fe690d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_resample.html @@ -0,0 +1,72 @@ + +Results for operators/resample.py + +

Results of VisIt Regression Test - operators/resample

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_resampleop_noise_point_small0.000.00
ops_resampleop_noise_point_large0.000.00
ops_resampleop_noise_point_explicit0.000.00
ops_resampleop_noise_point_backfull0.000.00
ops_resampleop_noise_hardy_small0.000.00
ops_resampleop_curv2d0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_resample_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_resample_py.html new file mode 100644 index 000000000..684ae9488 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_resample_py.html @@ -0,0 +1,124 @@ +operators/resample.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  resample.py
+#
+#  Tests:      resample operator
+#
+#  Defect ID:  none
+#
+#  Programmer: Sean Ahern
+#  Date:       Thu Jan  3 11:00:41 EST 2008
+#
+#  Modifications:
+#
+#    Hank Childs, Wed Dec 31 14:32:34 PST 2008
+#    Rename ResamplePluginAtts to ResampleAtts.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Alister Maguire, Fri Jan 29 08:17:27 PST 2021
+#    Set useExtents = 0 where appropriate as setting the start/end
+#    values no longer overrides useExtents.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "PointVar")
+AddOperator("Resample")
+
+resample = ResampleAttributes()
+resample.samplesX = 5
+resample.samplesY = 6
+resample.samplesZ = 7
+SetOperatorOptions(resample)
+
+DrawPlots()
+
+bigView = GetView3D()
+bigView.SetViewNormal(-0.528889, 0.367702, 0.7649)
+bigView.SetViewUp(0.176641, 0.929226, -0.324558)
+bigView.SetParallelScale(17.3205)
+bigView.SetPerspective(1)
+SetView3D(bigView)
+
+Test("ops_resampleop_noise_point_small")
+
+resample = ResampleAttributes()
+resample.samplesX = 20
+resample.samplesY = 30
+resample.samplesZ = 40
+SetOperatorOptions(resample)
+
+Test("ops_resampleop_noise_point_large")
+
+resample = ResampleAttributes()
+resample.useExtents = 0
+resample.startX = 5.25
+resample.endX = 9.57
+resample.samplesX = 10
+resample.startY = -5.9
+resample.endY = 0
+resample.samplesY = 20
+resample.startZ = -6
+resample.endZ = 0
+resample.samplesZ = 30
+SetOperatorOptions(resample)
+
+ResetView()
+v = GetView3D()
+v.SetViewNormal(-0.41557,-0.758094,0.502588)
+v.SetFocus(6.862131,4.91535,-9.08261)
+v.SetViewUp(-0.720258,0.611719,0.327153)
+v.SetParallelScale(10)
+v.SetImagePan(-0.21812, 0.210298)
+v.SetImageZoom(1.6527)
+v.SetPerspective(1)
+SetView3D(v)
+
+Test("ops_resampleop_noise_point_explicit")
+
+resample.useExtents = 1
+SetOperatorOptions(resample)
+SetView3D(bigView)
+
+Test("ops_resampleop_noise_point_backfull")
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "hardyglobal")
+AddOperator("Resample")
+
+resample = ResampleAttributes()
+resample.samplesX = 3
+resample.samplesY = 3
+resample.samplesZ = 3
+SetOperatorOptions(resample)
+
+SetView3D(bigView)
+DrawPlots()
+
+Test("ops_resampleop_noise_hardy_small")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "v")
+AddOperator("Resample")
+
+resample = ResampleAttributes()
+resample.samplesX = 10
+resample.samplesY = 20
+resample.is3D = 0
+SetOperatorOptions(resample)
+
+DrawPlots()
+
+Test("ops_resampleop_curv2d")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_revolve.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_revolve.html new file mode 100644 index 000000000..0a4980be1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_revolve.html @@ -0,0 +1,42 @@ + +Results for operators/revolve.py + +

Results of VisIt Regression Test - operators/revolve

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
revolve_points_000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_revolve_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_revolve_py.html new file mode 100644 index 000000000..4f077c022 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_revolve_py.html @@ -0,0 +1,35 @@ +operators/revolve.py
# ---------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  revolve.py
+#
+#  Tests:      mesh      - 2D unstructured, single domain, 
+#              plots     - pseudocolor
+#              operators - revolve
+#
+#  Programmer: Alister Maguire
+#  Date: Fri Jun 19 13:30:11 PDT 2020
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+
+def TestRevolvingPoints():
+    #
+    # Make sure that we can revolve points. We weren't always able to do this.
+    #
+    OpenDatabase(silo_data_path("multi_point2d.silo"))
+    AddPlot("Pseudocolor", "v", 1, 1)
+    AddOperator("Revolve", 1)
+    DrawPlots()
+    Test("revolve_points_00")
+    DeleteActivePlots()
+    CloseDatabase(silo_data_path("multi_point2d.silo"))
+
+def Main():
+    TestRevolvingPoints()
+
+Main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_slice.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_slice.html new file mode 100644 index 000000000..ade78febd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_slice.html @@ -0,0 +1,297 @@ + +Results for operators/slice.py + +

Results of VisIt Regression Test - operators/slice

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Slice through a point
ops_Slice010.000.00
Slice through a zone
ops_Slice020.000.00
ops_Slice030.000.00
Slice FilledBoundary plot
ops_Slice040.000.00
ops_Slice050.000.00
ops_Slice060.000.00
Slice Mesh plot
ops_Slice070.000.00
ops_Slice080.000.00
ops_Slice090.000.00
ops_Slice100.000.00
ops_Slice110.000.00
ops_Slice120.000.00
ops_Slice130.000.00
ops_Slice140.000.00
ops_Slice150.000.00
ops_Slice160.000.00
ops_Slice170.000.00
ops_Slice180.000.00
Slice point mesh
ops_Slice190.000.00
Slice through a point
ops_Slice200.000.00
ops_Slice210.000.00
ops_Slice220.000.00
ops_Slice230.000.00
ops_Slice240.000.00
ops_Slice250.000.00
ops_Slice260.000.00
ops_Slice270.000.00
ops_Slice280.000.00
ops_Slice290.000.00
ops_Slice300.000.00
ops_Slice310.000.00
ops_Slice320.000.00
ops_Slice330.000.00
ops_Slice340.000.00
ops_Slice350.000.00
Slice polyhedral cells
ops_Slice360.000.00
ops_Slice370.000.00
ops_Slice380.000.00
ops_Slice390.000.00
ops_Slice400.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_slice_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_slice_py.html new file mode 100644 index 000000000..21a9f6881 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_slice_py.html @@ -0,0 +1,590 @@ +operators/slice.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  slice.py
+#
+#  Tests:      mesh      - 3D rectilinear, single domain,
+#                          3D unstructured single domain
+#                          3D curvilinear multi-domain
+#                          3D unstructured multi-domain
+#              plots     - pc, filled boundary, mesh
+#              operators - slice, onion peel, threshold, index select
+#
+#  Defect ID:  '3950 (for tests 16,17,18).  '4662 (test 19).
+#              '4706 (tests 20-27).  '4913 (test 28), '4975 (test 29).
+#              '5157 (test 31-2). '5794 (test 33), '7630 (test 35)
+#
+#  Known problems:   (1) Slicing of plots that have had material interface
+#                    reconstruction can often have holes.  This is a problem
+#                    with the interface reconstruction routines.  When those
+#                    are fixed, the holes should go away.
+#                    Tests affected: 4, 5, 6, 15
+#                    (2) The mesh lines are being shifted towards the camera.
+#                    For one test, the line actually gets shifted too far and
+#                    slightly intersects a cell.
+#                    Tests affected: 7, 8, 9
+#                    (3) The zonal center for the slice is not consistently
+#                    determined (see defect '3437).  This means that test 2
+#                    and 5 do not have the same origin for their slice.
+#                    This is a known problem.
+#
+#  Programmer: Hank Childs
+#  Date:       June 19, 2003
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from subset and boundary plots.
+#
+#    Hank Childs, Fri Oct 31 14:35:14 PST 2003
+#    Added test for getting extents right when projecting to 2D and setting
+#    the origin based on a percent.  From '3950.
+#
+#    Hank Childs, Tue Mar 30 08:42:02 PST 2004
+#    Added test for slicing point meshes. ['4662]
+#
+#    Hank Childs, Tue Apr 13 09:53:21 PDT 2004
+#    Test slicing extremes with percent (0%, 100%) ['4706]
+#
+#    Hank Childs, Mon May 24 16:20:49 PDT 2004
+#    Test slicing point meshes in conjunction with the displace operator
+#    when the points are all on a plane. ['4913]
+#
+#    Hank Childs, Fri Jun 18 08:45:11 PDT 2004
+#    Test that we can slice boundary plots. ['4975]
+#
+#    Hank Childs, Tue Jul 20 16:53:16 PDT 2004
+#    Test the projection to 2D when the normal and up-axis are not orthogonal
+#    ['5157].
+#
+#    Eric Brugger, Wed Dec 29 15:04:04 PST 2004
+#    Added a test for changing the time state for a plot that has been
+#    sliced through a zone.  This tests visit00005794.
+#
+#    Kathleen Bonnell, Tue Jan 25 17:27:16 PST 2005 
+#    Added a test for specifying the meshname with domain/zone type of slice. 
+#
+#    Hank Childs, Sat Jan 27 12:45:03 PST 2007
+#    Added a test for slicing 1xJxK and Ix1xK meshes.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, June 19, 2023
+#    Add call to RequiredDatabasePlugin.
+#
+# ----------------------------------------------------------------------------
+
+RequiredDatabasePlugin(("Silo", "EnSight"))
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+TestSection("Slice through a point")
+# Test 1 -- a slice through a point
+AddPlot("Pseudocolor", "d")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 0
+atts.normal = (-0.1, 0.8, -0.6)
+atts.originType = atts.Point
+atts.originPoint = (0.3333, 0.094, 0.081)
+SetOperatorOptions(atts)
+DrawPlots()
+
+view = GetView3D()
+view.viewNormal = (-0.53, -0.07, -0.84)
+view.focus = (0.5, 0.5, 0.5)
+view.viewUp = (0, 1, 0)
+view.viewAngle = 30
+view.parallelScale = 0.866
+view.nearPlane = -1.73
+view.farPlane = 1.73
+view.imagePan = (0.058, 0.26)
+view.imageZoom = 12.6
+view.perspective = 1
+SetView3D(view)
+
+Test("ops_Slice01")
+
+TestSection("Slice through a zone")
+# Test 2 -- A slice through a zone.  Add an onion peel of that zone to show
+# that the slice is in the right spot.
+atts.originType = atts.Zone
+atts.originZone = 2500
+atts.originZoneDomain = 0
+SetOperatorOptions(atts)
+
+AddPlot("Pseudocolor", "d")
+AddOperator("OnionPeel")
+op_atts = OnionPeelAttributes()
+op_atts.index = 2500
+SetOperatorOptions(op_atts)
+DrawPlots()
+SetView3D(view)
+
+Test("ops_Slice02")
+
+# Test 3 -- A slice through a node.  The node (2645) is incident to the zone
+# from before (2500).
+SetActivePlots(0)
+atts.originType = atts.Node
+atts.originNode = 2645
+atts.originNodeDomain = 0
+SetOperatorOptions(atts)
+
+Test("ops_Slice03")
+
+# Now repeat the three tests with a filled boundary plot.
+TestSection("Slice FilledBoundary plot")
+DeleteActivePlots()
+
+AddPlot("FilledBoundary", "mat1")
+AddOperator("Slice")
+atts.originType = atts.Point
+atts.originPoint = (0.3333, 0.094, 0.081)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("ops_Slice04")
+
+atts.originType = atts.Zone
+atts.originZone = 2500
+atts.originZoneDomain = 0
+SetOperatorOptions(atts)
+
+Test("ops_Slice05")
+
+atts.originType = atts.Node
+atts.originNode = 2645
+atts.originNodeDomain = 0
+SetOperatorOptions(atts)
+
+Test("ops_Slice06")
+
+# Slice a mesh plot.
+TestSection("Slice Mesh plot")
+DeleteActivePlots()
+
+AddPlot("Mesh", "quadmesh3d")
+AddOperator("Slice")
+atts.originType = atts.Zone
+atts.originZone = 2500
+atts.originZoneDomain = 0
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("ops_Slice07")
+
+t_atts = ThresholdAttributes()
+t_atts.listedVarNames = ("d")
+t_atts.lowerBounds = (0.6)
+t_atts.upperBounds = (1.0)
+SetDefaultOperatorOptions(t_atts)
+AddOperator("Threshold")
+DemoteOperator(1, 0)
+DrawPlots()
+
+Test("ops_Slice08")
+
+RemoveOperator(0, 0)
+
+insel_atts = IndexSelectAttributes()
+insel_atts.dim = insel_atts.ThreeD
+insel_atts.xMin = 10
+insel_atts.xMax = 18
+insel_atts.yMin = 3
+insel_atts.yMax = 4
+insel_atts.zMin = 0
+insel_atts.zMax = 3
+SetDefaultOperatorOptions(insel_atts)
+AddOperator("IndexSelect")
+DemoteOperator(1, 0)
+DrawPlots()
+
+Test("ops_Slice09")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("sid97.silo"))
+
+AddPlot("FilledBoundary", "mat1")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.originType = atts.Point
+atts.originPoint = (7400, -1300, 1000)
+atts.normal = (0, 1, 0)
+atts.project2d = 1
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("ops_Slice10")
+
+DeleteAllPlots()
+
+
+OpenDatabase(silo_data_path("tire.silo"))
+
+AddPlot("Subset", "domains")
+AddOperator("Slice")
+atts.originType = atts.Zone
+atts.originZone = 100
+atts.originZoneDomain = 2
+atts.normal = (0.707, -0.707, 0)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("ops_Slice11")
+
+
+atts.normal = (0.707, 0.707, 0)
+SetOperatorOptions(atts)
+
+Test("ops_Slice12")
+
+
+atts.originType = atts.Node
+atts.originNode = 55
+atts.originNodeDomain = 3
+SetOperatorOptions(atts)
+
+Test("ops_Slice13")
+
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Slice")
+atts.originType = atts.Zone
+atts.originZone = 1005
+atts.originZoneDomain = 18
+atts.normal = (0.707, 0, -0.707)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("ops_Slice14")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("FilledBoundary", "mat1")
+AddOperator("Slice")
+atts.originType = atts.Zone
+atts.originZone = 1005
+atts.originZoneDomain = 18
+atts.normal = (0.707, 0, -0.707)
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("ops_Slice15")
+
+
+atts.originType = atts.Percent
+atts.originPercent = 69
+atts.axisType = atts.YAxis
+SetOperatorOptions(atts)
+
+Test("ops_Slice16")
+
+atts.originType = atts.Percent
+atts.originPercent = 50
+atts.axisType = atts.ZAxis
+SetOperatorOptions(atts)
+
+Test("ops_Slice17")
+
+atts.originType = atts.Percent
+atts.originPercent = 10
+atts.axisType = atts.XAxis
+SetOperatorOptions(atts)
+
+Test("ops_Slice18")
+
+DeleteAllPlots()
+
+TestSection("Slice point mesh")
+# Test that we can slice point meshes.  The points must be exactly on the
+# plane (or at least within some tolerance).  To guarantee the point positions,
+# take a 2D plot and put it into 3D.  Then slice it.
+OpenDatabase(silo_data_path("noise2d.silo"))
+
+AddPlot("Pseudocolor", "PointVar")
+pc_atts = PseudocolorAttributes()
+pc_atts.pointType = pc_atts.Box
+pc_atts.pointSize = 0.4
+SetPlotOptions(pc_atts)
+AddOperator("Transform")
+trans_atts = TransformAttributes()
+trans_atts.doRotate = 1
+trans_atts.rotateAxis = (0, 1, 0)
+SetOperatorOptions(trans_atts)
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.axisType = atts.ZAxis
+atts.originType = atts.Intercept
+atts.originIntercept = 0
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("ops_Slice19")
+
+DeleteAllPlots()
+ActivateDatabase(silo_data_path("rect3d.silo"))
+
+
+# Test 1 -- a slice through a point
+TestSection("Slice through a point")
+AddPlot("Pseudocolor", "d")
+AddOperator("Slice")
+atts.originType = atts.Percent
+atts.project2d = 0
+atts.originPercent = 0
+atts.axisType=atts.XAxis
+SetOperatorOptions(atts)
+DrawPlots()
+
+view = GetView3D()
+view.viewNormal = (0.565246, 0.332, 0.755)
+view.focus = (0.5, 0.0, 0.5)
+view.viewUp = (-0.08, 0.933, -0.35)
+view.viewAngle = 30
+view.parallelScale = 0.707
+view.nearPlane = -1.41421
+view.farPlane = 1.41421
+view.imagePan = (0.1, -0.181)
+view.imageZoom = 0.7
+view.perspective = 1
+SetView3D(view)
+
+Test("ops_Slice20")
+
+atts.originPercent = 100
+SetOperatorOptions(atts)
+Test("ops_Slice21")
+
+atts.axisType=atts.YAxis
+atts.originPercent = 0
+SetOperatorOptions(atts)
+Test("ops_Slice22")
+
+atts.axisType=atts.YAxis
+atts.originPercent = 100
+SetOperatorOptions(atts)
+Test("ops_Slice23")
+
+atts.axisType=atts.ZAxis
+atts.originPercent = 0
+SetOperatorOptions(atts)
+Test("ops_Slice24")
+
+atts.axisType=atts.ZAxis
+atts.originPercent = 100
+SetOperatorOptions(atts)
+Test("ops_Slice25")
+
+# The X-axis for orthogonal slices is -1,0,0.  Try 1,0,0.
+atts.axisType=atts.Arbitrary
+atts.normal=(1,0,0)
+atts.originPercent = 0
+SetOperatorOptions(atts)
+Test("ops_Slice26")
+
+# The Y-axis for orthogonal slices is 0,-1,0.  Try 0,1,0.
+atts.axisType=atts.Arbitrary
+atts.normal=(0,1,0)
+atts.originPercent = 0
+SetOperatorOptions(atts)
+Test("ops_Slice27")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "PointVar")
+pc_atts.pointSize = 1.0
+SetPlotOptions(pc_atts)
+DefineVectorExpression("disp", "{0,0,-coord(PointMesh)[2]}")
+AddOperator("Displace")
+disp = DisplaceAttributes()
+disp.variable = "disp"
+SetOperatorOptions(disp)
+AddOperator("Slice")
+slice = SliceAttributes()
+slice.axisType = slice.ZAxis
+SetOperatorOptions(slice)
+DrawPlots()
+Test("ops_Slice28")
+
+# First, test slice by a zone with a boundary plot where the zone is along
+# a material boundary.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+AddPlot("Boundary", "mat1")
+AddOperator("Slice")
+slice = SliceAttributes()
+slice.originType = atts.Zone
+slice.originZone = 10000
+slice.originZoneDomain = 0
+slice.axisType = slice.ZAxis
+SetOperatorOptions(slice)
+DrawPlots()
+Test("ops_Slice29")
+
+# Now, test slice by a zone where the zone is not along a material boundary.
+slice.originZone = 9998
+SetOperatorOptions(slice)
+Test("ops_Slice30")
+
+DeleteAllPlots()
+
+# Test what happens when the up axis is not orthogonal to the normal.
+# Start off with the two being orthogonal, though.
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "hardyglobal")
+AddOperator("Slice")
+slice = SliceAttributes()
+slice.normal = (1, -1, 0)
+slice.upAxis = (0, 0, 1)
+slice.project2d = 1
+slice.originType = slice.Point
+slice.originPoint = (0,0,0)
+SetOperatorOptions(slice)
+DrawPlots()
+Test("ops_Slice31")
+
+# Now make them be non-orthogonal.
+slice.upAxis = (0,1,0)
+SetOperatorOptions(slice)
+Test("ops_Slice32")
+
+# Open a multi time state database, create a pseudocolor plot slicing
+# through a zone and then change the time state.
+DeleteAllPlots()
+ResetView()
+OpenDatabase(silo_data_path("wave*.silo database"))
+
+
+AddPlot("Pseudocolor", "pressure")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 1
+atts.axisType = atts.YAxis
+atts.originType = atts.Zone
+atts.originZone = 100
+atts.originZoneDomain = 0
+SetOperatorOptions(atts)
+DrawPlots()
+
+TimeSliderNextState()
+Test("ops_Slice33")
+
+
+DeleteAllPlots()
+ResetView()
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Pseudocolor", "d_dup")
+AddOperator("Slice")
+atts = SliceAttributes()
+atts.project2d = 1
+atts.axisType = atts.YAxis
+atts.originType = atts.Zone
+atts.originZone = 27
+atts.originZoneDomain = 2
+atts.meshName = "mesh1"
+SetOperatorOptions(atts)
+DrawPlots()
+
+Test("ops_Slice34")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("IndexSelect")
+iatts = IndexSelectAttributes()
+iatts.dim = iatts.ThreeD
+iatts.xMin = 0
+iatts.xMax = 1000
+iatts.yMin = 10
+iatts.yMax = 10
+iatts.zMin = 0
+iatts.zMax = 1000
+iatts.xIncr = 1
+iatts.yIncr = 1
+iatts.zIncr = 1
+SetOperatorOptions(iatts)
+AddOperator("Slice")
+DrawPlots()
+ResetView()
+Test("ops_Slice35")
+DeleteAllPlots()
+
+TestSection("Slice polyhedral cells")
+OpenDatabase(data_path("EnSight_test_data/small.case"))
+
+DefineScalarExpression("zid", "zoneid(mesh) * 1.")
+DefineScalarExpression("nid", "nodeid(mesh) * 1.")
+AddPlot("Pseudocolor", "zid")
+DrawPlots()
+v = GetView3D()
+v.viewNormal = (-0.597184, 0.364571, 0.714464)
+v.focus = (1, 1.75, 1)
+v.viewUp = (0.222007, 0.931066, -0.289533)
+v.viewAngle = 30
+v.parallelScale = 4.58939
+v.nearPlane = -9.17878
+v.farPlane = 9.17878
+v.imagePan = (-0.0112992, 0.0560752)
+v.imageZoom = 1.77156
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (1, 1.75, 1)
+v.axis3DScaleFlag = 0
+v.axis3DScales = (1, 1, 1)
+v.shear = (0, 0, 1)
+SetView3D(v)
+Test("ops_Slice36")
+
+AddOperator("Slice")
+s = SliceAttributes()
+s.originType = s.Percent  # Point, Intercept, Percent, Zone, Node
+s.originPoint = (0, 0, 0)
+s.originIntercept = 0
+s.originPercent = 50
+s.originZone = 0
+s.originNode = 0
+s.normal = (0, 0, 1)
+s.axisType = s.XAxis  # XAxis, YAxis, ZAxis, Arbitrary, ThetaPhi
+s.upAxis = (0, 1, 0)
+s.project2d = 0
+s.interactive = 1
+s.flip = 0
+s.originZoneDomain = 0
+s.originNodeDomain = 0
+s.meshName = "mesh"
+s.theta = 0
+s.phi = 90
+SetOperatorOptions(s)
+DrawPlots()
+Test("ops_Slice37")
+
+ChangeActivePlotsVar("nid")
+Test("ops_Slice38")
+
+ChangeActivePlotsVar("zid")
+s.axisType = s.ZAxis
+SetOperatorOptions(s)
+DrawPlots()
+Test("ops_Slice39")
+
+ChangeActivePlotsVar("nid")
+Test("ops_Slice40")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_sph_resample.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_sph_resample.html new file mode 100644 index 000000000..460c516c1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_sph_resample.html @@ -0,0 +1,42 @@ + +Results for operators/sph_resample.py + +

Results of VisIt Regression Test - operators/sph_resample

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
sph_2d0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_sph_resample_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_sph_resample_py.html new file mode 100644 index 000000000..db703f10d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_sph_resample_py.html @@ -0,0 +1,51 @@ +operators/sph_resample.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  sph_resample.py
+#
+#  Tests:      mesh    - 2D rectilinear, single domain,
+#              plots   - pseudocolor
+#
+#  Defect ID:  2338 
+#
+#  Programmer: Kevin Griffin
+#  Date:       Wed Jul 22 17:36:55 PDT 2015
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# 2D, Rectilinear
+ds = data_path("silo_sph_test_data/KelvinHelmholtz-2d_McNally.visit")
+OpenDatabase(ds)
+
+AddPlot("Pseudocolor", "mass_density")
+pc = PseudocolorAttributes()
+pc.centering = pc.Nodal
+SetPlotOptions(pc)
+
+AddOperator("SPHResample")
+SPHResampleAtts = SPHResampleAttributes()
+SPHResampleAtts.minX = 0
+SPHResampleAtts.maxX = 1
+SPHResampleAtts.xnum = 100
+SPHResampleAtts.minY = 0
+SPHResampleAtts.maxY = 1
+SPHResampleAtts.ynum = 100
+SPHResampleAtts.minZ = 0
+SPHResampleAtts.maxZ = 1
+SPHResampleAtts.znum = 1
+SPHResampleAtts.tensorSupportVariable = "H"
+SPHResampleAtts.weightVariable = "mass"
+SPHResampleAtts.RK = 1
+SetOperatorOptions(SPHResampleAtts, 1)
+
+DrawPlots()
+
+Test("sph_2d")
+
+DeleteAllPlots()
+CloseDatabase(ds)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_tessellate.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_tessellate.html new file mode 100644 index 000000000..8779c3f0a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_tessellate.html @@ -0,0 +1,162 @@ + +Results for operators/tessellate.py + +

Results of VisIt Regression Test - operators/tessellate

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
quadratic_triangle_010.000.00
quadratic_triangle_020.000.00
quadratic_triangle_030.000.00
biquadratic_quad_010.000.00
biquadratic_quad_020.000.00
biquadratic_quad_030.000.00
biquadratic_quad_field_010.000.00
biquadratic_quad_field_020.000.00
biquadratic_quad_field_030.000.00
quadratic_linear_quad_010.000.00
quadratic_quad_010.000.00
quadratic_quad_020.000.00
quadratic_quad_030.000.00
quadratic_mixed_010.000.00
quadratic_mixed_020.000.00
quadratic_mixed_030.000.00
quadratic_hex_010.000.00
quadratic_hex_020.000.00
quadratic_hex_030.000.00
quadratic_hex_040.000.00
triquadratic_hex_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_tessellate_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_tessellate_py.html new file mode 100644 index 000000000..5669adcbf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_tessellate_py.html @@ -0,0 +1,286 @@ +operators/tessellate.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  tessellate.py
+#
+#  Tests:      mesh      - quadratic_triangle
+#                          biquadratic_quad
+#                          quadratic_linear_quad
+#                          quadratic_quad
+#                          quadratic_hex
+#                          triquadratic_hex
+#              plots     - pc, mesh
+#              operators - tessellate, clip
+#
+#  Programmer: Eric Brugger
+#  Date:       July 24, 2020
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Quadratic_triangle
+OpenDatabase(data_path("vtk_test_data/quadratic_triangle.vtk"))
+
+AddPlot("Pseudocolor", "x_c")
+AddPlot("Mesh", "mesh")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (0.200511, 0.543812, 0.814901)
+v.focus = (0, 0.5, 1)
+v.viewUp = (-0.232184, 0.834474, -0.499744)
+v.viewAngle = 30
+v.parallelScale = 1.5
+v.nearPlane = -3
+v.farPlane = 3
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+SetView3D(v)
+
+Test("quadratic_triangle_01")
+
+AddOperator("Tessellate", 1)
+DrawPlots()
+
+Test("quadratic_triangle_02")
+
+tess = TessellateAttributes()
+tess.chordError = 0.01
+SetOperatorOptions(tess, 0, 1)
+
+Test("quadratic_triangle_03")
+
+DeleteAllPlots()
+CloseDatabase(data_path("vtk_test_data/quadratic_triangle.vtk"))
+
+# Biquadratic_quad
+OpenDatabase(data_path("vtk_test_data/biquadratic_quad.vtk"))
+
+AddPlot("Pseudocolor", "x_c")
+AddPlot("Mesh", "mesh")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (0.200511, 0.543812, 0.814901)
+v.focus = (0, 0.5, 1)
+v.viewUp = (-0.232184, 0.834474, -0.499744)
+v.viewAngle = 30
+v.parallelScale = 1.5
+v.nearPlane = -3
+v.farPlane = 3
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+SetView3D(v)
+
+Test("biquadratic_quad_01")
+
+AddOperator("Tessellate", 1)
+DrawPlots()
+
+Test("biquadratic_quad_02")
+
+tess = TessellateAttributes()
+tess.chordError = 0.01
+SetOperatorOptions(tess, 0, 1)
+
+Test("biquadratic_quad_03")
+
+DeleteAllPlots()
+CloseDatabase(data_path("vtk_test_data/biquadratic_quad.vtk"))
+
+# Biquadratic_quad_field
+OpenDatabase(data_path("vtk_test_data/biquadratic_quad_field.vtk"))
+
+AddPlot("Pseudocolor", "d")
+AddPlot("Mesh", "mesh")
+DrawPlots()
+
+Test("biquadratic_quad_field_01")
+
+AddOperator("Tessellate", 1)
+DrawPlots()
+
+Test("biquadratic_quad_field_02")
+
+tess = TessellateAttributes()
+tess.chordError = 0.01
+tess.fieldCriterion = 0.01
+SetOperatorOptions(tess, 0, 1)
+
+Test("biquadratic_quad_field_03")
+
+CloseDatabase(data_path("vtk_test_data/biquadratic_quad_field.vtk"))
+DeleteAllPlots()
+
+# Quadratic_linear_quad
+OpenDatabase(data_path("vtk_test_data/quadratic_linear_quad.vtk"))
+
+AddPlot("Pseudocolor", "x_c")
+AddPlot("Mesh", "mesh")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (0.200511, 0.543812, 0.814901)
+v.focus = (0, 0.5, 1)
+v.viewUp = (-0.232184, 0.834474, -0.499744)
+v.viewAngle = 30
+v.parallelScale = 1.5
+v.nearPlane = -3
+v.farPlane = 3
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+SetView3D(v)
+
+Test("quadratic_linear_quad_01")
+
+DeleteAllPlots()
+CloseDatabase(data_path("vtk_test_data/quadratic_linear_quad.vtk"))
+
+# Quadratic_quad
+OpenDatabase(data_path("vtk_test_data/quadratic_quad.vtk"))
+
+AddPlot("Pseudocolor", "x_c")
+AddPlot("Mesh", "mesh")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (0.200511, 0.543812, 0.814901)
+v.focus = (0, 0.5, 1)
+v.viewUp = (-0.232184, 0.834474, -0.499744)
+v.viewAngle = 30
+v.parallelScale = 1.5
+v.nearPlane = -3
+v.farPlane = 3
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+SetView3D(v)
+
+Test("quadratic_quad_01")
+
+AddOperator("Tessellate", 1)
+DrawPlots()
+
+Test("quadratic_quad_02")
+
+tess = TessellateAttributes()
+tess.chordError = 0.01
+SetOperatorOptions(tess, 0, 1)
+
+Test("quadratic_quad_03")
+
+DeleteAllPlots()
+CloseDatabase(data_path("vtk_test_data/quadratic_quad.vtk"))
+
+# Mixed biquadratic_quad and quadratic_triangle
+OpenDatabase(data_path("vtk_test_data/quadratic_mixed.vtk"))
+
+AddPlot("Pseudocolor", "x_c")
+AddPlot("Mesh", "mesh")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (0.200511, 0.543812, 0.814901)
+v.focus = (0, 0.5, 1)
+v.viewUp = (-0.232184, 0.834474, -0.499744)
+v.viewAngle = 30
+v.parallelScale = 1.5
+v.nearPlane = -3
+v.farPlane = 3
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+SetView3D(v)
+
+Test("quadratic_mixed_01")
+
+AddOperator("Tessellate", 1)
+DrawPlots()
+
+Test("quadratic_mixed_02")
+
+tess = TessellateAttributes()
+tess.chordError = 0.01
+SetOperatorOptions(tess, 0, 1)
+
+Test("quadratic_mixed_03")
+
+DeleteAllPlots()
+CloseDatabase(data_path("vtk_test_data/quadratic_mixed.vtk"))
+
+# Quadratic_hex
+OpenDatabase(data_path("vtk_test_data/quadratic_hex.vtk"))
+
+AddPlot("Pseudocolor", "x_c")
+AddPlot("Mesh", "mesh")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (0.491097, 0.334402, 0.804363)
+v.focus = (0.7, 0.7, 0.5)
+v.viewUp = (-0.0787305, 0.936642, -0.341326)
+v.viewAngle = 30
+v.parallelScale = 1.10905
+v.nearPlane = -2.21811
+v.farPlane = 2.21811
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+SetView3D(v)
+
+Test("quadratic_hex_01")
+
+AddOperator("Tessellate", 1)
+DrawPlots()
+
+Test("quadratic_hex_02")
+
+tess = TessellateAttributes()
+tess.chordError = 0.01
+SetOperatorOptions(tess, 0, 1)
+
+Test("quadratic_hex_03")
+
+AddOperator("Clip", 1)
+clip = ClipAttributes()
+clip.plane1Origin = (0.5, 0.5, 0.5)
+SetOperatorOptions(clip, 0, 1)
+
+DrawPlots()
+
+Test("quadratic_hex_04")
+
+DeleteAllPlots()
+CloseDatabase(data_path("vtk_test_data/quadratic_hex.vtk"))
+
+# Triquadratic_hex
+OpenDatabase(data_path("vtk_test_data/triquadratic_hex.vtk"))
+
+AddPlot("Pseudocolor", "x_c")
+AddPlot("Mesh", "mesh")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (0.491097, 0.334402, 0.804363)
+v.focus = (0.7, 0.7, 0.5)
+v.viewUp = (-0.0787305, 0.936642, -0.341326)
+v.viewAngle = 30
+v.parallelScale = 1.10905
+v.nearPlane = -2.21811
+v.farPlane = 2.21811
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+SetView3D(v)
+
+Test("triquadratic_hex_01")
+
+DeleteAllPlots()
+CloseDatabase(data_path("vtk_test_data/triquadratic_hex.vtk"))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_threeslice.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_threeslice.html new file mode 100644 index 000000000..5327f82df --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_threeslice.html @@ -0,0 +1,54 @@ + +Results for operators/threeslice.py + +

Results of VisIt Regression Test - operators/threeslice

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ThreeSlice_010.000.00
ThreeSlice_020.000.00
ThreeSlice_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_threeslice_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_threeslice_py.html new file mode 100644 index 000000000..2aeb3f6cd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_threeslice_py.html @@ -0,0 +1,49 @@ +operators/threeslice.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  threeslice.py
+#
+#  Programmer: Kathleen Bonnell 
+#  Date:       July 6, 2006
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+def Test1():
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Pseudocolor", "hardyglobal")
+    AddOperator("ThreeSlice")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0.456241, 0.47741, 0.750949)
+    v.focus = (0, 0, 0)
+    v.viewUp = (-0.0855449, 0.863521, -0.497004)
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    SetView3D(v)
+
+    Test("ThreeSlice_01")
+
+    slice = ThreeSliceAttributes()
+    slice.x = -10
+    SetOperatorOptions(slice)
+    Test("ThreeSlice_02")
+
+    slice.y = -10
+    SetOperatorOptions(slice)
+    Test("ThreeSlice_03")
+
+
+Test1()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_threshold.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_threshold.html new file mode 100644 index 000000000..453038a19 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_threshold.html @@ -0,0 +1,108 @@ + +Results for operators/threshold.py + +

Results of VisIt Regression Test - operators/threshold

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_thresh010.000.00
ops_thresh020.000.00
ops_thresh030.000.00
ops_thresh040.000.00
ops_thresh050.000.00
ops_thresh060.000.00
ops_thresh070.000.00
ops_thresh080.000.00
ops_thresh090.000.00
ops_thresh100.000.00
ops_thresh110.000.00
ops_thresh120.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_threshold_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_threshold_py.html new file mode 100644 index 000000000..3be127e29 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_threshold_py.html @@ -0,0 +1,275 @@ +operators/threshold.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  threshold.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain,
+#                          3D rectilinear, multiple domain,
+#                          2D curvilinear, multiple domain
+#              plots     - pc, mesh, subset, contour
+#              operators - threshold
+#              selection - none
+#
+#  Defect ID:  '6590, '7631
+#
+#  Programmer: Hank Childs
+#  Date:       July 24, 2002
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
+#    Changed the variable format for SubsetPlots, to reflect new interface
+#    which allows subsets of groups.
+#
+#    Eric Brugger, Thu May  8 12:50:50 PDT 2003
+#    Remove some code for setting the view when changing to a new data set
+#    since visit should automatically adjust the view by default.
+#
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from subset plots.
+#
+#    Hank Childs, Thu Sep 15 16:31:31 PDT 2005
+#    Added testing for points only mode ('6590).
+#
+#    Mark Blair, Fri May 19 17:36:00 PDT 2006
+#    Modified all tests, added new tests, for multi-variable mode.
+#
+#    Hank Childs, Sat Jan 27 13:03:55 PST 2007
+#    Test points only with material selection on ('7631).
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+v = GetView3D()
+v.SetViewNormal(-0.528889, 0.367702, 0.7649)
+v.SetViewUp(0.176641, 0.929226, -0.324558)
+v.SetParallelScale(17.3205)
+v.SetPerspective(1)
+SetView3D(v)
+
+#
+# Normal PC threshold for globe.
+#
+thresh = ThresholdAttributes()
+
+thresh.outputMeshType = 0
+thresh.zonePortions = (1)
+thresh.lowerBounds = (-4)
+thresh.upperBounds = (4)
+SetDefaultOperatorOptions(thresh)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("ops_thresh01")
+
+#
+# Normal PC threshold for globe, but now change the zone inclusion criteria.
+#
+RemoveAllOperators()
+thresh.outputMeshType = 0
+thresh.zonePortions = (0)
+thresh.lowerBounds = (-4)
+thresh.upperBounds = (4)
+SetDefaultOperatorOptions(thresh)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("ops_thresh02")
+
+#
+# Normal PC plot of globe, thresholding by a variable different than the
+# PC coloring variable.
+#
+RemoveAllOperators()
+thresh.outputMeshType = 0
+thresh.zonePortions = (1)
+thresh.lowerBounds = (140)
+thresh.upperBounds = (340)
+thresh.listedVarNames = ("t")
+SetDefaultOperatorOptions(thresh)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("ops_thresh03")
+
+DeleteAllPlots()
+
+#
+# Contour lines by one variable, thresholding by another.  Multi-block,
+# curvilinear, 2D.
+#
+OpenDatabase(silo_data_path("multi_curv2d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+thresh.outputMeshType = 0
+thresh.zonePortions = (1)
+thresh.lowerBounds = (0.7)
+thresh.upperBounds = (0.9)
+thresh.listedVarNames = ("v")
+SetDefaultOperatorOptions(thresh)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("ops_thresh04")
+
+DeleteAllPlots()
+
+#
+# Material plot, thresholded by a scalar variable.  Multi-block,
+# curvilinear, 2D.
+#
+AddPlot("FilledBoundary", "mat1")
+DrawPlots()
+
+thresh.outputMeshType = 0
+thresh.zonePortions = (1)
+thresh.lowerBounds = (-0.4)
+thresh.upperBounds = (1.0)
+thresh.listedVarNames = ("u")
+SetDefaultOperatorOptions(thresh)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("ops_thresh05")
+
+DeleteAllPlots()
+
+#
+# Mesh plot and PC plot, both thresholded by the same variable and zone
+# inclusion criteria.  Then change the output mesh type to a point mesh.
+# Multi-block, rectilinear, 3D.
+#
+OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+
+thresh.outputMeshType = 0
+thresh.zonePortions = (1)
+thresh.lowerBounds = (0.4)
+thresh.upperBounds = (1.0)
+thresh.listedVarNames = ("u")
+SetDefaultOperatorOptions(thresh)
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+AddPlot("Mesh", "mesh1")
+AddOperator("Threshold")
+DrawPlots()
+
+Test("ops_thresh06")
+
+DeleteActivePlots()
+
+thresh.outputMeshType = 1
+SetDefaultOperatorOptions(thresh)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("ops_thresh07")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+#
+# Normal PC plot of globe, thresholding by two variables different than the
+# PC coloring variable.
+#
+thresh.outputMeshType = 0
+thresh.zonePortions = (1, 1)
+thresh.lowerBounds = (140, 0)
+thresh.upperBounds = (340, 1)
+thresh.listedVarNames = ("t", "dx")
+SetDefaultOperatorOptions(thresh)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("ops_thresh08")
+
+DeleteAllPlots()
+
+#
+# Contour lines by one variable, thresholding by that variable and another,
+# using two different zone inclusion criteria.  Multi-block, curvilinear, 2D.
+#
+OpenDatabase(silo_data_path("multi_curv2d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+
+thresh.zonePortions = (0, 1)
+thresh.lowerBounds = (-0.7, 0.7)
+thresh.upperBounds = (0.7, 0.9)
+thresh.listedVarNames = ("u", "v")
+SetDefaultOperatorOptions(thresh)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("ops_thresh09")
+
+DeleteAllPlots()
+
+#
+# Material plot, thresholded by two scalar variables.  Multi-block,
+# curvilinear, 2D.
+#
+AddPlot("FilledBoundary", "mat1")
+DrawPlots()
+
+thresh.zonePortions = (0, 0)
+thresh.lowerBounds = (-0.4, 0.25)
+thresh.upperBounds = (1.0, 0.45)
+thresh.listedVarNames = ("u", "p")
+SetDefaultOperatorOptions(thresh)
+AddOperator("Threshold")
+DrawPlots()
+
+Test("ops_thresh10")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Threshold")
+ThresholdAtts = ThresholdAttributes()
+ThresholdAtts.outputMeshType = 1
+ThresholdAtts.listedVarNames = ("u")
+ThresholdAtts.zonePortions = (1)
+ThresholdAtts.lowerBounds = (0)
+ThresholdAtts.upperBounds = (1e+37)
+ThresholdAtts.defaultVarName = "u"
+ThresholdAtts.defaultVarIsScalar = 1
+SetOperatorOptions(ThresholdAtts)
+DrawPlots()
+ResetView()
+Test("ops_thresh11")
+
+# See that the points go away when you turn off the materials.
+sil = SILRestriction()
+m = sil.SetsInCategory("mat1")
+sil.TurnOffSet(m[2])
+sil.TurnOffSet(m[3])
+SetPlotSILRestriction(sil)
+Test("ops_thresh12")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_transform.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_transform.html new file mode 100644 index 000000000..622cd5847 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_transform.html @@ -0,0 +1,96 @@ + +Results for operators/transform.py + +

Results of VisIt Regression Test - operators/transform

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ops_transform010.000.00
ops_transform020.000.00
ops_transform030.000.00
ops_transform040.000.00
ops_transform050.000.00
ops_transform060.000.00
ops_transform070.000.00
ops_transform080.000.00
ops_transform090.000.00
ops_transform100.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_transform_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_transform_py.html new file mode 100644 index 000000000..1ae800982 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_transform_py.html @@ -0,0 +1,228 @@ +operators/transform.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  transform.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain,
+#                          3D rectilinear, single domain.
+#              plots     - pc, mesh, contour, vector
+#              operators - transform
+#              selection - none
+#
+#  Defect ID:  '6310, '6694, '6699
+#
+#  Programmer: Hank Childs
+#  Date:       July 24, 2002
+#
+#  Modifications:
+#    Kathleen Bonnell, Wed Sep  3 09:31:25 PDT 2003
+#    Opaque mode for MeshPlot is ON by default now, so turn it off
+#    for this test.
+#
+#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
+#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
+#
+#    Hank Childs, Wed Jun  8 15:36:22 PDT 2005
+#    Added tests for coordinate system conversion.  ['6310]
+#
+#    Hank Childs, Tue Nov 15 15:59:00 PST 2005
+#    Added tests for 2D transformations.  ['6694 '6699]
+#
+#    Kathleen Bonnell,  Fri Mar 28 15:24:18 PDT 2008
+#    Added test for curve transformation.  ['8277]
+#
+#    Jeremy Meredith
+#    Added test for linear transforms.
+#
+#    Jeremy Meredith, Mon Jul 14 11:17:29 EDT 2008
+#    Allow the clipped vector plot to show all vectors (even ones not from
+#    from original cells/nodes) to match the old behavior.
+#
+#    Jeremy Meredith, Thu Aug 13 13:34:42 EDT 2009
+#    Made transform04 test be explicit about the coord sys it chooses.
+#    Made transform05 use Cyl instead of Spher coords; it's a 2D problem!
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Thu Jul 11 08:20:24 PDT 2013
+#    Removed legacy style annotation setting.
+#
+#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#    Turn off cycling of colors for all Curve plot tests.  Set the colors
+#    individually to match current baseline results.
+#
+# ----------------------------------------------------------------------------
+
+# Turn off all annotation
+a = AnnotationAttributes()
+TurnOffAllAnnotations(a)
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+
+AddPlot("Pseudocolor", "u")
+clip = ClipAttributes()
+clip.plane1Status = 1
+clip.SetPlane1Origin(0,0,0)
+clip.SetPlane1Normal(-1,1,0)
+clip.funcType = 0
+SetDefaultOperatorOptions(clip)
+AddOperator("Clip")
+
+trans = TransformAttributes()
+trans.doTranslate = 1
+trans.translateX = -3
+SetDefaultOperatorOptions(trans)
+AddOperator("Transform")
+DrawPlots()
+
+AddPlot("Vector", "vel")
+vec = VectorAttributes()
+vec.origOnly = 0
+SetPlotOptions(vec)
+
+clip.SetPlane1Normal(1,-1,0)
+SetDefaultOperatorOptions(clip)
+AddOperator("Clip")
+
+trans.translateX = -6
+SetDefaultOperatorOptions(trans)
+AddOperator("Transform")
+
+DrawPlots()
+
+Test("ops_transform01")
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+AddPlot("Mesh", "quadmesh3d")
+m = MeshAttributes()
+m.opaqueMode = m.Off
+SetPlotOptions(m)
+trans.doTranslate = 0
+trans.translateX = 0
+trans.doScale = 1
+trans.scaleX = 4
+trans.scaleZ = 3
+SetDefaultOperatorOptions(trans)
+AddOperator("Transform")
+DrawPlots()
+
+ResetView()
+Test("ops_transform02")
+DeleteAllPlots()
+
+AddPlot("Contour", "d")
+trans.doRotate = 1
+trans.rotateAmount = 45
+SetDefaultOperatorOptions(trans)
+AddOperator("Transform")
+DrawPlots()
+
+ResetView()
+Test("ops_transform03")
+
+DeleteAllPlots()
+
+a.axes3D.visible = 1
+a.axes3D.bboxFlag = 1
+SetAnnotationAttributes(a)
+
+AddPlot("Contour", "d")
+AddOperator("Transform")
+trans = TransformAttributes() # Get reset version.
+trans.transformType = trans.Coordinate
+trans.inputCoordSys = trans.Cartesian
+trans.outputCoordSys = trans.Spherical
+SetOperatorOptions(trans)
+DrawPlots()
+SetViewExtentsType("actual")
+ResetView()
+
+Test("ops_transform04")
+
+# '6699
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Transform")
+trans.transformType = trans.Coordinate
+trans.inputCoordSys = trans.Cartesian
+trans.outputCoordSys = trans.Cylindrical
+SetOperatorOptions(trans)
+DrawPlots()
+Test("ops_transform05")
+
+# '6694
+DeleteAllPlots()
+DefineVectorExpression("polar", "polar(quadmesh2d) - coord(quadmesh2d)")
+AddPlot("Pseudocolor", "d")
+AddOperator("Displace")
+disp = DisplaceAttributes()
+disp.variable = "polar"
+SetOperatorOptions(disp)
+DrawPlots()
+Test("ops_transform06")
+
+# '8277
+DeleteAllPlots()
+OpenDatabase(data_path("curve_test_data/zonecent.ultra"))
+
+AddPlot("Curve", "curve2")
+curveAtts = CurveAttributes()
+curveAtts.curveColorSource = curveAtts.Custom
+curveAtts.curveColor = (255, 0, 0, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+Test("ops_transform07")
+
+AddOperator("Transform")
+trans.transformType = trans.Similarity
+trans.doRotate = 0
+trans.doTranslate = 0
+trans.doScale = 1
+trans.scaleX = 1
+trans.scaleZ = 1
+trans.scaleY = -3
+SetOperatorOptions(trans)
+DrawPlots()
+Test("ops_transform08")
+
+# Test linear transform
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Transform")
+
+trans.transformType = trans.Linear
+trans.m00 = .8
+trans.m01 = .3
+trans.m02 = 0
+
+trans.m10 = 0
+trans.m11 = 1
+trans.m12 = 0
+
+trans.m20 = .5
+trans.m21 = .5
+trans.m22 = 1
+
+trans.invertLinearTransform = 0
+
+SetOperatorOptions(trans)
+DrawPlots()
+ResetView()
+
+Test("ops_transform09")
+
+trans.invertLinearTransform = 1
+SetOperatorOptions(trans)
+Test("ops_transform10")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_tube.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_tube.html new file mode 100644 index 000000000..37a0137e7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_tube.html @@ -0,0 +1,72 @@ + +Results for operators/tube.py + +

Results of VisIt Regression Test - operators/tube

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
tube_010.000.00
tube_020.000.00
tube_030.000.00
tube_040.000.00
tube_050.000.00
tube_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/operators_tube_py.html b/2023-11-08-22:00/pascal_trunk_parallel/operators_tube_py.html new file mode 100644 index 000000000..d054d944f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/operators_tube_py.html @@ -0,0 +1,64 @@ +operators/tube.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  tube.py
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       August 7, 2012
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+OpenDatabase(data_path("vtk_test_data/lines.vtk"))
+
+AddPlot("Pseudocolor", "var1")
+AddOperator("Tube")
+tube = TubeAttributes()
+tube.tubeRadiusType = tube.Absolute
+tube.radiusAbsolute = 0.5
+tube.fineness = 20
+SetOperatorOptions(tube)
+
+view = GetView3D()
+view.viewNormal = (-0.429483, -0.499742, 0.752198)
+view.focus = (0, 0, 0)
+view.viewUp = (-0.296677, 0.864778, 0.405144)
+view.viewAngle = 30
+view.parallelScale = 8.66025
+view.nearPlane = -17.3205
+view.farPlane = 17.3205
+SetView3D(view)
+
+DrawPlots()
+
+Test("tube_01")
+
+tube.scaleByVarFlag = 1
+SetOperatorOptions(tube)
+Test("tube_02")
+
+tube.scaleVariable = "var2"
+SetOperatorOptions(tube)
+Test("tube_03")
+
+# get the default again
+tube = TubeAttributes()
+
+ChangeActivePlotsVar("var2")
+tube.tubeRadiusType = tube.Absolute
+tube.radiusAbsolute = 0.5
+tube.fineness = 20
+SetOperatorOptions(tube)
+Test("tube_04")
+
+tube.scaleByVarFlag = 1
+SetOperatorOptions(tube)
+Test("tube_05")
+
+tube.scaleVariable = "var1"
+SetOperatorOptions(tube)
+Test("tube_06")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plotsVsInstall.html b/2023-11-08-22:00/pascal_trunk_parallel/plotsVsInstall.html new file mode 100644 index 000000000..99692d399 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plotsVsInstall.html @@ -0,0 +1,46 @@ +Results for test case plotsVsInstall + +

Results for test case plotsVsInstall

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
4 Lines Changed

+

1 modifications, totalling 4 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1: { 'Contour': 'success',1: { 'Contour': 'make failed',
2:     'Label': 'success',2:     'Label': 'make failed',
3:     'Tensor': 'success',3:     'Tensor': 'make failed',
4:     'Volume': 'success'}4:     'Volume': 'cmake configure failed'}
diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_contour.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_contour.html new file mode 100644 index 000000000..e27a4ea23 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_contour.html @@ -0,0 +1,244 @@ + +Results for plots/contour.py + +

Results of VisIt Regression Test - plots/contour

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
contour_contourMethod_000.000.00
contour_contourMethod_010.000.00
contour_contourMethod_020.000.00
contour_wireframe_000.000.00
contour_minMax_000.000.00
contour_minMax_010.000.00
contour_minMax_020.000.00
contour_minMax_030.000.00
contour_minMax_040.000.00
contour_lineWidth_000.000.00
contour_lineWidth_010.000.00
contour_lineWidth_020.000.00
contour_lineWidth_030.000.00
contour_lineWidth_040.000.00
contour_lineWidth_050.000.00
contour_lineWidth_060.000.00
contour_lineWidth_070.000.00
contour_lineWidth_080.000.00
contour_lineWidth_090.000.00
contour_colorMethod_000.000.00
contour_colorMethod_010.000.00
contour_colorMethod_020.000.00
contour_colorMethod_030.000.00
contour_colorMethod_040.000.00
contour_colorMethod_050.000.00
contour_colorMethod_060.000.00
contour_colorMethod_070.000.00
contour_colorMethod_080.000.00
contour_colorMethod_090.000.00
contour_linearScale0.000.00
contour_logScale0.000.00
contour_multicolor_000.000.00
contour_multicolor_010.000.00
contour_multicolor_020.000.00
contour_bad_value0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_contour_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_contour_py.html new file mode 100644 index 000000000..f66983131 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_contour_py.html @@ -0,0 +1,183 @@ +plots/contour.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  contour.py
+#
+#  Tests:      mesh      - 3D structured, single domain
+#                        - 3D rectilinear, multiple domain
+#                        - 2D curvilinear, single domain
+#              plots     - Contour
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       October 15, 2014
+#
+#  Modifications:
+#    Brad Whitlock, Wed Sep 23 17:06:37 PDT 2015
+#    Add a test for bad contour values to make sure the plot can handle it.
+#
+# ----------------------------------------------------------------------------
+
+def ExerciseAtts():
+    OpenDatabase(silo_data_path("noise.silo"))
+    AddPlot("Contour", "hardyglobal")
+    c = ContourAttributes()
+    c.contourMethod = c.Percent
+    c.contourPercent = (5, 78, 52, 13, 36, 42)
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("contour_contourMethod_00")
+    c.contourMethod = c.Value
+    c.contourValue= (2.0, 3.3, 5.01)
+    SetPlotOptions(c)
+    Test("contour_contourMethod_01")
+    c.contourMethod = c.Level
+    c.contourNLevels = 7
+    SetPlotOptions(c)
+    Test("contour_contourMethod_02")
+
+    c.wireframe = 1
+    c.lineWidth = 3
+    SetPlotOptions(c)
+    Test("contour_wireframe_00")
+    ChangeActivePlotsVar("shepardglobal")
+    # Get new default atts
+    c = ContourAttributes()
+    c.contourNLevels = 3
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("contour_minMax_00")
+    c.minFlag = 1
+    c.maxFlag = 1
+    c.max = 5
+    for i in range(1,5):
+        c.min = i
+        SetPlotOptions(c)
+        Test("contour_minMax_%02d"%i)
+
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("curv2d.silo"))
+    AddPlot("Contour", "d")
+    c = ContourAttributes()
+    c.contourNLevels = 4
+    SetPlotOptions(c)
+    DrawPlots()
+    for i in range(10):
+        c.lineWidth = i
+        SetPlotOptions(c)
+        Test("contour_lineWidth_%02d"%i)
+
+    c.lineWidth = 4
+
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("multi_rect3d.silo"))
+    AddPlot("Contour", "d")
+    c = ContourAttributes()
+    c.contourNLevels = 5
+    c.colorType = c.ColorByColorTable
+    c.colorTableName = "rainbow"
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("contour_colorMethod_00")
+    c.invertColorTable = 1
+    SetPlotOptions(c)
+    Test("contour_colorMethod_01")
+
+    c.colorType = c.ColorBySingleColor
+    c.singleColor = (87, 170, 0, 255)
+    SetPlotOptions(c)
+    Test("contour_colorMethod_02")
+    c.singleColor = (87, 170, 0, 120)
+    SetPlotOptions(c)
+    Test("contour_colorMethod_03")
+
+    c.colorType = c.ColorByMultipleColors
+    SetPlotOptions(c)
+    Test("contour_colorMethod_04")
+    for i in range(5,0,-1):
+        levelColor = list(c.GetMultiColor(i-1))
+        levelColor[3] = 65
+        c.SetMultiColor((i-1),tuple(levelColor))
+        SetPlotOptions(c)
+        Test("contour_colorMethod_%02d"%(10-i))
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("wave.visit"))
+    AddPlot("Contour", "pressure")
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (-0.561907, 0.653269, 0.507444)
+    v.viewUp = (0.388352, 0.749975, -0.535463)
+    SetView3D(v)
+    Test("contour_linearScale")
+    c = ContourAttributes()
+    c.scaling = c.Log
+    SetPlotOptions(c)
+    Test("contour_logScale")
+
+    DeleteAllPlots()
+
+def TestMultiColor():
+    # Bug 2013, indexing issues with SetMultiColor when num levels reduces.
+    OpenDatabase(silo_data_path("noise.silo"))
+    AddPlot("Contour", "hardyglobal")
+    DrawPlots()
+
+    Sets = [[1,5.5,11],[1,5.5,11],[1,5.5,8]]
+    testNum = 0
+    for r in Sets:
+        # the next comment and similar below bracket code to be 'literalincluded' in quickrecipes.rst
+        # contourAtts {
+        p = ContourAttributes()
+        p.contourMethod = p.Level
+        p.contourNLevels=r[2]
+        p.colorType = p.ColorByMultipleColors
+        p.singleColor = (255, 0, 0, 25)
+        p.SetMultiColor(0, (255,0,255,64))
+        p.SetMultiColor(1, (0,255,0,64))
+        p.SetMultiColor(2, (255, 135, 0, 255))
+        p.SetMultiColor(3, (255,255,0,64))
+        p.SetMultiColor(4, (255, 0, 135, 255))
+        p.SetMultiColor(5, (0,0,255,64))
+        p.SetMultiColor(6, (0,255,255,64))
+        p.SetMultiColor(7, (255,0,0,64))
+        if r[2] > 8 :
+            p.SetMultiColor(8, (99, 255, 99, 255))
+            p.SetMultiColor(9, (168, 168, 168, 255))
+            p.SetMultiColor(10, (255, 68, 68, 255))
+
+        p.minFlag=1
+        p.maxFlag=1
+        p.min=r[0]
+        p.max=r[1]
+        SetPlotOptions(p)
+        # contourAtts }
+        Test("contour_multicolor_%02d"%testNum)
+        testNum = testNum + 1
+    DeleteAllPlots()
+
+def TestBadValue():
+    OpenDatabase(silo_data_path("noise.silo"))
+    AddPlot("Contour", "hardyglobal")
+    ContourAtts = ContourAttributes()
+    ContourAtts.contourValue = (0)
+    ContourAtts.contourMethod = ContourAtts.Value  # Level, Value, Percent
+    ContourAtts.minFlag = 0
+    ContourAtts.maxFlag = 0
+    SetPlotOptions(ContourAtts)
+    DrawPlots()
+
+    # Test that the plot is not in the error state and that we have an engine. (i.e. the engine did not crash)
+    pl = GetPlotList()
+    txt = "Plot Completed: " + str(pl.GetPlots(0).stateType == pl.GetPlots(0).Completed) + "\n"
+    txt = txt + "Number of compute engines: " + str(len(GetEngineList())) + "\n"
+    TestText("contour_bad_value", txt)
+
+ExerciseAtts()
+TestMultiColor()
+TestBadValue()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_curve.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_curve.html new file mode 100644 index 000000000..e8051af33 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_curve.html @@ -0,0 +1,351 @@ + +Results for plots/curve.py + +

Results of VisIt Regression Test - plots/curve

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
curve_1_010.000.00
curve_1_020.000.00
curve_1_030.000.00
curve_1_040.000.00
curve_1_050.000.00
curve_1_060.000.00
curve_1_070.000.00
Overlay curves on 2D plots
curve_2_010.000.00
curve_2_020.000.00
curve_2_030.000.00
curve_2_050.000.00
curve_2_060.000.00
curve_2_070.000.00
curve_2_080.000.00
curve_2_090.000.00
curve_2_100.000.00
Points and Symbols
curve_3_010.000.00
curve_3_020.000.00
curve_3_030.000.00
curve_3_040.000.00
curve_3_050.000.00
curve_3_060.000.00
curve_3_070.000.00
curve_3_080.000.00
curve_3_090.000.00
curve_3_100.000.00
curve_3_110.000.00
curve_3_120.000.00
curve_3_130.000.00
Time Cue
curve_4_000.000.00
curve_4_010.000.00
curve_4_020.000.00
curve_4_030.000.00
curve_4_040.000.00
curve_4_050.000.00
curve_4_060.000.00
curve_4_070.000.00
curve_4_080.000.00
Polar
polar_curve_010.000.00
polar_curve_020.000.00
polar_curve_030.000.00
polar_curve_040.000.00
polar_curve_050.000.00
polar_curve_060.000.00
polar_curve_070.000.00
polar_curve_080.000.00
Scale
curve_scale_000.000.00
curve_scale_010.000.00
curve_scale_020.000.00
curve_scale_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_curve_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_curve_py.html new file mode 100644 index 000000000..329415ced --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_curve_py.html @@ -0,0 +1,488 @@ +plots/curve.py
# ----------------------------------------------------------------------------
+#  MODES: serial, parallel, scalable
+#  CLASSES: nightly
+#
+#  Test Case:  curve.py 
+#
+#  Tests:      Tests the curve plot
+#
+#  Programmer: Kathleen Bonnell 
+#  Date:       August 3, 2006 
+#
+#  Modifications:
+#    Brad Whitlock, Tue Nov 21 10:55:24 PDT 2006
+#    Made it use enums for line style.
+#
+#    Mark C. Miller, Thu Jun 21 11:05:58 PDT 2007
+#    Added tests for overlaying curves on 2D plots
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Bonnell, Fri Aug 13 16:10:56 MST 2010 
+#    Added TestPointsAndSymbols to test various points/symbol settings.
+#    Added TestTimeCue to test time-cue functionality
+#
+#    Kathleen Biagas, Thu Sep 12 09:08:00 PDT 2013
+#    Added TestPolar to test new polar conversion capability.
+#
+#    Kathleen Biagas, Tue Jul 15 14:16:33 MST 2014
+#    Added TestScale, which demonstrates the need to scale curves with values
+#    greater than 1e37 or less than 1e-37.
+#
+#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#    Turn off cycling of colors for all tests.  Set the colors individually
+#    to match current baseline results.
+#
+#    Kathleen Biagas, Thu Feb 17 07:40:34 PST 2022
+#    Replace 'color' with 'curveColor' for CurveAttributes.
+#
+# ----------------------------------------------------------------------------
+
+def Test1():
+    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
+
+    DefineCurveExpression("logED", "log10(<Exponential Distribution>)")
+    DefineCurveExpression("logLap", "log10(<Laplace Distribution>)")
+    AddPlot("Curve", "Exponential Distribution")
+    c = CurveAttributes()
+    c.curveColorSource = c.Custom
+    c.curveColor = (255, 0, 0, 255)
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("curve_1_01")
+
+    ChangeActivePlotsVar("logED")
+    c.curveColor = (0, 0, 0, 255)
+    SetPlotOptions(c)
+    ResetView()
+    Test("curve_1_02")
+
+    ChangeActivePlotsVar("Laplace Distribution")
+    c.curveColor = (0, 255, 0, 255)
+    c.lineWidth = 2
+    SetPlotOptions(c)
+    ResetView()
+    Test("curve_1_03")
+
+    ChangeActivePlotsVar("logLap")
+    c.lineWidth = 0
+    c.curveColor = (0, 255, 255, 255)
+    SetPlotOptions(c)
+    ResetView()
+    Test("curve_1_04")
+
+    v = GetViewCurve()
+    v.domainCoords = (-19.3832, -19.3626)
+    v.rangeCoords = (-8.71826, -8.71234)
+    SetViewCurve(v)
+    Test("curve_1_05")
+
+    ChangeActivePlotsVar("Log Normal Distribution")
+    ResetView()
+    Test("curve_1_06")
+
+    c.curveColor = (120, 10, 150, 255)
+    SetPlotOptions(c)
+
+    v.domainCoords = (1.13181, 1.14079)
+    v.rangeCoords = (0.346122, 0.350033)
+    SetViewCurve(v)
+    Test("curve_1_07")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("curve_test_data/distribution.ultra"))
+
+
+def TestOverlayCurves():
+    TestSection("Overlay curves on 2D plots")
+
+    # put up some 2D plots
+    OpenDatabase(silo_data_path("ucd2d.silo"))
+
+    AddPlot("Pseudocolor","d")    # id=0
+    AddPlot("Mesh","ucdmesh2d")   # id=1
+    SetActivePlots((1))
+    AddOperator("Transform")
+    ta=TransformAttributes()
+    ta.doTranslate=1
+    ta.translateY=2
+    SetOperatorOptions(ta)
+    DrawPlots()
+
+    OpenDatabase(data_path("curve_test_data/ol_curveA.curve"))
+
+    AddPlot("Curve","ol_curveA")  # id=2
+    c = CurveAttributes()
+    c.curveColorSource = c.Custom
+    c.curveColor = (0, 255, 0, 0)
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("curve_2_01")
+
+    OpenDatabase(data_path("curve_test_data/ol_curveB.curve"))
+
+    AddPlot("Curve","ol_curveB")  # id=3
+    c.curveColor = (0, 0, 255, 0)
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("curve_2_02")
+
+    OpenDatabase(data_path("curve_test_data/ol_curveC.curve"))
+
+    AddPlot("Curve","ol_curveC")  # id=4
+    c.curveColor = (0, 255, 255, 0)
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("curve_2_03")
+
+    # testing hiding/unhiding the 2D plots
+    SetActivePlots(())
+    SetActivePlots((0,1))
+    HideActivePlots()
+    #Test("curve_2_04")
+    HideActivePlots()
+    Test("curve_2_05")
+    SetActivePlots((1))
+    HideActivePlots()
+    Test("curve_2_06")
+    HideActivePlots()
+
+    # test hiding some curves
+    SetActivePlots((2,3,4))
+    HideActivePlots()
+    Test("curve_2_07")
+    HideActivePlots()
+    SetActivePlots((2))
+    HideActivePlots()
+    Test("curve_2_08")
+    HideActivePlots()
+    SetActivePlots((3))
+    HideActivePlots()
+    Test("curve_2_09")
+    HideActivePlots()
+    SetActivePlots((4))
+    HideActivePlots()
+    Test("curve_2_10")
+    HideActivePlots()
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("ucd2d.silo"))
+
+    CloseDatabase(data_path("curve_test_data/ol_curveA.curve"))
+
+    CloseDatabase(data_path("curve_test_data/ol_curveB.curve"))
+
+    CloseDatabase(data_path("curve_test_data/ol_curveC.curve"))
+
+
+def TestPointsAndSymbols():
+    TestSection("Points and Symbols")
+    OpenDatabase(data_path("curve_test_data/ol_curveA.curve"))
+
+    AddPlot("Curve","ol_curveA")
+    #points and lines
+    curve = CurveAttributes()
+    curve.showLabels = 0
+    curve.showPoints = 1
+    curve.curveColorSource = curve.Custom
+    curve.curveColor = (0, 0, 0, 255)
+    SetPlotOptions(curve)
+    DrawPlots()
+    ResetView()
+    v = GetViewCurve()
+    v.domainCoords = (-0.5, 5.5)
+    v.rangeCoords = (-0.5, 3.5)
+    SetViewCurve(v)
+    Test("curve_3_01")
+
+    #stride the points
+    curve.pointStride = 3
+    SetPlotOptions(curve)
+    Test("curve_3_02")
+
+    #Dynamic fill 
+    curve.pointFillMode = curve.Dynamic
+    SetPlotOptions(curve)
+    Test("curve_3_03")
+
+    #change density
+    curve.symbolDensity = 10
+    SetPlotOptions(curve)
+    Test("curve_3_04")
+
+    #Symbol 
+    curve.symbol = curve.TriangleDown
+    SetPlotOptions(curve)
+    Test("curve_3_05")
+
+    #Zoom 
+    v.domainCoords = (2, 5)
+    v.rangeCoords = (2, 4)
+    SetViewCurve(v)
+    Test("curve_3_06")
+
+    #Symbol 
+    v.domainCoords = (-0.5, 5.5)
+    v.rangeCoords = (-0.5, 3.5)
+    SetViewCurve(v)
+    curve.symbol = curve.Plus
+    SetPlotOptions(curve)
+    Test("curve_3_07")
+
+    #Static with symbols
+    curve.pointFillMode = curve.Static
+    curve.pointStride = 1
+    curve.symbol = curve.Circle
+    SetPlotOptions(curve)
+    Test("curve_3_08")
+
+    #Remove lines
+    curve.showLines = 0
+    curve.symbol = curve.X
+    SetPlotOptions(curve)
+    Test("curve_3_09")
+
+    #Remove lines
+    curve.pointFillMode = curve.Dynamic
+    curve.symbolDensity = 30
+    curve.symbol = curve.TriangleUp
+    SetPlotOptions(curve)
+    Test("curve_3_10")
+
+    OpenDatabase(data_path("curve_test_data/ol_curveB.curve"))
+
+    AddPlot("Curve", "ol_curveB")
+    DrawPlots()
+    c2 = CurveAttributes()
+    c2.showLabels = 0
+    c2.curveColorSource = c2.Custom
+    c2.curveColor = (255, 0, 0, 255)
+    SetPlotOptions(c2)
+    AddOperator("Transform")
+    ta2=TransformAttributes()
+    ta2.doTranslate=1
+    ta2.translateX=-0.35
+    SetOperatorOptions(ta2)
+    DrawPlots()
+    DrawPlots()
+    Test("curve_3_11")
+
+    c2.showLines = 0
+    c2.showPoints = 1
+    c2.pointFillMode = c2.Dynamic
+    c2.symbol = c2.Circle
+    c2.symbolDensity = 30
+    SetPlotOptions(c2)
+    DrawPlots()
+    Test("curve_3_12")
+
+
+    OpenDatabase(data_path("curve_test_data/ol_curveC.curve"))
+
+    AddPlot("Curve", "ol_curveC")
+    DrawPlots()
+    c3 = CurveAttributes()
+    c3.showLabels = 0
+    c3.showPoints = 1
+    c3.curveColorSource = c2.Custom
+    c3.curveColor = (0, 255, 0, 255)
+    SetPlotOptions(c3)
+    AddOperator("Transform")
+    ta3=TransformAttributes()
+    ta3.doTranslate=1
+    ta3.translateX=0.25
+    SetOperatorOptions(ta3)
+    DrawPlots()
+    Test("curve_3_13")
+
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("curve_test_data/ol_curveA.curve"))
+
+    CloseDatabase(data_path("curve_test_data/ol_curveB.curve"))
+
+    CloseDatabase(data_path("curve_test_data/ol_curveB.curve"))
+
+
+def TestTimeCue():
+    TestSection("Time Cue")
+    OpenDatabase(data_path("curve_test_data/ol_curveC.curve"))
+
+    AddPlot("Curve", "ol_curveC")
+    c = CurveAttributes()
+    c.showLabels = 0
+    c.showPoints = 1
+    c.curveColorSource = c.Custom
+    c.curveColor = (0, 0, 0, 255)
+    c.doBallTimeCue = 1
+    c.timeCueBallSize = 1
+    c.ballTimeCueColor = (0, 255, 0, 255)
+    SetPlotOptions(c)
+    DrawPlots()
+
+    v = GetViewCurve()
+    v.domainCoords = (-0.25, 10.25)
+    v.rangeCoords = (-0.25, 15.25)
+    SetViewCurve(v)
+
+    SuppressQueryOutputOn()
+    Query("NumNodes")
+    n = int(GetQueryOutputValue())
+    for i in range(n-1):
+        c.timeForTimeCue = i
+        SetPlotOptions(c)
+        s = "curve_4_%02d" % i
+        Test(s)
+
+    c.doLineTimeCue = 1
+    c.lineTimeCueColor = c.ballTimeCueColor
+    SetPlotOptions(c)
+    s = "curve_4_%02d" % (n-1)
+    Test(s)
+
+    c.lineTimeCueWidth = 3
+    SetPlotOptions(c)
+    s = "curve_4_%02d" % n
+    Test(s)
+    n = n+ 1
+
+    c.doCropTimeCue = 1
+    SetPlotOptions(c)
+    s = "curve_4_%02d" % n
+    Test(s)
+
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("curve_test_data/ol_curveC.curve"))
+
+def TestPolar():
+    TestSection("Polar")
+    OpenDatabase(data_path("curve_test_data/rose_theta_r_rads.ultra"))
+    AddPlot("Curve", "rose")
+    c = CurveAttributes()
+    c.curveColorSource = c.Custom
+    c.curveColor = (255, 0, 0, 255)
+    c.showLabels = 0
+    c.doLineTimeCue = 0
+    c.doCropTimeCue = 0
+    SetPlotOptions(c)
+    DrawPlots()
+    ResetView()
+    Test("polar_curve_01")
+    c.polarToCartesian = 1
+    c.polarCoordinateOrder = c.Theta_R
+    c.angleUnits = c.Radians
+    SetPlotOptions(c)
+    ResetView()
+    Test("polar_curve_02")
+    DeleteAllPlots()
+    CloseDatabase(data_path("curve_test_data/rose_theta_r_rads.ultra"))
+
+    OpenDatabase(data_path("curve_test_data/rose_r_theta_rads.ultra"))
+    AddPlot("Curve", "rose")
+    c = CurveAttributes()
+    c.curveColorSource = c.Custom
+    c.curveColor = (0, 0, 255, 255)
+    c.showLabels = 0
+    c.doLineTimeCue = 0
+    c.doCropTimeCue = 0
+    SetPlotOptions(c)
+    DrawPlots()
+    ResetView()
+    Test("polar_curve_03")
+    c.polarToCartesian = 1
+    c.polarCoordinateOrder = c.R_Theta
+    c.angleUnits = c.Radians
+    SetPlotOptions(c)
+    ResetView()
+    Test("polar_curve_04")
+    DeleteAllPlots()
+    CloseDatabase(data_path("curve_test_data/rose_r_theta_rads.ultra"))
+
+    OpenDatabase(data_path("curve_test_data/spiral_r_theta_deg.ultra"))
+    AddPlot("Curve", "spiral")
+    c.curveColor = (0, 255, 0, 255)
+    c.polarToCartesian = 0
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("polar_curve_05")
+    c.polarToCartesian = 1
+    c.polarCoordinateOrder = c.R_Theta
+    c.angleUnits = c.Degrees
+    SetPlotOptions(c)
+    ResetView()
+    Test("polar_curve_06")
+    DeleteAllPlots()
+    CloseDatabase(data_path("curve_test_data/spiral_r_theta_deg.ultra"))
+
+    OpenDatabase(data_path("curve_test_data/circle.ultra"))
+    AddPlot("Curve", "circle")
+    c.curveColor = (255, 0, 255, 255)
+    c.polarToCartesian = 0
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("polar_curve_07")
+    c.polarToCartesian = 1
+    c.polarCoordinateOrder = c.Theta_R
+    c.angleUnits = c.Degrees
+    SetPlotOptions(c)
+    ResetView()
+    Test("polar_curve_08")
+    DeleteAllPlots()
+    CloseDatabase(data_path("curve_test_data/circle.ultra"))
+
+def TestScale():
+    TestSection("Scale")
+    OpenDatabase(data_path("curve_test_data/need_scale.ultra"))
+    AddPlot("Curve", "toobig")
+    c = CurveAttributes()
+    c.curveColorSource = c.Custom
+    c.curveColor = (40, 165, 165, 255)
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("curve_scale_00")
+
+    t = TransformAttributes()
+    t.doScale =1
+    t.scaleX=1e-15
+    t.scaleY=1e-15
+    t.scaleZ=1e-15
+    AddOperator("Transform")
+    SetOperatorOptions(t)
+    DrawPlots()
+    ResetView()
+
+    Test("curve_scale_01")
+
+    RemoveLastOperator()
+    ChangeActivePlotsVar("toosmall")
+    DrawPlots()
+    ResetView()
+
+    Test("curve_scale_02")
+
+    t.scaleX=1e+15
+    t.scaleY=1e+15
+    t.scaleZ=1e+15
+    AddOperator("Transform")
+    SetOperatorOptions(t)
+    DrawPlots()
+    ResetView()
+
+    Test("curve_scale_03")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("curve_test_data/need_scale.ultra"))
+
+def Main():
+    Test1()
+    TestOverlayCurves()
+    TestPointsAndSymbols()
+    TestTimeCue()
+    TestPolar()
+    TestScale()
+
+Main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_filledboundary.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_filledboundary.html new file mode 100644 index 000000000..0c2413c3f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_filledboundary.html @@ -0,0 +1,84 @@ + +Results for plots/filledboundary.py + +

Results of VisIt Regression Test - plots/filledboundary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
fb_wireframe_010.000.00
fb_wireframe_020.000.00
fb_lines_010.000.00
fb_lines_020.000.00
fb_lines_030.000.00
fb_lines_040.000.00
fb_points_010.000.00
fb_points_020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_filledboundary_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_filledboundary_py.html new file mode 100644 index 000000000..63c0ed5f7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_filledboundary_py.html @@ -0,0 +1,110 @@ +plots/filledboundary.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  filledboundary.py
+#
+#  Tests:      mesh      - 3D rectilinear, single domain
+#              plots     - FilledBoundary
+#
+#  Defect ID:  none
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 11, 2020 
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+
+# singlecolor.py and multicolor.py test the coloring functionality of FB plots,
+# so those aspects won't be heavily tested here.
+
+TurnOffAllAnnotations()
+
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+AddPlot("FilledBoundary", "mat1")
+fb = FilledBoundaryAttributes()
+
+# test line settings, first with wireframe mode:
+fb.wireframe = 1
+SetPlotOptions(fb)
+DrawPlots()
+
+# want to rotate the view to verify the lines are unlit
+v = GetView3D()
+viewNormal = (0, 0, -1)
+SetView3D(v)
+Test("fb_wireframe_01")
+
+fb.lineWidth = 3
+SetPlotOptions(fb)
+Test("fb_wireframe_02")
+
+# now with lines created by an operator/operator sequence
+fb.lineWidth = 1
+fb.wireframe = 0
+SetPlotOptions(fb)
+AddOperator("ThreeSlice")
+ts = ThreeSliceAttributes()
+ts.x = 0.5;
+ts.y = 0.5;
+ts.z = 0.5;
+SetOperatorOptions(ts)
+
+AddOperator("ExternalSurface")
+DrawPlots()
+Test("fb_lines_01")
+
+# move ExternalSurface to before ThreeSlice
+DemoteOperator(1)
+fb.lineWidth = 4
+SetPlotOptions(fb)
+DrawPlots()
+Test("fb_lines_02")
+
+# add another FB plot and play with opacity
+AddPlot("FilledBoundary", "mat1")
+fb2 = FilledBoundaryAttributes()
+fb2.colorType = fb.ColorBySingleColor
+fb2.singleColor=(255, 153, 0, 255)
+fb2.opacity = 0.5
+SetPlotOptions(fb2)
+
+DrawPlots()
+Test("fb_lines_03")
+DeleteAllPlots()
+
+
+CloseDatabase(silo_data_path("rect3d.silo"))
+
+# Another way of producing lines in a FB plot: Add Edge operator
+OpenDatabase(silo_data_path("noise.silo"))
+AddPlot("FilledBoundary", "mat1")
+fb2.opacity = 1
+SetPlotOptions(fb2)
+AddOperator("Edge")
+DrawPlots()
+ResetView()
+v = GetView3D()
+v.viewNormal = (0.0368258, 0.737081, -0.674801)
+v.viewUp = (0.0382946, 0.673722, -0.737992)
+SetView3D(v)
+Test("fb_lines_04")
+
+# perhaps a bit contrived, but adding Edge and ThreeSlice operators together
+# will generate points and allow testing of point glyphing functionality
+AddOperator("ThreeSlice")
+SetOperatorOptions(ts)
+DrawPlots()
+Test("fb_points_01")
+
+fb2.pointType = fb.Tetrahedron
+fb2.pointSize = 1
+SetPlotOptions(fb2)
+Test("fb_points_02")
+DeleteAllPlots()
+CloseDatabase(silo_data_path("noise.silo"))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_label.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_label.html new file mode 100644 index 000000000..5339fe791 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_label.html @@ -0,0 +1,546 @@ + +Results for plots/label.py + +

Results of VisIt Regression Test - plots/label

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
General label plot features
label_0_000.000.00
label_0_010.000.00
label_0_020.000.00
label_0_030.000.00
label_0_040.000.00
label_0_050.000.00
label_0_060.000.00
label_0_070.000.00
label_0_080.000.00
label_0_090.000.00
label_0_100.000.00
label_0_110.000.00
label_0_120.000.00
label_0_130.000.00
label_0_140.000.00
label_0_150.000.00
label_0_160.000.00
label_0_170.000.00
label_0_180.000.00
label_0_190.000.00
label_0_200.000.00
Curvilinear 2D
label_1_000.000.00
label_1_010.000.00
label_1_020.000.00
label_1_030.000.00
label_1_040.000.00
label_1_050.000.00
label_1_060.000.00
Rectilinear 2D
label_2_000.000.00
label_2_010.000.00
label_2_020.000.00
label_2_030.000.00
label_2_040.000.00
label_2_050.000.00
Unstructured 2D
label_3_000.000.00
label_3_010.000.00
label_3_020.000.00
label_3_030.000.00
Testing slicing 3D data to 2D
label_4_000.000.00
label_4_010.000.00
label_4_020.000.00
label_4_030.000.00
VTK with labels
label_5_010.000.00
Labelling subsets
label_6_000.000.00
label_6_010.000.00
label_6_020.000.00
label_6_030.000.00
label_6_040.000.00
label_6_050.000.00
Labelling tensors
label_7_000.000.00
label_7_010.000.00
label_7_020.000.00
label_7_030.000.00
label_7_040.000.00
label_7_050.000.00
Labelling in 3D with Z buffer
label_8_000.000.00
label_8_010.000.00
label_8_020.000.00
label_8_030.000.00
label_8_040.000.00
label_8_050.000.00
label_8_060.000.00
label_8_070.000.00
label_8_080.000.00
label_8_090.000.00
label_8_100.000.00
label_8_110.000.00
Labelling sliced vectors
label_9_000.000.00
label_9_010.000.00
label_9_020.000.00
Test 3D zooming and logical mesh display
label_10_000.000.00
label_10_010.000.00
label_10_020.000.00
label_10_030.000.00
label_10_040.000.00
label_10_050.000.00
label_10_060.000.00
Test datasets with mixed variables
label_11_000.000.00
label_11_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_label_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_label_py.html new file mode 100644 index 000000000..c01cf41f5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_label_py.html @@ -0,0 +1,1005 @@ +plots/label.py
# ----------------------------------------------------------------------------
+#  MODES: serial
+#  CLASSES: nightly
+#
+#  Test Case:  label.py
+#
+#  Tests:      Tests the label plot
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Oct 22 15:50:06 PST 2004
+#
+#  Modifications:
+#    Brad Whitlock, Wed Oct 27 15:08:27 PST 2004
+#    I made the baseline images larger.
+#
+#    Mark C. Miller, Mon Apr 25 21:35:54 PDT 2005
+#    I added tests for different data types
+#
+#    Kathleen Bonnell, Thu Jul 14 07:53:46 PDT 2005
+#    Added TestLabeledVTK, to test reading and use of char data from VTK.
+#
+#    Brad Whitlock, Thu Aug 4 14:25:22 PST 2005
+#    Added tests for labelling subsets and I also removed the single cell/node
+#    stuff and replaced it with tests for setting individual cell/node
+#    colors and text heights.
+#
+#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
+#    Allowed spaces in variable names.
+#
+#    Brad Whitlock, Tue Nov 15 09:56:44 PDT 2005
+#    Added another test for sliced vectors.
+#
+#    Brad Whitlock, Tue Apr 25 15:47:21 PST 2006
+#    I added tests for making sure that Label plots of structured meshes
+#    actually show their logical index nature by default. The tests also
+#    show the Label plot with zooms that used to make the labels be incorrectly
+#    offset from the other plots.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Alister Maguire, Mon Feb 26 10:22:04 PST 2018
+#    Added TestMixedVariables for testing datasets with mixed variables.
+#
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Replace obsolete Label text attributes with new versions.
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin(("Boxlib2D", "SAMRAI", "VTK"))
+
+
+# Create label attributes with somewhat larger text.
+def CreateLabelAttributes():
+    L = LabelAttributes()
+    L.textFont1.scale = 5
+    L.textFont2.scale = 5
+    return L
+
+def SaveTestImage(name):
+    # Save these images somewhat larger than a regular test case image
+    # since the images contain a lot of text.
+    swa = SaveWindowAttributes()
+    swa.width = 500
+    swa.height = 500
+    swa.screenCapture = 0
+    Test(name, swa)
+
+def TestGeneralFeatures():
+    TestSection("General label plot features")
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Label", "curvmesh2d")
+    DrawPlots()
+    SaveTestImage("label_0_00")
+
+    # Change the zoom a few times to see the number of labels adaptively change.
+    v0 = View2DAttributes()
+    v0.windowCoords = (-11.6154, 11.8294, -3.18886, 8.33075)
+    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v0.fullFrameActivationMode = v0.Off
+    SetView2D(v0)
+    SaveTestImage("label_0_01")
+
+    v1 = View2DAttributes()
+    v1.windowCoords = (-1.0815, 1.29556, 1.98696, 3.15493)
+    v1.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v1.fullFrameActivationMode = v1.Off
+    SetView2D(v1)
+    SaveTestImage("label_0_02")
+
+    v2 = View2DAttributes()
+    v2.windowCoords = (1.78125, 3.00819, 0.209532, 0.812385)
+    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v2.fullFrameActivationMode = v2.Off
+    AddPlot("Mesh", "curvmesh2d")
+    DrawPlots()
+    SetActivePlots(0)
+    SetView2D(v2)
+    SaveTestImage("label_0_03")
+
+    # Turn on nodes
+    L = CreateLabelAttributes()
+    L.showNodes = 1
+    SetPlotOptions(L)
+    SaveTestImage("label_0_04")
+
+    # Turn off cells
+    L.showCells = 0
+    SetPlotOptions(L)
+    SaveTestImage("label_0_05")
+
+    # Try showing nodes and cells and alter their respective sizes
+    L.showCells = 1
+    L.showNodes = 1
+    L.textFont1.scale = 6
+    L.textFont2.scale = 5
+    SetPlotOptions(L)
+    SaveTestImage("label_0_06")
+
+    # Change the cell color.
+    L.textFont1.color = (0,255,0,255)
+    L.textFont1.useForegroundColor = 0
+    SetPlotOptions(L)
+    SaveTestImage("label_0_07")
+
+    # Change the node color
+    L.textFont2.color = (100,10,255,255)
+    L.textFont2.useForegroundColor = 0
+    SetPlotOptions(L)
+    SaveTestImage("label_0_08")
+    L.textFont1.color = (0,255,0,255)
+    L.textFont2.color = (0,255,0,255)
+
+    # Change the structured indices to regular indices
+    L.showCells = 1
+    L.labelDisplayFormat = L.Index
+    L.textFont1.scale = 5
+    SetPlotOptions(L)
+    SaveTestImage("label_0_09")
+
+    # Make the text a little bigger
+    L.textFont1.scale = 8
+    L.textFont2.scale = 8
+    L.showCells = 0
+    SetPlotOptions(L)
+    SaveTestImage("label_0_10")
+
+    # Test different text alignments
+    L.textFont1.scale = 6
+    L.textFont2.scale = 6
+    L.horizontalJustification = L.Left
+    SetPlotOptions(L)
+    SaveTestImage("label_0_11")
+    L.horizontalJustification = L.Right
+    SetPlotOptions(L)
+    SaveTestImage("label_0_12")
+    L.horizontalJustification = L.HCenter
+    L.verticalJustification = L.Top
+    SetPlotOptions(L)
+    SaveTestImage("label_0_13")
+    L.verticalJustification = L.Bottom
+    SetPlotOptions(L)
+    SaveTestImage("label_0_14")
+
+    # Test changing the number of labels.
+    L.verticalJustification = L.VCenter
+    SetPlotOptions(L)
+    ResetView()
+    SaveTestImage("label_0_15")
+    L.numberOfLabels = 40
+    SetPlotOptions(L)
+    SaveTestImage("label_0_16")
+
+    # Turn off restricting the number of labels.
+    L.restrictNumberOfLabels = 0
+    SetPlotOptions(L)
+    SaveTestImage("label_0_17")
+    DeleteAllPlots()
+
+    # test different data types from the file
+    OpenDatabase(silo_data_path("wave0000.silo"))
+
+    AddPlot("Label", "chars")
+    DrawPlots()
+    v3d=GetView3D()
+    v3d.viewNormal=(0, 1, 0)
+    v3d.viewUp=(0, 0, -1)
+    SetView3D(v3d)
+    SaveTestImage("label_0_18")
+    DeleteAllPlots()
+
+    AddPlot("Label", "shorts")
+    DrawPlots()
+    SaveTestImage("label_0_19")
+    DeleteAllPlots()
+
+    AddPlot("Label", "ints")
+    DrawPlots()
+    SaveTestImage("label_0_20")
+    ResetView()
+    DeleteAllPlots()
+
+def TestCurvilinear2D():
+    TestSection("Curvilinear 2D")
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    AddPlot("Mesh", "curvmesh2d")
+    m = MeshAttributes()
+    m.opaqueMode = m.Auto
+    SetPlotOptions(m)
+    # Do a point variable
+    AddPlot("Label", "u")
+    DrawPlots()
+    ResetView()
+    SaveTestImage("label_1_00")
+
+    # Make the labels a little larger and zoom in on the cells
+    v0 = View2DAttributes()
+    v0.windowCoords = (-0.632297, 0.483674, 3.38963, 4.57713)
+    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v0.fullFrameActivationMode = v0.Off
+    SetView2D(v0)
+    L = CreateLabelAttributes()
+    L.textFont1.scale = 5
+    L.textFont2.scale = 5
+    SetPlotOptions(L)
+    SaveTestImage("label_1_01")
+
+    # Change the a cell centered variable
+    ChangeActivePlotsVar("d")
+    SaveTestImage("label_1_02")
+
+    # Change to a node centered vector variable
+    v0.windowCoords = (-0.662647, 0.179177, 3.52611, 4.4219)
+    SetView2D(v0)
+    ChangeActivePlotsVar("vel")
+    SaveTestImage("label_1_03")
+
+    # Change to a mesh variable
+    ChangeActivePlotsVar("curvmesh2d")
+    L.showNodes = 1
+    SetPlotOptions(L)
+    SaveTestImage("label_1_04")
+
+    # Turn off a material
+    v0.windowCoords = (-1.73904, -0.385797, 2.20216, 3.64214)
+    SetView2D(v0)
+    SaveTestImage("label_1_05")
+    SetActivePlots((0,1,2))
+    TurnMaterialsOff("2")
+    SaveTestImage("label_1_06")
+    DeleteAllPlots()
+
+def TestRectilinear2D():
+    TestSection("Rectilinear 2D")
+    OpenDatabase(silo_data_path("rect2d.silo"))
+
+    AddPlot("Pseudocolor", "ascii")
+    AddPlot("Mesh", "quadmesh2d")
+    m = MeshAttributes()
+    m.opaqueMode = m.Auto
+    SetPlotOptions(m)
+    AddPlot("Label", "ascii")
+    DrawPlots()
+    ResetView()
+    v0 = View2DAttributes()
+    v0.windowCoords = (0.425121, 0.574879, 0.566829, 0.766505)
+    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v0.fullFrameActivationMode = v0.Off
+    SetView2D(v0)
+    L = CreateLabelAttributes()
+    L.textFont1.scale = 5
+    L.textFont2.scale = 5
+    SetPlotOptions(L)
+    SaveTestImage("label_2_00")
+
+    # Change to a cell centered float variable.
+    ChangeActivePlotsVar("d")
+    SaveTestImage("label_2_01")
+
+    # Change to a node centered variable
+    ChangeActivePlotsVar("u")
+    SaveTestImage("label_2_02")
+
+    # Change to a node centered vector variable
+    ChangeActivePlotsVar("vel")
+    v1 = View2DAttributes()
+    v1.windowCoords = (0.478575, 0.543393, 0.650721, 0.737145)
+    SetView2D(v1)
+    SaveTestImage("label_2_03")
+
+    # Change to the mesh variable
+    SetActivePlots((0,2))
+    DeleteActivePlots()
+    AddPlot("FilledBoundary", "mat1")
+    AddPlot("Label", "quadmesh2d")
+    DrawPlots()
+    L.showNodes = 1
+    L.textFont1.scale = 5
+    L.textFont2.scale = 5
+    SetPlotOptions(L)
+    SaveTestImage("label_2_04")
+
+    # Turn off a material
+    SetActivePlots((0,1,2))
+    TurnMaterialsOff("16")
+    SaveTestImage("label_2_05")
+    DeleteAllPlots()
+
+
+def TestUnstructured2D():
+    TestSection("Unstructured 2D")
+    OpenDatabase(silo_data_path("ucd2d.silo"))
+
+    AddPlot("Mesh", "ucdmesh2d")
+    m = MeshAttributes()
+    m.opaqueMode = m.Auto
+    SetPlotOptions(m)
+    AddPlot("Label", "ucdmesh2d")
+    L = CreateLabelAttributes()
+    L.showNodes = 1
+    L.textFont1.scale = 6
+    L.textFont2.scale = 6
+    L.textFont1.color = (255,0,0,255)
+    L.textFont2.color = (255,0,0,255)
+    L.textFont1.useForegroundColor = 0
+    L.textFont2.useForegroundColor = 0
+    L.restrictNumberOfLabels = 0
+    SetPlotOptions(L)
+    DrawPlots()
+    v0 = View2DAttributes()
+    v0.windowCoords = (-0.154956, 4.15496, -0.154956, 4.15496)
+    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v0.fullFrameActivationMode = v0.Off
+    SetView2D(v0)
+    SaveTestImage("label_3_00")
+
+    # Change to a nodal variable
+    ChangeActivePlotsVar("d")
+    SaveTestImage("label_3_01")
+
+    # Change to a cell centered variable
+    ChangeActivePlotsVar("p")
+    SaveTestImage("label_3_02")
+
+    # Change to a mesh variable and remove a material.
+    ChangeActivePlotsVar("ucdmesh2d")
+    AddPlot("FilledBoundary", "mat1")
+    DrawPlots()
+    L.textFont1.useForegroundColor = 1
+    L.textFont2.useForegroundColor = 1
+    SetPlotOptions(L)
+    SetActivePlots((0,1,2))
+    TurnMaterialsOff("2")
+    SaveTestImage("label_3_03")
+    DeleteAllPlots()
+
+def TestSlice():
+    TestSection("Testing slicing 3D data to 2D")
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Mesh", "Mesh")
+    m = MeshAttributes()
+    m.opaqueMode = m.Auto
+    SetPlotOptions(m)
+    AddPlot("Pseudocolor", "chromeVf")
+    AddPlot("Label", "chromeVf")
+    SetActivePlots((0,1,2))
+    # Add a slice operator to all of the plots
+    AddOperator("Slice")
+    s = SliceAttributes()
+    s.normal = (0,0,1)
+    s.upAxis = (0,1,0)
+    s.project2d = 0
+    SetOperatorOptions(s)
+    # Make the labels a little bigger
+    L = CreateLabelAttributes()
+    L.textFont1.scale = 7
+    L.textFont2.scale = 7
+    L.depthTestMode = L.LABEL_DT_NEVER
+    SetPlotOptions(L)
+    DrawPlots()
+
+    # Look at the slice from the front
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.550782, 0.318825, 0.771355)
+    v0.focus = (0, 0, 0)
+    v0.viewUp = (0.200365, 0.94765, -0.248624)
+    v0.viewAngle = 30
+    v0.parallelScale = 17.3205
+    v0.nearPlane = -34.641
+    v0.farPlane = 34.641
+    v0.imagePan = (0, 0)
+    v0.imageZoom = 1.82449
+    v0.perspective = 0
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0, 0, 0)
+    SetView3D(v0)
+    SaveTestImage("label_4_00")
+
+    # Look at the slice from the back. It will only be visible if the
+    # quantized normals were thrown out.
+    v1 = View3DAttributes()
+    v1.viewNormal = (-0.681715, 0.349442, -0.642771)
+    v1.focus = (0, 0, 0)
+    v1.viewUp = (0.26946, 0.936726, 0.223465)
+    v1.viewAngle = 30
+    v1.parallelScale = 17.3205
+    v1.nearPlane = -34.641
+    v1.farPlane = 34.641
+    v1.imagePan = (0, 0)
+    v1.imageZoom = 1.82449
+    v1.perspective = 0
+    v1.eyeAngle = 2
+    v1.centerOfRotationSet = 0
+    v1.centerOfRotation = (0, 0, 0)
+    SetView3D(v1)
+    SaveTestImage("label_4_01")
+
+    # Project the slice to 2D
+    s.project2d = 1
+    SetOperatorOptions(s)
+    v2 = View2DAttributes()
+    v2.windowCoords = (-8.64231, -5.11567, 2.53613, 6.24948)
+    SetView2D(v2)
+    SaveTestImage("label_4_02")
+
+    # Set the slice normal so it does not line up with an axis.
+    s.normal = (1,2,3)
+    SetOperatorOptions(s)
+    SaveTestImage("label_4_03")
+    DeleteAllPlots()
+
+def TestLabeledVTK():
+    TestSection("VTK with labels")
+    OpenDatabase(data_path("vtk_test_data/labeledBox.vtk"))
+
+    AddPlot("Mesh", "mesh")
+    AddPlot("Label", "cellLabel")
+    AddPlot("Label", "nodeLabels")
+    DrawPlots()
+    SetActivePlots((1, 2))
+    l = LabelAttributes()
+    l.textFont1.scale = 8
+    l.textFont2.scale = 8
+    l.depthTestMode = l.LABEL_DT_NEVER
+    SetPlotOptions(l)
+
+    v = GetView3D()
+    v.viewNormal = (-0.826308, 0.365749, 0.428303)
+    v.focus = (0, 0, 0)
+    v.viewUp = (0.262408, 0.92288, -0.28184)
+    v.parallelScale = 1.55885
+    v.nearPlane = -3.11769
+    v.farPlane  =  3.11769
+    v.imageZoom = 0.941919
+    SetView3D(v)
+
+    SaveTestImage("label_5_01")
+    DeleteAllPlots()
+
+def TestLabellingSubsets():
+    TestSection("Labelling subsets")
+    OpenDatabase(silo_data_path("bigsil.silo"))
+
+    AddPlot("Mesh", "mesh")
+    AddPlot("Subset", "blocks")
+    AddPlot("Label", "blocks")
+    l = LabelAttributes()
+    l.restrictNumberOfLabels = 0
+    l.textFont1.scale = 5
+    l.depthTestMode = l.LABEL_DT_NEVER
+    SetPlotOptions(l)
+    SetActivePlots((0,1,2))
+    TurnDomainsOff()
+    TurnDomainsOn(("domain1","domain10","domain19"))
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (0.465057, -0.448026, -0.763541)
+    v.focus = (0.166667, 0.166667, 0.5)
+    v.viewUp = (-0.243345, -0.893956, 0.376333)
+    v.viewAngle = 30
+    v.parallelScale = 0.552771
+    v.nearPlane = -1.10554
+    v.farPlane = 1.10554
+    v.imagePan = (0.0545619, 0.050939)
+    v.imageZoom = 1.32578
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.166667, 0.166667, 0.5)
+    SetView3D(v)
+    SaveTestImage("label_6_00")
+
+    SetActivePlots((1,2))
+    ChangeActivePlotsVar("domains")
+    SaveTestImage("label_6_01")
+
+    SetActivePlots(1)
+    DeleteActivePlots()
+    AddPlot("FilledBoundary", "mat")
+    SetActivePlots(1)
+    DrawPlots()
+    ChangeActivePlotsVar("mat")
+    SaveTestImage("label_6_02")
+
+    # Try an AMR dataset
+    DeleteAllPlots()
+    OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
+
+    AddPlot("Mesh", "Mesh")
+    AddPlot("Subset", "patches")
+    s = SubsetAttributes()
+    s.legendFlag = 0
+    SetPlotOptions(s)
+    AddPlot("Label", "patches")
+    l = LabelAttributes()
+    l.restrictNumberOfLabels = 0
+    l.textFont1.scale = 4.7
+    SetPlotOptions(l)
+    DrawPlots()
+    v = View2DAttributes()
+    v.windowCoords = (0.0126663, 0.0146908, 0.115281, 0.117298)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.fullFrameActivationMode = v.Off  # On, Off, Auto
+    v.fullFrameAutoThreshold = 100
+    SetView2D(v)
+    SaveTestImage("label_6_03")
+
+    SetActivePlots((1,2))
+    ChangeActivePlotsVar("levels")
+    v = View2DAttributes()
+    v.windowCoords = (0.0250949, 0.0437515, 0.11359, 0.132218)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.fullFrameActivationMode = v.Off  # On, Off, Auto
+    v.fullFrameAutoThreshold = 100
+    SetView2D(v)
+    SetActivePlots(2)
+    l.textFont1.scale = 4
+    SetPlotOptions(l)
+    SaveTestImage("label_6_04")
+    DeleteAllPlots()
+
+    # Try a dataset with real material names.
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Mesh", "Mesh")
+    AddPlot("FilledBoundary", "mat1")
+    AddPlot("Label", "mat1")
+    l = LabelAttributes()
+    l.textFont1.scale = 5
+    SetPlotOptions(l)
+    SetActivePlots((0,1,2))
+    AddOperator("Slice")
+    DrawPlots()
+    v = View2DAttributes()
+    v.windowCoords = (-9.37363, -6.58974, -2.85531, -0.327839)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.fullFrameActivationMode = v.Off  # On, Off, Auto
+    v.fullFrameAutoThreshold = 100
+    SetView2D(v)
+    SaveTestImage("label_6_05")
+    DeleteAllPlots()
+
+
+def TestLabellingTensors():
+    TestSection("Labelling tensors")
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Mesh", "Mesh")
+    AddPlot("Tensor", "grad_tensor")
+    t = TensorAttributes()
+    t.useStride = 1
+    SetPlotOptions(t)
+    AddPlot("Label", "grad_tensor")
+    SetActivePlots((0,1,2))
+    AddOperator("Slice")
+    DrawPlots()
+    ResetView()
+    SaveTestImage("label_7_00")
+
+    v = View2DAttributes()
+    v.windowCoords = (-9.13799, -4.37695, -7.71782, -2.97379)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.fullFrameActivationMode = v.Off  # On, Off, Auto
+    v.fullFrameAutoThreshold = 100
+    SetView2D(v)
+    SaveTestImage("label_7_01")
+
+    v.windowCoords = (-8.50106, -7.83502, -6.43747, -5.77381)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.fullFrameActivationMode = v.Off  # On, Off, Auto
+    v.fullFrameAutoThreshold = 100
+    SetView2D(v)
+    SaveTestImage("label_7_02")
+
+    # Now see how changing the text height affects binning
+    ResetView()
+    l = LabelAttributes()
+    l.textFont1.scale = 3
+    SetActivePlots(2)
+    SetPlotOptions(l)
+    SaveTestImage("label_7_03")
+
+    l.textFont1.scale = 6
+    SetPlotOptions(l)
+    SaveTestImage("label_7_04")
+
+    SetView2D(v)
+    SaveTestImage("label_7_05")
+
+    DeleteAllPlots()
+
+def TestLabelling3D():
+    TestSection("Labelling in 3D with Z buffer")
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Pseudocolor", "airVf")
+    AddPlot("Label", "airVf")
+    L = LabelAttributes()
+    L.restrictNumberOfLabels = 0
+    L.depthTestMode = L.LABEL_DT_NEVER
+    SetPlotOptions(L)
+    DrawPlots()
+    ResetView()
+    SaveTestImage("label_8_00")
+
+    # Turn on depth testing
+    L.depthTestMode = L.LABEL_DT_AUTO
+    SetPlotOptions(L)
+    SaveTestImage("label_8_01")
+
+    # Apply an Isosurface operator to make things really convoluted
+    SetActivePlots((0,1))
+    AddOperator("Isosurface")
+    iso = IsosurfaceAttributes()
+    iso.contourNLevels = 1
+    iso.variable="hardyglobal"
+    SetOperatorOptions(iso)
+    v = View3DAttributes()
+    v.viewNormal = (0.883239, -0.244693, -0.400019)
+    v.focus = (0, 0, 0)
+    v.viewUp = (0.435303, 0.745036, 0.505404)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.imagePan = (0.022398, -0.134568)
+    v.imageZoom = 3.35882
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+    DrawPlots()
+    SaveTestImage("label_8_02")
+
+    #
+    # Try labelling a mesh that has interior stuff
+    #
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "speed")
+    AddPlot("Mesh", "mesh1")
+    AddPlot("Label", "mesh1")
+    L = CreateLabelAttributes()
+    L.restrictNumberOfLabels = 0
+    L.drawLabelsFacing = L.FrontAndBack
+    L.depthTestMode = L.LABEL_DT_AUTO
+    SetPlotOptions(L)
+    DrawPlots()
+    ResetView()
+    v.viewNormal = (-0.735192, 0.371514, 0.566984)
+    v.focus = (0, 0, 0)
+    v.viewUp = (0.2695, 0.927683, -0.258407)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.imagePan = (0, 0)
+    v.imageZoom = 1.60959
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+    SaveTestImage("label_8_03")
+
+    v1 = View3DAttributes()
+    v1.viewNormal = (0, 0, 1)
+    v1.focus = (0, 0, 0)
+    v1.viewUp = (0, 1, 0)
+    v1.viewAngle = 30
+    v1.parallelScale = 17.3205
+    v1.nearPlane = -34.641
+    v1.farPlane = 34.641
+    v1.imagePan = (0, 0)
+    v1.imageZoom = 5.06081
+    v1.perspective = 1
+    v1.eyeAngle = 2
+    v1.centerOfRotationSet = 0
+    v1.centerOfRotation = (0, 0, 0)
+    SetView3D(v1)
+    SaveTestImage("label_8_04")
+
+    # Turn on node labels
+    L.showNodes = 1
+    SetPlotOptions(L)
+    SaveTestImage("label_8_05")
+
+    # Label a variable that would normally have labels that protrude into
+    # the dataset
+    ChangeActivePlotsVar("speed")
+    ResetView()
+    SaveTestImage("label_8_06")
+
+    SetView3D(v)
+    SaveTestImage("label_8_07")
+    DeleteAllPlots()
+
+    #
+    # Try labelling a 3D AMR dataset
+    #
+    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
+
+    AddPlot("Pseudocolor", "Primitive Var _number_0")
+    AddPlot("Mesh", "amr_mesh")
+    AddPlot("Label", "levels")
+    L = CreateLabelAttributes()
+    L.showNodes = 1
+    L.showCells = 0
+    L.restrictNumberOfLabels = 0
+    L.depthTestMode = L.LABEL_DT_NEVER
+    SetPlotOptions(L)
+    DrawPlots()
+    v2 = View3DAttributes()
+    v2.viewNormal = (-0.643521, -0.624962, -0.441931)
+    v2.focus = (15, 10, 10)
+    v2.viewUp = (0.320552, 0.304253, -0.897038)
+    v2.viewAngle = 30
+    v2.parallelScale = 20.6155
+    v2.nearPlane = -41.2311
+    v2.farPlane = 41.2311
+    v2.imagePan = (-0.0412674, 0.141248)
+    v2.imageZoom = 1.871
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (15, 10, 10)
+    SetView3D(v2)
+    SaveTestImage("label_8_08")
+
+    # Turn on zbuffering
+    L.depthTestMode = L.LABEL_DT_AUTO
+    SetPlotOptions(L)
+    SaveTestImage("label_8_09")
+
+    # Restrict the number of labels
+    L.restrictNumberOfLabels = 1
+    L.numberOfLabels = 900
+    L.depthTestMode = L.LABEL_DT_NEVER
+    SetPlotOptions(L)
+    SaveTestImage("label_8_10")
+
+    # Turn on zbuffering
+    L.depthTestMode = L.LABEL_DT_AUTO
+    SetPlotOptions(L)
+    SaveTestImage("label_8_11")
+    DeleteAllPlots()
+
+def TestSlicedVectors():
+    TestSection("Labelling sliced vectors")
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Mesh", "Mesh")
+    AddPlot("Label", "grad")
+    L = CreateLabelAttributes()
+    L.depthTestMode = L.LABEL_DT_NEVER
+    SetPlotOptions(L)
+    SetActivePlots((0,1))
+    AddOperator("Slice")
+    DrawPlots()
+
+    v = View2DAttributes()
+    v.windowCoords = (-0.370383, 0.566874, -0.275836, 0.66177)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.fullFrameActivationMode = v.Off  # On, Off, Auto
+    v.fullFrameAutoThreshold = 100
+    SetView2D(v)
+    SaveTestImage("label_9_00")
+
+    AddPlot("Vector", "grad")
+    vec = VectorAttributes()
+    vec.useStride = 1
+    vec.scale = 0.5
+    SetPlotOptions(vec)
+    AddOperator("Slice")
+    SetActivePlots((0,1,2))
+    s = SliceAttributes()
+    s.project2d = 0
+    SetOperatorOptions(s)
+    DrawPlots()
+    v = View3DAttributes()
+    v.viewNormal = (-0.332304, 0.933436, 0.135169)
+    v.focus = (0, 0, 0)
+    v.viewUp = (-0.353747, 0.00950422, -0.935293)
+    v.viewAngle = 30
+    v.parallelScale = 14.1421
+    v.nearPlane = -28.2843
+    v.farPlane = 28.2843
+    v.imagePan = (0, 0)
+    v.imageZoom = 17.3567
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+    SaveTestImage("label_9_01")
+
+    # Test a case where having the vector be an expression was causing
+    # VisIt to mess up.
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Mesh", "quadmesh3d")
+    AddPlot("Label", "vel")
+    L = LabelAttributes()
+    L.textFont1.scale = 6
+    L.textFont1.color = (255,0,0,255)
+    L.textFont1.useForegroundColor = 0
+    SetPlotOptions(L)
+    SetActivePlots((0,1))
+    AddOperator("Slice")
+    s = SliceAttributes()
+    s.originType = s.Intercept
+    s.originIntercept = 0
+    s.axisType = s.YAxis
+    s.project2d = 1
+    SetOperatorOptions(s)
+    DrawPlots()
+    v = View2DAttributes()
+    v.windowCoords = (0.0476715, 0.155784, 0.874164, 0.991825)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.fullFrameActivationMode = v.Off  # On, Off, Auto
+    v.fullFrameAutoThreshold = 100
+    SetView2D(v)
+    SaveTestImage("label_9_02")
+
+def TestRectilinearLogicalDisplay():
+    TestSection("Test 3D zooming and logical mesh display")
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Pseudocolor", "hardyglobal")
+    AddPlot("Mesh", "Mesh")
+    AddPlot("Label", "Mesh")
+    L = CreateLabelAttributes()
+    SetPlotOptions(L)
+    DrawPlots()
+
+    # Also zoom in using some views obtained from rubber-band style
+    # views that would have made the labels migrate from their
+    # correct locations in older versions of VisIt.
+    v = View3DAttributes()
+    v.viewNormal = (-0.566084, -0.288713, 0.772135)
+    v.focus = (0, 0, 0)
+    v.viewUp = (-0.357175, 0.930078, 0.0859103)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.imagePan = (0.104981, 0.174394)
+    v.imageZoom = 12.8916
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+    SaveTestImage("label_10_00")
+
+    # Make it be displayed using index style numbers.
+    L.labelDisplayFormat = L.Index
+    SetPlotOptions(L)
+    SaveTestImage("label_10_01")
+
+    # Make sure the labels are in the right place when we tell VisIt
+    # to draw them all instead of binning.
+    L.restrictNumberOfLabels = 0
+    SetPlotOptions(L)
+    SaveTestImage("label_10_02")
+
+    # Try a nodal variable.
+    ChangeActivePlotsVar("hardyglobal")
+    SaveTestImage("label_10_03")
+
+    # Try a 2D rectilinear mesh
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "hgslice")
+    AddPlot("Mesh", "Mesh2D")
+    AddPlot("Label", "Mesh2D")
+    L = CreateLabelAttributes()
+    SetPlotOptions(L)
+    DrawPlots()
+
+    v1 = GetView2D()
+    v1.windowCoords = (-7.52178, -5.09684, -8.8535, -6.43779)
+    v1.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    SetView2D(v1)
+    SaveTestImage("label_10_04")
+
+    # Try a 3D curvilinear mesh
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("curv3d.silo"))
+
+    AddPlot("Mesh", "curvmesh3d")
+    m = MeshAttributes()
+    m.opaqueMode = m.On
+    SetPlotOptions(m)
+    AddPlot("Label", "curvmesh3d")
+    L = CreateLabelAttributes()
+    SetPlotOptions(L)
+    DrawPlots()
+    v2 = GetView3D()
+    v2.viewNormal = (0.405434, 0.494827, 0.768615)
+    v2.focus = (0, 2.5, 15)
+    v2.viewUp = (-0.296176, 0.866572, -0.401662)
+    v2.viewAngle = 30
+    v2.parallelScale = 16.0078
+    v2.nearPlane = -32.0156
+    v2.farPlane = 32.0156
+    v2.imagePan = (0.129303, 0.36944)
+    v2.imageZoom = 43.2454
+    v2.perspective = 1
+    v2.eyeAngle = 2
+    v2.centerOfRotationSet = 0
+    v2.centerOfRotation = (0, 2.5, 15)
+    SetView3D(v2)
+    SaveTestImage("label_10_05")
+
+    ChangeActivePlotsVar("u")
+    SaveTestImage("label_10_06")
+    DeleteAllPlots()
+
+def TestMixedVariables():
+    TestSection("Test datasets with mixed variables")
+    DeleteAllPlots()
+
+    ma = GetMaterialAttributes()
+    ma.forceMIR = 1
+    SetMaterialAttributes(ma)
+
+    OpenDatabase(silo_data_path("specmix_ucd.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    AddPlot("Mesh", "Mesh")
+    AddPlot("Label", "d")
+    L = CreateLabelAttributes()
+    SetPlotOptions(L)
+    DrawPlots()
+
+    View2DAtts = View2DAttributes()
+    View2DAtts.windowCoords = (-10.9988, -8.83259, 1.01139, 3.18029)
+    View2DAtts.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    SetView2D(View2DAtts)
+
+    SaveTestImage("label_11_00")
+
+    View2DAtts = View2DAttributes()
+    View2DAtts.windowCoords = (0.474811, 3.09596, 1.20289, 3.82726)
+    View2DAtts.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    SetView2D(View2DAtts)
+
+    SaveTestImage("label_11_01")
+
+    DeleteAllPlots()
+
+def main():
+    TestGeneralFeatures()
+    TestCurvilinear2D()
+    TestRectilinear2D()
+    TestUnstructured2D()
+    TestSlice()
+    TestLabeledVTK()
+    TestLabellingSubsets()
+    TestLabellingTensors()
+    TestLabelling3D()
+    TestSlicedVectors()
+    TestRectilinearLogicalDisplay()
+    TestMixedVariables()
+
+# Run all of the tests
+main()
+
+# Exit the test
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh.html new file mode 100644 index 000000000..410cdbc61 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh.html @@ -0,0 +1,249 @@ + +Results for plots/mesh.py + +

Results of VisIt Regression Test - plots/mesh

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Testing random color mode
mesh_random_color_010.000.00
mesh_random_color_020.000.00
mesh_random_color_030.000.00
Mesh plot of a 3D curvilinear mesh
mesh_curve_010.000.00
mesh_curve_020.000.00
mesh_curve_030.000.00
Mesh plot of a point mesh
mesh_point_010.000.00
mesh_point_020.000.00
mesh_point_030.000.00
mesh_point_040.000.00
mesh_point_050.000.00
mesh_point_060.000.00
mesh_point_070.000.00
mesh_point_080.000.00
mesh_point_090.000.00
mesh_point_100.000.00
mesh_point_110.000.00
mesh_point_120.000.00
Mesh plot of a 3D unstructured mesh
mesh_globe_010.000.00
mesh_globe_020.000.00
mesh_globe_030.000.00
mesh_globe_040.000.00
Mesh plot of a 3D rectilinear mesh
mesh_rect3d_010.000.00
Testing Mesh plot's opaque flag
mesh_opaque_010.000.00
mesh_opaque_020.000.00
mesh_opaque_030.000.00
mesh_opaque_040.000.00
mesh_opaque_050.000.00
mesh_opaque_060.000.00
mesh_opaque_070.000.00
mesh_opaque_080.000.00
Testing custom color mode
mesh_custom_color_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_c.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_c.html new file mode 100644 index 000000000..eb05af51a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_c.html @@ -0,0 +1,249 @@ + +Results for plots/mesh_c.py + +

Results of VisIt Regression Test - plots/mesh_c

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Testing random color mode
mesh_random_color_010.000.00
mesh_random_color_020.000.00
mesh_random_color_030.000.00
Mesh plot of a 3D curvilinear mesh
mesh_curve_010.000.00
mesh_curve_020.000.00
mesh_curve_030.000.00
Mesh plot of a point mesh
mesh_point_010.000.00
mesh_point_020.000.00
mesh_point_030.000.00
mesh_point_040.000.00
mesh_point_050.000.00
mesh_point_060.000.00
mesh_point_070.000.00
mesh_point_080.000.00
mesh_point_090.000.00
mesh_point_100.000.00
mesh_point_110.000.00
mesh_point_120.000.00
Mesh plot of a 3D unstructured mesh
mesh_globe_010.000.00
mesh_globe_020.000.00
mesh_globe_030.000.00
mesh_globe_040.000.00
Mesh plot of a 3D rectilinear mesh
mesh_rect3d_010.000.00
Testing Mesh plot's opaque flag
mesh_opaque_010.000.00
mesh_opaque_020.000.00
mesh_opaque_030.000.00
mesh_opaque_040.000.00
mesh_opaque_050.000.00
mesh_opaque_060.000.00
mesh_opaque_070.000.00
mesh_opaque_080.000.00
Testing custom color mode
mesh_custom_color_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_c_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_c_py.html new file mode 100644 index 000000000..a0ac1b937 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_c_py.html @@ -0,0 +1,21 @@ +plots/mesh_c.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  mesh_c.py
+#
+#  Tests:      Runs the mesh.py test but with compression turned on.
+#              mesh.py tests for existence of 'useCompression' variable
+#              and turns on compression if it exists. We expect identical
+#              output from the tests but because this py file has a different
+#              name, it will generate them a subdir by the name 'mesh_c'
+#              and look for baselines likewise. So, in baseline dir,
+#              the mesh_c dir is a symlink to scalable.
+#
+#  Programmer: Mark C. Miller
+#  Date:       19Aug08
+#
+# ----------------------------------------------------------------------------
+
+useCompression = 1
+Source(tests_path("plots","mesh.py"))
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_py.html new file mode 100644 index 000000000..56185edf5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_mesh_py.html @@ -0,0 +1,446 @@ +plots/mesh.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  mesh.py
+#
+#  Tests:      mesh      - 3D structured, single domain
+#                        - 3D point, single domain
+#                        - 2D point, single domain
+#                        - 3D unstructured, single domain
+#              plots     - mesh, pseudocolor
+#
+#  Defect ID:  none
+#
+#  Programmer: Kathleen Bonnell
+#  Date:       September 03, 2003
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
+#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
+#
+#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
+#    Added two test for new MeshAttribute 'showInternal':  mesh_globe_04
+#    and mesh_rect3d_01.
+#
+#    Brad Whitlock, Thu Apr 8 12:50:21 PDT 2004
+#    Added tests to test the auto mesh opacity flag.
+#
+#    Jeremy Meredith, Tue May  4 12:41:49 PDT 2004
+#    Added test for unglyphed (i.e. GL_POINT) point meshes.
+#
+#    Kathleen Bonnell, Tue Nov  2 16:20:55 PST 2004
+#    Removed opaque-mode portion of mesh_point_01, as opaque-mode no longer
+#    applies to Mesh plots of Point meshes.
+#
+#    Mark C. Miller, Tue Aug 19 17:31:29 PDT 2008
+#    Add code to permit the test to be run with compression as well.
+#
+#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
+#    Removed silly comment regarding global annotation object 'a'
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Kathleen Biagas, Wed Jun 10 17:39:23 PDT 2020
+#    Move RandomColor test to be first test run so that changes in mesh plot
+#    instances don't randomly make the test fail.
+#
+#    Kathleen Biagas, Thu Jun 11 07:57:10 PDT 2020
+#    Add more data files to PointMesh test, to ensure data that doesnt' set
+#    topological dimension to 0, and data with mixed topology can still do
+#    point glyphing and changes point size.
+#
+#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
+#    Replace use of meshatts 'foregroundFlag', 'backgroundFlag' with
+#    'meshColorSource' and 'opaqueColorSource' respectively.
+#
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Remove obsolete mesh att 'lineStyle'.
+#
+# ----------------------------------------------------------------------------
+
+
+def TestCurve():
+    TestSection("Mesh plot of a 3D curvilinear mesh")
+    OpenDatabase(silo_data_path("curv3d.silo"))
+
+    AddPlot("Mesh", "curvmesh3d")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0.37, 0.48, 0.79)
+    v.focus = (0, 2.5, 15)
+    v.viewUp = (-0.18, 0.87, -0.45)
+    v.imagePan = (0.08, 0.08)
+    v.imageZoom = 2.0
+    SetView3D(v)
+
+    Test("mesh_curve_01")
+
+    # Change color
+    # and add a PC Plot.
+    m = MeshAttributes()
+    m.opaqueColorSource = m.OpaqueCustom
+    m.opaqueColor = (0, 122, 200, 255)
+    SetPlotOptions(m)
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    Test("mesh_curve_02")
+
+    SetActivePlots(0)
+    SetPlotOptions(m)
+    SetActivePlots(1)
+    HideActivePlots()
+    Test("mesh_curve_03")
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("curv3d.silo"))
+
+def TestPointMesh():
+    TestSection("Mesh plot of a point mesh")
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Pseudocolor", "PointVar")
+    p = PseudocolorAttributes()
+    p.pointType = p.Box
+    p.pointSize = 1.0
+    SetPlotOptions(p)
+
+    DrawPlots()
+    Test("mesh_point_01")
+
+    p.pointType = p.Icosahedron
+    p.pointSize = 1.5
+    SetPlotOptions(p)
+    DrawPlots()
+    Test("mesh_point_02")
+
+    DeleteActivePlots()
+
+    AddPlot("Mesh", "PointMesh")
+    m = MeshAttributes()
+    m.meshColorSource = m.MeshCustom
+    m.meshColor = (0, 122, 200, 255)
+    m.pointSize = 1.5
+    m.pointType = m.Axis
+    SetPlotOptions(m)
+    DrawPlots()
+    Test("mesh_point_03")
+
+    m.pointType = m.Point
+    m.pointSizePixels = 1
+    SetPlotOptions(m)
+    Test("mesh_point_04")
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("noise.silo"))
+
+    OpenDatabase(silo_data_path("noise2d.silo"))
+
+    AddPlot("Mesh", "PointMesh")
+    ResetView()
+    DrawPlots()
+    m.pointType = m.Axis
+    m.pointSizeVarEnabled = 1
+    m.pointSizeVar = "PointVar"
+    m.pointSize = 0.05
+    SetPlotOptions(m)
+    Test("mesh_point_05")
+
+    m.pointType = m.Point
+    m.pointSizePixels = 1
+    m.pointSizeVarEnabled = 0
+    SetPlotOptions(m)
+    Test("mesh_point_06")
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("noise2d.silo"))
+
+    OpenDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
+
+    AddPlot("Mesh", "points_mesh")
+
+    m = MeshAttributes()
+    m.meshColorSource = m.MeshCustom
+    m.meshColor = (0, 170, 255, 255)
+    SetPlotOptions(m)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (-0.605449, 0.469667, 0.642529)
+    v.viewUp = (0.169201, 0.864818, -0.472716)
+    SetView3D(v)
+    Test("mesh_point_07")
+
+    m.pointSizePixels = 5
+    SetPlotOptions(m)
+    Test("mesh_point_08")
+
+    m.pointType = m.Tetrahedron
+    m.pointSize = 3
+    SetPlotOptions(m)
+    Test("mesh_point_09")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
+
+    OpenDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
+
+    AddPlot("Mesh", "mesh")
+    m.lineWidth = 3
+    m.pointType = m.Point
+    m.pointSizePixels = 2
+    SetPlotOptions(m)
+    DrawPlots()
+    ResetView()
+
+    Test("mesh_point_10")
+
+    m.pointSizePixels = 5
+    SetPlotOptions(m)
+    Test("mesh_point_11")
+
+    m.pointType = m.Icosahedron
+    m.pointSize = 0.5
+    SetPlotOptions(m)
+    Test("mesh_point_12")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
+
+
+def TestGlobe():
+    TestSection("Mesh plot of a 3D unstructured mesh")
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Mesh", "mesh1")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (1, 0, 0)
+    v.focus = (0, 0, 0)
+    v.viewUp = (0, 1, 0)
+    v.imagePan = (0, 0)
+    v.imageZoom = 1.0
+    SetView3D(v)
+
+    m = MeshAttributes()
+    m.opaqueMode = m.Off
+    SetPlotOptions(m)
+    Test("mesh_globe_01")
+
+    m.smoothingLevel = m.Fast
+    SetPlotOptions(m)
+    Test("mesh_globe_02")
+
+    m.smoothingLevel = m.High
+    SetPlotOptions(m)
+    Test("mesh_globe_03")
+
+    print(m.NONE)
+    m.smoothingLevel = m.NONE
+    m.opaqueMode = m.Auto
+    m.showInternal = 1
+    SetPlotOptions(m)
+    ResetView()
+
+    TurnMaterialsOff(("1", "2", "4"))
+
+    AddOperator("Clip")
+    clip = ClipAttributes()
+    clip.plane1Status = 0
+    clip.plane3Status = 1
+    SetOperatorOptions(clip)
+
+    AddOperator("Transform")
+    t = TransformAttributes()
+    t.doRotate = 1
+    t.rotateAxis = (1, 0, 0)
+    t.rotateAmount = 112
+    SetOperatorOptions(t)
+    DrawPlots()
+
+    SetViewExtentsType("actual")
+    Test("mesh_globe_04")
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("globe.silo"))
+
+def TestRect3d():
+    TestSection("Mesh plot of a 3D rectilinear mesh")
+    OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+    AddPlot("Mesh", "mesh1")
+    m = MeshAttributes()
+    m.opaqueMode = m.Auto
+    m.showInternal = 1
+    SetPlotOptions(m)
+
+    #Show a small area that contains the boundary
+    #between domains 1 & 2 by using the box operator
+    AddOperator("Box")
+    box = BoxAttributes();
+    box.minx = 0.3
+    box.maxx = 0.4
+    box.miny = 0.1
+    box.maxy = 0.2
+    box.minz = 0.1
+    box.maxz = 0.2
+    SetOperatorOptions(box)
+
+    DrawPlots()
+
+    SetViewExtentsType("actual")
+    v = GetView3D()
+    v.viewNormal = (0.27, 0.27, 0.93)
+    v.focus = (0.35, 0.15, 0.15)
+    v.viewUp = (-0.06, 0.96, -0.26)
+    v.parallelScale = 0.139692
+    v.nearPlane = -0.28
+    v.farPlane = 0.28
+    SetView3D(v)
+
+    Test("mesh_rect3d_01")
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("multi_rect3d.silo"))
+
+def TestAutoOpaqueFlag():
+    TestSection("Testing Mesh plot's opaque flag")
+
+    # Set up a mesh plot with the auto opaque flag.
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Mesh", "mesh1")
+    m = MeshAttributes()
+    m.opaqueMode = m.Auto
+    SetPlotOptions(m)
+    ResetView()
+    TurnMaterialsOn()
+    DrawPlots()
+    Test("mesh_opaque_01")
+
+    # Add a Pseudocolor plot and make sure that the mesh plot
+    # is not drawn in opaque mode.
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    Test("mesh_opaque_02")
+
+    # Hide the Pseudocolor plot and make sure that the mesh plot
+    # goes opaque.
+    HideActivePlots()
+    Test("mesh_opaque_03")
+
+    # Unhide the Pseudocolor plot and then delete it. Make sure that the
+    # mesh plot goes opaque.
+    HideActivePlots()
+    Test("mesh_opaque_04")
+    DeleteActivePlots()
+    Test("mesh_opaque_05")
+    DeleteAllPlots()
+
+    # Restore a session file that has a keyframe animation where the mesh
+    # plot exists over all frames but the Pseudocolor plot does not.
+    RestoreSessionWithDifferentSources(tests_path("plots","mesh_opaque.session"), 0,
+                                       silo_data_path("wave*.silo database"))
+    # Turn off all annotations but preserve the background colors.
+    TurnOffAllAnnotations(GetAnnotationAttributes())
+    Test("mesh_opaque_06")
+    SetTimeSliderState(4)
+    Test("mesh_opaque_07")
+    SetTimeSliderState(9)
+    Test("mesh_opaque_08")
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("globe.silo"))
+
+def TestRandomColor():
+    TestSection("Testing random color mode")
+    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
+
+    # Randomization of mesh colors is possible only at plot *creation* time.
+    # Therefore, we need to adjust Mesh plot default attributes to set
+    # the behavior *before* the plot is even created.
+    m = MeshAttributes()
+    savedMeshAttrs = m
+    m.meshColorSource = m.MeshRandom
+    SetDefaultPlotOptions(m)
+    AddPlot("Mesh", "2D/mesh1_phzl")
+    ResetView()
+    DrawPlots()
+    Test("mesh_random_color_01")
+    DeleteActivePlots()
+
+    m.meshColorSource = m.Foreground
+    SetDefaultPlotOptions(m)
+    AddPlot("Mesh", "2D/mesh1_phzl")
+    DrawPlots()
+    Test("mesh_random_color_02")
+    DeleteAllPlots()
+
+    # Add a series of mesh plots with random opaque color
+    m = MeshAttributes()
+    m.opaqueColorSource = m.OpaqueRandom
+    SetDefaultPlotOptions(m)
+    meshnames = ["2D/mesh1_phzl", "2D/mesh1_phzl2", "2D/mesh1_zl1", "2D/mesh1_zl2"]
+    for i in range(len(meshnames)):
+        mname = meshnames[i]
+        AddPlot("Mesh", mname)
+        AddOperator("Transform")
+        ta = TransformAttributes()
+        ta.doTranslate = 1
+        ta.translateY = 3*i
+        SetOperatorOptions(ta)
+    DrawPlots()
+    Test("mesh_random_color_03")
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
+    SetDefaultPlotOptions(savedMeshAttrs)
+
+def TestCustomColor():
+    TestSection("Testing custom color mode")
+    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
+
+    meshnames = ["2D/mesh1_phzl", "2D/mesh1_phzl2", "2D/mesh1_zl1", "2D/mesh1_zl2"]
+    colors = [(255,0,0,255),(0,255,0,255),(0,0,255,255),(0,255,255,255)]
+    for i in range(len(meshnames)):
+        mname = meshnames[i]
+        AddPlot("Mesh", mname)
+        m = MeshAttributes()
+        m.opaqueColorSource = m.OpaqueCustom
+        m.opaqueColor = colors[i]
+        m.meshColorSource = m.MeshCustom
+        m.meshColor = (255,255,255,255)
+        SetPlotOptions(m)
+        AddOperator("Transform")
+        ta = TransformAttributes()
+        ta.doTranslate = 1
+        ta.translateY = 3*i
+        SetOperatorOptions(ta)
+        DrawPlots()
+    Test("mesh_custom_color_01")
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
+
+def Main():
+    TurnOffAllAnnotations()
+    TestRandomColor()
+    TestCurve()
+    TestPointMesh()
+    TestGlobe()
+    TestRect3d()
+    TestAutoOpaqueFlag()
+    TestCustomColor()
+
+# Added to allow this test to be run with compression too.
+# Another .py file sources this file with 'useCompression'
+# defined.
+if "useCompression" in dir():
+    ra = GetRenderingAttributes()
+    ra.compressionActivationMode = ra.Always
+    SetRenderingAttributes(ra)
+
+Main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_molecule.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_molecule.html new file mode 100644 index 000000000..050b96dfd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_molecule.html @@ -0,0 +1,123 @@ + +Results for plots/molecule.py + +

Results of VisIt Regression Test - plots/molecule

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
molecule_010.000.00
molecule_020.000.00
molecule_030.000.00
molecule_040.000.00
molecule_050.000.00
molecule_060.000.00
molecule_070.000.00
Replicate and CreateBonds operators with Molecule plot
mol_rep_bonds_010.000.00
mol_rep_bonds_020.000.00
mol_rep_bonds_030.000.00
mol_rep_bonds_040.000.00
mol_rep_bonds_050.000.00
mol_rep_bonds_060.000.00
mol_rep_bonds_070.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_molecule_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_molecule_py.html new file mode 100644 index 000000000..86cbf1bf0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_molecule_py.html @@ -0,0 +1,242 @@ +plots/molecule.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  molecule.py
+#
+#  Tests:      mesh      - 3D points
+#              plots     - Molecule
+#              operators - CreateBonds, Replicate
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 15, 2021 
+#
+#  Modifications:
+#
+#    Kathleen Biagas, Tue Jul 13 09:51:58 PDT 2021
+#    Changed retrieval of renAtts from 'RenderingAttributes' to
+#    'GetRenderingAttributes' when turning off specular highlighting. This
+#    fixes a bug in scalable,parallel,icet mode where molecule_04 test would
+#    fail to plot.
+#
+# ----------------------------------------------------------------------------
+
+def SetGradientBackground():
+    annot = GetAnnotationAttributes()
+    annot.backgroundMode = annot.Gradient
+    annot.gradientBackgroundStyle = annot.Radial
+    annot.gradientColor1 = (102, 102, 153, 255)
+    annot.gradientColor2 = (0, 0, 0, 255)
+    annot.backgroundColor = (0, 0, 0, 255)
+    annot.foregroundColor = (255, 255, 255, 255)
+    SetAnnotationAttributes(annot)
+
+def SetWhiteBackground():
+    annot = GetAnnotationAttributes()
+    annot.backgroundMode = annot.Solid
+    annot.foregroundColor = (0, 0, 0, 255)
+    annot.backgroundColor = (255, 255, 255, 255)
+    SetAnnotationAttributes(annot)
+
+def Test500x500(name):
+    # Save these images somewhat larger than a regular test case image
+    # to better see the molecules 
+    backup = GetSaveWindowAttributes()
+    swa = SaveWindowAttributes()
+    swa.width = 500
+    swa.height = 500
+    swa.screenCapture = 1
+    Test(name, swa)
+    SetSaveWindowAttributes(backup)
+
+
+def MoleculeOnly():
+    # images similar to those in Molecule Plot docs
+
+    SetGradientBackground()
+
+    # add specular highlighting
+    renAtts = GetRenderingAttributes()
+    renAtts.specularFlag = 1
+    SetRenderingAttributes(renAtts)
+
+    OpenDatabase(data_path("ProteinDataBank_test_data/crotamine.pdb"))
+
+    # color by element, Covalent radius, no bonds
+    AddPlot("Molecule", "element")
+    mol = MoleculeAttributes()
+    mol.drawAtomsAs   = mol.SphereAtoms
+    mol.scaleRadiusBy = mol.Covalent
+    mol.drawBondsAs   = mol.NoBonds
+    SetPlotOptions(mol)
+
+    DrawPlots()
+
+    v3d = GetView3D()
+    v3d.viewNormal = (0.784142, -0.592494, -0.184587)
+    v3d.viewUp = (-0.554863, -0.536159, -0.636129)
+    v3d.imageZoom = 1.77156
+    SetView3D(v3d)
+
+    Test500x500("molecule_01")
+
+    # color by residue, cylinder bonds, radius proportional to covalent radius
+    ChangeActivePlotsVar("restype")
+    mol.drawBondsAs = mol.CylinderBonds
+    mol.radiusScaleFactor = 0.5
+    SetPlotOptions(mol)
+    DrawPlots()
+    Test500x500("molecule_02")
+
+    # color by scalar (x-coord), no bonds
+    DefineScalarExpression("x", "coord(mesh)[0]")
+    ChangeActivePlotsVar("x")
+    mol.drawAtomsAs = mol.NoAtoms
+    SetPlotOptions(mol)
+    DrawPlots()
+    Test500x500("molecule_03")
+
+    # Create a blue-purple color table
+    ccpl = ColorControlPointList()
+    ccpl.discreteFlag=1
+    ccpl.smoothing=ccpl.NONE
+    ccpl.equalSpacingFlag=1
+    p1 = ColorControlPoint()
+    p1.colors = (51, 51, 153, 255)
+    p1.position =  0
+    ccpl.AddControlPoints(p1)
+    p2 = ColorControlPoint()
+    p2.colors = (204,153, 255, 255)
+    p2.position =  1
+    ccpl.AddControlPoints(p2)
+    AddColorTable("BluePurp2", ccpl)
+
+    # color by backbone, atom and cylinder-bonds same fixed radius
+    # special color table
+    ChangeActivePlotsVar("backbone")
+    mol.continuousColorTable="BluePurp2"
+    mol.drawAtomsAs = mol.SphereAtoms
+    mol.drawBondsAs = mol.CylinderBonds
+    mol.scaleRadiusBy = mol.Fixed
+    mol.radiusFixed = 0.2
+    mol.bondRadius = 0.2
+    SetPlotOptions(mol)
+
+    DrawPlots()
+    # turn off specular highlighting
+    renAtts = GetRenderingAttributes()
+    renAtts.specularFlag = 0
+    SetRenderingAttributes(renAtts)
+    Test500x500("molecule_04")
+
+    DeleteAllPlots()
+
+    # ensure engine/viewer doesn't crash when using ImposterAtoms and scaleRadiusBy option is changed
+    AddPlot("Molecule", "element")
+    # get Fresh atts
+    mol = MoleculeAttributes()
+    # set up sphere imposters
+    mol.drawAtomsAs = mol.ImposterAtoms
+    SetPlotOptions(mol)
+    DrawPlots()
+    Test500x500("molecule_05")
+    # now change scaleRadiusBy
+    mol.scaleRadiusBy = mol.Covalent
+    mol.radiusScaleFactor=4
+    SetPlotOptions(mol)
+    DrawPlots()
+    Test500x500("molecule_06")
+
+    # changing radiusScaleFactor while using Imposter atoms used to crash the viewer
+    mol.radiusScaleFactor=0.002
+    SetPlotOptions(mol)
+    DrawPlots()
+    Test500x500("molecule_07")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("ProteinDataBank_test_data/crotamine.pdb"))
+
+def ReplicateAddBonds():
+    TestSection("Replicate and CreateBonds operators with Molecule plot")
+    SetWhiteBackground()
+    OpenDatabase(data_path("vasp_test_data", "GaO40W12", "OUTCAR"))
+    AddPlot("Mesh", "unitCell")
+    AddPlot("Molecule", "element")
+    mol = MoleculeAttributes()
+    mol.radiusFixed=0.5
+    SetPlotOptions(mol)
+    DrawPlots()
+    ResetView()
+
+    v3D = GetView3D()
+    v3D.viewNormal = (0.0378647, -0.776117, -0.62945) #(-0.465303, -0.758273, 0.456634)
+    v3D.viewUp = (0.839533, -0.366352, -0.401212) #(-0.0844518, 0.55156, 0.829849)
+    v3D.imageZoom=2.177156
+    v3D.imagePan=(0.0217552, 0.0165363)
+    SetView3D(v3D)
+
+    Test500x500("mol_rep_bonds_01")
+
+    # Add replicate operator 
+    SetActivePlots((0,1))
+    AddOperator("Replicate", 1)
+    repl = ReplicateAttributes()
+    repl.useUnitCellVectors = 1
+    repl.mergeResults = 1
+    # replicate along unit cell boundaries
+    repl.replicateUnitCellAtoms = 1
+    SetOperatorOptions(repl, 0, 1)
+    DrawPlots()
+    Test500x500("mol_rep_bonds_02")
+
+    # create a replication along y
+    repl.yReplications=2
+    SetOperatorOptions(repl, 1, 1)
+    DrawPlots()
+
+    Test500x500("mol_rep_bonds_03")
+
+    # Create bonds 
+    SetActivePlots(1)
+    AddOperator("CreateBonds")
+    cb = CreateBondsAttributes()
+    cb.atomicNumber1 = (31, 74)
+    cb.atomicNumber2 = (8, 8)
+    cb.minDist = (0.4, 0.4)
+    cb.maxDist = (1.9, 2.4)
+    SetOperatorOptions(cb)
+    DrawPlots()
+
+    Test500x500("mol_rep_bonds_04")
+
+    # have the CreateBonds operator create periodic bonds
+    cb.addPeriodicBonds = 1
+    cb.useUnitCellVectors = 1
+    SetOperatorOptions(cb)
+    DrawPlots()
+
+    Test500x500("mol_rep_bonds_05")
+
+    # Change bond style to lines
+    mol.drawBondsAs = mol.LineBonds
+    mol.bondLineWidth = 5
+    SetPlotOptions(mol)
+    DrawPlots()
+
+    Test500x500("mol_rep_bonds_06")
+
+    # Change atom radius
+    mol.drawBondsAs = mol.CylinderBonds
+    mol.scaleRadiusBy = mol.Atomic
+    mol.radiusScaleFactor = 0.7
+    SetPlotOptions(mol)
+    DrawPlots()
+
+    Test500x500("mol_rep_bonds_07")
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("vasp_test_data", "GaO40W12", "OUTCAR"))
+
+MoleculeOnly()
+ReplicateAddBonds()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_multicolor.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_multicolor.html new file mode 100644 index 000000000..777eb46b4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_multicolor.html @@ -0,0 +1,201 @@ + +Results for plots/multicolor.py + +

Results of VisIt Regression Test - plots/multicolor

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Testing setting of multiColor in Boundary plot
multicolor_0_000.000.00
multicolor_0_010.000.00
multicolor_0_020 modifications totalling 0 lines
multicolor_0_030.000.00
multicolor_0_040 modifications totalling 0 lines
multicolor_0_050.000.00
multicolor_0_060 modifications totalling 0 lines
Testing setting of multiColor in Contour plot
multicolor_1_000.000.00
multicolor_1_010.000.00
multicolor_1_020 modifications totalling 0 lines
multicolor_1_030.000.00
multicolor_1_040 modifications totalling 0 lines
multicolor_1_050.000.00
multicolor_1_060 modifications totalling 0 lines
Testing setting of multiColor in FilledBoundary plot
multicolor_2_000.000.00
multicolor_2_010.000.00
multicolor_2_020 modifications totalling 0 lines
multicolor_2_030.000.00
multicolor_2_040 modifications totalling 0 lines
multicolor_2_050.000.00
multicolor_2_060 modifications totalling 0 lines
Testing setting of multiColor in Subset plot
multicolor_3_000.000.00
multicolor_3_010.000.00
multicolor_3_020 modifications totalling 0 lines
multicolor_3_030.000.00
multicolor_3_040 modifications totalling 0 lines
multicolor_3_050.000.00
multicolor_3_060 modifications totalling 0 lines
Testing user defined colors for FilledBoundary
multicolor_matcolors0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_multicolor_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_multicolor_py.html new file mode 100644 index 000000000..0e3351ac3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_multicolor_py.html @@ -0,0 +1,229 @@ +plots/multicolor.py
# ----------------------------------------------------------------------------
+#  MODES: serial
+#  CLASSES: nightly
+#
+#  Test Case:  multicolor.py
+#
+#  Tests:      Tests setting colors using the multiColor field in some of
+#              our plots.
+#              Plots     - Boundary, Contour, FilledBoundary, Subset
+#              Operators - Transform
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Apr 6 17:52:12 PST 2005
+#
+#  Modifications:
+#
+#    Mark C. Miller, Thu Jul 13 22:41:56 PDT 2006
+#    Added test of user-specified material colors
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+def TestColorDefinitions(testname, colors):
+    s = ""
+    for c in colors:
+        s = s + str(c) + "\n"
+    TestText(testname, s)
+
+def TestMultiColor(section, plotAtts, decreasingOpacity):
+    # Get the current colors.
+    m = plotAtts.GetMultiColor()
+
+    # Test what the image currently looks like.
+    Test("multicolor_%d_00" % section)
+
+    # Change the colors all at once. We should have red->blue
+    for i in range(len(m)):
+        t = float(i) / float(len(m) - 1)
+        c = int(t * 255.)
+        m[i] = (255-c, 0, c, 255)
+    plotAtts.SetMultiColor(m)
+    SetPlotOptions(plotAtts)
+    Test("multicolor_%d_01" % section)
+    TestColorDefinitions("multicolor_%d_02" % section, plotAtts.GetMultiColor())
+
+    # Change the colors another way. We should get green to blue
+    for i in range(len(m)):
+        t = float(i) / float(len(m) - 1)
+        c = int(t * 255.)
+        plotAtts.SetMultiColor(i, 0, 255-c, c)
+    SetPlotOptions(plotAtts)
+    Test("multicolor_%d_03" % section)
+    TestColorDefinitions("multicolor_%d_04" % section, plotAtts.GetMultiColor())
+
+    # Change the colors another way. We should get yellow to red but
+    # the redder it gets, the more transparent it should also get.
+    for i in range(len(m)):
+        t = float(i) / float(len(m) - 1)
+        c = int(t * 255.)
+        if decreasingOpacity:
+            plotAtts.SetMultiColor(i, (255, 255-c, 0, 255 - c))
+        else:
+            plotAtts.SetMultiColor(i, (255, 255-c, 0, c))
+    SetPlotOptions(plotAtts)
+    Test("multicolor_%d_05" % section)
+    TestColorDefinitions("multicolor_%d_06" % section, plotAtts.GetMultiColor())
+
+def test1():
+    TestSection("Testing setting of multiColor in Boundary plot")
+    # Set up the plot
+    OpenDatabase(silo_data_path("rect2d.silo"))
+
+    AddPlot("Boundary", "mat1")
+    b = BoundaryAttributes()
+    b.lineWidth = 4
+    DrawPlots()
+
+    # Test the plot
+    TestMultiColor(0, b, 0)
+
+    # Delete the plots
+    DeleteAllPlots()
+
+def test2():
+    TestSection("Testing setting of multiColor in Contour plot")
+    # Set up the plot
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Contour", "hardyglobal")
+    c = ContourAttributes()
+    c.contourNLevels = 20
+    SetPlotOptions(c)
+    DrawPlots()
+
+    # Set the view.
+    v = GetView3D()
+    v.viewNormal = (-0.400348, -0.676472, 0.618148)
+    v.focus = (0,0,0)
+    v.viewUp = (-0.916338, 0.300483, -0.264639)
+    v.parallelScale = 17.3205
+    v.imagePan = (0, 0.0397866)
+    v.imageZoom = 1.07998
+    SetView3D(v)
+
+    # Test the plot
+    TestMultiColor(1, c, 0)
+
+    # Delete the plots
+    DeleteAllPlots()
+
+def test3():
+    TestSection("Testing setting of multiColor in FilledBoundary plot")
+    # Set up the plots. First we want globe so we can see something inside
+    # of the Subset plot to make sure that setting alpha works.
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "w")
+    p = PseudocolorAttributes()
+    p.legendFlag = 0
+    p.colorTableName = "xray"
+    SetPlotOptions(p)
+    OpenDatabase(silo_data_path("bigsil.silo"))
+
+    AddPlot("FilledBoundary", "mat")
+    f = FilledBoundaryAttributes()
+    f.legendFlag = 0
+    SetPlotOptions(f)
+
+    # Add an operator to globe to make it small.
+    SetActivePlots(0)
+    AddOperator("Transform", 0)
+    t = TransformAttributes()
+    t.doScale = 1
+    t.scaleX, t.scaleY, t.scaleZ = 0.04, 0.04, 0.04
+    t.doTranslate = 1
+    t.translateX, t.translateY, t.translateZ = 0.5, 0.5, 0.5
+    SetOperatorOptions(t)
+    SetActivePlots(1)
+    DrawPlots()
+
+    # Set the view.
+    v = GetView3D()
+    v.viewNormal = (-0.385083, -0.737931, -0.554229)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (-0.922871, 0.310902, 0.227267)
+    v.parallelScale = 0.866025
+    v.imagePan = (-0.0165315, 0.0489375)
+    v.imageZoom = 1.13247
+    SetView3D(v)
+
+    # Test the plot
+    TestMultiColor(2, f, 1)
+
+    # Delete the plots
+    DeleteAllPlots()
+
+def test4():
+    TestSection("Testing setting of multiColor in Subset plot")
+    # Set up the plots. First we want globe so we can see something inside
+    # of the Subset plot to make sure that setting alpha works.
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "w")
+    p = PseudocolorAttributes()
+    p.legendFlag = 0
+    p.colorTableName = "xray"
+    SetPlotOptions(p)
+    OpenDatabase(silo_data_path("bigsil.silo"))
+
+    AddPlot("Subset", "domains")
+    s = SubsetAttributes()
+    s.legendFlag = 0
+    SetPlotOptions(s)
+
+    # Add an operator to globe to make it small.
+    SetActivePlots(0)
+    AddOperator("Transform", 0)
+    t = TransformAttributes()
+    t.doScale = 1
+    t.scaleX, t.scaleY, t.scaleZ = 0.04, 0.04, 0.04
+    t.doTranslate = 1
+    t.translateX, t.translateY, t.translateZ = 0.5, 0.5, 0.5
+    SetOperatorOptions(t)
+    SetActivePlots(1)
+    DrawPlots()
+
+    # Set the view.
+    v = GetView3D()
+    v.viewNormal = (-0.385083, -0.737931, -0.554229)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (-0.922871, 0.310902, 0.227267)
+    v.parallelScale = 0.866025
+    v.imagePan = (-0.0165315, 0.0489375)
+    v.imageZoom = 1.13247
+    SetView3D(v)
+
+    # Test the plot
+    TestMultiColor(3, s, 1)
+
+    # Delete the plots
+    DeleteAllPlots()
+
+def test5():
+    TestSection("Testing user defined colors for FilledBoundary")
+
+    ResetView()
+    OpenDatabase(silo_data_path("globe_matcolors.silo"))
+
+    AddPlot("FilledBoundary","mat1")
+    AddOperator("Slice")
+    DrawPlots()
+
+    Test("multicolor_matcolors")
+
+    DeleteAllPlots()
+
+def main():
+    test1()
+    test2()
+    test3()
+    test4()
+    test5()
+
+# Run the tests
+main()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_parcoords.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_parcoords.html new file mode 100644 index 000000000..55862dc17 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_parcoords.html @@ -0,0 +1,129 @@ + +Results for plots/parcoords.py + +

Results of VisIt Regression Test - plots/parcoords

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Test scalar collection sources
parcoords_010.000.00
parcoords_020.000.00
parcoords_030.000.00
parcoords_040.000.00
parcoords_050.000.00
parcoords_060.000.00
Test array expression sources
parcoords_070.000.00
parcoords_080.000.00
parcoords_090.000.00
parcoords_100.000.00
Test raw database array sources
parcoords_110.000.00
parcoords_120.000.00
parcoords_130.000.00
parcoords_140.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_parcoords_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_parcoords_py.html new file mode 100644 index 000000000..1bc836538 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_parcoords_py.html @@ -0,0 +1,196 @@ +plots/parcoords.py
# ----------------------------------------------------------------------------
+#  MODES: serial
+#  CLASSES: nightly
+#
+#  Test Case:  parcoords.py
+#
+#  Tests:      Tests the parallel coordinates plot
+#
+#  Programmer: Jeremy Meredith
+#  Date:       January 31, 2008
+#
+#  Modifications:
+#    Jeremy Meredith, Mon Feb  4 16:11:21 EST 2008
+#    Removed axis extents from plot attributes since they were unused.
+#
+#    Jeremy Meredith, Fri Feb  8 13:49:58 EST 2008
+#    Added support for array variable expressions, raw database array
+#    variables, clamping plot limits, and changing viewports.
+#
+#    Jeremy Meredith, Mon Feb 18 16:50:02 EST 2008
+#    Renamed orderedAxisNames to scalarAxisNames.
+#    Added setting of visualAxisNames in one of the places we create the plot
+#    from a list of scalar.  This isn't strictly necessary, since the
+#    plot can do this for us, but the GUI Wizard knows to do this, and so
+#    setting visualAxisNames matches the GUI behavior more closely.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Hank Childs, Mon Nov 22 11:12:28 PST 2010
+#    Add tests that include the Threshold operator, which test whether or not
+#    extents are maintained.
+#
+# ----------------------------------------------------------------------------
+
+
+#
+# Trying out collections of scalars as a source
+#
+TestSection("Test scalar collection sources")
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+
+# Set default plot variables
+p = ParallelCoordinatesAttributes()
+p.drawLines = 1
+p.linesColor = (128, 0, 0, 255)
+p.drawContext = 1
+p.contextGamma = 2
+p.contextNumPartitions = 512
+p.contextColor = (0, 220, 0, 255)
+p.drawLinesOnlyIfExtentsOn = 1
+SetDefaultPlotOptions(p)
+
+# Set up a simple 3 variable parallel coordinates plot.
+AddPlot("ParallelCoordinates", "hardyglobal")
+p.scalarAxisNames = ("hardyglobal", "shepardglobal", "chromeVf")
+p.visualAxisNames = p.scalarAxisNames # unnecessary, but strictly correct
+p.extentMinima = (-1e+37, -1e+37, -1e+37)
+p.extentMaxima = (+1e+37, +1e+37, +1e+37)
+SetPlotOptions(p)
+DrawPlots()
+Test("parcoords_01")
+
+# Try setting some appearance-related attributes
+p.contextGamma = 2.9
+p.contextNumPartitions = 128
+p.contextColor = (200, 0, 255, 255)
+SetPlotOptions(p)
+Test("parcoords_02")
+
+p.contextGamma = 2.9
+p.contextNumPartitions = 32
+p.contextColor = (200, 0, 255, 255)
+p.drawLinesOnlyIfExtentsOn = 0
+SetPlotOptions(p)
+Test("parcoords_03")
+
+# Add an axis and make sure it works
+p.scalarAxisNames = ("hardyglobal", "shepardglobal", "chromeVf", "radial")
+p.visualAxisNames = () # test to make sure it works without setting this
+p.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
+p.extentMaxima = (+1e+37, +1e+37, +1e+37, +1e+37)
+p.drawLinesOnlyIfExtentsOn = 1
+SetPlotOptions(p)
+Test("parcoords_04")
+
+# Make sure the extents work for limiting the lines
+p.extentMinima = (5.7, -1e+37, -1e+37, -1e+37)
+p.extentMaxima = (5.8, +1e+37, +1e+37, +1e+37)
+SetPlotOptions(p)
+Test("parcoords_05")
+
+# Try unifying the extents across all axes
+p.unifyAxisExtents = 1
+SetPlotOptions(p)
+Test("parcoords_06")
+
+
+#
+# Trying out array variables as a source
+#
+TestSection("Test array expression sources")
+
+# Try an array variable
+DeleteAllPlots();
+
+OpenDatabase(data_path("okc_test_data/astronomy.okc"))
+
+
+DefineArrayExpression("arrayvar1",
+                      "array_compose(d, b, b/2, b+l)")
+DefineArrayExpression("arrayvar2",
+                      "array_compose(d+200, l, l-2, b+l)")
+DefineArrayExpression("arrayvar2wb",
+                      "array_compose_with_bins(d+200, l, l-2, b+l, [0,1,4,15,20])")
+
+AddPlot("ParallelCoordinates", "arrayvar1")
+p = ParallelCoordinatesAttributes()
+p.contextColor = (100, 100, 255, 255)
+p.contextNumPartitions = 32
+SetPlotOptions(p)
+DrawPlots()
+Test("parcoords_07")
+
+# Try changing the array variable
+ChangeActivePlotsVar("arrayvar2")
+Test("parcoords_08")
+
+# Now change to one with bin-width defined axis x positions
+ChangeActivePlotsVar("arrayvar2wb")
+Test("parcoords_09")
+
+# Now clamp the axis array limits
+p.unifyAxisExtents = 1
+SetPlotOptions(p)
+Test("parcoords_10")
+
+#
+# Trying out raw database-generated array as a source
+#
+TestSection("Test raw database array sources")
+
+
+# Now change to a raw database-generated array variable
+ChangeActivePlotsVar("all_vars")
+p.unifyAxisExtents = 0;
+p.contextColor = (255,150,50,255)
+SetPlotOptions(p)
+
+# Try changing the viewport so it looks a little more normal
+v = GetViewAxisArray()
+v.viewportCoords = (0.15,0.9, 0.3,0.7)
+SetViewAxisArray(v)
+Test("parcoords_11")
+
+# Now clamp the axis array limits again
+p.unifyAxisExtents = 1
+SetPlotOptions(p)
+Test("parcoords_12")
+
+DeleteAllPlots()
+ActivateDatabase(silo_data_path("noise.silo"))
+
+AddPlot("ParallelCoordinates", "hardyglobal")
+p = ParallelCoordinatesAttributes()
+p.scalarAxisNames = ("hardyglobal", "shepardglobal")
+p.visualAxisNames = p.scalarAxisNames # unnecessary, but strictly correct
+p.extentMinima = (-1e+37, -1e+37)
+p.extentMaxima = (+1e+37, +1e+37)
+p.drawFocusAs = p.IndividualLines
+p.drawContext = 0
+p.drawLinesOnlyIfExtentsOn = 0
+SetPlotOptions(p)
+DefineScalarExpression("zoneid", "zoneid(Mesh)")
+AddOperator("Threshold")
+t = ThresholdAttributes()
+t.listedVarNames = ("zoneid")
+t.zonePortions = (1)
+t.lowerBounds = (100000.5)
+t.upperBounds = (100001.5)
+t.defaultVarName = "hardyglobal"
+t.defaultVarIsScalar = 1
+SetOperatorOptions(t)
+DrawPlots()
+ResetView()
+Test("parcoords_13")
+
+# Now have multiple cells
+t.upperBounds = (100005.5)
+SetOperatorOptions(t)
+Test("parcoords_14")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_pseudocolor.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_pseudocolor.html new file mode 100644 index 000000000..b2aa29721 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_pseudocolor.html @@ -0,0 +1,429 @@ + +Results for plots/pseudocolor.py + +

Results of VisIt Regression Test - plots/pseudocolor

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
pseudocolor_010.000.00
pseudocolor_domain_bounds_010.000.00
pseudocolor_domain_bounds_020.000.00
pseudocolor_domain_bounds_030.000.00
Point Glyphing: Topological dimension not set to 0
pseudocolor_point_glyphs_010.000.00
pseudocolor_point_glyphs_020.000.00
pseudocolor_point_glyphs_030.000.00
pseudocolor_point_glyphs_040.000.00
pseudocolor_point_glyphs_050.000.00
pseudocolor_point_glyphs_060.000.00
Point Glyphing: Lighting
pseudocolor_point_glyphs_070.000.00
pseudocolor_point_glyphs_080.000.00
Point Glyphing: Changing Opacity
pseudocolor_point_glyphs_090.000.00
pseudocolor_point_glyphs_100.000.00
Unstructured grid, cell-centered data, poly-vertex cells
pseudocolor_point_glyphs_110.000.00
pseudocolor_point_glyphs_120.000.00
pseudocolor_point_glyphs_130.000.00
scaling point glyphs by variable
pseudocolor_point_glyphs_140.000.00
pseudocolor_point_glyphs_150.000.00
pseudocolor_point_glyphs_160.000.00
pseudocolor_point_glyphs_170.000.00
ugrid, vertex and poly vertex, line and polyline
pseudocolor_mixed_cells_010.000.00
pseudocolor_mixed_cells_020.000.00
pseudocolor_mixed_cells_030.000.00
pseudocolor_mixed_cells_040.000.00
pseudocolor_mixed_cells_050.000.00
Line Tubes
pseudocolor_line_tube_010.000.00
pseudocolor_line_tube_020.000.00
pseudocolor_line_tube_030.000.00
pseudocolor_line_tube_040.000.00
pseudocolor_line_tube_050.000.00
pseudocolor_line_tube_060.000.00
pseudocolor_line_tube_070.000.00
pseudocolor_line_tube_080.000.00
pseudocolor_line_tube_090.000.00
Line Ribbons
pseudocolor_line_ribbon_010.000.00
pseudocolor_line_ribbon_020.000.00
pseudocolor_line_ribbon_030.000.00
pseudocolor_line_ribbon_040.000.00
pseudocolor_line_ribbon_050.000.00
pseudocolor_line_ribbon_060.000.00
line endpoints
pseudocolor_line_endpoints_010.000.00
pseudocolor_line_endpoints_020.000.00
pseudocolor_line_endpoints_030.000.00
pseudocolor_line_endpoints_040.000.00
pseudocolor_line_endpoints_050.000.00
pseudocolor_line_endpoints_060.000.00
pseudocolor_line_endpoints_070.000.00
pseudocolor_line_endpoints_080.000.00
pseudocolor_line_endpoints_090.000.00
pseudocolor_line_endpoints_100.000.00
Object rendering options
pseudocolor_rendering_options_010.000.00
pseudocolor_rendering_options_020.000.00
pseudocolor_rendering_options_030.000.00
pseudocolor_rendering_options_040.000.00
pseudocolor_rendering_options_050.000.00
pseudocolor_rendering_options_060.000.00
pseudocolor_rendering_options_070.000.00
pseudocolor_rendering_options_080.000.00
External Surface
pseudocolor_external_surface0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_pseudocolor_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_pseudocolor_py.html new file mode 100644 index 000000000..d14a5aeb4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_pseudocolor_py.html @@ -0,0 +1,556 @@ +plots/pseudocolor.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case: pseudocolor.py 
+#
+#  Tests:      meshes    - 2D rectilinear, 3D curvilinear. 
+#              plots     - pseudocolor 
+#
+#  Defect ID:  '1016, '987
+#
+#  Programmer: Kevin Griffin
+#  Date:       March 19, 2015
+#
+#  Modifications:
+#
+#    Kevin Griffin, Thu Mar 19 12:00:23 PDT 2015
+#    Add test for drawing pseudocolor plot using a log scaling
+#    and very small min value.
+#
+#    Alister Maguire, Wed Jul 17 08:24:37 PDT 2019
+#    Wrapped the first test in a function and added 
+#    TestDomainBoundaries. 
+#
+#    Kathleen Biagas, Wed Nov  6 18:29:29 PST 2019
+#    Add new tests: PointGlyphing MixedTopology Lines ObjectRenderingOptions
+#
+#    Kevin Griffin, Tue Aug  4 11:31:09 PDT 2020
+#    Added ExternalSurface test
+#
+# ----------------------------------------------------------------------------
+
+import itertools
+
+def TestScale():
+    OpenDatabase(silo_data_path("rect2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+
+    pc = PseudocolorAttributes()
+    pc.minFlag = 1
+    pc.min = 1e-5
+    pc.maxFlag = 1
+    pc.max = 1
+    pc.centering = pc.Nodal
+    pc.scaling = pc.Log
+    SetPlotOptions(pc)
+    DrawPlots()
+
+    Test("pseudocolor_01")
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("rect2d.silo"))
+
+def TestDomainBoundaries():
+    #
+    # First, let's remove some domains and make sure that the 
+    # faces are rendered. 
+    #
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    silr = SILRestriction()
+    silr.SuspendCorrectnessChecking()
+    silr.TurnOnAll()
+    for silSet in (41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,61,
+                   62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,
+                   82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,
+                   102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,
+                   118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,
+                   133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,
+                   148,149,150,151,152,153,154,236,237,238,239,240,241,242,243,
+                   244):
+        silr.TurnOffSet(silSet)
+    silr.EnableCorrectnessChecking()
+    SetPlotSILRestriction(silr ,1)
+
+    Test("pseudocolor_domain_bounds_01")
+
+    #
+    # Next, we need to make sure that the processer boundaries are not
+    # rendered when we enable transparency. 
+    #
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (0.883086, 0.11282, 0.455446)
+    View3DAtts.focus = (0, 2.5, 10)
+    View3DAtts.viewUp = (-0.0918142, 0.993447, -0.068068)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 11.4564
+    View3DAtts.nearPlane = -22.9129
+    View3DAtts.farPlane = 22.9129
+    View3DAtts.imagePan = (0, 0)
+    View3DAtts.imageZoom = 1
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (0, 2.5, 10)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+
+    silr = SILRestriction()
+    silr.SuspendCorrectnessChecking()
+    silr.TurnOnAll()
+    for silSet in (41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,61,
+                   62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,
+                   82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,
+                   102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,
+                   118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,
+                   133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,
+                   148,149,150,151,152,153,154):
+        silr.TurnOffSet(silSet)
+    silr.EnableCorrectnessChecking()
+    SetPlotSILRestriction(silr ,1)
+
+    PseudocolorAtts = PseudocolorAttributes()
+    PseudocolorAtts.opacityType = PseudocolorAtts.Constant
+    PseudocolorAtts.opacity = 0.462745
+    SetPlotOptions(PseudocolorAtts)
+
+    Test("pseudocolor_domain_bounds_02")
+
+    #
+    # Now let's make sure that the ghost/face removal has been 
+    # reversed back to its original order when we turn transparency
+    # back off. 
+    #
+    PseudocolorAtts = PseudocolorAttributes()
+    PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
+    SetPlotOptions(PseudocolorAtts)
+
+    silr = SILRestriction()
+    silr.SuspendCorrectnessChecking()
+    silr.TurnOnAll()
+    for silSet in (41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,61,
+                   62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,
+                   82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,
+                   102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,
+                   118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,
+                   133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,
+                   148,149,150,151,152,153,154,236,237,238,239,240,241,242,243,
+                   244):
+        silr.TurnOffSet(silSet)
+    silr.EnableCorrectnessChecking()
+    SetPlotSILRestriction(silr ,1)
+
+    Test("pseudocolor_domain_bounds_03")
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("multi_ucd3d.silo"))
+
+def PointGlyphing():
+    # github issue 3390
+    TestSection("Point Glyphing: Topological dimension not set to 0")
+    idx = itertools.count(1)
+    # Reader not reporting topodim 0
+    OpenDatabase(data_path("blueprint_v0.3.1_test_data/braid_2d_examples.blueprint_root_hdf5"))
+    AddPlot("Pseudocolor", "points_mesh/braid")
+    DrawPlots()
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    # glyph the points with Tets
+    pc = PseudocolorAttributes()
+    pc.pointType = pc.Tetrahedron
+    pc.pointSize = 0.5
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+    # transition back to point
+    pc.pointType = pc.Point
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+    # glyph the points with Sphere 
+    pc.pointType = pc.Sphere
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("blueprint_v0.3.1_test_data/braid_2d_examples.blueprint_root_hdf5"))
+
+    OpenDatabase(data_path("synergia_test_data/vis_particles_* database"), 0, "Vs")
+    AddPlot("Pseudocolor", "particles_0")
+    pc.pointType = pc.Tetrahedron
+    pc.pointSize = 0.005
+    SetPlotOptions(pc)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (-0.882869, -0.011028, 0.469489)
+    v.focus = (-0.000169306, 0.000401067, -0.00167359)
+    v.viewUp = (-0.118292, 0.972711, -0.199599)
+    v.imageZoom = 1.77
+    SetView3D(v);
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    # PsersistentParticles sets the topological dimension incorrectly,
+    # but the points should still be glyphable
+    AddOperator("PersistentParticles")
+    pp = PersistentParticlesAttributes()
+    pp.connectParticles = 0
+    SetOperatorOptions(pp)
+    DrawPlots()
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("synergia_test_data/vis_particles_* database"))
+
+    TestSection("Point Glyphing: Lighting")
+    OpenDatabase(silo_data_path("noise.silo"))
+    AddPlot("Pseudocolor", "PointVar")
+    pc.pointType = pc.Icosahedron
+    pc.pointSize = 3
+    SetPlotOptions(pc)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (0.272848, 0.209847, 0.938892)
+    v.focus = (-0.0242615, -0.170417, -0.0304632)
+    v.viewUp = (0.134518, 0.958013, -0.253212)
+    v.imageZoom=1.5
+    SetView3D(v)
+    # standard lighting
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    # turn off lighting, points should still be glyphed
+    pc.lightingFlag = 0
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+    pc.lightingFlag = 1
+
+    # github issue 1461, 1800
+    TestSection("Point Glyphing: Changing Opacity")
+    pc.opacityType = pc.Constant
+    pc.opacity = 0.25
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    # change glyph type while transparent
+    pc.pointType = pc.Box
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    pc.opacityType = pc.FullyOpaque
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("noise.silo"))
+
+    TestSection("Unstructured grid, cell-centered data, poly-vertex cells")
+    OpenDatabase(data_path("vtk_test_data/ugrid_polyvertex_points.vtk"))
+    AddPlot("Pseudocolor", "foo_cells")
+    DrawPlots()
+    v2 = GetView2D()
+    v2.windowCoords = (-0.945, 9.945, -0.945, 9.945)
+    SetView2D(v2)
+    pc.pointType = pc.Axis
+    pc.pointSize = 0.6
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+    pc.pointType = pc.Box
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+    ChangeActivePlotsVar("u")
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    TestSection("scaling point glyphs by variable")
+    pc.pointSizeVarEnabled = 1
+    pc.pointSize = 0.1
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    pc.pointSizeVar = "foo_cells"
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    ChangeActivePlotsVar("foo_cells")
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+    pc.pointSizeVar = "u"
+    SetPlotOptions(pc)
+    Test("pseudocolor_point_glyphs_%02d" %next(idx))
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/ugrid_polyvertex_points.vtk"))
+
+
+def MixedTopology():
+    TestSection("ugrid, vertex and poly vertex, line and polyline")
+    OpenDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
+    AddPlot("Pseudocolor","foo_cells")
+    pc = PseudocolorAttributes()
+    pc.colorTableName = "rainbow"
+    pc.invertColorTable = 1
+    pc.lineWidth = 2
+    pc.pointSizePixels = 10
+    SetPlotOptions(pc)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (-0.195485, 0.629643, 0.751888)
+    v.focus = (1.5, 0.5, 0.5)
+    v.viewUp = (0.158378, 0.776885, -0.609398)
+    SetView3D(v)
+
+    idx = itertools.count(1)
+    Test("pseudocolor_mixed_cells_%02d"%next(idx))
+
+    pc.pointType = pc.Tetrahedron
+    pc.pointSize = 0.4
+    SetPlotOptions(pc)
+    Test("pseudocolor_mixed_cells_%02d"%next(idx))
+
+    pc.lineType = pc.Tube
+    pc.tubeRadiusBBox = 0.05
+    SetPlotOptions(pc)
+    Test("pseudocolor_mixed_cells_%02d"%next(idx))
+
+    pc.tubeRadiusSizeType = pc.Absolute
+    pc.tubeRadiusAbsolute = 0.125
+    SetPlotOptions(pc)
+    Test("pseudocolor_mixed_cells_%02d"%next(idx))
+
+    pc.tubeRadiusSizeType = pc.FractionOfBBox
+    pc.tailStyle = pc.Spheres
+    pc.headStyle = pc.Cones
+    SetPlotOptions(pc)
+    Test("pseudocolor_mixed_cells_%02d"%next(idx))
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
+
+def DoLines(ltype):
+    pc = PseudocolorAttributes()
+    idx =  itertools.count(1)
+    if ltype == "tube":
+        TestSection("Line Tubes")
+        pc.lineType = pc.Tube
+    else:
+        TestSection("Line Ribbons")
+        pc.lineType = pc.Ribbon
+
+    pc.tubeRadiusSizeType = pc.FractionOfBBox
+    pc.tubeRadiusBBox = 0.2
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
+
+    if ltype == "tube":
+        # test tube resolution
+        pc.tubeResolution = 3
+        SetPlotOptions(pc)
+        Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
+
+        pc.tubeResolution = 4
+        SetPlotOptions(pc)
+        Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
+
+        pc.tubeResolution = 20
+        SetPlotOptions(pc)
+        Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
+
+    pc.tubeRadiusSizeType = pc.Absolute
+    pc.tubeRadiusAbsolute = 0.6
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
+
+    pc.tubeRadiusVarEnabled = 1
+    pc.tubeRadiusVar = "var2"
+    pc.tubeRadiusVarRatio = 2
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
+
+    pc.tubeRadiusVar = "var1"
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
+
+    ChangeActivePlotsVar("var1")
+    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
+
+    pc.tubeRadiusVar = "var2"
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
+
+def DoEndpoints():
+    TestSection("line endpoints")
+    ChangeActivePlotsVar("var2")
+    idx = itertools.count(1)
+    pc = PseudocolorAttributes()
+    pc.lineType = pc.Tube
+    pc.tubeRadiusSizeType = pc.Absolute
+    pc.tubeRadiusAbsolute = 0.1
+    pc.tailStyle = pc.Spheres
+    pc.headStyle = pc.Cones
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_endpoints_%02d"%next(idx))
+
+    pc.endPointRadiusSizeType = pc.Absolute
+    pc.endPointRadiusAbsolute = 0.5
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_endpoints_%02d"%next(idx))
+
+    pc.endPointResolution = 3
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_endpoints_%02d"%next(idx))
+
+    pc.endPointResolution = 20
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_endpoints_%02d"%next(idx))
+
+    pc.endPointRadiusVarEnabled = 1
+    pc.endPointRadiusVar = "var2"
+    pc.endPointRadiusVarRatio = 2
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_endpoints_%02d"%next(idx))
+
+    pc.endPointRadiusVar = "var1"
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_endpoints_%02d"%next(idx))
+
+    ChangeActivePlotsVar("var2")
+    Test("pseudocolor_line_endpoints_%02d"%next(idx))
+
+    pc.endPointRadiusVar = "var2"
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_endpoints_%02d"%next(idx))
+
+    pc.endPointRatio = 1
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_endpoints_%02d"%next(idx))
+
+    pc.endPointRatio = 10
+    SetPlotOptions(pc)
+    Test("pseudocolor_line_endpoints_%02d"%next(idx))
+
+
+def Lines():
+    OpenDatabase(data_path("vtk_test_data/lines.vtk"))
+    AddPlot("Pseudocolor", "var2")
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (0.508199, 0.390103, 0.767824)
+    v.focus = (0, 0, 0)
+    v.viewUp = (-0.065159, 0.906394, -0.417379)
+    v.imageZoom = 1.4641
+    SetView3D(v)
+
+    DoLines("tube")
+    DoLines("ribbon")
+    DoEndpoints()
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/lines.vtk"))
+
+
+def ObjectRenderingOptions():
+    TestSection("Object rendering options")
+    idx = itertools.count(1)
+    OpenDatabase(silo_data_path("rect3d.silo"))
+    AddPlot("Pseudocolor", "p")
+    DrawPlots()
+
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (0.30955, 0.438716, 0.843627)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0.00113002, 0.887033, -0.461704)
+    SetView3D(v)
+
+    Test("pseudocolor_rendering_options_%02d" %next(idx))
+
+    pc = PseudocolorAttributes()
+    pc.renderWireframe = 1
+    pc.wireframeColor = (255, 0, 0)
+    SetPlotOptions(pc)
+    Test("pseudocolor_rendering_options_%02d" %next(idx))
+
+    pc.renderPoints = 1
+    pc.pointColor = (255, 255, 0)
+    SetPlotOptions(pc)
+    Test("pseudocolor_rendering_options_%02d" %next(idx))
+
+    pc.renderSurfaces = 0
+    SetPlotOptions(pc)
+    Test("pseudocolor_rendering_options_%02d" %next(idx))
+
+    pc.renderPoints = 0
+    SetPlotOptions(pc)
+    Test("pseudocolor_rendering_options_%02d" %next(idx))
+
+    pc.renderWireframe = 0
+    pc.renderPoints = 1
+    SetPlotOptions(pc)
+    Test("pseudocolor_rendering_options_%02d" %next(idx))
+
+    pc.pointType = pc.Sphere
+    pc.pointSize = 0.02
+    SetPlotOptions(pc)
+    Test("pseudocolor_rendering_options_%02d" %next(idx))
+
+    pc.renderSurfaces = 1
+    SetPlotOptions(pc)
+    Test("pseudocolor_rendering_options_%02d" %next(idx))
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("rect3d.silo"))
+
+def ExternalSurface():
+    TestSection("External Surface")
+    OpenDatabase(data_path("external_surface_test_data/data.nv0_step00000.root"))
+
+    DefineScalarExpression("dUdy", "gradient(UVelC)[1]")
+
+    AddPlot("Pseudocolor", "UVelC")
+
+    PseudocolorAtts = PseudocolorAttributes()
+    PseudocolorAtts.centering = PseudocolorAtts.Nodal  # Natural, Nodal, Zonal
+    SetPlotOptions(PseudocolorAtts)
+    DrawPlots()
+
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (0.90786, 0.176706, 0.380217)
+    View3DAtts.focus = (3.14159, 0, 1.5708)
+    View3DAtts.viewUp = (-0.166194, 0.98423, -0.0605927)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 3.65199
+    View3DAtts.nearPlane = -7.30397
+    View3DAtts.farPlane = 7.30397
+    View3DAtts.imagePan = (0, 0)
+    View3DAtts.imageZoom = 1
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (3.14159, 0, 1.5708)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+
+    ChangeActivePlotsVar("dUdy")
+    Test("pseudocolor_external_surface")
+    DeleteAllPlots()
+    CloseDatabase(data_path("external_surface_test_data/data.nv0_step00000.root"))
+
+def Main():
+    TestScale()
+    TestDomainBoundaries()
+    PointGlyphing()
+    MixedTopology()
+    Lines()
+    ObjectRenderingOptions()
+    ExternalSurface()
+
+Main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_ray_trace.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_ray_trace.html new file mode 100644 index 000000000..bc30e9da7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_ray_trace.html @@ -0,0 +1,108 @@ + +Results for plots/ray_trace.py + +

Results of VisIt Regression Test - plots/ray_trace

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ray_trace_010.000.00
ray_trace_01_pan0.000.00
ray_trace_020.000.00
ray_trace_030.000.00
ray_trace_040.000.00
ray_trace_050.000.00
ray_trace_05_pan0.000.00
ray_trace_060.000.00
ray_trace_070.000.00
ray_trace_080.000.00
ray_trace_090.000.00
ray_trace_100.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_ray_trace_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_ray_trace_py.html new file mode 100644 index 000000000..0ab6e3ef4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_ray_trace_py.html @@ -0,0 +1,220 @@ +plots/ray_trace.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ray_trace.py
+#
+#  Tests:      ray tracing with the volume plot
+#
+#  Defect ID:  '1949, '5699, '6916
+#
+#  Programmer: Hank Childs
+#  Date:       December 3, 2004
+#
+#  Modifications:
+#    Brad Whitlock, Wed Dec 15 09:36:51 PDT 2004
+#    I changed the flag that's used to make it do software rendering.
+#
+#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
+#    Rename variables that have unsupported characters.
+#
+#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
+#    Allowed spaces in variable names.
+#
+#    Hank Childs, Fri Mar  3 09:09:04 PST 2006
+#    Add testing for ray-tracing in multiple windows.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Hank Childs, Fri Nov 18 08:51:58 PST 2011
+#    Add regression tests for panning while ray tracing.
+#
+# ----------------------------------------------------------------------------
+
+def test1(a):
+    #
+    # Start off by testing that we can bring up a normal volume plot and smooth
+    # the data.  Also test that it can interact with the bounding box correctly.
+    # 
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Volume", "d")
+    vol_atts = VolumeAttributes()
+    vol_atts.rendererType = vol_atts.RayCasting
+    vol_atts.smoothData = 1
+    SetPlotOptions(vol_atts)
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (-0.369824, 0.535308, 0.759391)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (-0.022009, 0.812062, -0.583155)
+    v.viewAngle = 30
+    v.parallelScale = 0.866025
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+
+    Test("ray_trace_01")
+
+    v.imagePan = (0.1, -0.1)
+    SetView3D(v)
+    Test("ray_trace_01_pan")
+    v.imagePan = (0, 0)
+    SetView3D(v)
+
+    #
+    # Now test that it can play with other plots.
+    #
+    AddPlot("Pseudocolor", "d")
+    pc_atts = PseudocolorAttributes()
+    pc_atts.colorTableName = "gray"
+    SetPlotOptions(pc_atts)
+    AddOperator("Slice")
+    slice_atts = SliceAttributes()
+    slice_atts.originPercent = 90
+    slice_atts.axisType = slice_atts.ZAxis
+    slice_atts.originType = slice_atts.Percent
+    slice_atts.project2d = 0
+    SetOperatorOptions(slice_atts)
+    DrawPlots()
+
+    Test("ray_trace_02")
+
+    #
+    # Test that it can play well with other plots when doin orthographic 
+    # projection.
+    #
+    v.perspective = 0
+    SetView3D(v)
+
+    Test("ray_trace_03")
+
+    #
+    # Now test that we handle it well when the near and far clipping planes
+    # intersect the dataset.
+    #
+    v.perspective = 1
+    v.nearPlane = -0.5
+    v.farPlane = 0.5
+    SetView3D(v)
+
+    Test("ray_trace_04")
+
+    DeleteAllPlots()
+
+def test2(a):
+    #
+    # Test that we can do curvilinear/unstructured meshes, which do an entirely
+    # different sort of sampling.
+    #
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+    AddPlot("Volume", "d")
+    vol_atts = VolumeAttributes()
+    vol_atts.rendererType = vol_atts.RayCasting
+    vol_atts.smoothData = 0
+    SetPlotOptions(vol_atts)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (-0.369824, 0.535308, 0.759391)
+    v.viewUp = (-0.022009, 0.812062, -0.583155)
+    SetView3D(v)
+
+    Test("ray_trace_05")
+
+    v.imagePan = (0.1, -0.1)
+    SetView3D(v)
+    Test("ray_trace_05_pan")
+    v.imagePan = (0, 0)
+    SetView3D(v)
+
+    DeleteAllPlots()
+
+def test3(a):
+    #
+    # Test a multi-block rectilinear problem with ghost zones.  Use an AMR problem,
+    # because that will test the best if we are removing ghost zones correctly
+    # (ghost zone values in AMR meshes don't necessarily agree with the values of
+    #  the zones that refine them).
+    #
+    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
+
+    AddPlot("Volume", "Primitive Var _number_0")
+    vol_atts = VolumeAttributes()
+    vol_atts.rendererType = vol_atts.RayCasting
+    vol_atts.smoothData = 0
+    vol_atts.useColorVarMin = 1
+    vol_atts.colorVarMin = 22
+    SetPlotOptions(vol_atts)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (-0.369824, 0.535308, 0.759391)
+    v.viewUp = (-0.022009, 0.812062, -0.583155)
+    SetView3D(v)
+
+    Test("ray_trace_06")
+
+    #
+    # Now do it again for another timestep.
+    #
+    SetTimeSliderState(7)
+    Test("ray_trace_07")
+
+    # 
+    # Now go to window #2 and do some more raytracing.
+    #
+    AddWindow()
+    SetActiveWindow(2)
+    DeleteAllPlots()
+    SetAnnotationAttributes(a)
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Volume", "d")
+    vol_atts = VolumeAttributes()
+    vol_atts.rendererType = vol_atts.RayCasting
+    SetPlotOptions(vol_atts)
+    DrawPlots()
+    Test("ray_trace_08")
+
+    #
+    # There was a bug where adding a new plot with a different variable
+    # would cause the ray tracing to fail.  Test that the fix still works.
+    #
+    AddPlot("Contour", "u")
+    DrawPlots()
+    Test("ray_trace_09")
+
+    # And make sure everything is okay in window #1.
+    SetActiveWindow(1)
+    SetActivePlots(0)
+    DeleteActivePlots()
+    Test("ray_trace_10")
+
+def main():
+    # Turn off all annotation
+    a = AnnotationAttributes()
+    TurnOffAllAnnotations(a)
+
+    # Turn bbox on.  This tests:
+    # - interaction with geometry
+    # - that image based plots still get added to the vis window, causing a 
+    #   bounding box to get generated.
+    a.axes3D.bboxFlag = 1
+    SetAnnotationAttributes(a)
+
+    test1(a)
+    test2(a)
+    test3(a)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_scatter.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_scatter.html new file mode 100644 index 000000000..d5919e536 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_scatter.html @@ -0,0 +1,207 @@ + +Results for plots/scatter.py + +

Results of VisIt Regression Test - plots/scatter

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Test plot options
scatter_000.000.00
scatter_010.000.00
scatter_020.000.00
scatter_030.000.00
scatter_040.000.00
scatter_050.000.00
scatter_060.000.00
scatter_070.000.00
scatter_080.000.00
scatter_090.000.00
scatter_100.000.00
scatter_110.000.00
scatter_120.000.00
scatter_130.000.00
scatter_140.000.00
scatter_150.000.00
scatter_160.000.00
Multiblock and scale to cube
scatter_170.000.00
scatter_180.000.00
scatter_190.000.00
scatter_200.000.00
Set min and max values, make sure colors and extents are right
scatter_210.000.00
scatter_220.000.00
scatter_230.000.00
scatter_240.000.00
scatter_250.000.00
scatter_260.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_scatter_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_scatter_py.html new file mode 100644 index 000000000..ea5355b8b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_scatter_py.html @@ -0,0 +1,343 @@ +plots/scatter.py
# ----------------------------------------------------------------------------
+#  MODES: serial
+#  CLASSES: nightly
+#
+#  Test Case:  scatter.py 
+#
+#  Tests:      Tests the scatter plot
+#
+#  Programmer: Brad Whitlock
+#  Date:       Tue Dec 14 16:58:04 PST 2004
+#
+#  Modifications:
+#    Brad Whitlock, Mon Jul 18 17:19:04 PST 2005
+#    Added tests for multiblock data and "scale to cube" that make sure that
+#    the extents are gotten correctly beforehand. If the extents are not
+#    gathered beforehand for a multi-block dataset when "scale to cube" is
+#    on then each domain will use its local extents to map its values to
+#    a cube and none of the cubes from the different domains will match,
+#    causing an incorrect picture.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+# Set up some annotation settings.
+a = AnnotationAttributes()
+a.backgroundColor = (0,0,0,255)
+a.foregroundColor = (255,255,255,255)
+TurnOffAllAnnotations(a)
+
+TestSection("Test plot options")
+
+#
+# Set up a simple 2 variable scatter plot.
+#
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Scatter", "hardyglobal")
+s = ScatterAttributes()
+s.var2 = "shepardglobal"
+s.scaleCube = 0
+SetPlotOptions(s)
+DrawPlots()
+Test("scatter_00")
+
+v0 = GetView2D()
+
+
+#
+# Try setting x min and max
+#
+s.var1MinFlag = 1
+s.var1MaxFlag = 1
+s.var1Min = 2
+s.var1Max = 4
+SetPlotOptions(s)
+SetView2D(v0)
+Test("scatter_01")
+
+#
+# Try setting some scaling options for x
+#
+s.var1MinFlag = 0
+s.var1MaxFlag = 0
+s.var1Scaling = s.Log
+s.scaleCube = 1
+SetPlotOptions(s)
+ResetView()
+v1 = GetView2D()
+Test("scatter_02")
+
+s.var1Scaling = s.Skew
+s.var1SkewFactor = 10
+SetPlotOptions(s)
+Test("scatter_03")
+s.var1SkewFactor = 0.01
+SetPlotOptions(s)
+Test("scatter_04")
+
+#
+# Add a 3rd dimension
+#
+s.var1Scaling = s.Linear
+s.var3 = "radial"
+s.var3Role = s.Coordinate2
+SetPlotOptions(s)
+v2 = View3DAttributes()
+v2.viewNormal = (-0.70917, 0.324761, 0.625787)
+v2.focus = (0.5, 0.5, 0.5)
+v2.viewUp = (0.218647, 0.945137, -0.242712)
+v2.viewAngle = 30
+v2.parallelScale = 0.866025
+v2.nearPlane = -1.73205
+v2.farPlane = 1.73205
+v2.imagePan = (0.00504899, 0.0411036)
+v2.imageZoom = 1.44477
+v2.perspective = 1
+v2.eyeAngle = 2
+SetView3D(v2)
+Test("scatter_05")
+
+#
+# Add a color dimension
+#
+s.var4 = "default"
+s.var4Role = s.Color
+SetPlotOptions(s)
+Test("scatter_06")
+
+
+#
+# Try the min, max for the color
+#
+s.var4MinFlag = 1
+s.var4Min = 2.5
+SetPlotOptions(s)
+Test("scatter_07")
+
+s.var4MinFlag = 0
+s.var4MaxFlag = 1
+s.var4Max = 3.4
+SetPlotOptions(s)
+Test("scatter_08")
+
+#
+# Try scaling the color
+#
+s.var4MinFlag = 0
+s.var4MaxFlag = 0
+s.var4Scaling = s.Log
+SetPlotOptions(s)
+Test("scatter_09")
+
+s.var4Scaling = s.Skew
+s.var4SkewFactor = 10
+SetPlotOptions(s)
+Test("scatter_10")
+
+s.var4SkewFactor = 0.01
+SetPlotOptions(s)
+Test("scatter_11")
+
+
+#
+# Try changing color variables
+#
+s.var4Scaling = s.Linear
+s.var4 = "chromeVf"
+SetPlotOptions(s)
+Test("scatter_12")
+
+
+#
+# Try changing roles of color and Z.
+#
+s.var4Role = s.Coordinate2
+s.var3Role = s.Color
+SetPlotOptions(s)
+Test("scatter_13")
+
+#
+# Change the roles back and change the color table.
+#
+s.var4Role = s.Color
+s.var3Role = s.Coordinate2
+s.var4 = "hardyglobal"
+s.colorTableName = "gray"
+SetPlotOptions(s)
+Test("scatter_14")
+
+#
+# Make it use a single color
+#
+s.var4Role = s.NONE
+s.colorType = 1
+s.singleColor = (0,255,0,255)
+SetPlotOptions(s)
+Test("scatter_15")
+
+#
+# Turn off the legend
+#
+s.legendFlag = 0
+SetPlotOptions(s)
+Test("scatter_16")
+DeleteActivePlots()
+
+#
+# Try a Scatter plot with multi-block data
+#
+TestSection("Multiblock and scale to cube")
+OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+AddPlot("Scatter", "d")
+s = ScatterAttributes()
+s.var2 = "u"
+s.var2Role = s.Coordinate1
+s.var3 = "v"
+s.var3Role = s.Coordinate2
+s.var4 = "u"
+s.var4Role = s.Color
+s.scaleCube = 1
+s.pointSize = 0.01
+s.pointType = s.Box
+SetPlotOptions(s)
+DrawPlots()
+
+v = View3DAttributes()
+v.viewNormal = (0.482571, 0.41728, 0.770066)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (-0.269481, 0.907303, -0.322772)
+v.viewAngle = 30
+v.parallelScale = 0.864825
+v.nearPlane = -1.72965
+v.farPlane = 1.72965
+v.imagePan = (0.0547107, 0.0441637)
+v.imageZoom = 1.08726
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0.5, 0.5, 0.5)
+SetView3D(v)
+Test("scatter_17")
+
+# Try different scalings.
+s.var1Scaling = s.Log
+SetPlotOptions(s)
+Test("scatter_18")
+
+s.var1Scaling = s.Skew
+s.var1SkewFactor = 50.
+SetPlotOptions(s)
+Test("scatter_19")
+DeleteActivePlots()
+
+#
+# Do different variables.
+#
+DefineScalarExpression("xc", "coord(mesh1)[0]")
+DefineScalarExpression("yc", "coord(mesh1)[1]")
+DefineScalarExpression("zc", "coord(mesh1)[2]")
+DefineScalarExpression("uvw_prod", "u*v*w")
+AddPlot("Scatter", "xc")
+s = ScatterAttributes()
+s.var2 = "yc"
+s.var2Role = s.Coordinate1
+s.var3 = "zc"
+s.var3Role = s.Coordinate2
+s.var4 = "uvw_prod"
+s.var4Role = s.Color
+s.scaleCube = 1
+s.pointSize = 0.01
+s.pointType = s.Box
+SetPlotOptions(s)
+DrawPlots()
+
+v.viewNormal = (0.799291, 0.383343, 0.462798)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (-0.325714, 0.92354, -0.202447)
+v.viewAngle = 30
+v.parallelScale = 0.866025
+v.nearPlane = -1.73205
+v.farPlane = 1.73205
+v.imagePan = (0.000204097, 0.0398577)
+v.imageZoom = 1.07422
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0.5, 0.5, 0.5)
+SetView3D(v)
+Test("scatter_20")
+DeleteActivePlots()
+
+#
+# Set min/max values in X,Y,Z and make sure that the points are the right
+# color and the extents are right.
+#
+TestSection("Set min and max values, make sure colors and extents are right")
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+AddPlot("Scatter", "d")
+s = ScatterAttributes()
+s.var2 = "p"
+s.var2Role = s.Coordinate1
+s.var3 = "default"
+s.var3Role = s.Color
+s.pointType = s.Axis
+SetPlotOptions(s)
+DrawPlots()
+ResetView()
+
+Test("scatter_21")
+
+# Set a min in X and make sure the points are still the right color.
+s.var1MinFlag = 1
+s.var1Min = 3.5
+SetPlotOptions(s)
+Test("scatter_22")
+
+# Set min max in X and Y
+s.var1MinFlag = 1
+s.var1MaxFlag = 1
+s.var1Min = 2.
+s.var1Max = 4.
+s.var2MinFlag = 1
+s.var2MaxFlag = 1
+s.var2Min = 0.3
+s.var2Max = 0.4
+SetPlotOptions(s)
+Test("scatter_23")
+
+DeleteActivePlots()
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Scatter", "hardyglobal")
+s = ScatterAttributes()
+s.var2 = "shepardglobal"
+s.var2Role = s.Coordinate1
+s.var3 = "radial"
+s.var3Role = s.Coordinate2
+s.var4 = "radial"
+s.var4Role = s.Color
+s.scaleCube = 1
+SetPlotOptions(s)
+DrawPlots()
+SetView3D(v2)
+Test("scatter_24")
+
+# Set a min in Z.
+s.var3MinFlag = 1
+s.var3Min = 15.
+SetPlotOptions(s)
+Test("scatter_25")
+
+# Set a max in Z.
+s.var3MaxFlag = 1
+s.var3Max = 22.
+SetPlotOptions(s)
+Test("scatter_26")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_singlecolor.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_singlecolor.html new file mode 100644 index 000000000..9846cbf60 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_singlecolor.html @@ -0,0 +1,54 @@ + +Results for plots/singlecolor.py + +

Results of VisIt Regression Test - plots/singlecolor

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
singlecolor000.000.00
singlecolor010.000.00
singlecolor020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_singlecolor_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_singlecolor_py.html new file mode 100644 index 000000000..6c22d8289 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_singlecolor_py.html @@ -0,0 +1,77 @@ +plots/singlecolor.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  singlecolor.py
+#
+#  Tests:      mesh      - 3D rectilinear, single domain
+#              plots     - Boundary, FilledBoundary, Subset
+#
+#  Defect ID:  VisIt00002372
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Oct 23 15:36:30 PST 2003
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use domains var for Subset plot test instead of materials.
+#
+# ----------------------------------------------------------------------------
+
+# Set the single color to light blue and partially transparent using the
+# plot's global opacity setting.
+def SetSingleColor(atts):
+    atts.singleColor = (153, 204, 255, 255)
+    atts.colorType = b.ColorBySingleColor
+    atts.opacity = 0.4
+    SetPlotOptions(atts)
+
+# Set the view that we want to use.
+def InitializeView():
+    v = View3DAttributes()
+    v.viewNormal = (-0.428395 ,0.549517, 0.717293)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0.186332, 0.830487, -0.52495)
+    v.viewAngle = 30
+    v.parallelScale = 0.866025
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    v.imagePan = (0.0183269, -0.0257188)
+    v.imageZoom = 1.17591
+    v.perspective = 1
+    v.eyeAngle = 2
+    SetView3D(v)
+
+# Open the database.
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+# Test the single color opacity for the Boundary plot
+AddPlot("Boundary", "mat1")
+b = BoundaryAttributes()
+SetSingleColor(b)
+DrawPlots()
+InitializeView()
+Test("singlecolor00")
+
+# Test the single color opacity for the FilledBoundary plot
+DeleteAllPlots()
+AddPlot("FilledBoundary", "mat1")
+f = FilledBoundaryAttributes()
+SetSingleColor(f)
+DrawPlots()
+Test("singlecolor01")
+
+# Test the single color opacity for the Subset plot
+DeleteAllPlots()
+AddPlot("Subset", "domains")
+s = SubsetAttributes()
+SetSingleColor(s)
+DrawPlots()
+Test("singlecolor02")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_subset.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_subset.html new file mode 100644 index 000000000..222650947 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_subset.html @@ -0,0 +1,135 @@ + +Results for plots/subset.py + +

Results of VisIt Regression Test - plots/subset

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
subset_010.000.00
subset_020.000.00
subset_030.000.00
subset_040.000.00
subset_050.000.00
subset_060.000.00
subset_070.000.00
subset_080.000.00
subset_090.000.00
subset_100.000.00
point mesh
subset_110.000.00
subset_120.000.00
subset_130.000.00
subset_140.000.00
subset_150.000.00
subset_160.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_subset_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_subset_py.html new file mode 100644 index 000000000..461bdcd25 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_subset_py.html @@ -0,0 +1,190 @@ +plots/subset.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  subset.py
+#
+#  Tests:      meshes    - 2D curvilinear, multiple domain
+#              plots     - subset
+#
+#  Defect ID:  '6105, '6762
+#
+#  Programmer: Hank Childs
+#  Date:       March 31, 2005
+#
+#  Modifications:
+#
+#    Hank Childs, Tue Nov 15 07:28:43 PST 2005
+#    Added test for subset plus macro expression.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Hank Childs, Mon Mar 26 12:00:23 PDT 2012
+#    Add test for Subset plot + material selection
+#
+#    Kathleen Biagas, Fri Jun  5 08:35:31 PDT 2020
+#    Added tests for point glyhphing/sizing for data that doesn't declare
+#    itself a point mesh and for data with mixed topology.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("multi_curv2d.silo"))
+
+AddPlot("Subset", "domains")
+DrawPlots()
+
+v = GetView2D()
+v.viewportCoords = (0, 1, 0, 1)
+v.windowCoords = (-5, 5, 0, 5)
+SetView2D(v)
+
+Test("subset_01")
+
+s = SubsetAttributes()
+s.wireframe = 1
+SetPlotOptions(s)
+Test("subset_02")
+
+i = IsovolumeAttributes()
+i.variable = "d"
+i.lbound = 2.7
+i.ubound = 3.6
+SetDefaultOperatorOptions(i)
+AddOperator("Isovolume")
+DrawPlots()
+Test("subset_03")
+
+s.wireframe = 0
+SetPlotOptions(s)
+Test("subset_04")
+
+RemoveLastOperator()
+op = OnionPeelAttributes()
+op.categoryName = "domains"
+op.subsetName = "domain3"
+op.index = (100)
+SetDefaultOperatorOptions(op)
+AddOperator("OnionPeel")
+DrawPlots()
+
+v.windowCoords = (-0.7, -0.3, 3.1, 3.25)
+SetView2D(v)
+
+Test("subset_05")
+
+# This is a different wireframe path than the other tests, because
+# we have special handling for single cell wireframes.
+# This corresponds to ticket '6105.
+s.wireframe = 1
+SetPlotOptions(s)
+Test("subset_06")
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("multi_curv2d.silo"))
+
+OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
+
+AddPlot("Subset", "levels")
+AddOperator("Isovolume")
+DefineScalarExpression("vort", "curl(vel)")
+iso_atts = IsovolumeAttributes()
+iso_atts.variable = "vort"
+iso_atts.lbound = -10000000
+iso_atts.ubound = 0
+SetOperatorOptions(iso_atts)
+DrawPlots()
+ResetView()
+Test("subset_07")
+
+RemoveLastOperator()
+s = SILRestriction()
+mats = s.SetsInCategory("materials")
+s.TurnOffSet(mats[0])
+s.TurnOffSet(mats[1])
+SetPlotSILRestriction(s)
+Test("subset_08")
+
+ChangeActivePlotsVar("patches")
+Test("subset_09")
+
+DeleteAllPlots()
+CloseDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
+
+OpenDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
+
+AddPlot("Subset", "blocks(amr_mesh)")
+DrawPlots()
+
+s = SubsetAttributes()
+s.wireframe = 1
+SetPlotOptions(s)
+
+Test("subset_10")
+
+DeleteAllPlots()
+CloseDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
+
+TestSection("point mesh")
+OpenDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
+AddPlot("Subset", "domains(points_mesh)")
+
+s = SubsetAttributes()
+s.colorType = s.ColorBySingleColor
+s.singleColor = (0, 170, 255, 255)
+SetPlotOptions(s)
+DrawPlots()
+ResetView()
+v = GetView3D()
+v.viewNormal = (-0.605449, 0.469667, 0.642529)
+v.viewUp = (0.169201, 0.864818, -0.472716)
+SetView3D(v)
+Test("subset_11")
+
+s.pointSizePixels = 5
+SetPlotOptions(s)
+Test("subset_12")
+
+
+s.pointType = s.Tetrahedron
+s.pointSize = 3
+SetPlotOptions(s)
+Test("subset_13")
+
+DeleteAllPlots()
+CloseDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
+
+
+OpenDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
+
+AddPlot("Subset", "mesh")
+s = SubsetAttributes()
+s.colorType = s.ColorBySingleColor
+s.singleColor = (0, 170, 255, 255)
+s.lineWidth = 3
+s.pointType = s.Point
+s.pointSizePixels = 2
+SetPlotOptions(s)
+DrawPlots()
+ResetView()
+
+Test("subset_14")
+
+s.pointSizePixels = 5
+SetPlotOptions(s)
+Test("subset_15")
+
+s.pointType = s.Icosahedron
+s.pointSize = 0.5
+SetPlotOptions(s)
+Test("subset_16")
+
+DeleteAllPlots()
+CloseDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_surface.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_surface.html new file mode 100644 index 000000000..139843f05 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_surface.html @@ -0,0 +1,96 @@ + +Results for plots/surface.py + +

Results of VisIt Regression Test - plots/surface

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
surface_010.000.00
surface_020.000.00
surface_030.000.00
surface_040.000.00
surface_050.000.00
surface_060.000.00
surface_070.000.00
surface_080.000.00
surface_090.000.00
surface_100.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_surface_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_surface_py.html new file mode 100644 index 000000000..30f36c733 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_surface_py.html @@ -0,0 +1,101 @@ +plots/surface.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  surface.py
+#
+#  Tests:      mesh      - 2D structured, single domain
+#                        - 2D rectilinear, single domain
+#              plots     - surface
+#
+#  Defect ID:  none
+#
+#  Programmer: Kathleen Bonnell 
+#  Date:       August 22, 2003
+#
+#  Modifications:
+#    Kathleen Bonnell, Wed Sep  3 17:21:44 PDT 2003
+#    Add tests 4-10, testing more options of the Surface plot. 
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+
+
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+
+#Test default surface plot (surface on, wireframe off)
+AddPlot("Surface", "u")
+DrawPlots()
+Test("surface_01")
+
+#Turn on  Wireframe
+s = SurfaceAttributes()
+s.wireframeFlag=1
+SetPlotOptions(s)
+Test("surface_02")
+
+#Turn off surface, leaving only wireframe
+s.surfaceFlag=0
+SetPlotOptions(s)
+Test("surface_03")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("noise2d.silo"))
+
+AddPlot("Surface", "shepardglobal")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.25, -0.95, -0.2)
+v.focus = (0, 0, 10)
+v.viewUp = (0.04, 0.2, -0.98)
+v.imageZoom = 1.001
+SetView3D(v)
+Test("surface_04")
+
+# Turn off lighting
+s = SurfaceAttributes()
+s.lightingFlag = 0
+SetPlotOptions(s)
+Test("surface_05")
+
+# Lighting on, wireframe on, log scaling 
+s.lightingFlag = 1
+s.wireframeFlag = 1
+s.scaling = s.Log
+SetPlotOptions(s)
+Test("surface_06")
+
+# Skew scaling, skew factor = 100
+s.scaling = s.Skew
+s.skewFactor = 100
+SetPlotOptions(s)
+Test("surface_07")
+
+# Skew scaling, skew factor = 0.001
+s.skewFactor = 0.001
+SetPlotOptions(s)
+Test("surface_08")
+
+# Solid color for surface
+s.colorByZFlag = 0
+s.surfaceColor = (0, 200, 122, 255)
+SetPlotOptions(s)
+Test("surface_09")
+
+# change wire color, style, turn off surface
+s.wireframeColor = (0, 0, 255, 255)
+s.surfaceFlag = 0
+SetPlotOptions(s)
+Test("surface_10")
+
+
+
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_tensor.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_tensor.html new file mode 100644 index 000000000..239e72436 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_tensor.html @@ -0,0 +1,84 @@ + +Results for plots/tensor.py + +

Results of VisIt Regression Test - plots/tensor

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
tensor_010.000.00
tensor_020.000.00
tensor_030.000.00
tensor_040.000.00
tensor_050.000.00
tensor_060.000.00
tensor_070.000.00
tensor_080.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_tensor_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_tensor_py.html new file mode 100644 index 000000000..bdcd601aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_tensor_py.html @@ -0,0 +1,161 @@ +plots/tensor.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  tensor.py
+#
+#  Tests:      tensor    - 3D rectilinear, single domain
+#              plots     - tensor + some more exhibiting tensor functionality.
+#
+#  Defect ID:  '4165
+#
+#  Programmer: Hank Childs
+#  Date:       December 1, 2003
+#
+#  Modifications:
+#
+#    Hank Childs, Fri May  7 08:12:41 PDT 2004
+#    Re-enable test for decomposing tensors that now works.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+
+AddPlot("Tensor", "grad_tensor")
+t = TensorAttributes()
+t.autoScale = 0
+t.nTensors = 55
+t.scale = 5
+SetPlotOptions(t)
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.312459, 0.334641, 0.889036)
+v.focus = (0, 0, 0)
+v.viewUp = (0.198376, 0.938247, -0.283443)
+v.viewAngle = 30
+v.parallelScale = 17.3205
+v.nearPlane = -34.641
+v.farPlane = 34.641
+v.imagePan = (0, 0)
+v.imageZoom = 1.18209
+v.perspective = 1
+v.eyeAngle = 2
+SetView3D(v)
+
+# Test the general tensor plot.
+Test("tensor_01")
+
+AddOperator("Slice")
+a = SliceAttributes()
+a.project2d = 0
+a.normal = (0.667, 0.333, -0.667)
+SetOperatorOptions(a)
+DrawPlots()
+
+# Test the interaction of the tensor plot with the slice operator.
+Test("tensor_02")
+
+RemoveLastOperator()
+
+b = BoxAttributes()
+b.minx = -2
+b.maxx = 5
+b.miny = -3
+b.maxy = 0
+b.minz = -8
+b.maxz = -4
+SetDefaultOperatorOptions(b)
+AddOperator("Box")
+
+t.nTensors = 20
+SetPlotOptions(t)
+DrawPlots()
+
+# Test the interaction of the tensor plot with the box operator.
+Test("tensor_03")
+
+DeleteAllPlots()
+
+
+# Test decomposing tensors and creating vectors.  The decomposition of
+# the XX, YY, and ZZ components of the tensor is the standard gradient --
+# so if we subtract the gradient from it, we should get all zeros.
+DefineVectorExpression("major_comps", "{ grad_tensor[0][0], grad_tensor[1][1], grad_tensor[2][2] }")
+
+DefineVectorExpression("diff", "major_comps-grad")
+DefineScalarExpression("mag_diff", "magnitude(diff)")
+
+AddPlot("Pseudocolor", "mag_diff")
+DrawPlots()
+Test("tensor_04")
+
+DeleteAllPlots()
+
+
+DefineScalarExpression("det", "determinant(grad_tensor)")
+AddPlot("Pseudocolor", "det")
+p = PseudocolorAttributes()
+p.maxFlag = 1
+p.max = 0.4
+SetPlotOptions(p)
+t = ThresholdAttributes()
+t.listedVarNames = ("det")
+t.lowerBounds = (0.0)
+SetDefaultOperatorOptions(t)
+AddOperator("Threshold")
+DrawPlots()
+
+v.viewNormal = (-0.568609, -0.669889, 0.477424)
+v.focus = (0, 0, 0)
+v.viewUp = (0.792201, -0.289591, 0.537172)
+v.viewAngle = 30
+v.parallelScale = 17.3205
+v.nearPlane = -34.641
+v.farPlane = 34.641
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+v.eyeAngle = 2
+
+Test("tensor_05")
+
+DeleteAllPlots()
+DefineScalarExpression("ident", "determinant(grad_tensor*inverse(grad_tensor))")
+AddPlot("Pseudocolor", "ident")
+DrawPlots()
+
+Test("tensor_06")
+
+DeleteAllPlots()
+DefineScalarExpression("trace", "trace(grad_tensor)")
+AddPlot("Contour", "trace")
+DrawPlots()
+
+Test("tensor_07")
+
+DeleteAllPlots()
+DefineVectorExpression("ev", "eigenvalue(grad_tensor)")
+AddPlot("Vector", "ev")
+v = VectorAttributes()
+v.autoScale = 0
+v.scale = 6
+v.nVectors = 55
+SetPlotOptions(v)
+DrawPlots()
+
+Test("tensor_08")
+
+
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_truecolor.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_truecolor.html new file mode 100644 index 000000000..ece09c3ed --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_truecolor.html @@ -0,0 +1,42 @@ + +Results for plots/truecolor.py + +

Results of VisIt Regression Test - plots/truecolor

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
truecolor_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_truecolor_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_truecolor_py.html new file mode 100644 index 000000000..27e0a505f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_truecolor_py.html @@ -0,0 +1,21 @@ +plots/truecolor.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  truecolor.py
+#
+#  Programmer: Mark C. Miller 
+#  Date:       June 29, 2005 
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(data_path("Image_test_data/manhattan.jpg"))
+
+
+AddPlot("Truecolor","color");
+DrawPlots()
+
+Test("truecolor_01")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_vector.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_vector.html new file mode 100644 index 000000000..54906aa7d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_vector.html @@ -0,0 +1,150 @@ + +Results for plots/vector.py + +

Results of VisIt Regression Test - plots/vector

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
vector_010.000.00
vector_020.000.00
vector_030.000.00
vector_040.000.00
vector_050.000.00
vector_060.000.00
vector_070.000.00
vector_080.000.00
vector_090.000.00
vector_100.000.00
vector_110.000.00
vector_120.000.00
vector_130.000.00
vector_140.000.00
vector_150.000.00
vector_160.000.00
vector_170.000.00
vector_180.000.00
vector_190.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_vector_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_vector_py.html new file mode 100644 index 000000000..2646e8957 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_vector_py.html @@ -0,0 +1,244 @@ +plots/vector.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  vector.py
+#
+#  Tests:      vector    - 3D rectilinear, unstructured single domain
+#              plots     - vector, plus interactions with some operators.
+#
+#  Defect ID:  '4954
+#
+#  Programmer: Hank Childs
+#  Date:       June 2, 2004
+#
+#  Modifications:
+#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
+#    Set the vector origin explicitly for some cases because I changed the
+#    default to Tail.
+#
+#    Jeremy Meredith, Tue Jul  8 12:54:58 EDT 2008
+#    Added test for new limit to original cells/nodes only.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
+#    behavior when an operator is added.
+#
+#    Kathleen Biagas, Tue Nov 29 10:41:39 PST 2022
+#    Replace obsolte 'colorByMag' vector att with 'colorByMagnitude'.
+#
+# ----------------------------------------------------------------------------
+
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Vector", "vel")
+vector_atts = VectorAttributes()
+vector_atts.autoScale = 0
+SetPlotOptions(vector_atts)
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.453335, 0.442704, 0.773628)
+v.focus = (0, 0, 0)
+v.viewUp = (0.256972, 0.895999, -0.362148)
+v.viewAngle = 30
+v.parallelScale = 17.3205
+v.nearPlane = -34.641
+v.farPlane = 34.641
+v.imagePan = (0, 0)
+v.imageZoom = 1.3354
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, 0, 0)
+SetView3D(v)
+
+Test("vector_01")
+
+#
+# Test that we can thin the vector field correctly.
+#
+vector_atts.vectorOrigin = vector_atts.Middle
+vector_atts.nVectors = 1005
+SetPlotOptions(vector_atts)
+Test("vector_02")
+
+vector_atts.nVectors = 50
+SetPlotOptions(vector_atts)
+Test("vector_03")
+
+vector_atts.useStride = 1
+vector_atts.stride = 5
+SetPlotOptions(vector_atts)
+Test("vector_04")
+
+vector_atts.stride = 1
+SetPlotOptions(vector_atts)
+Test("vector_05")
+
+vector_atts.stride = 50
+SetPlotOptions(vector_atts)
+Test("vector_06")
+
+#
+# Test some rendering portions of the vector plot.
+#
+vector_atts.useStride = 0
+vector_atts.nVectors = 400
+vector_atts.scale = 0.5
+SetPlotOptions(vector_atts)
+Test("vector_07")
+
+vector_atts.headOn = 0
+SetPlotOptions(vector_atts)
+Test("vector_08")
+
+vector_atts.headOn = 1
+vector_atts.colorByMagnitude = 0
+vector_atts.vectorColor = (255, 0, 255, 255)
+SetPlotOptions(vector_atts)
+Test("vector_09")
+
+
+#
+# Test zonal vectors.
+#
+vector_atts.colorByMagnitude = 1
+SetPlotOptions(vector_atts)
+ChangeActivePlotsVar("disp")
+Test("vector_10")
+
+
+#
+# Test that we can have other plots in the same window as the vector plot.
+#
+DefineScalarExpression("mag", "magnitude(disp)")
+AddPlot("Pseudocolor", "mag")
+AddOperator("Isovolume")
+iso_atts = IsovolumeAttributes()
+iso_atts.lbound = 3
+SetOperatorOptions(iso_atts)
+DrawPlots()
+Test("vector_11")
+
+
+#
+# Test that vector plots still work when restricted to a slice, etc.
+#
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+
+DefineVectorExpression("v1", "{ vel[0]*coord(quadmesh3d)[0], vel[1]*coord(quadmesh3d)[1], vel[2]*coord(quadmesh3d)[2] }")
+DefineScalarExpression("mag2", "magnitude(v1)")
+
+AddPlot("Vector", "v1")
+vector_atts = VectorAttributes()
+vector_atts.autoScale = 0
+SetPlotOptions(vector_atts)
+DrawPlots()
+
+v.viewNormal = (-0.450822, 0.819923, -0.352824)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (0.868253, 0.311093, -0.386468)
+v.viewAngle = 30
+v.parallelScale = 0.866025
+v.nearPlane = -1.73205
+v.farPlane = 1.73205
+v.imagePan = (0, 0)
+v.imageZoom = 1.3354
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, 0, 0)
+SetView3D(v)
+Test("vector_12")
+
+iso_surf_atts = IsosurfaceAttributes()
+iso_surf_atts.variable = "mag2"
+iso_surf_atts.contourMethod = iso_surf_atts.Value
+iso_surf_atts.contourValue = (0.2)
+SetDefaultOperatorOptions(iso_surf_atts)
+AddOperator("Isosurface")
+DrawPlots()
+Test("vector_13")
+
+RemoveLastOperator()
+
+slice_atts = SliceAttributes()
+slice_atts.originType = slice_atts.Point
+slice_atts.originPoint = (0.5, 0.5, 0.5)
+slice_atts.normal = (1, 1, 1)
+SetDefaultOperatorOptions(slice_atts)
+AddOperator("Slice")
+DrawPlots()
+Test("vector_14")
+
+slice_atts.project2d = 0
+slice_atts.normal = (1, -0.5, 0.5)
+SetOperatorOptions(slice_atts)
+v.viewNormal = (-0.00395109, 0.999884, -0.0147199)
+v.focus = (0.5, 0.5, 0.5)
+v.viewUp = (0.987418, 0.00157403, -0.158122)
+v.viewAngle = 30
+v.parallelScale = 0.866025
+v.nearPlane = -1.73205
+v.farPlane = 1.73205
+v.imagePan = (0, 0)
+v.imageZoom = 1.3354
+v.perspective = 1
+v.eyeAngle = 2
+v.centerOfRotationSet = 0
+v.centerOfRotation = (0, 0, 0)
+SetView3D(v)
+
+Test("vector_15")
+
+#
+# Test the "limit vectors to original node/cell" option
+#
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+DefineVectorExpression("cvel","recenter(vel)")
+AddPlot("Vector", "vel", 1, 0)
+AddPlot("Boundary", "mat1", 1, 0)
+AddPlot("Mesh", "quadmesh2d", 1, 0)
+SetActivePlots(0)
+vec=VectorAttributes()
+vec.useStride=1
+vec.stride=1
+vec.scale=0.1
+v = GetView2D()
+v.windowCoords=(0,.3,1,1.3)
+SetView2D(v)
+SetPlotOptions(vec)
+TurnMaterialsOff(("3","7","8"))
+DrawPlots()
+
+vec.origOnly = 0
+SetPlotOptions(vec)
+Test("vector_16")
+
+vec.origOnly = 1
+SetPlotOptions(vec)
+Test("vector_17")
+
+ChangeActivePlotsVar("cvel")
+
+vec.origOnly = 0
+SetPlotOptions(vec)
+Test("vector_18")
+
+vec.origOnly = 1
+SetPlotOptions(vec)
+Test("vector_19")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_volumePlot.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_volumePlot.html new file mode 100644 index 000000000..37ce2a7a6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_volumePlot.html @@ -0,0 +1,227 @@ + +Results for plots/volumePlot.py + +

Results of VisIt Regression Test - plots/volumePlot

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Volume Plot color control points
volumePlot_volume_colors_00.000.00
volumePlot_volume_colors_10.000.00
volumePlot_volume_colors_20.000.00
volumePlot_volume_colors_30.000.00
volumeGaussian_010.000.00
volumeOpacity_010.000.00
volumeOpacity_020.000.00
volumeOpacity_030.000.00
volumeOpacity_040.000.00
volumeOpacity_0598.2640.17
vol_commandRecorded0.000.00
volumeScaling_010.000.00
volumeScaling_020.000.00
volumeScaling_030.000.00
volumeScaling_040.000.00
volumeScaling_050.000.00
volumeScaling_060.000.00
volumeScaling_070.000.00
volumeScaling_080.000.00
volumeScaling_090.000.00
volumeScaling_100.000.00
volumeScaling_110.000.00
volumeScaling_120.000.00
volumeSampling_010.000.00
volumeSampling_020.000.00
volumeSampling_030.000.00
opacityAttenuation_010.000.00
opacityAttenuation_020.000.00
graidentLighting_000.000.00
graidentLighting_010.000.00
graidentLighting_020.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plots_volumePlot_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plots_volumePlot_py.html new file mode 100644 index 000000000..8e83f3d3a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plots_volumePlot_py.html @@ -0,0 +1,665 @@ +plots/volumePlot.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  volumePlot.py
+#
+#  Tests:      mesh      - 3D rectilinear, one domain
+#              plots     - volume
+#              operators - none
+#              selection - no
+#
+#  Programmer: Kathleen Bonnell
+#  Date:       March 4, 2005
+#
+#  Modifications:
+#    Kathleen Bonnell, Fri Oct 14 10:12:06 PDT 2005
+#    Added InitAnnotationsLegendOn and TestVolumeOpacity per '6670.
+#
+#    Hank Childs, Fri May 26 10:11:52 PDT 2006
+#    Add test for extremely high aspect ratio meshes.  ['7250]
+#
+#    Brad Whitlock, Wed Mar 14 17:18:05 PST 2007
+#    Added tests for color control points and gaussian control points.
+#
+#    Brad Whitlock, Thu Mar 12 09:17:57 PDT 2009
+#    I changed freeformFlag to opacityMode to reflect changes to the plot
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Hank Childs, Sun Aug 29 16:07:56 PDT 2010
+#    Change Log10 to Log, to reflect change in naming.
+#
+#    Brad Whitlock, Thu May 10 15:21:51 PDT 2018
+#    Add test case for sampling types.
+#
+#    Alister Maguire, Tue Feb  5 14:17:13 PST 2019
+#    Updated the aspect test to use a larger multiplier and no shading for
+#    better visibility. Updated the scaling test to not use shading (again
+#    for better visibility).
+#
+#    Alister Maguire, Mon Mar 25 11:19:54 PDT 2019
+#    Added an opacity test that changes the opacity variable.
+#
+#    Alister Maguire, Wed Jun  5 11:01:31 PDT 2019
+#    Added opacity attenuation test.
+#
+#    Alister Maguire, Fri Mar 20 15:36:37 PDT 2020
+#    Added gradient lighting reduction test.
+#
+#    Kathleen Biagas, Wed May 25, 2022
+#    Added test for command-recorded volume atts.
+#
+#    Kathleen Biagas, Fri June 3, 2022
+#    Renamed TestVolumeColorControlPoints to volume_colors, use new
+#    TestAutoName funcationality. Modified TestVolumeSampling to set the
+#    ColorControlPoints directly from the retrieved color table rather than
+#    calling AddControlPoints (it is now a quick recipe).
+#
+# ----------------------------------------------------------------------------
+
+def InitAnnotations():
+    # Turn off all annotation
+    TurnOffAllAnnotations()
+
+def InitAnnotationsLegendOn():
+    # Turn off all annotation
+    a = AnnotationAttributes()
+    TurnOffAllAnnotations(a)
+    a.legendInfoFlag = 1
+    SetAnnotationAttributes(a)
+
+def TestVolumeScaling():
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Volume", "t")
+    volAtts = VolumeAttributes()
+    volAtts.lightingFlag = 0
+    SetPlotOptions(volAtts)
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (1, 0, 0)
+    SetView3D(v)
+
+    Test("volumeScaling_01")
+
+    volAtts.scaling = volAtts.Log
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_02")
+
+    volAtts.scaling = volAtts.Skew
+    volAtts.skewFactor = 0.0001
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_03")
+
+    volAtts.skewFactor = 1000
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_04")
+
+    volAtts.scaling = volAtts.Linear
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_05")
+
+    volAtts.scaling = volAtts.Log
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_06")
+
+    volAtts.scaling = volAtts.Skew
+    volAtts.skewFactor = 0.0001
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_07")
+
+    volAtts.skewFactor = 1000
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_08")
+
+    volAtts.rendererType = volAtts.RayCasting
+    volAtts.scaling = volAtts.Linear
+    volAtts.lightingFlag = 0
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_09")
+
+    volAtts.scaling = volAtts.Log
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_10")
+
+    volAtts.scaling = volAtts.Skew
+    volAtts.skewFactor = 0.0001
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_11")
+
+    volAtts.skewFactor = 1000
+    SetPlotOptions(volAtts)
+    Test("volumeScaling_12")
+
+    DeleteAllPlots()
+
+def TestVolumeOpacity():
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Volume", "hardyglobal")
+    volAtts = VolumeAttributes()
+    SetPlotOptions(volAtts)
+    DrawPlots()
+    ResetView()
+    # default opacity
+    Test("volumeOpacity_01")
+
+    # setting opacity via individual index and value
+    for i in range(150):
+        volAtts.SetFreeformOpacity(i, 0)
+
+    SetPlotOptions(volAtts)
+    Test("volumeOpacity_02")
+
+    # setting opacity via creation of a tuple
+    opac1 = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 255, 248, 240, 232, 224, 216, 208, 200, 192, 184, 176, 168, 160, 152, 144, 136, 128, 120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 255, 248, 240, 232, 224, 216, 208, 200, 192, 184, 176, 168, 160, 152, 144, 136, 128, 120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
+
+    volAtts.SetFreeformOpacity(*opac1)
+    SetPlotOptions(volAtts)
+    Test("volumeOpacity_03")
+
+    # setting opacity via creation of a list
+    opac2 = []
+    for j in range(32):
+        opac2 = opac2 + [j*8]
+    for j in range(32):
+        opac2 = opac2 + [255-(j*8)]
+    for j in range(128):
+        opac2 = opac2 + [0]
+    for j in range(32):
+        opac2 = opac2 + [j*8]
+    for j in range(32):
+        opac2 = opac2 + [255-(j*8)]
+
+    volAtts.SetFreeformOpacity(opac2)
+    SetPlotOptions(volAtts)
+    Test("volumeOpacity_04")
+
+    #
+    # Make sure we can change out opacity variable.
+    #
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("globe.silo"))
+    AddPlot("Volume", "dz")
+    volAtts = VolumeAttributes()
+    volAtts.opacityVariable = "v"
+    volAtts.lightingFlag = 0
+    SetPlotOptions(volAtts)
+    DrawPlots()
+    Test("volumeOpacity_05")
+
+    DeleteAllPlots()
+
+
+def TestOpacityAttenuation():
+
+    OpenDatabase(silo_data_path("noise.silo"))
+    ResetView()
+
+    #
+    # First, test the ray caster without reduced attenuation.
+    #
+    AddPlot("Volume", "hardyglobal")
+    volAtts = VolumeAttributes()
+    volAtts.lightingFlag = 0
+    volAtts.opacityAttenuation = 1
+    volAtts.rendererType = volAtts.RayCasting
+    SetPlotOptions(volAtts)
+    DrawPlots()
+    Test("opacityAttenuation_01")
+
+    #
+    # Now reduce attenutation.
+    #
+    volAtts = VolumeAttributes()
+    volAtts.lightingFlag = 0
+    volAtts.rendererType = volAtts.RayCasting
+    volAtts.opacityAttenuation = .12
+    SetPlotOptions(volAtts)
+    DrawPlots()
+    Test("opacityAttenuation_02")
+
+    DeleteAllPlots()
+
+
+def TestVolumeAspect():
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    orig_atts = VolumeAttributes()
+    new_atts  = VolumeAttributes()
+    new_atts.lightingFlag = 0
+
+    AddPlot("Volume", "hardyglobal")
+    SetPlotOptions(new_atts)
+
+    DefineVectorExpression("disp", "{0,0,-0.9*coord(Mesh)[2]}")
+    AddOperator("Displace")
+    d = DisplaceAttributes()
+    d.variable = "disp"
+    SetOperatorOptions(d)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (-0.324974, 0.839345, 0.435765)
+    SetView3D(v)
+    Test("volumeAspect_01")
+    DeleteAllPlots()
+    SetPlotOptions(orig_atts)
+
+def volume_colors():
+    """Volume Plot color control points"""
+    # the next comment and similar below bracket code to be 'literalincluded' in quickrecipes.rst
+    # removeControlPoints {
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Volume", "hardyglobal")
+
+    # Modify colors. The default color table has 5 control points. Delete
+    # all but 2 of them and then change their colors.
+    v = VolumeAttributes()
+    v.colorControlPoints.RemoveControlPoints(4)
+    v.colorControlPoints.RemoveControlPoints(3)
+    v.colorControlPoints.RemoveControlPoints(2)
+    v.colorControlPoints.GetControlPoints(0).colors = (255,0,0,255)
+    v.colorControlPoints.GetControlPoints(0).position = 0.
+    v.colorControlPoints.GetControlPoints(1).colors = (0,0,255,255)
+    v.colorControlPoints.GetControlPoints(1).position = 1.
+    SetPlotOptions(v)
+    DrawPlots()
+    ResetView()
+    # removeControlPoints }
+    TestAutoName()
+
+    # addControlPoints {
+    # there are a default of 5 control points, add 3 more and change
+    # positions of original  so everything is evenly spaced
+    v = VolumeAttributes()
+    v.colorControlPoints.GetControlPoints(0).position = 0
+    v.colorControlPoints.GetControlPoints(1).position = 0.142857
+    v.colorControlPoints.GetControlPoints(2).position = 0.285714
+    v.colorControlPoints.GetControlPoints(3).position = 0.428571
+    v.colorControlPoints.GetControlPoints(4).position = 0.571429
+    tmp = ColorControlPoint()
+    tmp.colors = (255,255,0,255)
+    tmp.position = 0.714286
+    v.GetColorControlPoints().AddControlPoints(tmp)
+    tmp.colors = (0,255,0,255)
+    tmp.position = 0.857143
+    v.GetColorControlPoints().AddControlPoints(tmp)
+    tmp.colors = (0,255,255,255)
+    tmp.position = 1
+    v.GetColorControlPoints().AddControlPoints(tmp)
+    SetPlotOptions(v)
+    # addControlPoints }
+    TestAutoName()
+
+    # setNumControlPoints {
+    v = VolumeAttributes()
+    # there are a default of 5, this resizes to 6
+    v.colorControlPoints.SetNumControlPoints(6)
+    v.colorControlPoints.GetControlPoints(4).position = 0.92
+    # GetControlPoints(5) will cause a segfault without the call to SetNumControlPoints
+    v.colorControlPoints.GetControlPoints(5).position = 1
+    v.colorControlPoints.GetControlPoints(5).colors = (128,0,128,255)
+    SetPlotOptions(v)
+    # setNumControlPoints }
+    TestAutoName()
+
+    # Start over with the colors.
+    v.GetColorControlPoints().ClearControlPoints()
+    tmp = ColorControlPoint()
+    npts = 10
+    for i in range(npts):
+        t = 0.
+        if i < npts/2:
+            t = float(i) / float(npts/2 - 1)
+            r = 255
+            g = int(t * 255.)
+            b = 0
+        else:
+            t = 1. - (float(i-(npts/2)) / float(npts/2 - 1))
+            r = int((1-t) * 255.)
+            g = int((1-t) * 255.)
+            b = int(t * 255.)
+        tmp.colors = (r,g,b,255)
+        tmp.position = float(i) / float(npts-1)
+        v.GetColorControlPoints().AddControlPoints(tmp)
+    SetPlotOptions(v)
+    TestAutoName()
+    DeleteAllPlots()
+
+def TestVolumeGaussianControlPoints():
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Volume", "hardyglobal")
+
+    v = VolumeAttributes()
+    v.opacityMode = v.GaussianMode
+    v.opacityControlPoints.ClearControlPoints()
+    tmp = GaussianControlPoint()
+    # Design gaussians
+    tmp.x = 0.818182
+    tmp.height = 0.787879
+    tmp.width = 0.147059
+    tmp.xBias = 0
+    tmp.yBias = 0
+    v.GetOpacityControlPoints().AddControlPoints(tmp)
+
+    tmp.x = 0.203209
+    tmp.height = 0.590909
+    tmp.width = 0.0588235
+    tmp.xBias = 0.0026738
+    tmp.yBias = 2
+    v.GetOpacityControlPoints().AddControlPoints(tmp)
+
+    tmp.x = 0.47861
+    tmp.height = 0.19697
+    tmp.width = 0.0721925
+    tmp.xBias = -0.00802138
+    tmp.yBias = 0
+    v.GetOpacityControlPoints().AddControlPoints(tmp)
+
+    SetPlotOptions(v)
+    DrawPlots()
+    ResetView()
+    Test("volumeGaussian_01")
+    DeleteAllPlots()
+
+def TestVolumeSampling():
+    # setFromColorTable {
+    OpenDatabase(silo_data_path("noise.silo"))
+    AddPlot("Volume", "hardyglobal")
+    v = VolumeAttributes()
+    v.lightingFlag = 0
+    v.rendererType = v.RayCasting
+    v.sampling = v.KernelBased
+    ct = GetColorTable("hot_desaturated")
+    v.SetColorControlPoints(ct)
+    SetPlotOptions(v)
+    # setFromColorTable }
+
+    view = GetView3D()
+    view.viewNormal = (-1, 0, 0)
+    view.focus = (0, 0, 0)
+    view.viewUp = (0, 1, 0)
+    view.viewAngle = 30
+    view.parallelScale = 17.3205
+    view.nearPlane = -34.641
+    view.farPlane = 34.641
+    view.imagePan = (0.0720459, -0.00108509)
+    view.imageZoom = 1.85429
+    view.perspective = 1
+    view.eyeAngle = 2
+    view.centerOfRotationSet = 0
+    view.centerOfRotation = (0, 0, 0)
+    view.axis3DScaleFlag = 0
+    view.axis3DScales = (1, 1, 1)
+    view.shear = (0, 0, 1)
+    view.windowValid = 1
+    DrawPlots()
+    SetView3D(view)
+    Test("volumeSampling_01")
+
+    v.sampling = v.Rasterization
+    SetPlotOptions(v)
+    Test("volumeSampling_02")
+
+    v.sampling = v.Trilinear
+    SetPlotOptions(v)
+    Test("volumeSampling_03")
+
+    DeleteAllPlots()
+
+
+def TestGradientLightingReduction():
+
+    view = GetView3D()
+    view.viewNormal = (0.746662961825451, 0.1647201021100829, 0.6444856161303283)
+    SetView3D(view)
+
+    OpenDatabase(silo_data_path("globe.silo"))
+    AddPlot("Volume", "v")
+    DrawPlots()
+
+    #
+    # Trilinear ray casting used to have very harsh results with
+    # gradient lighting reduction. Let's make sure they're better
+    # now.
+    #
+    v = VolumeAttributes()
+    v.lightingFlag = 1
+    v.rendererType = v.RayCasting
+    v.sampling     = v.Trilinear
+
+    v.lowGradientLightingReduction = v.Lower
+    SetPlotOptions(v)
+    Test("graidentLighting_00")
+
+    v.lowGradientLightingReduction = v.Medium
+    SetPlotOptions(v)
+    Test("graidentLighting_01")
+
+    v.lowGradientLightingReduction = v.Higher
+    SetPlotOptions(v)
+    Test("graidentLighting_02")
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("globe.silo"))
+
+def TestCommandRecording():
+    OpenDatabase(silo_data_path("globe.silo"))
+    AddPlot("Volume", "u")
+    DrawPlots()
+    view3D = GetView3D()
+    view3D.viewNormal = (0.0173089, 0.999712, 0.0165968)
+    view3D.viewUp = (0.230674, 0.0121587, -0.972955)
+    SetView3D(view3D)
+
+    # Setting up of Volume plot atts from command recording
+    VolumeAtts = VolumeAttributes()
+    VolumeAtts.osprayShadowsEnabledFlag = 0
+    VolumeAtts.osprayUseGridAcceleratorFlag = 0
+    VolumeAtts.osprayPreIntegrationFlag = 0
+    VolumeAtts.ospraySingleShadeFlag = 0
+    VolumeAtts.osprayOneSidedLightingFlag = 0
+    VolumeAtts.osprayAoTransparencyEnabledFlag = 0
+    VolumeAtts.ospraySpp = 1
+    VolumeAtts.osprayAoSamples = 0
+    VolumeAtts.osprayAoDistance = 100000
+    VolumeAtts.osprayMinContribution = 0.001
+    VolumeAtts.legendFlag = 1
+    VolumeAtts.lightingFlag = 1
+    VolumeAtts.colorControlPoints.SetNumControlPoints(14)
+    VolumeAtts.colorControlPoints.GetControlPoints(0).colors = (0, 0, 255, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(0).position = 0
+    VolumeAtts.colorControlPoints.GetControlPoints(1).colors = (0, 255, 255, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(1).position = 0.0769231
+    VolumeAtts.colorControlPoints.GetControlPoints(2).colors = (0, 255, 0, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(2).position = 0.153846
+    VolumeAtts.colorControlPoints.GetControlPoints(3).colors = (255, 255, 0, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(3).position = 0.230769
+    VolumeAtts.colorControlPoints.GetControlPoints(4).colors = (255, 255, 0, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(4).position = 0.307692
+    VolumeAtts.colorControlPoints.GetControlPoints(5).colors = (0, 255, 0, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(5).position = 0.384615
+    VolumeAtts.colorControlPoints.GetControlPoints(6).colors = (0, 255, 255, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(6).position = 0.461538
+    VolumeAtts.colorControlPoints.GetControlPoints(7).colors = (0, 0, 255, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(7).position = 0.538462
+    VolumeAtts.colorControlPoints.GetControlPoints(8).colors = (255, 0, 255, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(8).position = 0.615385
+    VolumeAtts.colorControlPoints.GetControlPoints(9).colors = (0, 0, 0, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(9).position = 0.692308
+    VolumeAtts.colorControlPoints.GetControlPoints(10).colors = (255, 255, 255, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(10).position = 0.769231
+    VolumeAtts.colorControlPoints.GetControlPoints(11).colors = (255, 0, 0, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(11).position = 0.846154
+    VolumeAtts.colorControlPoints.GetControlPoints(12).colors = (255, 255, 0, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(12).position = 0.923077
+    VolumeAtts.colorControlPoints.GetControlPoints(13).colors = (255, 0, 0, 255)
+    VolumeAtts.colorControlPoints.GetControlPoints(13).position = 1
+    VolumeAtts.colorControlPoints.smoothing = VolumeAtts.colorControlPoints.Linear
+    VolumeAtts.colorControlPoints.equalSpacingFlag = 0
+    VolumeAtts.colorControlPoints.discreteFlag = 0
+    VolumeAtts.colorControlPoints.categoryName = ""
+    VolumeAtts.opacityAttenuation = 1
+    VolumeAtts.opacityMode = VolumeAtts.GaussianMode
+    VolumeAtts.opacityControlPoints.SetNumControlPoints(20)
+    VolumeAtts.opacityControlPoints.GetControlPoints(0).x = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(0).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(0).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(0).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(0).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(1).x = 0.075
+    VolumeAtts.opacityControlPoints.GetControlPoints(1).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(1).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(1).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(1).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(2).x = 0.125
+    VolumeAtts.opacityControlPoints.GetControlPoints(2).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(2).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(2).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(2).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(3).x = 0.175
+    VolumeAtts.opacityControlPoints.GetControlPoints(3).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(3).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(3).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(3).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(4).x = 0.225
+    VolumeAtts.opacityControlPoints.GetControlPoints(4).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(4).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(4).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(4).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(5).x = 0.275
+    VolumeAtts.opacityControlPoints.GetControlPoints(5).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(5).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(5).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(5).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(6).x = 0.325
+    VolumeAtts.opacityControlPoints.GetControlPoints(6).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(6).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(6).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(6).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(7).x = 0.375
+    VolumeAtts.opacityControlPoints.GetControlPoints(7).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(7).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(7).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(7).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(8).x = 0.425
+    VolumeAtts.opacityControlPoints.GetControlPoints(8).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(8).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(8).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(8).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(9).x = 0.475
+    VolumeAtts.opacityControlPoints.GetControlPoints(9).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(9).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(9).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(9).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(10).x = 0.525
+    VolumeAtts.opacityControlPoints.GetControlPoints(10).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(10).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(10).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(10).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(11).x = 0.575
+    VolumeAtts.opacityControlPoints.GetControlPoints(11).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(11).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(11).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(11).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(12).x = 0.625
+    VolumeAtts.opacityControlPoints.GetControlPoints(12).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(12).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(12).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(12).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(13).x = 0.675
+    VolumeAtts.opacityControlPoints.GetControlPoints(13).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(13).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(13).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(13).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(14).x = 0.725
+    VolumeAtts.opacityControlPoints.GetControlPoints(14).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(14).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(14).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(14).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(15).x = 0.775
+    VolumeAtts.opacityControlPoints.GetControlPoints(15).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(15).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(15).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(15).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(16).x = 0.825
+    VolumeAtts.opacityControlPoints.GetControlPoints(16).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(16).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(16).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(16).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(17).x = 0.875
+    VolumeAtts.opacityControlPoints.GetControlPoints(17).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(17).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(17).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(17).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(18).x = 0.925
+    VolumeAtts.opacityControlPoints.GetControlPoints(18).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(18).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(18).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(18).yBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(19).x = 0.975
+    VolumeAtts.opacityControlPoints.GetControlPoints(19).height = 0.5
+    VolumeAtts.opacityControlPoints.GetControlPoints(19).width = 0.025
+    VolumeAtts.opacityControlPoints.GetControlPoints(19).xBias = 0
+    VolumeAtts.opacityControlPoints.GetControlPoints(19).yBias = 0
+    VolumeAtts.resampleFlag = 1
+    VolumeAtts.resampleTarget = 1000000
+    VolumeAtts.opacityVariable = "default"
+    VolumeAtts.compactVariable = "default"
+    VolumeAtts.freeformOpacity = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255)
+    VolumeAtts.useColorVarMin = 0
+    VolumeAtts.colorVarMin = 0
+    VolumeAtts.useColorVarMax = 0
+    VolumeAtts.colorVarMax = 0
+    VolumeAtts.useOpacityVarMin = 0
+    VolumeAtts.opacityVarMin = 0
+    VolumeAtts.useOpacityVarMax = 0
+    VolumeAtts.opacityVarMax = 0
+    VolumeAtts.smoothData = 0
+    VolumeAtts.samplesPerRay = 500
+    VolumeAtts.rendererType = VolumeAtts.Default
+    VolumeAtts.gradientType = VolumeAtts.SobelOperator
+    VolumeAtts.scaling = VolumeAtts.Linear
+    VolumeAtts.skewFactor = 1
+    VolumeAtts.limitsMode = VolumeAtts.OriginalData
+    VolumeAtts.sampling = VolumeAtts.Rasterization
+    VolumeAtts.rendererSamples = 3
+    VolumeAtts.lowGradientLightingReduction = VolumeAtts.Lower
+    VolumeAtts.lowGradientLightingClampFlag = 0
+    VolumeAtts.lowGradientLightingClampValue = 1
+    VolumeAtts.materialProperties = (0.4, 0.75, 0, 15)
+    SetPlotOptions(VolumeAtts)
+
+    Test("vol_commandRecorded")
+    ResetView()
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("globe.silo"))
+
+
+#FIXME: For some reason, if you render using the ray caster,
+#       attempting to render using the default renderer afterwards
+#       will result in a blank test result. I have not been able
+#       to reproduce this outside of the test suite. I created
+#       issue #3608 to track this.
+
+InitAnnotationsLegendOn()
+volume_colors()
+TestVolumeGaussianControlPoints()
+# This test hangs in parallel.
+if TestEnv.params["serial"]:
+    TestVolumeAspect()
+TestVolumeOpacity()
+TestCommandRecording()
+InitAnnotations()
+TestVolumeScaling()
+TestVolumeSampling()
+TestOpacityAttenuation()
+TestGradientLightingReduction()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plugins_databasesVsInstall.html b/2023-11-08-22:00/pascal_trunk_parallel/plugins_databasesVsInstall.html new file mode 100644 index 000000000..03672813d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plugins_databasesVsInstall.html @@ -0,0 +1,40 @@ + +Results for plugins/databasesVsInstall.py + +

Results of VisIt Regression Test - plugins/databasesVsInstall

+ + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
databasesVsInstall1 modifications totalling 12 lines
+

Final Return Code: 113

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plugins_databasesVsInstall_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plugins_databasesVsInstall_py.html new file mode 100644 index 000000000..8025793a7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plugins_databasesVsInstall_py.html @@ -0,0 +1,31 @@ +plugins/databasesVsInstall.py
# ----------------------------------------------------------------------------
+#  CLASSES:    nightly
+#
+#  Test Case:  databasesVsInstall.py 
+#
+#  Tests:      Building database plugins against an installed version of VisIt
+#              
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       November 8, 2018 
+#
+#  Modifications:
+#    Eric Brugger, Wed Jun 26 09:32:06 PDT 2019
+#    Removed the ccm readler.
+#
+#    Kathleen Biagas, Tue Nov 26 10:23:31 PST 2019
+#    Modified to pass a 'test-this' list instead of a 'skip-this' list.
+#    Plugins chosen based on third-party dependence, ability to auto-regen
+#    their CMakeLists.txt and tests currently available to run against the
+#    version built (to be added at a future time).
+#
+# ----------------------------------------------------------------------------
+
+Source(tests_path("plugins", "pluginVsInstallHelpers"))
+
+do_plugin_type("databases", ["BOV", "Blueprint", "CGNS", "Cale", "Claw", "Exodus", "FITS", "H5Part", "MFEM", "Mili", "SAMRAI", "VTK"])
+# for future use
+#do_tests("database", ["bov.py", "blueprint.py", "CGNS.py", "Cale.py", "claw.py", "exodus.py", "FITS.py", "h5part.py", "mfem.py", "mili.py", "samrai.py", "vtk.py"])
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plugins_operatorsVsInstall.html b/2023-11-08-22:00/pascal_trunk_parallel/plugins_operatorsVsInstall.html new file mode 100644 index 000000000..ece8fd0b5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plugins_operatorsVsInstall.html @@ -0,0 +1,40 @@ + +Results for plugins/operatorsVsInstall.py + +

Results of VisIt Regression Test - plugins/operatorsVsInstall

+ + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
operatorsVsInstall1 modifications totalling 5 lines
+

Final Return Code: 113

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plugins_operatorsVsInstall_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plugins_operatorsVsInstall_py.html new file mode 100644 index 000000000..fd9db5ab1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plugins_operatorsVsInstall_py.html @@ -0,0 +1,29 @@ +plugins/operatorsVsInstall.py
# ----------------------------------------------------------------------------
+#  CLASSES:    nightly
+#
+#  Test Case:  operatorsVsInstall.py 
+#
+#  Tests:      Building operator plugins against an installed version of VisIt
+#              
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       November 8, 2018 
+#
+#  Modifications:
+#    Kathleen Biagas, Tue Nov 26 10:23:31 PST 2019
+#    Modified to pass a 'test-this' list instead of a 'skip-this' list.
+#    Plugins chosen based on external dependence, expression creation, or a
+#    a simple operator, the ability to auto-regen their CMakeLists.txt and
+#    tests currently available to run against the version built (to be added
+#    at a future time).
+#
+# ----------------------------------------------------------------------------
+
+Source(tests_path("plugins", "pluginVsInstallHelpers"))
+
+do_plugin_type("operators", ["CartographicProjection", "CracksClipper", "RadialResample", "Slice", "Threshold"])
+# for future use
+#do_tests("operators", ["cart_proj.py", "cracksclipper.py", "radial_resample.py", "slice.py", "threshold.py"])
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plugins_plotsVsInstall.html b/2023-11-08-22:00/pascal_trunk_parallel/plugins_plotsVsInstall.html new file mode 100644 index 000000000..d9969d4f4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plugins_plotsVsInstall.html @@ -0,0 +1,40 @@ + +Results for plugins/plotsVsInstall.py + +

Results of VisIt Regression Test - plugins/plotsVsInstall

+ + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
plotsVsInstall1 modifications totalling 4 lines
+

Final Return Code: 113

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/plugins_plotsVsInstall_py.html b/2023-11-08-22:00/pascal_trunk_parallel/plugins_plotsVsInstall_py.html new file mode 100644 index 000000000..969a12045 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/plugins_plotsVsInstall_py.html @@ -0,0 +1,23 @@ +plugins/plotsVsInstall.py
# ----------------------------------------------------------------------------
+#  CLASSES:    nightly
+#
+#  Test Case:  plotsVsInstall.py 
+#
+#  Tests:      Building plot plugins against an installed version of VisIt
+#              
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       November 8, 2018 
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+Source(tests_path("plugins", "pluginVsInstallHelpers"))
+
+do_plugin_type("plots", ["Contour", "Label", "Tensor", "Volume"])
+# for future use
+#do_tests("plots", ["contour.py", "label.py", "tensor.py", "ray_trace.py or volumePlot.py"])
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_avg_value.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_avg_value.html new file mode 100644 index 000000000..a1065eb8f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_avg_value.html @@ -0,0 +1,58 @@ + +Results for queries/avg_value.py + +

Results of VisIt Regression Test - queries/avg_value

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
avg_value_010 modifications totalling 0 lines
avg_value_021 modifications totalling 1 lines
avg_value_030 modifications totalling 0 lines
avg_value_040 modifications totalling 0 lines
avg_value_050.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_avg_value_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_avg_value_py.html new file mode 100644 index 000000000..a1b8e4e0b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_avg_value_py.html @@ -0,0 +1,63 @@ +queries/avg_value.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  avg_value.py
+#  Tests:      queries     - average value 
+#
+#  Programmer: Hank Childs
+#  Date:       May 11, 2011
+#
+#  Modifications:
+#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#    Turn off cycling of colors for all Curve plot tests.  Set the colors
+#    individually to match current baseline results.
+#
+# ----------------------------------------------------------------------------
+
+TurnOffAllAnnotations()
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "t")
+DrawPlots()
+Query("Average Value")
+t = GetQueryOutputString()
+TestText("avg_value_01", t)
+
+DeleteAllPlots()
+AddPlot("Vector", "vel")
+DrawPlots()
+Query("Average Value")
+t = GetQueryOutputString()
+TestText("avg_value_02", t)
+
+DefineVectorExpression("vel2", "{1, t, 0}")
+ChangeActivePlotsVar("vel2")
+Query("Average Value")
+t = GetQueryOutputString()
+TestText("avg_value_03", t)
+
+OpenDatabase(silo_data_path("wave.visit"))
+
+AddPlot("Pseudocolor", "pressure")
+DrawPlots()
+Query("Average Value")
+t = GetQueryOutputString()
+TestText("avg_value_04", t)
+
+c = CurveAttributes()
+c.curveColorSource = c.Custom
+c.curveColor = (255, 0, 0, 255)
+SetDefaultPlotOptions(c)
+
+QueryOverTime("Average Value")
+SetActiveWindow(2)
+TurnOffAllAnnotations()
+c = CurveAttributes()
+c.curveColorSource = c.Custom
+c.curveColor = (255, 0, 0, 255)
+SetPlotOptions(c)
+Test("avg_value_05")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_bestfitline.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_bestfitline.html new file mode 100644 index 000000000..692b90af4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_bestfitline.html @@ -0,0 +1,94 @@ + +Results for queries/bestfitline.py + +

Results of VisIt Regression Test - queries/bestfitline

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
bestline_1_000 modifications totalling 0 lines
bestline_2_000.000.00
bestline_2_010 modifications totalling 0 lines
bestline_2_020.000.00
bestline_2_030 modifications totalling 0 lines
bestline_2_040.000.00
bestline_2_050 modifications totalling 0 lines
bestline_3_000.000.00
bestline_3_010.000.00
bestline_3_020.000.00
bestline_3_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_bestfitline_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_bestfitline_py.html new file mode 100644 index 000000000..e4ff6b224 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_bestfitline_py.html @@ -0,0 +1,204 @@ +queries/bestfitline.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  bestfit.py
+#
+#  Tests:      queries     - "Best Fit Line"
+#              expressions - distance_to_best_fit_line
+#
+#  Defect ID:  none
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Nov 18 16:43:42 PST 2005
+#
+#  Modifications:
+#
+#    Mark C. Miller, Tue Mar 14 07:54:20 PST 2006
+#    Changed how full-frame is turned on
+#    
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Matt Larsen Wed May 09 08:31:00 PST 2018
+#    Adding view reset so image actual shows a line 
+# ----------------------------------------------------------------------------
+
+import math
+
+def writeDataSet():
+    nts = 100
+    nsamples = 100
+    x0 = -5.
+    y0 = -5.
+    x1 = 5.
+    y1 = 5.
+
+    names = []
+    coefficients = []
+    for i in range(nts):
+        t = float(i) / float(nts - 1)
+        y_left = t * y1 + (1. - t) * y0
+        y_right = t * y0 + (1. - t) * y1
+        filename = data_path("curve_test_data/line%04d.curve") % i
+        names = names + [filename]
+        try:
+            f = open(filename, "w")
+
+            f.write("#TIME %g\n" % t)
+            f.write("#line\n")
+
+            m = (y_right - y_left) / (x1 - x0)
+            angle = t * 3.14159 * 2.
+            b  = math.sin(angle)
+
+            #print "Y = %gX + %g" % (m, b)
+            coefficients = coefficients + [(m, b)]
+
+            for j in range(nsamples):
+                t2 = float(j) / float(nsamples - 1)
+                x = t2 * x1 + (1. - t2) * x0
+                y = t2 * y_right + (1. - t2) * y_left + b
+                f.write("%g %g\n" % (x, y))
+
+            f.close()
+        except:
+            break
+
+    return (names, coefficients)
+
+def removeFiles(ds):
+    for d in ds:
+        try:
+            os.unlink(d)
+        except:
+            print("Could not remove ", d)
+
+#
+# Test best fit line of known lines from Curve plots
+#
+def test1():
+    data = writeDataSet()
+    filenames = data[0]
+    coefficients = data[1]
+
+    OpenDatabase(data_path("curve_test_data/line*.curve database"))
+
+    AddPlot("Curve", "line")
+    DrawPlots()
+
+    s = ""
+    try:
+        for state in range(0, len(coefficients), 2):
+            SetTimeSliderState(state)
+            Query("Best Fit Line")
+            values = GetQueryOutputValue()
+            s = s + "Original (m=%g, b=%g)\t\t\tCalculated (m=%g, b=%g, r=%g)\n" %\
+            (coefficients[state][0], coefficients[state][1], values[0], \
+            values[1], values[2])
+    except:
+        pass
+
+    TestText("bestline_1_00", s)
+    removeFiles(data[0])
+    DeleteAllPlots()
+
+#
+# Test best fit line of 2D Scatter plots
+#
+def test2():
+    # Do Scatter plot of d vs d since we know that it will make Y=X
+    OpenDatabase(silo_data_path("multi_curv2d.silo"))
+
+    AddPlot("Scatter", "d")
+    s = ScatterAttributes()
+    s.var2 = "d"
+    s.var2Role = s.Coordinate1
+    s.var3Role = s.NONE
+    s.var4Role = s.NONE
+    s.scaleCube = 0
+    s.pointSizePixels = 5
+    SetPlotOptions(s)
+    DrawPlots()
+
+    # Turn on Fullframe
+    v = GetView2D()
+    v.fullFrameActivationMode = v.On
+    SetView2D(v)
+    Test("bestline_2_00")
+    Query("Best Fit Line")
+    TestText("bestline_2_01", GetQueryOutputString())
+
+    # Check the best fit with another known line eq.
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    DefineScalarExpression("t", "zoneid(curvmesh2d)")
+    DefineScalarExpression("line", "t * 0.33333 + 10.")
+    AddPlot("Scatter", "t")
+    s.var2 = "line"
+    SetPlotOptions(s)
+    DrawPlots()
+    ResetView()
+    Test("bestline_2_02")
+    Query("Best Fit Line")
+    TestText("bestline_2_03", GetQueryOutputString())
+
+    # Make the scatter plot be d vs. dpu
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("multi_curv2d.silo"))
+
+    AddPlot("Scatter", "d")
+    DefineScalarExpression("dpu", "d + u / 3.")
+    s.var2 = "dpu"
+    SetPlotOptions(s)
+    DrawPlots()
+    Test("bestline_2_04")
+    Query("Best Fit Line")
+    TestText("bestline_2_05", GetQueryOutputString())
+
+    return s
+
+#
+# Test distance to best fit line expression. The colors should appear
+# to be banded about the best fit line.
+#
+def test3(s):
+    # We still have the Scatter plot from the previous test. Color it
+    # by the distance from the best fit line.
+    DefineScalarExpression("DBFL", "distance_to_best_fit_line(d, dpu)")
+    DefineScalarExpression("DBFL2", "distance_to_best_fit_line2(d, dpu)")
+    s.var3 = "DBFL"
+    s.var3Role = s.Color
+    s.colorTableName = "difference"
+    s.pointSizePixels = 10
+    SetPlotOptions(s)
+    Test("bestline_3_00")
+
+    s.var3 = "DBFL2"
+    SetPlotOptions(s)
+    Test("bestline_3_01")
+
+    DefineScalarExpression("dpus", "d + u / 2. + sin(d * 5.) * 2.")
+    DefineScalarExpression("DBFL3", "distance_to_best_fit_line(d, dpus)")
+    DefineScalarExpression("DBFL4", "distance_to_best_fit_line2(d, dpus)")
+    s.var2 = "dpus"
+    s.var3 = "DBFL3"
+    SetPlotOptions(s)
+    Test("bestline_3_02")
+
+    s.var3 = "DBFL4"
+    SetPlotOptions(s)
+    Test("bestline_3_03")
+
+    return
+
+
+def main():
+    test1()
+    s = test2()
+    test3(s)
+
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_casetest.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_casetest.html new file mode 100644 index 000000000..3402aa6fc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_casetest.html @@ -0,0 +1,40 @@ + +Results for queries/casetest.py + +

Results of VisIt Regression Test - queries/casetest

+ + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
CaseQueryRect2dTest0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_casetest_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_casetest_py.html new file mode 100644 index 000000000..e4fbaa714 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_casetest_py.html @@ -0,0 +1,69 @@ +queries/casetest.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  casetest.py #
+#  Tests:      queries     - Database
+#
+#  Description: Tests case insensitive name dispatch of queries.
+#
+#  Programmer: Cyrus Harrison
+#  Date:       Mon Sep 19 15:09:02 PDT 2011 
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def QueryRect2d():
+    OpenDatabase(silo_data_path("rect2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+    s = ""
+    Query("Revolved volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("2D area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("MinMax", "actual")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", "original")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", "original")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", "original")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("revolved volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("2D AREA")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("mINmAX", "actual")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("spatialextents", "original")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NUMNODES", "original")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NUMZONES", "original")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    TestText("CaseQueryRect2dTest", s)
+    DeleteAllPlots()
+
+
+def QueryMain():
+    QueryRect2d()
+
+# Call the main function
+TurnOnAllAnnotations()
+QueryMain()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_centroid.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_centroid.html new file mode 100644 index 000000000..badaf1cc5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_centroid.html @@ -0,0 +1,88 @@ + +Results for queries/centroid.py + +

Results of VisIt Regression Test - queries/centroid

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
centroid_010 modifications totalling 0 lines
centroid_020 modifications totalling 0 lines
centroid_030 modifications totalling 0 lines
centroid_040 modifications totalling 0 lines
centroid_050 modifications totalling 0 lines
centroid_060 modifications totalling 0 lines
centroid_070 modifications totalling 0 lines
centroid_080 modifications totalling 0 lines
centroid_090 modifications totalling 0 lines
centroid_100 modifications totalling 0 lines
centroid_110 modifications totalling 0 lines
centroid_120 modifications totalling 0 lines
centroid_130 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_centroid_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_centroid_py.html new file mode 100644 index 000000000..9e9e45111 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_centroid_py.html @@ -0,0 +1,130 @@ +queries/centroid.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  centroid.py
+#  Tests:      queries     - centroid and moment of inertia.
+#
+#  Defect ID:  VisIt00006273, '6588
+#
+#  Programmer: Hank Childs
+#  Date:       May 19, 2005
+#
+#  Modifications:
+#
+#    Hank Childs, Thu Sep 15 16:33:48 PDT 2005
+#    Added tests for centroids of surfaces.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
+#    behavior when an operator is added.
+#
+# ----------------------------------------------------------------------------
+
+# Test that we can do an l2norm of a degenerate ultra file.
+TurnOnAllAnnotations()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Mesh", "mesh1")
+DrawPlots()
+
+Query("Moment of Inertia")
+text = GetQueryOutputString()
+# The answer should be ~167,547 along the diagonals.  But we are off ~10%
+# because of mesh granularity.
+TestText("centroid_01", text)
+
+# The sphere is perfectly symmetric, so we should get the same answer,
+# even if we rotate it.
+AddOperator("Transform")
+trans = TransformAttributes()
+trans.doRotate = 1
+trans.rotateAxis = (0.707, 0, -0.707)
+trans.rotateAmount = 150
+SetOperatorOptions(trans)
+DrawPlots()
+Query("Moment of Inertia")
+text = GetQueryOutputString()
+TestText("centroid_02", text)
+
+Query("Centroid")
+text = GetQueryOutputString()
+TestText("centroid_03", text)
+
+# Translate and see that the centroid moves.
+trans.doTranslate = 1
+trans.translateX = 0.5
+SetOperatorOptions(trans)
+
+Query("Centroid")
+text = GetQueryOutputString()
+TestText("centroid_04", text)
+
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+Query("Centroid")
+text = GetQueryOutputString()
+TestText("centroid_05", text)
+
+Query("Moment of Inertia")
+text = GetQueryOutputString()
+TestText("centroid_06", text)
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Mesh", "quadmesh2d")
+DrawPlots()
+
+Query("Centroid")
+text = GetQueryOutputString()
+TestText("centroid_07", text)
+
+DeleteAllPlots()
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+Query("Centroid")
+text = GetQueryOutputString()
+TestText("centroid_08", text)
+
+AddOperator("Revolve")
+DrawPlots()
+
+Query("Centroid")
+text = GetQueryOutputString()
+TestText("centroid_09", text)
+Query("Moment of Inertia")
+text = GetQueryOutputString()
+TestText("centroid_10", text)
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+AddPlot("Mesh", "quadmesh3d")
+DrawPlots()
+
+Query("Centroid")
+text = GetQueryOutputString()
+TestText("centroid_11", text)
+Query("Moment of Inertia")
+text = GetQueryOutputString()
+TestText("centroid_12", text)
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Elevate")
+DrawPlots()
+
+Query("Centroid")
+text = GetQueryOutputString()
+TestText("centroid_13", text)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_conncomp.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_conncomp.html new file mode 100644 index 000000000..56aef1327 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_conncomp.html @@ -0,0 +1,162 @@ + +Results for queries/conncomp.py + +

Results of VisIt Regression Test - queries/conncomp

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
conncomp_1d_lbl0.000.00
conncomp_1d_count0 modifications totalling 0 lines
conncomp_1d_centroid0 modifications totalling 0 lines
conncomp_1d_length0 modifications totalling 0 lines
conncomp_1d_var_sum0 modifications totalling 0 lines
conncomp_1d_weighted_var_sum0 modifications totalling 0 lines
conncomp_1d_summary0 modifications totalling 0 lines
conncomp_2d_lbl0.000.00
conncomp_2d_count0 modifications totalling 0 lines
conncomp_2d_centroid0 modifications totalling 0 lines
conncomp_2d_area0 modifications totalling 0 lines
conncomp_2d_var_sum0 modifications totalling 0 lines
conncomp_2d_weighted_var_sum0 modifications totalling 0 lines
conncomp_2d_summary0 modifications totalling 0 lines
conncomp_3d_t10.000.00
conncomp_3d_count_t10 modifications totalling 0 lines
conncomp_3d_centroid_t10 modifications totalling 0 lines
conncomp_3d_volume_t10 modifications totalling 0 lines
conncomp_3d_summary_t10 modifications totalling 0 lines
conncomp_3d_t20.000.00
conncomp_3d_count_t20 modifications totalling 0 lines
conncomp_3d_centroid_t20 modifications totalling 0 lines
conncomp_3d_volume_t20 modifications totalling 0 lines
conncomp_3d_summary_t20 modifications totalling 0 lines
conncomp_3d_t30.000.00
conncomp_3d_count_t30 modifications totalling 0 lines
conncomp_3d_centroid_t30 modifications totalling 0 lines
conncomp_3d_volume_t30 modifications totalling 0 lines
conncomp_3d_summary_t30 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_conncomp_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_conncomp_py.html new file mode 100644 index 000000000..e6a88f7be --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_conncomp_py.html @@ -0,0 +1,240 @@ +queries/conncomp.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  conncomp.py
+#  Tests:      queries     - connected components related 
+#
+#  Programmer: Cyrus Harrison
+#  Date:       February 22, 2006
+#
+#  Modifications:
+#    Cyrus Harrison, Thu Aug 23 09:42:43 PDT 2007
+#    Turned off ghost neighbors optimization for exodus balls dataset.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Wed Jun 15 14:21:10 PDT 2011
+#    Added tests for line meshes.
+#
+#    Kathleen Biagas, Fri Feb  7 08:00:38 PST 2014
+#    Changed sil selection for Exodus.
+# ----------------------------------------------------------------------------
+
+import json
+
+OpenDatabase(silo_data_path("rect2d.silo"), 0)
+
+
+DefineScalarExpression("_ccl_test_1d", "conn_components(quadmesh2d)")
+
+#Add an iso surface
+AddPlot("Pseudocolor", "_ccl_test_1d")
+AddOperator("Isosurface")
+
+isatts = IsosurfaceAttributes()
+isatts .variable = "d"
+SetOperatorOptions(isatts)
+
+#Add Defer Exp Op
+AddOperator("DeferExpression")
+DeferExpressionAtts = DeferExpressionAttributes()
+DeferExpressionAtts.exprs = ("_ccl_test_1d")
+SetOperatorOptions(DeferExpressionAtts)
+
+DrawPlots()
+
+Test("conncomp_1d_lbl")
+
+ChangeActivePlotsVar("d")
+
+Query("Number of Connected Components")
+res = GetQueryOutputString()
+TestText("conncomp_1d_count",res)
+
+Query("Connected Component Centroids")
+res = GetQueryOutputString()
+TestText("conncomp_1d_centroid",res)
+
+Query("Connected Component Length")
+res = GetQueryOutputString()
+TestText("conncomp_1d_length",res)
+
+Query("Connected Component Variable Sum")
+res = GetQueryOutputString()
+TestText("conncomp_1d_var_sum",res)
+
+Query("Connected Component Weighted Variable Sum")
+res = GetQueryOutputString()
+TestText("conncomp_1d_weighted_var_sum",res)
+
+Query("Connected Components Summary")
+res = GetQueryOutputObject()
+TestText("conncomp_1d_summary",json.dumps(res,indent=2))
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("multi_rect2d.silo"), 0)
+
+DefineScalarExpression("_rand_test_2d", "rand(mesh1)")
+DefineScalarExpression("_ccl_test_2d", "conn_components(mesh1)")
+
+AddPlot("Pseudocolor", "_ccl_test_2d")
+# Add isovolume op to create components
+AddOperator("Isovolume")
+IsovolumeAtts = IsovolumeAttributes()
+IsovolumeAtts.lbound = -1e+37
+IsovolumeAtts.ubound = 0.3
+IsovolumeAtts.variable = "_rand_test_2d"
+SetOperatorOptions(IsovolumeAtts)
+
+#Add Defer Exp Op
+AddOperator("DeferExpression")
+DeferExpressionAtts = DeferExpressionAttributes()
+DeferExpressionAtts.exprs = ("_ccl_test_2d")
+SetOperatorOptions(DeferExpressionAtts)
+
+DrawPlots()
+
+Test("conncomp_2d_lbl")
+
+# test the connected components related queries
+Query("Number of Connected Components")
+res = GetQueryOutputString()
+TestText("conncomp_2d_count",res)
+
+Query("Connected Component Centroids")
+res = GetQueryOutputString()
+TestText("conncomp_2d_centroid",res)
+
+Query("Connected Component Area")
+res = GetQueryOutputString()
+TestText("conncomp_2d_area",res)
+
+Query("Connected Component Variable Sum")
+res = GetQueryOutputString()
+TestText("conncomp_2d_var_sum",res)
+
+Query("Connected Component Weighted Variable Sum")
+res = GetQueryOutputString()
+TestText("conncomp_2d_weighted_var_sum",res)
+
+Query("Connected Components Summary")
+res = GetQueryOutputObject()
+TestText("conncomp_2d_summary",json.dumps(res,indent=2))
+
+DeleteAllPlots()
+
+DefineScalarExpression("_ccl_test_3d", "conn_components(Mesh,1)")
+# exodus test
+OpenDatabase(data_path("exodus_test_data/balls.e.4.* database"))
+
+
+AddPlot("Pseudocolor", "_ccl_test_3d")
+silr = SILRestriction()
+silr.TurnOnAll()
+for silSet in (5,6,7):
+    silr.TurnOffSet(silSet)
+SetPlotSILRestriction(silr)
+
+AddOperator("Displace")
+DisplaceAtts = DisplaceAttributes()
+DisplaceAtts.factor = 1
+DisplaceAtts.variable = "DISPL"
+SetOperatorOptions(DisplaceAtts)
+DisplaceAtts = DisplaceAttributes()
+DisplaceAtts.factor = 1
+DisplaceAtts.variable = "DISPL"
+SetOperatorOptions(DisplaceAtts)
+
+AddOperator("Transform")
+t = TransformAttributes()
+t.doScale = 1
+t.scaleX = 100
+t.scaleY = 100
+t.scaleZ = 100
+SetOperatorOptions(t)
+
+d = DeferExpressionAttributes()
+d.exprs = ("_ccl_test_3d")
+SetDefaultOperatorOptions(d)
+AddOperator("DeferExpression")
+
+
+v=GetView3D()
+v.viewNormal=(.1,.1, 0)
+v.viewUp=(0, 0, 1 )
+SetView3D(v)
+
+DrawPlots()
+
+# test as displacement evolves
+Test("conncomp_3d_t1");
+
+# test the connected components related queries
+Query("Number of Connected Components")
+res = GetQueryOutputString()
+TestText("conncomp_3d_count_t1",res)
+
+Query("Connected Component Centroids")
+res = GetQueryOutputString()
+TestText("conncomp_3d_centroid_t1",res)
+
+
+Query("Connected Component Volume")
+res = GetQueryOutputString()
+TestText("conncomp_3d_volume_t1",res)
+
+Query("Connected Components Summary")
+res = GetQueryOutputObject()
+TestText("conncomp_3d_summary_t1",json.dumps(res,indent=2))
+
+
+SetTimeSliderState(11);
+# test as displacement evolves
+Test("conncomp_3d_t2");
+
+Query("Number of Connected Components")
+res = GetQueryOutputString()
+TestText("conncomp_3d_count_t2",res)
+
+Query("Connected Component Centroids")
+res = GetQueryOutputString()
+TestText("conncomp_3d_centroid_t2",res)
+
+
+Query("Connected Component Volume")
+res = GetQueryOutputString()
+TestText("conncomp_3d_volume_t2",res)
+
+Query("Connected Components Summary")
+res = GetQueryOutputObject()
+TestText("conncomp_3d_summary_t2",json.dumps(res,indent=2))
+
+
+SetTimeSliderState(20);
+Test("conncomp_3d_t3");
+
+Query("Number of Connected Components")
+res = GetQueryOutputString()
+TestText("conncomp_3d_count_t3",res)
+
+Query("Connected Component Centroids")
+res = GetQueryOutputString()
+TestText("conncomp_3d_centroid_t3",res)
+
+
+Query("Connected Component Volume")
+res = GetQueryOutputString()
+TestText("conncomp_3d_volume_t3",res)
+
+
+Query("Connected Components Summary")
+res = GetQueryOutputObject()
+TestText("conncomp_3d_summary_t3",json.dumps(res,indent=2))
+
+
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_consistencyChecks.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_consistencyChecks.html new file mode 100644 index 000000000..0f8d6dc81 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_consistencyChecks.html @@ -0,0 +1,64 @@ + +Results for queries/consistencyChecks.py + +

Results of VisIt Regression Test - queries/consistencyChecks

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
consistencyChecks_000.000.00
consistencyChecks_010.000.00
consistencyChecks_020.000.00
consistencyChecks_030.000.00
consistencyChecks_040 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_consistencyChecks_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_consistencyChecks_py.html new file mode 100644 index 000000000..779fc302d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_consistencyChecks_py.html @@ -0,0 +1,114 @@ +queries/consistencyChecks.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  pickQueryCombo.py #
+#  Tests:      queries     - Pick, Zone Center, Node Coords,
+#              operators   - OnionPeel
+#
+#  Notes:
+#     Tests consistency between Pick/Query/OnionPeel when using the same
+#     node/zone ids for each.
+#
+#  Programmer: Kathleen Biagas
+#  Date:       September 9, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+testNum = 0
+
+def PickCurv2D():
+    # Ensures that Pick/Query/OnionPeel operator correctly and consistently
+    # with the ghost data from this ds, which affects the numbering of zones
+    global testNum
+    OpenDatabase(silo_data_path("curv2d.silo"))
+    AddPlot("Mesh", "curvmesh2d")
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+    zoneID = 482
+    #do a pick before Onion peel
+    p1 = PickByZone(zoneID)
+    nodeID = p1["incident_nodes"][0]
+    #Add Onion peel of same zone, see if it ends up under the pick letter
+    AddOperator("OnionPeel")
+    op = OnionPeelAttributes()
+    op.index = zoneID
+    SetOperatorOptions(op)
+    DrawPlots()
+    v = GetView2D()
+    v.windowCoords =(1.33, 4.89, 0.18, 3.43)
+    SetView2D(v)
+    Test("consistencyChecks_%02d"%testNum)
+    testNum = testNum+1
+
+    ClearPickPoints()
+
+    #Now add a Boundary plot, do the same pick, see if get same results.
+    AddPlot("Boundary", "mat1")
+    DrawPlots()
+    p2 = PickByZone(zoneID)
+    s = ""
+    if p2['point'] == p1['point']:
+        s = s + "PickByZone on Pseudcolor and Boundary plots yielded same point.\n"
+    else:
+        s = s + "PickByZone on Pseudcolor and Boundary plots DID NOT yield same point.\n"
+    SetQueryOutputToObject()
+    q = Query("Zone Center", element=zoneID)
+    if (q['center'] == p1['point']):
+        s = s + "Zone Center query returned same coords as Pick.\n"
+    else:
+        s = s + "Zone Center query returned different coords than Pick.\n"
+
+    #Now feed the zone center as coordinates into a pick:
+    p3 = ZonePick(coord = q['center'])
+    s = s + "Pick using coord from Zone Center query returned zone: %d, (should be: %d).\n" %(p3['zone_id'], zoneID)
+
+    Test("consistencyChecks_%02d"%testNum)
+    testNum = testNum+1
+    ClearPickPoints()
+
+    # Now do the same type of tests for Node Pick
+    DeleteActivePlots()
+    SetActivePlots(1)
+    RemoveLastOperator()
+
+    p1n = PickByNode(nodeID)
+    AddOperator("OnionPeel")
+    op.seedType = op.SeedNode
+    op.index = nodeID
+    SetOperatorOptions(op)
+    DrawPlots()
+    Test("consistencyChecks_%02d"%testNum)
+    testNum = testNum+1
+
+    ClearPickPoints()
+    #Now add a Boundary plot, do the same pick, see if get same results.
+    AddPlot("Boundary", "mat1")
+    DrawPlots()
+
+    p2n = PickByNode(nodeID)
+    if p2n['point'] == p1n['point']:
+        s = s + "PickByNode on Pseudcolor and Boundary plots yielded same point.\n"
+    else:
+        s = s + "PickByNode on Pseudcolor and Boundary plots DID NOT yield same point.\n"
+    qn = Query("Node Coords", element=nodeID)
+    if (qn['coord'] == p1n['point']):
+        s = s + "Node Coords query returned same coords as Pick.\n"
+    else:
+        s = s + "Node Coords query returned different coords than Pick.\n"
+
+    p3n = NodePick(coord = qn['coord'])
+    s = s + "Pick using coord from Node Coord query returned node: %d, (should be: %d).\n" %(p3n['node_id'], nodeID)
+
+    Test("consistencyChecks_%02d"%testNum)
+    testNum = testNum+1
+
+    TestText("consistencyChecks_%02d"%testNum, s)
+    testNum = testNum+1
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("curv2d.silo"))
+
+PickCurv2D()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_curvature.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_curvature.html new file mode 100644 index 000000000..1dcca2389 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_curvature.html @@ -0,0 +1,54 @@ + +Results for queries/curvature.py + +

Results of VisIt Regression Test - queries/curvature

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
curvature_010 modifications totalling 0 lines
curvature_020.000.00
curvature_030 modifications totalling 0 lines
curvature_040 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_curvature_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_curvature_py.html new file mode 100644 index 000000000..c5f72b282 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_curvature_py.html @@ -0,0 +1,63 @@ +queries/curvature.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  curvature.py
+#  Tests:      queries     - curvature 
+#
+#  Defect ID:  VisIt00006746
+#
+#  Programmer: Hank Childs
+#  Date:       May 16, 2006
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+DefineScalarExpression("curvature", "mean_curvature(quadmesh3d)")
+AddPlot("Pseudocolor", "curvature")
+AddOperator("Isosurface")
+i = IsosurfaceAttributes()
+i.contourMethod = i.Value
+i.contourValue = 0.5
+i.variable = "d"
+SetOperatorOptions(i)
+DrawPlots()
+
+error = GetLastError()
+TestText("curvature_01", error)
+
+d = DeferExpressionAttributes()
+d.exprs = ("curvature")
+AddOperator("DeferExpression")
+SetOperatorOptions(d)
+DrawPlots()
+Test("curvature_02")
+
+Query("Weighted Variable Sum")
+s = GetQueryOutputValue()
+
+Query("3D surface area")
+a = GetQueryOutputValue()
+
+text = "The average mean curvature (manual) is %f\n" %(s/a)
+TestText("curvature_03", text)
+
+DeleteAllPlots()
+AddPlot("Contour", "d")
+c = ContourAttributes()
+c.contourMethod = c.Value
+c.contourValue = 0.5
+SetPlotOptions(c)
+DrawPlots()
+
+Query("Average Mean Curvature")
+t = GetQueryOutputString()
+TestText("curvature_04", t)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_database.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_database.html new file mode 100644 index 000000000..238ef09d9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_database.html @@ -0,0 +1,100 @@ + +Results for queries/database.py + +

Results of VisIt Regression Test - queries/database

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
QueryBigSil0 modifications totalling 0 lines
QueryContours0 modifications totalling 0 lines
QueryCurv2d0 modifications totalling 0 lines
QueryCurv3d0 modifications totalling 0 lines
QueryGlobe0 modifications totalling 0 lines
QueryMultiUcd3d0 modifications totalling 0 lines
QueryNoise0 modifications totalling 0 lines
QueryRect2d0 modifications totalling 0 lines
QuerySid970 modifications totalling 0 lines
QueryMinMaxCurve0 modifications totalling 0 lines
QuerySAMRAI0 modifications totalling 0 lines
QueryCurves0 modifications totalling 0 lines
QueryHistogram0 modifications totalling 0 lines
QueryGlobalId0 modifications totalling 0 lines
QueryZR_RZ0 modifications totalling 0 lines
QueryArbPoly0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_database_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_database_py.html new file mode 100644 index 000000000..0eab44d8c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_database_py.html @@ -0,0 +1,1083 @@ +queries/database.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  database.py #
+#  Tests:      queries     - Database
+#
+#  Defect ID:  '6356
+#
+#  Programmer: Kathleen Bonnell 
+#  Date:       July 11, 2003 
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from FilledBoundary plots.
+#
+#    Kathleen Bonnell, Wed Oct 29 16:06:23 PST 2003 
+#    Add PlotMinMax query. 
+#
+#    Kathleen Bonnell, Wed Dec  3 11:05:51 PST 2003 
+#    Add SpatialExtents query. 
+#
+#    Kathleen Bonnell, Wed Dec  3 13:20:04 PST 2003 
+#    Test SpatialExtents query with 'actual' and 'original' as args. 
+#
+#    Kathleen Bonnell, Mon Dec 22 16:46:27 PST 2003 
+#    Added test for SAMRAI data.
+#
+#    Kathleen Bonnell, Fri Feb  6 10:56:25 PST 2004 
+#    Test MinMax query with 'actual' and 'original' as args. 
+#
+#    Kathleen Bonnell, Fri Feb 20 17:05:04 PST 2004 
+#    Added NumNodes and NumZones tests.
+#
+#    Kathleen Bonnell, Fri Mar  5 15:41:54 PST 2004 
+#    Added QueryCurves tests, testing "Area Between Curves" queries. 
+#
+#    Jeremy Meredith, Mon Apr  5 14:19:47 PDT 2004
+#    The Curv2D query was not getting boundary data.  I added code to remove
+#    a couple materials so that it reflected the actual usage of this query.
+#
+#    Hank Childs, Tue Apr 13 12:58:04 PDT 2004
+#    Rename surface area query.
+#
+#    Kathleen Bonnell, Tue Apr 20 09:42:30 PDT 2004 
+#    Added QueryMultiWindow. 
+#
+#    Kathleen Bonnell, Wed May 19 16:31:04 PDT 2004
+#    Moved QueryMultiWindow to its own .py file. 
+#
+#    Kathleen Bonnell, Thu Aug 12 13:32:35 PDT 2004 
+#    Added QueryHistogram. 
+#
+#    Kathleen Bonnell, Wed Dec 29 07:57:35 PST 2004 
+#    Added QueryGlobalId. 
+#
+#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
+#    Rename variables that have unsupported characters.
+#
+#    Hank Childs, Fri Jul  1 08:53:41 PDT 2005
+#    Test getting a vector from the spatial extents query. ['6356]
+#
+#    Kathleen Bonnell, Wed Aug 10 15:07:50 PDT 2005 
+#    Test Weighted Variable Sum Query with a postive-values variable and
+#    a negative-values variable.  ('6453).
+#
+#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
+#    Allowed spaces in variable names.
+#
+#    Kathleen Bonnell, Wed Feb  8 11:08:01 PST 2006 
+#    Added QueryZR_RZ. 
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
+#    behavior when an operator is added.
+#
+#    Cyrus Harrison, Mon Aug 16 15:51:46 PDT 2010
+#    Added test for var & wvar sum of an array variable.
+#
+#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
+#    Use named arguments. 
+#
+#    Kathleen Biagas, Thu Sep 11 11:40:25 PDT 2014
+#    Add QueryArbPoly.
+#
+# ----------------------------------------------------------------------------
+RequiredDatabasePlugin(("SAMRAI", "Silo", "VTK"))
+
+def QueryRect2d():
+    OpenDatabase(silo_data_path("rect2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    # Do some database queries.
+    Query("Compactness")
+    s = GetQueryOutputString()
+    s = s + "\n"
+    Query("Eulerian")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Revolved volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("2D area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    AddOperator("Transform")
+    transform = TransformAttributes()
+    transform.doScale = 1
+    transform.scaleX = 10
+    SetOperatorOptions(transform)
+    DrawPlots()
+
+    Query("SpatialExtents", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    Query("SpatialExtents", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    DeleteAllPlots()
+
+    DefineArrayExpression("array_var","array_compose(d,p,d,p)")
+    AddPlot("Label","array_var")
+    DrawPlots()
+    Query("Variable Sum")
+    s += GetQueryOutputString() + "\n"
+    Query("Weighted Variable Sum")
+    s += GetQueryOutputString() + "\n"
+
+    TestText("QueryRect2d", s)
+    DeleteAllPlots()
+
+
+def QueryMultiUcd3d():
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+
+    # Do some database queries.
+    Query("Eulerian")
+    s = GetQueryOutputString()
+    s = s + "\n"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    v = GetQueryOutputValue()
+    estr = "Exts from vector are [%f-%f, %f-%f, %f-%f]\n" %(v[0], v[1], v[2], v[3], v[4], v[5])
+    s = s + estr
+    Query("NumNodes", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    silr= SILRestriction();
+    silr.TurnOffAll()
+    silr.TurnOnSet(1)
+    silr.TurnOnSet(3)
+    silr.TurnOnSet(5)
+    silr.TurnOnSet(10)
+    SetPlotSILRestriction(silr)
+    DrawPlots()
+
+    s = s + "\nAFTER APPLYING SIL RESTRICTION:\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", "original")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", "actual")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", "original")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", "actual")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", "original")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", "actual")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+
+    TestText("QueryMultiUcd3d", s)
+    DeleteAllPlots()
+
+def QueryContours():
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Contour", "hardyglobal")
+    c = ContourAttributes()
+    c.contourNLevels = 10
+    SetPlotOptions(c)
+    DrawPlots()
+
+    s = "For 10 contours of noise.silo (hardyglobal)\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n\nMinMax Actual:"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\nMinMax Original:"
+    Query("MinMax", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    c.contourNLevels = 4
+    SetPlotOptions(c)
+    s  = s + "\nFor 4 contours of noise.silo (hardyglobal)\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n\nMinMax Actual:"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\nMinMax Original:"
+    Query("MinMax", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Contour", "d")
+    c.contourNLevels = 10
+    SetPlotOptions(c)
+    DrawPlots()
+
+    s =  s + "\nFor 10 contours of rect3d.silo (d)\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    c.contourNLevels = 4
+    SetPlotOptions(c)
+    s  = s + "\nFor 4 contours of rect3d.silo (d)\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    TestText("QueryContours", s)
+
+    DeleteAllPlots()
+
+
+def QueryCurv2d():
+    # Testing database queries on curv2d.
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+
+    # Do some database queries.
+    TurnMaterialsOff("2")
+    TurnMaterialsOff("3")
+    Query("Compactness")
+    TurnMaterialsOn()
+    s = GetQueryOutputString()
+    s = s + "\n"
+    Query("Eulerian")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Revolved volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("2D area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    DeleteAllPlots()
+    AddPlot("Vector", "vel")
+    DrawPlots()
+    Query("MinMax", use_actual_data=1)
+    s = s + "\nMinMax Actual:" + GetQueryOutputString()
+    s = s + "\nMinMax Original:"
+    Query("MinMax", use_actual_data=0)
+    s = s + GetQueryOutputString()
+
+    TestText("QueryCurv2d", s)
+    DeleteAllPlots()
+
+def QueryCurv3d():
+    OpenDatabase(silo_data_path("curv3d.silo"))
+
+    AddPlot("Pseudocolor", "p")
+    DrawPlots()
+
+    # Do some database queries.
+    Query("Eulerian")
+    s = GetQueryOutputString()
+    s = s + "\n"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    TestText("QueryCurv3d", s)
+    DeleteAllPlots()
+
+def QueryGlobe():
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+
+    # Do some database queries.
+    Query("Eulerian")
+    s = GetQueryOutputString()
+    s = s + "\n"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    AddOperator("Clip")
+    clip = ClipAttributes()
+    clip.plane1Origin = (0.2, 0.3, 0.4)
+    clip.plane1Normal = (1, 1, 1)
+    SetOperatorOptions(clip)
+    DrawPlots()
+
+    s = s + "\nAFTER CLIPPING:\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", "actual")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+
+    DeleteAllPlots()
+    AddPlot("Vector", "vel")
+    DrawPlots()
+    Query("MinMax", use_actual_data=1)
+    s = s + "\nMinMax Actual:" + GetQueryOutputString()
+    s = s + "\nMinMax Original:"
+    Query("MinMax", use_actual_data=0)
+    s = s + GetQueryOutputString()
+
+    ChangeActivePlotsVar("disp")
+    DrawPlots()
+    Query("MinMax", use_actual_data=1)
+    s = s + "MinMAx Actual:" + GetQueryOutputString()
+
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "t")
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + "\n" + GetQueryOutputString()
+    DefineScalarExpression("neg_t", "-t")
+    ChangeActivePlotsVar("neg_t")
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + "\n" + GetQueryOutputString()
+    s = s + "\n"
+
+    TestText("QueryGlobe", s)
+    DeleteAllPlots()
+
+def QueryNoise():
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+
+    # Do some database queries.
+    s = "For noise.silo(haryglobal)\n"
+    Query("Eulerian")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    ChangeActivePlotsVar("hgslice")
+    DrawPlots()
+    # Do some database queries.
+    s = s + "\nFor noise.silo(hgslice)\n"
+    Query("Compactness")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Eulerian")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Revolved volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    DeleteAllPlots()
+    AddPlot("Vector", "airVfGradient")
+    DrawPlots()
+    Query("MinMax", use_actual_data=1)
+    s = s + "\nMinMax Actual:" + GetQueryOutputString()
+    s = s + "\nMinMax Original:"
+    Query("MinMax", use_actual_data=0)
+    s = s + GetQueryOutputString()
+
+    ChangeActivePlotsVar("grad")
+    DrawPlots()
+    Query("MinMax", use_actual_data=1)
+    s = s + "MinMax Actual:" + GetQueryOutputString()
+    s = s + "\nMinMax Original:"
+    Query("MinMax", use_actual_data=0)
+    s = s + GetQueryOutputString()
+
+    TestText("QueryNoise", s)
+    DeleteAllPlots()
+
+def QuerySid97():
+    OpenDatabase(silo_data_path("sid97.silo"))
+
+    AddPlot("FilledBoundary", "mat1")
+    DrawPlots()
+
+    # Do some database queries.
+    Query("3D surface area")
+    s = GetQueryOutputString()
+    s = s + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    TestText("QuerySid97", s)
+    DeleteAllPlots()
+
+def QueryBigSil():
+    OpenDatabase(silo_data_path("bigsil.silo"))
+
+    AddPlot("Pseudocolor", "dist")
+    DrawPlots()
+
+    # Do some database queries.
+    Query("Eulerian")
+    s = GetQueryOutputString()
+    s = s + "\n"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("3D surface area")
+    s = s+GetQueryOutputString()
+    s = s + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    TestText("QueryBigSil", s)
+    DeleteAllPlots()
+
+def QueryMinMaxCurve():
+    OpenDatabase(data_path("curve_test_data/curve.visit"))
+
+    AddPlot("Curve", "parabolic");
+    DrawPlots()
+    Query("MinMax", use_actual_data=1)
+    s = "\n"
+    frames = (0, 27, 56, 73, 91);
+    for frame in frames:
+        SetTimeSliderState(frame)
+        s = s + "For entire curve at frame %d:" %frame
+        Query("MinMax", use_actual_data=1)
+        s = s + GetQueryOutputString()
+
+    AddOperator("Clip")
+    clip = ClipAttributes()
+    clip.planeInverse = 1
+    clip.plane1Origin = (0.5, 0, 0)
+    SetOperatorOptions(clip)
+    DrawPlots()
+    for frame in frames:
+        SetTimeSliderState(frame)
+        s = s + "For clipped curve at frame %d:" %frame
+        Query("MinMax", use_actual_data=1)
+        s = s + GetQueryOutputString()
+
+    TestText("QueryMinMaxCurve", s)
+    DeleteAllPlots()
+
+def QuerySAMRAI():
+    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
+
+    AddPlot("Pseudocolor", "Primitive Var _number_0")
+    DrawPlots()
+
+    # Do some database queries.
+    Query("Eulerian")
+    s = GetQueryOutputString()
+    s = s + "\n"
+    Query("MinMax", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", use_actual_data=0)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("SpatialExtents", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumNodes", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+    Query("NumZones", use_actual_data=1)
+    s = s + GetQueryOutputString()
+    s = s + "\n"
+
+    TestText("QuerySAMRAI", s)
+    DeleteAllPlots()
+
+def QueryCurves():
+    # in responses to VisIt00004449, Area between 2 curves query crashes
+    # viewer if curves not from same database.
+    OpenDatabase(silo_data_path("rect2d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+
+    # do some lineouts so we can test curves from same database.
+    Lineout((0.4, 1.04, 0), (0.4, 0.1, 0))
+    SetActiveWindow(1)
+    Lineout((0.02, 0.49, 0), (0.77, 0.49, 0))
+
+    SetActiveWindow(2)
+    SetActivePlots((0, 1))
+    Query("Area Between Curves")
+    s = GetQueryOutputString() + "\n"
+    Query("L2Norm Between Curves")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    # now add a curve from a different database, and test against 
+    # previous curves.
+    OpenDatabase(data_path("curve_test_data/c000.curve"))
+
+    AddPlot("Curve", "going_up")
+    DrawPlots()
+
+    SetActivePlots((0, 2))
+    Query("Area Between Curves")
+    s = s + GetQueryOutputString() + "\n"
+    Query("L2Norm Between Curves")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    SetActivePlots((1, 2))
+    Query("Area Between Curves")
+    s = s + GetQueryOutputString() + "\n"
+    Query("L2Norm Between Curves")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    TestText("QueryCurves", s)
+    DeleteWindow()
+    DeleteAllPlots()
+
+def QueryHistogram():
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Histogram", "d")
+    DrawPlots()
+
+    Query("Integrate")
+    s = "Histogram(d):  " + GetQueryOutputString() + "\n"
+
+    ChangeActivePlotsVar("p")
+    Query("Integrate")
+    s = s + "Histogram(p):  " + GetQueryOutputString() + "\n"
+
+    ChangeActivePlotsVar("u")
+    Query("Integrate")
+    s = s + "Histogram(u):  " + GetQueryOutputString() + "\n"
+
+    ChangeActivePlotsVar("v")
+    Query("Integrate")
+    s = s + "Histogram(v):  " + GetQueryOutputString() + "\n\n"
+
+    TestText("QueryHistogram", s)
+    DeleteAllPlots()
+
+def QueryGlobalId():
+    OpenDatabase(silo_data_path("global_node.silo"))
+
+    AddPlot("Pseudocolor", "dist")
+    DrawPlots()
+
+    Query("Global Zone Center", element=15);
+    s = GetQueryOutputString() + "\n"
+
+    Query("Zone Center", element=0, domain=2)
+    s = s + GetQueryOutputString() + "\n"
+
+    Query("Global Node Coords", element=16)
+    s = s + GetQueryOutputString() + "\n"
+
+    Query("Node Coords", element=1, domain=2)
+    s = s + GetQueryOutputString() + "\n"
+
+    TestText("QueryGlobalId", s)
+    DeleteAllPlots()
+
+def QueryZR_RZ():
+    s = "RZ UGRID:\n    "
+    OpenDatabase(data_path("vtk_cylindrical_test_data/ugrid_RZ.vtk"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    s = s + "ZR UGRID:\n    "
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_ZR.vtk"))
+
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    s = s + "XY UGRID:\n    "
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_XY.vtk"))
+
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    AddOperator("Transform")
+    translate = TransformAttributes()
+    translate.doTranslate = 1
+    translate.translateX = 5
+    translate.translateY = 17
+    SetOperatorOptions(translate)
+    DrawPlots()
+
+    s = s + "XY UGRID TRANSLATED:\n    "
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_ZR.vtk"))
+
+    DrawPlots()
+
+    s = s + "ZR UGRID TRANSLATED:\n    "
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_RZ.vtk"))
+
+    DrawPlots()
+
+    s = s + "RZ UGRID TRANSLATED:\n    "
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    DeleteAllPlots()
+
+    s = s + "RZ RGRID:\n    "
+    OpenDatabase(data_path("vtk_cylindrical_test_data/rect_RZ.vtk"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    s = s + "ZR RGRID:\n    "
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_ZR.vtk"))
+
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    s = s + "XY RGRID:\n    "
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_XY.vtk"))
+
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    AddOperator("Transform")
+    translate = TransformAttributes()
+    translate.doTranslate = 1
+    translate.translateX = 5
+    translate.translateY = 17
+    SetOperatorOptions(translate)
+    DrawPlots()
+
+    s = s + "XY RGRID TRANSLATED:\n    "
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_ZR.vtk"))
+
+    DrawPlots()
+    s = s + "ZR RGRID TRANSLATED:\n    "
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_RZ.vtk"))
+
+    DrawPlots()
+
+    s = s + "RZ RGRID TRANSLATED:\n    "
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    DeleteAllPlots()
+
+    s = s + "RZ POLY:\n    "
+    OpenDatabase(data_path("vtk_cylindrical_test_data/poly_RZ.vtk"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    s = s + "ZR POLY:\n    "
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_ZR.vtk"))
+
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    s = s + "XY POLY:\n    "
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_XY.vtk"))
+
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    AddOperator("Transform")
+    translate = TransformAttributes()
+    translate.doTranslate = 1
+    translate.translateX = 5
+    translate.translateY = 17
+    SetOperatorOptions(translate)
+    DrawPlots()
+    s = s + "XY POLY TRANSLATED:\n    "
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_ZR.vtk"))
+
+    DrawPlots()
+    s = s + "ZR POLY TRANSLATED:\n    "
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_RZ.vtk"))
+
+    DrawPlots()
+
+    s = s + "RZ POLY TRANSLATED:\n    "
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved volume")
+    s = s + GetQueryOutputString() + "\n    "
+    Query("Revolved surface area")
+    s = s + GetQueryOutputString() + "\n\n"
+
+    TestText("QueryZR_RZ", s)
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_cylindrical_test_data/poly_RZ.vtk"))
+
+def QueryArbPoly():
+    SetQueryOutputToString()
+
+    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
+    AddPlot("Mesh", "3D/mesh1")
+    DrawPlots()
+    s = "arbpoly-zoohybrid:\n"
+    s = s + Query("NumZones", use_actual_data=1) + "\n"
+    s = s + Query("NumZones", use_actual_data=0) + "\n"
+    s = s + Query("NumNodes", use_actual_data=1) + "\n"
+    s = s + Query("NumNodes", use_actual_data=0) + "\n"
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
+
+    OpenDatabase(silo_data_path("poly3d.silo"))
+    AddPlot("Mesh", "ucdmesh3d")
+    DrawPlots()
+    s = s + "\npoly3d:\n"
+    s = s + Query("NumZones", use_actual_data=1) + "\n"
+    s = s + Query("NumZones", use_actual_data=0) + "\n"
+    s = s + Query("NumNodes", use_actual_data=1) + "\n"
+    s = s + Query("NumNodes", use_actual_data=0) + "\n"
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("poly3d.silo"))
+
+    OpenDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
+    AddPlot("Mesh","MMESH")
+    DrawPlots()
+    s = s + "\nOvlTop:" + "\n"
+    s = s + Query("NumZones", use_actual_data=1) + "\n"
+    s = s + Query("NumZones", use_actual_data=0) + "\n"
+    s = s + Query("NumNodes", use_actual_data=1) + "\n"
+    s = s + Query("NumNodes", use_actual_data=0) + "\n"
+    DeleteAllPlots()
+    CloseDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
+
+    OpenDatabase(silo_data_path("arbpoly.silo"))
+    AddPlot("Mesh", "clipped_hex")
+    DrawPlots()
+    s = s + "\narbpoly:" + "\n"
+    s = s + Query("NumZones", use_actual_data=1) + "\n"
+    s = s + Query("NumZones", use_actual_data=0) + "\n"
+    s = s + Query("NumNodes", use_actual_data=1) + "\n"
+    s = s + Query("NumNodes", use_actual_data=0) + "\n"
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("arbpoly.silo"))
+    TestText("QueryArbPoly", s)
+
+
+def QueryMain():
+    QueryBigSil()
+    QueryContours()
+    QueryCurv2d()
+    QueryCurv3d()
+    QueryGlobe()
+    QueryMultiUcd3d()
+    QueryNoise()
+    QueryRect2d()
+    QuerySid97()
+    QueryMinMaxCurve()
+    QuerySAMRAI()
+    QueryCurves()
+    QueryHistogram()
+    QueryGlobalId()
+    QueryZR_RZ()
+    QueryArbPoly()
+
+# Call the main function
+TurnOnAllAnnotations()
+QueryMain()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_error_queries.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_error_queries.html new file mode 100644 index 000000000..4342c3316 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_error_queries.html @@ -0,0 +1,100 @@ + +Results for queries/error_queries.py + +

Results of VisIt Regression Test - queries/error_queries

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Zone_Center_Curv2d_Valid_Str
 "The center of  zone 10 is (0.923738, 1.81294)." .eq. "The center of  zone 10 is (0.923738, 1.81294)." : True
Zone_Center_Curv2d_Valid_Val
 (0.9237379878759384, 1.8129377663135529) .eq. (0.9237379878759384, 1.8129377663135529)
 (prec=5) : True
Zone_Center_Curv2d_Invalid_Str
 "The center of zone 1000000 could not be determined." .eq. "The center of zone 1000000 could not be determined." : True
Zone_Center_Curv2d_Invalid_Val
 "None" .eq. "None" : True
Node_Coords_Curv2d_Valid_Str
 "The coords of  node 10 are (1, 1.73205)." .eq. "The coords of  node 10 are (1, 1.73205)." : True
None_Coords_Curv2d_Valid_Val
 (1.0, 1.7320507764816284) .eq. (1.0, 1.7320507764816284)
 (prec=5) : True
Node_Coords_Curv2d_Invalid_Str
 "The coords of node 1000000 could not be determined." .eq. "The coords of node 1000000 could not be determined." : True
Node_Coords_Curv2d_Invalid_Val
 "None" .eq. "None" : True
Zone_Center_Multi_Ucd3d_Valid_Str
 "The center of zone 10 (domain 5) is (0.463913, 3.91959, 6.33333)." .eq. "The center of zone 10 (domain 5) is (0.463913, 3.91959, 6.33333)." : True
Zone_Center_Multi_Ucd3d_Valid_Val
 (0.4639131799340248, 3.9195945262908936, 6.333332777023315) .eq. (0.4639131799340248, 3.9195945262908936, 6.333332777023315)
 (prec=5) : True
Zone_Center_Multi_Ucd3d_Invalid_Str
 "The center of zone 1000000 (domain 5) could not be determined." .eq. "The center of zone 1000000 (domain 5) could not be determined." : True
Zone_Center_Multi_Ucd3d_Invalid_Val
 "None" .eq. "None" : True
Node_Coords_Multi_Ucd3d_Valid_Str
 "The coords of node 10 (domain 5) are (2.96558, 2.53285, 0)." .eq. "The coords of node 10 (domain 5) are (2.96558, 2.53285, 0)." : True
None_Coords_Multi_Ucd3d_Valid_Val
 (2.9655816555023193, 2.532846450805664, 0.0) .eq. (2.9655816555023193, 2.532846450805664, 0.0)
 (prec=5) : True
Node_Coords_Multi_Ucd3d_Invalid_Str
 "The coords of node 1000000 (domain 5) could not be determined." .eq. "The coords of node 1000000 (domain 5) could not be determined." : True
Node_Coords_Multi_Ucd3d_Invalid_Val
 "None" .eq. "None" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_error_queries_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_error_queries_py.html new file mode 100644 index 000000000..52519466f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_error_queries_py.html @@ -0,0 +1,89 @@ +queries/error_queries.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  error_quries.py
+#  Tests:      queries     - zone center, node coords
+#
+#  Programmer: Eric Brugger
+#  Date:       August 3, 2023
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+#
+# Test with a single domain 2d curvilinear mesh
+#
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+Query("Zone Center", domain=0, element=10)
+s = GetQueryOutputString()
+v = GetQueryOutputValue()
+
+TestValueEQ("Zone_Center_Curv2d_Valid_Str", s, "The center of  zone 10 is (0.923738, 1.81294).")
+TestValueEQ("Zone_Center_Curv2d_Valid_Val", v, (0.9237379878759384, 1.8129377663135529))
+
+Query("Zone Center", domain=0, element=1000000)
+s = GetQueryOutputString()
+v = GetQueryOutputValue()
+
+TestValueEQ("Zone_Center_Curv2d_Invalid_Str", s, "The center of zone 1000000 could not be determined.")
+TestValueEQ("Zone_Center_Curv2d_Invalid_Val", v, None)
+
+Query("Node Coords", domain=0, element=10)
+s = GetQueryOutputString()
+v = GetQueryOutputValue()
+
+TestValueEQ("Node_Coords_Curv2d_Valid_Str", s, "The coords of  node 10 are (1, 1.73205).")
+TestValueEQ("None_Coords_Curv2d_Valid_Val", v, (1.0, 1.7320507764816284))
+
+Query("Node Coords", domain=0, element=1000000)
+s = GetQueryOutputString()
+v = GetQueryOutputValue()
+
+TestValueEQ("Node_Coords_Curv2d_Invalid_Str", s, "The coords of node 1000000 could not be determined.")
+TestValueEQ("Node_Coords_Curv2d_Invalid_Val", v, None)
+
+DeleteAllPlots()
+
+#
+# Test with a multi domain 3d unstructured mesh
+#
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+Query("Zone Center", domain=5, element=10)
+s = GetQueryOutputString()
+v = GetQueryOutputValue()
+
+TestValueEQ("Zone_Center_Multi_Ucd3d_Valid_Str", s, "The center of zone 10 (domain 5) is (0.463913, 3.91959, 6.33333).")
+TestValueEQ("Zone_Center_Multi_Ucd3d_Valid_Val", v, (0.4639131799340248, 3.9195945262908936, 6.333332777023315))
+
+Query("Zone Center", domain=5, element=1000000)
+s = GetQueryOutputString()
+v = GetQueryOutputValue()
+
+TestValueEQ("Zone_Center_Multi_Ucd3d_Invalid_Str", s, "The center of zone 1000000 (domain 5) could not be determined.")
+TestValueEQ("Zone_Center_Multi_Ucd3d_Invalid_Val", v, None)
+
+Query("Node Coords", domain=5, element=10)
+s = GetQueryOutputString()
+v = GetQueryOutputValue()
+
+TestValueEQ("Node_Coords_Multi_Ucd3d_Valid_Str", s, "The coords of node 10 (domain 5) are (2.96558, 2.53285, 0).")
+TestValueEQ("None_Coords_Multi_Ucd3d_Valid_Val", v, (2.9655816555023193, 2.532846450805664, 0.0))
+
+Query("Node Coords", domain=5, element=1000000)
+s = GetQueryOutputString()
+v = GetQueryOutputValue()
+
+TestValueEQ("Node_Coords_Multi_Ucd3d_Invalid_Str", s, "The coords of node 1000000 (domain 5) could not be determined.")
+TestValueEQ("Node_Coords_Multi_Ucd3d_Invalid_Val", v, None)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_flatten.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_flatten.html new file mode 100644 index 000000000..f7af41a25 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_flatten.html @@ -0,0 +1,1605 @@ + +Results for queries/flatten.py + +

Results of VisIt Regression Test - queries/flatten

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect2d.silo_NodeData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldNotHaveZoneTable
 "False" .eq. "False" : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect3d.silo_NodeData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldNotHaveZoneTable
 "False" .eq. "False" : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv2d.silo_NodeData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldNotHaveZoneTable
 "False" .eq. "False" : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv3d.silo_NodeData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldNotHaveZoneTable
 "False" .eq. "False" : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd2d.silo_NodeData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldNotHaveZoneTable
 "False" .eq. "False" : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd3d.silo_NodeData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldNotHaveZoneTable
 "False" .eq. "False" : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect2d.silo_ZoneData
ShouldNotHaveNodeTable
 "False" .eq. "False" : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect3d.silo_ZoneData
ShouldNotHaveNodeTable
 "False" .eq. "False" : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv2d.silo_ZoneData
ShouldNotHaveNodeTable
 "False" .eq. "False" : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv3d.silo_ZoneData
ShouldNotHaveNodeTable
 "False" .eq. "False" : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd2d.silo_ZoneData
ShouldNotHaveNodeTable
 "False" .eq. "False" : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd3d.silo_ZoneData
ShouldNotHaveNodeTable
 "False" .eq. "False" : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect2d.silo_BothData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect3d.silo_BothData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv2d.silo_BothData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv3d.silo_BothData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd2d.silo_BothData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
/usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd3d.silo_BothData
ShouldHaveNodeTable
 "True" .eq. "True" : True
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
NodeCol0Name
 "nid" .eq. "nid" : True
NodeCol1Name
 "vec_nid/c0" .eq. "vec_nid/c0" : True
NodeCol2Name
 "vec_nid/c1" .eq. "vec_nid/c1" : True
NodeCol3Name
 "vec_nid/c2" .eq. "vec_nid/c2" : True
NodeCol4Name
 "nodeIds" .eq. "nodeIds" : True
NodeCol5Name
 "nodeDomains" .eq. "nodeDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
ShouldHaveZoneTable
 "True" .eq. "True" : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
ZoneCol0Name
 "zid" .eq. "zid" : True
ZoneCol1Name
 "vec_zid/c0" .eq. "vec_zid/c0" : True
ZoneCol2Name
 "vec_zid/c1" .eq. "vec_zid/c1" : True
ZoneCol3Name
 "vec_zid/c2" .eq. "vec_zid/c2" : True
ZoneCol4Name
 "zoneIds" .eq. "zoneIds" : True
ZoneCol5Name
 "zoneDomains" .eq. "zoneDomains" : True
NumCols
 6 .eq. 6 (prec=5) : True
TestDataCol0
 -1 .eq. -1 (prec=5) : True
TestDataCol1
 -1 .eq. -1 (prec=5) : True
TestDataCol2
 -1 .eq. -1 (prec=5) : True
TestDataCol3
 -1 .eq. -1 (prec=5) : True
TestDataCol4
 -1 .eq. -1 (prec=5) : True
BoxSelection
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
ShouldHaveNodeTable
 nodeTable .in. 
{'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=0) : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
ShouldHaveZoneTable
 zoneTable .in. 
{'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=2) : True
multi_rect2d_box_nodes0 modifications totalling 0 lines
multi_rect2d_box_zones0 modifications totalling 0 lines
BoxSelectionNoSharedMemory
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
ShouldHaveNodeTable
 nodeTable .in. 
{'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=0) : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
ShouldHaveZoneTable
 zoneTable .in. 
{'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=2) : True
multi_rect2d_box_nodes0 modifications totalling 0 lines
multi_rect2d_box_zones0 modifications totalling 0 lines
NoiseWithTensor
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('hardyglobal', 'grad_tensor/c0', 'grad_tensor/c1', 'grad_tensor/c2', 'grad_tensor/c3', 'grad_tensor/c4', 'grad_tensor/c5', 'grad_tensor/c6', 'grad_tensor/c7', 'grad_tensor/c8', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
ShouldHaveNodeTable
 nodeTable .in. 
{'nodeTable': , 'nodeColumnNames': ('hardyglobal', 'grad_tensor/c0', 'grad_tensor/c1', 'grad_tensor/c2', 'grad_tensor/c3', 'grad_tensor/c4', 'grad_tensor/c5', 'grad_tensor/c6', 'grad_tensor/c7', 'grad_tensor/c8', 'nodeIds', 'nodeDomains')} (prec=5, at=0) : True
noise_nodes0 modifications totalling 0 lines
IJKs2D
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=1) : True
ShouldHaveNodeTable
 nodeTable .in. 
{'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=0) : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=3) : True
ShouldHaveZoneTable
 zoneTable .in. 
{'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=2) : True
NodeInvalidRow
 -1 .eq. -1 (prec=5) : True
ZoneInvalidRow
 -1 .eq. -1 (prec=5) : True
IJKs3D
ShouldHaveNodeColumnNames
 nodeColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=1) : True
ShouldHaveNodeTable
 nodeTable .in. 
{'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=0) : True
ShouldHaveZoneColumnNames
 zoneColumnNames .in. 
{'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=3) : True
ShouldHaveZoneTable
 zoneTable .in. 
{'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
  'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=2) : True
NodeInvalidRow
 -1 .eq. -1 (prec=5) : True
ZoneInvalidRow
 -1 .eq. -1 (prec=5) : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_flatten_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_flatten_py.html new file mode 100644 index 000000000..e6910fea4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_flatten_py.html @@ -0,0 +1,349 @@ +queries/flatten.py
# ----------------------------------------------------------------------------
+#  MODES: serial parallel
+#  CLASSES: nightly
+#
+#  Test Case:  flatten.py
+#
+#  Tests:      Tests CLI Flatten() function
+#              (which is avtFlattenQuery underneath)
+#
+#  Programmer: Christopher Laganella
+#  Date:       Fri Feb  4 17:07:24 EST 2022
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+try:
+    import numpy as np
+    haveNumpy = True
+except:
+    haveNumpy = False
+
+import os
+
+# NOTE: The following few functions are useful for running this test
+#  script through the regular visit CLI
+# def silo_data_path(name):
+#     return os.path.join("/home/cdl/Development/visit/visit/data/silo_hdf5_test_data",
+#         name)
+
+# def Exit():
+#     exit()
+
+# def TestSection(name):
+#     print(name)
+
+# def TestText(baseline_file, value):
+#     print("Loading up baseline file %s" % os.path.abspath(baseline_file))
+
+# def TestValueEQ(name, v0, v1):
+#     assert v0 == v1, str(name) + ": " + str(v0) + " != " + str(v1)
+
+# def TestValueIN(name, d, k):
+#     assert k in d, str(name) + ": " + str(v0) + " !in " + str(v1)
+
+n = 0
+basicTestCases = (
+    (silo_data_path('rect2d.silo'), 'quadmesh2d'),
+    (silo_data_path('rect3d.silo'), 'quadmesh3d'),
+    (silo_data_path('curv2d.silo'), 'curvmesh2d'),
+    (silo_data_path('curv3d.silo'), 'curvmesh3d'),
+    (silo_data_path('ucd2d.silo'), 'ucdmesh2d'),
+    (silo_data_path('ucd3d.silo'), 'ucdmesh3d'),
+)
+
+
+def load_text(name):
+    fname = name + '.txt'
+    print("Loading up current file %s" % os.path.abspath(fname))
+    with open(fname) as f:
+        return f.read()
+
+def define_mesh_expressions(mesh_name):
+    DefineScalarExpression("nid", "nodeid({})".format(mesh_name))
+    DefineScalarExpression("zid", "zoneid({})".format(mesh_name))
+    DefineVectorExpression("vec_nid", "{-nid,nid,-nid}")
+    DefineVectorExpression("vec_zid", "{-zid,zid,-zid}")
+
+def test_basic_table(table):
+    data = np.asarray(table)
+    ncol = data.shape[1]
+    TestValueEQ("NumCols", ncol, 6)
+
+    badCol0 = -1
+    badCol1 = -1
+    badCol2 = -1
+    badCol3 = -1
+    badCol4 = -1
+    badCol5 = -1
+    nrow = data.shape[0]
+    for i in range(0, nrow):
+        badCol0 = -1 if np.isclose(data[i, 0],  i) and badCol0 < 0 else i
+        badCol1 = -1 if np.isclose(data[i, 1], -i) and badCol1 < 0 else i
+        badCol2 = -1 if np.isclose(data[i, 2],  i) and badCol2 < 0 else i
+        badCol3 = -1 if np.isclose(data[i, 3], -i) and badCol3 < 0 else i
+        badCol4 = -1 if np.isclose(data[i, 4],  i) and badCol4 < 0 else i
+        # All the of the basic tests should be 1 domain
+        badCol5 = -1 if np.isclose(data[i, 5], 0) and badCol5 < 0 else i
+
+    if badCol0 > -1:
+        global n
+        np.savetxt("table%d.csv" % n, data, delimiter=',')
+        n = n + 1
+
+    TestValueEQ("TestDataCol0", -1, badCol0)
+    TestValueEQ("TestDataCol1", -1, badCol1)
+    TestValueEQ("TestDataCol2", -1, badCol2)
+    TestValueEQ("TestDataCol3", -1, badCol3)
+    TestValueEQ("TestDataCol4", -1, badCol4)
+
+def run_basic_test(db_name, mesh_name, test_type):
+    OpenDatabase(db_name)
+    define_mesh_expressions(mesh_name)
+    AddPlot('Mesh', mesh_name)
+    DrawPlots()
+
+    vars = tuple()
+    if test_type == 'nz' or test_type == 'zn':
+        vars = ('nid', 'zid', 'vec_nid', 'vec_zid')
+    elif 'n' in test_type:
+        vars = ('nid', 'vec_nid')
+    elif 'z' in test_type:
+        vars = ('zid', 'vec_zid')
+
+    expect_node_table = 'n' in test_type
+    expect_zone_table = 'z' in test_type
+
+    tables = Flatten(vars, nodeIds=expect_node_table,
+        zoneIds=expect_zone_table, nodeIJK=False, zoneIJK=False)
+
+    have_node_table = 'nodeTable' in tables
+    if expect_node_table:
+        TestValueEQ("ShouldHaveNodeTable", have_node_table, True)
+        TestValueIN("ShouldHaveNodeColumnNames", tables, 'nodeColumnNames')
+        column_names = tables['nodeColumnNames']
+        # print(column_names)
+        TestValueEQ('NodeCol0Name', column_names[0], 'nid')
+        TestValueEQ('NodeCol1Name', column_names[1], 'vec_nid/c0')
+        TestValueEQ('NodeCol2Name', column_names[2], 'vec_nid/c1')
+        TestValueEQ('NodeCol3Name', column_names[3], 'vec_nid/c2')
+        TestValueEQ('NodeCol4Name', column_names[4], 'nodeIds')
+        TestValueEQ('NodeCol5Name', column_names[5], 'nodeDomains')
+        test_basic_table(tables['nodeTable'])
+    else:
+        TestValueEQ("ShouldNotHaveNodeTable", have_node_table, False)
+
+    have_zone_table = 'zoneTable' in tables
+    if expect_zone_table:
+        TestValueEQ("ShouldHaveZoneTable", have_zone_table, True)
+        TestValueIN("ShouldHaveZoneColumnNames", tables, 'zoneColumnNames')
+        column_names = tables['zoneColumnNames']
+        # print(column_names)
+        TestValueEQ('ZoneCol0Name', column_names[0], 'zid')
+        TestValueEQ('ZoneCol1Name', column_names[1], 'vec_zid/c0')
+        TestValueEQ('ZoneCol2Name', column_names[2], 'vec_zid/c1')
+        TestValueEQ('ZoneCol3Name', column_names[3], 'vec_zid/c2')
+        TestValueEQ('ZoneCol4Name', column_names[4], 'zoneIds')
+        TestValueEQ('ZoneCol5Name', column_names[5], 'zoneDomains')
+        test_basic_table(tables['zoneTable'])
+    else:
+        TestValueEQ("ShouldNotHaveZoneTable", have_zone_table, False)
+
+    DeleteAllPlots()
+    CloseDatabase(db_name)
+
+def test_box(forceNoShm):
+    db_name = silo_data_path('multi_rect2d.silo')
+    mesh_name = 'mesh1'
+
+    OpenDatabase(db_name)
+    define_mesh_expressions(mesh_name)
+    AddPlot('Mesh', mesh_name)
+    AddOperator('Box')
+    opts = GetOperatorOptions(0)
+    opts.maxy = 0.1
+    SetOperatorOptions(opts)
+    DrawPlots()
+
+    vars = ('vec_nid', 'vec_zid')
+    tables = Flatten(vars, nodeIds=True,
+        zoneIds=True, nodeIJK=False, zoneIJK=False,
+        forceNoSharedMemory=forceNoShm)
+
+    TestValueIN('ShouldHaveNodeColumnNames', tables, 'nodeColumnNames')
+    TestValueIN('ShouldHaveNodeTable', tables, 'nodeTable')
+    nodeTable = np.asarray(tables['nodeTable'])
+
+    TestValueIN('ShouldHaveZoneColumnNames', tables, 'zoneColumnNames')
+    TestValueIN('ShouldHaveZoneTable', tables, 'zoneTable')
+    zoneTable = np.asarray(tables['zoneTable'])
+
+    ntName = 'multi_rect2d_box_nodes'
+    ztName = 'multi_rect2d_box_zones'
+    np.savetxt(ntName+'.txt', nodeTable, delimiter=',',
+        header=','.join(tables['nodeColumnNames']))
+    np.savetxt(ztName+'.txt', zoneTable, delimiter=',',
+        header=','.join(tables['zoneColumnNames']))
+    TestText(ntName, load_text(ntName))
+    TestText(ztName, load_text(ztName))
+
+    DeleteAllPlots()
+    CloseDatabase(db_name)
+
+def test_tensor():
+    TestSection('NoiseWithTensor')
+    db_name = silo_data_path('noise.silo')
+    mesh_name = 'Mesh'
+
+    OpenDatabase(db_name)
+    AddPlot('Mesh', mesh_name)
+
+    # Only want a small section for the csv file
+    AddOperator('Box')
+    opts = GetOperatorOptions(0)
+    opts.minx = -10.0
+    opts.maxx = -9.0
+    opts.miny = -10.0
+    opts.maxy = -9.0
+    opts.minz = -10.0
+    opts.maxz = -9.0
+    SetOperatorOptions(opts)
+    DrawPlots()
+
+    vars = ('hardyglobal', 'grad_tensor')
+    tables = Flatten(vars, nodeIds=True, zoneIds=False,
+                        nodeIJK=False, zoneIJK=False)
+
+    TestValueIN('ShouldHaveNodeColumnNames', tables, 'nodeColumnNames')
+    TestValueIN('ShouldHaveNodeTable', tables, 'nodeTable')
+    nodeTable = np.asarray(tables['nodeTable'])
+
+    ntName = 'noise_nodes'
+    np.savetxt(ntName+'.txt', nodeTable, delimiter=',',
+        header=','.join(tables['nodeColumnNames']))
+    TestText(ntName, load_text(ntName))
+
+    DeleteAllPlots()
+    CloseDatabase(db_name)
+
+def test_ijk(do3d):
+    db_name = silo_data_path('rect3d.silo') if do3d else silo_data_path('rect2d.silo')
+    mesh_name = 'quadmesh3d' if do3d else 'quadmesh2d'
+
+    OpenDatabase(db_name)
+    AddPlot('Mesh', mesh_name)
+    DrawPlots()
+
+    vars = ('d',)
+    tables = Flatten(vars, nodeIds=False, zoneIds=False, nodeIJK=True, zoneIJK=True)
+
+    TestValueIN('ShouldHaveNodeColumnNames', tables, 'nodeColumnNames')
+    TestValueIN('ShouldHaveNodeTable', tables, 'nodeTable')
+    TestValueIN('ShouldHaveZoneColumnNames', tables, 'zoneColumnNames')
+    TestValueIN('ShouldHaveZoneTable', tables, 'zoneTable')
+
+    # Test rect2D and rect3D nodes
+    nodeTable = np.asarray(tables['nodeTable'])
+    row = -1
+    dims = (31, 41, 31) if do3d else (31, 41, 1)
+    for k in range(0, dims[2]):
+        knxny = k * dims[0] * dims[1]
+        for j in range(0, dims[1]):
+            jnx = j * dims[0]
+            for i in range(0, dims[0]):
+                id = knxny + jnx + i
+                iok = np.isclose(nodeTable[id, 0], i)
+                jok = np.isclose(nodeTable[id, 1], j)
+                kok = np.isclose(nodeTable[id, 2], k)
+                if not (iok and jok and kok):
+                    print('(%d,%d,%d)' % (i, j, k))
+                    print('(%g,%g,%g)' % (nodeTable[id,0], nodeTable[id,1], nodeTable[id,2]))
+                    row = id
+                    break
+            if row > -1:
+                break
+        if row > -1:
+            break
+
+    if row > -1:
+        baseline_name = 'NodeIJK3D' if do3d else 'NodeIJK2D'
+        np.savetxt(baseline_name + '.txt', nodeTable, delimiter=',',
+            header=','.join(tables['nodeColumnNames']))
+    TestValueEQ('NodeInvalidRow', row, -1)
+
+    # Test rect2D and rect3D zones
+    zoneTable = np.asarray(tables['zoneTable'])
+    row = -1
+    dims = (30, 40, 30) if do3d else (30, 40, 1)
+    for k in range(0, dims[2]):
+        knxny = k * dims[0] * dims[1]
+        for j in range(0, dims[1]):
+            jnx = j * dims[0]
+            for i in range(0, dims[0]):
+                id = knxny + jnx + i
+                # NOTE: Column 0 is 'd'
+                iok = np.isclose(zoneTable[id, 1], i)
+                jok = np.isclose(zoneTable[id, 2], j)
+                kok = np.isclose(zoneTable[id, 3], k)
+                if not (iok and jok and kok):
+                    print('(%d,%d,%d)' % (i, j, k))
+                    print('(%g,%g,%g)' % (zoneTable[id,1], zoneTable[id,2], zoneTable[id,3]))
+                    row = id
+                    break
+            if row > -1:
+                break
+        if row > -1:
+            break
+
+    if row > -1:
+        baseline_name = 'ZoneIJK3D' if do3d else 'ZoneIJK2D'
+        np.savetxt(baseline_name + '.txt', zoneTable, delimiter=',',
+            header=','.join(tables['zoneColumnNames']))
+    TestValueEQ('ZoneInvalidRow', row, -1)
+
+    DeleteAllPlots()
+    CloseDatabase(db_name)
+
+def test_node_data():
+    for case in basicTestCases:
+        TestSection(case[0] + '_' + 'NodeData')
+        run_basic_test(case[0], case[1], 'n')
+
+def test_zone_data():
+    for case in basicTestCases:
+        TestSection(case[0] + '_' + 'ZoneData')
+        run_basic_test(case[0], case[1], 'z')
+
+def test_both():
+    for case in basicTestCases:
+        TestSection(case[0] + '_' + 'BothData')
+        run_basic_test(case[0], case[1], 'nz')
+
+def test_box_selection():
+    # These test verify that the Query operates on
+    #   the actual data and not the original
+    # A second test is used to test the non shared
+    #   memory implementation since the data is small.
+    TestSection('BoxSelection')
+    test_box(False)
+    TestSection('BoxSelectionNoSharedMemory')
+    test_box(True)
+
+def test_ijks():
+    TestSection('IJKs2D')
+    test_ijk(False)
+    TestSection('IJKs3D')
+    test_ijk(True)
+
+def test_all():
+    test_node_data()
+    test_zone_data()
+    test_both()
+    test_box_selection()
+    test_tensor()
+    test_ijks()
+
+if haveNumpy:
+    test_all()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_gridinformation.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_gridinformation.html new file mode 100644 index 000000000..ffee67a4f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_gridinformation.html @@ -0,0 +1,56 @@ + +Results for queries/gridinformation.py + +

Results of VisIt Regression Test - queries/gridinformation

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
gridinformation_000 modifications totalling 0 lines
gridinformation_010 modifications totalling 0 lines
gridinformation_020 modifications totalling 0 lines
gridinformation_030 modifications totalling 0 lines
gridinformation_040 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_gridinformation_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_gridinformation_py.html new file mode 100644 index 000000000..84093d9ba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_gridinformation_py.html @@ -0,0 +1,43 @@ +queries/gridinformation.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  database.py #
+#  Tests:      Grid Information
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Jan  3 16:38:02 PST 2018
+#
+#  Modifications:
+#
+# ---------------------------------------------------------------------------- 
+
+newline = "=================================================\n"
+
+tests = (
+    ("gridinformation_00", silo_data_path("noise.silo"), "Pseudocolor", "radial"),
+    ("gridinformation_01", silo_data_path("globe.silo"), "Pseudocolor", "speed"),
+    ("gridinformation_02", silo_data_path("multi_rect3d.silo"), "Pseudocolor", "d"),
+    ("gridinformation_03", silo_data_path("multi_curv3d.silo"), "Pseudocolor", "d"),
+    ("gridinformation_04", silo_data_path("multi_ucd3d.silo"), "Pseudocolor", "d"))
+
+for t in tests:
+    OpenDatabase(t[1])
+    AddPlot(t[2], t[3])
+    DrawPlots()
+    Query("Grid Information")
+    s = GetQueryOutputString()
+    s = s + newline
+
+    Query("Grid Information", get_extents=1)
+    s = s + GetQueryOutputString()
+    s = s + newline
+
+    Query("Grid Information", get_extents=1, get_ghosttypes=1)
+    s = s + GetQueryOutputString()
+
+    TestText(t[0], s)
+    DeleteAllPlots()
+    CloseDatabase(t[1])
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_hohlraum.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_hohlraum.html new file mode 100644 index 000000000..aa08097e5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_hohlraum.html @@ -0,0 +1,86 @@ + +Results for queries/hohlraum.py + +

Results of VisIt Regression Test - queries/hohlraum

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
hf_0_00 modifications totalling 0 lines
hf_0_10.000.00
hf_1_00 modifications totalling 0 lines
hf_1_10.000.00
hf_2_00 modifications totalling 0 lines
hf_2_10.000.00
hf_3_00 modifications totalling 0 lines
hf_3_10.000.00
hf_4_00 modifications totalling 0 lines
hf_4_10.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_hohlraum_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_hohlraum_py.html new file mode 100644 index 000000000..2bfbadd3f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_hohlraum_py.html @@ -0,0 +1,112 @@ +queries/hohlraum.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  line_scan.py
+#  Tests:      queries     - mass distribution, chord length distribution
+#
+#  Defect ID:  '7474 + '7476
+#
+#  Programmer: Hank Childs
+#  Date:       August 23, 2006
+#
+#  Modifications:
+#
+#    Hank Childs, Sun Aug 27 16:52:07 PDT 2006
+#    Added testing for expected value, mass from boundary.
+#
+#    Dave Bremer, Fri Sep  8 11:44:22 PDT 2006
+#    Added testing for the line scan transform.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
+#    Use named arguments.
+#
+#    Kathleen Biagas, Wed Feb 16 13:11:57 PST 2022
+#    Replaced Curve atts 'cycleColors' with 'curveColorSource'.
+#
+# ----------------------------------------------------------------------------
+
+import os
+
+
+ca=CurveAttributes()
+ca.curveColorSource = ca.Custom
+SetDefaultPlotOptions(ca)
+
+def TestOne(index, filename, varname, meshname, absvar, emisvar, numlines, x, y, z, radius, theta, phi):
+    # Because the queries we are testing output to the file system, we need to
+    # delete previous outputs before running.  If we don't do this, then the
+    # queries will output files to names that are continuously incrementing.
+    list = os.listdir(".")
+    for i in range(len(list)):
+        if (list[i] == "hf0.ult"):
+            os.unlink("hf0.ult")
+
+    # Do the queries...
+    OpenDatabase(filename)
+    AddPlot("Pseudocolor", varname)
+    DrawPlots()
+    params = dict(num_lines=numlines, ray_center=(x, y, z), radius=radius, theta=theta, phi=phi, vars=(absvar, emisvar))
+    Query("Hohlraum Flux", params)
+    s = GetQueryOutputString()
+    #v = GetQueryOutputValue()
+    test_name = "hf_%d_%d" %(index,0)
+    TestText(test_name, s)
+    DeleteAllPlots()
+
+    # Now test the outputs
+    OpenDatabase("hf0.ult")
+    ReOpenDatabase("hf0.ult")  # Flush out cached version
+    AddPlot("Curve", "Hohlraum Flux")
+    DrawPlots()
+    ResetView()
+    test1 = "hf_%d_%d" %(index,1)
+    Test(test1)
+    DeleteAllPlots()
+
+
+DefineArrayExpression("a0", "array_compose(recenter(u), recenter(v), d)")
+DefineArrayExpression("e0", "array_compose(recenter(gradient(u)[0]), recenter(gradient(u)[1]), p)")
+TestOne(0, silo_data_path("rect2d.silo"), "d", "quadmesh2d", "a0", "e0", 100, 0.5,0.5,0, 0.1,0,0)
+DeleteExpression("a0")
+DeleteExpression("e0")
+
+DefineArrayExpression("a1", "array_compose(<mesh_quality/volume>, <mesh_quality/taper>,  <mesh_quality/oddy>)")
+DefineArrayExpression("e1", "array_compose(<mesh_quality/aspect>, <mesh_quality/shape>, <mesh_quality/skew>)")
+TestOne(1, data_path("KullLite_test_data/T.pdb"),
+        "mesh_quality/volume", "mesh",
+        "a1", "e1", 100, 0,0,0, 0.25,90,90)
+DeleteExpression("a1")
+DeleteExpression("e1")
+
+DefineArrayExpression("a2", "array_compose(<mesh_quality/mesh/jacobian>, \
+                      <mesh_quality/mesh/area>, <mesh_quality/mesh/oddy>)")
+DefineArrayExpression("e2", "array_compose(<mesh_quality/mesh/aspect>, \
+                      <mesh_quality/mesh/shape>, <mesh_quality/mesh/skew>)")
+TestOne(2, data_path("KullLite_test_data/tagtest_rz_3.pdb"),
+        "mesh_quality/mesh/area", "mesh",
+        "a2", "e2", 333, 0,0,1, 0.5,0,0)
+DeleteExpression("a2")
+DeleteExpression("e2")
+
+TestOne(3, silo_data_path("multi_rect2d.silo"), "d", "mesh1", "d", "p", 500, 0.5,0.5,0, 1,45,45)
+
+
+DefineArrayExpression("a3", "array_compose_with_bins(<mesh_quality/mesh/jacobian>,"
+                            "<mesh_quality/mesh/area>, <mesh_quality/mesh/oddy>,  [0, 2, 4, 8])")
+DefineArrayExpression("e3", "array_compose_with_bins(<mesh_quality/mesh/aspect>,"
+                            "<mesh_quality/mesh/shape>, <mesh_quality/mesh/skew>, [0, 2, 4, 8])")
+TestOne(4, data_path("KullLite_test_data/tagtest_rz_3.pdb"), "mesh_quality/mesh/area", "mesh",
+        "a3", "e3", 333, 0,0,1, 0.5,0,0)
+DeleteExpression("a3")
+DeleteExpression("e3")
+
+
+
+
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_kurtosis.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_kurtosis.html new file mode 100644 index 000000000..e5770fd5f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_kurtosis.html @@ -0,0 +1,60 @@ + +Results for queries/kurtosis.py + +

Results of VisIt Regression Test - queries/kurtosis

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
kurtosis_010 modifications totalling 0 lines
kurtosis_020 modifications totalling 0 lines
kurtosis_030 modifications totalling 0 lines
kurtosis_040 modifications totalling 0 lines
kurtosis_050 modifications totalling 0 lines
kurtosis_060 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_kurtosis_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_kurtosis_py.html new file mode 100644 index 000000000..a0897847c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_kurtosis_py.html @@ -0,0 +1,49 @@ +queries/kurtosis.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  kurtosis.py
+#  Tests:      queries     - kurtosis and skewness
+#
+#  Defect ID:  VisIt00006466, '6269.
+#
+#  Programmer: Hank Childs
+#  Date:       August 5, 2005
+#
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+OpenDatabase(data_path("curve_test_data/distribution.ultra"))
+
+AddPlot("Curve", "Laplace Distribution")
+DrawPlots()
+
+Query("Kurtosis")
+text = GetQueryOutputString()
+TestText("kurtosis_01", text)
+
+Query("Skewness")
+text = GetQueryOutputString()
+TestText("kurtosis_02", text)
+
+ChangeActivePlotsVar("Log Normal Distribution")
+Query("Kurtosis")
+text = GetQueryOutputString()
+TestText("kurtosis_03", text)
+
+Query("Skewness")
+text = GetQueryOutputString()
+TestText("kurtosis_04", text)
+
+ChangeActivePlotsVar("Exponential Distribution")
+Query("Kurtosis")
+text = GetQueryOutputString()
+TestText("kurtosis_05", text)
+
+Query("Skewness")
+text = GetQueryOutputString()
+TestText("kurtosis_06", text)
+
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_l2norm.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_l2norm.html new file mode 100644 index 000000000..fbb28b0fc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_l2norm.html @@ -0,0 +1,56 @@ + +Results for queries/l2norm.py + +

Results of VisIt Regression Test - queries/l2norm

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
l2norm_010 modifications totalling 0 lines
l2norm_020 modifications totalling 0 lines
l2norm_030 modifications totalling 0 lines
l2norm_040 modifications totalling 0 lines
l2norm_050 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_l2norm_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_l2norm_py.html new file mode 100644 index 000000000..25026fff9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_l2norm_py.html @@ -0,0 +1,107 @@ +queries/l2norm.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  l2norm.py
+#  Tests:      queries     - l2norms of various curves
+#
+#  Defect ID:  VisIt00006077
+#
+#  Programmer: Hank Childs
+#  Date:       March 15, 2005
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+# Test that we can do an l2norm of a degenerate ultra file.
+TurnOnAllAnnotations()
+OpenDatabase(data_path("curve_test_data/degenerate.ultra"))
+
+AddPlot("Curve", "This is a degenerate ultra file.")
+DrawPlots()
+
+Query("L2Norm")
+text = GetQueryOutputString()
+TestText("l2norm_01", text)
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+DefineScalarExpression("d_mod", "d+0.4*coord(quadmesh2d)[1]")
+AddWindow()
+SetActiveWindow(2)
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+DeleteAllPlots()
+AddPlot("Pseudocolor", "d_mod")
+DrawPlots()
+
+start_angle = 0
+stop_angle = 90
+
+import math
+nsteps = 10
+center=(0,0)
+radius = 1
+step = (stop_angle-start_angle) / (nsteps-1)
+rel_diff = []
+for i in range(nsteps):
+   angle = start_angle + i*step
+   rad_angle = angle*2*math.pi/360.
+   P2=(radius*math.cos(rad_angle), radius*math.sin(rad_angle))
+   SetActiveWindow(1)
+   time.sleep(1)
+   Lineout(center, P2)
+   SetActiveWindow(2)
+   time.sleep(1)
+   Lineout(center, P2)
+   SetActiveWindow(3)
+   SetActivePlots(0)
+   Query("L2Norm")
+   norm = GetQueryOutputValue()
+   SetActivePlots((0,1))
+   time.sleep(1)
+   Query("L2Norm Between Curves")
+   diff = GetQueryOutputValue()
+   rel_diff = rel_diff + [1.-diff/norm]
+   DeleteAllPlots()
+
+ave=0
+for i in range(nsteps):
+   ave += rel_diff[i]
+ave /= nsteps
+
+text = "The average difference is %f" %(ave)
+TestText("l2norm_02", text)
+
+min=1
+max=0
+for i in range(nsteps):
+   if (rel_diff[i]<min):
+       min=rel_diff[i]
+   if (rel_diff[i]>max):
+       max=rel_diff[i]
+
+
+text = "The minimum relative difference is %f" %(min)
+TestText("l2norm_03", text)
+text = "The maximum relative difference is %f" %(max)
+TestText("l2norm_04", text)
+
+
+variance = 0
+for i in range(nsteps):
+   variance += (rel_diff[i]-ave)*(rel_diff[i]-ave)
+variance /= (nsteps-1)
+stddev = math.sqrt(variance)
+
+text = "The standard deviation of the relative difference is %f" %(stddev)
+TestText("l2norm_05", text)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_length.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_length.html new file mode 100644 index 000000000..a0924b42b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_length.html @@ -0,0 +1,50 @@ + +Results for queries/length.py + +

Results of VisIt Regression Test - queries/length

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
length_010 modifications totalling 0 lines
length_020 modifications totalling 0 lines
length_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_length_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_length_py.html new file mode 100644 index 000000000..d77c4db26 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_length_py.html @@ -0,0 +1,58 @@ +queries/length.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  length.py
+#  Tests:      queries     - total length
+#
+#  Defect ID:  VisIt00007530
+#
+#  Programmer: Hank Childs
+#  Date:       November 8, 2006
+#
+#  Modifications:
+#
+#    Hank Childs, Mon Nov 27 09:27:06 PST 2006
+#    Forgot to remove annotations.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#    Turn off cycling of colors for all Curve plot tests.  Set the colors
+#    individually to match current baseline results.
+#
+# ----------------------------------------------------------------------------
+
+# Test that we can do an l2norm of a degenerate ultra file.
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Contour", "u")
+DrawPlots()
+Query("Total Length")
+text = GetQueryOutputString()
+TestText("length_01", text)
+
+DeleteAllPlots()
+OpenDatabase(data_path("curve_test_data/curve.visit"))
+
+AddPlot("Curve", "going_up")
+DrawPlots()
+
+Query("Total Length")
+text = GetQueryOutputString()
+TestText("length_02", text)
+
+q = GetQueryOverTimeAttributes()
+q.timeType = q.Timestep
+SetQueryOverTimeAttributes(q)
+QueryOverTime("Total Length")
+SetActiveWindow(2)
+TurnOffAllAnnotations()
+c = CurveAttributes()
+c.curveColorSource = c.Custom
+c.curveColor = (0, 255, 0, 255)
+SetPlotOptions(c)
+Test("length_03")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_line_scan.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_line_scan.html new file mode 100644 index 000000000..cd969dd14 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_line_scan.html @@ -0,0 +1,428 @@ + +Results for queries/line_scan.py + +

Results of VisIt Regression Test - queries/line_scan

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ls_0_10.000.00
ls_0_20 modifications totalling 0 lines
ls_0_30 modifications totalling 0 lines
ls_0_40.000.00
ls_0_50 modifications totalling 0 lines
ls_0_60 modifications totalling 0 lines
ls_0_70.000.00
ls_0_80 modifications totalling 0 lines
ls_0_90 modifications totalling 0 lines
ls_0_100.000.00
ls_0_110 modifications totalling 0 lines
ls_0_120 modifications totalling 0 lines
ls_0_130.000.00
ls_0_140 modifications totalling 0 lines
ls_0_150 modifications totalling 0 lines
ls_0_160.000.00
ls_0_170 modifications totalling 0 lines
ls_0_180 modifications totalling 0 lines
ls_0_190.000.00
ls_0_200 modifications totalling 0 lines
ls_0_210 modifications totalling 0 lines
ls_1_10.000.00
ls_1_20 modifications totalling 0 lines
ls_1_30 modifications totalling 0 lines
ls_1_40.000.00
ls_1_50 modifications totalling 0 lines
ls_1_60 modifications totalling 0 lines
ls_1_70.000.00
ls_1_80 modifications totalling 0 lines
ls_1_90 modifications totalling 0 lines
ls_1_100.000.00
ls_1_110 modifications totalling 0 lines
ls_1_120 modifications totalling 0 lines
ls_1_130.000.00
ls_1_140 modifications totalling 0 lines
ls_1_150 modifications totalling 0 lines
ls_1_160.000.00
ls_1_170 modifications totalling 0 lines
ls_1_180 modifications totalling 0 lines
ls_1_190.000.00
ls_1_200 modifications totalling 0 lines
ls_1_210 modifications totalling 0 lines
ls_2_10.000.00
ls_2_20 modifications totalling 0 lines
ls_2_30 modifications totalling 0 lines
ls_2_40.000.00
ls_2_50 modifications totalling 0 lines
ls_2_60 modifications totalling 0 lines
ls_2_70.000.00
ls_2_80 modifications totalling 0 lines
ls_2_90 modifications totalling 0 lines
ls_2_100.000.00
ls_2_110 modifications totalling 0 lines
ls_2_120 modifications totalling 0 lines
ls_2_130.000.00
ls_2_140 modifications totalling 0 lines
ls_2_150 modifications totalling 0 lines
ls_2_160.000.00
ls_2_170 modifications totalling 0 lines
ls_2_180 modifications totalling 0 lines
ls_2_190.000.00
ls_2_200 modifications totalling 0 lines
ls_2_210 modifications totalling 0 lines
ls_3_10.000.00
ls_3_20 modifications totalling 0 lines
ls_3_30 modifications totalling 0 lines
ls_3_40.000.00
ls_3_50 modifications totalling 0 lines
ls_3_60 modifications totalling 0 lines
ls_3_70.000.00
ls_3_80 modifications totalling 0 lines
ls_3_90 modifications totalling 0 lines
ls_3_100.000.00
ls_3_110 modifications totalling 0 lines
ls_3_120 modifications totalling 0 lines
ls_3_130.000.00
ls_3_140 modifications totalling 0 lines
ls_3_150 modifications totalling 0 lines
ls_3_160.000.00
ls_3_170 modifications totalling 0 lines
ls_3_180 modifications totalling 0 lines
ls_3_190.000.00
ls_3_200 modifications totalling 0 lines
ls_3_210 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_line_scan_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_line_scan_py.html new file mode 100644 index 000000000..17fa38ea8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_line_scan_py.html @@ -0,0 +1,203 @@ +queries/line_scan.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  line_scan.py
+#  Tests:      queries     - mass distribution, chord length distribution
+#
+#  Defect ID:  '7474 + '7476
+#
+#  Programmer: Hank Childs
+#  Date:       August 23, 2006
+#
+#  Modifications:
+#
+#    Hank Childs, Sun Aug 27 16:52:07 PDT 2006
+#    Added testing for expected value, mass from boundary.
+#
+#    Dave Bremer, Fri Sep  8 11:44:22 PDT 2006
+#    Added testing for the line scan transform.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
+#    Use named arguments.
+#
+#    Kathleen Biagas, Wed Feb 16 13:11:57 PST 2022
+#    Replaced Curve atts 'cycleColors' with 'curveColorSource'.
+#
+# ----------------------------------------------------------------------------
+
+import os
+
+
+ca=CurveAttributes()
+ca.curveColorSource = ca.Custom
+SetDefaultPlotOptions(ca)
+
+def TestOne(index, filename, varname, meshname, limit):
+    # Because the queries we are testing output to the file system, we need to
+    # delete previous outputs before running.  If we don't do this, then the
+    # queries will output files to names that are continuously incrementing.
+    list = os.listdir(".")
+    for i in range(len(list)):
+        if (list[i] == "cld_i0.ult"):
+            os.unlink("cld_i0.ult")
+        if (list[i] == "cld_a0.ult"):
+            os.unlink("cld_a0.ult")
+        if (list[i] == "rld_i0.ult"):
+            os.unlink("rld_i0.ult")
+        if (list[i] == "rld_a0.ult"):
+            os.unlink("rld_a0.ult")
+        if (list[i] == "md0.ult"):
+            os.unlink("md0.ult")
+        if (list[i] == "dfb0.ult"):
+            os.unlink("dfb0.ult")
+        if (list[i] == "lst0.ult"):
+            os.unlink("lst0.ult")
+
+    # Set up a purely 2D data set...
+    randname = "rand%d" %(index)
+    defn = "rand(%s)" %(meshname)
+    DefineScalarExpression(randname, defn)
+    OpenDatabase(filename)
+    AddPlot("Pseudocolor", varname)
+    AddOperator("Isovolume")
+    iso_atts = IsovolumeAttributes()
+    iso_atts.ubound = 0.3
+    iso_atts.variable = randname
+    SetOperatorOptions(iso_atts)
+    DrawPlots()
+
+    # Do the queries...
+    Query("Chord Length Distribution - individual", num_lines=15000, num_bins=100, min=0, max=limit)
+    Query("Chord Length Distribution - aggregate", num_lines=15000, num_bins=100, min=0, max=limit)
+    Query("Ray Length Distribution - individual", num_lines=15000, num_bins=100, min=0, max=limit)
+    Query("Ray Length Distribution - aggregate", num_lines=15000, num_bins=100, min=0, max=limit)
+    Query("Mass Distribution", num_lines=15000, num_bins=100, min=0, max=limit)
+    Query("Distance From Boundary", num_lines=15000, num_bins=100, min=0, max=limit)
+    Query("Line Scan Transform", num_lines=15000, num_bins=100, min=0, max=limit)
+    DeleteAllPlots()
+
+    # Now test the outputs
+    OpenDatabase("cld_i0.ult")
+    ReOpenDatabase("cld_i0.ult")  # Flush out cached version
+    AddPlot("Curve", "Chord length distribution - individual")
+    DrawPlots()
+    ResetView()
+    test1 = "ls_%d_%d" %(index,1)
+    Test(test1)
+    Query("Integrate")
+    text = GetQueryOutputString()
+    test2 = "ls_%d_%d" %(index,2)
+    TestText(test2, text)
+    Query("Expected Value")
+    text = GetQueryOutputString()
+    test3 = "ls_%d_%d" %(index,3)
+    TestText(test3, text)
+    DeleteAllPlots()
+    OpenDatabase("md0.ult")
+    ReOpenDatabase("md0.ult")  # Flush out cached version
+    AddPlot("Curve", "Mass distribution")
+    DrawPlots()
+    ResetView()
+    test4 = "ls_%d_%d" %(index,4)
+    Test(test4)
+    Query("Integrate")
+    text = GetQueryOutputString()
+    test5 = "ls_%d_%d" %(index,5)
+    TestText(test5, text)
+    Query("Expected Value")
+    text = GetQueryOutputString()
+    test6 = "ls_%d_%d" %(index,6)
+    TestText(test6, text)
+    DeleteAllPlots()
+    OpenDatabase("dfb0.ult")
+    ReOpenDatabase("dfb0.ult")  # Flush out cached version
+    AddPlot("Curve", "Mass distribution")
+    DrawPlots()
+    ResetView()
+    test7 = "ls_%d_%d" %(index,7)
+    Test(test7)
+    Query("Integrate")
+    text = GetQueryOutputString()
+    test8 = "ls_%d_%d" %(index,8)
+    TestText(test8, text)
+    Query("Expected Value")
+    text = GetQueryOutputString()
+    test9 = "ls_%d_%d" %(index,9)
+    TestText(test9, text)
+    DeleteAllPlots()
+    OpenDatabase("cld_a0.ult")
+    ReOpenDatabase("cld_a0.ult")  # Flush out cached version
+    AddPlot("Curve", "Chord length distribution - aggregate")
+    DrawPlots()
+    ResetView()
+    test1 = "ls_%d_%d" %(index,10)
+    Test(test1)
+    Query("Integrate")
+    text = GetQueryOutputString()
+    test2 = "ls_%d_%d" %(index,11)
+    TestText(test2, text)
+    Query("Expected Value")
+    text = GetQueryOutputString()
+    test3 = "ls_%d_%d" %(index,12)
+    TestText(test3, text)
+    DeleteAllPlots()
+    OpenDatabase("rld_i0.ult")
+    ReOpenDatabase("rld_i0.ult")  # Flush out cached version
+    AddPlot("Curve", "Ray length distribution - individual")
+    DrawPlots()
+    ResetView()
+    test1 = "ls_%d_%d" %(index,13)
+    Test(test1)
+    Query("Integrate")
+    text = GetQueryOutputString()
+    test2 = "ls_%d_%d" %(index,14)
+    TestText(test2, text)
+    Query("Expected Value")
+    text = GetQueryOutputString()
+    test3 = "ls_%d_%d" %(index,15)
+    TestText(test3, text)
+    DeleteAllPlots()
+    OpenDatabase("rld_a0.ult")
+    ReOpenDatabase("rld_a0.ult")  # Flush out cached version
+    AddPlot("Curve", "Ray length distribution - aggregate")
+    DrawPlots()
+    ResetView()
+    test1 = "ls_%d_%d" %(index,16)
+    Test(test1)
+    Query("Integrate")
+    text = GetQueryOutputString()
+    test2 = "ls_%d_%d" %(index,17)
+    TestText(test2, text)
+    Query("Expected Value")
+    text = GetQueryOutputString()
+    test3 = "ls_%d_%d" %(index,18)
+    TestText(test3, text)
+    DeleteAllPlots()
+    OpenDatabase("lst0.ult")
+    ReOpenDatabase("lst0.ult")  # Flush out cached version
+    AddPlot("Curve", "Line Scan Transform")
+    DrawPlots()
+    ResetView()
+    test1 = "ls_%d_%d" %(index,19)
+    Test(test1)
+    Query("Integrate")
+    text = GetQueryOutputString()
+    test2 = "ls_%d_%d" %(index,20)
+    TestText(test2, text)
+    Query("Expected Value")
+    text = GetQueryOutputString()
+    test3 = "ls_%d_%d" %(index,21)
+    TestText(test3, text)
+    DeleteAllPlots()
+
+
+TestOne(0, silo_data_path("rect2d.silo") , "d", "quadmesh2d", 0.5)
+TestOne(1, silo_data_path("multi_rect2d.silo") , "d", "mesh1", 0.5)
+TestOne(2, data_path("KullLite_test_data/T.pdb"), "mesh_quality/volume", "mesh", 0.2)
+TestOne(3, data_path("KullLite_test_data/tagtest_rz_3.pdb"), "mesh_quality/mesh/area", "mesh", 4.0)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_pick.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_pick.html new file mode 100644 index 000000000..98bed2723 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_pick.html @@ -0,0 +1,284 @@ + +Results for queries/pick.py + +

Results of VisIt Regression Test - queries/pick

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Pick3DTo2D10 modifications totalling 143 lines
Pick2D1 modifications totalling 100 lines
PickOnionPeel0 modifications totalling 0 lines
PickSubset0 modifications totalling 0 lines
PickMatFracsThreshold0 modifications totalling 0 lines
PickReflect0 modifications totalling 0 lines
PickFilledBoundary0 modifications totalling 0 lines
PickMultiBlock0 modifications totalling 0 lines
PickSurface0 modifications totalling 0 lines
PickBigSilMat0 modifications totalling 0 lines
PickOnionPeel20 modifications totalling 0 lines
PickSpecMix0 modifications totalling 0 lines
PickCurve0 modifications totalling 0 lines
PickMultiWindow0 modifications totalling 0 lines
PickAfterEngineClose0 modifications totalling 0 lines
PickAfterEngineCrash0 modifications totalling 0 lines
PickBoundary0 modifications totalling 0 lines
PickVectorPlot0 modifications totalling 0 lines
PickPointMeshes0 modifications totalling 0 lines
PickGlobalIds0 modifications totalling 0 lines
PickExpressions0 modifications totalling 0 lines
PickAMR15 modifications totalling 113 lines
PickSamrai_0116 modifications totalling 180 lines
PickSamrai_020 modifications totalling 0 lines
PickSamrai_030 modifications totalling 0 lines
PickSamrai_040 modifications totalling 0 lines
PickSamrai_056 modifications totalling 95 lines
PickIndexSelect13 modifications totalling 124 lines
PickTensors0 modifications totalling 0 lines
PickMili0 modifications totalling 0 lines
PickContour0 modifications totalling 0 lines
PickBox5 modifications totalling 61 lines
PickScatter0 modifications totalling 0 lines
PickHighlight_010.000.00
GlobalHighlight_000.000.00
PickHighlightColor_010.000.00
PickRange_010.000.00
RemovePicks_010.000.00
RemovePicks_020.000.00
Removed expected picks
 "A, C, D" .eq. "A, C, D" : True
RemovePicks_030.000.00
RemovePicks_040.000.00
Removed expected picks 2
 "E" .eq. "E" : True
RemoveLabeledPicks_000.000.00
RemoveLabeledPicks_010.000.00
Removed expected shell
 "shell 1, shell 2" .eq. "shell 1, shell 2" : True
PickLines3D0 modifications totalling 0 lines
PickByZoneLabel0 modifications totalling 0 lines
PickByNodeLabel0 modifications totalling 0 lines
PickRangeByZoneLabel0 modifications totalling 0 lines
SwivelFocus_000.000.00
SwivelHighlight_000.000.00
NodeHighlight_000.000.00
TranslatedHighlight_000.000.00
TestPickingExpression_000 modifications totalling 0 lines
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_pickNamedArgs.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickNamedArgs.html new file mode 100644 index 000000000..479ac2619 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickNamedArgs.html @@ -0,0 +1,74 @@ + +Results for queries/pickNamedArgs.py + +

Results of VisIt Regression Test - queries/pickNamedArgs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
TimePick_NamedArgs_000.000.00
TimePick_NamedArgs_010.000.00
TimePick_NamedArgs_020.000.00
TimePick_NamedArgs_030.000.00
TimePick_NamedArgs_040.000.00
Pick_UsingQueryResults0 modifications totalling 0 lines
Pick_ByGlobalElement0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_pickNamedArgs_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickNamedArgs_py.html new file mode 100644 index 000000000..4261293fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickNamedArgs_py.html @@ -0,0 +1,227 @@ +queries/pickNamedArgs.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  pickNamedArgs.py #
+#  Tests:      queries     - Pick using named-arguments
+#                            Pick using query results as arguments
+#
+#  Defect ID:  1781
+#
+#  Programmer: Kathleen Biagas
+#  Date:       July 11, 2014 
+#
+#  Modifications:
+#    Kathleen Biagas, Tue Jul 22 11:51:27 MST 2014
+#    Added Pick_ByGlobalId.
+#
+#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#    Turn off cycling of colors for all Curve plot tests.  Set the colors
+#    individually to match current baseline results.
+#
+# ---------------------------------------------------------------------------- 
+
+def TimePick():
+    OpenDatabase(silo_data_path("wave.visit"))
+
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+
+    # to demonstrate the effect of changing time options, use timestep for x axis.
+    q = GetQueryOverTimeAttributes()
+    q.timeType = q.Timestep
+    SetQueryOverTimeAttributes(q)
+
+    # Controlling which time steps are queried, showing defaults used
+    #     stride     => int    default: 1
+    #     start_time => int    default: 0 (min time index)
+    #     end_time   => int    default: max time index, as determined from DB
+
+    # Controlling the plot type when multiple vars are queried
+    #     curve_plot_type: 0 (Single Y Axis), or  1 (Multiple Y Axes) default: 0
+
+    # Which is used for subsequent timesteps, the coordinate or the element?
+    #     preserve_coord:  0 (use the element)  or 1 (use the coordinate)
+
+    c = CurveAttributes()
+    c.curveColorSource = c.Custom
+    c.curveColor = (255, 0, 0, 255)
+    SetDefaultPlotOptions(c)
+
+    vars =("pressure", "v", "direction_magnitude")
+    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=0)
+    SetActiveWindow(2);
+    Test("TimePick_NamedArgs_00")
+    DeleteAllPlots()
+
+    c.curveColor = (0, 255, 0, 255)
+    SetDefaultPlotOptions(c)
+
+    SetActiveWindow(1)
+    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=0,start_time=15, end_time=50, stride=7)
+    SetActiveWindow(2);
+    Test("TimePick_NamedArgs_01")
+    DeleteAllPlots()
+
+    c.curveColor = (0, 0, 255, 255)
+    SetDefaultPlotOptions(c)
+    SetActiveWindow(1)
+
+    # different way for specifying time options, result should be same as previopus:
+    time_opt = {'stride':7, 'start_time': 15, 'end_time':50}
+    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0, time_options=time_opt)
+    SetActiveWindow(2);
+    Test("TimePick_NamedArgs_02")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=1)
+    SetActiveWindow(2);
+    Test("TimePick_NamedArgs_03")
+    DeleteAllPlots()
+
+    SetActiveWindow(1);
+    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=1,stride=10)
+    SetActiveWindow(2);
+    Test("TimePick_NamedArgs_04")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("wave.visit"))
+
+def PickUsingQueryResults():
+    ResetPickLetter()
+    OpenDatabase(silo_data_path("wave.visit"))
+    AddPlot("FilledBoundary", "Material")
+    SetTimeSliderState(31)
+    DrawPlots()
+
+    # Make it easier to get coordinate values
+    SetQueryOutputToValue()
+    s = "Pick using results of Node Coords query:\n"
+
+    node_8837_coords = Query("Node Coords", element=8837)
+
+    # Now test that NodePick using those coords will return the correct node id
+    # Utilizes named args: coord (a tuple containing spatial coordinates)
+
+    pick_out = NodePick(coord=node_8837_coords)
+    if pick_out['node_id'] == 8837:
+        s = s + "    NodePick with coordinate succeeded.\n"
+    else:
+        s = s + "    NodePick with coordinate failed to return correct node id.\n"
+
+
+    s = "Pick using results of Zone Center query:\n"
+    # select a zone that is incident to node 8837
+    adjacent_zone = pick_out['incident_zones'][0]
+    # Get it's coords and try a pick
+    adjacent_zone_coords = Query("Zone Center", element=adjacent_zone)
+    pick_out = ZonePick(coord=adjacent_zone_coords)
+    if pick_out['zone_id'] == adjacent_zone:
+        s = s + "    ZonePick with coordinate succeeded.\n"
+    else:
+        s = s + "    ZonePick with coordinate failed to return correct node id\n"
+
+    # Now, does Pick report that our original node id is incident to the picked zone?
+    if 8837 in pick_out['incident_nodes']:
+        s = s + "    ZonePick correctly reported incident node\n"
+    else:
+        s = s + "    ZonePick failed to correctly report incident node\n"
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("wave.visit"))
+
+
+    OpenDatabase(silo_data_path("multi_rect3d.silo"))
+    # d is zonal quantity, so picks will be by-zone
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    # Change query output type for parse-ability of MinMax results
+    SetQueryOutputToObject()
+
+    # Do a MinMax query, and use the results to drive a pick.
+    res = Query("MinMax")
+    s = s + "\nQuery for MinMax of 'd': \n" + GetQueryOutputString()
+
+    s = s + "Pick using results of MinMax Query:\n\n"
+
+    # Pick using MinMax results
+    # Utilizes named args: 
+    #     domain (an integer), 
+    #     element (an integer representing node id or zone id depending on the type of Pick)
+    pick_out = PickByZone(domain=res['min_domain'], element=res['min_element_num'])
+    s = s + "Pick for zone at 'd' minimum: \n" + GetPickOutput()
+    pick_out = PickByZone(domain=res['max_domain'], element=res['max_element_num'])
+    s = s + "Pick for zone at 'd' maximum: \n" + GetPickOutput()
+    TestText("Pick_UsingQueryResults", s)
+    ResetPickLetter()
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("multi_rect3d.silo"))
+
+
+
+def doGlobalPicks(centering):
+    s = "Global node pick on %s_centered data:\n\n" %centering
+    d = PickByGlobalNode(element=246827)
+    # use json.dumps for dictionary object, makes for easier parsing
+    # of diffs when there are errors
+    s = s + "dictionary output:\n" + json.dumps(d,indent=2) + "\n\n"
+    s = s + "string output: " + GetPickOutput() + "\n\n"
+
+    s = s + "\nGlobal zone pick on %s_centered data:\n\n" %centering
+    d = PickByGlobalZone(element=237394)
+    s = s + "dictionary output:\n" + json.dumps(d,indent=2) + "\n\n"
+    s = s + "string output: " + GetPickOutput() + "\n\n"
+
+    return s
+
+def PickByGlobalElement():
+    OpenDatabase(silo_data_path("global_node.silo"))
+
+    AddPlot("Pseudocolor", "dist")
+    DrawPlots()
+    ResetView()
+    p = GetPickAttributes()
+    p.showGlobalIds = 0
+    SetPickAttributes(p)
+
+    s = "NOT SHOWING GLOBAL IDS\n\n"
+    s = s + doGlobalPicks("node")
+
+    #  Repeat, showing global ids
+    p.showGlobalIds = 1
+    SetPickAttributes(p)
+
+    s = s + "SHOWING GLOBAL IDS\n\n"
+    s = s + doGlobalPicks("node")
+
+    p.showGlobalIds = 0
+    SetPickAttributes(p)
+
+    # now use a zone-centered var
+    ChangeActivePlotsVar("p")
+
+    s = s + "NOT SHOWING GLOBAL IDS\n\n"
+    s = s + doGlobalPicks("zone")
+
+    #  Repeat, showing global ids
+    p.showGlobalIds = 1
+    SetPickAttributes(p)
+
+    s = s + "SHOWING GLOBAL IDS\n\n"
+    s = s + doGlobalPicks("zone")
+
+    TestText("Pick_ByGlobalElement", s)
+    # cleanup
+    p.showGlobalIds = 0
+    SetPickAttributes(p)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+TimePick()
+PickUsingQueryResults()
+PickByGlobalElement()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_pick_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_pick_py.html new file mode 100644 index 000000000..75b568b52 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_pick_py.html @@ -0,0 +1,3268 @@ +queries/pick.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  pick.py #
+#  Tests:      queries     - Pick
+#
+#  Defect ID:  none
+#
+#  Programmer: Kathleen Bonnell
+#  Date:       May 13, 2003
+#
+#  Modifications:
+#    Kathleen Bonnell, Fri Jun 27 16:03:57 PDT 2003
+#    Modified PickFilledBoundary (removed MeshPlot) so that test is preformed
+#    on FilledBoundaryPlot and not MeshPlot.
+#
+#    Kathleen Bonnell, Tue Jul  8 21:17:17 PDT 2003
+#    Modified PickFilledBoundary to use flip of slice so that it still works
+#    with recent slice changes.
+#
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from Subset and FilledBoundary plots.
+#
+#    Kathleen Bonnell, Wed Sep 10 11:36:32 PDT 2003
+#    Added test for multi-block meshes.
+#
+#    Kathleen Bonnell, Fri Oct 10 17:43:46 PDT 2003
+#    Added test for surface plots.
+#
+#    Kathleen Bonnell, Fri Oct 24 16:09:33 PDT 2003
+#    Added test for PC of BigSil, and pickvar = material.
+#
+#    Kathleen Bonnell, Wed Nov  5 14:30:35 PST 2003
+#    Per VisIt000033891, add another onion peel test, where there is only
+#    1 cell, and window is set to use Actual extents.
+#
+#    Kathleen Bonnell, Thu Nov 13 12:07:20 PST 2003
+#    Use SetOperatorOptions instead of SetDefaultOperatorOption in OnionPeel, so
+#    that OnionPeel2 will work correctly.  Added vars to OnionPeel2.
+#
+#    Kathleen Bonnell, Tue Nov 18 17:23:43 PST 2003
+#    Added use of PickAtts' useNodeCoords, logicalCoords and logicalZone for
+#    a few tests.
+#
+#    Kathleen Bonnell, Thu Nov 20 16:29:45 PST 2003
+#    Added PicSpecMix tests, for species vars, (VisIt '3864).
+#    Added a 'vel' only test to PickMatFracsThreshold (VisIt '4103).
+#
+#    Kathleen Bonnell, Wed Nov 26 11:26:04 PST 2003
+#    Added calls to ResetPickLetter after each test, so that each test's
+#    pick letter starts out with 'A'.  This will prevent the necessity of
+#    updating all pick baselines when modifications are made to only one test.
+#    Added tests for new pick methods: PickByZone, PickByNode. ('4123)
+#
+#    Kathleen Bonnell, Wed Dec  3 07:51:52 PST 2003
+#    Added PickCurve tests, for curve plots. (VisIt '3832).
+#
+#    Kathleen Bonnell, Mon Mar  8 15:47:52 PST 2004
+#    Added more tests  to TestSpecMix, to verify that we get same results
+#    regardless of whether 'species' is the active variable, or some other
+#    scalar is the active variale.
+#
+#    Kathleen Bonnell, Tue Mar 16 16:26:17 PST 2004
+#    Added bad variables and expression variable tests to PickMultiBlock,
+#    from bug '4571.
+#
+#    Kathleen Bonnell, Thu Apr  1 09:21:22 PST 2004
+#    Added  a "Variable by Zone" and "Variable by Node" Query to PickSpecMix
+#    in order to test that these queries return the same values as their
+#    Pick counterparts.
+#
+#    Kathleen Bonnell, Tue Apr 20 09:42:30 PDT 2004
+#    Added PickMultiWindow.
+#
+#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004
+#    Slice defaults atts have changed, update accordingly.
+#
+#    Brad Whitlock, Mon May 3 15:31:40 PST 2004
+#    I added a couple of tests that test how pick works if an engine is closed
+#    or if one crashes.
+#
+#    Kathleen Bonnell, Tue May  4 14:35:08 PDT 2004
+#    Changed a couple of screen coordinates for PickBigSilMat that were
+#    invalid.
+#
+#    Kathleen Bonnell, Wed Jun  2 10:14:58 PDT 2004
+#    Added tests to Pick2D to tests PickByNode and PickByZone on a dataset
+#    with ghost zones.  Added test to PickSurface, tests various flavors
+#    of pick to see if they are returning the same info for the same input.
+#
+#    Kathleen Bonnell, Thu Jul  8 16:30:07 PDT 2004
+#    Added  PickedBoundary, to test picking on 2D Boundary plots and
+#    3D Sliced-to-2D Boundary plots with unstructured, rectilinear and
+#    curvilinear data.
+#
+#    Jeremy Meredith, Wed Jul 21 08:59:24 PDT 2004
+#    Making print output go to stderr.
+#
+#    Kathleen Bonnell, Thu Jul 22 08:35:45 PDT 2004
+#    Added test of data designated as 'ascii' to Pick2D (using rect2d).
+#
+#    Kathleen Bonnell, Wed Aug 11 09:04:56 PDT 2004
+#    Added to Pick3DTo2D, a test of data sliced along boundary between zones,
+#    to verify that picking with all materials ON returns same results as
+#    with some materials OFF. ('5279)
+#
+#    Brad Whitlock, Wed Aug 25 12:30:45 PDT 2004
+#    Added TurnMaterialsOn to PickMultiBlock since it was remembering the
+#    material selection for mulit_rect3d.silo from an earlier pick test.
+#
+#    Kathleen Bonnell, Wed Sep  8 09:36:30 PDT 2004
+#    Renamed 'WorldPick' to 'Pick' and 'WorldNodePick' to 'NodePick'.
+#
+#    Kathleen Bonnell, Fri Oct 22 16:11:41 PDT 2004
+#    Added PickVectorPlots.
+#
+#    Kathleen Bonnell, Tue Nov  2 10:16:36 PST 2004
+#    Added PickPointMeshes.
+#
+#    Kathleen Bonnell, Wed Dec 15 15:38:41 PST 2004
+#    Added PickGlobalIds.
+#
+#    Kathleen Bonnell, Thu Dec 16 17:16:33 PST 2004
+#    Added PickByNode and PickByZone to PickGlobalIds.
+#
+#    Kathleen Bonnell, Mon Dec 20 10:49:59 PST 2004
+#    Removed  "Variable by Zone" and "Variable by Node" Query from PickSpecMix
+#    as they are no longer supported.
+#
+#    Kathleen Bonnell, Thu Feb  3 09:27:22 PST 2005
+#    Added PickExpressions, testing matvf and mirvf per '5799.
+#
+#    Kathleen Bonnell, Tue Mar  1 13:11:31 PST 2005
+#    Added couple more tests to PickExpressions, testing Expression that
+#    has not been plotted, per '5418.
+#
+#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
+#    Removed deprecated functions.
+#
+#    Kathleen Bonnell, Wed May 11 18:04:12 PDT 2005
+#    Per ticket '6097, added tests to 'PickGlobalIds' to ensure global ids
+#    returned correctly for global zone/node picks.
+#
+#    Kathleen Bonnell, Mon May 23 13:41:50 PDT 2005
+#    Per ticket '6217, added tests to 'PickFilledBoundary' to ensure node
+#    pick of sliced FB plot returns correct coords.
+#
+#    Kathleen Bonnell, Fri Jun 10 14:38:27 PDT 2005
+#    Per ticket '6296 -- added tests to PickVectorPlots to ensure that
+#    pick of vector expression won't causes crash
+#
+#    Kathleen Bonnell, Thu Jun 30 15:39:03 PDT 2005
+#    Added tests for AMR data.
+#
+#    Kathleen Bonnell, Fri Jul  8 14:12:03 PDT 2005
+#    Added more tests for AMR data: PickSamrai.
+#
+#    Kathleen Bonnell, Wed Aug 10 17:12:50 PDT 2005
+#    Added PickIndexSelect.
+#
+#    Kathleen Bonnell, Tue Aug 30 15:19:34 PDT 2005
+#    Added PickTensors.  '6410
+#
+#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
+#    Allowed spaces in variable names.
+#
+#    Kathleen Bonnell, Tue May  2 08:38:28 PDT 2006
+#    Added PickMili ('7144, '7145).
+#
+#    Kathleen Bonnell, Tue Aug 29 09:34:17 PDT 2006
+#    Added Pickcontour ('7220).
+#
+#    Kathleen Bonnell, Thu Oct 26 14:24:45 PDT 2006
+#    Added PickBox ('7566).
+#
+#    Jeremy Meredith, Mon Jul 14 11:17:29 EDT 2008
+#    Allow the sliced vector plot to show all vectors (even ones not from
+#    from original cells/nodes) to match the old behavior.
+#
+#    Kathleen Bonnell, Wed Jul 15 10:22:54 PDT 2009
+#    Changed some zone picks to Node picks for PickPointMeshes, should yield
+#    same results.  Added Subset plot test for PickPointMeshes.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state
+#    behavior when an operator is added.
+#
+#    Kathleen Biagas, Wed Mar  7 19:33:48 PST 2012
+#    'displayXXX' attributes have been changed to 'showXXX'.
+#
+#    Kathleen Biagas, Thu Mar  8 13:52:37 PST 2012
+#    Added test for picking scatter plots.
+#
+#    Matt Larsen, Mon Sep 19 10:20:11 PDT 2016
+#    Added a test for zone pick highlighting
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    For PickSubset, change plot var to 'domains' as Subset plots shouldn't
+#    work for materials.  Change pick var to 'mat1' to preserve baselines.
+#
+#    Matt Larsen, Wed Sep 6 16:23:12 PST 2017
+#    Adding tests for pick by label for mili files.
+#
+#    Alister Maguire, Tue Sep 26 14:23:09 PDT 2017
+#    Added test for pick highlight color.
+#
+#    Alister Maguire, Mon Oct 23 10:34:28 PDT 2017
+#    Added tests for removing a list of picks.
+#
+#    Alister Maguire, Mon Oct 30 15:54:30 PDT 2017
+#    Added test for removing a list of labeled picks.
+#
+#    Matt Larsen, Wed Feb 28 08:24:31 PDT 2018
+#    Turning off all anotations for pick highlight tests
+#
+#    Alister Maguire, Thu Aug 16 10:18:56 PDT 2018
+#    Added a test for swivel highlight.
+#
+#    Alister Maguire, Mon Aug 20 12:45:25 PDT 2018
+#    Added a test for node highlight.
+#
+#    Alister Maguire, Tue May 21 13:10:05 PDT 2019
+#    Updated tests that use mili to adhere to the plugin changes.
+#
+#    Alister Maguire, Thu Sep 12 15:54:36 PDT 2019
+#    Add test for highlighting a zone picked by global id.
+#
+#    Alister Maguire, Thu Jan  2 15:16:53 PST 2020
+#    Added test for translated zone highlights.
+#
+#    Mark C. Miller, Mon Jan 11 10:38:03 PST 2021
+#    Replace Assert-style with TestValue-style tests
+#
+#    Alister Maguire, Fri Jul 16 07:27:44 PDT 2021
+#    Added a test for Picking an expression variable.
+#
+#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
+#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
+#
+# ----------------------------------------------------------------------------
+from __future__ import print_function
+
+
+RequiredDatabasePlugin(("Boxlib2D","SAMRAI","Mili"))
+defaultAtts = GetPickAttributes()
+
+def Pick3DTo2D():
+    # Testing pick on 3d plots projected to 2d via Slice and Cone operators
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    AddOperator("Slice")
+    slice = SliceAttributes()
+    slice.SetOriginPoint(0, 0, 0)
+    slice.SetNormal(1, 0, 0)
+    slice.SetUpAxis(0, 1, 0)
+    slice.project2d = 1
+    SetOperatorOptions(slice)
+    DrawPlots()
+
+    # Create the variable list.
+    vars = ("default")
+
+    # Do some picks.
+    Pick(128, 107, vars)
+    s = GetPickOutput()
+    Pick(200, 207, vars)
+    s = s + GetPickOutput()
+
+    # Test new pick methods
+    PickByZone(554, vars)
+    s = s + GetPickOutput()
+    PickByZone(945, vars)
+    s = s + GetPickOutput()
+
+    # Turn off some materials, and verify we get
+    #  same results
+    TurnMaterialsOff("1")
+    Pick(128, 107, vars)
+    s = s + GetPickOutput()
+    Pick(200, 207, vars)
+    s = s + GetPickOutput()
+    PickByZone(554, vars)
+    s = s + GetPickOutput()
+    PickByZone(945, vars)
+    s = s + GetPickOutput()
+
+    TurnMaterialsOn("1")
+    RemoveLastOperator()
+
+    AddOperator("Cone")
+    DrawPlots()
+    ResetView()
+    Pick(165, 170, vars)
+    s  = s + GetPickOutput()
+    Pick(137, 100, vars)
+    s = s + GetPickOutput()
+
+    # Test new Pick methods.
+    PickByZone(503, vars)
+    s  = s + GetPickOutput()
+    PickByZone(596, vars)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    # VisIt00005279
+    #  When sliced along boundary between zones,
+    #  pick with all materials returns different output than
+    #  pick with some materials turned off.
+    OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    AddOperator("Slice")
+    slice = SliceAttributes()
+    slice.axisType = slice.XAxis
+    #set the slice plane on a boundary between zones
+    slice.originIntercept = 0.2
+    slice.project2d = 1
+    SetOperatorOptions(slice)
+    DrawPlots()
+
+    s = s + "\nPick with all materials turned on:\n"
+    Pick(80, 60)
+    s = s + GetPickOutput()
+    PickByZone(226, 1)
+    s = s + GetPickOutput()
+    Pick(185, 160)
+    s = s + GetPickOutput()
+    PickByZone(606, 19)
+    s = s + GetPickOutput()
+    NodePick(80, 60)
+    s = s + GetPickOutput()
+    PickByNode(402, 1)
+    s = s + GetPickOutput()
+    NodePick(185, 160)
+    s = s + GetPickOutput()
+    PickByNode(853, 19)
+    s = s + GetPickOutput()
+    TurnMaterialsOff("2")
+    s = s + "\nPick with material 2 turned off:\n"
+    Pick(80, 60)
+    s = s + GetPickOutput()
+    PickByZone(226, 1)
+    s = s + GetPickOutput()
+    Pick(185, 160)
+    s = s + GetPickOutput()
+    PickByZone(606, 19)
+    s = s + GetPickOutput()
+    NodePick(80, 60)
+    s = s + GetPickOutput()
+    PickByNode(402, 1)
+    s = s + GetPickOutput()
+    NodePick(185, 160)
+    s = s + GetPickOutput()
+    PickByNode(853, 19)
+    s = s + GetPickOutput()
+    TurnMaterialsOn("2")
+    TestText("Pick3DTo2D", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def Pick2D():
+    OpenDatabase(silo_data_path("ucd2d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    ResetView()
+    vars = ("d", "p", "u")
+    Pick(170, 65, vars)
+    s = GetPickOutput()
+    Pick(140, 161, vars)
+    s = s + GetPickOutput()
+
+    # Test new pick method
+    PickByZone(5, vars)
+    s = s + GetPickOutput()
+    PickByZone(4, vars)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    # Test PickByZone and PickByNode on data with ghost zones.
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    ResetView()
+
+    v = GetView2D()
+    v.windowCoords = (-0.70073, 0.9927, 1.75365, 2.63085)
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    SetView2D(v)
+
+    vars = ("default")
+    Pick(177, 90, vars)
+    s = s + GetPickOutput()
+    PickByZone(13)
+    s = s + GetPickOutput()
+    NodePick(177, 90, vars)
+    s = s + GetPickOutput()
+    PickByNode(13)
+    s = s + GetPickOutput()
+
+    ResetView()
+
+    Pick(164, 136)
+    s = s + GetPickOutput()
+    PickByZone(716)
+    s = s + GetPickOutput()
+
+    NodePick(164, 136)
+    s = s + GetPickOutput()
+    PickByNode(744)
+    s = s + GetPickOutput()
+
+    Pick(113, 84)
+    s = s + GetPickOutput()
+    PickByZone(360)
+    s = s + GetPickOutput()
+
+    NodePick(113, 84)
+    s = s + GetPickOutput()
+    PickByNode(374)
+    s = s + GetPickOutput()
+
+    Pick(218, 65)
+    s = s + GetPickOutput()
+    PickByZone(81)
+    s = s + GetPickOutput()
+
+    NodePick(218, 65)
+    s = s + GetPickOutput()
+    PickByNode(85)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    # bug '5152, ascii data not reported as such.
+    OpenDatabase(silo_data_path("rect2d.silo"))
+
+    AddPlot("Pseudocolor", "ascii")
+    DrawPlots()
+
+    ResetView()
+
+    Pick(104, 224)
+    s = s + GetPickOutput()
+    Pick(155, 140)
+    s = s + GetPickOutput()
+    Pick(234, 278)
+    s = s + GetPickOutput()
+    Pick(151, 266)
+    s = s + GetPickOutput()
+    Pick(187, 106)
+    s = s + GetPickOutput()
+
+    NodePick(104, 224)
+    s = s + GetPickOutput()
+    NodePick(155, 140)
+    s = s + GetPickOutput()
+    NodePick(234, 278)
+    s = s + GetPickOutput()
+    NodePick(151, 266)
+    s = s + GetPickOutput()
+    NodePick(187, 106)
+    s = s + GetPickOutput()
+
+    TestText("Pick2D", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickOnionPeel():
+    # Testing pick on 3d plots with OnionPeel operator
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    AddOperator("OnionPeel")
+    op = OnionPeelAttributes()
+    op.adjacencyType = 0
+    op.categoryName = "domains"
+    op.subsetName = "domain4"
+    op.index = 15
+    op.requestedLayer = 0
+    SetOperatorOptions(op)
+
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0.0199972, -0.0176736, 0.999644)
+    v.focus = (1.05702, 2.19945, 3.66667)
+    v.viewUp = (-0.0156863, 0.999715, 0.0179886)
+    v.viewAngle = 30
+    v.parallelScale = 0.794807
+    v.nearPlane = -7.9865
+    v.farPlane = 7.9865
+    v.perspective = 0
+    SetView3D(v)
+
+    #From defect VisIt00002762, pick shouldn't report repeated vars
+    vars = ("default", "d", "p", "u", "p", "v")
+    pa = GetPickAttributes()
+    pa.showNodePhysicalCoords = 1
+    SetPickAttributes(pa)
+    Pick(271, 64, vars)
+    s = GetPickOutput()
+    Pick(282, 53, vars)
+    s = s + GetPickOutput()
+
+    PickByZone(15, 4, vars)
+    s = s + GetPickOutput()
+
+    TestText("PickOnionPeel", s)
+    pa.showNodePhysicalCoords = 0
+    SetPickAttributes(pa)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickSubset():
+    #Testing Pick's accuracy on a sil-restricted plot.
+    #All the picks in this test should return zone 30.
+    #From defect VisIt00003348
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Subset", "domains")
+    TurnMaterialsOff()
+    TurnMaterialsOn("1")
+
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (-0.997376, 0.0429928, 0.058241)
+    v.focus = (-0.0906961, 0.0532744, -1.5925)
+    v.viewUp = (0.0448435, 0.998518, 0.0308499)
+    v.viewAngle = 30
+    v.parallelScale = 0.598088
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.perspective = 0
+    SetView3D(v)
+
+    vars = ("mat1")
+    Pick(173, 111, vars)
+    s = GetPickOutput()
+    Pick(191, 116, vars)
+    s = s + GetPickOutput()
+    Pick(294, 125, vars)
+    s = s + GetPickOutput()
+    Pick(156, 128, vars)
+    s = s + GetPickOutput()
+    Pick(147, 112, vars)
+    s = s + GetPickOutput()
+    TestText("PickSubset", s)
+    TurnMaterialsOn()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+
+def PickMatFracsThreshold():
+    # Testing pick on 3d plot with Threshold operator, returning
+    # material var (mat fracs) and vector var.
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Pseudocolor", "p")
+    thresh = ThresholdAttributes()
+    thresh.upperBounds = (37.0)
+    thresh.lowerBounds = (10.0)
+    SetDefaultOperatorOptions(thresh)
+    AddOperator("Threshold")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0, 0, 1)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 0.181485
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    v.perspective = 0
+    SetView3D(v)
+
+    pa = GetPickAttributes()
+    pa.showNodeDomainLogicalCoords = 1
+    pa.showZoneDomainLogicalCoords = 1
+    SetPickAttributes(pa)
+    vars = ("mat1", "vel")
+    Pick(151, 172, vars)
+    s = GetPickOutput()
+    Pick(211, 185, vars)
+    s = s + GetPickOutput()
+    Pick(78, 153, vars)
+    s = s + GetPickOutput()
+    Pick(150, 124, vars)
+    s = s + GetPickOutput()
+
+    #Test new pick method
+    PickByZone(21045, vars)
+    s = s + GetPickOutput()
+    PickByZone(18647, vars)
+    s = s + GetPickOutput()
+    PickByZone(19812, vars)
+    s = s + GetPickOutput()
+    PickByZone(20954, vars)
+    s = s + GetPickOutput()
+
+    pa.showNodeDomainLogicalCoords = 0
+    pa.showZoneDomainLogicalCoords = 0
+    SetPickAttributes(pa)
+
+    # Add a few with only vel as the var
+    # From bug: VisIt00004103
+    RemoveLastOperator()
+    vars = ("vel")
+    Pick(78, 153, vars)
+    s = s + GetPickOutput()
+    Pick(150, 124, vars)
+    s = s + GetPickOutput()
+
+    #Test new pick method
+    PickByZone(35412, vars)
+    s = s + GetPickOutput()
+    PickByZone(35354, vars)
+    s = s + GetPickOutput()
+
+    TestText("PickMatFracsThreshold", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickReflect():
+    # Testing pick on plot with Reflect operator.
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    AddOperator("Reflect")
+    DrawPlots()
+    ResetView()
+    vars = ("default")
+    Pick(149, 206, vars)
+    s = GetPickOutput()
+    Pick(149, 94, vars)
+    s = s + GetPickOutput()
+    NodePick(coord=(0, 3, 0))
+    s = s + GetPickOutput()
+    NodePick(coord=(0, -3, 0))
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    # Try a rectilinear grid
+    OpenDatabase(silo_data_path("noise.silo"))
+    AddPlot("Subset", "Mesh")
+    AddOperator("Reflect")
+    DrawPlots()
+    ResetView()
+
+    Pick(coord=(-5, 5, 10))
+    s = s + GetPickOutput()
+    NodePick(coord=(-5, 5, 10))
+    s = s + GetPickOutput()
+    Pick(coord=(-5, -25, 10))
+    s = s + GetPickOutput()
+    NodePick(coord=(-5, -25, 10))
+    s = s + GetPickOutput()
+
+
+    TestText("PickReflect", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+
+def PickFilledBoundary():
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+    AddPlot("FilledBoundary", "mat1")
+
+    AddOperator("Slice")
+    s= SliceAttributes()
+    s.originIntercept = 2.89833
+    s.originType = s.Intercept
+    s.normal = (0, 1, 0)
+    s.upAxis = (1, 0, 0)
+    s.axisType = s.YAxis
+    s.flip = 1
+    s.project2d = 1
+    SetOperatorOptions(s)
+
+    v = GetView2D()
+    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    v.windowCoords = (7.07307, 8.30598, 2.26402, 2.88047)
+    SetView2D(v)
+    DrawPlots()
+
+    vars = ("default")
+    Pick(153, 69, vars)
+    p = GetPickOutput()
+    Pick(222, 56, vars)
+    p += GetPickOutput()
+    Pick(118, 77, vars)
+    p += GetPickOutput()
+    Pick(141, 74, vars)
+    p += GetPickOutput()
+    Pick(180, 68, vars)
+    p += GetPickOutput()
+    Pick(224, 75, vars)
+    p += GetPickOutput()
+    Pick(198, 56, vars)
+    p += GetPickOutput()
+    Pick(113, 70, vars)
+    p += GetPickOutput()
+    Pick(119, 57, vars)
+    p += GetPickOutput()
+    Pick(157, 66, vars)
+    p += GetPickOutput()
+    Pick(199, 66, vars)
+    p += GetPickOutput()
+    Pick(227, 79, vars)
+    p += GetPickOutput()
+
+    # Test new pick method
+    PickByZone(320, 17, vars)
+    p += GetPickOutput()
+
+    DeleteAllPlots()
+
+    # bug 6217 -- NodePick on Sliced FB returning wrong coords.
+    # will test with Mesh, OnionPeeled Mesh and FB to verify
+    # they all return the same nodes/zones and coords.
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Mesh", "mesh1")
+    AddPlot("Mesh", "mesh1")
+    m = MeshAttributes()
+    m.meshColor = (255, 255, 0, 255)
+    m.meshColorSource = m.MeshCustom
+    m.lineWidth = 2
+    SetPlotOptions(m)
+    AddOperator("OnionPeel", 0)
+    op = OnionPeelAttributes()
+    op.index = 679
+    SetOperatorOptions(op)
+
+    AddPlot("FilledBoundary","mat1")
+    AddOperator("Slice", 1)
+    DrawPlots()
+    ResetView()
+
+    SetActivePlots(0)
+    Pick(247, 188, vars)
+    p = p + GetPickOutput()
+    NodePick(247, 188, vars)
+    p = p + GetPickOutput()
+
+    SetActivePlots(1)
+    Pick(247, 188, vars)
+    p = p + GetPickOutput()
+    NodePick(247, 188, vars)
+    p = p + GetPickOutput()
+    SetActivePlots(2)
+    Pick(247, 188, vars)
+    p = p + GetPickOutput()
+    NodePick(247, 188, vars)
+    p = p + GetPickOutput()
+    TestText("PickFilledBoundary", p)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickMultiBlock():
+    # Testing pick on 3d multi-domain plots
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.perspective = 1
+    SetView3D(v)
+
+    vars = ("default", "d", "p")
+    Pick(109, 113, vars)
+    s = GetPickOutput()
+    Pick(74, 114, vars)
+    s = s + GetPickOutput()
+    Pick(192, 114, vars)
+    s = s + GetPickOutput()
+    Pick(230, 114, vars)
+    s = s + GetPickOutput()
+    Pick(155, 148, vars)
+    s = s + GetPickOutput()
+    Pick(153, 185, vars)
+    s = s + GetPickOutput()
+    Pick(106, 149, vars)
+    s = s + GetPickOutput()
+    Pick(196, 144, vars)
+    s = s + GetPickOutput()
+    Pick(119, 157, vars)
+    s = s + GetPickOutput()
+    Pick(180, 160, vars)
+    s = s + GetPickOutput()
+    Pick(97, 130, vars)
+    s = s + GetPickOutput()
+    Pick(212, 129, vars)
+    s = s + GetPickOutput()
+
+
+    # Test new pick method
+    PickByZone(15, 34, vars)
+    s = s + GetPickOutput()
+    PickByZone(15, 36, vars)
+    s = s + GetPickOutput()
+    PickByZone(75, 25, vars)
+    s = s + GetPickOutput()
+    PickByZone(83, 27, vars)
+    s = s + GetPickOutput()
+    PickByZone(15, 28, vars)
+    s = s + GetPickOutput()
+    PickByZone(4, 30, vars)
+    s = s + GetPickOutput()
+    PickByZone(94, 35, vars)
+    s = s + GetPickOutput()
+    PickByZone(15, 26, vars)
+    s = s + GetPickOutput()
+    PickByZone(25, 32, vars)
+    s = s + GetPickOutput()
+    PickByZone(64, 29, vars)
+    s = s + GetPickOutput()
+    PickByZone(56, 35, vars)
+    s = s + GetPickOutput()
+    PickByZone(51, 26, vars)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+    AddPlot("Mesh", "mesh1")
+    TurnMaterialsOn()
+    DrawPlots()
+    ResetView()
+    vars = ("default", "u", "d", "p")
+    Pick(61, 61, vars)
+    s = s + GetPickOutput()
+    Pick(61, 188, vars)
+    s = s + GetPickOutput()
+    Pick(79, 233, vars)
+    s = s + GetPickOutput()
+    Pick(80, 64, vars)
+    s = s + GetPickOutput()
+    Pick(99, 120, vars)
+    s = s + GetPickOutput()
+    Pick(115, 236, vars)
+    s = s + GetPickOutput()
+    Pick(154, 194, vars)
+    s = s + GetPickOutput()
+    Pick(155, 150, vars)
+    s = s + GetPickOutput()
+    Pick(174, 72, vars)
+    s = s + GetPickOutput()
+    Pick(192, 115, vars)
+    s = s + GetPickOutput()
+    Pick(229, 235, vars)
+    s = s + GetPickOutput()
+    Pick(236, 59, vars)
+    s = s + GetPickOutput()
+    Pick(246, 157, vars)
+    s = s + GetPickOutput()
+
+    # Test new pick method
+    PickByZone(921, 25, vars)
+    s = s + GetPickOutput()
+    PickByZone(971, 31, vars)
+    s = s + GetPickOutput()
+    PickByZone(964, 34, vars)
+    s = s + GetPickOutput()
+    PickByZone(934, 25, vars)
+    s = s + GetPickOutput()
+    PickByZone(947, 28, vars)
+    s = s + GetPickOutput()
+    PickByZone(969, 34, vars)
+    s = s + GetPickOutput()
+    PickByZone(985, 32, vars)
+    s = s + GetPickOutput()
+    PickByZone(995, 29, vars)
+    s = s + GetPickOutput()
+    PickByZone(948, 26, vars)
+    s = s + GetPickOutput()
+    PickByZone(931, 30, vars)
+    s = s + GetPickOutput()
+    PickByZone(966, 36, vars)
+    s = s + GetPickOutput()
+    PickByZone(927, 27, vars)
+    s = s + GetPickOutput()
+    PickByZone(919, 33, vars)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("bigsil.silo"))
+
+    AddPlot("Pseudocolor", "dist")
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal= (1, 0, 0)
+    SetView3D(v)
+
+    vars = ("default")
+    Pick(250, 64, vars)
+    s = s + GetPickOutput()
+    Pick(149, 135, vars)
+    s = s + GetPickOutput()
+    Pick(227, 72, vars)
+    s = s + GetPickOutput()
+    Pick(65, 65, vars)
+    s = s + GetPickOutput()
+    Pick(67, 228, vars)
+    s = s + GetPickOutput()
+
+    # Test new pick method
+    PickByZone(13, 3, vars)
+    s = s + GetPickOutput()
+    PickByZone(1, 15, vars)
+    s = s + GetPickOutput()
+    PickByZone(118, 3, vars)
+    s = s + GetPickOutput()
+    PickByZone(258, 21, vars)
+    s = s + GetPickOutput()
+    PickByZone(279, 27, vars)
+    s = s + GetPickOutput()
+
+    #Bug '4571, pick crashing when bad vars specified
+    vars = ("aspect")
+    Pick(67, 228, vars)
+    s = s + GetPickOutput()
+    vars = ("mesh_quality/aspect", "spurious")
+    Pick(67, 228, vars)
+    s = s + GetPickOutput()
+
+    TestText("PickMultiBlock", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickSurface():
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Surface", "d")
+    AddOperator("Slice")
+    slice = SliceAttributes()
+    slice.originIntercept = 0.5
+    slice.project2d = 1
+    slice.axisType = slice.YAxis
+    SetOperatorOptions(slice)
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (0, 1, 0)
+    v.viewUp = (0, 0, -1)
+    SetView3D(v)
+
+    pa = GetPickAttributes()
+    pa.variables = ("default")
+    SetPickAttributes(pa)
+
+    Pick(141, 178)
+    s = GetPickOutput()
+    NodePick(141, 178)
+    s = s + GetPickOutput()
+    Pick(194, 144)
+    s = s + GetPickOutput()
+    NodePick(194, 144)
+    s = s + GetPickOutput()
+    Pick(149, 197)
+    s = s + GetPickOutput()
+    NodePick(149, 197)
+    s = s + GetPickOutput()
+    Pick(64, 102)
+    s = s + GetPickOutput()
+    NodePick(64, 102)
+    s = s + GetPickOutput()
+    Pick(138, 126)
+    s = s + GetPickOutput()
+    NodePick(138, 126)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Surface", "p")
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (0, 1, 0)
+    v.viewUp = (0, 0, -1)
+    SetView3D(v)
+
+    Pick(103, 227)
+    s = s + GetPickOutput()
+    NodePick(103, 227)
+    s = s + GetPickOutput()
+    Pick(171, 86)
+    s = s + GetPickOutput()
+    NodePick(171, 86)
+    s = s + GetPickOutput()
+    Pick(129, 63)
+    s = s + GetPickOutput()
+    NodePick(129, 63)
+    s = s + GetPickOutput()
+    Pick(153, 177)
+    s = s + GetPickOutput()
+    NodePick(153, 177)
+    s = s + GetPickOutput()
+    Pick(188, 167)
+    s = s + GetPickOutput()
+    NodePick(188, 167)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("ucd2d.silo"))
+
+    AddPlot("Surface", "d")
+    DrawPlots()
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (0.329152, -0.014518, -0.944165)
+    v.focus = (2, 2, 2)
+    v.viewUp = (-0.944025, -0.0281555, -0.32867)
+    SetView3D(v)
+
+    s = s + "\nThe next three results should be the same.\n"
+    Pick(118, 112)
+    s = s + GetPickOutput()
+    PickByZone(3)
+    s = s + GetPickOutput()
+    Pick((2.74917, 2.79753, 2.82784))
+
+    s = s + GetPickOutput()
+
+    s = s + "\nThe next three results should be the same.\n"
+    NodePick(118, 112)
+    s = s + GetPickOutput()
+    PickByNode(11)
+    s = s + GetPickOutput()
+    NodePick((2.5, 2.5, 1.41421))
+    s = s + GetPickOutput()
+
+    s = s + "\nThe next three results should be the same.\n"
+    NodePick(139, 73)
+    s = s + GetPickOutput()
+    PickByNode(4)
+    s = s + GetPickOutput()
+    NodePick((4.0, 2.0, 4.0))
+    s = s + GetPickOutput()
+
+    TestText("PickSurface", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickBigSilMat():
+    OpenDatabase(silo_data_path("bigsil.silo"))
+
+    AddPlot("Pseudocolor", "dist")
+    DrawPlots()
+    ResetView()
+    pa = GetPickAttributes()
+    pa.showNodePhysicalCoords = 1
+    SetPickAttributes(pa)
+    vars = "mat"
+    Pick(87, 215, vars)
+    s = GetPickOutput()
+    NodePick(87, 215, vars)
+    s = s + GetPickOutput()
+    Pick(149, 146, vars)
+    s = s + GetPickOutput()
+    NodePick(149, 146, vars)
+    s = s + GetPickOutput()
+    Pick(89, 54, vars)
+    s = s + GetPickOutput()
+    NodePick(89, 54, vars)
+    s = s + GetPickOutput()
+    Pick(217, 74, vars)
+    s = s + GetPickOutput()
+    NodePick(217, 74, vars)
+    s = s + GetPickOutput()
+    Pick(215, 233, vars)
+    s = s + GetPickOutput()
+    NodePick(215, 233, vars)
+    s = s + GetPickOutput()
+    Pick(186, 193, vars)
+    s = s + GetPickOutput()
+    NodePick(186, 193, vars)
+    s = s + GetPickOutput()
+    Pick(190, 106, vars)
+    s = s + GetPickOutput()
+    NodePick(190, 106, vars)
+    s = s + GetPickOutput()
+    Pick(117, 173, vars)
+    s = s + GetPickOutput()
+    NodePick(117, 173, vars)
+    s = s + GetPickOutput()
+    Pick(98, 86, vars)
+    s = s + GetPickOutput()
+    NodePick(98, 86, vars)
+    s = s + GetPickOutput()
+    Pick(185, 116, vars)
+    s = s + GetPickOutput()
+    NodePick(185, 116, vars)
+    s = s + GetPickOutput()
+
+    # Test new pick methods
+    PickByZone(319, 25, vars)
+    s = s + GetPickOutput()
+    PickByNode(476, 25, vars)
+    s = s + GetPickOutput()
+    PickByZone(318, 23, vars)
+    s = s + GetPickOutput()
+    PickByNode(475, 23, vars)
+    s = s + GetPickOutput()
+    PickByZone(311, 21, vars)
+    s = s + GetPickOutput()
+    PickByNode(475, 21, vars)
+    s = s + GetPickOutput()
+    PickByZone(332, 27, vars)
+    s = s + GetPickOutput()
+    PickByNode(491, 27, vars)
+    s = s + GetPickOutput()
+    PickByZone(294, 27, vars)
+    s = s + GetPickOutput()
+    PickByNode(456, 27, vars)
+    s = s + GetPickOutput()
+    PickByZone(329, 21, vars)
+    s = s + GetPickOutput()
+    PickByNode(497, 21, vars)
+    s = s + GetPickOutput()
+    PickByZone(329, 23, vars)
+    s = s + GetPickOutput()
+    PickByNode(496, 23, vars)
+    s = s + GetPickOutput()
+    PickByZone(329, 19, vars)
+    s = s + GetPickOutput()
+    PickByNode(485, 19, vars)
+    s = s + GetPickOutput()
+    PickByZone(294, 24, vars)
+    s = s + GetPickOutput()
+    PickByNode(448, 24, vars)
+    s = s + GetPickOutput()
+
+    TestText("PickBigSilMat", s)
+    DeleteAllPlots()
+    pa.showNodePhysicalCoords = 0
+    SetPickAttributes(pa)
+    ResetPickLetter()
+
+def PickOnionPeel2():
+    #From defect VisIt00003981, onionpeel and window ACTUAL_EXTENTS
+    #pick not working
+    print(tests_path("queries","pickonionpeel.session"), 0,silo_data_path("curv3d.silo"))
+    RestoreSessionWithDifferentSources(tests_path("queries","pickonionpeel.session"), 0,
+                                       silo_data_path("curv3d.silo"))
+    vars = "default"
+    Pick(196, 194, vars)
+    s = GetPickOutput()
+    Pick(59, 73, vars)
+    s = s + GetPickOutput()
+    Pick(128, 111, vars)
+    s = s + GetPickOutput()
+    Pick(50, 90, vars)
+    s = s + GetPickOutput()
+    Pick(275, 203, vars)
+    s = s + GetPickOutput()
+    Pick(277, 225, vars)
+    s = s + GetPickOutput()
+    Pick(52, 109, vars)
+    s = s + GetPickOutput()
+
+    op = OnionPeelAttributes()
+    op.adjacencyType = op.Face
+    op.requestedLayer = 1
+    op.index = 1
+    SetOperatorOptions(op)
+
+    Pick(52, 105, vars)
+    s = s + GetPickOutput()
+    Pick(67, 65, vars)
+    s = s + GetPickOutput()
+    Pick(51, 86, vars)
+    s = s + GetPickOutput()
+    Pick(265, 210, vars)
+    s = s + GetPickOutput()
+    Pick(172, 165, vars)
+    s = s + GetPickOutput()
+
+    op.index = 317
+    op.requestedLayer = 0
+    SetOperatorOptions(op)
+
+    Pick(76, 70, vars)
+    s = s + GetPickOutput()
+    Pick(37, 120, vars)
+    s = s + GetPickOutput()
+    Pick(119, 174, vars)
+    s = s + GetPickOutput()
+    Pick(273, 188, vars)
+    s = s + GetPickOutput()
+
+    op.adjacencyType = op.Node
+    op.requestedLayer = 3
+    SetOperatorOptions(op)
+
+    Pick(96, 72, vars)
+    s = s + GetPickOutput()
+    Pick(27, 144, vars)
+    s = s + GetPickOutput()
+    Pick(115, 102, vars)
+    s = s + GetPickOutput()
+    Pick(134, 140, vars)
+    s = s + GetPickOutput()
+    Pick(288, 185, vars)
+    s = s + GetPickOutput()
+
+    TestText("PickOnionPeel2", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickSpecMix():
+    #VisIt '3864
+    OpenDatabase(silo_data_path("specmix_quad.silo"))
+
+    AddPlot("Pseudocolor", "Species")
+    DrawPlots()
+
+    v = GetView2D()
+    v.windowCoords = (0, 1, 0, 1)
+    SetView2D(v)
+
+    vars = ("default")
+    Pick(69, 137, vars)
+    s = GetPickOutput()
+    NodePick(90, 119, vars)
+    s = s + GetPickOutput()
+    Pick(139, 142, vars)
+    s = s + GetPickOutput()
+    NodePick(170, 126, vars)
+    s = s + GetPickOutput()
+    Pick(201, 95, vars)
+    s = s + GetPickOutput()
+    Pick(78, 75, vars)
+    s = s + GetPickOutput()
+    Pick(256, 169, vars)
+    s = s + GetPickOutput()
+
+    # Test new pick method
+    PickByZone(233, vars)
+    s = s +GetPickOutput()
+    PickByNode(266, vars)
+    s = s +GetPickOutput()
+
+    silr = SILRestriction()
+    onoff = 0
+    for sets in silr.SetsInCategory('Species'):
+        if(onoff == 0):
+            silr.TurnOffSet(sets)
+            onoff = 1
+        else:
+            onoff = 0
+    SetPlotSILRestriction(silr)
+
+    NodePick(140, 197, vars)
+    s = s + GetPickOutput()
+    Pick(249, 112, vars)
+    s = s + GetPickOutput()
+    NodePick(125, 137, vars)
+    s = s + GetPickOutput()
+    Pick(191, 136, vars)
+    s = s + GetPickOutput()
+    vars = ("d", "Species")
+    NodePick(204, 135, vars)
+    s = s + GetPickOutput()
+    Pick(138, 118, vars)
+    s = s + GetPickOutput()
+    NodePick(104, 139, vars)
+    s = s + GetPickOutput()
+    Pick(94, 151, vars)
+    s = s + GetPickOutput()
+    NodePick(182, 99, vars)
+    s = s + GetPickOutput()
+    # now test with 'd' as the active plot variable, should
+    # get the same results.
+    ChangeActivePlotsVar("d")
+    NodePick(204, 135, vars)
+    s = s + GetPickOutput()
+    Pick(138, 118, vars)
+    s = s + GetPickOutput()
+    NodePick(104, 139, vars)
+    s = s + GetPickOutput()
+    Pick(94, 151, vars)
+    s = s + GetPickOutput()
+
+    NodePick(182, 99, vars)
+    s = s + GetPickOutput()
+
+    TestText("PickSpecMix", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickCurve():
+    OpenDatabase(data_path("curve_test_data/curve.visit"))
+
+    AddPlot("Curve", "parabolic")
+    SetTimeSliderState(72)
+    DrawPlots()
+
+    v = GetViewCurve()
+    v.rangeCoords = (0, 1)
+    SetViewCurve(v)
+
+    pa = GetPickAttributes()
+    pa.variables = ("default")
+    SetPickAttributes(pa)
+
+    Pick(72, 53)
+    p = GetPickOutput()
+    Pick(156, 22)
+    p = p + GetPickOutput()
+    Pick(15, 128)
+    p = p + GetPickOutput()
+    Pick(212, 200)
+    p = p + GetPickOutput()
+    Pick((0.2, 0.7))
+    p = p + GetPickOutput()
+    Pick((0.8, 0.35))
+    p = p + GetPickOutput()
+    Pick((0.6, 0.6))
+    p = p + GetPickOutput()
+    Pick((0.3, 0.5))
+    p = p + GetPickOutput()
+
+    TestText("PickCurve", p)
+    ResetPickLetter()
+    DeleteAllPlots()
+
+def PickMultiWindow():
+    OpenDatabase(silo_data_path("wave*.silo database"))
+
+    AddPlot("FilledBoundary", "Material")
+    SetTimeSliderState(31)
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0, -1, 0)
+    v.viewUp = (0, 0, 1)
+    SetView3D(v)
+
+    CloneWindow()
+    SetTimeSliderState(64)
+    DrawPlots()
+
+    pt1a = (7.20585, 0.099664, 2.5)
+    pt1b = (5.867554, 0.264801,  3.566963)
+
+    pt2a = (7.20585, 0.099664, 2.378386)
+    pt2b = (5.867554, 0.039652,  3.566963)
+
+
+    # Same DB, same plot, same var, different ts
+    SetActiveWindow(1)
+    Pick(pt1a)
+    s = GetPickOutput()
+
+    SetActiveWindow(2)
+    Pick(pt2a)
+    s = s + GetPickOutput()
+
+    SetActiveWindow(1)
+    Pick(pt1b)
+    s = s + GetPickOutput()
+
+    SetActiveWindow(2)
+    Pick(pt2b)
+    s = s + GetPickOutput()
+
+    # Same DB, same plot, different var, different ts
+    SetActiveWindow(1)
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "v")
+    DrawPlots()
+
+    Pick(pt1a)
+    s = s + GetPickOutput()
+    Pick(pt1b)
+    s = s + GetPickOutput()
+
+    SetActiveWindow(2)
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+
+    Pick(pt2a)
+    s = s + GetPickOutput()
+    Pick(pt2b)
+    s = s + GetPickOutput()
+
+    TestText("PickMultiWindow", s)
+    ResetPickLetter()
+
+    # delete window 2
+    DeleteWindow()
+    # remove plots from window 1
+    DeleteAllPlots()
+
+#
+# Sets up a couple test cases that test how pick interacts with the engine
+# being gone.
+#
+def PickBadEngineSetup(testName, GetRidOfEngineCallback):
+    OpenDatabase(silo_data_path("curv3d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.423782, 0.331476, 0.842931)
+    v.focus = (0, 2.5, 15)
+    v.viewUp = (0.111716, 0.942652, -0.314525)
+    v.viewAngle = 30
+    v.parallelScale = 16.0078
+    v.nearPlane = -32.0156
+    v.farPlane = 32.0156
+    v.imagePan = (-0.0549008, 0.0570848)
+    v.imageZoom = 1.35304
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+
+    ptA = (0.115986, 4.290420, 29.9)
+    Pick(ptA)
+    s = ""
+    s = s + GetPickOutput()
+    ptB = (0.040697, 2.250070, 29.9)
+    Pick(ptB)
+    s = s + GetPickOutput()
+
+    # Get rid of the compute engine running on localhost.
+    s = s + GetRidOfEngineCallback()
+
+    # Create plots in a new window before returning to window 1 to
+    # pick again. This will force the network ids in window 1 to be
+    # invalid in case they do not get reset. (But they do get reset now)
+    AddWindow()
+    SetActiveWindow(2)
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    SetActiveWindow(1)
+
+    # Resume picking in window 1 now that there are networks in window 2.
+    ptC = (0.15, 3.250070, 26.9)
+    Pick(ptC)
+    s = s + GetPickOutput()
+    ptD = (0.19, 3.75, 26.9)
+    Pick(ptD)
+    s = s + GetPickOutput()
+
+    TestText(testName, s)
+    ResetPickLetter()
+    DeleteAllPlots()
+    # Delete window 2.
+    SetActiveWindow(2)
+    DeleteWindow()
+
+#
+# Tests that pick works after an engine has been closed by the user.
+#
+def PickAfterEngineClosed():
+    def CloseCB():
+        CloseComputeEngine("localhost")
+        return "***\n*** Closed engine on localhost.\n***\n"
+    PickBadEngineSetup("PickAfterEngineClose", CloseCB)
+
+#
+# Tests that pick works after an engine has crashed.
+#
+def PickAfterEngineCrashed():
+    #TODO: THIS WONT WORK ON WINDOWs
+    def CrashCB():
+        try:
+            # Read the output of ps
+            f = os.popen("ps")
+            lines = f.readlines()
+            f.close()
+
+            # Get a list of engine pids from the ps output.
+            pids = []
+            for line in lines:
+                if string.find(line, "engine_") == -1:
+                    continue
+                tokens = string.split(line, " ")
+                lv = []
+                for t in tokens:
+                    if t != "":
+                        lv = lv + [t]
+                if len(lv) > 0:
+                   pids = pids + [lv[0]]
+
+            # Kill all of the engines in the pid list.
+            if len(pids) < 1:
+                print("Killing all engines because we could not get a list of pids", file=sys.stderr)
+                # TODO_WINDOWS THIS WONT WORK ON WINDOWS
+                os.system("killall engine_ser")
+                os.system("killall engine_par")
+            else:
+                for pid in pids:
+                    print("Killing engine %s" % pid, file=sys.stderr)
+                    # TODO_WINDOWS THIS WONT WORK ON WINDOWS
+                    os.system("kill -9 %s" % pid)
+        except:
+            # There was an error. Just close the engine instead of killing it.
+            CloseComputeEngine("localhost")
+        return "***\n*** Killed compute engine(s).\n***\n"
+    PickBadEngineSetup("PickAfterEngineCrash", CrashCB)
+
+def PickBoundary():
+    # VisIt00004807
+    # Test Pick on a 2D Boundary plot.
+
+    ResetPickAttributes()
+
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Boundary", "mat1")
+    DrawPlots()
+
+    ResetView()
+    SetViewExtentsType("original")
+
+    Pick(164, 136)
+    s = GetPickOutput()
+    PickByZone(482)
+    s = s + GetPickOutput()
+
+    NodePick(164, 136)
+    s = s + GetPickOutput()
+    PickByNode(528)
+    s = s + GetPickOutput()
+
+    Pick(113, 84)
+    s = s + GetPickOutput()
+    PickByZone(230)
+    s = s + GetPickOutput()
+
+    NodePick(113, 84)
+    s = s + GetPickOutput()
+    PickByNode(239)
+    s = s + GetPickOutput()
+
+    Pick(218, 65)
+    s = s + GetPickOutput()
+    PickByZone(211)
+    s = s + GetPickOutput()
+
+    NodePick(218, 65)
+    s = s + GetPickOutput()
+    PickByNode(220)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+
+    OpenDatabase(silo_data_path("specmix_quad.silo"))
+
+    AddPlot("Boundary", "Material")
+    DrawPlots()
+    ResetView()
+
+    Pick(107, 131)
+    s = s + GetPickOutput()
+    PickByZone(86)
+    s = s + GetPickOutput()
+
+    NodePick(107, 131)
+    s = s + GetPickOutput()
+    PickByNode(89)
+    s = s + GetPickOutput()
+
+    Pick(207, 145)
+    s = s + GetPickOutput()
+    PickByZone(297)
+    s = s + GetPickOutput()
+
+    NodePick(207, 145)
+    s = s + GetPickOutput()
+    PickByNode(333)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("specmix_ucd.silo"))
+
+    AddPlot("Boundary", "Material")
+    DrawPlots()
+    ResetView()
+
+    vars = "p"
+    Pick(107, 131, vars)
+    s = s + GetPickOutput()
+    PickByZone(86, vars)
+    s = s + GetPickOutput()
+
+    NodePick(107, 131, vars)
+    s = s + GetPickOutput()
+    PickByNode(89, vars)
+    s = s + GetPickOutput()
+
+    Pick(207, 145, vars)
+    s = s + GetPickOutput()
+    PickByZone(297, vars)
+    s = s + GetPickOutput()
+
+    NodePick(207, 145, vars)
+    s = s + GetPickOutput()
+    PickByNode(333, vars)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    #Test Sliced Boundary plots
+    ResetOperatorOptions("Slice")
+
+    OpenDatabase(silo_data_path("curv3d.silo"))
+
+    AddPlot("Boundary", "mat1")
+    AddOperator("Slice")
+
+    slice = SliceAttributes()
+    slice.normal = (0, -1, 0)
+    slice.upAxis = (0, 0, 1)
+    SetOperatorOptions(slice)
+
+    DrawPlots()
+    ResetView()
+
+    Pick(83, 223, vars)
+    s = s + GetPickOutput()
+    PickByZone(26670, vars)
+    s = s + GetPickOutput()
+
+    NodePick(83, 223, vars)
+    s = s + GetPickOutput()
+    PickByNode(28272, vars)
+    s = s + GetPickOutput()
+
+    Pick(127, 84, vars)
+    s = s + GetPickOutput()
+    PickByZone(5399, vars)
+    s = s + GetPickOutput()
+
+    NodePick(127, 84, vars)
+    s = s + GetPickOutput()
+    PickByNode(7005, vars)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("sid97.silo"))
+
+    AddPlot("Boundary", "mat1")
+
+    AddOperator("Slice")
+
+    slice = SliceAttributes()
+    slice.originType = slice.Point
+    slice.originPoint = (7400, -1300, 1000)
+    slice.normal  = (0, 1, 0)
+    slice.project2d = 1
+    SetOperatorOptions(slice)
+
+    DrawPlots()
+    ResetView()
+    SetViewExtentsType("actual")
+
+    pick = GetPickAttributes()
+    pick.variables = ("default")
+    SetPickAttributes(pick)
+
+    Pick(128, 140)
+    s = s + GetPickOutput()
+    PickByZone(1269)
+    s = s + GetPickOutput()
+
+    NodePick(128, 140)
+    s = s + GetPickOutput()
+    PickByNode(1356)
+    s = s + GetPickOutput()
+
+    Pick(120, 89)
+    s = s + GetPickOutput()
+    PickByZone(10438)
+    s = s + GetPickOutput()
+
+    NodePick(120, 89)
+    s = s + GetPickOutput()
+    PickByNode(12836)
+    s = s + GetPickOutput()
+
+    Pick(154, 50)
+    s = s + GetPickOutput()
+    PickByZone(10455)
+    s = s + GetPickOutput()
+
+    NodePick(154, 50)
+    s = s + GetPickOutput()
+    PickByNode(12842)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Boundary", "mat1")
+
+    AddOperator("Slice")
+
+    slice.originType = slice.Intercept
+    slice.originIntercept = 0.5
+    slice.normal  = (0, 1, 1)
+    slice.upAxis  = (0, 1, 0)
+    slice.project2d = 1
+    SetOperatorOptions(slice)
+
+    DrawPlots()
+    ResetView()
+    SetViewExtentsType("original")
+
+    Pick(75, 258)
+    s = s + GetPickOutput()
+    PickByZone(810)
+    s = s + GetPickOutput()
+
+    NodePick(75, 258)
+    s = s + GetPickOutput()
+    PickByNode(869)
+    s = s + GetPickOutput()
+
+    Pick(121, 108)
+    s = s + GetPickOutput()
+    PickByZone(18217)
+    s = s + GetPickOutput()
+
+    NodePick(121, 108)
+    s = s + GetPickOutput()
+    PickByNode(20561)
+    s = s + GetPickOutput()
+
+    TestText("PickBoundary", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickVectorPlots():
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Vector", "vel")
+    vector = VectorAttributes()
+    vector.autoScale = 0
+    SetPlotOptions(vector)
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0, 0, 1)
+    v.focus = (0, 0, 0)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.imagePan = (0, 0)
+    v.imageZoom = 2.02836
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+
+    p = GetPickAttributes()
+    p.variables = ("default")
+    SetPickAttributes(p)
+    Pick(274, 259)
+    s = GetPickOutput()
+    Pick(269, 258)
+    s = s + GetPickOutput()
+    Pick(86, 37)
+    s = s + GetPickOutput()
+    Pick(83, 28)
+    s = s + GetPickOutput()
+
+    AddOperator("Slice")
+    slice = SliceAttributes()
+    slice.axisType = slice.ZAxis
+    SetOperatorOptions(slice)
+    DrawPlots()
+
+    Pick(96, 244)
+    s = s + GetPickOutput()
+    Pick(204, 88)
+    s = s + GetPickOutput()
+
+    RemoveLastOperator()
+
+    ChangeActivePlotsVar("disp")
+    vector = VectorAttributes()
+    vector.autoScale = 0
+    vector.scale = 1.
+    vector.origOnly = 0
+    SetPlotOptions(vector)
+
+    v.viewNormal = (-0.8775, 0.112599, 0.46617)
+    v.focus = (0, 0, 0)
+    v.viewUp = (0.120127, 0.992665, -0.0136456)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.imagePan = (0, 0)
+    v.imageZoom = 2.3515
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+
+    Pick(119, 87)
+    s = s + GetPickOutput();
+    Pick(148, 230)
+    s = s + GetPickOutput();
+    Pick(22, 97)
+    s = s + GetPickOutput();
+
+    AddOperator("Slice")
+    DrawPlots()
+
+    Pick(76, 113)
+    s = s + GetPickOutput();
+    Pick(244, 67)
+    s = s + GetPickOutput();
+    Pick(127, 217)
+    s = s + GetPickOutput();
+
+    DeleteAllPlots()
+
+    # VisIt00006296 -- pick of vector expression causes crash
+    DefineVectorExpression("polarVector", "polar(mesh1)")
+    DefineVectorExpression("xyzVector", "coord(mesh1)")
+    AddPlot("Vector", "polarVector")
+    DrawPlots()
+    ResetView()
+
+    v = GetView3D()
+    v.viewNormal = (0, 0, 1)
+    v.focus = (0, 0, 0)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.imagePan = (-0.0369757, 0.0171359)
+    v.imageZoom = 4.66857
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+
+    Pick(233, 241)
+    s = s + GetPickOutput()
+    Pick(226, 30)
+    s = s + GetPickOutput()
+
+    ChangeActivePlotsVar("xyzVector")
+
+    v. imagePan = (0.0220781, -0.0509109)
+    v. imageZoom = 9.89113
+    SetView3D(v)
+    Pick(149, 209)
+    s = s + GetPickOutput()
+    Pick(214, 6)
+    s = s + GetPickOutput()
+
+
+    TestText("PickVectorPlot", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickPointMeshes():
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Pseudocolor", "PointVar")
+    pc = PseudocolorAttributes()
+    pc.pointSize = 1
+    SetPlotOptions(pc)
+    DrawPlots()
+    ResetView()
+
+    NodePick(100, 240)
+    s = GetPickOutput()
+    Pick(223, 197)
+    s = s + GetPickOutput()
+    NodePick(138, 66)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+    AddPlot("Mesh", "PointMesh")
+    mesh = MeshAttributes()
+    mesh.pointSize = 1
+    mesh.pointType = mesh.Box
+    SetPlotOptions(mesh)
+    DrawPlots()
+
+    NodePick(100, 240)
+    s = s + GetPickOutput()
+    Pick(223, 197)
+    s = s + GetPickOutput()
+    NodePick(138, 66)
+    s = s + GetPickOutput()
+
+    mesh.pointType = mesh.Point
+    SetPlotOptions(mesh)
+
+    NodePick(100, 240)
+    s = s + GetPickOutput()
+    Pick(223, 197)
+    s = s + GetPickOutput()
+    NodePick(138, 66)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("multi_point2d.silo"))
+
+    AddPlot("Mesh", "mesh1")
+    m = MeshAttributes()
+    m.meshColor = (255, 0, 255, 255)
+    m.meshColorSource = m.MeshCustom
+    m.pointSize = 0.05
+    m.pointType = m.Box
+    SetPlotOptions(m)
+    DrawPlots()
+
+    v = GetView2D()
+    v.fullFrameActivationMode = v.On
+    v.windowCoords = (-2.05391, -0.442661, 1.02233, 2.43681)
+    SetView2D(v)
+
+    vars = ("d", "p", "u", "v")
+
+    NodePick(122, 72, vars)
+    s = s + GetPickOutput()
+    Pick(134, 229, vars)
+    s = s + GetPickOutput()
+    NodePick(278, 266, vars)
+    s = s + GetPickOutput()
+
+    m.pointType = mesh.Point
+    SetPlotOptions(m)
+
+    NodePick(122, 72, vars)
+    s = s + GetPickOutput()
+    Pick(134, 229, vars)
+    s = s + GetPickOutput()
+    NodePick(278, 266, vars)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Subset", "PointMesh")
+    DrawPlots()
+    ResetView()
+
+    NodePick(100, 240)
+    s = s+ GetPickOutput()
+    Pick(223, 197)
+    s = s + GetPickOutput()
+    NodePick(138, 66)
+    s = s + GetPickOutput()
+
+    TestText("PickPointMeshes", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickGlobalIds():
+    OpenDatabase(silo_data_path("global_node.silo"))
+
+    AddPlot("Pseudocolor", "dist")
+    DrawPlots()
+    ResetView()
+    p = GetPickAttributes()
+    p.showGlobalIds = 0
+    p.variables = ("default")
+    SetPickAttributes(p)
+
+    Pick(82, 225)
+    s = GetPickOutput()
+
+    p.showGlobalIds = 1
+    SetPickAttributes(p)
+
+    Pick(82, 225)
+    s = s + GetPickOutput()
+
+    p.showGlobalIds = 0
+    SetPickAttributes(p)
+
+    NodePick(195, 101)
+    s = s + GetPickOutput()
+
+    p.showGlobalIds = 1
+    SetPickAttributes(p)
+
+    NodePick(195, 101)
+    s = s + GetPickOutput()
+
+    p.showGlobalIds = 0
+    SetPickAttributes(p)
+
+    Pick(175, 162)
+    s = s + GetPickOutput()
+    NodePick(175, 162)
+    s = s + GetPickOutput()
+
+    p.showGlobalIds = 1
+    SetPickAttributes(p)
+
+    Pick(175, 162)
+    s = s + GetPickOutput()
+    NodePick(175, 162)
+    s = s + GetPickOutput()
+
+    PickByGlobalZone(3250)
+    s = s + GetPickOutput()
+    PickByGlobalZone(237394)
+    s = s + GetPickOutput()
+    PickByGlobalNode(3869)
+    s = s + GetPickOutput()
+    PickByGlobalNode(246827)
+    s = s + GetPickOutput()
+
+    # bug '6097 -- global ids not displayed correctly with global picks.
+    p.showGlobalIds = 1
+    SetPickAttributes(p)
+
+    PickByGlobalZone(236919)
+    s = s + GetPickOutput()
+    PickByGlobalNode(244455)
+    s = s + GetPickOutput()
+
+    ChangeActivePlotsVar("p")
+    PickByGlobalZone(236919)
+    s = s + GetPickOutput()
+    PickByGlobalNode(244455)
+    s = s + GetPickOutput()
+
+    TestText("PickGlobalIds", s)
+    p.showGlobalIds = 0
+    SetPickAttributes(p)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickExpressions():
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    DefineScalarExpression("m1", 'matvf(mat1, ["1", "3"])')
+    DefineScalarExpression("mir1", 'mirvf(mat1, zoneid(quadmesh3d), volume(quadmesh3d), 1)')
+
+    AddPlot("Pseudocolor", "m1")
+    DrawPlots()
+    ResetView()
+
+    Pick(151, 172)
+    s = GetPickOutput()
+    Pick(68, 239)
+    s = s + GetPickOutput()
+    Pick(237, 86)
+    s = s + GetPickOutput()
+    NodePick(151, 172)
+    s = s + GetPickOutput()
+    NodePick(68, 239)
+    s = s + GetPickOutput()
+    NodePick(237, 86)
+    s = s + GetPickOutput()
+
+    ChangeActivePlotsVar("mir1")
+    Pick(151, 172)
+    s = s + GetPickOutput()
+    Pick(68, 239)
+    s = s + GetPickOutput()
+    Pick(237, 86)
+    s = s + GetPickOutput()
+    NodePick(151, 172)
+    s = s + GetPickOutput()
+    NodePick(68, 239)
+    s = s + GetPickOutput()
+    NodePick(237, 86)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "t")
+    DrawPlots()
+    ResetView()
+    DefineScalarExpression("polar", "polar(mesh1)")
+
+    # pick with default var -- 't'
+    Pick(128, 107)
+    s = s + GetPickOutput()
+    # pick again, adding new expression var -- 'polar'
+    vars = ("default", "polar")
+    Pick(128, 107, vars)
+    s = s + GetPickOutput()
+
+    TestText("PickExpressions", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickAMR():
+    OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
+
+    AddPlot("Mesh", "Mesh")
+    AddPlot("Pseudocolor", "density")
+    DrawPlots()
+    ResetView()
+    v = GetView2D()
+    v.fullFrameActivationMode = v.Off
+    v.windowCoords = (0.0232322, 0.0302984, 0.11825, 0.123807)
+    SetView2D(v)
+
+    s = "Testing boxlib 2D, pseudocolor\n"
+    vars = "default"
+    NodePick(226, 179, vars)
+    s = s + GetPickOutput()
+    ZonePick(226, 179, vars)
+    s = s + GetPickOutput()
+    NodePick(215, 168, vars)
+    s = s + GetPickOutput()
+    ZonePick(215, 168, vars)
+    s = s + GetPickOutput()
+    NodePick(114, 94, vars)
+    s = s + GetPickOutput()
+    ZonePick(114, 94, vars)
+    s = s + GetPickOutput()
+    NodePick(189, 197, vars)
+    s = s + GetPickOutput()
+    ZonePick(189, 197, vars)
+    s = s + GetPickOutput()
+    NodePick(242, 72, vars)
+    s = s + GetPickOutput()
+    ZonePick(242, 72, vars)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+    s = s + "\nTesting boxlib 2D, contour\n"
+    AddPlot("Contour", "density")
+    DrawPlots()
+    v.windowCoords = (0.00408394, 0.0401985, 0.109754, 0.138135)
+    SetView2D(v)
+
+    Pick(161, 137)
+    s = s + GetPickOutput()
+    NodePick(161, 137)
+    s = s + GetPickOutput()
+    Pick(176, 139)
+    s = s + GetPickOutput()
+    NodePick(176, 139)
+    s = s + GetPickOutput()
+    Pick(228, 71)
+    s = s + GetPickOutput()
+    NodePick(228, 71)
+    s = s + GetPickOutput()
+    Pick(255, 196)
+    s = s + GetPickOutput()
+    NodePick(255, 196)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+    s = s + "\nTesting boxlib 2D, Boundary\n"
+    AddPlot("Boundary", "materials")
+    DrawPlots()
+    v.windowCoords = (0.00226909, 0.0378978, 0.0908832, 0.121254)
+    SetView2D(v)
+    Pick(161, 137)
+    s = s + GetPickOutput()
+    NodePick(161, 137)
+    s = s + GetPickOutput()
+    Pick(228, 71)
+    s = s + GetPickOutput()
+    NodePick(228, 71)
+    s = s + GetPickOutput()
+    Pick(139, 196)
+    s = s + GetPickOutput()
+    NodePick(139, 196)
+    s = s + GetPickOutput()
+
+    TestText("PickAMR", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickSamrai():
+
+    def doPicks1():
+        def pickList(index):
+            if index == 0 :
+                ZonePick(172, 178)
+                return GetPickOutput()
+            elif index == 1 :
+                NodePick(191, 188)
+                return GetPickOutput()
+            elif index == 2:
+                NodePick(145, 157)
+                return GetPickOutput()
+            elif index == 3:
+                PickByZone(1863, 2)
+                return GetPickOutput()
+            elif index == 4:
+                PickByNode(2442, 2)
+                return GetPickOutput()
+            elif index == 5:
+                PickByNode(2422, 2)
+                return GetPickOutput()
+            else :
+                return ""
+
+        s = ""
+        for j in range(6):
+            for i in range(4):
+                SetActivePlots(i)
+                s = s + pickList(j)
+        return s
+
+    def doPicks2():
+        def pickList2(index):
+            if index == 0 :
+                ZonePick(239, 141)
+                return GetPickOutput()
+            elif index == 1 :
+                NodePick(246, 108)
+                return GetPickOutput()
+            else :
+                return ""
+
+        s = ""
+        for j in range(2):
+            for i in range(4):
+                SetActivePlots(i)
+                s = s + pickList2(j)
+        return s
+
+    def doPicks3():
+        def pickList3(index):
+            if index == 0 :
+                ZonePick(210, 148)
+                return GetPickOutput()
+            elif index == 1 :
+                NodePick(200, 148)
+                return GetPickOutput()
+            elif index == 2 :
+                ZonePick(210, 168)
+                return GetPickOutput()
+            elif index == 3 :
+                NodePick(210, 168)
+                return GetPickOutput()
+            else :
+                return ""
+
+        s = ""
+        for j in range(4):
+            for i in range(4):
+                SetActivePlots(i)
+                s = s + pickList3(j)
+        return s
+
+
+    # Open SAMRAI (add default subset plot)
+    # Add PC, Mesh, and Contour Plots
+    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
+
+    slice = SliceAttributes()
+    slice.axisType = slice.ZAxis
+    slice.originType = slice.Percent
+    slice.originPercent = 20
+    slice.project2d = 1
+
+    AddPlot("Pseudocolor", "Primitive Var _number_0")
+    AddPlot("Mesh", "amr_mesh")
+    AddPlot("Contour", "Primitive Var _number_0")
+
+    SetActivePlots((0, 1, 2, 3))
+    AddOperator("Slice")
+    SetOperatorOptions(slice)
+    DrawPlots()
+
+    v = GetView2D()
+    v.windowCoords = (4.89115, 6.43144, 6.80336, 8.63983)
+    SetView2D(v)
+    s = "\nTesting sliced SAMRAI:\n"
+    s = s + doPicks1()
+    TestText("PickSamrai_01", s)
+
+    SetActivePlots((0, 1, 2, 3))
+    clip = ClipAttributes()
+    clip.plane1Origin = (5.1, 0, 0)
+    clip.plane1Normal = (-1, 0, 0)
+
+    AddOperator("Clip")
+    SetOperatorOptions(clip)
+    DrawPlots()
+    ResetPickLetter()
+    s = "\nTesting clipped sliced SAMRAI:\n"
+    s = s + doPicks1()
+    TestText("PickSamrai_02", s)
+
+    SetActivePlots((0, 1, 2, 3))
+    DemoteOperator(1)
+    DrawPlots()
+    ResetPickLetter()
+    s = "\nTesting sliced clipped SAMRAI:\n"
+    s = s + doPicks1()
+    TestText("PickSamrai_03", s)
+
+    SetActivePlots((0, 1, 2, 3))
+    RemoveLastOperator()
+    clip.plane1Origin = (4.3, 0, 0)
+    SetOperatorOptions(clip)
+
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (0, 0, -1)
+    v.focus = (15, 10, 10)
+    v.viewUp = (0, 1, 0)
+    v.parallelScale = 20.6155
+    v.nearPlane = -41.2311
+    v.farPlane = 41.2311
+    v.perspective = 0
+    SetView3D(v)
+    v.imageZoom = 8
+    SetView3D(v)
+    v.imagePan = (-0.2, 0.1)
+    SetView3D(v)
+    ResetPickLetter()
+    s = "\nTesting clipped SAMRAI (3D):\n"
+    s = s + doPicks2()
+    TestText("PickSamrai_04", s)
+
+    DeleteAllPlots()
+    ResetPickLetter()
+
+
+    OpenDatabase(data_path("samrai_test_data/front/dumps.visit"))
+
+    AddPlot("Mesh", "amr_mesh")
+    AddPlot("Pseudocolor", "Distance to front")
+    AddPlot("Contour", "Distance to front")
+
+    DrawPlots()
+    v = GetView2D()
+    v.windowCoords = (0.678228, 0.865969, 0.467317, 0.650137)
+
+    SetView2D(v)
+    s = "\nTesting front:\n"
+    s = s + doPicks3()
+    TestText("PickSamrai_05", s)
+
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickIndexSelect():
+    OpenDatabase(silo_data_path("rect2d.silo"))
+
+    AddPlot("Mesh", "quadmesh2d")
+    AddPlot("Pseudocolor", "u")
+    AddOperator("IndexSelect")
+    isAtts = IndexSelectAttributes()
+    isAtts.dim = isAtts.TwoD
+    isAtts.xMin = 1
+    isAtts.xMax = 2
+    isAtts.yMin = 1
+    isAtts.yMax = 2
+    SetOperatorOptions(isAtts)
+
+    DrawPlots()
+
+    v = GetView2D()
+    v.windowCoords = (-0.0583437, 0.254323, -0.0576062, 0.220944)
+    SetView2D(v)
+
+    SetActivePlots(0)
+    s = "Pick on Index-selected 2D Mesh Plot\n"
+    Pick(132, 117)
+    s = s + GetPickOutput()
+    NodePick(132, 117)
+    s = s + GetPickOutput()
+
+    SetActivePlots(1)
+    s = s + "\nSame Picks on Index-selected 2D Pseudocolor Plot\n"
+    Pick(132, 117)
+    s = s + GetPickOutput()
+    NodePick(132, 117)
+    s = s + GetPickOutput()
+
+    isAtts.xIncr = 5
+    isAtts.yIncr = 5
+    SetOperatorOptions(isAtts)
+
+    s = s+ "\nChanged stride of IndexSelect, 2D Mesh Plot picks\n"
+    SetActivePlots(0)
+    Pick(132, 117)
+    s = s + GetPickOutput()
+    NodePick(132, 117)
+    s = s + GetPickOutput()
+
+    s = s + "\nSame picks 2D Pseudocolor Plot \n"
+    SetActivePlots(1)
+    Pick(132, 117)
+    s = s + GetPickOutput()
+    NodePick(132, 117)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Mesh", "quadmesh3d")
+    AddPlot("Pseudocolor", "d")
+    SetActivePlots((0, 1))
+    AddOperator("IndexSelect")
+    isAtts = IndexSelectAttributes()
+    isAtts.dim = isAtts.ThreeD
+    isAtts.xIncr = 4
+    isAtts.yIncr = 4
+    SetOperatorOptions(isAtts)
+
+    DrawPlots()
+
+    ResetView()
+    v = GetView3D()
+    v.viewNormal = (-1, 0, 0)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0, 1, 0)
+    v.parallelScale = 0.866025
+    v.perspective = 1
+    SetView3D(v)
+    v.imagePan = (0.0552434, 0.225336)
+    SetView3D(v)
+    v.imageZoom = 5.01124
+    SetView3D(v)
+
+    s = s + "\nIndex selected 3D Mesh Plot\n"
+    SetActivePlots(0)
+    Pick(143, 144)
+    s = s + GetPickOutput()
+    NodePick(143, 144)
+    s = s + GetPickOutput()
+    s = s + "\nSame picks on 3D Pseudocolor Plot\n"
+    SetActivePlots(1)
+    Pick(143, 144)
+    s = s + GetPickOutput()
+    NodePick(143, 144)
+    s = s + GetPickOutput()
+
+    SetActivePlots((0, 1))
+    AddOperator("Slice")
+    slice = SliceAttributes()
+    slice.normal = (0, 0, 1)
+    slice.originType = slice.Intercept
+    slice.originIntercept = 0.5
+    slice.upAxis = (0, 1, 0)
+    slice.axisType = slice.ZAxis
+    slice.project2d = 1
+    SetOperatorOptions(slice)
+    DrawPlots()
+
+    v = GetView2D()
+    v.windowCoords = (0.226685, 0.501966, 0.147753, 0.423034)
+    SetView2D(v)
+
+    s = s + "\nSliced, Index-selected 3D Mesh Plot\n"
+    SetActivePlots(0)
+    Pick(184, 234)
+    s = s + GetPickOutput()
+    NodePick(184, 234)
+    s = s + GetPickOutput()
+
+
+    s = s + "\nSame pickes on Sliced, Index-selected 3D Pseudocolor Plot\n"
+    SetActivePlots(1)
+    Pick(184, 234)
+    s = s + GetPickOutput()
+    NodePick(184, 234)
+    s = s + GetPickOutput()
+
+    AddPlot("FilledBoundary", "mat1")
+    AddOperator("IndexSelect")
+    SetOperatorOptions(isAtts)
+    AddOperator("Slice")
+    SetOperatorOptions(slice)
+    AddPlot("Mesh", "quadmesh3d")
+    AddOperator("Slice")
+    SetOperatorOptions(slice)
+    DrawPlots()
+
+    s = s + "\nSame picks on Sliced, Index-selected 3D FilledBoundary Plot\n"
+    s = s + "Stride changes back to 1 due to MIR, so should match Mesh results below\n"
+    SetActivePlots(2)
+    Pick(184, 234)
+    s = s + GetPickOutput()
+    NodePick(184, 234)
+    s = s + GetPickOutput()
+
+    s = s + "\nSame picks on Sliced, 3D Mesh Plot\n"
+    SetActivePlots(3)
+    Pick(184, 234)
+    s = s + GetPickOutput()
+    NodePick(184, 234)
+    s = s + GetPickOutput()
+
+
+    TestText("PickIndexSelect", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickTensors():
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Mesh", "Mesh")
+    DrawPlots()
+    vars = ("grad_tensor")
+    Pick(133 , 178, vars)
+    s = GetPickOutput()
+    NodePick(133 ,178 , vars)
+    s = s + GetPickOutput()
+
+    DeleteAllPlots()
+    AddPlot("Tensor", "grad_tensor")
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (0, 0, 1)
+    v.focus = (0, 0, 0)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+    v.imagePan = (-0.181384, 0.137462)
+    SetView3D(v)
+    v.imageZoom = 4.86765
+    SetView3D(v)
+
+    Pick(127, 59)
+    s = s + GetPickOutput()
+    Pick(269, 166)
+    s = s + GetPickOutput()
+    TestText("PickTensors", s)
+    ResetView()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickMili():
+    #'7144
+    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
+
+    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
+    AddOperator("Threshold")
+    thresh = ThresholdAttributes()
+    thresh.lowerBounds = (1.0)
+    thresh.upperBounds = (1.0)
+    thresh.listedVarNames = ("Primal/Shared/sand")
+    SetOperatorOptions(thresh)
+    SetTimeSliderState(77)
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (0.761946, 0.114249, -0.637483)
+    v.focus = (2, -4.76837e-07, -1.43051e-06)
+    v.viewUp = (-.133671, -.990866, 0.0178134)
+    v.viewAngle = 30
+    v.parallelScale = 15.7797
+    v.nearPlane = -31.5595
+    v.farPlane = 31.5595
+    SetView3D(v)
+
+    vars = "default"
+    Pick(100, 150, vars)
+    s = GetPickOutput()
+    NodePick(100, 150, vars)
+    s = s + GetPickOutput()
+
+    RemoveLastOperator()
+
+    #'7145
+    AddPlot("Mesh", "mesh1")
+    SetActivePlots((0, 1))
+    AddOperator("Clip")
+    clip = ClipAttributes()
+    clip.plane1Status = 1
+    clip.plane1Origin = (8, 7.77778, -10)
+    clip.plane1Normal = (1, 0, 0)
+    SetOperatorOptions(clip)
+    SetTimeSliderState(77)
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (1, 0, 6.12307e-17)
+    v.focus = (10.5296, -0.00138283, -0.000236511)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 19.0748
+    v.nearPlane = -38.1495
+    v.farPlane = 38.1495
+    SetView3D(v)
+
+    Pick(204, 215, vars)
+    s = s + GetPickOutput()
+    NodePick(204, 215, vars)
+    s = s + GetPickOutput()
+    TestText("PickMili", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickContour():
+    #'7144
+    OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+    AddPlot("Contour", "d")
+    contour = ContourAttributes()
+    contour.contourNLevels = 4
+    SetPlotOptions(contour)
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (-0.582341, 0.658239, 0.477075)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0.402453, 0.743318, -0.534331)
+    v.viewAngle = 30
+    v.parallelScale = 0.866025
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    SetView3D(v)
+
+    vars = "default"
+    Pick(166, 138, vars)
+    s = GetPickOutput()
+    NodePick(166, 138, vars)
+    s = s + GetPickOutput()
+    Pick(160, 175, vars)
+    s = s + GetPickOutput()
+    NodePick(160, 175, vars)
+    s = s + GetPickOutput()
+    Pick(158, 210, vars)
+    s = s + GetPickOutput()
+    NodePick(158, 210, vars)
+    s = s + GetPickOutput()
+
+    TestText("PickContour", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickBox():
+    #'7566
+    OpenDatabase(silo_data_path("rect2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    AddOperator("Box")
+    box = BoxAttributes()
+    box.minx = 0.2
+    box.maxx = 0.8
+    box.miny = 0.2
+    box.maxy = 0.8
+    SetOperatorOptions(box)
+    AddPlot("Mesh", "quadmesh2d")
+    DrawPlots()
+
+    vars = "default"
+    SetActivePlots(0)
+
+    Pick(155, 140)
+    s = GetPickOutput()
+    NodePick(155, 140)
+    s = s + GetPickOutput()
+
+    SetActivePlots(1)
+    Pick(155, 140)
+    s = s + GetPickOutput()
+    NodePick(155, 140)
+    s = s + GetPickOutput()
+
+
+    DeleteAllPlots()
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    AddOperator("Box")
+    box.minx = 0.3
+    box.maxx = 0.83
+    box.miny = 0.3
+    box.maxy = 0.83
+    box.minz = 0
+    box.maxz = 1
+    SetOperatorOptions(box)
+    AddOperator("Slice")
+    slice = SliceAttributes()
+    slice.axisType = slice.YAxis
+    slice.originType = slice.Intercept
+    slice.originIntercept = 0.5
+    slice.project2d = 1
+    SetOperatorOptions(slice)
+
+    AddPlot("Mesh", "quadmesh3d")
+    AddOperator("Slice")
+    SetOperatorOptions(slice)
+    DrawPlots()
+    SetActivePlots(0)
+    TurnMaterialsOff("8")
+
+    Pick(221, 230)
+    s = s + GetPickOutput()
+    Pick(206, 67)
+    s = s + GetPickOutput()
+    NodePick(221, 230)
+    s = s + GetPickOutput()
+    NodePick(206, 67)
+    s = s + GetPickOutput()
+
+    SetActivePlots(1)
+    Pick(221, 230)
+    s = s + GetPickOutput()
+    Pick(206, 67)
+    s = s + GetPickOutput()
+    NodePick(221, 230)
+    s = s + GetPickOutput()
+    NodePick(206, 67)
+    s = s + GetPickOutput()
+
+    TestText("PickBox", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickScatter():
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Scatter", "hardyglobal")
+    scatter = ScatterAttributes()
+    scatter.var1= "hardyglobal"
+    scatter.var2= "shepardglobal"
+    scatter.var3= "radial"
+    scatter.var3Role = scatter.Color
+    scatter.scaleCube = 1
+    SetPlotOptions(scatter)
+    DrawPlots()
+    Pick(124, 174)
+    s = GetPickOutput()
+
+    scatter.scaleCube = 0
+    SetPlotOptions(scatter)
+    DrawPlots()
+    ResetView()
+    Pick(124, 174)
+    s = s + GetPickOutput()
+
+
+    DeleteAllPlots()
+
+    s = s + "Expressions used in Scatter\n";
+    OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+    DefineScalarExpression("xc", "coord(mesh1)[0]")
+    DefineScalarExpression("yc", "coord(mesh1)[1]")
+    DefineScalarExpression("zc", "coord(mesh1)[2]")
+    DefineScalarExpression("uvw_prod", "u*v*w")
+    AddPlot("Scatter", "xc")
+    scatter.var1 = "xc"
+    scatter.var1Role = scatter.Coordinate0
+    scatter.var2 = "yc"
+    scatter.var2Role = scatter.Coordinate1
+    scatter.var3 = "zc"
+    scatter.var3Role = scatter.Coordinate2
+    scatter.var4 = "uvw_prod"
+    scatter.var4Role = scatter.Color
+    SetPlotOptions(scatter)
+    DrawPlots()
+    ResetView()
+
+    Pick(100, 200)
+    s = s + GetPickOutput()
+
+    s = s + "Mix up the coordinates\n";
+    scatter.var1Role = scatter.Coordinate1
+    scatter.var2Role = scatter.Coordinate0
+    SetPlotOptions(scatter)
+    DrawPlots()
+    Pick(100, 200)
+    s = s + GetPickOutput()
+
+    TestText("PickScatter", s)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickHighlight():
+    OpenDatabase(silo_data_path("noise.silo"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "hardyglobal")
+    pickAtts = GetPickAttributes()
+    pickAtts.showPickHighlight = 1
+    SetPickAttributes(pickAtts)
+    DrawPlots()
+    PickByZone(116242)
+    Test("PickHighlight_01")
+    DeleteAllPlots()
+    ResetPickLetter()
+
+    OpenDatabase(silo_data_path("global_node.silo"))
+    AddPlot("Pseudocolor", "p")
+    DrawPlots()
+
+    # bug '3880 -- global id highlights incorrect cell.
+    origAtts = GetPickAttributes()
+    pickAtts = origAtts
+    pickAtts.showPickHighlight = 1
+    pickAtts.showPickLetter = 1
+    SetPickAttributes(pickAtts)
+
+    PickByGlobalZone(236919)
+    Test("GlobalHighlight_00")
+
+    SetPickAttributes(origAtts)
+    DeleteAllPlots()
+    ResetPickLetter()
+
+    #restore the attributes
+    annotAtts  = GetAnnotationAttributes()
+    annotAtts.userInfoFlag = 1
+    annotAtts.axes3D.xAxis.title.visible = 1
+    annotAtts.axes3D.yAxis.title.visible = 1
+    annotAtts.axes3D.zAxis.title.visible = 1
+    annotAtts.axes3D.bboxFlag = 1;
+    annotAtts.axes3D.triadFlag = 1;
+    SetAnnotationAttributes(annotAtts)
+
+def PickHighlightColor():
+    OpenDatabase(silo_data_path("noise.silo"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "hardyglobal")
+    pickAtts = GetPickAttributes()
+    pickAtts.showPickHighlight  = 1
+    pickAtts.pickHighlightColor = (0, 0, 255)
+    SetPickAttributes(pickAtts)
+    DrawPlots()
+    PickByZone(116242)
+    Test("PickHighlightColor_01")
+    DeleteAllPlots()
+    ResetPickLetter()
+    #restore the attributes
+    pickAtts.pickHighlightColor = (255, 0, 0)
+    SetPickAttributes(pickAtts)
+    annotAtts  = GetAnnotationAttributes()
+    annotAtts.userInfoFlag = 1
+    annotAtts.axes3D.xAxis.title.visible = 1
+    annotAtts.axes3D.yAxis.title.visible = 1
+    annotAtts.axes3D.zAxis.title.visible = 1
+    annotAtts.axes3D.bboxFlag = 1;
+    annotAtts.axes3D.triadFlag = 1;
+    SetAnnotationAttributes(annotAtts)
+
+def PickRange():
+    OpenDatabase(silo_data_path("noise.silo"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "hardyglobal")
+    pickAtts = GetPickAttributes()
+    pickAtts.showPickHighlight = 1
+    SetPickAttributes(pickAtts)
+    DrawPlots()
+    options = {}
+    options["pick_range"] = "116242-116300, 116350,1"
+    PickByZone(options)
+    Test("PickRange_01")
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickLines3D():
+    OpenDatabase(silo_data_path("ucd_lines3d.silo"))
+    AddPlot("Mesh", "ucd_linesmesh3d")
+    DrawPlots()
+
+    ZonePick(113,182)
+    s = GetPickOutput();
+    ZonePick(134,107)
+    s = s + GetPickOutput();
+    ZonePick(177,151)
+    s = s + GetPickOutput();
+
+    NodePick(126,161)
+    s = s + GetPickOutput();
+    NodePick(203,130)
+    s = s + GetPickOutput();
+    NodePick(150,193)
+    s = s + GetPickOutput();
+
+    # rotate, so lines closer to camera are reversed.
+    v = GetView3D()
+    v.viewNormal=(0,0,-1)
+    SetView3D(v)
+
+    ZonePick(149,168)
+    s = s + GetPickOutput();
+    ZonePick(139,97)
+    s = s + GetPickOutput();
+    ZonePick(191,206)
+    s = s + GetPickOutput();
+
+    NodePick(161,73)
+    s = s + GetPickOutput();
+    NodePick(173,159)
+    s = s + GetPickOutput();
+    NodePick(54,153)
+    s = s + GetPickOutput();
+
+    TestText("PickLines3D", s)
+
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickZoneLabel():
+    OpenDatabase(data_path("mili_test_data/single_proc/sslide14ball_l.plt.mili"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
+    DrawPlots()
+    options = {}
+    options["element_label"] = "shell 9"
+    options["vars"] = "OriginalZoneLabels"
+    PickByZoneLabel(options)
+    s = GetPickOutput()
+    TestText("PickByZoneLabel",s)
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickNodeLabel():
+    OpenDatabase(data_path("mili_test_data/single_proc/sslide14ball_l.plt.mili"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
+    DrawPlots()
+    options = {}
+    options["element_label"] = "node 93"
+    options["vars"] = "OriginalNodeLabels"
+    PickByNodeLabel(options)
+    s = GetPickOutput()
+    TestText("PickByNodeLabel",s)
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def PickRangeLabel():
+    OpenDatabase(data_path("mili_test_data/single_proc/d3samp6.plt.mili"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
+    DrawPlots()
+
+    SetPickAttributes(defaultAtts)
+
+    options = {}
+    options["element_label"] = "shell"
+    options["return_curves"] = 1
+    options["start_time"] = 0
+    options["end_time"] = 2
+    options["pick_range"] = "4-5,9"
+    options["vars"] = "OriginalZoneLabels"
+
+    output_dict = PickByZoneLabel(options)
+    # use json.dumps for dictionary object, makes for easier parsing
+    # of diffs when there are errors
+    TestText("PickRangeByZoneLabel",json.dumps(output_dict, indent=2))
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def TestRemovePicks():
+    OpenDatabase(silo_data_path("noise.silo"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "hardyglobal")
+    pickAtts = GetPickAttributes()
+    pickAtts.showPickHighlight = 1
+    SetPickAttributes(pickAtts)
+    DrawPlots()
+
+    PickByZone(0)
+    PickByZone(5)
+    PickByZone(35)
+    PickByZone(18)
+    Test("RemovePicks_01")
+    to_remove = "A, C, D"
+    expected  = to_remove
+    removed   = RemovePicks(to_remove)
+    Test("RemovePicks_02")
+
+    #check that the returned list matches
+    #what we expect
+    TestValueEQ("Removed expected picks", removed, expected)
+    ClearPickPoints()
+
+    PickByZone(0)
+    PickByZone(18)
+    Test("RemovePicks_03")
+    to_remove = "A, C, D, E"
+    expected  = "E"
+    removed   = RemovePicks(to_remove)
+    Test("RemovePicks_04")
+
+    TestValueEQ("Removed expected picks 2", removed, expected)
+
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def TestRemoveLabeledPicks():
+    OpenDatabase(data_path("mili_test_data/single_proc/sslide14ball_l.plt.mili"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
+    pickAtts = GetPickAttributes()
+    pickAtts.showPickHighlight = 1
+    SetPickAttributes(pickAtts)
+    DrawPlots()
+
+    options = {}
+    options["element_label"] = "shell 1"
+    PickByZoneLabel(options)
+    options["element_label"] = "shell 2"
+    PickByZoneLabel(options)
+    options["element_label"] = "shell 5"
+    PickByZoneLabel(options)
+
+    Test("RemoveLabeledPicks_00")
+    to_remove = "shell 1, shell 2, shell 19"
+    removed   = RemovePicks(to_remove)
+    Test("RemoveLabeledPicks_01")
+
+    expected = "shell 1, shell 2"
+    TestValueEQ("Removed expected shell", expected, removed)
+
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def TestSwivelFocus():
+    ResetPickAttributes()
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+    ResetView()
+
+    OpenDatabase(silo_data_path("globe.silo"))
+    TurnOffAllAnnotations()
+    AddPlot("Mesh", "mesh1")
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (-0.461806, -0.673199, 0.577526)
+    v.focus = (0., 0., 0.)
+    v.viewUp = (-0.243052, 0.722237, 0.647532)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.imagePan = (0.341463, 0.234840)
+    v.imageZoom = 1.21
+    SetView3D(v)
+
+    orig_atts = GetPickAttributes()
+    fh_atts   = GetPickAttributes()
+    fh_atts.swivelFocusToPick = 1
+    SetPickAttributes(fh_atts)
+
+    PickByNode(element=707)
+    Test("SwivelFocus_00")
+
+    SetPickAttributes(orig_atts)
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def TestSwivelHighlight():
+    ResetPickAttributes()
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+    ResetView()
+
+    OpenDatabase(silo_data_path("globe.silo"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "v")
+    DrawPlots()
+    orig_atts = GetPickAttributes()
+    fh_atts   = GetPickAttributes()
+    fh_atts.overridePickLabel = 1
+    fh_atts.forcedPickLabel   = "fhpick"
+    fh_atts.showPickHighlight = 1
+    fh_atts.swivelFocusToPick = 1
+    fh_atts.showPickLetter    = 0
+    SetPickAttributes(fh_atts)
+
+    PickByZone(element=580)
+    Test("SwivelHighlight_00")
+
+    SetPickAttributes(orig_atts)
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def TestNodeHighlight():
+    ResetPickAttributes()
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+    ResetView()
+
+    OpenDatabase(silo_data_path("globe.silo"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "v")
+    DrawPlots()
+
+    pAtts = GetPickAttributes()
+    pAtts.showPickHighlight = 1
+    pAtts.pickHighlightColor = (230, 100, 0)
+    SetPickAttributes(pAtts)
+    PickByNode(800)
+    pAtts.pickHighlightColor = (0, 0, 255)
+    SetPickAttributes(pAtts)
+    PickByNode(600)
+    pAtts.pickHighlightColor = (255, 0, 0)
+    SetPickAttributes(pAtts)
+    PickByNode(1000)
+    Test("NodeHighlight_00")
+
+    ResetPickAttributes()
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+
+def TestTranslatedHighlight():
+    ResetPickAttributes()
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+    ResetView()
+
+    OpenDatabase(silo_data_path("globe.silo"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "v")
+    AddOperator("Transform")
+
+    TransformAtts = TransformAttributes()
+    TransformAtts.doScale = 1
+    TransformAtts.scaleOrigin = (0, 0, 0)
+    TransformAtts.scaleX = 1
+    TransformAtts.scaleY = 2
+    TransformAtts.scaleZ = 1
+    TransformAtts.doTranslate = 1
+    TransformAtts.translateX = 100
+    SetOperatorOptions(TransformAtts)
+
+    DrawPlots()
+
+    pAtts = GetPickAttributes()
+    pAtts.showPickHighlight = 1
+    SetPickAttributes(pAtts)
+
+    PickByZone(element=580)
+    Test("TranslatedHighlight_00")
+
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+
+def TestPickingExpression():
+    ResetPickAttributes()
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+    ResetView()
+
+    OpenDatabase(silo_data_path("curv3d.silo"))
+    TurnOffAllAnnotations()
+    AddPlot("Pseudocolor", "mesh_quality/jacobian")
+
+    DrawPlots()
+
+    PickByZone(element=100)
+    result = GetPickOutput()
+    PickByNode(element=100)
+    result += GetPickOutput()
+    TestText("TestPickingExpression_00", result)
+
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+    CloseDatabase(silo_data_path("curv3d.silo"))
+
+
+def PickMain():
+    Pick3DTo2D()
+    Pick2D()
+    PickOnionPeel()
+    PickSubset()
+    PickMatFracsThreshold()
+    PickReflect()
+    PickFilledBoundary()
+    PickMultiBlock()
+    PickSurface()
+    PickBigSilMat()
+    PickOnionPeel2()
+    PickSpecMix()
+    PickCurve()
+    PickMultiWindow()
+    PickAfterEngineClosed()
+    PickAfterEngineCrashed()
+    PickBoundary()
+    PickVectorPlots()
+    PickPointMeshes()
+    PickGlobalIds()
+    PickExpressions()
+    PickAMR()
+    PickSamrai()
+    PickIndexSelect()
+    PickTensors()
+    PickMili()
+    PickContour()
+    PickBox()
+    PickScatter()
+    PickHighlight()
+    PickHighlightColor()
+    PickRange()
+    TestRemovePicks()
+    TestRemoveLabeledPicks()
+    PickLines3D()
+    PickZoneLabel()
+    PickNodeLabel()
+    PickRangeLabel()
+    TestSwivelFocus()
+    TestSwivelHighlight()
+    TestNodeHighlight()
+    TestTranslatedHighlight()
+    TestPickingExpression()
+
+# Call the main function
+TurnOnAllAnnotations()
+PickMain()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_pickarray.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickarray.html new file mode 100644 index 000000000..d49854ad8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickarray.html @@ -0,0 +1,86 @@ + +Results for queries/pickarray.py + +

Results of VisIt Regression Test - queries/pickarray

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
pickarray_010 modifications totalling 0 lines
pickarray_020.000.00
pickarray_030 modifications totalling 0 lines
pickarray_040.000.00
pickarray_050 modifications totalling 0 lines
pickarray_060 modifications totalling 0 lines
pickarray_070.000.00
pickarray_080 modifications totalling 0 lines
pickarray_090.000.00
pickarray_100.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_pickarray_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickarray_py.html new file mode 100644 index 000000000..a20293f50 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickarray_py.html @@ -0,0 +1,137 @@ +queries/pickarray.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  pickarray.py
+#  Tests:      queries     - Pick on array variables
+#
+#  Defect ID:  '6862, '3191, '7323, '7324
+#
+#  Programmer: Hank Childs
+#  Date:       May 25, 2006
+#
+#  Modifications:
+#
+#    Hank Childs, Tue Sep  5 17:08:59 PDT 2006
+#    Add more tests for indexing bug ['7324].
+#
+#    Kathleen Bonnell, Wed Oct 18 11:43:27 PDT 2006 
+#    Add more tests for bug '7498.
+#
+#    Hank Childs, Fri Jan  5 13:51:41 PST 2007
+#    Add tests for time varying databases ['7323].
+#
+#    Hank Childs, Fri Jan 12 17:31:15 PST 2007
+#    Added tests for array variables with bin widths.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+a = AnnotationAttributes()
+TurnOffAllAnnotations(a)
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor","d")
+DrawPlots()
+
+DefineArrayExpression("arr", "array_compose(d, p)")
+Pick((0.5, 0.5), "arr")
+text = GetPickOutput()
+TestText("pickarray_01", text)
+
+SetActiveWindow(2)
+SetAnnotationAttributes(a)
+
+Test("pickarray_02")
+
+# Now make sure future picks cause the window to update.
+SetActiveWindow(1)
+Pick((0.5, 1.0), "arr")
+text = GetPickOutput()
+TestText("pickarray_03", text)
+
+SetActiveWindow(2)
+Test("pickarray_04")
+
+SetActiveWindow(1)
+DeleteAllPlots()
+OpenDatabase(silo_data_path("wave.visit"))
+
+AddPlot("Pseudocolor", "pressure")
+DrawPlots()
+DefineArrayExpression("arr2", "array_compose(u, v)")
+ZonePick((0.29, 0.47, 5.0), "arr2")
+text = GetPickOutput()
+TestText("pickarray_05", text)
+
+#  bug '7498.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+DefineArrayExpression("arr3", "array_compose(dx, dy, dz)")
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+vars = ("u", "arr3")
+Pick(128, 107, vars)
+text = GetPickOutput() + "\n"
+
+e = ExportDBAttributes()
+e.db_type = "VTK"
+e.filename = "globe_temp"
+e.variables = ("u", "dx", "dy")
+ExportDatabase(e)
+ReplaceDatabase("globe_temp.vtk")
+Pick(128, 107, vars)
+text += GetPickOutput()
+text += "\n"
+
+DeleteExpression("arr3")
+DefineArrayExpression("arr3", "array_compose(dx, dy)")
+Pick(128, 107, vars)
+text += GetPickOutput()
+TestText("pickarray_06", text)
+
+#  bug '7323
+SetActiveWindow(1)
+DeleteAllPlots()
+SetActiveWindow(2)
+DeleteAllPlots()
+SetActiveWindow(1)
+OpenDatabase(silo_data_path("wave.visit"))
+
+AddPlot("Pseudocolor", "pressure")
+TimeSliderSetState(34)
+DrawPlots()
+ZonePick((0.29, 0.47, 5.0), "arr2")
+SetActiveWindow(2)
+Test("pickarray_07")
+Query("Cycle")
+output = GetQueryOutputString()
+TestText("pickarray_08", output)
+
+DeleteAllPlots()
+SetActiveWindow(1)
+DeleteAllPlots()
+DefineArrayExpression("arr4", "array_compose_with_bins(dx, dy, [0, 0.5, 1.5])")
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+vars = ("u", "arr4")
+Pick(128, 107, vars)
+SetActiveWindow(2)
+ResetView()
+Test("pickarray_09")
+
+h = HistogramAttributes()
+h.useBinWidths = 0
+h.basedOn = h.ManyVarsForSingleZone
+SetPlotOptions(h)
+ResetView()
+Test("pickarray_10")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_pickcleanzonesonly.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickcleanzonesonly.html new file mode 100644 index 000000000..bdfd49044 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickcleanzonesonly.html @@ -0,0 +1,48 @@ + +Results for queries/pickcleanzonesonly.py + +

Results of VisIt Regression Test - queries/pickcleanzonesonly

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
PickCleanZonesOnly10 modifications totalling 0 lines
PickCleanZonesOnly20 modifications totalling 0 lines
PickCleanZonesOnly30 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_pickcleanzonesonly_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickcleanzonesonly_py.html new file mode 100644 index 000000000..1a65881fc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_pickcleanzonesonly_py.html @@ -0,0 +1,57 @@ +queries/pickcleanzonesonly.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  pickcleanzonesonly.py
+#  Tests:      queries     - Pick on mixed zones of clean zones only
+#
+#  Defect ID:  VisIt00003894
+#
+#  Programmer: Jeremy Meredith
+#  Date:       October 30, 2003
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004 
+#    Slice defaults atts have changed, update accordingly. 
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+# Make a sliced filled boundary plot with clean zones only enabled
+TurnOnAllAnnotations()
+OpenDatabase(silo_data_path("ucd3d.silo"))
+
+AddPlot("FilledBoundary","mat1")
+f=FilledBoundaryAttributes()
+f.cleanZonesOnly=1
+SetPlotOptions(f)
+AddOperator("Slice")
+s=SliceAttributes()
+s.axisType=s.YAxis
+s.originIntercept = .01
+s.project2d=1
+SetOperatorOptions(s)
+DrawPlots()
+
+# Pick on one of the mixed zones
+Pick((-3.5,10.1))
+text = GetPickOutput()
+TestText("PickCleanZonesOnly1", text)
+
+# Change the slice position and do it again
+s.axisType=s.ZAxis
+s.originIntercept=3.
+SetOperatorOptions(s)
+Pick((-1,3.2))
+text = GetPickOutput()
+TestText("PickCleanZonesOnly2", text)
+
+# Remove the slice and do it again
+RemoveAllOperators()
+Pick((3,2,19))
+text = GetPickOutput()
+TestText("PickCleanZonesOnly3", text)
+
+# All done!
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_py_queries.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_py_queries.html new file mode 100644 index 000000000..b78c98318 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_py_queries.html @@ -0,0 +1,44 @@ + +Results for queries/py_queries.py + +

Results of VisIt Regression Test - queries/py_queries

+ + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
py_queries_000 modifications totalling 0 lines
py_queries_010 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_py_queries_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_py_queries_py.html new file mode 100644 index 000000000..75481378b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_py_queries_py.html @@ -0,0 +1,40 @@ +queries/py_queries.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  py_queires.py
+#
+#  Tests:      python filters / python queries
+#              plots     - Pseudocolor
+#
+#
+#  Programmer: Cyrus Harrison
+#  Date:       Fri May 21 09:14:07 PDT 2010
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+import os
+from os.path import join as pjoin
+
+def script_path(sname):
+    return pjoin(os.path.split(TestScriptPath())[0],sname)
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+
+PythonQuery(file=script_path("py_query_script_00.vpq"))
+res = GetQueryOutputString()
+TestText("py_queries_00",res + "\n")
+
+PythonQuery(file=script_path("py_query_script_01.vpq"),vars=["default","p"],args=["test",0.0,[1,2.0,3]])
+res = GetQueryOutputString()
+TestText("py_queries_01",res + "\n")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_queriesOverTime.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_queriesOverTime.html new file mode 100644 index 000000000..967c63033 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_queriesOverTime.html @@ -0,0 +1,324 @@ + +Results for queries/queriesOverTime.py + +

Results of VisIt Regression Test - queries/queriesOverTime

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
AllTimeQueries_010.000.00
AllTimeQueries_020.000.00
AllTimeQueries_030.000.00
AllTimeQueries_040.000.00
AllTimeQueries_050.000.00
AllTimeQueries_060.000.00
AllTimeQueries_070.000.00
FBTimeQuery_010.000.00
FBTimeQuery_020.000.00
TimeQuery_ops_010.000.00
TimeQuery_ops_020.000.00
TimeQuery_expr_010.000.00
TimeQuery_expr_020.000.00
TimeQuery_expr_030.000.00
TimeQuery_trans_010.000.00
TimeQuery_trans_020.000.00
SpecifyTimeQueryWindow_010.000.00
SpecifyTimeQueryWindow_020.000.00
SpecifyTimeQueryWindow_030.000.00
TimeQuery_sil_010.000.00
QueryAfterQueryOverTime0 modifications totalling 0 lines
TimeQuery_mili_010.000.00
TimeQuery_mili_020.000.00
TimeQuery_mili_030.000.00
TimeQuery_mili_040.000.00
TimePick_MultiVar_010.000.00
TimePick_MultiVar_020.000.00
TimePick_MultiVar_030.000.00
TimePick_MultiVar_040.000.00
TimePickRange_000.000.00
TimePickRangeDict_000 modifications totalling 0 lines
TimePickRange_010.000.00
TimePickRangeDict_010 modifications totalling 0 lines
TimePickRange_020.000.00
TimePickRangeDict_020 modifications totalling 0 lines
Pick Updated
 "" .eq. "" : True
Timing Direct Database Query
 5.1525959968566895 .le. 10 (prec=5) : True
Direct_Database_Route_000.000.00
Direct_Database_Route_010.000.00
Direct_Database_Route_020.000.00
Direct_Database_Route_030.000.00
Direct_Database_Route_040.000.00
Direct_Database_Route_050.000.00
Direct_Database_Route_060.000.00
Direct_Database_Route_070.000.00
Direct_Database_Route_080.000.00
Direct_Database_Route_090.000.00
Direct_Database_Route_100.000.00
Direct_Database_Route_110.000.00
OperatorCreatedVar_010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_queriesOverTime_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_queriesOverTime_py.html new file mode 100644 index 000000000..45663c656 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_queriesOverTime_py.html @@ -0,0 +1,1065 @@ +queries/queriesOverTime.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  queriesOverTime.py #
+#  Tests:      queries     - Database
+#
+#  Defect ID:  none
+#
+#  Programmer: Kathleen Bonnell
+#  Date:       March 31, 2004
+#
+#  Modifications:
+#
+#    Hank Childs, Tue Apr 13 13:00:15 PDT 2004
+#    Rename surface area query.
+#
+#    Kathleen Bonnell, Tue Apr 20 09:42:30 PDT 2004
+#    Added TestFilledBoundary.
+#
+#    Kathleen Bonnell, Tue Apr 27 12:10:44 PDT 2004
+#    Added TestExpressions, TestOperators.
+#
+#    Kathleen Bonnell, Thu Jun 24 09:49:35 PDT 2004
+#    Added TestTransientVariable.
+#
+#    Kathleen Bonnell, Wed Jul 21 16:51:31 PDT 2004
+#    Added TestSpecifyTimeQueryWindow.
+#
+#    Kathleen Bonnell, Wed Sep  8 10:53:58 PDT 2004
+#    Renamed 'WorldPick' as 'Pick'.
+#
+#    Kathleen Bonnell, Mon Dec 20 15:54:04 PST 2004
+#    Changed 'Variable by Node' to 'PickByNode'.
+#
+#    Kathleen Bonnell, Thu Jan  6 11:06:29 PST 2005
+#    Added TestTimeVaryingSIL.
+#
+#    Kathleen Bonnell, Wed Mar 16 11:13:40 PST 2005
+#    Added TestQueryAfterQueryOverTime.
+#
+#    Kathleen Bonnell, Wed Jul  6 16:21:34 PDT 2005
+#    Added TestMili.
+#
+#    Kathleen Bonnell, Thu Nov 10 08:21:54 PST 2005
+#    Added TrajectoryByZone to TestMili.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Fri Feb  5 09:27:37 PST 2010
+#    Turn off color cycling to avoid possible propagation of error from
+#    one failed test to several.
+#
+#    Kathleen Bonnell, Thu Mar  3 11:47:09 PST 2011
+#    Added MultiVarTimePick tests.
+#
+#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
+#    Use named arguments.
+#
+#    Alister Maguire, Tue Oct 17 16:54:48 PDT 2017
+#    Added TestPickRangeTimeQuery
+#
+#    Alister Maguire, Wed May  9 10:13:26 PDT 2018
+#    Added TestReturnValue.
+#
+#    Alister Maguire, Wed May 30 14:16:28 PDT 2018
+#    Added tests for performing pick ranges over time with and
+#    without plotting and returning the curves.
+#
+#    Alister Maguire, Wed May 22 08:49:30 PDT 2019
+#    Updated mili tests to reflect new plugin changes.
+#
+#    Alister Maguire, Tue Oct  1 11:48:15 MST 2019
+#    Make sure to set use_actual_data to true when we want
+#    to use data from the pipeline output.
+#
+#    Alister Maguire, Fri Oct 11 13:12:36 PDT 2019
+#    Added TestDirectDatabaseRoute. I also updated several tests to
+#    use actual data so that they continue to test the old QOT route.
+#
+#    Kathleen Biagas, Thu Jan 30 13:37:50 MST 2020
+#    Added TestOperatorCreatedVar. (github bugs #2842, #3489).
+#
+#    Alister Maguire, Tue Feb 25 13:46:24 PST 2020
+#    Added tests for handling vectors in the direct database route.
+#
+#    Alister Maguire, Mon Mar  9 15:16:36 PDT 2020
+#    I've removed the use_actual_data flag for Pick queries as this
+#    is now handled internally.
+#
+#    Alister Maguire, Thu Nov  5 08:22:15 PST 2020
+#    Updated the multi-domain DDQOT test to ensure that the selected
+#    element is not on processor 0 when run in parallel.
+#
+#    Alister Maguire, Fri Nov  6 10:06:22 PST 2020
+#    Added more DirectDatabaseQOT tests that ensure verdict metrics
+#    are able to be queried using this route.
+#
+#    Mark C. Miller, Mon Jan 11 10:37:07 PST 2021
+#    Replace Assert-style with TestValue-style tests
+#
+#    Kathleen Biagas, Wed Feb 16 13:11:57 PST 2022
+#    Replaced Curve atts 'cycleColors' with 'curveColorSource', 'color' with
+#    'curveColor', and 'renderMode=RenderAsLines' with 'showLines'.
+#
+# ----------------------------------------------------------------------------
+
+RequiredDatabasePlugin(("PDB", "Mili", "SAMRAI"))
+
+def InitAnnotation():
+    # Turn off most annotations
+    a = AnnotationAttributes()
+    a.axes2D.visible = 1
+    a.axes2D.xAxis.label.visible = 1
+    a.axes2D.yAxis.label.visible = 1
+    a.axes2D.xAxis.title.visible = 1
+    a.axes2D.yAxis.title.visible = 1
+    a.axes3D.triadFlag = 0
+    a.axes3D.bboxFlag = 0
+    a.userInfoFlag = 0
+    a.databaseInfoFlag = 0
+    a.legendInfoFlag = 0
+    a.backgroundMode = a.Solid
+    a.foregroundColor = (0, 0, 0, 255)
+    a.backgroundColor = (255, 255, 255, 255)
+    SetAnnotationAttributes(a)
+
+def SetCurvePlotDefaults():
+    # Disable Color Cycling, default to a blue curve.
+    catts = CurveAttributes()
+    catts.lineWidth = 0
+    catts.curveColor = (0, 0, 255, 255)
+    catts.showLabels = 1
+    catts.designator = ""
+    catts.showPoints = 0
+    catts.showLegend = 1
+    catts.curveColorSource = catts.Custom
+    catts.showLines = 1
+    SetDefaultPlotOptions(catts)
+
+
+
+def TestAllTimeQueries():
+    OpenDatabase(silo_data_path("wave.visit"))
+
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+
+    # Do some database queries.
+    QueryOverTime("3D surface area")
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("AllTimeQueries_01")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    QueryOverTime("Volume")
+    SetActiveWindow(2);
+    Test("AllTimeQueries_02")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    QueryOverTime("Min")
+    SetActiveWindow(2);
+    Test("AllTimeQueries_03")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    QueryOverTime("Max")
+    SetActiveWindow(2);
+    Test("AllTimeQueries_04")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    QueryOverTime("Variable Sum")
+    SetActiveWindow(2);
+    Test("AllTimeQueries_05")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    QueryOverTime("Weighted Variable Sum")
+    SetActiveWindow(2);
+    Test("AllTimeQueries_06")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    pa = GetPickAttributes()
+    pa.doTimeCurve = 1
+    pa.timePreserveCoord = 0
+    SetPickAttributes(pa)
+    PickByNode(15947)
+    # reset some defaults
+    pa.doTimeCurve = 0
+    pa.timePreserveCoord = 1
+    SetPickAttributes(pa)
+    SetActiveWindow(2);
+    Test("AllTimeQueries_07")
+
+    # delete window 2
+    DeleteWindow()
+    # remove plots from window 1
+    DeleteAllPlots()
+
+def TestFilledBoundary():
+    #  bug '4708
+    OpenDatabase(silo_data_path("wave.visit"))
+
+    AddPlot("FilledBoundary", "Material")
+    DrawPlots()
+    TurnMaterialsOff(("1 barrier", "2 water"))
+
+    SetActiveWindow(1)
+    QueryOverTime("3D surface area")
+    SetActiveWindow(2)
+    InitAnnotation()
+
+    Test("FBTimeQuery_01")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+    TurnMaterialsOff(("1 barrier", "2 water"))
+    QueryOverTime("3D surface area")
+    SetActiveWindow(2)
+    Test("FBTimeQuery_02")
+
+    # delete window 2
+    DeleteWindow()
+    # remove plots from window 1
+    TurnMaterialsOn()
+    DeleteAllPlots()
+
+def TestOperators():
+    #  bug '4818
+    OpenDatabase(silo_data_path("wave*.silo database"))
+
+    AddPlot("Pseudocolor", "pressure")
+    AddOperator("Isovolume")
+    iso = IsovolumeAttributes()
+    iso.lbound = 0.1
+    iso.ubound = 1.0
+    SetOperatorOptions(iso)
+    DrawPlots()
+
+    SetActiveWindow(1)
+    QueryOverTime("Volume", stride=10, use_actual_data=1)
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("TimeQuery_ops_01")
+
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "mesh_quality/jacobian")
+    AddOperator("Slice")
+    slice = SliceAttributes()
+    slice.axisType = slice.Arbitrary
+    slice.normal = (-0.689, -0.0416, 0.7233)
+    slice.originType = slice.Point
+    slice.originPoint = (2.0011, -0.4084, -1.1279)
+    slice.upAxis = (-0.08584, 0.996007, -0.0245)
+    slice.project2d = 1
+    SetOperatorOptions(slice)
+
+    DrawPlots()
+    QueryOverTime("2D area", stride=10, use_actual_data=1)
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("TimeQuery_ops_02")
+
+    # prepare for next test-set
+    # delete plots from window 2 & l
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+def TestExpressions():
+    #bug '4784
+    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
+
+    AddPlot("Pseudocolor", "mesh/ireg")
+    pa = PseudocolorAttributes()
+    pa.minFlag = 1
+    pa.maxFlag = 1
+    pa.min = 1
+    pa.max = 4
+    SetPlotOptions(pa)
+    DrawPlots()
+
+    pt = (4., 3., 0.)
+    pick = GetPickAttributes()
+    pick.doTimeCurve = 1
+    SetPickAttributes(pick)
+    Pick(pt)
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("TimeQuery_expr_01")
+
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    # test a scalar expression
+    OpenDatabase(silo_data_path("wave*.silo database"))
+
+    DefineScalarExpression("p2", "pressure*pressure")
+    AddPlot("Pseudocolor", "p2")
+    DrawPlots()
+
+    QueryOverTime("Variable Sum", stride=10)
+    SetActiveWindow(2)
+    Test("TimeQuery_expr_02")
+
+    # prepare for next test-set
+    # delete plots from window 2 & l
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
+
+    DefineScalarExpression("m", "matvf(material, 1)")
+    AddPlot("Pseudocolor", "m")
+    DrawPlots()
+
+    QueryOverTime("Variable Sum")
+    SetActiveWindow(2)
+    Test("TimeQuery_expr_03")
+
+    # prepare for next test-set
+    # delete plots from window 2 & l
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+
+
+def TestTransientVariable():
+    #bug '4906
+
+    # Do what is necessary to get access to the transient variable,
+    # because QueryOverTime requires an active drawn plot.
+    db = silo_data_path("wave_tv*.silo database")
+    OpenDatabase(db)
+    SetTimeSliderState(17)
+    ReOpenDatabase(db)
+    AddPlot("Pseudocolor", "transient")
+    DrawPlots()
+
+    qt = GetQueryOverTimeAttributes()
+    qt.timeType = qt.Timestep
+    SetQueryOverTimeAttributes(qt)
+
+    QueryOverTime("Variable Sum")
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("TimeQuery_trans_01")
+
+    DeleteAllPlots()
+    SetActiveWindow(1)
+
+    pick = GetPickAttributes()
+    pick.doTimeCurve = 1
+    pick.timePreserveCoord = 0
+    SetPickAttributes(pick)
+    PickByNode(327)
+
+    pick.doTimeCurve = 0
+    pick.timePreserveCoord = 1
+    SetPickAttributes(pick)
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("TimeQuery_trans_02")
+
+    # Prepare for next test
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+def TestSpecifyTimeQueryWindow():
+    # bug '5163
+    OpenDatabase(silo_data_path("wave.visit"))
+
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+
+    qt = GetQueryOverTimeAttributes()
+    qt.timeType = qt.Timestep
+    SetQueryOverTimeAttributes(qt)
+
+    QueryOverTime("3D surface area")
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("SpecifyTimeQueryWindow_01")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    TurnMaterialsOff(("1 barrier"))
+    DrawPlots()
+
+    qot = GetQueryOverTimeAttributes()
+    qot.createWindow = 0
+    qot.windowId = 3
+    SetQueryOverTimeAttributes(qot)
+
+    QueryOverTime("3D surface area")
+
+    SetActiveWindow(3)
+    InitAnnotation()
+    Test("SpecifyTimeQueryWindow_02")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    TurnMaterialsOff(("2 water"))
+    DrawPlots()
+
+    qot.windowId = 2
+    SetQueryOverTimeAttributes(qot)
+
+    QueryOverTime("3D surface area")
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("SpecifyTimeQueryWindow_03")
+
+    # Prepare for next test
+    DeleteAllPlots()
+    DeleteWindow()
+    SetActiveWindow(3)
+    DeleteWindow()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+def TestTimeVaryingSIL():
+    #bug '5473
+    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
+
+
+    cfileName = "./temp.curve"
+    curveFile = open(cfileName, "wt")
+    curveFile.write("#3D surface area\n")
+    nframes = TimeSliderGetNStates()
+    for i in range(nframes):
+        Query("3D surface area")
+        val = GetQueryOutputValue()
+        curveFile.write("%g %g\n" % (i, val))
+        TimeSliderNextState()
+
+    curveFile.close()
+
+    AddWindow()
+    SetActiveWindow(2)
+    DeleteAllPlots()
+    OpenDatabase(cfileName)
+    AddPlot("Curve", "3D surface area")
+    DrawPlots()
+
+    SetActiveWindow(1)
+
+    # Go ahead and use default plot for now.
+    qt = GetQueryOverTimeAttributes()
+    qt.timeType = qt.Timestep
+    qt.createWindow = 0
+    qt.windowId = 2
+    SetQueryOverTimeAttributes(qt)
+
+    QueryOverTime("3D surface area")
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    cv = GetViewCurve();
+    cv.domainCoords = (-0.534115, 10.5341)
+    cv.rangeCoords = (4029.87, 5856.13)
+    SetViewCurve(cv)
+
+    SetActivePlots((0, 1))
+    c = CurveAttributes()
+    c.showPoints = 1
+    SetPlotOptions(c)
+
+    Query("Area Between Curves")
+    s = GetQueryOutputString()
+    text = CreateAnnotationObject("Text2D")
+    text.text =  s
+    text.height = 0.02
+    text.position = (0.55, 0.4)
+
+    Test("TimeQuery_sil_01")
+
+    text.Delete()
+    os.unlink(cfileName)
+
+    # Prepare for next test
+    DeleteAllPlots()
+    SetActiveWindow(2)
+    DeleteWindow()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+def TestQueryAfterQueryOverTime():
+    # bug '5823
+    OpenDatabase(silo_data_path("wave_tv.visit"))
+
+    SetTimeSliderState(17)
+    ReOpenDatabase(silo_data_path("wave_tv.visit"))
+
+    AddPlot("Pseudocolor", "transient")
+    DrawPlots()
+
+    QueryOverTime("Volume")
+    Query("Volume")
+    s = GetQueryOutputString()
+    QueryOverTime("Max")
+    Query("Max")
+    s = s + GetQueryOutputString()
+
+    SetActiveWindow(2)
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    # bug '6042
+    OpenDatabase(silo_data_path("wave.visit"))
+
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+    TurnMaterialsOn()
+    QueryOverTime("3D surface area", stride=10)
+
+    SetActiveWindow(2)
+    DeleteAllPlots()
+    SetActiveWindow(1)
+
+    Query("3D surface area")
+    s = s + GetQueryOutputString()
+    TestText("QueryAfterQueryOverTime", s)
+
+    SetActiveWindow(2)
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+def TestMili():
+    # bug '6430
+    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
+
+    AddPlot("Pseudocolor", "Primal/node/nodvel/vz")
+    DrawPlots()
+
+    ResetQueryOverTimeAttributes()
+
+    QueryOverTime("Volume")
+    SetActiveWindow(2)
+    ResetView()
+    InitAnnotation()
+    Test("TimeQuery_mili_01")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    QueryOverTime("Max")
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("TimeQuery_mili_02")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+
+    p = GetPickAttributes()
+    p.doTimeCurve = 1
+    p.timePreserveCoord = 0
+    SetPickAttributes(p)
+    NodePick(122, 161)
+
+    p.doTimeCurve = 0
+    SetPickAttributes(p)
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("TimeQuery_mili_03")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    qvars = ("Primal/shell/edv1", "Primal/shell/edv2")
+    QueryOverTime("TrajectoryByZone", element=242, vars=qvars)
+    SetActiveWindow(2)
+    ResetView()
+    InitAnnotation()
+    Test("TimeQuery_mili_04")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+def MultiVarTimePick():
+    OpenDatabase(silo_data_path("wave.visit"))
+
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+
+    pa = GetPickAttributes()
+    pa.doTimeCurve = 1
+    pa.timeCurveType = pa.Single_Y_Axis
+    SetPickAttributes(pa)
+
+    vars =("pressure", "v", "direction_magnitude")
+    PickByNode(8837, vars)
+
+    SetActiveWindow(2);
+    InitAnnotation()
+    Test("TimePick_MultiVar_01")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    pa.timeCurveType = pa.Multiple_Y_Axes
+    SetPickAttributes(pa)
+    PickByNode(8837, vars)
+
+    SetActiveWindow(2);
+    Test("TimePick_MultiVar_02")
+    DeleteAllPlots()
+
+    # remove plots from window 1
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
+
+    AddPlot("Pseudocolor", "Primal/shell/inteng")
+    DrawPlots()
+
+    pa.timePreserveCoord = 0
+    pa.timeCurveType = pa.Single_Y_Axis
+    SetPickAttributes(pa)
+
+    vars = ("default", "Primal/shell/normal_magnitude")
+    PickByZone(233, vars)
+
+    SetActiveWindow(2);
+    Test("TimePick_MultiVar_03")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    pa.timeCurveType = pa.Multiple_Y_Axes
+    SetPickAttributes(pa)
+    PickByZone(233, vars)
+
+    SetActiveWindow(2);
+    Test("TimePick_MultiVar_04")
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+def TestPickRangeTimeQuery():
+
+    OpenDatabase(silo_data_path("wave_tv.visit"))
+    SetTimeSliderState(17)
+
+    AddPlot("Pseudocolor", "v")
+    DrawPlots()
+
+    pickAtts = GetPickAttributes()
+    pickAtts.doTimeCurve = 0
+    pickAtts.variables = ("default", "v")
+    pickAtts.timeCurveType =  pickAtts.Single_Y_Axis
+    SetPickAttributes(pickAtts)
+
+    #
+    # Return the curves without plotting, and show
+    # highlights.
+    #
+    pickAtts.showPickHighlight = 1
+    SetPickAttributes(pickAtts)
+    options = {}
+    options["pick_range"] = "100-105, 100, 1"
+    options["do_time"] = 0
+    options["return_curves"] = 1
+    output_dict = PickByZone(options)
+
+    Test("TimePickRange_00")
+    # use json.dumps for dictionary object, makes for easier parsing
+    # of diffs when there are errors
+    TestText("TimePickRangeDict_00",json.dumps(output_dict, indent=2))
+    ClearPickPoints()
+
+    #
+    # Plot the curves, but don't return them.
+    #
+    pickAtts.showPickHighlight = 0
+    SetPickAttributes(pickAtts)
+    options = {}
+    options["pick_range"] = "100-105, 100, 1"
+    options["do_time"] = 1
+    options["return_curves"] = 0
+    options["start_time"] = 10
+    options["end_time"] = 14
+    options["stride"] = 2
+    output_dict = PickByNode(options)
+    SetActiveWindow(2)
+    Test("TimePickRange_01")
+    TestText("TimePickRangeDict_01",json.dumps(output_dict, indent=2))
+    ClearPickPoints()
+    SetActiveWindow(1)
+
+    #
+    # Plot the curves, and return them.
+    #
+    pickAtts.showPickHighlight = 0
+    SetPickAttributes(pickAtts)
+    options = {}
+    options["pick_range"] = "100-105"
+    options["do_time"] = 1
+    options["return_curves"] = 1
+    options["start_time"] = 20
+    options["end_time"] = 60
+    options["stride"] = 2
+    output_dict = PickByNode(options)
+
+    SetActiveWindow(2)
+    Test("TimePickRange_02")
+    TestText("TimePickRangeDict_02",json.dumps(output_dict, indent=2))
+    SetActiveWindow(1)
+
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+    SetActiveWindow(1)
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def TestReturnValue():
+    #
+    # There used to be a bug where the return value
+    # from previous picks would propagate to the following
+    # time query. Let's make sure this isn't re-introduced.
+    #
+    OpenDatabase(silo_data_path("wave.visit"))
+    AddPlot("Pseudocolor", "v")
+    DrawPlots()
+
+    pickAtts = GetPickAttributes()
+    pickAtts.doTimeCurve = 0
+    pickAtts.variables = ("default", "v")
+    pickAtts.timeCurveType =  pickAtts.Single_Y_Axis
+    SetPickAttributes(pickAtts)
+
+    time1   = NodePick(coord=(3, .5, 3), do_time=1, start_time=0, end_time=70)
+    no_time = NodePick(coord=(2, .2, 2), do_time=0)
+    time2   = NodePick(coord=(3, .5, 3), do_time=1, start_time=0, end_time=70)
+
+    TestValueEQ("Pick Updated", type(time1), type(time2))
+
+    ClearPickPoints()
+    DeleteAllPlots()
+    ResetPickLetter()
+
+def TestDirectDatabaseRoute():
+
+    #
+    # Cleanup any plots that haven't been deleted yet.
+    #
+    SetActiveWindow(2)
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    OpenDatabase(data_path("mili_test_data/single_proc/d3samp6_10_longrun.plt.mili"))
+    AddPlot("Pseudocolor", "Primal/Shared/edrate")
+    DrawPlots()
+
+    element    = 116
+    domain     = 0
+    element    = 116
+    preserve   = 0
+    start      = 0
+    stride     = 1
+    stop       = 10000
+    vars       = ("default")
+
+    #
+    # First, let's time the query. This hard to predict because of it being dependent
+    # on the machine's architecture, but we can make an educated guess. The direct
+    # route should take under a second, and the old route should take at least
+    # 30 seconds. We'll give ourselves a threshold of 10 seconds to be safe.
+    #
+    import time
+    thresh = 10
+    timer_start = time.time()
+
+    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
+        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
+
+    timer_stop = time.time()
+    res = timer_stop - timer_start
+
+    TestValueLE("Timing Direct Database Query", res, thresh)
+    SetActiveWindow(2)
+    Test("Direct_Database_Route_00")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+
+    #
+    # Like the original QOT, the direct route creates a clone, but this clone
+    # differs in that its resulting dataset will NOT match the original dataset.
+    # Let's make sure the active dataset is being updated to the old plot by
+    # performing a new pick (not through time).
+    #
+    PickByZone(do_time=0, domain=domain, element=element)
+    Test("Direct_Database_Route_01")
+
+    #
+    # Test basic range settings.
+    #
+    start  = 100
+    stop   = 900
+    stride = 10
+    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
+        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
+    stride = 1
+    start  = 0
+    stop   = 10000
+    SetActiveWindow(2)
+    Test("Direct_Database_Route_02")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "Primal/node/nodacc/ax")
+    DrawPlots()
+
+    # This tests two things:
+    #    1. Plotting a node pick curve.
+    #    2. Using a direct route query on magnitude expression.
+    #
+    vars=("Primal/node/nodacc_magnitude")
+    PickByNode(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
+        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
+    SetActiveWindow(2)
+    Test("Direct_Database_Route_03")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+
+    DeleteAllPlots()
+    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
+    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
+    DrawPlots()
+
+    #
+    # Test plotting multiple variables at once.
+    #
+    element = 489
+    vars=("Primal/brick/stress/sz", "Primal/brick/stress/sx")
+    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
+        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
+    SetActiveWindow(2)
+    Test("Direct_Database_Route_04")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+
+    #
+    # Testing the multi curve plot.
+    #
+    PickByZone(curve_plot_type=1, vars=vars, do_time=1, domain=domain, element=element,
+        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
+    SetActiveWindow(2)
+    Test("Direct_Database_Route_05")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+
+    #
+    # Test multi-domain data.
+    #
+    DeleteAllPlots()
+    OpenDatabase(data_path("mili_test_data/multi_proc/d3samp6.plt.mili"))
+    AddPlot("Pseudocolor", "Primal/Shared/edrate")
+    DrawPlots()
+    domain = 5
+    element = 14
+    vars = ("default")
+    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
+        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
+    SetActiveWindow(2)
+    Test("Direct_Database_Route_06")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+
+    DeleteAllPlots()
+
+    #
+    # Now let's test a variable that is not defined on all
+    # timesteps.
+    #
+    db = silo_data_path("wave_tv*.silo database")
+    OpenDatabase(db)
+    SetTimeSliderState(17)
+    ReOpenDatabase(db)
+    AddPlot("Pseudocolor", "transient")
+    DrawPlots()
+
+    pick = GetPickAttributes()
+    pick.doTimeCurve = 1
+    pick.timePreserveCoord = 0
+    SetPickAttributes(pick)
+    PickByNode(element=327)
+
+    pick.doTimeCurve = 0
+    pick.timePreserveCoord = 1
+    SetPickAttributes(pick)
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("Direct_Database_Route_07")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    #
+    # Next, let's test a vector plot. The vectors should be reduced
+    # to their magnitudes.
+    #
+    AddPlot("Vector", "direction")
+    DrawPlots()
+
+    pick = GetPickAttributes()
+    pick.doTimeCurve = 1
+    pick.timePreserveCoord = 0
+    SetPickAttributes(pick)
+    PickByNode(element=10)
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("Direct_Database_Route_08")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    #
+    # Next, let's test using the direct database route on verdict metrics.
+    #
+    OpenDatabase(data_path("mili_test_data/single_proc/d3samp6.plt.mili"))
+    AddPlot("Pseudocolor", "mesh_quality/mesh1/skew")
+    DrawPlots()
+
+    domain     = 0
+    element    = 116
+    preserve   = 0
+    start      = 0
+    stride     = 1
+    stop       = 10000
+
+    vars=("default")
+    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
+        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
+
+    SetActiveWindow(2)
+    Test("Direct_Database_Route_09")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    #
+    # This is a continuation of testing verdicts, but this is an edge case that should
+    # be handled when plotting multiple variables. The case occurs when our active
+    # variable does not depend on mesh coodinates, but we also request a variable that
+    # requires mesh coordinates (like verdict). There is a re-ordering that needs to
+    # take place during the request retrieval process.
+    #
+    AddPlot("Pseudocolor", "Primal/Shared/strain/ezx")
+    DrawPlots()
+
+    vars=("default", "mesh_quality/mesh1/face_planarity")
+    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
+        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
+
+    SetActiveWindow(2)
+    Test("Direct_Database_Route_10")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+
+    vars=("default", "mesh_quality/mesh1/face_planarity")
+    PickByZone(curve_plot_type=1, vars=vars, do_time=1, domain=domain, element=element,
+        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
+
+    SetActiveWindow(2)
+    Test("Direct_Database_Route_11")
+    DeleteAllPlots()
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+
+def TestOperatorCreatedVar():
+    OpenDatabase(silo_data_path("wave.visit"))
+    DefineVectorExpression("normals", "cell_surface_normal(quadmesh)")
+
+    AddPlot("Pseudocolor", "operators/Flux/quadmesh")
+
+    fluxAtts = FluxAttributes()
+    fluxAtts.flowField = "direction"
+    SetOperatorOptions(fluxAtts)
+
+    AddOperator("Slice")
+    sliceAtts = SliceAttributes()
+    sliceAtts.axisType = sliceAtts.Arbitrary
+    sliceAtts.normal = (0, 1, 0)
+    sliceAtts.originType = sliceAtts.Percent
+    sliceAtts.originPercent = 50
+    sliceAtts.project2d = 0
+    SetOperatorOptions(sliceAtts)
+
+    AddOperator("DeferExpression")
+    deferAtts = DeferExpressionAttributes()
+    deferAtts.exprs = ("normals")
+    SetOperatorOptions(deferAtts)
+
+    # we want slice before flux, so demote it
+    DemoteOperator(1)
+
+    DrawPlots()
+
+    qt = GetQueryOverTimeAttributes()
+    qt.timeType = qt.Cycle
+    SetQueryOverTimeAttributes(qt)
+
+    QueryOverTime("Weighted Variable Sum")
+
+    SetActiveWindow(2)
+    InitAnnotation()
+    Test("OperatorCreatedVar_01")
+
+    DeleteAllPlots()
+
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    DeleteExpression("normals")
+    CloseDatabase(silo_data_path("wave.visit"))
+
+def TimeQueryMain():
+    TestAllTimeQueries()
+    TestFilledBoundary()
+    TestOperators()
+    TestExpressions()
+    TestTransientVariable()
+    TestSpecifyTimeQueryWindow()
+    TestTimeVaryingSIL()
+    TestQueryAfterQueryOverTime()
+    TestMili()
+    MultiVarTimePick()
+    TestPickRangeTimeQuery()
+    TestReturnValue()
+    TestDirectDatabaseRoute()
+    TestOperatorCreatedVar()
+
+# main
+InitAnnotation()
+SetCurvePlotDefaults()
+TimeQueryMain()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_queryMultiWindow.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_queryMultiWindow.html new file mode 100644 index 000000000..639910341 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_queryMultiWindow.html @@ -0,0 +1,40 @@ + +Results for queries/queryMultiWindow.py + +

Results of VisIt Regression Test - queries/queryMultiWindow

+ + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
QueryMultiWindow0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_queryMultiWindow_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_queryMultiWindow_py.html new file mode 100644 index 000000000..0e4088f4c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_queryMultiWindow_py.html @@ -0,0 +1,154 @@ +queries/queryMultiWindow.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  queryMultiWindow.py #
+#  Tests:      queries     - Database
+#
+#  Defect ID:  none
+#
+#  Programmer: Kathleen Bonnell 
+#  Date:       May 19, 2004 
+#
+#  Modifications:
+#    Kathleen Bonnell, Mon Dec 20 15:54:04 PST 2004
+#    Changed 'Variable by Zone' to 'PickByZone' and 'Variable by Node' to
+#    'PickByNode'.
+#
+#    Kathleen Bonnell, Thu Apr  3 10:00:48 PDT 2008 
+#    Added tests from bug 8425. 
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
+#    Clean up unused / unnecessary query arguments. 
+#
+# ----------------------------------------------------------------------------
+
+def QueryMultiWindow():
+    OpenDatabase(silo_data_path("wave*.silo database"))
+
+    AddPlot("Pseudocolor", "pressure")
+    SetTimeSliderState(31)
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0, -1, 0)
+    v.viewUp = (0, 0, 1)
+    SetView3D(v)
+
+    CloneWindow()
+    SetTimeSliderState(64)
+    DrawPlots()
+    ChangeActivePlotsVar("v")
+
+    s = "Window 1 queries:\n"
+    SetActiveWindow(1)
+    Query("MinMax")
+    s = s + GetQueryOutputString()
+    Query("3D surface area")
+    s = s + GetQueryOutputString() + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString() + "\n"
+    PickByZone(7072)
+    s = s + GetPickOutput() + "\n"
+    PickByNode(11168)
+    s = s + GetPickOutput() + "\n"
+    Query("Variable Sum")
+    s = s + GetQueryOutputString() + "\n"
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n"
+    Query("NumNodes", use_actual_data=0)
+    s = s + GetQueryOutputString() + "\n"
+    Query("NumZones", use_actual_data=0)
+    s = s + GetQueryOutputString() + "\n"
+
+
+    s = s + "\nWindow 2 queries:\n"
+    SetActiveWindow(2)
+    Query("MinMax")
+    s = s + GetQueryOutputString()
+    Query("3D surface area")
+    s = s + GetQueryOutputString() + "\n"
+    Query("Volume")
+    s = s + GetQueryOutputString() + "\n"
+    PickByZone(7072)
+    s = s + GetPickOutput() + "\n"
+    PickByNode(11168)
+    s = s + GetPickOutput() + "\n"
+    Query("Variable Sum")
+    s = s + GetQueryOutputString() + "\n"
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n"
+    Query("NumNodes", use_actual_data=0)
+    s = s + GetQueryOutputString() + "\n"
+    Query("NumZones", use_actual_data=0)
+    s = s + GetQueryOutputString() + "\n"
+
+    #Delete window 2
+    DeleteWindow()
+    #Delete plots in window 1
+    DeleteAllPlots()
+
+    #bug 8425 (multiple windows, same db, same timestate)
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    DefineScalarExpression("X", "coord(quadmesh3d)[0]")
+    DefineScalarExpression("unnamed1", "X-1")
+    DefineScalarExpression("unnamed2", "X-2")
+    DefineScalarExpression("unnamed3", "X-3")
+    SetWindowLayout(4)
+    AddPlot("Pseudocolor", "unnamed1")
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + "\n" + GetQueryOutputString() + "\n"
+    SetActiveWindow(2)
+    AddPlot("Pseudocolor", "unnamed2")
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n"
+    SetActiveWindow(3)
+    AddPlot("Pseudocolor", "unnamed3")
+    DrawPlots()
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n"
+    SetActiveWindow(2)
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n"
+
+    SetActiveWindow(4)
+    DeleteWindow()
+    SetActiveWindow(3)
+    DeleteWindow()
+    SetActiveWindow(2)
+    DeleteWindow()
+    DeleteAllPlots()
+
+    #bug 8425 (multiple plots, same window, same db, same root var)
+    OpenDatabase(silo_data_path("multi_rect2d.silo"))
+
+    DefineScalarExpression("p2", "p*p")
+    DefineScalarExpression("p3", "p*p*p")
+    AddPlot("Pseudocolor", "p")
+    AddPlot("Pseudocolor", "p2")
+    AddPlot("Pseudocolor", "p3")
+    DrawPlots()
+    SetActivePlots(0)
+    Query("Weighted Variable Sum")
+    s = s + "\n" + GetQueryOutputString() + "\n"
+    SetActivePlots(1)
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n"
+    SetActivePlots(2)
+    Query("Weighted Variable Sum")
+    s = s + GetQueryOutputString() + "\n"
+
+    TestText("QueryMultiWindow", s)
+
+    DeleteAllPlots()
+
+# Call the main function
+TurnOnAllAnnotations()
+QueryMultiWindow()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_revolved_surface_area.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_revolved_surface_area.html new file mode 100644 index 000000000..1a596e3ad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_revolved_surface_area.html @@ -0,0 +1,56 @@ + +Results for queries/revolved_surface_area.py + +

Results of VisIt Regression Test - queries/revolved_surface_area

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
revolved_surface_area_010 modifications totalling 0 lines
revolved_surface_area_020 modifications totalling 0 lines
revolved_surface_area_030 modifications totalling 0 lines
revolved_surface_area_040 modifications totalling 0 lines
revolved_surface_area_050 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_revolved_surface_area_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_revolved_surface_area_py.html new file mode 100644 index 000000000..f50fbb437 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_revolved_surface_area_py.html @@ -0,0 +1,85 @@ +queries/revolved_surface_area.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  revolved_surface_area.py
+#  Tests:      queries     - Revolved surface area of 2D plot.
+#
+#  Defect ID:  VisIt00004666, '3260, '3261
+#
+#  Programmer: Hank Childs
+#  Date:       March 30, 2004
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004 
+#    Slice defaults atts have changed, update accordingly. 
+#
+#    Hank Childs, Thu Jan 12 15:57:52 PST 2006
+#    Added additional tests ('3260, '3261).
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+# Test for topological dimension 2.
+TurnOnAllAnnotations()
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+Query("Revolved surface area")
+text = GetQueryOutputString()
+TestText("revolved_surface_area_01", text)
+
+
+# Test with isosurface operator.
+DeleteAllPlots()
+AddPlot("Pseudocolor", "d")
+AddOperator("Isosurface")
+iso_atts = IsosurfaceAttributes();
+iso_atts.contourValue = (.25)
+iso_atts.contourMethod = iso_atts.Value
+SetOperatorOptions(iso_atts)
+DrawPlots()
+
+Query("Revolved surface area")
+text = GetQueryOutputString()
+TestText("revolved_surface_area_02", text)
+
+
+# Test for boundary plot.
+DeleteAllPlots()
+AddPlot("Boundary", "mat1")
+DrawPlots()
+
+Query("Revolved surface area")
+text = GetQueryOutputString()
+TestText("revolved_surface_area_03", text)
+
+
+# Test with 3D, isosurface, slice.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Isosurface")
+SetOperatorOptions(iso_atts)
+AddOperator("Slice")
+s = SliceAttributes()
+s.originIntercept = 0.5
+s.axisType = s.YAxis
+SetOperatorOptions(s)
+DrawPlots()
+
+Query("Revolved surface area")
+text = GetQueryOutputString()
+TestText("revolved_surface_area_04", text)
+
+RemoveLastOperator()
+Query("Revolved surface area")
+text = GetLastError()
+TestText("revolved_surface_area_05", text)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_scf.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_scf.html new file mode 100644 index 000000000..7e44736eb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_scf.html @@ -0,0 +1,96 @@ + +Results for queries/scf.py + +

Results of VisIt Regression Test - queries/scf

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
scf_010 modifications totalling 0 lines
scf_01_obj0 modifications totalling 0 lines
scf_01_default_txt0 modifications totalling 0 lines
scf_01_default_obj0 modifications totalling 0 lines
scf_01_override_txt0 modifications totalling 0 lines
scf_01_override_obj0 modifications totalling 0 lines
scf_020 modifications totalling 0 lines
scf_030.000.00
scf_03_override0.000.00
scf_050 modifications totalling 0 lines
scf_05_obj0 modifications totalling 0 lines
scf_05_override_txt0 modifications totalling 0 lines
scf_05_override_obj0 modifications totalling 0 lines
scf_070 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_scf_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_scf_py.html new file mode 100644 index 000000000..4462b4633 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_scf_py.html @@ -0,0 +1,150 @@ +queries/scf.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  scf.py
+#  Tests:      queries     - spherical compactness factor
+#
+#  Defect ID:  VisIt00006385
+#
+#  Programmer: Hank Childs
+#  Date:       July 14, 2005
+#
+#  Modifications:
+#    Mark C. Miller, Fri Nov 17 22:03:34 PST 2006
+#    Accounted for fact that threshold operator no longer has a default var
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
+#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
+#    behavior when an operator is added.
+#
+#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
+#    Use named arguments. 
+#
+#    Cyrus Harrison, Wed Jul 16 15:58:54 PDT 2014
+#    Added test cases to exercise centroid override
+#
+#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
+#    Turn off cycling of colors for all Curve plot tests.  Set the colors
+#    individually to match current baseline results.
+#
+# ----------------------------------------------------------------------------
+import json
+
+# Turn off all annotation
+a = AnnotationAttributes()
+TurnOffAllAnnotations(a)
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Isovolume")
+iso_atts = IsovolumeAttributes()
+iso_atts.ubound = 0.7
+SetOperatorOptions(iso_atts)
+DrawPlots()
+
+Query("Spherical Compactness Factor")
+text = GetQueryOutputString()
+TestText("scf_01", text)
+
+res = GetQueryOutputObject()
+TestText("scf_01_obj", json.dumps(res,indent=2))
+
+Query("Spherical Compactness Factor",centroid="default")
+text = GetQueryOutputString()
+TestText("scf_01_default_txt", text)
+
+res = GetQueryOutputObject()
+TestText("scf_01_default_obj", json.dumps(res,indent=2))
+
+Query("Spherical Compactness Factor",centroid=[1.0,0.0,0.0])
+text = GetQueryOutputString()
+TestText("scf_01_override_txt", text)
+
+res = GetQueryOutputObject()
+TestText("scf_01_override_obj", json.dumps(res,indent=2))
+
+
+AddOperator("Revolve")
+DrawPlots()
+Query("Spherical Compactness Factor")
+text = GetQueryOutputString()
+TestText("scf_02", text)
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("wave.visit"))
+
+AddPlot("Pseudocolor", "pressure")
+DrawPlots()
+
+c = CurveAttributes()
+c.curveColorSource = c.Custom
+c.curveColor = (255, 0, 0, 255)
+SetDefaultPlotOptions(c)
+
+QueryOverTime("Spherical Compactness Factor", stride=10)
+
+c = CurveAttributes()
+c.curveColorSource = c.Custom
+c.curveColor = (255, 0, 0, 255)
+SetDefaultPlotOptions(c)
+
+SetActiveWindow(2)
+SetAnnotationAttributes(a)
+Test("scf_03")
+
+c.curveColor = (0, 255, 0, 255)
+SetDefaultPlotOptions(c)
+
+SetActiveWindow(1)
+QueryOverTime("Spherical Compactness Factor", stride=10,centroid=[1.0,0.0,0.0])
+
+SetActiveWindow(2)
+SetAnnotationAttributes(a)
+Test("scf_03_override")
+
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+i = ThresholdAttributes()
+i.lowerBounds = (0.0)
+i.upperBounds = (0.5)
+i.listedVarNames = ("d")
+SetDefaultOperatorOptions(i)
+AddOperator("Threshold")
+DrawPlots()
+# Don't test localized compactness factor until radii is sorted out.
+#Query("Localized Compactness Factor")
+#t = GetQueryOutputString()
+#TestText("scf_04", t)
+Query("Elliptical Compactness Factor")
+t = GetQueryOutputString()
+TestText("scf_05", t)
+
+res = GetQueryOutputObject()
+TestText("scf_05_obj", json.dumps(res,indent=2))
+
+Query("Elliptical Compactness Factor",centroid=[1.0,0.0,0.0])
+text = GetQueryOutputString()
+TestText("scf_05_override_txt", text)
+
+res = GetQueryOutputObject()
+TestText("scf_05_override_obj", json.dumps(res,indent=2))
+
+AddOperator("Revolve")
+DrawPlots()
+#Query("Localized Compactness Factor")
+#t = GetQueryOutputString()
+#TestText("scf_06", t)
+Query("Elliptical Compactness Factor")
+t = GetQueryOutputString()
+TestText("scf_07", t)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_surface_area_over_time.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_surface_area_over_time.html new file mode 100644 index 000000000..2bce5f75a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_surface_area_over_time.html @@ -0,0 +1,66 @@ + +Results for queries/surface_area_over_time.py + +

Results of VisIt Regression Test - queries/surface_area_over_time

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
SA_OverTime_00000.000.00
SA_OverTime_00010.000.00
SA_OverTime_00020.000.00
SA_OverTime_00030.000.00
SA_OverTime_00040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_surface_area_over_time_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_surface_area_over_time_py.html new file mode 100644 index 000000000..f0281ea21 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_surface_area_over_time_py.html @@ -0,0 +1,144 @@ +queries/surface_area_over_time.py
# ---------------------------------------------------------------------------- 
+#  CLASSES: nightly
+#
+#  Test Case:  surface_area_over_time.py
+#  Tests:      queries     - surface area over time
+#
+#
+#  Programmer: Cyrus Harrison
+#  Date:       Fri May 19 10:04:46 PDT 2017
+#
+#  Modifications:
+#    Kathleen Biagas, Tue Sep 22 13:24:42 PDT 2020
+#    Use custom color for curves, as the color-cycling is non-deterministic
+#    across runs.
+#
+# ----------------------------------------------------------------------------
+
+from visit_utils import *
+
+
+def query_sa_stepwise(s, nts, qname):
+    c_vals = []
+    s_vals = []
+    for ts in range(s, nts):
+        TimeSliderSetState(ts)
+        c_vals.append(query("Cycle"))
+        s_vals.append(query(qname))
+    f = open("_out_query_sa_stepwise.ult","w")
+    f.write("# sa vs cycle\n")
+    for i in range(len(c_vals)):
+        f.write("%s %s\n" % (c_vals[i],s_vals[i]))
+    f.close()
+
+def query_sa_q_over_time(s, nts, qname):
+    TimeSliderSetState(0)
+    QueryOverTime(qname, start_time=s, end_time=nts-1, stride=1)
+
+
+def setup_PC_Iso_plot():
+    SetActiveWindow(1)
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "pressure")
+    AddOperator("Isosurface")
+    DrawPlots()
+
+def setup_boundary_plot():
+    SetActiveWindow(1)
+    DeleteAllPlots()
+    AddPlot("Boundary", "Material")
+    DrawPlots()
+
+def setup_data_binning():
+    SetActiveWindow(1)
+    DeleteAllPlots()
+
+    # We *Should* be using data binning like this, but there is 
+    # a bug with query-over-time, so we add the operator separately.
+    #AddPlot("Pseudocolor", "operators/DataBinning/2D/quadmesh")
+
+    AddPlot("Pseudocolor", "pressure")
+    AddOperator("DataBinning")
+    DataBinningAtts = DataBinningAttributes()
+    DataBinningAtts.numDimensions = DataBinningAtts.Two
+    DataBinningAtts.dim1BinBasedOn = DataBinningAtts.X
+    DataBinningAtts.dim2BinBasedOn = DataBinningAtts.Y
+    DataBinningAtts.reductionOperator = DataBinningAtts.Maximum
+    DataBinningAtts.varForReduction = "pressure"
+    SetOperatorOptions(DataBinningAtts, 1)
+
+    DrawPlots()
+
+
+def run_queries(s, numSteps, qname = "3D Surface area"):
+    query_sa_stepwise(s, numSteps, qname)
+    query_sa_q_over_time(s, numSteps, qname)
+    SetActiveWindow(2)
+    ca1 = CurveAttributes(1)
+    ca1.curveColorSource = ca1.Custom
+    ca1.curveColor=(255, 0, 0)
+    SetPlotOptions(ca1)
+    OpenDatabase("_out_query_sa_stepwise.ult")
+    AddPlot("Curve","sa vs cycle")
+    DrawPlots()
+    ca2 = CurveAttributes(1)
+    ca2.curveColorSource = ca2.Custom
+    ca2.curveColor=(0, 255, 0)
+    SetPlotOptions(ca2)
+
+
+def open_db():
+    OpenDatabase(silo_data_path("wave.visit"))
+
+def clear_qot():
+    SetActiveWindow(2)
+    DeleteAllPlots()
+    CloseDatabase("_out_query_sa_stepwise.ult")
+    SetActiveWindow(1)
+    TurnMaterialsOn()
+
+def main():
+    open_db()
+    setup_PC_Iso_plot()
+    numSteps = TimeSliderGetNStates()
+    run_queries(0, numSteps)
+
+    Test("SA_OverTime_0000")
+
+    clear_qot()
+
+    setup_boundary_plot()
+    run_queries(0, numSteps)
+    Test("SA_OverTime_0001")
+
+    clear_qot()
+
+    numSteps = 45
+    m2 = "2 water"
+    m1 = "1 barrier"
+    TurnMaterialsOff(m2)
+    run_queries(0, numSteps)
+    Test("SA_OverTime_0002")
+
+    clear_qot()
+
+    TimeSliderSetState(1)
+    TurnMaterialsOff(m1)
+    run_queries(1, numSteps)
+    Test("SA_OverTime_0003")
+
+
+    clear_qot()
+
+    setup_data_binning()
+    numSteps = TimeSliderGetNStates()
+    run_queries(0, numSteps, "2D area")
+    Test("SA_OverTime_0004")
+
+
+
+# Call the main function
+TurnOnAllAnnotations()
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_variable_sum_volume.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_variable_sum_volume.html new file mode 100644 index 000000000..fa0769080 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_variable_sum_volume.html @@ -0,0 +1,68 @@ + +Results for queries/variable_sum_volume.py + +

Results of VisIt Regression Test - queries/variable_sum_volume

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
mat_10 modifications totalling 0 lines
mat_40 modifications totalling 0 lines
mat_90 modifications totalling 0 lines
mat_140 modifications totalling 0 lines
mat_190 modifications totalling 0 lines
mat_490 modifications totalling 0 lines
mat_1490 modifications totalling 0 lines
vws_mult_dim0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_variable_sum_volume_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_variable_sum_volume_py.html new file mode 100644 index 000000000..c432ef05a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_variable_sum_volume_py.html @@ -0,0 +1,69 @@ +queries/variable_sum_volume.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  volume.py
+#  Tests:      queries     - volumes of various material selected regions
+#                          - weighted volume of dataset with cells of different
+#                               dimension.
+#
+#  Programmer: Eddie Rusu
+#  Date:       January 14, 2020
+# ----------------------------------------------------------------------------
+
+OpenDatabase(data_path("silo_pdb_test_data/ucd3d.silo"))
+AddPlot("Pseudocolor", "mesh_quality/ucdmesh3d/volume", 1, 1)
+DrawPlots()
+
+SetQueryFloatFormat("%g")
+# Material 1
+TurnMaterialsOff(("4", "9"))
+text = Query("Variable Sum")
+TestText("mat_1", text)
+
+# Material 4
+TurnMaterialsOff("1")
+TurnMaterialsOn("4")
+text = Query("Variable Sum")
+TestText("mat_4", text)
+
+# Material 9
+TurnMaterialsOff("4")
+TurnMaterialsOn("9")
+text = Query("Variable Sum")
+TestText("mat_9", text)
+
+# Material 14
+TurnMaterialsOff("9")
+TurnMaterialsOn(("1", "4"))
+text = Query("Variable Sum")
+TestText("mat_14", text)
+
+# Material 19
+TurnMaterialsOff("4")
+TurnMaterialsOn("9")
+text = Query("Variable Sum")
+TestText("mat_19", text)
+
+# Material 49
+TurnMaterialsOff("1")
+TurnMaterialsOn("4")
+text = Query("Variable Sum")
+TestText("mat_49", text)
+
+# Material 149
+TurnMaterialsOn()
+text = Query("Variable Sum")
+TestText("mat_149", text)
+
+DeleteAllPlots()
+CloseDatabase(data_path("silo_pdb_test_data/ucd3d.silo"))
+
+# Weighted volume query on cells of different dimension
+OpenDatabase(data_path("silo_pdb_test_data/multi_dim_cells.silo"))
+AddPlot("Pseudocolor", "coordx", 1, 1)
+DrawPlots()
+text = Query("Weighted Variable Sum")
+TestText("vws_mult_dim", text)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_watertight.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_watertight.html new file mode 100644 index 000000000..fd0c5ed86 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_watertight.html @@ -0,0 +1,44 @@ + +Results for queries/watertight.py + +

Results of VisIt Regression Test - queries/watertight

+ + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
watertight_010 modifications totalling 0 lines
watertight_020 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_watertight_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_watertight_py.html new file mode 100644 index 000000000..1239faf4b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_watertight_py.html @@ -0,0 +1,40 @@ +queries/watertight.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  watertight.py
+#  Tests:      queries     - watertight 
+#
+#  Defect ID:  VisIt00006632
+#
+#  Programmer: Hank Childs
+#  Date:       September 23, 2005
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+AddOperator("Isosurface")
+i = IsosurfaceAttributes()
+i.contourMethod = i.Value
+i.contourValue = 0.48
+SetOperatorOptions(i)
+DrawPlots()
+
+Query("Watertight")
+text = GetQueryOutputString()
+TestText("watertight_01", text)
+
+i.contourValue = 0.5
+SetOperatorOptions(i)
+Query("Watertight")
+text = GetQueryOutputString()
+TestText("watertight_02", text)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_xrayimage.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_xrayimage.html new file mode 100644 index 000000000..5169a05c3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_xrayimage.html @@ -0,0 +1,1870 @@ + +Results for queries/xrayimage.py + +

Results of VisIt Regression Test - queries/xrayimage

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
xrayimage000.000.00
xrayimage010 modifications totalling 0 lines
xrayimage020.000.00
xrayimage030.000.00
xrayimage040 modifications totalling 0 lines
xrayimage050.000.00
xrayimage060 modifications totalling 0 lines
xrayimage070.000.00
xrayimage080 modifications totalling 0 lines
xrayimage090.000.00
xrayimage100 modifications totalling 0 lines
xrayimage110.000.00
xrayimage120 modifications totalling 0 lines
xrayimage130.000.00
xrayimage140 modifications totalling 0 lines
xrayimage150.000.00
xrayimage160 modifications totalling 0 lines
xrayimage170.000.00
xrayimage180 modifications totalling 0 lines
xrayimage190.000.00
xrayimage200 modifications totalling 0 lines
xrayimage210.000.00
xrayimage220 modifications totalling 0 lines
xrayimage230.000.00
xrayimage240 modifications totalling 0 lines
xrayimage250.000.00
xrayimage260 modifications totalling 0 lines
xrayimage270.000.00
xrayimage280.000.00
xrayimage290 modifications totalling 0 lines
xrayimage300.000.00
xrayimage310 modifications totalling 0 lines
xrayimage320 modifications totalling 0 lines
Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy0.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy_slice00.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy_slice10.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy_slice20.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy0.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy_slice00.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy_slice10.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy_slice20.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy0.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy_slice00.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy_slice10.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy_slice20.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy0.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy_slice00.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy_slice10.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy_slice20.000.00
Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_intensities_legacy0.000.00
Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_path_length_legacy0.000.00
Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy0.000.00
Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy0.000.00
xrayimage330 modifications totalling 0 lines
Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern0.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern_slice00.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern_slice10.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern_slice20.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern0.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern_slice00.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern_slice10.000.00
Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern_slice20.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern0.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern_slice00.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern_slice10.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern_slice20.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern0.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern_slice00.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern_slice10.000.00
Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern_slice20.000.00
Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_intensities_modern0.000.00
Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_path_length_modern0.000.00
Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern0.000.00
Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern0.000.00
Blueprint_HDF5_X_Ray_Output1_Time
 4.8 .eq. 4.8 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_Cycle
 48 .eq. 48 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_xray_view
 "" .eq. "" : True
Blueprint_HDF5_X_Ray_Output1_xray_query
 "" .eq. "" : True
Blueprint_HDF5_X_Ray_Output1_xray_data
 "" .eq. "" : True
Blueprint_HDF5_X_Ray_Output1_IntensityUnits
 "intensity units" .eq. "intensity units" : True
Blueprint_HDF5_X_Ray_Output1_PathLengthUnits
 "path length metadata" .eq. "path length metadata" : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents0
 [0.0, 0.0] .eq. [0.0, 0.0]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents1
 [0.05, 0.05] .eq. [0.05, 0.05]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents2
 [0.1, 0.1] .eq. [0.1, 0.1]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents3
 [15.0, 10.0] .eq. [15.0, 10.0]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupBounds
 [0. 2. 6. 8.] .eq. [0, 2, 6, 8]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_spatial_units
 "False" .eq. "False" : True
Blueprint_HDF5_X_Ray_Output1_data_XLabels
 "width" .eq. "width" : True
Blueprint_HDF5_X_Ray_Output1_data_YLabels
 "height" .eq. "height" : True
Blueprint_HDF5_X_Ray_Output1_data_ZLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_HDF5_X_Ray_Output1_data_ser_XLabels
 "width" .eq. "width" : True
Blueprint_HDF5_X_Ray_Output1_data_ser_YLabels
 "height" .eq. "height" : True
Blueprint_HDF5_X_Ray_Output1_data_spectra_XLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_HDF5_X_Ray_Output1_Time
 4.8 .eq. 4.8 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_Cycle
 48 .eq. 48 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_xray_view
 "" .eq. "" : True
Blueprint_HDF5_X_Ray_Output1_xray_query
 "" .eq. "" : True
Blueprint_HDF5_X_Ray_Output1_xray_data
 "" .eq. "" : True
Blueprint_HDF5_X_Ray_Output1_IntensityUnits
 "no units provided" .eq. "no units provided" : True
Blueprint_HDF5_X_Ray_Output1_PathLengthUnits
 "no info provided" .eq. "no info provided" : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents0
 [0.0, 0.0] .eq. [0.0, 0.0]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents1
 [0.05, 0.05] .eq. [0.05, 0.05]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents2
 [0.1, 0.1] .eq. [0.1, 0.1]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents3
 [15.0, 10.0] .eq. [15.0, 10.0]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupInfo
 "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." .eq. "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." : True
Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupBounds
 [0.0, 1.0] .eq. [0, 1]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_spatial_units
 "False" .eq. "False" : True
Blueprint_HDF5_X_Ray_Output1_data_XLabels
 "width" .eq. "width" : True
Blueprint_HDF5_X_Ray_Output1_data_YLabels
 "height" .eq. "height" : True
Blueprint_HDF5_X_Ray_Output1_data_ZLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_HDF5_X_Ray_Output1_data_ser_XLabels
 "width" .eq. "width" : True
Blueprint_HDF5_X_Ray_Output1_data_ser_YLabels
 "height" .eq. "height" : True
Blueprint_HDF5_X_Ray_Output1_data_spectra_XLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_HDF5_X_Ray_Output1_Time
 4.8 .eq. 4.8 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_Cycle
 48 .eq. 48 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_xray_view
 "" .eq. "" : True
Blueprint_HDF5_X_Ray_Output1_xray_query
 "" .eq. "" : True
Blueprint_HDF5_X_Ray_Output1_xray_data
 "" .eq. "" : True
Blueprint_HDF5_X_Ray_Output1_IntensityUnits
 "no units provided" .eq. "no units provided" : True
Blueprint_HDF5_X_Ray_Output1_PathLengthUnits
 "no info provided" .eq. "no info provided" : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents0
 [0.0, 0.0] .eq. [0.0, 0.0]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents1
 [0.05, 0.05] .eq. [0.05, 0.05]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents2
 [0.1, 0.1] .eq. [0.1, 0.1]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents3
 [15.0, 10.0] .eq. [15.0, 10.0]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupInfo
 "Energy group bounds not provided." .eq. "Energy group bounds not provided." : True
Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupBounds
 [0.0, 1.0] .eq. [0, 1]
 (prec=5) : True
Blueprint_HDF5_X_Ray_Output1_spatial_units
 "False" .eq. "False" : True
Blueprint_HDF5_X_Ray_Output1_data_XLabels
 "width" .eq. "width" : True
Blueprint_HDF5_X_Ray_Output1_data_YLabels
 "height" .eq. "height" : True
Blueprint_HDF5_X_Ray_Output1_data_ZLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_HDF5_X_Ray_Output1_data_ser_XLabels
 "width" .eq. "width" : True
Blueprint_HDF5_X_Ray_Output1_data_ser_YLabels
 "height" .eq. "height" : True
Blueprint_HDF5_X_Ray_Output1_data_spectra_XLabels
 "energy_group" .eq. "energy_group" : True
xrayimage340 modifications totalling 0 lines
Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy0.000.00
Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy_slice00.000.00
Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy_slice10.000.00
Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy_slice20.000.00
Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy0.000.00
Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy_slice00.000.00
Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy_slice10.000.00
Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy_slice20.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy0.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy_slice00.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy_slice10.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy_slice20.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy0.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy_slice00.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy_slice10.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy_slice20.000.00
Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_intensities_legacy0.000.00
Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_path_length_legacy0.000.00
Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy0.000.00
Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy0.000.00
xrayimage350 modifications totalling 0 lines
Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern0.000.00
Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern_slice00.000.00
Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern_slice10.000.00
Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern_slice20.000.00
Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern0.000.00
Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern_slice00.000.00
Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern_slice10.000.00
Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern_slice20.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern0.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern_slice00.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern_slice10.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern_slice20.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern0.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern_slice00.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern_slice10.000.00
Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern_slice20.000.00
Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_intensities_modern0.000.00
Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_path_length_modern0.000.00
Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern0.000.00
Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern0.000.00
Blueprint_JSON_X_Ray_Output1_Time
 4.8 .eq. 4.8 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_Cycle
 48 .eq. 48 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_xray_view
 "" .eq. "" : True
Blueprint_JSON_X_Ray_Output1_xray_query
 "" .eq. "" : True
Blueprint_JSON_X_Ray_Output1_xray_data
 "" .eq. "" : True
Blueprint_JSON_X_Ray_Output1_IntensityUnits
 "intensity units" .eq. "intensity units" : True
Blueprint_JSON_X_Ray_Output1_PathLengthUnits
 "path length metadata" .eq. "path length metadata" : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents0
 [0.0, 0.0] .eq. [0.0, 0.0]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents1
 [0.05, 0.05] .eq. [0.05, 0.05]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents2
 [0.1, 0.1] .eq. [0.1, 0.1]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents3
 [15.0, 10.0] .eq. [15.0, 10.0]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_EnergyGroupBounds
 [0. 2. 6. 8.] .eq. [0, 2, 6, 8]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_spatial_units
 "False" .eq. "False" : True
Blueprint_JSON_X_Ray_Output1_data_XLabels
 "width" .eq. "width" : True
Blueprint_JSON_X_Ray_Output1_data_YLabels
 "height" .eq. "height" : True
Blueprint_JSON_X_Ray_Output1_data_ZLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_JSON_X_Ray_Output1_data_ser_XLabels
 "width" .eq. "width" : True
Blueprint_JSON_X_Ray_Output1_data_ser_YLabels
 "height" .eq. "height" : True
Blueprint_JSON_X_Ray_Output1_data_spectra_XLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_JSON_X_Ray_Output1_Time
 4.8 .eq. 4.8 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_Cycle
 48 .eq. 48 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_xray_view
 "" .eq. "" : True
Blueprint_JSON_X_Ray_Output1_xray_query
 "" .eq. "" : True
Blueprint_JSON_X_Ray_Output1_xray_data
 "" .eq. "" : True
Blueprint_JSON_X_Ray_Output1_IntensityUnits
 "no units provided" .eq. "no units provided" : True
Blueprint_JSON_X_Ray_Output1_PathLengthUnits
 "no info provided" .eq. "no info provided" : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents0
 [0.0, 0.0] .eq. [0.0, 0.0]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents1
 [0.05, 0.05] .eq. [0.05, 0.05]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents2
 [0.1, 0.1] .eq. [0.1, 0.1]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents3
 [15.0, 10.0] .eq. [15.0, 10.0]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_EnergyGroupInfo
 "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." .eq. "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." : True
Blueprint_JSON_X_Ray_Output1_data_EnergyGroupBounds
 [0.0, 1.0] .eq. [0, 1]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_spatial_units
 "False" .eq. "False" : True
Blueprint_JSON_X_Ray_Output1_data_XLabels
 "width" .eq. "width" : True
Blueprint_JSON_X_Ray_Output1_data_YLabels
 "height" .eq. "height" : True
Blueprint_JSON_X_Ray_Output1_data_ZLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_JSON_X_Ray_Output1_data_ser_XLabels
 "width" .eq. "width" : True
Blueprint_JSON_X_Ray_Output1_data_ser_YLabels
 "height" .eq. "height" : True
Blueprint_JSON_X_Ray_Output1_data_spectra_XLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_JSON_X_Ray_Output1_Time
 4.8 .eq. 4.8 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_Cycle
 48 .eq. 48 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_xray_view
 "" .eq. "" : True
Blueprint_JSON_X_Ray_Output1_xray_query
 "" .eq. "" : True
Blueprint_JSON_X_Ray_Output1_xray_data
 "" .eq. "" : True
Blueprint_JSON_X_Ray_Output1_IntensityUnits
 "no units provided" .eq. "no units provided" : True
Blueprint_JSON_X_Ray_Output1_PathLengthUnits
 "no info provided" .eq. "no info provided" : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents0
 [0.0, 0.0] .eq. [0.0, 0.0]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents1
 [0.05, 0.05] .eq. [0.05, 0.05]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents2
 [0.1, 0.1] .eq. [0.1, 0.1]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_SpatialExtents3
 [15.0, 10.0] .eq. [15.0, 10.0]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_data_EnergyGroupInfo
 "Energy group bounds not provided." .eq. "Energy group bounds not provided." : True
Blueprint_JSON_X_Ray_Output1_data_EnergyGroupBounds
 [0.0, 1.0] .eq. [0, 1]
 (prec=5) : True
Blueprint_JSON_X_Ray_Output1_spatial_units
 "False" .eq. "False" : True
Blueprint_JSON_X_Ray_Output1_data_XLabels
 "width" .eq. "width" : True
Blueprint_JSON_X_Ray_Output1_data_YLabels
 "height" .eq. "height" : True
Blueprint_JSON_X_Ray_Output1_data_ZLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_JSON_X_Ray_Output1_data_ser_XLabels
 "width" .eq. "width" : True
Blueprint_JSON_X_Ray_Output1_data_ser_YLabels
 "height" .eq. "height" : True
Blueprint_JSON_X_Ray_Output1_data_spectra_XLabels
 "energy_group" .eq. "energy_group" : True
xrayimage360 modifications totalling 0 lines
Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy0.000.00
Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy_slice00.000.00
Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy_slice10.000.00
Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy_slice20.000.00
Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy0.000.00
Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy_slice00.000.00
Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy_slice10.000.00
Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy_slice20.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy0.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy_slice00.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy_slice10.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy_slice20.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy0.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy_slice00.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy_slice10.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy_slice20.000.00
Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_intensities_legacy0.000.00
Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_path_length_legacy0.000.00
Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy0.000.00
Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy0.000.00
xrayimage370 modifications totalling 0 lines
Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern0.000.00
Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern_slice00.000.00
Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern_slice10.000.00
Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern_slice20.000.00
Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern0.000.00
Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern_slice00.000.00
Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern_slice10.000.00
Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern_slice20.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern0.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern_slice00.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern_slice10.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern_slice20.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern0.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern_slice00.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern_slice10.000.00
Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern_slice20.000.00
Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_intensities_modern0.000.00
Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_path_length_modern0.000.00
Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern0.000.00
Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern0.000.00
Blueprint_YAML_X_Ray_Output1_Time
 4.8 .eq. 4.8 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_Cycle
 48 .eq. 48 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_xray_view
 "" .eq. "" : True
Blueprint_YAML_X_Ray_Output1_xray_query
 "" .eq. "" : True
Blueprint_YAML_X_Ray_Output1_xray_data
 "" .eq. "" : True
Blueprint_YAML_X_Ray_Output1_IntensityUnits
 "intensity units" .eq. "intensity units" : True
Blueprint_YAML_X_Ray_Output1_PathLengthUnits
 "path length metadata" .eq. "path length metadata" : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents0
 [0.0, 0.0] .eq. [0.0, 0.0]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents1
 [0.05, 0.05] .eq. [0.05, 0.05]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents2
 [0.1, 0.1] .eq. [0.1, 0.1]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents3
 [15.0, 10.0] .eq. [15.0, 10.0]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_EnergyGroupBounds
 [0. 2. 6. 8.] .eq. [0, 2, 6, 8]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_spatial_units
 "False" .eq. "False" : True
Blueprint_YAML_X_Ray_Output1_data_XLabels
 "width" .eq. "width" : True
Blueprint_YAML_X_Ray_Output1_data_YLabels
 "height" .eq. "height" : True
Blueprint_YAML_X_Ray_Output1_data_ZLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_YAML_X_Ray_Output1_data_ser_XLabels
 "width" .eq. "width" : True
Blueprint_YAML_X_Ray_Output1_data_ser_YLabels
 "height" .eq. "height" : True
Blueprint_YAML_X_Ray_Output1_data_spectra_XLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_YAML_X_Ray_Output1_Time
 4.8 .eq. 4.8 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_Cycle
 48 .eq. 48 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_xray_view
 "" .eq. "" : True
Blueprint_YAML_X_Ray_Output1_xray_query
 "" .eq. "" : True
Blueprint_YAML_X_Ray_Output1_xray_data
 "" .eq. "" : True
Blueprint_YAML_X_Ray_Output1_IntensityUnits
 "no units provided" .eq. "no units provided" : True
Blueprint_YAML_X_Ray_Output1_PathLengthUnits
 "no info provided" .eq. "no info provided" : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents0
 [0.0, 0.0] .eq. [0.0, 0.0]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents1
 [0.05, 0.05] .eq. [0.05, 0.05]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents2
 [0.1, 0.1] .eq. [0.1, 0.1]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents3
 [15.0, 10.0] .eq. [15.0, 10.0]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_EnergyGroupInfo
 "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." .eq. "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." : True
Blueprint_YAML_X_Ray_Output1_data_EnergyGroupBounds
 [0.0, 1.0] .eq. [0, 1]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_spatial_units
 "False" .eq. "False" : True
Blueprint_YAML_X_Ray_Output1_data_XLabels
 "width" .eq. "width" : True
Blueprint_YAML_X_Ray_Output1_data_YLabels
 "height" .eq. "height" : True
Blueprint_YAML_X_Ray_Output1_data_ZLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_YAML_X_Ray_Output1_data_ser_XLabels
 "width" .eq. "width" : True
Blueprint_YAML_X_Ray_Output1_data_ser_YLabels
 "height" .eq. "height" : True
Blueprint_YAML_X_Ray_Output1_data_spectra_XLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_YAML_X_Ray_Output1_Time
 4.8 .eq. 4.8 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_Cycle
 48 .eq. 48 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_xray_view
 "" .eq. "" : True
Blueprint_YAML_X_Ray_Output1_xray_query
 "" .eq. "" : True
Blueprint_YAML_X_Ray_Output1_xray_data
 "" .eq. "" : True
Blueprint_YAML_X_Ray_Output1_IntensityUnits
 "no units provided" .eq. "no units provided" : True
Blueprint_YAML_X_Ray_Output1_PathLengthUnits
 "no info provided" .eq. "no info provided" : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents0
 [0.0, 0.0] .eq. [0.0, 0.0]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents1
 [0.05, 0.05] .eq. [0.05, 0.05]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents2
 [0.1, 0.1] .eq. [0.1, 0.1]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_SpatialExtents3
 [15.0, 10.0] .eq. [15.0, 10.0]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_data_EnergyGroupInfo
 "Energy group bounds not provided." .eq. "Energy group bounds not provided." : True
Blueprint_YAML_X_Ray_Output1_data_EnergyGroupBounds
 [0.0, 1.0] .eq. [0, 1]
 (prec=5) : True
Blueprint_YAML_X_Ray_Output1_spatial_units
 "False" .eq. "False" : True
Blueprint_YAML_X_Ray_Output1_data_XLabels
 "width" .eq. "width" : True
Blueprint_YAML_X_Ray_Output1_data_YLabels
 "height" .eq. "height" : True
Blueprint_YAML_X_Ray_Output1_data_ZLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_YAML_X_Ray_Output1_data_ser_XLabels
 "width" .eq. "width" : True
Blueprint_YAML_X_Ray_Output1_data_ser_YLabels
 "height" .eq. "height" : True
Blueprint_YAML_X_Ray_Output1_data_spectra_XLabels
 "energy_group" .eq. "energy_group" : True
Blueprint_Positive_Detector_width
 22.393226323783825 .eq. 22.3932263237838 (prec=5) : True
Blueprint_Positive_Detector_height
 16.79491924231027 .eq. 16.7949192423103 (prec=5) : True
Blueprint_HDF5_Imaging_Planes00.000.00
Blueprint_HDF5_Imaging_Planes10.000.00
NonSquare_Pixels_Ray_trace_setup_10.000.00
NonSquare_Pixels_Ray_trace_setup_20.000.00
NonSquare_Pixels_Ray_trace_setup_30.000.00
NonSquare_Pixels_Ray_trace_setup_40.000.00
NonSquare_Pixels_Ray_trace_setup_50.000.00
NonSquare_Pixels_Ray_trace_setup_60.000.00
NonSquare_Pixels_Ray_trace_setup_70.000.00
NonSquare_Pixels_Ray_trace_setup_80.000.00
NonSquare_Pixels_hi_res_images10.000.00
NonSquare_Pixels_hi_res_images20.000.00
NonSquare_Pixels_hi_res_images30.000.00
NonSquare_Pixels_hi_res_images40.000.00
NonSquare_Pixels_hi_res_images50.000.00
NonSquare_Pixels_hi_res_images60.000.00
NonSquare_Pixels_hi_res_images70.000.00
NonSquare_Pixels_hi_res_images80.000.00
NonSquare_Pixels_low_res_mesh_plots10.000.00
NonSquare_Pixels_low_res_mesh_plots20.000.00
NonSquare_Pixels_low_res_mesh_plots30.000.00
NonSquare_Pixels_low_res_mesh_plots40.000.00
NonSquare_Pixels_low_res_mesh_plots50.000.00
NonSquare_Pixels_low_res_mesh_plots60.000.00
NonSquare_Pixels_low_res_mesh_plots70.000.00
NonSquare_Pixels_low_res_mesh_plots80.000.00
xrayimage38
 "None" .eq. "None" : True
xrayimage39
 "None" .eq. "None" : True
Test_filenames_for_jpeg_outputs0 modifications totalling 0 lines
Test_filenames_for_png_outputs0 modifications totalling 0 lines
Test_filenames_for_tif_outputs0 modifications totalling 0 lines
Test_filenames_for_bof_outputs0 modifications totalling 0 lines
Test_filenames_for_bov_outputs0 modifications totalling 0 lines
Test_filenames_for_json_outputs0 modifications totalling 0 lines
Test_filenames_for_hdf5_outputs0 modifications totalling 0 lines
Test_filenames_for_yaml_outputs0 modifications totalling 0 lines
Test_filenames_for_family0_outputs0 modifications totalling 0 lines
Test_filenames_for_family1_outputs0 modifications totalling 0 lines
detect and warn numpy array as query param
 "True" .eq. "True" : True
numpy array converted to list works as query param
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/queries_xrayimage_py.html b/2023-11-08-22:00/pascal_trunk_parallel/queries_xrayimage_py.html new file mode 100644 index 000000000..6ebe2124e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/queries_xrayimage_py.html @@ -0,0 +1,1337 @@ +queries/xrayimage.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  xrayimage.py
+#  Tests:      queries     - xray imagel
+#
+#  Programmer: Eric Brugger
+#  Date:       July 13, 2010
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Jul 14 10:44:55 PDT 2011
+#    Change most of code to use python dictionary to pass query parameters.
+#    First call to 'Query' still tests old-style argument passing.
+#    Second call to 'Query' creates a Python dictionary from scratch and
+#    uses that.  Prior to third call to Query, retrieve default dictionary via
+#    GetQueryParameters.  All subsequent calls to Query modify that dictionary 
+#    object as necessary and pass it.
+#
+#    Kathleen Biagas, Wed Oct 17 14:25:05 PDT 2012
+#    Show usage of new 'up_vector' parameter.
+# 
+#    Justin Privitera, Tue Jun 14 10:02:21 PDT 2022
+#    Change tests to reflect new ability to send output directory to query.
+# 
+#    Justin Privitera, Wed Jun 15 16:43:34 PDT 2022
+#    Added tests for new blueprint output.
+# 
+#    Justin Privitera, Wed Jul 20 13:54:06 PDT 2022
+#    Added query output msg tests and tests for query errors.
+# 
+#    Justin Privitera, Thu Sep  8 16:29:06 PDT 2022
+#    Added new tests for blueprint output metadata.
+# 
+#    Justin Privitera, Tue Sep 27 10:52:59 PDT 2022
+#    Changed names of most output files to reflect new naming conventions.
+#    Added tests for filenames, all output types, and result messages.
+# 
+#    Justin Privitera, Fri Sep 30 15:54:40 PDT 2022
+#    Changed location of temp output files.
+#    os.remove is gone.
+#    tmp/baddir is gone, replaced.
+#    These changes were made so the tests no longer crash on windows.
+# 
+#    Justin Privitera, Tue Nov 15 14:54:35 PST 2022
+#    Added new tests for additional blueprint output metadata as well as
+#    imaging plane topologies.
+# 
+#    Justin Privitera, Tue Nov 22 14:56:04 PST 2022
+#    Updated numbering on later tests.
+#    Reorganized blueprint tests so they use a function. That function also
+#    uses new and old query calls, doubling the number of blueprint tests.
+#    It also tests energy group bin output for hdf5.
+# 
+#    Justin Privitera, Mon Nov 28 15:38:25 PST 2022
+#    Renamed energy group bins to energy group bounds.
+# 
+#    Justin Privitera, Wed Nov 30 10:41:17 PST 2022
+#    Added tests for always positive detector height and width in blueprint
+#    metadata.
+# 
+#    Justin Privitera, Wed Nov 30 17:43:48 PST 2022
+#    Added tests for piping the units through the query.
+# 
+#    Justin Privitera, Thu Dec  1 15:29:48 PST 2022
+#    Tests for new location of units in blueprint output.
+# 
+#    Justin Privitera, Wed Dec  7 16:16:16 PST 2022
+#    Added tests for the blueprint ray output.
+# 
+#    Justin Privitera, Mon Dec 12 13:28:55 PST 2022
+#    Reworked some of the blueprint output tests to reflect changes in 
+#    output metadata.
+#    Added new tests for path length and spatial extent images.
+# 
+#    Justin Privitera, Tue Feb 14 17:02:43 PST 2023
+#    Change all metadata to use pot_hole_case instead of camelCase.
+#    Add test for image_topo_order_of_domain_variables.
+#
+#    Justin Privitera, Wed Oct 12 11:38:11 PDT 2022
+#    Changed output type for many tests since bmp output type is removed.
+# 
+#    Justin Privitera, Fri Mar 10 19:06:49 PST 2023
+#    Added tests for new spatial energy reduced topo and fields.
+# 
+#    Justin Privitera, Wed Mar 15 17:51:13 PDT 2023
+#    Added tests for new spectra topo and fields.
+# 
+#    Justin Privitera, Wed Mar 22 16:09:52 PDT 2023
+#     - Added logic for setting up and tearing down blueprint output type 
+#    tests.
+#     - Added new query choices for blueprint output that can be passed down 
+#    into the various blueprint tests.
+#     - Created a new class for storing these query options and passing them 
+#    around.
+#     - Added a new function for making slices of plots to test specific 
+#    energy group bins.
+#     - More consistent query args for blueprint tests
+#     - Added slice tests for specific energy group bins.
+# 
+#    Justin Privitera, Wed Apr 26 14:07:01 PDT 2023
+#    The new conduit we are using for VisIt (0.8.7) can read in simple yaml
+#    and json (w/o bp index?) (bug was fixed) so I am updating the x ray query
+#    tests to take advantage of this and add tests back in for yaml and json
+#    cases.
+#
+#    Justin Privitera, Fri Jun 16 17:17:14 PDT 2023
+#    Added tests for the new view width override and non square pixels 
+#    settings.
+# 
+#    Justin Privitera, Fri Jul 14 17:33:07 PDT 2023
+#    Updated tests to reflect the new reality that the complete camera spec
+#    is now the default.
+# 
+#    Justin Privitera, Tue Aug 22 12:30:01 PDT 2023
+#    Sort filename list produced by os.listdir to prevent test suite failures.
+# 
+#    Justin Privitera, Mon Oct 30 14:45:55 PDT 2023
+#    Use conduit node diff to compare query results to baselines.
+# 
+#    Justin Privitera, Tue Oct 31 13:20:23 PDT 2023
+#    All output folders are created at the top of the file now.
+#    Several visit expressions have been cleaned up or removed entirely.
+#    Code cleanup for readability.
+#    Lowered pixel resolution for query results where we are not testing the
+#    images.
+#    Use the python dictionary returned by the query to tell if the query was
+#    successful or not.
+# ----------------------------------------------------------------------------
+
+import os
+import conduit
+
+if not os.path.isdir(out_path("current","queries")):
+    os.mkdir(out_path("current","queries"))
+out_base = out_path("current","queries","xrayimage")
+if not os.path.isdir(out_base):
+    os.mkdir(out_base)
+
+outdir_set = pjoin(TestEnv.params["run_dir"], "testdir")
+if not os.path.isdir(outdir_set):
+    os.mkdir(outdir_set)
+
+conduit_dir_hdf5 = pjoin(outdir_set, "hdf5")
+if not os.path.isdir(conduit_dir_hdf5):
+    os.mkdir(conduit_dir_hdf5)
+conduit_dir_json = pjoin(outdir_set, "json")
+if not os.path.isdir(conduit_dir_json):
+    os.mkdir(conduit_dir_json)
+conduit_dir_yaml = pjoin(outdir_set, "yaml")
+if not os.path.isdir(conduit_dir_yaml):
+    os.mkdir(conduit_dir_yaml)
+conduit_dir_imaging_planes0 = pjoin(outdir_set, "imaging_planes0")
+if not os.path.isdir(conduit_dir_imaging_planes0):
+    os.mkdir(conduit_dir_imaging_planes0)
+conduit_dir_imaging_planes1 = pjoin(outdir_set, "imaging_planes1")
+if not os.path.isdir(conduit_dir_imaging_planes1):
+    os.mkdir(conduit_dir_imaging_planes1)
+conduit_dir_detector_dims = pjoin(outdir_set, "detector_dims")
+if not os.path.isdir(conduit_dir_detector_dims):
+    os.mkdir(conduit_dir_detector_dims)
+conduit_dir_nonsquare_pixels = pjoin(outdir_set, "nonsquare_pix")
+if not os.path.isdir(conduit_dir_nonsquare_pixels):
+    os.mkdir(conduit_dir_nonsquare_pixels)
+
+dir_dne = pjoin(outdir_set, "doesnotexist")
+if os.path.isdir(dir_dne):
+    os.rmdir(dir_dne)
+
+# os.chmod does not work on windows
+if not platform.system() == "Windows":
+    outdir_bad = pjoin(outdir_set, "baddir")
+    if not os.path.isdir(outdir_bad):
+        os.mkdir(outdir_bad)
+    os.chmod(outdir_bad, 0o444)
+
+output_types = ["jpeg", "png", "tif", "bof", "bov", "json", "hdf5", "yaml"]
+for i in range(0, len(output_types)):
+    outdir_set_otype = outdir_set + "_" + output_types[i]
+    if not os.path.isdir(outdir_set_otype):
+        os.mkdir(outdir_set_otype)
+
+family_options = [0, 1]
+for i in range(0, len(family_options)):
+    outdir_set_family = outdir_set + "_family_" + str(family_options[i])
+    if not os.path.isdir(outdir_set_family):
+        os.mkdir(outdir_set_family)
+
+#
+# Test a single block structured grid with scalars.
+#
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+# old style argument passing
+Query("XRay Image", 1, ".", 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
+
+os.rename("output.png", out_path(out_base,"xrayimage00.png"))
+Test("xrayimage00", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage01", s)
+
+#
+# Test a multi block structured grid with an array variable.
+#
+DefineArrayExpression("da", "array_compose(d,d)")
+DefineArrayExpression("pa", "array_compose(p,p)")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("multi_curv3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+# create our own dictionary
+params = dict(output_type=1,
+              output_dir=".",
+              divide_emis_by_absorb=1,
+              origin=(0.0, 2.5, 10.0),
+              up_vector=(0, 1, 0),
+              theta=0,
+              phi=0,
+              width = 10.,
+              height=10.,
+              image_size=(300, 300),
+              vars=("da", "pa"))
+Query("XRay Image", params)
+
+os.rename("output.00.png", out_path(out_base,"xrayimage02.png"))
+os.rename("output.01.png", out_path(out_base,"xrayimage03.png"))
+
+Test("xrayimage02", 0, 1)
+Test("xrayimage03", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage04", s)
+
+#
+# Test a 2d structured grid with scalars.
+#
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+params = dict()
+params['image_size'] = (300, 300)
+params['divide_emis_by_absorb'] = 1
+params['width'] = 10.
+params['height'] = 10.
+params['vars'] = ("d", "p")
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage05.png"))
+Test("xrayimage05", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage06", s)
+
+params['theta'] = 90
+params['phi'] =  0
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage07.png"))
+Test("xrayimage07", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage08", s)
+
+#
+# Test an unstructured grid with scalars.
+#
+DefineScalarExpression("u1", 'recenter(((u+10.)*0.01), "zonal")')
+DefineScalarExpression("v1", 'recenter(((v+10.)*0.01*matvf(mat1,1)), "zonal")')
+DefineScalarExpression("v2", 'recenter(((v+10.)*0.01*matvf(mat1,2)), "zonal")')
+DefineScalarExpression("v3", 'recenter(((v+10.)*0.01*matvf(mat1,3)), "zonal")')
+DefineScalarExpression("v4", 'recenter(((v+10.)*0.01*matvf(mat1,4)), "zonal")')
+DefineScalarExpression("w1", 'recenter(((w+10.)*0.01), "zonal")')
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+# Do tets.
+params['theta'] = 0
+params['phi'] = 0
+params['width'] = 1.
+params['height'] = 1.
+params['vars'] = ("w1", "v1")
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage09.png"))
+Test("xrayimage09", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage10", s)
+
+params['theta'] = 90
+params['width'] = 4.
+params['height'] = 4.
+
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage11.png"))
+Test("xrayimage11", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage12", s)
+
+# Do pyramids.
+params['theta'] = 0
+params['vars'] = ("w1", "v2")
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage13.png"))
+Test("xrayimage13", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage14", s)
+
+params['theta'] = 90
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage15.png"))
+Test("xrayimage15", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage16", s)
+
+# Do wedges.
+params['theta'] = 0
+params['width'] = 8.
+params['height'] = 8.
+params['vars'] = ("w1", "v3")
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage17.png"))
+Test("xrayimage17", 0, 1)
+
+
+s = GetQueryOutputString()
+TestText("xrayimage18", s)
+
+params['theta'] = 90
+params['width'] = 20.
+params['height'] = 20.
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage19.png"))
+Test("xrayimage19", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage20", s)
+
+# Do hexes.
+params['theta'] = 0
+params['vars'] = ("w1", "v4")
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage21.png"))
+Test("xrayimage21", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage22", s)
+
+params['theta'] = 90
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage23.png"))
+Test("xrayimage23", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage24", s)
+
+#
+# Test with perspective.
+#
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("multi_curv3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+params = dict(output_type="png",
+              output_dir=".",
+              divide_emis_by_absorb=1,
+              focus=(0.0, 2.5, 15.0),
+              view_up=(0., 1., 0.),
+              normal=(0., 0., 1.),
+              view_angle=30.,
+              parallel_scale = 16.0078,
+              near_plane = -32.0156,
+              far_plane = 32.0156,
+              image_pan=(0., 0.),
+              image_zoom = 2.4,
+              perspective = 1,
+              image_size=(300, 300),
+              vars=("d", "p"))
+Query("XRay Image", params)
+
+os.rename("output.png", out_path(out_base,"xrayimage25.png"))
+
+Test("xrayimage25", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage26", s)
+
+#
+# Test with background intensities.
+#
+DefineArrayExpression("wa", "array_compose(w1,w1)")
+DefineArrayExpression("va", "array_compose(v4,v4)")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+params = dict(output_type="png",
+              output_dir=".",
+              divide_emis_by_absorb=1,
+              theta=90.,
+              phi=0.,
+              width=20.,
+              height=20.,
+              image_size=(300, 300),
+              vars=("wa", "va"),
+              background_intensities=(0.05, 0.1))
+Query("XRay Image", params)
+
+os.rename("output.00.png", out_path(out_base,"xrayimage27.png"))
+os.rename("output.01.png", out_path(out_base,"xrayimage28.png"))
+
+Test("xrayimage27", 0, 1)
+Test("xrayimage28", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage29", s)
+
+DeleteAllPlots()
+
+# 
+# test setting output directory
+# 
+
+OpenDatabase(silo_data_path("curv3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+# old style argument passing
+Query("XRay Image", "png", outdir_set, 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
+os.rename(outdir_set + "/output.png", out_path(out_base, "xrayimage30.png"))
+Test("xrayimage30", 0, 1)
+
+s = GetQueryOutputString()
+TestText("xrayimage31", s)
+DeleteAllPlots()
+CloseDatabase(silo_data_path("curv3d.silo"))
+
+#
+# test blueprint output
+#
+
+def setup_bp_test():
+    OpenDatabase(silo_data_path("curv3d.silo"))
+    DefineScalarExpression("d1", 'd')
+    DefineScalarExpression("p1", 'p')
+    DefineScalarExpression("d2", 'd * 6')
+    DefineScalarExpression("p2", 'p * 6')
+    DefineScalarExpression("d3", 'd * 3')
+    DefineScalarExpression("p3", 'p * 3')
+    DefineArrayExpression("darr", "array_compose(d1,d2,d3)")
+    DefineArrayExpression("parr", "array_compose(p1,p2,d3)")
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+def teardown_bp_test(lite = False):
+    DeleteAllPlots()
+    if not lite:
+        DeleteExpression("d1")
+        DeleteExpression("p1")
+        DeleteExpression("d2")
+        DeleteExpression("p2")
+        DeleteExpression("d3")
+        DeleteExpression("p3")
+        DeleteExpression("darr")
+        DeleteExpression("parr")
+    CloseDatabase(silo_data_path("curv3d.silo"))
+
+# In conduit python, int types are assumed to be int64
+# The xray query saves bools out as int32s
+# So the diff fails unless we take the int32 type and 
+# cast it to int64.
+def cast_to_wide_int_type_conduit(node, leafname):
+    val = int(node[leafname])
+    node.remove_child(leafname)
+    node[leafname] = val
+
+def test_bp_state_xray_view(testname, xray_view):
+    yaml_text = """normal:
+  x: 0.0
+  y: 0.0
+  z: 1.0
+focus:
+  x: 0.0
+  y: 2.5
+  z: 10.0
+view_up:
+  x: 0.0
+  y: 1.0
+  z: 0.0
+view_angle: 30.0
+parallel_scale: 5.0
+view_width: 7.5
+non_square_pixels: \"yes\"
+near_plane: -100.0
+far_plane: 100.0
+image_pan:
+  x: 0.0
+  y: 0.0
+image_zoom: 1.0
+perspective: 0
+perspective_str: \"parallel\""""
+
+    xray_view_base = conduit.Node()
+    xray_view_base.parse(yaml_text, "yaml")
+
+    # We must make changes so that the diff will pass:
+    cast_to_wide_int_type_conduit(xray_view, "perspective")
+
+    info = conduit.Node()
+    diffval = xray_view.diff(xray_view_base, info)
+    diff_str = info.to_yaml() if diffval else ""
+    TestValueEQ(testname + "_xray_view", diff_str, "");
+
+UNITS_OFF = 0
+UNITS_ON = 1
+
+def test_bp_state_xray_query(testname, xray_query, num_bins, abs_name, emis_name, units):
+    yaml_text = f"""divide_emis_by_absorb: 1
+divide_emis_by_absorb_str: \"yes\"
+num_x_pixels: 300
+num_y_pixels: 200
+num_bins: {num_bins}
+abs_var_name: {abs_name}
+emis_var_name: {emis_name}
+abs_units: {"abs units" if units == UNITS_ON else "no units provided"}
+emis_units: {"emis units" if units == UNITS_ON else "no units provided"}"""
+
+    xray_query_base = conduit.Node()
+    xray_query_base.parse(yaml_text, "yaml")
+
+    # We must make changes so that the diff will pass:
+    cast_to_wide_int_type_conduit(xray_query, "divide_emis_by_absorb")
+    cast_to_wide_int_type_conduit(xray_query, "num_x_pixels")
+    cast_to_wide_int_type_conduit(xray_query, "num_y_pixels")
+    cast_to_wide_int_type_conduit(xray_query, "num_bins")
+
+    info = conduit.Node()
+    diffval = xray_query.diff(xray_query_base, info)
+    diff_str = info.to_yaml() if diffval else ""
+    TestValueEQ(testname + "_xray_query", diff_str, "");
+
+def test_bp_state_xray_data(testname, xray_data, int_max, pl_max):
+    yaml_text = f"""detector_width: 15.0
+detector_height: 10.0
+intensity_max: {int_max}
+intensity_min: 0.0
+path_length_max: {pl_max}
+path_length_min: 0.0
+image_topo_order_of_domain_variables: \"xyz\""""
+
+    xray_data_base = conduit.Node()
+    xray_data_base.parse(yaml_text, "yaml")
+
+    info = conduit.Node()
+    diffval = xray_data.diff(xray_data_base, info)
+    diff_str = info.to_yaml() if diffval else ""
+    TestValueEQ(testname + "_xray_data", diff_str, "");
+
+NO_ENERGY_GROUP_BOUNDS = 0
+ENERGY_GROUP_BOUNDS_MISMATCH = 1
+ENERGY_GROUP_BOUNDS = 2
+
+class query_result_options:
+    def __init__(self, num_bins, abs_name, emis_name, bin_state, units, int_max, pl_max):
+        self.num_bins = num_bins
+        self.abs_name = abs_name
+        self.emis_name = emis_name
+        self.bin_state = bin_state
+        self.units = units
+        self.int_max = int_max
+        self.pl_max = pl_max
+
+def test_bp_data(testname, conduit_db, qro):
+    xrayout = conduit.Node()
+    conduit.relay.io.blueprint.load_mesh(xrayout, conduit_db)
+
+    # test metadata
+    xray_state = xrayout["domain_000000/state"]
+
+    time = xray_state["time"]
+    TestValueEQ(testname + "_Time", time, 4.8)
+
+    cycle = xray_state["cycle"]
+    TestValueEQ(testname + "_Cycle", cycle, 48)
+
+    test_bp_state_xray_view(testname, xray_state["xray_view"])
+    test_bp_state_xray_query(testname, xray_state["xray_query"],
+        qro.num_bins, qro.abs_name, qro.emis_name, qro.units)
+    test_bp_state_xray_data(testname, xray_state["xray_data"], qro.int_max, qro.pl_max)
+
+    # test data embedded within the fields
+
+    xray_fields = xrayout["domain_000000/fields"]
+
+    intensityUnits = xray_fields["intensities/units"]
+    pathLengthUnits = xray_fields["path_length/units"]
+
+    if (qro.units == UNITS_ON):
+        TestValueEQ(testname + "_IntensityUnits", intensityUnits, "intensity units")
+        TestValueEQ(testname + "_PathLengthUnits", pathLengthUnits, "path length metadata")
+    else:
+        TestValueEQ(testname + "_IntensityUnits", intensityUnits, "no units provided")
+        TestValueEQ(testname + "_PathLengthUnits", pathLengthUnits, "no info provided")
+
+    # test data embedded within the coordsets
+
+    xray_coordsets = xrayout["domain_000000/coordsets"]
+
+    spatial_coords_x = xray_coordsets["spatial_coords/values/x"]
+    spatial_coords_y = xray_coordsets["spatial_coords/values/y"]
+    energy_group_bounds = xray_coordsets["spatial_coords/values/z"]
+    energy_group_info = xray_coordsets["spatial_coords/info"]
+    TestValueEQ(testname + "_data_SpatialExtents0", [spatial_coords_x[0], spatial_coords_y[0]], [0.0, 0.0])
+    TestValueEQ(testname + "_data_SpatialExtents1", [spatial_coords_x[1], spatial_coords_y[1]], [0.05, 0.05])
+    TestValueEQ(testname + "_data_SpatialExtents2", [spatial_coords_x[2], spatial_coords_y[2]], [0.1, 0.1])
+    TestValueEQ(testname + "_data_SpatialExtents3", [spatial_coords_x[-1], spatial_coords_y[-1]], [15.0, 10.0])
+
+    if (qro.bin_state == NO_ENERGY_GROUP_BOUNDS):
+        TestValueEQ(testname + "_data_EnergyGroupInfo", energy_group_info, "Energy group bounds not provided.")
+        TestValueEQ(testname + "_data_EnergyGroupBounds", [energy_group_bounds[0], energy_group_bounds[1]], [0, 1])
+    elif (qro.bin_state == ENERGY_GROUP_BOUNDS_MISMATCH):
+        baseline_string = "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results."
+        TestValueEQ(testname + "_data_EnergyGroupInfo", energy_group_info, baseline_string)
+        TestValueEQ(testname + "_data_EnergyGroupBounds", [energy_group_bounds[0], energy_group_bounds[1]], [0, 1])
+    elif (qro.bin_state == ENERGY_GROUP_BOUNDS):
+        TestValueEQ(testname + "_data_EnergyGroupBounds", energy_group_bounds, [0, 2, 6, 8])
+
+    yaml_text = f"""x: {"cm" if qro.units == UNITS_ON else "no units provided"}
+y: {"cm" if qro.units == UNITS_ON else "no units provided"}
+z: {"kev" if qro.units == UNITS_ON else "no units provided"}"""
+
+    spatial_units_base = conduit.Node()
+    spatial_units_base.parse(yaml_text, "yaml")
+    spatial_units = xray_coordsets["spatial_coords/units"]
+
+    info = conduit.Node()
+    diffval = spatial_units.diff(spatial_units_base, info)
+    TestValueEQ(testname + "_spatial_units", diffval, False);
+    if diffval:
+        print(info.to_yaml())
+
+    xlabel = xray_coordsets["spatial_coords/labels/x"];
+    ylabel = xray_coordsets["spatial_coords/labels/y"];
+    zlabel = xray_coordsets["spatial_coords/labels/z"];
+    TestValueEQ(testname + "_data_XLabels", xlabel, "width")
+    TestValueEQ(testname + "_data_YLabels", ylabel, "height")
+    TestValueEQ(testname + "_data_ZLabels", zlabel, "energy_group")
+
+    xlabel = xray_coordsets["spatial_energy_reduced_coords/labels/x"];
+    ylabel = xray_coordsets["spatial_energy_reduced_coords/labels/y"];
+    TestValueEQ(testname + "_data_ser_XLabels", xlabel, "width")
+    TestValueEQ(testname + "_data_ser_YLabels", ylabel, "height")
+
+    xlabel = xray_coordsets["spectra_coords/labels/x"];
+    TestValueEQ(testname + "_data_spectra_XLabels", xlabel, "energy_group")
+
+def calc_midpoints(arr):
+    midpts = []
+    for i in range(0, len(arr) - 1):
+        midpts.append((arr[i] + arr[i + 1]) / 2)
+    return midpts
+
+def z_slice(zval, mesh_name):
+    AddOperator("Slice", 1)
+    SetActivePlots(0)
+    SliceAtts = SliceAttributes()
+    SliceAtts.originType = SliceAtts.Point  # Point, Intercept, Percent, Zone, Node
+    SliceAtts.originPoint = (0, 0, zval)
+    SliceAtts.axisType = SliceAtts.ZAxis  # XAxis, YAxis, ZAxis, Arbitrary, ThetaPhi
+    SliceAtts.project2d = 1
+    SliceAtts.interactive = 1
+    SliceAtts.meshName = mesh_name
+    SetOperatorOptions(SliceAtts, 0, 1)
+
+def blueprint_test(output_type, outdir, testtextnumber, testname):
+    for i in range(0, 2):
+        setup_bp_test()
+
+        # common place for args
+        divide_emis_by_absorb = 1
+        origin = (0.0, 2.5, 10.0)
+        theta = 0
+        phi = 0
+        width = 15
+        height = 10
+        image_size = (300, 200)
+
+        energy_group_bounds      = [0, 2, 6, 8]
+        fake_energy_group_bounds = [0, 1, 2, 3]
+
+        energy_group_midpts      = calc_midpoints(energy_group_bounds)
+        fake_energy_group_midpts = calc_midpoints(fake_energy_group_bounds)
+
+        calltype = "legacy" if i == 0 else "modern"
+
+        # run query
+        if (i == 0):
+            # test legacy call
+            Query("XRay Image",
+                  output_type,
+                  outdir,
+                  divide_emis_by_absorb,
+                  origin[0],
+                  origin[1],
+                  origin[2],
+                  theta,
+                  phi,
+                  width,
+                  height,
+                  image_size[0],
+                  image_size[1],
+                  ("darr", "parr"),
+                  energy_group_bounds)
+        elif (i == 1):
+            # test modern call
+            params = dict()
+            params["output_type"] = output_type
+            params["output_dir"] = outdir
+            params["divide_emis_by_absorb"] = divide_emis_by_absorb
+            params["origin"] = origin
+            params["theta"] = theta
+            params["phi"] = phi
+            params["width"] = width
+            params["height"] = height
+            params["image_size"] = image_size
+            params["vars"] = ("darr", "parr")
+            params["energy_group_bounds"] = energy_group_bounds
+            params["spatial_units"] = "cm"
+            params["energy_units"] = "kev"
+            params["abs_units"] = "abs units"
+            params["emis_units"] = "emis units"
+            params["intensity_units"] = "intensity units"
+            params["path_length_info"] = "path length metadata"
+            Query("XRay Image", params)
+
+        # test output message
+        s = GetQueryOutputString()
+        TestText("xrayimage" + str(testtextnumber + i), s)
+        teardown_bp_test()
+
+        # test opening the bp output and visualizing in visit
+        conduit_db = pjoin(outdir, "output.root")
+        OpenDatabase(conduit_db)
+
+        # 
+        # image topo
+        # 
+
+        AddPlot("Pseudocolor", "mesh_image_topo/intensities")
+        DrawPlots()
+        Test(testname + "_image_topo_intensities_" + calltype)
+        DeleteAllPlots()
+
+        # test some slices
+        for j in range(0, len(fake_energy_group_midpts)):
+            AddPlot("Pseudocolor", "mesh_image_topo/intensities")
+            z_slice(fake_energy_group_midpts[j], "mesh_image_topo")
+            DrawPlots()
+            Test(testname + "_image_topo_intensities_" + calltype + "_slice" + str(j))
+            DeleteAllPlots()
+
+        AddPlot("Pseudocolor", "mesh_image_topo/path_length")
+        DrawPlots()
+        Test(testname + "_image_topo_path_length_" + calltype)
+        DeleteAllPlots()
+
+        # test some slices
+        for j in range(0, len(fake_energy_group_midpts)):
+            AddPlot("Pseudocolor", "mesh_image_topo/path_length")
+            z_slice(fake_energy_group_midpts[j], "mesh_image_topo")
+            DrawPlots()
+            Test(testname + "_image_topo_path_length_" + calltype + "_slice" + str(j))
+            DeleteAllPlots()
+
+        # 
+        # spatial topo
+        # 
+
+        AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial")
+        DrawPlots()
+        Test(testname + "_spatial_topo_intensities_" + calltype)
+        DeleteAllPlots()
+
+        # test some slices
+        for j in range(0, len(energy_group_midpts)):
+            AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial")
+            z_slice(energy_group_midpts[j], "mesh_spatial_topo")
+            DrawPlots()
+            Test(testname + "_spatial_topo_intensities_" + calltype + "_slice" + str(j))
+            DeleteAllPlots()
+
+        AddPlot("Pseudocolor", "mesh_spatial_topo/path_length_spatial")
+        DrawPlots()
+        Test(testname + "_spatial_topo_path_length_" + calltype)
+        DeleteAllPlots()
+
+        # test some slices
+        for j in range(0, len(energy_group_midpts)):
+            AddPlot("Pseudocolor", "mesh_spatial_topo/path_length_spatial")
+            z_slice(energy_group_midpts[j], "mesh_spatial_topo")
+            DrawPlots()
+            Test(testname + "_spatial_topo_path_length_" + calltype + "_slice" + str(j))
+            DeleteAllPlots()
+
+        # 
+        # spatial energy reduced topo
+        # 
+
+        AddPlot("Pseudocolor", "mesh_spatial_energy_reduced_topo/intensities_spatial_energy_reduced")
+        DrawPlots()
+        Test(testname + "_spatial_energy_reduced_topo_intensities_" + calltype)
+        DeleteAllPlots()
+
+        AddPlot("Pseudocolor", "mesh_spatial_energy_reduced_topo/path_length_spatial_energy_reduced")
+        DrawPlots()
+        Test(testname + "_spatial_energy_reduced_topo_path_length_" + calltype)
+        DeleteAllPlots()
+
+        # 
+        # spectra topo
+        # 
+
+        AddPlot("Curve", "mesh_spectra_topo/intensities_spectra")
+        DrawPlots()
+        Test(testname + "_spectra_topo_intensities_" + calltype)
+        DeleteAllPlots()
+
+        AddPlot("Curve", "mesh_spectra_topo/path_length_spectra")
+        DrawPlots()
+        Test(testname + "_spectra_topo_path_length_" + calltype)
+        DeleteAllPlots()
+
+        CloseDatabase(conduit_db)
+
+    units = UNITS_OFF if i == 0 else UNITS_ON
+
+    qro = query_result_options(num_bins=3, abs_name="darr", emis_name="parr", \
+        bin_state=ENERGY_GROUP_BOUNDS, units=units, \
+        int_max=1.0, pl_max=892.02587890625)
+    test_bp_data(testname + str(i), conduit_db, qro) # bounds
+
+    setup_bp_test()
+
+    Query("XRay Image", output_type, outdir, 1, 0.0, 2.5, 10.0, 0, 0, 15., 10., 300, 200, ("d", "p"), [1,2,3])
+    qro = query_result_options(num_bins=1, abs_name="d", emis_name="p", \
+        bin_state=ENERGY_GROUP_BOUNDS_MISMATCH, units=UNITS_OFF, \
+        int_max=0.241531997919083, pl_max=148.670989990234)
+    test_bp_data(testname + str(i), conduit_db, qro) # bounds mismatch
+
+    Query("XRay Image", output_type, outdir, 1, 0.0, 2.5, 10.0, 0, 0, 15., 10., 300, 200, ("d", "p"))
+    qro = query_result_options(num_bins=1, abs_name="d", emis_name="p", \
+        bin_state=NO_ENERGY_GROUP_BOUNDS, units=UNITS_OFF, \
+        int_max=0.241531997919083, pl_max=148.670989990234)
+    test_bp_data(testname + str(i), conduit_db, qro) # no bounds
+
+    teardown_bp_test()
+
+blueprint_test("hdf5", conduit_dir_hdf5, 32, "Blueprint_HDF5_X_Ray_Output")
+blueprint_test("json", conduit_dir_json, 34, "Blueprint_JSON_X_Ray_Output")
+blueprint_test("yaml", conduit_dir_yaml, 36, "Blueprint_YAML_X_Ray_Output")
+
+#
+# test detector height and width are always positive in blueprint output
+#
+
+setup_bp_test()
+
+params = GetQueryParameters("XRay Image")
+params["image_size"] = (4, 3)
+params["output_type"] = "hdf5"
+params["output_dir"] = conduit_dir_detector_dims
+params["focus"] = (0., 2.5, 10.)
+params["perspective"] = 1
+params["near_plane"] = -50.
+params["far_plane"] = 50.
+params["vars"] = ("d", "p")
+params["energy_group_bounds"] = [3.7, 4.2];
+params["parallel_scale"] = 5.
+Query("XRay Image", params)
+
+teardown_bp_test()
+
+conduit_db = pjoin(conduit_dir_detector_dims, "output.root")
+xrayout = conduit.Node()
+conduit.relay.io.blueprint.load_mesh(xrayout, conduit_db)
+
+detector_width = xrayout["domain_000000/state/xray_data/detector_width"]
+TestValueEQ("Blueprint_Positive_Detector_width", detector_width, 22.3932263237838)
+
+detector_height = xrayout["domain_000000/state/xray_data/detector_height"]
+TestValueEQ("Blueprint_Positive_Detector_height", detector_height, 16.7949192423103)
+
+#
+# test imaging plane topos and ray output
+#
+
+def test_imaging_planes_and_rays():
+    for i in range(0, 2):
+        setup_bp_test()
+
+        params = GetQueryParameters("XRay Image")
+        params["image_size"] = (400, 300)
+        params["output_dir"] = conduit_dir_imaging_planes0 if i == 0 else conduit_dir_imaging_planes1
+        params["output_type"] = "hdf5"
+        params["focus"] = (0., 2.5, 10.)
+        params["perspective"] = 1
+        params["near_plane"] = -50.
+        params["far_plane"] = 50.
+        params["vars"] = ("d", "p")
+        params["parallel_scale"] = 5.
+        Query("XRay Image", params)
+
+        conduit_db = pjoin(conduit_dir_imaging_planes0 if i == 0 else conduit_dir_imaging_planes1, "output.root")
+
+        OpenDatabase(conduit_db)
+
+        AddPlot("Pseudocolor", "mesh_far_plane_topo/far_plane_field", 1, 1)
+        AddPlot("Pseudocolor", "mesh_view_plane_topo/view_plane_field", 1, 1)
+        AddPlot("Pseudocolor", "mesh_near_plane_topo/near_plane_field", 1, 1)
+        if i == 0:
+            AddPlot("Pseudocolor", "mesh_ray_corners_topo/ray_corners_field", 1, 1)
+        else:
+            AddPlot("Pseudocolor", "mesh_ray_topo/ray_field", 1, 1)
+        DrawPlots()
+
+        SetActivePlots(4)
+        PseudocolorAtts = PseudocolorAttributes()
+        PseudocolorAtts.invertColorTable = 1
+        SetPlotOptions(PseudocolorAtts)
+
+        View3DAtts = View3DAttributes()
+        View3DAtts.viewNormal = (-0.519145, 0.199692, -0.831031)
+        View3DAtts.focus = (0, 2.5, 10)
+        View3DAtts.viewUp = (-0.0954901, 0.952683, 0.288577)
+        View3DAtts.viewAngle = 30
+        View3DAtts.parallelScale = 58.6531
+        View3DAtts.nearPlane = -117.306
+        View3DAtts.farPlane = 117.306
+        SetView3D(View3DAtts)
+
+        Test("Blueprint_HDF5_Imaging_Planes" + str(i))
+
+        teardown_bp_test()
+        CloseDatabase(conduit_db)
+
+test_imaging_planes_and_rays()
+
+def test_non_square_pixels():
+    DeleteAllPlots()
+    setup_bp_test()
+
+    params = GetQueryParameters("XRay Image")
+
+    params["vars"] = ("d", "p")
+    params["image_size"] = (300, 300)
+    params["energy_group_bounds"] = [2.7, 6.2]
+
+    # filename, directory, and output type choices
+    params["output_dir"] = conduit_dir_nonsquare_pixels
+    params["filename_scheme"] = "family" # "none", "family", or "cycle" 
+    params["output_type"] = "hdf5"
+
+    params["focus"] = (0., 2.5, 10.)
+    params["parallel_scale"] = 10.
+    params["near_plane"] = -25.
+    params["far_plane"] = 25.
+    params["view_angle"] = 30
+    params["perspective"] = 1 # 0 parallel, 1 perspective
+
+    # default
+    Query("XRay Image", params)
+    params["image_size"] = (4, 4)
+    Query("XRay Image", params)
+    params["image_size"] = (300, 300)
+
+    # view width is set but is equal to what it would have been if it were calculated
+    params["view_width"] = 10.
+    Query("XRay Image", params)
+    params["image_size"] = (4, 4)
+    Query("XRay Image", params)
+    params["image_size"] = (300, 300)
+
+    # view width is twice the length of the parallel scale
+    params["view_width"] = 20.
+    Query("XRay Image", params)
+    params["image_size"] = (4, 4)
+    Query("XRay Image", params)
+    params["image_size"] = (300, 300)
+
+    # view width is half the length of the parallel scale
+    params["view_width"] = 5.
+    Query("XRay Image", params)
+    params["image_size"] = (4, 4)
+    Query("XRay Image", params)
+
+    conduit_db = pjoin(conduit_dir_nonsquare_pixels, "output.*.root database")
+    OpenDatabase(conduit_db)
+
+    # first we test the imaging planes and rays look as we expect
+    AddPlot("Pseudocolor", "mesh_near_plane_topo/near_plane_field")
+    AddPlot("Pseudocolor", "mesh_view_plane_topo/view_plane_field")
+    AddPlot("Pseudocolor", "mesh_far_plane_topo/far_plane_field")
+    DrawPlots()
+
+    # Make the plot of the near plane active
+    SetActivePlots(1)
+    PseudocolorAtts = PseudocolorAttributes()
+    # We invert the color table so that it is a different color from the far plane
+    PseudocolorAtts.invertColorTable = 1
+    SetPlotOptions(PseudocolorAtts)
+
+    # Make the plot of the view plane active
+    SetActivePlots(2)
+    PseudocolorAtts = PseudocolorAttributes()
+    PseudocolorAtts.colorTableName = "hot_and_cold"
+    PseudocolorAtts.invertColorTable = 1
+    PseudocolorAtts.opacityType = PseudocolorAtts.Constant  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
+    # We lower the opacity so that the view plane does not obstruct our view of anything.
+    PseudocolorAtts.opacity = 0.7
+    SetPlotOptions(PseudocolorAtts)
+
+    # leave the far plane as is
+
+    # add ray corners topo
+    AddPlot("Mesh", "mesh_ray_corners_topo")
+    DrawPlots()
+    MeshAtts = MeshAttributes()
+    MeshAtts.lineWidth = 1
+    SetPlotOptions(MeshAtts)
+
+    # set view
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (-0.350116, 0.224905, -0.909306)
+    View3DAtts.focus = (0, 2.5, 10)
+    View3DAtts.viewUp = (0.0306245, 0.972977, 0.228862)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 34.3903
+    View3DAtts.nearPlane = -68.7807
+    View3DAtts.farPlane = 68.7807
+    View3DAtts.imagePan = (0, 0)
+    View3DAtts.imageZoom = 1
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (0, 2.5, 10)
+    View3DAtts.axis3DScaleFlag = 0
+    View3DAtts.axis3DScales = (1, 1, 1)
+    View3DAtts.shear = (0, 0, 1)
+    View3DAtts.windowValid = 1
+    SetView3D(View3DAtts)
+
+    # take pictures of all the ray setups
+    Test("NonSquare_Pixels_Ray_trace_setup_1")
+    TimeSliderNextState()
+    AddPlot("Pseudocolor", "mesh_ray_topo/ray_field")
+    DrawPlots()
+    Test("NonSquare_Pixels_Ray_trace_setup_2")
+    HideActivePlots()
+    TimeSliderNextState()
+    Test("NonSquare_Pixels_Ray_trace_setup_3")
+    TimeSliderNextState()
+    HideActivePlots()
+    Test("NonSquare_Pixels_Ray_trace_setup_4")
+    HideActivePlots()
+    TimeSliderNextState()
+    Test("NonSquare_Pixels_Ray_trace_setup_5")
+    TimeSliderNextState()
+    HideActivePlots()
+    Test("NonSquare_Pixels_Ray_trace_setup_6")
+    HideActivePlots()
+    TimeSliderNextState()
+    Test("NonSquare_Pixels_Ray_trace_setup_7")
+    TimeSliderNextState()
+    HideActivePlots()
+    Test("NonSquare_Pixels_Ray_trace_setup_8")
+    HideActivePlots()
+
+    # cleanup
+    TimeSliderNextState()
+    DeleteAllPlots()
+
+    # take pictures of the hi-res images
+    AddPlot("Pseudocolor", "mesh_image_topo/intensities", 1, 1)
+    DrawPlots()
+    ResetView()
+    AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial", 1, 1)
+    DrawPlots()
+    HideActivePlots()
+    SetActivePlots((0, 1))
+    Test("NonSquare_Pixels_hi_res_images1")
+    HideActivePlots()
+    Test("NonSquare_Pixels_hi_res_images2")
+    HideActivePlots()
+    TimeSliderNextState()
+    TimeSliderNextState()
+    Test("NonSquare_Pixels_hi_res_images3")
+    HideActivePlots()
+    Test("NonSquare_Pixels_hi_res_images4")
+    HideActivePlots()
+    TimeSliderNextState()
+    TimeSliderNextState()
+    Test("NonSquare_Pixels_hi_res_images5")
+    HideActivePlots()
+    Test("NonSquare_Pixels_hi_res_images6")
+    HideActivePlots()
+    TimeSliderNextState()
+    TimeSliderNextState()
+    Test("NonSquare_Pixels_hi_res_images7")
+    HideActivePlots()
+    Test("NonSquare_Pixels_hi_res_images8")
+    HideActivePlots()
+    TimeSliderNextState()
+
+    # cleanup
+    TimeSliderNextState()
+    DeleteAllPlots()
+
+    # take pictures of the low res images
+    AddPlot("Pseudocolor", "mesh_image_topo/intensities", 1, 1)
+    DrawPlots()
+    AddPlot("Mesh", "mesh_image_topo", 1, 1)
+    DrawPlots()
+    AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial", 1, 1)
+    DrawPlots()
+    AddPlot("Mesh", "mesh_spatial_topo", 1, 1)
+    DrawPlots()
+    SetActivePlots((2, 3))
+    HideActivePlots()
+    TimeSliderNextState()
+    ResetView()
+    SetActivePlots((0, 2, 3))
+    SetActivePlots((0, 1, 2, 3))
+    Test("NonSquare_Pixels_low_res_mesh_plots1")
+    HideActivePlots()
+    Test("NonSquare_Pixels_low_res_mesh_plots2")
+    HideActivePlots()
+    TimeSliderNextState()
+    TimeSliderNextState()
+    ResetView()
+    Test("NonSquare_Pixels_low_res_mesh_plots3")
+    HideActivePlots()
+    Test("NonSquare_Pixels_low_res_mesh_plots4")
+    HideActivePlots()
+    TimeSliderNextState()
+    TimeSliderNextState()
+    ResetView()
+    Test("NonSquare_Pixels_low_res_mesh_plots5")
+    HideActivePlots()
+    Test("NonSquare_Pixels_low_res_mesh_plots6")
+    HideActivePlots()
+    TimeSliderNextState()
+    TimeSliderNextState()
+    ResetView()
+    Test("NonSquare_Pixels_low_res_mesh_plots7")
+    HideActivePlots()
+    Test("NonSquare_Pixels_low_res_mesh_plots8")
+    HideActivePlots()
+
+    teardown_bp_test()
+    CloseDatabase(conduit_db)
+
+test_non_square_pixels()
+
+# 
+# test catching failures
+# 
+
+# write to dir that does not exist
+
+setup_bp_test()
+Query("XRay Image", "hdf5", dir_dne, 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
+output_obj = GetQueryOutputObject()
+TestValueEQ("xrayimage38", output_obj, None)
+teardown_bp_test(True)
+
+# os.chmod does not work on windows
+if not platform.system() == "Windows":
+    # write to dir w/ read only permissions
+    setup_bp_test()
+    Query("XRay Image", "hdf5", outdir_bad, 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
+    output_obj = GetQueryOutputObject()
+    TestValueEQ("xrayimage39", output_obj, None)
+    teardown_bp_test()
+
+# 
+# Test filenames and output types
+# 
+
+setup_bp_test()
+
+DefineArrayExpression("da", "array_compose(d,d)")
+DefineArrayExpression("pa", "array_compose(p,p)")
+
+def query_variety(otype, scheme, thevars, outdir):
+    SetQueryFloatFormat("%g")
+    Query("XRay Image",
+        background_intensity=0,
+        divide_emis_by_absorb=0,
+        far_plane=20,
+        filename_scheme=scheme,
+        family_files=0, # this is to test that family_files is ignored when filename_scheme is set
+        focus=(0, 0, 0),
+        image_pan=(0, 0),
+        image_size=(3, 3),
+        image_zoom=1,
+        near_plane=-20,
+        normal=(0, 0, 1),
+        output_dir=outdir,
+        output_ray_bounds=0,
+        output_type=otype,
+        parallel_scale=10,
+        perspective=0,
+        view_angle=30,
+        view_up=(0, 1, 0),
+        vars=thevars)
+    return GetQueryOutputObject()
+
+def query_family_backwards_compat(family, thevars, outdir):
+    SetQueryFloatFormat("%g")
+    Query("XRay Image",
+        background_intensity=0,
+        divide_emis_by_absorb=0,
+        far_plane=20,
+        family_files=family,
+        focus=(0, 0, 0),
+        image_pan=(0, 0),
+        image_size=(3, 3),
+        image_zoom=1,
+        near_plane=-20,
+        normal=(0, 0, 1),
+        output_dir=outdir,
+        output_ray_bounds=0,
+        output_type="png",
+        parallel_scale=10,
+        perspective=0,
+        view_angle=30,
+        view_up=(0, 1, 0),
+        vars=thevars)
+    return GetQueryOutputObject()
+
+filename_schemes = ["family", "family", "cycle", "none"]
+vars_options = [("d", "p"), ("da", "pa")]
+
+for i in range(0, len(output_types)):
+    outdir_set_otype = outdir_set + "_" + output_types[i]
+    if output_types[i] == "jpeg":
+        # create a dummy file to test the file familying
+        open(outdir_set_otype + "/output.0000.jpg", 'w').close()
+    info = ""
+    for j in range(0, len(filename_schemes)):
+        for k in range(0, len(vars_options)):
+            info += str(query_variety(output_types[i],
+                                      filename_schemes[j],
+                                      vars_options[k],
+                                      outdir_set_otype)) + "\n"
+    info += str(sorted(os.listdir(outdir_set_otype))) + "\n"
+    TestText("Test_filenames_for_" + output_types[i] + "_outputs", info)
+
+# test backwards compatibility with family_files option
+for i in range(0, len(family_options)):
+    outdir_set_family = outdir_set + "_family_" + str(family_options[i])
+    info = ""
+    for j in range(0, len(vars_options)):
+        info += str(query_family_backwards_compat(family_options[i],
+                                                  vars_options[j],
+                                                  outdir_set_family)) + "\n"
+    info += str(sorted(os.listdir(outdir_set_family))) + "\n"
+    TestText("Test_filenames_for_family" + str(family_options[i]) + "_outputs", info)
+
+#
+# Test that we get decent error messages for common cases
+#
+import numpy
+
+nporig = numpy.array([0.0, 2.5, 10.0])
+
+params = dict(output_type=1, output_dir=".", divide_emis_by_absorb=1, \
+    origin=nporig, up_vector=(0, 1, 0), theta=0, phi=0, \
+    width = 10., height=10., image_size=(300, 300), vars=("da", "pa"))
+try:
+    Query("XRay Image", params)
+except (visit.VisItException, VisItException) as e:
+    if '"origin"' in e.args[0] and "position 4" in e.args[0] and "type numpy.ndarray" in e.args[0]:
+        TestPOA('detect and warn numpy array as query param')
+    else:
+        TestFOA('detect and warn numpy array as query param', LINE())
+    pass
+except:
+    TestFOA('detect and warn numpy array as query param', LINE())
+    pass
+
+params = dict(output_type=1, output_dir=".", divide_emis_by_absorb=1, \
+    origin=nporig.tolist(), up_vector=(0, 1, 0), theta=0, phi=0, \
+    width = 10., height=10., image_size=(300, 300), vars=("da", "pa"))
+try:
+    Query("XRay Image", params)
+    TestPOA('numpy array converted to list works as query param')
+except:
+    TestFOA('numpy array converted to list works as query param', LINE())
+    pass
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_cl_args.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_cl_args.html new file mode 100644 index 000000000..ccc30cb5e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_cl_args.html @@ -0,0 +1,44 @@ + +Results for quickrecipes/cl_args.py + +

Results of VisIt Regression Test - quickrecipes/cl_args

+ + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
handling command line arguments errors
 "" .eq. "" : True
handling command line arguments no exceptions
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_cl_args_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_cl_args_py.html new file mode 100644 index 000000000..87c81f68c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_cl_args_py.html @@ -0,0 +1,30 @@ +quickrecipes/cl_args.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
+# ----------------------------------------------------------------------------
+
+#
+# Get some utils shared across many .py files used for quick recipes.
+#
+Source(tests_path('quickrecipes','vqr_utils.py.inc'))
+
+def handling_command_line_arguments():
+
+  try:
+    # handling command line arguments {
+    import sys
+    print(Argv)
+    print(sys.argv)
+    # handling command line arguments }
+    TestValueEQ('handling command line arguments errors',GetLastError(),'')
+    TestPOA('handling command line arguments no exceptions')
+  except Exception as inst:
+    TestFOA('handling command line argumentts exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+handling_command_line_arguments()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_colortables.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_colortables.html new file mode 100644 index 000000000..a6cfe1900 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_colortables.html @@ -0,0 +1,72 @@ + +Results for quickrecipes/colortables.py + +

Results of VisIt Regression Test - quickrecipes/colortables

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
standard_hot_table0.000.00
modified_hot_table_10.000.00
modified_hot_table_20.000.00
hot20.000.00
hot30.000.00
rainbow_continuous0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_colortables_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_colortables_py.html new file mode 100644 index 000000000..6f9694d5a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_colortables_py.html @@ -0,0 +1,217 @@ +quickrecipes/colortables.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  colortables.py
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       March 30, 2022
+#
+#  Modificatons:
+#    Justin Privitera, Wed Aug  3 19:46:13 PDT 2022
+#    Made changes to reflect the fact that built-in tables cannot be edited.
+#
+#    Mark C. Miller, Mon Dec 12 19:02:35 PST 2022
+#    Add introspecting block
+# ----------------------------------------------------------------------------
+
+
+# NOTE: Sections of this test file are 'literalinclude'd in quickrecipes.rst.
+# After modifying this file, ensure the proper content is still displayed in the doc.
+
+# comments of the form '# sometext {' and '# sometext }' bracket the sections
+# that are 'literalinclude'd in quickrecipes.rst.
+
+def introspectingColorTable():
+
+    # introspectingColorTable {
+    hotCT = GetColorTable("hot")
+    print(hotCT)
+    # results of print
+    #    GetControlPoints(0).colors = (0, 0, 255, 255)
+    #    GetControlPoints(0).position = 0
+    #    GetControlPoints(1).colors = (0, 255, 255, 255)
+    #    GetControlPoints(1).position = 0.25
+    #    GetControlPoints(2).colors = (0, 255, 0, 255)
+    #    GetControlPoints(2).position = 0.5
+    #    GetControlPoints(3).colors = (255, 255, 0, 255)
+    #    GetControlPoints(3).position = 0.75
+    #    GetControlPoints(4).colors = (255, 0, 0, 255)
+    #    GetControlPoints(4).position = 1
+    #    smoothing = Linear  # NONE, Linear, CubicSpline
+    #    equalSpacingFlag = 0
+    #    discreteFlag = 0
+    # introspectingColorTable }
+
+def modifyExistingColorTable():
+
+    # modifyTable1 {
+    OpenDatabase(silo_data_path("rect2d.silo"))
+    AddPlot("Pseudocolor", "d")
+
+    pc = PseudocolorAttributes()
+    pc.centering=pc.Nodal
+    # set color table name
+    pc.colorTableName = "hot"
+    SetPlotOptions(pc)
+
+    DrawPlots()
+    # put the plot in full-frame mode
+    v = GetView2D()
+    v.fullFrameActivationMode= v.On
+    SetView2D(v)
+    # modifyTable1 } 
+
+    Test("standard_hot_table")
+
+    hotCTorig = GetColorTable("hot")
+
+    # modifyTable2 {
+    hotCT = GetColorTable("hot")
+
+    # Remove a couple of control points
+    hotCT.RemoveControlPoints(4)
+    hotCT.RemoveControlPoints(3)
+
+    # We must use a different name, as VisIt will not allow overwriting of built-in color tables
+    SetColorTable("hot_edited", hotCT)
+
+    # set color table name so changes to it will be reflected in plot
+    pc.colorTableName = "hot_edited"
+    SetPlotOptions(pc)
+    # modifyTable2 }
+
+    Test("modified_hot_table_1")
+
+    # modifyTable3 {
+    # Change colors
+    hotCT.GetControlPoints(0).colors = (255,0,0,255)
+    hotCT.GetControlPoints(1).colors = (255, 0, 255, 255)
+    SetColorTable("hot_edited", hotCT)
+    # modifyTable3 }
+
+    Test("modified_hot_table_2")
+
+    # modifyTable4 {
+    # Turn on equal spacing
+    hotCT.equalSpacingFlag = 1
+    # Create a new color table by providing a different name
+    SetColorTable("hot2", hotCT)
+
+    # tell the Pseudocolor plot to use the new color table
+    pc.colorTableName = "hot2"
+    SetPlotOptions(pc)
+    # modifyTable4 }
+
+    Test("hot2")
+
+    # modifyTable5 {
+    # Change positions so that the first and last are at the endpoints
+    hotCT.equalSpacingFlag=0
+    hotCT.GetControlPoints(0).position = 0
+    hotCT.GetControlPoints(1).position =0.5
+    hotCT.GetControlPoints(2).position = 1
+    SetColorTable("hot3", hotCT)
+
+    pc.colorTableName = "hot3"
+    SetPlotOptions(pc)
+    # modifyTable5 }
+
+    Test("hot3")
+
+    # remove the added color tables
+    RemoveColorTable("hot_edited")
+    RemoveColorTable("hot2")
+    RemoveColorTable("hot3")
+    DeleteAllPlots()
+
+def createContinuous():
+    # based on http://visitusers.org/index.php?title=Creating_a_color_table
+
+    # continuous1 {
+    # create control points (red, green, blue, position).
+    ct = ((1,0,0,0.), (1,0.8,0.,0.166), (1,1,0,0.333), (0,1,0,0.5),
+          (0,1,1,0.666), (0,0,1,0.8333), (0.8,0.1,1,1))
+
+    ccpl = ColorControlPointList()
+
+    # add the control points to the list 
+    for pt in ct:
+        p = ColorControlPoint()
+        # colors is RGBA and must be in range 0...255
+        p.colors = (pt[0] * 255, pt[1] * 255, pt[2] * 255, 255)
+        p.position = pt[3]
+        ccpl.AddControlPoints(p)
+    AddColorTable("myrainbow", ccpl)
+
+    OpenDatabase(silo_data_path("globe.silo"))
+    AddPlot("Pseudocolor", "speed")
+
+    # Make the plot use the new color table
+    pc = PseudocolorAttributes(1)
+    pc.colorTableName = "myrainbow"
+    SetPlotOptions(pc)
+
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (-0.693476, 0.212776, 0.688344)
+    v. viewUp = (0.161927, 0.976983, -0.138864)
+    SetView3D(v)
+    # continuous1 }
+
+    Test("rainbow_continuous")
+
+    RemoveColorTable("myrainbow")
+    DeleteAllPlots()
+
+
+def createDiscreteUsingVTKNamedColors():
+    # discrete1 {
+    try:
+        import vtk # for vtk.vtkNamedColors
+    except:
+        return
+
+    # to see list of all color names available: 
+    # print(vtk.vtkNamedColors.GetColorNames())
+
+    # choose some colors from vtk.vtkNamedColors
+    colorNames = ["tomato", "turquoise", "van_dyke_brown", "carrot",
+                  "royalblue", "naples_yellow_deep", "cerulean", "warm_grey",
+                  "venetian_red", "seagreen", "sky_blue", "pink"]
+    # Create a color control point list
+    ccpl = ColorControlPointList()
+    # Make it discrete
+    ccpl.discreteFlag=1
+    # Add color control points corresponding to color names
+    for name in colorNames:
+        p = ColorControlPoint()
+        p.colors=vtk.vtkNamedColors().GetColor4ub(name)
+        ccpl.AddControlPoints(p)
+    # add a color table based on the color control points
+    AddColorTable("mylevels", ccpl)
+
+    OpenDatabase(silo_data_path("multi_rect2d.silo"))
+    AddPlot("Subset", "domains")
+    s = SubsetAttributes()
+    s.colorType = s.ColorByColorTable
+    s.colorTableName = "mylevels"
+    SetPlotOptions(s)
+    DrawPlots()
+    # discrete1 }
+
+    Test("discrete_using_vtk")
+
+    # remove the added color tables
+    RemoveColorTable("mylevels")
+    DeleteAllPlots()
+
+def main():
+    introspectingColorTable()
+    modifyExistingColorTable()
+    createContinuous()
+    createDiscreteUsingVTKNamedColors()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_expressions.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_expressions.html new file mode 100644 index 000000000..6986ddc3e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_expressions.html @@ -0,0 +1,42 @@ + +Results for quickrecipes/expressions.py + +

Results of VisIt Regression Test - quickrecipes/expressions

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
materials_to_values0.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_expressions_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_expressions_py.html new file mode 100644 index 000000000..cc1bafbcd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_expressions_py.html @@ -0,0 +1,62 @@ +quickrecipes/expressions.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  expressions.py
+#
+#  Programmer: Eric Brugger
+#  Date:       August 26, 2022
+#
+#  Modificatons:
+#    Kathleen Biagas, Mon Sep 12, 2022
+#    Change OpenDatabase call to use 'silo_data_path' so that the test can
+#    run on Windows.
+#
+# ----------------------------------------------------------------------------
+
+
+# NOTE: Sections of this test file are 'literalinclude'd in quickrecipes.rst.
+# After modifying this file, ensure the proper content is still displayed in the doc.
+
+# comments of the form '# sometext {' and '# sometext }' bracket the sections
+# that are 'literalinclude'd in quickrecipes.rst.
+
+# mapMaterialsToValues {
+# Create an expression that maps material numbers to scalar values.
+#
+# var is the name of the expression.
+# mat is the name of the material variable.
+# mesh is the name of the mesh variable.
+# pairs is a list of tuples of material number and scalar value.
+# The material number of the last tuple of the list is ignored and the value
+# will be used for all the remaining materials.
+
+def create_mat_value_expr(var, mat, mesh, pairs):
+    expr=""
+    parens=""
+    nlist = len(pairs)
+    ilist = 0
+    for pair in pairs:
+        ilist = ilist + 1
+        parens = parens + ")"
+        if (ilist == nlist):
+            expr = expr + "zonal_constant(%s,%f" % (mesh, pair[1]) + parens
+        else:
+            expr=expr + "if(eq(dominant_mat(%s),zonal_constant(%s,%d)),zonal_constant(%s,%f)," % (mat, mesh, pair[0], mesh, pair[1])
+
+    DefineScalarExpression(var, expr)
+
+# Call the function to create the expression.
+mat_val_pairs = [(1, 0.75), (3, 1.2), (6, 0.2), (7, 1.6), (8, 1.8), (11, 2.2), (-1, 2.5)]
+
+create_mat_value_expr("myvar", "mat1", "quadmesh2d", mat_val_pairs)
+
+# Create a pseudocolor plot of the expression.
+OpenDatabase(silo_data_path("rect2d.silo"))
+AddPlot("Pseudocolor", "myvar")
+DrawPlots()
+# mapMaterialsToValues }
+
+Test("materials_to_values")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_operators.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_operators.html new file mode 100644 index 000000000..371526a48 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_operators.html @@ -0,0 +1,52 @@ + +Results for quickrecipes/operators.py + +

Results of VisIt Regression Test - quickrecipes/operators

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
adding operators error message
 "" .eq. "" : True
adding operators exceptions
 "True" .eq. "True" : True
setting operator attributes error message
 "" .eq. "" : True
setting operator attributes exceptions
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_operators_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_operators_py.html new file mode 100644 index 000000000..b27dbfd69 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_operators_py.html @@ -0,0 +1,80 @@ +quickrecipes/operators.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
+# ----------------------------------------------------------------------------
+
+#
+# Get some utils shared across many .py files used for quick recipes.
+#
+Source(tests_path('quickrecipes','vqr_utils.py.inc'))
+
+def adding_operators():
+
+  OpenDatabase(silo_data_path("globe.silo"))
+  try:
+    # adding operators {
+    # Names of all available operator plugins as a python tuple
+    x = OperatorPlugins()
+
+    print(x)
+    # will produce output something like...
+    # ('AMRStitchCell', 'AxisAlignedSlice4D', 'BoundaryOp', 'Box', 'CartographicProjection',
+    #  'Clip', 'Cone', 'ConnectedComponents', 'CoordSwap', 'CreateBonds', 'Cylinder',
+    #  'DataBinning', 'DeferExpression', 'Displace', 'DualMesh', 'Edge', 'Elevate',
+    #  'EllipsoidSlice', 'Explode', 'ExternalSurface', ...
+    #  ..., 'TriangulateRegularPoints', 'Tube')
+
+    # We need at least one plot that we can add operators to
+    AddPlot("Pseudocolor", "dx")
+    AddPlot("Mesh","mesh1")
+
+    # Add Isovolume and Slice operators using whatever their default attributes are.
+    # The non-zero 2nd arg means to add the operator to all plots. If the 2nd argument
+    # is not present or zero, it means to add the operator only to the *active* plots
+    # (by default, the *active* plots are just the last plot added).
+    AddOperator("Isovolume", 1)
+    AddOperator("Slice", 1)
+    DrawPlots()
+    # adding operators }
+    TestValueEQ('adding operators error message',GetLastError(),'')
+    TestPOA('adding operators exceptions')
+  except Exception as inst:
+    TestFOA('adding operators exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def setting_operator_attributes():
+
+  try:
+    # setting operator attributes {
+    OpenDatabase("~juanita/silo/stuff/noise.silo")
+    AddPlot("Pseudocolor", "hardyglobal")
+    AddOperator("Slice")
+    s = SliceAttributes()
+    s.originType = s.Percent
+    s.project2d = 0
+    SetOperatorOptions(s)
+    DrawPlots()
+
+    nSteps = 20
+    for axis in (0,1,2):
+      s.axisType = axis
+      for step in range(nSteps):
+        t = float(step) / float(nSteps - 1)
+        s.originPercent = t * 100.
+        SetOperatorOptions(s)
+        SaveWindow()
+    # setting operator attributes }
+    TestValueEQ('setting operator attributes error message',GetLastError(),'')
+    TestPOA('setting operator attributes exceptions')
+  except Exception as inst:
+    TestFOA('setting operator attributes exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+adding_operators()
+setting_operator_attributes()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_quantitative_operations.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_quantitative_operations.html new file mode 100644 index 000000000..cd9d6222f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_quantitative_operations.html @@ -0,0 +1,116 @@ + +Results for quickrecipes/quantitative_operations.py + +

Results of VisIt Regression Test - quickrecipes/quantitative_operations

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
defining expressions error message
 "" .eq. "" : True
defining expressions exceptions
 "True" .eq. "True" : True
pick string
 hgslice:   = 2.472 .in. 
+A: noise.silo +Mesh2D +Point: <-10, -7.55102> +Node: 300 +Incident Zones: 294 245 +hgslice: = 2.47203 + + (prec=5, at=86) : True
pick string
 hgslice:   = 4.043 .in. 
+D: noise.silo +Mesh2D +Point: <-1.83673, 1.83673> +Node: 1470 +Incident Zones: 1440 1391 1441 1392 +hgslice: = 4.04322 + + (prec=5, at=105) : True
pick error message
 "" .eq. "" : True
pick exceptions
 "True" .eq. "True" : True
lineout 1 error message
 "" .eq. "" : True
lineout 1 exceptions
 "True" .eq. "True" : True
lineout 2 error message
 "" .eq. "" : True
lineout 2 exceptions
 "True" .eq. "True" : True
query error message
 "" .eq. "" : True
query exceptions
 "True" .eq. "True" : True
finding the min and max error message
 "" .eq. "" : True
finding the min and max exceptions
 "True" .eq. "True" : True
csv query over time error message
 "" .eq. "" : True
csv query over time exceptions
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_quantitative_operations_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_quantitative_operations_py.html new file mode 100644 index 000000000..78164d36f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_quantitative_operations_py.html @@ -0,0 +1,219 @@ +quickrecipes/quantitative_operations.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
+# ----------------------------------------------------------------------------
+
+#
+# Get some utils shared across many .py files used for quick recipes.
+#
+Source(tests_path('quickrecipes','vqr_utils.py.inc'))
+
+def defining_expressions():
+
+  try:
+    # defining expressions {
+    # Creating a new expression
+    OpenDatabase("~juanita/silo/stuff/noise.silo")
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+    DefineScalarExpression("newvar", "sin(hardyglobal) + cos(shepardglobal)")
+    ChangeActivePlotsVar("newvar")
+    # defining expressions }
+    TestValueEQ('defining expressions error message',GetLastError(),'')
+    TestPOA('defining expressions exceptions')
+  except Exception as inst:
+    TestFOA('defining expressions exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def pick():
+
+  try:
+    # pick {
+    OpenDatabase("~juanita/silo/stuff/noise.silo")
+    AddPlot("Pseudocolor", "hgslice")
+    DrawPlots()
+    s = []
+    # Pick by a node id
+    PickByNode(300)
+    s = s + [GetPickOutput()]
+    # Pick by a cell id
+    PickByZone(250)
+    s = s + [GetPickOutput()]
+    # Pick on a cell using a 3d point
+    Pick((-2., 2., 0.))
+    s = s + [GetPickOutput()]
+    # Pick on the node closest to (-2,2,0)
+    NodePick((-2,2,0))
+    s = s + [GetPickOutput()]
+    # Print all pick results
+    print(s)
+    # Will produce output somewhat like...
+    # ['\nA:  noise.silo\nMesh2D \nPoint: <-10, -7.55102>\nNode:...
+    #  '\nD:  noise.silo\nMesh2D \nPoint: <-1.83673, 1.83673>\nNode:...
+    #  ...\nhgslice:  <nodal> = 4.04322\n\n']
+    # pick }
+    TestValueIN('pick string',s[0],'hgslice:  <nodal> = 2.472')
+    TestValueIN('pick string',s[3],'hgslice:  <nodal> = 4.043')
+    TestValueEQ('pick error message',GetLastError(),'')
+    TestPOA('pick exceptions')
+  except Exception as inst:
+    TestFOA('pick exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def lineout1():
+
+  try:
+    # lineout 1 {
+    p0 = (-5,-3, 0)
+    p1 = ( 5, 8, 0)
+    OpenDatabase("~juanita/silo/stuff/noise.silo")
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+    Lineout(p0, p1)
+    # Specify 65 sample points
+    Lineout(p0, p1, 65)
+    # Do three variables ("default" is "hardyglobal")
+    Lineout(p0, p1, ("default", "airVf", "radial"))
+    # lineout 1 }
+    TestValueEQ('lineout 1 error message',GetLastError(),'')
+    TestPOA('lineout 1 exceptions')
+  except Exception as inst:
+    TestFOA('lineout 1 exception "%s"'%str(inst), LINE())
+    pass
+  # No cleanup because next method uses results from this
+  # DeleteWindow()
+  # vqr_cleanup()
+
+def lineout2():
+
+  try:
+    # lineout 2 {
+    # Set active window to one containing Lineout curve plots (typically #2)
+    SetActiveWindow(2)
+    # Get array of x,y pairs for first curve plot in window
+    SetActivePlots(0)
+    hg_vals = GetPlotInformation()["Curve"]
+    # Get array of x,y pairs for second curve plot in window
+    SetActivePlots(1)
+    avf_vals = GetPlotInformation()["Curve"]
+    # Get array of x,y pairs for third curve plot in window
+    SetActivePlots(2)
+    rad_vals = GetPlotInformation()["Curve"]
+
+    # Write it as CSV data to a file
+    for i in range(int(len(hg_vals) / 2)):
+        idx = i*2+1 # take only y-values in each array
+        print("%g,%g,%g" % (hg_vals[idx], avf_vals[idx], rad_vals[idx]))
+    # lineout 2 }
+    TestValueEQ('lineout 2 error message',GetLastError(),'')
+    TestPOA('lineout 2 exceptions')
+  except Exception as inst:
+    TestFOA('lineout 2 exception "%s"'%str(inst), LINE())
+    pass
+  DeleteWindow()
+  vqr_cleanup()
+
+def query():
+
+  try:
+    # query {
+    OpenDatabase("~juanita/silo/stuff/noise.silo")
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+    Query("NumNodes")
+    print("The float value is: %g" % GetQueryOutputValue())
+    Query("NumNodes")
+    # query }
+    TestValueEQ('query error message',GetLastError(),'')
+    TestPOA('query exceptions')
+  except Exception as inst:
+    TestFOA('query exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def finding_the_min_and_max():
+
+  try:
+    # finding the min and max {
+    # Define a helper function to get node/zone id's from query string.
+    def GetMinMaxIds(qstr):
+        import string
+        s = qstr.split(' ')
+        retval = []
+        nextGood = 0
+        idType = 0
+        for token in s:
+            if token == "(zone" or token == "(cell":
+                idType = 1
+                nextGood = 1
+                continue
+            elif token == "(node":
+                idType = 0
+                nextGood = 1
+                continue
+            if nextGood == 1:
+                nextGood = 0
+                retval = retval + [(idType, int(token))]
+        return retval
+
+    # Set up a plot
+    OpenDatabase("~juanita/silo/stuff/noise.silo")
+    AddPlot("Pseudocolor", "hgslice")
+    DrawPlots()
+    Query("MinMax")
+
+    # Do picks on the ids that were returned by MinMax.
+    for ids in GetMinMaxIds(GetQueryOutputString()):
+        idType = ids[0]
+        id = ids[1]
+        if idType == 0:
+            PickByNode(id)
+        else:
+            PickByZone(id)
+    # finding the min and max }
+    TestValueEQ('finding the min and max error message',GetLastError(),'')
+    TestPOA('finding the min and max exceptions')
+  except Exception as inst:
+    TestFOA('finding the min and max exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def csv_query_over_time():
+
+  try:
+    # csv query over time {
+    OpenDatabase("~juanita/silo/stuff/wave.visit")
+    AddPlot("Pseudocolor", "pressure")
+    DrawPlots()
+
+    n_time_steps = TimeSliderGetNStates()
+    f = open('points.txt', 'w', encoding='utf-8')
+    f.write('time, x, y, z, u, v, w\n')
+    for time_step in range(0, n_time_steps):
+        TimeSliderSetState(time_step)
+        pick = PickByNode(domain=0, element=3726, vars=["u", "v", "w"])
+        Query("Time")
+        time = GetQueryOutputValue()
+        f.write('%g, %g, %g, %g, %g, %g, %g\n' % (time, pick['point'][0], pick['point'][1], pick['point'][2], pick['u'], pick['v'], pick['w']))
+    f.close()
+    # csv query over time }
+    TestValueEQ('csv query over time error message',GetLastError(),'')
+    TestPOA('csv query over time exceptions')
+  except Exception as inst:
+    TestFOA('csv query over time exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+defining_expressions()
+pick()
+lineout1()
+lineout2()
+query()
+finding_the_min_and_max()
+csv_query_over_time()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_saving_images.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_saving_images.html new file mode 100644 index 000000000..99a7a7f2e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_saving_images.html @@ -0,0 +1,52 @@ + +Results for quickrecipes/saving_images.py + +

Results of VisIt Regression Test - quickrecipes/saving_images

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
setting output image characteristics error message
 "" .eq. "" : True
setting output image characteristics no exceptions
 "True" .eq. "True" : True
saving an image error message
 "" .eq. "" : True
saving an image no exceptions
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_saving_images_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_saving_images_py.html new file mode 100644 index 000000000..901f6d47b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_saving_images_py.html @@ -0,0 +1,56 @@ +quickrecipes/saving_images.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
+# ----------------------------------------------------------------------------
+
+#
+# Get some utils shared across many .py files used for quick recipes.
+#
+Source(tests_path('quickrecipes','vqr_utils.py.inc'))
+
+def setting_output_image_characteristics():
+
+  try:
+    # setting output image characteristics {
+    # Prepare to save a BMP file at 1024x768 resolution 
+    s = SaveWindowAttributes()
+    s.format = s.BMP
+    s.fileName = 'mybmpfile'
+    s.width, s.height = 1024,768
+    s.screenCapture = 0
+    SetSaveWindowAttributes(s)
+    # Subsequent calls to SaveWindow() will use these settings
+    # setting output image characteristics }
+    TestValueEQ('setting output image characteristics error message',GetLastError(),'')
+    TestPOA('setting output image characteristics no exceptions')
+  except Exception as inst:
+    TestFOA('setting output image characteristics exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def saving_an_image():
+
+  try:
+    # saving an image {
+    # Save images of all timesteps and add each image filename to a list.
+    names = []
+    for state in range(TimeSliderGetNStates()):
+      SetTimeSliderState(state)
+      # Save the image
+      n = SaveWindow()
+      names = names + [n]
+    print(names)
+    # saving an image }
+    TestValueEQ('saving an image error message',GetLastError(),'')
+    TestPOA('saving an image no exceptions')
+  except Exception as inst:
+    TestFOA('saving an image exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+setting_output_image_characteristics()
+saving_an_image()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_subsetting.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_subsetting.html new file mode 100644 index 000000000..7b84087ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_subsetting.html @@ -0,0 +1,52 @@ + +Results for quickrecipes/subsetting.py + +

Results of VisIt Regression Test - quickrecipes/subsetting

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
turning off domains error message
 "" .eq. "" : True
turning off domains exceptions
 "True" .eq. "True" : True
turning off materials error message
 "" .eq. "" : True
turning off materials exceptions
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_subsetting_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_subsetting_py.html new file mode 100644 index 000000000..9ae01e78b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_subsetting_py.html @@ -0,0 +1,67 @@ +quickrecipes/subsetting.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
+# ----------------------------------------------------------------------------
+
+#
+# Get some utils shared across many .py files used for quick recipes.
+#
+Source(tests_path('quickrecipes','vqr_utils.py.inc'))
+
+def turning_off_domains():
+
+  try:
+    # turning off domains {
+    OpenDatabase("~juanita/silo/stuff/multi_rect2d.silo")
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    # Turning off every other domain
+    d = GetDomains()
+    i = 0
+    for dom in d:
+        if i%2:
+            TurnDomainsOff(dom)
+        i += 1
+
+    # Turn all domains off
+    TurnDomainsOff()
+
+    # Turn on domains 3,5,7
+    TurnDomainsOn((d[3], d[5], d[7]))
+
+    # turning off domains }
+    TestValueEQ('turning off domains error message',GetLastError(),'')
+    TestPOA('turning off domains exceptions')
+  except Exception as inst:
+    TestFOA('turning off domains exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def turning_off_materials():
+
+  try:
+    # turning off materials {
+    OpenDatabase("~juanita/silo/stuff/multi_rect2d.silo")
+    AddPlot("FilledBoundary", "mat1")
+    DrawPlots()
+    # Get the material names 
+    GetMaterials()
+    # GetMaterials() will return a tuple of material names such as
+    #     ('1', '2', '3')
+    # Turn off material with name "2"
+    TurnMaterialsOff("2")
+    # turning off materials }
+    TestValueEQ('turning off materials error message',GetLastError(),'')
+    TestPOA('turning off materials exceptions')
+  except Exception as inst:
+    TestFOA('turning off domains exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+turning_off_domains()
+turning_off_materials()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_view.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_view.html new file mode 100644 index 000000000..14e751912 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_view.html @@ -0,0 +1,60 @@ + +Results for quickrecipes/view.py + +

Results of VisIt Regression Test - quickrecipes/view

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
setting the 2d view error message
 "" .eq. "" : True
setting the 2d view exceptions
 "True" .eq. "True" : True
setting the 3d view error message
 "" .eq. "" : True
setting the 3d view exceptions
 "True" .eq. "True" : True
flying around plots error message
 "" .eq. "" : True
flying around plots exceptions
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_view_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_view_py.html new file mode 100644 index 000000000..c06ecaff9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_view_py.html @@ -0,0 +1,159 @@ +quickrecipes/view.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
+# ----------------------------------------------------------------------------
+
+#
+# Get some utils shared across many .py files used for quick recipes.
+#
+Source(tests_path('quickrecipes','vqr_utils.py.inc'))
+
+def setting_the_2d_view():
+
+  try:
+    # setting the 2d view {
+    OpenDatabase("~juanita/silo/stuff/noise.silo")
+    AddPlot("Pseudocolor", "hgslice")
+    AddPlot("Mesh", "Mesh2D")
+    AddPlot("Label", "hgslice")
+    DrawPlots()
+    print("The current view is:", GetView2D())
+    # Get an initialized 2D view object.
+    # Note that DrawPlots() must be executed prior to getting
+    # the view to ensure current view parameters are obtained
+    v = GetView2D()
+    v.windowCoords = (-7.67964, -3.21856, 2.66766, 7.87724)
+    SetView2D(v)
+    # setting the 2d view }
+    TestValueEQ('setting the 2d view error message',GetLastError(),'')
+    TestPOA('setting the 2d view exceptions')
+  except Exception as inst:
+    TestFOA('setting the 2d view exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def setting_the_3d_view():
+
+  try:
+    # setting the 3d view {
+    OpenDatabase("~juanita/silo/stuff/noise.silo")
+    AddPlot("Pseudocolor", "hardyglobal")
+    AddPlot("Mesh", "Mesh")
+    DrawPlots()
+    # Note that DrawPlots() must be executed prior to getting
+    # the view to ensure current view parameters are obtained
+    v = GetView3D()
+    print("The view is: ", v)
+    v.viewNormal = (-0.571619, 0.405393, 0.713378)
+    v.viewUp = (0.308049, 0.911853, -0.271346)
+    SetView3D(v)
+    # setting the 3d view }
+    TestValueEQ('setting the 3d view error message',GetLastError(),'')
+    TestPOA('setting the 3d view exceptions')
+  except Exception as inst:
+    TestFOA('setting the 3d view exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def flying_around_plots():
+
+  try:
+    # flying around plots {
+    OpenDatabase("~juanita/silo/stuff/globe.silo")
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+
+    # Create the control points for the views.
+    c0 = View3DAttributes()
+    c0.viewNormal = (0, 0, 1)
+    c0.focus = (0, 0, 0)
+    c0.viewUp = (0, 1, 0)
+    c0.viewAngle = 30
+    c0.parallelScale = 17.3205
+    c0.nearPlane = 17.3205
+    c0.farPlane = 81.9615
+    c0.perspective = 1
+
+    c1 = View3DAttributes()
+    c1.viewNormal = (-0.499159, 0.475135, 0.724629)
+    c1.focus = (0, 0, 0)
+    c1.viewUp = (0.196284, 0.876524, -0.439521)
+    c1.viewAngle = 30
+    c1.parallelScale = 14.0932
+    c1.nearPlane = 15.276
+    c1.farPlane = 69.917
+    c1.perspective = 1
+
+    c2 = View3DAttributes()
+    c2.viewNormal = (-0.522881, 0.831168, -0.189092)
+    c2.focus = (0, 0, 0)
+    c2.viewUp = (0.783763, 0.556011, 0.27671)
+    c2.viewAngle = 30
+    c2.parallelScale = 11.3107
+    c2.nearPlane = 14.8914
+    c2.farPlane = 59.5324
+    c2.perspective = 1
+
+    c3 = View3DAttributes()
+    c3.viewNormal = (-0.438771, 0.523661, -0.730246)
+    c3.focus = (0, 0, 0)
+    c3.viewUp = (-0.0199911, 0.80676, 0.590541)
+    c3.viewAngle = 30
+    c3.parallelScale = 8.28257
+    c3.nearPlane = 3.5905
+    c3.farPlane = 48.2315
+    c3.perspective = 1
+
+    c4 = View3DAttributes()
+    c4.viewNormal = (0.286142, -0.342802, -0.894768)
+    c4.focus = (0, 0, 0)
+    c4.viewUp = (-0.0382056, 0.928989, -0.36813)
+    c4.viewAngle = 30
+    c4.parallelScale = 10.4152
+    c4.nearPlane = 1.5495
+    c4.farPlane = 56.1905
+    c4.perspective = 1
+
+    c5 = View3DAttributes()
+    c5.viewNormal = (0.974296, -0.223599, -0.0274086)
+    c5.focus = (0, 0, 0)
+    c5.viewUp = (0.222245, 0.97394, -0.0452541)
+    c5.viewAngle = 30
+    c5.parallelScale = 1.1052
+    c5.nearPlane = 24.1248
+    c5.farPlane = 58.7658
+    c5.perspective = 1
+
+    # Make the last point loop around to the first
+    c6 = c0
+
+    # Create a tuple of camera values and x values. The x values
+    # determine where in [0,1] the control points occur.
+    cpts = (c0, c1, c2, c3, c4, c5, c6)
+    x=[]
+    for i in range(7):
+        x = x + [float(i) / float(6.)]
+
+    # Animate the view using EvalCubicSpline.
+    nsteps = 100
+    for i in range(nsteps):
+        t = float(i) / float(nsteps - 1)
+        c = EvalCubicSpline(t, x, cpts)
+        c.nearPlane = -34.461
+        c.farPlane = 34.461
+        SetView3D(c)
+    # flying around plots }
+    TestValueEQ('flying around plots error message',GetLastError(),'')
+    TestPOA('flying around plots exceptions')
+  except Exception as inst:
+    TestFOA('flying around plots exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+setting_the_2d_view()
+setting_the_3d_view()
+flying_around_plots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_annotations.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_annotations.html new file mode 100644 index 000000000..01b188fcd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_annotations.html @@ -0,0 +1,76 @@ + +Results for quickrecipes/working_with_annotations.py + +

Results of VisIt Regression Test - quickrecipes/working_with_annotations

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
using gradient background colors error message
 "" .eq. "" : True
using gradient background colors exceptions
 "True" .eq. "True" : True
adding a banner error message
 "" .eq. "" : True
adding a banner exceptions
 "True" .eq. "True" : True
adding a time slider error message
 "" .eq. "" : True
adding a time slider exceptions
 "True" .eq. "True" : True
adding a logo error message
 "" .eq. "" : True
adding a logo exceptions
 "True" .eq. "True" : True
modifying a legend error message
 "" .eq. "" : True
modifying a legend exceptions
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_annotations_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_annotations_py.html new file mode 100644 index 000000000..492151b39 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_annotations_py.html @@ -0,0 +1,195 @@ +quickrecipes/working_with_annotations.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
+# ----------------------------------------------------------------------------
+
+#
+# Get some utils shared across many .py files used for quick recipes.
+#
+Source(tests_path('quickrecipes','vqr_utils.py.inc'))
+
+def using_gradient_background_colors():
+
+  try:
+    # using gradient background colors {
+    # Set a blue/black, radial, gradient background.
+    a = AnnotationAttributes()
+    a.backgroundMode = a.Gradient
+    a.gradientBackgroundStyle = a.Radial
+    a.gradientColor1 = (0,0,255,255) # Blue
+    a.gradientColor2 = (0,0,0,255) # Black
+    SetAnnotationAttributes(a)
+    # using gradient background colors }
+    TestValueEQ('using gradient background colors error message',GetLastError(),'')
+    TestPOA('using gradient background colors exceptions')
+  except Exception as inst:
+    TestFOA('using gradient background colors exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def adding_a_banner():
+
+  try:
+    # adding a banner {
+    # Create a Text2D object to indicate the visualization is unclassified.
+
+    # Note the annoation object is added to the viewer window the moment it is created.
+    banner = CreateAnnotationObject("Text2D")
+
+    # Note text is updated in the viewer window the moment it is changed.
+    banner.text = "Unclassified"
+
+    banner.position = (0.37, 0.95)
+    banner.fontBold = 1
+
+    # print the attributes to see what you can set in the Text2D object.
+    print(banner)
+    # print(banner) will print something like...
+    #    visible = 1
+    #    position = (0.5, 0.5)
+    #    height = 0.03
+    #    textColor = (0, 0, 0, 255)
+    #    useForegroundForTextColor = 1
+    #    text = "2D text annotation"
+    #    fontFamily = Arial  # Arial, Courier, Times
+    #    fontBold = 0
+    #    fontItalic = 0
+    #    fontShadow = 0
+    # adding a banner }
+    TestValueEQ('adding a banner error message',GetLastError(),'')
+    TestPOA('adding a banner exceptions')
+  except Exception as inst:
+    TestFOA('adding a banner exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def adding_a_time_slider():
+
+  try:
+    # adding a time slider {
+    # Add a time slider in the lower left corner
+    slider = CreateAnnotationObject("TimeSlider")
+
+    # Adjust the height. Takes effect immediately as the value is assigned.
+    slider.height = 0.07
+
+    # Print members that are available in the time slider object
+    print(slider)
+    # will produce something like...
+    #    visible = 1
+    #    active = 1
+    #    position = (0.01, 0.01)
+    #    width = 0.4
+    #    height = 0.05
+    #    textColor = (0, 0, 0, 255)
+    #    useForegroundForTextColor = 1
+    #    startColor = (0, 255, 255, 255)
+    #    endColor = (255, 255, 255, 153)
+    #    text = "Time=$time"
+    #    timeFormatString = "%g"
+    #    timeDisplay = AllFrames  # AllFrames, FramesForPlot, StatesForPlot, UserSpecified
+    #    percentComplete = 0
+    #    rounded = 1
+    #    shaded = 1
+    # adding a time slider }
+    TestValueEQ('adding a time slider error message',GetLastError(),'')
+    TestPOA('adding a time slider exceptions')
+  except Exception as inst:
+    TestFOA('adding a time slider exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def adding_a_logo():
+
+  try:
+    # adding a logo {
+    # Incorporate LLNL logo image (llnl.jpeg) as an annotation
+    image = CreateAnnotationObject("Image")
+    image.image = "llnl.jpeg"
+    image.position = (0.02, 0.02)
+
+    # Print the other image annotation options
+    print(image)
+    # Will print something like...
+    #    visible = 1
+    #    active = 1
+    #    position = (0, 0)
+    #    transparencyColor = (0, 0, 0, 255)
+    #    useTransparencyColor = 0
+    #    width = 100.000000
+    #    height = 100.000000
+    #    maintainAspectRatio = 1
+    #    image = ("")
+    # adding a logo }
+    TestValueEQ('adding a logo error message',GetLastError(),'')
+    TestPOA('adding a logo exceptions')
+  except Exception as inst:
+    TestFOA('adding a logo exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def modifying_a_legend():
+
+  try:
+    # modifying a legend {
+    # Open a file and make a plot
+    OpenDatabase("~juanita/silo/stuff/noise.silo")
+    AddPlot("Mesh", "Mesh")
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+    # Get the legend annotation object for the Pseudocolor plot, the second
+    # plot in the list (0-indexed).
+    plotName = GetPlotList().GetPlots(1).plotName
+    legend = GetAnnotationObject(plotName)
+    # See if we can scale the legend.
+    legend.xScale = 3.
+    legend.yScale = 3.
+    # the bounding box.
+    legend.drawBoundingBox = 1
+    legend.boundingBoxColor = (180,180,180,230)
+    # Make it horizontal
+    legend.orientation = legend.HorizontalBottom
+    # moving the legend
+    legend.managePosition = 0
+    legend.position = (0.7,0.15)
+    # text color
+    InvertBackgroundColor()
+    legend.useForegroundForTextColor = 0
+    legend.textColor = (255, 0, 0, 255)
+    # number format
+    legend.numberFormat = "%1.4e"
+    # the font.
+    legend.fontFamily = legend.Arial
+    legend.fontBold = 1
+    legend.fontItalic = 1
+    # turning off the labels.
+    legend.fontItalic = 0
+    legend.drawLabels = 0
+    legend.drawMinMax = 0
+    # turning off the title.
+    legend.drawTitle = 0
+    # Use user-supplied labels, rather than numeric values.
+    legend.controlTicks=0
+    legend.drawLabels = legend.Labels
+    # suppliedLabels must be strings, only valid when controlTicks is 0
+    legend.suppliedLabels=("A", "B", "C", "D", "E")
+    # Give the legend a custom title
+    legend.useCustomTitle=1
+    legend.customTitle="my custom title"
+    # modifying a legend }
+    TestValueEQ('modifying a legend error message',GetLastError(),'')
+    TestPOA('modifying a legend exceptions')
+  except Exception as inst:
+    TestFOA('modifying a legend exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+using_gradient_background_colors()
+adding_a_banner()
+adding_a_time_slider()
+adding_a_logo()
+modifying_a_legend()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_dbs.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_dbs.html new file mode 100644 index 000000000..30e7d96b6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_dbs.html @@ -0,0 +1,68 @@ + +Results for quickrecipes/working_with_dbs.py + +

Results of VisIt Regression Test - quickrecipes/working_with_dbs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
opening a database error message
 "" .eq. "" : True
opening a database no exceptions
 "True" .eq. "True" : True
opening a database at specific time error message
 "" .eq. "" : True
opening a database at specific time no exceptions
 "True" .eq. "True" : True
opening a virtual database error message
 "" .eq. "" : True
opening a virtual database no exceptions
 "True" .eq. "True" : True
opening a remote database error message
 "" .eq. "" : True
opening a remote database no exceptions
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_dbs_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_dbs_py.html new file mode 100644 index 000000000..04f452a30 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_dbs_py.html @@ -0,0 +1,78 @@ +quickrecipes/working_with_dbs.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
+# ----------------------------------------------------------------------------
+
+#
+# Get some utils shared across many .py files used for quick recipes.
+#
+Source(tests_path('quickrecipes','vqr_utils.py.inc'))
+
+def opening_a_database():
+
+  try:
+    # opening a database {
+    # Open a database (no time specified defaults to time state 0)
+    OpenDatabase("/Users/amina/data/pdb_test_data/allinone00.pdb")
+    # opening a database }
+    TestValueEQ('opening a database error message',GetLastError(),'')
+    TestPOA('opening a database no exceptions')
+  except Exception as inst:
+    TestFOA('opening a database exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def opening_a_database_at_specific_time():
+
+  try:
+    # opening a database at specific time {
+    # Open a database at a specific time state to pick up transient variables
+    OpenDatabase("/Users/amina/data/pdb_test_data/allinone00.pdb", 17)
+    # opening a database at specific time }
+    TestValueEQ('opening a database at specific time error message',GetLastError(),'')
+    TestPOA('opening a database at specific time no exceptions')
+  except Exception as inst:
+    TestFOA('opening a database at specific time exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def opening_a_virtual_database():
+
+  try:
+    # opening a virtual database {
+    # Opening just one file, the first, in series wave0000.silo, wave0010.silo, ...
+    OpenDatabase("~juanita/silo/stuff/wave0000.silo")
+
+    # Opening a virtual database representing all available states.
+    OpenDatabase("~juanita/silo/stuff/wave*.silo database")
+    # opening a virtual database }
+    TestValueEQ('opening a virtual database error message',GetLastError(),'')
+    TestPOA('opening a virtual database no exceptions')
+  except Exception as inst:
+    TestFOA('opening a virtual database exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def opening_a_remote_database():
+
+  try:
+    # opening a remote database {
+    # Opening a file on a remote computer by giving a host name
+    # Also, open the database to a later time slice (17)
+    OpenDatabase("thunder:~juanita/silo/stuff/wave.visit", 17)
+    # opening a remote database }
+    TestValueEQ('opening a remote database error message',GetLastError(),'')
+    TestPOA('opening a remote database no exceptions')
+  except Exception as inst:
+    TestFOA('opening a remote database exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+opening_a_database()
+opening_a_database_at_specific_time()
+opening_a_virtual_database()
+opening_a_remote_database()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_plots.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_plots.html new file mode 100644 index 000000000..49cc6a071 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_plots.html @@ -0,0 +1,76 @@ + +Results for quickrecipes/working_with_plots.py + +

Results of VisIt Regression Test - quickrecipes/working_with_plots

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
creating a plot error message
 "" .eq. "" : True
creating a plot exceptions
 "True" .eq. "True" : True
plotting materials error message
 "" .eq. "" : True
plotting materials exceptions
 "True" .eq. "True" : True
setting plot attributes message
 "" .eq. "" : True
setting plot attributes exceptions
 "True" .eq. "True" : True
working with multiple plots error message
 "" .eq. "" : True
working with multiple plots exceptions
 "True" .eq. "True" : True
plots in the error state error message
 "" .eq. "" : True
plots in the error state exceptions
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_plots_py.html b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_plots_py.html new file mode 100644 index 000000000..b3af10775 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/quickrecipes_working_with_plots_py.html @@ -0,0 +1,196 @@ +quickrecipes/working_with_plots.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
+# ----------------------------------------------------------------------------
+
+#
+# Get some utils shared across many .py files used for quick recipes.
+#
+Source(tests_path('quickrecipes','vqr_utils.py.inc'))
+
+def creating_a_plot():
+
+  OpenDatabase(silo_data_path("wave.visit"))
+  try:
+    # creating a plot {
+    # Names of all available plot plugins as a python tuple
+    x = PlotPlugins()
+
+    # print(x) will produce something like...
+    #     ('Boundary', 'Contour', 'Curve', 'FilledBoundary', 'Histogram',
+    #     'Label', 'Mesh', 'Molecule', 'MultiCurve', 'ParallelCoordinates',
+    #     'Pseudocolor', 'Scatter', 'Spreadsheet', 'Subset', 'Tensor',
+    #     'Truecolor', 'Vector', 'Volume')
+    print(x)
+
+    # Create plots with AddPlot(<plot-plugin-name>,<database-variable-name>)
+    AddPlot("Pseudocolor", "pressure")
+    AddPlot("Mesh", "quadmesh")
+
+    # Draw the plots
+    DrawPlots()
+    # creating a plot }
+    TestValueEQ('creating a plot error message',GetLastError(),'')
+    TestPOA('creating a plot exceptions')
+  except Exception as inst:
+    TestFOA('creating a plot exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def plotting_materials():
+
+  OpenDatabase(silo_data_path("globe.silo"))
+  try:
+    # plotting materials {
+    # Plot material boundaries
+    AddPlot("Boundary", "mat1")
+    # Plot materials
+    AddPlot("FilledBoundary", "mat1")
+    # plotting materials }
+    TestValueEQ('plotting materials error message',GetLastError(),'')
+    TestPOA('plotting materials exceptions')
+  except Exception as inst:
+    TestFOA('plotting materials exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def setting_plot_attributes():
+
+  OpenDatabase(silo_data_path("wave.visit"))
+  try:
+    # setting plot attributes {
+    # Creating a Pseudocolor plot and setting min/max values.
+    AddPlot("Pseudocolor", "pressure")
+    p = PseudocolorAttributes()
+
+    # print p to find the names of members you want to change
+    #
+    # print(p) will produce output somewhat like...
+    #     scaling = Linear  # Linear, Log, Skew
+    #     skewFactor = 1
+    #     limitsMode = OriginalData  # OriginalData, ActualData
+    #     minFlag = 0
+    #     min = 0
+    #     useBelowMinColor = 0
+    #     belowMinColor = (0, 0, 0, 255)
+    #     maxFlag = 0
+    #     max = 1
+    #     .
+    #     .
+    #     .
+    print(p)
+
+    # Set the min/max values
+    p.min, p.minFlag = 0.0, 1
+    p.max, p.maxFlag = 10.0, 1
+    SetPlotOptions(p)
+    # setting plot attributes }
+    TestValueEQ('setting plot attributes message',GetLastError(),'')
+    TestPOA('setting plot attributes exceptions')
+  except Exception as inst:
+    TestFOA('setting plot attributes exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+def working_with_multiple_plots():
+
+  OpenDatabase(silo_data_path("tire.silo"))
+  try:
+    # working with multiple plots {
+
+    # Create more than 1 plot of the same type
+    AddPlot("Pseudocolor", "pressure")
+    AddPlot("Pseudocolor", "temperature")
+
+    # List the plots. The second plot should be active.
+    ListPlots()
+
+    # The output from ListPlots() will look something like...
+    #     Plot[0]|id=5;type="Pseudocolor";database="localhost:/Users/miller86/visit/visit/data/silo_hdf5_test_data/tire.silo";
+    #         var=pressure;active=0;hidden=0;framerange=(0, 0);keyframes={0};database keyframes={0};operators={};
+    #         activeOperator=-1
+    #     Plot[1]|id=6;type="Pseudocolor";database="localhost:/Users/miller86/visit/visit/data/silo_hdf5_test_data/tire.silo";
+    #         var=temperature;active=1;hidden=0;framerange=(0, 0);keyframes={0};database keyframes={0};operators={};
+    #         activeOperator=-1
+    # Note that active=1 for Plot[1] meaning plot #1 is the active plot
+
+    # Draw the plots
+    DrawPlots()
+
+    # Hide the first plot
+    SetActivePlots(0) # makes plot 0 the active plot
+    HideActivePlots()
+
+    # Set both plots' color table to "hot"
+    p = PseudocolorAttributes()
+    p.colorTableName = "hot"
+    SetActivePlots((0,1)) # makes both plots active
+    SetPlotOptions(p)
+
+    # Show the first plot again.
+    SetActivePlots(0)
+    HideActivePlots()
+
+    # Delete the second plot
+    SetActivePlots(1)
+    DeleteActivePlots()
+    ListPlots()
+
+    # working with multiple plots }
+    TestValueEQ('working with multiple plots error message',GetLastError(),'')
+    TestPOA('working with multiple plots exceptions')
+  except Exception as inst:
+    TestFOA('working with multiple plots exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+  CloseDatabase(silo_data_path("tire.silo"))
+
+def plots_in_the_error_state():
+
+  try:
+    # plots in the error state {
+
+    # Open the database at state 20 and add plots for "pressure" and "transient".
+    # "transient" variable exists only in states 18...51.
+    OpenDatabase(silo_data_path("wave.visit"),20)
+    AddPlot("Pseudocolor","pressure")
+    AddPlot("Pseudocolor","transient")
+    DrawPlots()
+
+    # Start saving images from every 10th state starting at state 20 
+    # but take care to clean up when we get an error.
+    for state in range(20,TimeSliderGetNStates(),10):
+
+        TimeSliderSetState(state)
+
+        if DrawPlots() == 0:
+
+            # Find plot(s) in error state and remove them
+            pl = GetPlotList()
+            for i in range(pl.GetNumPlots()):
+                if pl.GetPlots(i).stateType == pl.GetPlots(i).Error:
+                    SetActivePlots((i,))
+                    DeleteActivePlots()
+
+            # Clear the last error message
+            GetLastError(1)
+
+        SaveWindow()
+
+    # plots in the error state }
+    TestValueEQ('plots in the error state error message',GetLastError(),'')
+    TestPOA('plots in the error state exceptions')
+  except Exception as inst:
+    TestFOA('plots in the error state exception "%s"'%str(inst), LINE())
+    pass
+  vqr_cleanup()
+
+creating_a_plot()
+plotting_materials()
+setting_plot_attributes()
+working_with_multiple_plots()
+plots_in_the_error_state()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_annotation.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_annotation.html new file mode 100644 index 000000000..57824b122 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_annotation.html @@ -0,0 +1,294 @@ + +Results for rendering/annotation.py + +

Results of VisIt Regression Test - rendering/annotation

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
annot_010.000.00
annot_020.000.00
annot_030.000.00
annot_040.000.00
annot_050.000.00
annot2d_010.000.00
annot2d_020.000.00
annot2d_030.000.00
annot2d_040.000.00
annot2d_050.000.00
annot2d_060.000.00
annot2d_070.000.00
annot2d_080.000.00
annot2d_090.000.00
annot2d_100.000.00
annot2d_110.000.00
annot2d_120.000.00
annot2d_130.000.00
annot2d_140.000.00
annot2d_150.000.00
annot2d_160.000.00
annot2d_170.000.00
annot2d_180.000.00
annot2d_190.000.00
annot2d_200.000.00
annot2d_210.000.00
annot2d_220.000.00
annot2d_230.000.00
annot2d_240.000.00
annot2d_250.000.00
annot2d_260.000.00
annot2d_270.000.00
annot3d_010.000.00
annot3d_020.000.00
annot3d_030.000.00
annot3d_040.000.00
annot3d_050.000.00
annot3d_060.000.00
annot3d_070.000.00
annot3d_080.000.00
annot3d_090.000.00
annot3d_100.000.00
annot3d_110.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_annotation_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_annotation_py.html new file mode 100644 index 000000000..730386160 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_annotation_py.html @@ -0,0 +1,464 @@ +rendering/annotation.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  annotation.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - pc, subset
+#              operators - none
+#              selection - none
+#
+#  Defect ID:  none
+#
+#  Programmer: Brad Whitlock
+#  Date:       Mon Jun 3 13:25:18 PST 2002
+#
+#  Modifications:
+#    Kathleen Bonnell, Thu Jul 18 10:33:07 PDT 2002
+#    Added test for combinations of ticks/labels/gridlines to ensure
+#    that they all play together nicely.  Removed test of userInfo, as it will
+#    always have a different timestamp than the baseline image.
+#
+#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002 
+#    Changed the variable format for SubsetPlots, to reflect new interface
+#    which allows subsets of groups. 
+#
+#    Eric Brugger, Mon Nov 11 14:09:08 PST 2002
+#    Changed the test suite extensively since the 2d annotations were
+#    enhanced significantly and the 3d annotation field names were changed
+#    to match.
+#
+#    Hank Childs, Tue Nov 19 15:45:12 PST 2002
+#    Changed Aslice to Slice to account for interface change in slicing.
+#
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from Subset plots.
+#
+#    Eric Brugger, Tue Nov 25 15:12:15 PST 2003
+#    Added tests for axis labeling with narrow 2d windows.
+#
+#    Kathleen Bonnell, Wed May  5 08:11:53 PDT 2004
+#    Modified slice atts to get same picture since defaults have changed. 
+#
+#    Kathleen Bonnell, Mon Sep 14 15:01:25 PDT 2009
+#    Removed deprecated annotation settings.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Wed Jan  8 13:39:46 PST 2014
+#    Added 2d tests 26 & 27, gridlines with a different saved window size.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+#    Alister Maguire, Mon Mar  5 14:10:23 PST 2018
+#    Added a test for manipulating the triad attributes. 
+#
+#    Alister Maguire, Fri Mar  9 10:21:50 PST 2018
+#    Now using a 'set manually' flag for the triad attribtues. 
+#
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Slice")
+slice = SliceAttributes()
+slice.project2d = 1
+slice.SetAxisType(slice.XAxis)
+slice.SetFlip(1)
+SetOperatorOptions(slice)
+DrawPlots()
+
+# Test gradient backgrounds
+a = GetAnnotationAttributes()
+a.gradientColor1 = (0, 255, 255)
+a.gradientColor2 = (0, 0, 255)
+a.gradientBackgroundStyle = 0 # TopToBottom
+a.backgroundMode = 1 # Gradient
+SetAnnotationAttributes(a)
+Test("annot_01")
+a.gradientBackgroundStyle = 4 # Radial
+SetAnnotationAttributes(a)
+Test("annot_02")
+
+# Test setting background/foreground colors
+a.backgroundColor = (0, 0, 0)
+a.foregroundColor = (255, 255, 255)
+a.backgroundMode = 0 # Solid
+SetAnnotationAttributes(a)
+Test("annot_03")
+
+# Turn off the database
+a.databaseInfoFlag = 0
+SetAnnotationAttributes(a)
+Test("annot_04")
+
+a.databaseInfoFlag = 1
+
+# Turn off the legend
+a.legendInfoFlag = 0
+SetAnnotationAttributes(a)
+Test("annot_05")
+
+a.legendInfoFlag = 1
+
+##
+## Test 2D options
+##
+
+# Turn off the 2D axes
+a.axes2D.visible = 0
+SetAnnotationAttributes(a)
+Test("annot2d_01")
+
+a.axes2D.visible = 1
+
+# Test 2D axis labels
+a.axes2D.xAxis.label.visible = 0
+a.axes2D.yAxis.label.visible = 0
+SetAnnotationAttributes(a)
+Test("annot2d_02")
+
+a.axes2D.xAxis.label.visible = 1
+a.axes2D.yAxis.label.visible = 0
+SetAnnotationAttributes(a)
+Test("annot2d_03")
+
+a.axes2D.xAxis.label.visible = 0
+a.axes2D.yAxis.label.visible = 1
+SetAnnotationAttributes(a)
+Test("annot2d_04")
+
+a.axes2D.xAxis.label.visible = 1
+a.axes2D.yAxis.label.visible = 1
+
+# Test 2D axis titles
+a.axes2D.xAxis.title.visible = 0
+a.axes2D.yAxis.title.visible = 0
+SetAnnotationAttributes(a)
+Test("annot2d_05")
+
+a.axes2D.xAxis.title.visible = 1
+a.axes2D.yAxis.title.visible = 0
+SetAnnotationAttributes(a)
+Test("annot2d_06")
+
+a.axes2D.xAxis.title.visible = 0
+a.axes2D.yAxis.title.visible = 1
+SetAnnotationAttributes(a)
+Test("annot2d_07")
+
+a.axes2D.xAxis.title.visible = 1
+a.axes2D.yAxis.title.visible = 1
+
+# Test 2D gridlines
+a.axes2D.xAxis.grid = 1
+a.axes2D.yAxis.grid = 0
+SetAnnotationAttributes(a)
+Test("annot2d_08")
+
+a.axes2D.xAxis.grid = 0
+a.axes2D.yAxis.grid = 1
+SetAnnotationAttributes(a)
+Test("annot2d_09")
+
+a.axes2D.xAxis.grid = 1
+a.axes2D.yAxis.grid = 1
+SetAnnotationAttributes(a)
+Test("annot2d_10")
+
+a.axes2D.xAxis.grid = 0
+a.axes2D.yAxis.grid = 0
+
+# Test auto set ticks off
+a.axes2D.autoSetTicks = 0
+a.axes2D.xAxis.tickMarks.majorMinimum = -8.
+a.axes2D.xAxis.tickMarks.majorMaximum = 8.
+a.axes2D.xAxis.tickMarks.majorSpacing = 4.
+a.axes2D.xAxis.tickMarks.minorSpacing = 1.
+a.axes2D.yAxis.tickMarks.majorMinimum = -9.
+a.axes2D.yAxis.tickMarks.majorMaximum = 9.
+a.axes2D.yAxis.tickMarks.majorSpacing = 3.
+a.axes2D.yAxis.tickMarks.minorSpacing = 1.
+a.axes2D.tickAxes = a.axes2D.All  # All
+a.axes2D.xAxis.grid = 1
+a.axes2D.yAxis.grid = 1
+SetAnnotationAttributes(a)
+Test("annot2d_11")
+
+a.axes2D.autoSetTicks = 1
+a.axes2D.tickAxes = a.axes2D.BottomLeft # BottomLeft
+a.axes2D.xAxis.grid = 0
+a.axes2D.yAxis.grid = 0
+
+# Test tick locations
+a.axes2D.tickLocation = a.axes2D.Inside # Inside
+SetAnnotationAttributes(a)
+Test("annot2d_12")
+
+a.axes2D.tickLocation = a.axes2D.Both # Both
+SetAnnotationAttributes(a)
+Test("annot2d_13")
+
+a.axes2D.tickLocation = 1 # Outside
+
+# Test font sizes
+a.axes2D.xAxis.label.font.scale = 1.5
+a.axes2D.yAxis.label.font.scale = 1.5
+a.axes2D.xAxis.title.font.scale = 1.5
+a.axes2D.yAxis.title.font.scale = 1.5
+SetAnnotationAttributes(a)
+Test("annot2d_14")
+
+a.axes2D.xAxis.label.font.scale = 2
+a.axes2D.yAxis.label.font.scale = 2
+a.axes2D.xAxis.title.font.scale = 2
+a.axes2D.yAxis.title.font.scale = 2
+SetAnnotationAttributes(a)
+Test("annot2d_15")
+
+a.axes2D.xAxis.label.font.scale = 1
+a.axes2D.yAxis.label.font.scale = 1
+a.axes2D.xAxis.title.font.scale = 1
+a.axes2D.yAxis.title.font.scale = 1
+
+# Test labeling locations
+a.axes2D.tickAxes = a.axes2D.Off
+SetAnnotationAttributes(a)
+Test("annot2d_16")
+
+a.axes2D.tickAxes = a.axes2D.Bottom
+SetAnnotationAttributes(a)
+Test("annot2d_17")
+
+a.axes2D.tickAxes = a.axes2D.Left
+SetAnnotationAttributes(a)
+Test("annot2d_18")
+
+a.axes2D.tickAxes = a.axes2D.All
+SetAnnotationAttributes(a)
+Test("annot2d_19")
+
+a.axes2D.tickAxes = a.axes2D.BottomLeft
+
+# Test how the 2D flags play together
+# Especially with gridlines on.  Changing
+# databases so can also test that gridline
+# length is correct in each direction.
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+ResetView()
+
+# Turn on y axis labels, x grid lines
+# and turn off ticks.
+a.axes2D.xAxis.label.visible = 0
+a.axes2D.yAxis.label.visible = 1
+a.axes2D.xAxis.grid = 1
+a.axes2D.yAxis.grid = 0
+a.axes2D.tickAxes = a.axes2D.Off
+SetAnnotationAttributes(a)
+Test("annot2d_20")
+
+# Turn on y axis labels, bottom ticks marks,
+# and x and y gridlines 
+a.axes2D.xAxis.grid = 1
+a.axes2D.yAxis.grid = 1
+a.axes2D.tickAxes = a.axes2D.Bottom
+a.axes2D.tickLocation = a.axes2D.Outside
+a.axes2D.xAxis.label.visible = 0
+a.axes2D.yAxis.label.visible = 1
+SetAnnotationAttributes(a)
+Test("annot2d_21")
+
+# Test how the gridlines work by themselves 
+# Turn off labels and ticks, 
+a.axes2D.tickAxes = a.axes2D.Off
+a.axes2D.xAxis.label.visible = 0
+a.axes2D.yAxis.label.visible = 0
+SetAnnotationAttributes(a)
+Test("annot2d_22")
+
+# Test the 2d axes line width.
+a.axes2D.tickAxes = a.axes2D.BottomLeft
+a.axes2D.tickLocation = a.axes2D.Outside
+a.axes2D.lineWidth = 2
+SetAnnotationAttributes(a)
+Test("annot2d_23")
+
+# Test axis labeling with a narrow window.
+a.axes2D.xAxis.label.visible = 1
+a.axes2D.yAxis.label.visible = 1
+a.axes2D.xAxis.grid = 0
+a.axes2D.yAxis.grid = 0
+a.axes2D.lineWidth = 0
+SetAnnotationAttributes(a)
+
+v = View2DAttributes()
+v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+v.windowCoords = (-4.68395, 4.89802, 2.5, 2.5001)
+SetView2D(v)
+Test("annot2d_24")
+
+v.windowCoords = (0., 0.0001, 0.216897, 4.925)
+SetView2D(v)
+Test("annot2d_25")
+
+##
+## Gridlines with a changed window size (#1676)
+##
+ResetView()
+DeleteAllPlots()
+OpenDatabase(silo_data_path("multi_rect2d.silo"))
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+a.axes2D.xAxis.grid = 1
+a.axes2D.yAxis.grid = 1
+SetAnnotationAttributes(a)
+Test("annot2d_26")
+swa_orig = SaveWindowAttributes()
+swa = SaveWindowAttributes()
+swa.height = 800
+swa.width = 600
+swa.resConstraint = swa.NoConstraint
+Test("annot2d_27", swa)
+
+##
+## Test 3D options
+##
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("FilledBoundary", "mat1")
+DrawPlots()
+v = View3DAttributes()
+v.viewNormal = (-0.527602, 0.329431, 0.783014)
+v.focus = (0, 0, 0)
+v.viewUp = (0.115312, 0.940986, -0.318195)
+v.viewAngle = 30
+v.parallelScale = 17.3205
+v.nearPlane = -34.641
+v.farPlane = 34.641
+v.perspective = 1
+SetView3D(v)
+
+# Turn off the triad.
+a.axes3D.visible = 1
+a.axes3D.bboxFlag = 1
+a.axes3D.triadFlag = 0
+SetAnnotationAttributes(a)
+Test("annot3d_01")
+
+# Turn off the bounding box
+a.axes3D.triadFlag = 1
+a.axes3D.bboxFlag = 0
+SetAnnotationAttributes(a)
+Test("annot3d_02")
+
+# Turn some axes off
+a.axes3D.bboxFlag = 1
+a.axes3D.xAxis.label.visible = 0
+a.axes3D.yAxis.label.visible = 1
+a.axes3D.zAxis.label.visible = 0
+a.axes3D.xAxis.tickMarks.visible = 0
+a.axes3D.yAxis.tickMarks.visible = 1
+a.axes3D.zAxis.tickMarks.visible = 0
+SetAnnotationAttributes(a)
+Test("annot3d_03")
+
+# Turn on all gridlines
+a.axes3D.xAxis.label.visible = 1
+a.axes3D.yAxis.label.visible = 1
+a.axes3D.zAxis.label.visible = 1
+a.axes3D.xAxis.tickMarks.visible = 1
+a.axes3D.yAxis.tickMarks.visible = 1
+a.axes3D.zAxis.tickMarks.visible = 1
+a.axes3D.xAxis.grid = 1
+a.axes3D.yAxis.grid = 1
+a.axes3D.zAxis.grid = 1
+SetAnnotationAttributes(a)
+Test("annot3d_04")
+
+# Turn off titles, labels and ticks
+# want to ensure gridlines work alone
+a.axes3D.xAxis.label.visible = 0
+a.axes3D.yAxis.label.visible = 0
+a.axes3D.zAxis.label.visible = 0
+a.axes3D.xAxis.title.visible = 0
+a.axes3D.yAxis.title.visible = 0
+a.axes3D.zAxis.title.visible = 0
+a.axes3D.xAxis.tickMarks.visible = 0
+a.axes3D.yAxis.tickMarks.visible = 0
+a.axes3D.zAxis.tickMarks.visible = 0
+SetAnnotationAttributes(a)
+Test("annot3d_05")
+
+# Mix up which ticks, titles, labels, 
+# or gridlines are turned on
+a.axes3D.xAxis.label.visible = 1
+a.axes3D.yAxis.label.visible = 0
+a.axes3D.zAxis.label.visible = 0
+a.axes3D.xAxis.title.visible = 0
+a.axes3D.yAxis.title.visible = 0
+a.axes3D.zAxis.title.visible = 1
+a.axes3D.xAxis.tickMarks.visible = 0
+a.axes3D.yAxis.tickMarks.visible = 1
+a.axes3D.zAxis.tickMarks.visible = 0
+a.axes3D.xAxis.grid = 0
+a.axes3D.yAxis.grid = 0
+a.axes3D.zAxis.grid = 1
+SetAnnotationAttributes(a)
+Test("annot3d_06")
+
+a.axes3D.xAxis.label.visible = 1
+a.axes3D.yAxis.label.visible = 1
+a.axes3D.zAxis.label.visible = 1
+a.axes3D.xAxis.title.visible = 1
+a.axes3D.yAxis.title.visible = 1
+a.axes3D.zAxis.title.visible = 1
+a.axes3D.xAxis.tickMarks.visible = 1
+a.axes3D.yAxis.tickMarks.visible = 1
+a.axes3D.zAxis.tickMarks.visible = 1
+a.axes3D.xAxis.grid = 0
+a.axes3D.yAxis.grid = 0
+a.axes3D.zAxis.grid = 0
+
+# Change the 3D axis type
+a.axes3D.axesType = a.axes3D.StaticEdges
+SetAnnotationAttributes(a)
+Test("annot3d_07")
+
+# Change the 3D axis type
+a.axes3D.axesType = a.axes3D.FurthestTriad
+SetAnnotationAttributes(a)
+Test("annot3d_08")
+
+# Change the 3D axis type
+a.axes3D.axesType = a.axes3D.OutsideEdges
+SetAnnotationAttributes(a)
+Test("annot3d_09")
+
+# Change the 3D axis type
+a.axes3D.axesType = a.axes3D.StaticTriad
+SetAnnotationAttributes(a)
+Test("annot3d_10")
+
+# Change the triad attribtues manually
+a.axes3D.triadSetManually = 1
+a.axes3D.triadColor = (66, 244, 215)
+a.axes3D.triadLineWidth = 3
+a.axes3D.triadFont = 1
+a.axes3D.triadBold = 0
+a.axes3D.triadItalic = 0
+SetAnnotationAttributes(a)
+Test("annot3d_11")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_axislabels.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_axislabels.html new file mode 100644 index 000000000..2afe854b7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_axislabels.html @@ -0,0 +1,150 @@ + +Results for rendering/axislabels.py + +

Results of VisIt Regression Test - rendering/axislabels

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
AxisLabelsLog2D_000.000.00
AxisLabelsLog2D_010.000.00
AxisLabelsLog2D_020.000.00
AxisLabelsLog2D_030.000.00
AxisLabelsLog2D_040.000.00
AxisLabelsLog2D_050.000.00
AxisLabelsLog2D_060.000.00
AxisLabelsLog2D_070.000.00
AxisLabelsLog2D_080.000.00
AxisLabelsLog2D_090.000.00
AxisLabelsLog2D_100.000.00
AxisLabelsLog2D_110.000.00
AxisLabelsLog2D_120.000.00
AxisLabelsLog2D_130.000.00
AxisLabelsLog2D_140.000.00
AxisLabelsLog2D_150.000.00
AxisLabelsLog2D_160.000.00
AxisLabelsLog2D_170.000.00
AxisLabelsLog2D_180.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_axislabels_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_axislabels_py.html new file mode 100644 index 000000000..6f17e9152 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_axislabels_py.html @@ -0,0 +1,141 @@ +rendering/axislabels.py
# ----------------------------------------------------------------------------
+#  MODES: serial, parallel, scalable
+#  CLASSES: nightly
+#
+#  Test Case:  axislabels.py 
+#
+#  Tests:      Tests the axis labels
+#
+#  Programmer: Eric Brugger
+#  Date:       Fri Dec 17 16:19:49 PST 2021
+#
+#  Modifications
+#
+# ----------------------------------------------------------------------------
+
+def TestLog2D():
+    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
+
+    swa = SaveWindowAttributes()
+    swa.width = 600
+    swa.height = 600
+    swa.screenCapture = 0
+
+    a = GetAnnotationAttributes()
+    a.axes2D.visible = 1
+    SetAnnotationAttributes(a)
+
+    v = GetViewCurve()
+    v.domainScale = v.LINEAR
+    v.rangeScale = v.LOG
+    SetViewCurve(v)
+
+    AddPlot("Curve", "Exponential Distribution")
+    c = CurveAttributes()
+    c.curveColorSource = c.Custom
+    c.curveColor = (255, 0, 0, 255)
+    SetPlotOptions(c)
+    DrawPlots()
+    Test("AxisLabelsLog2D_00", swa)
+
+    v.domainCoords = (1.601123657864678, 18.12971869918699)
+    v.rangeCoords = (-7.130672752885499, 0.04760456234965804)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_01", swa)
+
+    v.domainCoords = (0.638075437299828, 17.16667047862213)
+    v.rangeCoords = (-10.48436074884018, -3.306083433605024)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_02", swa)
+
+    v.domainCoords = (-8.812882729839023, 26.61762864576098)
+    v.rangeCoords = (-14.58885955523007, 0.7984153727848649)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_03", swa)
+
+    v.domainCoords = (-37.04643791101395, 54.85118382693591)
+    v.rangeCoords = (-26.85053625423488, 13.06009207178967)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_04", swa)
+
+    v.domainCoords = (-72.49874837389116, 90.30349428981312)
+    v.rangeCoords = (-42.2472784051628, 28.4568342227176)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_05", swa)
+
+    v.domainCoords = (-135.3046789498164, 153.1094248657384)
+    v.rangeCoords = (-69.52354632680284, 55.73310214435764)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_06", swa)
+
+    v.domainCoords = (2.563824255463072, 8.936313157343124)
+    v.rangeCoords = (-4.113141545611167, -1.345604897058017)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_07", swa)
+
+    v.domainCoords = (2.581093873083343, 8.953582774963396)
+    v.rangeCoords = (-3.296916569328953, -0.5293799207758031)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_08", swa)
+
+    v.domainCoords = (0.4742005234102636, 6.846689425290313)
+    v.rangeCoords = (-3.235890402877946, -0.4683537543247966)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_09", swa)
+
+    v.domainCoords = (0.6728011260433816, 7.045290027923435)
+    v.rangeCoords = (-2.461620916030798, 0.3059157325223497)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_10", swa)
+
+    v.domainCoords = (-3.883839369631302, 7.405413441872227)
+    v.rangeCoords = (-2.289688582041886, 2.613171410605579)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_11", swa)
+
+    v.domainCoords = (-5.087720394381069, 8.572275507538203)
+    v.rangeCoords = (-2.632794183897802, 3.299666407205631)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_12", swa)
+
+    v.domainCoords = (-4.680511844459359, 8.979484057459912)
+    v.rangeCoords = (-1.569922247785004, 4.362538343318429)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_13", swa)
+
+    # The curve doesn't intersect the window.
+    v.domainCoords = (-1.565282256005422, 0.4651890936507914)
+    v.rangeCoords = (1.046155226469858, 1.927977691841728)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_14", swa)
+
+    # The curve doesn't intersect the window.
+    v.domainCoords = (0.7831595313488587, 2.813630881005071)
+    v.rangeCoords = (0.07581375463087496, 0.9576362200027442)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_15", swa)
+
+    v.domainCoords = (0.1079984801721102, 1.494837732720581)
+    v.rangeCoords = (-0.7549194057961169, -0.1526227967039314)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_16", swa)
+
+    v.domainCoords = (7.150150811017356, 9.18062216067357)
+    v.rangeCoords = (-3.893382901287159, -3.01156043591529)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_17", swa)
+
+    v.domainCoords = (8.915537392097869, 10.94600874175408)
+    v.rangeCoords = (-4.898933596142739, -4.017111130770868)
+    SetViewCurve(v)
+    Test("AxisLabelsLog2D_18", swa)
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("curve_test_data/distribution.ultra"))
+
+def Main():
+    TestLog2D()
+
+Main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_axistitles.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_axistitles.html new file mode 100644 index 000000000..1b7060630 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_axistitles.html @@ -0,0 +1,120 @@ + +Results for rendering/axistitles.py + +

Results of VisIt Regression Test - rendering/axistitles

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Setting axis titles in 2D
axistitles_0_000.000.00
axistitles_0_010.000.00
axistitles_0_020.000.00
axistitles_0_030.000.00
axistitles_0_040.000.00
axistitles_0_050.000.00
Setting axis titles in 3D
axistitles_1_000.000.00
axistitles_1_010.000.00
axistitles_1_020.000.00
axistitles_1_030.000.00
axistitles_1_040.000.00
axistitles_1_050.000.00
axistitles_1_060.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_axistitles_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_axistitles_py.html new file mode 100644 index 000000000..37c03212c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_axistitles_py.html @@ -0,0 +1,170 @@ +rendering/axistitles.py
# ----------------------------------------------------------------------------
+#  MODES: serial
+#  CLASSES: nightly
+#
+#  Test Case:  axistitles.py 
+#
+#  Tests:      Tests setting axis titles and units.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Jul 28 11:07:57 PDT 2005
+#
+#  Modifications:
+#    Brad Whitlock, Wed Apr 2 16:44:26 PST 2008
+#    Modified the 3D test since setting the 3D font scale now actually works.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Thu Jul 11 08:36:38 PDT 2013
+#    Remove legacy style annotation settings.
+#
+#    Kathleen Biagas, Wed Jul  1 17:37:57 PDT 2015
+#    Added title color test to 2D.
+#
+# ----------------------------------------------------------------------------
+
+def SaveTestImage(name):
+    # Save these images somewhat larger than a regular test case image
+    # since the images contain a lot of text.
+    swa = SaveWindowAttributes()
+    swa.width = 500
+    swa.height = 500
+    swa.screenCapture = 0
+    Test(name, swa)
+
+#
+# Test replacing 2D titles and units.
+#
+def Test2D():
+    TestSection("Setting axis titles in 2D")
+    OpenDatabase(silo_data_path("noise2d.silo"))
+
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+
+    v = GetView2D()
+    v.viewportCoords = (0.35, 0.95, 0.15, 0.95)
+    SetView2D(v)
+
+    a = GetAnnotationAttributes()
+    a.axes2D.visible = 1
+    a.axes2D.xAxis.label.visible = 0
+    a.axes2D.yAxis.label.visible = 0
+    a.axes2D.xAxis.title.visible = 1
+    a.axes2D.yAxis.title.visible = 1
+    a.axes2D.xAxis.title.font.scale = 2 #TitleFontHeight2D = 0.04
+    a.axes2D.yAxis.title.font.scale = 2 #TitleFontHeight2D = 0.04
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_0_00")
+
+    a.axes2D.xAxis.title.title = "New X Title"
+    a.axes2D.xAxis.title.userTitle = 1
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_0_01")
+
+    a.axes2D.yAxis.title.title = "New Y Title"
+    a.axes2D.yAxis.title.userTitle = 1
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_0_02")
+
+    a.axes2D.xAxis.title.units = "New X Units"
+    a.axes2D.xAxis.title.userUnits = 1
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_0_03")
+
+    a.axes2D.yAxis.title.units = "New Y Units"
+    a.axes2D.yAxis.title.userUnits = 1
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_0_04")
+
+    # Test colors for title
+
+    a.axes2D.xAxis.title.font.useForegroundColor = 0
+    a.axes2D.xAxis.title.font.color =(255,0,0,255)
+    a.axes2D.yAxis.title.font.useForegroundColor = 0
+    a.axes2D.yAxis.title.font.color =(255,0,255,255)
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_0_05")
+
+    DeleteAllPlots()
+
+
+#
+# Test replacing 3D titles and units.
+#
+def Test3D():
+    TestSection("Setting axis titles in 3D")
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (-0.749133, -0.494511, 0.440747)
+    v.focus = (0, 0, 0)
+    v.viewUp = (-0.588718, 0.802033, -0.10077)
+    v.viewAngle = 30
+    v.parallelScale = 17.3205
+    v.nearPlane = -34.641
+    v.farPlane = 34.641
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0, 0)
+    SetView3D(v)
+
+    a = GetAnnotationAttributes()
+    a.axes3D.visible = 1
+    a.axes3D.xAxis.title.visible = 1
+    a.axes3D.yAxis.title.visible = 1
+    a.axes3D.zAxis.title.visible = 1
+    a.axes3D.xAxis.title.font.scale = 2
+    a.axes3D.yAxis.title.font.scale = 2
+    a.axes3D.zAxis.title.font.scale = 2
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_1_00")
+
+    a.axes3D.xAxis.title.title = "New X Title"
+    a.axes3D.xAxis.title.userTitle = 1
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_1_01")
+
+    a.axes3D.yAxis.title.title = "New Y Title"
+    a.axes3D.yAxis.title.userTitle = 1
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_1_02")
+
+    a.axes3D.zAxis.title.title = "New Z Title"
+    a.axes3D.zAxis.title.userTitle = 1
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_1_03")
+
+    a.axes3D.xAxis.title.units = "New X Units"
+    a.axes3D.xAxis.title.userUnits = 1
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_1_04")
+
+    a.axes3D.yAxis.title.units = "New Y Units"
+    a.axes3D.yAxis.title.userUnits = 1
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_1_05")
+
+    a.axes3D.zAxis.title.units = "New Z Units"
+    a.axes3D.zAxis.title.userUnits = 1
+    SetAnnotationAttributes(a)
+    SaveTestImage("axistitles_1_06")
+    DeleteAllPlots()
+
+def main():
+    Test2D()
+    Test3D()
+
+# Run all of the tests
+main()
+
+# Exit the test
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_bigdata.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_bigdata.html new file mode 100644 index 000000000..bc3dbf5ee --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_bigdata.html @@ -0,0 +1,56 @@ + +Results for rendering/bigdata.py + +

Results of VisIt Regression Test - rendering/bigdata

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
bigdata_01100.0057.61
bigdata_020.000.00
bigdata_030.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_bigdata_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_bigdata_py.html new file mode 100644 index 000000000..233eb9f32 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_bigdata_py.html @@ -0,0 +1,36 @@ +rendering/bigdata.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  bigdata.py
+#
+#  Programmer: Hank Childs
+#  Date:       August 27, 2010
+#
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "hardyglobal")
+AddOperator("Transform")
+t = TransformAttributes()
+t.doScale = 1
+t.scaleX= 1e+20
+t.scaleY= 1e+20
+t.scaleZ= 1e+20
+SetOperatorOptions(t)
+DrawPlots()
+Test("bigdata_01")
+
+AddOperator("Isosurface")
+DrawPlots()
+Test("bigdata_02")
+
+v = GetView3D()
+v.axis3DScaleFlag = 1
+v.axis3DScales = (2,1,1)
+SetView3D(v)
+Test("bigdata_03")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_colortexture.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_colortexture.html new file mode 100644 index 000000000..d00e33837 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_colortexture.html @@ -0,0 +1,66 @@ + +Results for rendering/colortexture.py + +

Results of VisIt Regression Test - rendering/colortexture

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
colortexture_000.000.00
colortexture_010.000.00
colortexture_020.000.00
colortexture_030.000.00
colortexture_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_colortexture_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_colortexture_py.html new file mode 100644 index 000000000..56ea4b44a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_colortexture_py.html @@ -0,0 +1,86 @@ +rendering/colortexture.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  colortexture.py
+#
+#  Tests:      mesh      - 3D UCD
+#              plots     - Pseudocolor
+#
+#  Defect ID:  none
+#
+#  Programmer: Brad Whitlock
+#  Date:       Mon Sep 18 13:44:14 PST 2006
+#
+#  Modificatons:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+def main():
+    a = AnnotationAttributes()
+    TurnOffAllAnnotations(a)
+    a.foregroundColor = (255, 255, 255, 255)
+    a.backgroundColor = (0, 0, 0, 255)
+    SetAnnotationAttributes(a)
+
+    OpenDatabase(silo_data_path("ucd2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    AddPlot("Mesh", "ucdmesh2d")
+    DrawPlots()
+    Test("colortexture_00")
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Pseudocolor", "speed")
+    pc = PseudocolorAttributes()
+    pc.colorTableName = "levels"
+    SetPlotOptions(pc)
+    DrawPlots()
+
+    L = GetLight(0)
+    L.enabledFlag = 1
+    L.type = L.Camera  # Ambient, Object, Camera
+    L.direction = (-0.131, -0.685, -0.716)
+    L.color = (255, 255, 255, 255)
+    L.brightness = 1
+    SetLight(0, L)
+
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.615147, 0.425906, 0.663475)
+    v0.focus = (0, 0, 0)
+    v0.viewUp = (0.235983, 0.902416, -0.360497)
+    v0.viewAngle = 30
+    v0.parallelScale = 17.3205
+    v0.nearPlane = -34.641
+    v0.farPlane = 34.641
+    v0.imagePan = (0, 0)
+    v0.imageZoom = 1.56642
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0, 0, 0)
+    SetView3D(v0)
+    Test("colortexture_01")
+
+    # Turn off color texturing
+    SetColorTexturingEnabled(0)
+    Test("colortexture_02")
+
+    # Turn color texturing back on.
+    SetColorTexturingEnabled(1)
+    pc.colorTableName = "hot"
+    SetPlotOptions(pc)
+    Test("colortexture_03")
+
+    # Make sure that it works with specular highlights.
+    r = GetRenderingAttributes()
+    r.specularFlag = 1
+    SetRenderingAttributes(r)
+    Test("colortexture_04")
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_evalcubic.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_evalcubic.html new file mode 100644 index 000000000..1d6fe1bdf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_evalcubic.html @@ -0,0 +1,66 @@ + +Results for rendering/evalcubic.py + +

Results of VisIt Regression Test - rendering/evalcubic

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
evalcubic_00.000.00
evalcubic_10.000.00
evalcubic_20.000.00
evalcubic_30.000.00
evalcubic_40.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_evalcubic_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_evalcubic_py.html new file mode 100644 index 000000000..e2cfa0a3f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_evalcubic_py.html @@ -0,0 +1,123 @@ +rendering/evalcubic.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  evalcubic.py
+#
+#  Tests:      mesh      - 3D structured, single domain
+#              plots     - pseudocolor
+#
+#  Programmer: Cyrus Harrison
+#  Date:       Mon Feb  7 15:52:37 PST 2011
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+#
+# Example from:
+# https://visit-sphinx-github-user-manual.readthedocs.io/en/develop/tutorials/Scripting.html#animating-the-camera
+#
+
+def fly():
+    # Do a pseudocolor plot of u.
+    DeleteAllPlots()
+    AddPlot('Pseudocolor', 'hardyglobal')
+    AddOperator("Clip")
+    c = ClipAttributes()
+    c.funcType = c.Sphere  # Plane, Sphere
+    c.center = (0, 0, 0)
+    c.radius = 10
+    c.sphereInverse = 1
+    SetOperatorOptions(c)
+    DrawPlots()
+    # Create the control points for the views.
+    c0 = View3DAttributes()
+    c0.viewNormal = (0, 0, 1)
+    c0.focus = (0, 0, 0)
+    c0.viewUp = (0, 1, 0)
+    c0.viewAngle = 30
+    c0.parallelScale = 17.3205
+    c0.nearPlane = 17.3205
+    c0.farPlane = 81.9615
+    c0.perspective = 1
+    c1 = View3DAttributes()
+    c1.viewNormal = (-0.499159, 0.475135, 0.724629)
+    c1.focus = (0, 0, 0)
+    c1.viewUp = (0.196284, 0.876524, -0.439521)
+    c1.viewAngle = 30
+    c1.parallelScale = 14.0932
+    c1.nearPlane = 15.276
+    c1.farPlane = 69.917
+    c1.perspective = 1
+    c2 = View3DAttributes()
+    c2.viewNormal = (-0.522881, 0.831168, -0.189092)
+    c2.focus = (0, 0, 0)
+    c2.viewUp = (0.783763, 0.556011, 0.27671)
+    c2.viewAngle = 30
+    c2.parallelScale = 11.3107
+    c2.nearPlane = 14.8914
+    c2.farPlane = 59.5324
+    c2.perspective = 1
+    c3 = View3DAttributes()
+    c3.viewNormal = (-0.438771, 0.523661, -0.730246)
+    c3.focus = (0, 0, 0)
+    c3.viewUp = (-0.0199911, 0.80676, 0.590541)
+    c3.viewAngle = 30
+    c3.parallelScale = 8.28257
+    c3.nearPlane = 3.5905
+    c3.farPlane = 48.2315
+    c3.perspective = 1
+    c4 = View3DAttributes()
+    c4.viewNormal = (0.286142, -0.342802, -0.894768)
+    c4.focus = (0, 0, 0)
+    c4.viewUp = (-0.0382056, 0.928989, -0.36813)
+    c4.viewAngle = 30
+    c4.parallelScale = 10.4152
+    c4.nearPlane = 1.5495
+    c4.farPlane = 56.1905
+    c4.perspective = 1
+    c5 = View3DAttributes()
+    c5.viewNormal = (0.974296, -0.223599, -0.0274086)
+    c5.focus = (0, 0, 0)
+    c5.viewUp = (0.222245, 0.97394, -0.0452541)
+    c5.viewAngle = 30
+    c5.parallelScale = 1.1052
+    c5.nearPlane = 24.1248
+    c5.farPlane = 58.7658
+    c5.perspective = 1
+    c6 = c0
+    # Create a tuple of camera values and x values. The x values are weights
+    # that help to determine where in [0,1] the control points occur.
+    cpts = (c0, c1, c2, c3, c4, c5, c6)
+    x=[]
+    for i in range(7):
+        x = x + [float(i) / float(6.)]
+    # Animate the camera. Note that we use the new built-in EvalCubicSpline
+    # function which takes a t value from [0,1] a tuple of t values and a tuple
+    # of control points. In this case, the control points are View3DAttributes
+    # objects that we are using to animate the camera but they can be any object
+    # that supports +, * operators.
+    nsteps = 100
+    for i in range(nsteps):
+        t = float(i) / float(nsteps - 1)
+        c = EvalCubicSpline(t, x, cpts)
+        c.nearPlane = -34.461
+        c.farPlane = 34.461
+        SetView3D(c)
+        if i == 0:
+            Test("evalcubic_0")
+        elif i == 24:
+            Test("evalcubic_1")
+        elif i == 49:
+            Test("evalcubic_2")
+        elif i == 74:
+            Test("evalcubic_3")
+        elif i == 99:
+            Test("evalcubic_4")
+
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+fly()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_image.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_image.html new file mode 100644 index 000000000..4955cbc08 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_image.html @@ -0,0 +1,54 @@ + +Results for rendering/image.py + +

Results of VisIt Regression Test - rendering/image

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
image000.000.00
image010.000.00
image020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_image_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_image_py.html new file mode 100644 index 000000000..0a83fcbf4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_image_py.html @@ -0,0 +1,46 @@ +rendering/image.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  image.py
+#
+#  Tests:      mesh        - 2D curvilinear, single domain
+#              plots       - Pseudocolor
+#              annotations - Image
+#
+#  Defect ID:  None 
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       July 1, 2015
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Set up the annotation colors, etc.
+a = GetAnnotationAttributes()
+a.backgroundColor = (255, 255, 255, 255)
+a.foregroundColor = (0, 0, 0, 255)
+a.backgroundMode = a.Solid
+SetAnnotationAttributes(a)
+
+# Open up the database and do a plot.
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+# Create an Image object
+img = CreateAnnotationObject("Image")
+img.image = data_path("Image_test_data/manhattan.jpg")
+img.position = (0.34, 0.12)
+Test("image00")
+
+img.width = 50
+Test("image01")
+
+img.width = 10
+img.position = (0.5, 0.6)
+Test("image02")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_legends.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_legends.html new file mode 100644 index 000000000..74a9714ef --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_legends.html @@ -0,0 +1,437 @@ + +Results for rendering/legends.py + +

Results of VisIt Regression Test - rendering/legends

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Test levels legend
legends_010.000.00
legends_020.000.00
legends_030.000.00
Test legend default sizing and positioning
legends_040.000.00
legends_050.000.00
legends_060.000.00
legends_07612.0154.64
legends_080.000.00
Test Curve plot legend
legends_090.000.00
legends_100.000.00
legends_110.000.00
legends_120.000.00
legends_130.000.00
Test setting legend properties
legends_140.000.00
legends_150.000.00
legends_160.000.00
legends_170.000.00
legends_180.000.00
legends_190.000.00
legends_200.000.00
legends_210.000.00
legends_220.000.00
legends_230.000.00
legends_240.000.00
legends_250.000.00
legends_260.000.00
legends_270.000.00
legends_280.000.00
legends_290 modifications totalling 0 lines
Test legend copying
legends_300.000.00
legends_310.000.00
legends_320.000.00
legends_330 modifications totalling 0 lines
legends_340.000.00
legends_350 modifications totalling 0 lines
legends_360.000.00
legends_370.000.00
Test setting legend tics
legends_380.000.00
legends_390.000.00
legends_400.000.00
legends_410.000.00
legends_420.000.00
legends_430.000.00
legends_440.000.00
legends_450.000.00
legends_460.000.00
legends_470.000.00
legends_480.000.00
legends_490.000.00
legends_500.000.00
legends_510.000.00
legends_520.000.00
legends_530.000.00
legends_540.000.00
legends_550.000.00
legends_560.000.00
legends_570.000.00
legends_580.000.00
legends_590.000.00
legends_600.000.00
Test Variable legend
legends_610.000.00
legends_620.000.00
legends_630.000.00
legends_640.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_legends_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_legends_py.html new file mode 100644 index 000000000..3757172a3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_legends_py.html @@ -0,0 +1,597 @@ +rendering/legends.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  legends.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain 
+#              plots     - subset, boundary, filledboundary
+#              operators - none
+#              selection - material
+#
+#  Defect ID:  VisIt00002740, VisIt00002737
+#
+#  Programmer: Kathleen Bonnell 
+#  Date:       December 2, 2002 
+#
+#  Modifications:
+#    Brad Whitlock, Thu Dec 12 09:50:31 PDT 2002
+#    I fixed the test so it uses the new interface for the SubsetAttributes.
+#
+#    Kathleen Bonnell, Fri Jul 18 14:04:19 PDT 2003 
+#    I added tests for Boundary, FilledBoundary.
+#
+#    Eric Brugger, Mon Jul 21 12:14:52 PDT 2003
+#    I added legend sizing and positioning tests.
+#
+#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#    Remove compound var name from Subset, Boundary and Filled Boundary plots.
+#
+#    Kathleen Bonnell, Fri Oct 28 10:00:30 PDT 2005 
+#    Add tests for curve plots (legends_09 ... legends_11). 
+#
+#    Kathleen Bonnell, Fri Oct 28 15:54:37 PDT 2005 
+#    Add more tests for curve plots, for testing reading of TIME 
+#    (legends_12 & legends_13). 
+#
+#    Brad Whitlock, Tue Nov 21 10:54:18 PDT 2006
+#    I made it use line style enum values instead of ints so the intent
+#    is more clear.
+#
+#    Brad Whitlock, Mon Mar 26 08:54:40 PDT 2007
+#    Organized different parts of the test into functions and added a new
+#    function that sets the properties for a legend.
+#
+#    Hank Childs, Sun Jan 25 15:07:31 PST 2009
+#    Turn off minmaxLabels as well.
+#
+#    Kathleen Bonnell, Wed Sep 23 10:13:13 PDT 2009
+#    Add TestLegendProperties2, to test new capability of modifiying num tics,
+#    and setting numeric values and text labels for tics in liu of the 
+#    automatically generated ones.
+#
+#    Kathleen Bonnell, Tue Oct 6 11:36:41 PDT 2009
+#    Added test for constant variable legend. 
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Brad Whitlock, Mon Jan 25 15:34:23 PST 2010
+#    I fixed a bug that made small baselines. I also increased the legend size
+#    in some tests so it's more prominent.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset, and Subset for 
+#    domains instead of FilledBoundary.
+#
+#    Eric Brugger, Wed Mar  8 16:50:08 PST 2023
+#    Added TestVariableLegend.
+#
+# ----------------------------------------------------------------------------
+
+# Test the Filled Boundary plot with some subsets turned off, and
+# single-color on.
+# This test ensures that correct labels are applied to the legend.
+def TestLevelsLegend(a):
+    TestSection("Test levels legend")
+    OpenDatabase(silo_data_path("globe.silo"))
+
+
+    AddPlot("FilledBoundary", "mat1")
+    TurnMaterialsOff(("2", "4"))
+    fbAtts = FilledBoundaryAttributes()
+    fbAtts.colorType = fbAtts.ColorBySingleColor
+    fbAtts.singleColor = (0, 255, 255, 255)
+    SetPlotOptions(fbAtts)
+    DrawPlots()
+
+    Test("legends_01")
+    DeleteAllPlots()
+
+    # Test the FilledBoundary and Boundary plots, to ensure that setting
+    # their atts works.
+    AddPlot("FilledBoundary", "mat1")
+    fba = FilledBoundaryAttributes()
+    fba.colorType = fba.ColorByMultipleColors
+    SetPlotOptions(fba)
+    DrawPlots()
+    Test("legends_02")
+    DeleteAllPlots()
+
+    AddPlot("Boundary", "mat1")
+    ba = BoundaryAttributes()
+    ba.colorType = ba.ColorByColorTable
+    ba.colorTableName = "rainbow"
+    SetPlotOptions(ba)
+    DrawPlots()
+    Test("legends_03")
+    DeleteAllPlots()
+
+#
+# Test legend sizing and positioning.
+#
+def TestSizeAndPosition(a):
+    TestSection("Test legend default sizing and positioning")
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+
+    AddPlot("Boundary", "mat1")
+    bndAtts = BoundaryAttributes()
+    bndAtts.colorType = bndAtts.ColorBySingleColor
+    bndAtts.singleColor = (0, 0, 0, 255)
+    SetPlotOptions(bndAtts)
+    AddPlot("Contour", "p")
+    AddPlot("Mesh", "curvmesh2d")
+    AddPlot("FilledBoundary", "mat1")
+    DrawPlots()
+    Test("legends_04")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "d")
+    AddPlot("Vector", "vel")
+    AddPlot("FilledBoundary", "mat1")
+    DrawPlots()
+    Test("legends_05")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "d")
+    AddOperator("Elevate")
+    AddPlot("Pseudocolor", "p")
+    AddOperator("Elevate")
+    elevate_atts = ElevateAttributes()
+    elevate_atts.useXYLimits = elevate_atts.Never
+    SetOperatorOptions(elevate_atts)
+
+    DrawPlots()
+    Test("legends_06")
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("globe.silo"))
+
+
+    AddPlot("Volume", "u")
+    DrawPlots()
+    Test("legends_07")
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+
+    AddPlot("Contour", "d")
+    contourAtts = ContourAttributes()
+    contourAtts.contourNLevels = 15
+    SetPlotOptions(contourAtts)
+    AddPlot("Subset", "domains")
+    DrawPlots()
+    Test("legends_08")
+    DeleteAllPlots()
+
+#
+# TEST LEGEND FOR CURVE PLOTS
+#
+def TestCurveLegend(a):
+    TestSection("Test Curve plot legend")
+    OpenDatabase(data_path("curve_test_data/c033.curve"))
+
+    # Test legend on
+    AddPlot("Curve", "parabolic")
+    curveAtts = CurveAttributes()
+    curveAtts.curveColorSource = curveAtts.Custom
+    curveAtts.curveColor = (255, 0, 0, 255)
+    curveAtts.lineWidth = 1
+    SetPlotOptions(curveAtts)
+    DrawPlots()
+    Test("legends_09")
+
+    # Test legend off
+    curveAtts.showLegend = 0
+    SetPlotOptions(curveAtts)
+    Test("legends_10")
+
+    curveAtts.showLegend = 1
+    SetPlotOptions(curveAtts)
+
+    # Tests multiple plots
+    OpenDatabase(data_path("curve_test_data/c044.curve"))
+
+    AddPlot("Curve", "parabolic")
+    curveAtts.curveColor = (0, 255, 0, 255)
+    curveAtts.lineWidth = 5
+    SetPlotOptions(curveAtts)
+    DrawPlots()
+
+    OpenDatabase(data_path("curve_test_data/c055.curve"))
+
+    AddPlot("Curve", "parabolic")
+    curveAtts.curveColor = (0, 0, 255, 255)
+    curveAtts.lineWidth = 2
+    SetPlotOptions(curveAtts)
+    DrawPlots()
+
+    Test("legends_11")
+
+    # Add DatabaseInfo
+    a.databaseInfoFlag = 1
+    SetAnnotationAttributes(a)
+    Test("legends_12")
+
+    DeleteAllPlots()
+
+    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
+
+    AddPlot("Curve", "Laplace Distribution")
+    curveAtts.curveColor = (0, 255, 255, 255)
+    curveAtts.lineWidth = 0
+    SetPlotOptions(curveAtts)
+    DrawPlots()
+    Test("legends_13")
+    DeleteAllPlots()
+
+    # Remove DatabaseInfo
+    a.databaseInfoFlag = 0
+    SetAnnotationAttributes(a)
+
+#
+# Test setting legend properties. Note that we currently just test the
+# avtVariableLegend but others work pretty much the same way.
+#
+def TestLegendProperties(a):
+    TestSection("Test setting legend properties")
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+    v0 = View3DAttributes()
+    v0.viewNormal = (-0.778207, 0.3577, 0.516183)
+    v0.focus = (0, 0, 0)
+    v0.viewUp = (0.283417, 0.933512, -0.219613)
+    v0.viewAngle = 30
+    v0.parallelScale = 17.3205
+    v0.nearPlane = -34.641
+    v0.farPlane = 34.641
+    v0.imagePan = (0.0768749, 0.057219)
+    v0.imageZoom = 0.863307
+    v0.perspective = 1
+    v0.eyeAngle = 2
+    v0.centerOfRotationSet = 0
+    v0.centerOfRotation = (0, 0, 0)
+    SetView3D(v0)
+    Test("legends_14")
+
+    # Get the plot's legend
+    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+
+    # See if we can scale the legend.
+    legend.xScale = 3.
+    Test("legends_15")
+    legend.yScale = 3.
+    Test("legends_16")
+
+    # Test the bounding box.
+    legend.drawBoundingBox = 1
+    Test("legends_17")
+    legend.boundingBoxColor = (180,180,180,230)
+    Test("legends_18")
+
+    # Test moving the legend
+    legend.managePosition = 0
+    legend.position = (0.55,0.9)
+    Test("legends_19")
+
+    # Test text color
+    InvertBackgroundColor()
+    Test("legends_20")
+    InvertBackgroundColor()
+    legend.useForegroundForTextColor = 0
+    legend.textColor = (255, 0, 0, 255)
+    Test("legends_21")
+
+    # Test number format
+    legend.numberFormat = "%1.4e"
+    Test("legends_22")
+
+    # Test the font.
+    legend.fontFamily = legend.Courier
+    Test("legends_23")
+    legend.fontFamily = legend.Times
+    Test("legends_24")
+    legend.fontFamily = legend.Arial
+    legend.fontBold = 1
+    Test("legends_25")
+    legend.fontBold = 0
+    legend.fontItalic = 1
+    Test("legends_26")
+
+    # Test turning off the labels.
+    legend.fontItalic = 0
+    legend.drawLabels = 0
+    legend.drawMinMax = 0
+    Test("legends_27")
+
+    # Test turning off the title.
+    legend.drawTitle = 0
+    Test("legends_28")
+
+    # Add a plot and then delete plot 0 to see that the legend disappears
+    # in the list of annotation objects. Note that plot names are created
+    # using an increasing integer. If this test is executed out of the order
+    # from when it was baselined then the number will change and the test
+    # will need to be rebaselined.
+    text = "Before: " + str(GetAnnotationObjectNames()) + "\n"
+    AddPlot("Mesh", "Mesh")
+    DrawPlots()
+    SetActivePlots(0)
+    DeleteActivePlots()
+    text = text + "After: " + str(GetAnnotationObjectNames()) + "\n"
+    TestText("legends_29", text)
+    DeleteAllPlots()
+
+#
+# Test how legends get copied to new windows.
+#
+def TestLegendCopying(a):
+    TestSection("Test legend copying")
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    AddPlot("Pseudocolor", "hardyglobal")
+    DrawPlots()
+
+    # Customize the legend.
+    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+    legend.xScale = 3.
+    legend.yScale = 3.
+    legend.drawBoundingBox = 1
+    legend.boundingBoxColor = (50,50,100,255)
+
+    # Create another annotation object.
+    text2d = CreateAnnotationObject("Text2D", "text_obj")
+    text2d.position = (0.45, 0.5)
+    text2d.height = 0.05
+    text2d.textColor = (255, 0, 0, 255)
+    text2d.useForegroundForTextColor = 0
+    text2d.text = "Text annotation"
+    Test("legends_30")
+
+    # Clone the window and make sure that it has the right annotation objects
+    # and that their properties have been inherited from window 1.
+    CloneWindow()
+    SetActiveWindow(2)
+    DrawPlots()
+    Test("legends_31")
+    DeleteWindow()
+
+    # Test clone on first reference.
+    SetCloneWindowOnFirstRef(1)
+    AddWindow()
+    DrawPlots()
+    Test("legends_32")
+    TestText("legends_33", str(GetAnnotationObjectNames()))
+
+    # Test it clone on first reference again via SetActiveWindow
+    DeleteWindow()
+    AddWindow()
+    SetActiveWindow(2)
+    DrawPlots()
+    Test("legends_34")
+    TestText("legends_35", str(GetAnnotationObjectNames()))
+
+    # Now that we're in window 2, delete the text object.
+    w2text = GetAnnotationObject("text_obj")
+    w2text.Delete()
+    # Customize the legend in window 2 so we'll know if copying window 1's
+    # attributes over to window 2 messed it up.
+    legend2 = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+    legend2.boundingBoxColor = (200,0,0,255)
+    Test("legends_36")
+    CopyAnnotationsToWindow(1, 2)
+    RedrawWindow()
+    Test("legends_37")
+
+    # Clean up
+    DeleteAllPlots()
+    DeleteWindow()
+    text2d.Delete()
+    GetAnnotationObject("text_obj").Delete()
+    DeleteAllPlots()
+
+def TestLegendTics():
+    TestSection("Test setting legend tics")
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+    legend.xScale = 3.
+    legend.yScale = 3.
+
+    # change number of ticks
+    legend.numTicks = 3
+    Test("legends_38")
+
+    # turn off use of min and max as tick values
+    legend.minMaxInclusive = 0
+    Test("legends_39")
+
+    legend.numTicks = 1
+    Test("legends_40")
+
+    legend.minMaxInclusive = 1
+    Test("legends_41")
+
+    legend.numTicks = 2
+    Test("legends_42")
+
+    legend.minMaxInclusive = 0
+    Test("legends_43")
+
+    legend.minMaxInclusive = 1
+    # turn off automatic control of ticks so labels can be added
+    legend.controlTicks = 0
+    # default values should be what was calculated
+    Test("legends_44")
+
+    # supply some labels
+    legend.suppliedLabels = ("", "second", "", "fourth", "")
+    # Turn on drawing of text labels
+    legend.drawLabels = legend.Both
+    Test("legends_45")
+
+    # only labels, no values
+    legend.drawLabels = legend.Labels
+    Test("legends_46")
+
+    # supply different values -- don't need to be in order
+    # show that values out-of-range won't be used
+    legend.suppliedValues = (2.2, 4.5, 3.8, 1.0, 5.7)
+    legend.suppliedLabels = ("this", "that", "the other", "noshow1", "noshow2")
+    legend.drawLabels = legend.Values
+    Test("legends_47")
+    legend.drawLabels = legend.Both
+    Test("legends_48")
+    legend.drawLabels = legend.Labels
+    Test("legends_49")
+
+    legend.orientation = legend.HorizontalTop
+    Test("legends_50")
+    legend.orientation = legend.HorizontalBottom
+    Test("legends_51")
+    legend.orientation = legend.VerticalLeft
+    Test("legends_52")
+
+    DeleteAllPlots()
+
+    # demonstrate adding labels to 'levels' type legends
+    AddPlot("FilledBoundary", "mat1")
+    DrawPlots()
+    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+    legend.xScale = 3.
+    legend.yScale = 3.
+
+    legend.controlTicks = 0
+    Test("legends_53")
+    legend.drawLabels = legend.Both
+    legend.suppliedLabels = ("red", "green", "blue");
+    Test("legends_54")
+    legend.drawLabels = legend.Labels
+    Test("legends_55")
+
+    DeleteAllPlots()
+    AddPlot("Contour", "p")
+    contourAtts = ContourAttributes()
+    contourAtts.contourNLevels = 6
+    SetPlotOptions(contourAtts)
+    DrawPlots()
+
+    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+    legend.xScale = 3.
+    legend.yScale = 3.
+    Test("legends_56")
+    nf = legend.numberFormat
+    legend.numberFormat = "%# -0.2e"
+    Test("legends_57")
+    legend.numberFormat = nf
+    legend.controlTicks = 0
+    legend.drawLabels = legend.Both
+    legend.suppliedLabels = ("one", "", "two", "", "three")
+    Test("legends_58")
+    legend.drawLabels = legend.Labels
+    Test("legends_59")
+
+    DeleteAllPlots()
+
+    # test constant legend
+    DefineScalarExpression("one", "cell_constant(<curvmesh2d>, 1)")
+    AddPlot("Pseudocolor", "one")
+    DrawPlots()
+    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+    legend.xScale = 3.
+    legend.yScale = 3.
+    Test("legends_60")
+
+    #clean up
+    DeleteAllPlots()
+
+# Test the pseudocolor plot with original and actual limits.
+# This test ensures that correct limits are displayed.
+def TestVariableLegend():
+    TestSection("Test Variable legend")
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    pc = PseudocolorAttributes()
+    pc.limitsMode = pc.OriginalData
+    SetPlotOptions(pc)
+    DrawPlots()
+    TurnMaterialsOff("1")
+    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+    legend.xScale = 2.0
+    legend.yScale = 2.0
+    Test("legends_61")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "d")
+    pc = PseudocolorAttributes()
+    pc.limitsMode = pc.OriginalData
+    pc.minFlag = 1
+    pc.min = 2.8
+    pc.maxFlag = 1
+    pc.max = 4.2
+    SetPlotOptions(pc)
+    DrawPlots()
+    TurnMaterialsOff("1")
+    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+    legend.xScale = 2.0
+    legend.yScale = 2.0
+    Test("legends_62")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "d")
+    pc = PseudocolorAttributes()
+    pc.limitsMode = pc.ActualData
+    SetPlotOptions(pc)
+    DrawPlots()
+    TurnMaterialsOff("1")
+    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+    legend.xScale = 2.0
+    legend.yScale = 2.0
+    Test("legends_63")
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "d")
+    pc = PseudocolorAttributes()
+    pc.limitsMode = pc.ActualData
+    pc.minFlag = 1
+    pc.min = 2.8
+    pc.maxFlag = 1
+    pc.max = 4.2
+    SetPlotOptions(pc)
+    DrawPlots()
+    TurnMaterialsOff("1")
+    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+    legend.xScale = 2.0
+    legend.yScale = 2.0
+    Test("legends_64")
+    DeleteAllPlots()
+
+def main():
+    # Turn off all annotation except the legend.
+    a = GetAnnotationAttributes()
+    TurnOffAllAnnotations(a)
+    a.legendInfoFlag = 1
+    SetAnnotationAttributes(a)
+
+    TestLevelsLegend(a)
+    TestSizeAndPosition(a)
+    TestCurveLegend(a)
+    TestLegendProperties(a)
+    TestLegendCopying(a)
+    TestLegendTics()
+    TestVariableLegend()
+
+    # reset DatabaseInfo for future tests.
+    a.databaseInfoFlag = 0
+    SetAnnotationAttributes(a)
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_lighting.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_lighting.html new file mode 100644 index 000000000..1f296907d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_lighting.html @@ -0,0 +1,54 @@ + +Results for rendering/lighting.py + +

Results of VisIt Regression Test - rendering/lighting

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
lighting_010.000.00
lighting_020.000.00
normals_000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_lighting_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_lighting_py.html new file mode 100644 index 000000000..e5df22ffb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_lighting_py.html @@ -0,0 +1,113 @@ +rendering/lighting.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  lighting.py
+#
+#  Tests:      mesh      - 3D rectilinear, one domain
+#              plots     - pseudocolor
+#              operators - slicing, elevation
+#              selection - no
+#
+#  Defect ID:  8017
+#
+#  Programmer: Hank Childs
+#  Date:       May 6, 2007
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Alister Maguire, Wed Mar 18 16:45:02 PDT 2020
+#    Moved previous two tests into a function called TestBasicLighting and
+#    added TestNormals.
+#
+# ----------------------------------------------------------------------------
+
+
+def TestBasicLighting():
+    OpenDatabase(silo_data_path("rect3d.silo"))
+
+    AddPlot("Pseudocolor", "d")
+    AddOperator("Slice")
+    AddOperator("Elevate")
+    DrawPlots()
+
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (-0.58136, 0.782415, -0.223267)
+    View3DAtts.focus = (0.5, 0.5, 0.66382)
+    View3DAtts.viewUp = (0.259676, -0.0816327, -0.962239)
+    View3DAtts.viewAngle = 30
+    View3DAtts.parallelScale = 0.728621
+    View3DAtts.nearPlane = -1.45724
+    View3DAtts.farPlane = 1.45724
+    View3DAtts.imagePan = (0, 0)
+    View3DAtts.imageZoom = 1
+    View3DAtts.perspective = 1
+    View3DAtts.eyeAngle = 2
+    View3DAtts.centerOfRotationSet = 0
+    View3DAtts.centerOfRotation = (0.5, 0.5, 0.66382)
+    SetView3D(View3DAtts)
+
+    light0 = GetLight(0)
+    light0.enabledFlag = 1
+    light0.type = light0.Camera  # Ambient, Object, Camera
+    light0.direction = (0, 0, -1)
+    light0.color = (255, 255, 255, 255)
+    light0.brightness = 1
+    SetLight(0, light0)
+    light1 = GetLight(1)
+    light1.enabledFlag = 1
+    light1.type = light1.Ambient  # Ambient, Object, Camera
+    light1.direction = (0, 0, -1)
+    light1.color = (255, 255, 255, 255)
+    light1.brightness = 0.47
+    SetLight(1, light1)
+
+    # In SR mode, bug '8017 was that the ambient would get turned off on
+    # the second save.
+    Test("lighting_01")
+    Test("lighting_02")
+
+    DeleteAllPlots()
+    CloseDatabase(silo_data_path("rect3d.silo"))
+
+
+def TestNormals():
+
+    v = GetView3D()
+    v.viewNormal = (-0.03622833898009251, 0.7402344653499199, 0.6713720606063838)
+    SetView3D(v)
+
+    light0 = GetLight(0)
+    light0.enabledFlag = 1
+    light0.type = light0.Camera  # Ambient, Object, Camera
+    light0.direction = (0, 0, -1)
+    light0.brightness = .65
+    SetLight(0, light0)
+    light1 = GetLight(1)
+    light1.enabledFlag = 1
+    light1.type = light1.Ambient  # Ambient, Object, Camera
+    light1.direction = (0, 0, -1)
+    light0.brightness = .65
+    SetLight(1, light1)
+
+    #
+    # In the past, our normals filter wasn't able to handle triangle strips.
+    # This test ensures that we now can.
+    #
+    OpenDatabase(data_path("vtk_test_data/polyWithStrips.vtk"))
+    AddPlot("Pseudocolor", "fooData")
+    DrawPlots()
+    Test("normals_00")
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/polyWithStrips.vtk"))
+
+
+def main():
+    TestBasicLighting()
+    TestNormals()
+    Exit()
+
+main()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_line2d.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_line2d.html new file mode 100644 index 000000000..f1786700f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_line2d.html @@ -0,0 +1,102 @@ + +Results for rendering/line2d.py + +

Results of VisIt Regression Test - rendering/line2d

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
line2d000.000.00
line2d010.000.00
line2d020.000.00
line2d030.000.00
line2d040.000.00
line2d050.000.00
line2d060.000.00
line2d070.000.00
line2d080.000.00
line2d090.000.00
line2d100.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_line2d_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_line2d_py.html new file mode 100644 index 000000000..dd5be7a13 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_line2d_py.html @@ -0,0 +1,101 @@ +rendering/line2d.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  line2d.py
+#
+#  Tests:      mesh        - 2D curvilinear, single domain
+#              plots       - Pseudocolor
+#              annotations - Line2D
+#
+#  Defect ID:  #1724 (arrowheads for 2D Line annotations broke in 2.7) 
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       July 1, 2015
+#
+#  Modifications:
+#    Kathleen Biagas, Mon Aug  3 17:35:13 PDT 2015
+#    Uncomment test line2d01, also set nextLine.useForegroundForLineColor.
+#    Change line width values so that they yield previous results, line
+#    annotation object now uses a lineWidth gui widget that allows values 
+#    from 0 to 9.
+# ----------------------------------------------------------------------------
+
+# Set up the annotation colors, etc.
+a = GetAnnotationAttributes()
+a.backgroundColor = (255, 255, 255, 255)
+a.foregroundColor = (0, 0, 0, 255)
+a.backgroundMode = a.Solid
+SetAnnotationAttributes(a)
+
+# Open up the database and do a plot.
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+# Create a Line2D object
+line = CreateAnnotationObject("Line2D")
+line.position = (0.62, 0.83)
+line.position2 = (0.43, 0.7)
+Test("line2d00")
+
+# Set the foreground color to see if it changes
+a.foregroundColor = (0, 255, 255, 255)
+SetAnnotationAttributes(a)
+Test("line2d01")
+
+# Test line color
+a.foregroundColor = (255, 255, 255, 255)
+SetAnnotationAttributes(a)
+line.useForegroundForLineColor = 0
+line.color = (0, 255, 255, 255)
+Test("line2d02")
+
+# Test line width
+line.width = 3
+Test("line2d03")
+
+
+# Test line arrow at start
+line.color = (0,0,0,255)
+line.width = 0
+line.beginArrow = 1
+Test("line2d04")
+
+# Test solid arrow at end
+line.endArrow = 2
+Test("line2d05")
+
+# Switch arrows
+line.beginArrow = 2
+line.endArrow = 1
+Test("line2d06")
+
+# Test line opacity
+line.position = (0.25, 0.32)
+line.position2 = (0.85, 0.71)
+line.width = 4
+line.beginArrow = 0
+line.endArrow = 0
+line.color = (0,0,0,150)
+Test("line2d07")
+
+# Create more line objects
+nextLine = CreateAnnotationObject("Line2D")
+nextLine.useForegroundForLineColor = 0
+nextLine.color=(255, 0, 0, 255)
+nextLine.position=(0.41, 0.86)
+nextLine.position2=(0.75, 0.6)
+nextLine.width=1
+nextLine.endArrow=2
+Test("line2d08")
+
+# Start Removing text
+line.Delete()
+Test("line2d09")
+nextLine.Delete()
+Test("line2d10")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_line3d.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_line3d.html new file mode 100644 index 000000000..a2638539b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_line3d.html @@ -0,0 +1,102 @@ + +Results for rendering/line3d.py + +

Results of VisIt Regression Test - rendering/line3d

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
line3d000.000.00
Line3d010.000.00
line3d050.000.00
line3d060.000.00
line3d070.000.00
line3d080.000.00
line3d090.000.00
line3d100.000.00
line3d110.000.00
line3d120.000.00
line3d130.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_line3d_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_line3d_py.html new file mode 100644 index 000000000..9a5a47e48 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_line3d_py.html @@ -0,0 +1,104 @@ +rendering/line3d.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  line3d.py
+#
+#  Tests:      mesh        - 3D unstructured, single domain
+#              plots       - Pseudocolor
+#              annotations - Line3D
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       August 27, 2015
+#
+#  Modifications:
+#    Kathleen Biagas, Thu Apr 19 12:02:22 PDT 2018
+#    Remove lineStyle tests, no longer available.
+#
+# ----------------------------------------------------------------------------
+
+# Set up the annotation colors, etc.
+a = GetAnnotationAttributes()
+a.backgroundColor = (255, 255, 255, 255)
+a.foregroundColor = (0, 0, 0, 255)
+a.backgroundMode = a.Solid
+SetAnnotationAttributes(a)
+
+# Open up the database and do a plot.
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+# Create a Line3D object
+line = CreateAnnotationObject("Line3D")
+line.point1 = (0, -15, 0)
+line.point2 = (0, 15, 0)
+Test("line3d00")
+
+line.width = 7
+Test("Line3d01")
+
+# Set the foreground color to see if it changes
+a.foregroundColor = (0, 255, 255, 255)
+SetAnnotationAttributes(a)
+Test("line3d05")
+
+# Test line color
+a.foregroundColor = (255, 255, 255, 255)
+SetAnnotationAttributes(a)
+line.useForegroundForLineColor = 0
+line.color = (255, 0, 255, 255)
+Test("line3d06")
+
+# Test arrow at start (flat)
+line.arrow1Resolution = 1
+line.arrow2Resolution = 1
+line.arrow1Radius = 2
+line.arrow2Radius = 2
+line.arrow1Height = 5.6
+line.arrow2Height = 5.6
+line.arrow1 = 1
+Test("line3d07")
+# Test arrow at end
+line.arrow1 = 0
+line.arrow2 = 1
+Test("line3d08")
+
+# Test both arrows 
+line.arrow1 = 1
+Test("line3d09")
+
+# Tubes
+line.arrow1 = 0
+line.lineType = line.TUBE
+line.tubeRadius = 0.3
+# make the arrow a cone
+line.arrow2Resolution = 15
+line.arrow2Radius = 1
+line.arrow2Height = 2.8
+Test("line3d10")
+
+
+# Create more line objects
+nextLine = CreateAnnotationObject("Line3D")
+nextLine.useForegroundForLineColor = 0
+nextLine.color=(0, 255, 0, 255)
+nextLine.point1=(-15, 0, 0)
+nextLine.point2=(15, 0, 0)
+nextLine.arrow2 = 1
+nextLine.lineType = line.TUBE
+nextLine.tubeRadius = 0.3
+nextLine.arrow2Resolution = 15
+nextLine.arrow2Radius = 1
+nextLine.arrow2Height = 2.8
+Test("line3d11")
+
+# Start Removing lines
+line.Delete()
+Test("line3d12")
+nextLine.Delete()
+Test("line3d13")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_offscreensave.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_offscreensave.html new file mode 100644 index 000000000..78aa4de02 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_offscreensave.html @@ -0,0 +1,106 @@ + +Results for rendering/offscreensave.py + +

Results of VisIt Regression Test - rendering/offscreensave

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
offscreen_010.000.00
offscreen_020.000.00
offscreen_030.000.00
offscreen_040.000.00
offscreen_050.000.00
offscreen_060.000.00
offscreen_070.000.00
offscreen_080.000.00
offscreen_090.000.00
offscreen_100.000.00
offscreen_110.000.00
md5 hash for 16384x16384 image
 "3ec309acbd64eb52f8d7bf4c1f9e9628" .eq. "3ec309acbd64eb52f8d7bf4c1f9e9628" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_offscreensave_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_offscreensave_py.html new file mode 100644 index 000000000..3f329a238 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_offscreensave_py.html @@ -0,0 +1,177 @@ +rendering/offscreensave.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  offscreensave.py
+#
+#  Tests:      save window options
+#              mesh      - 3D unstructured, multiple domains
+#              plots     - pc, mesh 
+#              operators - slice 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       29Mar04 
+#
+#  Modifications:
+#
+#    Mark C. Miller, Tue May 11 20:21:24 PDT 2004
+#    Changed scalable rendering controls to use activation mode
+#
+#    Mark C. Miller, Thu Jan  6 15:09:06 PST 2005
+#    Added a test that involves annotation objects
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Eric Brugger, Mon Aug  2 09:42:50 PDT 2021
+#    Added test of 16384 x 16384 image save.
+#
+#    Kathleen Biagas, Fri Aug 27, 2021
+#    Put tests into functions. Skip the large image test on Windows as it
+#    doesn't yield the correct size image. Ensure the large image is saved
+#    to run_dir so the test will execute on Windows properly once it can
+#    be enabled.
+#
+# ----------------------------------------------------------------------------
+
+import hashlib
+
+def GeneralTests():
+    TurnOnAllAnnotations()
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+    AddPlot("Mesh", "mesh1")
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    view=GetView3D()
+    view.viewNormal=(-0.528567, 0.374238, 0.761946)
+    view.viewUp=(0.200044, 0.927212, -0.316639)
+    SetView3D(view)
+    Test("offscreen_01")
+
+    # build some savewindow attributes that DO NOT
+    # use screen capture
+    swa=SaveWindowAttributes()
+    swa.screenCapture=0
+    swa.width=400
+    swa.height=400
+
+    # simple test to make sure we get all the annoations
+    # when we save window using off-screen save
+    Test("offscreen_02",swa)
+
+    # now, test saving at a different size
+    swa.width=600
+    swa.height=600
+    Test("offscreen_03",swa)
+
+    # Ok, now diddle with annoations a bit and do some
+    # more saves
+    swa.width=300
+    swa.height=300
+    a = AnnotationAttributes()
+    a.userInfoFlag = 0
+    a.databaseInfoFlag = 0
+    SetAnnotationAttributes(a)
+    Test("offscreen_04",swa)
+    a.legendInfoFlag = 0
+    SetAnnotationAttributes(a)
+    Test("offscreen_05",swa)
+
+    # Ok, now put the window into SR mode
+    ra = GetRenderingAttributes()
+    ra.scalableActivationMode = ra.Always
+    SetRenderingAttributes(ra)
+    Test("offscreen_06",swa)
+
+    # diddle some more with annoations
+    a.databaseInfoFlag = 1
+    a.legendInfoFlag = 1
+    SetAnnotationAttributes(a)
+    Test("offscreen_07",swa)
+
+    # Now, use screen capture mode to save the window
+    Test("offscreen_08")
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+
+    # Test off screen save of a 2D window
+    AddPlot("Mesh", "curvmesh2d")
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+    swa.width=400
+    swa.height=400
+    Test("offscreen_09",swa)
+
+    # Test off screen save of a full frame 2D window
+    view2=GetView2D()
+    view2.fullFrameActivationMode=view2.On
+    SetView2D(view2)
+    swa.width=500
+    swa.height=500
+    Test("offscreen_10",swa)
+
+    # Now test some annotation objects
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+    AddPlot("Mesh", "mesh1")
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    view=GetView3D()
+    view.viewNormal=(-0.528567, 0.374238, 0.761946)
+    view.viewUp=(0.200044, 0.927212, -0.316639)
+    SetView3D(view)
+
+    # Create a time slider
+    slider = CreateAnnotationObject("TimeSlider")
+    slider.position = (0.5, 0.5)
+    swa.width=300
+    swa.height=300
+    Test("offscreen_11",swa)
+
+    slider.Delete()
+    DeleteAllPlots()
+
+def TestLargeImage():
+    # Test saving a 16384 x 16384 image
+    OpenDatabase(silo_data_path("curv2d.silo"))
+    AddPlot("Pseudocolor", "d")
+    DrawPlots()
+
+    view2=GetView2D()
+    view2.fullFrameActivationMode=view2.Off
+    SetView2D(view2)
+
+    swa=SaveWindowAttributes()
+    # ensure the image is written to the run_dir by providing full path
+    imgOutName=pjoin(TestEnv.params["run_dir"], "image_16384x16384.png")
+    swa.width = 16384
+    swa.height = 16384
+    swa.fileName = imgOutName
+    swa.family = 0
+    SetSaveWindowAttributes(swa)
+    SaveWindow()
+
+    # Comparing md5 sum instead of image, since the image is large.
+    md5_hash = hashlib.md5()
+    with open(imgOutName, "rb") as f:
+        # Read and update hash in chunks of 4K
+        for byte_block in iter(lambda: f.read(4096),b""):
+            md5_hash.update(byte_block)
+    TestValueEQ("md5 hash for 16384x16384 image", md5_hash.hexdigest(), "3ec309acbd64eb52f8d7bf4c1f9e9628")
+
+GeneralTests()
+
+if not sys.platform.startswith("win"):
+    # Cannot perform this test on Windows as image size is limited
+    TestLargeImage()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_ospray.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_ospray.html new file mode 100644 index 000000000..96568d32c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_ospray.html @@ -0,0 +1,48 @@ + +Results for rendering/ospray.py + +

Results of VisIt Regression Test - rendering/ospray

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ospray_window_save0.000.00
ospray_domain_boundaries_000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_ospray_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_ospray_py.html new file mode 100644 index 000000000..27a6b3166 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_ospray_py.html @@ -0,0 +1,104 @@ +rendering/ospray.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ospray.py
+#
+#  Tests:      mesh      - 3D rectilinear, one domain
+#              plots     - pseudocolor
+#              operators - Isovolume
+#
+#  Programmer: Alister Maguire
+#  Date:       May 18, 2020
+#
+#  Modifications:
+#
+#    Alister Maguire, Fri Sep 11 16:16:49 PDT 2020
+#    Added a test for OSPRay domain boundaries.
+#
+# ----------------------------------------------------------------------------
+
+
+def TestOsprayWindowSave():
+    #
+    # This is testing a resolution of github issue #4286 where ospray
+    # was not being used when SaveWindow was called, regardless of
+    # whether or not we enabeld it.
+    #
+    OpenDatabase(silo_data_path("noise.silo"))
+
+    #
+    # OSPRay looks pretty similar, so let's make sure that we
+    # enable shadows and can see them in the output image.
+    #
+    AddPlot("Pseudocolor", "hardyglobal", 1, 1)
+    AddOperator("Isovolume", 1)
+    SetActivePlots(0)
+    IsovolumeAtts = IsovolumeAttributes()
+    IsovolumeAtts.lbound = 4.1
+    IsovolumeAtts.ubound = 4.9
+    IsovolumeAtts.variable = "default"
+    SetOperatorOptions(IsovolumeAtts, 0, 1)
+    DrawPlots()
+
+    RenderingAtts = RenderingAttributes()
+    RenderingAtts.osprayRendering = 1
+    RenderingAtts.osprayShadows = 1
+    SetRenderingAttributes(RenderingAtts)
+
+    Test("ospray_window_save", pixdiff=0.2, avgdiff=0.01)
+    DeleteAllPlots()
+
+    RenderingAtts = RenderingAttributes()
+    RenderingAtts.osprayRendering = 0
+    RenderingAtts.osprayShadows = 0
+    SetRenderingAttributes(RenderingAtts)
+
+    CloseDatabase(silo_data_path("noise.silo"))
+
+
+def TestOsprayVolumeDomainBoundaries():
+    OpenDatabase(data_path("vtk_test_data/poiseuille_rayleigh_benard_3D_00000600.visit"))
+
+    #
+    # Change the view so that we get a good look at the domain boundaries.
+    # We need to first reset, otherwise the previous test ends up affecting
+    # the view here.
+    #
+    ResetView()
+    View3DAtts = View3DAttributes()
+    View3DAtts.viewNormal = (0.171986, 0.984799, 0.0243329)
+    View3DAtts.viewUp = (-0.187983, 0.0570564, -0.980514)
+    SetView3D(View3DAtts)
+
+    #
+    # Add our plot and set up the ospray renderer.
+    #
+    AddPlot("Volume", "Regular/temperature", 1, 1)
+    SetActivePlots(0)
+
+    VolumeAtts = VolumeAttributes()
+    VolumeAtts.lightingFlag = 0
+    VolumeAtts.opacityMode = VolumeAtts.FreeformMode
+    VolumeAtts.freeformOpacity = (255,) * 256
+    VolumeAtts.samplesPerRay = 100
+    VolumeAtts.rendererType = VolumeAtts.RayCastingOSPRay
+    SetPlotOptions(VolumeAtts)
+    DrawPlots()
+
+    #
+    # NOTE: This test always has a slight pixel diff (~0.01%).
+    #
+    Test("ospray_domain_boundaries_00", pixdiff=0.1, avgdiff=0.01)
+
+    DeleteAllPlots()
+    CloseDatabase(data_path("vtk_test_data/poiseuille_rayleigh_benard_3D_00000600.visit"))
+
+
+def main():
+    TestOsprayWindowSave()
+    TestOsprayVolumeDomainBoundaries()
+
+    Exit()
+
+main()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_pixeldata.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_pixeldata.html new file mode 100644 index 000000000..ee2914baa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_pixeldata.html @@ -0,0 +1,174 @@ + +Results for rendering/pixeldata.py + +

Results of VisIt Regression Test - rendering/pixeldata

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Save transparent background image
pixeldata_0_000.000.00
pixeldata_0_010.000.00
pixeldata_0_020.000.00
pixeldata_0_030.000.00
pixeldata_0_040.000.00
pixeldata_0_0553.0219.07
pixeldata_0_060.000.00
pixeldata_0_0752.4918.75
pixeldata_0_0861.19107.97
pixeldata_0_0991.8667.02
pixeldata_0_1062.34109.85
pixeldata_0_1191.7265.76
Save image plus depth
pixeldata_1_000.000.00
pixeldata_1_010.000.00
pixeldata_1_020.000.00
pixeldata_1_030.000.00
pixeldata_1_040.000.00
pixeldata_1_050.000.00
pixeldata_1_060.000.00
pixeldata_1_070.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_pixeldata_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_pixeldata_py.html new file mode 100644 index 000000000..696ea3ca1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_pixeldata_py.html @@ -0,0 +1,215 @@ +rendering/pixeldata.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  openexr.py 
+#
+#  Tests:      saving pixel data, transparent backgrounds in saved images.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Feb 15 14:16:45 PST 2018
+#
+#  Modifications:
+# 
+# ----------------------------------------------------------------------------
+
+# Saves pixel data.
+def SavePixelData(filename, alpha, depth, luminance, value):
+    s = GetSaveWindowAttributes()
+    s.outputToCurrentDirectory = 1
+    s.family = 0
+    s.fileName = filename
+    s.width  = TestEnv.params["width"]
+    s.height = TestEnv.params["height"]
+    s.screenCapture = 0
+    s.format = s.PNG
+    s.pixelData = 1
+    if alpha:
+        s.pixelData = s.pixelData | 2
+    if luminance:
+        s.pixelData = s.pixelData | 4
+    if value:
+        s.pixelData = s.pixelData | 8
+    if depth:
+        s.pixelData = s.pixelData | 16
+    SetSaveWindowAttributes(s)
+    SaveWindow()
+
+def test0():
+    TestSection("Save transparent background image")
+    db = silo_data_path("noise.silo")
+    OpenDatabase(db)
+    AddPlot("Contour", "hardyglobal")
+    c = GetPlotOptions()
+    c.SetMultiColor(2, (0, 0, 255, 100))
+    c.SetMultiColor(3, (0, 255, 255, 100))
+    c.SetMultiColor(4, (255, 0, 255, 100))
+    SetPlotOptions(c)
+    DrawPlots()
+    v3 = GetView3D()
+    v3.viewNormal = (-0.569008, 0.313204, 0.760351)
+    v3.focus = (0, 0, 0)
+    v3.viewUp = (0.185488, 0.949682, -0.252384)
+    v3.viewAngle = 30
+    v3.parallelScale = 17.3205
+    v3.nearPlane = -34.641
+    v3.farPlane = 34.641
+    v3.imagePan = (-0.0120947, 0.0574413)
+    v3.imageZoom = 1.13829
+    v3.perspective = 1
+    v3.eyeAngle = 2
+    v3.centerOfRotationSet = 0
+    v3.centerOfRotation = (0, 0, 0)
+    v3.axis3DScaleFlag = 0
+    v3.axis3DScales = (1, 1, 1)
+    v3.shear = (0, 0, 1)
+    v3.windowValid = 1
+    SetView3D(v3)
+    Test("pixeldata_0_00")
+    # Save a partially transparent Contour plot on a transparent background.
+    SavePixelData("pd0", 1, 0, 0, 0)
+
+    # Save a partially transparent Contour plot on a transparent background -- with axes
+    a = GetAnnotationAttributes()
+    a.axes3D.bboxFlag = 1
+    SetAnnotationAttributes(a)
+    Test("pixeldata_0_01")
+    SavePixelData("pd1", 1, 0, 0, 0)
+
+    # Test that we get the transparent background when we have a gradient bg.
+    a = GetAnnotationAttributes()
+    a.backgroundMode = a.Gradient
+    a.gradientColor1 = (180, 100, 180, 255)
+    a.gradientColor2 = (0, 0, 0, 255)
+    a.axes3D.bboxFlag = 0
+    a.foregroundColor = (255,255,255,255)
+    SetAnnotationAttributes(a)
+    Test("pixeldata_0_02")
+    SavePixelData("pd2", 1, 0, 0, 0)
+
+    # Test that we get the transparent background when we have a gradient bg. with axes
+    a.axes3D.bboxFlag = 1
+    SetAnnotationAttributes(a)
+    Test("pixeldata_0_03")
+    SavePixelData("pd3", 1, 0, 0, 0)
+
+    # Restore solid bg, no axes
+    a.backgroundMode = a.Solid
+    a.axes3D.bboxFlag = 0
+    a.foregroundColor = (0,0,0,255)
+    SetAnnotationAttributes(a)
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+    # Make some expressions that let us plot a transparent image with a checker background.
+    DefineScalarExpression("i", "floor(coords(ImageMesh)[0] / 20)")
+    DefineScalarExpression("j", "floor(coords(ImageMesh)[1] / 20)")
+    DefineScalarExpression("checker", "mod(i+j, 2)")
+    DefineScalarExpression("gray", "100+checker*80")
+    DefineScalarExpression("t", "alpha / 255.")
+    DefineScalarExpression("omt", "1 - t")
+    DefineVectorExpression("blend", "color4(t*red + omt*gray,t*green + omt*gray,t*blue + omt*gray, 255)")
+    DefineVectorExpression("comp", "if(lt(alpha, 255), blend, color4(red, green, blue, 255))")
+
+    # Open the files we made.
+    idx = 4
+    for db in ("pd0.png", "pd1.png", "pd2.png", "pd3.png"):
+        OpenDatabase(db)
+        AddPlot("Pseudocolor", "alpha")
+        DrawPlots()
+        v = GetView2D()
+        v.viewportCoords = (0, 1, 0, 1)
+        SetView2D(v)
+        Test("pixeldata_0_%02d" % idx)
+        DeleteAllPlots()
+        AddPlot("Truecolor", "comp")
+        DrawPlots()
+        Test("pixeldata_0_%02d" % (idx+1))
+        DeleteAllPlots()
+        CloseDatabase(db)
+        idx = idx + 2
+
+def test1():
+    TestSection("Save image plus depth")
+    db = silo_data_path("multi_rect3d.silo")
+    OpenDatabase(db)
+    AddPlot("Contour", "u")
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (-0.483301, 0.412135, 0.772376)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0.218992, 0.911123, -0.349139)
+    v.viewAngle = 30
+    v.parallelScale = 0.866025
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    v.imagePan = (0, 0)
+    v.imageZoom = 1
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 0.5, 0.5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+    # Save against a solid background.
+    Test("pixeldata_1_00")
+    SavePixelData("pdz0", 0, 1, 0, 0)
+
+    # Save against a solid background adding axes
+    a = GetAnnotationAttributes()
+    a.axes3D.bboxFlag = 1
+    SetAnnotationAttributes(a)
+    Test("pixeldata_1_01")
+    SavePixelData("pdz1", 0, 1, 0, 0)
+
+    # Save against a gradient background 
+    a.backgroundMode = a.Gradient
+    a.gradientColor1 = (180, 100, 180, 255)
+    a.gradientColor2 = (0, 0, 0, 255)
+    a.axes3D.bboxFlag = 0
+    a.foregroundColor = (255,255,255,255)
+    SetAnnotationAttributes(a)
+    Test("pixeldata_1_02")
+    SavePixelData("pdz2", 0, 1, 0, 0)
+
+    # Save against a gradient background adding axes
+    a.backgroundMode = a.Gradient
+    a.gradientColor1 = (180, 100, 180, 255)
+    a.gradientColor2 = (0, 0, 0, 255)
+    a.axes3D.bboxFlag = 1
+    a.foregroundColor = (255,255,255,255)
+    SetAnnotationAttributes(a)
+    Test("pixeldata_1_03")
+    SavePixelData("pdz3", 0, 1, 0, 0)
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+    # Open the files we made.
+    idx = 4
+    for db in ("pdz0.png", "pdz1.png", "pdz2.png", "pdz3.png"):
+        OpenDatabase(db)
+        AddPlot("Pseudocolor", "depth")
+        pc = GetPlotOptions()
+        pc.max = 220.
+        pc.maxFlag = 1
+        SetPlotOptions(pc)
+        DrawPlots()
+        v = GetView2D()
+        v.viewportCoords = (0, 1, 0, 1)
+        SetView2D(v)
+        Test("pixeldata_1_%02d" % idx)
+        DeleteAllPlots()
+        CloseDatabase(db)
+        idx = idx + 1
+
+def main():
+    test0()
+    test1()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_renderpoints.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_renderpoints.html new file mode 100644 index 000000000..98ee8ddff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_renderpoints.html @@ -0,0 +1,444 @@ + +Results for rendering/renderpoints.py + +

Results of VisIt Regression Test - rendering/renderpoints

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Set pointSizePixels for plots that support it
renderpoint_0_000.000.00
renderpoint_0_010.000.00
renderpoint_0_020.000.00
renderpoint_0_030.000.00
renderpoint_0_040.000.00
renderpoint_0_050.000.00
renderpoint_0_060.000.00
renderpoint_0_070.000.00
renderpoint_0_080.000.00
renderpoint_0_090.000.00
renderpoint_0_100.000.00
renderpoint_0_110.000.00
renderpoint_0_120.000.00
renderpoint_0_130.000.00
renderpoint_0_140.000.00
Check points to glyph transition
renderpoint_1_000.000.00
renderpoint_1_010.000.00
renderpoint_1_020.000.00
renderpoint_1_030.000.00
Check points drawn as spheres
renderpoint_2_000.000.00
renderpoint_2_010.000.00
renderpoint_2_020.000.00
renderpoint_2_030.000.00
renderpoint_2_040.000.00
renderpoint_2_050.000.00
renderpoint_2_060.000.00
renderpoint_2_070.000.00
renderpoint_2_080.000.00
renderpoint_2_090.000.00
Check glyph types for Mesh plot
renderpoint_3_000.000.00
renderpoint_3_010.000.00
renderpoint_3_020.000.00
renderpoint_3_030.000.00
renderpoint_3_040.000.00
Check glyph types for Pseudocolor plot
renderpoint_3_050.000.00
renderpoint_3_060.000.00
renderpoint_3_070.000.00
renderpoint_3_080.000.00
renderpoint_3_090.000.00
Check glyph types for Scatter plot
renderpoint_3_100.000.00
renderpoint_3_110.000.00
renderpoint_3_120.000.00
renderpoint_3_130.000.00
renderpoint_3_140.000.00
Check glyph types for FilledBoundary plot
renderpoint_3_150.000.00
renderpoint_3_160.000.00
renderpoint_3_170.000.00
renderpoint_3_180.000.00
renderpoint_3_190.000.00
Check all glyph types for Subset plot
renderpoint_3_200.000.00
renderpoint_3_210.000.00
renderpoint_3_220.000.00
renderpoint_3_230.000.00
renderpoint_3_240.000.00
Check scaling glyphs by a variable
renderpoint_4_000.000.00
renderpoint_4_010.000.00
renderpoint_4_020.000.00
renderpoint_4_030.000.00
Check glyphed plots restored from session files
renderpoint_5_000.000.00
renderpoint_5_010.000.00
renderpoint_5_020.000.00
renderpoint_5_030.000.00
renderpoint_5_040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_renderpoints_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_renderpoints_py.html new file mode 100644 index 000000000..b5046710c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_renderpoints_py.html @@ -0,0 +1,347 @@ +rendering/renderpoints.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  renderpoints.py
+#
+#  Tests:      mesh      - 3D point
+#              plots     - pseudocolor, subset, mesh
+#
+#  Defect ID:  none
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Aug 26 13:39:07 PST 2005
+#
+#  Modificatons:
+#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
+#    Removed silly comment regarding global annotation object 'a'
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Thu Dec 15 09:16:39 PST 2016
+#    Added tests for other glyph types, scaling by variable and restoring
+#    session files.
+#
+#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
+#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
+#
+# ----------------------------------------------------------------------------
+
+#
+# General testing function
+#
+def TestPlot(plotName, plotVar, atts, cases):
+    AddPlot(plotName, plotVar)
+    if atts == None:
+        atts = eval(plotName + "Attributes()")
+    atts.pointType = atts.Point
+    atts.pointSizePixels = 1
+    SetPlotOptions(atts)
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.51943, 0.317321, 0.79341)
+    v.focus = (0.499552, 0.500362, 0.499909)
+    v.viewUp = (0.172325, 0.948317, -0.266458)
+    v.viewAngle = 30
+    v.parallelScale = 0.865387
+    v.nearPlane = -1.73077
+    v.farPlane = 1.73077
+    v.imagePan = (-0.0139929, 0.0505193)
+    v.imageZoom = 1.25645
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.499552, 0.500362, 0.499909)
+    SetView3D(v)
+    Test("renderpoint" + cases[0])
+
+    atts.pointSizePixels = 5
+    SetPlotOptions(atts)
+    Test("renderpoint" + cases[1])
+
+    # Make sure that it remains set after regenerating the plot.
+    TurnDomainsOff(("domain3", "domain4", "domain7", "domain8"))
+    Test("renderpoint" + cases[2])
+    TurnDomainsOn()
+    DeleteActivePlots()
+
+#
+# Test plots that can render their points using GL points.
+#
+def test0():
+    TestSection("Set pointSizePixels for plots that support it")
+    # Test Mesh
+    atts = MeshAttributes()
+    atts.meshColor = (100,150,255)
+    atts.meshColorSource = atts.MeshCustom
+    TestPlot("Mesh", "StarMesh", atts, ("_0_00", "_0_01", "_0_02"))
+
+    # Test Pseudocolor
+    TestPlot("Pseudocolor", "Matnos", None, ("_0_03", "_0_04", "_0_05"))
+
+    # Test Scatter
+    atts = ScatterAttributes()
+    atts.var2 = "vy"
+    atts.var3 = "vz"
+    atts.var3Role = atts.Coordinate2
+    atts.var4 = "Matnos"
+    atts.var4Role = atts.Color
+    TestPlot("Scatter", "vx", atts, ("_0_06", "_0_07", "_0_08"))
+
+    # Test FilledBoundary
+    TestPlot("FilledBoundary", "stars", None, ("_0_09", "_0_10", "_0_11"))
+
+    # Test Subset
+    TestPlot("Subset", "domains", None, ("_0_12", "_0_13", "_0_14"))
+
+#
+# General testing function #2
+#
+def TestPlot1(plotName, plotVar, atts, cases):
+    AddPlot(plotName, plotVar)
+    if atts == None:
+        atts = eval(plotName + "Attributes()")
+    atts.pointType = atts.Point
+    atts.pointSizePixels = 5
+    SetPlotOptions(atts)
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.51943, 0.317321, 0.79341)
+    v.focus = (0.499552, 0.500362, 0.499909)
+    v.viewUp = (0.172325, 0.948317, -0.266458)
+    v.viewAngle = 30
+    v.parallelScale = 0.865387
+    v.nearPlane = -1.73077
+    v.farPlane = 1.73077
+    v.imagePan = (-0.0139929, 0.0505193)
+    v.imageZoom = 1.25645
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.499552, 0.500362, 0.499909)
+    SetView3D(v)
+    Test("renderpoint" + cases[0])
+
+    atts.pointType = atts.Box
+    SetPlotOptions(atts)
+    Test("renderpoint" + cases[1])
+    DeleteActivePlots()
+
+#
+# Test that we can switch to other glyph types after starting up
+# in point glyph mode, which does not use the glyph filters.
+#
+def test1():
+    TestSection("Check points to glyph transition")
+    # Test Pseudocolor
+    TestPlot1("Pseudocolor", "Matnos", None, ("_1_00", "_1_01"))
+    # Test FilledBoundary
+    TestPlot1("FilledBoundary", "stars", None, ("_1_02", "_1_03"))
+
+#
+# General testing function #3
+#
+def TestPlot2(plotName, plotVar, atts, cases):
+    AddPlot(plotName, plotVar)
+    if atts == None:
+        atts = eval(plotName + "Attributes()")
+    atts.pointType = atts.Sphere
+    atts.pointSizePixels = 10
+    SetPlotOptions(atts)
+    DrawPlots()
+
+    v = View3DAttributes()
+    v.viewNormal = (-0.51943, 0.317321, 0.79341)
+    v.focus = (0.499552, 0.500362, 0.499909)
+    v.viewUp = (0.172325, 0.948317, -0.266458)
+    v.viewAngle = 30
+    v.parallelScale = 0.865387
+    v.nearPlane = -1.73077
+    v.farPlane = 1.73077
+    v.imagePan = (-0.0139929, 0.0505193)
+    v.imageZoom = 1.25645
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.499552, 0.500362, 0.499909)
+    SetView3D(v)
+    Test("renderpoint" + cases[0])
+
+    atts.pointSizePixels = 20
+    SetPlotOptions(atts)
+    Test("renderpoint" + cases[1])
+    DeleteActivePlots()
+
+#
+# Test that all plots that support sphere point texturing can do it.
+#
+def test2():
+    TestSection("Check points drawn as spheres")
+
+    # Test Mesh
+    atts = MeshAttributes()
+    atts.meshColor = (100,150,255)
+    atts.meshColorSource = atts.MeshCustom
+    TestPlot2("Mesh", "StarMesh", atts, ("_2_00", "_2_01"))
+
+    # Test Pseudocolor
+    TestPlot2("Pseudocolor", "Matnos", None, ("_2_02", "_2_03"))
+
+    # Test Scatter
+    atts = ScatterAttributes()
+    atts.var2 = "vy"
+    atts.var3 = "vz"
+    atts.var3Role = atts.Coordinate2
+    atts.var4 = "Matnos"
+    atts.var4Role = atts.Color
+    TestPlot2("Scatter", "vx", atts, ("_2_04", "_2_05"))
+
+    # Test FilledBoundary
+    TestPlot2("FilledBoundary", "stars", None, ("_2_06", "_2_07"))
+
+    # Test Subset
+    TestPlot2("Subset", "domains", None, ("_2_08", "_2_09"))
+
+def TestPlot3(plotName, plotVar, atts, cases):
+    AddPlot(plotName, plotVar)
+    if atts == None:
+        atts = eval(plotName + "Attributes()")
+    atts.pointType = atts.Axis
+    SetPlotOptions(atts)
+    DrawPlots()
+
+    Test("renderpoint" + cases[0])
+
+    atts.pointType = atts.Icosahedron
+    atts.pointSize = 0.1
+    SetPlotOptions(atts)
+    Test("renderpoint" + cases[1])
+
+    atts.pointType = atts.Octahedron
+    SetPlotOptions(atts)
+    Test("renderpoint" + cases[2])
+
+    atts.pointSize = 0.05
+    atts.pointType = atts.Tetrahedron
+    SetPlotOptions(atts)
+    Test("renderpoint" + cases[3])
+
+    atts.pointType = atts.SphereGeometry
+    SetPlotOptions(atts)
+    Test("renderpoint" + cases[4])
+
+    DeleteActivePlots()
+
+#
+# Test that all plots that support sphere point texturing can do it.
+#
+def test3():
+    TestSection("Check glyph types for Mesh plot")
+    atts = MeshAttributes()
+    atts.meshColor = (152,203,0)
+    atts.meshColorSource = atts.MeshCustom
+    TestPlot3("Mesh", "StarMesh", atts, ("_3_00", "_3_01", "_3_02", "_3_03", "_3_04"))
+
+    TestSection("Check glyph types for Pseudocolor plot")
+    # Test Pseudocolor
+    TestPlot3("Pseudocolor", "Matnos", None, ("_3_05", "_3_06", "_3_07", "_3_08", "_3_09"))
+
+    TestSection("Check glyph types for Scatter plot")
+    # Test Scatter
+    atts = ScatterAttributes()
+    atts.var2 = "vy"
+    atts.var3 = "vz"
+    atts.var3Role = atts.Coordinate2
+    atts.var4 = "Matnos"
+    atts.var4Role = atts.Color
+    TestPlot3("Scatter", "vx", atts, ("_3_10", "_3_11", "_3_12", "_3_13", "_3_14"))
+
+    TestSection("Check glyph types for FilledBoundary plot")
+    # Test FilledBoundary
+    TestPlot3("FilledBoundary", "stars", None, ("_3_15", "_3_16", "_3_17", "_3_18", "_3_19"))
+
+    # Test Subset
+    TestSection("Check all glyph types for Subset plot")
+    TestPlot3("Subset", "domains", None, ("_3_20", "_3_21", "_3_22", "_3_23", "_3_24"))
+
+def TestPlot4(plotName, plotVar, atts, case):
+    AddPlot(plotName, plotVar)
+    if atts == None:
+        atts = eval(plotName + "Attributes()")
+    atts.pointType = atts.SphereGeometry
+    atts.pointSize = 0.007
+    atts.pointSizeVarEnabled = 1
+    atts.pointSizeVar = "Matnos"
+    SetPlotOptions(atts)
+    DrawPlots()
+
+    Test("renderpoint" + case)
+
+    DeleteActivePlots()
+
+#
+# Test that all plots that support scaling glyphs by a variable can do it.
+#
+def test4():
+    TestSection("Check scaling glyphs by a variable")
+    atts = MeshAttributes()
+    atts.meshColor = (152,203,0)
+    atts.meshColorSource = atts.MeshCustom
+    TestPlot4("Mesh", "StarMesh", atts, "_4_00")
+
+    # Test Pseudocolor
+    TestPlot4("Pseudocolor", "Matnos", None, "_4_01")
+
+    # Test FilledBoundary
+    TestPlot4("FilledBoundary", "stars", None, "_4_02")
+
+    # Test Subset
+    TestPlot4("Subset", "domains", None, "_4_03")
+
+#
+# Test that glyphed plots can be restored from session files
+#
+def test5():
+    TestSection("Check glyphed plots restored from session files")
+    DeleteAllPlots()
+    RestoreSessionWithDifferentSources(tests_path("rendering", "filledBoundaryStars.session"), 0, silo_data_path("galaxy0000.silo"))
+    Test("renderpoint_5_00")
+
+    DeleteAllPlots()
+    RestoreSessionWithDifferentSources(tests_path("rendering", "meshNoisePoint.session"), 0, silo_data_path("noise.silo"))
+    Test("renderpoint_5_01")
+
+    DeleteAllPlots()
+    RestoreSessionWithDifferentSources(tests_path("rendering", "pcNoisePoint.session"), 0, silo_data_path("noise.silo"))
+    Test("renderpoint_5_02")
+
+    DeleteAllPlots()
+    RestoreSessionWithDifferentSources(tests_path("rendering", "scatterNoiseHG.session"), 0, silo_data_path("noise.silo"))
+    Test("renderpoint_5_03")
+
+    DeleteAllPlots()
+    RestoreSessionWithDifferentSources(tests_path("rendering", "subsetNoisePoint.session"), 0, silo_data_path("noise.silo"))
+    Test("renderpoint_5_04")
+
+
+def main():
+    # Turn off all annotation
+    TurnOffAllAnnotations()
+
+    OpenDatabase(silo_data_path("galaxy0000.silo"))
+
+    test0()
+    test1()
+    test2()
+    test3()
+    test4()
+
+    CloseDatabase(silo_data_path("galaxy0000.silo"))
+
+    test5()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_saveformats.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_saveformats.html new file mode 100644 index 000000000..cee921c00 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_saveformats.html @@ -0,0 +1,120 @@ + +Results for rendering/saveformats.py + +

Results of VisIt Regression Test - rendering/saveformats

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Curve Formats
saveformat_curve0 modifications totalling 0 lines
saveformat_ps0 modifications totalling 0 lines
saveformat_ultra0 modifications totalling 0 lines
Image Formats via Screen Capture
saveformat_bmp0 modifications totalling 0 lines
saveformat_jpeg0 modifications totalling 0 lines
saveformat_png0 modifications totalling 0 lines
saveformat_ppm0 modifications totalling 0 lines
saveformat_rgb0 modifications totalling 0 lines
saveformat_tif0 modifications totalling 0 lines
Image Formats via Off Screen
saveformat_offscreen_bmp0 modifications totalling 0 lines
saveformat_offscreen_jpeg0 modifications totalling 0 lines
saveformat_offscreen_png0 modifications totalling 0 lines
saveformat_offscreen_ppm0 modifications totalling 0 lines
saveformat_offscreen_rgb0 modifications totalling 0 lines
saveformat_offscreen_tif0 modifications totalling 0 lines
Geometry Formats
saveformat_stl0 modifications totalling 0 lines
saveformat_obj0 modifications totalling 0 lines
saveformat_vtk0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_saveformats_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_saveformats_py.html new file mode 100644 index 000000000..33993017b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_saveformats_py.html @@ -0,0 +1,272 @@ +rendering/saveformats.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  saveformats.py
+#
+#  Tests:      save window formats 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       September 20, 2005 
+#
+#  Modifications:
+#    Jeremy Meredith, Mon Apr 23 14:07:35 EDT 2007
+#    Don't create a mesh plot when we're saving geometry formats, since
+#    the new behavior is to separate plots into different files (as they
+#    typically have different variables and geometry types).
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Tue Feb  2 10:55:43 PST 2010
+#    Fixed problem w/ setting active window that allowed errors to propagate
+#    between test cases.
+#
+#    Mark C. Miller, Wed Apr  7 19:02:29 PDT 2010
+#    Be smarter about testing curve formats while in scalable mode.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Function: FileExists 
+#
+# Purpose:
+#   Tests if a file exists and, if the file is being written, waits
+#   until the file size does not change for growthInterval seconds. If the
+#   file exists but is of zero size, that is the same as it NOT existing
+#
+# waitToAppear: number of seconds to wait for the file to first appear
+# growhtInterval: number of seconds between successive stats on the file 
+#
+# Programmer: Mark C. Miller
+#             September 20, 2005
+#
+# ----------------------------------------------------------------------------
+
+from PIL import Image
+
+def FileExists(name, waitToAppear, growthInterval):
+    if os.path.isfile(name) == 0:
+        time.sleep(waitToAppear)
+    if os.path.isfile(name) == 0:
+        return 0
+    curSize = os.stat(name)[ST_SIZE]
+    if growthInterval == 0:
+        if curSize == 0:
+            return 0
+    else:
+            return 1
+    while 1:
+        time.sleep(growthInterval)
+        size = os.stat(name)[ST_SIZE]
+        if size == curSize:
+            if curSize == 0:
+                return 0
+            else:
+                return 1
+            curSize = size
+
+# ----------------------------------------------------------------------------
+# Function: SaveFileInfo
+#
+# Purpose:
+#   Return a string representing the appropriate extension for the
+#   given file format and return bools indicating if the format supports
+#   curves, images and/or geometry.
+#
+# Programmer: Mark C. Miller
+#             September 20, 2005
+#
+# ----------------------------------------------------------------------------
+def SaveFileInfo(fmt):
+    swa = SaveWindowAttributes()
+    if (fmt == swa.POSTSCRIPT):
+        return ("ps", 1, 0, 0)
+    elif (fmt == swa.CURVE):
+        return ("curve", 1, 0, 0)
+    elif (fmt == swa.ULTRA):
+        return ("ultra", 1, 0, 0)
+    elif (fmt == swa.BMP):
+        return ("bmp", 0, 1, 0)
+    elif (fmt == swa.JPEG):
+        return ("jpeg", 0, 1, 0)
+    elif (fmt == swa.PNG):
+        return ("png", 0, 1, 0)
+    elif (fmt == swa.PPM):
+        return ("ppm", 0, 1, 0)
+    elif (fmt == swa.RGB):
+        return ("rgb", 0, 1, 0)
+    elif (fmt == swa.TIFF):
+        return ("tif", 0, 1, 0)
+    elif (fmt == swa.STL):
+        return ("stl", 0, 0, 1)
+    elif (fmt == swa.OBJ):
+        return ("obj", 0, 0, 1)
+    elif (fmt == swa.VTK):
+        return ("vtk", 0, 0, 1)
+    else:
+        return ("unknown", 0, 0, 0)
+
+
+swa=SaveWindowAttributes()
+swa.family = 0
+
+AddWindow()
+SetActiveWindow(1)
+
+# I=Image, G=Geometry, C=Curve formats
+CFormats=[swa.CURVE, swa.POSTSCRIPT, swa.ULTRA]
+IFormats=[swa.BMP, swa.JPEG, swa.PNG, swa.PPM, swa.RGB, swa.TIFF]
+GFormats=[swa.STL, swa.OBJ, swa.VTK]
+
+a = AnnotationAttributes()
+a.userInfoFlag = 0
+a.databaseInfoFlag = 0
+a.legendInfoFlag = 0
+SetAnnotationAttributes(a)
+
+# ----------------------------------------------------------------------------
+# Function: TestSaveFormat
+#
+# Modifications:
+#   Kathleen Biagas, Thu Feb 11 2021
+#   For Image formats, only convert RGB to TIFF, as all other formats tested
+#   here should be readable and plottable by VisIt. Use PIL::Image for
+#   conversion instead of 'convert'.
+# ----------------------------------------------------------------------------
+
+def TestSaveFormat(fmt):
+    SetActiveWindow(1)
+    mode = ""
+    result = "Failed\n"
+    (ext, isC, isI, isG) = SaveFileInfo(fmt)
+    swatmp = swa
+    swatmp.format = fmt
+    swatmp.outputToCurrentDirectory = 1
+    if isI:
+        swatmp.fileName = "saveformat_tmp.%s"%ext
+    else:
+        swatmp.fileName = "saveformat_tmp"
+    SetSaveWindowAttributes(swatmp)
+    try:
+        SaveWindow()
+    except:
+        if TestEnv.params["scalable"]:
+            if GetLastError() == "You cannot save non-image formats (e.g. ultra, curve, stl, etc.)" \
+                                 " from a window that is currently in scalable rendering mode. You" \
+                                 " may force scalable rendering to Never but if the resulting data" \
+                                 " is too big for the viewer to handle, it will likely crash" \
+                                 " VisIt. For 3D formats, try an export database operation instead." :
+                TestText("saveformat_%s%s"%(mode,ext), "Passed\n")
+                return
+        TestText("saveformat_%s%s"%(mode,ext), result)
+        return
+
+    # depending on the type of format this is, try to
+    # read the file we just created back into VisIt and
+    # put up a plot in window 2. If that succeeds, we'll
+    # say this format's save actually worked
+    if isC:
+        if FileExists(swatmp.fileName+"."+ext, 1, 0):
+            if ext == "ps":
+                result = "Passed\n" # can only test existence for ps
+            else:
+                SetActiveWindow(2)
+                if OpenDatabase(swatmp.fileName+"."+ext):
+                    AddPlot("Curve","curve")
+                    if DrawPlots():
+                        result = "Passed\n"
+                    DeleteAllPlots()
+                    CloseDatabase(swatmp.fileName+"."+ext)
+    elif isI:
+        if swatmp.screenCapture == 0:
+            mode = "offscreen_"
+        imageFileExists = FileExists(swatmp.fileName, 1, 0)
+        if imageFileExists:
+            # visit should be able to read all but the RGB format, so only convert RGB to TIFF
+            if fmt != swa.RGB:
+                SetActiveWindow(2)
+                if OpenDatabase(swatmp.fileName):
+                    AddPlot("Pseudocolor","red")
+                    if DrawPlots():
+                        result = "Passed\n"
+                    DeleteAllPlots()
+                    CloseDatabase(swatmp.fileName)
+            else:
+                tiffFileName = "%s/saveformat_tmp.tif"%TestEnv.params["run_dir"]
+                tiffFileExists = 0
+                try:
+                    im1=Image.open(swatmp.fileName)
+                    im1.save(tiffFileName, 'tiff')
+                    tiffFileExists = FileExists(tiffFileName, 1, 0)
+                except ValueError:
+                    result="Format type could not be determined"
+                except OSError:
+                    result="Could not convert"
+                if tiffFileExists:
+                    SetActiveWindow(2)
+                    if OpenDatabase(tiffFileName):
+                        AddPlot("Pseudocolor","red")
+                        if DrawPlots():
+                            result = "Passed\n"
+                        DeleteAllPlots()
+                        CloseDatabase(tiffFileName)
+    elif isG:
+        if FileExists(swatmp.fileName+"."+ext, 1, 0):
+            if ext == "stl":
+                meshName = "STL_mesh"
+            elif ext == "obj":
+                meshName = "OBJMesh"
+            elif ext == "vtk":
+                meshName = "mesh"
+            SetActiveWindow(2)
+            if OpenDatabase(swatmp.fileName+"."+ext):
+                AddPlot("Mesh",meshName)
+                if DrawPlots():
+                    result = "Passed\n"
+                DeleteAllPlots()
+                CloseDatabase(swatmp.fileName+"."+ext)
+    TestText("saveformat_%s%s"%(mode,ext), result)
+    SetActiveWindow(1)
+
+
+TestSection("Curve Formats")
+OpenDatabase(data_path("curve_test_data","c062.curve"))
+
+AddPlot("Curve", "going_down")
+DrawPlots()
+for f in CFormats:
+    TestSaveFormat(f)
+
+DeleteAllPlots()
+CloseDatabase(data_path("curve_test_data","c062.curve"))
+
+TestSection("Image Formats via Screen Capture")
+OpenDatabase(silo_data_path("multi_rect2d.silo"))
+
+AddPlot("Mesh", "mesh1")
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+slider = CreateAnnotationObject("TimeSlider")
+# make sure screenCapture is on
+swa.screenCapture = 1
+for f in IFormats:
+    TestSaveFormat(f)
+
+TestSection("Image Formats via Off Screen")
+swa.screenCapture = 0
+for f in IFormats:
+    TestSaveFormat(f)
+swa.screenCapture = 1
+
+DeleteAllPlots()
+CloseDatabase(silo_data_path("multi_rect2d.silo"))
+
+TestSection("Geometry Formats")
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "dx")
+DrawPlots()
+for f in GFormats:
+    TestSaveFormat(f)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable.html new file mode 100644 index 000000000..e455cd609 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable.html @@ -0,0 +1,117 @@ + +Results for rendering/scalable.py + +

Results of VisIt Regression Test - rendering/scalable

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
scalable_010.000.00
scalable_020.000.00
scalable_030.000.00
scalable_040.000.00
scalable_050.000.00
scalable_060.000.00
SRModeHistory0 modifications totalling 0 lines
Multiple Windows
multiWindow_SRModeHistory0 modifications totalling 0 lines
scalable_070.000.00
Testing Mesh plot's opaque flag in SR mode
scalable_080.000.00
scalable_090.000.00
scalable_100.000.00
Glyphed Plot Causing SR Transitions
glyphedPlot_SRModeHistory0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable2.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable2.html new file mode 100644 index 000000000..7b9bb81dc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable2.html @@ -0,0 +1,53 @@ + +Results for rendering/scalable2.py + +

Results of VisIt Regression Test - rendering/scalable2

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Testing that plots of single-timestep are requested in SR after engine loss
scalable2_0_000.000.00
scalable2_0_010 modifications totalling 0 lines
scalable2_0_020 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable2_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable2_py.html new file mode 100644 index 000000000..7e2879db0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable2_py.html @@ -0,0 +1,113 @@ +rendering/scalable2.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  scalable2.py
+#
+#  Tests:      mesh      - 2D curvilinear
+#              plots     - Pseudocolor, Contour
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri May 12 15:55:22 PST 2006
+#
+#  Modifications:
+#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
+#    Removed silly comment regarding global annotation object 'a'
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+import os, sys
+
+#
+# Test that single-timestep plots have their networks reset in the
+# viewer when we lose the compute engine.
+#
+def TestNetworkReset():
+    TestSection("Testing that plots of single-timestep are "\
+                "requested in SR after engine loss")
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Mesh", "curvmesh2d")
+
+    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
+
+    AddPlot("Contour", "mesh/nummm")
+    DrawPlots()
+
+    # Use scalable rendering always
+    r = GetRenderingAttributes()
+    r.scalableActivationMode = r.Always
+    SetRenderingAttributes(r)
+
+    Test("scalable2_0_00")
+
+    # Turn off screen capture
+    base = "TestNetworkReset"
+    s = GetSaveWindowAttributes()
+    s.screenCapture = 0
+    s.width = 400
+    s.height = 400
+    s.format = s.PNG
+    s.fileName = base
+    s.outputToCurrentDirectory = 1
+    s.family = 1
+    SetSaveWindowAttributes(s)
+
+    # Save out images, killing the compute engine halfway through
+    usingSR = ""
+    for i in range(TimeSliderGetNStates()):
+        SetTimeSliderState(i)
+        # TODO_WINDOWS THIS WONT WORK ON WINDOWS
+        # Kill the compute engine partway through to simulate it getting
+        # booted out of the batch queue.
+        if(i == 5):
+            pinfo = GetProcessAttributes("engine")
+            for pid in pinfo.pids:
+                os.system("kill -9 %d" % pid)
+
+        DrawPlots()
+        SaveWindow()
+        if(GetWindowInformation().usingScalableRendering == 1):
+            usingSR = usingSR + "Using scalable rendering on frame %d: true\n" % i
+        else:
+            usingSR = usingSR + "Using scalable rendering on frame %d: false\n" % i
+
+    # Look at the file sizes to make sure that all are non-zero
+    files = os.listdir(".")
+    pngs = []
+    for f in files:
+        if(len(f) > len(base) and f[:len(base)] == base):
+            pngs = pngs + [f]
+    pngs.sort()
+
+    # Iterate through the png files and look at their sizes. Remove them too.
+    pngSize = ""
+    for png in pngs:
+        filesize = os.stat(png)[6]
+        if filesize > 0:
+            pngSize = pngSize + "File size for %s greater than zero.\n" % png
+        else:
+            pngSize = pngSize + "File size for %s is zero.\n" % png
+        # remove the png file.
+        os.unlink(png)
+
+    TestText("scalable2_0_01", usingSR)
+    TestText("scalable2_0_02", pngSize)
+
+    DeleteAllPlots()
+
+#
+# Call all of the subtests.
+#
+def main():
+    # Turn off all annotation
+    TurnOffAllAnnotations()
+
+    TestNetworkReset()
+
+#
+# Call main
+#
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_c.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_c.html new file mode 100644 index 000000000..623373cf4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_c.html @@ -0,0 +1,117 @@ + +Results for rendering/scalable_c.py + +

Results of VisIt Regression Test - rendering/scalable_c

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
scalable_010.000.00
scalable_020.000.00
scalable_030.000.00
scalable_040.000.00
scalable_050.000.00
scalable_060.000.00
SRModeHistory0 modifications totalling 0 lines
Multiple Windows
multiWindow_SRModeHistory0 modifications totalling 0 lines
scalable_070.000.00
Testing Mesh plot's opaque flag in SR mode
scalable_080.000.00
scalable_090.000.00
scalable_100.000.00
Glyphed Plot Causing SR Transitions
glyphedPlot_SRModeHistory0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_c_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_c_py.html new file mode 100644 index 000000000..3be73d7c0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_c_py.html @@ -0,0 +1,21 @@ +rendering/scalable_c.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  scalable_c.py
+#
+#  Tests:      Runs the scalable.py test but with compression turned on 
+#              scalable.py tests for existence of 'useCompression' variable
+#              and turns on compression if it exists. We expect identical
+#              output from the tests but because this py file has a different
+#              name, it will generate them a subdir by the name 'scalable_c'
+#              and look for baselines likewise. So, in baseline dir,
+#              the scalable_c dir is a symlink to scalable.
+#
+#  Programmer: Mark C. Miller
+#  Date:       19Aug08 
+#
+# ----------------------------------------------------------------------------
+
+useCompression = 1
+Source(tests_path("rendering","scalable.py"))
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_py.html new file mode 100644 index 000000000..5aad55a3e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_scalable_py.html @@ -0,0 +1,392 @@ +rendering/scalable.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  scalable.py
+#
+#  Tests:      mesh      - 3D unstructured, multiple domains
+#              plots     - pc, mesh 
+#              operators - slice 
+#              selection - some of the domains 
+#
+#  Defect ID:  '3359
+#
+#  Programmer: Mark C. Miller 
+#  Date:       01Jul03
+#
+#  Modifications:
+#
+#    Mark C. Miller, Tue May 11 20:21:24 PDT 2004
+#    Changed scalable rendering controls to use activation mode
+#
+#    Mark C. Miller, Tue May 25 14:29:40 PDT 2004
+#    Added code to test automatic tranitions into and out of SR mode
+#
+#    Mark C. Miller, Thu Jan  6 14:23:01 PST 2005
+#    Added code to test multiple windows and auto SR transitions
+#
+#    Kathleen Bonnell, Mon Jan 23 21:02:56 PST 2006 
+#    Added tests '08-10, testing auto-opaque mesh and sr mode.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to switch between Silo's HDF5 and PDB data.
+#
+#    Eric Brugger, Fri Aug 15 10:19:33 PDT 2014
+#    Modified the script to use srun to launch the parallel engine on edge.
+#
+#    Eric Brugger, Wed Oct 29 12:08:54 PDT 2014
+#    Changed the parallel job launching logic to use srun on surface instead
+#    of edge.
+#
+#    Brad Whitlock, Mon Dec 15 17:22:38 PST 2014
+#    Only close the compute engine if it is not parallel.
+#
+#    Kathleen Biagas, Fri Jul  7 13:41:36 PDT 2017
+#    Don't run this test if the parallel engine doesn't exist.
+#
+#    Kathleen Biagas, Tue Feb 8 2022
+#    Use run_dir for location of saving windows, it is cleaned up on exit.
+#
+#    Eric Brugger, Wed Nov  1 13:46:08 PDT 2023
+#    Updated the list of hosts where srun was used to launch a parallel
+#    compute engine.
+#
+# ----------------------------------------------------------------------------
+
+if not sys.platform.startswith("win"):
+    if not os.path.exists(visit_bin_path("..", "exe", "engine_par")):
+        Exit(121)
+else:
+    if not os.path.exists(visit_bin_path("engine_par.exe")):
+        Exit(121)
+
+# sleep is needed to allow viewer to complete update of window information
+# before it is queried here
+import time
+sleepTime=1
+
+# Turn on scalable rendering
+ra = GetRenderingAttributes()
+ra.scalableActivationMode = ra.Always
+if "useCompression" in dir():
+    ra.compressionActivationMode = ra.Always
+SetRenderingAttributes(ra)
+
+# Close the compute engine, if it is not already parallel.
+engines = GetEngineList()
+if len(engines) > 0:
+    props = GetEngineProperties(engines[0])
+    if props.numProcessors < 2:
+        CloseComputeEngine()
+        # explicitly open a parallel engine, if possible
+        # if it fails, the OpenDatabase will start a serial engine
+        import socket
+        if "quartz" in socket.gethostname() or \
+           "pascal"  in socket.gethostname() or \
+           "poodle"  in socket.gethostname() or \
+           "syrah"   in socket.gethostname():
+            haveParallelEngine = OpenComputeEngine("localhost", ("-l", "srun", "-np", "2"))
+        else:
+            haveParallelEngine = OpenComputeEngine("localhost", ("-np", "2"))
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Mesh", "mesh1")
+silr=SILRestriction()
+silr.TurnOffAll()
+silr.TurnOnSet(1)
+silr.TurnOnSet(3)
+silr.TurnOnSet(5)
+silr.TurnOnSet(10)
+SetPlotSILRestriction(silr)
+AddPlot("Pseudocolor", "d")
+SetPlotSILRestriction(silr)
+
+DrawPlots()
+
+view=GetView3D()
+view.viewNormal=(0,1,0)
+view.viewUp=(0,0,-1)
+SetView3D(view)
+
+Test("scalable_01")
+
+# rotate and draw them again
+view.viewNormal=(0,1,0)
+view.viewUp=(1,0,0)
+SetView3D(view)
+
+# Make sure mesh plot doesn't dissappear after a rotate
+# ('3359)
+Test("scalable_02")
+
+# Pan and zoom
+view.imageZoom = 0.75
+view.imagePan = (0.25, 0.25)
+SetView3D(view)
+Test("scalable_03")
+
+# Make sure hide behavior still works
+SetActivePlots(1)
+HideActivePlots()
+Test("scalable_04")
+
+HideActivePlots()
+SetActivePlots(0)
+DeleteActivePlots()
+Test("scalable_05")
+
+# reset the SIL restriction for the succeeding SR auto mode tests
+# tests to make sure the ERI actor doesn't leave stale image data around
+ResetView()
+silr.TurnOnAll()
+SetPlotSILRestriction(silr)
+DeleteAllPlots()
+Test("scalable_06")
+
+# accumulate results of SR mode changes here
+srModeHistory=""
+
+# function to save temporary windows used to force renders
+def MySaveWindow():
+    swa = GetSaveWindowAttributes()
+    swa.fileName = pjoin(TestEnv.params["run_dir"], "scalable_tmp.png")
+    swa.format = swa.PNG
+    swa.family = 0
+    SetSaveWindowAttributes(swa)
+    SaveWindow() # required to force render
+
+# function to examine current SR mode of window
+def CheckSRMode(winID):
+   global srModeHistory
+   DrawPlots()
+   MySaveWindow() # required to force render
+   time.sleep(sleepTime)
+   wi=GetWindowInformation()
+   if wi.usingScalableRendering == 1:
+       srModeHistory+="window %d:SR is ON\n"%winID
+   else:
+       srModeHistory+="window %d:SR is off\n"%winID
+
+# function to force window into specified SR mode and confirm it 
+def ForceSRMode(mode):
+   global srModeHistory
+   if mode:
+       ra.scalableActivationMode = ra.Always
+   else:
+       ra.scalableActivationMode = ra.Never
+   SetRenderingAttributes(ra)
+   DrawPlots()
+   time.sleep(sleepTime)
+   wi=GetWindowInformation()
+   srModeHistory+="force SR mode %d\n"%wi.usingScalableRendering
+
+ForceSRMode(0)
+
+# test an individual plot taking poly count above threshold
+# with proc 0's data alone
+ra.scalableActivationMode = ra.Auto
+ra.scalableAutoThreshold = 2000
+SetRenderingAttributes(ra)
+DrawPlots()
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+time.sleep(sleepTime)
+wi=GetWindowInformation()
+srModeHistory+="single plot, proc 0 >threshold %d\n"%wi.usingScalableRendering
+DeleteAllPlots()
+
+ForceSRMode(0)
+
+# test an individual plot taking poly count above threshold with
+# data from proc 2 (or above)
+ra.scalableActivationMode = ra.Auto
+ra.scalableAutoThreshold = 5000
+SetRenderingAttributes(ra)
+DrawPlots()
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+time.sleep(sleepTime)
+wi=GetWindowInformation()
+srModeHistory+="single plot, proc >0 >threshold %d\n"%wi.usingScalableRendering
+DeleteAllPlots()
+
+ForceSRMode(0)
+
+# test a addition and deletion causing to go above threshold and then
+# back below
+ra.scalableActivationMode = ra.Auto
+ra.scalableAutoThreshold = 15000
+SetRenderingAttributes(ra)
+DrawPlots()
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+time.sleep(sleepTime)
+wi=GetWindowInformation()
+srModeHistory+="two plots, first <threshold %d\n"%wi.usingScalableRendering
+AddPlot("Mesh", "mesh1")
+DrawPlots()
+time.sleep(sleepTime)
+wi=GetWindowInformation()
+srModeHistory+="two plots, second >threshold %d\n"%wi.usingScalableRendering
+DeleteActivePlots()
+DrawPlots()
+MySaveWindow() # force engine to render
+time.sleep(sleepTime)
+wi=GetWindowInformation()
+srModeHistory+="delete 2nd, <threshold %d\n"%wi.usingScalableRendering
+
+ForceSRMode(0)
+
+# test setting auto threshold below current count
+ra.scalableActivationMode = ra.Auto
+ra.scalableAutoThreshold = 3000
+SetRenderingAttributes(ra)
+DrawPlots()
+time.sleep(sleepTime)
+wi=GetWindowInformation()
+srModeHistory+="auto threshold set < plot %d\n"%wi.usingScalableRendering
+
+ForceSRMode(1)
+
+# test setting auto threshold above current count
+ra.scalableActivationMode = ra.Auto
+ra.scalableAutoThreshold = 30000
+SetRenderingAttributes(ra)
+DrawPlots()
+# save window is required to force the re-draw that causes engine to
+# decide SR mode is no longer necessary
+MySaveWindow()
+time.sleep(sleepTime)
+wi=GetWindowInformation()
+srModeHistory+="auto threshold set > plot %d\n"%wi.usingScalableRendering
+
+TestText("SRModeHistory",srModeHistory)
+
+DeleteAllPlots()
+srModeHistory=""
+
+#
+# Do some testing with multiple windows
+#
+TestSection("Multiple Windows")
+
+ra.scalableActivationMode = ra.Auto
+ra.scalableAutoThreshold = 14000
+SetRenderingAttributes(ra)
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+CheckSRMode(1)
+
+CloneWindow()
+SetActiveWindow(2)
+DrawPlots()
+CheckSRMode(2)
+
+SetActiveWindow(1)
+AddPlot("Pseudocolor", "p")
+AddPlot("Pseudocolor", "u")
+AddPlot("Pseudocolor", "w")
+DrawPlots()
+CheckSRMode(1)
+SetActiveWindow(2)
+AddPlot("Pseudocolor", "p")
+DrawPlots()
+CheckSRMode(2)
+
+SetActiveWindow(1)
+SetActivePlots((1,2,3))
+DeleteActivePlots()
+DrawPlots()
+CheckSRMode(1)
+SetActiveWindow(2)
+CheckSRMode(2)
+
+TestText("multiWindow_SRModeHistory",srModeHistory)
+
+#
+# test unhiding mesh to make sure it doesn't go opaque ('5947)
+#
+DeleteWindow()
+SetActiveWindow(1)
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+ra.scalableActivationMode = ra.Always
+SetRenderingAttributes(ra)
+AddPlot("Mesh","mesh1")
+AddPlot("Pseudocolor","dx")
+DrawPlots()
+MySaveWindow() # force a render
+SetActivePlots((0))
+HideActivePlots()
+DrawPlots()
+MySaveWindow() # force a render
+HideActivePlots()
+DrawPlots()
+Test("scalable_07")
+
+DeleteAllPlots()
+
+TestSection("Testing Mesh plot's opaque flag in SR mode")
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("FilledBoundary", "mat1")
+AddPlot("Mesh", "curvmesh2d")
+m = MeshAttributes()
+m.opaqueMode = m.Auto
+SetPlotOptions(m)
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+Test("scalable_08")
+SetActivePlots(1)
+Test("scalable_09")
+Pick(164, 136)
+Test("scalable_10")
+DeleteAllPlots()
+
+
+TestSection("Glyphed Plot Causing SR Transitions")
+
+srModeHistory=""
+ForceSRMode(0)
+ra.scalableActivationMode = ra.Auto
+ra.scalableAutoThreshold = 30000
+SetRenderingAttributes(ra)
+
+OpenDatabase(silo_data_path("galaxy0000.silo"))
+
+AddPlot("Pseudocolor", "vx")
+DrawPlots()
+CheckSRMode(1)
+TestText("glyphedPlot_SRModeHistory",srModeHistory)
+
+DeleteAllPlots()
+
+# this section causes a crash, comment out until fixed.
+#TestSection("Stereo Modes")
+
+#ra.scalableActivationMode = ra.Always
+#ra.stereoRendering = 1
+#ra.stereoType = ra.RedBlue
+#SetRenderingAttributes(ra)
+
+#OpenDatabase(silo_data_path("multi_rect3d.silo"))
+
+#AddPlot("Mesh","mesh1")
+
+# make the eye separation as noticable as possible
+#ResetView()
+#v = GetView3D()
+#v.eyeAngle = 5
+#v.viewNormal=(0.707, 0, 0.707)
+#SetView3D(v)
+#DrawPlots()
+
+#Test("scalable_11")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_shadows.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_shadows.html new file mode 100644 index 000000000..78f4fdf72 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_shadows.html @@ -0,0 +1,54 @@ + +Results for rendering/shadows.py + +

Results of VisIt Regression Test - rendering/shadows

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
shadows_010.000.00
shadows_020.000.00
shadows_030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_shadows_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_shadows_py.html new file mode 100644 index 000000000..179c94a93 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_shadows_py.html @@ -0,0 +1,55 @@ +rendering/shadows.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  shadows.py
+#
+#  Tests:      mesh      - 2D/3D rectilinear, one domain
+#              plots     - pseudocolor, surface
+#              operators - isosurface
+#              selection - no
+#
+#  Defect ID:  5539, 7068
+#
+#  Programmer: Hank Childs
+#  Date:       March 3, 2006
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "hardyglobal")
+
+AddOperator("Isosurface")
+i = IsosurfaceAttributes()
+i.contourNLevels = 1
+SetOperatorOptions(i)
+
+r = RenderingAttributes()
+r.scalableActivationMode = r.Always
+r.doShadowing = 1
+SetRenderingAttributes(r)
+l = GetLight(0)
+l.direction = (-0.707, 0, -0.707)
+SetLight(0, l)
+DrawPlots()
+Test("shadows_01")
+
+r.shadowStrength = 0.9
+SetRenderingAttributes(r)
+Test("shadows_02")
+
+# Now test that we don't crash with 2D.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+Test("shadows_03")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_specular.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_specular.html new file mode 100644 index 000000000..1e7b88858 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_specular.html @@ -0,0 +1,102 @@ + +Results for rendering/specular.py + +

Results of VisIt Regression Test - rendering/specular

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
specular_010.000.00
specular_020.000.00
specular_030.000.00
specular_040.000.00
specular_050.000.00
specular_060.000.00
specular_070.000.00
specular_080.000.00
specular_090.000.00
specular_100.000.00
specular_110.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_specular_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_specular_py.html new file mode 100644 index 000000000..5d3318baa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_specular_py.html @@ -0,0 +1,124 @@ +rendering/specular.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  specular.py
+#
+#  Tests:      mesh      - 2D/3D rectilinear, one domain
+#              plots     - pseudocolor
+#              operators - isosurface
+#              selection - no
+#
+#  Defect ID:  5555, 5580
+#
+#  Programmer: Hank Childs
+#  Date:       November 2, 2004
+#
+#  Modifications:
+#
+#    Hank Childs, Wed Nov  3 16:41:56 PST 2004
+#    Commented out specular_11, since it was failing in SR mode.  Submitted
+#    new ticket, '5580 to address this.
+#
+#    Hank Childs, Fri Dec  9 08:01:46 PST 2005
+#    Uncomment specular_11.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "hardyglobal")
+
+AddOperator("Isosurface")
+i = IsosurfaceAttributes()
+i.contourNLevels = 1
+SetOperatorOptions(i)
+
+DrawPlots()
+Test("specular_01")
+
+r = GetRenderingAttributes()
+r.specularFlag = 1
+SetRenderingAttributes(r)
+Test("specular_02")
+
+# Highly concentrated, low power
+r.specularCoeff = 0.9
+r.specularPower = 100
+SetRenderingAttributes(r)
+Test("specular_03")
+
+# Poorly concentrated, high power
+r.specularCoeff = 0.1
+r.specularPower = 1
+SetRenderingAttributes(r)
+Test("specular_04")
+
+# Test that specular is properly turned off when PC's lighting is turned off.
+pc_atts = PseudocolorAttributes()
+pc_atts.lightingFlag = 0
+SetPlotOptions(pc_atts)
+Test("specular_05")
+
+# Make sure that specular is not affecting 2D plots.
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+Test("specular_06")
+
+# Now do the same things over again with Pseudocolor + Elevate
+
+DeleteAllPlots()
+r.specularFlag = 0
+SetRenderingAttributes(r)
+OpenDatabase(silo_data_path("noise.silo"))
+
+AddPlot("Pseudocolor", "hgslice")
+AddOperator("Elevate")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.35795, -0.730451, 0.581647)
+v.focus = (0, 0, 10)
+v.viewUp = (0.0642975, 0.60216, 0.795782)
+v.viewAngle = 30
+v.parallelScale = 17.3205
+v.nearPlane = -34.641
+v.farPlane = 34.641
+v.imagePan = (0, 0)
+v.imageZoom = 1
+v.perspective = 1
+SetView3D(v)
+Test("specular_07")
+
+r = GetRenderingAttributes()
+r.specularCoeff = 0.6
+r.specularPower = 10
+r.specularFlag = 1
+SetRenderingAttributes(r)
+Test("specular_08")
+
+# Highly concentrated, low power
+r.specularCoeff = 0.9
+r.specularPower = 100
+SetRenderingAttributes(r)
+Test("specular_09")
+
+# Poorly concentrated, high power
+r.specularCoeff = 0.1
+r.specularPower = 1
+SetRenderingAttributes(r)
+Test("specular_10")
+
+# Test that specular is properly turned off when PC's lighting is turned off.
+pc_atts = PseudocolorAttributes()
+pc_atts.lightingFlag = 0
+SetPlotOptions(pc_atts)
+Test("specular_11")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_text2d.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_text2d.html new file mode 100644 index 000000000..4982a2a12 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_text2d.html @@ -0,0 +1,108 @@ + +Results for rendering/text2d.py + +

Results of VisIt Regression Test - rendering/text2d

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
text2d000.000.00
text2d010.000.00
text2d020.000.00
text2d030.000.00
text2d040.000.00
text2d050.000.00
text2d060.000.00
text2d070.000.00
text2d080.000.00
text2d090.000.00
text2d100.000.00
text2d110.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_text2d_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_text2d_py.html new file mode 100644 index 000000000..72a908dee --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_text2d_py.html @@ -0,0 +1,123 @@ +rendering/text2d.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  text2d.py
+#
+#  Tests:      mesh        - 2D curvilinear, single domain
+#              plots       - Pseudocolor
+#              annotations - Text2D
+#
+#  Defect ID:  None
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Dec 4 14:39:21 PST 2003
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Brad Whitlock, Tue Feb 28 12:00:21 PST 2012
+#    Add test for words that used to get truncated.
+#
+# ----------------------------------------------------------------------------
+
+# Set up the annotation colors, etc.
+a = GetAnnotationAttributes()
+a.backgroundColor = (80, 0, 100, 255)
+a.foregroundColor = (255, 255, 255, 255)
+a.backgroundMode = a.Solid
+SetAnnotationAttributes(a)
+
+# Open up the database and do a plot.
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+# Create a Text2D object
+text = CreateAnnotationObject("Text2D")
+text.text = "Pseudocolor plot!"
+text.height = 0.05
+text.position = (0.25, 0.45)
+Test("text2d00")
+
+# Set the foreground color to see if it changes
+a.foregroundColor = (255, 255, 0, 255)
+SetAnnotationAttributes(a)
+Test("text2d01")
+
+# Test solid text color
+a.foregroundColor = (255, 255, 255, 255)
+SetAnnotationAttributes(a)
+text.useForegroundForTextColor = 0
+text.textColor = (0, 255, 0, 255)
+Test("text2d02")
+
+# Test text opacity
+text.height = 0.18
+text.position = (0.25, 0.45)
+text.textColor = (255,255,255,150)
+Test("text2d03")
+
+# Set the text atts
+text.textColor = (255,255,255,255)
+text.useForegroundForTextColor = 1
+text.height = 0.05
+
+# Create more text objects
+courier = CreateAnnotationObject("Text2D")
+courier.text = "Courier"
+courier.fontFamily = courier.Courier
+courier.position = (0.25, 0.35)
+courier.height = 0.06
+times = CreateAnnotationObject("Text2D")
+times.text = "Times"
+times.fontFamily = courier.Times
+times.position = (0.25, 0.25)
+times.height = 0.07
+Test("text2d04")
+
+# Set the bold flag
+text.fontBold = 1
+courier.fontBold = 1
+times.fontBold = 1
+Test("text2d05")
+
+# Set the italic flag
+text.fontItalic = 1
+courier.fontItalic = 1
+times.fontItalic = 1
+Test("text2d06")
+
+# Set the shadow flag
+text.fontShadow = 1
+courier.fontShadow = 1
+times.fontShadow = 1
+Test("text2d07")
+
+# Start Removing text
+courier.Delete()
+Test("text2d08")
+times.Delete()
+Test("text2d09")
+text.Delete()
+Test("text2d10")
+
+# Test for words that used to get truncated
+erg = CreateAnnotationObject("Text2D")
+erg.position = (0.5, 0.3)
+erg.text = "Erg"
+erg.height = 0.08
+erg.useForegroundForTextColor = 0
+erg.textColor = (255, 255, 255, 255)
+era = CreateAnnotationObject("Text2D")
+era.position = (0.5, 0.2)
+era.text = "    Era"
+era.height = 0.12
+era.useForegroundForTextColor = 0
+era.textColor = (255, 255, 255, 255)
+Test("text2d11")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_text3d.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_text3d.html new file mode 100644 index 000000000..8fd5a9a52 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_text3d.html @@ -0,0 +1,102 @@ + +Results for rendering/text3d.py + +

Results of VisIt Regression Test - rendering/text3d

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
text3d000.000.00
text3d010.000.00
text3d020.000.00
text3d030.000.00
text3d040.000.00
text3d050.000.00
text3d060.000.00
text3d070.000.00
text3d080.000.00
text3d090.000.00
text3d100.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_text3d_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_text3d_py.html new file mode 100644 index 000000000..9878095a6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_text3d_py.html @@ -0,0 +1,103 @@ +rendering/text3d.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  text3d.py
+#
+#  Tests:      mesh        - 2D curvilinear, single domain
+#              plots       - Pseudocolor
+#              annotations - Text2D
+#
+#  Defect ID:  None
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       August 31, 2015
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Set up the annotation colors, etc.
+a = GetAnnotationAttributes()
+a.backgroundColor = (80, 0, 100, 255)
+a.foregroundColor = (255, 255, 255, 255)
+a.backgroundMode = a.Solid
+SetAnnotationAttributes(a)
+
+# Open up the database and do a plot.
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+
+# Create a Text2D object
+text = CreateAnnotationObject("Text3D")
+text.text = "Pseudocolor plot!"
+text.position = (-10,10,10)
+Test("text3d00")
+
+# Set the foreground color to see if it changes
+a.foregroundColor = (51, 204, 204, 255)
+SetAnnotationAttributes(a)
+Test("text3d01")
+
+# Test solid text color
+a.foregroundColor = (255, 255, 255, 255)
+SetAnnotationAttributes(a)
+text.useForegroundForTextColor = 0
+text.textColor = (255, 102, 0, 255)
+Test("text3d02")
+
+# Test text opacity
+text.position = (-5,0,9)
+text.textColor = (255,102,0,150)
+text.relativeHeight = 0.05
+Test("text3d03")
+
+# Test Height mode
+text.textColor = (255,102,0,255)
+text.heightMode = text.Fixed
+text.fixedHeight = 2
+Test("text3d04")
+
+# Test preserveOrientation
+text.position = (-10, 0, 12)
+v = GetView3D()
+v.viewNormal = (0, 0.707107, 0.707107)
+v.viewUp = (0, 0.707107, -0.707107)
+SetView3D(v)
+Test("text3d05")
+
+text.preserveOrientation = 1
+Test("text3d06")
+
+
+# Test rotations
+
+# Create more text objects
+AddOperator("Reflect")
+reflect = ReflectAttributes()
+reflect.reflections=(1, 1, 0, 0, 0, 0, 0, 0)
+SetOperatorOptions(reflect)
+text.text="Left"
+text.position=(-20, -5, 10)
+text.rotations=(0,0,90)
+text.heightMode = text.Relative
+DrawPlots()
+ResetView()
+Test("text3d07")
+
+right = CreateAnnotationObject("Text3D")
+right.position = (-5, 0, 10)
+right.text = "Right"
+right.relativeHeight = 0.05
+right.rotations=(0,0, -45)
+Test("text3d08")
+
+text.Delete()
+Test("text3d09")
+right.Delete()
+Test("text3d10")
+
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_timeslider.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_timeslider.html new file mode 100644 index 000000000..ef3631588 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_timeslider.html @@ -0,0 +1,174 @@ + +Results for rendering/timeslider.py + +

Results of VisIt Regression Test - rendering/timeslider

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
timeslider000.000.00
timeslider010.000.00
timeslider020.000.00
timeslider030.000.00
timeslider040.000.00
timeslider050.000.00
timeslider060.000.00
timeslider070.000.00
timeslider080.000.00
timeslider090.000.00
timeslider100.000.00
timeslider110.000.00
timeslider120.000.00
timeslider130.000.00
timeslider140.000.00
timeslider150.000.00
timeslider160.000.00
timeslider170.000.00
timeslider180.000.00
timeslider190.000.00
timeslider200.000.00
timeslider210.000.00
timeslider220.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_timeslider_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_timeslider_py.html new file mode 100644 index 000000000..6ee6b28d4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_timeslider_py.html @@ -0,0 +1,162 @@ +rendering/timeslider.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  timeslider.py
+#
+#  Tests:      mesh        - 2D curvilinear, single domain
+#              plots       - Pseudocolor
+#              annotations - Time slider
+#
+#  Defect ID:  VisIt00003746
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Dec 4 14:39:21 PST 2003
+#
+#  Modifications:
+#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
+#    Removed deprecated functions.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Update due to change 
+#
+#    Brad Whitlock, Wed Sep 28 14:12:00 PDT 2011
+#    Move the time slider around a couple times.
+# ----------------------------------------------------------------------------
+
+# Set up the annotation colors, etc.
+a = GetAnnotationAttributes()
+a.backgroundColor = (0, 0, 0, 255)
+a.foregroundColor = (255, 255, 255, 255)
+a.backgroundMode = a.Solid
+SetAnnotationAttributes(a)
+
+# Open up the database and create a plot.
+OpenDatabase(data_path("pdb_test_data/allinone00.pdb"))
+
+AddPlot("Pseudocolor", "mesh/a")
+SetTimeSliderState(4)
+DrawPlots()
+
+# Create a time slider
+slider = CreateAnnotationObject("TimeSlider")
+Test("timeslider00")
+
+# Turn it off
+slider.visible = 0
+Test("timeslider01")
+
+# Turn it back on and move and resize it
+slider.visible = 1
+slider.width = 0.60
+slider.height = 0.1
+slider.position = (0.2, 0.03)
+Test("timeslider02")
+
+# Change the colors
+slider.startColor = (255, 0, 0, 255)
+slider.endColor = (255, 255, 0, 255)
+Test("timeslider03")
+
+# Change the rounding mode
+slider.rounded = 0
+Test("timeslider04")
+
+# Change the shading mode
+slider.shaded = 0
+Test("timeslider05")
+
+# Change the text
+slider.text = "The time is: $time"
+Test("timeslider06")
+SetTimeSliderState(14)
+Test("timeslider07")
+
+# Change the text color
+slider.shaded = 1
+slider.rounded = 1
+slider.useForegroundForTextColor = 0
+slider.textColor = (0, 0, 255, 255)
+Test("timeslider08")
+
+# Create a new slider
+SetTimeSliderState(18)
+slider2 = CreateAnnotationObject("TimeSlider","slider_obj")
+slider2.position = (0.3, 0.8)
+slider2.height = 0.15
+Test("timeslider09")
+
+# Delete the first slider.
+slider.Delete()
+Test("timeslider10")
+
+# Create an alias to the second slider using the GetAnnotationObject call.
+foo = GetAnnotationObject("slider_obj")
+foo.startColor = (255, 0, 255, 255)
+foo.endColor = (0, 255, 255, 100)
+Test("timeslider11")
+
+# Delete the annotation using the alias.
+foo.Delete()
+Test("timeslider12")
+
+# Delete all plots and open a new database
+SetTimeSliderState(0)
+DeleteAllPlots()
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "speed")
+AddPlot("Mesh", "mesh1")
+DrawPlots()
+v0 = View3DAttributes()
+v0.viewNormal = (-0.556371, 0.348221, 0.754449)
+v0.focus = (0, 0, 0)
+v0.viewUp = (0.185162, 0.93708, -0.295968)
+v0.viewAngle = 30
+v0.parallelScale = 17.3205
+v0.nearPlane = -34.641
+v0.farPlane = 34.641
+v0.imagePan = (0, 0)
+v0.imageZoom = 1.20945
+v0.perspective = 1
+v0.eyeAngle = 2
+
+v1 = View3DAttributes()
+v1.viewNormal = (0.501427, 0.560716, 0.658915)
+v1.focus = (0, 0, 0)
+v1.viewUp = (-0.272851, 0.825194, -0.494577)
+v1.viewAngle = 30
+v1.parallelScale = 17.3205
+v1.nearPlane = -34.641
+v1.farPlane = 34.641
+v1.imagePan = (0, 0)
+v1.imageZoom = 1.52784
+v1.perspective = 1
+v1.eyeAngle = 2
+
+# Create a new slider
+slider = CreateAnnotationObject("TimeSlider")
+slider.position = (0.2, 0.02)
+slider.width = 0.6
+slider.height = 0.08
+slider.percentComplete = 0
+slider.timeDisplay = slider.UserSpecified
+slider.text = "Using percentComplete manually"
+testnum = 13
+nsteps = 10
+moves = {4 : (0.02, 0.5), 8 : (0.2, 0.9)}
+# Set the percentComplete manually
+for i in range(nsteps):
+    t = float(i) / float(nsteps - 1)
+    slider.percentComplete = t * 100.
+    if i in list(moves.keys()):
+        slider.position = moves[i]
+    v = v0 * (1. - t) + v1 * t
+    SetView3D(v)
+    Test("timeslider%02d" % testnum)
+    testnum = testnum + 1
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_transparency.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_transparency.html new file mode 100644 index 000000000..44f9d83fc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_transparency.html @@ -0,0 +1,114 @@ + +Results for rendering/transparency.py + +

Results of VisIt Regression Test - rendering/transparency

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
transparency_010.000.00
transparency_020.000.00
transparency_030.000.00
transparency_040.000.00
transparency_050.000.00
transparency_060.000.00
transparency_070.000.00
transparency_080.000.00
transparency_090.000.00
transparency_100.000.00
transparency_110.000.00
transparency_120.000.00
transparency_130.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_transparency_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_transparency_py.html new file mode 100644 index 000000000..d8c0c5da1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_transparency_py.html @@ -0,0 +1,164 @@ +rendering/transparency.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  transparency.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - pc, subset
+#              operators - none
+#              selection - none
+#
+#  Defect ID:  '2784 + general transparency testing + '7772 + '7773 + '7879
+#
+#  Programmer: Hank Childs
+#  Date:       November 20, 2002
+#
+# Modifications:
+#   Brad Whitlock, Thu Dec 12 09:56:02 PDT 2002
+#   I made the test use the new SubsetAttributes.
+#
+#   Brad Whitlock, Mon Feb 24 10:36:21 PDT 2003
+#   I made it use the multiple colors coloring mode for the Subset attributes
+#   instead of the single color coloring mode.
+#
+#   Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
+#   Remove compound var name from Subset plots.
+#
+#   Hank Childs, Thu May  6 09:34:27 PDT 2004
+#   Remove out of date comments regarding test that was recently fixed ('4878).
+#
+#   Hank Childs, Mon Feb 12 14:06:10 PST 2007
+#   Add tests for rectilinear transparency ('7772 & '7773).
+#
+#   Hank Childs, Thu Mar  8 11:13:49 PST 2007
+#   Test transparency after scaling ('7879) ... that the scale factor in the
+#   transparency actor gets set back to 1.
+#
+#   Hank Childs, Wed Dec 31 10:21:31 PST 2008
+#   Add a test for multi-block rectilinear grids.
+#
+#   Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#   Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
+#    Use FilledBoundary plot for materials instead of Subset.
+#
+# ----------------------------------------------------------------------------
+
+
+
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("FilledBoundary", "mat1")
+DrawPlots()
+
+fbAtts = FilledBoundaryAttributes()
+fbAtts.opacity = 0.9
+fbAtts.colorType = fbAtts.ColorByMultipleColors
+SetPlotOptions(fbAtts)
+
+# Test that the normals stick around when we slightly drop the transparency
+# ('2784)
+Test("transparency_01")
+
+
+# Test that it still looks good when we crank the transparency down.
+fbAtts.opacity = 0.4
+SetPlotOptions(fbAtts)
+
+Test("transparency_02")
+
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Box")
+box = BoxAttributes()
+box.minx = -4
+box.maxx = +2
+box.miny = -6
+box.maxy = 0
+box.minz = -4
+box.maxz = +4
+SetOperatorOptions(box)
+DrawPlots()
+
+# Make sure that it still looks good when we have solid geometry in there.
+Test("transparency_03")
+
+pcAtts = PseudocolorAttributes()
+pcAtts.SetOpacityType(pcAtts.Constant)
+pcAtts.opacity = 0.75
+SetPlotOptions(pcAtts)
+
+# Test having two transparent plots
+Test("transparency_04")
+
+
+AddPlot("Pseudocolor", "t")
+AddOperator("Box")
+box.minx = 2
+box.maxx = 10
+SetOperatorOptions(box)
+DrawPlots()
+
+# Test having two transparent plots + plus one solid geometry plot.
+Test("transparency_05")
+
+
+SetPlotOptions(pcAtts)
+
+# Test having three transparent plots, one with zonal centering.  Note:
+# this is testing whether or not we can encode zonal-normals as nodal-normals
+# and have it play well with other plots that have legitimate nodal-normals.
+Test("transparency_06")
+
+# Test that it can do transparency correctly for rectilinear grids ('7772)
+DeleteAllPlots()
+OpenDatabase(silo_data_path("rect3d.silo"))
+
+AddPlot("Pseudocolor", "u")
+pcAtts = PseudocolorAttributes()
+pcAtts.SetOpacityType(pcAtts.Constant)
+pcAtts.opacity = 0.75
+SetPlotOptions(pcAtts)
+DrawPlots()
+Test("transparency_07")
+DeleteAllPlots()
+
+# Test that updates transparency correctly for rectilinear grids ('7773)
+# To test this, we must draw a non-transparent grid first.
+AddPlot("Pseudocolor", "u")
+DrawPlots()
+Test("transparency_08")
+pcAtts.SetOpacityType(pcAtts.Constant)
+pcAtts.opacity = 0.75
+SetPlotOptions(pcAtts)
+DrawPlots()
+Test("transparency_09")
+
+DeleteAllPlots()
+AddPlot("Histogram", "d")
+DrawPlots()
+Test("transparency_10")
+DeleteAllPlots()
+AddPlot("Pseudocolor", "u")
+pcAtts.SetOpacityType(pcAtts.Constant)
+pcAtts.opacity = 0.75
+SetPlotOptions(pcAtts)
+DrawPlots()
+Test("transparency_11")
+
+DeleteAllPlots()
+OpenDatabase(silo_data_path("multi_rect2d.silo"))
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+ResetView()
+Test("transparency_12")
+pcAtts.SetOpacityType(pcAtts.Constant)
+pcAtts.opacity = 0.25
+SetPlotOptions(pcAtts)
+Test("transparency_13")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_view.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_view.html new file mode 100644 index 000000000..7e1915d33 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_view.html @@ -0,0 +1,249 @@ + +Results for rendering/view.py + +

Results of VisIt Regression Test - rendering/view

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
view_010.000.00
Test degenerate 2D views
view_020.000.00
view_030.000.00
view_040.000.00
view_050.000.00
Test degenerate curve views
view_060.000.00
view_070.000.00
view_080.000.00
view_090.000.00
Test zoom in on mesh lines
view_100.000.00
view_110.000.00
view_120.000.00
view_130.000.00
Test actual extents
view_140.000.00
view_150.000.00
view_160.000.00
view_170.000.00
view_180.000.00
view_190.000.00
Test 3D plots with degenerate extents
view_200.000.00
view_210.000.00
view_220.000.00
Test interpolation of View3DAttributes
view_230.000.00
view_240.000.00
view_250.000.00
view_260.000.00
view_270.000.00
Test interpolation of View2DAttributes
view_280.000.00
view_290.000.00
view_300.000.00
view_310.000.00
view_320.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_viewChange.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_viewChange.html new file mode 100644 index 000000000..bd1cdc821 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_viewChange.html @@ -0,0 +1,222 @@ + +Results for rendering/viewChange.py + +

Results of VisIt Regression Test - rendering/viewChange

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Testing view changes with slice flip
ViewChangeSliceFlip0.000.00
Testing view changes with fullframe
ViewChangeFullFrame_010.000.00
ViewChangeFullFrame_020.000.00
ViewChangeFullFrame_030.000.00
ViewChangeFullFrame_040.000.00
ViewChangeFullFrame_050.000.00
ViewChangeFullFrame_060.000.00
ViewChangeFullFrame_070.000.00
Testing view changes with fullframe and glyphed plots
ViewChangeAutoFF_000.000.00
ViewChangeAutoFF_010.000.00
ViewChangeAutoFF_020.000.00
ViewChangeAutoFF_030.000.00
ViewChangeAutoFF_040.000.00
ViewChangeAutoFF_050.000.00
Testing view changes with log scaling of 2D plots
ViewChangeLogScale2D_000.000.00
ViewChangeLogScale2D_010.000.00
ViewChangeLogScale2D_020.000.00
Testing view changes with log scaling of curves
ViewChangeLogScaleCurves_000.000.00
ViewChangeLogScaleCurves_010.000.00
ViewChangeLogScaleCurves_020.000.00
ViewChangeLogScaleCurves_030.000.00
ViewChangeLogScaleCurves_040.000.00
ViewChangeLogScaleCurves_050.000.00
largeValueLineout0.000.00
largeValueLineout_logScaling0.000.00
largeValueMeshCurve0.000.00
largeValueMeshCurve_logScaling0.000.00
Testing view changes with fullframe and label plots
ViewChangeFullFrameWithLabels_000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_viewChange_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_viewChange_py.html new file mode 100644 index 000000000..7b5143ff9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_viewChange_py.html @@ -0,0 +1,450 @@ +rendering/viewChange.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  viewChange.py
+#
+#  Tests:      mesh      - structured grid 
+#              plots     - pc
+#              operators - slice
+#              selection - none
+#
+#  Defect ID:  VisIt00003350, VisIt000032263
+#
+#  Programmer: Kathleen Bonnell 
+#  Date:       May 14, 2003 
+#
+#  Modifications:
+#    Kathleen Bonnell, Tue Jul  8 21:04:45 PDT 2003 
+#    Changed ViewChangeSliceFlip, to use Flip, then change so that
+#    image remains the same .. necessary do to slice changes.
+#
+#    Kathleen Bonnell, Wed Jul 16 18:07:33 PDT 2003 
+#    Added more full-frame tests: for Histogram plot, transparent plot,
+#    and plots with ViewExtentsType set to 'actual'.
+#
+#    Mark C. Miller, Tue Mar 14 07:54:20 PST 2006
+#    Changed how full-frame is turned on/off
+#
+#    Brad Whitlock, Wed Jul 26 14:31:57 PST 2006
+#    Added testing for auto fullframe of some glyphed plots.
+#
+#    Kathleen Bonnell, Tue Mar  3 13:20:57 PST 2009
+#    Added testing for log-scaling of curves and 2d plots.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Kathleen Biagas, Wed Oct 21 11:19:52 PDT 2020
+#    Added TestLargeValueLineoutWithLogScaling
+#
+#    Alister Maguire, Mon May 24 12:50:20 PDT 2021
+#    Added TestViewChangeFullFrameWithLabels.
+#
+# ----------------------------------------------------------------------------
+
+def InitAnnotation():
+    # Turn off most annotation
+    a = GetAnnotationAttributes()
+    a.axes2D.visible = 1
+    a.axes2D.xAxis.label.visible = 0
+    a.axes2D.yAxis.label.visible = 0
+    a.axes2D.xAxis.title.visible = 0
+    a.axes2D.yAxis.title.visible = 0
+    a.axes3D.visible = 0
+    a.axes3D.triadFlag = 0
+    a.axes3D.bboxFlag = 0
+    a.userInfoFlag = 0
+    a.databaseInfoFlag = 0
+    a.legendInfoFlag = 0
+    a.backgroundMode = 0
+    a.foregroundColor = (0, 0, 0, 255)
+    a.backgroundColor = (255, 255, 255, 255)
+    SetAnnotationAttributes(a)
+
+
+def TestViewChangeSliceFlip():
+    TestSection("Testing view changes with slice flip")
+    OpenDatabase(silo_data_path("wave0000.silo"))
+
+    AddPlot("Pseudocolor", "pressure")
+    AddOperator("Slice")
+    slice = SliceAttributes()
+    slice.project2d = 1
+    slice.axisType = slice.ZAxis
+    slice.flip = 1
+    SetOperatorOptions(slice)
+    DrawPlots()
+
+    # We want to capture the image after the flip, to ensure
+    # the frame and axes are still drawn correctly.
+    slice.flip = 0
+    SetOperatorOptions(slice)
+
+    Test("ViewChangeSliceFlip")
+    DeleteAllPlots()
+
+def TestViewChangeFullFrame():
+    TestSection("Testing view changes with fullframe")
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    # We want to capture the image after toggling full frame mode, 
+    # to ensure frame and axes are still drawn correctly.
+
+    # Turn full frame mode ON
+    v = GetView2D()
+    v.fullFrameActivationMode = v.On
+    SetView2D(v)
+    Test("ViewChangeFullFrame_01")
+
+    # Does a transparent actor maintain the full frame mode? 
+    p = PseudocolorAttributes()
+    p.SetOpacityType(p.Constant)
+    p.opacity = 0.5;
+    SetPlotOptions(p);
+    Test("ViewChangeFullFrame_02")
+
+
+    p.SetOpacityType(p.FullyOpaque)
+    SetPlotOptions(p)
+    # Turn full frame mode OFF
+    ToggleFullFrameMode()
+    AddOperator("Clip")
+    c = ClipAttributes()
+    c.plane1Origin = (0, 3, 0)
+    c.plane1Normal = (0, -1, 0)
+    SetOperatorOptions(c)
+    DrawPlots()
+    SetViewExtentsType("actual")
+    # Turn full frame mode ON
+    ToggleFullFrameMode()
+    Test("ViewChangeFullFrame_03")
+    # Turn full frame mode OFF
+    ToggleFullFrameMode()
+    Test("ViewChangeFullFrame_04")
+    # Turn full frame mode ON
+    ToggleFullFrameMode()
+    SetViewExtentsType("original")
+    Test("ViewChangeFullFrame_05")
+
+    DeleteAllPlots()
+
+    OpenDatabase(silo_data_path("globe.silo"))
+
+    AddPlot("Histogram", "u")
+    DrawPlots()
+    ResetView()
+    Test("ViewChangeFullFrame_06")
+    h = HistogramAttributes()
+    h.numBins = 5
+    SetPlotOptions(h)
+    Test("ViewChangeFullFrame_07")
+
+    # cleanup for next test
+    v = GetView2D()
+    v.fullFrameActivationMode = v.Auto
+    SetView2D(v)
+
+    DeleteAllPlots()
+
+def TestViewChangeFullFrameWithGlyphs():
+    TestSection("Testing view changes with fullframe and glyphed plots")
+    OpenDatabase(silo_data_path("fullframe.silo"))
+
+    AddPlot("Mesh", "fullframe")
+    DrawPlots()
+    ResetView()
+    Test("ViewChangeAutoFF_00")
+
+    AddPlot("Vector", "vec")
+    v = VectorAttributes()
+    v.nVectors = 800
+    SetPlotOptions(v)
+    DrawPlots()
+    Test("ViewChangeAutoFF_01")
+
+    DeleteAllPlots()
+
+    # Make sure it kicks in when the vector plot is the only plot.
+    AddPlot("Vector", "vec")
+    v = VectorAttributes()
+    v.nVectors = 800
+    SetPlotOptions(v)
+    DrawPlots()
+    Test("ViewChangeAutoFF_02")
+
+    DeleteAllPlots()
+
+    # Test a Pseudocolor plot of point mesh data
+    AddPlot("Pseudocolor", "rad")
+    p = PseudocolorAttributes()
+    p.pointType = p.Box
+    p.pointSize = 5e+8
+    SetPlotOptions(p)
+    DrawPlots()
+    Test("ViewChangeAutoFF_03")
+
+    p.pointType = p.Axis
+    SetPlotOptions(p)
+    Test("ViewChangeAutoFF_04")
+
+    DeleteAllPlots()
+
+    # Test a Mesh plot of a point mesh
+    AddPlot("Mesh", "pointmesh")
+    m = MeshAttributes()
+    m.pointType = m.Box
+    m.pointSize = 5e+8
+    SetPlotOptions(m)
+    DrawPlots()
+    Test("ViewChangeAutoFF_05")
+    DeleteAllPlots()
+
+def TestViewChangeLogScaling2D():
+    TestSection("Testing view changes with log scaling of 2D plots")
+
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Pseudocolor", "u")
+    DrawPlots()
+    ResetView()
+
+    #7944  ensure that changing curve view scaling does not affect 2D.
+    v = GetViewCurve()
+    v.domainScale = v.LOG
+    v.rangeScale = v.LOG
+    SetViewCurve(v)
+
+    Test("ViewChangeLogScale2D_00")
+
+    #8563  using view window coords to put a plot into a range suitable 
+    #      for log-scaling
+
+    v = GetView2D()
+    v.fullFrameActivationMode = v.Off
+    wc = v.windowCoords
+    v.windowCoords = (1e-13, 0.25, wc[2], wc[3])
+    SetView2D(v)
+
+    Test("ViewChangeLogScale2D_01")
+    v.xScale = v.LOG
+    SetView2D(v)
+    Test("ViewChangeLogScale2D_02")
+
+    #clean up for next test
+    v = GetView2D()
+    v.xScale = v.LINEAR
+    v.yScale = v.LINEAR
+    SetView2D(v)
+    ResetView()
+
+    v = GetViewCurve()
+    v.domainScale = v.LINEAR
+    v.rangeScale = v.LINEAR
+    SetViewCurve(v)
+    DeleteAllPlots()
+
+def TestViewChangeLogScalingCurves():
+    TestSection("Testing view changes with log scaling of curves")
+    # '8880:  Add curve plot.  Set scaling to log-log.  Add another curve plot.
+    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
+
+    AddPlot("Curve", "Laplace Distribution")
+    curveAtts = CurveAttributes()
+    curveAtts.curveColorSource = curveAtts.Custom
+    curveAtts.curveColor = (255, 0, 0, 255)
+    SetPlotOptions(curveAtts)
+
+    # For log scaling to work with these curves, we need to transform
+    # first.
+
+    trans = TransformAttributes()
+    trans.doTranslate = 1
+    trans.translateX = 30
+    trans.translateY = 10
+    SetDefaultOperatorOptions(trans)
+    AddOperator("Transform")
+    DrawPlots()
+    ResetView()
+    Test("ViewChangeLogScaleCurves_00")
+
+    v = GetViewCurve()
+    v.domainScale = v.LOG
+    v.rangeScale  = v.LOG
+    SetViewCurve(v)
+
+    Test("ViewChangeLogScaleCurves_01")
+
+    AddPlot("Curve", "Log Normal Distribution")
+    curveAtts.curveColor = (0, 255, 0, 255)
+    SetPlotOptions(curveAtts)
+    AddOperator("Transform")
+    DrawPlots()
+    Test("ViewChangeLogScaleCurves_02")
+
+    AddPlot("Curve", "Exponential Distribution")
+    curveAtts.curveColor = (0, 0, 255, 255)
+    SetPlotOptions(curveAtts)
+    AddOperator("Transform")
+    DrawPlots()
+    Test("ViewChangeLogScaleCurves_03")
+
+    v = GetViewCurve()
+    v.domainScale = v.LINEAR
+    v.rangeScale  = v.LINEAR
+    SetViewCurve(v)
+
+    DeleteAllPlots()
+
+    #8660  add log scaling to a curve put in an appropriate range via the
+    #      box operator
+    OpenDatabase(data_path("curve_test_data/c063.curve"))
+
+    AddPlot("Curve", "flat")
+    curveAtts.curveColor = (0, 255, 255, 255)
+    SetPlotOptions(curveAtts)
+    AddPlot("Curve", "going_down")
+    curveAtts.curveColor = (255, 0, 255, 255)
+    SetPlotOptions(curveAtts)
+    AddPlot("Curve", "going_up")
+    curveAtts.curveColor = (255, 255, 0, 255)
+    SetPlotOptions(curveAtts)
+    AddPlot("Curve", "parabolic")
+    curveAtts.curveColor = (255, 135, 0, 255)
+    SetPlotOptions(curveAtts)
+
+    DrawPlots()
+
+    SetActivePlots((0, 1, 2, 3))
+    AddOperator("Box")
+    b = BoxAttributes()
+    b.minx = 0.4
+    b.maxx = 0.8
+    b.miny = 0.000001
+    b.maxy = 10000
+    SetOperatorOptions(b)
+    DrawPlots()
+
+    SetViewExtentsType("actual")
+
+    Test("ViewChangeLogScaleCurves_04")
+
+    v = GetViewCurve()
+    v.domainScale = v.LOG
+    v.rangeScale  = v.LOG
+    SetViewCurve(v)
+
+    Test("ViewChangeLogScaleCurves_05")
+
+    #clean up for next test
+    v = GetViewCurve()
+    v.domainScale = v.LINEAR
+    v.rangeScale  = v.LINEAR
+    SetViewCurve(v)
+    ResetView()
+    DeleteAllPlots()
+
+def TestLargeValueLineoutWithLogScaling():
+    # github bug #5066
+    OpenDatabase(silo_data_path("rect2d.silo"))
+    DefineScalarExpression("tlarge", "t*1e19")
+    AddPlot("Pseudocolor", "tlarge")
+    DrawPlots()
+    Lineout((0.5, 1.5, 0), (0.5, 0, 0))
+    SetActiveWindow(2)
+    # Instead of getting *default* curve plot atts,
+    # get *current* plot's atts using `1` arg. This
+    # is to change *only* the attrs we want to change.
+    curveAtts = CurveAttributes(1)
+    curveAtts.lineWidth = 3
+    SetPlotOptions(curveAtts)
+    Test("largeValueLineout")
+
+    # save the curve as VTK so Mesh plot and 2D view can be tested.
+    oldSwa = SaveWindowAttributes()
+    swa = SaveWindowAttributes()
+    swa.fileName="lineoutRes"
+    swa.family=0
+    swa.format=swa.VTK
+    # need to ensure this is set (not the default on Windows)
+    swa.outputToCurrentDirectory=1
+    SetSaveWindowAttributes(swa)
+    if TestEnv.params["scalable"] == 0:
+        SaveWindow()
+    else:
+        # Turn of SR mode for the saveWindow, then turn it back on
+        ra = GetRenderingAttributes()
+        srm = ra.scalableActivationMode
+        ra.scalableActivationMode = ra.Never
+        SetRenderingAttributes(ra)
+        SaveWindow()
+        ra = GetRenderingAttributes()
+        ra.scalableActivationMode = srm
+        SetRenderingAttributes(ra)
+    # restore previous settings
+    SetSaveWindowAttributes(oldSwa)
+
+    v = GetViewCurve()
+    v.rangeScale  = v.LOG
+    SetViewCurve(v)
+    Test("largeValueLineout_logScaling")
+
+    v = GetViewCurve()
+    v.rangeScale  = v.LINEAR
+    SetViewCurve(v)
+
+    DeleteAllPlots()
+    OpenDatabase("lineoutRes.vtk")
+    AddPlot("Mesh", "mesh")
+    meshAtts = MeshAttributes()
+    meshAtts.lineWidth=3
+    SetPlotOptions(meshAtts)
+    DrawPlots()
+    Test("largeValueMeshCurve")
+
+    v = GetView2D()
+    v.yScale = v.LOG
+    SetView2D(v)
+    Test("largeValueMeshCurve_logScaling")
+    v.yScale = v.LINEAR
+    SetView2D(v)
+    DeleteWindow()
+    DeleteAllPlots()
+
+def TestViewChangeFullFrameWithLabels():
+    TestSection("Testing view changes with fullframe and label plots")
+    OpenDatabase(silo_data_path("curv2d.silo"))
+
+    AddPlot("Mesh", "curvmesh2d")
+    AddPlot("Label", "curvmesh2d")
+
+    View2DAtts = View2DAttributes()
+    View2DAtts.windowCoords = (-4.69855, 4.88342, 0.225185, 4.93329)
+    View2DAtts.fullFrameActivationMode = View2DAtts.On
+    SetView2D(View2DAtts)
+
+    DrawPlots()
+
+    Test("ViewChangeFullFrameWithLabels_00")
+
+    DeleteAllPlots()
+    ResetView()
+    CloseDatabase(silo_data_path("curv2d.silo"))
+
+
+
+def ViewChangeMain():
+    InitAnnotation()
+    TestViewChangeSliceFlip()
+    TestViewChangeFullFrame()
+    TestViewChangeFullFrameWithGlyphs()
+    TestViewChangeLogScaling2D()
+    TestViewChangeLogScalingCurves()
+    TestLargeValueLineoutWithLogScaling()
+    TestViewChangeFullFrameWithLabels()
+
+# Call the main function
+ViewChangeMain()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_view_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_view_py.html new file mode 100644 index 000000000..5d6297072 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_view_py.html @@ -0,0 +1,382 @@ +rendering/view.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  view.py
+#
+#  Tests:      mesh      - 2D structured, single domain 
+#                        - 3D unstructured, multiple domains
+#                        - 3D rectilinear, single domain
+#                        - Curve
+#              plots     - pseudocolor, curve, mesh
+#              operators - none
+#              selection - none
+#
+#  Defect ID:  VisIt00003915, VisIt00004247, VisIt00003398, VisIt00004896,
+#              VisIt00005337
+#
+#  Programmer: Eric Brugger
+#  Date:       November 18, 2003 
+#
+#  Modifications:
+#    Eric Brugger, Fri Apr 23 08:54:22 PDT 2004
+#    Add a test to make sure that we can set the 3d view before any plots
+#    are created.  Add tests to make sure that we can reset and recenter
+#    the view when no plots are present.
+#
+#    Eric Brugger, Thu May 13 10:26:02 PDT 2004
+#    Add a test to make sure switching view extents type to actual results
+#    in new plots being centered after deleting all the existing plots.
+#
+#    Eric Brugger, Mon May 24 11:21:04 PDT 2004
+#    Add a test with small extents.
+#
+#    Eric Brugger, Tue May 25 15:17:18 PDT 2004
+#    Modify the test for small extents, and add more small and large extents
+#    tests.
+#
+#    Eric Brugger, Mon Sep 20 13:37:52 PDT 2004
+#    Add several tests for combining 3d plots with degenerate extents.
+#
+#    Brad Whitlock, Thu Mar 15 11:31:26 PDT 2007
+#    Test that the bindings for 2D,3D views can still interpolate.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+
+# Test setting the 3d view before creating the first plot.
+v = View3DAttributes()
+v.imagePan = (0.2, 0.2)
+v.imageZoom = 1.2
+v.viewNormal = (-0.5, 0.707107, 0.5)
+v.viewUp = (0.5, 0.707107, -0.5)
+SetView3D(v)
+
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+Test("view_01")
+
+DeleteAllPlots()
+
+# Create a psuedocolor plot and test various degenerate 2d views.
+TestSection("Test degenerate 2D views")
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+
+AddPlot("Pseudocolor", "d")
+DrawPlots()
+
+v = View2DAttributes()
+v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+
+v.windowCoords = (-4.68395, 4.89802, 2.5, 2.5)
+SetView2D(v)
+Test("view_02")
+
+v.windowCoords = (0.5, 0.5, 0.216897, 4.925)
+SetView2D(v)
+Test("view_03")
+
+v.windowCoords = (0.5, 0.5, 2.5, 2.5)
+SetView2D(v)
+Test("view_04")
+
+v.windowCoords = (0, 0, 0, 0)
+SetView2D(v)
+Test("view_05")
+
+DeleteAllPlots()
+
+# Create several curve plots and test various degenerate curve views.
+TestSection("Test degenerate curve views")
+OpenDatabase(data_path("curve_test_data/c051.curve"))
+
+
+AddPlot("Curve", "flat")
+curveAtts = CurveAttributes()
+curveAtts.curveColorSource = curveAtts.Custom
+curveAtts.curveColor = (255, 0, 0, 255)
+SetPlotOptions(curveAtts)
+AddPlot("Curve", "going_up")
+curveAtts.curveColor = (0, 255, 0, 255)
+SetPlotOptions(curveAtts)
+AddPlot("Curve", "going_down")
+curveAtts.curveColor = (0, 0, 255, 255)
+SetPlotOptions(curveAtts)
+AddPlot("Curve", "parabolic")
+curveAtts.curveColor = (0, 255, 255, 255)
+SetPlotOptions(curveAtts)
+DrawPlots()
+
+v = ViewCurveAttributes()
+v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+
+v.domainCoords = (0., 1.)
+v.rangeCoords = (0.3, 0.3)
+SetViewCurve(v)
+Test("view_06")
+
+v.domainCoords = (0.6, 0.6)
+v.rangeCoords = (0., 1.)
+SetViewCurve(v)
+Test("view_07")
+
+v.domainCoords = (0.6, 0.6)
+v.rangeCoords = (0.3, 0.3)
+SetViewCurve(v)
+Test("view_08")
+
+v.domainCoords = (0., 0.)
+v.rangeCoords = (0., 0.)
+SetViewCurve(v)
+Test("view_09")
+
+DeleteAllPlots()
+
+# Create a pseudocolor and mesh plot and zoom in on a sharp edge to
+# verify that the mesh lines are not bleeding through the surface.
+TestSection("Test zoom in on mesh lines")
+OpenDatabase(silo_data_path("multi_ucd3d.silo"))
+
+
+AddPlot("Pseudocolor", "u")
+AddPlot("Mesh", "mesh1")
+DrawPlots()
+
+v = GetView3D()
+v.viewNormal = (-0.335187, -0.557088, 0.759804)
+v.focus = (0, 2.5, 10)
+v.viewUp = (-0.327416, 0.825068, 0.460501)
+v.viewAngle = 30
+v.parallelScale = 11.4564
+v.nearPlane = -22.9129
+v.farPlane = 22.9129
+v.imagePan = (-0.136785, -0.172112)
+v.imageZoom = 20.125
+v.perspective = 1
+SetView3D(v)
+Test("view_10")
+
+# Test resetting and recentering the view when no plot is present.
+DeleteAllPlots()
+
+ResetView()
+
+AddPlot("Pseudocolor", "u")
+AddPlot("Mesh", "mesh1")
+DrawPlots()
+Test("view_11")
+
+v.viewNormal = (0.393726, -0.416942, 0.819231)
+v.focus = (0, 5., 10)
+v.viewUp = (-0.603958, 0.554522, 0.572486)
+v.viewAngle = 30
+v.parallelScale = 11.4564
+v.nearPlane = -22.9129
+v.farPlane = 22.9129
+v.imagePan = (0.05, 0.)
+v.imageZoom = 2.
+v.perspective = 1
+SetView3D(v)
+Test("view_12")
+
+DeleteAllPlots()
+
+RecenterView()
+
+AddPlot("Pseudocolor", "u")
+AddPlot("Mesh", "mesh1")
+DrawPlots()
+Test("view_13")
+
+# Test that setting view extents type to actual works.  Test that
+# switching view extents type to actual results in new plots being
+# centered after deleting all the existing plots.
+TestSection("Test actual extents")
+DeleteAllPlots()
+
+ResetView()
+
+OpenDatabase(silo_data_path("curv2d.silo"))
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Clip")
+DrawPlots()
+SetViewExtentsType("actual")
+Test("view_14")
+
+DeleteAllPlots()
+
+OpenDatabase(silo_data_path("rect2d.silo"))
+
+AddPlot("Pseudocolor", "p")
+DrawPlots()
+Test("view_15")
+
+# Test setting the view with small extents.
+DeleteAllPlots()
+
+ResetView()
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Transform")
+scale = TransformAttributes()
+scale.doScale = 1
+scale.scaleX = 1.0e-21
+scale.scaleY = 1.0e-21
+scale.scaleZ = 1.0e-21
+SetOperatorOptions(scale)
+DrawPlots()
+Test("view_16")
+
+ChangeActivePlotsVar("t")
+Test("view_17")
+
+# Test setting the view with large extents.
+DeleteAllPlots()
+
+AddPlot("Pseudocolor", "u")
+AddOperator("Transform")
+scale = TransformAttributes()
+scale.doScale = 1
+scale.scaleX = 1.0e17
+scale.scaleY = 1.0e17
+scale.scaleZ = 1.0e17
+SetOperatorOptions(scale)
+DrawPlots()
+Test("view_18")
+
+ChangeActivePlotsVar("t")
+Test("view_19")
+
+# Test various combinations of 3d plots with degenerate extents.
+TestSection("Test 3D plots with degenerate extents")
+DeleteAllPlots()
+
+ResetView()
+
+OpenDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+OpenDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+Test("view_20")
+
+DeleteAllPlots()
+
+OpenDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+OpenDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+Test("view_21")
+
+DeleteAllPlots()
+
+OpenDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+OpenDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
+
+AddPlot("Mesh", "mesh")
+DrawPlots()
+Test("view_22")
+DeleteAllPlots()
+
+
+#
+# Test that the View3DAttributes object's Python binding still has the
+# ability to interpolate the view.
+#
+TestSection("Test interpolation of View3DAttributes")
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Pseudocolor", "speed")
+DrawPlots()
+
+v0 = View3DAttributes()
+v0.viewNormal = (0.416973, 0.447113, 0.791343)
+v0.focus = (0, 0, 0)
+v0.viewUp = (-0.23799, 0.893974, -0.379699)
+v0.viewAngle = 30
+v0.parallelScale = 17.3205
+v0.nearPlane = -34.641
+v0.farPlane = 34.641
+v0.imagePan = (0, 0)
+v0.imageZoom = 1
+v0.perspective = 1
+v0.eyeAngle = 2
+v0.centerOfRotationSet = 0
+v0.centerOfRotation = (0, 0, 0)
+
+v1 = View3DAttributes()
+v1.viewNormal = (0.416973, 0.447113, 0.791343)
+v1.focus = (0, 0, 0)
+v1.viewUp = (-0.23799, 0.893974, -0.379699)
+v1.viewAngle = 30
+v1.parallelScale = 17.3205
+v1.nearPlane = -34.641
+v1.farPlane = 34.641
+v1.imagePan = (0.160832, 0.126504)
+v1.imageZoom = 3.95662
+v1.perspective = 1
+v1.eyeAngle = 2
+v1.centerOfRotationSet = 0
+v1.centerOfRotation = (0, 0, 0)
+
+idx = 23
+nsteps = 5
+for i in range(nsteps):
+    t = float(i) / float(nsteps - 1)
+    v = (1. - t) * v0 + t * v1
+    SetView3D(v)
+    Test("view_%d" % idx)
+    idx = idx + 1
+DeleteAllPlots()
+
+#
+# Test that the View2DAttributes object's Python binding still has the
+# ability to interpolate the view.
+#
+TestSection("Test interpolation of View2DAttributes")
+OpenDatabase(data_path("shapefile_test_data/prism0p020/prism0p020.shp"))
+
+AddPlot("Pseudocolor", "RANGE")
+DrawPlots()
+
+v0 = View2DAttributes()
+v0.windowCoords = (-124.756, -66.954, 24.5183, 49.3856)
+v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+v0.fullFrameActivationMode = v0.Off  # On, Off, Auto
+v0.fullFrameAutoThreshold = 100
+
+v1 = View2DAttributes()
+v1.windowCoords = (-77.667, -74.881, 36.6969, 39.662)
+v1.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+v1.fullFrameActivationMode = v1.Off  # On, Off, Auto
+v1.fullFrameAutoThreshold = 100
+
+nsteps = 5
+for i in range(nsteps):
+    t = float(i) / float(nsteps - 1)
+    v = (1. - t) * v0 + t * v1
+    SetView2D(v)
+    Test("view_%d" % idx)
+    idx = idx + 1
+DeleteAllPlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_volume.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_volume.html new file mode 100644 index 000000000..90ffdc66b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_volume.html @@ -0,0 +1,58 @@ + +Results for rendering/volume.py + +

Results of VisIt Regression Test - rendering/volume

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
volume_030.000.00
volume_01393.52178.82
volume_02406.40203.36
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/rendering_volume_py.html b/2023-11-08-22:00/pascal_trunk_parallel/rendering_volume_py.html new file mode 100644 index 000000000..48bf03722 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/rendering_volume_py.html @@ -0,0 +1,95 @@ +rendering/volume.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  volume.py
+#
+#  Tests:      mesh      - 3D unstructured, one domain 
+#              plots     - volume 
+#              operators - none
+#              selection - yes 
+#
+#  Programmer: Mark C. Miller 
+#  Date:       01Jul03
+#
+#  Modifications:
+#    Brad Whitlock, Wed Dec 15 09:36:51 PDT 2004
+#    I changed the flag that's used to make it do software rendering.
+#
+#    Hank Childs, Mon Jul 11 14:07:16 PDT 2005
+#    Added test for rectilinear grids with ghost zones and hardware rendering
+#    ['5712].
+#
+#    Hank Childs, Wed Jul 13 10:31:08 PDT 2005
+#    Delete wireframe plot, since that exposes '6380.
+#
+#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
+#    Allowed spaces in variable names.
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+#
+#    Cyrus Harrison, Wed Aug 25 14:25:13 PDT 2010
+#    SIL id shift (from 4 to 5) due to changes in SIL generation.
+#
+#    Brad Whitlock, Wed Sep 28 11:48:16 PDT 2011
+#    Zoom in a little so we have more pixels covered.
+#
+# ----------------------------------------------------------------------------
+
+
+#START SECTION TO BE MOVED
+
+DeleteAllPlots()
+OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
+
+
+# '6380.  The wireframe is not composited correctly when in SR mode.
+# So delete the wireframe and we should get the same picture in SR and
+# non-SR.  When '6380 is fixed, the DeleteAllPlots() call below should be
+# removed and the baseline should be reset.
+DeleteAllPlots()
+
+AddPlot("Volume", "Primitive Var _number_0")
+vol_atts = VolumeAttributes()
+vol_atts.smoothData = 0
+vol_atts.useColorVarMin = 1
+vol_atts.colorVarMin = 22
+SetPlotOptions(vol_atts)
+DrawPlots()
+ResetView()
+v = GetView3D()
+v.viewNormal = (-0.369824, 0.535308, 0.759391)
+v.viewUp = (-0.022009, 0.812062, -0.583155)
+SetView3D(v)
+
+Test("volume_03")
+DeleteAllPlots()
+
+# END SECTION TO BE MOVED
+
+OpenDatabase(silo_data_path("globe.silo"))
+
+AddPlot("Volume", "t")
+silr=SILRestriction()
+silr.TurnOffSet(5)
+SetPlotSILRestriction(silr)
+
+DrawPlots()
+
+v=GetView3D()
+v.viewNormal=(0.507832, -0.301407, -0.807007)
+v.viewUp=(-0.831783, -0.415313, -0.368309)
+v.imageZoom = 2.
+SetView3D(v)
+
+# test fast volume render
+Test("volume_01")
+
+# test software volume render
+volAtts=VolumeAttributes()
+volAtts.rendererType = volAtts.RayCasting
+SetPlotOptions(volAtts)
+Test("volume_02")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_colortable.html b/2023-11-08-22:00/pascal_trunk_parallel/session_colortable.html new file mode 100644 index 000000000..09c2d6cef --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_colortable.html @@ -0,0 +1,42 @@ + +Results for session/colortable.py + +

Results of VisIt Regression Test - session/colortable

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
colortable000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_colortable_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_colortable_py.html new file mode 100644 index 000000000..6f5a82b0f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_colortable_py.html @@ -0,0 +1,34 @@ +session/colortable.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  colortable.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - Pseudocolor, Mesh
+#
+#  Notes:      This test case uses a session file to create a plot that uses
+#              a specific built-in color table. This makes sure that choice
+#              of color tables is preserved with session files.
+# 
+# OUTDATED
+#  Notes:      This test case uses a session file to create a plot that uses
+#              a user defined color table. This makes sure that user defined
+#              color tables can be used from session files. VisIt00004000.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Nov 13 17:10:35 PST 2003
+#
+#  Modifications:
+#      Justin Privitera, Wed Aug  3 15:04:31 PDT 2022
+#      Changed the session file and the purpose of the test to reflect that
+#      we no longer save info about color tables to or read info about color 
+#      tables from session files.
+#
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+RestoreSessionWithDifferentSources(tests_path("session","colortable.session"), 0,
+                                   silo_data_path("globe.silo"))
+Test("colortable00")
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_correlationsession.html b/2023-11-08-22:00/pascal_trunk_parallel/session_correlationsession.html new file mode 100644 index 000000000..56f6f5832 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_correlationsession.html @@ -0,0 +1,92 @@ + +Results for session/correlationsession.py + +

Results of VisIt Regression Test - session/correlationsession

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
correlationsession000.000.00
correlationsession010 modifications totalling 0 lines
correlationsession020.000.00
correlationsession030.000.00
correlationsession040 modifications totalling 0 lines
correlationsession050.000.00
correlationsession060 modifications totalling 0 lines
correlationsession070.000.00
correlationsession080 modifications totalling 0 lines
correlationsession090.000.00
correlationsession100 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_correlationsession_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_correlationsession_py.html new file mode 100644 index 000000000..f7c93fa4a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_correlationsession_py.html @@ -0,0 +1,95 @@ +session/correlationsession.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  correlationsession.py
+#
+#  Tests:      mesh      - 2D curvilinear, single domain
+#              plots     - Boundary, FilledBoundary
+#
+#  Notes:      This test case makes sure that VisIt sessions that made heavy
+#              use of database correlations can have that information
+#              correctly captured in a session file.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Mar 25 11:32:09 PDT 2004
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+import string
+
+def GetTruncatedWindowInformationString():
+    # Get the window information and convert it to a string.
+    s = str(GetWindowInformation())
+    # Only use the first 5 or so lines from the string.
+    lines = s.split("\n")
+    s = ""
+    for i in range(5):
+        if(i < len(lines)):
+            s = s + lines[i]
+            s = s + "\n"
+    return s
+
+def TestLength(testname):
+    tsLength = TimeSliderGetNStates()
+    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
+    testString = testString + GetTruncatedWindowInformationString()
+    TestText(testname, testString)
+
+TurnOnAllAnnotations()
+
+ra1 = GetRenderingAttributes()
+
+#
+# Restore the session file and make sure that it at the right time step
+# and has the right time slider.
+#
+RestoreSessionWithDifferentSources(tests_path("session","correlationsession.session"), 0,
+                                   [data_path("pdb_test_data","dbA00.pdb"),
+                                    data_path("pdb_test_data","dbB00.pdb"),
+                                    data_path("pdb_test_data","dbC00.pdb")])
+
+# Restore the scalable rendering mode for the tests.
+ra2 = GetRenderingAttributes()
+ra2.scalableActivationMode = ra1.scalableActivationMode
+ra2.scalableAutoThreshold = ra1.scalableActivationMode
+SetRenderingAttributes(ra2)
+
+Test("correlationsession00")
+TestLength("correlationsession01")
+
+#
+# Make sure we have the right active source by making a new plot. The active
+# source should be dbA00.pdb
+#
+AddPlot("Boundary", "material(mesh)")
+b = BoundaryAttributes()
+b.colorType = b.ColorBySingleColor
+b.singleColor = (255,255,0,255)
+b.lineWidth = 2
+SetPlotOptions(b)
+DrawPlots()
+Test("correlationsession02")
+
+#
+# Make sure that we can advance to the end of the time slider. Save some
+# test images along the way though.
+#
+timeSliders = GetTimeSliders()
+currentState = timeSliders[GetActiveTimeSlider()]
+endState = TimeSliderGetNStates() - 1
+nSteps = 4
+start = currentState + int(float(endState - currentState) / float(nSteps))
+testIndex = 3
+for i in range(nSteps):
+    t = float(i) / float(nSteps - 1)
+    omt = 1. - t
+    state = int(omt * float(start) + t * float(endState))
+    SetTimeSliderState(state)
+    Test("correlationsession%02d" % testIndex)
+    TestLength("correlationsession%02d" % (testIndex + 1))
+    testIndex = testIndex + 2
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_legendproperties.html b/2023-11-08-22:00/pascal_trunk_parallel/session_legendproperties.html new file mode 100644 index 000000000..894ec53c5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_legendproperties.html @@ -0,0 +1,52 @@ + +Results for session/legendproperties.py + +

Results of VisIt Regression Test - session/legendproperties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
legendproperties000.000.00
legendproperties010.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_legendproperties_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_legendproperties_py.html new file mode 100644 index 000000000..d0f12caff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_legendproperties_py.html @@ -0,0 +1,48 @@ +session/legendproperties.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  legendproperties.py
+#
+#  Notes:      This test case sets legend properties and makes sure that they
+#              can be accessed via uses a session file to create a plot that uses
+#              a user defined color table. This makes sure that user defined
+#              color tables can be used from session files. VisIt00004000.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Mon Mar 26 10:48:25 PDT 2007
+#
+#  Modifications:
+#    Brad Whitlock, Thu Jul 22 11:03:42 PDT 2010
+#    Force some save window settings so testing routines don't mess up in
+#    the scalable,parallel,icet mode. VisIt itself, outside of testing doesn't
+#    have problems as far as I can tell so we're working around "issues" with
+#    our testing routines.
+#    
+# ----------------------------------------------------------------------------
+
+# Get the save window atts and force a few settings.
+sa = GetSaveWindowAttributes()
+sa.screenCapture = 0
+sa.width,sa.height = 300,300
+
+TurnOnAllAnnotations()
+RestoreSessionWithDifferentSources(tests_path("session","legendproperties.session"), 0,
+                                   silo_data_path("bigsil.silo"))
+
+
+Test("legendproperties00", altSWA=sa)
+
+# Now that we've restored the session, see if we can get the legend objects
+# and change them.
+subsetLegend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
+pcLegend = GetAnnotationObject(GetPlotList().GetPlots(1).plotName)
+
+subsetLegend.drawBoundingBox = 0
+pcLegend.drawBoundingBox = 0
+Test("legendproperties01", altSWA=sa)
+
+# Make sure that the plots are deleted
+DeleteAllPlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_rect3d-contour.html b/2023-11-08-22:00/pascal_trunk_parallel/session_rect3d-contour.html new file mode 100644 index 000000000..b39d12485 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_rect3d-contour.html @@ -0,0 +1,42 @@ + +Results for session/rect3d-contour.py + +

Results of VisIt Regression Test - session/rect3d-contour

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
rect3d-contour000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_rect3d-contour_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_rect3d-contour_py.html new file mode 100644 index 000000000..866eb0e35 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_rect3d-contour_py.html @@ -0,0 +1,25 @@ +session/rect3d-contour.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  rect3d-contour.py
+#
+#  Tests:      mesh      - 3D rectilinear, single domain
+#              plots     - Contour, with transparent contours
+#
+#  Notes:      This test case uses a session file to ensure that the Contour
+#              plot can be restored from a session file and have its correct
+#              colors and opacities, from  a bug reported in VisIt00004115.
+#
+#  Programmer: Kathleen Bonnell 
+#  Date:       January 13, 2005 
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+RestoreSessionWithDifferentSources(tests_path("session","rect3d-contour.session"), 0,
+                                   silo_data_path("rect3d.silo"))
+Test("rect3d-contour00")
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_restorewithsources.html b/2023-11-08-22:00/pascal_trunk_parallel/session_restorewithsources.html new file mode 100644 index 000000000..9f25eecee --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_restorewithsources.html @@ -0,0 +1,48 @@ + +Results for session/restorewithsources.py + +

Results of VisIt Regression Test - session/restorewithsources

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
restorewithsources000.000.00
restorewithsources010.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_restorewithsources_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_restorewithsources_py.html new file mode 100644 index 000000000..0c065b791 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_restorewithsources_py.html @@ -0,0 +1,42 @@ +session/restorewithsources.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  restorewithsources.py
+#
+#  Notes:      This test case tests restoring sessions with different sources.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Mar 28 10:36:04 PDT 2007
+#
+#  Modifications:
+#
+#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
+#    Added ability to swtich between Silo's HDF5 and PDB data.
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+
+tpath = tests_path("session","restorewithsources.session")
+dpath = silo_data_path("rect3d.silo")
+print(repr(tpath))
+print(repr(silo_data_path("rect3d.silo") ))
+
+RestoreSessionWithDifferentSources(tests_path("session","restorewithsources.session"),
+                                   0,
+                                   silo_data_path("rect3d.silo") )
+
+
+Test("restorewithsources00")
+
+# Now, try restoring the session with a different data file. Note that since
+# there's just one source, we pass a string instead of a tuple of strings.
+RestoreSessionWithDifferentSources(tests_path("session","restorewithsources.session"),
+                                   0,
+                                   silo_data_path("rect2d.silo") )
+Test("restorewithsources01")
+
+# Make sure that the plots are deleted
+DeleteAllPlots()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_selection.html b/2023-11-08-22:00/pascal_trunk_parallel/session_selection.html new file mode 100644 index 000000000..338122650 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_selection.html @@ -0,0 +1,42 @@ + +Results for session/selection.py + +

Results of VisIt Regression Test - session/selection

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
selection_000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_selection_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_selection_py.html new file mode 100644 index 000000000..e0b5e07c5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_selection_py.html @@ -0,0 +1,29 @@ +session/selection.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  selection.py
+#
+#  Tests:      mesh      - 2D curvilinear, multiple domain
+#              plots     - FilledBoundary, Mesh, Pseudocolor
+#
+#  Notes:      This test case makes sure that VisIt can read session files
+#              that have subset selection. Session files from before 1.3 and
+#              from version 1.3 are tested.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Mar 25 08:34:37 PDT 2004
+#
+#  Modifications:
+#    Brad Whitlock, Tue Jan 6 09:17:15 PDT 2009
+#    I removed support for pre-1.3 session files.
+#
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+RestoreSessionWithDifferentSources(tests_path("session","selection.session"), 0,
+                                   silo_data_path("multi_curv2d.silo"))
+
+Test("selection_00")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_sessionexpression.html b/2023-11-08-22:00/pascal_trunk_parallel/session_sessionexpression.html new file mode 100644 index 000000000..894e00bba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_sessionexpression.html @@ -0,0 +1,42 @@ + +Results for session/sessionexpression.py + +

Results of VisIt Regression Test - session/sessionexpression

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
sessionexpression000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_sessionexpression_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_sessionexpression_py.html new file mode 100644 index 000000000..c3899a5f3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_sessionexpression_py.html @@ -0,0 +1,27 @@ +session/sessionexpression.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  sessionexpression.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - Pseudocolor
+#
+#  Notes:      This test case creates a plot of a user-defined expression
+#              using a session file to ensure that session files containing
+#              plots of user-defined expressions work. This test case tests
+#              for a bug reported in VisIt00006070.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Tue Apr 5 14:26:56 PST 2005
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+RestoreSessionWithDifferentSources(tests_path("session","sessionexpression.session"), 0,
+                                   ( silo_data_path("wave.visit"),
+                                     silo_data_path("globe.silo")))
+Test("sessionexpression00")
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_sessionview.html b/2023-11-08-22:00/pascal_trunk_parallel/session_sessionview.html new file mode 100644 index 000000000..69a276b59 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_sessionview.html @@ -0,0 +1,66 @@ + +Results for session/sessionview.py + +

Results of VisIt Regression Test - session/sessionview

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
sessionview000.000.00
sessionview010.000.00
sessionview020.000.00
sessionview030.000.00
sessionview040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_sessionview_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_sessionview_py.html new file mode 100644 index 000000000..36b5c8e67 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_sessionview_py.html @@ -0,0 +1,55 @@ +session/sessionview.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  sessionview.py
+#
+#  Tests:      mesh      - 3D unstructured, 3D rectilinear, single domain
+#              plots     - Pseudocolor, Mesh
+#              operators - Reflect
+#
+#  Notes:      This test case makes sure that we can switch back and forth
+#              between session files that use expressions.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Dec 31 15:21:23 PST 2003
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+
+# Open the first session file
+RestoreSessionWithDifferentSources(tests_path("session","sessionview1.session"), 0,
+                                   silo_data_path("globe.silo"))
+
+Test("sessionview00")
+
+# Open the second session file
+RestoreSession("tests/session/sessionview2.session", 0)
+RestoreSessionWithDifferentSources(tests_path("session","sessionview2.session"), 0,
+                                   data_path("ANALYZE_test_data",
+                                             "s01_anatomy_stripped.hdr"))
+
+
+Test("sessionview01")
+
+# Open the first session file again. This used to crash VisIt
+RestoreSessionWithDifferentSources(tests_path("session","sessionview1.session"), 0,
+                                   silo_data_path("globe.silo"))
+
+Test("sessionview02")
+
+# Open the second session file again.
+RestoreSessionWithDifferentSources(tests_path("session","sessionview2.session"), 0,
+                                   data_path("ANALYZE_test_data",
+                                             "s01_anatomy_stripped.hdr"))
+Test("sessionview03")
+
+# Open the first session file
+RestoreSessionWithDifferentSources(tests_path("session","sessionview1.session"), 0,
+                                   silo_data_path("globe.silo"))
+Test("sessionview04")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_simplekeyframe.html b/2023-11-08-22:00/pascal_trunk_parallel/session_simplekeyframe.html new file mode 100644 index 000000000..8930e6694 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_simplekeyframe.html @@ -0,0 +1,130 @@ + +Results for session/simplekeyframe.py + +

Results of VisIt Regression Test - session/simplekeyframe

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Testing keyframes from a restored session file.
simplekeyframe_setup0 modifications totalling 0 lines
simplekeyframe000.000.00
simplekeyframe010.000.00
simplekeyframe020.000.00
simplekeyframe030.000.00
simplekeyframe040.000.00
simplekeyframe050.000.00
simplekeyframe060.000.00
simplekeyframe070.000.00
simplekeyframe080.000.00
simplekeyframe090.000.00
Testing keyframes from a cloned window.
viewkeyframe000.000.00
viewkeyframe010.000.00
viewkeyframe020.000.00
viewkeyframe030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_simplekeyframe_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_simplekeyframe_py.html new file mode 100644 index 000000000..ae8bc83cc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_simplekeyframe_py.html @@ -0,0 +1,78 @@ +session/simplekeyframe.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  simplekeyframe.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - Pseudocolor, Mesh
+#              operators - Clip
+#
+#  Notes:      This test case uses a session file to ensure that keyframe
+#              animations that modify the plot attributes and the view can
+#              be loaded from a session file.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Oct 22 15:14:20 PST 2003
+#
+#  Modifications:
+#    Brad Whitlock, Tue Dec 30 17:09:10 PST 2003
+#    Added test cases to make sure that view keyframes are copied to windows
+#    created via window cloning.
+#
+#    Brad Whitlock, Wed Apr 7 14:19:31 PST 2004
+#    Changed the test case so the number of frames is verified first thing.
+#
+# ----------------------------------------------------------------------------
+
+def GetTruncatedWindowInformationString():
+    # Get the window information and convert it to a string.
+    s = str(GetWindowInformation())
+    # Only use the first 5 or so lines from the string.
+    lines = s.split("\n")
+    s = ""
+    # ignore the active source
+    for i in range(1,5):
+        if(i < len(lines)):
+            s = s + lines[i]
+            s = s + "\n"
+    return s
+
+def TestSetup(testName):
+    s = GetTruncatedWindowInformationString()
+    s = s + str(GetKeyframeAttributes())
+    TestText(testName, s)
+
+TurnOnAllAnnotations()
+
+# Set up the visualization by restoring a session file.
+RestoreSessionWithDifferentSources(tests_path("session","simplekeyframe.session"), 0,
+                                   silo_data_path("globe.silo"))
+
+TestSection("Testing keyframes from a restored session file.")
+
+# Make sure that the session file created the right number of keyframes.
+TestSetup("simplekeyframe_setup")
+
+# Save a test frame for all of the frames in the animation.
+for i in range(TimeSliderGetNStates()):
+    SetTimeSliderState(i)
+    Test("simplekeyframe%02d" % i)
+
+# 
+# Clone the window and make sure that the keyframes were copied.
+#
+TestSection("Testing keyframes from a cloned window.")
+SetTimeSliderState(0)
+CloneWindow()
+SetActiveWindow(2)
+DrawPlots()
+Test("viewkeyframe00")
+SetTimeSliderState(int(TimeSliderGetNStates() * 0.3333))
+Test("viewkeyframe01")
+SetTimeSliderState(int(TimeSliderGetNStates() * 0.6666))
+Test("viewkeyframe02")
+SetTimeSliderState(TimeSliderGetNStates() - 1)
+Test("viewkeyframe03")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_textannot.html b/2023-11-08-22:00/pascal_trunk_parallel/session_textannot.html new file mode 100644 index 000000000..b1c554dab --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_textannot.html @@ -0,0 +1,66 @@ + +Results for session/textannot.py + +

Results of VisIt Regression Test - session/textannot

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
textannot000.000.00
textannot010.000.00
textannot020.000.00
textannot030.000.00
textannot040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_textannot_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_textannot_py.html new file mode 100644 index 000000000..8a1d42ed4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_textannot_py.html @@ -0,0 +1,38 @@ +session/textannot.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  textanot.py
+#
+#  Tests:      mesh      - 2D curvilinear, single domain
+#              plots     - Pseudocolor
+#
+#  Notes:      This test case uses a session file to set up a plot and create
+#              several text annotations and a time slider annotation.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Dec 4 14:17:46 PST 2003
+#
+#  Modifications:
+#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
+#    Removed deprecated functions.
+#
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+
+# Set up the visualization by restoring a session file.
+RestoreSessionWithDifferentSources(tests_path("session","textannot.session"), 0,
+                                   data_path("pdb_test_data","allinone00.pdb"))
+
+# Save a test frame for some of the frames in the animation so we can see
+# if the time slider is working.
+testindex = 0
+ntests = 5
+for i in range(ntests):
+    frame = int(float(i) / float(ntests - 1) * (TimeSliderGetNStates() - 1))
+    SetTimeSliderState(frame)
+    Test("textannot%02d" % testindex)
+    testindex = testindex + 1
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_view3d.html b/2023-11-08-22:00/pascal_trunk_parallel/session_view3d.html new file mode 100644 index 000000000..93809e348 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_view3d.html @@ -0,0 +1,42 @@ + +Results for session/view3d.py + +

Results of VisIt Regression Test - session/view3d

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
view3d000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_view3d_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_view3d_py.html new file mode 100644 index 000000000..eb82e6127 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_view3d_py.html @@ -0,0 +1,29 @@ +session/view3d.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  view3d.py
+#
+#  Tests:      mesh      - 3D unstructured, single domain
+#              plots     - Pseudocolor
+#
+#  Defect ID:  visit00004724
+#
+#  Notes:      This test case makes sure that all the 3d view parameters
+#              are properly restored from a session.  In particular the
+#              focus, parallelScale, nearPlane and farPlane.
+#
+#  Programmer: Eric Brugger
+#  Date:       Thu Apr 22 15:05:59 PDT 2004
+#
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+
+# Open the session file
+RestoreSessionWithDifferentSources(tests_path("session","view3d.session"), 0,
+                                   silo_data_path("globe.silo"))
+
+Test("view3d00")
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_wavecontour.html b/2023-11-08-22:00/pascal_trunk_parallel/session_wavecontour.html new file mode 100644 index 000000000..78362ab57 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_wavecontour.html @@ -0,0 +1,42 @@ + +Results for session/wavecontour.py + +

Results of VisIt Regression Test - session/wavecontour

+ + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
wavecontour000.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/session_wavecontour_py.html b/2023-11-08-22:00/pascal_trunk_parallel/session_wavecontour_py.html new file mode 100644 index 000000000..865b39aff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/session_wavecontour_py.html @@ -0,0 +1,29 @@ +session/wavecontour.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  wavecontour.py
+#
+#  Tests:      mesh      - 3D curvilinear, single domain
+#              plots     - Contour, Mesh
+#              operators - Reflect
+#
+#  Notes:      This test case uses a session file to ensure that the Contour
+#              plot can be restored from a session file and have its correct
+#              colors and number of contour levels. This test case tests
+#              for a bug reported in VisIt00003883.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Oct 22 15:14:20 PST 2003
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+TurnOnAllAnnotations()
+RestoreSessionWithDifferentSources(tests_path("session","wavecontour.session"), 0,
+                                   silo_data_path("wave.visit"))
+# tslider state is lost w/ restore with sources
+TimeSliderSetState(28)
+Test("wavecontour00")
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_amr.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_amr.html new file mode 100644 index 000000000..36f258f3b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_amr.html @@ -0,0 +1,68 @@ + +Results for simulation/amr.py + +

Results of VisIt Regression Test - simulation/amr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
amr000 modifications totalling 0 lines
amr010 modifications totalling 0 lines
amr020.000.00
amr030.000.00
amr040.000.00
amr050.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_amr_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_amr_py.html new file mode 100644 index 000000000..9cf4e1672 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_amr_py.html @@ -0,0 +1,58 @@ +simulation/amr.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  amr.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 2D amr mesh
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 17, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("amr", "amr.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("amr00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("amr01", sim.metadata())
+
+    AddPlot("Mesh", "amr")
+    AddPlot("Subset", "Levels")
+    DrawPlots()
+    Test("amr02")
+
+    SetActivePlots(1)
+    ChangeActivePlotsVar("Patches")
+    Test("amr03")
+
+    SetActivePlots(0)
+    DeleteActivePlots()
+    silr = SILRestriction()
+    silr.TurnOffSet(8)
+    SetPlotSILRestriction(silr, 0)
+    DrawPlots()
+    Test("amr04")
+
+    silr.TurnOnAll()
+    silr.TurnOffSet(6)
+    silr.TurnOffSet(8)
+    SetPlotSILRestriction(silr, 0)
+    DrawPlots()
+    Test("amr05")
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_aresamr.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_aresamr.html new file mode 100644 index 000000000..cbdb5e293 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_aresamr.html @@ -0,0 +1,62 @@ + +Results for simulation/aresamr.py + +

Results of VisIt Regression Test - simulation/aresamr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
aresamr000 modifications totalling 0 lines
aresamr010 modifications totalling 0 lines
aresamr020.000.00
aresamr030.000.00
aresamr040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_aresamr_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_aresamr_py.html new file mode 100644 index 000000000..fd9818151 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_aresamr_py.html @@ -0,0 +1,48 @@ +simulation/aresamr.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  aresamr.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 2D aresamr mesh
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 17, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("aresamr", "aresamr.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("aresamr00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("aresamr01", sim.metadata())
+
+    AddPlot("Pseudocolor", "zonal_scalar")
+    DrawPlots()
+    Test("aresamr02")
+
+    silr = SILRestriction()
+    silr.TurnOnAll()
+    silr.TurnOffSet(4)
+    SetPlotSILRestriction(silr, 1)
+    Test("aresamr03")
+    silr.TurnOnAll()
+    silr.TurnOffSet(3)
+    SetPlotSILRestriction(silr, 1)
+    Test("aresamr04")
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_batch.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_batch.html new file mode 100644 index 000000000..875109d84 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_batch.html @@ -0,0 +1,426 @@ + +Results for simulation/batch.py + +

Results of VisIt Regression Test - simulation/batch

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Slice Export with 3 vertices
batch_0_000.000.00
batch_0_010.000.00
batch_0_020.000.00
batch_0_030.000.00
batch_0_040.000.00
batch_0_050.000.00
Slice Export with Origin+Normal
batch_1_000.000.00
batch_1_010.000.00
batch_1_020.000.00
batch_1_030.000.00
batch_1_040.000.00
batch_1_050.000.00
Slice Export of X
batch_2_000.000.00
batch_2_010.000.00
batch_2_020.000.00
batch_2_030.000.00
batch_2_040.000.00
batch_2_050.000.00
Slice Export of Y
batch_3_000.000.00
batch_3_010.000.00
batch_3_020.000.00
batch_3_030.000.00
batch_3_040.000.00
batch_3_050.000.00
Slice Export of Z
batch_4_000.000.00
batch_4_010.000.00
batch_4_020.000.00
batch_4_030.000.00
batch_4_040.000.00
batch_4_050.000.00
Iso Export
batch_5_000.000.00
batch_5_010.000.00
batch_5_020.000.00
batch_5_030.000.00
batch_5_040.000.00
batch_5_050.000.00
batch_5_060.000.00
batch_5_070.000.00
batch_5_080.000.00
batch_5_090.000.00
batch_5_100.000.00
batch_5_110.000.00
batch_5_120.000.00
batch_5_130.000.00
batch_5_140.000.00
batch_5_150.000.00
batch_5_160.000.00
batch_5_170.000.00
batch_5_180.000.00
batch_5_190.000.00
Image Rendering
batch_6_000.000.00
batch_6_010.000.00
batch_6_020.000.00
batch_6_030.000.00
batch_6_040.000.00
Streamline Export
batch_7_000.000.00
batch_7_010.000.00
batch_7_020.000.00
batch_7_030.000.00
batch_7_040.000.00
batch_7_050.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_batch_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_batch_py.html new file mode 100644 index 000000000..5ab4f2163 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_batch_py.html @@ -0,0 +1,393 @@ +simulation/batch.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  batch.py
+#
+#  Tests:      libsim - batch mode.
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 18, 2014 
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def test0():
+    TestSection("Slice Export with 3 vertices")
+    db = "slice3v_*.vtk database"
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "dom")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (-0.0556426, 0.707794, 0.704224)
+    v.focus = (5, 1.53846, 5)
+    v.viewUp = (0.048696, 0.706401, -0.706134)
+    v.viewAngle = 30
+    v.parallelScale = 7.12383
+    v.nearPlane = -14.2477
+    v.farPlane = 14.2477
+    v.imagePan = (-0.021177, 0.0636043)
+    v.imageZoom = 1.09666
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (5, 1.53846, 5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+    Test("batch_0_00")
+
+    ChangeActivePlotsVar("xc")
+    Test("batch_0_01")
+    ChangeActivePlotsVar("radius")
+    Test("batch_0_02")
+    ChangeActivePlotsVar("q")
+    Test("batch_0_03")
+
+    TimeSliderSetState(2)
+    Test("batch_0_04")
+    TimeSliderSetState(4)
+    Test("batch_0_05")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test1():
+    TestSection("Slice Export with Origin+Normal")
+    db = "sliceON_*.vtk database"
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "dom")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0, 0, 1)
+    v.focus = (5, 5, 5)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 8.66025
+    v.nearPlane = -17.3205
+    v.farPlane = 17.3205
+    v.imagePan = (-0.00113806, 0.0530002)
+    v.imageZoom = 1.33438
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (5, 5, 5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+    Test("batch_1_00")
+
+    ChangeActivePlotsVar("xc")
+    Test("batch_1_01")
+    ChangeActivePlotsVar("radius")
+    Test("batch_1_02")
+    ChangeActivePlotsVar("q")
+    Test("batch_1_03")
+
+    TimeSliderSetState(2)
+    Test("batch_1_04")
+    TimeSliderSetState(4)
+    Test("batch_1_05")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test2():
+    TestSection("Slice Export of X")
+    db = "sliceX_*.vtk database"
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "dom")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (1, 0, 6.12323e-17)
+    v.focus = (0.5, 5, 5)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 7.07107
+    v.nearPlane = -14.1421
+    v.farPlane = 14.1421
+    v.imagePan = (0, 0)
+    v.imageZoom = 1.27205
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 5, 5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+    Test("batch_2_00")
+
+    ChangeActivePlotsVar("xc")
+    Test("batch_2_01")
+    ChangeActivePlotsVar("radius")
+    Test("batch_2_02")
+    ChangeActivePlotsVar("q")
+    Test("batch_2_03")
+
+    ChangeActivePlotsVar("radius")
+    TimeSliderSetState(2)
+    Test("batch_2_04")
+    TimeSliderSetState(4)
+    Test("batch_2_05")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test3():
+    TestSection("Slice Export of Y")
+    db = "sliceY_*.vtk database"
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "dom")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0, 1, 6.12323e-17)
+    v.focus = (5, 2.5, 5)
+    v.viewUp = (0, 6.12323e-17, -1)
+    v.viewAngle = 30
+    v.parallelScale = 7.07107
+    v.nearPlane = -14.1421
+    v.farPlane = 14.1421
+    v.imagePan = (0, 0)
+    v.imageZoom = 1.32859
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (5, 2.5, 5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+    Test("batch_3_00")
+
+    ChangeActivePlotsVar("xc")
+    Test("batch_3_01")
+    ChangeActivePlotsVar("radius")
+    Test("batch_3_02")
+    ChangeActivePlotsVar("q")
+    Test("batch_3_03")
+
+    TimeSliderSetState(2)
+    Test("batch_3_04")
+    TimeSliderSetState(4)
+    Test("batch_3_05")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test4():
+    TestSection("Slice Export of Z")
+    db = "sliceZ_*.vtk database"
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "dom")
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0, 0, 1)
+    v.focus = (5, 5, 5)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 7.07107
+    v.nearPlane = -14.1421
+    v.farPlane = 14.1421
+    v.imagePan = (0, 0)
+    v.imageZoom = 1.2647
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (5, 5, 5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+    Test("batch_4_00")
+
+    ChangeActivePlotsVar("xc")
+    Test("batch_4_01")
+    ChangeActivePlotsVar("radius")
+    Test("batch_4_02")
+    ChangeActivePlotsVar("q")
+    Test("batch_4_03")
+
+    TimeSliderSetState(2)
+    Test("batch_4_04")
+    TimeSliderSetState(4)
+    Test("batch_4_05")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test5():
+    TestSection("Iso Export")
+    dbs = ("iso_0000.visit","iso_0001.visit","iso_0002.visit","iso_0003.visit","iso_0004.visit")
+    index = 0
+    for db in dbs:
+        OpenDatabase(db)
+        AddPlot("Pseudocolor", "dom")
+        DrawPlots()
+
+        v = GetView3D()
+        v.viewNormal = (-0.433402, 0.101212, 0.895499)
+        v.focus = (5, 5, 5)
+        v.viewUp = (0.0882645, 0.993663, -0.0695889)
+        v.viewAngle = 30
+        v.parallelScale = 8.66025
+        v.nearPlane = -17.3205
+        v.farPlane = 17.3205
+        v.imagePan = (0.00394299, 0.0327202)
+        v.imageZoom = 1.34799
+        v.perspective = 1
+        v.eyeAngle = 2
+        v.centerOfRotationSet = 0
+        v.centerOfRotation = (5, 5, 5)
+        v.axis3DScaleFlag = 0
+        v.axis3DScales = (1, 1, 1)
+        v.shear = (0, 0, 1)
+        v.windowValid = 1
+        SetView3D(v)
+
+        Test("batch_5_%02d" % index)
+
+        ChangeActivePlotsVar("xc")
+        Test("batch_5_%02d" % (index+1))
+        ChangeActivePlotsVar("radius")
+        Test("batch_5_%02d" % (index+2))
+        ChangeActivePlotsVar("q")
+        Test("batch_5_%02d" % (index+3))
+        index = index + 4
+
+        DeleteAllPlots()
+        CloseDatabase(db)
+
+def test6():
+    TestSection("Image Rendering")
+    db = "batch*.png database"
+    OpenDatabase(db)
+    AddPlot("Truecolor", "color")
+    AddOperator("Box")
+    box = BoxAttributes()
+    box.amount = box.Some  # Some, All
+    box.minx = 230
+    box.maxx = 1000
+    box.miny = 45
+    box.maxy = 1000
+    box.minz = 0
+    box.maxz = 1
+    box.inverse = 0
+    SetOperatorOptions(box)
+    DrawPlots()
+
+    v = GetView2D()
+    v.windowCoords = (0, 960, 0, 540)
+    v.viewportCoords = (0.01, 0.99, 0.22, 0.99)
+    v.fullFrameActivationMode = v.Auto  # On, Off, Auto
+    v.fullFrameAutoThreshold = 100
+    v.xScale = v.LINEAR  # LINEAR, LOG
+    v.yScale = v.LINEAR  # LINEAR, LOG
+    v.windowValid = 1
+    SetView2D(v)
+
+    Test("batch_6_00")
+    TimeSliderSetState(1)
+    Test("batch_6_01")
+    TimeSliderSetState(2)
+    Test("batch_6_02")
+    TimeSliderSetState(3)
+    Test("batch_6_03")
+    TimeSliderSetState(4)
+    Test("batch_6_04")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def test7():
+    TestSection("Streamline Export")
+    db = "streamline_*.vtk database"
+    OpenDatabase(db)
+    AddPlot("Pseudocolor", "colorVar")
+    pc = PseudocolorAttributes(1)
+    pc.lineWidth = 3
+    SetPlotOptions(pc)
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (0, 0, 1)
+    v.focus = (5.2835, 5.2835, 5.2562)
+    v.viewUp = (0, 1, 0)
+    v.viewAngle = 30
+    v.parallelScale = 8.26953
+    v.nearPlane = -16.5391
+    v.farPlane = 16.5391
+    v.imagePan = (0, 0)
+    v.imageZoom = 1.33131
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (5.2835, 5.2835, 5.2562)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+    Test("batch_7_00")
+
+    ChangeActivePlotsVar("xc")
+    Test("batch_7_01")
+    ChangeActivePlotsVar("radius")
+    Test("batch_7_02")
+    ChangeActivePlotsVar("q")
+    Test("batch_7_03")
+
+    TimeSliderSetState(2)
+    Test("batch_7_04")
+    TimeSliderSetState(4)
+    Test("batch_7_05")
+
+    DeleteAllPlots()
+    CloseDatabase(db)
+
+def main():
+    # Create our simulation object.
+    sim = TestBatchSimulation("batch")
+    sim.addargument("-format")
+    sim.addargument("VTK_1.0")
+    sim.addargument("-maxcycles")
+    sim.addargument("5")
+    sim.addargument("-render")
+    sim.addargument("1")
+    sim.addargument("-export")
+    sim.addargument("1")
+
+    # Test that we can start the simulation.
+    sim.startsim()
+    # This will wait for the simulation to complete.
+    sim.endsim()
+
+    # Test the simulation outputs.
+    test0()
+    test1()
+    test2()
+    test3()
+    test4()
+    test5()
+    test6()
+    test7()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_csg.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_csg.html new file mode 100644 index 000000000..7ef9aef03 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_csg.html @@ -0,0 +1,114 @@ + +Results for simulation/csg.py + +

Results of VisIt Regression Test - simulation/csg

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
csg000 modifications totalling 0 lines
csg010 modifications totalling 0 lines
csg020.000.00
csg030.000.00
csg040.000.00
csg050.000.00
csg060.000.00
csg070.000.00
csg080.000.00
csg090.000.00
csg100.000.00
csg110.000.00
csg120.000.00
csg130 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_csg_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_csg_py.html new file mode 100644 index 000000000..03cb8df8b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_csg_py.html @@ -0,0 +1,64 @@ +simulation/csg.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  csg.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              csg   - 3D csg mesh .
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 27, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("csg", "csg.sim2")
+sim.addargument("-echo")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("csg00", sim)
+
+def simcommand(sim, com):
+    sim.consolecommand(com)
+    # Read from stderr to look for the echoed command. Sync.
+    keepGoing = True
+    while keepGoing:
+        buf = sim.p.stderr.readline()
+        print(buf)
+        if "Command '%s'"%com in buf:
+            keepGoing = False
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("csg01", sim.metadata())
+
+    AddPlot("Subset", "Regions")
+    s = SubsetAttributes()
+    s.smoothingLevel = 2
+    SetPlotOptions(s)
+    DrawPlots()
+    Test("csg02")
+
+    times = "Times:\n"
+    SetQueryOutputToValue();
+    times = times + str(Query("Time")) + "\n"
+    for i in range(10):
+        simcommand(sim, 'step')
+        simcommand(sim, 'step')
+        simcommand(sim, 'update')
+        Test("csg%02d" % (i+3))
+        times = times + str(Query("Time")) + "\n"
+
+    TestText("csg13", times)
+    DeleteAllPlots()
+    SetQueryOutputToString()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_curve.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_curve.html new file mode 100644 index 000000000..e1d95b347 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_curve.html @@ -0,0 +1,66 @@ + +Results for simulation/curve.py + +

Results of VisIt Regression Test - simulation/curve

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
curve000 modifications totalling 0 lines
curve010 modifications totalling 0 lines
curve020.000.00
curve030.000.00
curve040.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_curve_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_curve_py.html new file mode 100644 index 000000000..7ab5c7371 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_curve_py.html @@ -0,0 +1,61 @@ +simulation/curve.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  curve.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - curve
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       Jun 17, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("curve", "curve.sim2")
+sim.addargument("-echo")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("curve00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("curve01", sim.metadata())
+
+    AddPlot("Curve", "sine")
+    curveAtts = CurveAttributes(1)
+    curveAtts.showLabels = 0
+    curveAtts.lineWidth = 2
+    SetPlotOptions(curveAtts)
+    DrawPlots()
+    Test("curve02")
+
+    # Read the 'VisIt connected' message
+    buf = sim.p.stderr.readline()
+    for i in range(25):
+        sim.consolecommand("step")
+        # Read from stderr to look for the echoed command.
+        buf = sim.p.stderr.readline()
+        print(buf)
+        sim.consolecommand("update")
+
+    Test("curve03")
+
+    for i in range(25):
+        sim.consolecommand("step")
+        buf = sim.p.stderr.readline()
+        print(buf)
+        sim.consolecommand("update")
+    Test("curve04")
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainbounds.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainbounds.html new file mode 100644 index 000000000..074326a2a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainbounds.html @@ -0,0 +1,56 @@ + +Results for simulation/domainbounds.py + +

Results of VisIt Regression Test - simulation/domainbounds

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
domainbounds000 modifications totalling 0 lines
domainbounds010 modifications totalling 0 lines
domainbounds020.000.00
domainbounds030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainbounds_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainbounds_py.html new file mode 100644 index 000000000..58a24ff73 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainbounds_py.html @@ -0,0 +1,47 @@ +simulation/domainbounds.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  domainbounds.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 3D rectilinear mesh
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 17, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("domainbounds", "domainbounds.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("domainbounds00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("domainbounds01", sim.metadata())
+
+    AddPlot("Subset", "Domains")
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (0.672727, 0.569817, 0.471961)
+    v.viewUp = (-0.252634, 0.776445, -0.57733)
+    SetView3D(v)
+    Test("domainbounds02")
+
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", "zonal")
+    DrawPlots()
+    Test("domainbounds03")
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainlist.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainlist.html new file mode 100644 index 000000000..2db8c65a2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainlist.html @@ -0,0 +1,108 @@ + +Results for simulation/domainlist.py + +

Results of VisIt Regression Test - simulation/domainlist

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
domainlist000 modifications totalling 0 lines
domainlist010 modifications totalling 0 lines
domainlist020.000.00
domainlist030.000.00
domainlist040.000.00
domainlist050.000.00
domainlist060.000.00
domainlist070.000.00
domainlist080.000.00
domainlist090.000.00
domainlist100.000.00
domainlist110.000.00
domainlist120 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainlist_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainlist_py.html new file mode 100644 index 000000000..f1203890c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_domainlist_py.html @@ -0,0 +1,125 @@ +simulation/domainlist.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  domainlist.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 2D,3D unstructured mesh.
+#
+#              Tests that VisIt's load balancer can accept different domain
+#              lists from simulations and distribute work accordingly. If it
+#              was to mess up then we would not get all domains for at least
+#              one of the meshes.
+#
+#              This test must run in parallel.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Thu Jun 26 17:19:08 PDT 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def step(sim):
+    sim.consolecommand("step")
+    # Read from stderr to look for the echoed command. Sync.
+    keepGoing = True
+    while keepGoing:
+        buf = sim.p.stderr.readline()
+        print(buf)
+        if "Command step" in buf:
+            keepGoing = False
+
+def set_the_view():
+    v = GetView3D()
+    v.viewNormal = (0.48257, -0.684101, 0.54693)
+    v.focus = (0.95, 1.5, 0.5)
+    v.viewUp = (-0.352936, 0.419625, 0.836272)
+    v.viewAngle = 30
+    v.parallelScale = 1.84459
+    v.nearPlane = -3.68917
+    v.farPlane = 3.68917
+    v.imagePan = (0.0637817, 0.0407714)
+    v.imageZoom = 1.04766
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.95, 1.5, 0.5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+def add_time(times):
+    Query("Time")
+    t2 = times + str(GetQueryOutputValue()) + "\n"
+    return t2
+
+def start_time():
+    return add_time("Times:\n")
+
+def test0(sim):
+    AddPlot("Subset", "Domains(mesh)")
+    AddPlot("Subset", "Domains(surface)")
+    SetActivePlots((0,1))
+    AddOperator("Reflect")
+    r = ReflectAttributes()
+    r.octant = r.PXPYPZ  # PXPYPZ, NXPYPZ, PXNYPZ, NXNYPZ, PXPYNZ, NXPYNZ, PXNYNZ, NXNYNZ
+    r.useXBoundary = 1
+    r.specifiedX = 0
+    r.useYBoundary = 0
+    r.specifiedY = 1.5
+    r.useZBoundary = 1
+    r.specifiedZ = 0
+    r.reflections = (1, 0, 1, 0, 0, 0, 0, 0)
+    SetOperatorOptions(r)
+
+    SetActivePlots(1)
+    AddOperator("Transform", 0)
+    trans = TransformAttributes()
+    trans.doTranslate = 1
+    trans.translateX = 1
+    SetOperatorOptions(trans)
+    DrawPlots()
+    set_the_view()
+
+    # Advance some steps and make sure that we get all domains for each mesh
+    times = start_time()
+    idx = 2
+    for i in range(10):
+        Test("domainlist%02d" % idx)
+        times = add_time(times)
+        step(sim)
+        idx = idx + 1
+
+    # Get the number of processors.
+    e,s = GetEngineList(1)[0]
+    text = "Engine Properties:\n" + str(GetEngineProperties(e,s)) + "\n" + times
+    TestText("domainlist%02d" % idx, text)
+    idx = idx + 1
+    DeleteAllPlots()
+
+
+
+def main():
+    # Create our simulation object.
+    sim = TestParallelSimulation("globalids_par", "globalids_par.sim2", 4)
+    sim.addargument("-echo")
+
+    # Test that we can start and connect to the simulation.
+    started, connected = TestSimStartAndConnect("domainlist00", sim)
+
+    # Perform our tests.
+    if connected:
+        # Make sure the metadata is right.
+        TestSimMetaData("domainlist01", sim.metadata())
+        test0(sim)
+
+    # Close down the simulation.
+    if started:
+        sim.endsim()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_ghostcells.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_ghostcells.html new file mode 100644 index 000000000..207bdc9e1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_ghostcells.html @@ -0,0 +1,194 @@ + +Results for simulation/ghostcells.py + +

Results of VisIt Regression Test - simulation/ghostcells

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ghostcells000 modifications totalling 0 lines
ghostcells010 modifications totalling 0 lines
Ghosting with meshes
ghostcells020.000.00
ghostcells030.000.00
ghostcells040.000.00
ghostcells050.000.00
ghostcells060.000.00
ghostcells070.000.00
ghostcells080.000.00
ghostcells090.000.00
ghostcells100.000.00
ghostcells110.000.00
ghostcells120.000.00
ghostcells130.000.00
Ghosting with scalars
ghostcells140.000.00
ghostcells150.000.00
ghostcells160.000.00
ghostcells170.000.00
ghostcells180.000.00
ghostcells190.000.00
ghostcells200.000.00
ghostcells210.000.00
ghostcells220.000.00
ghostcells230.000.00
ghostcells240.000.00
ghostcells250.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_ghostcells_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_ghostcells_py.html new file mode 100644 index 000000000..4041b1f27 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_ghostcells_py.html @@ -0,0 +1,84 @@ +simulation/ghostcells.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ghostcells.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 2D structured mesh.
+#              scalars defined on material sub regions.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Dec 18 12:04:01 PST 2013
+#
+#
+#  NOTES: #3, #17 do not look correct.
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("ghostcells", "ghostcells.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("ghostcells00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("ghostcells01", sim.metadata())
+
+    meshes = ("rect_blank", "curv_blank", "ucd_blank",
+              "multi_domain_index", "multi_domain", "multi_types")
+    scalars= ("rect_var", "curv_var", "ucd_var",
+              "multi_var", "multi_var_index", "multi_types_var")
+
+    i = 2
+    TestSection("Ghosting with meshes")
+    for m in meshes:
+        AddPlot("Subset", m)
+        s = SubsetAttributes(1)
+        if "multi" in m:
+            s.opacity = 0.4
+            SetPlotOptions(s)
+        DrawPlots()
+        ResetView()
+        Test("ghostcells%02d" % i)
+
+        s.colorType = s.ColorBySingleColor
+        s.singleColor = (0,0,255,255)
+        SetPlotOptions(s)
+        AddOperator("InverseGhostZone")
+        s.opacity = 1.
+        SetPlotOptions(s)
+        DrawPlots()
+        Test("ghostcells%02d" % (i+1))
+        DeleteAllPlots()
+        i = i + 2
+
+    TestSection("Ghosting with scalars")
+    for s in scalars:
+        AddPlot("Pseudocolor", s)
+        pc = PseudocolorAttributes(1)
+        if "multi" in s:
+            pc.opacityType = pc.Constant
+            pc.opacity = 0.4
+            SetPlotOptions(pc)
+        DrawPlots()
+        ResetView()
+        Test("ghostcells%02d" % i)
+
+        AddOperator("InverseGhostZone")
+        pc.opacity = 1.0
+        SetPlotOptions(pc)
+        DrawPlots()
+        Test("ghostcells%02d" % (i+1))
+        DeleteAllPlots()
+        i = i + 2
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_globalids.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_globalids.html new file mode 100644 index 000000000..4a1ddb66f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_globalids.html @@ -0,0 +1,196 @@ + +Results for simulation/globalids.py + +

Results of VisIt Regression Test - simulation/globalids

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
globalids000 modifications totalling 0 lines
globalids010 modifications totalling 0 lines
Topologically 3D meshes in 3D
globalids020.000.00
globalids030.000.00
globalids040.000.00
globalids050.000.00
globalids060.000.00
globalids070.000.00
globalids080.000.00
globalids090.000.00
globalids100.000.00
globalids110.000.00
globalids120.000.00
globalids130 modifications totalling 0 lines
Topologically 2D meshes in 3D
globalids_1_000.000.00
globalids_1_010.000.00
globalids_1_020.000.00
globalids_1_030.000.00
globalids_1_040.000.00
globalids_1_050.000.00
globalids_1_060.000.00
globalids_1_070.000.00
globalids_1_080.000.00
globalids_1_090.000.00
globalids_1_100.000.00
globalids_1_110.000.00
globalids_1_120 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_globalids_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_globalids_py.html new file mode 100644 index 000000000..52f4b4828 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_globalids_py.html @@ -0,0 +1,218 @@ +simulation/globalids.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  globalids.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 3D unstructured mesh.
+#              global node and cell ids
+#              unstructured ghost cell generation from global ids
+#
+#  Programmer: Brad Whitlock
+#  Date:       Tue Jun 17 16:32:51 PDT 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+def step(sim):
+    sim.consolecommand("step")
+    # Read from stderr to look for the echoed command. Sync.
+    keepGoing = True
+    while keepGoing:
+        buf = sim.p.stderr.readline()
+        print(buf)
+        if "Command step" in buf:
+            keepGoing = False
+
+def set_the_view():
+    v = GetView3D()
+    v.viewNormal = (-0.707418, 0.404282, 0.579755)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0.294715, 0.914272, -0.27794)
+    v.viewAngle = 30
+    v.parallelScale = 0.866025
+    v.nearPlane = -1.73205
+    v.farPlane = 1.73205
+    v.imagePan = (0, 0.0589478)
+    v.imageZoom = 1.0963
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 0.5, 0.5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+def set_the_view2():
+    v = GetView3D()
+    v.viewNormal = (-0.542717, -0.70433, 0.457578)
+    v.focus = (0.5, 0.5, 0.5)
+    v.viewUp = (0.252732, 0.3826, 0.888675)
+    v.viewAngle = 30
+    v.parallelScale = 0.722842
+    v.nearPlane = -1.44568
+    v.farPlane = 1.44568
+    v.imagePan = (-0.00135472, 0.013532)
+    v.imageZoom = 1.12868
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0.5, 0.5, 0.5)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+def add_time(times):
+    Query("Time")
+    t2 = times + str(GetQueryOutputValue()) + "\n"
+    return t2
+
+def start_time():
+    return add_time("Times:\n")
+
+def test0(sim):
+    TestSection("Topologically 3D meshes in 3D")
+    DefineScalarExpression("gnid", "global_nodeid(mesh)")
+    DefineScalarExpression("gzid", "global_zoneid(mesh)")
+    DefineScalarExpression("nid",  "nodeid(mesh)")
+
+    AddPlot("Pseudocolor", "nid")
+    DrawPlots()
+    set_the_view()
+    Test("globalids02")
+
+    ChangeActivePlotsVar("gzid")
+    DrawPlots()
+    Test("globalids03")
+
+    ChangeActivePlotsVar("gnid")
+    DrawPlots()
+    Test("globalids04")
+    DeleteAllPlots()
+
+    AddPlot("Subset", "Domains")
+    DrawPlots()
+    Test("globalids05")
+
+    # Make sure that the plot is hollow
+    s = SubsetAttributes(1)
+    s_clear = SubsetAttributes(1)
+    s_clear.opacity = 0.25
+    s_clear.colorType = s_clear.ColorBySingleColor
+    s_clear.singleColor = (200,200,200,255)
+    SetPlotOptions(s_clear)
+    DrawPlots()
+    Test("globalids06")
+
+    # Advance some steps and make sure that the plot
+    # stays transparent. We're changing the size of the
+    # domains at each time step and thus the global ids.
+    times = start_time()
+    idx = 7
+    for i in range(3):
+        # Advance some steps. This should make the plots update.
+        nsteps = 5
+        for j in range(nsteps):
+            step(sim)
+            DrawPlots()
+        times = add_time(times)
+        SetPlotOptions(s)
+        Test("globalids%02d" % idx)
+        idx = idx + 1
+        SetPlotOptions(s_clear)
+        Test("globalids%02d" % idx)
+        idx = idx + 1
+
+    TestText("globalids%02d" % idx, times)
+    idx = idx + 1
+    DeleteAllPlots()
+
+def hideplot(id):
+    pl = GetPlotList()
+    if pl.GetPlots(id).hiddenFlag == 0:
+        SetActivePlots(id)
+        HideActivePlots()
+
+def showplot(id):
+    pl = GetPlotList()
+    if pl.GetPlots(id).hiddenFlag == 1:
+        SetActivePlots(id)
+        HideActivePlots()
+
+def test1(sim):
+    TestSection("Topologically 2D meshes in 3D")
+    DefineScalarExpression("gnid2d", "global_nodeid(surface)")
+    DefineScalarExpression("gzid2d", "global_zoneid(surface)")
+    DefineScalarExpression("nid2d",  "nodeid(surface)")
+
+    AddPlot("FilledBoundary", "surfacemat")
+    fb = FilledBoundaryAttributes(1)
+    fb.colorType = fb.ColorBySingleColor
+    fb.singleColor = (0,0,0,255)
+    fb.wireframe = 1
+    fb.lineWidth = 3
+    SetPlotOptions(fb)
+    AddPlot("Subset", "Domains(surface)")
+    AddPlot("Pseudocolor", "nid2d")
+    DrawPlots()
+    set_the_view2()
+
+    idx = 0
+    times = start_time()
+    ntests = 4
+    for i in range(3):
+        ids = [idx+j for j in range(ntests)]
+        # Show the Subset plot
+        showplot(1)
+        hideplot(2)
+        Test("globalids_1_%02d" % ids[0])
+
+        # Show the Pseudocolor plot
+        hideplot(1)
+        showplot(2)
+        ChangeActivePlotsVar("nid2d")
+        Test("globalids_1_%02d" % ids[1])
+
+        ChangeActivePlotsVar("gnid2d")
+        Test("globalids_1_%02d" % ids[2])
+
+        ChangeActivePlotsVar("gzid2d")
+        Test("globalids_1_%02d" % ids[3])
+        SetActivePlots(0)
+        times = add_time(times)
+
+        # Take a step.
+        showplot(1)
+        step(sim)
+        idx = idx + ntests
+
+    TestText("globalids_1_%02d" % idx, times)
+    DeleteAllPlots()
+
+def main():
+    # Create our simulation object.
+    sim = TestSimulation("globalids", "globalids.sim2")
+    sim.addargument("-echo")
+
+    # Test that we can start and connect to the simulation.
+    started, connected = TestSimStartAndConnect("globalids00", sim)
+
+    # Perform our tests.
+    if connected:
+        # Make sure the metadata is right.
+        TestSimMetaData("globalids01", sim.metadata())
+        test0(sim)
+        test1(sim)
+
+    # Close down the simulation.
+    if started:
+        sim.endsim()
+
+main()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_interleave.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_interleave.html new file mode 100644 index 000000000..09f398a02 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_interleave.html @@ -0,0 +1,188 @@ + +Results for simulation/interleave.py + +

Results of VisIt Regression Test - simulation/interleave

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
interleave000 modifications totalling 0 lines
interleave010 modifications totalling 0 lines
interleave020.000.00
interleave030.000.00
interleave040.000.00
interleave050.000.00
interleave060.000.00
interleave070.000.00
interleave080.000.00
interleave090.000.00
interleave100.000.00
interleave110.000.00
interleave120.000.00
interleave130.000.00
interleave140.000.00
interleave150.000.00
interleave160.000.00
interleave170.000.00
interleave180.000.00
interleave190.000.00
interleave200.000.00
interleave210.000.00
interleave220.000.00
interleave230.000.00
interleave240.000.00
interleave250.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_interleave_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_interleave_py.html new file mode 100644 index 000000000..9f31cddf9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_interleave_py.html @@ -0,0 +1,86 @@ +simulation/interleave.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  interleave.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#
+#  Programmer: Kathleen Biagas
+#  Date:       June 17, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("interleave", "interleave.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("interleave00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("interleave01", sim.metadata())
+
+    meshes2d = ("curv2d_static_float", "curv2d_static_double",
+                "curv2d_dynamic_float", "curv2d_dynamic_double",
+
+                "point2d_static_float", "point2d_static_double",
+                "point2d_dynamic_float", "point2d_dynamic_double",
+
+                "ucd2d_static_float", "ucd2d_static_double",
+                "ucd2d_dynamic_float", "ucd2d_dynamic_double")
+
+    meshes3d = ("curv3d_static_float", "curv3d_static_double",
+                "curv3d_dynamic_float", "curv3d_dynamic_double",
+
+                "point3d_static_float", "point3d_static_double",
+                "point3d_dynamic_float", "point3d_dynamic_double",
+
+                "ucd3d_static_float", "ucd3d_static_double",
+                "ucd3d_dynamic_float", "ucd3d_dynamic_double")
+
+    i = 2
+    meshAtts = MeshAttributes()
+    meshAtts.pointSizePixels = 10
+    meshAtts.lineWidth = 2
+    SetDefaultPlotOptions(meshAtts)
+
+    v2 = GetView2D()
+    v2.windowCoords = (-0.104083, 4.10408, -0.369428, 3.36943)
+    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
+    AddPlot("Mesh", "%s"%meshes2d[0])
+    DrawPlots()
+    SetView2D(v2)
+    Test("interleave%02d" % i)
+    i = i + 1
+
+    for m in meshes2d[1:]:
+        ChangeActivePlotsVar(m)
+        DrawPlots()
+        Test("interleave%02d" % i)
+        i = i + 1
+
+    DeleteAllPlots()
+
+    AddPlot("Mesh", "%s"%meshes3d[0])
+    DrawPlots()
+    ResetView()
+    Test("interleave%02d" % i)
+    i = i + 1
+
+    for m in meshes3d[1:]:
+        ChangeActivePlotsVar(m)
+        DrawPlots()
+        Test("interleave%02d" % i)
+        i = i + 1
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_life.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_life.html new file mode 100644 index 000000000..ec342df9d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_life.html @@ -0,0 +1,58 @@ + +Results for simulation/life.py + +

Results of VisIt Regression Test - simulation/life

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
life000 modifications totalling 0 lines
life010 modifications totalling 0 lines
life020.000.00
life030.000.00
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_life_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_life_py.html new file mode 100644 index 000000000..25e3555d5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_life_py.html @@ -0,0 +1,43 @@ +simulation/life.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  life.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 2D rectilinear mesh
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 17, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("life", "life.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("life00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("life01", sim.metadata())
+
+    AddPlot("Pseudocolor", "life")
+    DrawPlots()
+    Test("life02")
+
+    # Run the simulation for awhile to get a different image
+    for i in range(100):
+        sim.consolecommand("step")
+    Test("life03")
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_mandelbrot.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_mandelbrot.html new file mode 100644 index 000000000..55a769d7a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_mandelbrot.html @@ -0,0 +1,78 @@ + +Results for simulation/mandelbrot.py + +

Results of VisIt Regression Test - simulation/mandelbrot

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
mandelbrot000 modifications totalling 0 lines
mandelbrot010 modifications totalling 0 lines
mandelbrot020.000.00
mandelbrot030.000.00
mandelbrot040 modifications totalling 0 lines
mandelbrot050.000.00
mandelbrot060.000.00
mandelbrot070.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_mandelbrot_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_mandelbrot_py.html new file mode 100644 index 000000000..45ab2a987 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_mandelbrot_py.html @@ -0,0 +1,77 @@ +simulation/mandelbrot.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  mandelbrot.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 2D structured mesh.
+#              scalars
+#              AMR
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Dec 18 12:04:01 PST 2013
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+import time
+
+# Create our simulation object.
+sim = TestSimulation("mandelbrot", "mandelbrot.sim2")
+sim.addargument("-echo")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("mandelbrot00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("mandelbrot01", sim.metadata())
+
+    AddPlot("Pseudocolor", "mandelbrot")
+    DrawPlots()
+    v = GetView2D()
+    v.viewportCoords = (0., 1., 0., 1.)
+    SetView2D(v)
+    Test("mandelbrot02")
+
+    # Advance some steps and update the plots.
+
+    # Read the "VisIt connected" message.
+    buf = sim.p.stderr.readline()
+    for i in range(12):
+        sim.consolecommand("step")
+        # Read from stderr to look for the echoed command.
+        buf = sim.p.stderr.readline()
+        print(buf)
+        time.sleep(1)
+    # Update the data for the new time step.
+    sim.consolecommand("update")
+    Test("mandelbrot03")
+
+    # Make sure the metadata has updated.
+    TestSimMetaData("mandelbrot04", sim.metadata())
+
+    # Test transparency to see if nesting is used.
+    pc = PseudocolorAttributes(1)
+    pc.opacityType = pc.Constant
+    pc.opacity = 0.5
+    SetPlotOptions(pc)
+    Test("mandelbrot05")
+
+    DeleteActivePlots()
+    AddPlot("Subset", "levels")
+    DrawPlots()
+    Test("mandelbrot06")
+
+    ChangeActivePlotsVar("patches")
+    Test("mandelbrot07")
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_material.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_material.html new file mode 100644 index 000000000..a189a9808 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_material.html @@ -0,0 +1,62 @@ + +Results for simulation/material.py + +

Results of VisIt Regression Test - simulation/material

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
material000 modifications totalling 0 lines
material010 modifications totalling 0 lines
material020.000.00
material030.000.00
material040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_material_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_material_py.html new file mode 100644 index 000000000..924a4cec6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_material_py.html @@ -0,0 +1,59 @@ +simulation/material.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  material.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              material   - 2D structured/unstructured material.
+#              materials
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Dec 18 12:04:01 PST 2013
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Force MIR
+m = GetMaterialAttributes()
+m.forceMIR = 1
+SetMaterialAttributes(m)
+
+# Create our simulation object.
+sim = TestSimulation("material", "material.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("material00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("material01", sim.metadata())
+
+    AddPlot("Mesh", "mesh2d")
+    m = MeshAttributes(1)
+    m.lineWidth = 1
+    SetPlotOptions(m)
+    AddPlot("FilledBoundary", "Material")
+    DrawPlots()
+    Test("material02")
+
+    DeleteActivePlots()
+    AddPlot("Pseudocolor", "scalar")
+    DrawPlots()
+    Test("material03")
+    DeleteAllPlots()
+
+    # Make a new plot.
+    AddPlot("Mesh", "ucdmesh")
+    SetPlotOptions(m)
+    AddPlot("FilledBoundary", "MaterialFromArrays")
+    DrawPlots()
+    Test("material04")
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_materialvar.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_materialvar.html new file mode 100644 index 000000000..bc32322e9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_materialvar.html @@ -0,0 +1,104 @@ + +Results for simulation/materialvar.py + +

Results of VisIt Regression Test - simulation/materialvar

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
materialvar000 modifications totalling 0 lines
materialvar010 modifications totalling 0 lines
materialvar020.000.00
materialvar030.000.00
materialvar040.000.00
materialvar050.000.00
materialvar060.000.00
materialvar070.000.00
materialvar080.000.00
materialvar090.000.00
materialvar100.000.00
materialvar110.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_materialvar_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_materialvar_py.html new file mode 100644 index 000000000..4d28edb12 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_materialvar_py.html @@ -0,0 +1,58 @@ +simulation/materialvar.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  materialvar.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 2D structured mesh.
+#              scalars defined on material sub regions.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Dec 18 12:04:01 PST 2013
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("materialvar", "materialvar.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("materialvar00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("materialvar01", sim.metadata())
+
+    AddPlot("Mesh", "mesh2d")
+    AddPlot("FilledBoundary", "Material")
+    DrawPlots()
+    Test("materialvar02")
+    DeleteActivePlots()
+
+    scalars = ("scalar",
+               "zonal_scalar_on_mat1",
+               "zonal_scalar_on_mat2",
+               "zonal_scalar_on_mat3",
+               "zonal_scalar_on_mats12",
+               "nodal_scalar_on_mat1",
+               "nodal_scalar_on_mat2",
+               "nodal_scalar_on_mat3",
+               "nodal_scalar_on_mats23")
+    i = 3
+    for s in scalars:
+        AddPlot("Pseudocolor", s)
+        DrawPlots()
+        Test("materialvar%02d" % i)
+        DeleteActivePlots()
+        i = i + 1
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_mesh.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_mesh.html new file mode 100644 index 000000000..d49df9c60 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_mesh.html @@ -0,0 +1,62 @@ + +Results for simulation/mesh.py + +

Results of VisIt Regression Test - simulation/mesh

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
mesh000 modifications totalling 0 lines
mesh010 modifications totalling 0 lines
mesh020.000.00
mesh030.000.00
mesh040.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_mesh_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_mesh_py.html new file mode 100644 index 000000000..350f563ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_mesh_py.html @@ -0,0 +1,53 @@ +simulation/mesh.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  mesh.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 2D and 3D structured mesh.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Dec 18 12:04:01 PST 2013
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("mesh", "mesh.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("mesh00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("mesh01", sim.metadata())
+
+    AddPlot("Mesh", "mesh2d")
+    m = MeshAttributes(1)
+    m.lineWidth = 1
+    SetPlotOptions(m)
+    DrawPlots()
+    Test("mesh02")
+
+    ChangeActivePlotsVar("mesh3d")
+    Test("mesh03")
+    DeleteAllPlots()
+
+    # Disconnect and reconnect.
+    sim.disconnect()
+    sim.connect()
+
+    # Make a new plot.
+    AddPlot("Mesh", "mesh2d")
+    SetPlotOptions(m)
+    DrawPlots()
+    Test("mesh04")
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_multiblock.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_multiblock.html new file mode 100644 index 000000000..a95de67bc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_multiblock.html @@ -0,0 +1,68 @@ + +Results for simulation/multiblock.py + +

Results of VisIt Regression Test - simulation/multiblock

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
multiblock000 modifications totalling 0 lines
multiblock010 modifications totalling 0 lines
multiblock020.000.00
multiblock030.000.00
multiblock040.000.00
multiblock050.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_multiblock_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_multiblock_py.html new file mode 100644 index 000000000..22d248be8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_multiblock_py.html @@ -0,0 +1,56 @@ +simulation/multiblock.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  multiblock.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - 2D structured mesh.
+#              scalars
+#              domain boundaries
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Dec 18 12:04:01 PST 2013
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("multiblock", "multiblock.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("multiblock00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("multiblock01", sim.metadata())
+
+    AddPlot("Mesh", "mesh2d")
+    AddPlot("Pseudocolor", "domainID")
+    DrawPlots()
+    Test("multiblock02")
+
+    # Force nodal centering to test domain boundary information.
+    pc = PseudocolorAttributes(1)
+    pc.centering = pc.Nodal
+    SetPlotOptions(pc)
+    Test("multiblock03")
+
+    DeleteActivePlots()
+
+    AddPlot("Subset", "Domains")
+    DrawPlots()
+    Test("multiblock04")
+
+    ChangeActivePlotsVar("Blocks")
+    Test("multiblock05")
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_point.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_point.html new file mode 100644 index 000000000..38f97551d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_point.html @@ -0,0 +1,92 @@ + +Results for simulation/point.py + +

Results of VisIt Regression Test - simulation/point

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
point000 modifications totalling 0 lines
point010 modifications totalling 0 lines
point020.000.00
point030.000.00
point040.000.00
point050.000.00
point060.000.00
point070.000.00
point080.000.00
point090.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_point_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_point_py.html new file mode 100644 index 000000000..2bd113c00 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_point_py.html @@ -0,0 +1,79 @@ +simulation/point.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  point.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   -  point mesh
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 25, 2014 
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("point", "point.sim2")
+sim.addargument("-echo")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("point00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("point01", sim.metadata())
+
+    # 2d mesh and points
+    AddPlot("Mesh", "point3d")
+    meshAtts = MeshAttributes()
+    meshAtts.pointSizePixels = 3
+    SetPlotOptions(meshAtts)
+    DrawPlots()
+    Test("point02")
+
+    v = GetView3D()
+    v.viewNormal = (0, 1, 0)
+    v.viewUp     = (0, 0, -1)
+    SetView3D(v)
+
+    Test("point03")
+
+    DeleteAllPlots()
+
+    AddPlot("Pseudocolor", "pointvar")
+    pcAtts = PseudocolorAttributes()
+    pcAtts.pointSizePixels = 3
+    SetPlotOptions(pcAtts)
+    DrawPlots()
+    Test("point04")
+
+    ResetView()
+    Test("point05")
+
+    AddOperator("Project")
+    DrawPlots()
+    Test("point06")
+
+    projAtts = ProjectAttributes()
+    projAtts.projectionType = projAtts.ZYCartesian
+    SetOperatorOptions(projAtts)
+    Test("point07")
+
+    projAtts.projectionType = projAtts.XRCylindrical
+    SetOperatorOptions(projAtts)
+    Test("point08")
+
+    projAtts.projectionType = projAtts.ZRCylindrical
+    SetOperatorOptions(projAtts)
+    Test("point09")
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_polyhedral.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_polyhedral.html new file mode 100644 index 000000000..414679113 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_polyhedral.html @@ -0,0 +1,68 @@ + +Results for simulation/polyhedral.py + +

Results of VisIt Regression Test - simulation/polyhedral

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
polyhedral000 modifications totalling 0 lines
polyhedral010 modifications totalling 0 lines
polyhedral020.000.00
polyhedral030.000.00
polyhedral040.000.00
polyhedral050.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_polyhedral_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_polyhedral_py.html new file mode 100644 index 000000000..1f0c59f57 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_polyhedral_py.html @@ -0,0 +1,64 @@ +simulation/polyhedral.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  polyhedral.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              polyhedral   - 3D polyhedral.
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 26, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("polyhedral", "polyhedral.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("polyhedral00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("polyhedral01", sim.metadata())
+
+    AddPlot("Mesh", "polyhedral")
+    m = MeshAttributes(1)
+    m.lineWidth = 2
+    m.opaqueMode = m.Off
+    DrawPlots()
+
+    v = GetView3D()
+    v.viewNormal = (0.04, 0.66, 0.74)
+    v.viewUp = (-0.35, 0.71, -0.62)
+    SetView3D(v)
+    Test("polyhedral02")
+
+    AddPlot("Pseudocolor", "nodal")
+    DrawPlots()
+    Test("polyhedral03")
+
+    ChangeActivePlotsVar("zonal")
+    SetActivePlots(0)
+    # show the tesselation that occured on the polyhedral zone
+    m.showInternal = 1
+    SetPlotOptions(m)
+    DrawPlots()
+    Test("polyhedral04")
+
+    SetActivePlots(1)
+    DeleteActivePlots()
+
+    Test("polyhedral05")
+
+    DeleteAllPlots()
+
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_scalar.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_scalar.html new file mode 100644 index 000000000..954685582 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_scalar.html @@ -0,0 +1,56 @@ + +Results for simulation/scalar.py + +

Results of VisIt Regression Test - simulation/scalar

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
scalar000 modifications totalling 0 lines
scalar010 modifications totalling 0 lines
scalar020.000.00
scalar030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_scalar_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_scalar_py.html new file mode 100644 index 000000000..895d2eec6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_scalar_py.html @@ -0,0 +1,57 @@ +simulation/scalar.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  scalar.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#
+#  Programmer: Kathleen Biagas
+#  Date:       June 18, 2014
+#
+#  Modifications:
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Replace obsolete Label text attributes with new versions.
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("scalar", "scalar.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("scalar00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("scalar01", sim.metadata())
+
+    # 2d mesh and scalars
+    AddPlot("Mesh", "mesh2d")
+    AddPlot("Pseudocolor", "zonal")
+    AddPlot("Label", "zonal")
+    LabelAtts = LabelAttributes()
+    LabelAtts.textFont1.scale = 7
+    SetPlotOptions(LabelAtts)
+    DrawPlots()
+    Test("scalar02")
+
+    DeleteAllPlots()
+
+    # 2d mesh and scalars
+    AddPlot("Mesh", "mesh3d")
+    AddPlot("Pseudocolor", "nodal")
+    AddPlot("Label", "nodal")
+    LabelAtts = LabelAttributes()
+    LabelAtts.textFont1.scale = 7
+    LabelAtts.depthTestMode = LabelAtts.LABEL_DT_NEVER
+    SetPlotOptions(LabelAtts)
+
+    DrawPlots()
+    Test("scalar03")
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_species.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_species.html new file mode 100644 index 000000000..c733b0536 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_species.html @@ -0,0 +1,137 @@ + +Results for simulation/species.py + +

Results of VisIt Regression Test - simulation/species

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
species000 modifications totalling 0 lines
species010 modifications totalling 0 lines
species020.000.00
species030.000.00
Force MIR
species040.000.00
Turn off materials
species050.000.00
species060.000.00
species070.000.00
Turn off species
species080.000.00
species090.000.00
species100.000.00
species110.000.00
species120.000.00
species130.000.00
species140.000.00
species150.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_species_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_species_py.html new file mode 100644 index 000000000..199820581 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_species_py.html @@ -0,0 +1,83 @@ +simulation/species.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  species.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#
+#  Programmer: Kathleen Biagas
+#  Date:       July 9, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Force MIR
+#m = GetMaterialAttributes()
+#m.forceMIR = 1
+#SetMaterialAttributes(m)
+
+# Create our simulation object.
+sim = TestSimulation("species", "species.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("species00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("species01", sim.metadata())
+
+    AddPlot("FilledBoundary", "Material")
+    DrawPlots()
+    Test("species02")
+
+    DeleteActivePlots()
+    AddPlot("Pseudocolor", "scalar")
+    DrawPlots()
+    Test("species03")
+
+    DeleteAllPlots()
+    TestSection("Force MIR")
+    # Force MIR
+    m = GetMaterialAttributes()
+    m.forceMIR = 1
+    SetMaterialAttributes(m)
+
+    AddPlot("Pseudocolor", "scalar")
+    DrawPlots()
+    Test("species04")
+
+    TestSection("Turn off materials")
+    TurnMaterialsOff("Water")
+    DrawPlots()
+    Test("species05")
+
+    TurnMaterialsOn("Water")
+    TurnMaterialsOff("Membrane")
+    DrawPlots()
+    Test("species06")
+
+    TurnMaterialsOn("Membrane")
+    TurnMaterialsOff("Air")
+    DrawPlots()
+    Test("species07")
+
+    TurnMaterialsOn("Air")
+
+    TestSection("Turn off species")
+    s = SILRestriction()
+    for i in range(8):
+        s.TurnOffSet(s.SetsInCategory("Species")[i])
+        SetPlotSILRestriction(s)
+        s.TurnOnSet(s.SetsInCategory("Species")[i])
+        Test("species%02d"%(i+8))
+    DeleteAllPlots()
+
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_ucdcurve.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_ucdcurve.html new file mode 100644 index 000000000..ffdf3c68a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_ucdcurve.html @@ -0,0 +1,66 @@ + +Results for simulation/ucdcurve.py + +

Results of VisIt Regression Test - simulation/ucdcurve

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ucdcurve000 modifications totalling 0 lines
ucdcurve010 modifications totalling 0 lines
ucdcurve020.000.00
ucdcurve030.000.00
ucdcurve040.000.00
ucdcurve050 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_ucdcurve_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_ucdcurve_py.html new file mode 100644 index 000000000..95330e313 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_ucdcurve_py.html @@ -0,0 +1,72 @@ +simulation/ucdcurve.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  ucdcurve.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              mesh   - ucdcurve
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       Jun 24, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+import time
+
+# Create our simulation object.
+sim = TestSimulation("ucdcurve", "ucdcurve.sim2")
+sim.addargument("-echo")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("ucdcurve00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("ucdcurve01", sim.metadata())
+
+    AddPlot("Pseudocolor", "nodal")
+    pcAtts = PseudocolorAttributes()
+    pcAtts.lineWidth = 4
+    SetPlotOptions(pcAtts)
+    DrawPlots()
+    Test("ucdcurve02")
+
+    times = "Times:\n"
+    Query("Time")
+    times = times + str(GetQueryOutputValue()) + "\n"
+
+    # Read the 'VisIt connected' message
+    buf = sim.p.stderr.readline()
+    for i in range(4):
+        sim.consolecommand("step")
+        # Read from stderr to look for the echoed command.
+        buf = sim.p.stderr.readline()
+        time.sleep(1)
+    Test("ucdcurve03")
+
+    Query("Time")
+    times = times + str(GetQueryOutputValue()) + "\n"
+
+    ChangeActivePlotsVar("zonal")
+
+    for i in range(10):
+        sim.consolecommand("step")
+        buf = sim.p.stderr.readline()
+        time.sleep(1)
+    Test("ucdcurve04")
+
+    Query("Time")
+    times = times + str(GetQueryOutputValue()) + "\n"
+
+    TestText("ucdcurve05", times)
+
+    DeleteAllPlots()
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_unstructured.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_unstructured.html new file mode 100644 index 000000000..0a17a9bba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_unstructured.html @@ -0,0 +1,50 @@ + +Results for simulation/unstructured.py + +

Results of VisIt Regression Test - simulation/unstructured

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
unstructured000 modifications totalling 0 lines
unstructured010 modifications totalling 0 lines
unstructured020.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_unstructured_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_unstructured_py.html new file mode 100644 index 000000000..65a0821be --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_unstructured_py.html @@ -0,0 +1,44 @@ +simulation/unstructured.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  unstructured.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#              unstructured   - 3D unstructured.
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 18, 2014
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("unstructured", "unstructured.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("unstructured00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("unstructured01", sim.metadata())
+
+    AddPlot("Mesh", "unstructured3d")
+    m = MeshAttributes(1)
+    m.lineWidth = 1
+    SetPlotOptions(m)
+    AddPlot("Subset", "Domains")
+    DrawPlots()
+    v = GetView3D()
+    v.viewNormal = (0.707107, 0, 0.707107)
+    SetView3D(v)
+    Test("unstructured02")
+
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots.html new file mode 100644 index 000000000..b1d0d1b77 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots.html @@ -0,0 +1,90 @@ + +Results for simulation/updateplots.py + +

Results of VisIt Regression Test - simulation/updateplots

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
updateplots000 modifications totalling 0 lines
updateplots010 modifications totalling 0 lines
updateplots020.000.00
updateplots030.000.00
updateplots040.000.00
updateplots050.000.00
updateplots060.000.00
updateplots070.000.00
updateplots080.000.00
updateplots090 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_py.html new file mode 100644 index 000000000..aca239315 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_py.html @@ -0,0 +1,89 @@ +simulation/updateplots.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  updateplots.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#
+#  Programmer: Kathleen Biagas 
+#  Date:       June 18, 2014 
+#
+#  Modifications:
+#   Kathleen Biagas, Fri Sep 10 09:37:11 PDT 2021
+#   Added test for exporting vtk.
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("updateplots", "updateplots.sim2")
+sim.addargument("-echo")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("updateplots00", sim)
+
+def step(sim):
+    sim.consolecommand("step")
+    # Read from stderr to look for the echoed command. Sync.
+    keepGoing = True
+    while keepGoing:
+        buf = sim.p.stderr.readline()
+        print(buf)
+        if "Command 'step'" in buf:
+            keepGoing = False
+
+def testExportVTK(sim):
+    # default export FileFormat for VTK is Legacy ascii (.vtk extension),
+    # Test an export that sets the FileFormat to XML Binary (.vtr extension)
+    sim.consolecommand("exportVTK")
+    # Read from stderr to look for the echoed command. Sync.
+    keepGoing = True
+    while keepGoing:
+        buf = sim.p.stderr.readline()
+        print(buf)
+        if "Command 'exportVTK'" in buf:
+            keepGoing = False
+    TestValueEQ("updateplots_export0000.vtr exists",
+         os.path.isfile(os.path.join(TestEnv.params["run_dir"], "updateplots_export0000.vtr")),
+         True)
+
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("updateplots01", sim.metadata())
+
+    # 2d mesh and updateplotss
+    #AddPlot("Mesh", "mesh2d")
+    AddPlot("Pseudocolor", "zonal")
+    AddPlot("Vector", "zvec")
+    VectorAtts = VectorAttributes()
+    VectorAtts.scale = 0.5
+    VectorAtts.colorByMagnitude = 0
+    VectorAtts.vectorColor = (255, 255, 255, 255)
+    SetPlotOptions(VectorAtts)
+    DrawPlots()
+    Test("updateplots02")
+
+    i = 3
+    times = "Times:\n"
+    Query("Time")
+    times = times + str(GetQueryOutputValue()) + "\n"
+    for outer in range(6):
+        for inner in range(3):
+            step(sim)
+        Query("Time")
+        times = times + str(GetQueryOutputValue()) + "\n"
+        Test("updateplots%02d"%i)
+        i = i+1
+
+    TestText("updateplots%02d"%i, times)
+
+    # Uncomment this when #17008 is fixed (crash when Logging ExportDBRPC)
+    #testExportVTK(sim)
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_session.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_session.html new file mode 100644 index 000000000..2e898f9ae --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_session.html @@ -0,0 +1,99 @@ + +Results for simulation/updateplots_session.py + +

Results of VisIt Regression Test - simulation/updateplots_session

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Testing batch simulation with session file
updateplots_session_000.000.00
updateplots_session_010.000.00
updateplots_session_020.000.00
updateplots_session_030.000.00
updateplots_session_040.000.00
updateplots_session_050.000.00
updateplots_session_060.000.00
updateplots_session_070.000.00
updateplots_session_080.000.00
updateplots_session_090.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_session_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_session_py.html new file mode 100644 index 000000000..1cde57183 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_updateplots_session_py.html @@ -0,0 +1,88 @@ +simulation/updateplots_session.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  updateplots_session.py
+#
+#  Tests:      libsim - batch simulations that make images via a session file.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Fri Oct  2 15:18:56 PDT 2015
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+import string, time
+
+def WaitForFile(filename, starttime, timelimit):
+    fileSize = 0
+    lastFileSize = 0
+    samecount = 0
+    for iteration in range(1000):
+        delay = 2
+        try:
+            # Get the size of the file.
+            fileSize = os.stat(filename).st_size
+
+            # If the file grew, wait a little bit and check again.
+            if fileSize > lastFileSize:
+                samecount = 0
+            elif fileSize == lastFileSize and fileSize > 0:
+                delay = 1
+                samecount = samecount + 1
+                if samecount == 3:
+                    break
+
+            lastFileSize = fileSize
+        except:
+            print("Problem stat'ing ", filename)
+            pass
+
+        time.sleep(delay)
+        if (time.time() - starttime) > timelimit:
+            raise "Out of time"
+
+    return fileSize
+
+TestSection("Testing batch simulation with session file")
+
+# The name of the session file.
+session = TestEnv.params["script"].replace("updateplots_session.py", "updateplots_session.session")
+
+# Create our simulation object.
+sim = Simulation(SimVisItDir(), SimProgram("updateplots"), SimFile("dummy"))
+sim.addargument("-batch")
+sim.addargument("-sessionfile")
+sim.addargument(session)
+sim.addargument("-maxcycles")
+sim.addargument("11")
+sim.addargument("-width")
+sim.addargument("%d" % TestEnv.params["width"])
+sim.addargument("-height")
+sim.addargument("%d" % TestEnv.params["height"])
+
+
+# Start the sim.
+sim.startsim()
+
+# Iterate through the images that we hoped the simulation would create.
+timelimit = 300
+starttime = time.time()
+for testindex in range(10):
+    filename = "updateplots%04d.png" % testindex
+    if WaitForFile(filename, starttime, timelimit):
+        OpenDatabase(filename)
+        AddPlot("Truecolor", "color")
+        DrawPlots()
+        ResetView()
+        v = GetView2D()
+        v.viewportCoords = (0,1,0,1)
+        SetView2D(v)
+        testname = "updateplots_session_%02d" % testindex
+        Test(testname)
+        DeleteAllPlots()
+        CloseDatabase(filename)
+
+sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_var.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_var.html new file mode 100644 index 000000000..ebcfc650a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_var.html @@ -0,0 +1,56 @@ + +Results for simulation/var.py + +

Results of VisIt Regression Test - simulation/var

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
var000 modifications totalling 0 lines
var010 modifications totalling 0 lines
var020.000.00
var030.000.00
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_var_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_var_py.html new file mode 100644 index 000000000..2f7673f2e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_var_py.html @@ -0,0 +1,62 @@ +simulation/var.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  var.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#
+#  Programmer: Kathleen Biagas
+#  Date:       June 6, 2014
+#
+#  Modifications:
+#    Kathleen Biagas, Mon Nov 28, 2022
+#    Replace obsolete Label text attributes with new versions.
+#
+# ----------------------------------------------------------------------------
+
+# Create our simulation object.
+sim = TestSimulation("var", "var.sim2")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("var00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("var01", sim.metadata())
+
+    # 2d mesh and vars
+    AddPlot("Mesh", "mesh2d")
+    AddPlot("Pseudocolor", "zonal_scalar")
+    AddPlot("Vector", "zonal_vector")
+    VectorAtts = VectorAttributes()
+    VectorAtts.scale = 0.5
+    VectorAtts.colorByMagnitude = 0
+    VectorAtts.vectorColor = (255, 255, 255, 255)
+    SetPlotOptions(VectorAtts)
+    AddPlot("Label", "zonal_label")
+    LabelAtts = LabelAttributes()
+    LabelAtts.textFont1.scale = 6
+    SetPlotOptions(LabelAtts)
+    DrawPlots()
+    Test("var02")
+
+    DeleteAllPlots()
+
+    # 2d mesh and vars
+    AddPlot("Mesh", "mesh3d")
+    AddPlot("Pseudocolor", "nodal_scalar")
+    AddPlot("Vector", "nodal_vector")
+    VectorAtts = VectorAttributes()
+    VectorAtts.scale = 0.5
+    SetPlotOptions(VectorAtts)
+
+    DrawPlots()
+    Test("var03")
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_zerocopy.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_zerocopy.html new file mode 100644 index 000000000..945436f7d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_zerocopy.html @@ -0,0 +1,285 @@ + +Results for simulation/zerocopy.py + +

Results of VisIt Regression Test - simulation/zerocopy

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
zerocopy000 modifications totalling 0 lines
zerocopy010 modifications totalling 0 lines
Mesh soa_s
zerocopy_soa_s_000.000.00
zerocopy_soa_s_010.000.00
zerocopy_soa_s_020.000.00
zerocopy_soa_s_030.000.00
zerocopy_soa_s_040.000.00
zerocopy_soa_s_050.000.00
Mesh soa_m
zerocopy_soa_m_000.000.00
zerocopy_soa_m_010.000.00
zerocopy_soa_m_020.000.00
zerocopy_soa_m_030.000.00
zerocopy_soa_m_040.000.00
zerocopy_soa_m_050.000.00
Mesh soa_i
zerocopy_soa_i_000.000.00
zerocopy_soa_i_010.000.00
zerocopy_soa_i_020.000.00
zerocopy_soa_i_030.000.00
zerocopy_soa_i_040.000.00
zerocopy_soa_i_050.000.00
Mesh aos_s
zerocopy_aos_s_000.000.00
zerocopy_aos_s_010.000.00
zerocopy_aos_s_020.000.00
zerocopy_aos_s_030.000.00
zerocopy_aos_s_040.000.00
zerocopy_aos_s_050.000.00
Mesh aos_m
zerocopy_aos_m_000.000.00
zerocopy_aos_m_010.000.00
zerocopy_aos_m_020.000.00
zerocopy_aos_m_030.000.00
zerocopy_aos_m_040.000.00
zerocopy_aos_m_050.000.00
Mesh aos_c
zerocopy_aos_c_000.000.00
zerocopy_aos_c_010.000.00
zerocopy_aos_c_020.000.00
zerocopy_aos_c_030.000.00
zerocopy_aos_c_040.000.00
zerocopy_aos_c_050.000.00
Memory usage
zerocopy021 modifications totalling 1 lines
+

Final Return Code: 119

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/simulation_zerocopy_py.html b/2023-11-08-22:00/pascal_trunk_parallel/simulation_zerocopy_py.html new file mode 100644 index 000000000..2df862b9c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/simulation_zerocopy_py.html @@ -0,0 +1,178 @@ +simulation/zerocopy.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  zerocopy.py
+#
+#  Tests:      libsim - connecting to simulation and retrieving data from it.
+#
+#  Programmer: Brad Whitlock
+#  Date:       Wed Jul 22 16:07:12 PDT 2015
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+import string
+
+def step(sim):
+    sim.consolecommand("step")
+    # Read from stderr to look for the echoed command. Sync.
+    keepGoing = True
+    while keepGoing:
+        buf = sim.p.stderr.readline()
+        print(buf)
+        if "Command 'step'" in buf:
+            keepGoing = False
+
+def MemorySample(sim, label = ""):
+    EL = GetEngineList(1)
+    pa = GetProcessAttributes("engine", EL[0][0], EL[0][1])
+    return (pa.memory[0], label)
+
+def sv():
+    v = GetView3D()
+    v.viewNormal = (0.284499, -0.766043, 0.576401)
+    v.focus = (0, 0.499486, 0)
+    v.viewUp = (-0.137723, 0.562352, 0.815348)
+    v.viewAngle = 30
+    v.parallelScale = 1.49949
+    v.nearPlane = -2.99897
+    v.farPlane = 2.99897
+    v.imagePan = (0.0351381, 0.0550703)
+    v.imageZoom = 1.15316
+    v.perspective = 1
+    v.eyeAngle = 2
+    v.centerOfRotationSet = 0
+    v.centerOfRotation = (0, 0.499486, 0)
+    v.axis3DScaleFlag = 0
+    v.axis3DScales = (1, 1, 1)
+    v.shear = (0, 0, 1)
+    v.windowValid = 1
+    SetView3D(v)
+
+def meshtest(sim, mesh):
+    m = [MemorySample(sim, "Initial")]
+    TestSection("Mesh " + mesh)
+
+    AddPlot("Pseudocolor", mesh + "/temperature")
+    DrawPlots()
+    sv()
+    m = m + [MemorySample(sim, "Pseudocolor plot temperature")]
+    Test("zerocopy_%s_00" % mesh)
+
+    ChangeActivePlotsVar(mesh + "/vx")
+    Test("zerocopy_%s_01" % mesh)
+    m = m + [MemorySample(sim, "Change to vx")]
+
+    ChangeActivePlotsVar(mesh + "/I")
+    Test("zerocopy_%s_02" % mesh)
+    m = m + [MemorySample(sim, "Change to I")]
+
+    ChangeActivePlotsVar(mesh + "/J")
+    Test("zerocopy_%s_03" % mesh)
+    m = m + [MemorySample(sim, "Change to J")]
+
+    ChangeActivePlotsVar(mesh + "/K")
+    Test("zerocopy_%s_04" % mesh)
+    m = m + [MemorySample(sim, "Change to K")]
+
+    DeleteAllPlots()
+
+    AddPlot("Vector", mesh + "/velocity")
+    DrawPlots()
+    Test("zerocopy_%s_05" % mesh)
+    m = m + [MemorySample(sim, "Vector plot velocity")]
+
+    DeleteAllPlots()
+    AddPlot("Pseudocolor", mesh + "/temperature")
+    DrawPlots()
+    for i in range(20):
+        step(sim)
+        m = m + [MemorySample(sim, "Pseudocolor plot temperature iteration %d" % i)]
+    DeleteAllPlots()
+    return m
+
+def SaveTestImage(name):
+    # Save these images somewhat larger than a regular test case image
+    # since the images contain a lot of text.
+    swa = SaveWindowAttributes()
+    swa.width = 800
+    swa.height = 800
+    swa.screenCapture = 0
+    Test(name, swa)
+
+def MeshNames():
+    return ("soa_s", "soa_m", "soa_i", "aos_s", "aos_m", "aos_c")
+
+def PlotMemoryCurve(filename, testname):
+    OpenDatabase("simmem.curve")
+    M = MeshNames()
+    for mesh in M:
+        AddPlot("Curve", mesh)
+    DrawPlots()
+    ResetView()
+    SaveTestImage(testname)
+
+# Do a simple, reliable test without quantifying since that would not be
+# portable and would require rebaselining as VisIt changes.
+def TestMemoryUsage(memory, testname):
+    def AllMethodsUseLessMemoryThanCopying(memory):
+        numSamples = len(memory["aos_c"])
+        for i in range(numSamples):
+            copyMem = memory["aos_c"][i][0]
+            for k in list(memory.keys()):
+                if k != "aos_c":
+                    if memory[k][i][0] > copyMem:
+                        return False
+        return True
+    if AllMethodsUseLessMemoryThanCopying(memory):
+        TestText(testname, "OK: All methods use less memory than copying.")
+    else:
+        TestText(testname, "ERROR: Some methods used more memory than copying.")
+
+def WriteData(filename, memory):
+    print(memory)
+    numSamples = len(memory["aos_c"])
+    f = open(filename, "wt")
+    M = MeshNames()
+    f.write("event," + string.replace(str(M), "'", "")[1:-1] + "\n")
+    for row in range(numSamples):
+        s = memory["aos_c"][row][1]
+        for m in M:
+            s = s + ", " + str(memory[m][row][0])
+        f.write(s + "\n")
+    f.close()
+
+# Create our simulation object.
+sim = TestSimulation("zerocopy", "zerocopy.sim2")
+sim.addargument("-echo")
+
+# Test that we can start and connect to the simulation.
+started, connected = TestSimStartAndConnect("zerocopy00", sim)
+
+# Perform our tests.
+if connected:
+    # Make sure the metadata is right.
+    TestSimMetaData("zerocopy01", sim.metadata())
+
+    memorySamples = {}
+    f = open("simmem.curve", "wt")
+    M = MeshNames()
+    for mesh in M:
+        m = meshtest(sim, mesh)
+        f.write("# " + mesh + "\n")
+        for i in range(len(m)):
+            f.write("%g %g\n" % (i,m[i][0]))
+        memorySamples[mesh] = m
+    f.close()
+
+    TestSection("Memory usage")
+    TestMemoryUsage(memorySamples, "zerocopy02")
+#    PlotMemoryCurve("simmem.curve", "zerocopy03")
+#    WriteData("zerocopy.dat", memorySamples)
+
+# Close down the simulation.
+if started:
+    sim.endsim()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_annotation_objects.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_annotation_objects.html new file mode 100644 index 000000000..2499e1397 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_annotation_objects.html @@ -0,0 +1,44 @@ + +Results for unit/annotation_objects.py + +

Results of VisIt Regression Test - unit/annotation_objects

+ + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
ComparisonOperator_00
 "False" .eq. "False" : True
ComparisonOperator_01
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_annotation_objects_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_annotation_objects_py.html new file mode 100644 index 000000000..17752536d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_annotation_objects_py.html @@ -0,0 +1,30 @@ +unit/annotation_objects.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  annotation_objects.py
+#
+#  Tests:      AnnotationObject unit test
+#
+#  Alister Maguire, Fri Jul 16 12:50:11 PDT 2021
+#
+#  Modifications:
+#
+# ----------------------------------------------------------------------------
+
+
+def CheckComparisonOperator():
+    annot = CreateAnnotationObject("Text2D")
+
+    #
+    # In the past, a bug caused a crash whenever we compared to a non-annotation
+    # type object.
+    #
+    TestValueEQ("ComparisonOperator_00", annot == "", False)
+    TestValueEQ("ComparisonOperator_01", annot == annot, True)
+
+def RunMain():
+    CheckComparisonOperator()
+
+RunMain()
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_atts_assign.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_atts_assign.html new file mode 100644 index 000000000..ddb84056a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_atts_assign.html @@ -0,0 +1,1806 @@ + +Results for unit/atts_assign.py + +

Results of VisIt Regression Test - unit/atts_assign

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Assignment to bool member, "inverse", (of CylinderAttributes())
ca.inverse=1,2
 "True" .eq. "True" : True
ca.inverse='123'
 "True" .eq. "True" : True
ca.inverse=(1+2j)
 "True" .eq. "True" : True
ca.inverse=[2, 4, 6]
 "True" .eq. "True" : True
ca.inverse=None
 "True" .eq. "True" : True
ca.inverse=5
 "True" .eq. "True" : True
ca.SetInverse('123')
 "True" .eq. "True" : True
ca.SetInverse((1+2j))
 "True" .eq. "True" : True
ca.SetInverse([2, 4, 6])
 "True" .eq. "True" : True
ca.SetInverse(None)
 "True" .eq. "True" : True
ca.SetInverse(5)
 "True" .eq. "True" : True
ca.inverse=0
 "True" .eq. "True" : True
ca.inverse=1
 "True" .eq. "True" : True
ca.inverse=True
 "True" .eq. "True" : True
ca.inverse=False
 "True" .eq. "True" : True
ca.SetInverse(0)
 "True" .eq. "True" : True
ca.SetInverse(1)
 "True" .eq. "True" : True
ca.SetInverse(True)
 "True" .eq. "True" : True
ca.SetInverse(False)
 "True" .eq. "True" : True
Assignment to int member, "samplesPerRay", (of VolumeAttributes())
va.samplesPerRay=1,2
 "True" .eq. "True" : True
va.samplesPerRay='123'
 "True" .eq. "True" : True
va.samplesPerRay=(1+2j)
 "True" .eq. "True" : True
va.samplesPerRay=None
 "True" .eq. "True" : True
va.samplesPerRay=[2, 4, 6]
 "True" .eq. "True" : True
va.samplesPerRay=2147483648
 "True" .eq. "True" : True
va.SetSamplesPerRay('123')
 "True" .eq. "True" : True
va.SetSamplesPerRay((1+2j))
 "True" .eq. "True" : True
va.SetSamplesPerRay(None)
 "True" .eq. "True" : True
va.SetSamplesPerRay([2, 4, 6])
 "True" .eq. "True" : True
va.SetSamplesPerRay(2147483648)
 "True" .eq. "True" : True
va.samplesPerRay=0
 "True" .eq. "True" : True
va.samplesPerRay=1
 "True" .eq. "True" : True
va.samplesPerRay=-1
 "True" .eq. "True" : True
va.samplesPerRay=5
 "True" .eq. "True" : True
va.samplesPerRay=True
 "True" .eq. "True" : True
va.samplesPerRay=False
 "True" .eq. "True" : True
va.samplesPerRay=2147483647
 "True" .eq. "True" : True
va.SetSamplesPerRay(0)
 "True" .eq. "True" : True
va.SetSamplesPerRay(1)
 "True" .eq. "True" : True
va.SetSamplesPerRay(-1)
 "True" .eq. "True" : True
va.SetSamplesPerRay(5)
 "True" .eq. "True" : True
va.SetSamplesPerRay(True)
 "True" .eq. "True" : True
va.SetSamplesPerRay(False)
 "True" .eq. "True" : True
va.SetSamplesPerRay(2147483647)
 "True" .eq. "True" : True
Assignment to float member, "opacityAttenuation", (of VolumeAttributes())
va.opacityAttenuation=1,2
 "True" .eq. "True" : True
va.opacityAttenuation='123'
 "True" .eq. "True" : True
va.opacityAttenuation=(1+2j)
 "True" .eq. "True" : True
va.opacityAttenuation=None
 "True" .eq. "True" : True
va.opacityAttenuation=[2, 4, 6]
 "True" .eq. "True" : True
va.opacityAttenuation=3.402823e+39
 "True" .eq. "True" : True
va.SetOpacityAttenuation('123')
 "True" .eq. "True" : True
va.SetOpacityAttenuation((1+2j))
 "True" .eq. "True" : True
va.SetOpacityAttenuation(None)
 "True" .eq. "True" : True
va.SetOpacityAttenuation([2, 4, 6])
 "True" .eq. "True" : True
va.SetOpacityAttenuation(3.402823e+39)
 "True" .eq. "True" : True
va.opacityAttenuation=0
 "True" .eq. "True" : True
va.opacityAttenuation=1
 "True" .eq. "True" : True
va.opacityAttenuation=-1
 "True" .eq. "True" : True
va.opacityAttenuation=0.3
 "True" .eq. "True" : True
va.opacityAttenuation=3.40282e+37
 "True" .eq. "True" : True
va.opacityAttenuation=True
 "True" .eq. "True" : True
va.opacityAttenuation=False
 "True" .eq. "True" : True
va.SetOpacityAttenuation(0)
 "True" .eq. "True" : True
va.SetOpacityAttenuation(1)
 "True" .eq. "True" : True
va.SetOpacityAttenuation(-1)
 "True" .eq. "True" : True
va.SetOpacityAttenuation(0.3)
 "True" .eq. "True" : True
va.SetOpacityAttenuation(3.40282e+37)
 "True" .eq. "True" : True
va.SetOpacityAttenuation(True)
 "True" .eq. "True" : True
va.SetOpacityAttenuation(False)
 "True" .eq. "True" : True
Assignment to double member, "radius", (of CylinderAttributes())
ca.radius=1,2
 "True" .eq. "True" : True
ca.radius='123'
 "True" .eq. "True" : True
ca.radius=(1+2j)
 "True" .eq. "True" : True
ca.radius=None
 "True" .eq. "True" : True
ca.radius=[2, 4, 6]
 "True" .eq. "True" : True
ca.SetRadius('123')
 "True" .eq. "True" : True
ca.SetRadius((1+2j))
 "True" .eq. "True" : True
ca.SetRadius(None)
 "True" .eq. "True" : True
ca.SetRadius([2, 4, 6])
 "True" .eq. "True" : True
ca.radius=0
 "True" .eq. "True" : True
ca.radius=1
 "True" .eq. "True" : True
ca.radius=-1
 "True" .eq. "True" : True
ca.radius=5.5
 "True" .eq. "True" : True
ca.radius=0.0
 "True" .eq. "True" : True
ca.radius=inf
 "True" .eq. "True" : True
ca.radius=True
 "True" .eq. "True" : True
ca.radius=False
 "True" .eq. "True" : True
ca.SetRadius(0)
 "True" .eq. "True" : True
ca.SetRadius(1)
 "True" .eq. "True" : True
ca.SetRadius(-1)
 "True" .eq. "True" : True
ca.SetRadius(5.5)
 "True" .eq. "True" : True
ca.SetRadius(0.0)
 "True" .eq. "True" : True
ca.SetRadius(inf)
 "True" .eq. "True" : True
ca.SetRadius(True)
 "True" .eq. "True" : True
ca.SetRadius(False)
 "True" .eq. "True" : True
Assignment to string member, "designator", (of CurveAttributes())
ca.designator="123","abc"
 "True" .eq. "True" : True
ca.designator=0
 "True" .eq. "True" : True
ca.designator=1
 "True" .eq. "True" : True
ca.designator=1.1
 "True" .eq. "True" : True
ca.designator=(1+2j)
 "True" .eq. "True" : True
ca.designator=None
 "True" .eq. "True" : True
ca.designator=[2, 4, 6]
 "True" .eq. "True" : True
ca.SetDesignator(0)
 "True" .eq. "True" : True
ca.SetDesignator(1)
 "True" .eq. "True" : True
ca.SetDesignator(1.1)
 "True" .eq. "True" : True
ca.SetDesignator((1+2j))
 "True" .eq. "True" : True
ca.SetDesignator(None)
 "True" .eq. "True" : True
ca.SetDesignator([2, 4, 6])
 "True" .eq. "True" : True
ca.designator='123'
 "True" .eq. "True" : True
ca.designator='abc'
 "True" .eq. "True" : True
ca.designator=''
 "True" .eq. "True" : True
ca.SetDesignator('123')
 "True" .eq. "True" : True
ca.SetDesignator('abc')
 "True" .eq. "True" : True
ca.SetDesignator('')
 "True" .eq. "True" : True
Assignment to GlyphType member, "pointType", (of MeshAttributes())
ma.pointType=1
 "True" .eq. "True" : True
ma.pointType='123'
 "True" .eq. "True" : True
ma.pointType=(1+2j)
 "True" .eq. "True" : True
ma.pointType=None
 "True" .eq. "True" : True
ma.pointType=[2, 4, 6]
 "True" .eq. "True" : True
ma.pointType=-1
 "True" .eq. "True" : True
ma.pointType=123123123123123123123123123123
 "True" .eq. "True" : True
ma.SetPointType('123')
 "True" .eq. "True" : True
ma.SetPointType((1+2j))
 "True" .eq. "True" : True
ma.SetPointType(None)
 "True" .eq. "True" : True
ma.SetPointType([2, 4, 6])
 "True" .eq. "True" : True
ma.SetPointType(-1)
 "True" .eq. "True" : True
ma.SetPointType(123123123123123123123123123123)
 "True" .eq. "True" : True
ma.pointType=0
 "True" .eq. "True" : True
ma.pointType=1
 "True" .eq. "True" : True
ma.pointType=5
 "True" .eq. "True" : True
ma.pointType=True
 "True" .eq. "True" : True
ma.pointType=False
 "True" .eq. "True" : True
ma.pointType=6
 "True" .eq. "True" : True
ma.SetPointType(0)
 "True" .eq. "True" : True
ma.SetPointType(1)
 "True" .eq. "True" : True
ma.SetPointType(5)
 "True" .eq. "True" : True
ma.SetPointType(True)
 "True" .eq. "True" : True
ma.SetPointType(False)
 "True" .eq. "True" : True
ma.SetPointType(6)
 "True" .eq. "True" : True
Assignment to Enum member, "smoothingLevel", (of MeshAttributes())
ma.smoothingLevel=1
 "True" .eq. "True" : True
ma.smoothingLevel='123'
 "True" .eq. "True" : True
ma.smoothingLevel=(1+2j)
 "True" .eq. "True" : True
ma.smoothingLevel=None
 "True" .eq. "True" : True
ma.smoothingLevel=[2, 4, 6]
 "True" .eq. "True" : True
ma.smoothingLevel=-1
 "True" .eq. "True" : True
ma.smoothingLevel=123123123
 "True" .eq. "True" : True
ma.smoothingLevel=123123123123123123123123123123
 "True" .eq. "True" : True
ma.SetSmoothingLevel('123')
 "True" .eq. "True" : True
ma.SetSmoothingLevel((1+2j))
 "True" .eq. "True" : True
ma.SetSmoothingLevel(None)
 "True" .eq. "True" : True
ma.SetSmoothingLevel([2, 4, 6])
 "True" .eq. "True" : True
ma.SetSmoothingLevel(-1)
 "True" .eq. "True" : True
ma.SetSmoothingLevel(123123123)
 "True" .eq. "True" : True
ma.SetSmoothingLevel(123123123123123123123123123123)
 "True" .eq. "True" : True
ma.smoothingLevel=0
 "True" .eq. "True" : True
ma.smoothingLevel=1
 "True" .eq. "True" : True
ma.smoothingLevel=2
 "True" .eq. "True" : True
ma.smoothingLevel=True
 "True" .eq. "True" : True
ma.smoothingLevel=False
 "True" .eq. "True" : True
ma.smoothingLevel=1
 "True" .eq. "True" : True
ma.SmoothingLevel(0)
 "True" .eq. "True" : True
ma.SmoothingLevel(1)
 "True" .eq. "True" : True
ma.SmoothingLevel(2)
 "True" .eq. "True" : True
ma.SmoothingLevel(True)
 "True" .eq. "True" : True
ma.SmoothingLevel(False)
 "True" .eq. "True" : True
ma.SmoothingLevel(1)
 "True" .eq. "True" : True
Assignment to tuple, "point1", member (of CylinderAttributes())
ca.point=1,2,3
 "True" .eq. "True" : True
ca.SetPoint(1,2,3)
 "True" .eq. "True" : True
ca.point1=1,2
 "True" .eq. "True" : True
ca.point1=1,2,3,4
 "True" .eq. "True" : True
ca.point1=1, 2
 "True" .eq. "True" : True
ca.point1=1, 2, 3, 4
 "True" .eq. "True" : True
ca.point1='123'
 "True" .eq. "True" : True
ca.point1=1, (1+2j), 3
 "True" .eq. "True" : True
ca.point1=1, [2, 4, 6], 3
 "True" .eq. "True" : True
ca.point1=1, 'b', 3
 "True" .eq. "True" : True
ca.point1=1, None, 3
 "True" .eq. "True" : True
ca.point1=array([1.1, 2.2]
 "True" .eq. "True" : True
ca.point1=array([1.1, 2.2, 3.3, 4.4]
 "True" .eq. "True" : True
ca.SetPoint1(1, 2)
 "True" .eq. "True" : True
ca.SetPoint1(1, 2, 3, 4)
 "True" .eq. "True" : True
ca.SetPoint1('123')
 "True" .eq. "True" : True
ca.SetPoint1(1, (1+2j), 3)
 "True" .eq. "True" : True
ca.SetPoint1(1, [2, 4, 6], 3)
 "True" .eq. "True" : True
ca.SetPoint1(1, 'b', 3)
 "True" .eq. "True" : True
ca.SetPoint1(1, None, 3)
 "True" .eq. "True" : True
ca.SetPoint1(array([1.1, 2.2])
 "True" .eq. "True" : True
ca.SetPoint1(array([1.1, 2.2, 3.3, 4.4])
 "True" .eq. "True" : True
ca.point1=1,2,3
 "True" .eq. "True" : True
ca.point1=1, 2, 3
 "True" .eq. "True" : True
ca.point1=1.1, 2.2, 3.3
 "True" .eq. "True" : True
ca.point1=2, 4, 6
 "True" .eq. "True" : True
ca.point1=array([1, 2, 3]
 "True" .eq. "True" : True
ca.point1=array([1.1, 2.2, 3.3]
 "True" .eq. "True" : True
ca.SetPoint1(1, 2, 3)
 "True" .eq. "True" : True
ca.SetPoint1(1.1, 2.2, 3.3)
 "True" .eq. "True" : True
ca.SetPoint1(2, 4, 6)
 "True" .eq. "True" : True
ca.SetPoint1(array([1, 2, 3])
 "True" .eq. "True" : True
ca.SetPoint1(array([1.1, 2.2, 3.3])
 "True" .eq. "True" : True
Assignment to ucharVector member, "changedColors", (of MultiCurveAttributes())
mca.changedColors=1,2,3
 "True" .eq. "True" : True
mca.changedColors=1, 123123123123123123123123123123, 3
 "True" .eq. "True" : True
mca.changedColors=1, (1+2j), 3
 "True" .eq. "True" : True
mca.changedColors=1, [2, 4, 6], 3
 "True" .eq. "True" : True
mca.changedColors=1, 'b', 3
 "True" .eq. "True" : True
mca.changedColors=1, None, 3
 "True" .eq. "True" : True
mca.changedColors='123',
 "True" .eq. "True" : True
mca.SetChangedColors(1, 123123123123123123123123123123, 3)
 "True" .eq. "True" : True
mca.SetChangedColors(1, (1+2j), 3)
 "True" .eq. "True" : True
mca.SetChangedColors(1, [2, 4, 6], 3)
 "True" .eq. "True" : True
mca.SetChangedColors(1, 'b', 3)
 "True" .eq. "True" : True
mca.SetChangedColors(1, None, 3)
 "True" .eq. "True" : True
mca.SetChangedColors('123',)
 "True" .eq. "True" : True
mca.changedColors=1, 2, 3
 "True" .eq. "True" : True
mca.changedColors=2, 4, 6
 "True" .eq. "True" : True
mca.changedColors=1, True, 3
 "True" .eq. "True" : True
mca.changedColors=1, False, 3
 "True" .eq. "True" : True
mca.SetChangedColors(1, 2, 3)
 "True" .eq. "True" : True
mca.SetChangedColors(2, 4, 6)
 "True" .eq. "True" : True
mca.SetChangedColors(1, True, 3)
 "True" .eq. "True" : True
mca.SetChangedColors(1, False, 3)
 "True" .eq. "True" : True
mca.SetChangedColors(array([1, 2, 3])
 "True" .eq. "True" : True
Assignment to intVector member, "index", (of OnionPeelAttributes())
opa.index=1,2,3
 "True" .eq. "True" : True
opa.index=2147483648,
 "True" .eq. "True" : True
opa.index=1+2j),
 "True" .eq. "True" : True
opa.index='b',
 "True" .eq. "True" : True
opa.index=None,
 "True" .eq. "True" : True
opa.index=1, 2147483648, 3
 "True" .eq. "True" : True
opa.index=1, (1+2j), 3
 "True" .eq. "True" : True
opa.index=1, [2, 4, 6], 3
 "True" .eq. "True" : True
opa.index=1, 'b', 3
 "True" .eq. "True" : True
opa.index=1, None, 3
 "True" .eq. "True" : True
opa.SetIndex(2147483648,)
 "True" .eq. "True" : True
opa.SetIndex(1+2j),)
 "True" .eq. "True" : True
opa.SetIndex('b',)
 "True" .eq. "True" : True
opa.SetIndex(None,)
 "True" .eq. "True" : True
opa.SetIndex(1, 2147483648, 3)
 "True" .eq. "True" : True
opa.SetIndex(1, (1+2j), 3)
 "True" .eq. "True" : True
opa.SetIndex(1, [2, 4, 6], 3)
 "True" .eq. "True" : True
opa.SetIndex(1, 'b', 3)
 "True" .eq. "True" : True
opa.SetIndex(1, None, 3)
 "True" .eq. "True" : True
opa.index=1, 2, 3
 "True" .eq. "True" : True
opa.index=[2, 4, 6]
 "True" .eq. "True" : True
opa.index=2, 4, 6
 "True" .eq. "True" : True
opa.index=1, True, 3
 "True" .eq. "True" : True
opa.index=1, False, 3
 "True" .eq. "True" : True
opa.index=1, 2147483647, 3
 "True" .eq. "True" : True
opa.SetIndex(1, 2, 3)
 "True" .eq. "True" : True
opa.SetIndex([2, 4, 6])
 "True" .eq. "True" : True
opa.SetIndex(2, 4, 6)
 "True" .eq. "True" : True
opa.SetIndex(1, True, 3)
 "True" .eq. "True" : True
opa.SetIndex(1, False, 3)
 "True" .eq. "True" : True
opa.SetIndex(1, 2147483647, 3)
 "True" .eq. "True" : True
opa.SetIndex(array([1, 2, 3])
 "True" .eq. "True" : True
Assignment to doubleVector member, "values", (of ContourAttributes())
ca.contourValue=1,2,3
 "True" .eq. "True" : True
ca.contourValue=1+2j),
 "True" .eq. "True" : True
ca.contourValue='b',
 "True" .eq. "True" : True
ca.contourValue=None,
 "True" .eq. "True" : True
ca.contourValue=1, (1+2j), 3
 "True" .eq. "True" : True
ca.contourValue=1, [2, 4, 6], 3
 "True" .eq. "True" : True
ca.contourValue=1, 'b', 3
 "True" .eq. "True" : True
ca.contourValue=1, None, 3
 "True" .eq. "True" : True
ca.SetContourValue(1+2j),)
 "True" .eq. "True" : True
ca.SetContourValue('b',)
 "True" .eq. "True" : True
ca.SetContourValue(None,)
 "True" .eq. "True" : True
ca.SetContourValue(1, (1+2j), 3)
 "True" .eq. "True" : True
ca.SetContourValue(1, [2, 4, 6], 3)
 "True" .eq. "True" : True
ca.SetContourValue(1, 'b', 3)
 "True" .eq. "True" : True
ca.SetContourValue(1, None, 3)
 "True" .eq. "True" : True
ca.contourValue=1, 2, 3
 "True" .eq. "True" : True
ca.contourValue=[2, 4, 6]
 "True" .eq. "True" : True
ca.contourValue=2, 4, 6
 "True" .eq. "True" : True
ca.contourValue=1, True, 3
 "True" .eq. "True" : True
ca.contourValue=1, False, 3
 "True" .eq. "True" : True
ca.SetContourValue(1, 2, 3)
 "True" .eq. "True" : True
ca.SetContourValue([2, 4, 6])
 "True" .eq. "True" : True
ca.SetContourValue(2, 4, 6)
 "True" .eq. "True" : True
ca.SetContourValue(1, True, 3)
 "True" .eq. "True" : True
ca.SetContourValue(1, False, 3)
 "True" .eq. "True" : True
ca.SetContourValue(array([1.1, 2.2, 3.3])
 "True" .eq. "True" : True
Assignment to ucharArray member, "freeformOpacity", (of VolumeAttributes())
va.freeformOpacity=3,17
 "True" .eq. "True" : True
va.SetFreeformOpacity(3,17)
 "True" .eq. "True" : True
va.freeformOpacity=tuple(arr)
 "True" .eq. "True" : True
va.SetFreeformOpacity(*tuple(arr))
 "True" .eq. "True" : True
va.freeformOpacity=3,None
 "True" .eq. "True" : True
va.freeformOpacity=3,(1+2j)
 "True" .eq. "True" : True
va.freeformOpacity=3,[2, 4, 6]
 "True" .eq. "True" : True
va.freeformOpacity=3,'123'
 "True" .eq. "True" : True
va.freeformOpacity=None,17
 "True" .eq. "True" : True
va.freeformOpacity=(1+2j),17
 "True" .eq. "True" : True
va.freeformOpacity=[2, 4, 6],17
 "True" .eq. "True" : True
va.freeformOpacity='123',17
 "True" .eq. "True" : True
va.freeformOpacity=-3,17
 "True" .eq. "True" : True
va.freeformOpacity=3,1700
 "True" .eq. "True" : True
va.SetFreeformOpacity(3,None)
 "True" .eq. "True" : True
va.SetFreeformOpacity(3,(1+2j))
 "True" .eq. "True" : True
va.SetFreeformOpacity(3,[2, 4, 6])
 "True" .eq. "True" : True
va.SetFreeformOpacity(3,'123')
 "True" .eq. "True" : True
va.SetFreeformOpacity(None,17)
 "True" .eq. "True" : True
va.SetFreeformOpacity((1+2j),17)
 "True" .eq. "True" : True
va.SetFreeformOpacity([2, 4, 6],17)
 "True" .eq. "True" : True
va.SetFreeformOpacity('123',17)
 "True" .eq. "True" : True
va.SetFreeformOpacity(-3,17)
 "True" .eq. "True" : True
va.SetFreeformOpacity(3,1700)
 "True" .eq. "True" : True
va.freeformOpacity=(17,)*256
 "True" .eq. "True" : True
va.SetFreeformOpacity((17,)*256)
 "True" .eq. "True" : True
va.freeformOpacity=(17, 17, 17, None, 17, 17, 17, ...
 "True" .eq. "True" : True
va.freeformOpacity=(17, 17, 17, (1+2j, ..., 17, 17, 17, ...
 "True" .eq. "True" : True
va.freeformOpacity=(17, 17, 17, [2, 4, 6], 17, 17, 17, ...
 "True" .eq. "True" : True
va.freeformOpacity=(17, 17, 17, (1, 2, 3, ..., 17, 17, 17, ...
 "True" .eq. "True" : True
va.freeformOpacity=(17, 17, 17, '123', 17, 17, 17, ...
 "True" .eq. "True" : True
va.SetFreeformOpacity(17, 17, 17, None, 17, 17, 17, ...)
 "True" .eq. "True" : True
va.SetFreeformOpacity(17, 17, 17, (1+2j, ...), 17, 17, 17, ...)
 "True" .eq. "True" : True
va.SetFreeformOpacity(17, 17, 17, [2, 4, 6], 17, 17, 17, ...)
 "True" .eq. "True" : True
va.SetFreeformOpacity(17, 17, 17, (1, 2, 3, ...), 17, 17, 17, ...)
 "True" .eq. "True" : True
va.SetFreeformOpacity(17, 17, 17, '123', 17, 17, 17, ...)
 "True" .eq. "True" : True
va.SetFreeformOpacity(fails[0])
 "True" .eq. "True" : True
va.SetFreeformOpacity(fails[1])
 "True" .eq. "True" : True
va.SetFreeformOpacity(fails[2])
 "True" .eq. "True" : True
va.SetFreeformOpacity(fails[3])
 "True" .eq. "True" : True
va.SetFreeformOpacity(fails[4])
 "True" .eq. "True" : True
Assignment to intArray member, "reflections", (of ReflectAttributes())
ra.reflections=0,1,0,1,0,1,0,1
 "True" .eq. "True" : True
ra.reflections=0, 1, None, 1, 0, 1, 0, 1
 "True" .eq. "True" : True
ra.reflections=0, 1, (1+2j), 1, 0, 1, 0, 1
 "True" .eq. "True" : True
ra.reflections=0, 1, [2, 4, 6], 1, 0, 1, 0, 1
 "True" .eq. "True" : True
ra.reflections=0, 1, 2147483648, 1, 0, 1, 0, 1
 "True" .eq. "True" : True
ra.reflections=0, 1, '123', 1, 0, 1, 0, 1
 "True" .eq. "True" : True
ra.reflections=0, 1, 0, 1, 0, 1, 0, 1, 1
 "True" .eq. "True" : True
ra.reflections=0, 1, 0, 1, 0, 1, 0
 "True" .eq. "True" : True
ra.SetReflections(0, 1, None, 1, 0, 1, 0, 1)
 "True" .eq. "True" : True
ra.SetReflections(0, 1, (1+2j), 1, 0, 1, 0, 1)
 "True" .eq. "True" : True
ra.SetReflections(0, 1, [2, 4, 6], 1, 0, 1, 0, 1)
 "True" .eq. "True" : True
ra.SetReflections(0, 1, 2147483648, 1, 0, 1, 0, 1)
 "True" .eq. "True" : True
ra.SetReflections(0, 1, '123', 1, 0, 1, 0, 1)
 "True" .eq. "True" : True
ra.SetReflections(0, 1, 0, 1, 0, 1, 0, 1, 1)
 "True" .eq. "True" : True
ra.SetReflections(0, 1, 0, 1, 0, 1, 0)
 "True" .eq. "True" : True
ra.reflections=0, 1, 0, 1, 0, 1, 0, 1
 "True" .eq. "True" : True
ra.reflections=-1, 100, -1, 100, -1, 100, -1, 100
 "True" .eq. "True" : True
ra.reflections=0, True, False, 1, 0, 1, 0, 1
 "True" .eq. "True" : True
ra.reflections=0, 1, 2147483647, 1, 0, 1, 0, 1
 "True" .eq. "True" : True
ra.reflections=array([0, 1, 0, 1, 0, 1, 0, 1]
 "True" .eq. "True" : True
ra.SetReflections(0, 1, 0, 1, 0, 1, 0, 1)
 "True" .eq. "True" : True
ra.SetReflections(-1, 100, -1, 100, -1, 100, -1, 100)
 "True" .eq. "True" : True
ra.SetReflections(0, True, False, 1, 0, 1, 0, 1)
 "True" .eq. "True" : True
ra.SetReflections(0, 1, 2147483647, 1, 0, 1, 0, 1)
 "True" .eq. "True" : True
ra.SetReflections(array([0, 1, 0, 1, 0, 1, 0, 1])
 "True" .eq. "True" : True
Assignment to floatArray member, "center", (of RadialResampleAttributes())
rra.center=0,1,2
 "True" .eq. "True" : True
rra.center=0,1
 "True" .eq. "True" : True
rra.center=0,1,2,3
 "True" .eq. "True" : True
rra.center=0, 1
 "True" .eq. "True" : True
rra.center=0, 1, 2, 3
 "True" .eq. "True" : True
rra.center=0, None, 2
 "True" .eq. "True" : True
rra.center=0, (1+2j), 2
 "True" .eq. "True" : True
rra.center=0, [2, 4, 6], 2
 "True" .eq. "True" : True
rra.center=0, '123', 2
 "True" .eq. "True" : True
rra.center=0, 3.402823e+39, 2
 "True" .eq. "True" : True
rra.SetCenter(0, 1)
 "True" .eq. "True" : True
rra.SetCenter(0, 1, 2, 3)
 "True" .eq. "True" : True
rra.SetCenter(0, None, 2)
 "True" .eq. "True" : True
rra.SetCenter(0, (1+2j), 2)
 "True" .eq. "True" : True
rra.SetCenter(0, [2, 4, 6], 2)
 "True" .eq. "True" : True
rra.SetCenter(0, '123', 2)
 "True" .eq. "True" : True
rra.SetCenter(0, 3.402823e+39, 2)
 "True" .eq. "True" : True
rra.center=1, 2, 3
 "True" .eq. "True" : True
rra.center=1.1, 2.2, 3.3
 "True" .eq. "True" : True
rra.center=2, 4, 6
 "True" .eq. "True" : True
rra.center=1, True, 3
 "True" .eq. "True" : True
rra.center=1, False, 3
 "True" .eq. "True" : True
rra.center=1, 3.40282e+37, 3
 "True" .eq. "True" : True
rra.center=array([1.1, 2.2, 3.3]
 "True" .eq. "True" : True
rra.SetCenter(1, 2, 3)
 "True" .eq. "True" : True
rra.SetCenter(1.1, 2.2, 3.3)
 "True" .eq. "True" : True
rra.SetCenter(2, 4, 6)
 "True" .eq. "True" : True
rra.SetCenter(1, True, 3)
 "True" .eq. "True" : True
rra.SetCenter(1, False, 3)
 "True" .eq. "True" : True
rra.SetCenter(1, 3.40282e+37, 3)
 "True" .eq. "True" : True
rra.SetCenter(array([1.1, 2.2, 3.3])
 "True" .eq. "True" : True
Assignment to doubleArray member, "materialProperties", (of VolumeAttributes())
va.materialProperties=0,1,2,3
 "True" .eq. "True" : True
va.materialProperties=0,1,2
 "True" .eq. "True" : True
va.materialProperties=0,1,2,3,4
 "True" .eq. "True" : True
va.materialProperties=0, 1
 "True" .eq. "True" : True
va.materialProperties=0, 1, 2, 3, 4
 "True" .eq. "True" : True
va.materialProperties=0, None, 2, 3
 "True" .eq. "True" : True
va.materialProperties=0, (1+2j), 2, 3
 "True" .eq. "True" : True
va.materialProperties=0, [2, 4, 6], 2, 3
 "True" .eq. "True" : True
va.materialProperties=0, '123', 2, 3
 "True" .eq. "True" : True
va.SetMaterialProperties(0, 1)
 "True" .eq. "True" : True
va.SetMaterialProperties(0, 1, 2, 3, 4)
 "True" .eq. "True" : True
va.SetMaterialProperties(0, None, 2, 3)
 "True" .eq. "True" : True
va.SetMaterialProperties(0, (1+2j), 2, 3)
 "True" .eq. "True" : True
va.SetMaterialProperties(0, [2, 4, 6], 2, 3)
 "True" .eq. "True" : True
va.SetMaterialProperties(0, '123', 2, 3)
 "True" .eq. "True" : True
va.materialProperties=1, 2, 3, 4
 "True" .eq. "True" : True
va.materialProperties=1.1, 2.2, 3.3, 4.4
 "True" .eq. "True" : True
va.materialProperties=1, True, 3, 4
 "True" .eq. "True" : True
va.materialProperties=1, False, 3, 4
 "True" .eq. "True" : True
va.SetMaterialProperties(1, 2, 3, 4)
 "True" .eq. "True" : True
va.SetMaterialProperties(1.1, 2.2, 3.3, 4.4)
 "True" .eq. "True" : True
va.SetMaterialProperties(1, True, 3, 4)
 "True" .eq. "True" : True
va.SetMaterialProperties(1, False, 3, 4)
 "True" .eq. "True" : True
va.SetMaterialProperties(array([1.1, 2.2, 3.3, 4.4])
 "True" .eq. "True" : True
ColorAttribute stuff
ca.color=0, 1, 2
 "True" .eq. "True" : True
ca.color=0, 1, 2, 3, 4
 "True" .eq. "True" : True
ca.color=0, None, 2, 3
 "True" .eq. "True" : True
ca.color=0, (1+2j), 2, 3
 "True" .eq. "True" : True
ca.color=0, [2, 4, 6], 2, 3
 "True" .eq. "True" : True
ca.color=0, '123', 2, 3
 "True" .eq. "True" : True
ca.color=0, -1, 2, 3
 "True" .eq. "True" : True
ca.color=0, 256, 2, 3
 "True" .eq. "True" : True
ca.SetColor(0, 1, 2)
 "True" .eq. "True" : True
ca.SetColor(0, 1, 2, 3, 4)
 "True" .eq. "True" : True
ca.SetColor(0, None, 2, 3)
 "True" .eq. "True" : True
ca.SetColor(0, (1+2j), 2, 3)
 "True" .eq. "True" : True
ca.SetColor(0, [2, 4, 6], 2, 3)
 "True" .eq. "True" : True
ca.SetColor(0, '123', 2, 3)
 "True" .eq. "True" : True
ca.SetColor(0, -1, 2, 3)
 "True" .eq. "True" : True
ca.SetColor(0, 256, 2, 3)
 "True" .eq. "True" : True
cla.AddColors
 "True" .eq. "True" : True
cla.colors
 "True" .eq. "True" : True
cla.GetColors(0)
 "True" .eq. "True" : True
cla.GetColors(2)
 "True" .eq. "True" : True
behavior of dir()
dir()
 "True" .eq. "True" : True
dir(SILRestriction)
 "True" .eq. "True" : True
dir(scaling)
 "True" .eq. "True" : True
dir(#colors)
 "True" .eq. "True" : True
behavior of help()
help(AddPlot)
 "True" .eq. "True" : True
help(CreateDatabaseCorrelation)
 "True" .eq. "True" : True
help(SILRestriction)
 "True" .eq. "True" : True
help(SILRestriction)
 "True" .eq. "True" : True
help('wholes')
 "True" .eq. "True" : True
help('tensor')
 "True" .eq. "True" : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_atts_assign_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_atts_assign_py.html new file mode 100644 index 000000000..61f818e84 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_atts_assign_py.html @@ -0,0 +1,1193 @@ +unit/atts_assign.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  atts_assign.py
+#
+#  Tests: Behavior of assignment for attribute objects. Ensures good cases
+#  succeed and bad cases fail with specific python exceptions. Tests variety
+#  of types present in members of VisIt attribute objects. Tests both
+#  assignment usage (e.g. atts.memberName=...) and setter function usage
+#  (e.g. atts.SetMemberName(...))
+#
+#  Mark C. Miller, Tue Jun  8 15:51:59 PDT 2021
+#
+#  Modifications:
+#    Kathleen Biagas, Tue July 27, 2021
+#    Assigning Max32BitInt+1 to int on Windows causes TypeError, not
+#    ValueError, so change expected results in those cases.
+#
+# ----------------------------------------------------------------------------
+import copy, io, numpy, sys
+
+# Some useful global variables
+X = [2,4,6]
+NumPy2Int = numpy.array([1,2])
+NumPy2Flt = numpy.array([1.1,2.2])
+NumPy3Int = numpy.array([1,2,3])
+NumPy3Flt = numpy.array([1.1,2.2,3.3])
+NumPy4Int = numpy.array([1,2,3,4])
+NumPy4Flt = numpy.array([1.1,2.2,3.3,4.4])
+Max32BitInt = 2147483647
+Max32BitInt1 = Max32BitInt+1
+MaxIntAs32BitFloat = 16777216
+MaxIntAs32BitFloat1 = MaxIntAs32BitFloat+1
+MaxIntAs64BitFloat = 9007199254740992
+MaxIntAs64BitFloat1 = MaxIntAs64BitFloat+1
+Max32BitFloat  = 3.402823E+38
+Max32BitFloatA = 3.402820E+37 # One order mag down from Max
+Max32BitFloatB = 3.402823E+39 # One order mag up from Max
+Min32BitFloat = 1.175494E-38
+
+# version of repr that strips parens at end
+def repr2(s):
+    return repr(s).lstrip('(').rstrip(')')
+
+def TestAssignmentToTuple():
+    TestSection('Assignment to tuple, "point1", member (of CylinderAttributes())')
+
+    ca = CylinderAttributes()
+
+    # Non-existent member name 'point'
+    try:
+        ca.point = 1,2,3
+        TestFOA('ca.point=1,2,3', LINE())
+    except NameError:
+        TestPOA('ca.point=1,2,3')
+        pass
+    except:
+        TestFOA('ca.point=1,2,3', LINE())
+        pass
+
+    # Non-existent member name 'point'
+    try:
+        ca.SetPoint(1,2,3)
+        TestFOA('ca.SetPoint(1,2,3)', LINE())
+    except ValueError:
+        TestPOA('ca.SetPoint(1,2,3)')
+        pass
+    except:
+        TestFOA('ca.SetPoint(1,2,3)', LINE())
+        pass
+
+    # CSV too short
+    try:
+        ca.point1 = 1,2
+        TestFOA('ca.point1=1,2', LINE())
+    except TypeError:
+        TestPOA('ca.point1=1,2')
+        pass
+    except:
+        TestFOA('ca.point1=1,2', LINE())
+        pass
+
+    # CSV too long
+    try:
+        ca.point1 = 1,2,3,4
+        TestFOA('ca.point1=1,2,3,4', LINE())
+    except TypeError:
+        TestPOA('ca.point1=1,2,3,4')
+        pass
+    except:
+        TestFOA('ca.point1=1,2,3,4', LINE())
+        pass
+
+    # The above cases can't be put in a loop. Put remaining cases in a loop
+    fails = [(1,2), (1,2,3,4), '123', (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3), NumPy2Flt, NumPy4Flt]
+    for i in range(len(fails)):
+        try:
+            ca.point1 = fails[i]
+            TestFOA('ca.point1=%s'%repr2(fails[i]), LINE())
+        except TypeError:
+            TestPOA('ca.point1=%s'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('ca.point1=%s'%repr2(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            ca.SetPoint1(fails[i])
+            TestFOA('ca.SetPoint1(%s)'%repr2(fails[i]), LINE())
+        except TypeError:
+            TestPOA('ca.SetPoint1(%s)'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('ca.SetPoint1(%s)'%repr2(fails[i]), LINE())
+            pass
+
+    try:
+        ca.point1 = 1,2,3
+        TestPOA('ca.point1=1,2,3')
+    except:
+        TestFOA('ca.point1=1,2,3', LINE())
+        pass
+
+    works = [(1,2,3), (1.1,2.2,3.3), tuple(X), NumPy3Int, NumPy3Flt]
+    for i in range(len(works)):
+        try:
+            ca.point1 = works[i]
+            TestPOA('ca.point1=%s'%repr2(works[i]))
+        except:
+            TestFOA('ca.point1=%s'%repr2(works[i]), LINE())
+            pass
+
+    for i in range(len(works)):
+        try:
+            ca.SetPoint1(*works[i])
+            TestPOA('ca.SetPoint1(%s)'%repr2(works[i]))
+        except:
+            TestFOA('ca.SetPoint1(%s)'%repr2(works[i]), LINE())
+            pass
+
+def TestAssignmentToBool():
+    TestSection('Assignment to bool member, "inverse", (of CylinderAttributes())')
+
+    ca = CylinderAttributes()
+
+    try:
+        ca.inverse = 1,2
+        TestFOA('ca.inverse=1,2', LINE())
+    except TypeError:
+        TestPOA('ca.inverse=1,2')
+        pass
+    except:
+        TestFOA('ca.inverse=1,2', LINE())
+        pass
+
+    fails =  [    '123',      1+2j,         X,      None,          5]
+    excpts = [TypeError, TypeError, TypeError, TypeError, ValueError]
+    for i in range(len(fails)):
+        try:
+            ca.inverse = fails[i]
+            TestFOA('ca.inverse=%s'%repr(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('ca.inverse=%s'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('ca.inverse=%s'%repr(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            ca.SetInverse(fails[i])
+            TestFOA('ca.SetInverse(%s)'%repr(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('ca.SetInverse(%s)'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('ca.SetInverse(%s)'%repr(fails[i]), LINE())
+            pass
+
+    works = [0, 1, True, False]
+    for i in range(len(works)):
+        try:
+            ca.inverse = works[i]
+            TestPOA('ca.inverse=%s'%repr(works[i]))
+        except:
+            TestFOA('ca.inverse=%s'%repr(works[i]), LINE())
+
+    for i in range(len(works)):
+        try:
+            ca.SetInverse(works[i])
+            TestPOA('ca.SetInverse(%s)'%repr(works[i]))
+        except:
+            TestFOA('ca.SetInverse(%s)'%repr(works[i]), LINE())
+
+def TestAssignmentToInt():
+    TestSection('Assignment to int member, "samplesPerRay", (of VolumeAttributes())')
+
+    va = VolumeAttributes()
+
+    try:
+        va.samplesPerRay = 1,2
+        TestFOA('va.samplesPerRay=1,2', LINE())
+    except TypeError:
+        TestPOA('va.samplesPerRay=1,2')
+        pass
+    except:
+        TestFOA('va.samplesPerRay=1,2', LINE())
+        pass
+
+    fails =  [    '123',      1+2j,      None,         X, Max32BitInt1]
+    if sys.platform.startswith("win"):
+        excpts = [TypeError, TypeError, TypeError, TypeError, TypeError]
+    else:
+        excpts = [TypeError, TypeError, TypeError, TypeError, ValueError]
+    for i in range(len(fails)):
+        try:
+            va.samplesPerRay = fails[i]
+            TestFOA('va.samplesPerRay=%s'%repr(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('va.samplesPerRay=%s'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('va.samplesPerRay=%s'%repr(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            va.SetSamplesPerRay(fails[i])
+            TestFOA('va.SetSamplesPerRay(%s)'%repr(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('va.SetSamplesPerRay(%s)'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('va.SetSamplesPerRay(%s)'%repr(fails[i]), LINE())
+            pass
+
+    works = [0, 1, -1, 5, True, False, Max32BitInt]
+    for i in range(len(works)):
+        try:
+            va.samplesPerRay = works[i]
+            TestPOA('va.samplesPerRay=%s'%repr(works[i]))
+        except:
+            TestFOA('va.samplesPerRay=%s'%repr(works[i]), LINE())
+
+    for i in range(len(works)):
+        try:
+            va.SetSamplesPerRay(works[i])
+            TestPOA('va.SetSamplesPerRay(%s)'%repr(works[i]))
+        except:
+            TestFOA('va.SetSamplesPerRay(%s)'%repr(works[i]), LINE())
+
+def TestAssignmentToFloat():
+    TestSection('Assignment to float member, "opacityAttenuation", (of VolumeAttributes())')
+
+    va = VolumeAttributes()
+
+    try:
+        va.opacityAttenuation = 1,2
+        TestFOA('va.opacityAttenuation=1,2', LINE())
+    except TypeError:
+        TestPOA('va.opacityAttenuation=1,2')
+        pass
+    except:
+        TestFOA('va.opacityAttenuation=1,2', LINE())
+        pass
+
+    fails =  [    '123',      1+2j,      None,         X, Max32BitFloatB]
+    excpts = [TypeError, TypeError, TypeError, TypeError,       ValueError]
+    for i in range(len(fails)):
+        try:
+            va.opacityAttenuation = fails[i]
+            TestFOA('va.opacityAttenuation=%s'%repr(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('va.opacityAttenuation=%s'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('va.opacityAttenuation=%s'%repr(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            va.SetOpacityAttenuation(fails[i])
+            TestFOA('va.SetOpacityAttenuation(%s)'%repr(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('va.SetOpacityAttenuation(%s)'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('va.SetOpacityAttenuation(%s)'%repr(fails[i]), LINE())
+            pass
+
+    works = [0, 1, -1, 0.3, Max32BitFloatA, True, False]
+    for i in range(len(works)):
+        try:
+            va.opacityAttenuation = works[i]
+            TestPOA('va.opacityAttenuation=%s'%repr(works[i]))
+        except:
+            TestFOA('va.opacityAttenuation=%s'%repr(works[i]), LINE())
+
+    for i in range(len(works)):
+        try:
+            va.SetOpacityAttenuation(works[i])
+            TestPOA('va.SetOpacityAttenuation(%s)'%repr(works[i]))
+        except:
+            TestFOA('va.SetOpacityAttenuation(%s)'%repr(works[i]), LINE())
+
+def TestAssignmentToDouble():
+    TestSection('Assignment to double member, "radius", (of CylinderAttributes())')
+
+    ca = CylinderAttributes()
+
+    try:
+        ca.radius = 1,2
+        TestFOA('ca.radius=1,2', LINE())
+    except TypeError:
+        TestPOA('ca.radius=1,2')
+        pass
+    except:
+        TestFOA('ca.radius=1,2', LINE())
+        pass
+
+    fails = ['123', 1+2j, None, X]
+    for i in range(len(fails)):
+        try:
+            ca.radius = fails[i]
+            TestFOA('ca.radius=%s'%repr(fails[i]), LINE())
+        except TypeError:
+            TestPOA('ca.radius=%s'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('ca.radius=%s'%repr(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            ca.SetRadius(fails[i])
+            TestFOA('ca.SetRadius(%s)'%repr(fails[i]), LINE())
+        except TypeError:
+            TestPOA('ca.SetRadius(%s)'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('ca.SetRadius(%s)'%repr(fails[i]), LINE())
+            pass
+
+    works = [0, 1, -1, 5.5, 1.1E-479, 1.1E+479, True, False]
+    for i in range(len(works)):
+        try:
+            ca.radius = works[i]
+            TestPOA('ca.radius=%s'%repr(works[i]))
+        except:
+            TestFOA('ca.radius=%s'%repr(works[i]), LINE())
+
+    for i in range(len(works)):
+        try:
+            ca.SetRadius(works[i])
+            TestPOA('ca.SetRadius(%s)'%repr(works[i]))
+        except:
+            TestFOA('ca.SetRadius(%s)'%repr(works[i]), LINE())
+
+def TestAssignmentToString():
+    TestSection('Assignment to string member, "designator", (of CurveAttributes())')
+
+    ca = CurveAttributes()
+
+    try:
+        ca.designator = "123","abc"
+        TestFOA('ca.designator="123","abc"', LINE())
+    except TypeError:
+        TestPOA('ca.designator="123","abc"')
+        pass
+    except:
+        TestFOA('ca.designator="123","abc"', LINE())
+        pass
+
+    fails = [0, 1, 1.1, 1+2j, None, X]
+    for i in range(len(fails)):
+        try:
+            ca.designator = fails[i]
+            TestFOA('ca.designator=%s'%repr(fails[i]), LINE())
+        except TypeError:
+            TestPOA('ca.designator=%s'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('ca.designator=%s'%repr(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            ca.SetDesignator(fails[i])
+            TestFOA('ca.SetDesignator(%s)'%repr(fails[i]), LINE())
+        except TypeError:
+            TestPOA('ca.SetDesignator(%s)'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('ca.SetDesignator(%s)'%repr(fails[i]), LINE())
+            pass
+
+    works = ['123', 'abc', '']
+    for i in range(len(works)):
+        try:
+            ca.designator = works[i]
+            TestPOA('ca.designator=%s'%repr(works[i]))
+        except:
+            TestFOA('ca.designator=%s'%repr(works[i]), LINE())
+
+    for i in range(len(works)):
+        try:
+            ca.SetDesignator(works[i])
+            TestPOA('ca.SetDesignator(%s)'%repr(works[i]))
+        except:
+            TestFOA('ca.SetDesignator(%s)'%repr(works[i]), LINE())
+
+def TestAssignmentToGlyphType():
+    TestSection('Assignment to GlyphType member, "pointType", (of MeshAttributes())')
+
+    ma = MeshAttributes()
+
+    # Test direct assignment with = operator
+    try:
+        ma.pointType = 1
+        TestPOA('ma.pointType=1')
+    except:
+        TestFOA('ma.pointType=1', LINE())
+        pass
+
+    fails =  [    '123',      1+2j,      None,         X,         -1, 123123123123123123123123123123]
+    excpts = [TypeError, TypeError, TypeError, TypeError, ValueError,                      TypeError]
+    for i in range(len(fails)):
+        try:
+            ma.pointType = fails[i]
+            TestFOA('ma.pointType=%s'%repr(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('ma.pointType=%s'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('ma.pointType=%s'%repr(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            ma.SetPointType(fails[i])
+            TestFOA('ma.SetPointType(%s)'%repr(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('ma.SetPointType(%s)'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('ma.SetPointType(%s)'%repr(fails[i]), LINE())
+            pass
+
+    works = [0, 1, 5, True, False, ma.Point]
+    for i in range(len(works)):
+        try:
+            ma.pointType = works[i]
+            TestPOA('ma.pointType=%s'%repr(works[i]))
+        except:
+            TestFOA('ma.pointType=%s'%repr(works[i]), LINE())
+
+    for i in range(len(works)):
+        try:
+            ma.SetPointType(works[i])
+            TestPOA('ma.SetPointType(%s)'%repr(works[i]))
+        except:
+            TestFOA('ma.SetPointType(%s)'%repr(works[i]), LINE())
+
+def TestAssignmentToEnum():
+    TestSection('Assignment to Enum member, "smoothingLevel", (of MeshAttributes())')
+
+    ma = MeshAttributes()
+
+    # Test direct assignment with = operator
+    try:
+        ma.smoothingLevel = 1
+        TestPOA('ma.smoothingLevel=1')
+    except:
+        TestFOA('ma.smoothingLevel=1', LINE())
+        pass
+
+    fails  = [    '123',      1+2j,      None,         X,         -1,  123123123, 123123123123123123123123123123]
+    excpts = [TypeError, TypeError, TypeError, TypeError, ValueError, ValueError,                      TypeError]
+    for i in range(len(fails)):
+        try:
+            ma.smoothingLevel = fails[i]
+            TestFOA('ma.smoothingLevel=%s'%repr(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('ma.smoothingLevel=%s'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('ma.smoothingLevel=%s'%repr(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            ma.SetSmoothingLevel(fails[i])
+            TestFOA('ma.SetSmoothingLevel(%s)'%repr(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('ma.SetSmoothingLevel(%s)'%repr(fails[i]))
+            pass
+        except:
+            TestFOA('ma.SetSmoothingLevel(%s)'%repr(fails[i]), LINE())
+            pass
+
+    works = [0, 1, 2, True, False, ma.Fast]
+    for i in range(len(works)):
+        try:
+            ma.smoothingLevel = works[i]
+            TestPOA('ma.smoothingLevel=%s'%repr(works[i]))
+        except:
+            TestFOA('ma.smoothingLevel=%s'%repr(works[i]), LINE())
+
+    for i in range(len(works)):
+        try:
+            ma.SetSmoothingLevel(works[i])
+            TestPOA('ma.SmoothingLevel(%s)'%repr(works[i]))
+        except:
+            TestFOA('ma.SetSmoothingLevel(%s)'%repr(works[i]), LINE())
+
+def TestAssignmentToUCharVector():
+    TestSection('Assignment to ucharVector member, "changedColors",  (of MultiCurveAttributes())')
+
+    mca = MultiCurveAttributes()
+
+    # Test direct assignment with = operator
+    try:
+        mca.changedColors = 1,2,3
+        TestPOA('mca.changedColors=1,2,3')
+    except:
+        TestFOA('mca.changedColors=1,2,3', LINE())
+        pass
+
+    fails = [(1,123123123123123123123123123123,3), (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3), ('123',)]
+    for i in range(len(fails)):
+        try:
+            mca.changedColors = fails[i]
+            TestFOA('mca.changedColors=%s'%repr2(fails[i]), LINE())
+        except TypeError:
+            TestPOA('mca.changedColors=%s'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('mca.changedColors=%s'%repr2(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            mca.SetChangedColors(*fails[i])
+            TestFOA('mca.SetChangedColors(%s)'%repr2(fails[i]), LINE())
+        except TypeError:
+            TestPOA('mca.SetChangedColors(%s)'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('mca.SetChangedColors(%s)'%repr2(fails[i]), LINE())
+            pass
+
+    works = [(1,2,3), tuple(X), (1,True,3), (1,False,3)]
+    for i in range(len(works)):
+        try:
+            mca.changedColors = works[i]
+            TestPOA('mca.changedColors=%s'%repr2(works[i]))
+        except:
+            TestFOA('mca.changedColors=%s'%repr2(works[i]), LINE())
+
+    works += [NumPy3Int] # NP arrays only work via deref operator
+    for i in range(len(works)):
+        try:
+            mca.SetChangedColors(*works[i])
+            TestPOA('mca.SetChangedColors(%s)'%repr2(works[i]))
+        except:
+            TestFOA('mca.SetChangedColors(%s)'%repr2(works[i]), LINE())
+
+def TestAssignmentToIntVector():
+    TestSection('Assignment to intVector member, "index", (of OnionPeelAttributes())')
+
+    opa = OnionPeelAttributes()
+
+    # Test direct assignment with = operator
+    try:
+        opa.index = 1,2,3
+        TestPOA('opa.index=1,2,3')
+    except:
+        TestFOA('opa.index=1,2,3', LINE())
+        pass
+
+    fails =  [(Max32BitInt1,), (1+2j,), ('b',), (None,), (1,Max32BitInt1,3),
+              (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3)]
+    if sys.platform.startswith("win"):
+        excpts = [TypeError, TypeError, TypeError, TypeError, TypeError,
+                  TypeError, TypeError, TypeError, TypeError]
+    else:
+        excpts = [ValueError, TypeError, TypeError, TypeError, ValueError,
+                  TypeError, TypeError, TypeError, TypeError]
+    for i in range(len(fails)):
+        try:
+            opa.index = fails[i]
+            TestFOA('opa.index=%s'%repr2(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('opa.index=%s'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('opa.index=%s'%repr2(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            opa.SetIndex(*fails[i])
+            TestFOA('opa.SetIndex(%s)'%repr2(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('opa.SetIndex(%s)'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('opa.SetIndex(%s)'%repr2(fails[i]), LINE())
+            pass
+
+    works = [(1,2,3), X, tuple(X), (1,True,3), (1,False,3), (1,Max32BitInt,3)]
+    for i in range(len(works)):
+        try:
+            opa.index = works[i]
+            TestPOA('opa.index=%s'%repr2(works[i]))
+        except:
+            TestFOA('opa.index=%s'%repr2(works[i]), LINE())
+
+    works += [NumPy3Int] # NP Arrays work only via deref operator
+    for i in range(len(works)):
+        try:
+            opa.SetIndex(*works[i])
+            TestPOA('opa.SetIndex(%s)'%repr2(works[i]))
+        except:
+            TestFOA('opa.SetIndex(%s)'%repr2(works[i]), LINE())
+
+def TestAssignmentToDoubleVector():
+    TestSection('Assignment to doubleVector member, "values", (of ContourAttributes())')
+
+    ca = ContourAttributes()
+
+    # Test direct assignment with = operator
+    try:
+        ca.contourValue = 1,2,3
+        TestPOA('ca.contourValue=1,2,3')
+    except:
+        TestFOA('ca.contourValue=1,2,3', LINE())
+        pass
+
+    fails = [(1+2j,), ('b',), (None,), (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3)]
+    for i in range(len(fails)):
+        try:
+            ca.contourValue = fails[i]
+            TestFOA('ca.contourValue=%s'%repr2(fails[i]), LINE())
+        except TypeError:
+            TestPOA('ca.contourValue=%s'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('ca.contourValue=%s'%repr2(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            ca.SetContourValue(*fails[i])
+            TestFOA('ca.SetContourValue(%s)'%repr2(fails[i]), LINE())
+        except TypeError:
+            TestPOA('ca.SetContourValue(%s)'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('ca.SetContourValue(%s)'%repr2(fails[i]), LINE())
+            pass
+
+    works = [(1,2,3), X, tuple(X), (1,True,3), (1,False,3)]
+    for i in range(len(works)):
+        try:
+            ca.contourValue = works[i]
+            TestPOA('ca.contourValue=%s'%repr2(works[i]))
+        except:
+            TestFOA('ca.contourValue=%s'%repr2(works[i]), LINE())
+
+    works += [NumPy3Flt] # NP Arrays work only via deref operator
+    for i in range(len(works)):
+        try:
+            ca.SetContourValue(*works[i])
+            TestPOA('ca.SetContourValue(%s)'%repr2(works[i]))
+        except:
+            TestFOA('ca.SetContourValue(%s)'%repr2(works[i]), LINE())
+
+def TestAssignmentToUCharArray():
+    TestSection('Assignment to ucharArray member, "freeformOpacity", (of VolumeAttributes())')
+    arr = [17,]*256
+
+    va = VolumeAttributes()
+
+    # Test assigning to individual entry via direct (operator =) assignment
+    try:
+        va.freeformOpacity = 3,17
+        TestPOA('va.freeformOpacity=3,17')
+    except:
+        TestFOA('va.freeformOpacity=3,17', LINE())
+        pass
+
+    # Test assigning to individual entry via Set method 
+    try:
+        va.SetFreeformOpacity(3,17)
+        TestPOA('va.SetFreeformOpacity(3,17)')
+    except:
+        TestFOA('va.SetFreeformOpacity(3,17)', LINE())
+        pass
+
+    # Test assigning to whole array via (operator =) assignment
+    try:
+        va.freeformOpacity = tuple(arr)
+        TestPOA('va.freeformOpacity=tuple(arr)')
+    except:
+        TestFOA('va.freeformOpacity=tuple(arr)', LINE())
+        pass
+
+    # Test assigning to whole array via Set method 
+    try:
+        va.SetFreeformOpacity(*tuple(arr))
+        TestPOA('va.SetFreeformOpacity(*tuple(arr))')
+    except:
+        TestFOA('va.SetFreeformOpacity(*tuple(arr))', LINE())
+        pass
+
+    # Test assigning to individual entry via direct (operator =) assignment
+    # failures for type of second argument (color value)
+    fails =  [ (3,None),  (3,1+2j),     (3,X), (3,'123'), (None,17), (1+2j,17),    (X,17),('123',17),    (-3,17),   (3,1700)]
+    excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, IndexError, ValueError]
+    for i in range(len(fails)):
+        try:
+            va.freeformOpacity = fails[i][0],fails[i][1]
+            TestFOA('va.freeformOpacity=%s,%s'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
+        except excpts[i]:
+            TestPOA('va.freeformOpacity=%s,%s'%(repr(fails[i][0]),repr(fails[i][1])))
+            pass
+        except:
+            TestFOA('va.freeformOpacity=%s,%s'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            va.SetFreeformOpacity(fails[i][0],fails[i][1])
+            TestFOA('va.SetFreeformOpacity(%s,%s)'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
+        except excpts[i]:
+            TestPOA('va.SetFreeformOpacity(%s,%s)'%(repr(fails[i][0]),repr(fails[i][1])))
+            pass
+        except:
+            TestFOA('va.SetFreeformOpacity(%s,%s)'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
+            pass
+
+    # Test assigning to whole member via direct (operator =) assignment
+    try:
+        va.freeformOpacity = (17,)*256
+        TestPOA('va.freeformOpacity=(17,)*256')
+    except:
+        TestFOA('va.freeformOpacity=(17,)*256', LINE())
+        pass
+
+    # Test assigning to whole member via Set method 
+    try:
+        va.SetFreeformOpacity(*(17,)*256)
+        TestPOA('va.SetFreeformOpacity((17,)*256)')
+    except:
+        TestFOA('va.SetFreeformOpacity((17,)*256)', LINE())
+        pass
+
+    # Test assigning to whole member via direct (operator =) assignment
+    # failures for type of first argument (index)
+    arr1 = copy.deepcopy(arr)
+    arr2 = copy.deepcopy(arr)
+    arr3 = copy.deepcopy(arr)
+    arr4 = copy.deepcopy(arr)
+    arr5 = copy.deepcopy(arr)
+    arr1[3] = None
+    arr2[3] = 1+2j
+    arr3[3] = X
+    arr4[3] = (1,2,3)
+    arr5[3] = '123'
+    fails = [tuple(arr1), tuple(arr2), tuple(arr3), tuple(arr4), tuple(arr5)]
+    for i in range(len(fails)):
+        try:
+            va.freeformOpacity = fails[i]
+            TestFOA('va.freeformOpacity=%s'%repr(fails[i][:7]).replace(')',', ...'), LINE())
+        except TypeError:
+            TestPOA('va.freeformOpacity=%s'%repr(fails[i][:7]).replace(')',', ...'))
+            pass
+        except:
+            TestFOA('va.freeformOpacity=%s'%repr(fails[i][:7]).replace(')',', ...'), LINE())
+            pass
+
+    # Test star-deref of tuple
+    for i in range(len(fails)):
+        try:
+            va.SetFreeformOpacity(*fails[i])
+            TestFOA('va.SetFreeformOpacity%s'%repr(fails[i][:7]).replace(')',', ...)'), LINE())
+        except TypeError:
+            TestPOA('va.SetFreeformOpacity%s'%repr(fails[i][:7]).replace(')',', ...)'))
+            pass
+        except:
+            TestFOA('va.SetFreeformOpacity%s'%repr(fails[i][:7]).replace(')',', ...)'), LINE())
+            pass
+
+    # Test just passing the tuple
+    for i in range(len(fails)):
+        try:
+            va.SetFreeformOpacity(fails[i])
+            TestFOA('va.SetFreeformOpacity(fails[%d])'%i, LINE())
+        except TypeError:
+            TestPOA('va.SetFreeformOpacity(fails[%d])'%i)
+            pass
+        except:
+            TestFOA('va.SetFreeformOpacity(fails[%d])'%i, LINE())
+            pass
+
+def TestAssignmentToIntArray():
+    TestSection('Assignment to intArray member, "reflections", (of ReflectAttributes())')
+
+    ra = ReflectAttributes()
+
+    # Test assigning via (operator =) assignment
+    try:
+        ra.reflections = 0,1,0,1,0,1,0,1
+        TestPOA('ra.reflections=0,1,0,1,0,1,0,1')
+    except:
+        TestFOA('ra.reflections=0,1,0,1,0,1,0,1', LINE())
+        pass
+
+    fails =  [(0,1,None,1,0,1,0,1), (0,1,1+2j,1,0,1,0,1), (0,1,X,1,0,1,0,1),
+              (0,1,Max32BitInt1,1,0,1,0,1), (0,1,'123',1,0,1,0,1),
+              (0,1,0,1,0,1,0,1,1), (0,1,0,1,0,1,0)]
+    if sys.platform.startswith("win"):
+        excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, TypeError]
+    else:
+        excpts = [TypeError, TypeError, TypeError, ValueError, TypeError, TypeError, TypeError]
+    for i in range(len(fails)):
+        try:
+            ra.reflections = fails[i]
+            TestFOA('ra.reflections=%s'%repr2(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('ra.reflections=%s'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('ra.reflections=%s'%repr2(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            ra.SetReflections(*fails[i])
+            TestFOA('ra.SetReflections(%s)'%repr2(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('ra.SetReflections(%s)'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('ra.SetReflections(%s)'%repr2(fails[i]), LINE())
+            pass
+
+    NumPyArray = numpy.array([0,1,0,1,0,1,0,1])
+    works = [(0,1,0,1,0,1,0,1), (-1,100,-1,100,-1,100,-1,100), (0,True,False,1,0,1,0,1), (0,1,Max32BitInt,1,0,1,0,1), NumPyArray]
+    for i in range(len(works)):
+        try:
+            ra.reflections = works[i]
+            TestPOA('ra.reflections=%s'%repr2(works[i]))
+        except:
+            TestFOA('ra.reflections=%s'%repr2(works[i]), LINE())
+
+    for i in range(len(works)):
+        try:
+            ra.SetReflections(*works[i])
+            TestPOA('ra.SetReflections(%s)'%repr2(works[i]))
+        except:
+            TestFOA('ra.SetReflections(%s)'%repr2(works[i]), LINE())
+
+def TestAssignmentToFloatArray():
+    TestSection('Assignment to floatArray member, "center", (of RadialResampleAttributes())')
+
+    rra = RadialResampleAttributes()
+
+    # Test assigning via (operator =) assignment
+    try:
+        rra.center = 0,1,2
+        TestPOA('rra.center=0,1,2')
+    except:
+        TestFOA('rra.center=0,1,2', LINE())
+        pass
+    try:
+        rra.center = 0,1
+        TestFOA('rra.center=0,1', LINE())
+    except:
+        TestPOA('rra.center=0,1')
+        pass
+    try:
+        rra.center = 0,1,2,3
+        TestFOA('rra.center=0,1,2,3', LINE())
+    except:
+        TestPOA('rra.center=0,1,2,3')
+        pass
+
+    fails =  [(0,1), (0,1,2,3), (0,None,2), (0,1+2j,2), (0,X,2), (0,'123',2), (0, Max32BitFloatB,2)]
+    excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, ValueError]
+    for i in range(len(fails)):
+        try:
+            rra.center = fails[i]
+            TestFOA('rra.center=%s'%repr2(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('rra.center=%s'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('rra.center=%s'%repr2(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            rra.SetCenter(*fails[i])
+            TestFOA('rra.SetCenter(%s)'%repr2(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('rra.SetCenter(%s)'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('rra.SetCenter(%s)'%repr2(fails[i]), LINE())
+            pass
+
+    works = [(1,2,3), (1.1,2.2,3.3), tuple(X), (1,True,3), (1,False,3), (1,Max32BitFloatA,3), NumPy3Flt]
+    for i in range(len(works)):
+        try:
+            rra.center = works[i]
+            TestPOA('rra.center=%s'%repr2(works[i]))
+        except:
+            TestFOA('rra.center=%s'%repr2(works[i]), LINE())
+
+    for i in range(len(works)):
+        try:
+            rra.SetCenter(*works[i])
+            TestPOA('rra.SetCenter(%s)'%repr2(works[i]))
+        except:
+            TestFOA('rra.SetCenter(%s)'%repr2(works[i]), LINE())
+
+def TestAssignmentToDoubleArray():
+    TestSection('Assignment to doubleArray member, "materialProperties", (of VolumeAttributes())')
+
+    va = VolumeAttributes()
+
+    # Test assigning via (operator =) assignment
+    try:
+        va.materialProperties = 0,1,2,3
+        TestPOA('va.materialProperties=0,1,2,3')
+    except:
+        TestFOA('va.materialProperites=0,1,2,3', LINE())
+        pass
+    try:
+        va.materialProperties = 0,1,2
+        TestFOA('va.materialProperties=0,1,2', LINE())
+    except:
+        TestPOA('va.materialProperties=0,1,2')
+        pass
+    try:
+        va.materialProperties = 0,1,2,3,4
+        TestFOA('va.materialProperties=0,1,2,3,4', LINE())
+    except:
+        TestPOA('va.materialProperties=0,1,2,3,4')
+        pass
+
+    fails = [(0,1), (0,1,2,3,4), (0,None,2,3), (0,1+2j,2,3), (0,X,2,3), (0,'123',2,3)]
+    for i in range(len(fails)):
+        try:
+            va.materialProperties = fails[i]
+            TestFOA('va.materialProperties=%s'%repr2(fails[i]), LINE())
+        except TypeError:
+            TestPOA('va.materialProperties=%s'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('va.materialProperties=%s'%repr2(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            va.SetMaterialProperties(*fails[i])
+            TestFOA('va.SetMaterialProperties(%s)'%repr2(fails[i]), LINE())
+        except TypeError:
+            TestPOA('va.SetMaterialProperties(%s)'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('va.SetMaterialProperties(%s)'%repr2(fails[i]), LINE())
+            pass
+
+    works = [(1,2,3,4), (1.1,2.2,3.3,4.4), (1,True,3,4), (1,False,3,4)]
+    for i in range(len(works)):
+        try:
+            va.materialProperties = works[i]
+            TestPOA('va.materialProperties=%s'%repr2(works[i]))
+        except:
+            TestFOA('va.materialProperties=%s'%repr2(works[i]), LINE())
+
+    NumPyArray = numpy.array([1.1,2.2,3.3,4.4])
+    works += [NumPyArray]
+    for i in range(len(works)):
+        try:
+            va.SetMaterialProperties(*works[i])
+            TestPOA('va.SetMaterialProperties(%s)'%repr2(works[i]))
+        except:
+            TestFOA('va.SetMaterialProperties(%s)'%repr2(works[i]), LINE())
+
+def TestColorAttributeStuff():
+    TestSection('ColorAttribute stuff')
+
+    cla = ColorAttributeList()
+    ca = ColorAttribute()
+
+    fails = [(0,1,2), (0,1,2,3,4), (0,None,2,3), (0,1+2j,2,3), (0,X,2,3),
+             (0,'123',2,3), (0,-1,2,3), (0,256,2,3)]
+    excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, ValueError, ValueError]
+    for i in range(len(fails)):
+        try:
+            ca.color = fails[i]
+            TestFOA('ca.color=%s'%repr2(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('ca.color=%s'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('ca.color=%s'%repr2(fails[i]), LINE())
+            pass
+
+    for i in range(len(fails)):
+        try:
+            ca.SetColor(*fails[i])
+            TestFOA('ca.SetColor(%s)'%repr2(fails[i]), LINE())
+        except excpts[i]:
+            TestPOA('ca.SetColor(%s)'%repr2(fails[i]))
+            pass
+        except:
+            TestFOA('ca.SetColor(%s)'%repr2(fails[i]), LINE())
+            pass
+
+    try:
+        ca.color = (5,5,5,5)
+        cla.AddColors(ca)
+        ca.color = (255,0,0,255)
+        cla.AddColors(ca)
+        TestPOA('cla.AddColors')
+    except:
+        TestFOA('cla.AddColors', LINE())
+        pass
+
+    try:
+        cla.colors
+        TestFOA('cla.colors', LINE())
+    except NameError:
+        TestPOA('cla.colors')
+    except:
+        TestFOA('cla.colors', LINE())
+        pass
+
+    try:
+        if cla.GetColors(0).color != (5,5,5,5) or cla.GetColors(1).color != (255,0,0,255):
+           raise ValueError
+        TestPOA('cla.GetColors(0)')
+    except:
+        TestFOA('cla.Getcolors(0)', LINE())
+        pass
+
+    try:
+        cla.GetColors(2)
+        TestFOA('cla.Getcolors(2)', LINE())
+    except ValueError:
+        TestPOA('cla.GetColors(2)')
+    except:
+        TestFOA('cla.Getcolors(2)', LINE())
+        pass
+
+def TestDirOutput(obj, names):
+    try:
+        x = [f for f in dir(obj) if not (f.startswith('__') and f.endswith('__'))]
+        y = [n for n in names if n in x]
+        if len(y) != len(names):
+            raise Exception
+        x = repr(obj)
+        if x.startswith('<built-in'):
+            x = x.strip('<>').split()[2]
+        else:
+            x = x.strip('<>').split()[0]
+        TestPOA('dir(%s)'%x)
+    except:
+        TestFOA('dir(%s)'%x, LINE())
+
+#
+# Test that dir(x) appears to work
+#
+def TestDir(global_dir_result):
+    TestSection('behavior of dir()')
+
+    #
+    # Testing of global dir() behavior can't be done from within a func
+    #
+    global_dir_checks = ['AddPlot', 'DeleteAllPlots', 'Launch', 'GetMetaData']
+    y = [n for n in global_dir_checks if n in global_dir_result]
+    if len(y) != len(global_dir_checks):
+        TestFOA('dir()', LINE())
+    else:
+        TestPOA('dir()')
+
+    #
+    # Test a random handful of object level dirs
+    #
+    TestDirOutput(SILRestriction(), ['NumSets', 'TurnOnAll', 'Wholes'])
+    TestDirOutput(PseudocolorAttributes(), ['GetCentering', 'GetColorTableName',
+        'GetLightingFlag', 'GetLimitsMode', 'GetMax', 'SetCentering',
+        'SetColorTableName', 'SetLegendFlag', 'SetLimitsMode'])
+    TestDirOutput(ColorAttributeList(), ['AddColors', 'ClearColors', 'GetColors'])
+
+
+# Class to facilitate stdout redirect for testing `help()`
+class my_redirect_stdout(list):
+    def __enter__(self):
+        self._stdout = sys.stdout
+        sys.stdout = self._stringio = io.StringIO()
+        return self
+    def __exit__(self, *args):
+        self.extend(self._stringio.getvalue().splitlines())
+        del self._stringio    # free up some memory
+        sys.stdout = self._stdout
+
+# Below import works only for Python > 3.4
+# So, we use the class def above
+# from contextlib import redirect_stdout
+def TestHelpOutput(thing, words = None):
+    try:
+        with my_redirect_stdout() as output:
+            help(thing)
+        x  = [w for w in words if w in str(output)]
+        if len(x) != len(words):
+            raise Exception
+        x = repr(thing)
+        if x.startswith('<built-in'):
+            x = x.strip('<>').split()[2]
+        else:
+            x = x.strip('<>').split()[0]
+        TestPOA('help(%s)'%x)
+    except:
+        TestFOA('help(%s)'%x, LINE())
+
+def TestHelp():
+    TestSection('behavior of help()')
+
+    TestHelpOutput(AddPlot, ['plotType', 'variableName', 'inheritSIL'])
+    TestHelpOutput(CreateDatabaseCorrelation,
+        ['IndexForIndexCorrelation', 'CycleCorrelation', 'StretchedIndexCorrelation'])
+    TestHelpOutput(SILRestriction(),[]) # should not except
+    TestHelpOutput(SILRestriction, ['GlobalAttributes', 'SetPlotSILRestriction',
+        'TurnDomainsOff', 'TurnDomainsOn', 'TurnMaterialsOff', 'TurnMaterialsOn'])
+    TestHelpOutput('wholes', ['SILRestriction'])
+    TestHelpOutput('tensor', ['DefineArrayExpression', 'DefineTensorExpression',
+        'LCSAttributes', 'SPHResampleAttributes', 'TensorAttributes'])
+
+#
+# Scalar assignments
+#
+# TestAssignmentToUChar() No instances in any .xml files
+TestAssignmentToBool()
+TestAssignmentToInt()
+TestAssignmentToFloat()
+TestAssignmentToDouble()
+TestAssignmentToString()
+TestAssignmentToGlyphType()
+TestAssignmentToEnum()
+TestAssignmentToTuple()
+
+#
+# Vector assignments
+#
+TestAssignmentToUCharVector()
+#TestAssignmentToBoolVector() No instances in any .xml files
+TestAssignmentToIntVector()
+#TestAssignmentToFloatVector() No instances in any .xml files
+TestAssignmentToDoubleVector()
+
+#
+# Array assignments
+#
+TestAssignmentToUCharArray()
+#TestAssignmentToBoolArray() No instances in any .xml files
+TestAssignmentToIntArray()
+TestAssignmentToFloatArray()
+TestAssignmentToDoubleArray()
+
+#
+# Attribute Assignments
+#
+TestColorAttributeStuff()
+
+#
+# Dir behavior
+#
+TestDir(dir())
+
+#
+# Help() behavior
+#
+TestHelp()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_compiler_warnings.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_compiler_warnings.html new file mode 100644 index 000000000..2f8c1f36c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_compiler_warnings.html @@ -0,0 +1,36 @@ + +Results for unit/compiler_warnings.py + +

Results of VisIt Regression Test - unit/compiler_warnings

+ + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
+

Final Return Code: 116

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_compiler_warnings_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_compiler_warnings_py.html new file mode 100644 index 000000000..9df655a36 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_compiler_warnings_py.html @@ -0,0 +1,213 @@ +unit/compiler_warnings.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  compiler_warnings.py
+#
+#  Tests:      changes in compiler warnings
+#
+#  Mark C. Miller, Sun Jul 13 21:45:49 PDT 2014
+# ----------------------------------------------------------------------------
+import time, os.path, json, subprocess
+
+def ShouldSkip(srcfile, msg):
+    srcfile_tmp = "global skip list"
+    if srcfile in skip_list:
+        srcfile_tmp = srcfile
+    for skipmsg in skip_list[srcfile_tmp][0]:
+        minlen = min(len(skipmsg),len(msg))
+        if msg[0:minlen] == skipmsg[0:minlen]:
+            return 1
+    return 0
+
+data_dir = test_root_path("..","data")
+src_dir = test_root_path("..","src")
+tpb_dir = test_root_path("..","src","third_party_builtin")
+qtssh_dir = test_root_path("..","src","tools","qtssh")
+
+# skip this test if we don't have the make.err file
+if not os.path.exists(test_root_path("..","make.err")):
+    Exit(116)
+
+# To reduce noise, only run this test on Sunday evenings
+# regressiontest script stuffs a line of the form "DAY_OF_WEEK=Sunday"
+# into first line of make.err
+mfile = open(test_root_path("..","make.err"))
+shouldSkip = 1
+for line in mfile:
+    if "DAY_OF_WEEK=Sunday" in line:
+        shouldSkip = 0
+        break
+mfile.close()
+if shouldSkip:
+    Exit(116)
+
+#
+# Read per-file skip list and zero any line numbers
+# We allow line numbers there so that easy cut-n-paste
+# can be used to populate skip list
+#
+skip_list = {}
+try:
+    skip_list = json.load(open(test_root_path("tests","unit","compiler_warnings_skips.json")))
+except:
+    pass
+for s in skip_list:
+    for l in skip_list[s]:
+        for m in skip_list[s][l]:
+            skip_list[s][l][m] = 0
+        if l == 0:
+            continue
+        skip_list[s][0] = skip_list[s][l];
+        del skip_list[s][l]
+
+
+#
+# Examine warning messages in make output, building a single, large dictionary
+# spanning all source files that produced warnings.
+#   
+mfile = open(test_root_path("..","make.err"))
+warning_counts ={}
+warning_messages = {}
+for line in mfile:
+    if "warning" in line.lower():
+
+        # get name of file generating warning
+        line = line[0:-1] # remove trailing newline
+        warnline = line.partition(":")
+        warnfile1 = warnline[0]
+        warnfile2 = warnfile1.partition("]")
+        if warnfile2[1] == "]":
+            warnfile = warnfile2[2].replace(" ","")
+        else:
+            warnfile = warnfile2[0]
+
+        if warnfile[0:len(src_dir):1] != src_dir:
+            continue # ignore files not in our src dir, not our code
+        if warnfile[0:len(tpb_dir):1] == tpb_dir:
+            continue # ignore files in third_party_builtin, not our code
+        if warnfile[0:len(data_dir):1] == data_dir:
+            continue # ignore files in data dir, not relevant to VisIt for users
+        if warnfile[0:len(qtssh_dir):1] == qtssh_dir:
+            continue # ignore files in qtssh dir, not our code 
+
+        src_file = warnfile[len(src_dir)+1::1]
+        if warnline[1] == ":" and os.path.exists(warnfile):
+            msginfo = warnline[2].partition(":")
+            if not msginfo[0].isdigit():
+                continue # probably a garbled message in make.err
+            lineno = int(msginfo[0])
+            rawmsg = msginfo[2]
+            idx = rawmsg.find("warning")
+            if idx > -1:
+                msg = rawmsg[idx::1]
+            else:
+                msg = rawmsg
+            if msg[0:len("warning: ")] == "warning: ":
+                msg = msg[len("warning: ")::1]
+            msg_ascii = msg.decode('unicode_escape').encode('ascii','ignore')
+            msg = msg_ascii
+
+            if ShouldSkip(src_file, msg):
+                continue
+
+            if src_file in warning_counts:
+                warning_counts[src_file] += 1
+                if lineno in warning_messages[src_file]:
+                    if msg in warning_messages[src_file][lineno]:
+                        warning_messages[src_file][lineno][msg] += 1
+                    else:
+                        warning_messages[src_file][lineno][msg] = 1
+                else:
+                    warning_messages[src_file][lineno] = {msg:1}
+            else:
+                warning_counts[src_file] = 1
+                warning_messages[src_file] = {lineno:{msg:1}}
+
+mfile.close()
+
+#
+# Load in current warning counts baseline data
+#
+baseline_counts = {}
+try:
+    baseline_counts = json.load(open(test_baseline_path("unit","compiler_warnings","warning_counts_by_file.txt")))
+except:
+    pass
+
+improved_counts = {}
+worsened_counts = {}
+for f in warning_counts:
+    if f in baseline_counts:
+        if warning_counts[f] > baseline_counts[f]:
+            worsened_counts[f] = warning_counts[f]
+        elif warning_counts[f] < baseline_counts[f]:
+            improved_counts[f] = warning_counts[f]
+            baseline_counts[f] = warning_counts[f]
+    else:
+        worsened_counts[f] = warning_counts[f]
+for f in baseline_counts:
+    if f not in warning_counts:
+        improved_counts[f] = 0
+for f in improved_counts:
+    if improved_counts[f] == 0 and f in baseline_counts:
+        del baseline_counts[f]
+
+#
+# If there were improvements, re-baseline counts file
+#
+if len(improved_counts):
+    bfilename = test_baseline_path("unit","compiler_warnings","warning_counts_by_file.txt")
+    bfile = open(bfilename,"w+")
+    json.dump(baseline_counts,bfile,indent=4,sort_keys=True)
+    bfile.write("\n")
+    bfile.close()
+    retval = subprocess.call(["/usr/bin/svn","commit","-m","'Updating warning counts'","%s"%bfilename])
+
+#
+# Generate the (sorted) warning counts data
+#
+counts_txt = "{\n"
+keys = list(worsened_counts.keys())
+keys.sort()
+for k in keys:
+    counts_txt += "\"%s\": %d,\n"%(k,worsened_counts[k])
+counts_txt += "\"last line\": 0\n}\n"
+TestText("worsened_counts_by_file", counts_txt)
+
+#
+# Ok, tricky here. Append all the warning details to the html file
+# so others can actually see it
+#
+uniq_msgs = {}
+tot_files = len(warning_counts)
+tot_cnt = 0
+tot_uniq_cnt = 0
+for srcfile in warning_messages:
+    for lineno in warning_messages[srcfile]:
+        for msg in warning_messages[srcfile][lineno]:
+            if msg not in uniq_msgs:
+                uniq_msgs[msg] = 1
+            else:
+                uniq_msgs[msg] += 1
+            tot_uniq_cnt += 1
+            tot_cnt += len(warning_messages[srcfile][lineno])
+
+
+f = open(out_path("html","worsened_counts_by_file.html"),"a")
+f.write("<pre>\n")
+f.write("\n\n\nTotal warnings %d\n"%tot_cnt)
+f.write("Total files with warnings %d\n"%tot_files)
+f.write("Total unique warnings %d\n"%tot_uniq_cnt)
+f.write("Unique warning messages by count...\n")
+sorted_uniq_msgs = sorted(uniq_msgs, key=uniq_msgs.get, reverse=True)
+for msg in sorted_uniq_msgs:
+    f.write("%d: \"%s\"\n"%(uniq_msgs[msg],msg))
+f.write("\n\n\nWarning message details by file and line number...\n");
+f.write(json.dumps(warning_messages,indent=4))
+f.write("\n\n\nWarning message strings currently being skipped if matched...\n")
+f.write(json.dumps(skip_list,indent=4))
+f.write("</pre>\n")
+f.close()
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_convert2to3.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_convert2to3.html new file mode 100644 index 000000000..b24499594 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_convert2to3.html @@ -0,0 +1,44 @@ + +Results for unit/convert2to3.py + +

Results of VisIt Regression Test - unit/convert2to3

+ + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
simple_2to3_input0 modifications totalling 0 lines
simple_2to3_result0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_convert2to3_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_convert2to3_py.html new file mode 100644 index 000000000..e69c2b76c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_convert2to3_py.html @@ -0,0 +1,34 @@ +unit/convert2to3.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  convert2to3.py
+#
+#  Tests:      Tests methods that help with converting python 2 style scripts
+#              to python 3. 
+#
+#  Cyrus Harrison, Mon Jul 20 11:32:42 PDT 2020
+# ----------------------------------------------------------------------------
+
+
+
+test_script_src = "print 'Old Style Print!'\n"
+
+TestText("simple_2to3_input",test_script_src)
+TestText("simple_2to3_result",ConvertPy2to3(test_script_src))
+
+
+#
+# Test on-the-fly logic for visit.Source
+#
+
+test_script_file = "tgen_test_py2_script.py";
+open(test_script_file,"w").write(test_script_src)
+
+curr_val = visit_utils.builtin.GetAutoPy2to3()
+
+visit_utils.SetAutoPy2to3(True)
+visit.Source(test_script_file)
+visit_utils.SetAutoPy2to3(curr_val)
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_default_methods.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_default_methods.html new file mode 100644 index 000000000..40107afb8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_default_methods.html @@ -0,0 +1,84 @@ + +Results for unit/default_methods.py + +

Results of VisIt Regression Test - unit/default_methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
GetDebugLevel()
 0 .eq. 0 (prec=5) : True
GetLastError()
 "Can't delete the last window." .eq. "Can't delete the last window." : True
Clearing GetLastError()
 "" .eq. "" : True
Version()
 340 .ge. 321 (prec=5) : True
LocalNameSpace()
 "None" .eq. "None" : True
WriteScript('foo.py') == WriteScript(f)
 "True" .eq. "True" : True
WriteScript() file size
 4000 .gt. 3000 (prec=5) : True
SetsInCategory in dir(SILAttributes())
 SetsInCategory .in. 
['Categories', 'EnableCorrectnessChecking', 'MapsOut', 'NumCategories', 'NumSets', 'SetIndex', 'SetName', 'SetsInCategory', 'SuspendCorrectnessChecking', 'TopSet', 'TurnOffAll', 'TurnOffSet', 'TurnOnAll', 'TurnOnSet', 'TurnSet', 'UsesAllData', 'UsesData', 'Wholes']
 (prec=5, at=7) : True
SetIndex in dir(SILAttributes())
 SetIndex .in. 
['Categories', 'EnableCorrectnessChecking', 'MapsOut', 'NumCategories', 'NumSets', 'SetIndex', 'SetName', 'SetsInCategory', 'SuspendCorrectnessChecking', 'TopSet', 'TurnOffAll', 'TurnOffSet', 'TurnOnAll', 'TurnOnSet', 'TurnSet', 'UsesAllData', 'UsesData', 'Wholes']
 (prec=5, at=5) : True
RotateAxis in dir(View3Dattributes())
 RotateAxis .in. 
['Add', 'GetAxis3DScaleFlag', 'GetAxis3DScales', 'GetCenterOfRotation', 'GetCenterOfRotationSet', 'GetEyeAngle', 'GetFarPlane', 'GetFocus', 'GetImagePan', 'GetImageZoom', 'GetNearPlane', 'GetParallelScale', 'GetPerspective', 'GetShear', 'GetViewAngle', 'GetViewNormal', 'GetViewUp', 'GetWindowValid', 'Mul', 'Notify', 'RotateAxis', 'SetAxis3DScaleFlag', 'SetAxis3DScales', 'SetCenterOfRotation', 'SetCenterOfRotationSet', 'SetEyeAngle', 'SetFarPlane', 'SetFocus', 'SetImagePan', 'SetImageZoom', 'SetNearPlane', 'SetParallelScale', 'SetPerspective', 'SetShear', 'SetViewAngle', 'SetViewNormal', 'SetViewUp', 'SetWindowValid']
 (prec=5, at=20) : True
GetImageZoom in dir(View3Dattributes())
 GetImageZoom .in. 
['Add', 'GetAxis3DScaleFlag', 'GetAxis3DScales', 'GetCenterOfRotation', 'GetCenterOfRotationSet', 'GetEyeAngle', 'GetFarPlane', 'GetFocus', 'GetImagePan', 'GetImageZoom', 'GetNearPlane', 'GetParallelScale', 'GetPerspective', 'GetShear', 'GetViewAngle', 'GetViewNormal', 'GetViewUp', 'GetWindowValid', 'Mul', 'Notify', 'RotateAxis', 'SetAxis3DScaleFlag', 'SetAxis3DScales', 'SetCenterOfRotation', 'SetCenterOfRotationSet', 'SetEyeAngle', 'SetFarPlane', 'SetFocus', 'SetImagePan', 'SetImageZoom', 'SetNearPlane', 'SetParallelScale', 'SetPerspective', 'SetShear', 'SetViewAngle', 'SetViewNormal', 'SetViewUp', 'SetWindowValid']
 (prec=5, at=9) : True
SetImagePan in dir(View3Dattributes())
 SetImagePan .in. 
['Add', 'GetAxis3DScaleFlag', 'GetAxis3DScales', 'GetCenterOfRotation', 'GetCenterOfRotationSet', 'GetEyeAngle', 'GetFarPlane', 'GetFocus', 'GetImagePan', 'GetImageZoom', 'GetNearPlane', 'GetParallelScale', 'GetPerspective', 'GetShear', 'GetViewAngle', 'GetViewNormal', 'GetViewUp', 'GetWindowValid', 'Mul', 'Notify', 'RotateAxis', 'SetAxis3DScaleFlag', 'SetAxis3DScales', 'SetCenterOfRotation', 'SetCenterOfRotationSet', 'SetEyeAngle', 'SetFarPlane', 'SetFocus', 'SetImagePan', 'SetImageZoom', 'SetNearPlane', 'SetParallelScale', 'SetPerspective', 'SetShear', 'SetViewAngle', 'SetViewNormal', 'SetViewUp', 'SetWindowValid']
 (prec=5, at=28) : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_default_methods_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_default_methods_py.html new file mode 100644 index 000000000..6c882a104 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_default_methods_py.html @@ -0,0 +1,58 @@ +unit/default_methods.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  default_methods.py
+#
+#  Tests:      Tests default method interface of the visit module
+#
+#  Cyrus Harrison, Mon Jul 20 11:32:42 PDT 2020
+#
+#  Modifications
+#    Mark C. Miller, Thu Dec 16 16:43:39 PST 2021
+#    Wrap in TestValueXX calls so that we really do test behavior and not
+#    just that something doesn't fail due to exception. Add tests for
+#    WriteScript.
+# ----------------------------------------------------------------------------
+import os, sys, filecmp
+
+TestValueEQ("GetDebugLevel()", GetDebugLevel(), 0)
+
+# Do something to create an error (not a python exception) so that we
+# can get something other than the empty string from GetLastError()
+DeleteWindow()
+TestValueEQ("GetLastError()", GetLastError(), "Can't delete the last window.")
+
+# Test that we can clear the last error too
+GetLastError(1)
+TestValueEQ("Clearing GetLastError()", GetLastError(), "")
+
+# This version number test assumes 3, single digits
+TestValueGE("Version()", int(Version().replace('.','')), 321)
+
+TestValueEQ("LocalNameSpace()", LocalNameSpace(), None)
+
+# The long file name test is relevant only on Windows
+# But, we should really have an example of a short file name
+# there that LongFileName expands and we confirm matches expected
+if sys.platform.startswith("win"):
+    TestValueEQ("LongFileName()", LongFileName("myfile.txt"), "myfile.txt")
+
+# Test two ways of using WriteScript
+f = open('foo.py', 'wt')
+WriteScript(f)
+f.close()
+WriteScript('bar.py')
+TestValueEQ("WriteScript('foo.py') == WriteScript(f)", filecmp.cmp('foo.py','bar.py'), True)
+TestValueGT("WriteScript() file size", os.path.getsize('foo.py'), 3000)
+
+# Test dir() on some objects
+dout = dir(SILRestriction())
+TestValueIN("SetsInCategory in dir(SILAttributes())", dout, 'SetsInCategory')
+TestValueIN("SetIndex in dir(SILAttributes())", dout, 'SetIndex')
+dout = dir(View3DAttributes())
+TestValueIN("RotateAxis in dir(View3Dattributes())", dout, 'RotateAxis')
+TestValueIN("GetImageZoom in dir(View3Dattributes())", dout, 'GetImageZoom')
+TestValueIN("SetImagePan in dir(View3Dattributes())", dout, 'SetImagePan')
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_launcher.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_launcher.html new file mode 100644 index 000000000..9236dc8b5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_launcher.html @@ -0,0 +1,120 @@ + +Results for unit/launcher.py + +

Results of VisIt Regression Test - unit/launcher

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
aprun0 modifications totalling 0 lines
bsub0 modifications totalling 0 lines
bsub_mpirun0 modifications totalling 0 lines
dmpirun0 modifications totalling 0 lines
ibrun0 modifications totalling 0 lines
mpirun0 modifications totalling 0 lines
msub_aprun0 modifications totalling 0 lines
msub_ibrun0 modifications totalling 0 lines
msub_mpiexec0 modifications totalling 0 lines
msub_mpirun0 modifications totalling 0 lines
msub_srun0 modifications totalling 0 lines
poe0 modifications totalling 0 lines
prun0 modifications totalling 0 lines
psub0 modifications totalling 0 lines
psub_mpirun0 modifications totalling 0 lines
psub_srun0 modifications totalling 0 lines
salloc0 modifications totalling 0 lines
sbatch0 modifications totalling 0 lines
sbatch_aprun0 modifications totalling 0 lines
srun0 modifications totalling 0 lines
yod0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_launcher_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_launcher_py.html new file mode 100644 index 000000000..18151e599 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_launcher_py.html @@ -0,0 +1,196 @@ +unit/launcher.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  launcher.py
+#
+#  Tests:      This script tests internallauncher's transformation of visit
+#              command line arguments into parallel launch arguments.
+#
+#  Brad Whitlock, Tue Sep 11 12:31:34 PDT 2012
+#
+# Modifications:
+#   Brad Whitlock, Fri Dec  7 09:08:22 PST 2012
+#   I added a little more filtering of the launcher output to replace the host
+#   with $HOST now that the noloopback case will always use the real host
+#   name instead of 127.0.0.1 for parallel engine launches.
+#
+# ----------------------------------------------------------------------------
+import os
+import socket
+import subprocess
+import getpass
+
+# The launch cases we want to test.
+launch_cases = {
+"aprun"          : ["-nn", "1"],
+"bsub"           : ["-p", "pbatch", "-t", "30:00", "-la", "-arg1 -arg2"],
+"bsub/mpirun"    : ["-p", "pbatch", "-t", "30:00", "-la", "-arg1 -arg2", "-sla", "-arg3 -arg4"],
+"dmpirun"        : ["-b", "bdivp"],
+"ibrun"          : [],
+"mpirun"         : [],
+"msub/aprun"     : ["-nn", "1", "-sla", "-arg1 -arg2", "-hw-pre", "startx", "-hw-post", "stopx"],
+"msub/ibrun"     : ["-hw-pre", "startx", "-hw-post", "stopx"],
+"msub/mpiexec"   : ["-slpre", "echo 'slprecommand'", "-slpost", "echo 'slpostcommand'", "-sla", "-arg1 -arg2", "-machinefile", "machine.txt", "-hw-pre", "startx", "-hw-post", "stopx"],
+"msub/mpirun"    : ["-sla", "-arg1 -arg2", "-machinefile", "machine.txt", "-hw-pre", "startx", "-hw-post", "stopx"],
+"msub/srun"      : ["-sla", "-arg1 -arg2", "-hw-pre", "startx", "-hw-post", "stopx"],
+"poe"            : ["-nn", "1", "-p", "pbatch"],
+"prun"           : ["-nn", "1", "-p", "pbatch"],
+"psub"           : ["-n", "JOB_NAME", "-p", "pbatch", "-b", "bdivp", "-t", "30:00", "-expedite", "-slpre", "echo 'pre command'", "-slpost", "echo 'post command'"],
+"psub/mpirun"    : ["-nn", "1", "-n", "JOB_NAME", "-p", "pbatch", "-b", "bdivp", "-t", "30:00", "-expedite", "-slpre", "echo 'pre command'", "-slpost", "echo 'post command'"],
+"psub/srun"      : ["-nn", "1", "-n", "JOB_NAME", "-p", "pbatch", "-b", "bdivp", "-t", "30:00", "-expedite", "-slpre", "echo 'pre command'", "-slpost", "echo 'post command'"],
+
+
+"salloc"         : ["-p", "pbatch", "-t", "30:00", "-nn", "1"],
+"sbatch"         : ["-p", "pbatch", "-b", "bdivp", "-nn", "1"],
+"sbatch/aprun"   : ["-p", "pbatch", "-b", "bdivp", "-nn", "1", "-sla", "-arg1 -arg2"],
+"srun"           : ["-nn", "1", "-p", "pbatch", "-b", "bdivp", "-n", "JOB_NAME", "-t", "30:00"],
+"yod"            : []}
+
+# Some debugger arguments.
+debuggers = [[], ["-totalview", "engine_par"], ["-valgrind", "engine_par"], ["-strace", "engine_par"]]
+
+# Get the launcher command for new versions of VisIt.
+def GetLauncherCommand(args):
+    p = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
+    stdout, stderr = p.communicate()
+    ru = stdout.find("RUN USING")
+    if ru != -1:
+        cmd = stdout[ru + 11:-2]
+    else:
+        cmd = stdout
+    return cmd
+
+def FilterLauncherOutput(text, replacements):
+    for k in list(replacements.keys()):
+        text = text.replace(k, replacements[k])
+    return text
+
+def FilterHostName(text):
+    host = text.find("-host")
+    port = text.find("-port")
+    if host != -1 and port != -1:
+        return text[:host + 6] + "$HOST " + text[port:]
+    return text
+
+def hostname():
+    return socket.gethostname()
+
+def nodename():
+    return hostname().split(".")[0]
+
+def sectorname():
+    s = nodename()
+    for d in "0123456789":
+        s = s.replace(d, "")
+    return s
+
+def FormatLauncherOutput(cmd):
+    tmpvisit = cmd.find("/tmp/visit")
+    text = ""
+    if tmpvisit == -1:
+        text = cmd
+    else:
+        # The launcher made a script. Get the contents of the script.
+        index = tmpvisit
+        try:
+            while cmd[index] != '\n':
+                index = index + 1
+            filename = cmd[tmpvisit:index]
+        except:
+            filename = cmd[tmpvisit:]
+
+        cmd = cmd.replace(filename, "$LAUNCHSCRIPT")
+        text = text + cmd
+
+        try:
+            lines = open(filename, "rt").readlines()
+            text = text + '\n\nContents of $LAUNCHSCRIPT:\n'
+            for line in lines:
+                text = text + line
+            os.unlink(filename)
+        except:
+            pass
+
+    return text
+
+
+# For each launcher
+i = 0
+keys = list(launch_cases.keys())
+keys.sort()
+for k in keys:
+    # Test the launcher with each debugger.
+    j = 0
+    text = ""
+    for j in range(len(debuggers)):
+        np = []
+        if not "-np" in launch_cases[k]:
+            np = ["-np", "8"]
+        args = ["-engine", "-norun", "engine_par", "-l", k] + np + launch_cases[k] + ["-host", "127.0.0.1", "-port", "5600"] + debuggers[j]
+
+        # Come up with a visit command
+        cmd = ""
+        for a in args:
+            if " " in a:
+                cmd = cmd + '"%s" ' % a
+            else:
+                cmd = cmd + a + ' '
+
+        # Run the launcher and get the output.
+        visitdir = pjoin(TestEnv.params["top_dir"],"src")
+        visittestdir = pjoin(TestEnv.params["top_dir"],"test")
+        visit =  visit_bin_path("visit")
+        output = FormatLauncherOutput(GetLauncherCommand([visit] + args))
+        # filter the run dir, since there are multiple variants for nightly tests
+        # (serial, par, etc)
+        output = FilterLauncherOutput(output, {TestEnv.params["run_dir"]: "$VISIT_TEST_DIR"})
+        output = FilterLauncherOutput(output, {TestEnv.params["result_dir"] : "$VISIT_TEST_DIR"})
+        # Filter out visitdir and some related directories.
+        output = FilterLauncherOutput(output, {visit_bin_path() : "$VISIT_EXE_DIR"})
+        output = FilterLauncherOutput(output, {visit_bin_path("..","exe") : "$VISIT_EXE_DIR"})
+        output = FilterLauncherOutput(output, {visittestdir : "$VISIT_TEST_DIR"})
+        output = FilterLauncherOutput(output, {visit_bin_path("..") : "$VISITDIR"})
+        output = FilterLauncherOutput(output, {visitdir : "$VISITDIR"})
+        # special case filter to resolve csh vs bash env differences
+        bash_case   = "ulimit -c 0 ;"
+        bash_case  += " LIBPATH=$VISITDIR/lib ;"
+        bash_case  += " export LIBPATH ;"
+        bash_case  += " LD_LIBRARY_PATH=$VISITDIR/lib ;"
+        bash_case  += " export LD_LIBRARY_PATH"
+
+        csh_case  = "limit coredumpsize 0 ;"
+        csh_case += " setenv LIBPATH $VISITDIR/lib ;"
+        csh_case += " setenv LD_LIBRARY_PATH $VISITDIR/lib"
+        shell_filter = {bash_case : csh_case}
+        output = FilterLauncherOutput(output, shell_filter)
+        # Filter out $HOME.
+        try:
+            output = FilterLauncherOutput(output, {os.environ["HOME"] : "$HOME"})
+        except:
+            pass
+
+        cdcmd = "cd $VISIT_TEST_DIR"
+
+        # Filter out some other stuff.
+        replacements = {getpass.getuser() : "$USER",
+                        Version()         : "$VERSION",
+                        "linux-intel"     : "$PLATFORM",
+                        "linux-x86_64"    : "$PLATFORM",
+                        "darwin-i386"     : "$PLATFORM",
+                        "darwin-x86_64"   : "$PLATFORM"}
+
+        output = FilterLauncherOutput(output, replacements)
+
+        output = FilterHostName(output)
+
+        # Do the test
+        text = text + "="*80 + "\n"
+        text = text + "CASE: %s\n\nINPUT: visit %s\n\nRESULTS:\n" % (k + " " + " ".join(debuggers[j]), cmd[:-1])
+        text = text + output + "\n"*2
+
+    name = k.replace("/", "_")
+    TestText(name, text)
+    i = i + 1
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_mrucache.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_mrucache.html new file mode 100644 index 000000000..4a252ddca --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_mrucache.html @@ -0,0 +1,40 @@ + +Results for unit/mrucache.py + +

Results of VisIt Regression Test - unit/mrucache

+ + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
mrucache0 modifications totalling 0 lines
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_mrucache_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_mrucache_py.html new file mode 100644 index 000000000..9b09eb16e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_mrucache_py.html @@ -0,0 +1,24 @@ +unit/mrucache.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  mrucache.py
+#
+#  Tests:      MRUCache_test unit test
+#
+#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
+#
+#  Modifications:
+#    Kathleen Biagas, Mon Oct 26, 2020
+#    Retrieve the correct path on Windows.
+#
+# ----------------------------------------------------------------------------
+import sys
+
+if sys.platform.startswith("win"):
+    tapp = visit_bin_path("MRUCache_test.exe")
+else:
+    tapp = visit_bin_path("..","exe","MRUCache_test")
+res = sexe(tapp,ret_output=True)
+TestText("mrucache", res["output"])
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_namescheme.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_namescheme.html new file mode 100644 index 000000000..00fd70580 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_namescheme.html @@ -0,0 +1,36 @@ + +Results for unit/namescheme.py + +

Results of VisIt Regression Test - unit/namescheme

+ + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_namescheme_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_namescheme_py.html new file mode 100644 index 000000000..83cec4432 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_namescheme_py.html @@ -0,0 +1,27 @@ +unit/namescheme.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  namescheme.py
+#
+#  Tests:      Namescheme_test unit test
+#
+#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
+#
+#  Modifications:
+#    Kathleen Biagas, Mon Oct 26, 2020
+#    Retrieve correct path on Windows.
+#
+# ----------------------------------------------------------------------------
+import sys
+
+if sys.platform.startswith("win"):
+    tapp = visit_bin_path("Namescheme_test.exe")
+else:
+    tapp = visit_bin_path("..","exe","Namescheme_test")
+res = sexe(tapp,ret_output=True)
+if res["return_code"] == 0:
+    excode = 111
+else:
+    excode = 113
+Exit(excode)
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_protocol.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_protocol.html new file mode 100644 index 000000000..d76a7fe7f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_protocol.html @@ -0,0 +1,36 @@ + +Results for unit/protocol.py + +

Results of VisIt Regression Test - unit/protocol

+ + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_protocol_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_protocol_py.html new file mode 100644 index 000000000..4bdb01b09 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_protocol_py.html @@ -0,0 +1,17 @@ +unit/protocol.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  protocolo.py
+#
+#  Tests:      vistprotocol unit test
+#
+#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
+# ----------------------------------------------------------------------------
+tapp = visit_bin_path("visitprotocol")
+res = sexe(tapp,ret_output=True)
+if res["return_code"] == 0:
+    excode = 111
+else:
+    excode = 113
+Exit(excode)
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_stringhelpers.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_stringhelpers.html new file mode 100644 index 000000000..9a7b72614 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_stringhelpers.html @@ -0,0 +1,36 @@ + +Results for unit/stringhelpers.py + +

Results of VisIt Regression Test - unit/stringhelpers

+ + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_stringhelpers_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_stringhelpers_py.html new file mode 100644 index 000000000..bb4c42a06 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_stringhelpers_py.html @@ -0,0 +1,26 @@ +unit/stringhelpers.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  stringhelpers.py
+#
+#  Tests:      StringHelpers_test unit test
+#
+#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
+#
+#  Modifications:
+#    Kathleen Biagas, Thu Nov 12, 2020
+#    Retrieve the correct path on Windows.
+# ----------------------------------------------------------------------------
+import sys
+
+if sys.platform.startswith("win"):
+    tapp = visit_bin_path("StringHelpers_test.exe")
+else:
+    tapp = visit_bin_path("..","exe","StringHelpers_test")
+res = sexe(tapp,ret_output=True)
+if res["return_code"] == 0:
+    excode = 111
+else:
+    excode = 113
+Exit(excode)
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_test_value_simple.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_test_value_simple.html new file mode 100644 index 000000000..ac1c5c847 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_test_value_simple.html @@ -0,0 +1,120 @@ + +Results for unit/test_value_simple.py + +

Results of VisIt Regression Test - unit/test_value_simple

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
Basic
test_value_basic_001
 100 .eq. 100 (prec=5) : True
test_value_basic_002
 200 .ne. 100 (prec=5) : True
test_value_basic_003
 100 .lt. 200 (prec=5) : True
test_value_basic_004
 100 .le. 200 (prec=5) : True
test_value_basic_005
 200 .le. 200 (prec=5) : True
test_value_basic_006
 200 .gt. 100 (prec=5) : True
test_value_basic_007
 200 .ge. 100 (prec=5) : True
test_value_basic_008
 200 .ge. 200 (prec=5) : True
test_value_basic_009
 100.0 .eq. 100 (prec=5) : True
Precision
test_value_prec_001
 200.0001 .eq. 200 (prec=3) : True
test_value_prec_002
 200.0000000001 .eq. 200 (prec=9) : True
test_value_prec_004
 200.0001 .ne. 200 (prec=9) : True
In Operator
test_value_in_001
 200 .in. 
(100, 200, 300)
 (prec=5, at=1) : True
test_value_in_001
 (1, -1) .in. 
[(0, 0),
  (1, 0),
  (1, -1),
  (0, 1)]
 (prec=5, at=2) : True
test_value_in_002
 35 .in. 
(17, 18, 19, 20, 21)
 (prec=2, at=3) : True
Objects
test_value_object_001
 "[1, '2', 3]" .eq. "[1, '2', 3]" : True
test_value_object_002
 "apple" .lt. "carrot" : True
test_value_object_003
 (1, 1, 4.71e-06) .lt. (1, 1, 5.01e-06)
 (prec=5) : True
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_test_value_simple_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_test_value_simple_py.html new file mode 100644 index 000000000..6af22d3aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_test_value_simple_py.html @@ -0,0 +1,56 @@ +unit/test_value_simple.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  test_value_simple.py
+#
+#  Tests:      VisIt Test Suite Test Value tests
+#
+#  Defect ID:  none
+#
+#  Programmer: Mark C. Miller, Sun Jan 10 10:24:59 PST 2021
+#
+# ----------------------------------------------------------------------------
+
+# Basic cases
+TestSection("Basic")
+TestValueEQ("test_value_basic_001",100,100)
+TestValueNE("test_value_basic_002",200,100)
+
+TestValueLT("test_value_basic_003",100,200)
+TestValueLE("test_value_basic_004",100,200)
+TestValueLE("test_value_basic_005",200,200)
+
+TestValueGT("test_value_basic_006",200,100)
+TestValueGE("test_value_basic_007",200,100)
+TestValueGE("test_value_basic_008",200,200)
+
+TestValueEQ("test_value_basic_009",100.0,100)
+
+# Rounding cases
+TestSection("Precision")
+TestValueEQ("test_value_prec_001",200.0001,200,3)
+TestValueEQ("test_value_prec_002",200.0000000001,200,9)
+TestValueNE("test_value_prec_004",200.0001,200,9)
+
+# IN operator
+TestSection("In Operator")
+TestValueIN("test_value_in_001",(100,200,300),200)
+TestValueIN("test_value_in_001",[(0,0), (1,0), (1,-1), (0,1)],(1,-1))
+
+# Custom equivalence operator for TestValueIN
+def EqMod5(a,b):
+    return a%5 == b%5
+
+# This tests that '35' is IN '(17,18,19,20,21)' by the EqMod5 operator
+# which says two things are equal if their mod 5 values are equal. So,
+# '35' is IN the list because 20%5==35%5 (0)
+TestValueIN("test_value_in_002",(17,18,19,20,21),35,2,EqMod5)
+
+# General Python objects wind up being tested as strings
+TestSection("Objects")
+TestValueEQ("test_value_object_001",[1,'2',3],"[1, '2', 3]")
+TestValueLT("test_value_object_002","apple","carrot")
+TestValueLT("test_value_object_003",(1,1,0.00000471),(1,1,0.00000501))
+
+Exit()
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_utility.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_utility.html new file mode 100644 index 000000000..6259f9415 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_utility.html @@ -0,0 +1,36 @@ + +Results for unit/utility.py + +

Results of VisIt Regression Test - unit/utility

+ + + + + + + + + + + + + + +
Test CaseErrorsImages
%DiffsMaximumBaselineCurrentDiff Map
+

Final Return Code: 111

+ + diff --git a/2023-11-08-22:00/pascal_trunk_parallel/unit_utility_py.html b/2023-11-08-22:00/pascal_trunk_parallel/unit_utility_py.html new file mode 100644 index 000000000..cd40f750c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/unit_utility_py.html @@ -0,0 +1,27 @@ +unit/utility.py
# ----------------------------------------------------------------------------
+#  CLASSES: nightly
+#
+#  Test Case:  utility.py
+#
+#  Tests:      Utility_test unit test
+#
+#  Mark C. Miller, Mon Dec  1 23:55:05 PST 2014
+#
+#  Modifications:
+#    Kathleen Biagas, Mon Oct 26, 2020
+#    Retrieve correct path on Windows.
+#
+# ----------------------------------------------------------------------------
+import sys
+
+if sys.platform.startswith("win"):
+    tapp = visit_bin_path("Utility_test.exe")
+else:
+    tapp = visit_bin_path("..","exe","Utility_test")
+res = sexe(tapp,ret_output=True)
+if res["return_code"] == 0:
+    excode = 111
+else:
+    excode = 113
+Exit(excode)
+
\ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_parallel/zerocopy02.html b/2023-11-08-22:00/pascal_trunk_parallel/zerocopy02.html new file mode 100644 index 000000000..0f2ea2836 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_parallel/zerocopy02.html @@ -0,0 +1,31 @@ +Results for test case zerocopy02 + +

Results for test case zerocopy02

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
1 Lines Changed

+

1 modifications, totalling 1 lines

+ + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1: OK: All methods use less memory than copying.1: ERROR: Some methods used more memory than copying.
diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/Pick2D.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/Pick2D.html new file mode 100644 index 000000000..9ffc1cc5d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/Pick2D.html @@ -0,0 +1,1706 @@ +Results for test case Pick2D + +

Results for test case Pick2D

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
100 Lines Changed

+

1 modifications, totalling 100 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1:  
2: A: ucd2d.silo2: A: ucd2d.silo
3: ucdmesh2d3: ucdmesh2d
4: Point: <1.95556, 0.355556>4: Point: <1.95556, 0.355556>
5: Zone: 55: Zone: 5
6: Incident Nodes: 2 1 3 56: Incident Nodes: 2 1 3 5
7: d: <nodal>7: d: <nodal>
8:     (2) = 0.7071078:     (2) = 0.707107
9:     (1) = 29:     (1) = 2
10:     (3) = 0.70710710:     (3) = 0.707107
11:     (5) = 0.511:     (5) = 0.5
12:  12:  
13: p: <zonal> = 0.87513: p: <zonal> = 0.875
14:  14:  
15: u: <nodal>15: u: <nodal>
16:     (2) = -0.516:     (2) = -0.5
17:     (1) = 017:     (1) = 0
18:     (3) = 0.518:     (3) = 0.5
19:     (5) = 019:     (5) = 0
20:  20:  
21:  21:  
22: B: ucd2d.silo22: B: ucd2d.silo
23: ucdmesh2d23: ucdmesh2d
24: Point: <1.42222, 2.06222>24: Point: <1.42222, 2.06222>
25: Zone: 425: Zone: 4
26: Incident Nodes: 0 2 6 926: Incident Nodes: 0 2 6 9
27: d: <nodal>27: d: <nodal>
28:     (0) = 228:     (0) = 2
29:     (2) = 0.70710729:     (2) = 0.707107
30:     (6) = 0.530:     (6) = 0.5
31:     (9) = 0.70710731:     (9) = 0.707107
32:  32:  
33: p: <zonal> = 0.87533: p: <zonal> = 0.875
34:  34:  
35: u: <nodal>35: u: <nodal>
36:     (0) = -236:     (0) = -2
37:     (2) = -0.537:     (2) = -0.5
38:     (6) = -0.538:     (6) = -0.5
39:     (9) = -0.539:     (9) = -0.5
40:  40:  
41:  41:  
42: C: ucd2d.silo42: C: ucd2d.silo
43: ucdmesh2d43: ucdmesh2d
44: Point: <2, 1.125>44: Point: <2, 1.125>
45: Zone: 545: Zone: 5
46: Incident Nodes: 2 1 3 546: Incident Nodes: 2 1 3 5
47: d: <nodal>47: d: <nodal>
48:     (2) = 0.70710748:     (2) = 0.707107
49:     (1) = 249:     (1) = 2
50:     (3) = 0.70710750:     (3) = 0.707107
51:     (5) = 0.551:     (5) = 0.5
52:  52:  
53: p: <zonal> = 0.87553: p: <zonal> = 0.875
54:  54:  
55: u: <nodal>55: u: <nodal>
56:     (2) = -0.556:     (2) = -0.5
57:     (1) = 057:     (1) = 0
58:     (3) = 0.558:     (3) = 0.5
59:     (5) = 059:     (5) = 0
60:  60:  
61:  61:  
62: D: ucd2d.silo62: D: ucd2d.silo
63: ucdmesh2d63: ucdmesh2d
64: Point: <1.125, 2>64: Point: <1.125, 2>
65: Zone: 465: Zone: 4
66: Incident Nodes: 0 2 6 966: Incident Nodes: 0 2 6 9
67: d: <nodal>67: d: <nodal>
68:     (0) = 268:     (0) = 2
69:     (2) = 0.70710769:     (2) = 0.707107
70:     (6) = 0.570:     (6) = 0.5
71:     (9) = 0.70710771:     (9) = 0.707107
72:  72:  
73: p: <zonal> = 0.87573: p: <zonal> = 0.875
74:  74:  
75: u: <nodal>75: u: <nodal>
76:     (0) = -276:     (0) = -2
77:     (2) = -0.577:     (2) = -0.5
78:     (6) = -0.578:     (6) = -0.5
79:     (9) = -0.579:     (9) = -0.5
80:  80:  
81:  81:  
82: E: curv2d.silo82: E: curv2d.silo
83: curvmesh2d83: curvmesh2d
84: Point (Z,R): <0.179723, 2.09234>84: Point (Z,R): <0.179723, 2.09234>
85: Zone: 4485: Zone: 44
86: Incident Nodes: 45 46 77 7686: Incident Nodes: 45 46 77 76
87: d: <zonal> = 2.109687: d: <zonal> = 2.1096
88:  88:  
89:  89:  
90: F: curv2d.silo90: F: curv2d.silo
91: curvmesh2d91: curvmesh2d
92: Point (Z,R): <0.318298, 2.00966>92: Point (Z,R): <0.318298, 2.00966>
93: Zone: 13(ghost)93: Zone: 13(ghost)
94: Incident Nodes: 13(ghost) 14(ghost) 45 4494: Incident Nodes: 13(ghost) 14(ghost) 45 44
95: d: <zonal> = 2.0347195: d: <zonal> = 2.03471
96:  96:  
97:  97:  
98: G: curv2d.silo98: G: curv2d.silo
99: curvmesh2d99: curvmesh2d
100: Point (Z,R): <0.216897, 2.06363>100: Point (Z,R): <0.216897, 2.06363>
101: Node: 45101: Node: 45
102: Incident Zones: 43 13(ghost) 44 14(ghost)102: Incident Zones: 43 13(ghost) 44 14(ghost)
103: d: <zonal>103: d: <zonal>
104:     (43) = 2.1096104:     (43) = 2.1096
105:     (13) = 2.03471105:     (13) = 2.03471
106:     (44) = 2.1096106:     (44) = 2.1096
107:     (14) = 2.03471107:     (14) = 2.03471
108:  108:  
109:  109:  
110: H: curv2d.silo110: H: curv2d.silo
111: curvmesh2d111: curvmesh2d
112: Point (Z,R): <0.415823, 1.9563>112: Point (Z,R): <0.415823, 1.9563>
113: Node: 13(ghost)113: Node: 13(ghost)
114: Incident Zones: 12(ghost) 13(ghost)114: Incident Zones: 12(ghost) 13(ghost)
115: d: <zonal>115: d: <zonal>
116:     (12) = 2.03471116:     (12) = 2.03471
117:     (13) = 2.03471117:     (13) = 2.03471
118:  118:  
119:  119:  
120: I: curv2d.silo120: I: curv2d.silo
121: curvmesh2d121: curvmesh2d
122: Point (Z,R): <-0.253497, 4.09227>122: Point (Z,R): <-0.253497, 4.09227>
123: Zone: 855123: Zone: 855
124: Incident Nodes: 883 884 915 914124: Incident Nodes: 883 884 915 914
125: d: <zonal> = 4.13183125: d: <zonal> = 4.13183
126:  126:  
127:  127:  
128: J: curv2d.silo128: J: curv2d.silo
129: curvmesh2d129: curvmesh2d
130: Point (Z,R): <-3.50778, 1.34651>130: Point (Z,R): <-3.50778, 1.34651>
131: Zone: 716131: Zone: 716
132: Incident Nodes: 739 740 771 770132: Incident Nodes: 739 740 771 770
133: d: <zonal> = 3.75734133: d: <zonal> = 3.75734
134:  134:  
135:  135:  
136: K: curv2d.silo136: K: curv2d.silo
137: curvmesh2d137: curvmesh2d
138: Point (Z,R): <-0.428567, 4.07754>138: Point (Z,R): <-0.428567, 4.07754>
139: Node: 884139: Node: 884
140: Incident Zones: 855 825 856 826140: Incident Zones: 855 825 856 826
141: d: <zonal>141: d: <zonal>
142:     (855) = 4.13183142:     (855) = 4.13183
143:     (825) = 4.05693143:     (825) = 4.05693
144:     (856) = 4.13183144:     (856) = 4.13183
145:     (826) = 4.05693145:     (826) = 4.05693
146:  146:  
147:  147:  
148: L: curv2d.silo148: L: curv2d.silo
149: curvmesh2d149: curvmesh2d
150: Point (Z,R): <3.8, 0>150: Point (Z,R): <3.8, 0>
151: Node: 744(ghost)151: Node: 744(ghost)
152: Incident Zones: 720(ghost) 690(ghost)152: Incident Zones: 720(ghost) 690(ghost)
153: d: <zonal>153: d: <zonal>
154:     (720) = 3.83224154:     (720) = 3.83224
155:     (690) = 3.75734155:     (690) = 3.75734
156:  156:  
157:  157:  
158: M: curv2d.silo158: M: curv2d.silo
159: curvmesh2d159: curvmesh2d
160: Point (Z,R): <-2.41668, 1.87777>160: Point (Z,R): <-2.41668, 1.87777>
161: Zone: 443161: Zone: 443
162: Incident Nodes: 457 458 489 488162: Incident Nodes: 457 458 489 488
163: d: <zonal> = 3.08327163: d: <zonal> = 3.08327
164:  164:  
165:  165:  
166: N: curv2d.silo166: N: curv2d.silo
167: curvmesh2d167: curvmesh2d
168: Point (Z,R): <2.92945, 0.153526>168: Point (Z,R): <2.92945, 0.153526>
169: Zone: 360(ghost)169: Zone: 360(ghost)
170: Incident Nodes: 372(ghost) 373 404 403(ghost)170: Incident Nodes: 372(ghost) 373 404 403(ghost)
171: d: <zonal> = 2.93347171: d: <zonal> = 2.93347
172:  172:  
173:  173:  
174: O: curv2d.silo174: O: curv2d.silo
175: curvmesh2d175: curvmesh2d
176: Point (Z,R): <-2.4675, 1.79275>176: Point (Z,R): <-2.4675, 1.79275>
177: Node: 458177: Node: 458
178: Incident Zones: 443 413 444 414178: Incident Zones: 443 413 444 414
179: d: <zonal>179: d: <zonal>
180:     (443) = 3.08327180:     (443) = 3.08327
181:     (413) = 3.00837181:     (413) = 3.00837
182:     (444) = 3.08327182:     (444) = 3.08327
183:     (414) = 3.00837183:     (414) = 3.00837
184:  184:  
185:  185:  
186: P: curv2d.silo186: P: curv2d.silo
187: curvmesh2d187: curvmesh2d
188: Point (Z,R): <2.83663, 0.602944>188: Point (Z,R): <2.83663, 0.602944>
189: Node: 374189: Node: 374
190: Incident Zones: 361 331 362 332190: Incident Zones: 361 331 362 332
191: d: <zonal>191: d: <zonal>
192:     (361) = 2.93347192:     (361) = 2.93347
193:     (331) = 2.85858193:     (331) = 2.85858
194:     (362) = 2.93347194:     (362) = 2.93347
195:     (332) = 2.85858195:     (332) = 2.85858
196:  196:  
197:  197:  
198: Q: curv2d.silo198: Q: curv2d.silo
199: curvmesh2d199: curvmesh2d
200: Point (Z,R): <2.03693, 1.06863>200: Point (Z,R): <2.03693, 1.06863>
201: Zone: 124201: Zone: 124
202: Incident Nodes: 128 129 160 159202: Incident Nodes: 128 129 160 159
203: d: <zonal> = 2.3343203: d: <zonal> = 2.3343
204:  204:  
205:  205:  
206: R: curv2d.silo206: R: curv2d.silo
207: curvmesh2d207: curvmesh2d
208: Point (Z,R): <-1.37475, 1.69768>208: Point (Z,R): <-1.37475, 1.69768>
209: Zone: 81209: Zone: 81
210: Incident Nodes: 83 84 115 114210: Incident Nodes: 83 84 115 114
211: d: <zonal> = 2.1845211: d: <zonal> = 2.1845
212:  212:  
213:  213:  
214: S: curv2d.silo214: S: curv2d.silo
215: curvmesh2d215: curvmesh2d
216: Point (Z,R): <1.99186, 1.15>216: Point (Z,R): <1.99186, 1.15>
217: Node: 129217: Node: 129
218: Incident Zones: 124 94 125 95218: Incident Zones: 124 94 125 95
219: d: <zonal>219: d: <zonal>
220:     (124) = 2.3343220:     (124) = 2.3343
221:     (94) = 2.2594221:     (94) = 2.2594
222:     (125) = 2.3343222:     (125) = 2.3343
223:     (95) = 2.2594223:     (95) = 2.2594
224:  224:  
225:  225:  
226: T: curv2d.silo226: T: curv2d.silo
227: curvmesh2d227: curvmesh2d
228: Point (Z,R): <-1.59776, 1.43863>228: Point (Z,R): <-1.59776, 1.43863>
229: Node: 85229: Node: 85
230: Incident Zones: 82 52 83 53230: Incident Zones: 82 52 83 53
231: d: <zonal>231: d: <zonal>
232:     (82) = 2.1845232:     (82) = 2.1845
233:     (52) = 2.1096233:     (52) = 2.1096
234:     (83) = 2.1845234:     (83) = 2.1845
235:     (53) = 2.1096235:     (53) = 2.1096
236:  236:  
237:  237: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
238: U: rect2d.silo
239: quadmesh2d
240: Point: <0.244444, 0.994444>
241: Zone: 877
242: Incident Nodes: 906 907 937 938
243: ascii: <zonal> = O
244:  
245:  
246: V: rect2d.silo
247: quadmesh2d
248: Point: <0.527778, 0.527778>
249: Zone: 465
250: Incident Nodes: 480 481 511 512
251: ascii: <zonal> = A
252:  
253:  
254: W: rect2d.silo
255: quadmesh2d
256: Point: <0.966667, 1.29444>
257: Zone: 1169
258: Incident Nodes: 1207 1208 1238 1239
259: ascii: <zonal> = Y
260:  
261:  
262: X: rect2d.silo
263: quadmesh2d
264: Point: <0.505556, 1.22778>
265: Zone: 1095
266: Incident Nodes: 1131 1132 1162 1163
267: ascii: <zonal> = T
268:  
269:  
270: Y: rect2d.silo
271: quadmesh2d
272: Point: <0.705556, 0.338889>
273: Zone: 321
274: Incident Nodes: 331 332 362 363
275: ascii: <zonal> = H
276:  
277:  
278: Z: rect2d.silo
279: quadmesh2d
280: Point: <0.233333, 1>
281: Node: 937
282: Incident Zones: 906 876 907 877
283: ascii: <zonal>
284:     (906) = Q
285:     (876) = P
286:     (907) = P
287:     (877) = O
288:  
289:  
290: a: rect2d.silo
291: quadmesh2d
292: Point: <0.533333, 0.533333>
293: Node: 512
294: Incident Zones: 495 465 496 466
295: ascii: <zonal>
296:     (495) = A
297:     (465) = A
298:     (496) = B
299:     (466) = A
300:  
301:  
302: b: rect2d.silo
303: quadmesh2d
304: Point: <0.966667, 1.3>
305: Node: 1238
306: Incident Zones: 1198 1168 1199 1169
307: ascii: <zonal>
308:     (1198) = Z
309:     (1168) = Y
310:     (1199) = Z
311:     (1169) = Y
312:  
313:  
314: c: rect2d.silo
315: quadmesh2d
316: Point: <0.5, 1.23333>
317: Node: 1162
318: Incident Zones: 1124 1094 1125 1095
319: ascii: <zonal>
320:     (1124) = U
321:     (1094) = T
322:     (1125) = U
323:     (1095) = T
324:  
325:  
326: d: rect2d.silo
327: quadmesh2d
328: Point: <0.7, 0.333333>
329: Node: 331
330: Incident Zones: 320 290 321 291
331: ascii: <zonal>
332:     (320) = G
333:     (290) = H
334:     (321) = H
335:     (291) = H
336:  
diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/Pick3DTo2D.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/Pick3DTo2D.html new file mode 100644 index 000000000..d20b443dc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/Pick3DTo2D.html @@ -0,0 +1,2126 @@ +Results for test case Pick3DTo2D + +

Results for test case Pick3DTo2D

+ + + + + +
Legend
46 Lines Added
66 Lines Deleted
31 Lines Changed

+

10 modifications, totalling 143 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1:  
2: A: globe.silo2: A: globe.silo
3: mesh13: mesh1
4: Point: <0, -4.48889, 3.95556>4: Point: <0, -4.48889, 3.95556>
5: Zone: 5545: Zone: 554
6: Incident Nodes: 797 798 789 788 851 852 843 8426: Incident Nodes: 797 798 789 788 851 852 843 842
7: u: <nodal>7: u: <nodal>
8:     (797) = -3.726788:     (797) = -3.72678
9:     (798) = -5.129479:     (798) = -5.12947
10:     (789) = -3.847110:     (789) = -3.8471
11:     (788) = -2.7950811:     (788) = -2.79508
12:     (851) = -3.9185712:     (851) = -3.91857
13:     (852) = -5.3934513:     (852) = -5.39345
14:     (843) = -4.0450814:     (843) = -4.04508
15:     (842) = -2.9389315:     (842) = -2.93893
16:  16:  
17:  17:  
18: B: globe.silo18: B: globe.silo
19: mesh119: mesh1
20: Point: <0, 4.4, -2.44444>20: Point: <0, 4.4, -2.44444>
21: Zone: 94521: Zone: 945
22: Incident Nodes: 315 316 307 306 369 370 361 36022: Incident Nodes: 315 316 307 306 369 370 361 360
23: u: <nodal>23: u: <nodal>
24:     (315) = 6.3403824:     (315) = 6.34038
25:     (316) = 5.3934525:     (316) = 5.39345
26:     (307) = 4.0450826:     (307) = 4.04508
27:     (306) = 4.7552827:     (306) = 4.75528
28:     (369) = 6.0300628:     (369) = 6.03006
29:     (370) = 5.1294729:     (370) = 5.12947
30:     (361) = 3.847130:     (361) = 3.8471
31:     (360) = 4.5225431:     (360) = 4.52254
32:  32:  
33:  33:  
34: C: globe.silo34: C: globe.silo
35: mesh135: mesh1
36: Point: <-0.629469, -3.97431, 4.07401>36: Point: <-0.629469, -3.97431, 4.07401>
37: Zone: 55437: Zone: 554
38: Incident Nodes: 797 798 789 788 851 852 843 84238: Incident Nodes: 797 798 789 788 851 852 843 842
39: u: <nodal>39: u: <nodal>
40:     (797) = -3.7267840:     (797) = -3.72678
41:     (798) = -5.1294741:     (798) = -5.12947
42:     (789) = -3.847142:     (789) = -3.8471
43:     (788) = -2.7950843:     (788) = -2.79508
44:     (851) = -3.9185744:     (851) = -3.91857
45:     (852) = -5.3934545:     (852) = -5.39345
46:     (843) = -4.0450846:     (843) = -4.04508
47:     (842) = -2.9389347:     (842) = -2.93893
48:  48:  
49:  49:  
50: D: globe.silo50: D: globe.silo
51: mesh151: mesh1
52: Point: <-0.793176, 5.00792, -2.61567>52: Point: <-0.793176, 5.00792, -2.61567>
53: Zone: 94553: Zone: 945
54: Incident Nodes: 315 316 307 306 369 370 361 36054: Incident Nodes: 315 316 307 306 369 370 361 360
55: u: <nodal>55: u: <nodal>
56:     (315) = 6.3403856:     (315) = 6.34038
57:     (316) = 5.3934557:     (316) = 5.39345
58:     (307) = 4.0450858:     (307) = 4.04508
59:     (306) = 4.7552859:     (306) = 4.75528
60:     (369) = 6.0300660:     (369) = 6.03006
61:     (370) = 5.1294761:     (370) = 5.12947
62:     (361) = 3.847162:     (361) = 3.8471
63:     (360) = 4.5225463:     (360) = 4.52254
64:  64:  
65:  65:  
66: E: globe.silo66: E: globe.silo
67: mesh167: mesh1
68: Point: <0, -4.48889, 3.95556>68: Point: <0, -4.48889, 3.95556>
69: Zone: 55469: Zone: 554
70: Incident Nodes: 797 798 789 788 851 852 843 84270: Incident Nodes: 797 798 789 788 851 852 843 842
71: u: <nodal>71: u: <nodal>
72:     (797) = -3.7267872:     (797) = -3.72678
73:     (798) = -5.1294773:     (798) = -5.12947
74:     (789) = -3.847174:     (789) = -3.8471
75:     (788) = -2.7950875:     (788) = -2.79508
76:     (851) = -3.9185776:     (851) = -3.91857
77:     (852) = -5.3934577:     (852) = -5.39345
78:     (843) = -4.0450878:     (843) = -4.04508
79:     (842) = -2.9389379:     (842) = -2.93893
80:  80:  
81:  81:  
82: F: globe.silo82: F: globe.silo
83: mesh183: mesh1
84: Point: <0, 4.4, -2.44444>84: Point: <0, 4.4, -2.44444>
85: Zone: 94585: Zone: 945
86: Incident Nodes: 315 316 307 306 369 370 361 36086: Incident Nodes: 315 316 307 306 369 370 361 360
87: u: <nodal>87: u: <nodal>
88:     (315) = 6.3403888:     (315) = 6.34038
89:     (316) = 5.3934589:     (316) = 5.39345
90:     (307) = 4.0450890:     (307) = 4.04508
91:     (306) = 4.7552891:     (306) = 4.75528
92:     (369) = 6.0300692:     (369) = 6.03006
93:     (370) = 5.1294793:     (370) = 5.12947
94:     (361) = 3.847194:     (361) = 3.8471
95:     (360) = 4.5225495:     (360) = 4.52254
96:  96:  
97:  97:  
98: G: globe.silo98: G: globe.silo
99: mesh199: mesh1
100: Point: <-0.629469, -3.97431, 4.07401>100: Point: <-0.629469, -3.97431, 4.07401>
101: Zone: 554101: Zone: 554
102: Incident Nodes: 797 798 789 788 851 852 843 842102: Incident Nodes: 797 798 789 788 851 852 843 842
103: u: <nodal>103: u: <nodal>
104:     (797) = -3.72678104:     (797) = -3.72678
105:     (798) = -5.12947105:     (798) = -5.12947
106:     (789) = -3.8471106:     (789) = -3.8471
107:     (788) = -2.79508107:     (788) = -2.79508
108:     (851) = -3.91857108:     (851) = -3.91857
109:     (852) = -5.39345109:     (852) = -5.39345
110:     (843) = -4.04508110:     (843) = -4.04508
111:     (842) = -2.93893111:     (842) = -2.93893
112:  112:  
113:  113:  
114: H: globe.silo114: H: globe.silo
115: mesh1115: mesh1
116: Point: <-0.793176, 5.00792, -2.61567>116: Point: <-0.793176, 5.00792, -2.61567>
117: Zone: 945117: Zone: 945
118: Incident Nodes: 315 316 307 306 369 370 361 360118: Incident Nodes: 315 316 307 306 369 370 361 360
119: u: <nodal>119: u: <nodal>
120:     (315) = 6.34038120:     (315) = 6.34038
121:     (316) = 5.39345121:     (316) = 5.39345
122:     (307) = 4.04508122:     (307) = 4.04508
123:     (306) = 4.75528123:     (306) = 4.75528
124:     (369) = 6.03006124:     (369) = 6.03006
125:     (370) = 5.12947125:     (370) = 5.12947
126:     (361) = 3.8471126:     (361) = 3.8471
127:     (360) = 4.52254127:     (360) = 4.52254
128:  128:  
129:  129:  
130: I: globe.silo130: I: globe.silo
131: mesh1131: mesh1
132: Point: (in transformed space)132: Point: (in transformed space)
133:        <-0.650387, 1.08398, 0>133:        <-0.650387, 1.08398, 0>
134: Zone: 506134: Zone: 506
135: Incident Nodes: 347 348 339 338 401 402 393 392135: Incident Nodes: 347 348 339 338 401 402 393 392
136: u: <nodal>136: u: <nodal>
137:     (347) = 1.86339137:     (347) = 1.86339
138:     (348) = 2.56474138:     (348) = 2.56474
139:     (339) = 1.28237139:     (339) = 1.28237
140:     (338) = 0.931695140:     (338) = 0.931695
141:     (401) = 1.58509141:     (401) = 1.58509
142:     (402) = 2.18169142:     (402) = 2.18169
143:     (393) = 1.09085143:     (393) = 1.09085
144:     (392) = 0.792547144:     (392) = 0.792547
145:  145:  
146:  146:  
147: J: globe.silo147: J: globe.silo
148: mesh1148: mesh1
149: Point: (in transformed space)149: Point: (in transformed space)
150:        <-3.0785, -4.9863, 0>150:        <-3.0785, -4.9863, 0>
151: Zone: 593151: Zone: 593
152: Incident Nodes: 761 762 753 752 815 816 807 806152: Incident Nodes: 761 762 753 752 815 816 807 806
153: u: <nodal>153: u: <nodal>
154:     (761) = -4.75528154:     (761) = -4.75528
155:     (762) = -6.54508155:     (762) = -6.54508
156:     (753) = -5.45424156:     (753) = -5.45424
157:     (752) = -3.96274157:     (752) = -3.96274
158:     (815) = -5.59017158:     (815) = -5.59017
159:     (816) = -7.69421159:     (816) = -7.69421
160:     (807) = -6.41184160:     (807) = -6.41184
161:     (806) = -4.65847161:     (806) = -4.65847
162:  162:  
163:  163:  
164: K: globe.silo164: K: globe.silo
165: mesh1165: mesh1
166: Point: <0.782909, 1.53655, 1.746>166: Point: <0.782909, 1.53655, 1.746>
167: Zone: 503167: Zone: 503
168: Incident Nodes: 185 186 177 176 239 240 231 230168: Incident Nodes: 185 186 177 176 239 240 231 230
169: u: <nodal>169: u: <nodal>
170:     (185) = 1.58509170:     (185) = 1.58509
171:     (186) = 2.18169171:     (186) = 2.18169
172:     (177) = 1.09085172:     (177) = 1.09085
173:     (176) = 0.792547173:     (176) = 0.792547
174:     (239) = 1.86339174:     (239) = 1.86339
175:     (240) = 2.56474175:     (240) = 2.56474
176:     (231) = 1.28237176:     (231) = 1.28237
177:     (230) = 0.931695177:     (230) = 0.931695
178:  178:  
179:  179:  
180: L: globe.silo180: L: globe.silo
181: mesh1181: mesh1
182: Point: <2.87067, -5.634, 6.40201>182: Point: <2.87067, -5.634, 6.40201>
183: Zone: 596183: Zone: 596
184: Incident Nodes: 923 924 915 914 977 978 969 968184: Incident Nodes: 923 924 915 914 977 978 969 968
185: u: <nodal>185: u: <nodal>
186:     (923) = -5.59017186:     (923) = -5.59017
187:     (924) = -7.69421187:     (924) = -7.69421
188:     (915) = -6.41184188:     (915) = -6.41184
189:     (914) = -4.65847189:     (914) = -4.65847
190:     (977) = -4.75528190:     (977) = -4.75528
191:     (978) = -6.54508191:     (978) = -6.54508
192:     (969) = -5.45424192:     (969) = -5.45424
193:     (968) = -3.96274193:     (968) = -3.96274
194:  194:  
195:  195:  
196: Pick with all materials turned on:196: Pick with all materials turned on:
197:  197: Chosen pick did not intersect surface.
198: M: multi_rect3d.silo198: M: multi_rect3d.silo
199: mesh1 domain 1
200: Point: <0.2, 0.0666667, 0.0888889>
201: Zone: 225
202: Incident Nodes: 269 270 280 281 390 391 401 402
203: d: <zonal> = 0.682125
204:  
205:  
206: N: multi_rect3d.silo
207: mesh1 domain 1199: mesh1 domain 1
208: Point: <0.216667, 0.0625, 0.0833333>200: Point: <0.216667, 0.0625, 0.0833333>
209: Zone: 226201: Zone: 226
210: Incident Nodes: 270 271 281 282 391 392 402 403202: Incident Nodes: 270 271 281 282 391 392 402 403
211: d: <zonal> = 0.667304203: d: <zonal> = 0.667304
212:  204:  
213:  205: Chosen pick did not intersect surface.
214: O: multi_rect3d.silo206: N: multi_rect3d.silo
215: mesh1 domain 19
216: Point: <0.2, 0.511111, 0.555556>
217: Zone: 605
218: Incident Nodes: 731 732 742 743 852 853 863 864
219: d: <zonal> = 0.320833
220:  
221:  
222: P: multi_rect3d.silo
223: mesh1 domain 19207: mesh1 domain 19
224: Point: <0.216667, 0.5125, 0.55>208: Point: <0.216667, 0.5125, 0.55>
225: Zone: 606209: Zone: 606
226: Incident Nodes: 732 733 743 744 853 854 864 865210: Incident Nodes: 732 733 743 744 853 854 864 865
227: d: <zonal> = 0.287983211: d: <zonal> = 0.287983
228:  212:  
229:  213: Chosen pick did not intersect surface.
230: Q: multi_rect3d.silo214: O: multi_rect3d.silo
231: mesh1 domain 1215: mesh1 domain 1
232: Point: <0.2, 0.075, 0.1>216: Point: <0.2, 0.075, 0.1>
233: Node: 402217: Node: 402
234: Incident Zones: 335 325 225 235 336 326 226 236218: Incident Zones: 335 325 225 235 336 326 226 236
235: d: <zonal>219: d: <zonal>
236:     (335) = 0.646048220:     (335) = 0.646048
237:     (325) = 0.66229221:     (325) = 0.66229
238:     (225) = 0.682125222:     (225) = 0.682125
239:     (235) = 0.666367223:     (235) = 0.666367
240:     (336) = 0.63038224:     (336) = 0.63038
241:     (326) = 0.647015225:     (326) = 0.647015
242:     (226) = 0.667304226:     (226) = 0.667304
243:     (236) = 0.651187227:     (236) = 0.651187
244:  228:  
229: Chosen pick did not intersect surface.
230: P: multi_rect3d.silo
231: mesh1 domain 19
232: Point: <0.2, 0.5, 0.566667>
233: Node: 853
234: Incident Zones: 705 605 706 606
235: d: <zonal>
236:     (705) = 0.327687
237:     (605) = 0.320833
238:     (706) = 0.295599
239:     (606) = 0.287983
240:  
241:  
242: Pick with material 2 turned off:
243:  
244: Q: multi_rect3d.silo
245: mesh1 domain 1
246: Point: <0.2, 0.0666667, 0.0888889>
247: Zone: 225
248: Incident Nodes: 269 270 280 281 390 391 401 402
249: d: <zonal> = 0.682125
250:  
245:  251:  
246: R: multi_rect3d.silo252: R: multi_rect3d.silo
253: mesh1 domain 1
254: Point: <0.216667, 0.0625, 0.0833333>
255: Zone: 226
256: Incident Nodes: 270 271 281 282 391 392 402 403
257: d: <zonal> = 0.667304
258:  
259:  
260: S: multi_rect3d.silo
261: mesh1 domain 19
262: Point: <0.2, 0.511111, 0.555556>
263: Zone: 605
264: Incident Nodes: 731 732 742 743 852 853 863 864
265: d: <zonal> = 0.320833
266:  
267:  
268: T: multi_rect3d.silo
269: mesh1 domain 19
270: Point: <0.216667, 0.5125, 0.55>
271: Zone: 606
272: Incident Nodes: 732 733 743 744 853 854 864 865
273: d: <zonal> = 0.287983
274:  
275:  
276: U: multi_rect3d.silo
247: mesh1 domain 1277: mesh1 domain 1
248: Point: <0.2, 0.075, 0.1>278: Point: <0.2, 0.075, 0.1>
249: Node: 402279: Node: 402
250: Incident Zones: 335 325 225 235 336 326 226 236280: Incident Zones: 335 325 225 235 336 326 226 236
251: d: <zonal>281: d: <zonal>
252:     (335) = 0.646048282:     (335) = 0.646048
253:     (325) = 0.66229283:     (325) = 0.66229
254:     (225) = 0.682125284:     (225) = 0.682125
255:     (235) = 0.666367285:     (235) = 0.666367
256:     (336) = 0.63038286:     (336) = 0.63038
257:     (326) = 0.647015287:     (326) = 0.647015
258:     (226) = 0.667304288:     (226) = 0.667304
259:     (236) = 0.651187289:     (236) = 0.651187
260:  290:  
261:  291:  
262: S: multi_rect3d.silo
263: mesh1 domain 19
264: Point: <0.2, 0.5, 0.566667>
265: Node: 853
266: Incident Zones: 705 605 706 606
267: d: <zonal>
268:     (705) = 0.327687
269:     (605) = 0.320833
270:     (706) = 0.295599
271:     (606) = 0.287983
272:  
273:  
274: T: multi_rect3d.silo
275: mesh1 domain 19
276: Point: <0.2, 0.5, 0.566667>
277: Node: 853
278: Incident Zones: 705 605 706 606
279: d: <zonal>
280:     (705) = 0.327687
281:     (605) = 0.320833
282:     (706) = 0.295599
283:     (606) = 0.287983
284:  
285:  
286: Pick with material 2 turned off:
287:  
288: U: multi_rect3d.silo
289: mesh1 domain 1
290: Point: <0.2, 0.0666667, 0.0888889>
291: Zone: 226
292: Incident Nodes: 270 271 281 282 391 392 402 403
293: d: <zonal> = 0.667304
294:  
295:  
296: V: multi_rect3d.silo292: V: multi_rect3d.silo
297: mesh1 domain 1
298: Point: <0.216667, 0.0625, 0.0833333>
299: Zone: 226
300: Incident Nodes: 270 271 281 282 391 392 402 403
301: d: <zonal> = 0.667304
302:  
303:  
304: W: multi_rect3d.silo
305: mesh1 domain 19
306: Point: <0.2, 0.511111, 0.555556>
307: Zone: 606
308: Incident Nodes: 732 733 743 744 853 854 864 865
309: d: <zonal> = 0.287983
310:  
311:  
312: X: multi_rect3d.silo
313: mesh1 domain 19
314: Point: <0.216667, 0.5125, 0.55>
315: Zone: 606
316: Incident Nodes: 732 733 743 744 853 854 864 865
317: d: <zonal> = 0.287983
318:  
319:  
320: Y: multi_rect3d.silo
321: mesh1 domain 1293: mesh1 domain 1
322: Point: <0.2, 0.075, 0.1>294: Point: <0.2, 0.075, 0.1>
323: Node: 402295: Node: 402
324: Incident Zones: 335 325 225 235 336 326 226 236296: Incident Zones: 335 325 225 235 336 326 226 236
325: d: <zonal>297: d: <zonal>
326:     (335) = 0.646048298:     (335) = 0.646048
327:     (325) = 0.66229299:     (325) = 0.66229
328:     (225) = 0.682125300:     (225) = 0.682125
329:     (235) = 0.666367301:     (235) = 0.666367
330:     (336) = 0.63038302:     (336) = 0.63038
331:     (326) = 0.647015303:     (326) = 0.647015
332:     (226) = 0.667304304:     (226) = 0.667304
333:     (236) = 0.651187305:     (236) = 0.651187
334:  306:  
335:  307:  
336: Z: multi_rect3d.silo308: W: multi_rect3d.silo
337: mesh1 domain 1
338: Point: <0.2, 0.075, 0.1>
339: Node: 402
340: Incident Zones: 335 325 225 235 336 326 226 236
341: d: <zonal>
342:     (335) = 0.646048
343:     (325) = 0.66229
344:     (225) = 0.682125
345:     (235) = 0.666367
346:     (336) = 0.63038
347:     (326) = 0.647015
348:     (226) = 0.667304
349:     (236) = 0.651187
350:  
351:  
352: a: multi_rect3d.silo
353: mesh1 domain 19309: mesh1 domain 19
354: Point: <0.2, 0.5, 0.566667>310: Point: <0.2, 0.5, 0.566667>
355: Node: 853311: Node: 853
356: Incident Zones: 705 605 706 606312: Incident Zones: 705 605 706 606
357: d: <zonal>313: d: <zonal>
358:     (705) = 0.327687314:     (705) = 0.327687
359:     (605) = 0.320833315:     (605) = 0.320833
360:     (706) = 0.295599316:     (706) = 0.295599
361:     (606) = 0.287983317:     (606) = 0.287983
362:  318:  
363:  319:  
364: b: multi_rect3d.silo320: X: multi_rect3d.silo
365: mesh1 domain 19321: mesh1 domain 19
366: Point: <0.2, 0.5, 0.566667>322: Point: <0.2, 0.5, 0.566667>
367: Node: 853323: Node: 853
368: Incident Zones: 705 605 706 606324: Incident Zones: 705 605 706 606
369: d: <zonal>325: d: <zonal>
370:     (705) = 0.327687326:     (705) = 0.327687
371:     (605) = 0.320833327:     (605) = 0.320833
372:     (706) = 0.295599328:     (706) = 0.295599
373:     (606) = 0.287983329:     (606) = 0.287983
374:  330:  
diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickAMR.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickAMR.html new file mode 100644 index 000000000..0c0583804 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickAMR.html @@ -0,0 +1,1271 @@ +Results for test case PickAMR + +

Results for test case PickAMR

+ + + + + +
Legend
2 Lines Added
98 Lines Deleted
13 Lines Changed

+

15 modifications, totalling 113 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1: Testing boxlib 2D, pseudocolor1: Testing boxlib 2D, pseudocolor
2: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
3: Testing boxlib 2D, contour
2:  4:  
3: A: Header5: A: Header
4: Mesh level 2 patch level2,patch2
5: Point (R,Z): <0.0282891, 0.12232>
6: Node: 654
7: Incident Zones: 638 598 639 599
8: density: <zonal>
9:     (638) = 3.69789
10:     (598) = 4.17764
11:     (639) = 3.69759
12:     (599) = 4.15408
13:  
14:  
15: B: Header
16: Mesh level 2 patch level2,patch2
17: Point (R,Z): <0.028445, 0.122458>
18: Zone: 639
19: Incident Nodes: 654 655 695 696
20: density: <zonal> = 3.69759
21:  
22:  
23: C: Header
24: Mesh level 2 patch level2,patch2
25: Point (R,Z): <0.0282891, 0.121922>
26: Node: 613
27: Incident Zones: 598 558 599 559
28: density: <zonal>
29:     (598) = 4.17764
30:     (558) = 4.16579
31:     (599) = 4.15408
32:     (559) = 4.1593
33:  
34:  
35: D: Header
36: Mesh level 2 patch level2,patch2
37: Point (R,Z): <0.0280996, 0.122113>
38: Zone: 598
39: Incident Nodes: 612 613 653 654
40: density: <zonal> = 4.17764
41:  
42:  
43: E: Header
44: Mesh level 2 patch level2,patch2
45: Point (R,Z): <0.0251016, 0.11993>
46: Node: 400
47: Incident Zones: 390 350 391 351
48: density: <zonal>
49:     (390) = 5.09666
50:     (350) = 5.20894
51:     (391) = 5.11838
52:     (351) = 5.0991
53:  
54:  
55: F: Header
56: Mesh level 2 patch level2,patch2
57: Point (R,Z): <0.0249287, 0.119789>
58: Zone: 350
59: Incident Nodes: 358 359 399 400
60: density: <zonal> = 5.20894
61:  
62:  
63: G: Header
64: Mesh level 1 patch level1,patch7
65: Point (R,Z): <0.0270937, 0.122719>
66: Node: 2840
67: Incident Zones: 2793 2794
68: density: <zonal>
69:     (2793) = 3.29057
70:     (2794) = 3.55829
71:  
72:  
73: H: Header
74: Mesh level 1 patch level1,patch7
75: Point (R,Z): <0.0272833, 0.123024>
76: Zone: 2794
77: Incident Nodes: 2840 2841 2901 2902
78: density: <zonal> = 3.55829
79:  
80:  
81: I: Header
82: Mesh level 1 patch level1,patch7
83: Point (R,Z): <0.0286875, 0.118734>
84: Node: 2537
85: Incident Zones: 2496 2436
86: density: <zonal>
87:     (2496) = 4.62701
88:     (2436) = 4.28138
89:  
90:  
91: J: Header
92: Mesh level 1 patch level1,patch7
93: Point (R,Z): <0.0289473, 0.119098>
94: Zone: 2496
95: Incident Nodes: 2537 2538 2598 2599
96: density: <zonal> = 4.62701
97:  
98:  
99: Testing boxlib 2D, contour
100:  
101: K: Header
102: Mesh level 1 patch level1,patch56: Mesh level 1 patch level1,patch5
103: Point (R,Z): <0.0202973, 0.124521>7: Point (R,Z): <0.0202973, 0.124521>
104: Zone: 258: Zone: 25
105: Incident Nodes: 25 26 70 719: Incident Nodes: 25 26 70 71
106: density: <zonal> = 2.8448110: density: <zonal> = 2.84481
107:  11:  
108:  12:  
109: L: Header13: B: Header
110: Mesh level 1 patch level1,patch514: Mesh level 1 patch level1,patch5
111: Point (R,Z): <0.0199219, 0.124313>15: Point (R,Z): <0.0199219, 0.124313>
112: Node: 2516: Node: 25
113: Incident Zones: 24 2517: Incident Zones: 24 25
114: density: <zonal>18: density: <zonal>
115:     (24) = 2.9548619:     (24) = 2.95486
116:     (25) = 2.8448120:     (25) = 2.84481
117:  21:  
118:  22:  
119: M: Header23: C: Header
120: Mesh level 1 patch level1,patch524: Mesh level 1 patch level1,patch5
121: Point (R,Z): <0.0227024, 0.124842>25: Point (R,Z): <0.0227024, 0.124842>
122: Zone: 2826: Zone: 28
123: Incident Nodes: 28 29 73 7427: Incident Nodes: 28 29 73 74
124: density: <zonal> = 2.6896628: density: <zonal> = 2.68966
125:  29:  
126:  30:  
127: N: Header31: D: Header
128: Mesh level 1 patch level1,patch532: Mesh level 1 patch level1,patch5
129: Point (R,Z): <0.0223125, 0.125109>33: Point (R,Z): <0.0223125, 0.125109>
130: Node: 7334: Node: 73
131: Incident Zones: 71 27 72 2835: Incident Zones: 71 27 72 28
132: density: <zonal>36: density: <zonal>
133:     (71) = 1.9186537:     (71) = 1.91865
134:     (27) = 2.6747738:     (27) = 2.67477
135:     (72) = 1.9130739:     (72) = 1.91307
136:     (28) = 2.6896640:     (28) = 2.68966
137:  41:  
138:  42:  
139: O: Header43: E: Header
140: Mesh level 2 patch level2,patch2844: Mesh level 2 patch level2,patch28
141: Point (R,Z): <0.0310403, 0.113927>45: Point (R,Z): <0.0310403, 0.113927>
142: Zone: 79346: Zone: 793
143: Incident Nodes: 842 843 859 86047: Incident Nodes: 842 843 859 860
144: density: <zonal> = 0.1911948: density: <zonal> = 0.19119
145:  49:  
146:  50:  
147: P: Header51: F: Header
148: Mesh level 2 patch level2,patch2852: Mesh level 2 patch level2,patch28
149: Point (R,Z): <0.0310781, 0.113953>53: Point (R,Z): <0.0310781, 0.113953>
150: Node: 86054: Node: 860
151: Incident Zones: 809 793 810 79455: Incident Zones: 809 793 810 794
152: density: <zonal>56: density: <zonal>
153:     (809) = 0.3686357:     (809) = 0.36863
154:     (793) = 0.1911958:     (793) = 0.19119
155:     (810) = 0.3639459:     (810) = 0.36394
156:     (794) = 0.18964260:     (794) = 0.189642
157:  61:  
158:  62:  
159: Q: Header63: G: Header
160: Mesh level 0 patch level0,patch064: Mesh level 0 patch level0,patch0
161: Point (R,Z): <0.0353697, 0.133991>65: Point (R,Z): <0.0353697, 0.133991>
162: Zone: 539866: Zone: 5398
163: Incident Nodes: 5482 5483 5547 554867: Incident Nodes: 5482 5483 5547 5548
164: density: <zonal> = 0.17987768: density: <zonal> = 0.179877
165:  69:  
166:  70:  
167: R: Header71: H: Header
168: Mesh level 0 patch level0,patch072: Mesh level 0 patch level0,patch0
169: Point (R,Z): <0.0350625, 0.133875>73: Point (R,Z): <0.0350625, 0.133875>
170: Node: 548274: Node: 5482
171: Incident Zones: 5398 533475: Incident Zones: 5398 5334
172: density: <zonal>76: density: <zonal>
173:     (5398) = 0.17987777:     (5398) = 0.179877
174:     (5334) = 0.34473578:     (5334) = 0.344735
175:  79:  
176:  80:  
177: Testing boxlib 2D, Boundary81: Testing boxlib 2D, Boundary
178:  82:  
179: S: Header83: I: Header
180: Mesh level 2 patch level2,patch3384: Mesh level 2 patch level2,patch33
181: Point (R,Z): <0.0182644, 0.105451>85: Point (R,Z): <0.0182644, 0.105451>
182: Zone: 71386: Zone: 713
183: Incident Nodes: 757 758 774 77587: Incident Nodes: 757 758 774 775
184: materials: mat188: materials: mat1
185:  89:  
186:  90:  
187: T: Header91: J: Header
188: Mesh level 2 patch level2,patch3392: Mesh level 2 patch level2,patch33
189: Point (R,Z): <0.0183281, 0.105586>93: Point (R,Z): <0.0183281, 0.105586>
190: Node: 77594: Node: 775
191: Incident Zones: 729 713 730 71495: Incident Zones: 729 713 730 714
192: materials:96: materials:
193:     (729) mat197:     (729) mat1
194:     (713) mat198:     (713) mat1
195:     (730) mat199:     (730) mat1
196:     (714) mat1100:     (714) mat1
197:  101:  
198:  102:  
199: U: Header103: K: Header
200: Mesh level 2 patch level2,patch28104: Mesh level 2 patch level2,patch28
201: Point (R,Z): <0.0288625, 0.0950003>105: Point (R,Z): <0.0288625, 0.0950003>
202: Zone: 36106: Zone: 36
203: Incident Nodes: 38 39 55 56107: Incident Nodes: 38 39 55 56
204: materials: mat4108: materials: mat4
205:  109:  
206:  110:  
207: V: Header111: L: Header
208: Mesh level 2 patch level2,patch28112: Mesh level 2 patch level2,patch28
209: Point (R,Z): <0.0286875, 0.0948281>113: Point (R,Z): <0.0286875, 0.0948281>
210: Node: 38114: Node: 38
211: Incident Zones: 35 19 36 20115: Incident Zones: 35 19 36 20
212: materials:116: materials:
213:     (35) mat4117:     (35) mat4
214:     (19) mat4118:     (19) mat4
215:     (36) mat4119:     (36) mat4
216:     (20) mat4120:     (20) mat4
217:  121:  
218:  122:  
219: W: Header123: M: Header
220: Mesh level 2 patch level2,patch33124: Mesh level 2 patch level2,patch33
221: Point (R,Z): <0.0147844, 0.114794>125: Point (R,Z): <0.0147844, 0.114794>
222: Zone: 1089126: Zone: 1089
223: Incident Nodes: 1157 1158 1174 1175127: Incident Nodes: 1157 1158 1174 1175
224: materials:128: materials:
225:     mat1 = 0.929427129:     mat1 = 0.929427
226:     mat4 = 0.0705727130:     mat4 = 0.0705727
227:  131:  
228:  132:  
229: X: Header133: N: Header
230: Mesh level 2 patch level2,patch33134: Mesh level 2 patch level2,patch33
231: Point (R,Z): <0.0147422, 0.11475>135: Point (R,Z): <0.0147422, 0.11475>
232: Node: 1157136: Node: 1157
233: Incident Zones: 1088 1072 1089 1073137: Incident Zones: 1088 1072 1089 1073
234: materials:138: materials:
235:     (1088)139:     (1088)
236:         mat1 = 0.00610821140:         mat1 = 0.00610821
237:         mat3 = 0.0314769141:         mat3 = 0.0314769
238:         mat4 = 0.962415142:         mat4 = 0.962415
239:     (1072) mat3143:     (1072) mat3
240:     (1089)144:     (1089)
241:         mat1 = 0.929427145:         mat1 = 0.929427
242:         mat4 = 0.0705727146:         mat4 = 0.0705727
243:     (1073)147:     (1073)
244:         mat1 = 0.0962816148:         mat1 = 0.0962816
245:         mat3 = 0.87329149:         mat3 = 0.87329
246:         mat4 = 0.030428150:         mat4 = 0.030428
247:  151:  
diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickBox.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickBox.html new file mode 100644 index 000000000..04e30f9b6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickBox.html @@ -0,0 +1,546 @@ +Results for test case PickBox + +

Results for test case PickBox

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
61 Lines Changed

+

5 modifications, totalling 61 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
2: A: rect2d.silo2: A: rect3d.silo
3: quadmesh2d
4: Point: <0.527778, 0.527778>
5: Zone: 465
6: Incident Nodes: 480 481 511 512
7: d: <zonal> = 0.0235702
8:  
9:  
10: B: rect2d.silo
11: quadmesh2d
12: Point: <0.533333, 0.533333>
13: Node: 512
14: Incident Zones: 495 465 496 466
15: d: <zonal>
16:     (495) = 0.0527046
17:     (465) = 0.0235702
18:     (496) = 0.0707107
19:     (466) = 0.0527046
20:  
21:  
22: C: rect2d.silo
23: quadmesh2d
24: Point: <0.527778, 0.527778>
25: Zone: 465
26: Incident Nodes: 480 481 511 512
27:  
28: D: rect2d.silo
29: quadmesh2d
30: Point: <0.533333, 0.533333>
31: Node: 512
32: Incident Zones: 495 465 496 466
33:  
34: E: rect3d.silo
35: quadmesh3d3: quadmesh3d
36: Point: <0.715556, 0.5, 0.822222>4: Point: <0.715556, 0.5, 0.822222>
37: Zone: 294215: Zone: 29421
38: Incident Nodes: 31145 31146 31176 31177 32416 32417 32447 324486: Incident Nodes: 31145 31146 31176 31177 32416 32417 32447 32448
39: d: <zonal> = 0.3838997: d: <zonal> = 0.383899
40:  8:  
41:  9:  
42: F: rect3d.silo10: B: rect3d.silo
43: quadmesh3d11: quadmesh3d
44: Point: <0.648889, 0.5, 0.0977778>12: Point: <0.648889, 0.5, 0.0977778>
45: Zone: 301913: Zone: 3019
46: Incident Nodes: 3181 3182 3212 3213 4452 4453 4483 448414: Incident Nodes: 3181 3182 3212 3213 4452 4453 4483 4484
47: d: <zonal> = 0.44302115: d: <zonal> = 0.443021
48:  16:  
49:  17:  
50: G: rect3d.silo18: C: rect3d.silo
51: quadmesh3d19: quadmesh3d
52: Point: <0.7, 0.5, 0.833333>20: Point: <0.7, 0.5, 0.833333>
53: Node: 3241621: Node: 32416
54: Incident Zones: 30620 30590 29390 29420 30621 30591 29391 2942122: Incident Zones: 30620 30590 29390 29420 30621 30591 29391 29421
55: d: <zonal>23: d: <zonal>
56:     (30620) = 0.39530724:     (30620) = 0.395307
57:     (30590) = 0.39530725:     (30590) = 0.395307
58:     (29390) = 0.36612226:     (29390) = 0.366122
59:     (29420) = 0.36612227:     (29420) = 0.366122
60:     (30621) = 0.41182628:     (30621) = 0.411826
61:     (30591) = 0.41182629:     (30591) = 0.411826
62:     (29391) = 0.38389930:     (29391) = 0.383899
63:     (29421) = 0.38389931:     (29421) = 0.383899
64:  32:  
65:  33:  
66: H: rect3d.silo34: D: rect3d.silo
67: quadmesh3d35: quadmesh3d
68: Point: <0.633333, 0.5, 0.1>36: Point: <0.633333, 0.5, 0.1>
69: Node: 445237: Node: 4452
70: Incident Zones: 4218 4188 2988 3018 4219 4189 2989 301938: Incident Zones: 4218 4188 2988 3018 4219 4189 2989 3019
71: d: <zonal>39: d: <zonal>
72:     (4218) = 0.40088940:     (4218) = 0.400889
73:     (4188) = 0.40088941:     (4188) = 0.400889
74:     (2988) = 0.43287242:     (2988) = 0.432872
75:     (3018) = 0.43287243:     (3018) = 0.432872
76:     (4219) = 0.41182644:     (4219) = 0.411826
77:     (4189) = 0.41182645:     (4189) = 0.411826
78:     (2989) = 0.44302146:     (2989) = 0.443021
79:     (3019) = 0.44302147:     (3019) = 0.443021
80:  48:  
81:  49: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
82: I: rect3d.silo
83: quadmesh3d
84: Point: <0.715556, 0.5, 0.822222>
85: Zone: 29391
86: Incident Nodes: 31114 31115 31145 31146 32385 32386 32416 32417
87:  
88: J: rect3d.silo
89: quadmesh3d
90: Point: <0.648889, 0.5, 0.0977778>
91: Zone: 2989
92: Incident Nodes: 3150 3151 3181 3182 4421 4422 4452 4453
93:  
94: K: rect3d.silo
95: quadmesh3d
96: Point: <0.7, 0.5, 0.833333>
97: Node: 32416
98: Incident Zones: 30620 30590 29390 29420 30621 30591 29391 29421
99:  
100: L: rect3d.silo
101: quadmesh3d
102: Point: <0.633333, 0.5, 0.1>
103: Node: 4452
104: Incident Zones: 4218 4188 2988 3018 4219 4189 2989 3019
diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickIndexSelect.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickIndexSelect.html new file mode 100644 index 000000000..1d1c8eaca --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickIndexSelect.html @@ -0,0 +1,1026 @@ +Results for test case PickIndexSelect + +

Results for test case PickIndexSelect

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
124 Lines Changed

+

13 modifications, totalling 124 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1: Pick on Index-selected 2D Mesh Plot1: Pick on Index-selected 2D Mesh Plot
2:  2: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
3: A: rect2d.silo
4: quadmesh2d
5: Point: <0.0415832, 0.0424471>
6: Zone: 31
7: Incident Nodes: 32 33 63 64
8:  
9: B: rect2d.silo
10: quadmesh2d
11: Point: <0.0333333, 0.0333333>
12: Node: 32
13: Incident Zones: 30 0 31 1
14:  
15: Same Picks on Index-selected 2D Pseudocolor Plot3: Same Picks on Index-selected 2D Pseudocolor Plot
16:  4: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
17: C: rect2d.silo
18: quadmesh2d
19: Point: <0.0415832, 0.0424471>
20: Zone: 31
21: Incident Nodes: 32 33 63 64
22: u: <nodal>
23:     (32) = -0.707107
24:     (33) = -0.680451
25:     (63) = -0.732794
26:     (64) = -0.707107
27:  
28:  
29: D: rect2d.silo
30: quadmesh2d
31: Point: <0.0333333, 0.0333333>
32: Node: 32
33: Incident Zones: 30 0 31 1
34: u: <nodal> = -0.707107
35:  
36:  
37: Changed stride of IndexSelect, 2D Mesh Plot picks5: Changed stride of IndexSelect, 2D Mesh Plot picks
38:  6: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
39: E: rect2d.silo
40: quadmesh2d
41: Point: <0.0415832, 0.0424471>
42: Zone: 31
43: Incident Nodes: 32 33 63 64
44:  
45: F: rect2d.silo
46: quadmesh2d
47: Point: <0.0333333, 0.0333333>
48: Node: 32
49: Incident Zones: 30 0 31 1
50:  
51: Same picks 2D Pseudocolor Plot7: Same picks 2D Pseudocolor Plot
52:  8: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
53: G: rect2d.silo
54: quadmesh2d
55: Point: <0.0415832, 0.0424471>
56: Zone: 31
57: Incident Nodes: 32 33 63 64
58: u: <nodal>
59:     (32) = -0.707107
60:     (33) = -0.680451
61:     (63) = -0.732794
62:     (64) = -0.707107
63:  
64:  
65: H: rect2d.silo
66: quadmesh2d
67: Point: <0.0333333, 0.0333333>
68: Node: 32
69: Incident Zones: 30 0 31 1
70: u: <nodal> = -0.707107
71:  
72:  
73: Index selected 3D Mesh Plot9: Index selected 3D Mesh Plot
74:  10:  
75: I: rect3d.silo11: A: rect3d.silo
76: quadmesh3d12: quadmesh3d
77: Point: <0, 0.164242, 0.412301>13: Point: <0, 0.164242, 0.412301>
78: Zone: 1458014: Zone: 14580
79: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 1674115: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 16741
80:  16:  
81: J: rect3d.silo17: B: rect3d.silo
82: quadmesh3d18: quadmesh3d
83: Point: <0, 0.2, 0.4>19: Point: <0, 0.2, 0.4>
84: Node: 1550020: Node: 15500
85: Incident Zones: 14640 14610 13410 1344021: Incident Zones: 14640 14610 13410 13440
86:  22:  
87: Same picks on 3D Pseudocolor Plot23: Same picks on 3D Pseudocolor Plot
88:  24:  
89: K: rect3d.silo25: C: rect3d.silo
90: quadmesh3d26: quadmesh3d
91: Point: <0, 0.164242, 0.412301>27: Point: <0, 0.164242, 0.412301>
92: Zone: 1458028: Zone: 14580
93: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 1674129: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 16741
94: d: <zonal> = 0.59536730: d: <zonal> = 0.595367
95:  31:  
96:  32:  
97: L: rect3d.silo33: D: rect3d.silo
98: quadmesh3d34: quadmesh3d
99: Point: <0, 0.2, 0.4>35: Point: <0, 0.2, 0.4>
100: Node: 1550036: Node: 15500
101: Incident Zones: 14640 14610 13410 1344037: Incident Zones: 14640 14610 13410 13440
102: d: <zonal>38: d: <zonal>
103:     (14640) = 0.56851739:     (14640) = 0.568517
104:     (14610) = 0.5815640:     (14610) = 0.58156
105:     (13410) = 0.58726441:     (13410) = 0.587264
106:     (13440) = 0.5743542:     (13440) = 0.57435
107:  43:  
108:  44:  
109: Sliced, Index-selected 3D Mesh Plot45: Sliced, Index-selected 3D Mesh Plot
110:  46: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
111: M: rect3d.silo
112: quadmesh3d
113: Point: <0.378395, 0.378989, 0.5>
114: Zone: 17261
115: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
116:  
117: N: rect3d.silo
118: quadmesh3d
119: Point: <0.4, 0.4, 0.5>
120: Node: 19573
121: Incident Zones: 18491 18461 17261 17291 18492 18462 17262 17292
122:  
123: Same pickes on Sliced, Index-selected 3D Pseudocolor Plot47: Same pickes on Sliced, Index-selected 3D Pseudocolor Plot
124:  48: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
125: O: rect3d.silo
126: quadmesh3d
127: Point: <0.378395, 0.378989, 0.5>
128: Zone: 17261
129: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
130: d: <zonal> = 0.162927
131:  
132:  
133: P: rect3d.silo
134: quadmesh3d
135: Point: <0.4, 0.4, 0.5>
136: Node: 19573
137: Incident Zones: 18491 18461 17261 17291 18492 18462 17262 17292
138: d: <zonal>
139:     (18491) = 0.146783
140:     (18461) = 0.162927
141:     (17261) = 0.162927
142:     (17291) = 0.146783
143:     (18492) = 0.121977
144:     (18462) = 0.140991
145:     (17262) = 0.140991
146:     (17292) = 0.121977
147:  
148:  
149: Same picks on Sliced, Index-selected 3D FilledBoundary Plot49: Same picks on Sliced, Index-selected 3D FilledBoundary Plot
150: Stride changes back to 1 due to MIR, so should match Mesh results below50: Stride changes back to 1 due to MIR, so should match Mesh results below
151:  51:  
152: Q: rect3d.silo52: E: rect3d.silo
153: quadmesh3d53: quadmesh3d
154: Point: <0.378395, 0.378989, 0.5>54: Point: <0.378395, 0.378989, 0.5>
155: Zone: 1726155: Zone: 17261
156: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 1957356: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
157: mat1: 757: mat1: 7
158:  58:  
159:  59:  
160: R: rect3d.silo60: F: rect3d.silo
161: quadmesh3d61: quadmesh3d
162: Point: <0.366667, 0.375, 0.5>62: Point: <0.366667, 0.375, 0.5>
163: Node: 1954163: Node: 19541
164: Incident Zones: 18460 18430 17230 17260 18461 18431 17231 1726164: Incident Zones: 18460 18430 17230 17260 18461 18431 17231 17261
165: mat1:65: mat1:
166:     (18460)66:     (18460)
167:         6 = 0.12767:         6 = 0.127
168:         7 = 0.87368:         7 = 0.873
169:     (18430)69:     (18430)
170:         6 = 0.7770:         6 = 0.77
171:         7 = 0.2371:         7 = 0.23
172:     (17230)72:     (17230)
173:         6 = 0.7873:         6 = 0.78
174:         7 = 0.2274:         7 = 0.22
175:     (17260)75:     (17260)
176:         6 = 0.13576:         6 = 0.135
177:         7 = 0.86577:         7 = 0.865
178:     (18461) 778:     (18461) 7
179:     (18431)79:     (18431)
180:         6 = 0.00380:         6 = 0.003
181:         7 = 0.99781:         7 = 0.997
182:     (17231)82:     (17231)
183:         6 = 0.00483:         6 = 0.004
184:         7 = 0.99684:         7 = 0.996
185:     (17261) 785:     (17261) 7
186:  86:  
187:  87:  
188: Same picks on Sliced, 3D Mesh Plot88: Same picks on Sliced, 3D Mesh Plot
189:  89: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
190: S: rect3d.silo
191: quadmesh3d
192: Point: <0.378395, 0.378989, 0.5>
193: Zone: 17261
194: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
195:  
196: T: rect3d.silo
197: quadmesh3d
198: Point: <0.366667, 0.375, 0.5>
199: Node: 19541
200: Incident Zones: 18460 18430 17230 17260 18461 18431 17231 17261
diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickSamrai_01.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickSamrai_01.html new file mode 100644 index 000000000..28ef4d54c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickSamrai_01.html @@ -0,0 +1,1426 @@ +Results for test case PickSamrai_01 + +

Results for test case PickSamrai_01

+ + + + + +
Legend
16 Lines Added
122 Lines Deleted
42 Lines Changed

+

16 modifications, totalling 180 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1:  
2: Testing sliced SAMRAI:2: Testing sliced SAMRAI:
3:  3: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
4: A: summary.samrai timestep 04: A: summary.samrai timestep 0
5: amr_mesh level 2 patch level2,patch0
6: Point: <5.74804, 7.82107, 4>
7: Zone: 1863
8: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
9:  
10: B: summary.samrai timestep 0
11: amr_mesh level 2 patch level2,patch05: amr_mesh level 2 patch level2,patch0
12: Point: <5.74804, 7.82107, 4>6: Point: <5.74804, 7.82107, 4>
13: Zone: 18637: Zone: 1863
14: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 24428: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
15: Primitive Var _number_0: <zonal> = 809: Primitive Var _number_0: <zonal> = 80
16:  10:  
11: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
12: B: summary.samrai timestep 0
13: amr_mesh level 2 patch level2,patch0
14: Point: <6, 8, 4>
15: Node: 2442
16: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
17: Primitive Var _number_0: <zonal>
18:     (2205) = 10
19:     (2187) = 80
20:     (1863) = 80
21:     (1881) = 10
22:     (2206) = 10
23:     (2188) = 80
24:     (1864) = 10
25:     (1882) = 10
17:  26:  
27: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
18: C: summary.samrai timestep 028: C: summary.samrai timestep 0
19: amr_mesh level 2 patch level2,patch029: amr_mesh level 2 patch level2,patch0
20: Point: <5.74804, 7.82107, 4>30: Point: <5.5, 7.5, 4>
31: Node: 2422
32: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
33: Primitive Var _number_0: <zonal>
34:     (2186) = 80
35:     (2168) = 80
36:     (1844) = 80
37:     (1862) = 80
38:     (2187) = 80
39:     (2169) = 80
40:     (1845) = 80
41:     (1863) = 80
42:  
43:  
44: D: summary.samrai timestep 0
45: amr_mesh level 2 patch level2,patch0
46: Point: <5.75, 7.75, 3.75>
21: Zone: 186347: Zone: 1863
22: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 244248: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
23:  49:  
24: D: summary.samrai timestep 050: E: summary.samrai timestep 0
25: amr_mesh level 2 patch level2,patch051: amr_mesh level 2 patch level2,patch0
26: Point: <5.74804, 7.82107, 4>52: Point: <5.75, 7.75, 3.75>
27: Zone: 186353: Zone: 1863
28: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 244254: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
29: Primitive Var _number_0: <zonal> = 8055: Primitive Var _number_0: <zonal> = 80
30:  56:  
31:  57:  
32: E: summary.samrai timestep 058: F: summary.samrai timestep 0
59: amr_mesh level 2 patch level2,patch0
60: Point: <5.75, 7.75, 3.75>
61: Zone: 1863
62: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
63:  
64: G: summary.samrai timestep 0
65: amr_mesh level 2 patch level2,patch0
66: Point: <5.75, 7.75, 3.75>
67: Zone: 1863
68: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
69: Primitive Var _number_0: <zonal> = 80
70:  
71:  
72: H: summary.samrai timestep 0
33: amr_mesh level 2 patch level2,patch073: amr_mesh level 2 patch level2,patch0
34: Point: <6, 8, 4>74: Point: <6, 8, 4>
35: Node: 244275: Node: 2442
36: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 188276: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
37:  77:  
38: F: summary.samrai timestep 078: I: summary.samrai timestep 0
39: amr_mesh level 2 patch level2,patch079: amr_mesh level 2 patch level2,patch0
40: Point: <6, 8, 4>80: Point: <6, 8, 4>
41: Node: 244281: Node: 2442
42: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 188282: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
43: Primitive Var _number_0: <zonal>83: Primitive Var _number_0: <zonal>
44:     (2205) = 1084:     (2205) = 10
45:     (2187) = 8085:     (2187) = 80
46:     (1863) = 8086:     (1863) = 80
47:     (1881) = 1087:     (1881) = 10
48:     (2206) = 1088:     (2206) = 10
49:     (2188) = 8089:     (2188) = 80
50:     (1864) = 1090:     (1864) = 10
51:     (1882) = 1091:     (1882) = 10
52:  92:  
53:  93:  
54: G: summary.samrai timestep 094: J: summary.samrai timestep 0
55: amr_mesh level 2 patch level2,patch095: amr_mesh level 2 patch level2,patch0
56: Point: <6, 8, 4>96: Point: <6, 8, 4>
57: Node: 244297: Node: 2442
58: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 188298: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
59:  99:  
60: H: summary.samrai timestep 0100: K: summary.samrai timestep 0
61: amr_mesh level 2 patch level2,patch0101: amr_mesh level 2 patch level2,patch0
62: Point: <6, 8, 4>102: Point: <6, 8, 4>
63: Node: 2442103: Node: 2442
64: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882104: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
65: Primitive Var _number_0: <zonal>105: Primitive Var _number_0: <zonal>
66:     (2205) = 10106:     (2205) = 10
67:     (2187) = 80107:     (2187) = 80
68:     (1863) = 80108:     (1863) = 80
69:     (1881) = 10109:     (1881) = 10
70:     (2206) = 10110:     (2206) = 10
71:     (2188) = 80111:     (2188) = 80
72:     (1864) = 10112:     (1864) = 10
73:     (1882) = 10113:     (1882) = 10
74:  114:  
75:  115:  
76: I: summary.samrai timestep 0116: L: summary.samrai timestep 0
77: amr_mesh level 2 patch level2,patch0117: amr_mesh level 2 patch level2,patch0
78: Point: <5.5, 7.5, 4>118: Point: <5.5, 7.5, 4>
79: Node: 2422119: Node: 2422
80: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863120: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
81:  121:  
82: J: summary.samrai timestep 0122: M: summary.samrai timestep 0
83: amr_mesh level 2 patch level2,patch0123: amr_mesh level 2 patch level2,patch0
84: Point: <5.5, 7.5, 4>124: Point: <5.5, 7.5, 4>
85: Node: 2422125: Node: 2422
86: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863126: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
87: Primitive Var _number_0: <zonal>127: Primitive Var _number_0: <zonal>
88:     (2186) = 80128:     (2186) = 80
89:     (2168) = 80129:     (2168) = 80
90:     (1844) = 80130:     (1844) = 80
91:     (1862) = 80131:     (1862) = 80
92:     (2187) = 80132:     (2187) = 80
93:     (2169) = 80133:     (2169) = 80
94:     (1845) = 80134:     (1845) = 80
95:     (1863) = 80135:     (1863) = 80
96:  136:  
97:  137:  
98: K: summary.samrai timestep 0138: N: summary.samrai timestep 0
99: amr_mesh level 2 patch level2,patch0139: amr_mesh level 2 patch level2,patch0
100: Point: <5.5, 7.5, 4>140: Point: <5.5, 7.5, 4>
101: Node: 2422141: Node: 2422
102: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863142: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
103:  143:  
104: L: summary.samrai timestep 0144: O: summary.samrai timestep 0
105: amr_mesh level 2 patch level2,patch0145: amr_mesh level 2 patch level2,patch0
106: Point: <5.5, 7.5, 4>146: Point: <5.5, 7.5, 4>
107: Node: 2422147: Node: 2422
108: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863148: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
109: Primitive Var _number_0: <zonal>149: Primitive Var _number_0: <zonal>
110:     (2186) = 80150:     (2186) = 80
111:     (2168) = 80151:     (2168) = 80
112:     (1844) = 80152:     (1844) = 80
113:     (1862) = 80153:     (1862) = 80
114:     (2187) = 80154:     (2187) = 80
115:     (2169) = 80155:     (2169) = 80
116:     (1845) = 80156:     (1845) = 80
117:     (1863) = 80157:     (1863) = 80
118:  158:  
119:  
120: M: summary.samrai timestep 0
121: amr_mesh level 2 patch level2,patch0
122: Point: <5.75, 7.75, 3.75>
123: Zone: 1863
124: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
125:  
126: N: summary.samrai timestep 0
127: amr_mesh level 2 patch level2,patch0
128: Point: <5.75, 7.75, 3.75>
129: Zone: 1863
130: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
131: Primitive Var _number_0: <zonal> = 80
132:  
133:  
134: O: summary.samrai timestep 0
135: amr_mesh level 2 patch level2,patch0
136: Point: <5.75, 7.75, 3.75>
137: Zone: 1863
138: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
139:  
140: P: summary.samrai timestep 0
141: amr_mesh level 2 patch level2,patch0
142: Point: <5.75, 7.75, 3.75>
143: Zone: 1863
144: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
145: Primitive Var _number_0: <zonal> = 80
146:  
147:  
148: Q: summary.samrai timestep 0
149: amr_mesh level 2 patch level2,patch0
150: Point: <6, 8, 4>
151: Node: 2442
152: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
153:  
154: R: summary.samrai timestep 0
155: amr_mesh level 2 patch level2,patch0
156: Point: <6, 8, 4>
157: Node: 2442
158: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
159: Primitive Var _number_0: <zonal>
160:     (2205) = 10
161:     (2187) = 80
162:     (1863) = 80
163:     (1881) = 10
164:     (2206) = 10
165:     (2188) = 80
166:     (1864) = 10
167:     (1882) = 10
168:  
169:  
170: S: summary.samrai timestep 0
171: amr_mesh level 2 patch level2,patch0
172: Point: <6, 8, 4>
173: Node: 2442
174: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
175:  
176: T: summary.samrai timestep 0
177: amr_mesh level 2 patch level2,patch0
178: Point: <6, 8, 4>
179: Node: 2442
180: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
181: Primitive Var _number_0: <zonal>
182:     (2205) = 10
183:     (2187) = 80
184:     (1863) = 80
185:     (1881) = 10
186:     (2206) = 10
187:     (2188) = 80
188:     (1864) = 10
189:     (1882) = 10
190:  
191:  
192: U: summary.samrai timestep 0
193: amr_mesh level 2 patch level2,patch0
194: Point: <5.5, 7.5, 4>
195: Node: 2422
196: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
197:  
198: V: summary.samrai timestep 0
199: amr_mesh level 2 patch level2,patch0
200: Point: <5.5, 7.5, 4>
201: Node: 2422
202: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
203: Primitive Var _number_0: <zonal>
204:     (2186) = 80
205:     (2168) = 80
206:     (1844) = 80
207:     (1862) = 80
208:     (2187) = 80
209:     (2169) = 80
210:     (1845) = 80
211:     (1863) = 80
212:  
213:  
214: W: summary.samrai timestep 0
215: amr_mesh level 2 patch level2,patch0
216: Point: <5.5, 7.5, 4>
217: Node: 2422
218: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
219:  
220: X: summary.samrai timestep 0
221: amr_mesh level 2 patch level2,patch0
222: Point: <5.5, 7.5, 4>
223: Node: 2422
224: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
225: Primitive Var _number_0: <zonal>
226:     (2186) = 80
227:     (2168) = 80
228:     (1844) = 80
229:     (1862) = 80
230:     (2187) = 80
231:     (2169) = 80
232:     (1845) = 80
233:     (1863) = 80
234:  
diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickSamrai_05.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickSamrai_05.html new file mode 100644 index 000000000..b69f32b07 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/PickSamrai_05.html @@ -0,0 +1,676 @@ +Results for test case PickSamrai_05 + +

Results for test case PickSamrai_05

+ + + + + +
Legend
0 Lines Added
20 Lines Deleted
75 Lines Changed

+

6 modifications, totalling 95 lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1:  1:  
2: Testing front:2: Testing front:
3:  3: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
4: A: summary.samrai timestep 04: A: summary.samrai timestep 0
5: amr_mesh level 1 patch level1,patch4
6: Point: <0.803403, 0.553261>
7: Zone: 95
8: Incident Nodes: 106 107 115 116
9:  
10: B: summary.samrai timestep 0
11: amr_mesh level 1 patch level1,patch4
12: Point: <0.803403, 0.553261>
13: Zone: 95
14: Incident Nodes: 106 107 115 116
15:  
16: C: summary.samrai timestep 0
17: amr_mesh level 1 patch level1,patch45: amr_mesh level 1 patch level1,patch4
18: Point: <0.803403, 0.553261>6: Point: <0.803403, 0.553261>
19: Zone: 957: Zone: 95
20: Incident Nodes: 106 107 115 1168: Incident Nodes: 106 107 115 116
21: Distance to front: <nodal>9: Distance to front: <nodal>
22:     (106) = 0.32026810:     (106) = 0.320268
23:     (107) = 0.35151811:     (107) = 0.351518
24:     (115) = 0.35778712:     (115) = 0.357787
25:     (116) = 0.38903713:     (116) = 0.389037
26:  14:  
27:  15: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
28: D: summary.samrai timestep 016: B: summary.samrai timestep 0
29: amr_mesh level 1 patch level1,patch4
30: Point: <0.803403, 0.553261>
31: Zone: 95
32: Incident Nodes: 106 107 115 116
33: Distance to front: <nodal>
34:     (106) = 0.320268
35:     (107) = 0.351518
36:     (115) = 0.357787
37:     (116) = 0.389037
38:  
39:  
40: E: summary.samrai timestep 0
41: amr_mesh level 1 patch level1,patch4
42: Point: <0.78125, 0.5625>
43: Node: 115
44: Incident Zones: 94 95
45:  
46: F: summary.samrai timestep 0
47: amr_mesh level 1 patch level1,patch4
48: Point: <0.78125, 0.5625>
49: Node: 115
50: Incident Zones: 94 95
51:  
52: G: summary.samrai timestep 0
53: amr_mesh level 1 patch level1,patch417: amr_mesh level 1 patch level1,patch4
54: Point: <0.78125, 0.5625>18: Point: <0.78125, 0.5625>
55: Node: 11519: Node: 115
56: Incident Zones: 94 9520: Incident Zones: 94 95
57: Distance to front: <nodal> = 0.35778721: Distance to front: <nodal> = 0.357787
58:  22:  
59:  23: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
60: H: summary.samrai timestep 024: C: summary.samrai timestep 0
61: amr_mesh level 1 patch level1,patch4
62: Point: <0.78125, 0.5625>
63: Node: 115
64: Incident Zones: 94 95
65: Distance to front: <nodal> = 0.357787
66:  
67:  
68: I: summary.samrai timestep 0
69: amr_mesh level 0 patch level0,patch0
70: Point: <0.803403, 0.569949>
71: Zone: 156
72: Incident Nodes: 165 166 182 183
73:  
74: J: summary.samrai timestep 0
75: amr_mesh level 0 patch level0,patch0
76: Point: <0.803403, 0.569949>
77: Zone: 156
78: Incident Nodes: 165 166 182 183
79:  
80: K: summary.samrai timestep 0
81: amr_mesh level 0 patch level0,patch025: amr_mesh level 0 patch level0,patch0
82: Point: <0.803403, 0.569949>26: Point: <0.803403, 0.569949>
83: Zone: 15627: Zone: 156
84: Incident Nodes: 165 166 182 18328: Incident Nodes: 165 166 182 183
85: Distance to front: <nodal>29: Distance to front: <nodal>
86:     (165) = 0.32653730:     (165) = 0.326537
87:     (166) = 0.38903731:     (166) = 0.389037
88:     (182) = 0.39142132:     (182) = 0.391421
89:     (183) = 0.45392133:     (183) = 0.453921
90:  34:  
91:  35: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
92: L: summary.samrai timestep 036: D: summary.samrai timestep 0
93: amr_mesh level 0 patch level0,patch0
94: Point: <0.803403, 0.569949>
95: Zone: 156
96: Incident Nodes: 165 166 182 183
97: Distance to front: <nodal>
98:     (165) = 0.326537
99:     (166) = 0.389037
100:     (182) = 0.391421
101:     (183) = 0.453921
102:  
103:  
104: M: summary.samrai timestep 0
105: amr_mesh level 0 patch level0,patch0
106: Point: <0.8125, 0.5625>
107: Node: 166
108: Incident Zones: 156 157 141
109:  
110: N: summary.samrai timestep 0
111: amr_mesh level 0 patch level0,patch0
112: Point: <0.8125, 0.5625>
113: Node: 166
114: Incident Zones: 156 157 141
115:  
116: O: summary.samrai timestep 0
117: amr_mesh level 0 patch level0,patch037: amr_mesh level 0 patch level0,patch0
118: Point: <0.8125, 0.5625>38: Point: <0.8125, 0.5625>
119: Node: 16639: Node: 166
120: Incident Zones: 156 157 14140: Incident Zones: 156 157 141
121: Distance to front: <nodal> = 0.38903741: Distance to front: <nodal> = 0.389037
122:  42:  
123:  
124: P: summary.samrai timestep 0
125: amr_mesh level 0 patch level0,patch0
126: Point: <0.8125, 0.5625>
127: Node: 166
128: Incident Zones: 156 157 141
129: Distance to front: <nodal> = 0.389037
130:  
diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/avg_value_02.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/avg_value_02.html new file mode 100644 index 000000000..4bee43e4e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/avg_value_02.html @@ -0,0 +1,31 @@ +Results for test case avg_value_02 + +

Results for test case avg_value_02

+ + + + + +
Legend
0 Lines Added
0 Lines Deleted
1 Lines Changed

+

1 modifications, totalling 1 lines

+ + + + + + + + + + + + + + + + + + + + +
 Line Baseline Line Current
1: The average value of vel is 4.06619e-17, -1.2443e-17, 01: The average value of vel is -1.62203e-17, -1.2443e-17, 0
diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..48814d827e5e15f882d4b6bcd9acfc36e82d7427 GIT binary patch literal 1205 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qWIPZ!6KiaBp@-_2X(z|atQ z=gsf^M%9VgCq5`kofW@ZoaB?8C?R2YYj)hT%6Sdv=2tO&*e|Sj#D&99(8;Go05|i* z^Bpm-B=;P>57d!%x+MO`{mtv8!&+)~oBzH2>vh}L=Nd#9LeQ2`1^D7%G<5KU&OX~i zruRpKq%Fwei3F<+I(L-0kP5=gsFSKOii8Z;Q>NBEHj)<#>udcv#uJn^_zg-@E*H zO@`NJ8@&sqwfXb?FMq3&^{J@5aQnew;ez5VySHDv=g42{+H(1QP;C76UGLs)+PC2J z(!0iY82uyO?KVI6>0I=^dUoq|^;Tz!^KYe}d-~wuM$5^~ze{Iax~G-%ZlC%8&!-Cu z1h4TQJa{ttwd3@kyv}GkyjZM+}~> KelF{r5}E+NNTN^x literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6baf5d1cf3e278f63e3d6953190117326eb70370 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^DIm)b0D<8=n1a^7Dy*wf7Yh-gomw|KAq>5PvGd>6p+hhBX2aI@dN`W=oKj z{rKwY{Jtxu&5Va1-k)zTVZPA4!pgsem|30jk{yf)|}0f5!qk^ zjHXT4*wUk#qNAA1Dd~LzWai)$l5P-nJ@R_z*|oxJ=be2~a^uz_9m#%8F2DK9bRzXm z8qI3E+7;KoN#*n{)o#|%tNY$qbj>*b^T)()@l2^S<4aTWrt8OBREsTG=NVjOYgfBS z<3$;xns8T>Mv|E_%dgr;J4Ao}n_D+u;6!o5&pmg`tWu30-ZuX<$70#-rT6pKC)%ld zb|l-?FVpZ4slOUBEP|{GO~rw`ONb_y^*xGmXZ1JgfsKh zKfA+<)zvl?2liI~`NJu|z>% literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern.png new file mode 100644 index 0000000000000000000000000000000000000000..6236817d738de9e190d0b499085563e2282fbd4c GIT binary patch literal 1205 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qWIPZ!6KiaBp@-_D!uz~JB* z^YwrIOuHSf89ODSH}<_bcVd$e`?S`l6ZSkYJO7!br0%M4!~eM)ifT?BodQWpEi-U4 z?T)<-JO9A8?z(Wp_o(H+oB!MVZa&;KLI3-*|55)BCjPbLG8A<3X%P@sJmSJJ${Y;` zIwyjS`u!iuR;L%7&Hh~T^Ub<975mNxx7WSas(JUI+rRfiU1{0+i{IRDpS^ZlCbx3S z_2A;_A9eM*@%+j>>nB_0x9_cJa({pL+hLP+{U1I&lF8j{_wL*6yXX7$u6K5?{(tCZ z?Dv&|>v*Tv&0BBx@_FT~W&7VBzPqhv-?kc~JB<2171w`tytZ7^Uu|^ar1Hx@JHpSU zR-4AjeO{?~_VW&h?_Xo><}dsE)oSL4Ukgq@I4oRHzNLNpwTq7DYn@vz?_auW|Fm6l z?>6mS@Or5&$he62)h6eDor}I-uWp@JZ*}H##;x#kPoEszXgzuI@6s8UE^57bS7-A7 z_36SQ!EO8p4<3zv9l8Cd>|&RQrjBj4Fu;$tK% zo;P%VPI_4I>bK72n)u1_|F-OQ@xA=uU+l;FTE_p&dsI_&7M?xM)wnC}eAw*%(vl zHDM`|sh;z;d%v1>bW!ciLJ`CHpa0oDKY!WeOxhC7yL$8O3V)e6gic(RA}Mco;r->e zOg?H~e!B>6mQ)N7IZ~+o>8rM@BgdC2hR>C|-yLzq{;||yOO%ga> z^T%Vq|D*}2OEeV=YVOS2FSq7k!_A($`4>C#?^~4j?JnP0Ki_+LgwBoo&%fpB#U$7~ zdmCL=ezN%9p2Ylqo#d@aCP`LLUk1zBJb38L#~-R4 zVDjiqq!{5^X@+SRXWcmF}=N+ShC*>+uz@3bb9bHxvcERpP6@K=h>%M&z3fi(5w8`b9(yi>?dR0z*Yuj~}0sY8~lt`GUzD3r7wWPDO+H z|F^32-OhhgcKhVnO=Uc^mbi1tx=g7m+f$QN w7G7qI(Cbv1l;RsvA2s_w^ZsM_QrHXjs>T102HW$k2j(6IPgg&ebxsLQ0K6QDM*si- literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..e1f19f9cdb08e1184ce0e0a49aaf3d19fd77c130 GIT binary patch literal 1293 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qWZo-U3d6?5L+zL>Yli@_mq z$IJi!jlMS?5eVq&diN?)d)dWciDif1WcghxoVASc#h-A0hJU3>Ei*V2)tovy1(I+x z<1=KA*<0VTX19O6>#9op+vW2ZvZt>#<6ZuD<@2K7^DN#>7ME)Oc+F5^))%f}i=TsRB`oqSpZgcV1b^b7~{-oroIR(DL`H*POHnf&w9wd?Wj zx9jU_&NPe13M$H{Ni92l{ifEuw~XG84fOiw^GE-C{3oUKSL&I+2l8S|?pyfw&p9SI zo%f*Tz0VInh?L*`KL7ez=5t@y?!V}AV*2g6AAhnBcTLd$zUcdT;r6fc#v?F(e}CdQ zp15Xt!HKMS&;6>cZ!tgKU!wZ_p#9Udx$lCN@9fOIoqzXM>u-0vJ>}b*-`C8QU;W&@ zEy^~pxAMADOzgC|@dB%p%dS1YzS_p-{M^lUOJB{eVp5M-`_;t9J*-~lSmumpkEiQD zFJ7KFD}J3@TwG!G0b}8PR&P&lFLR5YyQ6C7ev#V;x9_g0JaEpYT(9uYgVocz3re@? z?~Tm=u=0J2_UGIg^84T2I;|Q0{rLLl=N{V^2Ty;l_x)7andsSdrDrzWc)eQTJ=YJT z`Kzt#ZhR>y5S$mY?y1t9ub1Z*eKnU@{?h+E|Gs zzx=}Vwds_Tlh22yz-*_UygR!J6cs+|FUN1ucSt{{VXr~YuC_xB#BdJ+5-NKyGnvD zy}u_a`1dfgb&1d<`E~Orl)QLz$H#Mb$<^jR>+FuqN-dju_3r-2gom8|4cGVlyDWeF zh-p^04wL-P8w);OXBCfJ6WHDP_iXAk^P68z+dX}0^?LJ}e|Klu$K;xC|Noy?{=);C z=kAhs=PzF!JU{&(n|WQ`N;{uvhh;CMZxP;e0OSnX6LsAY)uonRb^c*L=fA%6HT>e+ zn8xr$PwG89WzRhfi?ltH*sdM;sZe>5($PEXDt~=V7S-7E;HXsg`HE{xD*K9EyTo^F zI4UL}WcTc&tDaeApV6;*-;Z0E9dz;eGiiGH&gv#%YwxcQg?6>u$fVcY*IRh{#I?xx z7a#YZPxh(luMXc?)fH@6Bq=E%@Ix~?;i2Vu^_em$1v4Jro&5Fn@mtROk8;+nkI-p6 zDntqKMKP=|=3T-*Py4M;SNQIBQ1rJ`x|OilDYau^#|roLK9nFf&r{bM4&<*Y+R>2EI#tk3=3M?B zse}Xa{!Why=Ks92q;lHk%1^ns9NfYdO_|Wr692>K$c4J&s{*qxuM7BjWI0=};jwoG z>9byPs#%rX`|wQ7{Cq)LbMN*&d(V9}dK$iGR@yJ2>24B{NhcqMMMx$jbglF?+kSIh z@chJQQrB07-2eDaMcu!+s%PWxJM!r@^M2}XTNTn@w8eL~>ua;^&u7d|%Ie$cZnNvm z)6{9#BeE~fO4;O9+BWmC%=+N<0XvWC?qB(WS$Q>!=i}=B& Yl4>1w!v3T>Fsn0oy85}Sb4q9e0B8W~od5s; literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern.png new file mode 100644 index 0000000000000000000000000000000000000000..8cecd669ff98bd129de7f8cb007296e60fbf33f8 GIT binary patch literal 1273 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qV`o-U3d6?5L+ew(+-i@_mq z=gZ&wKi!cxU%s&6N8y3kz1d3@v)U6~%1nLd9Fq`V@Y#Pa!;k&Kibq^H3IWw&;LD;sUH8z z_WU{5W5RY{Ykpa95i*;g<)aGlMGel-ITU)?yHCmK-WikIdhgoFf;r6d&}?4yUQ-rUY0oj_C)UG&Fi^l$9;bIL4ben zyZH3AOnu*0)?aiv(H>p@<4^A8t_l3*mwrEQy!`7p4-x4Hrz7zvyFshX&gRg{xC3*S z-Q9iM@86w2%jcbZ`N#QB+Iy*o=T2|?cXjLPg8CeuP2hM!ycPo-&x%8n>}A@wRpDS&z1Vuxc9uaet2lc z-#dG<_Ltw>W0&{N`mTA-{|m2g&py4c?4tg$n6zXuM>~-ZPoHnySDAXgddFv#KTluI zn%~ks@2;YIePd=%{64221@fQ#INp1cmEI_g%8m7m3uh+GYTUg}1z4mpc)I$ztaD0e F0svkI&h`KR literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..912b141c55ec8a49424a13d91fe9b0a76cf280ab GIT binary patch literal 851 zcmeAS@N?(olHy`uVBq!ia0vp^DIm~29X*@y_)1&cHSL@&r=sh9Ptgjz!m3pdG_7~J9~{i z(_(nsg|?XOS4;8vT^lx2<@4-fyU*ump8dZ>lCM1}UF}#c1G{IEs7lyDiKMm0JC677 z`v3EY+-&O^`#tkdA7*@QZM)^Sg!3BiJ2(E#Jzc}N@BeZA?~xC^qsq>rU$G-Kl<7yFB;moBzuns_!||`L}APtKP?RaXnIpPi67F(SF7hKOus(GnDp3 zzss7vyJS;~`k(z-zjk~1#lN-e_k4aIZD?zgw(&dcBfb6fmv2|Ud^m1(#Qe?^?P-;r znQ;&GW;`m6OPwkF=S=XNW#_looG^}d>wPG;%inTq|Mm;KJCCy6Qoa0K`Q8&tHHo?P z%VSfg|D0tk^YF&Esb4=FzvbM2gtczHN|+-kAjv0s6t5j=tnDt_`ZS~0+2_(zvtpU0 zr`b01+)QcH+x#~8T4d79P^n!pPbGN!8y$BWu5z9qI`4tM)!SvO+W4+p`d!Z3V|7RF zyc+NR&1brOHnFvx*>F;%zTivax$^LhViC!G_ah#u$QSfo{_>--yt483pA)ywe3E@$ z(fc@N=|ih_%hR%9kxy*$4bS`Aoc=uLNwQyI=k7C~RkGK7uoJgD?P~Y9bY0bP0l+XkK!HR&( literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..b363725d9b807ec8ac4624ae0ff402f6280b4216 GIT binary patch literal 1186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qW)PZ!6KiaBp@U(8$Nz~B&g z+PitKC$?8#-hM59d-VT4C!ZDpVZ|dZ9EO6U%+YY5cOrOm zTRG-6t4~$lT>tuAGdrIr%UOMiUVrHMyFZVTm1EY&z2CQ0ew$y<9@Ezgx8ALdt^dDA zX76svvK{CC=J~UoUsG&cx4Gx1ZO$2<+cJ+nTtEDFyWjQBldJz9Sw8#QM!~q-bAB2A zT_S&aQ%szB`R()HvXjl9y=0Y_+HLsw`#1G@g3p7`ZNDFN`^=r)<*%N6*|^)`anW0| z<*AzwO=excJMp*rgNOIt-HY1JSM^F;DMoL4N=)p+nVP?at<;{aD?WUVzxK!Hx--vC zR@oK)e|IC-#^%nMbj!*DnRQQ|)ZNv2c`ejpPF?oj&(j}2QF$ZZBt3ciwdQMv_cnwl q+}i#}wWVK`aONeLyGd7Y!@e)feZhu~AF05yhr!d;&t;ucLK6Tgwv}}N literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ed6bfe0f7c128c5e22f65c4cb710c1bce578cdc6 GIT binary patch literal 716 zcmeAS@N?(olHy`uVBq!ia0vp^DImdE?5u{^BG z8b1tp7yZ3+`rWU6>-N1`niW3zXwt&Jo0t9n#`$NuR#?EsrZ9%=2St|FYZbM@^P#8T&ZKiq+1o5q?eum&sj0d7vBh}b^GdNf z2Fa7>S4hPeBzMc-NEDXYc(_HFt!!qW(*8}S513gZ$3~(*p6{BR`kR6S`8LOQ?>X;1r?`E4Wux=Hr((tX9-2kR6dy30|A|q)s6RXI zX-B%n6U`4&@rCCY&ljEJ-S^l#F7aHCrGC-L>vx{(#yuC#E1KRvqp-a;@3Y+d57rVt zX3YL`M%V5+TYkaO^gT9l+uFsyZ;UJaSJ1J|GCko`jm-9JwKFp|JV=_;?XJ!(tasxn z+Lz4 tjm!Y7OPm6%C;t>~)QRZkk z&^Zxo%f>{(95*X2<@s!R>XgwQAlyu(vZibo*-LUboZoy5_UG$*KYfpBX!)pqM~rywwZF}Ki|H39z8w#_`$38 zg=OuvIW57Pz3XNB?Ov{bY{2vXUV8cMzn@qBR^M#>;7CijZ@ zm)yHedlp+-v)_z&yG_r1IXC-Wy|uMoz18gJ*S7S}Ieo4`)rn<)SQ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e4c40c9b63016ec63c70725581176d0a135eeed0 GIT binary patch literal 871 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 DK3mQd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..28675de5ebdd0eacd1d5eedbc68b0cb8e8f75e60 GIT binary patch literal 1207 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qWoPZ!6KiaBquMd#fL5OD~M zD(#a~Uc5wp#kAMr<{BB|yRNZ&_0-mG*y~w$CvQ9Vg`bi94F9bKoqSpZgcXmta2Vod z?&*E~HLCxE(EeA954KKw>38`Hzn->}-5v9`?~79ZT65viO3>_41^7aKG;|1u&PM+J z4^?}wDf3k3om*~y_eA6K-!(6<=y z-#?oluDxc?nLV*(ADHF#uKO0>Yq;;w;qKxs=RfVa9bdj(K6agObNT;HfAe>-$}v%~ zzcOdJtvghE{`AwL`dHiC&)=3-o_@tyk@Vp1+tbE+=@Ik3r%b$?dY<3%ex1qf6C3&G zUpaVqd1lnz1;78!-5&pMUzjqpzQ2|Jz8Z$Uu<9QfvU9)OQFp2MS-kq)vt4p>oAxd^ z9bKLBmBq&V?Yr~0Ys2oZdCs19KlW^;$+r{fmOmfenET{OWo&OriFg^m{jB;wWpiR$ z-cEmT>cQf#q4s&(Z*SM<>iIokf6Iq`cr!B1lGAVAbeG7tnVWNDfCUnRr>mdKI;Vst E09f*me*gdg literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5bd79c4ff50a4911c1542cbdff9c843e902977c4 GIT binary patch literal 790 zcmeAS@N?(olHy`uVBq!ia0vp^DImHS(-G1P2JjbF9A}yTteQ$i;%-no5a*aszo8>N1xj*hPDH_k~k?&iuSyb@w zKfUkk`9IjZ>L?^J%GyusSTcog)76j3xn{GkW^JujT^e$|^m=K1%>B~X*z5IQwz~hn zzv1<+ZMpe*dEf58`l0^1L6Ey6!r=&$l9<58h7ML2kU4`|$e!tRRP}_~O|^M_hE~tl zY&AS4;502&U0vPKP4MHr?v6U)uN52*?OZY`Fd$;q*U^;!jf~A&z(4yFJHdv zhUN3U?|<8!HhMnCFm3nUXO-(-yQ-Wo&R$!@b9ln@ogFEW%Z^`OfBXHHUEkx%FU)`S z_Og41(xT({TJLeMUiZ3CX0r~rBG2Ifk)wC--hKS|agANS;kMk}5jv+f@hEP|jSijq z{omuqi!-Ha-<(a`d^ayXE>2EPZr;3k*IsWmeD>*6kwn|g9J7g`p(`5Rez{j)SNE;< zzRB6YfB(LH`_`iGn1o=Y-gMW%7J*f(s%mR(?d|vP+b1@0S?06PKXc4x&nsUaKF8mA zN|2CX_S$n3|E2X9b}iB_-BG4~S|WL^uV!kbSn?dT)3@#~pY`lwP5;SvvA-^!v%DK~ zJYcK_KCcLq;aKbLh*2~7amr(?(f literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern.png new file mode 100644 index 0000000000000000000000000000000000000000..4831dc192afd0597edc575aa347527ad0e9634b4 GIT binary patch literal 1209 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qV}PZ!6KiaBquMd!_SU~mWw zDqR^TR$XehM(Nb)8(pQ@-(@1hyb>hX^j=>7S|!_XZhaNghyB8eM_f1z1)Y3a1aLD? z+}^=6y^2f!5sEtL3wFwyly`|pDv;!M{3@58T~pz)&$@CE*8=nx8>H;0w? zfYRr38}swa*S|Z{c>K3b$*bx2TEENId|D@XFD$*d_uBrb_h$Fg^Uv>HEH~@+-S@ZC ze^nYDdQ@!i{ObmF{et(^8~-OsJ$K)++oJmSne)5BaDgXYT z7p5FbjJdPm_TRbN`0LkSoymFL-->r%1#@0s+4qaLtY2>Q?F@*b}aw@ckPBx|J&k!7$t5xe(&w{sJ|zpl#UC5_4cV2=rksC%6LDBU>eLq315?0 zofLFZS3WXRKR;7kMDpgGpQ7QWUuEB&naR&18mhv_qnhd-9<(f2OsCFPz*@j+m*!=6 zo310->$tm`9!)x3daZGu-QJ>uuD-DW47$0#vK%j+l-)Gl70%4)mEh$uHN9|g>Fk`$ z^*gdMwO2W4XkL%-X0_hcqa$!h)o9ZsBX$4pll8XDiAX+H{7f{|`Ezgn?3{g%t}?Pm z=aiN_pR@nLQD-?b6JfR8Z^A;-=g1aC1i3v@oo<{a|6{}Xf717A9tFE?JM8CO-Cxan zHujy{qu_aUPm=2Ldh`KTWWiwqQIqPOOIb)zH^6Vq=UkjFUoG$W0nhFPMpZGc^vT5NJko}Tq}KKp)`)&H6IyWmSkA7uR!f4!F7s85hZEZ#{-68STK)d(Jy(_ZzXj?yO#K`tef;n9JLR|Z=VeH&>$~|;N#@J$_vUYR z|G!ebpx5^pbKIAzUshar%_V5@r~-V^f-iIql^*`Ut1hT`K8@?~oa2AqZhby`bMF3q z_2;bpf9VT;$~pG&{pS?H^Hm4#82mA=lQR2%_~p?@A3o2y-56{Aav3Or97w$LbdTbV zquXmN?;KBm_xpI^>4v#`U);}7dUAE`{+fU3m%Ao}mtT1PyzcU^cFB%Tfh47t861jg zP9uf6x2olE!1@Pv-KFn#zxkTOf2RJ$)H!PP(`IkozPz{K@wT<~CAs2x{WTTu*QwvH zm?zhL{kzZBikR7-pRM2gcaPnNM{~@zcU4YnzrM5Z%H)v0f%*yj-PyK%<*|PgE2NLx zKYpISJo)&?^S6(l`E0z7y(aab`1IO;7u$|Dc5lBuJ<0ZG)%5f1Ictg^i+tzbmr*CE zx9;18*`<4y|5b^Zk$3pZj-A=(+hgv?oA=Ls_WzXcTzTvJ+OI9w=l(i6WBbjxc$S|l z8_vJpx#RKuFxxwog8M3VJ`;Z!y#KCVy8XT1FH2TkXRyDux<=^GWg&d23{ROsnYK6P ZpB-+@EG(N3EZP_tJYD@<);T3K0RU9k<&OXW literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9670b1131f0aef96f44dfa68856adc5224ad7b0d GIT binary patch literal 980 zcmeAS@N?(olHy`uVBq!ia0vp^DImZtvZ- zA}g*ZTa;X{|8pY2VR`YZ8UHPA8Q$ZuUPncuuGek(Q4ed{Z~ zrJ8{yHeW`u?DQ@oL>DNR%O6%4glm275F@mXEbpr*&jEmP<^@; zHpjmAvvD$2*-G)6KX|xkl}e#^5+9#LZ$w<#cQaYDE)A}xhKn6LcXIb%&6})pC5wkm zMrOm7Bb(Fr)SUcf_1G{v+NSErC!_s!A0M;x%LT0c^i^9w?n2I`j1Ak{pI>|%wEpuG z&clkHPTNnf4!^VCfAh(2X6E^uwj5a-y{Go{E3NzcFTdZs?_Jzfi)Sx`&CDzR%sA_7 zX11etc3gkme2ZmQ7u|gFHT&7~o3|H-Exx)a>gjX;QIls z_<4@k(YajCo6huF&fFnd*S@*VYOUJj#XEn_Ka*5@ZE5QKHvI9^WY3T*VcXHrwMGk= PTNylE{an^LB{Ts5k#)ue literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern.png new file mode 100644 index 0000000000000000000000000000000000000000..512ebda92bd04e9ca04ef3e200f60569431e8008 GIT binary patch literal 1289 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qW3o-U3d6?5L+4$Qmd#o%yp z$*G{dI`6N(KP-BF>p_8}9j)_}TNX(6tAD%Gr1iCU)-wJDpI65*{CVxdVJPV2(;^_O zcmy}o?t;Oey_;=|KP^5Nt^4WXzE`Xp%5G&nuJ|+OxZm%?!n}u%8nVZ=u>XC>?)Uqp z{a3ql=hPnay|1#Zm2I8Dp{VB6(J7Fm)H2GXV>moqlvr^r(&a?=%)=H>H`Y|Y{P`;9 z_xk+#pN~ym*D*odxbMIH`LK^U>^i)M5@w~>;=E(MUzpo#j#>ifMeg8$56SHsE{rq!#nW$p^JIDF++5KM2rzwoQNdERr zkk5H<)9p3aD&K6{zWJ`yK@ufN8^>hC|f7_V;d{5NHtDEoaJvVo8+|pO;s~FiMVqX{TdHIU}@NtWOa{Ftn z<*obn-(Qy&H?Pq8fjYO{?l+hF%hvG4?7h2Rz1{lB8~+cMzQKFhek|X6QeAP69^uk~VDUkQf`81af-g@W UG&$-FEaDhEUHx3vIVCg!0H>w$qW}N^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c4cdd87a8a4f25ddff497b74afc2d63a8cd58bc2 GIT binary patch literal 949 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-_Tz zQ!*>lf6X<&eA=4#)vjaz=6=}4{~-KP1k-V$80R&co@{!ZGVlLodok9~ua7^j?pieC zZ{+nUON(lz?{16uYqxy4_%<2&&kvaoOxLfkEe^c!+E9W)Mt0(|dgBKP4(rXiO=LcO z%{G2>yuZio%kSxZKM!C0r?cZ%{^9TMUzS8f?_P9w?wo>x1C!N@B~D$}X-wvn@qPfZ z+G5&)jVyht1=JV%5PgKJ>1U7d`Scn8w{OaMx9Im{zCB^9D}%24p1K??CeAo%NoA&y zVxNA?zMmT(&A1!e=KQPn(iFdTi)Zg*k0m!~B&D}kfAq3&Qjmdi&=&< z&s=k!s`~u-63s|A0fU(a5*s!-No?BS5F32`iRD_cM32A;sXBT=A}o%^9s&YwJnd&M zO?r7~^~*)8Uao6y$iMFq{O(R>AMc9nNiD0Cx-9I|Ghd!c{#y0K((_P;%dAcN&V7Eq zr|Rh6-#%(@-hck0DJ|XOCL{CVhoR@8=jZp-cy2%aO6#zqIYu0Vrc<`6i`+FB(ZrFeRrsV9|XCpm>=h-Ib_rJ~k_U*>ag||~Jp1kSN zNzU%hn{J*T5%=s#OWE#7kCGCX*v}6d|5VmzoxJ$PXWMNbwX;IY!&cACyKF4e#^U(- z^VdS2fN3d_n`Ju|rJ1!VhMLZfym02G%0i8fMcnomz wTG(pW$a88x>Wg__Z?22|XC{I#86GU}m}!@?a*D4RFgr4My85}Sb4q9e07^~9F8}}l literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_CGNS_NFace_Elements_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_CGNS_NFace_Elements_01.png new file mode 100644 index 0000000000000000000000000000000000000000..9409e96e12aa9a2d3ce3028b907c5070cc6a8be0 GIT binary patch literal 24570 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 S?f9QfB?If3KK`WR81p}RHlQQ` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Chombo_1_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Chombo_1_00.png new file mode 100644 index 0000000000000000000000000000000000000000..ef5a273b45af09a9e902156f695a0e6d5c391277 GIT binary patch literal 1698 zcmd5-X;70_6piBGSA>#)3n6967g@9*D#WrF)DXflLI7n^K!_0qAp(v_)IbzI*({5I zMU({M0tAszK~Rt_lzov+z!(WBC?LvKlz=QvpmnDG)t|jHZ|2?e?tAatbKcC0b+ETm zkW-a|!C(qD)&wUQY@MET0P7{l7Y!r`gUR~Y5Dp!sWqcBJ9(&`W(m>{r=0>|c`N&2X zayKUPM`s<0L!9l|I`DrGmNnS>B)VHX9Uq8E!PC&7` zq6=FC899mGH@QNFjRx)GR?Cw@Z9`mQM!U7Gjk^-0DGwQjPSxdSQcx7Q(~a?;ff%otxf)n1vIGR!|m<13Wcsi_}W z3Ncw&;*yiVKWvG{b`#rMnl^qEhV6eN3J7l?dA<_$m{(0Q#*#S6h=k~er_Bf=Ss`%cONtr~sfD3a1L;?yPVA3H_#0>I{*3fw#U*5}FUV2d9(92TH z94x4yUwOSUD-yM|w3Mdkm@kTFX2x41Yj?|+=PWIh;1Y)@sIC4(!%M++-Q1DcgY)^p zZ9?BB8!>-CY}}3RnK`lmD;N>ASS-N3iA^EaW*K{jMuWrw?x=>QCxy5+J?tEb z5hggFdfi3eYSLG!a?GRIQ?rZL3CH!pweHeoG`a=axj>K(YQWk22(;BaY>gV#GC{!p2N3C~H;+HB&3p$Ez@D3Y|W zm}2-t3>I@#Q;mZ}Um!qmZ9Gse1S*muP{CCQUOXHP#lm?KdP|n0ENtAE0bVzIxPvy* z#p^$g%E|0WpQg2O{P4mQ=anAqziYu4awvSeG8zimB1%7UKd8GbE(ptgFeobsg@R;O zd)EbpupZ5)Mn%en}4tV7`4M8IRq zF$)pER&>VX?~(Q7oVk{V!2e`Rbfd`g_G)1uRt%hHOZ3&ZCD{@I+?YAf$Mriwt)2ZG z;{7x0#=Ri4Mp)v5L?C5RjStt!7~6dE-?(gss*eIfefqeZ(we1}m|~OrS1U2ldIHTa z+u%njKk+Y*HhVCoZEo|iXuK>jJ^^ENE0;Y4uw@bUbnymGXG^q%&tF2d&sUd7`b|_q zL!VXIH3Vb@k>;5^qD-Jgr5y><2N#VfNiPv=+S3M-sqCk^nX4qr2Q;GUHPbqLpl$KB zPv!RY`arH^`SWPd!`oDTOXIu64D+j?z3EZSGz_l}YS^b|h0d=6sC~NGRRCLM&7dNH z3UG3Y0Ji#Co+HV3aB=|l_O<-3bUp7bz|J!VjbwM^Cj#uk?vAtZ^_sX`6np&`p%d6*eISmQdvL+g2tOLVYPXc{x7YJet^c2}^e6c*fnAh|>oU{* S{F_0&wA{who=|}Ij`$Ovf zKo9^Rc+Seg)G;D^HM@^2Ly>JWZk1dg{ncN#C^$9WfyrkKy#imevVQ@A6#%cB{E566 zvIw6aI(}pdlc^6WE<(WLY$jh{7QgLpqM9TsK52q0q;H4l`ubJQR`0H6E_ik|ij`9g z;gOV;J-3y;d(qp^_WsqI+cWePM*e2a)TK;C0ft~8I6PBFgnad?A}BY(w}?jfSLFI8 zjGK+T9vrD3i)X?z%U|h8SvQoCgIqJx82Rh;BSlQmg+|4IESu6E2-`H)rjFHfS<$u= zaseb1Zs?{G+iJ6n%=r)i5!>YQq>Zg(?nHl1o{jVaL1%x0<(_qt^XZ6>fe-sKJp3;p z$>O+;1Gc!*x53QK;#{|1frNZ4Yg*QbdKwbIzQ-a+;uW|))p2fYyHiD-rXbUz-UWf@ z^@ATS9a)~Pp)Q%hQ3(#Jide=8sjJr{rKp4cKrCIztH=kRjt%Y|Fe_C>*5K%!SIZta8IxJJag&~Y z^kQ>@5r8d`p&nm-RZKb&pO&^%J6AT&4SuK$seWQg3lDyrXu`=0Ia> zl;&4XJ?wd?eP*`xa9YiykF{Tppzd-#4*T*l^i-oMk22TWcW1qq4VKLgcXZr;H7|+j zTGw~5MN*?mI_~$SI9)Cik!UgAFJJj)U$hmXUul1Bf9siMn(?jZh$S^m_uhkFZp?@< zn+!xC7LDQe0#)tuF zo_p=&)I>hVJhS3=jI;kX07Cx?#A~80HcKo!l}0z7+FcJK2WhUHXWQ%mfVyyjl6mli1DQi5C_gBbz_K zIGB!KCyuCs^${m@ViH^u9iO+|*LtqM+@A;o>Jm`L-3+f%<6TFazI(8r^5h=f`(d~b z)o5<%>xrPe8LxnybdgyYl1<^Ov)bqPjRcjwcV{`|iF)6MUCDi-3~DfVx_kEx1uxZ) zJdNYiJq8kxsEl+1J%(bn&~${FLO?FLd(yYB!idF@(XQb7QQDaw3W`=fWg8fYZS^Oa} z(qQ+cZ+r*xipF@)<{Z==QAo;Tqxeh+?NS)cq|1bXQZVkC~+)mri(Vx zl3Ea-f{F3+;yb4lT;1-H_d!B@<-w}-7}1Jhr%dZ3nzwo--TQk57uH&hmNYVqj^gdC z!eY3y6>N;Gk)9{sNneIVPqrIiWtHiJx6|8q#JCllg^l3}EKaktdWpFPcE9_9-&T+b zf9dmhiof9G#naG>XVt*T zIM>OO2M(=jU!})F?9&PUSV&Mb%{Jbv)(CPNGxmz+)-~IHR$LbH8J?Yzw#KM+mJdMp zw1H^A9Z(@5Ko*uZRi$g_ZAmI?SHTARJcA-lUIl9l@zt^jr3UbX97E(%0YP&%_G@=vB<~-TJq)O}j*}8tbH6(pL#6&*8*H;XihWNhUp|Y6#`G znq0ISW!_>s))p%mM@^Y|dqxdVn9KdACi1w!0rO_v2ycrb=Xo`qGe$YdtZ+7lPK#W^ zDsK=n+ny4EcIn{%f4o7J^!bHG#tu09QDN?aL_53pr*x^4z6Y&pLY6DvrXp771RA&h fafSacl+Bp^FTjR#Nbu6{3k6tR##oe@dB*<-+(L%k literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Chombo_2_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Chombo_2_00.png new file mode 100644 index 0000000000000000000000000000000000000000..197ca9d01e542822dacc7b626ac04038560a8bc7 GIT binary patch literal 1157 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l-%PZ!6KiaBrZZp;fY6mh*M ze&qlEPZxTZZ@I`T{UPeBrpHEQYk#rx%s?G*@Zs&gSM>+pSIGLrpTBD<$EZ_a+KffhXXITPo-Z}I-O_r#}jPtUzMiy8oS zfd}?*+Xd$QZ&-i*-Hl5{1(io23ak~+6syO4+T92=R=IC6D6H=QO#(XPJ})p-tl_XLjzf@1Yui^2K11t;IL zO)J;yx9D>^Qz-JxvQO{l#v{1Z0FzU(dQ0WI7VkRq4SR}l1p_ejE5&8px7U~NnRope zD8MkIghTNeF!VkHU9ev~^4`unGxu8dAt%=}>RdCP3m={If8{M~Q36aI?|~iwhQ
IXN>E`z4EWy`|9@YC_0K3K PNsw|+S3j3^P6W zg947URTPvuX~-so;4tq5V1L@kP_3$$tk-dVo;>0d zjm0@!SDyctg=P~M7sA$RI6W2ha0ozJRg$KO+|1QNipB~8wA<2lI%u`zPIw+#Em3oh zQb}4>lAbr$SlKb_?jj{=W9j;gRVX12<8Mtt!cZ@8ytDV==H3oG^$x{B_iy<9QFgJ9~&jEdrtm za}%2uEVYs~)IQ?lz1wG2CeQ^!@p3|^5>{gSI(!}1m9XN3j&jLY-B(q!nmpqB_bda( z0S*iZ9PVMyhV4Osa~Hb<2yj}ks;DZLtfPL8i~!HUUAS={wqP~Uyogv(L+vyogDLHrvrP!*H^gw`L7~uO!z#mn@wFEdD32?4C z;gNF5S6_~^1AM?!IEeg5#vjo4&q=GM}t=G$r|cSg1IoSQu4 z6c?q#vj5||P#0IF(|!1V!taQ!w?DxD_03)FuVeZQ{vS{)dHZ4r_BMIQDQ3~+LRP*u z4AEG|Bd{{qP4u}XuoY3WGK@#ks*+qPCBARp{p4%y@lPri61IF&fFn8jo>xh0#dZ$wb!0BF1BBRY^`JbNBvIG?uPoYfH`r+t@%D zVmbO=ZCQBsOw_BZ*w~O(m84~5*RwcBvx%kX1D-s=r%(9&S=gsfadsx^N(G!tt4gv| z%C2YSawru3=ggWD0iFO)fG5B|+#~^>08fBlc#;55fG5B&JV}6GAm9hO1pEkBe_<3& zqMM9mU1S)Kq*Wz38Ee@AekuIsWj9|C>*(z749((?FU7jg^&0zjEbcU}u4o&UerZhA zO0I7W!yu!fuxY9P+b{dtV=<0&4abFh5sf4k(D?PI_jmOs>}_oSjt^=juLj53&xxg* z=>}QDj^B^1hsz6eFQW0d9tLp@urkcps*>#84rq{-X3@|r8k$9;Op<2N&@37?0H2se za}+vj32-(N;9LtUM+tDMl05#B9pG7LoOBNuk8o)0?Qpvn2yh;9O{wmb0^Q`ZsC^&FN2lN1$T|pS z{sAeH?EC)Q!{F)R`Txno^GPHUi9{liNF)-8L?V&CroRC!3_eQ6hw2Xi0000b<)F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_amr-quad_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_amr-quad_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..92339e9a333ae7da6664e80246ffabe122ff8499 GIT binary patch literal 1046 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tK4o-U3d6?5L+J(znyL4e_) zz|#NIJlO*$_?SJI$#kLi+Owm*me1KQ{9MD{uw7X3hzp0Ipp#FF02P=I{gST;|LL=w zztv(nhoYKON2frNQp=3N#7sUHd45A)PZiUTi(X;zzmMH`F@^uQ#QFYLXa47ZRDWp2 zMU}vKb0+-*|EA>JW3$iinaE*oog{zQG5y|&QW2^I$Bh~N`$PY+>(%njtzMH-`b@7Y z*iMH1ZAHb~nbtc0RAStz6ZCU`^89lwTXVMJ^GtK0hiUF_k}Y1Gk>1%yox~#j`Q!Fe z{|_uZzp%J}>Y8(RTnkUNCm*+KlRfiu&C&TSuQjNdFsYWxbIw@4mV9va4<~hknB@F% a!@MHIJ=?KA2$=I37(8A5T-G@yGywp@pHdM3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_amr-quad_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_amr-quad_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..938bcc581ada1f386350648aa34b7939d1a5c894 GIT binary patch literal 1022 zcmeAS@N?(olHy`uVBq!ia0vp^DImm-eDYqSW!{1OrcDeQ+zrTt(+RKOlSbajlOlF)^0{>7(u~>Z9Fe_k zCA+5`+idI|zFoVwZK>IinIJ{Q#rqcN>82@O#+Gwmeo4L*BE@@J_V(-SmnBQ0N~dh{aZ`Suy?f`xr>XB# z7I|>3+h4n1|LwNad1sfsc~@s=(7HxrQqF8A*-?FyN(&>a$?~{LV^XADc-Pjj) z`mV(BdzT^><)4`l*3bU!D?gKV+3LDJ z%dWJalcYQs)pl0bf1h?KM7r3mz?5Zy4#O!XDAAz#Ez(mdJ$+j1&YM%hyu-p}mmYL@ z6v4(^{`l(EH^)OVwmy0A;B%v9%GA?EMM;@4u~Vz=*1j&NS=i72 z@$X2#B1){WOnQ3S>cvhL)z=H2sORkDdj2!rRKQ`@siUpduNOQQnzE*O()=HH%e@w# zm|c3InA7W;<4J!V-IE0wvtP0(rigMy0R>bwBH3;2AMP>l7k)A8>*2_D$%9t~Ul}8 z=c=-mta!wQ z!%)!4XAm(ru9hp4sIpIeb>)NYrxZ}FgX?H~(0xO3K39e8`*;8yV`` daJ%LYQ+~CzZ-Yf<0x*ggJYD@<);T3K0RSxWwKo6& literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1aa0b6f8f5b61a4c478745307dc7c81277a489 GIT binary patch literal 925 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tI7PZ!6KiaBqu9^^e>z;k57 zuHWz9^eLJsvRnL6t|kS#}Y+zR34z--6h>FVdQ&MBb@ E031y9M*si- literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7a392570c142794bbec7cae8e9c08adbdeb7093d GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^DImHqQMcH`Gx7uYl0R%>o1SB zT4m~G`PlD0!tu9~_WoRYxO{Q)`<#x@>@T%ed*dz#-d}$IQ}TPA`~N>Y{@GL7dpfng vYX5Tg8k|^>bP0l+XkKFb$tX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..eaa615be14646da0496bc13d1e1adc3d5f91cede GIT binary patch literal 928 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tJIPZ!6KiaBquZWL@V;9+s} z`ET3J#nF-1Q?C8P!92>im~rlIIfmuJibq^H3{1(K9nW^gE~QNqkld&OH|GM^eok>eQKgbN&@>oay81m-*jPgg&ebxsLQ E0KpmbUH||9 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad-nurbs_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..647c9d1094e0bb00c6e8d79ca490d30a09fea461 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^DIm%pyp z`~Kgo;c@YAY}lfb`6)?7VW#HxUv-mo%dPL`Z9jPa%z3#Fen+?l8#Fs&HTT%V4?9%X zKQEA2e);dgwus}8Bd)J)j=Q<5@A1cf3C?RWr9RKE>waG8b9s4lx^AU=5-SAWPWt;+ zTXvuA-L{C&Hq%ls&l2CR6aTMw+5Pw*g?sx>r@r~lKjZ7HbI&*4zWe=_!0Z1X8~Jhh b-j1Plo>HR8=l)s10A}!X^>bP0l+XkKo42aA literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1aa0b6f8f5b61a4c478745307dc7c81277a489 GIT binary patch literal 925 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tI7PZ!6KiaBqu9^^e>z;k57 zuHWz9^eLJsvRnL6t|kS#}Y+zR34z--6h>FVdQ&MBb@ E031y9M*si- literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7a392570c142794bbec7cae8e9c08adbdeb7093d GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^DImHqQMcH`Gx7uYl0R%>o1SB zT4m~G`PlD0!tu9~_WoRYxO{Q)`<#x@>@T%ed*dz#-d}$IQ}TPA`~N>Y{@GL7dpfng vYX5Tg8k|^>bP0l+XkKFb$tX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..eaa615be14646da0496bc13d1e1adc3d5f91cede GIT binary patch literal 928 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tJIPZ!6KiaBquZWL@V;9+s} z`ET3J#nF-1Q?C8P!92>im~rlIIfmuJibq^H3{1(K9nW^gE~QNqkld&OH|GM^eok>eQKgbN&@>oay81m-*jPgg&ebxsLQ E0KpmbUH||9 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-quad_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..647c9d1094e0bb00c6e8d79ca490d30a09fea461 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^DIm%pyp z`~Kgo;c@YAY}lfb`6)?7VW#HxUv-mo%dPL`Z9jPa%z3#Fen+?l8#Fs&HTT%V4?9%X zKQEA2e);dgwus}8Bd)J)j=Q<5@A1cf3C?RWr9RKE>waG8b9s4lx^AU=5-SAWPWt;+ zTXvuA-L{C&Hq%ls&l2CR6aTMw+5Pw*g?sx>r@r~lKjZ7HbI&*4zWe=_!0Z1X8~Jhh b-j1Plo>HR8=l)s10A}!X^>bP0l+XkKo42aA literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-tri_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-tri_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..1679bcc21073da19c0db2fd0825fd13b74319e82 GIT binary patch literal 1110 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l;cPZ!6KiaBqu26kNy5OBRH z{@nig4^@p@zgqIjUR{e~wulMJDZ2apFO${%SL_GMlv-wRD5^PibP6PmGDpLKhKbM=`q`>}J~>(cvXxnZ+kE7zP+%~^N%j_kw9dWpqvpFQG`FXNn@ZNA;@ z#~$w+F}rsf9deI5^z7EzT0y(7LT19f3gND$uA=UmE0H%lYG?ym8_pB50z|tDCoDd`6;7QMroUmTuc#4mE`B&JNG7&_UWVzUw>3J zFX}ja_=s|Ncwvc1dV1jX+3umD`uc^HlGW8fRWH-8z31iQd-T_KHlx|Jre|>@}~Szp(r3=-3#SBk9|JeVaKqv9xHl-T9u5ybV>Q ztLxQ7b2omnxp(i9bjrim~rlIIfmuJibq^H3{1(K9nW^gE~QNqkld&OH|GM^eok>eQKgbN&@>oay81m-*jPgg&ebxsLQ E0KpmbUH||9 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-tri_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_beam-tri_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..647c9d1094e0bb00c6e8d79ca490d30a09fea461 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^DIm%pyp z`~Kgo;c@YAY}lfb`6)?7VW#HxUv-mo%dPL`Z9jPa%z3#Fen+?l8#Fs&HTT%V4?9%X zKQEA2e);dgwus}8Bd)J)j=Q<5@A1cf3C?RWr9RKE>waG8b9s4lx^AU=5-SAWPWt;+ zTXvuA-L{C&Hq%ls&l2CR6aTMw+5Pw*g?sx>r@r~lKjZ7HbI&*4zWe=_!0Z1X8~Jhh b-j1Plo>HR8=l)s10A}!X^>bP0l+XkKo42aA literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_disc-nurbs_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_disc-nurbs_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..17b31629c6a7143ea0ffc0269e232061825deb9f GIT binary patch literal 1599 zcmdT_`%hDM9BrEw?+RQgkEx9EC?W$}#0}^uut6U%UZqlSJPIvN$-0q>4uoJrQtZ6p zB_xwKMoU-dq_{igpe_ur)L=JdXeo~YlhlQcnia_~;07-H@GlsC*$+48e9!ls^Zn-L zlY48$q9j+EH;qIhxh8)g$Rv@-tepp;fU@CtfJq`bIVB4cvMReBzvd49_O6RC!KmH1 zeQGmfZ{*0GRzZRL11XuO3bbW3{jr`K|Fg_amRB&<;dEX*5|E~LJH$gg0@Sr`V*;e; zmF1ygbyHFm<;7yx)~#aoWFOjL-Rc6SEsYwp1bh*lB_CiE*_#zUY`nDz zFEhU;^2}i{Sq%5`8^kB>u+uz6J$@BQ#THlVDE--xSC$=9O|v09Yy``Gu-pk_<5h_{ z+>`D7&W0g+D|$d4ubPeqOPjYu9=TI1yy%tlGLXeMJ8!0ZS`T&I;YMOU2rO8`5j?66 zEM3YFd}D{)Uk$~F>VY^bS@^jIAZ@E`JgN~$u<{7Lu|xdasWUTh(%;E?Vm=OPvRhcV zAV+6%2%TB&4ED=6n^ItY7L@E3fb$}{(Ec6aZrd!IBkodL5m}E(H&Fo2Y_8P$9E7E7re%W| zggCC$%-j)rO+f|;2na)@{0h4E*h};Jy>ghbBFrNXhprHA_fMVRoV3^uwz6?SC7Cfk zAccfC*ClTR45!NWe^U+DJ8WMoX2bOg)39NCCK#%?BMDllw9?n~g;Cxn6)VM>;8|ANKRoSO&R<(l=OwF=JCy9(mvL>ApRLf<31}mimYv2W9}jB!XDefEwa+ z!;}V*^%Bc03!s(|4mLTF}GVNoTC!JTFUU->40q%PDB#MG=x%>B{ir}PdIcji|_HMnKpFu zl32AJJZl@Lhc+*%xr>oJ>R%cGmY=APA1ytPZ3zL(Ph(wxg=HUMF@TTHeuymy^zo=s zXNqHH`D2aGN-rQ@=Hv@8fBI@Dx9*zJ{3LyRScJhe3a$4W?YKfsJK0QToNExPT*}Ka z2c$U0o2Ek8UXacfX(2rk_7qQ5(+)nVL-V1$MpR*}hUKahtB0~fXL?L6fm!~N=y}^9 zq+Vw{EuDbW&Bsd*?oCDUt(`L7$AVq@oW9B&zjVEvXD->$kI%x7fs`y132yM@HU9y& CWpMET literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_disc-nurbs_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_disc-nurbs_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..604b74af997a614aa91a719d23349ea4308f2d43 GIT binary patch literal 780 zcmeAS@N?(olHy`uVBq!ia0vp^DImlvHYR~sc3%@#DPWb;v`>C;!d{(Cm>_?k^ea?DKhlMUu4 zTOEC=`EPGQncV^YGpD`Irdini`?RrXe*WQu6>pcE`m}$2wNiNLE{2Hg5VT#Wilgug#pDo}P!F><|M5Qm-X zlb!a=ymW8xoTUP#QI*d_LqD=@4V}7Mq``jQx8v z?emxR`sv$0seoGyRPzPCj^f#_q*bFo&v+8a0es l(L2aO@=)&XflF;0`Tz2>hdOofoB-xI22WQ%mvv4FO#qG@>A3&^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_disc-nurbs_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_disc-nurbs_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..303d140aedbc41a26890a246c7170372765aada0 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^DImyU$h!^PgF z@AhGRk0g0iwgpCh2v^z@?zgoj?R8||V~LvQpI)>75#Gpz0-tTmee=6g;o6;DeZT+O z2xPzexFIq=dfN8Jh`|Jl<=M55%-VhT*wdxwA3ZpJWn1s-uXnuH95ClO!i62qQ!zL4eh< zKk%Pszp=$0g^L}lyB_@ga_-!_e++Z)S25IB3p)9<2nZ`4ap5qe0@E&YS=z$JPRi_Ude(qZdbn*v}AAM8}4C)v* z`|euvIkQ)aA8=QXj6Hw0;zG1s-^_BKt)JuC-4B(E47Tu9YPs{6;II;i$ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-quad_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-quad_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..731aa5102c2a5d71ca06a823e382237d9ab083e2 GIT binary patch literal 762 zcmeAS@N?(olHy`uVBq!ia0vp^DIm`eOorDePM5kuRWx?>L&_iAyS zNjqh^JUAvMXWs=TZJxrqbupiHxaQ1#_@qT{ndY(Ns?q`m2T47#AAi@)6pL_dxE!2X zQPXqL<6u{EkJ}e5o{wLb@;t8KUfq3u&8}lbntZL(ybEtc{9LYxa17kjXhOPr|E8*{ z2|q16`%)yc>)`}BJG)E54Bf1oc)D3_eS%}+^FdDPDkxvh)9&1J{M1r!hVS3Mq?kF+ zdh~6YoSjWh?2<3riLfU&ftB%4fDBjbLW`U=Q89m3XFu6l6nwX)?{DqXXZydd-I5d8 z_A^FOj8#wHJU*jwYs{msp*y)NYTuprubPqS5nQ!ZO{^_)+gI)%x*OP-@7(D)yjojE z_Tu4w{->`#{I-sZo3i-Z@BasjWmkFCXdOM@ze&sc<43LD?VtUfk)s^V_s~@ENxtdF z@x#Yfaj(%3((iizR&%w2!2F#TEz;LF+y4j*eN?YBW$CB$asM~%|8QZ#G0WWtZr%LD h=#QG1&`jRXute*0_6yZ*t-v(R;OXk;vd$@?2>@|!Qj7oq literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-quad_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-quad_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..1fbd6e2d5cb6f0c8bf84c03e4a702be65d6a563c GIT binary patch literal 922 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tItPZ!6KiaBpDZ{$7Tz{9-J z;`jSEXFeQY4sTf#x?<f#_q*bFo&v+8a0es l(L2aO@=)&XflF;0`Tz2>hdOofoB-xI22WQ%mvv4FO#qG@>A3&^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-quad_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-quad_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..303d140aedbc41a26890a246c7170372765aada0 GIT binary patch literal 338 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 U{Q~|@@EuCwZr}x73EX+)|4r#6ApigX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-tri_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-tri_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9fb71036c2c059512cc65d9abb78565408e71f GIT binary patch literal 1517 zcmVAcbZApTAxKDzqKH9^E(``m5jE(_L`95oMPlMd@k_WnuCg{5+2z^ZmPcFc{>? z6D?;P9_Hms@l-0sg9ogv6d$Y6a(c~)Mv2Gi>Jop|!5}Ry#A4zzj*U@YFP=&yn3|%k zjcm5~a2c!9ai$CuDbhBEi@gr%$tQAHV#&rKBkg9yubriVIS`z0}qH`Q4NSt5`}Dol?@lZK?mcbIr%Hixj3~*+>d=vFs&< ziCDIi!YnL1N?{6?O{Fj%%f3<=jAd&njKs3L6oz5#0V#~Z(jcWMP-RjWfTc}JQ5YK& ze_+kTs!A%QQwqIU3k$5RiSNFe8bTos9THy}H8o65($*#$^m<99`1q0jewmcpU2;It zzSm)Wokx%8>JksWdPP$cr%s8><%bWsa)o2Z1jUx3u)NIhFhfK5e1dk!AVJGp*cK&&Vv5{!>CFhF;=Olo$PwKZJ7 z-FZ5&TrL6u*+?ivPY-@SfdKpW%LdP#!|N^no_Eg12GJXDF5bK$ z5D*WpuWOW=nPFu`ETyU?2XvHwsT3bR5Q`BG%Lbo4qq7sYo5{)Dj<{U>_`%bs+_@v$ z?5wIxPZNpI*vQY|k?nO>Y`1dZ2i)Pq8l~#% zwRE1nz2x&+w*3CrI;~wR8}gK3+~#Nt*UII8p4w@hR;`t-Cxu08WlKt7#ah{_Qdq85 zwy+e|s+FxRg@tNm%S&OETDcmeutcp~B~nzrR<0f?DqJg9l@t}Ll~t8wvV2lHH%I@9 z?tdr`g=lT1yZ(jiRZ&&KVevX$rB{*;tXz(f5gHos zcvxKA?UbUhxX8PA3=R^H%l3JO!)$KS*C#j~u)4~~2!n&NbprADznA2%=)lTm@p@4d zW@dIfq9`Pj3=cCf!16L*zwUNWRr&mxNQC}=A`#g-pFhXrA(IiTvyjnI&Yv$nP~KWO zohBS69_Q>?*>2@8Ux>w6T;$d**%_y%*w_H*>yr&mPZJJv^=k2!-!e9(i3G1-bMhp0 zb!=`52BT3H7C3W8wvQGF25D@hqeFJO?ZKl*EA)DmzrHWwZ_(L#O5f{1#cSm%dY-Cq zt!x)5Ovkd36y{>tO9~UQY$t_TSay`c6fB!cVLX<7r7#%F)>0UWWp^nI!`cH<7=yJp zq%Z(W^N!fr+48l+mZ+7rNx58n`h?djzNT_H?H_nzLOf{Xzx{4)F)^X#?n|dhBE=Mvc-j51oGN@{? zSJ`(fS96?KoD1S$3F2T0;$R8lUf#_q*bFo&v+8a0es l(L2aO@=)&XflF;0`Tz2>hdOofoB-xI22WQ%mvv4FO#qG@>A3&^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-tri_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_inline-tri_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..303d140aedbc41a26890a246c7170372765aada0 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^DImyU$h!^PgF z@AhGRk0g0iwgpCh2v^z@?zgoj?R8||V~LvQpI)>75#Gpz0-tTmee=6g;o6;DeZT+O z2xPzexFIq=dfN8Jh`|Jl<=M55%-VhT*wdxwA3ZpJWn1s-uXnuH95ClO!i62qQ!{AJmdyLgu)|u=$)`m?Sn-GphanZ1|K`uEI+)1!N5!e5 zQy@vHWd?_$+K^`MeZ^=$bEUYd!Cch|W6W)(izTKn_J582isAAK-Sn(dCxZ;1Y^I#3BRKlZ3d_Pi~uFMwH; N!PC{xWt~$(69CG@FG2tS literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_periodic-square_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_periodic-square_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..32cf1013a5f6f9aba4b5b99a9369ab625cf4490a GIT binary patch literal 473 zcmeAS@N?(olHy`uVBq!ia0vp^DImqB-8 zYX!IDrSIxxOU%|CoFQSZAh>*kDuw~NL+!(!|%ZrZey6^tm!pCx|a#-M*BrW$fGf~v{ zu%a1&5OC;=IGuW>bl1wGk3JuIzkQe9Ewf#D7kKx|^cUK>Uw$&nYVM$Pdw?uhlpzIXFJ{*%ANxbc*c+3bbpUp7S@Ewer++-GssM1Et@pR}*FHgb~7 z?>+4>6+XsdtO6$lPdkSlK%i^?kHh?nRXvgqEt7hGWOZl)!(r8H4fkD>HJ5jZ x=>K`KYsIQUxuR1mWj3ZM9lu_nhSQh_+`cng*Xu1{ss=_GgQu&X%Q~loCIIw_zli_< literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_periodic-square_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_periodic-square_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..7ab0a0590596e260dfe2a1f038f21f5449215938 GIT binary patch literal 969 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tH{o-U3d6?5KRGvqtuAi&}% z_VK^IzM-PW@?%9;xzn2Ms>{AJmdyLgu)|u=$)`m?Sn-GphanZ1|K`uEI+)1!N5!e5 zQy@vHWd?_$+K^`MeZ^=$bEUYd!Cch|W6W)(izTKn_J582isAAK-Sn(dCxZ;1Y^I#3BRKlZ3d_Pi~uFMwH; N!PC{xWt~$(69CG@FG2tS literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_periodic-square_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_periodic-square_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..32cf1013a5f6f9aba4b5b99a9369ab625cf4490a GIT binary patch literal 473 zcmeAS@N?(olHy`uVBq!ia0vp^DImqB-8 zYX!IDrSIxxOU%|CoFQSZAh>*kDuw~NL+!(!|%ZrZey6^tm!pCx|a#-M*BrW$fGf~v{ zu%a1&5OC;=IGuW>bl1wGk3JuIzkQe9Ewf#D7kKx|^cUK>Uw$&nYVM$Pdw?uhlpzIXFJ{*%ANxbc*c+3bbpUp7S@Ewer++-GssM1Et@pR}*FHgb~7 z?>+4>6+XsdtO6$lPdkSlK%i^?kHh?nRXvgqEt7hGWOZl)!(r8H4fkD>HJ5jZ x=>K`KYsIQUxuR1mWj3ZM9lu_nhSQh_+`cng*Xu1{ss=_GgQu&X%Q~loCIIw_zli_< literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-nurbs_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-nurbs_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..d771e33d3d60e71ce98a601e599831df20d3bf76 GIT binary patch literal 1855 zcmb`I`%@EF6vyMzKpHR-2tkAe6ND1p)v6FsN(i6>N+K8o_#i%L)c_fc1Qi&gTbF=< z)D{$Z7%4=lLPTi6aRig;)Rtm-Xb=%hfT;u!(^eu*8STlRVCxS%-*dm`+|N0CXLqiG zw>5Stc?Fq3AS~UyiMx$JSmJMaNC-G)4;LnZU}L?R8<~__{bDpV+cnfa`rbJ9y6eCL zo1fi>>0TRGG9gIz=ltMWuo2Cl>C>B}BndVeH_E==VL*^^68+g{%V+`qp5 zlc)MA<`q&Z*U6wqtWm-rv>2x-mA5!x zJfD&GvTGPRh86^%qV1%EfOb7zi z+*~`iFn80`DvW(Gb2 z2T^_h4CH}3iPF}1bsUCJj5#L5*w+;;}kqA$XV(ko1 zE-RE|We_*3=0X0#|c<8LI(JjcWM zd5x-2z&S>`}*p zeueD$Arfc0CCIa;$CM?L2nN&ur~@$^X* zFL+qXHa(^TS`c5~MhE>pQ9mh|;b95e^bQr%u;%GGIwKETmZ;CBgO>62R|HeA=II9- zf%lA`W_1LH3}UHE6k#+&K3SZugK2OiwW>9WS`Z^I=^av%-d*W7djqyBQSY4&SPvhG z-yj@e9j!wd%BG37vn2Z*r9K>DX3(g?O!YlSmUYN5@?_;s+%@*<=Wp$&B|{{q`zi-C z(?yBA(HPM=XHZ=ynn_n8$NCiL91Zl>WHi$e^d1YHqk;}EP}UdnE4P`GcIsacH{VtO literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-nurbs_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-nurbs_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..60e8f42a4dc09e961b569042b03bc8f5f3a1c940 GIT binary patch literal 864 zcmeAS@N?(olHy`uVBq!ia0vp^DIm%?&F zx%#{JfzuWqPucucYWwzz%FO*@4W=_6yyEIU%CPs8&}mgY{lM#Qryo8S>Du_SCL=Dj z^C;71Nk9LO&wGnMaMmTnshG}x{Nu;z<6K7eyzGy+PS@(%zfZs9r2)hG`AZZk=T6-k z&aTN3KPBzeRbQ@8;U8{RmQHIr_14cVPDV51u5{YNqf?q5^=>KD-zQQME_!hY% zLcNab_XTxqoR@k^+ktDM*#Dl2R!_xyUYSMf6Et07!~9;TDz@Ip{@}T%Wyyqu1i_o$ zeq5Q$tS|0ySvny{MC_n<6qn}nwpDRlK^`_Kp`R{Ibo$k~WykbcBA1dEJ`D|BxOnE7DA`|Im7H{5*iE6S5AYy*P`YhPbMQPbzo^Qt4(e)zUboz*#l z;aGA^%!4;;{y%$o|HS_@2P{|L-L6=$BzJcz&*?Hm06&T7!3=enpi!Ht-13{-qNh!p z`daGz`M=^e;o5JH1{p`BcD@yR|Nigwi?i8o>z*olaand&&%HYdR=l_TLmxhL%+Jes zFlXz0MRqU78GfPj%{_Zn?Q*Zz+*8q~+>YiHHbqg^_#Co5f#cqzGZRvta%rQzyX;d;QPGSV}p3v+Ce`p@+VAehK|Qs9dCaKaeVcN2&9OiNI*vhT3bZ#0x|P?;Z5n z+ra&^&&j7nKv?mJ3x}cLFk`0Awk(MmD9^oNPT}BBSvnl}JztSsz{a8D2}7i7(ypyy2h(-^UjClO%xtfJ@o2}4z4zZ=FqyrT{fBoC zs|2@!Sc1-hh=z>}$&AOOu5Y_o`j<7icX!OAy7&4L*>^s_w9nq8Bdvp~jtN~Orhwfw zxdqS5x_9-Ry>oy4>qj+xiy}&v=?8U%hHkun{G&y2^<|gPzq2E5=g#pfv^aBT-t&(Y zI#w3~lD@CGo;`Q(Wfd{)++&!gBHP<=BBjccZ`cwv6%-68_8zPKozS}R*xRz^>GH<*KMYspDxd$o kw}-Vtk_lBIlFkpDo;B9K2WD*O1I8AEr>mdKI;Vst0Gn{VTL1t6 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2fc8256e4ee4fe250f69f1481591ee3e71a24e GIT binary patch literal 6529 zcmchcqn|KYwL&X;FBYn>0zIlq1O*$7>2RZ=1bA}lN{QgtzMb)Om6~K=OOZD=p`pRZF^ZkhCz)LNZ2S6FksLSV zrtce$f`>F)C#wgiG9B&+91!_EgB(gOK?x$kc2tBbtZK%90ojB={P5@h+oqt6)9}&l zpxEB6gwPIpMYxhI3;52ePll%5O1eFOk0A@Q86axQG(rygowC$3r0Pu&9Otswkk%b} zn`9;+k^%=v`}cfj987Yu?e{k%#;Y#xB8L*!T#PA?`nGT!uYwRyed$1zPG8YyoALkh zpsn=&|CT+YhSs4nOz#2r>l8RbDzn}>gunk;x0eb5fDU{W-w8VOhh_C5I^V{c#T@nR z56y4FZIxe&w!QAaKGy505ggnBD+90w`@Ulv9VWjCDx)wSW{@HQ{y~2ys5>`lu7SV3iS7-MQZB(LIqw^1hJXV#M(#D3wC@O62=&Zw5{Z9zxpQbX#(bR z#E}}FtUoQCSVFkuR+oPUfL2iBq)bEfEFaO83Tf4A2tLkI_V*we8qg4RbjKrHowhIS za#i+6U{mVL7U{t(hCvuEw>wwsuG~N>6Y1eo%IUY+wbX7Ww+wS%St*!n{aB9OuyaFE z<|3_!;@6gvmnNY%b!T0!xy!tx|8|qdJPQjPzut+--!?_<7mbR9(#7c|M61Rgao~Y^ z3>Ntrx$hUJwp@(^ElVwOr#`D0q@u}2sq-7L2{0fV7~>yUqKMqgz6%p`$=BecSDz7? zWRI!W&_YQmyuzb6v1B6DSy^CSZ8NhVh-x$!(t{n3qLXP@U?MQ7_PCKQy)dt9L)l64 zb$zi}qez5Yc=`#-lC7^;xH;yAVxm<_1Mb=@U*;ihZ;1Swlybj_e>}Tcp=KCOfbb}L zI=Ra6y{$VfL58ny{_c*6LXrsu>ZE=fZOYt{ykgw#JEU?glzJb?1Bdy-0mfgL9A+L} zo1|tnrYb`_pOUqMgs84#b*G=eq;m`2Lbq5zg1jKM17l`Jw`v-S`HkjgK=Iawky~WR ziR73iu!v#%LJKydK@kz#Pqfk81R$)@qFfAHS7^OhZMzw@>>K}VL>Ki@-=J5*jkj}_ z_U+#Asy}NFfr2*!5fxQpC0Vi-e|n~VA5;fOqq?bOxQ#Y_&K-hHp>Jq$c&yFt%O34s z>P-8I5E0P8IE(_}?&a9prt8DcUs|ad{X+R_|L~^fhh<;I z9_sH+92LRWS7_Eaa7mMl!!;JxHzfH@+oEi>4oUilf?HCPm6@Uh%a#`GkP~*i_irG8 z*xLj`4mutf^=+}#b7{f4L)SxUl1mx4Z(KoRrHPN}7CZgWO~#wQnF-{YbX?=Ni=CM? zEnieuJ)#?F`tnf`IeeBJ3&YqNGzD}=1LyN5mgo&#H+|aL0Ud!q?LTPLeqy{Vo**6V z?9Lm8(Ge6P=}%`zokkb-v6W95cfo;hfPz)@#fud0MAe%X=|i31I+xFGr1;$qKT}B& zQl@`KqB5{snVN?Kn8=Bjo~C1coQ?L1y`=krVi|d-Pt)f9xk3;}8v%d(N!p9Y%WrCK zfW$`cxtPl)6(ma_kf6?eCveIXgo`JKwkT4Row(sp#n0B@!a9M1#giM$5{wMe14JwE zZu5LZRG*3dTX1YcJ=GSCVTph76BcauE{V1*m)dr5@YD2%(M%->V36e(yWiWh8eJ-1 z+$=3>>+=BmxT>lf<`HVP&p%^Y+}anI?D8>M@r&7@ORHn|jt}qOw+u|VI|{T%Z=AvL zHmRJVx_2L)62Vm8IkVsuJdKCEbb{zDlszwrCI2*!83sf9u4+irZRCxLC9+3zP-Ct+pKRuhYLTVbDngyyHA11U&WX zpON5A{`KRew+e*&OHcbwVX+ZfXP-%CrM1e#pnxwF3vhy7nyDa_GEHwdRbaLpn>jM>YJUt1R8*8Ud$aB_$<%XX_kLpjo<)yoLQpI&;D z<)PX!95|}LxRml;^V>DMkw%+&`6`@qgzh_U(a*xa$}S@@iL_dXTzPN@pGQBRg*2?a z;JJ<85>xO6YuhtU{SNnD89U5ykT3FZ=#8dk-^nQ0IC^2GiNJ z=m~<*zQB=>U_owShN2=7PQW#D;K}T>>z7!Zm0HO&za8+WdDm92-*eG6t2IovYO~Kq zQ$k8TP5AUBH;3r?@d`eg1ZsJXJUMBt{(a`gxaUaRj0sK|TQdbs%?%xSfy!ZjI8VOsS+smcL=MC$G>P>?<_xnEZz+02 z;>wDdE@RQ6!+%GVbvTN!0|ojk)7Mp@_T>DRT=;QFGJCWq%O|N-2&M!8%?RJBxwYGV ztr|`ka!I=q@wb6m^^9r_6o_S=ThuPQxF|dx$MD@01$**yIhy#x`{3Y>Pd-#LV^ABH zrHo+9?W#Z#_7~_z^P7yDOuLm;X(Ka$!`v(Q=kLs6pY%swQDxE05(Jc{gfi2e1j^Wp zhPik;0wdPczp@78o}y+4w@-~RS;fAkftD?{hjun+T3NZ`%(WGxgwSw%9gchFw_cfB zVjz27n50H+QgdHdfcB;AS`cWYz;8!0q-Egz@Lt=^K>yy#VA4jf>qzQ@SVBk26%Pnk zi78=p#*rm7*d@B*2Cvw!yT-mep#zl{sSMzhVodzojZxAzZiRC!w#k^=Aes*Igg_U?0(V`QeLi$ z%T9Kc zM8%^8O%}mXuV@ZPR1pOKKt2kUuc4vPp=C2AyjVh)4Ga>aBB&Npm`oI1iP(-GV4;c> zTMFpNnGa`8#y9XF)|$cisJ+mGM=a||M_%2v!Pplwr1co&+u)ls^BCn)5omVZYqeyh z!=XIM5B-u8CWQf{D3Icoy!BfW@0pQhx1JfHalQ}%IxN?@`Q0s0eWm=#VH(6xS(w@J zM7dNTAnv!%Yv9)}!dB5^&B>H6SW7;Fffsg094i^n(L+ix!G^gctIsx#lp^DF^n>-G z%VQ`|D!&nB<+)Ut)mvNfIgTpNn$y_7kFN7k=Re#i@G7QUR{HzuRs^)4w9KU&$YoB?|ttsa4k! z^1F#;(m35#NRb*7C8&~IWzaWFInM_LjcI5(pN>=79gPwDY^dTBJc+0qHy=x+VdE}B z-?%dF+Lm=lJS!RoZV@|e_ImSX_W^$g`1v3^j7Ckn1rwrgC@|hri^L+Y??BZ*ACujF z+}^id z?Asq7*@csSE}8aghrxd!K6&l4DbuLQsXu+IsLWn)g826PQ{PrV?6>y*{9Kt=y>ecO z=KIjyR{!9vVfgj_ z(#5m91LgEs>H3EyN=92t$|2ZLL+fF9a@1@jUsoH_yL=>;e;&IdLp<&&i8+ZB7=9NiS>9;W%$j+ZA^^l(2{ZSIN5T!XC3RGSA3h&A1zn?W(U?X5V9bo56 zPx(Ly-AcQuBO{h4V@-XH60@R!=qvg_q(@n5+)VTmSHD2rh(wH!Ei}ivnVTsJPha@B z5;31auz{lTwMd{E=#ucIl=lttN=t{HK6xHNP`8N&Jf2yW$Dn3!+f&-Na@2zj_2Jl>K|mr!5+l4D#*zbInJio8T=HU~XaQpYGZ%$aSK@cpjCXG=)60N-(^GU`w8!t) zPj9qrp%nrZaarpm?k=J8tMA!97H&#t!&&chG?2c2M+w?rYLw`fb&63f^ZXdIa{IL4B6@h*lw{jqvW( zW379R31+4(&Wfi0H%`{?UJD;TTpkDE&YqY-GgnvOj*eEJa%UCxdDXxh4F>vD*;;Y# z=@O$4`i?MAPE$1BYjmMm5P7L#pAp$&W+?J|AV07ZdxS>Mj(=0c2L0VGLDxrpG(qmY zI%2;S1eH+~UJiL(g-5I03D{jzdkC%2}konmdmfXwBzV2BG&o}MshO!T$2VMesz2rflkDN;M2Z*yQ_+@zn!aO4} zz{qxSe0zl}3$`yh4>~-as!N^PBiw(EnwCf(cWQL*N#uoGfKg^cmCrH5o`Y}^cXI+X z6V6O-6N1hm5c49@qkPzsPciR`{(yU^*UvsOXf2J7<(F|7-$z}$69yiNhzCcpW1!rc zH(PI%o`)wyehbPCcV!r?aU5(xhO`3m&F+y4ns@X#xRL2`-a<&B8Wy?`<&61mTL%N4U*2?*NuB^v8(YTD$M_&ZTg)?&l`!F?<6&J9C? z)pLE&rI^FEx#~C`CeAq3VDdF2rm~S;u9>N>X424>i1p7Cw=((%A{|n$`M=x?Z%kgF z@_fqPMyW$qC@)-mp%{_p8*P5>u?5C*^$X#he8>6c$$;(kH za_b?0b;SR5M>p_evg^GQ@LAc@v~|Pl;S5YOVm*+?QGbWUH|(;O)2nP30je*;Q^V}UylJ02}D8GEmMu{Zw@A}T1R4! z4(?&QH-N191NUuChN@!)SGwQ)!c{4`3`(#v8A$qOlQ0fXc_-mUeYG&Za9^JcK8-mQ zpb+?m5IoA)X_B{dUnfdyXazYo*o0?VS?`?$fI^vOVtg8$6pDtYf3TII zTBr(e>b9Y`Vbh#$X%OglB4Lk1`GmjO%v_2l&YgzTb8hB`KP^-msvVjO!6gse;oyv0 z>D+hY37CdTnU~{8RqQ=j2Ru$qY7Adf^FckdLDRBIZW~E%?z^)uUoQCP+gEx!?g*VV z39|=trR_jc71)naxQjg}p^w{JWjfe43{aP`fLqHtRy@^v`J4Ii@s7?89thVxF&QE~ zv_9?{niDlt#Pwg_;PWNn{DsHz0^jb_IU`}MeZnkPWx(mA*mb}{ww9@>*5+!aJ-Oxv z!I(#>I|bWPvI6zabVxeq#XEZ~@2?#j!obdvYo$6zx|Wl+LNnVo)H0W%?h)Nqea>2k zC6|9);db)4Igg^rs`x0w>)QDMSQV%KyPPwsCM0=kB8IkGh0Tr^zhY<(zGC=*4HKTn zjOTXjWnC`|k$t}KLmIZ0fFbn-EQAM}Q~%G>N?-ihSaMC|1*0A50Ui3N6vbE$1mR+p ze9W3BAjMrFzL!d<7{Vrklds*ID&UB|t_Ut;t5WqM#Z!zqdaPDr>Tt4CS*TQF3IVm^2FIRCC4qP94hK#l+76jGi8<;vB>$A{N!)}Y^1 zGpo=FRhGyDfbWjIGK-P)b#v`zbr+YndsF|Y0BoJWPvHgMhq7zIL`ICxo+$FQB$23! zkzA}^w$7)_ofFS5E(MmFS-*tG{6A&||Kn(4E0iZVq(x8MUG*Va!BU54D_1L8NBjrn CDL4TD literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2928c41bb64401fb78fdb2a2673633bc84d55ebd GIT binary patch literal 7490 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..4098f4ab42d95ff1610f7adfac779fb66cee36ec GIT binary patch literal 1348 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_oAcPZ!6KiaBp@Ud+4YCE^fR zeD(kT)OXFHQ`7<+Q*Rj0+j{R(M2Xy*Iyrt*Z8$??~uOzZNc{Ga?d!FY_{%QG5uHN zmk;(eBIgAkO5R;|v+?X3`LBKcaq~FNKfU|;)wh#uj|*KYxaP|TfEX4#%akO0+yx$< z(VHH4@AvHlnI|^Eg^~7a8Snpi{q-R)d;iQ9VX4aRyGt#eeQZ-Xbd$$|VgJTi`%YL{ zP3^pwv-;&_7mNN*t~)P3SYEp*dFHq7>F^`!Gg>Ck_^vwd`;+-fhaUQFZ~d2||5sbE z?=1`KyOJL>IM~Z(F_l}@IJ7Lbifpu&y{8O}h60b}GR@Y9Kd=k-JwF0crY^|$>y$+m zkGMoc*YLc%Cf9~7!5BQ9^darxY9~P_pB4dOpkfX~2s1J3;r`S0+dt&?VoPspc52<3 zwom1b3x}m3U&6=49p5CtY@jL05oOA;b>eryQppDsGkEfDt2vzjC0Lo0LDDN@znFt; zXpT&gkZO+aD6m=nKA^E)=-~vvI}4fW1%OVlSQX6Yocuvfknc^3tkwrcV33&rX+uH2 z_bfnqy^BR>rS%+Ouzp%?$KZeC_=%p+DaVZK=XhH5zx)=&YUkb(JadIJtKC^EtJ%@* zhxa{dme03Qnsebqyx?)0t2fpxzARN>8v4NAkTc!vT$a@d!)GdoPTmc>yxzXf=j;D@ z-5mZ8uN^q9HtAxyjNrV}yV)0C{LZFiv$&kcZSnhDmx`?WY>)5Wuls!Iu#961cg2vHpj7(H-|&VxW7~Dn?ZDEJ N!PC{xWt~$(69Bx84=Dfu literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p2_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..03fcffd5a9138e4162c688389d0a472fb23ab88f GIT binary patch literal 965 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p3_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p3_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4d8670ea048802d2c3d17c83ae1a811cc4bb217c GIT binary patch literal 7414 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 N!PC{xWt~$(69Bx84=Dfu literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p3_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc-p3_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..03fcffd5a9138e4162c688389d0a472fb23ab88f GIT binary patch literal 965 zcmeAS@N?(olHy`uVBq!ia0vp^DIme|~!U6XVgS z_s`tsud$zY(#C2*1Y1`s3B>tJaR(-gaWCpPKc8`5-P31nZ*%9_v){O_%yaYC^8Y#U z$-Qnag3XNUY&-FK=PL{HoIY@|`oL zM%dNzvNKoN&hq7Ay)7>%^Wl@~T)wYXjuXy2I2!yLEu?u!%kzQ!(eSnRm|c+Rt` z)cqC0tM4wmnNnWJB$YOy+!S z`1^O>vbXPz<&0xOK(#=tjHN7v{d%> zqb7xd8rzvC1z2KYcFf^iBA;!sB&g7STTr4!iJj@&h?_d)83!NyOWYEidHht$ijWSa>BfsY zypH}2e)c7K;(^-rpRGU3+jNBL1ZfpkzD&FIRCTG)(M7W}`6~suE$p7XIdf3>;mw}S z#(n*0sRwRbmwrn``&*RhM6T*y)>-!YYKd=P!?2e*5l+d3jb#Z!e82-y{8P zf`4?PO-sFTh;uT z@n$z)+g?EeOC#8RNl9r;YfO^FNz^c}a`|@oyVIXmVD@D2 MboFyt=akR{08(Md!T^9 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 TC8Yi(EjSu5UDZmcb?E;AZ^J_I literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ec340dd88aecd371fbc3b48abe1c5aa6a59dd0e6 GIT binary patch literal 7500 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..4098f4ab42d95ff1610f7adfac779fb66cee36ec GIT binary patch literal 1348 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_oAcPZ!6KiaBp@Ud+4YCE^fR zeD(kT)OXFHQ`7<+Q*Rj0+j{R(M2Xy*Iyrt*Z8$??~uOzZNc{Ga?d!FY_{%QG5uHN zmk;(eBIgAkO5R;|v+?X3`LBKcaq~FNKfU|;)wh#uj|*KYxaP|TfEX4#%akO0+yx$< z(VHH4@AvHlnI|^Eg^~7a8Snpi{q-R)d;iQ9VX4aRyGt#eeQZ-Xbd$$|VgJTi`%YL{ zP3^pwv-;&_7mNN*t~)P3SYEp*dFHq7>F^`!Gg>Ck_^vwd`;+-fhaUQFZ~d2||5sbE z?=1`KyOJL>IM~Z(F_l}@IJ7Lbifpu&y{8O}h60b}GR@Y9Kd=k-JwF0crY^|$>y$+m zkGMoc*YLc%Cf9~7!5BQ9^darxY9~P_pB4dOpkfX~2s1J3;r`S0+dt&?VoPspc52<3 zwom1b3x}m3U&6=49p5CtY@jL05oOA;b>eryQppDsGkEfDt2vzjC0Lo0LDDN@znFt; zXpT&gkZO+aD6m=nKA^E)=-~vvI}4fW1%OVlSQX6Yocuvfknc^3tkwrcV33&rX+uH2 z_bfnqy^BR>rS%+Ouzp%?$KZeC_=%p+DaVZK=XhH5zx)=&YUkb(JadIJtKC^EtJ%@* zhxa{dme03Qnsebqyx?)0t2fpxzARN>8v4NAkTc!vT$a@d!)GdoPTmc>yxzXf=j;D@ z-5mZ8uN^q9HtAxyjNrV}yV)0C{LZFiv$&kcZSnhDmx`?WY>)5Wuls!Iu#961cg2vHpj7(H-|&VxW7~Dn?ZDEJ N!PC{xWt~$(69Bx84=Dfu literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_LOR_square-disc_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..03fcffd5a9138e4162c688389d0a472fb23ab88f GIT binary patch literal 965 zcmeAS@N?(olHy`uVBq!ia0vp^DIme|~!U6XVgS z_s`tsud$zY(#C2*1Y1`s3B>tJaR(-gaWCpPKc8`5-P31nZ*%9_v){O_%yaYC^8Y#U z$-Qnag3XNUY&-FK=PL{HoIY@|`oL zM%dNzvNKoN&hq7Ay)7>%^Wl@~T)wYXjuXy2I2!yLEu?u!%kzQ!(eSnRm|c+Rt` z)cqC0tM4wmnNnWJB$YOy+!S z`1^O>vbXPz<&0xOK(#=tjHN7v{d%> zqb7xd8rzvC1z2KYcFf^iBA;!sB&g7STTr4!iJj@&h?_d)83!NyOWYEidHht$ijWSa>BfsY zypH}2e)c7K;(^-rpRGU3+jNBL1ZfpkzD&FIRCTG)(M7W}`6~suE$p7XIdf3>;mw}S z#(n*0sRwRbmwrn``&*RhM6T*y)>-!YYKd=P!?2e*5l+d3jb#Z!e82-y{8P zf`4?PO-sFTh;uT z@n$z)+g?EeOC#8RNl9r;YfO^FNz^c}a`|@oyVIXmVD@D2 MboFyt=akR{08(Md!TBUttCS0IYht+NJ;i@cMsV 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 a{30G=EWpd;(?M;Q0`zo@wJYH0u>S!kltY97 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Lineout3d_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Lineout3d_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..14df07ca187106263ecf594679246147f97c6494 GIT binary patch literal 2812 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 O0000z7GydGV)g$oNx3xYr( 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 F{0Ex95a$2@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_2.png new file mode 100644 index 0000000000000000000000000000000000000000..25222d012773abdef5e094bd3a54643daeebfa4b GIT binary patch literal 5442 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 CZ3r^} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5aacb38adc6524d8edffc1df52f27f978760d349 GIT binary patch literal 4052 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 JuDR#(>^}r}u&Mw6 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_3.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_3.png new file mode 100644 index 0000000000000000000000000000000000000000..7f4012ef1d3a35d7e917a43004c85e6a35fb1e39 GIT binary patch literal 3687 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 F{0Ex95a$2@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_4.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_4.png new file mode 100644 index 0000000000000000000000000000000000000000..25222d012773abdef5e094bd3a54643daeebfa4b GIT binary patch literal 5442 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 CZ3r^} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_4_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_4_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5aacb38adc6524d8edffc1df52f27f978760d349 GIT binary patch literal 4052 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 JuDR#(>^}r}u&Mw6 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_5.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_5.png new file mode 100644 index 0000000000000000000000000000000000000000..71b015acb224569b1876c2a6a242f46337ec46c2 GIT binary patch literal 2878 zcmeH}=T{S08i$i$=pmD(NDCRsDxk7}bOED?NRc8<=}irSBSBcIgpvq{F%(gHARrkGZjwTAdjQMrs=u)T?v-{C$3lG z`v-gLGzT=aBn={){9ZrTcJnYyRq=SW?kK)C=_ZWx7VZy|v1xv?CN&$oR+=MjmP3*1 zSDqKje zs)PCAy#^*O8R{`7TAv<}y=S0LeVXn2tPN&UzB-4h-_R`4&GQ6Irwkv78KUJf0(dGA_~O@=is+QrV+|AA+eKQP&&voeF~El1yvDmX3Lj zT?WTiq0Hv!VJ;ehbg}-dvmY3|zI6K_urM%YNXzvrsW!CHgQkbQ}oVT)H!O}31MT#dlwmQ`vr18|>9e75QG`ek1cmzrRXo^00jvtFBhoT_1Jbi0GlY zx?5$nW9L;pKc}is551{)xsn#k5AKubvaV8C8+7o)7Z$AZM?tR@%AUUCrRbX5<#AV% z2#%uxSR}{vNc1zzNcSx2ezZ4!MJ&g;gJ*IG`Jt;NK_vqg3>sjm6DSdGRvDcjKor_A z1IUi*w(sR{ej!jS?6Zhp`ZMQ1tYlW!M=^3{?&BT1-(k57v23uF$O4V$w0fm8$~qAR zv3t)CPbU0QI_B}rxd{={%Sk@cYMbk+IIA|oUby(;J%22SQ7Fc-Jh zpjJMsUx)eOHm2_L2I!Two@o@9v(^D@V~pKgS?P-%Eb8Dt)DiJR{2aQe%V<4C2a105 z44K!aR-a-Rzb{505sCgJ;A9_k+ZS#nFcN53r1y%h(ABwW&M`=!mI3c3KycbT=cAvF%65sEzdBx3JcgOIkQCT2lk zJt4juGeIsC9+GZyJ#KPV;2>M_>yCAL+@cB~qjQ7VEVr<|+V)r`HTfyn{-$KV=;rPE+>b()ueKbvBxxUJr_v*k@h`i{^#dcI zR3_Q_d^(nBMlAIMaCPl;xgM5UDq%tjF)p8&TwQYCZ<0fXLimY$?5%MMyLW4cLyKDDHtLUiFib_s?|q>1q)KFu+xedl8Jri{7V&L$5`d zfNLm+p!8|gF$oIj1m+%z+IJ_i`H0Z4tlkPiyL?%KIn&@L&jgB}#nb)zS1b&gsY9 z%#XA(I2;wa@lLbQa63q(#HWMrIFm^$;@xThZo9J}5(8q$w%;NrFr*}rMdiU6@SKRN z(Zo6%B?0hsPxBS1xs=6(?6fw&?1_#q`r3m5-*$|l?uAa0X%3p&2?WgebReaFTs6G} zBwfX!^S|MAi;+)iC=sanS0s^+dBMO|Je2)j)~LNVShjAHDK~^h!%`(_4#3T~2qZJF zXO^6=JNpIdkcjUJ(hNLSdZhts4?wwy33ISI8Tw$4ERdHbSnh z6KBdjHk9eOP;M-USsFRTNK+`EvBjj_$H07+rK2G}YXbiD4q)Yi(cPTcD>EeiqCo;K zwT1#dJohR6=oxq1SK}ZCq@y=?r2RxtKWMX0bTg<3y4d-B>y802q-a%5E_z#)$+(Sc zRw}M&07}sUrsIBV=Ug{=eL10;E*lL$bJZ$y-s_La*AxjNPQS!tssp_!UOS=m-r-0# zOwO8LVaaX7axYmnKEO8QdvnGcljSPTwr0rLNh?yCXofZHcaWBnlDAiroz1jBgJg9g z9_&muoSq6(bPEk*#=d$`N1KSIgCzFARc0YX2GilYz-5DSE0%O91gE_s{VWnZuULlX<`I)>F#c(Li--) zL2HKnESqI#(pvQJJQ2l25UPI;`+mGo9i^qVNKk$;gS^C0Fo}4TD!38m(*EOLtT?KV zv}BL95i+%=>fvpHPkC?v5&y;yUk}U1?W<2)faU+)=Wjj!ubH3#YRJeM_q`Zk MeZk(M&fG8gPbEV>egFUf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_5_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_5_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3c4628635c040a02fa281f66b0f29360f6a5d212 GIT binary patch literal 2232 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_6_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_6_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..096331e6153dc3fe18de8e534b5f4bee9a2d3ec9 GIT binary patch literal 3546 zcmb`K`9Bi?1IFjRlI6%XxtU|g-CX59D)&9dhAHqChGD`Q zEy9q&A;{jZN zPE2vI6~rX+b``sO&`;LeTz z2kiW6r*%}iV2#ySc24fOp;5A|Aty=08UoVn@Wl%&xFD8&PFFO7ySMd)W*KI?Zi7Jg z-a2!X@nCIq@kx^HNdTcjK*EKaaeoPk&A#~W%MR`{pCAA9NN8i#X6Dni47}qv`9M}< zosOpwMMS+%dX(gAua@u<>vUB3E`o}43ZTD}dC3FIG5Sc$k@4Ol^R~U`g+swb6#&f` zr}P^oAt9k+hu3xu{37f^8tfo;J`s%0Cq8b$(nYi32Jr`%QzJMJb<1cxnA!ncN|>(I zFKBuEt~T0@H2;R@p>C#!_#TGI1cRspaM{`2Y}qK#s~w)9*%=8XMNw~^_P zaXixY7Q2JHgZ8&MvLfAA29MkDDXj)*n7Aon{nV9FS~`fXvxEl&#CjgHfYu&Ve(QYq z3Q?c3d7ibS2Y=0V$QYvGsYuZee{-U0H*FQGMWa@>w{zp76lQvNCw@LrC*)5M-WCwG zmbc2^Q^lqkq9>bMqE;wcU-66ET(7rW^-VWz9%}92pj{>!QvoB`MG96)jfcK1lq7fk zr31VakCMOSLj#bFQK%3{zt~JJle~555AbjExW}hlS-(X30LJyR#F`{2pY4vQV7hN~ zQ%7{%Chsy=N0F@EzSMN_M>xo}DrV2wGuL}RLPOZ-G3$WI3Cj1LV6XM)&Ru4|M26altVBOv^{GR+=@JdyfGtI)hRUAhRctcPX{ZRktosRAC z8I^0|b=!UZ9uck91BtLeK6eA_I-7jn68;Nte%IT5e=l9c^`7j+xhyJbL(FZxD+vc! zx8uohJjoIK5yy|ZlBp{)#s$&!N%17rWplIXpmntkf3WlbfWPG^7D`}7Wna&G2&oH4 z^tpV3Z27~iA|LtFxJ+66qpdYVwxug&g7;59To?9?Yu#=E-^!gPV+RmQ7t9DCx1WYE zI@kJV8Vj%1B(T=~ZKXHer&RO7MW#;rrnOMP$G28?qtwlnMMEnyaJz-h9MYMXwy!PG z;ST{hWp?gY=lmC9cE`JhmU0#Kj%F>+e}9e21^7KCD)#0)Rod*`yPpaZm$c`gdCR%$%;B?6;+8fm|ljq7l#Xkm^8_bnPMw zO8Qz}(0(>avPYt}BQ5-OW=D=tn^&IypKj@?zTizVC&F^;1ZL4b8X7>1h>fi~-iNei zny=acpIGfFeJ{g}bTs(i&5-Xeqn0)u9rJJ$tNXX!74@!=V|fac=TkQ3Tq~tYEUM@6g7&*v3gt)dNkvlbZk3=$7s;F-D1=V<; zG(*{VByv5dA2ybM6FH81xg7T1@Cr)=IJ{|8GwNW&6|!-Mdz>cAAce_go_uZ;@#}qe z2{^0tY{Y=$pn?1&G{|N5ZW2JV45+LOWmZ?(DhrDS$G`gAjLecBo>Ni|i=*@>JPHpn z>{TJ`BVBU*!WE=#cp)llv(~hn>DFTIvh}&?M4tAXBctG>&Dbv{FGpr*+^#d0j@`G; zI15Q!C-q^2$&IlTVLiFJ=FJg~=~Upe988mWlCh>&pZm~s6A~iFw)CZ$9z|aO6O3pr z-%iGxS=Z&x{+O!VG!)|$B<>;9=c|>!j*|jbT+zG-^=h}wQde&9hH%A5KATO1p7!I} z;+xpW$8>eG(1^i_rDA#|W{#9sDSUK*;m<~bUSkmvmnzN0-|yHko7 z=*#mCSD;&jjd?RZZevfjc;!I)5due4%bNLG{1VbR52Fe`@>g#bY^2@*%S5((@MyBS`N{GN>8+yj7?#C5@`=s+KcbBog@q$pB0? zjf6b@+?T5_p{=7svXrQ33dIw$Vq9$M}rzLV=`$J1@Y3PNRDN{G}PZ z4qDtSKhc3ah(4~@gTyU2ov?WTo_K1C^rp??$VYS6x@5Q^4Qm2swT#pDSYX$X3)~<_ z;f7BR^W{gBk3WU0)GZvuauF9Q!>$HuDr1RU5SdLxLzgvkjhc$nGq>eyqU%>!Uts=n zoIRTj+xS|&V8Up%)sIa`*HC{opk>>pG9%>c>p(YSHXd~UO4S0!qs@~2jz?y7R{ifM z?Q(`PBUuj2D9D}tWuCQ%$$UM_jhf~cOI>B~w4Tntm*AuOH_KNuylgT%A_tdaG@sf} z`N7*?L_ACD^7s(Ep@ltLUgdCDYassaV|ruK?QOhY-G8Q*M7+I4KZ#^PQK|$Kg6YA6|var$oBU& zyxX~X4!S*J`{MLNVuG=p1AY34#m(zsHkYVl>Tl=1AP6?1H#8%O;NxsB=#%qk&py|_ zuSM|FwT13Dzp`C_JolV$0#2rSb*T5qWNRHpI+b8INs&uqao(pN+;i#~XI1-vsHuVk zI=S9vdE&?bqbVB37-UPM@=48s7gc6JX zVXTKc&99C+*|VH?KkZj)8V_Ux>Sy@<|$MDkMK?PeAOL14QA9VgGVMKPrUjY)Hmu#&I zpmlN3wq-o0f2_GA*4sEkZ8T&#XJd?I5|rKw{KSxALfn}A(p)C>%4IZ<=OP?ee9vsZ zX_vo2dkWe(cE!4Cv}oO$XZ3m9C}>MG}`Y%6}?JEb2JZ#`+KP@By*ZDml}q>hJCXLKGb$))wx znobwfUKF#IU#pUdz$)jNJ=#s>rU9e0yQ?99D0jjnny`?99Ln>#Rum)W(aHC7k+{hd zBJvF4)%E=nR*KD$5LRUAoFmqm(wq6T!I_hH`O=U=-s8a>-uh`DVA^5~%wA|LojE-v z->fj>JM?1khB~V#tUxgJU170nn1Fd+3$ zbX##k023|0vcpHS+WH=pUPLdZuN|Z|Q&($Gz)ciJminXI>vsZX0zsmjspVUw5@-k@ zJAB$_H#&%qSY3rka+qkH_IN6#dqgC61W|^#IDY~|EZKJg_P_Yz0zaHVH`+uClBKj# zqrW>fY=;kIC`tWTfQjSXw^Is-bq*JH$_>0>LS+GEF?*jYrJrk($Q%iKS)+SsKz7z| z$^f-y3g{J{E0){JaX484sc`+-4J!J&QFnac;XKkIIvibS0Z6_I@fpgix;3XK2fYydN(+lCGLp2`0K DKbg9n literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_7.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_7.png new file mode 100644 index 0000000000000000000000000000000000000000..31afa165d14f0c8eaabceb64e97f6bece8564f89 GIT binary patch literal 3069 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_8_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_NonSquare_Pixels_Ray_trace_setup_8_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9be748c56be60fa46bf1fcf6f6a736ca9aade16f GIT binary patch literal 4000 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 V<7+4P7V?+80fahItrBh%{C^4fb;SSx literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN1_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bfafb87a896bdded68cd733a4da735f7af7465b7 GIT binary patch literal 17914 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN1_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN1_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..be8a2841172bb4fbb0020139909fa55cbd86bca7 GIT binary patch literal 4461 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN2_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b70cd21ac167f3e41c6eb5136c123d40c3993f1c GIT binary patch literal 19457 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 S$}8Y#F9-o=gRL`lkNY2qw;vM# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN2_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN2_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d62a7aa22fcade85027e4ae961a9e370dc427a3b GIT binary patch literal 7858 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 Q<^TWy07*qoM6N<$f~Jig;{X5v literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN3_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e85c6d5b24a01589ef69c0bdee25dab1ca1cab21 GIT binary patch literal 19143 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 Xk9pI+d1e|ARDtZQoG!7j0knSuqt}98 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN3_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_PATRAN3_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2661ffc53ffe44e2f7a5cc123b5e6b4d451804f6 GIT binary patch literal 4474 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 M07*qoM6N<$g56w%h5!Hn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Polytopal_mesh_missing_offsets.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Polytopal_mesh_missing_offsets.png new file mode 100644 index 0000000000000000000000000000000000000000..2d645c3a8ffa4b69a1598ab3aba940adbee85c23 GIT binary patch literal 942 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tI*PZ!6KiaBquHgXfqkA z^4GlPvu3K>zn^3Ie7SrH=kSU9v+u4+Ke!q*P)WIrv1uKDuodT$IAA_x@O1TaS?83{ F1OR99B+>u? literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Polytopal_mesh_missing_offsets_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_Polytopal_mesh_missing_offsets_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e186a6916e96ed2c7d5264bfd07d893992cda7f5 GIT binary patch literal 498 zcmeAS@N?(olHy`uVBq!ia0vp^DIm2F}y!&h4o|sKJjnRQq zLPL-I*kNQFcDwDa-j>|9)TJdkvvOnepY>bG@!kGwcX)w7pJwjtwBYOg+MCO+y%gD{ zcX(6VLiyt|(Izebs`k!5U+Kns`0vl~-n85so91kvGvD&#cmBQV$7&YG<((I|A=aA> zksI3-&nvYl-i~)p`7^!q5~|P7V546DFc= p-^Fh;ah}|3=ATXMID_B zNt83|uX9(N{QK`6bKZ9IddaK5{WtWSJRR{fHN8&A$)`m?Sn-GphoK-z%s2Z=bg!tr z%fG*k?S7W#YUTAdcb-P=)}Hop_VPd9;y+I<-Sc1IbVThzuG@h){2*JIlY2>@Gj++& z+|IWC^k#)N z|IIspHZNY>W2u`dDIdS#P?-ph0Cks(E`F*wdv<-!*{SW>uYX)JTzy>s|BH|JYt z@A$PQRL$;uX+PMK&voYlZB%-ac_yN0GMa*UvZY`jm6eF3yRWY~ZFf2%!I}#a)1PMo zZG3*zEb7OQmoc`?8;jN_>+r)H|83ypB^IP~?cYQ|u z&yTvMf=*}3OsWsP{a`CIe@1;y?i9oMoV;muzluQC&`lP<__O%;#{v14``rG05 zMgQxG2A}WM_lg2z#k$Bk%V6_1zUG=HO~wO<}a8LJ1_ltsd4{6Ny*dMrn0S` zU>5-Go7ML(!RpjPANP1wr;eL_Y5qH8_q9J3Ubfg>^7G6KC0~~7ivz!GQLj!p zo0->JRh?`HhJk(Taqjt?`u|f(zo114yKzl(d^+d%)$t$F?|~u=YpU5A_+Ok=m>OxW z@4I}G8AfK&2h+B(p5f#3mWO}(kG=zz_Y9t{elF{r5}E*S$ciff literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_amr02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_amr02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8cad15cd02d9dd99756430cff88f3d3f83e665b9 GIT binary patch literal 2090 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_amr03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_amr03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..77b6ba7f52bd91177bb49d7db2675cfafd1562e7 GIT binary patch literal 2723 zcmai0c{tSX7XMmjn#|ZqS+Z3$YRHl$8QHgtbx^h#gsf>o*5m(+Qu!YwP`G>5#b*NSuXC`K&oCI#yiVl@<Y$ez0hJxHp$oJ*-yu+t#xrgAIo|fILY<-R_J&(cGi2K_-97x>aVJl zP28_s^3_qLwdt&eqaoEohIfI`0pvaozIZ^ zST90NU5)jWzNIbaS%fY%R^!#QHBH9v5nS^|O9Ng}x92gKAm0FymWJCILAO@q9-UL9 z(Ame~6}|ld?n$nBnYQJQ6=h6E}BblA*K z^;4!ej49D+aSbEt7;~8}I(L%W7y)1b4H+cvyiT0_6o`T(GwO5o)PU!pB@LHTBe$(w zihR!4F07TJ_d`;GQzFS_G6|g>z=lf`XwsJ&>7YD$0|E72hr#KObJlC3AsIzoo?8NKZDP`|vw!D+VO4%!(Loc^vNZN71BGD0EyJfU~$ zf%2T22p1SXnC_&uMNH@tR}WbC1k(YcCs!PC?A4-ig`9v<#lWJ2Gc!U()ZpfZclcl8 z!V75xhbiKSq*3A(Wmw_|6qi{JtADB%uaso}#zh?|79N6Io|$>EkC{33dH0-5F%O>o zVJ!UJ@8r;5J>j`R=B+U3v3U3yBJcU-qG%ZG7?Cf5%u;&H;Vnc2IeJ@w<9c5Zg3C%S zSlvpFD{cf;=O7SomJpajv2PFl=nTG8>%9pQ_q!8V0?*@ginB-Z8A|YgOtt!oxQ<|3 z4BO7|rmA7^Ska-IT7B-BLo$3?_syhY$~V4JjI3rYzkhKXV9GRi8)LUyxgKkF!(*8f{j}L zSlFaz12`20*azSKJS9LSAZpXq+>}o zl~l9jp4#uT_6~JIU%*+*SOa+W z0U2xSf|YKvlLy#NX;gh(ELhpuvDv0^GagszR(RrxLgR zs_+?Kj}RbLB4fD3Ct16JmguRdc@%N^D%Gesx;$-&7q5(Ai-{u$E{Dbkh+QC?3GfwU z3%oeR-hAJEhkW>bobcMTGgu$*j+K4`ga|&K8Wqqc|WeI^&UORZAv6eckkxM9g()Aid3RRr(Iwo_ycV( zx$ecyfX3ZVi8kX?ZeEsRcjN^P44&9Lo+(~Ai|MJ$Ei^>s1&G;%@16U>Z&xFC2qdQpcj^pKkA$#a$sBDGXx7-vH}RPV3$O^;#P(P?Ri_fVqX9L95? zpD#UWB_%(97@O*M>t~w2b!oP206w>?YXZ}3@}W07O>Jz<-4w~IL_ z1%vvw?LXzaYG#=npp{RzbnaadhUd|*$Gn*w+{7K`n-X_@7B&2#{%dMDqq1-Nk%z}o z%AfT9_oSKP!)Sw5(+A4u`Fsh_5N;qt-3j-jPt>qSeDeMI-|;%*^!$H49q7_6L@PUj zze&YAmfjs`wlUZB5@|^DAc0c`19QM*N|Lw&0*QKJ?d*^Zh>?1jYJKv);-a4_lH=XN zkB}jc5L3DB@gH6fVfN(l0mZGK!&*1(B8)v_7tV9X$W?HpK;==M|XxaRx=v z-?FB0Tv!*T_0}Au>R(`N7wWp8mABPVY+`SV==^UwV(wbH!b~E`UJ9RTvm~^TAC1dL zZnt4$%iYxPxsR~h|CLaKK*40;PgHM`IZElQtBzh~`j?4JeRIK|{Ry4!50XxLab<#= zVx%(^h$b0l4^;utq&upECn|z*w2898uQB@de@NcEsPAPLtp_HV{ zjF$QU;YDT-^~-jBTVajU8|;@oLzm-JEdmRkQL1H;oR51H zBl@=Ylva0Y+!Bd9$szkUv%CnXPHuiaOLK?ICt$2^p;xWz G8v8HBvKBl5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys1_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5965252cf24cc1674fbc883164f8d7d744f4f2f0 GIT binary patch literal 18337 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys1_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys1_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..57d77d7f51bfe3c1f9aec6fb57aee82dc9ea3ebc GIT binary patch literal 4497 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys2_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ed51d0692ab529bcc1d5607737e3eda3abc6f113 GIT binary patch literal 23507 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys2_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys2_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..66445a93b23a26db5f56d2e10baedc1236abea1c GIT binary patch literal 8543 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 Z{|AjOBiu(LF3kV{002ovPDHLkV1hjuJp=#% literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys3_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ansys3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..3680d9eeb4e53448cb74d86a672b69ee0d00abdf GIT binary patch literal 19817 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 NvNXG9`qUVO`yZ5t{5o-8dIG;y2mpj+{7q57oR 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 O0000>`7L7M z{Cx4!{QTbj9oAP}mA-fH-1905{MjFW>uWWMq2-LqCJO^m7YJ?#An+K(EFy|%*dbs< zG>Cc34GYV|072(}fQ3hQFhR^kmJ*hqihBeDS2XwHx#7m~=iaR6P>S6j;D==6ZIopt zPwU=3J=9PKU`%=|1t3z~@J8MCR_fy$HA$OLJg@RB1j3&Qbz%#|=?U?@@8fROR5P zBP_dtaKytm%jbvJzIsg4eAnz|R#xBR&+7qwax60$EQ?zTD4wEfMx7H%FMihOQ8zpx z8v$lH7o@}l{PCQ5l%CzFeyf2yzrQ^=b&yZegySOs2?y-B&KM2Br>=AT zzKejz*PA$|X{2!Xty{LyZvyMKhXJTx&N0pZuG^^6-y*o+Ey0X^Yf=k0Dds6Z!QgHR%YL9XkWqrB9fvd#2N6`8W&o-2W zfCl1ehM%kvkm$XV;qtOZPzr=K*wqvVBSB1@hkjFF2-Z|42+WduVbCRL?qOK%`piXz zVom*A-rt=e?|KyhV=~iu=Qe(p(1%1t+py*2DEfHA54^=Uc%dW9Z6Fbq_Ui~(DS28Phmd4v*#H}5r<)A((>GqqBb2|^Jxv_2|?$;lc7 zaUH=lbs>tWktiZ*u)kfqA2^(KKgoY!tyDn;pipv!N(g>KVXs;A)>}R&( zad;Fg;9UO}LLV~3^Ub856h>{g5QtUm{H_tT(8^-3(0~9uj&>_78W;=wg0(&2EBUDs zApjF@Kl-~fWlIOO)pczCY;;dlI;S*;nc6VJ0EOiiruCDfedE%)<-YUifm@0`b9^-? zMUWNcyG}Dkhc2`TNa%AzNCPX^y?tB%+WnC?m0nsPyv-r^PiezYre?$h0PRNNv@9TF zE(qzGitS4L_0!f$S9bIK~o8V()))%sB7kZd`R#1X@rUUH;hmM)RgO z*mP?EEfD?lEtkaU?WOj&ws=^e1u9HVF0WJBoCwCR9o(eeteUjilvVvv?l3y5e;6Vh zm%YBZ*Pe4RrTK_q280}6pNvXr{`hKIV8QjZ#P*?{F9LP??Izu+D&_ls=8VUe^|8< z{-s7d(-`e~#{s!;6T^Ha*@i{X`j-~Foa#=A&3|jvkf!pr{`u8E5Q586zQiFXT{NZa zq9}~uCR5|=zc+qs9SdNo&(qL#D6te2kY0K2ssmUOwvat?vJfQ!$H`e}WA-(0iz!Z4yzIhUOQpgbNmJ!AgQ(>*jf2p zO>*)X2l;ScJ{~QuU!uql_sh&5{miQ8)HM7Y9z^B_MYmpw0bevzvMVsf#Gef_d5(C1 z6qPR@eIgiCyMII=@U^tu⪙CCKu%OOKS>|8qpeDbL44AHJi*z1i-8dJdG9H=)~Gy!_NTAET*p5I++aqHVVU@$&>oC(uvgOV$17t(;k=NG z)NF6f}^-QPcCq}|a( zgFCam+-I7>Xx%#+&XRg5 zOY@RM9MpNbu-*UzMQe^T&Rk6rn@cm&{g4)eU;Prd(}?<$`yOeP$tHK-<07){e7e++ z#YqRS1y)<+>u~&P^5PFbbGK&J;VhxVoR?|67Ll2p@sjXWJbu@GYqYGjfiv3=?mQhS zf_xl!ynd<~s|e}ne%Mn{H4e*k)5k!C)@k&4tpw7-Y(>NY@3F!1y+ixE9^-Br;sEIv z27lJNP%n#ffFF5{IaQymVpUntsFF&?1{g*VxSQA`#?yT|Py1FiT_=ZN9je|lJXV0O zGOq5F_l8XUs>zv9Gl`CVP0}v_NG!WYTa#p(lPyhc7Ua7f(tigsIl+Lmux}Gc#%hVb zr~^ojH1$)K8|!gaYlV6?4iBgzNUjRSf99S|N;#)3D=uDF4Q%S)xayCl;%CK;O=CF%jmS**UaRtT5+piXdrgGLh}( zHXCS62?}**do9Aa^ILMFK(1fkx zS~O~Pj{QA5;+vr~j{|dAS6KfI3r3Cjuu<2mjTCmbv!{3yNH;_gi^yDN|*N?-H^;#_;=q$quGrGF8e55LRq zE5uG2gypQNwDSGnS>LbPQH17>_%)o3Ilp%hwpb5JJ)=vVlV}YWmXhlZd*@DMCk3l% zDDD~s0TXj`LGsac?vX^_w=eXd?lbgOvt7aEp2IlbK&oUo+7H5q;6BCwSTw@QWmgN0!e=8<3sp|OA zuxS=CvZ1~ETq{Mx8eB~gWh4eaC%f2WrJ(SYM{OR86%c{#BebQo{$J)}KD9N!Tpc{>I0rCvuaW$Qj z6;5W4oEbYWC?USgA}tsz38zdzb{I6DTAApc*sk^uNfTm9NN@q3R~pd|{{$C`%G_Fu zTl{~M`K|<;UsOU^3ej6coA056`$%!<2!5hP$MHjeQ_w^|=R}1g(-MQ0XMk?3Jy%Lx z7=O+&*u*aISg*cg*z2dW6*mWA;}8WcYU_qMUzN4|> z_K5Q|?cJotV2L*5Ib5knO+}Aps=DrC!qWKl%{YdEN$|un4!3f0C-~A^?{Z`Q`9}*4 zWmRKR6fV5tVBqPlkFOB$?uGKxOcfWx_XdT|Nm?d@A^*%70g7JI1YS>7_zjf1d9OLnT}L-oFY`PqGhYYf*kL z%4uY%s2+x29MbBf7RJ^FPtx=->}YoPJPps1 zFGc@kC_}Y9X6>Sg$ts@h*k*Yj1-JnET4P3yj&7;u%BV2anro>w$`R=R=U;y2Uxyz* z5YtKycf)zQ6xKL1hB+DnTT4BH^Pv2x!#xQzUyU=gM+VeB>xo2<^zIFwWEJZ*+CU%c zi$Bg+Ve{dAOr<&euz^em*;?}7cX$Z2h{I3V#-=oflSP|@E*$fZ^{5piE3_yOF81gaMG~ z@N42Y+Wp+Sv(0(vPsz(r5$NJ3;xZMbl;SD+PIYSVrG0TgJ(IUFb-L;iC3sLNR>f{(k`u`BPQ^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bestline_3_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bestline_3_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..830dc7fed7213e91c17d7ef54042c5bd77fd14fa GIT binary patch literal 3969 zcmV-{4}S28P)Y&}U2?;SShuDy|ixwoNF%TDw z%ZULkOuGRzaREqZXk!&jY}K|-)z-C5(XXtB5%JJ(?s zVzbfPOC&-#jBt&gO<4e3y2KMtkVvp&2Yr3?^%05C(~Z@7^>5ww%W!m*XP>27WpI%0 zZhStvy9osJjxM7)XuCGEZev-Ci@f06fWy#s%Lbz(z zx-DfX3WWl%y~g*yPdLorAWcnlbPx{H+^n>8>E6KNthFf7?7wE$x-DhB{yN|NE`C2d zchcNUXD5C?eSP%z5o{JUPerU-h*QWjJcR8kL${eMMd6iKc=uhLPP|^WZpGuFy`4aS zp6*IhYqj1pdC8W{kcgw}Tvuec&17jBk3LGZ%J%JeJTx^C2+-bcGzX1vIFa)d=k1FL zvKi88s#U7hYySGSkyS49#1mvPcszK$badeN)89`ZK!2a=^h&nCT+EV4kW5l4kvxiKEwl)F*Y&HY|tCfJC;hhT3ytOq|VRnW@fZj+0bc)ND$z~Bnaydj1RV5O+W({(S%hGio zeUwaw;bH7{EEcR*4j-nu8Jkt9bEoW~M20I9h$7i6xg3Q87cZjgND_^W)YV;cy<1n- z>C=pjQD2YO3!rJJDqb%xmtl8Qu}T$7qQb&FQ&Utbq*ACVx{fTfYZnhcOndwFm%Mdl zojAcC|A^a-ARvkagJ>Gx`WALuQFBJ^+mmr&>@xX0sT7JrI?ePn)hf9hfdF6s`hU6P zttjic=QwrBEFq{WJ|CT(eD8aVjNo#T&kAL`MY0toE?q*FNu|(rG!03@<>J|A*}C<= zU-(v(b@3vvyu#oh{rwCN<91VDPj4?CPt{;7)tXE&Geta3GKr#)N-;Nw#X_Ng!@+&` zUB9n?$gL&o#0lPflWf-9(G>-o4NW7HsY-Gzjx4blWp0kMXAwn`Ndy6lg>sq3Mt=1x z{Qhem2Cw7Rk~J~GfBr*XA6_rPAZ|B+u4CvH!zdJyOE?@*R72i&!j_O4Qf$ zjc)g-g=9Co;&VXT5;^yK}!pnjNas*62f|^-4M_;{`D`Wr%9y{1XPt| zlBOnp`&;vN^?$SRWr-rP%(-)%I>nA1^z@khD_uv|X>b`Wt*N>Jt%Tc#&BlB05sOi& zm=)u48JCO0hiPc|^pD#3vYvT{mtLZ)i=8`(MDY1&Z^z@oVnMLrwA<{0t%?q+Mq3-x z)5PQ0Y!nK(Ts;3gfxz`QpP$4=mZd0&B0xg}EiGpAsgzx22U<4p6wT|ebMz=ZJv21X(}TxjmR#y=SS_>VP+a%F zd$~bVvB2KFeDj;cV)*?4D?4f#?Dmy3o5d_H`><$dhN%&b$Vc=AbFT4--KD^oo^_qmYaxduGCPN&@ZyWq*YnOh6pH}QKhKdPxZP$A;@@E@9>wu@W2B%{^1)Z zvp&ozx7*AqpO4N?)g7qX-PydoqzRK##A1w%kxVi>OCkYawW4Y4+ec?7q0ov#*f_Gz zpXV39AQ)t52#<%ZF8qEY(pRi{Dn|WOlvIlGabhv%=gDS~Bn$&VK-U3&_(P5yS!oCx zL6)lW&O1y_($w_-UwMA|`_%d-$=Nb}#gff(=@RKQ^Ydm`rc^S&`zjUgx{JpjXZP+J z1hNriRjd5^*VyfB-;UqUmMv9}PwxyDMcYEuGC4^yNi<46PdZILZ{BleGK4}LIKbU^ z^Uy=J31ofC(lpMTp;V%$2e+GWm_UHOh$=WsMq|9d*hLl=C=^JiDHO0;DVG@=LsgMw zzVnhTV}fe93}kX4>o+%QD$4V`GRShCyQ^ z2M==3J=}l)>PENDWc~A>yzvHi-igaaC}cQYYFoET-IYt0OvapVNu@|8$>msBK$4JU znwvR({OWo2)neVqx_p^L0;`p6+vx7b>10d4QCAl+ZGD$W|CWER{E_3!Qr4oul zV(<5yLQpv&z63};Z&Mhl&Wp=qNO5}NFa(7i%d@wi&3r8 z(7;!|g5S>r4_r5_zKX1as>4e!asE7jqR`(@D8$f^ZncjuxMhXONo1LY1riBzIi{yc zCQ(%a0bYG|85QB0a8om@Tt-oto@R8EUAyS)Wa}2AHI&DzC_;1|StgxE*HIL%Tp=1o z*J*6z*fG4`>jwJQf}1MqPk-XnDSCU&)#vwD+dI{!z?I9^B~7YIKF`dIxwYGD3=h-W z%YFCV1XJ8JS%3Q*@4s&@r=`kNUmtD3tnA4p9f<_8OeTXYQ!bNCvbcz0Aj>@bFn8a5 zb3*1O$Xcr5O-*s(0z*R|j_RxawyMjsFmH_~%$zEf7#$@RGe@ky{cQ#Y7#LXVc&}#7 zWt}_6&woxN!uIWE6`{MEW`8W#SjgI9aWWawX(WkM3Q0m$X=uRVV9y@*>{;tzuVW2m zrBb~AKJ)YD()0TXhiMLo?vQG0ie=0hVNpcaNvAn~9>btg;pkEBx@#@&IX{&(k+sz3 zJ9CC-o}sIYfq|u^SM3hd>`yH^3TaYliUo2x=I8m~17sONV8;$T9wHH%n${xBPi0MH zz5A}&=KK8T&0|+R-82VE4!^24#8RZwq*4@%ND_qtu^50P@!*5(-@g_CenwVVRx-(% zGeo22AVN=%d7_~sZ20{1(?T{+EJm?Np}_1c96tPs+6}X6vJ{2y zd`dMdy)|ge0rR%)*8u>he zKp;RQg4es$<|7;yi?-=;7Go3(=GR}bNIs7&)7HkFcbX?9*C#cVwREH?m*c6YD3#d1 zpVn4FAp!v+VcF&`s-Bd{e3W#WQptSu8ymx7L6X?Il_#I9WjHmbrm_@;2OlJ#r>6&p zgN_bbTj}XB{DEpmPa!8vOs+UFX$T$>#xF zF5261x#;aB6kJGM@@^N&*tSwHy+fBh@rFl}vgb(ykU zE~Bqs#J#vsm(4IcYt|2B8AU-+&~=)c@OszpcK&fzChPQR=H{56|7htA4B&Fn5;Po6 zv7s%Qu}zLsl1Qh`Q!=BYXd0yw9uFr@tYX`0HCUOfBSJX1rcnS`4R4uJ>tzV>W6n z%a&ODqoV~coD~Mgw_`(+m1ZW9jwWaN$vSyu}p)8S3qiKjDlau80W=?(es~b3{mRNx- ziv^bpXT40z5;xk< zougbP7Bk0S4_6I*; zXo$hV+QoZQS<%{<$$Rq!@8kpv^XBYbE=M$qq9DtNA|oT*dvC2mz4_d@tZJ3{4=5J7 zILh1{@whpjzjXHa@y8h%VR*P!ajpwilv!3Q_4O<+a`7US3Y7}7Y>w^k-p!#ywF+{* zaO1Kp7T$Z0i3zS;p-?cZozW=AjU{lsI*p#&lHf1e?Oq*pFiOF@%iCg_c`ZY&+9(-xvu*pT3aHI@{00uaBv(oH8Hg1 z;5eZ8cR)DVI~x)rQXCvWjH#i4{r#Mk?>Z%JgD2Y8>P>s7%_onZnMq0^ysR?W54b=` z7}@4DwN8*sH?yyXDYhW{q7fB|2??Z>msJ%&<&hDt>PI(wx?5z%hsjy{6OCV7f|$?# z(8E^RnU|Avr-2Lz7-KYh zmi(uE)VWi{1UcLMx2g;duQrY11a1Qe!^#i0KXNZhfeBtGxpiIH6cJyM-TTE61Z=E% zYKp&v~~sF zPr?M?0GG>9X9PV>kN@{Ep%O4!^$eV|4;kH{;XyvdmO?^M-po}hF?eFpTg}R^i*nTB*;U>zyxd zN(2t~z1}muUV~$6SrRJJ+e&rlvsBG6-448Rmy&11;GcY3+je=$8%B;4c500-Lk!dF`08buj3pqO}oo0xmRnG47m=JrtQBNgk6Vg3}KOX>xt;2WhZhkD~`T&`{CZKz| zwmMHcVG$k?6WK9x|f{Bg}s z*kbrVWouMr6Q||SGWOG*)S>hV)Y(~nvN@#rt7_xQdn!@;l_U6!Z|h4Uz(0hu zps!yTv9sz_B1Q~dCr_<;a$s7fo8wQVyJ7?f*4rflyDu@5-=Dv7*)c;JjIG&dT-eA8 zvnV+WM<$CDz~qX8L;0d0d|GA}hAr51Ae$CvzPl1E%V0VH6ga<_N~lYAVIsQ#Rx>%X z3%9d=4UyRXed%(wWbA`oaR%uKQtw3PO}BFd6;&xv%HC_Jo;)gNw`xmH(?h>M30*YL z>s8(-*J``-XljIO#&Is?O?nC8ERsiIy2qSxYFSc&D zJ?G4eQw7Qh;ZLjIpX&uo=uT&STwdI15z#>67jUv*Y>Jv)=TVO}J7U{AjmMr>`9?KP z?vD;l8$Fr3iB77^w9aNZkM5e3mvy8uX;U%=;9ZsdCqvq!=BuixkmA$4u4=_k;ee!itv4R~N97D)E!XnGv%9cY+(75IF`4sFmVFcagg@D^o zJNN=-tZpTX`O?a)tGgXSYWxwRr3zL^yBF;i(vmQ%Zqq*E=Gt3FMbz~nIyCr?wGA>e zZ|pZ~r)ei@`}NrGv7lTc#;{=1X;b|rfUqkZi1{!#f)9{tti0X;-(^k+?R@?%WV2|d zHS=iKlhs^0fXEtQX+>_eGRaf0hw=O=8y_ya9ArBbM_{4-;|~4%_(bN@_m*~+ZI5uX z7b9HIA~bEnhG*?5)=0X`EYy=XS5Ec0=vi?4-ox-e00J|wCueaV*Z+ucZ8z=wOjtS) za_mlxpVJhze>>U1rg(F?$iNC6IBaI71bSiKEM%L#hOt;-kKzXjzeZ|UX_<6S%?MVj zqVevo>LZfqZm`W0z7t;m;P1q}^vQlf&L;nF(L5ekBIem2-1u=00npVl0h>URjwem-8Kw$!_!d z_tVwbP>d{weExf>mH;~m)y?mor11#O381piOYopX^Foc$TdXkrUKXC*Ib6d(W8#Fs zc6Tdd!!EF;{hPHWgQtzB=em;mBkw~g_Oe4Fv3EDkv4*m@Z>2ikedsl#d-bnXAbrCh zprk@jdGk{~w6i-sKkP!+9qQxEgdclU8 zd+}MPaBSWmRr%`zX|kZWQTJhjiikbJt^w8%>-1o*W&htOmO|}Vuv1+G)Hb_Drz3}8 z9e;NW8x7zVWenedJmrSjfkBMQc2P~M9N|gTc9&;9XTiR1^1{c-Dz75A#eMCXkQ2(O zza-041s_NC@4TR@eO$7r&b<5e+q*#XJMnKCU@(eH{n3F0ZDDK*wd0&8|L=Xx$O8qGYgJ5liS@UkShrNW#47F?aznzhV6#pu??VcNczfC*+% z=gu!>E#e**E#i+C(ioC8_vS5Ni1M4a-cYBv*QrG23Vx%yL3`IHI&gUVZR=^QmQmYuozg6~;+@>vthV-mU9@N|Is|#JQ?u+Pb>&yu3o@~yQ0D){X z1(1gyr`TL`E6{vq$_n!FHxH^VV42b@xa1*J%e>N$R68z2xVsC_iCj*alE4{AAm}n9L@zXgLi&1_pz=z&0J^|Z zYCgm$f}k=IoOP-FmEoKDW9j`>mVdH}wY%sxb_#4qrYVRP05A0WDEFSubC^DQ2Ov8!i2z<8Zxjsg@1FI@#f3ROF1fBv|h?(sH$D zlnw$%*@aeY$yWmEu};^HVTof?O+AY+VFM`TVRF%m%4CEh?zQKfpw~GTnt`1lxTZ=F zmr;A|;IxOBpdDBNFEm?lngsg7p%k}6E-Mr=i|A2xsF}TTCWXZG|Fx1`$Vv@HWI@^I zw8<`PPwiB~G_)ZhLF#6t!fU-Vsm^4K!sb`Dq*r!fkRw8z!h044W^F+!fpro^<8Z_9 zzg`HfjE4S83uQhG{$sI#hPS)O*ly3aQW;P|5D_p&P5stl?zumqmyVZS1h+G?X@pQ@(dEsVjPsco?>jY{rTi#V_s&)tPqFe4d58|q zl^jCQtv|gSB=!8`m;X+5drH2qG_rerUTrz;1sP`Pd7EOMG<J?VR!Kv(LVO`6K}vb-tZ>_bF&S+@cLnuxDzc*m~_m>id9SB^N=` zK?OYWwS~c7<-A+v+*J;Bpv5)>)#)-nV#i}=9Sk{pJ2mOF&!ylu!Vd8jXTBE9=fzz0 zEQZO&07G8cnzdw1M6Rl;Dch8Y(z=e2D)A9e^kNBcyy4UR^^)>MR9E@qB*bQ~&QRDj ze^CTKr=YzJ1W#V2Xijt}aSL=Qp|J}iqSSsFZxPDZ;**-hNZi|r(z~|xr#j})sP!a6 z_I~7@GkdNC<*lZsya^0R>V^oV@>o>#Oln)+8J6sPNde$U7aP3!K#o20CukxcCn#Q~ z|D=U)4}`}d4Wsr3C*`I()WGYL96So_FvTR{hmOZtYa+2LRdj(Duh~i>?xCEAuG3-H z%9hNoe(;PUxMpT5ZXEPzefW#6THhLV?+34ylO$9Y{6%n@$*i526AsYm<&rA_fnG88 ztMwSKc=`Sh`po89=8k>vC7icXH_&_eDe_Vrmbv;(@1QC{gi?r{Z+IT&S8Z3!xx&{c zH4JQ@FmrWRy0gf8OmP_4&~KNdJ-OiCF+Dory8hl+U1w(QP)?ekXe&!Uq7x< zr7z2sOt9l|tt>b~dvXi%h4|Ff@KzA=ZTXQwg^fbodg&O&OUT5o5z1 zUuq{^xDlE(HPfj}uBn{d;l8R+4D)Cjt9xxlRX*1?a{L885JB(Ct!r6>(;nXlV*Ela zU*c%XxFPH2>{mA0=$rQaEk`UHannC;yRG<)L{X{2^0Armn6(Qg$V{ru3z=DaE>!|g z#~}is;%F&*Y%K4&0@mhoD$nE8B;DlIPzo{X{U{q{I-nMJqP{~N94-%Fh0k_*t3CTM z_O0&Vb+1Qwx637om4(Tj#^`Np=?5IOJMAA>;l+|^G=o^j#X8ycSN!7a(88~qok?>2t=#$9EgzVY9l z65wnLyd-x!SEjOxR`6p7%?g9lH7w+MnFq9+AG z5hJ1pQHVy&LU2Jvj1v>1CX;PuGQHIP{SWU)Ptw!V>8_gYNt$_R!c3<7tE#8p<$2%t zt1^^QETc1+OML=25|+v80?TA|0eh)Wpa-Z_@O=zJ|LVFFi;J?bF@OR7*=PCaBT6MK zi+Y`h9^%zkDHh4)GA=xbZs>Vjy2QncoIg*J@a31>eK+5HlYQaAa>HZCIDMMQNlGQk zWo#SQMJcAH2!ia(4;EQ(yuk+_FgnWE7`BaRk|Y48ITyk*V6ez478x63Xb3{Bh zVbiA6%MVsIbX^Js3I&QqEDOLiS+$BaYnYhe;6W~2$g=!kSynDbF2~RiwoNXFZ4-v< z+QsxV=g#4}86(%AkhOn5zx=|)1S2Eb0bLi{#xOW{4$lKf60#}qK_Tn+-#KuAn{J|9 z#xO7pEK9#C72=pefuW&g%K{*uXLy)G0mC4UiQ~CHSr$pcK}eL8+ASAcI1dM0Cf&G*OD%ZsXp2i6XxJRu?+|{KMoVVMvm&eLJgG zr8&qVpLBn#o(z%baoo9CWegasXkd|t~1%VPCvcJ3sK`0hKBgnXW#f2LHzFo+^H zZcKNOzLRzID6hT74?l3~6hV-^ZK5G=Xxk)-*6u(QkW{`>XfhQZJfLqqJ@LlAKAAf87Yr&e2iCrffx zKCkOr$?Jte`USuJmgC0(3I*+VO{;|=zx<+IesmPuPJOsOk~KNW4?pnhuarufEXTpJ z2!c#nQ7Ph>Tn@|9?9Yeq69iZmTemVkp88OIB?Queun3&j?{51tc zjw;3K)vQ~$;D}Hu$|V%K(JVf@Fnk}+TSBrV4LOdEAR>rtTTk>_dQc~jh99tE1?$%@ z_%_pI&CLKofKu0#T4AXBI#*pmn)6EsY0HVrh}e;7m2~WsN*U%GWL=AE@w`OYae|7; z*+v`F3d5yx!-)yL_=4G4UH40r9UEiwX8!zBd!i)A6mT4!+B*Aqf*B`72~JyO>ig8| z&HvdKvZkguazsb>IHp+S>8H8rCVu^uGiP+SKs1-MgY+=tHzWR#e$FVHVp5^0@*|34T?&@gSAmHLfl0?VB zYmp`D;__wfkD^kChnvG!6cNW-#x|iZWSOQmA3!PcdBPCK!F6$6-R-q3JwWcfaI>tr zd1{hevw>k4Bnjuw6GfONwHmQh!!-x6nFD-1A!m>mbh`OoQn>CK)ej(0rx@g*% zCiy&ZM4S+Yo%a%=hP9xFRm|Si9QfF*t~hJmZj@S}6EBqD z7DYsn{$YMrh+{kt-{;m_o6n`kWF-kn5?sBIdn*8Kxh|_#QH$z#15LjVp+zu6jKvK z5eEUDM;NkyKlwb*JVQRu*I#q=sJ1nELlb)Mh7u}83N`hIt~wEWj>^lIb>n5>C6h#3 zhmh5w-mqlH<5jiFSZeh&M z^3OkW9Caq$L8|FBT)xbuOBjaM=t^3|Q@xnq#5^6Q=;yZTeR%_=F zvXmkWsn_xSt1K%Fx#bqNZDZ@!c~{fLK~g~Cl#tbd5Nd>s_Q5TVHCfWd=yn<($5g9W zmbOqCyowwY)^_ja#TQ#$O?SuX7Ba$-R|gR9h+}4EIDVW;rS;n+=*TO@ba~@Oo`0Tu z?`3k5Y8Btt4Vi{NE_8!I&n!zR9RtL&I@@8;kb=I?<;#qWwBA#t6t$XG3@OMO9cAZE zJdc?faye~NjojA=^YhV5H*A=d(9{80VMwi}&tAryO*ng&W5=k~^zOdS71n%+?3A)u z4kurz=k?#R3?s2!P=-oS%Ag|ykkBj6CZK)y3Q~s6cF4VVFSb|=W zr4&I3U>evRZ}M5QhH{xBNAwxb*U*x}3_~}hWB`~BVaUvkF2E#C$^Pc?amwY^AL*eR zdY+h+RVeaduXl)qEnPc$PxDWq+=7tX<2)4|C>>-hwDuWqh2^K3i}PWv{ZK zQq=3zYE*029F<=Mi6dfJ-+#|1pYY#*bAL?|s#Trri$$&B(qa2{_U+?;|6^*3T8&yw zYp$`e1*h7*wJa&(yCMs8{f9G%3>Uj<^!**Ynt8x<7Q^eU!@!1}u6wL$x+nUh(M2%~3I*=DhtbhRyE&tC^u!INc@oFmaR;~F znr4NDrj=kXJBuX17Ye-e(jth46j*$+CQTnep*O zc~nXoq$f*;YgcM0DMaga-8qrTcos-bY-}9%Jl=hm2Ong3IMcGJktt?1?I)MJJQ|%w z30qlU7>tkWP$<+F3XF_oS~CkWk!6}pPxI4H6bc+U!psaaGkV9S*j+};8Xo4;PpMRR zZYZzL{yA#X@?r zWX3IR>_7ixW(KA7q%R0~>@jxjT9ii%T}MbyR=v)|gub~_`i(NqlX6Gq_5+4Y*-*+F zDN3YZ7Rs`R_UjYr$ubNo6{e=(!y8v^OcDim0`lAnLRYBDH0=LQv-%AI17S`Eh`jv6$7#xhx5V418guuN7LSSG6rER)p*mdWY@%Vc$dWwN@!GFe?< knXE3bOjZ|ICaVkl9|6|im!%&AEC2ui07*qoM6N<$f>9B40RR91 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bestline_3_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bestline_3_03.png new file mode 100644 index 0000000000000000000000000000000000000000..e0638001f9a6a3baebbe352b5baee3ad804f3177 GIT binary patch literal 4697 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bigdata_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bigdata_01.png new file mode 100644 index 0000000000000000000000000000000000000000..7978742f7abc9ce28a73723bdff97126f4e4b1d1 GIT binary patch literal 929 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tH~PZ!6KiaBqu9^`Fc;9)lG zx>5i1QyZ%vQ*~2~-^{zV4d){H8}6m=(;O!rxftiqj!PC{xWt~$( F69DDi3{?OC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bigdata_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bigdata_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8160cc8350447b69c4375da54cdab3e3d5ecc407 GIT binary patch literal 405 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 VRf={Ma48j}q4Gev6lwkZ{{UELxcvYC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6ef2ca1667a2a76b340171aa7d0770a912778e57 GIT binary patch literal 3273 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_02.png new file mode 100644 index 0000000000000000000000000000000000000000..c94a9da12e3b948ca3dd97af3a7885ce2c5d03ee GIT binary patch literal 12709 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0065d870beb1f636ec924ed86f29916b8ef86659 GIT binary patch literal 4373 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_biquadratic_quad_field_03.png new file mode 100644 index 0000000000000000000000000000000000000000..abeb9f4f458a145c6c2c287a2d58cf24c12b4868 GIT binary patch literal 15708 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%0DnX6rU>Q*!D9slZtReoX;=P6GYy?T@DVbG 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 WK`GJ@f?oep09=oukX4BD*M9?p#rc^4 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_1d_curve_element_assoc_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_1d_curve_element_assoc_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f45c2c24a2d2a89125ee0a8e66acbc6123885302 GIT binary patch literal 2579 zcmV+u3hecXP)9u1xkn%muRD zXfn+IXgW)J*PaZEqz_J-*Z0alsDh={eGTW z)7sh^W%ObGuRlOBQ5MSpWw8uU7E2ugVU<H=r6V4njeX-oQJ$Rfrtyp!Mj4p{Y0?u+=rl27?xtI9yrdarG)4^Qr{9N9zo96xf)W=iMCc?Zfhwx(*w=Zr z5*JGz;;pgXYD4LZCB4oJjE!Hdq>;M|F=C^PuIFl{EY=ufR;-OQif>PHGDJv^;TmhI z&ulS?b&Fe%d945ZMHXM_skK;KCA1I!(-& zGm8#6Sz_r!K6K#7JfzpD{m+?U<{al{nT-;4;@rF&nK5VEH;ZFt{lh7QH*^hZ3Z6o**TO!v{(K!XQQJMAm1=roki5i8bdrVZsD6cmS8l~lIUDyB_Lm@25q zX|lx97-O~6N+ZoQyK(E!J!Db@VhIR-{PMSYLgE!xdgzg_ZYE4FT>Mv93P`*2x-cL4w(i7J*n3Oeh|o zFyXv6HEr)9NH9pSiKZ;JTh0_ybIcv!Kr_vH&iCQ_n2+Tn9y}wAyvdsyR;u;)HP-HO zcb<6%jtCJSzE)ZfaNt*dZKpj%=rNCN*vyz0SeRq3i!KWm*)_M8F~;t5-+^P0L7lV1 zj$MlHM7rtD8ReevpF^B74~@?X5wAQ%s%VjObXH zF*|YokN*Mt*rzbx(wQ~OY!_WS*a5u23&RXQ<5^Ct{Pz27Q%^vUYwf}{z<}syc<`i2 zD`wNbuepVcFyh54zCOsoW}25-);5tU4sy0^b5yW(V#SG9QPoD9d~lLUZ7ZqbAg7kv zF~;%^r}Jj(#Jb5%aV-FX1d}BD>7Qdxe$E_o4|ymbv0%x3pqw~+=+PfeZxma%zz;Fx z!IL1d$l@a&wbT9qAFQ!9&2)&64O<;`Hf#X`gA5+xkOj*typkX>&9t;0%TWzzB=jUj zjaqGySmTTz;!p=29z0>f``Irp^Urt|BNidDi(LXj9d&l>DN?)GWy4lMg&A`;7g2** zW&;GW9o0}|iKWcGTZv5<>lx3gsg4ji%h}AJ{}{)7_!O&BAARDBQAVHe>2 zl<0ZRf6nJ=()HA*NymtZMHdGSjVTZ!G{8V5m6?YG1dYeghAms_*^BoQm!wTufg87C z3zC!n0-q##feW{|waV%xE`80{k9Y*6NX3XvF%>0xk9z`wC|sO)kl-q-VZze7E+7O6 zX3u$NO@}*i4l=0Wd1Uj>+Gum*Hfkl3|ID&s`;srEw^zA(k9%p-CpZDT&D%C?;-O#o zj&uAaUb@Id(F2y0 z5?`x!@Bmd*dGV@-FWT7>z=TPAL)>sS($6}xqQ(Tg9_w zrB%~G|NcmY!7|H=l>GX;8ncmY-^jU27K&JkMsML+%*dGTG|9b%}H z&UxmoSgWaSr@fKJbDaB(&urNCvp-DuJHG3scayr^3Pr3ITEc__1X^gh!yQGYaD|m& zhCAtOqUj+Ir4@P)d-~~j<4%&CVyc0L*Lht#qFfJ!B9^r<8PoyMC zKH-U2WPFRaqzqS*YN|D=eiGSQ05hWq1qCG54tBiH`$>|=IHnP-C{W}Mb8i1+X#tE9onc0M z#uboQKr_v!IMqt4&hw?*p){h};-Ema1#pzn!yMM`RVgg7jFOo<%o!w!WX`@cX*cd% z<+UOwMM~a}E6>nsqi|?Vm~uY9g|Zv2hcU)>vpY@NiSq_GI_U7?y}^wJ8p4EKxGY!} zSooX2`{=8uK1tGoWtrtD(RSMP->B%tYNYWizH;H(!=AnD{ed4uvHs*wE7k`*=%Oo4 z+KacD<_RV`=$K)~j{PtGs-)78Sf&#AfyD3mzLU;onui&V6F^+Wk;Q5w^9(RjW!deYg{|das95p9GzviQVa8y%$pZnSRz!hw3v1+K9WHL@% z=l2pyA)mD#QlwI(#BZLyES3Sv pVi}+;mI2CQ8K5kd0m@<-;QxVnPx2%NC&d5&002ovPDHLkV1kb}<_!P< literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_quads_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_quads_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..89ead01932dce6709758c494f249cd48b06b59f9 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qY7o-U3d6?5L+GVD`!6JT)+ zyzqbjo}#C7#a0A=Tch-b&Cq00$*a#_zkX%E@N;t=!=L+|0!d0OGdL90oH{6H{yoEC zKmYvs-IiZxTs^z;_?oy)v)4U7qgvLH>7GSpDC9<$vt< z|7n|letmt+JcLm>?hg%dy7aBao11<2qJ-Av`PrtG7QZrFEqyz%q6e3^(yY0vw=Ld2 zt!4G>;Qq+FbE?j~I#wnkr;N*yH~S9Fd;4Oo>cdyht|W(&t;ucLK6Vh Cz3Hw1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_quads_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_quads_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..158be443ffb6e385c6ffda4f8d1fc3599187e6cf GIT binary patch literal 861 zcmeAS@N?(olHy`uVBq!ia0vp^DImutI)+C zFF(`X)OY#r+cMb#nTtEce@u6XASUPYI{zyIsdiNZvO9?kLEnDoTT#WPFxR1@U*SlYORj^{QUXyd6D$zF~6sD7FQc8 z`9%J$+kgN4>*Dp-KN}zYDRNq1|F`WM+IOv+tg>+ahp$zCzkL%szR}3u-kzV0d6xdU z)X07N_FYPvwdZEeyZ7%8Pf6|BxqJ8G=BQ~;-@bkO_3Kun<(a>J{P6gE^yjNrt1iEM zQ5+h2zfM(IU%PA3?Ag+%7GKP;k-N;CT_kh-@y8iyU7HP`J$~#w|FOlturP^q$>bix zUox)s-vplr>o^~XED)Phn$ouUfsO_DxnJA`(*!JDGZct1TXZwdQDr%2#W3e6!?`4e zbk4@jd<^M^4VxtnL^{nW_Pxw<^6kt`cT9XI{CV59b+KjSwOc=H{Jw9WeOAr)^234^ zXZ-#B>-JfMhfYn63=KUsXW7dXqo1G7>=w`w>wa6d`uydWSI&z(e_OUYLg&lQy%LS# zeG&_F*no~3ez4 zo;??`8BPBF{Tn-TvyS)WDbKo%w=O#$IjwZ}UH$Vl7u=6;h+5mV=)&`xInUC&iUUPf zU-gE}0_C%Fe}A6$=*@n+)hCxnv~hf!8&t2l@}#)9c-=A! z_rNFnO;??Kd$i-7-VyshD_-Ba|1@jU)@$#z&V9K)?~7-cZ=Sx`rZxXr_7ojKN~PGD a56oY;ygOg5QOXL;HVmGwelF{r5}E)Thp34F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_rect_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_rect_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..89ead01932dce6709758c494f249cd48b06b59f9 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qY7o-U3d6?5L+GVD`!6JT)+ zyzqbjo}#C7#a0A=Tch-b&Cq00$*a#_zkX%E@N;t=!=L+|0!d0OGdL90oH{6H{yoEC zKmYvs-IiZxTs^z;_?oy)v)4U7qgvLH>7GSpDC9<$vt< z|7n|letmt+JcLm>?hg%dy7aBao11<2qJ-Av`PrtG7QZrFEqyz%q6e3^(yY0vw=Ld2 zt!4G>;Qq+FbE?j~I#wnkr;N*yH~S9Fd;4Oo>cdyht|W(&t;ucLK6Vh Cz3Hw1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_rect_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_rect_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..158be443ffb6e385c6ffda4f8d1fc3599187e6cf GIT binary patch literal 861 zcmeAS@N?(olHy`uVBq!ia0vp^DImutI)+C zFF(`X)OY#r+cMb#nTtEce@u6XASUPYI{zyIsdiNZvO9?kLEnDoTT#WPFxR1@U*SlYORj^{QUXyd6D$zF~6sD7FQc8 z`9%J$+kgN4>*Dp-KN}zYDRNq1|F`WM+IOv+tg>+ahp$zCzkL%szR}3u-kzV0d6xdU z)X07N_FYPvwdZEeyZ7%8Pf6|BxqJ8G=BQ~;-@bkO_3Kun<(a>J{P6gE^yjNrt1iEM zQ5+h2zfM(IU%PA3?Ag+%7GKP;k-N;CT_kh-@y8iyU7HP`J$~#w|FOlturP^q$>bix zUox)s-vplr>o^~XED)Phn$ouUfsO_DxnJA`(*!JDGZct1TXZwdQDr%2#W3e6!?`4e zbk4@jd<^M^4VxtnL^{nW_Pxw<^6kt`cT9XI{CV59b+KjSwOc=H{Jw9WeOAr)^234^ zXZ-#B>-JfMhfYn63=KUsXW7dXqo1G7>=w`w>wa6d`uydWSI&z(e_OUYLg&lQy%LS# zeG&_F*no~3ez4 zo;??`8BPBF{Tn-TvyS)WDbKo%w=O#$IjwZ}UH$Vl7u=6;h+5mV=)&`xInUC&iUUPf zU-gE}0_C%Fe}A6$=*@n+)hCxnv~hf!8&t2l@}#)9c-=A! z_rNFnO;??Kd$i-7-VyshD_-Ba|1@jU)@$#z&V9K)?~7-cZ=Sx`rZxXr_7ojKN~PGD a56oY;ygOg5QOXL;HVmGwelF{r5}E)Thp34F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_struct_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_struct_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..89ead01932dce6709758c494f249cd48b06b59f9 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qY7o-U3d6?5L+GVD`!6JT)+ zyzqbjo}#C7#a0A=Tch-b&Cq00$*a#_zkX%E@N;t=!=L+|0!d0OGdL90oH{6H{yoEC zKmYvs-IiZxTs^z;_?oy)v)4U7qgvLH>7GSpDC9<$vt< z|7n|letmt+JcLm>?hg%dy7aBao11<2qJ-Av`PrtG7QZrFEqyz%q6e3^(yY0vw=Ld2 zt!4G>;Qq+FbE?j~I#wnkr;N*yH~S9Fd;4Oo>cdyht|W(&t;ucLK6Vh Cz3Hw1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_struct_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_struct_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..158be443ffb6e385c6ffda4f8d1fc3599187e6cf GIT binary patch literal 861 zcmeAS@N?(olHy`uVBq!ia0vp^DImutI)+C zFF(`X)OY#r+cMb#nTtEce@u6XASUPYI{zyIsdiNZvO9?kLEnDoTT#WPFxR1@U*SlYORj^{QUXyd6D$zF~6sD7FQc8 z`9%J$+kgN4>*Dp-KN}zYDRNq1|F`WM+IOv+tg>+ahp$zCzkL%szR}3u-kzV0d6xdU z)X07N_FYPvwdZEeyZ7%8Pf6|BxqJ8G=BQ~;-@bkO_3Kun<(a>J{P6gE^yjNrt1iEM zQ5+h2zfM(IU%PA3?Ag+%7GKP;k-N;CT_kh-@y8iyU7HP`J$~#w|FOlturP^q$>bix zUox)s-vplr>o^~XED)Phn$ouUfsO_DxnJA`(*!JDGZct1TXZwdQDr%2#W3e6!?`4e zbk4@jd<^M^4VxtnL^{nW_Pxw<^6kt`cT9XI{CV59b+KjSwOc=H{Jw9WeOAr)^234^ zXZ-#B>-JfMhfYn63=KUsXW7dXqo1G7>=w`w>wa6d`uydWSI&z(e_OUYLg&lQy%LS# zeG&_F*no~3ez4 zo;??`8BPBF{Tn-TvyS)WDbKo%w=O#$IjwZ}UH$Vl7u=6;h+5mV=)&`xInUC&iUUPf zU-gE}0_C%Fe}A6$=*@n+)hCxnv~hf!8&t2l@}#)9c-=A! z_rNFnO;??Kd$i-7-VyshD_-Ba|1@jU)@$#z&V9K)?~7-cZ=Sx`rZxXr_7ojKN~PGD a56oY;ygOg5QOXL;HVmGwelF{r5}E)Thp34F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_tris_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_tris_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..5391cea7fb0fd63270648b634d89f9ca9e841604 GIT binary patch literal 3613 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 Cz3Hw1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_uniform_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_0_8_2_uniform_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..158be443ffb6e385c6ffda4f8d1fc3599187e6cf GIT binary patch literal 861 zcmeAS@N?(olHy`uVBq!ia0vp^DImutI)+C zFF(`X)OY#r+cMb#nTtEce@u6XASUPYI{zyIsdiNZvO9?kLEnDoTT#WPFxR1@U*SlYORj^{QUXyd6D$zF~6sD7FQc8 z`9%J$+kgN4>*Dp-KN}zYDRNq1|F`WM+IOv+tg>+ahp$zCzkL%szR}3u-kzV0d6xdU z)X07N_FYPvwdZEeyZ7%8Pf6|BxqJ8G=BQ~;-@bkO_3Kun<(a>J{P6gE^yjNrt1iEM zQ5+h2zfM(IU%PA3?Ag+%7GKP;k-N;CT_kh-@y8iyU7HP`J$~#w|FOlturP^q$>bix zUox)s-vplr>o^~XED)Phn$ouUfsO_DxnJA`(*!JDGZct1TXZwdQDr%2#W3e6!?`4e zbk4@jd<^M^4VxtnL^{nW_Pxw<^6kt`cT9XI{CV59b+KjSwOc=H{Jw9WeOAr)^234^ zXZ-#B>-JfMhfYn63=KUsXW7dXqo1G7>=w`w>wa6d`uydWSI&z(e_OUYLg&lQy%LS# zeG&_F*no~3ez4 zo;??`8BPBF{Tn-TvyS)WDbKo%w=O#$IjwZ}UH$Vl7u=6;h+5mV=)&`xInUC&iUUPf zU-gE}0_C%Fe}A6$=*@n+)hCxnv~hf!8&t2l@}#)9c-=A! z_rNFnO;??Kd$i-7-VyshD_-Ba|1@jU)@$#z&V9K)?~7-cZ=Sx`rZxXr_7ojKN~PGD a56oY;ygOg5QOXL;HVmGwelF{r5}E)Thp34F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_quads_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_quads_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..fa6914fd4e7292abfbeeb8affc8e1a2b1378ccd6 GIT binary patch literal 1248 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qYpo-U3d6?5L+H7pVh6ku_j z_TXQ**ghU57GoCt9<1=UKuT=xnV4EcVG>9uq2EuGXr<@|$*6>I9uuMax f>`!z7@=dz_pLd7lN5?zBl8eF9)z4*}Q$iB}i(wDn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_quads_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_quads_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c97f1a0d27dfb092734cff4e0000a35eb7b19b3e GIT binary patch literal 1320 zcmZ8h4N%f&9R5SDIg&<;8At7=9e%TPnbOyEy8QTOnHqmoNRz`aOeiQbTbfZ~YU&Nb zP6V{Au$*Mm8L6v8ub5GYnsN+??I_X6Ss~>tb+ENv*L%>pf99 z@oNPwV#OO7hqId!5rszb*#U?zpsyjS4ruJ(SrH;`C=Ap$hP(TnV-lq(z0VB@092;fxO-!b>$c@R&)?*y0L5e{(w7U%-?%h+Rs5UM{kUz&}VW zE$adUYrR`%5T~fQLT?}w(%OA1@hWy&@+C{rXdaY!*6<5n1!Q2N)fWx~k2a4C6?_HqTGeWGSa|qqE>(XmLCMO_$$@zg8gI@b8_>*#%kQ2M5bY)<=(UkhTEk;nx2&6CE`P6&DxZuSYYXb?3BNZOqC#DV;*0 z@cI0zs;X-YN}bn(pfmOL^+scwx+?)lp-}e8^*T`1zD5ZHMm8MuHfP-4^!d&d)|%<* z=|-`*NV3Z1gta@8p=WlIMK-gU2E=v_v(F{@pvR0g?q@FkXuwL#hf=U9R2@pmC{iDv}@fm|+kJlSPp%V>*c=6)7~F}1Le zK4CVShlf9*;kTs9NX=3ykWo?+mXmZ{fCIb27v`TJ7skiEZ@`Vrd=>%|hua*oFqKNY)q1VlQeA_-NY!>%O{@gUEw-<8uFN~Cq3}0@;mzzU3afnXs9K7217z7)UMJ8*mW}VYqwtTJJh%Al z2h+5w{obZQIu9q5-e!rQs6?*M$f|IV#|_7R7y!oCt9<1=UKuT=xnV4EcVG>9uq2EuGXr<@|$*6>I9uuMax f>`!z7@=dz_pLd7lN5?zBl8eF9)z4*}Q$iB}i(wDn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_rect_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_rect_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c97f1a0d27dfb092734cff4e0000a35eb7b19b3e GIT binary patch literal 1320 zcmZ8h4N%f&9R5SDIg&<;8At7=9e%TPnbOyEy8QTOnHqmoNRz`aOeiQbTbfZ~YU&Nb zP6V{Au$*Mm8L6v8ub5GYnsN+??I_X6Ss~>tb+ENv*L%>pf99 z@oNPwV#OO7hqId!5rszb*#U?zpsyjS4ruJ(SrH;`C=Ap$hP(TnV-lq(z0VB@092;fxO-!b>$c@R&)?*y0L5e{(w7U%-?%h+Rs5UM{kUz&}VW zE$adUYrR`%5T~fQLT?}w(%OA1@hWy&@+C{rXdaY!*6<5n1!Q2N)fWx~k2a4C6?_HqTGeWGSa|qqE>(XmLCMO_$$@zg8gI@b8_>*#%kQ2M5bY)<=(UkhTEk;nx2&6CE`P6&DxZuSYYXb?3BNZOqC#DV;*0 z@cI0zs;X-YN}bn(pfmOL^+scwx+?)lp-}e8^*T`1zD5ZHMm8MuHfP-4^!d&d)|%<* z=|-`*NV3Z1gta@8p=WlIMK-gU2E=v_v(F{@pvR0g?q@FkXuwL#hf=U9R2@pmC{iDv}@fm|+kJlSPp%V>*c=6)7~F}1Le zK4CVShlf9*;kTs9NX=3ykWo?+mXmZ{fCIb27v`TJ7skiEZ@`Vrd=>%|hua*oFqKNY)q1VlQeA_-NY!>%O{@gUEw-<8uFN~Cq3}0@;mzzU3afnXs9K7217z7)UMJ8*mW}VYqwtTJJh%Al z2h+5w{obZQIu9q5-e!rQs6?*M$f|IV#|_7R7y!oCt9<1=UKuT=xnV4EcVG>9uq2EuGXr<@|$*6>I9uuMax f>`!z7@=dz_pLd7lN5?zBl8eF9)z4*}Q$iB}i(wDn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_struct_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_struct_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c97f1a0d27dfb092734cff4e0000a35eb7b19b3e GIT binary patch literal 1320 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 AYXATM literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_tris_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_tris_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..08beea3809d316b6703a229f442bb5d8d3cec9f8 GIT binary patch literal 2538 zcmd5;>pR=o7FK0sOj>Hv8==O87HM2gT&j|yf+!WK5QZuusJIK&xD3XnoKkU8x1wn3 zl9rN5l~lFOF_}zGno(84q-X|pZ7WSRuJfC(=Q)4C`LNf1_FB*0`&nzf?^^2`?!5ax zO}lm1>HRY30ksJd50_9fZHj_;~36 z{2H4*_Wtcag=11fx)pma>(}Sh5We=V{@uDAjh!kdvh$Ds$y2FO-(&raD(R5guW-k7@;*~++d$x!DSSWBy`v-7h;5f>Nd?d_fQWL;?&S zqSy+1DBZ;D-JR_%rQD|xJ&>t?(CE52a5*mSWT-{<%9wuO&8a6@wB+PGnY~z! z^sZu(0$)?5v&k5v3V}e7F!cnLwUHVh-`U!Fy#D-YXjwGU0gXo6+1UZ|%$fJ=o5olp zEPezj^H5jKwM%&ONV>Xa9J(9pq5bdD!xo9qW4gNGM@)`@b<_@M7C6OGC}1^J6bg0n zAQ8K!1s zWB}2cosER@2Xl4}N{3!9q#9LBXBfQlGvf>n9@}4JT2fnA$0ovWzYvSRRkK2&MDoW? zcb=xRZOI4JhNq_9C)&HYxmkks^!3#VzW+L%zN)6Wr!XuNeT-)b7uwp{{R4b<R#a5fe8Qiq z^=fEn=nUegIz|wYsEs+m|2R<{$q53i)R3;_2Jw7~Lp_<@$6~SmK(&r6B=(zL_C2)tsZFquXi%{aK0`UQrKR3k)u99v>c_Nwf#$J&;iB%V+}^ zi+Ii>KTG4&xzeHV?tuYRl~6tZ834aamPGiWEOcl{NWF0OCG!5@;1muo5{dE*tG#w- z#0n7}5*ZtNZcG8_^7Hdk9R?mg{K`x$cNDv~43n%g($YR}Z>|R;fVfaYrrx~qheSq2 z%}-AoGCa386tTe75#(Oa8qr(_gSxHni1EE};llf=!9m)3yt}&w&$2gRihShm{rmeU zAM&0Vj*qo<=z`QN!R*NuD1V_po)a`VIqBo$bF}c|6-Q-ec4}&BQc{J?Ugq(29*!y) zvpYw>qje1JYE%*4UF`wOM28wxTne;hcn%}$y-f7<^jce6t-yP!WHJCm1ATp82tz=6 zd@;eg=94m0Kzg~7mb3N6%AmZlu~E;xqot*V48X<8!QpZ@F(@d=(Ln2+TS`hwY%EI} z|9){%HH(|Gi*8eMM%vg6BSTgV-aQ^$5|P<(;hVk`jp8Hj9c1#s(jg9qQ&6B@Ci_ha zB%ThF0xXM(!4gJ)GkEdhMGxE@p0G5@Nm6^mNyazQkNAnEHQBf8M#C|QUb4|uK;yuK8;HaX^okn*j9Nm8yXq_ z)@T+ir){>lm)F+T5^t`ot|AzoV4i*b`I6@4H11HiDMT|XE33lePH%73-IxbltFl+4 zdRw6@Y*5~G#uGm?W1VY-g@sHe^M~Gepdd(AKJ$1yKqHgMf)U3-F1B^vOniUmygY+I zU`v*}LI>f8gc}?E0+Pe2Q&x4Nh13ZgJ|N*kjt$ii^gO;dw$@(}PtC}XNF?n`4j5m+ z@rzwmVbz_Th?3^$+Rm=7!x$@wX70LYp5esAL?TpU9VGMU3+}9~Va7}-mCDuC)zRM1 z8yi<2&|Z+N0n`Xc^m*kKM}#ohq!J6$fnje>P5Tj0Xfy(%IUM~8hhIqTCzEr#cgM$x zqcG58&JXaL$?H$Iie>gC&1T%9u<>{A+9Z@6naiUY`$5@1F1+{S8P9M3b79 z=AR~>mjlo!lNq3{`bh@X?reRO@pFPfcIJvd1(h9HuN9)_Nw=EY3JMDP`yFt+nM8D> z4-;SGMNUZY(f)~KZ3=RMA3A4J*#plPn6)h}EdjiWjV*-HU*E>Y21|Dx`57*RU}ojY*RNkk zBPXQNeXd~Rp&p8;Fvp}aCOq5)G9(aSF}_!6v^d+zr%zQ1!+=^srBbKMggtP664ILu zKR5CTC?xggTgR3-5=s-U&Cd*#vF1v@1Kh-2|DIsR=&(>ukaO+ubXb?0kGZ+|PU z*mnly0T`b%IXm}C8l18fN_kWZcGO;zwzGBWi0tC^1_0(;*}GD1I;;73qd4Fo>iYHT z?Hvv_Hjzlv54_@u>H-&k5bjsaJ(_{vIellYc7jx(QgBcE_Kkz8kRF#G|1XSBN!By= zJBpA?OX0zsV`6Z5r~jg2=;$EwV4 zw0Lf#sNa+RNyaZ985vn??>4CvT;}AR(T74mt*_@_AP4ySKQ-+Go~WyI?Xn9R%eGmFnjpgRi4JUgP38eJ``Ceo);46 zu#ho~?<*?MS{UYE9PNi6!NavpF}@ItFM+d0?;7mc(QoCt9<1=UKuT=xnV4EcVG>9uq2EuGXr<@|$*6>I9uuMax f>`!z7@=dz_pLd7lN5?zBl8eF9)z4*}Q$iB}i(wDn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_uniform_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_hdf5_uniform_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c97f1a0d27dfb092734cff4e0000a35eb7b19b3e GIT binary patch literal 1320 zcmZ8h4N%f&9R5SDIg&<;8At7=9e%TPnbOyEy8QTOnHqmoNRz`aOeiQbTbfZ~YU&Nb zP6V{Au$*Mm8L6v8ub5GYnsN+??I_X6Ss~>tb+ENv*L%>pf99 z@oNPwV#OO7hqId!5rszb*#U?zpsyjS4ruJ(SrH;`C=Ap$hP(TnV-lq(z0VB@092;fxO-!b>$c@R&)?*y0L5e{(w7U%-?%h+Rs5UM{kUz&}VW zE$adUYrR`%5T~fQLT?}w(%OA1@hWy&@+C{rXdaY!*6<5n1!Q2N)fWx~k2a4C6?_HqTGeWGSa|qqE>(XmLCMO_$$@zg8gI@b8_>*#%kQ2M5bY)<=(UkhTEk;nx2&6CE`P6&DxZuSYYXb?3BNZOqC#DV;*0 z@cI0zs;X-YN}bn(pfmOL^+scwx+?)lp-}e8^*T`1zD5ZHMm8MuHfP-4^!d&d)|%<* z=|-`*NV3Z1gta@8p=WlIMK-gU2E=v_v(F{@pvR0g?q@FkXuwL#hf=U9R2@pmC{iDv}@fm|+kJlSPp%V>*c=6)7~F}1Le zK4CVShlf9*;kTs9NX=3ykWo?+mXmZ{fCIb27v`TJ7skiEZ@`Vrd=>%|hua*oFqKNY)q1VlQeA_-NY!>%O{@gUEw-<8uFN~Cq3}0@;mzzU3afnXs9K7217z7)UMJ8*mW}VYqwtTJJh%Al z2h+5w{obZQIu9q5-e!rQs6?*M$f|IV#|_7R7y!o-U3d6?5KRyO?>zL4eh< zKk%Pszp=$0g^L}lyB_@g^5)#Te++Z)S25IB3p)9<2nZ`4ap5qe0@E%d?G@+$r00A6 z%DV)Tlv-wRD5^PibPgh>+3x6k3p3-dEI*!TtbV;y_I%~(hchaV_ip|ix4ggQy#|#6 zf{LNK@#fvC!y9L=R6n5Z9vOT7ZN<50zT;=C^XAO`ZdI#N<389z7#QJa-(8dLJL_Z1 zXlHrqRaM^c;(J9FY4-{rzu9yBrSd~-E@~t-Duyt`IkWGsH9rvkS%~Te6PLR-+P^<% W7cOU4cORIK89ZJ6T-G@yGywoV@-s&O literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_quads_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_quads_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca24bbc606d7aa154e57ee36e2843fb68b9223a GIT binary patch literal 822 zcmeAS@N?(olHy`uVBq!ia0vp^DIm(C47nN+<_Ncw!rFg-o&1J>8X0p2~9*E6aqS)-we$VuI{R^eDpX%d}DC{{eQE}pY zyIJe!D%qOaTGmJZIeyDM&|etA(8am{nXo-lbguF}=fx=Rhz_X@v#yrT zeQs&^JZtN&y?g)Gwf2j;UQ97kyk_%y*S?)QckbHdY=_T1B*Emybcs+Z~3 zN-=4OH6$_OCq8u7U%PcQ$uZ}8%-XPHGcIPdbe(=G6xyVaF>9Gd*RsrjixS24_5c5J z$!mK~I)2>UNv79r^Ua=!T|7+>UcTfE{bXZ)?9B7xkea$WyQn2sZVNbUWDw!TPb_GU zNR)63Jkr@B>M96yY2C;3)$!9*H?CZ_YSrb-!AYO*Cu-|viMj@ciYi_!wVms?KmK9z z*4*F!{`tLOvODwl=g-bA*FcHnfY%dd2y`#9_{C%=uif{!y`9}}&+gs3ckFOD+TYKg zR9dn5=AONK1sC(RAO3f~wBTIf@}M{0s}BJq`uOUS{N?`6_@WdX;V%@${yGcn*C|^o zm!#@>NVjYLoH+tv5^Z;8O5e3)-~Yc^{+#8z`5f1x9-X(VxjEm$WQlb;|HglMRR@^y c2m2r9U{4*-Ea7*Hf%$>K)78&qol`;+0Mm_RkpKVy literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_rect_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_rect_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc2f9148c1bd53693dfde0d81d7523464d06037 GIT binary patch literal 1006 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tJ>o-U3d6?5KRyO?>zL4eh< zKk%Pszp=$0g^L}lyB_@g^5)#Te++Z)S25IB3p)9<2nZ`4ap5qe0@E%d?G@+$r00A6 z%DV)Tlv-wRD5^PibPgh>+3x6k3p3-dEI*!TtbV;y_I%~(hchaV_ip|ix4ggQy#|#6 zf{LNK@#fvC!y9L=R6n5Z9vOT7ZN<50zT;=C^XAO`ZdI#N<389z7#QJa-(8dLJL_Z1 zXlHrqRaM^c;(J9FY4-{rzu9yBrSd~-E@~t-Duyt`IkWGsH9rvkS%~Te6PLR-+P^<% W7cOU4cORIK89ZJ6T-G@yGywoV@-s&O literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_rect_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_rect_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca24bbc606d7aa154e57ee36e2843fb68b9223a GIT binary patch literal 822 zcmeAS@N?(olHy`uVBq!ia0vp^DIm(C47nN+<_Ncw!rFg-o&1J>8X0p2~9*E6aqS)-we$VuI{R^eDpX%d}DC{{eQE}pY zyIJe!D%qOaTGmJZIeyDM&|etA(8am{nXo-lbguF}=fx=Rhz_X@v#yrT zeQs&^JZtN&y?g)Gwf2j;UQ97kyk_%y*S?)QckbHdY=_T1B*Emybcs+Z~3 zN-=4OH6$_OCq8u7U%PcQ$uZ}8%-XPHGcIPdbe(=G6xyVaF>9Gd*RsrjixS24_5c5J z$!mK~I)2>UNv79r^Ua=!T|7+>UcTfE{bXZ)?9B7xkea$WyQn2sZVNbUWDw!TPb_GU zNR)63Jkr@B>M96yY2C;3)$!9*H?CZ_YSrb-!AYO*Cu-|viMj@ciYi_!wVms?KmK9z z*4*F!{`tLOvODwl=g-bA*FcHnfY%dd2y`#9_{C%=uif{!y`9}}&+gs3ckFOD+TYKg zR9dn5=AONK1sC(RAO3f~wBTIf@}M{0s}BJq`uOUS{N?`6_@WdX;V%@${yGcn*C|^o zm!#@>NVjYLoH+tv5^Z;8O5e3)-~Yc^{+#8z`5f1x9-X(VxjEm$WQlb;|HglMRR@^y c2m2r9U{4*-Ea7*Hf%$>K)78&qol`;+0Mm_RkpKVy literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_struct_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_struct_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc2f9148c1bd53693dfde0d81d7523464d06037 GIT binary patch literal 1006 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tJ>o-U3d6?5KRyO?>zL4eh< zKk%Pszp=$0g^L}lyB_@g^5)#Te++Z)S25IB3p)9<2nZ`4ap5qe0@E%d?G@+$r00A6 z%DV)Tlv-wRD5^PibPgh>+3x6k3p3-dEI*!TtbV;y_I%~(hchaV_ip|ix4ggQy#|#6 zf{LNK@#fvC!y9L=R6n5Z9vOT7ZN<50zT;=C^XAO`ZdI#N<389z7#QJa-(8dLJL_Z1 zXlHrqRaM^c;(J9FY4-{rzu9yBrSd~-E@~t-Duyt`IkWGsH9rvkS%~Te6PLR-+P^<% W7cOU4cORIK89ZJ6T-G@yGywoV@-s&O literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_struct_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_struct_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca24bbc606d7aa154e57ee36e2843fb68b9223a GIT binary patch literal 822 zcmeAS@N?(olHy`uVBq!ia0vp^DIm(C47nN+<_Ncw!rFg-o&1J>8X0p2~9*E6aqS)-we$VuI{R^eDpX%d}DC{{eQE}pY zyIJe!D%qOaTGmJZIeyDM&|etA(8am{nXo-lbguF}=fx=Rhz_X@v#yrT zeQs&^JZtN&y?g)Gwf2j;UQ97kyk_%y*S?)QckbHdY=_T1B*Emybcs+Z~3 zN-=4OH6$_OCq8u7U%PcQ$uZ}8%-XPHGcIPdbe(=G6xyVaF>9Gd*RsrjixS24_5c5J z$!mK~I)2>UNv79r^Ua=!T|7+>UcTfE{bXZ)?9B7xkea$WyQn2sZVNbUWDw!TPb_GU zNR)63Jkr@B>M96yY2C;3)$!9*H?CZ_YSrb-!AYO*Cu-|viMj@ciYi_!wVms?KmK9z z*4*F!{`tLOvODwl=g-bA*FcHnfY%dd2y`#9_{C%=uif{!y`9}}&+gs3ckFOD+TYKg zR9dn5=AONK1sC(RAO3f~wBTIf@}M{0s}BJq`uOUS{N?`6_@WdX;V%@${yGcn*C|^o zm!#@>NVjYLoH+tv5^Z;8O5e3)-~Yc^{+#8z`5f1x9-X(VxjEm$WQlb;|HglMRR@^y c2m2r9U{4*-Ea7*Hf%$>K)78&qol`;+0Mm_RkpKVy literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_tris_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_tris_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..d39680933d1b1b95d15515da0da40e22ebbe1794 GIT binary patch literal 2722 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 N002ovPDHLkV1go-U3d6?5KRyO?>zL4eh< zKk%Pszp=$0g^L}lyB_@g^5)#Te++Z)S25IB3p)9<2nZ`4ap5qe0@E%d?G@+$r00A6 z%DV)Tlv-wRD5^PibPgh>+3x6k3p3-dEI*!TtbV;y_I%~(hchaV_ip|ix4ggQy#|#6 zf{LNK@#fvC!y9L=R6n5Z9vOT7ZN<50zT;=C^XAO`ZdI#N<389z7#QJa-(8dLJL_Z1 zXlHrqRaM^c;(J9FY4-{rzu9yBrSd~-E@~t-Duyt`IkWGsH9rvkS%~Te6PLR-+P^<% W7cOU4cORIK89ZJ6T-G@yGywoV@-s&O literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_uniform_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_json_uniform_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca24bbc606d7aa154e57ee36e2843fb68b9223a GIT binary patch literal 822 zcmeAS@N?(olHy`uVBq!ia0vp^DIm(C47nN+<_Ncw!rFg-o&1J>8X0p2~9*E6aqS)-we$VuI{R^eDpX%d}DC{{eQE}pY zyIJe!D%qOaTGmJZIeyDM&|etA(8am{nXo-lbguF}=fx=Rhz_X@v#yrT zeQs&^JZtN&y?g)Gwf2j;UQ97kyk_%y*S?)QckbHdY=_T1B*Emybcs+Z~3 zN-=4OH6$_OCq8u7U%PcQ$uZ}8%-XPHGcIPdbe(=G6xyVaF>9Gd*RsrjixS24_5c5J z$!mK~I)2>UNv79r^Ua=!T|7+>UcTfE{bXZ)?9B7xkea$WyQn2sZVNbUWDw!TPb_GU zNR)63Jkr@B>M96yY2C;3)$!9*H?CZ_YSrb-!AYO*Cu-|viMj@ciYi_!wVms?KmK9z z*4*F!{`tLOvODwl=g-bA*FcHnfY%dd2y`#9_{C%=uif{!y`9}}&+gs3ckFOD+TYKg zR9dn5=AONK1sC(RAO3f~wBTIf@}M{0s}BJq`uOUS{N?`6_@WdX;V%@${yGcn*C|^o zm!#@>NVjYLoH+tv5^Z;8O5e3)-~Yc^{+#8z`5f1x9-X(VxjEm$WQlb;|HglMRR@^y c2m2r9U{4*-Ea7*Hf%$>K)78&qol`;+0Mm_RkpKVy literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_quads_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_quads_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..fa6914fd4e7292abfbeeb8affc8e1a2b1378ccd6 GIT binary patch literal 1248 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qYpo-U3d6?5L+H7pVh6ku_j z_TXQ**ghU57GoCt9<1=UKuT=xnV4EcVG>9uq2EuGXr<@|$*6>I9uuMax f>`!z7@=dz_pLd7lN5?zBl8eF9)z4*}Q$iB}i(wDn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_quads_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_quads_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c97f1a0d27dfb092734cff4e0000a35eb7b19b3e GIT binary patch literal 1320 zcmZ8h4N%f&9R5SDIg&<;8At7=9e%TPnbOyEy8QTOnHqmoNRz`aOeiQbTbfZ~YU&Nb zP6V{Au$*Mm8L6v8ub5GYnsN+??I_X6Ss~>tb+ENv*L%>pf99 z@oNPwV#OO7hqId!5rszb*#U?zpsyjS4ruJ(SrH;`C=Ap$hP(TnV-lq(z0VB@092;fxO-!b>$c@R&)?*y0L5e{(w7U%-?%h+Rs5UM{kUz&}VW zE$adUYrR`%5T~fQLT?}w(%OA1@hWy&@+C{rXdaY!*6<5n1!Q2N)fWx~k2a4C6?_HqTGeWGSa|qqE>(XmLCMO_$$@zg8gI@b8_>*#%kQ2M5bY)<=(UkhTEk;nx2&6CE`P6&DxZuSYYXb?3BNZOqC#DV;*0 z@cI0zs;X-YN}bn(pfmOL^+scwx+?)lp-}e8^*T`1zD5ZHMm8MuHfP-4^!d&d)|%<* z=|-`*NV3Z1gta@8p=WlIMK-gU2E=v_v(F{@pvR0g?q@FkXuwL#hf=U9R2@pmC{iDv}@fm|+kJlSPp%V>*c=6)7~F}1Le zK4CVShlf9*;kTs9NX=3ykWo?+mXmZ{fCIb27v`TJ7skiEZ@`Vrd=>%|hua*oFqKNY)q1VlQeA_-NY!>%O{@gUEw-<8uFN~Cq3}0@;mzzU3afnXs9K7217z7)UMJ8*mW}VYqwtTJJh%Al z2h+5w{obZQIu9q5-e!rQs6?*M$f|IV#|_7R7y!oCt9<1=UKuT=xnV4EcVG>9uq2EuGXr<@|$*6>I9uuMax f>`!z7@=dz_pLd7lN5?zBl8eF9)z4*}Q$iB}i(wDn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_rect_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_rect_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c97f1a0d27dfb092734cff4e0000a35eb7b19b3e GIT binary patch literal 1320 zcmZ8h4N%f&9R5SDIg&<;8At7=9e%TPnbOyEy8QTOnHqmoNRz`aOeiQbTbfZ~YU&Nb zP6V{Au$*Mm8L6v8ub5GYnsN+??I_X6Ss~>tb+ENv*L%>pf99 z@oNPwV#OO7hqId!5rszb*#U?zpsyjS4ruJ(SrH;`C=Ap$hP(TnV-lq(z0VB@092;fxO-!b>$c@R&)?*y0L5e{(w7U%-?%h+Rs5UM{kUz&}VW zE$adUYrR`%5T~fQLT?}w(%OA1@hWy&@+C{rXdaY!*6<5n1!Q2N)fWx~k2a4C6?_HqTGeWGSa|qqE>(XmLCMO_$$@zg8gI@b8_>*#%kQ2M5bY)<=(UkhTEk;nx2&6CE`P6&DxZuSYYXb?3BNZOqC#DV;*0 z@cI0zs;X-YN}bn(pfmOL^+scwx+?)lp-}e8^*T`1zD5ZHMm8MuHfP-4^!d&d)|%<* z=|-`*NV3Z1gta@8p=WlIMK-gU2E=v_v(F{@pvR0g?q@FkXuwL#hf=U9R2@pmC{iDv}@fm|+kJlSPp%V>*c=6)7~F}1Le zK4CVShlf9*;kTs9NX=3ykWo?+mXmZ{fCIb27v`TJ7skiEZ@`Vrd=>%|hua*oFqKNY)q1VlQeA_-NY!>%O{@gUEw-<8uFN~Cq3}0@;mzzU3afnXs9K7217z7)UMJ8*mW}VYqwtTJJh%Al z2h+5w{obZQIu9q5-e!rQs6?*M$f|IV#|_7R7y!oCt9<1=UKuT=xnV4EcVG>9uq2EuGXr<@|$*6>I9uuMax f>`!z7@=dz_pLd7lN5?zBl8eF9)z4*}Q$iB}i(wDn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_struct_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_struct_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c97f1a0d27dfb092734cff4e0000a35eb7b19b3e GIT binary patch literal 1320 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 AYXATM literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_tris_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_tris_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..08beea3809d316b6703a229f442bb5d8d3cec9f8 GIT binary patch literal 2538 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_uniform_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_sidre_hdf5_uniform_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c97f1a0d27dfb092734cff4e0000a35eb7b19b3e GIT binary patch literal 1320 zcmZ8h4N%f&9R5SDIg&<;8At7=9e%TPnbOyEy8QTOnHqmoNRz`aOeiQbTbfZ~YU&Nb zP6V{Au$*Mm8L6v8ub5GYnsN+??I_X6Ss~>tb+ENv*L%>pf99 z@oNPwV#OO7hqId!5rszb*#U?zpsyjS4ruJ(SrH;`C=Ap$hP(TnV-lq(z0VB@092;fxO-!b>$c@R&)?*y0L5e{(w7U%-?%h+Rs5UM{kUz&}VW zE$adUYrR`%5T~fQLT?}w(%OA1@hWy&@+C{rXdaY!*6<5n1!Q2N)fWx~k2a4C6?_HqTGeWGSa|qqE>(XmLCMO_$$@zg8gI@b8_>*#%kQ2M5bY)<=(UkhTEk;nx2&6CE`P6&DxZuSYYXb?3BNZOqC#DV;*0 z@cI0zs;X-YN}bn(pfmOL^+scwx+?)lp-}e8^*T`1zD5ZHMm8MuHfP-4^!d&d)|%<* z=|-`*NV3Z1gta@8p=WlIMK-gU2E=v_v(F{@pvR0g?q@FkXuwL#hf=U9R2@pmC{iDv}@fm|+kJlSPp%V>*c=6)7~F}1Le zK4CVShlf9*;kTs9NX=3ykWo?+mXmZ{fCIb27v`TJ7skiEZ@`Vrd=>%|hua*oFqKNY)q1VlQeA_-NY!>%O{@gUEw-<8uFN~Cq3}0@;mzzU3afnXs9K7217z7)UMJ8*mW}VYqwtTJJh%Al z2h+5w{obZQIu9q5-e!rQs6?*M$f|IV#|_7R7y!y)v)4U7qgvLH>7GSpDC9<$vt< z|7n|letmt+JcLm>?hg%dy7aBao11<2qJ-Av`PrtG7QZrFEqyz%q6e3^(yY0vw=Ld2 zt!4G>;Qq+FbE?j~I#wnkr;N*yH~S9Fd;4Oo>cdyht|W(&t;ucLK6Vh Cz3Hw1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_quads_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_quads_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..158be443ffb6e385c6ffda4f8d1fc3599187e6cf GIT binary patch literal 861 zcmeAS@N?(olHy`uVBq!ia0vp^DImutI)+C zFF(`X)OY#r+cMb#nTtEce@u6XASUPYI{zyIsdiNZvO9?kLEnDoTT#WPFxR1@U*SlYORj^{QUXyd6D$zF~6sD7FQc8 z`9%J$+kgN4>*Dp-KN}zYDRNq1|F`WM+IOv+tg>+ahp$zCzkL%szR}3u-kzV0d6xdU z)X07N_FYPvwdZEeyZ7%8Pf6|BxqJ8G=BQ~;-@bkO_3Kun<(a>J{P6gE^yjNrt1iEM zQ5+h2zfM(IU%PA3?Ag+%7GKP;k-N;CT_kh-@y8iyU7HP`J$~#w|FOlturP^q$>bix zUox)s-vplr>o^~XED)Phn$ouUfsO_DxnJA`(*!JDGZct1TXZwdQDr%2#W3e6!?`4e zbk4@jd<^M^4VxtnL^{nW_Pxw<^6kt`cT9XI{CV59b+KjSwOc=H{Jw9WeOAr)^234^ zXZ-#B>-JfMhfYn63=KUsXW7dXqo1G7>=w`w>wa6d`uydWSI&z(e_OUYLg&lQy%LS# zeG&_F*no~3ez4 zo;??`8BPBF{Tn-TvyS)WDbKo%w=O#$IjwZ}UH$Vl7u=6;h+5mV=)&`xInUC&iUUPf zU-gE}0_C%Fe}A6$=*@n+)hCxnv~hf!8&t2l@}#)9c-=A! z_rNFnO;??Kd$i-7-VyshD_-Ba|1@jU)@$#z&V9K)?~7-cZ=Sx`rZxXr_7ojKN~PGD a56oY;ygOg5QOXL;HVmGwelF{r5}E)Thp34F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_rect_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_rect_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..89ead01932dce6709758c494f249cd48b06b59f9 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qY7o-U3d6?5L+GVD`!6JT)+ zyzqbjo}#C7#a0A=Tch-b&Cq00$*a#_zkX%E@N;t=!=L+|0!d0OGdL90oH{6H{yoEC zKmYvs-IiZxTs^z;_?oy)v)4U7qgvLH>7GSpDC9<$vt< z|7n|letmt+JcLm>?hg%dy7aBao11<2qJ-Av`PrtG7QZrFEqyz%q6e3^(yY0vw=Ld2 zt!4G>;Qq+FbE?j~I#wnkr;N*yH~S9Fd;4Oo>cdyht|W(&t;ucLK6Vh Cz3Hw1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_rect_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_rect_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..158be443ffb6e385c6ffda4f8d1fc3599187e6cf GIT binary patch literal 861 zcmeAS@N?(olHy`uVBq!ia0vp^DImutI)+C zFF(`X)OY#r+cMb#nTtEce@u6XASUPYI{zyIsdiNZvO9?kLEnDoTT#WPFxR1@U*SlYORj^{QUXyd6D$zF~6sD7FQc8 z`9%J$+kgN4>*Dp-KN}zYDRNq1|F`WM+IOv+tg>+ahp$zCzkL%szR}3u-kzV0d6xdU z)X07N_FYPvwdZEeyZ7%8Pf6|BxqJ8G=BQ~;-@bkO_3Kun<(a>J{P6gE^yjNrt1iEM zQ5+h2zfM(IU%PA3?Ag+%7GKP;k-N;CT_kh-@y8iyU7HP`J$~#w|FOlturP^q$>bix zUox)s-vplr>o^~XED)Phn$ouUfsO_DxnJA`(*!JDGZct1TXZwdQDr%2#W3e6!?`4e zbk4@jd<^M^4VxtnL^{nW_Pxw<^6kt`cT9XI{CV59b+KjSwOc=H{Jw9WeOAr)^234^ zXZ-#B>-JfMhfYn63=KUsXW7dXqo1G7>=w`w>wa6d`uydWSI&z(e_OUYLg&lQy%LS# zeG&_F*no~3ez4 zo;??`8BPBF{Tn-TvyS)WDbKo%w=O#$IjwZ}UH$Vl7u=6;h+5mV=)&`xInUC&iUUPf zU-gE}0_C%Fe}A6$=*@n+)hCxnv~hf!8&t2l@}#)9c-=A! z_rNFnO;??Kd$i-7-VyshD_-Ba|1@jU)@$#z&V9K)?~7-cZ=Sx`rZxXr_7ojKN~PGD a56oY;ygOg5QOXL;HVmGwelF{r5}E)Thp34F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_struct_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_struct_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..89ead01932dce6709758c494f249cd48b06b59f9 GIT binary patch literal 1238 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qY7o-U3d6?5L+GVD`!6JT)+ zyzqbjo}#C7#a0A=Tch-b&Cq00$*a#_zkX%E@N;t=!=L+|0!d0OGdL90oH{6H{yoEC zKmYvs-IiZxTs^z;_?oy)v)4U7qgvLH>7GSpDC9<$vt< z|7n|letmt+JcLm>?hg%dy7aBao11<2qJ-Av`PrtG7QZrFEqyz%q6e3^(yY0vw=Ld2 zt!4G>;Qq+FbE?j~I#wnkr;N*yH~S9Fd;4Oo>cdyht|W(&t;ucLK6Vh Cz3Hw1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_struct_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_struct_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..158be443ffb6e385c6ffda4f8d1fc3599187e6cf GIT binary patch literal 861 zcmeAS@N?(olHy`uVBq!ia0vp^DImutI)+C zFF(`X)OY#r+cMb#nTtEce@u6XASUPYI{zyIsdiNZvO9?kLEnDoTT#WPFxR1@U*SlYORj^{QUXyd6D$zF~6sD7FQc8 z`9%J$+kgN4>*Dp-KN}zYDRNq1|F`WM+IOv+tg>+ahp$zCzkL%szR}3u-kzV0d6xdU z)X07N_FYPvwdZEeyZ7%8Pf6|BxqJ8G=BQ~;-@bkO_3Kun<(a>J{P6gE^yjNrt1iEM zQ5+h2zfM(IU%PA3?Ag+%7GKP;k-N;CT_kh-@y8iyU7HP`J$~#w|FOlturP^q$>bix zUox)s-vplr>o^~XED)Phn$ouUfsO_DxnJA`(*!JDGZct1TXZwdQDr%2#W3e6!?`4e zbk4@jd<^M^4VxtnL^{nW_Pxw<^6kt`cT9XI{CV59b+KjSwOc=H{Jw9WeOAr)^234^ zXZ-#B>-JfMhfYn63=KUsXW7dXqo1G7>=w`w>wa6d`uydWSI&z(e_OUYLg&lQy%LS# zeG&_F*no~3ez4 zo;??`8BPBF{Tn-TvyS)WDbKo%w=O#$IjwZ}UH$Vl7u=6;h+5mV=)&`xInUC&iUUPf zU-gE}0_C%Fe}A6$=*@n+)hCxnv~hf!8&t2l@}#)9c-=A! z_rNFnO;??Kd$i-7-VyshD_-Ba|1@jU)@$#z&V9K)?~7-cZ=Sx`rZxXr_7ojKN~PGD a56oY;ygOg5QOXL;HVmGwelF{r5}E)Thp34F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_tris_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_tris_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..5391cea7fb0fd63270648b634d89f9ca9e841604 GIT binary patch literal 3613 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 Cz3Hw1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_uniform_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_2d_yaml_0_8_2_uniform_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..158be443ffb6e385c6ffda4f8d1fc3599187e6cf GIT binary patch literal 861 zcmeAS@N?(olHy`uVBq!ia0vp^DImutI)+C zFF(`X)OY#r+cMb#nTtEce@u6XASUPYI{zyIsdiNZvO9?kLEnDoTT#WPFxR1@U*SlYORj^{QUXyd6D$zF~6sD7FQc8 z`9%J$+kgN4>*Dp-KN}zYDRNq1|F`WM+IOv+tg>+ahp$zCzkL%szR}3u-kzV0d6xdU z)X07N_FYPvwdZEeyZ7%8Pf6|BxqJ8G=BQ~;-@bkO_3Kun<(a>J{P6gE^yjNrt1iEM zQ5+h2zfM(IU%PA3?Ag+%7GKP;k-N;CT_kh-@y8iyU7HP`J$~#w|FOlturP^q$>bix zUox)s-vplr>o^~XED)Phn$ouUfsO_DxnJA`(*!JDGZct1TXZwdQDr%2#W3e6!?`4e zbk4@jd<^M^4VxtnL^{nW_Pxw<^6kt`cT9XI{CV59b+KjSwOc=H{Jw9WeOAr)^234^ zXZ-#B>-JfMhfYn63=KUsXW7dXqo1G7>=w`w>wa6d`uydWSI&z(e_OUYLg&lQy%LS# zeG&_F*no~3ez4 zo;??`8BPBF{Tn-TvyS)WDbKo%w=O#$IjwZ}UH$Vl7u=6;h+5mV=)&`xInUC&iUUPf zU-gE}0_C%Fe}A6$=*@n+)hCxnv~hf!8&t2l@}#)9c-=A! z_rNFnO;??Kd$i-7-VyshD_-Ba|1@jU)@$#z&V9K)?~7-cZ=Sx`rZxXr_7ojKN~PGD a56oY;ygOg5QOXL;HVmGwelF{r5}E)Thp34F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..b32c35258aab3cd8d50fbc488b25a868260fca70 GIT binary patch literal 3169 zcmdT{`9IX%9#^{g_E;Ku9x`Syg=#R-AWI&Z@ema*gC>Kl6D5N}vUKZ4Q3a>u>@#JxY9U(R`*_xtnye9q^b_er$3wUYh~`kR=T zn6&jd3kNZ=JzBd1*ejY5swf^26O%e_ZDEd!$etVOA&(l%fS$yvpF3>cqbv8W9}Anj zjgp}N5Q*?5&PZ&2vtj9k1hsy z@c*+!${Yx69J2krzC3%iJyR7#5B=;Znj-L&5!s_*1M}f4*pKEktE1pEM(y?Y<6-8& zv2(Yi8hjcTV$6YweA(a!5OUbU;hRQ21SA~7$`c;CROYV{kb%X}A98x$zO92HV8?n_ z)Ac_H0g!~Crj>ICQ2<|6zCHImEo)Ap{?7K7j-NdeZz;<`nMv6LYc10fSI2{|v?X6e z-lufY$?n2Q%7^9;BWzFPbADEv41(}M}G900Lu1QivOMvz;d}k1#g4&t= zZq=P#i}xVg(;Mkm?+Y(?hUNkMD2eu5P7mKX<|--*=IZf@bl0o{jh$xhe)h*K_@Zkby9%B8seA3o z9Q-3$Ipv_c=d0AAuGvZEZSNNgY{i#lQN*fZ!h@Mf^6l2=o%5F&1%%_62;OJu0rdeC z<%BHDE=EZX?v(gaIZ++NO8du|NfdDqqcCx8%-Z-Cm)@rr$b?xid`x(#vw$}tv&fwD z1q~L;OMt)pL&&y8h^YJng{P!3Yu#UUduk|ar8m4X;9JKc zd@g2cc<18I!T0!C)dyyM;#rCpCgs?Kez>))LjC45JW@F$dJBCya6+rT41d^s zc~~z@R6SBh*v8h2VBjFV7L#W=`|29tCR6{f-E-xJZ1-2h^a_ZSqN>ygYu7HajEdaf z|77UeBkOb&w*0KzHdbas8wNAnDpn<166%`BZFqvd%3R8hQB^)32;#?b`+Svh8ax|) z2BL^lzhm0@c1yxVT0ow0oKDvm$vgLEz!)+RQw*1jo*2}#=AmM;AOY_a%!s%cTqV~z z8REXnrx@FnLZ~*4RhX1zAsp&h<^)I6V|$^XU@hWyU?$E3ACHsykrLSYcVQ%;DIE)? zxxmp1rIElWL8ksn;jRoK($pmLN;Gy{|6)@*`^p&TvCk&Ke*S4jW#wF$qcii1<9c1l zy@tM?fsWmTElj{%GeC}$V{~-65=({N^u3bOP2bS-BL0P4i@XXu{dhC-*~FU*%$l!G z@lI0wI|}pKgr-HeX7>2a^Oto&wAz`$KWUhz#r!Uc@fe2Q$NPB_>&j@)^LIF&Iv0Yt zFw=d_#Bjd?uI)KG&=*mMiHLf8C;IJ-=4ki2t8WO3=RB(rhcTpixVZ~z7H5*5H_B>D zZ!Ad0>5Nnb9B8T5DwDFQu2HLm6|l{=e_g8k(0wXD#L;R7ryk!Zf5gwq>Or`$gl!^T zs6pvVrIUvbB_)!}-xVuCN{nOO}Ov^wLm1oQFB0$ zoxVQGbNATgHCT~z|}f(FeiQnEJYa!TKk`Y^Z=wZYFV@b^2P7TFPvA5K5=qWsF- zvW=*LZvP&W7d$olieX%6540P+IInU>vt@fteM6sWZWfaVxiQVRdvw%Ry~A0(WV6T_ zK>u3mlHu0nim3fHB~K`@nk}PZ8~fR&+KmE*ID39KZE8NNv9*pd$ zFD;=EaiZ&KQUiYcvCEC5#EtYPRAf!Q3IhgTNI3Ir^b!oZg0w5W12^T2U9)-3E%Xre zU8yqb9H(K~dZwbz^EFXl&5X#Jp|*>`n#K8YQElTV^O`lbQCq(_CXJ5Gi8FmM&z z6JVwG3|GRmL8rt?viAg-)h!^V1R0^S;?|vewLl_%`K_t2<$cbwhnZ8NolQ46=Eq{6 z81XsU{Z)CY+1bs9RW>aU+e2pLdz9qN2w#f{c1`RoM!PcqDRz8;HA0bHM9pd~q|l`J zMcbA~*5^m6@pK&dlRnr^*vPd}Fz7P``}y5!u?K?VIDSuK!~kD4@zFQ4lX@>LA1ccI@#kG=Ur(%`R4N&68feS>#|119yBpVT zI*QBz4_Nz~!g{Gj`=gy0S=J75l?rhYH9~Ja5_5QztK0jlP7Sl>*CrtLx01A|okw^y z43GfjN+cy3U;(oXUHgrJN&iq&n%M3mc)o=5bj%^+kQ~}1NB8xl_7aM4Yz(7o5_wKp zJBd;~V06IBP+tRDS!;M1Eft#?6tHOSni=bQPRi0|;^d&UKw?d~Jj|{7k3=RUWMNWVRbNf;a(y&y}ZVg*3M2f^?Vvf?iU%2CF6@Y#U=miwk-eY$BAr} z+{vQ0pWsB@*8GufC&r^maYS}&p=8I|y`bP&{(hS*Z^^H;$B+ur6YOpjTsg#MuY2tz z2GJdNMC5}uF{2?qRZh*SAeM16FR&%e0;sf(I7}X^#v2A{?)oT{ns^6<#Zk5*6i8k? z*jn{<@34-EF^h)}l$sc9`$#53%tn4p+~t(lb?VZC;qbPR(y5d*+XI6D-vPCC`9;lR z2rF1iMzm4OQWY$tFKhba$q<=a(YdvZw6_{yzFSjj0}PL%$cX&cO@xdr>wrUaUa(O$ zH0UfyIz^4q?&Dbkd|1hUA&!D*h6v)R*IgyZsM`Oanch0+rREi$a&lE)^mP!k{>#>) J0(0fwzX2qo;Y$Dj literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..96d06d7430efbd7f6fbc5191f5d79b03c17a1ca8 GIT binary patch literal 5294 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..b32c35258aab3cd8d50fbc488b25a868260fca70 GIT binary patch literal 3169 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 J0(0fwzX2qo;Y$Dj literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..96d06d7430efbd7f6fbc5191f5d79b03c17a1ca8 GIT binary patch literal 5294 zcmbuD_dDBf*#5b25Gq;h-W$}2z`qJ_dT z`Hc#NmVZ7KcKFO8nkTlE5TG&;8UeqWKs1*j-Yd(ca1%LiQnyOo!@C6D75^U0(6UI= zP3oKh^5J`WZsuCTE;=rGN4tp!nr)kyvB;vQ(X=RzRICo^Z_DGAm!Q?zF~_4Q9IR4<2g(*~%~NmXNL>2C7~NxzYD zDzAL2qy3-k$B!XlW(o?~XJKV%03)ru{E4c8zI~IKQ(v!~d|bESNWlD;5K!%XQ8xC9 zs)<}{YeuG#qqDrxqkmsB!8SIZp8|D56qR`b0^;K-;u9W%^&hZeFcgA<92}YXDPS(f zw6q6KIH8Q!UJkd-bKMjvt6fKu_>X5iJ=BzqBh}>O?j;QN%wnpY2ggyz88kGS=L^op zpJPUM_Hxv=atC|b4jRH`XsKwa1O@-w)DZ@ja+tX{$*X}3sdWvh(Ux%Y?BuonS*-1y zNxVs9tG)IKD+-mCeuInt@UZ)iM&H@Khnk$82_27$_66%?oS25w=}CFJCMt)U>p?=o zkjKNt#krLexRQnhzPr1!(I(tMvJzvhVs19s&yQ=G5UbmUz|fU7QzM`5DyfU(TLLRs zbP90vw^AIGl-`e2yQG2{nS;04#KeR}$0w1X;B0Y#fFrNs89ia9_4ez~G>B z`#n4W5TEFaJKfzrzzdk)N0k}Z=1Cq=AkG~#;akB!@%`CWlzX$?%l}531LBjYdU_u^ zB+sUSFG%i9Y}`Y~gcXI%LY=XVk&8b%-&Ak)IKaksD8_xD-o^{$?;cM(?aiA!VAX{R z^FRMq>!M9PyEA2D_j{|9MLx52c=gZtx0s&^6KujBG&&oi%M`=hv=!>Rn))vDfH*Qm45bc_C^P~+GK-fW9V@{)@H%yM} z@Ejj;%sb%d1TsDJRqP1K#Tn@V=$K6v#8cM#y@qM2qN9h0=}qEZ!Tm}*i%)mGlqO~d z_NwEnwJ9B(c;w`Qsm?3t-eb?JhRnR`%O}t%M0P1RkF5g&Y{tY`{^_nQL{z{J{?OJ| zTxN{QN<`!m^&B8yWov5_p(Ic&=NHV@Ryb*+>|gRRmKX@B77$B53Nkh>uLG(f0_Mx> z`d3S8(uXZPJQPFp4O&CZ>o%SP8fNT`jo;^E|H+a3xgj>6J?V7yDgRxm7z-sa1EAi) zmx}fElnw8>8Zd*y)UqG8_j`RsRJjDiQ}+Cs?;J`E9RE)Ea4xv4>gV&iQv7T`y9~_8 zbd48MyM7tk{5Y?6!1N9O=D>{$4yZ}S+jk<&`3ON^5);pJ`i7&Ry|DWKz>!Mu19J>U z9B48%Sw3X;|Hl@Esw~mf|1b>+J*%d5c$igL2__KC#0Vjkd;YerwSfyi>cTeC9_uM9 zp)3o>|6L>;12F!|FM`x}MW3{?! zU!!^TC8Wl6(H)AaV??vug?dOBN1@W=8sN z-r3&1;(5|=T%)3|UuVSg-<#D-uDMb|l4+l1A=N7vLCyYvfq{}%#Evi68W6U(@`~ks zk*N6fY>;j0Q#oofIP74$gMqQfe_H9ymd~|} zMYH>-<(I;uzPQ))aj&+wNpXUs{FpaRu06@<=#WtNriQ@6m5Psg zbS>H0?N{nzVsU5*yNG=y7TkO&dtPcHZS+ZL6w}X=4MIuwRLY34DSd_(?E}Z5aTGNj zCR9S2lSF!Nfkd+2h#l!m=drL1-eRSt>g}bbUOBMx7PSP5h)6oiJtf@FLZ&u2;udGy9WM+e**9MBLqbdf_;Oq@L|Cjav*34qS}K zk@4{h50kW@L(I3HZ;rHSKFGHYH2Lx_-z=()t|-t>O6abAhjU(? zg8VxBrRGQy#@CO$Wr!8^S$)P`*3Z<@R%^jGZi9TvV1SuFoqz&uK?eQV+uM8uzeh29mUhp4M~AuZAWLGF|1&0TuVp+m+xR}$ z)P8(j=BsdSef|16{lJ1>V})3kSp->ok*GmuQ`42<+eH!jlBJ(6y7^}sj1DK4ET3Xn z^fos82{>Vq8@IyF-8xkpF4#s!D}Q-}9wQrObHGE}HbBdA1=!@p7qHo^|IVbCt)qCB z<-;uXaLeFT=A@y~X@))tI~(_puBEm%<^MfT#(2Y~5DGgNLA=yzclZdM5_XfVPqC52 zg7txg%R>XunFNZK)+Vr)7;HyHYz$FvA`}ibSt+%^XO=7h)eGCb#l$2mdVL@UtA0lGI`sw2ZryWmSZGh~)^p+IQ3*aQSz=@3 z+NyVRrpSCzsix`|mOBjrgX1M5BQ2~Liqedak6)*D`v{99l!=Oqhn$4$a9CScKa$z~ z(ysZblm;3Qkn;}YR{uhShUVm)ohNlrxDy#DBK%}6QCb&?p7inBH;2Uedwayi z0^r1@`=L$tw6ttI<_51qj7-*^_~0gO9G!ZPtw&-V*47M77>bkw*T0@$T%DsN#FGF0 z(P8G#jk-?n=5OIvA13whl5vg$_lQ=Oi=Mfx&Prza@(<|#lz>K98ZNK5 zp(1$~-y1y0=Igh;z4|eUBInmHBajw1<3jsjZ)#7!AFe~21-Indx_=d2S=Bo}mQf}e zMr>D@Qlf)NIT>5A934^9j{npPmQPRLTW0w&X&5Ze%lm#rweX8GHJySQ=!vXd-P=sv zaFyL@ciA5^14~~gr$EYq!EXsT5gu3z#`h)_)mxxXfY-7%uf*+isF%AuU}j&^sqgCV z1*r=?5T4;6mXcy>xv`oA5CvYNUs=(sZ=AJngTU_o{tdc+(;S_RGIwY_9=$Q<&V5PB z%G5QWQc#EkzI<8h!mi1y8Z$LC%t&smNc~fE^-o{F$YW4k95vL_^Ny;n6^nwxdwS zPC-T8&wqQ@MN8|w#au&2Q9N~h0UZqBtzd1vzRt=Cd>9cRb@S%lTta7O%PX4gkX)OF{v@1AaM?RNX;zOF8bG2!cidh9~f)dxnr{)8biEP(+5Q0SH(E#2-Q z*w)A~zoUD@``YCN$9{{{?ylU2P_bc;pJLo?h4pg78*Pain}pF7ftRGz9*1x9k4rgZ z+66}VuQKyoJr>ntR^68(UM*iiu-C71agVp*TwfMeOR}*8L`5S`ZKFx%gD?k4C@iYS z;p*x<4O0!tP{p|&zQ%ZXh87U692ehUz6p(99%bn8z(&;WF|hz8Qj7RLl?JKP6j%ad zW1YVaUHuISc}-s5$^mcpp=PU3+!U`5(9&IF=?}z51Oww1lSh_ZqmLM7&ple$*?!gM zn47&t6@WQ74o~ZF;jrMhZ`nv$fNIF6Pw|(!fzno*g1MH!)>dra#Dsxi&!!>rH)f%g zS9%JMiB$NYV(w$@gj?;Vrlub-Hc<^BD2v&zlLsp zT+LT{mh>Q?hWTVM0{e9<;4zF8tc4pIQfw`>oSQ#=-tMyH<>Y#LR-VuoEeK%jsjZBK>g%1q=)UY+8T3K67uZ(OGm@Y9S=eYXrzQ&Z5F9ts zToO@PA*g-jI(QLj_LHLXpO#F=Jw(MWp0s!nu`9LxY?HSPO(KS)NE5}!g$Jg6FG6xu zme)~v>upboceJ#g|C#q7oy{{cU$R;SnqwR`F^Nf?0>w%%)h?>+y!c;%D;vPP8fEJ0 z$jD=)dYHwuPgtA!Gn<>7=5_%!m;E}zoZ1>ymIV(EI_pG5p|KDfB&W~RR3*x&76#J- zZ?LnIb@c^#r1(B?5f{=!@z~?qedh2Q37t}sxrB+4oc8FUY?$+|J?OKF}T7`9TF*;Hz0fn}9N-Zv4 z5fhAUkk`JlFL_ExSrNPUI*laH{Ir;%}NuHh-O%z~85nVoFM=v5GR^;rw1dqi6 z8LId9v53MNsiZ`k=qoL$11Wxg#^iLbkeoTkyLV*~rsky;$qby-R@bf-Xqdo&6%{=_ zvPwpwO1M1sTcYra9bXpB#a6~Uw~q#>ow0`cac}H+xYyk>=YxICiZv_hfMOsgS1fY* z`)WyNF%u6F2K_xE*^-!evHOTb8Y5)>j5;8X&Upv$t4!x`mJnsbN5QNAV9}=%UDj~1 zgoI}=b7c-Em&cm?p1p)TmZ4)=+Pson_V;#beH$>(#ry8B0xgw2p=+#~`UoFHVfj;Wu&&HHt^(ElQkiny;^k20FVN3Fmk>(lR3IOwX8va!;_yTzQM;={p%Q}FT@9*JBmgv!Qj`)?jbp4qGZlhv{Cl5vCYa) z88m#ZIW-j$?w4~xX(i1`4kgCDv$YPIYlvk{#9S*CLT;Ua0!9ua6oEsj94aSXf9|vEcl5 z`joe*tgO+?eU&P$ub-}P0WKDJ0cyQffM>=@chlo88k^=>G6Hcq@~miIy&ssjQOwKx1Y0(7M#`Iy*aGEASjtIF?>?hnYpw zp@y1fu}NeD(72KjZ)RTlIaA3`5%1)vnKJz96*gsJ@xD*FC|PBf_mMM44yc-}#2HD>At^vcmWH+ZZgKwu<(g87 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..b32c35258aab3cd8d50fbc488b25a868260fca70 GIT binary patch literal 3169 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 J0(0fwzX2qo;Y$Dj literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..96d06d7430efbd7f6fbc5191f5d79b03c17a1ca8 GIT binary patch literal 5294 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..b32c35258aab3cd8d50fbc488b25a868260fca70 GIT binary patch literal 3169 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 J0(0fwzX2qo;Y$Dj literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..96d06d7430efbd7f6fbc5191f5d79b03c17a1ca8 GIT binary patch literal 5294 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..b32c35258aab3cd8d50fbc488b25a868260fca70 GIT binary patch literal 3169 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 J0(0fwzX2qo;Y$Dj literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..96d06d7430efbd7f6fbc5191f5d79b03c17a1ca8 GIT binary patch literal 5294 zcmbuD_dDBf*#5b25Gq;h-W$}2z`qJ_dT z`Hc#NmVZ7KcKFO8nkTlE5TG&;8UeqWKs1*j-Yd(ca1%LiQnyOo!@C6D75^U0(6UI= zP3oKh^5J`WZsuCTE;=rGN4tp!nr)kyvB;vQ(X=RzRICo^Z_DGAm!Q?zF~_4Q9IR4<2g(*~%~NmXNL>2C7~NxzYD zDzAL2qy3-k$B!XlW(o?~XJKV%03)ru{E4c8zI~IKQ(v!~d|bESNWlD;5K!%XQ8xC9 zs)<}{YeuG#qqDrxqkmsB!8SIZp8|D56qR`b0^;K-;u9W%^&hZeFcgA<92}YXDPS(f zw6q6KIH8Q!UJkd-bKMjvt6fKu_>X5iJ=BzqBh}>O?j;QN%wnpY2ggyz88kGS=L^op zpJPUM_Hxv=atC|b4jRH`XsKwa1O@-w)DZ@ja+tX{$*X}3sdWvh(Ux%Y?BuonS*-1y zNxVs9tG)IKD+-mCeuInt@UZ)iM&H@Khnk$82_27$_66%?oS25w=}CFJCMt)U>p?=o zkjKNt#krLexRQnhzPr1!(I(tMvJzvhVs19s&yQ=G5UbmUz|fU7QzM`5DyfU(TLLRs zbP90vw^AIGl-`e2yQG2{nS;04#KeR}$0w1X;B0Y#fFrNs89ia9_4ez~G>B z`#n4W5TEFaJKfzrzzdk)N0k}Z=1Cq=AkG~#;akB!@%`CWlzX$?%l}531LBjYdU_u^ zB+sUSFG%i9Y}`Y~gcXI%LY=XVk&8b%-&Ak)IKaksD8_xD-o^{$?;cM(?aiA!VAX{R z^FRMq>!M9PyEA2D_j{|9MLx52c=gZtx0s&^6KujBG&&oi%M`=hv=!>Rn))vDfH*Qm45bc_C^P~+GK-fW9V@{)@H%yM} z@Ejj;%sb%d1TsDJRqP1K#Tn@V=$K6v#8cM#y@qM2qN9h0=}qEZ!Tm}*i%)mGlqO~d z_NwEnwJ9B(c;w`Qsm?3t-eb?JhRnR`%O}t%M0P1RkF5g&Y{tY`{^_nQL{z{J{?OJ| zTxN{QN<`!m^&B8yWov5_p(Ic&=NHV@Ryb*+>|gRRmKX@B77$B53Nkh>uLG(f0_Mx> z`d3S8(uXZPJQPFp4O&CZ>o%SP8fNT`jo;^E|H+a3xgj>6J?V7yDgRxm7z-sa1EAi) zmx}fElnw8>8Zd*y)UqG8_j`RsRJjDiQ}+Cs?;J`E9RE)Ea4xv4>gV&iQv7T`y9~_8 zbd48MyM7tk{5Y?6!1N9O=D>{$4yZ}S+jk<&`3ON^5);pJ`i7&Ry|DWKz>!Mu19J>U z9B48%Sw3X;|Hl@Esw~mf|1b>+J*%d5c$igL2__KC#0Vjkd;YerwSfyi>cTeC9_uM9 zp)3o>|6L>;12F!|FM`x}MW3{?! zU!!^TC8Wl6(H)AaV??vug?dOBN1@W=8sN z-r3&1;(5|=T%)3|UuVSg-<#D-uDMb|l4+l1A=N7vLCyYvfq{}%#Evi68W6U(@`~ks zk*N6fY>;j0Q#oofIP74$gMqQfe_H9ymd~|} zMYH>-<(I;uzPQ))aj&+wNpXUs{FpaRu06@<=#WtNriQ@6m5Psg zbS>H0?N{nzVsU5*yNG=y7TkO&dtPcHZS+ZL6w}X=4MIuwRLY34DSd_(?E}Z5aTGNj zCR9S2lSF!Nfkd+2h#l!m=drL1-eRSt>g}bbUOBMx7PSP5h)6oiJtf@FLZ&u2;udGy9WM+e**9MBLqbdf_;Oq@L|Cjav*34qS}K zk@4{h50kW@L(I3HZ;rHSKFGHYH2Lx_-z=()t|-t>O6abAhjU(? zg8VxBrRGQy#@CO$Wr!8^S$)P`*3Z<@R%^jGZi9TvV1SuFoqz&uK?eQV+uM8uzeh29mUhp4M~AuZAWLGF|1&0TuVp+m+xR}$ z)P8(j=BsdSef|16{lJ1>V})3kSp->ok*GmuQ`42<+eH!jlBJ(6y7^}sj1DK4ET3Xn z^fos82{>Vq8@IyF-8xkpF4#s!D}Q-}9wQrObHGE}HbBdA1=!@p7qHo^|IVbCt)qCB z<-;uXaLeFT=A@y~X@))tI~(_puBEm%<^MfT#(2Y~5DGgNLA=yzclZdM5_XfVPqC52 zg7txg%R>XunFNZK)+Vr)7;HyHYz$FvA`}ibSt+%^XO=7h)eGCb#l$2mdVL@UtA0lGI`sw2ZryWmSZGh~)^p+IQ3*aQSz=@3 z+NyVRrpSCzsix`|mOBjrgX1M5BQ2~Liqedak6)*D`v{99l!=Oqhn$4$a9CScKa$z~ z(ysZblm;3Qkn;}YR{uhShUVm)ohNlrxDy#DBK%}6QCb&?p7inBH;2Uedwayi z0^r1@`=L$tw6ttI<_51qj7-*^_~0gO9G!ZPtw&-V*47M77>bkw*T0@$T%DsN#FGF0 z(P8G#jk-?n=5OIvA13whl5vg$_lQ=Oi=Mfx&Prza@(<|#lz>K98ZNK5 zp(1$~-y1y0=Igh;z4|eUBInmHBajw1<3jsjZ)#7!AFe~21-Indx_=d2S=Bo}mQf}e zMr>D@Qlf)NIT>5A934^9j{npPmQPRLTW0w&X&5Ze%lm#rweX8GHJySQ=!vXd-P=sv zaFyL@ciA5^14~~gr$EYq!EXsT5gu3z#`h)_)mxxXfY-7%uf*+isF%AuU}j&^sqgCV z1*r=?5T4;6mXcy>xv`oA5CvYNUs=(sZ=AJngTU_o{tdc+(;S_RGIwY_9=$Q<&V5PB z%G5QWQc#EkzI<8h!mi1y8Z$LC%t&smNc~fE^-o{F$YW4k95vL_^Ny;n6^nwxdwS zPC-T8&wqQ@MN8|w#au&2Q9N~h0UZqBtzd1vzRt=Cd>9cRb@S%lTta7O%PX4gkX)OF{v@1AaM?RNX;zOF8bG2!cidh9~f)dxnr{)8biEP(+5Q0SH(E#2-Q z*w)A~zoUD@``YCN$9{{{?ylU2P_bc;pJLo?h4pg78*Pain}pF7ftRGz9*1x9k4rgZ z+66}VuQKyoJr>ntR^68(UM*iiu-C71agVp*TwfMeOR}*8L`5S`ZKFx%gD?k4C@iYS z;p*x<4O0!tP{p|&zQ%ZXh87U692ehUz6p(99%bn8z(&;WF|hz8Qj7RLl?JKP6j%ad zW1YVaUHuISc}-s5$^mcpp=PU3+!U`5(9&IF=?}z51Oww1lSh_ZqmLM7&ple$*?!gM zn47&t6@WQ74o~ZF;jrMhZ`nv$fNIF6Pw|(!fzno*g1MH!)>dra#Dsxi&!!>rH)f%g zS9%JMiB$NYV(w$@gj?;Vrlub-Hc<^BD2v&zlLsp zT+LT{mh>Q?hWTVM0{e9<;4zF8tc4pIQfw`>oSQ#=-tMyH<>Y#LR-VuoEeK%jsjZBK>g%1q=)UY+8T3K67uZ(OGm@Y9S=eYXrzQ&Z5F9ts zToO@PA*g-jI(QLj_LHLXpO#F=Jw(MWp0s!nu`9LxY?HSPO(KS)NE5}!g$Jg6FG6xu zme)~v>upboceJ#g|C#q7oy{{cU$R;SnqwR`F^Nf?0>w%%)h?>+y!c;%D;vPP8fEJ0 z$jD=)dYHwuPgtA!Gn<>7=5_%!m;E}zoZ1>ymIV(EI_pG5p|KDfB&W~RR3*x&76#J- zZ?LnIb@c^#r1(B?5f{=!@z~?qedh2Q37t}sxrB+4oc8FUY?$+|J?OKF}T7`9TF*;Hz0fn}9N-Zv4 z5fhAUkk`JlFL_ExSrNPUI*laH{Ir;%}NuHh-O%z~85nVoFM=v5GR^;rw1dqi6 z8LId9v53MNsiZ`k=qoL$11Wxg#^iLbkeoTkyLV*~rsky;$qby-R@bf-Xqdo&6%{=_ zvPwpwO1M1sTcYra9bXpB#a6~Uw~q#>ow0`cac}H+xYyk>=YxICiZv_hfMOsgS1fY* z`)WyNF%u6F2K_xE*^-!evHOTb8Y5)>j5;8X&Upv$t4!x`mJnsbN5QNAV9}=%UDj~1 zgoI}=b7c-Em&cm?p1p)TmZ4)=+Pson_V;#beH$>(#ry8B0xgw2p=+#~`UoFHVfj;Wu&&HHt^(ElQkiny;^k20FVN3Fmk>(lR3IOwX8va!;_yTzQM;={p%Q}FT@9*JBmgv!Qj`)?jbp4qGZlhv{Cl5vCYa) z88m#ZIW-j$?w4~xX(i1`4kgCDv$YPIYlvk{#9S*CLT;Ua0!9ua6oEsj94aSXf9|vEcl5 z`joe*tgO+?eU&P$ub-}P0WKDJ0cyQffM>=@chlo88k^=>G6Hcq@~miIy&ssjQOwKx1Y0(7M#`Iy*aGEASjtIF?>?hnYpw zp@y1fu}NeD(72KjZ)RTlIaA3`5%1)vnKJz96*gsJ@xD*FC|PBf_mMM44yc-}#2HD>At^vcmWH+ZZgKwu<(g87 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..b32c35258aab3cd8d50fbc488b25a868260fca70 GIT binary patch literal 3169 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 J0(0fwzX2qo;Y$Dj literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_hdf5_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..96d06d7430efbd7f6fbc5191f5d79b03c17a1ca8 GIT binary patch literal 5294 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..b32c35258aab3cd8d50fbc488b25a868260fca70 GIT binary patch literal 3169 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 J0(0fwzX2qo;Y$Dj literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..96d06d7430efbd7f6fbc5191f5d79b03c17a1ca8 GIT binary patch literal 5294 zcmbuD_dDBf*#5b25Gq;h-W$}2z`qJ_dT z`Hc#NmVZ7KcKFO8nkTlE5TG&;8UeqWKs1*j-Yd(ca1%LiQnyOo!@C6D75^U0(6UI= zP3oKh^5J`WZsuCTE;=rGN4tp!nr)kyvB;vQ(X=RzRICo^Z_DGAm!Q?zF~_4Q9IR4<2g(*~%~NmXNL>2C7~NxzYD zDzAL2qy3-k$B!XlW(o?~XJKV%03)ru{E4c8zI~IKQ(v!~d|bESNWlD;5K!%XQ8xC9 zs)<}{YeuG#qqDrxqkmsB!8SIZp8|D56qR`b0^;K-;u9W%^&hZeFcgA<92}YXDPS(f zw6q6KIH8Q!UJkd-bKMjvt6fKu_>X5iJ=BzqBh}>O?j;QN%wnpY2ggyz88kGS=L^op zpJPUM_Hxv=atC|b4jRH`XsKwa1O@-w)DZ@ja+tX{$*X}3sdWvh(Ux%Y?BuonS*-1y zNxVs9tG)IKD+-mCeuInt@UZ)iM&H@Khnk$82_27$_66%?oS25w=}CFJCMt)U>p?=o zkjKNt#krLexRQnhzPr1!(I(tMvJzvhVs19s&yQ=G5UbmUz|fU7QzM`5DyfU(TLLRs zbP90vw^AIGl-`e2yQG2{nS;04#KeR}$0w1X;B0Y#fFrNs89ia9_4ez~G>B z`#n4W5TEFaJKfzrzzdk)N0k}Z=1Cq=AkG~#;akB!@%`CWlzX$?%l}531LBjYdU_u^ zB+sUSFG%i9Y}`Y~gcXI%LY=XVk&8b%-&Ak)IKaksD8_xD-o^{$?;cM(?aiA!VAX{R z^FRMq>!M9PyEA2D_j{|9MLx52c=gZtx0s&^6KujBG&&oi%M`=hv=!>Rn))vDfH*Qm45bc_C^P~+GK-fW9V@{)@H%yM} z@Ejj;%sb%d1TsDJRqP1K#Tn@V=$K6v#8cM#y@qM2qN9h0=}qEZ!Tm}*i%)mGlqO~d z_NwEnwJ9B(c;w`Qsm?3t-eb?JhRnR`%O}t%M0P1RkF5g&Y{tY`{^_nQL{z{J{?OJ| zTxN{QN<`!m^&B8yWov5_p(Ic&=NHV@Ryb*+>|gRRmKX@B77$B53Nkh>uLG(f0_Mx> z`d3S8(uXZPJQPFp4O&CZ>o%SP8fNT`jo;^E|H+a3xgj>6J?V7yDgRxm7z-sa1EAi) zmx}fElnw8>8Zd*y)UqG8_j`RsRJjDiQ}+Cs?;J`E9RE)Ea4xv4>gV&iQv7T`y9~_8 zbd48MyM7tk{5Y?6!1N9O=D>{$4yZ}S+jk<&`3ON^5);pJ`i7&Ry|DWKz>!Mu19J>U z9B48%Sw3X;|Hl@Esw~mf|1b>+J*%d5c$igL2__KC#0Vjkd;YerwSfyi>cTeC9_uM9 zp)3o>|6L>;12F!|FM`x}MW3{?! zU!!^TC8Wl6(H)AaV??vug?dOBN1@W=8sN z-r3&1;(5|=T%)3|UuVSg-<#D-uDMb|l4+l1A=N7vLCyYvfq{}%#Evi68W6U(@`~ks zk*N6fY>;j0Q#oofIP74$gMqQfe_H9ymd~|} zMYH>-<(I;uzPQ))aj&+wNpXUs{FpaRu06@<=#WtNriQ@6m5Psg zbS>H0?N{nzVsU5*yNG=y7TkO&dtPcHZS+ZL6w}X=4MIuwRLY34DSd_(?E}Z5aTGNj zCR9S2lSF!Nfkd+2h#l!m=drL1-eRSt>g}bbUOBMx7PSP5h)6oiJtf@FLZ&u2;udGy9WM+e**9MBLqbdf_;Oq@L|Cjav*34qS}K zk@4{h50kW@L(I3HZ;rHSKFGHYH2Lx_-z=()t|-t>O6abAhjU(? zg8VxBrRGQy#@CO$Wr!8^S$)P`*3Z<@R%^jGZi9TvV1SuFoqz&uK?eQV+uM8uzeh29mUhp4M~AuZAWLGF|1&0TuVp+m+xR}$ z)P8(j=BsdSef|16{lJ1>V})3kSp->ok*GmuQ`42<+eH!jlBJ(6y7^}sj1DK4ET3Xn z^fos82{>Vq8@IyF-8xkpF4#s!D}Q-}9wQrObHGE}HbBdA1=!@p7qHo^|IVbCt)qCB z<-;uXaLeFT=A@y~X@))tI~(_puBEm%<^MfT#(2Y~5DGgNLA=yzclZdM5_XfVPqC52 zg7txg%R>XunFNZK)+Vr)7;HyHYz$FvA`}ibSt+%^XO=7h)eGCb#l$2mdVL@UtA0lGI`sw2ZryWmSZGh~)^p+IQ3*aQSz=@3 z+NyVRrpSCzsix`|mOBjrgX1M5BQ2~Liqedak6)*D`v{99l!=Oqhn$4$a9CScKa$z~ z(ysZblm;3Qkn;}YR{uhShUVm)ohNlrxDy#DBK%}6QCb&?p7inBH;2Uedwayi z0^r1@`=L$tw6ttI<_51qj7-*^_~0gO9G!ZPtw&-V*47M77>bkw*T0@$T%DsN#FGF0 z(P8G#jk-?n=5OIvA13whl5vg$_lQ=Oi=Mfx&Prza@(<|#lz>K98ZNK5 zp(1$~-y1y0=Igh;z4|eUBInmHBajw1<3jsjZ)#7!AFe~21-Indx_=d2S=Bo}mQf}e zMr>D@Qlf)NIT>5A934^9j{npPmQPRLTW0w&X&5Ze%lm#rweX8GHJySQ=!vXd-P=sv zaFyL@ciA5^14~~gr$EYq!EXsT5gu3z#`h)_)mxxXfY-7%uf*+isF%AuU}j&^sqgCV z1*r=?5T4;6mXcy>xv`oA5CvYNUs=(sZ=AJngTU_o{tdc+(;S_RGIwY_9=$Q<&V5PB z%G5QWQc#EkzI<8h!mi1y8Z$LC%t&smNc~fE^-o{F$YW4k95vL_^Ny;n6^nwxdwS zPC-T8&wqQ@MN8|w#au&2Q9N~h0UZqBtzd1vzRt=Cd>9cRb@S%lTta7O%PX4gkX)OF{v@1AaM?RNX;zOF8bG2!cidh9~f)dxnr{)8biEP(+5Q0SH(E#2-Q z*w)A~zoUD@``YCN$9{{{?ylU2P_bc;pJLo?h4pg78*Pain}pF7ftRGz9*1x9k4rgZ z+66}VuQKyoJr>ntR^68(UM*iiu-C71agVp*TwfMeOR}*8L`5S`ZKFx%gD?k4C@iYS z;p*x<4O0!tP{p|&zQ%ZXh87U692ehUz6p(99%bn8z(&;WF|hz8Qj7RLl?JKP6j%ad zW1YVaUHuISc}-s5$^mcpp=PU3+!U`5(9&IF=?}z51Oww1lSh_ZqmLM7&ple$*?!gM zn47&t6@WQ74o~ZF;jrMhZ`nv$fNIF6Pw|(!fzno*g1MH!)>dra#Dsxi&!!>rH)f%g zS9%JMiB$NYV(w$@gj?;Vrlub-Hc<^BD2v&zlLsp zT+LT{mh>Q?hWTVM0{e9<;4zF8tc4pIQfw`>oSQ#=-tMyH<>Y#LR-VuoEeK%jsjZBK>g%1q=)UY+8T3K67uZ(OGm@Y9S=eYXrzQ&Z5F9ts zToO@PA*g-jI(QLj_LHLXpO#F=Jw(MWp0s!nu`9LxY?HSPO(KS)NE5}!g$Jg6FG6xu zme)~v>upboceJ#g|C#q7oy{{cU$R;SnqwR`F^Nf?0>w%%)h?>+y!c;%D;vPP8fEJ0 z$jD=)dYHwuPgtA!Gn<>7=5_%!m;E}zoZ1>ymIV(EI_pG5p|KDfB&W~RR3*x&76#J- zZ?LnIb@c^#r1(B?5f{=!@z~?qedh2Q37t}sxrB+4oc8FUY?$+|J?OKF}T7`9TF*;Hz0fn}9N-Zv4 z5fhAUkk`JlFL_ExSrNPUI*laH{Ir;%}NuHh-O%z~85nVoFM=v5GR^;rw1dqi6 z8LId9v53MNsiZ`k=qoL$11Wxg#^iLbkeoTkyLV*~rsky;$qby-R@bf-Xqdo&6%{=_ zvPwpwO1M1sTcYra9bXpB#a6~Uw~q#>ow0`cac}H+xYyk>=YxICiZv_hfMOsgS1fY* z`)WyNF%u6F2K_xE*^-!evHOTb8Y5)>j5;8X&Upv$t4!x`mJnsbN5QNAV9}=%UDj~1 zgoI}=b7c-Em&cm?p1p)TmZ4)=+Pson_V;#beH$>(#ry8B0xgw2p=+#~`UoFHVfj;Wu&&HHt^(ElQkiny;^k20FVN3Fmk>(lR3IOwX8va!;_yTzQM;={p%Q}FT@9*JBmgv!Qj`)?jbp4qGZlhv{Cl5vCYa) z88m#ZIW-j$?w4~xX(i1`4kgCDv$YPIYlvk{#9S*CLT;Ua0!9ua6oEsj94aSXf9|vEcl5 z`joe*tgO+?eU&P$ub-}P0WKDJ0cyQffM>=@chlo88k^=>G6Hcq@~miIy&ssjQOwKx1Y0(7M#`Iy*aGEASjtIF?>?hnYpw zp@y1fu}NeD(72KjZ)RTlIaA3`5%1)vnKJz96*gsJ@xD*FC|PBf_mMM44yc-}#2HD>At^vcmWH+ZZgKwu<(g87 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..b32c35258aab3cd8d50fbc488b25a868260fca70 GIT binary patch literal 3169 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 J0(0fwzX2qo;Y$Dj literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_periodic_hexagon_json_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..96d06d7430efbd7f6fbc5191f5d79b03c17a1ca8 GIT binary patch literal 5294 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_tri_beam_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_tri_beam_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..1679bcc21073da19c0db2fd0825fd13b74319e82 GIT binary patch literal 1110 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l;cPZ!6KiaBqu26kNy5OBRH z{@nig4^@p@zgqIjUR{e~wulMJDZ2apFO${%SL_GMlv-wRD5^PibP6PmGDpLKhKbM=`q`>}J~>(cvXxnZ+kE7zP+%~^N%j_kw9dWpqvpFQG`FXNn@ZNA;@ z#~$w+F}rsf9deI5^z7EzT0y(7LT19f3gND$uA=UmE0H%lYG?ym8_pB50z|tDCoDd`6;7QMroUmTuc#4mE`B&JNG7&_UWVzUw>3J zFX}ja_=s|Ncwvc1dV1jX+3umD`uc^HlGW8fRWH-8z31iQd-T_KHlx|Jre|>@}~Szp(r3=-3#SBk9|JeVaKqv9xHl-T9u5ybV>Q ztLxQ7b2omnxp(i9bjrim~rlIIfmuJibq^H3{1(K9nW^gE~QNqkld&OH|GM^eok>eQKgbN&@>oay81m-*jPgg&ebxsLQ E0KpmbUH||9 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_tri_beam_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_mfem_2d_tri_beam_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..647c9d1094e0bb00c6e8d79ca490d30a09fea461 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^DIm%pyp z`~Kgo;c@YAY}lfb`6)?7VW#HxUv-mo%dPL`Z9jPa%z3#Fen+?l8#Fs&HTT%V4?9%X zKQEA2e);dgwus}8Bd)J)j=Q<5@A1cf3C?RWr9RKE>waG8b9s4lx^AU=5-SAWPWt;+ zTXvuA-L{C&Hq%ls&l2CR6aTMw+5Pw*g?sx>r@r~lKjZ7HbI&*4zWe=_!0Z1X8~Jhh b-j1Plo>HR8=l)s10A}!X^>bP0l+XkKo42aA literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..0316570da1959a8fe45830d8400ebc219bc2e906 GIT binary patch literal 2432 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 uY0wOCxhVrs7I?D%Upf0OYX8q?W&jeC{l?r|vw> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..0316570da1959a8fe45830d8400ebc219bc2e906 GIT binary patch literal 2432 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 uY0wOCxhVrs7I?D%Upf0OYX8q?W&jeC{l?r|vw> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_rectilinear.root_plot_2D.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_rectilinear.root_plot_2D.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b89b996fb0f316e3c9e20402d31e8f2ae3dea6 GIT binary patch literal 987 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIuo-U3d6?5KRbIdyIAmHj) zdf~6X%!@k;9><<3#%#Uz==`J1w6gCER`y>Rev~P-%-~Q|bL!|6NE*(}blV52#$TJf zpIL0XSI|25{dV(dyEq4@zkyB_4d&nRPBZvz&HBBcKPoHR;Tg?!Xh TuSPatre*MS^>bP0l+XkKP|H9H literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_rectilinear.root_plot_2D_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_rectilinear.root_plot_2D_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b8e85f72e8022ae81b6b2dae49f98ad8865e7971 GIT binary patch literal 765 zcmeAS@N?(olHy`uVBq!ia0vp^DIm?`&-*& zWG-xbbw{%&VS)SymU%COdCw%c%P(1V*PDP?CN`H;PBU~CAn7XfpgX?3BKTF zLm9W&`!Hf2ck7-V zl?OK^D(Ai1Vs*qyK7Q|={?FgMWcU1Wde8ZETFsGf!tdiw2A?(-yB|@#@LX(eSdHB0 zAHOE*yA`JH7dfJ>E{8_FVdQ&MBb@0N0LLV*mgE literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_structured.root_plot_2D.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_structured.root_plot_2D.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b89b996fb0f316e3c9e20402d31e8f2ae3dea6 GIT binary patch literal 987 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIuo-U3d6?5KRbIdyIAmHj) zdf~6X%!@k;9><<3#%#Uz==`J1w6gCER`y>Rev~P-%-~Q|bL!|6NE*(}blV52#$TJf zpIL0XSI|25{dV(dyEq4@zkyB_4d&nRPBZvz&HBBcKPoHR;Tg?!Xh TuSPatre*MS^>bP0l+XkKP|H9H literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_structured.root_plot_2D_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_structured.root_plot_2D_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b8e85f72e8022ae81b6b2dae49f98ad8865e7971 GIT binary patch literal 765 zcmeAS@N?(olHy`uVBq!ia0vp^DIm?`&-*& zWG-xbbw{%&VS)SymU%COdCw%c%P(1V*PDP?CN`H;PBU~CAn7XfpgX?3BKTF zLm9W&`!Hf2ck7-V zl?OK^D(Ai1Vs*qyK7Q|={?FgMWcU1Wde8ZETFsGf!tdiw2A?(-yB|@#@LX(eSdHB0 zAHOE*yA`JH7dfJ>E{8_FVdQ&MBb@0N0LLV*mgE literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_uniform.root_plot_2D.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_uniform.root_plot_2D.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b89b996fb0f316e3c9e20402d31e8f2ae3dea6 GIT binary patch literal 987 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIuo-U3d6?5KRbIdyIAmHj) zdf~6X%!@k;9><<3#%#Uz==`J1w6gCER`y>Rev~P-%-~Q|bL!|6NE*(}blV52#$TJf zpIL0XSI|25{dV(dyEq4@zkyB_4d&nRPBZvz&HBBcKPoHR;Tg?!Xh TuSPatre*MS^>bP0l+XkKP|H9H literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_uniform.root_plot_2D_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_uniform.root_plot_2D_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b8e85f72e8022ae81b6b2dae49f98ad8865e7971 GIT binary patch literal 765 zcmeAS@N?(olHy`uVBq!ia0vp^DIm?`&-*& zWG-xbbw{%&VS)SymU%COdCw%c%P(1V*PDP?CN`H;PBU~CAn7XfpgX?3BKTF zLm9W&`!Hf2ck7-V zl?OK^D(Ai1Vs*qyK7Q|={?FgMWcU1Wde8ZETFsGf!tdiw2A?(-yB|@#@LX(eSdHB0 zAHOE*yA`JH7dfJ>E{8_FVdQ&MBb@0N0LLV*mgE literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_unstructured.root_plot_2D.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_unstructured.root_plot_2D.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b89b996fb0f316e3c9e20402d31e8f2ae3dea6 GIT binary patch literal 987 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIuo-U3d6?5KRbIdyIAmHj) zdf~6X%!@k;9><<3#%#Uz==`J1w6gCER`y>Rev~P-%-~Q|bL!|6NE*(}blV52#$TJf zpIL0XSI|25{dV(dyEq4@zkyB_4d&nRPBZvz&HBBcKPoHR;Tg?!Xh TuSPatre*MS^>bP0l+XkKP|H9H literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_unstructured.root_plot_2D_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_blueprint_rz_cyl_unstructured.root_plot_2D_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b8e85f72e8022ae81b6b2dae49f98ad8865e7971 GIT binary patch literal 765 zcmeAS@N?(olHy`uVBq!ia0vp^DIm?`&-*& zWG-xbbw{%&VS)SymU%COdCw%c%P(1V*PDP?CN`H;PBU~CAn7XfpgX?3BKTF zLm9W&`!Hf2ck7-V zl?OK^D(Ai1Vs*qyK7Q|={?FgMWcU1Wde8ZETFsGf!tdiw2A?(-yB|@#@LX(eSdHB0 zAHOE*yA`JH7dfJ>E{8_FVdQ&MBb@0N0LLV*mgE literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_0_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_0_05.png new file mode 100644 index 0000000000000000000000000000000000000000..d85a75d42b88837b4d366e5ce19e7714a04621fa GIT binary patch literal 14591 zcmVrs z?;e|hkL&EJy?52Fa+QCa~gtmmuuD9KWyJ_97miuabi1s+WG`etc|z70RRlZ zNPpj_t(RZEZg_6biSAUwhs4|e0>GGd^$Q2GjCV`}VFXSpu8Wg|2gchM09?}u->!Zk ztrJx6N$3_%Hm-n^gnP%^R{#@FW+DOj27oDBz%*J8;DgniT9_J{%u&k2lZ|WPB;hXb zhKXvQfc{=O_`d^L{vewoayM1@n5zZ!bAQ90Dyk}hxzvt zS?#^uD3J!nE3RyD5`xeV3JDRD#FLHHagwky-tfNx06ox=U(A8%7k_K-b1z^f0H%ag z9zUWa1Yuf0JP=d%ws4D%TIhF%aO&bDVF}*w-vIzGzzd;SKNmtG;Z**KY<(eniAvZ5 zl2Hnulg{Ns4he@~RU#oWIC-+M7$*r;yy0!;iN>o>63wRHuAUP5RQw>PIQU!==?C2q zrK_VH9kom1X{HwA*-7{}cmq?2asDT(EWbXN$7|=?K?8| z0>JxiM+@IzqUgy+Bc6hU{}XRu=`r^kj9X5^F=l5vvS}oYkn_biN{vdWgio(D=@+*= z=V~8hb$(*z-k_a?(bbcRNjwe-|1aL?prWb}a4g85ajy!5ggOXgvItuB_tlZ|m4jD)|#8+^8ip?LUAqZ}K^*6ZA?7`6c5 zNXV!dkgy|so5=QJ_;q_}d5h^(W-8t;k}z|sNl6GsLeU$9&&-L0ZXk$kTr7!h;bdcg zeUk7Ej58qKkVZLiq&eGCR0zsRE}j|*$2(iNc^TKkpnO`cqJ+Ib!ogp4J|WNbQxcA3 zt3!b>rdCfjPS}owe|Q7@*&jlBj8k!lPVUaOy!yKbRHV&<1uWbqr+X3=@2kux74j40XHGUYMq?8G-P>&;7;oI{`sA-l8aR+m z)U|`2i{=)l7?KG#jrT#~nV>!uxs6Jx*b&N65{jlNmra5j346aU{GPhvPCqA%U?jXp zcX%)8Bs|U3#;8HU|MPZR(2OrJUk!h}_2KXv*so}gaw>9JS5d z^^gW>xIA*7(3iM8CG2Gq3jJarVSz9j+k9>|no0OS-fjz8;#y2uzs%!}$^ac^l#uXv z$VnIsp*R((fg0FiAUq6T=m{$bAsK~}j;l22qUoXQ4&IMJkMIkgh0);y7=7;%Ju^oG z_tNhXm!HTY%xR`pf=|N#_6Crdy7vbO2uZlJ18FS1%q>TrTLxJr!pP|de-w$7(+pJ6 z@&uDjTVN(4k2eyILXU`sXpr}ZKT*vcAq!vkM5U}@MXMR ze=s>wF@(>_fP~XU5*_pW<9?n+Bqh9GYVUO!m@v{zJxcl0-b}@VvXPAXX@qvb6?h@5 z+*}=5{ob!h?@B)p?cSd|Kg|pM{LA55P|(k{rXkS<@xGNY~8Ava2w#lAt_ZpYI;+*-kD_Kx=!L+qC&T;hFe*z5SPWJRB9-hn_}8 zCpvg~sX|bbR&aO!WhQ~U!LC7i&qOvFs5nZD>J_FrbpEAu{(_Nmynf5=Z2I49#OI`}t+ z-m_k(T#AZ;h-u`$aBD8o;qoW?Y6!8+Lt8l6KJs&_POt1F}eE8+ZY`9Mtti~I0v{+B8Q5pU4)a1HXhKU*j2|56gVN7aJ3IuCk43F^debexLzn2olHG#030a9(i_rJg)mcgc4b z!8(HXOOkThJj~!-{fOMGj%56Rf&zb)pk&RI$)Qmk1nl~7f1dig%yZ}k) z_-W+FYxcO6wiXGoKs}WK;Nkybm8c;lC4huPxM<F5Lf9%G!z?oJ+ zPR&L|w#OJ@XYvMYT{iePH==~jD7A2@A{C>Vj3uhL#8O?zNh=u!?k*z5 zGzU95Q7(*j*D(?RK8~4M`)}4$v#4Wy)9h83y=Xy2vn0B6hce2GspzVc3Tp1&&PjUa z-QX^vz+KeTZ;2izg)u+fpA<%Zv?G|QpVD_Y*qY@i29{?sX5$Wl6qh0;WK+T$OgW0E zM8&%DXd&m#MjedqVzCTb^w8~V3*JEReXVN7Z%@)pT_BaU*qBnntn&+qp>YiUI0{O% z)|y(U+NK#TsK}A#+ea=-6?c(d?fAodi7jN1?`sxDU<>5cdW- zOP3IjmlRPkGTiD?aiIs8wGcHC#VfY($}WRqvx|k%LZszpY7Sk?LO8X3LJ?dHX+H*3 zTu3}#vTIfB3Ix-^O2s=1Ig5sQ=BvW10=hO3Mu*5vYGJ0%yW|SvDkP-fN*EMQC0R}& zEy1nu#=c`vv6?Fwz@~~I7i_0fb-LCQ#z+V4(oD@EVHF#do1nY|(oKPxNVb?wtcB?e zHlX552`2~hAS9=yyNm9Wv#3~$t}TU;B66Q{Vc>0?jg^!z$LJs7CP3sEXIwNc}Uq*WMljdhAh{HE9$h+yuNg zPb^Tyu%y#B$!JAI-R3M`7{Zd;RIIh2*{E3bg1^`)x$&DUFal3h+y@CKC{uK{b&AX= zPVJZt3aMD~3{CX~0K{E%Wqee&hH)k~3uBg)RWVb|M=T;?b)(c_WC3$5wN7Itw5h#N zu_3!Grs8gdF@iS2C}I^e)kea|0g}#AK}^+hqa_;jgZC%HyrzsL8R63mDh5-^YE-;q zEN^PBHfn8Qj4xC-Q@?w4f2e3T=4ix#tYV!etHr{n(R4*l_!R1G?NLBQ=_xjfigLP) zicPTtVML0JKYqPcpuaN+3CmutZwh{wp;)IVbriK7TV^sqhG$(>1PmdZCaM^}_(vB; z__ys(VwB_9jS@ycB@uG}_rOr*C?ZPEf=ota>wMN=>RyYAV*A3vn9-&ruuk9Bv{8-N zLKy$#^?u}h19brjlNV6n4Mv(mk##DbMy?TiTj&z?<*jn13@Q$JR5Vu0Cth_MHJ4qR z3M0kOUhj>S5|1K9!ibGpi(~e7s#~X~YCU=Yl3SRhVt)7(i&arhMQPC?jJP01&T2MdbE-obAT=@B?q(64bHxY+1M=7S0&bCew zrQ&j(%!=70x6T!oQ&DVWUij@oF*H`I;Vx2i`1~W%l-7yIpyDA(IN=j8h*Z?9Q$!ub zDms}Pvq^59(U^)$sFmGpj=M;3V;vQ`0_!V^0E7614J1j#V(au) z*m;GKeZ#GNtYv=wI!vl~RjG&^9ZPQg(JXZ1?XWwb=*CnDcE z6$-mnj^dzG8c|iu58H_Q8j1Ro&-X)A@|z+INs?z@>@wmoO4#S$1VBl1YOCl{? z5}tv#&?uvtIka zCvlt^ty9Da=7wITbqYeo2hx7U**46@LEtoUZx6ST%Mjf_L>uOUnnq z7SF74Xvsj!uK_a&4;yzWMuLjP*6H#>DEBW2#*lOS{HIDa5w+Qv_N3;1Yv6MkIksz4 zZ55wz$M))?*eR4tOBeRBnsgVAfOVmdy9NqbyuG`)(^0sLgga)JLvr@rK6XkACAaYQ z8I++YTe>%>RE+pMkC~&tVMm|A-x}X>(-hlSr=NeEcjiJn8zIBm+)@>H!`S&|eZu8} zw>P!YZccaw$X+69Sf@}~ccWZcKd(hO%W>@Ia*s~0ms;Ez{LX5ugu9`!eUdJD6@xAh z0N4YixOK(n?*UZm^}#n{cL`J0(MrXAjHF^HNkWtlhj#4RN1XP1&O_*u2-Q*i{OPuE z|6L8jS0b(0fYi5c+%6~4;&B;Uu3`(Ha0eW-U=po_B*LTL=NGaS`rI1z)k=&9G$T=?j$k zXr_d_@dlS;lEi=H);FJ?c%njlE_(|kpE9ta2X;oqme|u-?qCcp#&-Sr2)!p^^dHc> zA*-KPyeYY2H~=N*x698J90&F{baJo?12?9*K*gOQ>-0!(?nwzxJR>6JrZhM`D(+Pe z<6x5+JG13NS1@5dswrhe?(m3oSHBnku&r*Dx4sb-^&}y7G(DUsM$6z@Ssne!^8)BY z^hU*%c*` zh4~Cho7_IMf0IW6VZfB2UoygWH@`k54mYWpV7scZuV$}ReRn>B%P$}Fj_nm~G<3mx zy#>;@aNtFcSZOp?q+(OdU1_`Q7G}yRo9)owZ)`9c8})jn2W67T3}I|V#pI!zyvkI| zwcE41#nF-9MW}6$oD&>Co_*_q-3%@1*7N{yxvYC4&xyq!T{Tj*HUnEQI;snTsq zg3B*~?Vp%AQH*|@FaH*!XsECFfo*$s-agqxu9-BVlkl`Nn_~^n&@%K-{a+R7SD84p zXW6ohk9`}Wb|32?EEeoh=Iuv?x&L#Aw*N7x5x`J?e&4Zuvx9+c?j7k|lRIZcgm!$Ro(DS#{4Udj z0$$ZK^s;&|bIhOS=pL}g-2FLu3P?sfb9!ycPoRW^dmJ$BP~~cOU>ZFRiaWDG*oMB& zn}tPhQDlwDr%iI~^QzaiM;kvqvi0{}tJ(?v#Uz_PZIqp0qZ?7>y}>$6S;*p!OA3-pe5NkZ&s{x~p{KJ4SQHt6|%@FYNs2W3|5TZ`8h{B^gIw*8p36Nr>oz(KTMm5TOTAgR%EzkxSA`eiz~5ot2NvJYo$!`n;e}P| zm*PzQ^G2xl3FAXb+HG6HlJ*Qc*n={f2J%dO-Glnajb7E7v*Olop{;~Hp3_R$tHw5_ zoZ+(TeVhY}|DMbPqK~YZki3QQ&&*UB_&fW`{Xu53Meh@?jQ!4#2Sk2nj=Oo=FcVeZ zim3Y@eWsl5EU$86b*xOk+K1bLicH9QlkivGs&Wm+7N40#ePiRhZ`!?iUwO*KvJ>A8 zuZ&py#j}krct!Re?Upi#Ps+AG=AqD&-v!8(=}I3QJp2&d8pn%7)&0PBvz)~0Z_pbV zSdc2rev6{DA$qhqb}v|{hg&=avFWX@`thVTIeLd?A9^~TLaYYyTeqqHT41sqdETpH zsTDQSC~YWV^+#PF5W7r|9;3H6O$^c;J^if`z%6;7uubbHV#xh$KD9{sUxT6dW%avy z4vITc;u+*8;N7kk@Ad9RBvw)UeO&6!P>-Lx4M9@q-Qv&vuKozfT30yT>EZ#I zGf;N+v|2&sB4iDnteA~bE$5OJcK@jpC#qows#q^e(fDHMv)vovfKNrPffim|q|G+( z5**=Cla=10*fF*+N^8tFXP_ekdyVi{ev6{)O@5Bu#A(`NEfb?+&0QeqH~WZb*5SpO zdNZEluQD~$!$-3tT2s5dVKUv3#iM#5@iKR8FpN$oOq{%z^mGj?sF*gnJJ!&Qio??I z?TCfnkDaH>y?3l5YUOCdQ@bJ^^i8R{Xm*XA2R~r@EVA>p8h2znh}L3%5Jg`Zm})*svl>d9yCx zjxYinrwXMmX!BUWi3&*kkr^W@f8}Y}(`p5%^hFs93g+zmYu-9pzfqWUbu2SVA0MlK zQ6>WZPQ7u&6eS6%Qf*w2F+~nDHX(7HebcM`SYIqR4u$x1y=BQIKXg1M4to z{71y9e1eVYic+6{*rFIadp_u3I0gfUoYhJP*|3o#pnY@*-<|mGdJ{hL% zR6KcY_9xt{qjr|!*?q!w^)Rrx*BEVe1!~3aiafZx5liiVH)iQu6mj>gsm(Dx-1&57 z&50wR<*?jZ`rE%T$C;Ham1F0=t1qL)wUj=$Ta5l>(}xV*wP$59m_0K`6Er0 z$hmqz%nM`1<{_ zBq7!oqeH%Vbp+Iy*A6nxHhX5R;G`GRZ$io(?JB(tdm5h)hZ-Wea7lx&z>hd7^ZPG?1EkO#^IqR)k-EPh2dLN zD1ElG@!xhk#;vRM2lfVkH4}}$A@&@gome%L*YYpFop=K5eJEDJ;^)*NNkXXRs2E4- zo{C+oz1FeWCmX~uQ$0x0{zJGe*=w``mYE8f7myq77I#9&D~%h=o&i^WoLvZp7Pc z_SBL6rLVMOj7QZ}DJ4>-(@;L3%L*lEY zQkg}z)*oG3FlgzAEeas+IHoG3uq;`>#UG;=QRN*21^c+dT+r?qz5u|8;TGTi3Vh%0 z$ObCbN}i$uEsfBISB;5h@e?!8mABAu_i90e59Ou>^U%ka+kF|y1HkV0rib4nfAWgd z-+CbQ%CZ5=UXhGfizf+DPC}YUJf>9SWB1qj^^3R4xks;{nIsRS|B>*0ZUMIlaezx@Kt zw4vO?Tmq?tOQI%>nUc7pD19wtopIH1mP10zi@8VB!>Xt~l79Gd|BGM~RYc1(I6f&H z0@KtX6|Gr<1@rJmR9yFC7991I@Tuun4?hsa1K}QJ5m!7A25J>>Yh;j&(p&Y~USg48 ztoYz)UBjugH5&<&8hA2r3I28tu1tIj?8YudE$v%m16$3A*1$r=Lw=02-Ged`lKBZV ze6xOQ|F9)$OgX>)0qD@rtp%(D;ogLZ*9W#KQo$Onfs@4LPtPniP%CL;@p&{bK`Bxs z%=$o67hOH^>)+g2*L%_fbob8}j1r?9xLZhsKa2et$rfr&QO%qWK5(OSnIs<4BQZ`Y%b#?c(Lf2GmVv+i zdjNNXGmJ}e9zylWv=~gVs;4MMT9Rd&I{4=`R7zm%A|(c%&Y&yw`hT z!r%T8Uw)4-zrQi?2JwZNfovMd0{!#7Fw2dSxnH|3mC@%J{!)Hk8_ zt>M9&-tIZIxuYyeLNp=a5`Ehh6~A0(3emtO*r*ic&Vh5))wj5a2qm#fXf(2^ z$JG@w1`bF_Vv!!Ke#`69Pt?*J&#)>9Yf)%BDvtLz@|=ezX0myqD0d+BMa?uYkV~S- zLyOQ^Hi1l|^`5PnuO)(2Zux4SYtDh%=Lt6omcH0O+B3dWYMa)W3@XL|JAV3z#aUuugg$1D+c&2HeIz%tc z#Ee3tB|M{b3f-hcYouP8B=JY2Es7mTqA`FT5xN>*WHXbnBK@?^xA}*^VPCaHbUbK0 zgtWESc{r~o57+@CI$D?;s&REPUBmzp(Sub3uUgHyr&Oc#Zb*CszVr9TmJH;+N(5zg zX69Zyd!JCbHI#TT7;3?)$U`VwwOAnC(Poj7v*;IwYNCycE~2{_gzOsOt%g^w?-?jS-e8Z%z(7l*X$oNc2EeCcM}8ZlZsH+A8G+mK|A~Y_oVuDgcN!U~a=gxos z!S@uTfn?+%47BX?c^GLneL5ZAZ$R&xoiDXrL=lW#qkpw|;hCVO)>%T|eFJ(zMS6@C zAu=#Yq&6SMS1$fnmnKJ>@%~%9{|4{B!TS#Y$ic+j9( za=N4cJF-Hz5ZvuxHBu+*SQ6$-8mHx6*pyxsckE|d*L4%`HCKplWPjJA^x>FXETi!f zdv&p`yPi4v{vK64H}#LwRsc3V3|1|A7;M!Hw}|Q*>@a>JOF}j9Kh_pGmV{-dX=2B` zXbpTXF*r*|&#Y;`jgiT;%O#_7TN1wieGb!_@etAojq?!F*oz+2a^zsu9I6rO#OE1$ zED82_3|SpuqUAmIW9bafOWXoWqM((m)A}TQ|24IkKknsJFy=1wozo*3SQ(%Y*Zdtd8@-l2A?1pm&tPt0Tc4 zj{(s8>56o;rbl74rVWuZn#ag@)dvRIgCKA36cpvcof%mIze&?rkOdf*qFqqaO4a!~9jp!l_ z(RtX@I)h(_cCPXEc(|QJR!$<1rM=vDoR%#lF^eJX!!R5w3E!uG1KvmToqYlxf{i6U zxg*ZQ#Hz-zputGz#+C4XJB9H!U*zbof~^iHU}?%U4JC11l&P7t*X5GehDyTMU->Ns z1jt%NbgPkvddpk#un(IG$5NUSkX9q6Y21y>GJqx2vPGfLvY)#wE{Oo}E%L$dnpl#h zsDYR{dgEc43|d?mULM&R9X~7ZFgQ@}Z;iJc_D(mV1F=g*magq0Qj5o^a)Y=PsnwoP z5y@!HDm*NJXq^_(HQ^Jk%|nf8kH^DBeHYY8yNE;La1xe_UVL@(6;0;ESDlJM)GQOC zg`rhw2J_h;lZTclfVdiroGvr$C(r3web*a!*w=IsIj%P14biQ!Rj>Q{`)|i}vIoBU zyOk2pJL#edRg;9UT*=)zH2Q&i;vs@5HFMQIkc=&dLw~YM6FfGK-m4*XSH`(s zj*D0`YAQvX?;Xbo8Iwda*3AK0V46-s9vZ#d_Te*lgn5@k{r!rgJL=q|1ildg0 zFrBn8($d01?lf-1Lsa6SJcRQ4E^T0t#6vR|5k{5kqg$h^8S$=ueksw6GLF?w5~5fM z6TwogJn3}okB9LHO<34_tKw9CZ@l+b(T}qT7>OscCBsF`JcQ5+V5e3e-Kwwl-R-Zz zsnb}0Ukzs*1(r;G(ju*ga&t7zLrCS^y9r?AVSKN8JfsV>5wT^uS}AoAktx{vG|9tz zBSZQS5|Uh^RIFo~_P1Zfu28Y$K^d_RYM87Ge8SwMg;uUzMx2MdM|Q?Tl=E~=?-O9)nb;xSqjvI8)`q~C{>(~OoXSVa#Pkr0ujMV35fB@cPyL4`^@ zj2ogF4~4--oFn70mRY2l^l5!h;pFSqbetH$-v95M}7vxL!-%}3B{`YRWsUrj{C7r^<*IXd36C#r!Z?zv|d4H%-m@DN3TnGMGA9J(;O{K z9`f>9JQR<@V59`CjAlGEr7n8Afm+}q4$1@;Ydk{_>zJlw^=@6vn=K5qXy96?>Jt_x z4|#bN9`e1E{@s>`wNn@IY7JdPHB?jC7VZ62+K?8b5DcFx(3hE@HGb(Xe4XQQ0)@<*kuuP1)Cb z#Zgz)WNkviJBrOw&B4La!cO;-QHWO5TrW3pE~QyNG0gQDu=W>UX(D zV?MFbbK&Oz1F5tDSp%&|n31%Im-F5UhJ;pLn}>8OUG0_fNaMUj2=Ym%k(0VGmYcHq zgUUnWQ54lOt#;^f|MOviPpIwgZj3txH;)DrYHoz4c9Ib7NQkH5A#@&!oonPF6doeR zL!+%|;UO;9b1CCfS})ib3AE9}w&ticc^D}_G7rTP=tfzu z9M{Z4T#JNpu<`K9T*NU!JkCRcyQWd%`4wWTelPMqolZ8AyT2;sP)0?YBq5sngv*nM z4%*eO#lxh*nZ?6MgBlO>Qx{pnXn(5a*1zMuX5=U-lu4Yp%In8FQSZ~0(VT=xCM{s* zr!iO>Igq&H{&_fW@WxC}$4t5h{bYk!KN6}L{34@^=%Cpxw+l(ETB9`pdZ80J(+1sS z70^n4h{R^9;wi1M*zN`IAt**}>l{lZRG??C1JY2Ww%{ z;C4n#R*q4=h~gw6RwLmZ#pdYNJT$I?@X!=8)mbL-x3-HDszQ zZTtijOy61ao>>bj&?U)56qS&NN#k9~yS^&6At5YD3!_eI57Xc=c_d4O+7WQe6+jO}3{&=t4Agkru!~C^v;_^dt5&3FtWnXQCjNc-%#d zn4njEG7D@`(K%d(jg_!Gc?fpzG#>Js%OeQ66%;h*VKj9Cf58p8&MV*xxgH}7E~3%I z1uKuch+0W6SJ2|iMkO2w4_!O{1akS+QW*r$jo}}n+W_zX`R%r3j{T_>wEM(oFKrYn z6jj9=m3o9 z=GJ;T%gtLshUyFMt3Bzvm-$yL?^!Q@^7_K-Cb~*GBKZC0_Y3V5+B+Y9wV>wpUi0$T zsEA#V5S)ie`bBDL+Odp>ukcM2orI9M6fpD7BAn42oC0AeHc)t+7(T=!iX~bL+~uLshe+fmCqfgiU<}EKEeuL|JSs~%RP57!-bt$v z>6gK)aQQdQ8HjrtbXRZzsK`RH=HTA|x5}eiLCr{o(XTKhCb3=`K7+KHtQl|fgV3)h zLG^JCE{u$y?n>qmDBZ4g>o}?vw7#Ic>J+|3%3aBH(b90$`cy0F{0@@rsmotTm(mP7 zGDjzC!%UeXaA*N$iF`tA=8J%B9m3c6?L z8K}e|bf#%H3)wwXGY=+etVaw^%)HV}R`*M+(9kXg=~DnCzCwQoVr_C0bO5fn{0nS? z-H{L$9@@h;sK&$Bj*O7NXXyl<&|jH#w9d;sS|WTCJxt845h@0wOY;n=e+Z9$0wHPK zg*b!=LN#O9K}dOqkr-*dGx#g2SJhYHC^^XYCt?^ob1zGSM?NlNTZC#cTl z`?KvCh%7+gwfI7pYA(93?P}2F_nAq>SX94?!N%8!01VwDN;J# zTM!IUNeS=ezJZES=pCwZT=725-4_TWn0RtSl(B74e*LV&?C#tjvrFCt7w|~w{~FkoBQbUihW|&B!uJP68hEP;j62_2N)GwI*&sjA+$Kni&RHU z3`!&%NZt$nvgR4;{vntW%7GcKgiHpJin#Q?2GW{ZefU!yBO$`T%;m@7_Pt@3DGClt z(jp9}vvM9q*YXy;Jee$^ry50X$VRx5U=yzyY@!nmjl%~En1x9>S>BaU`c$k5J<|}W z$rC}Na*o4&TDq;myR|(q;PSnEZ9Bvs12YuqH!Z{kt(*^GEl$JBBLRf~_2M*qQ{;vP z`kiGx^kj9;98R!CXr$gx)}+dfXs2tFk5GQ;aXE;%OxQaKk;}tmg$NI|ayt(rp;sTh zfn8O2NC`RU^n=es0Jh6chKcPrCLpAC=X$d0-MP#B?{GK(31Q@6vO|o1V1`8_6C)AMw0U(005gF8Is~9}LG+LS(&ZVOfaSe{;<+Suc8h zowN!`7$GR(w4A4hGlJ)|=*QYMXHV2au7vc15A#3?o|w6puw=dKCYoN4ykK!(z2MLB zG&qt^=untE)O-+2@-Qn*XgscjV*ilBu|9}fX@OI5!L0_3Tr>KDKB&V%HPgkH#|!@a zsThcZD&d4hdYE($;f>iaI;wenTqk>SM6Lvo3$+hJx!>ReGhhkt>pZBhej)S+*@8`R zU(vmVs6RU@#y_dG(9sGP{7XD54opI{egl}4Sj|z&r8r}wB$TreA~OjO=_8ZQA{F1L zKp1gR6BViG&cr~EkkRymGgC2}o$J2DzDpdNglPQ+@Lci=g>?bVg10CljP;+`7Uj|O z$u`^<2BL?KUD_KJj!O|e9CZ58&pPSfS)&Z>NJo6S;9uj!jKh-oT zjHS$kVxw9<*~WgUf?*~SHBGsJ$~PJHFqNqfvJSZ5-{J(rVN(p2|n3UiHbWRN8o}BPUPdENQh=UyhlfqPs~6G zmiGRR;&)i0Bm_@X5Y|D`L;Bq(C?rHw52@`MiIo2Gq~8KO8VS+np*CxZg6m`#(k4b@ z7ba6k2%fj_zp@D>wV?5b?xOjJZWE7`{`JYd8hAhwqCxV|nxYWR(cp`0aYr$(hhTXN zW`b&|g@8*uvce5iEj;sAC-=!@<2k_PJ0QMV9JREW-=Xqs{X{L7Pm zE%C4#t&0aIAu93k6+Uh3=4h89A#I0e3*&kS zz-Jw#Y~htzp^)hJ&rj}cgvTc#YVhzD9qnzb)2Kyq9vRV5u7~hQNLdFZTL_k}aH+q4 zc5-iPJOv4{n1}Z#W;mlF@f8}L3F-tSjAsk`1PKwBEyb2Q@MabXlqP0STUCG2c^2tf%0mybtB ze|B)v7?`yk%P5K=nShx9QYng`p4{6#o{NMi<)O(ZMCJ>G zv`*)5f|4x^!lwZAY~fE%`W*yMM?w_w(0hQJM_J;ZauO}rpwP7wL~g+TBql-irnKteG* z^TIZPXTv)7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_0_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_0_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..45fcd187bd9b9fb3c2285ba5fbd968ce959783f9 GIT binary patch literal 5322 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 TK?pu?00000NkvXXu0mjf0gKug literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_1_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_1_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7bc9e4766617bd0bed9b229ee3549e8f922444 GIT binary patch literal 5836 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 W=5uo0FC#|)0000 zPp|Gya@W81bAK~KMkI%5?u(esjX)wO{22uh2n2{f5>faK2g`_Flv($#bAcDwCv_ou76s_oN_ zNLXJtDi{o1Q~n?-Nu8)9pnMw+2!LOeFA(XHUeJ|CUVkf zI)E=M=TyQ}$YhRE4j(k`B@YNsAs;{e5dh!@^gurY@Y(?iX)X~_bvI>j#0L1eL;%Cr zfQ(;|_@J@6JRsapK7RT`;06HbfsXuQ!EZ?%I{+BS?<-*p3s<6Mi$e&49~1}?Q;826 ztIGqz%JT8ke+M98HaVh8Asm3QTOkyue9+Zh03L`goj1OoD`3Fy;lima4+u--Nj0cNb-NG~G46pv9NGcYyb_d1Ru?Sx4{dHagOPp$9mG zzI(<9p;M~C^mjlE!iSmKSSmpH>3@8jw>0A`9!LYxA2)!x1L3PL=t@%b!$SfufSH@S z&M^Z8MSZ$>OX)-Eq*20*W9LS1i zMVm#^ZcBgToh{IWgj>%FL#P!ab3)BP9sCp!4uj=iEQ8>ZQJ8eBQm2ci58aT%+cAKU zELEGUu_#6?5Wa$F&gHDRvEmReyDmPF1w%6g zg>cD0$9;+-49IB)s%UwFsm&mpHXFo>97pj6U{uGRc${!KH1=z?J!{idwFegVGzcA{ zP#|1arT%zs1whz{??Rz5w~#xgvHO1?e;<%~i`aRX?D zjnYWIF*Ehh4tND_WS5((Bg^0WIq6gBm#*FW8Qg9M41{F(>F{$-oqA!iThh8^*QNK% zHRgr&k|Rg zLE1ImS|IGKkN@EZcylPe`wI9>6Gn#9$avtq(VR4c>m;`Yf{vBIuTD$WQ0!E4TzapN z26iI+3|YvD_b#R{D1uy*cGy8`-{5{nmNJzWbbKwpCc)`7Xbi>&FjXmv?Uq0O#~)1D z-Uf~D00R->Ujc}q*eNP8IHV~_ zD2JAw7G@AFLTp8mk~XjmPHnH5Il^F@kBrx->3wMH<78|H>*6x@{T2Wqt@G;Z53Q;ti;_?Rm&wdHeYbc7< z5;u}L1F_^Bg*s~<6h4wsN!qAL>6hAykxNtm4UrSlX!?UNf_3Ud(}Y|}I=7!@TS{H7 z2Zl;0(f~c}ahw6JClSRaleFHHb8snKrzLraGYMc>Iy3*LXKSPwBXGw3H+HI1a-K(r&V4NfWF5a}{%MGmt;D>}^R46yTI5X~YBic$60MRLZkqVV8bDMOG# zGMdJ)B)zVvU0kWW;OdI;1abeoKaIAkM7LCp8wxhYN!IbF2as7d6soSBL-smFMRJ1|oh2w(lxn^9R+qBM_5yG-5MR35j0 zj^cEoET0WbC*nBq!|> z!7VS3ckln`_l5n6=PLt?ZT<> z=duOs)Tz*M`PDRGV3gicMrp87jAAON2*11Awc-{_b>0{YnY6+nxSK&X;$nvr<%-c_ zopydnS2k1Y{LT7MC3e1_W)g~GVE*vvMMV@vWhmZx4T2z{rMWeUoMLeudH<`DRE+#;S1?oGrJrzcG&)g~*MEa_{kYG@SD0f~52fmN zIpo>2!Cl4a^=rQo#R}>%6VBO29U>@#)juf(aME*=V}U}WU7PX8lQdH|sLEP2rZi#J z{SEl42LkI8-6(?W{#wpvWc7+iNbRoDhcM_#;;BifWLbYgUX%wbxn& zmUBll6`N^PAk@{JMLg?NWQiXlDgE@CTO;cf2^7b@P)x#EQDH_+L=mv8Mz>2uGv_Nt z3rO3|)Er#PTsU>+gray38@}P%QB;`41YS%lb_EKP-n9wEl|r$ZL_d{XHsabqF*=Dn zq!woCa!RgZYzQHeuSEG{^}JC!)CW(zpC&}tK(TNmDK@PLTQk*FgOO2_-V#a_W2Avj zX{P2tSZbqsD0015MH3?WFeIOiP=a>@-4Q6>N|+qXosis?K3#OTyxkfpz_q1fq!M{f zxnkfpPGcoanB?;nU)?0@lxspXc>1DpL$upg){1=;#ZJ7JO&f#VhT!9nxX30;Dn2lJ zOGqn5Czkpr6=Ot-bf!ongD_t7Hcg%QoD|6P#MXVp#~1VKWLc;5a>4S0J+$Jk8&MP+ zDLsoM!z%g%$dZWv#%gBd$mqFn+Rh0@k;91&#nJq@kq2iHik&<(>yM-rin`5NzA=O; zwNb3K5z$j-#mGf$l%}iUSZ|q7JODz(*MB4I7ugR^D=H|nna@VN3j>NJYiO!(03g#v zm&SW#Yl#n^PRxoiOO;hIQ_WW_f^fS!2B2A|18Y(XQN@%-?95|OY)ID%moBGKj1g(0 z7)9B|OtnE6xj@n-lgc1ir}~4IBk9ZS_2crVW3nE)W@qvX!9Qe1F}T^?P^9-u#R&hgeLIF6ms4m$C$huFFm3CBp$eQx5yd;9@x(>MYt}+hEMM3dGs=_{ ztkZ90im`0NC`Ty9Z@*u!lW(AIfG}Bs4J&Mh07c`p&B&NBf7q!yIlmM6#6BBE(&c&p zLmrC8Z2912DaI@mjdG}Br1JD0V1IsngQOsg*r=t98O!;K{5{<@C$?Fq#%whI(4z++ z5y*R>cVbC=ADgveykX{z(bVhA>er5%Te-Whm zom>7C4XQG^-F+I(UmeBx(MIZ2M-hH^uZ|g)4T|yocgWu!mw1~}Lj7P9S|%ys9iZr3 zyKFhvAQOr|r%AciX_ai#TDXWFhTjxMh8NLL47z~@MX$71HCqQja?-@|TTu+!qPmS* z%rF}l-v0%%8#V1TEo=W(Lvrgy7 zlC)0IfXQ5+4Wx6m4mQZQkc*;N$g=U{jmprNji4B`NZGQR4)4E7iqa^`(hP^8cu5E+ zc?a}ak$p5{GCtqaP;}}PQ52OcS4D9PTG_=KY*eWgX6opSuE6?A$(SlLVgi>+Z3r7Q z3zr*l@P1WnoyL#GaT1S)9qA@t!U;{G=Z?!IHX5jsUmJ|S7X)) z!P~D=8$#nWuj)EgA%=l`>$KLQD` zBkKYwg&8FX*#NxC(TltzBL5B3V(T=0w2K`zUe`(Fx>!*3QEQE2{OFc!x8)@s#q<_M zBrVJCs==y#S$0mS@M3eq_+$GD7$dJ@ps^+l664EdxJm@6+vso8iuf{LoLHXwqZmKh zzxQt6OkJ)R8LO=}Gvo52TnxgbjKDh$#efIYqOOab5*q@92;q7Zeuotk7cptYR~1D> zDar-)n~S0w=gXc@P7xk-QV+slHmF$&5nH#aq#ZWctm}|6N?n0v?$eQ}{()@}$um#~ zD`Rm`e`(W8JfcJhNy2k3x{PueO?b;6Qxgsw=e{$azS@>-RJA{*W~Ql8&O)pYVZ`sUmj zVlv1nT^yw-{_=O$QzE)aXspc(oUvMEGMFn;RELGdyo<-lkACfz;~t>#E1EJ-l!qMke7#I87&uy(bsvO zaC?CMpm9;tpCt~P7Ky<`5oFm~PytJ#Kc#&CtH3b3v&Qy|uy|9CG_||~9IJ_ZC#K6ua`dh2JH{nDB3I992#YP+ zQZlT~R$9?g;%SIo9#;R|=jUXmJCU!JiDD@H4I^ZFO-42G{kQP`TX_HN^oSvMgLC-+8)$B^ z?Y*kBgci$XY_WnOrs|3Aa{PDWE^POmt)`~mE=(C0* z*Mj-yDiEGS9i2f`m52p7>}u46Vy0(^?iR?#5@I)A!EIBo`&uIM^aaX%X{HHJGaKA4 zlS=#*w}1HX#9gMRnHh>?=Hogorv|XGwa@x37GKT;%3E;89@n04q4gvgMJMW69ih47 z-~g1|-zh&=a2?t5+PE&e=)i+9uN=>4AX&FZTJubr@FDjo5pz@OoF0m2)rWCmgBiQC z?TW5oz#c#=e@pR`uQa zh&+G)yKnP}omJW>&<*;l;M9#BFM7pFy|E&SO~t*+WXj#bOnIoyc0w$gpf@&Z^-2q6 zl9K7dI10t&rJKCURBMsiY3Ev^bmVuF)V4=1p$D3aTl>}lr|DYK$kYRfz1RDYYO*jDmcVJ8z+Vl;*hSElgWAu%``et9rHlm22W zT#Cjxds}Rl2H&@j)tMBc&j}xMlGf7gG20%I?)&#U-W?+8SDCnIYuU1lk9(LpcBfoc zsu4!M@??>X4={Rqt=B*-O2hVe8VyTIE1dKT-1j7vsLlEOcGDs8;Ds`=%sEZHqtE7H zaULt?_RsCw{>Pw307L!p{lxao2|D(sSDBJ0XZZt8{GjefPU868rVk3Zs`tKgRtskK z`G+}r2Jy|La|~POxQi-MZ<-$AFh5i{#V1e#;Sr99<3{l+wLO7p^me4UF{^6DN$Bgm zS>m6PS*5H#`G&^QJgMs@t%dNuCTZi2)WBT`zY`MGTY6mI(YUQ3% z<-Nf(%udM|$v$jBziCfXs8|VI7C){l=&ZUS&G%%k{Yr z>hcdZ3C#8yE@PO*{yfvzTQTz_ZN|u{$#UFawL5LShjw|KYDohQHabf8`m9rdoaisn z1F?p7K|(x&^)*C!@Ii7o=CZR~LNn{}9GnEwVxi2AC|YKH!CWQ7?)2O-pJ0D_Jo~vp$rugV^&|b1W@M#7INYKb)&V~b5tz7R>Yb(;{bEE zSAKVtv+CH!$Qi0#@8cXe<$L7^i{HEjjgz!U73bN^a!ky*3Bjg1o zzcI(tylt2%^}25LZy#okeJ6{nJY;v-|GSb^~5zeUm75WU(MdluQK506*{apX*4{rb$d=3S^=MT_@q+gW z8}J(fT1*lM`sgdQpnT zm7#0950cY6O933vJ}qW(kuux7OK^pyCOf@Fabh{bD6PTM!_ko;XZ7$`ev6{)O@1z? z@zb=I#y!J6x?IB&aKgXLW9%`_8oW4CZ=wmwSTQ?jN$7t#gZgtr?)8V3+)d2BZoU)w&nEq@+0F#+=0eL^P3;X z5zTQgz8NmN);#PR4ba_XG&nJ_m0mg0Yk2wL_91C$_mFFc$Ljv!)y-1%jlW96Ou@rE zQj}F!!u)my~M|IOObBy2ycrTuJJ=NsA!7yY_A%#)hvF9xHN_Y9|$c zd-1S8;a**8M=9=oPPnf=3}9;3+eoeI4wySOS7hPtK@KbX@U!(TiukzOR0mFrJBRr$ z9`cYANz0ypwCayejvK{;8rQj5@mU{7Y$=iAYtMj=?w`ms=Jon(@d+GR$>U#qyp&|w z2AbhiX*l2gPa293zr9PH*DzA;4d3ck`Zlj%MRj~WzfSuuwc{9K=$ZB>aHfwE?9zq> zU%%fLB*fkd=8|t-T|sJ$YZn=2o2^-E@%LWp{6Uzm(#xB)Ct z1w8~fe^;y`o7bsDf`m}bQPGc5@N!Khxy&1Yr@l}qRsQHw)yWZxP;A+NMjK$8sgPOc zWPNuxT&n(U@{35py26XOUQh5;Yb_IP@)pHoS!WBmxB;KM{i6EqZlD%K>XW4zB&_Fm zfA2YclE~r3#@dataj0(Iy>|Y~XK1+UDC?!KQYnknSE_JnZ=m(v3%`BWD_%sh8^7{b zo+fGku3)nzGRG~Hak8Oq54-e|@(W9*GK*}lKf1J`)6x%H6o`1@n97inZNd5@{un)^ zhuzX~yH^c2{xSMMXm1!^rt*imnSKF$qtayrF+7MWYOQC#T-b7%V$tZT(d{;`nAtsU zaj-?IJ<8pj2(QY7GzjRwzRWE(k_Eu-ch-mBK-Ir|cJyRndIl6cvut}sGM+6SBt$uc zG>~{Nc4@PEQiEcPKK%KMx69e1#Wquk7ygz^nPs>6yhU20VBkYALv7u>dkm@LI8!KtY+AHXt524m4uBH!9{qj(JjQP{W)a)0}e88LI zkQS&Z#&I=Gv+m+;N|wvC(jNe*`WD5}`tbHPmKuvj(NA6g|E-;#(DGvL)%0Oisoj%)^s>?w@I$F{ziwmcB12%BI!SqJw#bHY_#hPb z{g?%pdYbUA@vA3)LNp$9%mTI6`HGR6+D;{6&M-(N%-L(t5{neZjtfWYPDn~ivq6~D zfe!-9WNOtPF3y#auoM6`DE225V#PNSGrTphpm@oTakg71BS|tofrf9^ANSriRGP$__MijbftMtJxvnKoViz$3JX z>Al{EO!C8@i>A4kov08dZoeaduuKiv}e)tQ(&GERpn`9ar2S1O~htSPOa>ylX zb3fO}oWm^B6kZ^)fwzWRN2ht@wIcN!FmCLa8Kw3Y<>V;7d;tJ-OC-4?m_;}Q%j33f zQ$)$s6les)EHFyrrYZD5VyU;rCWk)qcI(uZhOz_+(FDRR`t4LGzPv67Q3AkvrKs+l za8_M@%M=lwO4K|tkP=hVJk4wRs^#x6&_qck7U_e7KIl{{v#3jRW`M=e=j9Gr^DPn-7WyFAgC~lf23t=j8LsxIHaI^>VRMRYt z7s@!P1fllLg$>d)=Kkdc@XP1M9e@l?*jc8Cn$9!>&vhVtBmi`HHFG^s4k4JPVj%-h ztQNpwH-h$(=vaY(MZs@q9%q&~L#cEFc2fvZ6kp$(GW-+v_eADl$pzC6C*rrf`r(60e5NpTlC?d68}oaIue3@ zV&l*ixNPQjXVL7WrDa9)r5og$P^(6VF$>G2w+5^bns}}^FcvWyr8VUF*%Ty1HiV~& z<1HUvf!94NPB} zGvQ&?<*%A)ngnCbtbnw8QcsmZY zYvn5!qpJqES*D1}4UmLE$|WY6ir-?I0vJC7@KNl@Z)2$&c!*$JbfH5vA#4AaKUT-| z_^y#dkXFj&5Uh_`HDO2dBwaOH9y2#~1r=jPL02(N)wh8KmFP^@GQ6 z8F&Uh13f{}l~Pd*fkctOBuH((EiK<@>-TzJevFr|@$xlZeguG2ek8w(1OujhSIa}| z-1$d?<_O#fVzK0QNB?(ZiEbl!+QDulkNH|1yJ>%S6!U=Xig|j!rTY2MkUY^P;xjql zU3kk!nHsNCYjiGvJh40#S2==I;{`k%g@LT^|4QK1czY#A;}@w zKyOj7i7cJi6RWstqL*gJ<>?tcxb% zU=AS-<#tN7j<2Yr_>EML=1W(R?w)^??KO))tsQ#|dET1o>mhsn6^iYVdht*x)#VVr zd?t7#d(`o-zAqM}Dj92Cd-o(4$!elKUS0U9ncvMzPBj z>?-=Mc;8)W*O&*)Yucwy2@>(ycbwLfT3n4%;6$k;aW`Lbp48r9we&OjUAVr+B+!AaO!5Qf#Oaw@Z$pS8t(A zR(t}HyZl}duMhCZ+C}uJkwfX+<2mfZqQbtEMgr1q#55fVt~^hU0i0!LW+_JAnyYEr zn@RvmP1F3~;g%>x4T;_B%wd@tv`k@mdgSORAKi^Z_(!u!4qK-i(Sg{dBBgsx5uNtK zq5zR1WZ4+RqqGEZ2~tN;)JkxP8655swRa*~r$x9X?t5+89BS#tU9sl`yICc( zu0Ntfij$pCZqCbnrpHbpe;l8Ox$hGV9w`Etb^ZjaP+d(~d7E>@kM$6*{HzFV6^ z*m$@b4l^(0-}DfvQkkC2R*5VzmqQ~b;4%~Del0?oeA+#n%xXScGm6l{0PfF7iuhQrkw0$>}>lVygc zplLj_a42URtWQXvBG%ol;OvTUnA5i#d{^5p*)Aqi&;o4N!XY1rF34eSnML+}o~wpr zqenf}H~70F#t~lEmqUWeZbs%Z(=?$Hw?*nLMrpkuAvXDW%ch079E#V{&T7dag9oV3 zVaiZkSC9f2{QlB@if9L8-tA49H+pM4l~^@izn34i3nP{m4*8__8Hyfv1yw&7YhawMFkTDk_3lk;(yQepsY#NOLY z6ykTzWi1=b;4K?H-OZRHW?W*ahSl#P>_*qAIh9Cd=CGT;NMI?smbYdwSfur&Tz#iG zgp|%_H-Q*AjGtAH!(_Hec>k#sx`?PL*xEG7;abR$yu{X#OnRrO#5C>a-k)ihrC5j#v#f%++vZ6Ca9+;$${J{;;a(0oHSBx$qF^Ta1?w< zn=~OkD|y9AF9+|U54TQa)u2U|ddvzQ^1_1*l{geTMv}wc-}lbyt=G!7NQGUPT{ZS8 z;^AWU~{>p_nMU1W6=JhGSHOp(NT>_smwE12}J*n!_Ei*@*T$#hTX)2zT zyaym~y5t(DTc?QWOK;bN$wJnq?0_yWkhnhjD2I_qy=abB4HBXjghJ3F%N&h&41W3% z96E^;6=dUQS$p7|wG6yKr*RG~=7-7p9YhRb6*KR;jkwoKE`&`TMGhn6Bz=MPq?#ry z3?B0Ix6WbyMf1Q@c0&_X;d5=)CDLdpJc~5wyOFcP*>=Px(PJS6-kP|v7D>#Jn&xO> z@Q|n1;!wQGBDox9X|^C6-?j8Zvf64!dj)gY*_0My}3E+hUPwQ^8n^ljU#YQbcTuh;AvR zm1)`m${MBQwZhKMINSzRS$qO5AVfj%uoj2$qeUF@^qo0mCRJ7=YJAR3FszA*DPpuV zHbv~PYA0jeausIpw`knJn05uPX3iS7QA(^KO(0yQ*c{a+cv|J7ZkW?@C^#2b*X6}# zDnKpn$D@TBhxrRlf%$`u$$6S_?3s6$2J04m7zrfO(#9nNKWj2glTc|LvWB#RFe7LY zPd6?u<>^=85PG)}%IVhh4KqW_6p_19H4dX!>6~JuYpioM;q<57ZX{dhWs7@j+^u!X z(cmg`Ma=<>+Cf4z)r1cYnFbTig2G{VxsGQjn;G)-Ev}l>)jOvc;jKzj-*2KTvu{FM z$fl`(r}niqUb?|s(?%b*HAk(%!$|s-Ipq0Wwk@H2vJuwvwMa1zHV$9e6me9GCA;%y z9YqERkezvDt<#VoDv`J8D4kAs2Pr)gz-SXBMDsb}_TZrtt+vo_+m z>FX46TysXQVylJ~yp#pod;evhZdZv_r8$I11}$Lb)95UXTu40e{2bn-^qv-&Zb3iT zAm)#_Y6d^aI7M_a0D)<0Mk1Zwk=;H$E0`X)X0opLo_YhLo`ZA`2$2k0Ku<5@kf&dk zLu1d}JTn}Z2FRNt&Yy%5iXHs377id6jG{gqr9oyxkPy2;xJt1( zdO;3NuUz!m0PA4K+thBjra64|cH`v?VbgB~FG%mgbQg+-4IV~#v#l=+NX$F*Jby;2}pgln&Z%=4}AP1w-yIAK1JMYm+q)LS#mj~2 z?lbUt4iYLBX|e2Wj%EZck{M3Mq1&j)p(%vOHrSW8-G-a^89^;@)fg4*INxrzCggGd zZVBj11d1&f#4{q7OD;F9A-m5B?LiAmhPTdP@X6fiuo2BSVAX`?6>v_) zjkf%qzZ+=Ie!1EC#GLQe*yI2RVGml^GdQ^)4!b#C9W_u3XNGLKsnunwYue}ys9;S0 z-DF_A{7YLey)JO)Bof)++SsV%0#sX5fK$vkn{GH{ry0FxYs4`8uN z2hz>?4Fop^nL`tJmC{|~ifd>@ut&@s)|ea~2H`4O)Zi64)K*Q>OgD9DTk_IU=h-+j z6nOJ93hrHynnc*O$n_M;e75fDOdXG6%#8`$N zkgRhDSi}T<)yoeWee{|Yz;@HL8%M1(?j%3>_aEo2+}_P|CZ|(DIxj)b@HFi%E6B!W z_CHFy^F|L~-WXh&OUXl|gykyJ)rXsRlk9z?b6L~I@*8Gw zk%VdY6~MCg>=pfzVYVh0?>*HiJ+by~OXXeqO-f%<#-+}#Ii?2kn#rY*Lt_`zd2Ws` zQtPk<)1RYdM7@A{{uG5@epDQhdjL*hfgjW?*{O@fxipVb5<1n-LM27LfkO; zbsXUJOeh@;0+|6_VBpE=0AA4n7*`;B8XsJag2c!gI1mWwZlDQA zdSf>L%V(6_iL_@*n$W#{%E_d>K?g4&mT1CmDYM54;dC1!emq6fge-qT6D}KT`*uQe z48&dznj=tjU^>(NzT)|JYO?3#ED)lA!$^h(96mYx{BEY%pPHVW^_VM}?5;U)%Zc<_ zoqyuZQ>2sxI^u&3=MCS;1yX+qi@+@#bL z9X#G>!#)3Y6ZV{(2tqgxx2VBp96o{c4YwV&KV$mPUDw|o>3naotw834>xoOxq<%&^ zpa+^z(}!5Wivjt%+<~tNR}+*#2pv40{w|t-Nf|p2zp!y7O(@R&KulBKF0Ub(&;PP5 zev`c0;TqZE98i&sWX{3o(Cu>XR**B2Ve~UB=^b&r(G4vfK<_&f-7YTyYtI%=oKjx> zl3z&)gLE^rs*4L$yE5GvM>Rvxi1ZSmC1j>ADcuN+7;mw*p7M%KNvqxY4J3`@&%d^^(wpF5OwAoz%Fr^*d^Fhl&o&Ms*op@%&GBWzWg! zAcTcOyS<8P96oiVhxl_A_#FeRZ)o#IU=37E;)NdoP#3*lqrry|$^<7eGoM^!e`{jNc?Dg%C$^$kUgNCs!2Ru=r^T;ue%Tc;@Ix zAao~=zPb~;pQaCKifD*Rns80`4OEOm>rj?BSMQeQ3lt+5cq~2e){O8p;XvBO_qaU& z%~P=F$hm*U%>>j*w&em9q(*`M0H5kcI7MCU_uv|q_|`2%(LW!cqc zhMGQv?kOd)_&^heGe*HYm=V$pPVG0M38_A$_C~i3Ij&+0htJ`!gp2p)b|0)yNfb!1Y<3{`hQpd#tHp~{nK!Voh}6EZc3e2Y}q zdveN6SS}Mx`F`W1>^V7Qh=PmeGmmUoyy#lof~Q9|_^kq1Zh>!T=>U2u{4hjMal#e< zt8$9V$qONM2$~W~n~FK%Z*)=$&&dNp$uc`&83)*%KL7gJ*>iGsO^B?Z1z2aSqz|85 z2F)B5ckSy-gSbVoVp}msJr!CMr~t8D-5g5Phms}?4OF&f4QBJwrM$D{lvL|7Z+`x@ z%iuT31t3K0;2{WFV!Fi~rT96cEMk9RMU;aYyf)!Y5q)#i?K*fgze^-TV7s#UA)tpS zsH za64Zs35rmJp!;2t8Mt#5X~zr@YC`Am44|SzlreZnQ)FVFKm0l_E|-B2b%PdQ9BM`> zfIel8iew_{rxEp`+X!Bppne+X6r`FH^KW2|LVvj_l7Tu`;c3F8V}>_P;2=d5Jn^>| zPkH|E8+a>nB?wU^Xn_(ApD0&!qi19W5Ry}bC06jrTz7r%sJDQ7>9-WxkwJx&x{GHR z1nnB=J-%iw2vGzeiA|>YNL_`6DdO{ozmB&h7lRO6f)?V2jl(BrYI5q3UPj~24fP>Y zjNV%m6Ls()M6jfWXhJrlOY6hnEX{&l%G5MrV2*OAdh)9oqJha8GWq=BZ{dx~MM4x@ zEWrcIMj%?yA~+Xpqf>JF8=W3(=%j!Efc_@OEyQyJp<~V%JtPiOY_QnFZ@7OZ?AqD>bY4?3Cv5U z>qdRD7k8z)6#89=rK2PrGp-d}GdZggOgGYIqVAS|h`W(XLWo)%YDOtS4xgY?hYWLc z_0x#vXb^tr0IaVy4L*b*D{QD^CUDXO)}}Ps3(w_-C|eP3cg#>AdAf7etcRXI{A1ji zTopoWAA(3#92EB>ZTg zBKg*Z?wE-L9y$V{bGQ66+^bv|LhKgAuWgR5`Vc;T%p3*6@68N8$%uM8M<2qh$l({| z6ugcBd~*~;6Ha*sAHqm5 zP+OHI1{HJlVQNAcE|hux@UQR?CYKFSL}X*og1gFT+#-GnF&&9>yHwnQZ}iK3IiZ7z z%Q*qlvo|W}jZAdWd#9z*a0oAd^h)BDoKC#~!}EuKgNG>c7BnHM2Q3hC_~bl!5#?r> z1V-}M%~4=oIO-;QNa;f!sL1k^j!OAhO;f?oIC5NhaG(HKW5W4i}L{amO z!hLUseHfmrJMNy*f_{NwLQT`9oLhc4&n6+ZZQ`K};gw9EHLgWr=%MxPhv1uc>xiXacz=??5jIRNzFL~?_l9!S5$B;aS}r;L7vfBj&ujl4}wh}uS} zDMSHDF$OLiNFRS-?irU}%N*4vd!lK|72t0_@M|e=7D80zFcG4#_-W`V9V3%R6qhoM z=4jkK1IazZV+=vcZ#~%CMcy)msK?=x#jTKqua@gtX{4fY4_9|nMzr)k6C;rv+^ z#rTfpL6lzcbm<%T1?K4B=Ny24^kDC3xeExfnZqZSLf?!-V)={bp5g0eKp>2mqr|(D zG)Im4a7y|65B$y{_Zp(0k`=BH&jQ;>206srh@5@{%rS|0xZ>|V*gKirizY;|G6XS4 zBNM!&e2y$K^y!m-Jei5+Ux;Ew=rB0W>`oQlZa(57-h{Gok>Wm?Z zfXsOC(3KMaDVDiRd(uyvsMjo(K5w zm!3;1_>fb|{c1wQm7$;b*;N=ph%A2ZVru!zW1a zfa$=vIm*dYqK+Sa^SMT~9&!zNKsZaB!zY&_hA28ueQhyEKm6_I3YB@trR4tup60N~ TK?pu?00000NkvXXu0mjf0gKug literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_2_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_2_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7bc9e4766617bd0bed9b229ee3549e8f922444 GIT binary patch literal 5836 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 Hu0mjfh}Oa> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_3_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_3_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..65f21ad2ae1985906ed418ae6533103debdca73a GIT binary patch literal 5321 zcmV;)6gKOLP)c7?xF0Gg6WkxfdnB_&VsS~Gr0{{PR&%&a_2o|4RD96QcLM@Il|VTTC(==n4vBe$Q}_0TiiGwz_ze?9)LYvkoc^XjI3b<@3g;eN?Be_pUW zeq;o><bvl_2{UAoIiIr*X`?9-Q{KTIZ!LX zQjZ@2`dj=CCyXD^dm3=JxE+n)`q3aV7`w@tV*<+~9;Y-)tF%fJNi^ZrCDa^V7+eG^ zP;3mJ39>OU%YtPN)Z<5WBInQDySLqwJ2lbozT@^s`cE`4+~Rk1g7nBpC$VcC!K=_f zBVHI2A^{Z3fH8d?U_=75l-ARv6y9{ zj>Y7du35;uL8>W>Tmep%F=e51 zYVF#I!Umn;8iS|#w%*)705NmE=B-VgGF`_V+E5Gcx4}#Z;~bK(w}n> zLcx#Y4Y5e%-@y~zRU0v2-Swb!5k7YX@qKHeu zaj)-Rf=r2FeZd%)zY->BRwW zbTJ_2PrwN(lT6FShOwPNmI$-o7@6l}+dSe=Woof&z|pldj;=)oY4G4B#h! ztA=Df1+ngZYJlN*(eeqn#38FNgdjr#`l4~rBV@tH&uy>%nyzZu2kVSwg%=fADV5RiAQe-R z>e{fN=W{cx^Kzg%O&SZvndyN}D;#Qw7K22GIGPP!kQOg^H?6ac%k7`(hV^uW4YC>y zbI#r>?1crz)Xci6?XhGW5Y{k87!i*sU4wIUo3t>fcpsq|k^zPW7p<0sqbi9B%w->H z8}#NA+O)2=)b*M_>-DQSZUa9St_IVl_T=Do>a8T#aek(N#F;V1!l?Pv>w#D@cROi-fKm$dyr51?`WjxF|{x zEzekfne5sIm&R#HI?PHr4xP2s!sVoAL`701D+7Kg{!-eYEn?xOz%;QA{vmNNd|im-<#) zQi4yFO^0KsnN+fth6j%Bxpd-#jI8*3%3xVHH1M}e;X4!J;nm>p0Ix)>CGZPJqr^-}2`xON~!z&f1(6wBg$De$c?mWT(kH*lHa=bAv z-EH$uv_YxPmSyE2SkD|3=Qukfd^}{XlN);U46^LS{xl13I(<6=>cvY=Y^fOdh>t5c zUcRL3mSgVGO*@V&WpjnJAbmL1#F3H^RVize=OrJ%R$tZ)BUdl!IvWiwVHXW>eP9la zS_O)j&s_WL@;qlP8?y(sr4}9X@pT-m>quW+oi(q{HtK1TfGiB~%(E_W-JY+V(4o;< zcYbRlkVMwAXTYL#nB6Stw)M8G$K+GeYWV_#E>09z%UC1SlD*bNRA^jXLR!Pucw23N zPfV!to2&BcxsJ}n_6v84%$Z!U*qfi7F3xEhm`jJXKGd@4QE92Tz2kk1!&-0tDU3F9A!`7iS7`v8 zn;Np%uA?3NV?EcZSnZ2%hto`{AHr)ETyv%XY_Fz5;rjZh1{^m$$KiFT=~aQXJ?j#= zR_e-kSJRz!SCx;?&Ze80CepfBeAeYYJmnZ;n!d-8nM>4UueZf|^!=rmH&rI(993)4

cr-lEEi_^4 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 bf4%ho^cYQ>%qEj600000NkvXXu0mjf5xPj0 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_4_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_4_05.png new file mode 100644 index 0000000000000000000000000000000000000000..5337a03195601c43d899a3a7d6f9cb0a118ed2ba GIT binary patch literal 15401 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 TK?pu?00000NkvXXu0mjf0gKug literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_4_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_4_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7bc9e4766617bd0bed9b229ee3549e8f922444 GIT binary patch literal 5836 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 W=5uo0FC#|)0000 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 TK?pu?00000NkvXXu0mjf0gKug literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_5_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_5_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7bc9e4766617bd0bed9b229ee3549e8f922444 GIT binary patch literal 5836 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 Hu0mjfh}Oa> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_6_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_6_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..65f21ad2ae1985906ed418ae6533103debdca73a GIT binary patch literal 5321 zcmV;)6gKOLP)c7?xF0Gg6WkxfdnB_&VsS~Gr0{{PR&%&a_2o|4RD96QcLM@Il|VTTC(==n4vBe$Q}_0TiiGwz_ze?9)LYvkoc^XjI3b<@3g;eN?Be_pUW zeq;o><bvl_2{UAoIiIr*X`?9-Q{KTIZ!LX zQjZ@2`dj=CCyXD^dm3=JxE+n)`q3aV7`w@tV*<+~9;Y-)tF%fJNi^ZrCDa^V7+eG^ zP;3mJ39>OU%YtPN)Z<5WBInQDySLqwJ2lbozT@^s`cE`4+~Rk1g7nBpC$VcC!K=_f zBVHI2A^{Z3fH8d?U_=75l-ARv6y9{ zj>Y7du35;uL8>W>Tmep%F=e51 zYVF#I!Umn;8iS|#w%*)705NmE=B-VgGF`_V+E5Gcx4}#Z;~bK(w}n> zLcx#Y4Y5e%-@y~zRU0v2-Swb!5k7YX@qKHeu zaj)-Rf=r2FeZd%)zY->BRwW zbTJ_2PrwN(lT6FShOwPNmI$-o7@6l}+dSe=Woof&z|pldj;=)oY4G4B#h! ztA=Df1+ngZYJlN*(eeqn#38FNgdjr#`l4~rBV@tH&uy>%nyzZu2kVSwg%=fADV5RiAQe-R z>e{fN=W{cx^Kzg%O&SZvndyN}D;#Qw7K22GIGPP!kQOg^H?6ac%k7`(hV^uW4YC>y zbI#r>?1crz)Xci6?XhGW5Y{k87!i*sU4wIUo3t>fcpsq|k^zPW7p<0sqbi9B%w->H z8}#NA+O)2=)b*M_>-DQSZUa9St_IVl_T=Do>a8T#aek(N#F;V1!l?Pv>w#D@cROi-fKm$dyr51?`WjxF|{x zEzekfne5sIm&R#HI?PHr4xP2s!sVoAL`701D+7Kg{!-eYEn?xOz%;QA{vmNNd|im-<#) zQi4yFO^0KsnN+fth6j%Bxpd-#jI8*3%3xVHH1M}e;X4!J;nm>p0Ix)>CGZPJqr^-}2`xON~!z&f1(6wBg$De$c?mWT(kH*lHa=bAv z-EH$uv_YxPmSyE2SkD|3=Qukfd^}{XlN);U46^LS{xl13I(<6=>cvY=Y^fOdh>t5c zUcRL3mSgVGO*@V&WpjnJAbmL1#F3H^RVize=OrJ%R$tZ)BUdl!IvWiwVHXW>eP9la zS_O)j&s_WL@;qlP8?y(sr4}9X@pT-m>quW+oi(q{HtK1TfGiB~%(E_W-JY+V(4o;< zcYbRlkVMwAXTYL#nB6Stw)M8G$K+GeYWV_#E>09z%UC1SlD*bNRA^jXLR!Pucw23N zPfV!to2&BcxsJ}n_6v84%$Z!U*qfi7F3xEhm`jJXKGd@4QE92Tz2kk1!&-0tDU3F9A!`7iS7`v8 zn;Np%uA?3NV?EcZSnZ2%hto`{AHr)ETyv%XY_Fz5;rjZh1{^m$$KiFT=~aQXJ?j#= zR_e-kSJRz!SCx;?&Ze80CepfBeAeYYJmnZ;n!d-8nM>4UueZf|^!=rmH&rI(993)4

cr-lEEi_^4 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 bf4%ho^cYQ>%qEj600000NkvXXu0mjf5xPj0 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_7_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_7_05.png new file mode 100644 index 0000000000000000000000000000000000000000..5337a03195601c43d899a3a7d6f9cb0a118ed2ba GIT binary patch literal 15401 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 TK?pu?00000NkvXXu0mjf0gKug literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_7_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_7_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7bc9e4766617bd0bed9b229ee3549e8f922444 GIT binary patch literal 5836 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 W=5uo0FC#|)0000 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 TK?pu?00000NkvXXu0mjf0gKug literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_8_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bov_8_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7bc9e4766617bd0bed9b229ee3549e8f922444 GIT binary patch literal 5836 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 W=5uo0FC#|)0000QPBInU-% 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 E2YYnUZ~y=R literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..735f53482db109c6e1ff5c10ff4925c875e9807e GIT binary patch literal 9004 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 R+r$w-N(>@eCT#HQ{{w(dA5s7S literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f456435a7ce52149a9a314edbf87b8e195db89bb GIT binary patch literal 9718 zcmV2#;ld-uC9RpOHlb zUp@QtoD*^JCF;&Qz+i&PeCf*opZqwOR8l|o>BJsE%$xKB1_%HwsDTiy<4b=DCZGH{ zSO7=>Z0{}=B=i-e{-;mwcoi5)V5D7nyqXj^)BFS|ER$QV;IB@ZevGEcU>qa)NEsl( zgb*}96a*wI2bZU~08(GXs64KwLBSn4-LFA%0zgkmN4bFHFJRJyjM?HfN3cX4q8;Zsj6VbY5WzbM zupkT(sMnko2UE}7fs)1?jhZnPSpJylI7>|b>y#s>B&A=~ENG5ksW7Sr)ic2kK{CLA zBrJp^v_k@-undNw1cOk9a)4!o2FTFQ;$PF9#*{20^@%>>{_&$y@PZN)n6o?am~@sx z8dEd2i(nLLA)(d0(!yAT@c{40fCvP^3fyPnvXky&RQ_|yW;7FomP9iE)+A7T6lB$nf?&-~f~F;< zE%+>G?qG@YDgFlQ{S^ld{Wl6-upSaNVlOm;fFW8E6b$x&fGF5tX|N3aH^^B|V2oXH zs|t_I$*cigI)4uJ0 zb3eXSo&Cqvq_fmnCHD>gn$)qZwwOP`| zzWvjjA?gteDL+o=(ut_WfH<^6BZPq>ltD_2Wf

gcMTI=zv2VI6CyPwH=fJm0;^n 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 Ef>{9z0ex28Oy>6X$cLGZ&O8@`> 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_boxlib_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..55799d8857be0aa4bee761cd5cf06658f618ee4c GIT binary patch literal 3152 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 M+I78R9hXP{0cV!dMF0Q* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bp_sparse_topos_example_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_bp_sparse_topos_example_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..076c1907cd1daca857891b7c6a644d3a955406e9 GIT binary patch literal 2303 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 Gh5R2Yf?4_i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_05.png new file mode 100644 index 0000000000000000000000000000000000000000..6947ac9826b613b9b2896a9c93d0f827ba049c6a GIT binary patch literal 47844 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 z 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c4702d28bf212cc6b14bb114987c4f54c65fb68a GIT binary patch literal 7118 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_07.png new file mode 100644 index 0000000000000000000000000000000000000000..01fca934ccfef2a6e0260c1c7856c1a1833168fb GIT binary patch literal 49558 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%0D5M-;w8ZZE4;ciq8yRK6M8^9 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 e@_%vrC_OiQ$RFgk@!xv+L|I-#u3E-CLc literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_09.png new file mode 100644 index 0000000000000000000000000000000000000000..34008a073e5eedddc9fe6e2b4ea16645012dacd3 GIT binary patch literal 44795 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 z zev*U8c!X^5$E(ni*jkSVI?1sS!CDLTuov}Gra4G2<5fR%ve}=*o{o_DiW+Neb#+kJmOE;U?>xyZfxAbD(IST}I?mq0s)k?+vEZDYu)S()A_a!->L7+{qT z(nipz5Cz6se3v~IE6GGpqeQbK}{D08cQo*P6g$$20_XFmH9UuOIN?+p|&Rp zC=slS#!kP_tdg>!+-(sj!hOq>ZB%lfHO8`lN&bXN_HA zJi%HX84kWwIL%C}%_~BW7X{xcMa4jc?52_U(PeentlT{d8 zM1_hbCJ!I|AeNF<4~=!#c_6VliI`lHovlxjWDbb2^CnwPW~i3LEJs2t1e|b+FwMCR zBpr;o&~)|e-Gyn@j1m2{^(OML<_~GBCaBlDe=~~evgz!O#i9QaQfg+?F98XNz=z`6 zRW8)vO3I$f{sWyCc@{hTnGr;VkQ5oGG$(!+MrD`ZiKrHbV~mr+d2qzfNu*aVvM~O* zihC(G2KEma9er-5Jq`0Evj_JT2|DsB=+q`m7ixUc%kGTN21%>m

Fx4AVg_LCuS?36ETKN;3Y z9AzcDgAvsZfBYRh(*L)$8t;65%60%OtfToh?#c`9OQ7(g6~#W$4~ABXrAwlym<}hB z>A|OF;-n#yRICPPYkVgT%5RS59}?wFMYMsqNJXF9UY0bDgZ+y{USaMv0lW^Ya98r! zI#k$jGJr4C)%ODMp^egiLJL*xNKqO^d(^m!=D}zr;2r3HJw4zidZN6>-+L*n;)+7n zC4r((N`zLL-Y!z!e2d{xPop0L4RM>uWhV1o$6D}^WbJ+39T->zM4E4 zS%iqJf7`v^#vcCxb6Yd{&lU~F34se-OW&~IyvkK9o7zWZNv0h8DeRLn=+~@7Kh(Ct zC+lQ!u1vXF*u;ESJlGlPh6oh00Bqbbut*jDrsM8PrXq0oGyD!VKvKiqT=Xz3FPeV& zvLm=_x2k}73oXLrGX}Xu6}C)@QefRLhf2X;Rx?g~VaAf*O^iAV9-q}Dp^k_m{3JR0 zHl`Z;;p+4u=dEet&}aDIDHy;naq(?lXnM&WWdw$~F>g!x19g?SJ(X~2O#VJbmSqO} z!aLqq^|SzlC`)p`-@HII&VdsONERXj^O)6p3=@ z1q`Q~BQ|m>G_c=YpY7W-Op^rxuyXml{RPEiw9T9-;a}x+t5s|cN z>j12!&?0U4n@c|(ZQ;lso=dj?8loZLY*2+FXcMmy$={f(ASz?9D@sg?)J}_0OiqM( z{Y0jIVUI)>A*B7+>`45Q>xNiq*k|S^34<_jfWq`buHp!~`x4JNr)e0l5t)4+CGrW1 z>zLR9&4+Vj?K-8wF!EQuaU`{aKmq6r6BbkGtL4plGH{Nfz|(<8w79HF#0z}Tubdz9 z|Fq^GUZIASpeT=aX59BzLD-=CO^iU_rQogd^!9xqr5uzm9&giAYC`dscvxKSXgX%j zD>AGe56^#=($dbaum0_SteMb-{Ml7vwHc`01k{$Xw1L(v5&eD#AiA$ztoarVq2Z!@ zDeH3e=s^9vneXlISJ&%g6w23UOxV&ca)FtJ?&snE-aB;u>%LyE3B^eY8c8;-UG84> zV**wrS3&JNqo&idU-WHu-20eCNbc~Y@FFil!oC`$8^rgFo9-9sGUzh63Ayu&oVj^q zGwJ%`BR;(HjCwsXHR*^VBT}8Q(H;Frm0glF?%rq3zZBz?`GuSEzb?4+(2V2%bLf>6 Xjk})7#Z$%;@X_R?zDU-H8wLFj>Kvyv literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_chgcar_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a98cfab4da37fd7873f0ef73a91a8a5f3a58b97d GIT binary patch literal 6670 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 T$qc?pg50{Hq5KYO@%aA$bZs03 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_compositing_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_compositing_01.png new file mode 100644 index 0000000000000000000000000000000000000000..be224c1dc381beafcb4250a741335d7a839f1d0c GIT binary patch literal 911 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIZPZ!6KiaBpD8!|E|@EkBW zu>ZNQ8@~{1ZB_a+hPmPF2j2T|7z#U`X%R41JTl504TsT0KsYnxFfKjF8XC20$~s_1 OWAJqKb6Mw<&;$T_;1Es# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_compositing_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_compositing_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a5435f278bc5795ed2ef92f67fbaa63561454408 GIT binary patch literal 289 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c9838515cdc3914a9541c6056066b9fada18d518 GIT binary patch literal 5557 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

GxHbuKNtcYdn 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 Q)Bpeg07*qoM6N<$g3Z?R_y7O^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..33745c39dd64a26dd066ea4596382c5b31c01e25 GIT binary patch literal 13458 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 AJ^%m! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_01.png new file mode 100644 index 0000000000000000000000000000000000000000..3cd38f7a7fd37ee1dd291535e8cecc3f2bf38196 GIT binary patch literal 68513 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%0A^=h4mB|{G*EjF-DzCHP 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

GxHbuKNtcYdn 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 Q)Bpeg07*qoM6N<$g3Z?R_y7O^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..33745c39dd64a26dd066ea4596382c5b31c01e25 GIT binary patch literal 13458 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 AJ^%m! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_02.png new file mode 100644 index 0000000000000000000000000000000000000000..388eff0d4523583de92da0d417e0a9230e1cab3c GIT binary patch literal 62222 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

LVO3F0(e7OsPo0e(h_%|3B$d<}~a1q$hEd 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

_g&xW0*cmh5WrtxdBJEywL2u!V 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..03a41d41c328f919ae015079f7456baeb8a89887 GIT binary patch literal 12614 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 GLjMOgZZu2) literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_csg_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_csg_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1467fc4d010ed3555cdf8d4c14080c1047c12646 GIT binary patch literal 3696 zcmbuC)n5}1pvCFYqXswx1|y_%#3%(pKtwvETXLi$gwaSzNrTitIz_srONk*;qolj# z2VC#JaPPx8=k+|D&-q4cX}+K!1(V|7;83WkKG*q|w*M<)ynp@>jE9edLn*2D{F$C_ z&Or{!g>J5KP(kcA;9#k-PJ{}Z#OS2%3W@l`sr4y_Lvz-^b@q!2Ta2(l9#fg44xf5O zIZ7{PM*UU9lR_=hp|YF^iRY=w-_*{E1UU#|XoEQ8UzsqaM4m1TWKI5Ufq7Rh_9Tl>yX)6_nMHqS{5_#Hv3Y!m*U@mz$&QO8A<3x+9~~C<1jlApOr63 z6}{#`sCjuw38ciE-rc1ahwWg=i10(Y$2*@jx71ogp{(r>_t7?kf7{w7FD^e)Q2JZB z_(~B5GbqAfJjAoJ<8Dq)Ms?Ob^>!C8)50q%5Eu$R-LAHxzNG5vIT<+7vOizoYAC5Z zaWKFXOH;-M0KZKPAwWX_%b8*fi-A{nuCB3$RaySXY#k%`6GQ-ddp_rAQ*LC6rrRPkS^#mXl;Klx+uU$G$Kyk zo$|Ak(t?+wM&}js60zjZ53UMJB;bQk_Kmjd=z+OQ_HLdl}ZN32jF3TLxGT%Du(U$Z282aTk z;(p(uar#RIA+!rt(?(XGYAwL55|Wly%*-t4{G@pOSo&4K=IzSs9C_xt$m~h52Mf>nX*EZ1S{f%I8V4cldz;?1529wK zgI0Rzky=!QgSQjVJ6Nf|{$o?hX#aNR#kAitSijW|_IjholpVlIV9BUuqKlZ@Cd2J1K zcYE(34%37)y~koj%cRh(sP?0&;xPou*#IqFT3wMnH)Gqbr`K5D`rE=pW@|d{-u=kj zYa%11bhC0MuK0Vw)pGVt%cQh*kyx$gyvyX_5-yKgX7vV*_abeQP7nUl@fxPe=Cwj@ z%CatiHQdQ5&Z}v#;kddjH0eWtw>Tl2RyeI$d={DKj<@yOA!;TMQcT(5p%|je%$0fF z6!QtK>Ae;bTg#AKm(hiF^1O1 z-@A?#;+?OY%lfvY0YHiQL6b05a_wQdUWUO+^& zoxDKb5mx+Lgl)3k8D}A4$MWs(vE2)ka)#}hbVtU+M*E7d6WS~T2F{_CTLZx6)yM6K z!78qVK@tlvi_hU$rt2PNQ#3PGKtO^#TeaWc;A$e*;o$^WGyCN<@sSRi7UXYbI%7KL zrE%z-LJpPJ63yIh>I%HPK4Fg+AT@xqpw_n(kS1X-&7aRz#rBsJaTYwZiY(#OwD;jh z*VSz;EHrwzG6uwk`t1HFh-H0msZu|tZ2n5pe0Ob;kYTl*xoN~}feEq~rW*xJ00J3o z5Zbko6S*(#8ble)LfI{n{BZ9Qo6}@Atg>?SR*`4b&6Y0S-dJpp^}Yaa55QsaT|h^R zH<*OhT2e3VMu1RM7~;~b`Kn%~#$ppd+R(YM?lC)KdgY**UuZdQQI8gUtZCM2d&shN zGU6qJaeWNn%5>%qBeCNa0yJ~XO40Yv9MG7|YGs3w`nq$UoPU9r3ev1m(vuT;^ zU6^_Gnu{8-)HFFRwW7ar6siRZ*&|cQ11MOOQ=@xv94Mi>sc(krFDRt9ro`X#8*#)t5( z!oq*!!`3Qxnz-ru1P4mhRS*ud+8FU7T8AzQGlL7L%h@O!V;NBE#p%0XaLm_FYgT^k z%MY#VAGK9uDb5vbjdx@TNu2FaHULZy2eFqGNoDv#0g-5aR9~LoS~Lb9;FJT2fbJP1 zgASZg%k9#c<5?Nxw&g~vy2=xx0|&&6_@!#&pUe{{Jg0sMt$eMMHsVZE>BB~db3kw% z)1CjwUGcBfT4fb=q)>LhseSLKA9(i`g^JitIaR$SjNBY>ipH(L1+$U$VI$8952&@Q zhzI%+Wx`~pz0rCZfM8%rbbd-e7sZi*WshW+->neJxZTmu6UP9;_+Kxw^DKLir6L)Q zIR($w_dbi8`4g#LN(iD??`y{+8Hzy~d=K@Xc=JAEB0DW>K5peSl>71LhovKWgkeF< zxN+p6S(}8Zg#w=134`X#-2N#^!Po!fY6H?(q8J+-qM zW0ZC?UJ+iM2zL2$Mz`SRjJb~Q^~Vc`1HZ!-2TXNtmE&~24xLnxb9xqoiv9(yP?xM% zKk31LH{OUEyq!b0gRw^-I{jIlvLuE3pV`AWq-aYGbt@i504SNgunv!DT&JR3HkKZ@2f!lSS=^V`bx}o| zW&ds){EWNiJ@3?;RQ6eCRv;wibeQ#_`8nF1mmF7F`yM%6qGz`WVq{24PPQJ@5Q&a{ zCkF`df472MX?sZHv`!>In*+T{GC@Kxo&hmooAE4ZXN;7ccERH?!Wl`4Z*I%7 z#6`kfqS{jhm@b)sd$#Dh*&z!Rztp5syB;~@ zVPW3Ap0=AWi;t`H;_pC|v-4zUV3dr^rkTD{>o($%v}d?&@>2+Ptj~+0+a{NmnYk^7 zT$Hh6g8|6oKVwH<*y9n-5o#!oeqN2o-Ct}YJT2x^UoG9+mCisfK_mwlCbWxDOMuI^ zqejzG!opC2JHEhJ(5gb-rEQPfrk#8sEX#s@;&Xc&r8F$ zqS^lrp>k2vQ=@a?toV52YuNXK-ru$RsqiP<=(H$}sK2unM}c=2Q*t%X(P09i(e)GA z<)0^+7>t-ZiF{}VBj@1L2$g1j^^s<8j_xo@tzN-82q zNBjFO2;g^XA9lugr4Y?#_Rk@w4Cf7gEh`L^n`>&GCD1qnPQT7R)J0diB^)!qw@mYi{Vm#Plb5EqVG_ALXJN z*Cp`n?Mfh3=o`kUtyOjn+V!FxyAsqRwGJW!2}x8?U!>|z-f^y$ zeT}VZN@ft$Q>3~lMTLcDgaf`e?}Vvm5F%lclBlBqudM7Z*KT%81V$xes8Ep~OLCZn z3Lxdjo}a5$O(&M75Grz_bQmnqbH2W$Ca7_u!2HtMTg+-WhMT6$x1HvGexZV#(m)Yi zHf(5UXp0PO_=^m=U@g!A6+Z~+|347xADW$`94S@73($wrecrmXqATG2A}e*gqg B2+IHf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve2Expr.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve2Expr.png new file mode 100644 index 0000000000000000000000000000000000000000..8f6db9358197a4a4ec5f3e273ee88965a210e41e GIT binary patch literal 2363 zcmc(hdpK0<9>>M8TO`dCnNao&l1p}R8gfadVceobLvB-w+>`rdPh=It9G4u|aXB4i z3%TWT2sN`^$|Xq}hR2>g!nns|FvgrUcKv_;JJ0i7@3YqL{k?0w&+qwue(xe(vBe#f zl$R6{5jkjSfwdPA*{3DE08uEip>zx-A|fGbi8XbIELfWK3n@V(;;zmu3Iu%|8d}@@ zVhahM6Y?xGxNw9L#&^OH5amAdary$RKy=6ujydx`sMh2|r%0DVr{LQlZt6trZ+w%o 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 FV1oHE%9j8D literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim2.png new file mode 100644 index 0000000000000000000000000000000000000000..3292369604ee175e8018e169428c809581b1e8f8 GIT binary patch literal 3254 zcmcInc|4SB8%Bp-8k)&Awlt%}v1F1A5zP!Er-+2i2@}a)WE*ScZD#BoPLwSgZH_I? z5E3)ilriZbOLD{@*~Zuk-{|}E`~AM}ukVldpXYwB=e@4`xu5&G--L5Ecu5IG2_YdN z$_|0A?b zt7y_fkw>mxZbkoirflW&@{jdj11bVyHfDIiAIX86tc8O$l)$ZlVh&e&|Hz|o_C>`G z#jTXMM@zi^=A5{#V4c8CAGYqDi^vdomgfU z`n>G8I{SD6n;a)wQcvq}kW=QsZce}Dv)9wV8 z%#7>!==VDIhF&pzmTA^M_Tq;nNZ$P2xZHQPhBwg7a>y^RVK>xu++|NJ0no+>u3;bClV> z{JkuB>N(8|qF(cOq{q6?2e%*r9nD{?|z4wcd%hVcT;lNY8z5^rN+gYx#4`uC814M)n&ruwvBQo7YLe z9g<>v>xk4@DVC)l#~hpjNf9bA>tG|XB!bF)WpWC%2tF$66%ru|D?U>A^?jHU(;T$- zg2%V=rMSxEpEpMMd`fdNG2%9Wq87d*_DT{DFc;O8<6B#$t}2mn=nroN_*x4P{%)o2 z1>fZubj&KbnJ}p!01GoHL_ZuF@VGuBdWKr|NKkkQ z?;VL`9*4&xqj#i8KBSC2*-3^vJlP-=J0Dm~H_^QhFjt+E5~~}LhcNK* z`8f$>^h6)rq;6uZ&Z5)X2-03I*t}7`R5flrn%~)}z!*(bj|)ByNmwXzkYp_j`cCQC z_q_Vo4bmsxu0zLe1kK0wPLpB_Vz&;-3=s#sER3Ud6sZfZmg3Fs`|}%7j?%&Pg~O(> zIoKFB)TXtw?pU7g*_y-uJa%PWMLy}h~LSX zb)+tchXwkU%&U1;83%=a@u%<6;EwKp@X53afdm8O=kOA*-YIAYO{af!?cybmX+_@vW9v*LeZ~wnb2fg^?sciAiiPlug8MO2yW&vY( z9#Qh-DOU+H*M~fN<@=LjX!#hoOo)s%9YLeq3RiB&{8pQ_iw-tzdbzP_;`%&ofZcj zvQI{}K+k_zi|0d$5~n*Qbzl46UZ#Im^$Z~W5%Zx|PSUc_7X5|$EKDg4f7u$*_9Ib# zGw%6xcZ0!tG?Ng=+P!sGdnML%Y=B!X9Xu9V9MpUG;%F6&BA5HO}ejP37(Nao(Y;`5wpLCLO#>WR_I1abrx zx~H#L+Wxs<5gi(7W%;)NEwEC!h@V~D8@NgA?w;kYrIn@o@j;dKa}aVu9`)pQ<^sDgzRSgrd7y+@auzH-DPS=oVmYx0pWA5F$~=lKOn@=zk0YQhK)utE5GgEp?)2GPyUIlc?0?`p z$UXZFJg##{gefzOxe*dPI@spE9ZyeJdDY}w)Ba70y<;hJHb47Fa@sALK9 zj{>trq7Gopb7}-Q-!Io7$4BHMlb|zeT9tf8I>5l2z_LexktKcc zkI*+-59hgS#zsRkA@4FPIgB1#5b7wQU9A;oANPAc$;sNy&E7jj=kyHJ9Gxn1}0tXJxEj)0ZE(Oz7a)nHZ2_5n%MqX})35QE`-_C<6=DritV( zK@m#KB8>%t#5E_{ta#AH#?d?xf*R&`me4F2SlqL#QlAHVj+jjnjyM$=e&U!aB9bVS ziU9{$LdsNNF+~`i_f3!t1}^qU!$-NnRA@kYp$0N<|B#sv4vi9fAVpU5#IB`}W+Srr z5d?3vV8ECxE&OG)i+(zVEB(*I2H#K;Kl{D?x;^Q_?8qLkdhRJz zN3}0c-liH?XFBn5hU|jRUBMq}zcu`d^{=VPTz7m;Y2mbTgkg#flov5qzJ5z6?Qi;Y z$ybrY@yn)GrcLfXZo@3y{DBR3%i3RjrV-LuE=e32V!XO)P+Hq4g%!ciCmaL<*co qq(uS+_WeIb_5U)(|35ZkaOD{H+y4S6bo4C% literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4b755ff680a72d7ce75905f4fd6fb38e79babaf2 GIT binary patch literal 3207 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim3.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim3.png new file mode 100644 index 0000000000000000000000000000000000000000..5f29f8c189a8f7baf050750604996fe5000625a6 GIT binary patch literal 2412 zcmc(h`9G9<8^?#9oFO!0Ye>zR8HHn;n3DZ;&rD5asW_R)GTD<5nud^?FxJtclI6(Y zQ5Z{9Xecp+PEnRDLzYHk?2et|p3@)j{Pw(F-}{IAy5HaH`drKR`??vYtdGe^sYpQ} z5Sim7!WjreOdEWl;#-!#k;-TYMAG0m;fUR}bYZ{XO3q8A8>a&=4s6~xvS`90u$<#x z?~tEWRfWn`bA=-=Bjn22Q$3yQAw=XUgbkqi{e-2#`rn}U#>1i2I$KcaV<6a$ePNOS5 z!(%~xSXN&R?JB?JiCw`QFAUymOuYeqfKt8>FU7~rB>*g+r!%s&+&A_vM}bU#6;MT zkerh`D?H+*=TXI`4OmoUz|b|-xp+;9GSvpkV^{P@vO?r+eK}M67|k_@oCP(aVUj;gin&N^Vqg8P-Ouq}ddOdRHJ@zH zGcUSMb>LDmJ#+zmjn~BUn;VooUMjTNZP7ZRH`%m$dVxy~``|HOad2HfgV56)**u*POQMvqSD>UoZJsdp! z-a*fpb4VvRsv)t5VveS}qFEC4(>I|7?&-2Y7X8-r&j!{p=NQbV!PnG)i-PKUalLgI z>Ob-*v6a2iuNX{(@p%RlyBWq zrqV=`R@!9A2qTUNTJULmqZ?wGmCw5=Lxyc4uWdeoh*UKIx*u@({1L0YsT+r8ot6n9 zKZK$lLVfJlu!XZp18A1d%$`(r5w+`(^s_?ZT_`FYI$qapf`RXNoy7VH&L_v|!F~x8 z4KUV9svkn4=qKSk1;!e2z%iHyg3YACe42jcAfvNEr%-jEF(urK?3JYnG~%oxYdbA0 z*6q@gOa0houcs#$?_uoV`gydCUcQbAr=NL#@kUUZ_2MnTmo5vo30F9!$z4)J;m2o6 z<07BXYw@L)O|nQ`@5xU;YW*UYnW+B8h+;oK(beyt!J3KywD(JAgSE( z*r@`0YeG`_qoYYZpUbxgo8oS%7fms6!!lrR8L*oSCdJGtrSiFw6`CG^c6WC&jklur zS-SmHF0ojG_Vbs{i@>C}FQ3@#;hv0N+2quS8P?*H3^8lbdlpoNI?Jn9EBjDkb2uyE z0187moc}6im1^V%%ohd3OtiHK?&lqH#sz*H6-YWRRkc6z$?U*=S@Co!i?n^fR$t@0 zKs9rZCO5P0HIkEnE<%$NZgoN#er20bmuM@8qRXRldK2CpvS)$fN1RnuqtWi(e#krL zVnOwRX3DpUib!C|!K(kMyR#WrffltHx9qe3z|<^v`lmA9nV*n5ki-GhBih1$O( zLzbU7zbxbAE`0m3UdGd!`}V^qm=?O@;5lcjC&6f*G@%ly@wifA}qmnu(bYYbRAVJ0Ox(28&Lh` zHgufOFYa3`%9pfL!YNi)be!gHHo8{$WsA;5??;gHAqPi=oE6oK^~Wc-5*2tm%Tubb zL z^~XvQN&9`H1QQM$CF|kTA=|mN>4Io=O0nM%&TuW6wVN7_L$}oSs*QM2b+EgB@mzXS zreZtjZwYWJr0c?VJ@jzY05}&U(~_af>Eh*bDCC*J9G*Q(wsrbY4COrxHFW?I4@a>P zH*WXHUuhnO`7Z@Jddtny#mMncBe!43DNvd_oC!tSBxFXE?CgkdDpYUAy(CHP)u zl2@g9L;zKGq668Lkv<0Xym`y?5TX=7RLK>&8)z?H{WIM z^3K*v$zvIu#r}rv12wIW4c+Vq$0?11jP9APEAAev@qr=Ls%DcEj*^v?de-t~dVyn`cZ& literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim3_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_anim3_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d193186b25d472a87a56579841a23f739b7cdcd4 GIT binary patch literal 2424 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..43875e0b698a18f673339ec7ea727abc240eec3c GIT binary patch literal 1593 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 GKlwK`w*f@} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d1dc7e645de2fd94bb2c35b88a14ee80a8ec0045 GIT binary patch literal 1882 zcmV-g2c`IlP)@|@p&`Q|lt6O; z;#fW?3R+2#w7t;4xG{DlYjv>4-=!k2cE0HU_upMf6vh}V2nU^Y2WE+dtOzV*MS#t^ z180LV?pPK8paNmfvH$>e2q}t6zbCntW&8ftU~q^~k!3lGD)IcTVc5R^tkYQ%#UE7_ zGEAENq4GHzb`B3eAhhQ=s_P1-xm2l~Yqh@q)yMd~VZ77z^QF?dqNLWVJj%iV{PytS zKQCTfziXT zWPNtsC++sCD1I*pKE?n5ilThq=QvIfgwgXqnC73aU*A;K{^6l0iorP#9z3{z|9-t* zC)>At$ueE{Z%w;itx6mh{#VHNpLIIFG#dPutZ$kogpj5QkM;Q~9scTcE|<%ZOaTB2 zG<{i7o*W!}JtB%CaZ?~ych)mat3kLTNz?s&@Az1=teu48 zqhv4ZdAEB`l0=rwTtZ~obCUGD+a=Q4DKeJTv+X0tStDA7uPMrr<0KJ`S<1oyyzKR^ zRw~3>zFMig?DdEb^I6K;F${_0D&MNhV^R?WiQ{$*gKV=|%6hBoS5!5j#;>UAThe7j zX0kTB-Bzh2B(}yPFifjd+9aCkvyo+cUK^pcQYq1^td&Y_glx|v)nGQVUiJGIQ(1?) zs3@=ceNwGuAj|eV&9YWyIfZMj%Ccrzq;9SZWNi%wEm=-y37rCojd zvf2n0IWEoHDnMYEBFD86irG%8vfk?Yr4)CrhPk9D@eBI&Wa*CMVq77;Jr$A)gf7Oq z$q?2|b!%kPhl;5*6a0ZwOX&&_xARlK7E?b)dMI1zAF~D2Ls>tgCi#= zC(&9+XDjTFj~{=k)fArpdc?MEgwUxS`J^#i_xH`s-s8t>>+71PwcG7-xvZ+{?c2A* z?DeM+hPLOO`2Mgd0DvF}-`tK*6q#j3S#I6Br4);eM&sJGYmVc%t{d_JrZi-24F=h! z_F=9z8g`>`X{bNCuCw8`OVY?$ZPRQPiz!?v3_lc$`~NSv6h&de)yav=>RDESWz(

2A=+p(#n>b3A!j zy5n#(ou4(C$p{R?(R9cyGV-!C%TiNcFOGvM2wJ$bMPAna@p1l(hGAA^dH?u0%$bB` zS>M{5$Tdn-osX*8niNtuaEUP}Jvg#0aMrPEpWZAwyuXk2i5X_NRH>ZDv&hotN zckg~Jl}-TY_xqwKavaAnj5rsABV-s1faQ6^i*(b=GF0kTx0WeLI`tq%4jIkgHzVGvMu?h$PaDAVqsNu0bN1qGM zKiPk$bcR^Sioilv1QxO)u#gpjg{%lHWJO>hD*_8y5m?BIz(Q687P2C+kQIUd012@6 UiMpwV{r~^~07*qoM6N<$f@$)Rw*UYD literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_02.png new file mode 100644 index 0000000000000000000000000000000000000000..91c31b2c6696a693f5831d8521301b67eaebdd4c GIT binary patch literal 1907 zcmbtVeKb^Q7@un6R)ZN~d~3#GEUhR>kPXLHW}vFGeLd(XLl+~52AJ@4~8zvsPgwvV@~ z%4*%!7z{?m-Ho;jgITs7d7BA4J-Z!7Im7AV$ zh2Qo*(*IUUgAJ1FFGkeQC!ZU7N9)cmD*?|=Ld;IM*}^$p6QA&7;SD1rBfdm3oMidk z+t}lC8yvP@&RHFqunxpJVd+4!W1|wmSj`3B zVitX%TNOcGSSfALjnzH_{M8P@23rqUA)1NsmI1HpDlT|KkJMwj(Lf zz&s3Y&uJuMH=-dOPFv5`;4`?$R5WZ-+V^@MjS#)BWx#aKFas$~`c%8mr?tsPF-(KO zA4-eH;*B-IKGB4h0q=T!lyy|7-M2dhWeIY1(v(MzpjkaM37xQV1gR(nuc(@1SW%Sg zhcqQpI}OjqqAOcMuuAb(XhLAa$8DCnZ{`^0NUEN;`f0ChA}84`uRmL940@jA^Diad zh}dIZpO`ZDYLu0;1KuG2^vPN%dmmRgoK!rl-YK7-9F$*`sR@l*c(mC^#}nF3woZ3R z8Rmk3t5L~HG0S<7$FZS60(<;zL2G$pco_qW>}+>0kV?zN=tdlY1Nul^95 zGR<2j2&;K0!wwDoQNRhSls$jLnH+3vjmLNJIZQS|EMHk0nsv_UD&OMx{Pa75)C*R- z$MLVM+k)0|BFDNLu2nP_6s+7$*Xt0Wbs;7NC$zt-xqBY*E|Cz*V|poi0gQOiLof1Q zTp}tpge#j%+z`J(cY;F+oN4-PjO*X|!*N8$uWlOkd(|ZU~<_ zB>uX%&}d1?D!1MBw>69RII3mEs5MCA`5#JGl4OZQ@7)d7wC3W>iGX1P7zDa)$97{l zISVIXgW?bS5EW6c zfv8DOS*?Op5=;RaMm7kuHm}FcH5*rMg8unb@Z1%|o%REPb~M;$6Dq4%L}cy#t%3z( zxDCiCXMxN#;jNqfS==bdAN(+<^npyT_hVppEG+s)Ark{xPoHT`Z7f!hJcTmj#Qo6tV|Ew)IJEtDv6*zf;J9=s?D@b)ec2@IBATAT}nHosOQ*i3l&#HO(5I0BxsUgtkxoTb}#EnouG6b3#s^-Zd zZoC2#187%vKwf&JD`bE}+o_ue+F9Qt-aOvrVfom6L}A;!OdR8y>Q|Nt z39s*wrVzyHWIut0x*+*7EV4n%{|{HtzuZj!2cA|7a0%0nWHfk!%M{~I_oh`+Lr(t% DW26|s literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cbed4263ce549b2bdf68baedf7eb66b8d93fb284 GIT binary patch literal 1927 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 DW26|s literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_curve_scale_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cbed4263ce549b2bdf68baedf7eb66b8d93fb284 GIT binary patch literal 1927 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 IX&U^00C{}rS^xk5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6cd76f15085648fb932705a070aace2c5a5fb8e7 GIT binary patch literal 6854 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 Awg3PC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_02.png new file mode 100644 index 0000000000000000000000000000000000000000..c2de1f7b45a0a8b0372e292602b1b9e94c392084 GIT binary patch literal 7422 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 FV1lt8lOq5C literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_03.png new file mode 100644 index 0000000000000000000000000000000000000000..8ad29e5c47dcfedb498c8e22a858606a100b7e7d GIT binary patch literal 9558 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 TGE4vbQUG~b6`69V$=Ck@S1e5r literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0441e5703fd27cc4765de82f6c197c2a30630f04 GIT binary patch literal 5651 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_04.png new file mode 100644 index 0000000000000000000000000000000000000000..2e557d512b8056fef5eb0462fcaa705b2c7c6976 GIT binary patch literal 10241 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 Y68i=R-TRJjqkRA+Idw>_%!jc52g=@Tc>n+a literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..23f4152f914bd5a24007dcdb317a839a0b8ae946 GIT binary patch literal 5697 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_05.png new file mode 100644 index 0000000000000000000000000000000000000000..c1528694b5b2855e2db2583d367f0435e77b18ae GIT binary patch literal 8154 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_08.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_08.png new file mode 100644 index 0000000000000000000000000000000000000000..d66988f4d955dc1825fd27ea7cc7bb87246f893b GIT binary patch literal 15701 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b9177d474cc5515ac2a89511ad4577ea5d9afaa5 GIT binary patch literal 7302 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddcMD_2_09.png new file mode 100644 index 0000000000000000000000000000000000000000..93f66ae7469f52025b79583461d9dfc87b49a5e5 GIT binary patch literal 16625 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 FV1j&n`;-6x literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddf_spatial_1d.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ddf_spatial_1d.png new file mode 100644 index 0000000000000000000000000000000000000000..77daad4d1df26f4af339136ab70c93c4e1714882 GIT binary patch literal 1814 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�MAhG739vJBX_edb?)AfNvSsAIue=s1+5ykzsc+w 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_12_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_12_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..156e0322317694412525e344a2300263818dfb04 GIT binary patch literal 14494 zcmV;PIAO<$P)5TJ}uKmkdu z&@HK@R_C0<$vN%){g|m4oA1wurK+#qdbxj|s$F%~weP+5de*a^El85Y5BmQm+5g{v z;Qu830PB0`2Uy=jKfwAP`T^GW&=0V_hkk(dJ@f;t?;*v%e5Di@U7}x9N_gTJm3X2U z<%C5fB#m6*iJFa)$Ai&8I1Hdx2t^T))JnN0XfjG( z4+%yhVFXaA@p~{BaeIWgQ7wdG2m)$3o(M)Yo-jtG7?&jq8bS8Ie)`v8Ib)uwXKr<7 z3hW-`x-|9oaG`1+yX>&3?o&DX+&*fwvCXFdozW(H{$!o-8UovSaZRapqF<5Cl z&79SI^_k++#Y-ZMUNmwNHJr1vEQ@U&(weNXJG-{6`^1`>_&*^F|MGIjF1ZWam$<&{ zM{mRt!4;-V$9@MZlZ&=@KD)s8`2iNp=j=HObBM+0?q%LAcJF8T8qS_);xuG(y4sjA zm95*jW(94vJZVgHq^ch}*|%^NJ3eE@DlXJuFq2|qW37Du3JbgEGT~0_gScEwtYYU^ zTz?%qzj}N63oV1uXFSuHU}kp**A;PUhyn`{+47+i*B1|M|AKMzxcDuZ1w=v&cT+r( za|cHkdx`?V0F%oxBv4X7dJ<_#loXMjO~qL9@<>Z!aDeVE`nnk$WOxw2gHO6O zeQs6IAwS%u3fOUtGT4XHL2oAxpK!2U%aDxrz4)DUcH?l;H^Ar!c28c{KEdHlbcZUs zTXDn~3^5p_+eeq*G&G#kH53d|luud?`4yz+VM`^i0-b^K$%I0zu5u|Pk=ZFkMJyVo zrB-#ft~3m{HYgGPDdH=DWmIs3g^@T5)x6h9s)jvIlyb}F-VB}i{+C#cZ2cUilA23& z4`4Cz+D0<6`RF62PJt*E6Y~~v`7)0@LT4M7mL_7A5fxh=Oh0x?c;H9$_AqfeB}MG; zX~laCG{(4FgX1WbRZN>gPY;hgL_@&gl zjGZoAQO@|8tA-HQBnp!7(^-M8L2g?`G|H_jvFORppdc5MnbLBy(n+>4GDKSw!$XXY zaIqf0hgUCXhn>(7qATR>j_qpKcpcQ8!|SG@OW4<@#2w{g5U)h%Cfe%o1UOfR(_en_ zwdBZ9X9peaBu4^eC+hGD)Vmmo8iz(QTKoI@a1LWjB|DSU9MX%iq#;vq&Fu&R^R8#0 zhdXZY3WH%5Ez~OU{>W>;Y=s6VCRU?9skK)Jpao z#^dM1Pf=?*e~Fq)WM}f`TZ|n`O)b}7kJUsp$|Dc5yH?TtKq`(nm1@SQamIS@POPaH zZodyzoSIB6^HsD)xl2o1jQMJEFA)~F@g`Mw)9>!Qh@|Nq&AQy}aMRmPPdBOrY?eREhvNF+_pK$Kh+J#iFKv{j{!MempXM`yQ`U?LJE z6e1~ufo@7lg~vK3>D|t?`qrK<#!R95AcbS-I7Bo`Sp{3(WBs)p-^=_eMh7vf(d#%= zM}8VHH75s{aWh&Yz4f+V-P!byZ^J7nO4YK23QfwB!*>>kvgV5Co46ce$t>O;iZK!< zUFolnvNo|}$otCUqOqDRCsqUc4q~nJ?WE-!N<%dCCVceSedwm)-H&-0z5}StC@WAr zC(W7mV#8OZj}Di#2127GEmrhwi)LM?9NHVxrK2u9p?&sb-vsHcYSvZKWv4&HHAQT1 z=K5l(vh7St6RAq}xtMDu>O`SqiHkwVgqz+)*~$%*_~s&oX>^TZi!rr=t`U60tS=>U zk)4fHE&uL=_pdu^z~%bmJ7ZT`dfa|K+QB_H<8boT3E8I$vJpk{R1Czm3Bu~_?Kj@U z?oHe{iPH^aTgkA{GDKw-9Yefw>epwRSL5kJR)E-sA{)_(6bEC1VBfg)o<8;PfPh*< z#D_{pJc1;k(s6R@vYJ;O`G_@g;{SEeBOrka0$@-AgrcOu1xSNY7=l9hdlrlT#;y;z zvw(O6jS_DVN#gKj=8wawW8(o($|IIgHFf;#J^eQr}h$4e-jx~UWcaCM9ZK*(c0>y_&Z3wR- z)FIoAY&+6G>7?5vY53e{G@YQYmA$VL_OjK-k>`6AY?HHFMxUIQ zWq6dlDx*P3qmmZ|+F%=u!U*(3nv7|8U`b@z%|xoW)Q&&Mf%7DpSX9N4i}X6Uc`izU zH!mY!h#+1iXW5;Ok{#FB4PL7huiVuA#EP&xjANK5dXj?ICu&0Cqr+VbQbWhiB8p6! z%$_&7e>RQ%h!Pc<3R zl%S7ki)gK8kp?lsfjZJtC`!laVowueZo#R>)nxngeN8E8SEYhCDHx~Yq}wqf9bKCJ zZ;AQu?vNLzl7F2(wZ(hmm(4ShLWfUr%Pq{Chs8$8cq9cEdKmQ3hn3>DbGK-MEJN@)^QDsy|VD``#p!?L__<7b5q@ zGCdNPU>o@4JRQd+u{*++2!4qdWV8sJ5I7L zOQ1_)+C7A2eE9)uZ^z?8rDEB7v`Sw4oov}{Vn9Q04F51$#YFVTzFWXwVL!_uVpC$0 zjdGk=Kx&3x>vKh4VMIB8;Y&|J|Y}0IHJvd(`(m?Do z-nU^0`Rj;1GTE+@(ii)Br9VB5O2*4C(A0##k#nCSQ?lh3#;&vF$oCT8g`gz-hbY#E z;*P$_ueKD0Vy zGR&0>W~kdv{TZ1Yau9$-q&Y~En>lvbg^BXBljWFUjvSkSUSO=8WPw6Cl9Fi=>?_eN zr|SacRh&7)=~IlmgNlc7MsRg2TI4zBMa3;iJ>>>>cLRgnjGb~7VYy>`ZD*;4G%aro zQ=wx*B08nKQ_^UtIY&woKYIX&hmK|r93mwVQQ|kBryi)k6H^!AcS&7?dk3X0453#Jn z`!0r6FGa5jhZ`zX+7~09C353&F;u4TtyHorN|l@v4cj2ToY)9kKPP<}Su?0CWTXS% zD7H*IQ4J|duQub&CR5qP#tjcSGm6E|v#{W5!Lle>lf)nU$kVVqpV9N4{E zq$}#XROC3@T&0*=F0?9X6tH!0jX+x!*=fX*=<+khMom7InSNjFuX|sjaS|Nf9GeFh z?vMTm~a z;LPST6DNz`iTDa~mNUvOKT~sAl*)-A4h(TuKGQAsv%alg%L{W!w4u?GkxpADU+m$V zH(9907I>7JsRUfiE?{>jjV?m)+iLt0zi8%?f|`%%_zG_uN1sL(X8Vs&iVRfK^fmf) zzJ8CyeCiI;egR`9dtW7gDyOy)a55K%T@%dR6-kzn{Ah*G0Nd z6L6r>6ZWChP`QHR@5}w?{M?$yx?DbOXLEz2Ds$JA`JXlyDF3<8x&mjJluWhoX(P@k z>vHf%*xipODn42^v9+VAHGZU;fBPvl7tjT;4HANI7NX3{-wN5&!OI1t8HtC9#JQuK z1SR$-QL9id10{(tbpr{ROu8FUM3;{sqA{V)A+?C1E)uLH<)gD;%_bwCltNT8CXa9? z2XxTajBo^7WQ^c6TOB+~C^vJORr20Qx)S)IY$WOny`{$4CEkDols;0RmZBy@)5 z<0;GHu=0`HH$7ggqR55>pCiKOrn5 zG)mJKkRqe!-rRyWOFCfL^AF1LGl@mVYl{A@mYEzjg|n;qD`B$Jjtqix3bB%(E zL>m1mgM&+Ab+;&MV}l`m242^9do))7D?!e5D{Vg7{n(TwsgR;bF+7ph+IWSVDGBuT zvHd*$5O>ZX*UHg`Fygn!w8$*zQwXo-mo_?_{LR6rk?=7DEx~idTey6Py4{3*9D0?c zQZ9dpLW>~7)5?@b@CO;cf*H3l(#xW|3HvdoAeVFWgHsD0*eH`$5NR^T2JZTqWGkZM z3{6LfM?@U|a7~#h`_!OKP;!+zM1Y(o% zDU#o7dVF#yqs>#A$)`0GCL>oQ-u=l|VjEG7L7t1GCcX<*G2`UO{Alv&`G%s^oPQtl zO6;|!snv=Uv+I~vKINup^#N(jqxc6%NI|W_>_->JV#M#kJBl%xL+??xi0W-Z?ldA^ z$?qm>B7%V5LDNCjK0nL+oB4U0cD%yspAwFeoynK$xY>s}LwEh=TlIfBxN<^Q!I+pe zov&U)Z=8YPsyIOc3S|4NLzplJvTNK84015S^jwO z`6^$w6wzw<^H>wcz=T5X!5=VBL!lTL2qQ~MF4@UKgOkTk^TZzUfT0+aW6feO)Om{U|8F)v@nL_Oz zrrn0U6PZ4(;n%--q1kRnm(2FZ`Dq{dKD_WsSh?f(b1Ane6k^(Y$LALGClzANqhYV@ z`3J97*FhnWtEbk_(Jm^xSmEW{5O0W#k#kcT13_MFB0+NgqU_%5XWxI;IOOJzX$GXR z1YSmShKzNXC*t~om<#<}ELmjD#*m4704c_WZ*epXzMJH(CfJ5!7uJO+WTTn4w-r8i za^k%=7+2LX6l4(cS2O-zMmouy!sVTGpCV%%ssth-WN|X`h&X6FPJ$_Oafv%f?FZyP z#*Z$N<>CDRQHeEa3dSU|uRYe_>RC2*`}B1enoR>W*iuF5s^u&MqCSl6WQQ1((Jn9z zG9`LqG>vdwCbwqdi11-=e0@&agXMSSD$9R)8Qmq!cOcU+`Vsna5^q42LGSBi&%xD! zr<*Z1(ef>}`|(|rYZ6eMsl&xa85tWJJ zWyHgD9;9LtYCS4FJ_p%KQZh+Ux!W8C?P$NjEU_nsO+lf8M1ezIks&{cT2eGLjCfP5NgA;2;BsHrx@Le?Ov?qB$tvg4o45|!^Fb)J0RZultl(3JBYYRzLro*d2jOL zKCyybdl{(4-i_0YERlja7*aX*Eb$md8wM*%4UrJh5E>H+X0#s5xp3}w%pj=#`zE)wH$W@cZedhC&kj~(h6KHSZb&;b3)H06(w>?VOU^9hE9f7AQUGop;ls4 zEp6-n`RT?V)paVxIHEudBolEDVi^5w5+)F6<=ekvNMzs~qsb($#8*e+N&=T9%e|7I z)r~=Jqay`U>D{S%)nDIFw^ z_*tvNDe!fG4vD)ZN+g;@4%>Mwk@?Am-ayXZE<83NHk^yv$kEd=;{9mKP-YPt#B~Pa zETmDiWfF9>aDQeVvz^E?DF|q<|prhS*@>Ei zN5M3%UV;xxoDQ%`L$}120ovkhFjA$b!Jo9Pe%CC|!1!1^#9xo_z*O#?N@+6xw#!H8 zYpm;0Bw>G-P%G&#;Ljs$L$Qe_Hx)mlzlU&u6e|iVX)2P&#O)*T53`xp!s1GbviSQ} zin3X@l%8U`-@!N*xe{G5q8!UqVl~>@y5Nn!qOgSKGc=uL`TeBj)7>7ucq&cFZ8Bma z+heSgahsat02>{Vs*b}G?&y;#sozdY38l+0Wzo4CVcOM#rGR`n--K}s%v4h>&>W-5 z&-~zX6T&_>dz)EV$*q&I8u_FKm4dYs5_TOMi)R;_a?EQ9^kct(Y8$`1os1P2Pq8~p zYzlfC9s5YC;?ib{RuF7NJ(b!RwYA(FV)c9!a^BmDdnL&W5Y&VM*bIoDGa<=1cjE4c zpZ?8jU5AV2GJOT+WcpedXr*k%g5aoI;%uB1N($wu!Zd_wxSLDkVvF+n&L75{gRKxl zDg$-+?3l8yqO$-IEHYdILlRw4S%DvOShRDgi@YL=au77sHjtP=NeW3uj?_ho4WQ0P zmWrzp!w7edBW|NqNnZeqNZRXchw}S~`cd1+TZI@wk%7MrM2w5rt76x?+&_`BW%T4@ zKg^^lD5|-pitKAqDB^#6>-=csC!RA8McRI;Pv}TU#+-=OfI=A)WB>yCILR?;R}AQKQ&pavB{ zG>$I}qD0hySek!Hfk&;hop$^)M-)7jj7+#ypOmgA9C245C^Rim@!hd60k) z_x0?bMqMoneJmQ{AsIK$CM}I;U#4eBGkbcumIeux*YV)CCpVnkWR=UvuE5@RG#saMng=_QDG^isSC=7q>)+3~lYSN^1=&&32Y3ue$c$R}T-lCy3(N#?xc zN8|#-afV}*nRsaE)X!hNv3$=_Vkf%d&LeNEQn?=A(eXo{xfgG&4Keg>fip#ji`(d<`8EQs8leouX zl&9OD|M84Av&<2W@Z-j3TwWEaC-~C?IPJK-G`BHxdeLux|9V@kOif&3qnk1Q92 zKnph{@PV8UVFAL8NM{gVfo$$rO_!5b4w9R~kFP<57k4t;$W5gdUYNrDZ*%@M%dTPl z?Np!O=wSqb6bZAQ>G=d=ynYzT&%IvON(oxaIQ_{*(j%{x-uCQ*Gb5vpON00%Z8#)i zDJK47p81;27Gff9FPXX5Wt)`(e|6vyx!cTI4WEzjpJP^RfBc^y+%}h?0Gp3+`xtI3#;o9}>U3gGT37J8ff+}cS&Gj~Ru%>$V{$p&Np%|! z&*T0%MEsoh;O|Kk+MlZ0B8x>EhB!FPq--)w9O_a9mHD*4Li!C1Pupd0bpBcL8@MR2LnJ8!(_~}`41A5(LfI0O3G{qR zXW@j4*UX4pjJBgKO#7##btR>PK#`o2F@^-DY9yVKfe0ND#*>$YE5O+{))q3w3L(x7 zkz+xpP6iW-vow`*(LgI)n?_YBn?FX~$Zazjm&U0!nxKCfwJB((cIQmEsXA|&;^zEGs)tKKL(W6U6!;EvIGckn@%Tz%*7O<42{BK&KPEptWBD72RpIP%0xlv! z;z*#-qK~oaMPw2&Ifn{~$&o8jX^_Y0R1_REOpNMMY3`#)B+GX7I;H<431pxJ1w@5- zRB(b5MG#~l5Q!0qk)Q%8jM#y?9Q7EEs5$l#5BIZdF4-pD{Fdf)T-Vd(Bq1A z7lY+L{@hpGT>a{;h1C;t(5i9D%JFyOJ5SO=qzL*`ZUNmJ4p@N%k$s#Ip@pjOZ{(t8(fKKY{*vj5zqooPbUZyh%iZoY zq0?ZUN_d2vJL%qxwSw&<{?T_9%(}PZ-lu51fHjp*ULh@?1vikC!M+dojRt?AWSo+& zIGaQK#>mg2q&&sVS!rMW`CgXDk>b4l4P(<8mqV(VubQ}OyE|%Fs9{f({ZW>xxK1sr zk19TJ3B`d4>!lN8_+*6qWbPb?E6B!kD3naen~bC<{2`JX`nM309-(#%v-nne^mf z<>HR{tLVJIflq0_$n4dOnaSP{*!ebV?pctcI~M1~0F`R)O`tE%^I=BJOkOyX^d)>! zPhBq$EM)OmK0VEz^OUAvy*c=x#GVj0Xt*|ktr7X#KF!>q^2d^JnJ-_&WMci()J*01 zT2giVbOzxVr`k^;gizf>RE^>_9_!-IYp61C?Fl*~2Q z&*5t(Z60ZJ@m=t$ECicLo`kcG@`o9&C2bC#VPYp)dJA$jCIhL-BwM*~l*Sq+Eo9C* zj_*C=3YRIk%SdaSeNn7QY{(`-$K|8v=g`rqe%I}NL_Ov8T(UkBE4Xl%F}8UBi*RhV+H6k@3$~dILqJxE)+Pg))z# zI|xi>#MjRQ3Z7m;u|(}T0wPKc@fd|=jP&x&ZZu}r+{APR!HdK~5GOi{HjQ8pxwAJ9w22Fef!B;!RQ&*ti+g#ErX@^k&(mREi~7YUq*f*Y6)i-={Y8iN~ytVNrM`Z8fB-Frd8+lHqHLkWHFvUn98b&Q#V z$3ZxN1umSVt$|yAhHp4`=eyJPzW;{=M`s3S{hV^~pLu8n+%eu8<|j7t%d*ZD6!Fd` z7R+S!Oq4OsA4DafH1N-ZAy=|*XfN4QVo$Ww4ecme1@JEY)Nc-hgtLSxN$lVHRKgzuyXl);<#M@u3c3+$NH4cO^upU zQ@j{*dD}=DY8gvac6OMiU zMzoM7Dva5;JFHD*}JPa;KU`>M0)!PjhQ zDOUp)_L9C5`%8Ab@GuO>Wi^ugyeK@*OMYApY};wBf9ChW#!<8aukPkIH!xyFQN&Bn za{aA@0vHXPJdQ23AnsBe+kM+4dGG1V4@?p32Pm;(HZt?3>XFDUGM?tRoD7K}C8v}W zm9fdsj3S!s6h4Tfi(r7vQbzm8DrKMzAt*P>rybh-M5saGi(ZT)mr<#~sYMbv>*1C( zE_%sSv1O2(jl4E*)%N@Toxl8r1y;(<=#;#Cm~5-9yr60BuWjk6{}b|+Y*@fIa1->w zHs}_``(Zou-5$O=&HA}qI~`Y$O`mh)Pq_cb$mDE#i{-1aBt3Zc zt?Xb|Q4W2r+&Z2;E$CGY`?;&JWaOG49XWidWx2#okp%+tV+@_=B^iTF%=i->DlBQp zWGEHbohaOl)T_;D|MAtE`JRyj5vo*}WMry|NjReDm6&A2MI2GGG-T_LYv^t3XXFfP zld-9J>jV|aTwg`DnUCw4ceRRAEzE@Bx*S1NT55;sa3MfS0%n`KZN*(^HRx@W-i<9n zOu`QrMe1d=OFUo9Xd#EUp-?f{L*oTfGU>WZc78Y>eYN@x%HW%djv)p@EUlm_i=(YncTt&n^-6~TR6`Pshl|jgiRod4 z8zCE$45D~_DCJE2uOs1uL?K5{z)wjjxjCGxS@)aUmMe$88s?S^YTMZ`nQ)A$St#N> z-I*J%7|SP{aSdZx$OjtklhYwmC1+j?`6TXr4V#&@Hz7qy$|AoUoq?=E^j6XfyC$r7 zZ|$!SL`{k~oiRGX%+Ygm2FKlO8m7>|nq=e>pY<`~WW1R%rusR)?c;=_+L2-GG4fN$ zOQK`+>J_DcNu&?b%(!nsx{=f|lqOT($bs{W%VX6fS~}T$gp@?Cn?+VKAAU{!MJmT@ zMuy(#e*b2RTY?e;T|PPoaE58I(`LtIv3))9cJlKunJ6egrX@O$4v|aXhCV%es<8L- z;(sE=IkA^Wh@oCO8_^`t+JHjEo_Ctdmb|g>v4)(n*Xfw7XX7aE^|CUVALUZ#=jASR zQGS|2frgJd8L1~_I+F^UCimwRKNsCzz3%6nJjT?ioUF!br6`X>OPCF9e)NwMSxaCPMDzwi0bCJ0UStB%I4Uc0 zEpi0|9c1RIM|-aM`@=ss20J87HbQZld@Rv(&Pj=uH-}ka#G1)xuTlFPwmecNV9Mt5 z7F5#lMTkFx$wUVNHcH&Anu)M5l^Z>3}s2j61l{j}E-a)-yx+4smhw|x7T z!tV1KM!xLB?jxcC0hz=#MpBi0)Fa)XpxNrsUZKcT#Uq71ANcAaHxHqjWJc5a?W=P>D3#k*Uk?l|>_@|Ziw=2q@0 z=V&kG7K+X6?B?2B&iVM$&3|gmnMr*eGiP$_7!#^+xfvX!yqNZD$^3+#7#bA_NO5E! ziKsOAVz?oqKnkNwz~>^tLNrRpdFEV~(6V>MyARx`h|kw?K1_m)jUy~I;Et03eI{yN zX5b*YL^7x1?xw%Tc(P}le)5>sxxclg|8Jdj1t(dZh})Hlg&raG&DiUC;+WMenT0ul z!)GZqV$k7>VM$|A+O znZ0}HaxR8(DUQz@k~U0q?merWl%G*?Y4G$&j^Rng9M55SVQOYm`&nu}V}qUzRx|<| z9TaNF4Rho)snhUvGJ28f*0P}+mc@I#@|r&8{!_?T;4INTrmJM|8N0j?c{VXkR{X>? zskDlYW~wrYi!!~W`tWnx>|WhCf2bTWNZwzOM4{pX-MR${_b?PvS3?4U z-Hd+0NjrTG8tn{*xipMDK$D%zBZvZfnu*0}h|u6CEU{x0QAWL&-VkTqY#N{~!1F^i zgxT)oQ#(Td^bCxWrYGM*x8pl)7F(-rI2dcnR5qAI~g69B+`8c;>dWdv8|M3O}J#i7G3Wr32flenH1qn*JycAk! zbC7O;Ag*qb)bxi)R1uW$C`hql522PLI*5mmfk{DEh+I8h6>=GxIHywB`*Xx$4&Gx)EMKL$`-b7dhF@$x*%>p*PAa9kc}5HOT%EI$S(|9)FBC zdua;L804>AC{_Hfnf?%8_OQ91j2@i7CFG}LGo#f=A&xy|@ySxy*T@(3;br58I+S_S z8FL+a3vnO5ej2whv71|N2~V@XleX&%V`hZ>bo?T{9uU6MqPdbY()RKlCBr6rv7fxH z+&Te+g_dsm2Us$Rh>G71;GRP8Ac7v#I9C6Kn+xf1lcYtGkjwEYQ7edvL}OUw4EnLD z@r6M~f(+LHDH@z%1PyW(asdfMi7;qF5F{8UHG$SJg+|;FBuG}#DCgs6@b(dR6Eo?m zdzVsZqIndxf&@+Cj$BACt1tJqYT`DMvY7O#b9`<#!uZzAgFSjui=Hp&!+;n((_5wbUzt-UlvvY)< z19)OQ*@R5NmM(_E^at6}M@odj`-zAITB!S`kQ@u|){<^SCC3%?+%`whEAr-I8%yvE z`t1fdxqHY4I9?r@bJxP z=1o8lFeDI(5m)fDE)te7=>>jdto?~>XdwB;@Qs_@}Mx#D$>!-qH%0G z!HpBSFu=Fgs??IS<^vbYmQ8BC*prxU6a-=9Tx-da2^Y2>pSxhVs|_(qUMV%-Fm)*{ zbzG+)F4EksoSLuNd_J_UQd8R-)vGB@R(^3Qw0?ZT>x0p=kIsq5RgptI>YIv#`}(D>JNH$X6$E?!yW1mbe?34-E>&aZig;!-6YcwOLVnMk+l#`aXsqrU^N_`26x)%87#O{>@7BPzYei3heJ9YUu3C#mP@%A)TZ}S;;1?w5s0$W<lYS%g1Cr6v9@ z!U*9WBK5?35F%)^QRSns5iXe~rWax}vS0#!H}j`sGE!DZaXuOaWqAnENcLo(ZH!7s z;$j3PmO02ZD9cf1qEwPHy&r>$acNk!6xb+Ak|hYG6Ph*2C{ocElaPcU!`sW~Wx_5- zo9H{qsXq3eq$rDTYFRjmt|5xD7*xd-0_d&mIEGxt!twv_PeT3cutXohGlVY_?ZL2? zQ0lZ;>$(mcP7k~9vt(dNLQ z)ot8kEseMR9kq$!R)$VcbUl5wRQ(8VH|A*=@-U1icqeW*lS;7|@cZzp8PJK7%Pv)z z53_t8b|05Iar>?sESV9_Dlj9TjQwblH#Cn!CrPz>wx%hv@PCFV5%>flh%|uIOsofQ z8__OgDabR36poLll#rySA`gR_85JlLRFsjCj@iVxLX2w07Lu3{FDP;qE|42Ajt4#J zaj0$R($STm)RQ!BK$e<7mW`Z5wN1(|=+C z^WU*n(YK9wgm5wuKjR+2)kpCI__|4%fw>rk48wY&F;>kaAdq$wu^>gO@QkoCf^*B8!x32N85ytszo8Dd_-jYN8hbP%p5+>NuH zxRzkfn0QJlIZ0%vlA1`W6|0GC8%8ZTnOF^2jbx``vtl-rlP2lS?t;0J1t9}jDvDe% zBTq$@hll5!dAv7sm9YB+*Ue>bHC4rodI&{@ z(scd)Cp6cGLOW1SL9!EbBCjH{5A|B4?F#So=i-A=+-{~%;F}XHp25lU6l4;W=<_hC zf`i9cJd=~>D9lEZXzXC=ytK`?r`^))+=sRlAk>Iy3C|1sT`is6}H%ZDq8U^u?sTi+>%1t!PYWEezIBu#CoS6s(aN zcaHgB-RFs^)~f(ZjEgQ&l#~*l07e5IFGd~V2$FCJ0BC`MbF&;*)CKf^vkg17zP#Xz*P#KAZ5kRgc;z4c1??q=I76Jitv9oGMa`r#Aj-$OsZ`X2fL*7wj4u)c?Wfb~7}1FY|%A7FhC{Q&EG w=m%KeLqEX!9{K^+_s|cpzK4E*^*!|e0GFz2TYuyM761SM07*qoM6N<$f;^$npa1{> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_17.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_17.png new file mode 100644 index 0000000000000000000000000000000000000000..80efca37faedf2def15f3a122e4fc1f8767f0e24 GIT binary patch literal 2948 zcmd^>={wX58^^UA#wcSLlx#DWF~^pjDXB4NWXrB0riddM%w(I$$%PAC_xnk(v#~f1mICwf@g2uq z#M<-m9a8(dK!*<|TXH86e0)NeaM%lu;d!f*CR7g}+3t-+B+CpeB$O2MyEPOpgfg$H zI$cl|r&e<`SOQijV&2290nD(NM0rF_49YjRYhn4NNzpsKvoz(8rQ{Id#2`GLv7 z8yJ_D?-g5oa_3rSncszU1p)-mgji}Vn%q*k6CqhV3Lq zgb6tXbg8B#ylD3XDpaK(^ht)%KWTbQ7>~&~tKe=wVd84@GKzG}xw&}rIfXi-ie`%g z=Vb61_T(P)qa~_lv$=NFp@X#L47TdKd^{WvZ% zsqGFAQKnAFb8ecKeG->Mdb~7T&{5WBJeMQPgO`D5i8M=1Ry=p=oqXF>lmQzfgx$|P zHRF$Q`Ru8@%2d9fPaPm`x_{J%%vGGVyNK>3F$Lm4EdAxn6Di<3Roonjp_v#MlyK)q zIJ|}U=*YujDhLl=Rgxju4#s`IoIXTaGXk3eI&oX2aTu_4g4|M-1C|NZD*8|-r+*p) zn0{-SHRH5;!}~#`-LBuJHPO&<`K}LeT)*%4#BEDJ$|=hiuK%X>@-!iUv<+ye+uhIvZ`(< zE?b3&+mdFYtEg3HUf#%yaXZ%)pQJI7F)QLDOIVp^WuD9DE%K+T&lLE`!X?0a@~EX> zw&mv$Y!oJ~G>)z?g+n_qRQ$>E?Au^tliN{4tEtHL7!g8yG^pi8*?JBE*q|`>nel$B zG&3Z|)9tI(Ye=7Q3Qa0XJ2@!gGLQLN0)+f@SJ9;5iNev{nCafSCj(v8dN@h73@zOuIDWX`AGv!F9Im3({3`>)G)EwI0&x?mZ4~!M(w4@?Tptt&L0J@ z?q2Qrm2Fr~?lZ=odHlv$a(8jQztd`R_R+<(kqpnr-r|Ica}K&a5K{*~AowpYqm~ug z5fy!QR$Rq!o7H%*^}PU*8F^#ZO|3tQR$7H$Rw*QZvfQ3D)!qED5*^r}QIc3|{rkIA zG>hvY6$iIghz^BHewgqfAIOn zILlAGwDXeGFXvYV;m4>|Sp#DS+R8c57L!^f$$2mQLj&b>Q$x>qlovS5-C&Tpc+HI~ z+fe8hXRO2bnpBCaK`!HBby#B3>DK7x`&Vl@gVpQzwj#@zAQy=y4U{z{`IiBHsJ<94 zE#*~fHxX8;;V;av|MKQphl|+aubwWumK%|8-y+ZGtO2FtWv!Ruog2+Y z9VgQ1fIx9)bXd@^o4ETWxv1S`O;Qct|)z0N*qRT&!%ryP*P8Z3b*yq7*DUHTz5_(`QJW} zXJG*-$)P`_;{&el0w4smmfg+WOus2QSIPwyZDp=@D%2C~$$(6FF()gqDgMMc zM1V5+c7XK|J{x!cIHJzzPv(aWEqEmAU{SLo12Rb(&dZBRCq*YtK9Y&UJ`GJBEHHgCjUGw40Y_Js=uY3OmzMd|) literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_17_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_exodus_17_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..184c2f5de2d2dd612ffcc7b6383eab90efe9b4aa GIT binary patch literal 2931 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_explode_repeat_labels_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_explode_repeat_labels_00.png new file mode 100644 index 0000000000000000000000000000000000000000..4b8e87073d19dd979426f1955944d36bd65037d2 GIT binary patch literal 17076 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_explode_repeat_labels_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_explode_repeat_labels_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..eb8398db95b735647bc68a5ddd6d68141c5140c0 GIT binary patch literal 5892 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 Nqp7O*x7ziY|%mji44;o++2m~Dnu7~fe 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_00.png new file mode 100644 index 0000000000000000000000000000000000000000..2bccfb5aba4c7d308a567ef902ef6434834ff059 GIT binary patch literal 13786 zcmdseWmg={^ENKQ-Q7ZPcZXm>g1ftGa0sx$-DQEGixXsVcX!y}?he82&;9!p&v{VIn90-^Z(ZE zF9~(sMY;=S22yN?sh_#kH^AUq%MSgFw9P4nX2+NyHx@BskKtl|TFVJui9!+rziV#JqN4bn7o*t4C+qp>Dw)BMbD!z=JZ9w8J&=`Wo^m_-~P&GzfR z!$z{Rc5|>^(Kv0Qh`y$sOiSC4escB$q2eIP6XMI67_hVG0x$gnR~-M>L!|X5Cwa`C z*itFdJ^)G#${<~|`ue{o{R%0Z{Mw-PYbSY18r|^Y@9`)AcqbDeApx_>qhU=)j$p%K zX{}1kV*T@TKrQ5#<~ZT=)d&esfY!Q2VUpGhxqc4aWRpbWLa+r)vubgV}A3nx9 zV7oSd|99u_?5Jd8AXM}0j*W{bMd|4B`*(tyiE4K;^>>#|L=UNNa6LXAp%jz_k$)u8 zZCV{uxvh|6?RVAR+U00JLjyTKL;Lp*vG{!^Y2RKBMQ)P7mT<+=EhL$Z^1M@=(iJhg zjp%w-aT?KvFz378`mY*egWv`PU~H)ANTquilavgoW#E!1H{pbdzstbiBH7R)n~MMJ zXV0(gSL7oJoC1x+zr8q4e;7(LCq4ycI!o@)BsfX|D25^=J%edle%W!>GEVd&9_k31 zU|Q+!e9EX06#i*BLaO{o%aHzTBPOvs6xo^&MO}Rx4&p1oN{aRluB@#Ttn$Ud=Eumc zyTqZBxcqEmRtQ(dJDu3gII{Iqe3?=b$wnMUv>>tBs#coM|D0hY{(WrcKU?r7-X+Nm z=gG30(NsXMJI4O$o*?Hz&w*%2&4}+xKhRRp$Gy2oXA+tqj2)@Q`CzLACzg-=m76oB zlDaR%@BZ$N$^egEawnB~<3*1b%MenIkEqK%FeEMa2_3XDn4s&~QyAAU$SCjfTQi(Q zLcCjmn+mx$Wq>xUQi}1-4qI){HMHc1NzDjDB7f`v3?j)AzF^&!BxaprKcb11tZ7V`yeS4ghf{|3g=q)RviZD>@ zMv5(gWhv*akVtF~v$qc^_7!@U6TL(x7?aRTWQ|M*1J6RnWF1%^VmCH}o)3oZ19%l} z#t*yhr5?pQUvCwM;$C`B!ekO#we5N5=>M4BFNu&O4w& zax}jwUqvP~#!?NS?we&LB=k??)xbxIc#wqMh1OG^NCCTAC2o>`E?l zyG+@(7i8GQZG_Dhc_0&Bfua>3g&uTT3RH8KjnxLc&Ez5M>aYJST4ICmhYTwnOO`S2 zGykfY`Tom*av6kXc%^K398%o*61H7w1=4U;i&|5wwp2GL<(LIH5q`B9`&-!iF+lEN zzOF{%?pwu&VpIXDL=4^>j-u9dL5c@{lD<{jp7Q5J2i}tar@Pz4hVr}1kO}y!kQ><| zMe@#WjGzab&cD2eBi_XS6ayu?cKeVbq+VWRuo20{BP0uA*!#VP)^_AE869z0%oD{= z;!9IVstwd{R0Ld_f1)%C;oYW z|8fw$SF>?daJSW0+&)M;2R^FQ@)yfrLVx!0ckKu81Jn*;rNF}~hz-6)6~p}0$ZMx3 z>OKn@LUsm3*N}5h(`+6VDY;DQ9gn!VT}taQ>Pe35iPQAalDOb<4)Pkg{vl$U*gsT8 zDQO#SK_kb&F;V0R79&o>^H54R^9hO^8Gw9n6})H0me*6!Cv9VZ z@)TEkF>i%xir#0jgYWLzSb;I>K%3o~#W7BVLbN}pK-bI^s~ji|6G$0@O0!K!5JO|S zInnhv9s3{Ze*Kq2{7y45J37cdJHjdJ^5Sr=K<4c!yD%~IxQ-^1pnzo>_$6FET7AwugsT*a>{W5*)bv-lgONX1#YD6hQ@BR|Mc$mb(N@UNjK>V#$3F|IpKyjcEB_O^U!KCl;)xXovZU z#90A$oPA8?YIKHlXs9^T5LLJPK7e-^G=U3jUo(jBu`Yv-8~qm~NPP7NkL~)`!67@; zo~kQH?abENZ(NbS@~U!0%d06`2BOlCO7g^y=k_+R%g=tl(R+OqC4P}irsYw^>z z+PQB64iR*vwqmN_x)jeaZp7orRWXvGb9gy_gjxKeJ8WaZQ6(tAC*hJRt}sibW=560 zy@D}wKCOPm#rWy5y0MG>5bu#a0fK{y(Q$gc!epD632X!_JE3g=26G3SJkgLNC99dfb)Z9lP@(t}((ZPheS zMY!ds!II^^1%dPf|Mwn3sgGcB>v|_hp-ExoryzRaMTcC=%=(0Y6lvfWb3V6FnRACx zPseSduWzxTj22uULE(hhi~6!2-H#&v=i+%P?rPNh?>&2;)U@{qT=EZH2uDK^Ls|+4 zT`wPljH1++>5Xl2vJw>%20cUNLwmy}=#J{f$KwzB@v_}{(+z~FtD3$0F11cHo!$CN%`Yu>+-69Gm!+IKuL|pM8yE zsB&$4F`8j@h(1C;njOUTmBI5V%@Wah;e3adGU{Pf>VoYARp6{ETs#IMR&H%~jB924 zUKjpRSc>n!p4u#0t{WwCx}C#^nk4kf4eF|^!Zw;9zU%|Miz?5`BKiKOvPa)x55Rn%xgYk5t@C!4Um$j-cGU8VN$q&F~#WiG@?s0kbzX8 z+lutzHLq^!@`I=FJH4gfAFaCR+~BlW8&~+G=qY6l!5w6BV`ENnr|oT%e?;lBQyYPK z^xFGbR$HmH5sv@<(8SQ$34U{@Q)0cqpW;8CBm5ZUO80%cie*~^%M?v9FZI4|H+GcB zKUn@SXyKjC|6v!MKO|2xb&X$1jM+S+oaR_zHbhk`a-9qPB{;}ZZ15xOUnPG7y%+r3 zXOdG|J-8}bA`CNK@25tk1mp|nqS)Vsd;p-P|B!ZBBXV!m7^AFx#t?Kg8$FhG`Cqr} z0i&4z0MgNaMf-`9TlY#leorRXN1ECHI2CszPxS59(?&IP_>uc`E_6- z?sMFs9Y)}qwnmtm_>Ls<%5bb-(Fe-%-ozRgRsmSFXLp_Gi{|U(dBX(Mh!yZw^qm&} zn<4#4zBlawwphKSaMqONb2aWA1r9ItS$+&Y`~T4P?0}?GD>;o>W?i}Am%P3M{YE&n zFx6!m$++f+I)!?SAKmpribE>0qdp*iCWL#NFl@VQo$#aK>ffH`XYI+RP7Om_!uedG zYEmV9VIPyh^paYW6Rnt!Kl)H01$Tw&DOrZnzSp##AZtg>eU52-4|c!)lTr?jW%8Fd z+}$g{c*y1q`;g~!)pMUdV7e|;b^DAiWy{H|j!m}x7|Ms8`(X@TaTx8!IQ-gXTt3%& zOYI|6o}^!q03<|W<{vVt^@Pr!vzrSB1$fkUG6fiPlma1#5vNM9=)iL4Y@wD9e z@?F?hEE|~ule@#Tk2nf z{=GkCUk?U#y`ubDty>s35p`L>R?z(2u!9ttLYekFGY0BPY@l+I`~JR>*HX@BOUM@L zJ-vip~GeBO2MEHbnbRkgy3!jIP|*K`p5l0(dc4H@`irF0zD zKqWI9MtFM=^rpK}YTC|y@tB;%I)i6Bu@Cf)tZwm-sMgK-Sl`-$_K8`x>Yb2i@@|yj z{@y8Oi;Op&#*HRdnvvpI&P30By0ZSZD0P~A#(T~=QFWzX%`?o^!pWcWc?^9q?3 z4=e+`eUuHZ#NJ;#k1lnS6Q6M2JN(bvR9zf(lN;PG&C7y3M|p6`d;(;)PYb^g&!&63o_^SR|{$S z)rf2toW7(jz)_0nNVA2{;8MW3SOO$4%Kw^S_;s$rhhT7RpY63Nis=lu_-9E8W~? zD!DYc}0138O}yE&>N-59qkGD zj_kp2+_-DA^;S47sLB?>2?Q7Mi_1mbl;TI0*g>gFrWDChgA;7CZt1JfJmHb?fCcEc z&2rbxq%FETuvC}8%S)=A&owQeuDf2mE}@;c1P0@e^-1ljw5z&@OWOe%`fzp;YW~;ac}yDV=w`ra5ggAz}$dX)_9x1^0cP z3K`C`{!Z`Q=$cp{nm27;#x_PsQ7= z-zbVo-0t6pEYyE{X)wfgqBIG@aAtmsIAq=hG>>i}i?oP5L&K_d#CplpP8PzZI-3lG zbaTi%Nr*LD|5EC?9-E&bS5~nrqljHf2WQeJP^Bk2_(uBYg{K+Et=SBooMVW!$Ltk~ zA~VUPBvfd_P&8T2`Eq=>YN$o3r0{6N5!sh0VeqCs-lN+orrSJI?mtG4%3ewiWbW$e z>Re+|hr6+YdZfxm2 zqQB+P#tqmNL7~g(-9kGBNr6Gd? zqb!FG!i-*`)mIGv+AkpuNPaeGN5Z<0!0JK9IN!=)M(EHnz6duV6;g|C5t-pYt*o9W zG`jfA_`2lP1C!?R3DgY#jc1WFAq;!r8;b*u-S}XBZtOM&X-ZUk4#^3^=N zx58igp+Gn^=5vmmO+fgQmtnhDy&x2=VHUhQxC zE-Siz5TRml83fd_oSil8wSY3Q=gj&;v>YEYZ;8l*4@!xMmXoeGZe?7H#5SFH!lsTl zqO6`l>v|&r=H0w^{60BxSmBP#^Lh!K;mM9}$#^aop3UZj5%`+rc?i&uIm9k2zEE6& z-|bvy&7#Ro8S5<8O50Z;W+WgGPdH9V^TVY2{xao%O?eoG!ylALD|`q|F(t5|A@K76!dDjy7-Xi)hKq>9B`;?;? za%BpaN6gJFlt+n{rfC9ZPt$fdwWk0G$?C#V4GBpon>3ZA!}Vp6{}`B)hS^oogYxmo zfi;mxfuEu2z#65+wVxFtmOb%90>g9t>0zdxXB^_q2_k46aC3hH4O-rvuzx{Q*vVj zrZ{?9^<`qpCU71LA&Xi+^3jUB_~;(WrQa9~rd1ep+i5aeD7f(+MW^%Kj1bC(rHEuJ zz)oqpgwFUNgDJxV7{w|QtIWyd?IS4pS!B4rU#fj_YOulz5EsYxouuEwWsq|WP!Jz~ z?S^87kX7mC(dbFaJf;eJ#~Hu#NH;SS(OMUFHn+B54DsXJt;JNz3oc-QMoU)lec{XJp&&~UFnSWiEK{<>(+~#lCUM!_uP@sri#^XvKXlX$5R!1FPE_*o3-y z(8#4sXtN_*B?hLW9;4gj*xfs_ljQ8mfW!j|cGPw&#`Q)Q?#73c4dY%esb*s6wFl!T zop-l~MZ@pz_pFGDMa*PlpNY#5rE(rprk$d}2J~4&DbccevRw>xq($wbvM{K{qIpQs{?*Am%Ey%S+Wc5m=Y)^{gp-~GH=WkObauyT?pI?H8< zz&vBbb&`4K2k8xaf@&K;gv4|Xj3vuBqe0ZF05#^jr!BH?3^d_8#op_#*EN|^X%Kur!=?%m4ZEL7qRmbXXi9vKx)+7Z@5HJMDtnak?gsgKwM2()t>O#D_jI+ zWhB_K$me8c79G3s2J}U13zd!X3|KC`^qvS@ zY`cO(VezP37Vl>cl}p{anWXA&_iFKN9==Z-Pc%`RBE~OA zQx<6VG?K5WK`5CC$VB!Ee`pq=zR@ont;vr`)@Dfeu(&Gfbi*_OEJ1y&ZiOskY(;{S z3NXYGtQQMP1>^SF%43@Ym^#m?`QsUGsa8RTDX)JG`l@RrEZVmx} zlR}OlH?y9AQ>+&|?SalocNRmwaWT2&tMJOy=Th@#W0;~UR$=B#8dGVQkG-2PEU``4 zxo%FK!QNs2lMRUVz1%&$?+Nhk>fBYDE#0^ zN8T$x$91iBsL&d0KxXYJM;*+A6$_EXRHX(00U5_CjGstMr`5i&=O(bqCl<-P1kzSs zK~vwWJb;H^zth*G^D@_a&Rmiui%l z5AZv$tY9S60U9#;NpjqHK2%g)0PMZWWiBL!`R*-zoF9tx?LVPjve4S}Y^UKg<)LxLOk|xJC8LKj1F)v{m6M4VU zoFr;mkm|(QY;)_dWN(RNgFGYAcWb;)iW9J}VpmiKp7=Y~3Y8xd)B+Tuv$XUan;z^i zq$cz|60=KbFN0|Tbl%vTQDquir{toWFiGxs&<9t!n*wC~0txXme@Qm(x=z%GtnS{= zX5#&g4vZF=2VQzD#ulj@1SKXDHJfhL9bK{k=i|$Q!24S{$LAg36U6Kuvp4C;2rFOf zeG#J>ng9uQ`!aYy`VwwRKEd=ouc+2K_m0Vh-#EvySRS&oqWpK3d_l621J;xNWD=uM zWTEJ*B{!~st>{K!wL|N^e--nutA?Ue{V@gJpOZLl0xLf;1_)U(4wAX=0G9)Kx7>@D z)187H0XO>bP2?N&jb=kns&+hHkFsiB6P<#x$4D*&s>Yw@+;F+?aT+hjo0%u=aFx$f zeVwjiaH#o*xHri{8TgU$={x5958}m&WqmQJ=i^__&k%panC7S@Iv2aHPpM0-BsnYF zdVo0_a^%}iKz7>o#tIpH)i(89P%t~#6Z$r)6Pv^ATf*DA%HHu_-a}=0b!$Gk3V?7- zvWe5?EFZOwn(q_sepI(*?F7zeyQ#i`*ap<_wAQQO;ctvmi=(&T!)dRu?*Tq|olfIv z-3OfKbfSrq-!a2)VraHqu}B$k*rY`RduoL1*pCbk%3_u!bR>VHqMYT7m}x(u0!~G@ z{h}GX74WjN6HM>44?>L&41==;4L<)`W^F6u@mCW1 z-}28L6y-Pa!kvz9$NKw&#tWTXeKUfOMG+D`mnFX z$`ad*&T_4|$O%Wo;HE!JF?1)hqBW)2`um=KIrn%0Q_ zuE}`B3D706Do^o)CLFiUq!TiRd>XSfEcC_4Ng@D{U+BQmPaWk477fN;;zG}cJ`E0= z-@mG>G(-s>{k~UjN(RWJL5po6{LL(!Vcl`bW&d4W1efp7*}-q=BdF+0d=-p|8Ga8p z_$v)uNI2-gYxykrDi%P1l2d$mgF0agsr%3G% zX5l|I(cDtnAj9D}hay_o(3D@g`Xan*3Lp{V;stbXgDA-ir06w*#xSbuD|dA>($!mORs7PHm;o7O54ZRd(jP z_b>R#DJH2_O*2Bm^kQI@=Gm@5M2m-&0ABpR!0P;u9nYGSKJ5IrQEO3&@HS0bC(-=M z34~rG*q-1%z5y%sqbN6jlvdFaOz3nT0c`x{AdXd(NGsmRqJ#e;8v~;H|cP5qJMv zDEW0ho)e*Lq=Vj>mVMV%FxM7z+SDeV(Kv3^=|=A9`rhMzy)?o+JP_dygm3p7EE^wO z+k%pj(oE1}(Svij;&MqQjy%#@C856ZaU8%twVxLINSKBFpTA#xI>!YkP z`uNDp54>zIoA#C=1tQ(1iv~dIQopS?dJ!D$4{tNLJljA2M7D5o? zy;l1@;lNt(h@F^d;bX19YLbc~k4E`|F&?9jq~>|f`0;JX)V=mYFkw?#AMRFM0BqLL z$)a;-+JJ@9K8}Ceh0Mx;Ob4!yH{sxHZuGcS!v3^EsxEING{yez)~lapIJo`UBiMaF z*(%xQ>~4^0)1-^8ZsE9De|YiL9kT4eMl6NWJZmpC_7l2HF_4^&qM559piZ| z_1g1NUY9do$l(TYj$Mo+cm1{>M@*3|g`59YzahFJ(#RLYWVbqL)NPKSYNZ19($yFD zdM%aX`^9cS6mJu{6S;%DRv3P%Lu!Me}A;(5;Vp%Yf_$XUr_U7R-H(u1gzZo8XQlG ziwK6GkCCTX#uTw@pLll6-T3DgbLH@JL*~(DGboS~WV3IPk=aTYd(VXnSr%f9rQt^) z-#tRuvwSW+aW+(iHdatyT1G34 zdOUNBoC63Y30sY+_+8?Oq)fiAJzHVOc)N5{)VV^Dp5IHokDN4VRa!C*n-8+T*Q?u- z)GfB|H(9}{&xZD3*){Won;r-@pWj}&8JyNZTW}e-L zXF4?b>5qMW1~}cZgz5hEQARre-nOH1KJFpy%DJl`FJ_C9AKy@4eMv@xN><@{Aiod! zlQnFT;>sVWvMWx~K#vA{waLLhO~IemgE?uTKx;c^pd#U1Ho^vg#jsMCdm1#aW^j&B z)_twGz5X0An*(mF=ZopR?+yD)9f6l;JPWURJ9D@r@~a}LIuoRKvU%n#`Je^A%B-Yt zKvEx~R!!!4mKF6yxgKFGjZ>;x)jnTs@6@6qt!lwV{pMj(+NPZp@q_4&Ko%0dRb?|4 z0`+<^57R;(C5rui=tJdeTZyo2z<{sAwhzlE1wHg&@{rbX!mjOo%|ENX9o6Mk0@3NB z%=;iQ>HEKBkWv!%4M^+fq`SyKjM06^{&!4$IjZGB-(nv}C#N*aL_tR+K25wmEqcs? zQxj~g)w^lNNY#I*PM1ECe(C$&5I`!k@WhEoum*asd2~0KA7QIoz3QB|Q2if0-}u#b z6bB>)w?92#!f)xV!(Ao%wm+nz7#Dc;P@pPfR=joNwpM1|R2{&aB54)BHK&?6QQO!A z*NBq0p1p19WsU8&N|B<=hNl*$Mw%i)3%X}xOGT{o#gn^`v#pn~D_V48fZ>AToAnWu z!&D=ZQj_klnw_RsMS)%*TKI&$PlOC-ylIot35Tx6yWxNn4R_ zDFTR3`%SP_QKnyn$%Cq$Y}dkg6d&NYkc=qwiHhZrAa5_dQ3BE%E_}rd5kq9NY$0t^%MVuw-#g4 zD+p}uTWk*pDHbVXt(>{Q+I;V_C&lz)6y`EqgNkmn)DE?o`OgOq$SduAl|Z|)cJ>Bo ze{K3@tt2`K$UVNs1EKy~Iu?Sl9r(ZwEVsVXB&TQ(L@3FZ(`b_}_(;eNQT8%?R&5kk z%ZS$>ZipXhn7d|=o^JfLR9$2n=HX;xrmP4T{zZ-JfsSn>l9?hGRX8q-h}$U19MiPK z7<$qneUf``w?51lM$@x}ILxW_N1O6tTFM0N7r-R8Z|2&J!N6jp_&CkC74v~UL$~Or~*Et@r8CeFLc#x0uwrtSh7tRn5 zER8}MQX?STUK>sAGI`T{F$}J7)Xadh(4mTjr^d*t(3~Rwz)BvD$0Uu*DlsW*_#`HW z1`p>LXjxs%bJjb%^Uf(8bf+H%XghTL*eXYnpZv|h#3=yjZ0Ln_kEWt_L=ZSqJ^}wA zrJ#E?ej||JCl@j>Dqhhl-?QI(;15l~+e%GZddMs3G&n$JXmCt<*tG{jkt1AtNw~xW@ z#Yfo<6c{d)R@@8hiG%$Fr2baZ-;OFL0*cDJfwgi-hR{kkk|!tc1Gij32p_qBerf)C z65@r&hsc&sPs0!xwqM>?Us=Mgl1NjL ztl{l!4_LHZ+fvuXoUm7RayUGqAWPW1*#coz&_tcSxz&QzH^ZBi;%n!1pnivA>hJGY zDB8EsgiT31SX;^_UzcW0^*@DOZ#XKJ>f8Bq>b=eio3yn>%;Wz0LQK_GSX=MP;#hh! z>cXe*{4q?qYd~hs!fz)gb`R4G0rI)MQ7K5B1}6Y)zwU|0qD(|ui(l3_i42JssO+0B zJ+~3H5w&AP*M60y=;)m4YbGO&N0ORY=D7}25Mq2LT}MqZpkR5L)vo^MX-Vc7BeQ}& z0cpsu@LZ9mm6*H$Es;4Y_NcYfTfxR^4_`GGsuB}7hQ;0WSv6{h33t-3PU<({=*h~I zRAQfW+EkxpP7}wE2o{MD1}7E&OdEnwybx$V-Nmkq%tWZZYq9K{>t}{l3wnTh+kQ#a z-!&wwDk_g_BQ{9e*IC+U8`?V-vpE7*V%r4-vueHxK}o+uFpMu4%vSN^hR7x!@MEwL zRAp5Sc%>KECgi*P>+E4F*7xJGm+=7;LH|5gOT7*eFd{iUODy2c!JeLE{57bGt&;DP zQ){~*Gg2N|x?WLsu3b8_tn9;;j@|F=U@)6U4(6U_5zvN z%MUfB=GNfzXwTA8E(n6x@ldb_#}fEujYwSnPMF#-8Eq`Dr!{*u^7#topv zwc>Gdyi2MnbT>$OYIfQmww}bFEU#weIBa_Fzirpt;dR$YbE(D+s8p_cy}9!5!0AtJ z#XiQ*XGCeYg9@0_a%3FG`hA*c$DD>~m(c)kHC^-mcH%SkaYCh(d25HI{Z;HBikF4q zxxBPp$-34%hc9!&q&|F^yvRGhfybIT-HzOrgtt(>>+QmzuZ`#Y(-5uXYYC(Sh<@-# ziRI&felK?T(d4}#q!27)#8jC%q`%8xHu7!UC*rZh_`L)2kQ*!1?b=cZrgf}VpUYC5 zc9dv?zOL_BR07J1H(Ar^@9aieM8h;OTR>I~@&Un8GzG%t3cU(1#Qv&24{i&dF zBzj>U_`Ra0p;3XfR2~{!)sXAVQw;X_IL&RJ`t2k|CE=fa=hfhPgKL`rFII0gorCLS zBksIj)&3K0{x;l!OQMF14np&fBxy?Dj_xl`97&oo3UR0sSWFKR?e2e{>-08O zpDYGS$gw`Bf}ypeX#};$8~iCLpVn(yYWb{Jc|HbhbUwUabi;^B1!Vb)SSS<9KwuuewzVKM zdccs7^SKg{SB5!`DOZ3;+8?y~44Q%*T=&TU@|s1Zmb_+;g^U*9*qQqah)JOA7Truy8D~(@}** z9gM!I-l3Jq9%$p%`TS;pWYC;6AIVm}x6{2~z^aut|Du;2{WZDExrS|-J$IZV>JJ^V zK9hQSLdKZou)WOdDBs1&FXBO_EhL%0Aq6+6(T#@EhNOZE@4GkmFM?=0sjdL(@rTxz zlTq+(N0k literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3aefc72ad74513850a642cb55ed04d114c21fec2 GIT binary patch literal 3742 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 i7B+0QmK4M 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 E1HtJFQvd(} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3e09f265733c8e1eb725496733e6b03b2a43f725 GIT binary patch literal 4081 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_05.png new file mode 100644 index 0000000000000000000000000000000000000000..a168dbcc1889ff3cb39a3a92db492a2164e0f0de GIT binary patch literal 16343 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..18d3ae6fc22f26a93e6fdec6a357b08a01882fc9 GIT binary patch literal 4549 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_06.png new file mode 100644 index 0000000000000000000000000000000000000000..c521ff200017910ff223bd997e80ea0a9aacf76a GIT binary patch literal 14818 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ab7cade70dce697b5041430d1e7130acbbe0848f GIT binary patch literal 4322 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

DC)s>(i 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..de710f6756ee24304ae1c04b20927c8e77222e25 GIT binary patch literal 4764 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 i7B+0QmK4M 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 E1HtJFQvd(} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_13_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_13_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3e09f265733c8e1eb725496733e6b03b2a43f725 GIT binary patch literal 4081 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_14.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_14.png new file mode 100644 index 0000000000000000000000000000000000000000..a168dbcc1889ff3cb39a3a92db492a2164e0f0de GIT binary patch literal 16343 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_14_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_14_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..18d3ae6fc22f26a93e6fdec6a357b08a01882fc9 GIT binary patch literal 4549 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_15.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_15.png new file mode 100644 index 0000000000000000000000000000000000000000..c521ff200017910ff223bd997e80ea0a9aacf76a GIT binary patch literal 14818 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_16_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_16_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ab7cade70dce697b5041430d1e7130acbbe0848f GIT binary patch literal 4322 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

DC)s>(i zh7YH<_J3yiHM7Q#H*O~Q=p#;@LZRT$Ag&9BOGL`C7|hFX2QZlnt@d!3HDI$nO6Awx(>Av~M~3()J4$;iq=qd_hw zC550Mwrnx3VoD?o9!z{Zix-obX=X_lW%_g)8)P_ihRbC@f^~V3sc@IGE2qBR(EmTOuP_w1|rr&9BNrgoZMDG`YES zbliHe3uf8d-E>fBrLSH3|idjcnb@ zv}uHdFmNCxB^V5h7=cd5wrxE8F!$ZZ%9WIrv1U!L@vEkW)>f`wz4c1h%(Aniz8=8E z1&M^@WTaB&&c)lCKmL(3XDBY_zya#(nJ|G%mpFG0KR@ofkHSKx1^LldO9ah5)gn~&dHOMma=7w`Gr}6xVT#n z{g|>MU0!aqtf>i4PgE)f3?L(enKQ}GX8d^e?$Fg$8d5&qd~8ypa9_D zL1Z!x9m2uEtja7vMFlDqp`kZV(wQ<{7Z}L(>qsQzI0Nlqp*5<5H2p5@FLGYhi>Lx!+x7Yz+JrwIs8lpG5E4RM98W$;aWRF3j2eYp&e5Yxn1DvZks~-dVr$E`ZM|dFW5$f1 zogg;RtcVCsonquje)xfo4)l6LLYO+0L4(+~jpN68`f2?9h>Bw2LX=8Yt>UGZ$jd{a zVC+}~0VgNE`ihnobE>isMMa!AadU!+yJ$2TN=g_xlGaun9MEdf>B!0=E{=){bz5@ zL!qFxmBK>KpXb2`k;!m#Gj{y7wJcghXeb*tpw}~hK6!b#xG-%Rd-tMJ(b2)?&1Mv3 zDQs+Rc8c!o{3|J8zyM@2ii-&iW#>+S{Cwi#&}bMnincb2iYO^z)F_lnZrmUug7$Xu z^Rc(b$q5%1PM-YFc&+zfx>=r{R915T{e1TwVPQl>Fl-nB0Z64RUd+gm)YPzS8Cos1 zwPa@_m!s3s+)R8tjg7dwQ(H@IEjpbA{fJlTyf>OzZ2`pNKl@(uq&5D0@rKMC=QBgry7$ZmG;(|(rhX-C>BqUH?jPtTw>Jd^tXYGP zPwyCN{Wsk*tF4Xve6C;T-FK;};rMZe4`XZIAJ1EFq1EE% z#;2ds(ZTlZT)xatKXLrHxwTlFZkgrb!S~;D;|2-^_V!GhhLaOdJV9_U0|%njB9$T% zQBZ&&@W>+^I%M1fpi(h)D#^)=8)uw)?NxNkEIT_A5^#2A$PhX@P$+0_Mx#M2X3`|4 zP2>D|Dl3VMq^1Uuh`Kr&8)c##t)h>d0MUbI>y5+WjSaUm%QCnvKC`7P+KS*K6a z(LqZK*RK;8h)9G|No6HNhcajoR#udklahk9H9kJ*^#lb`UQT2r?d>!+;^&90tyzWq z7IfFFfdeTlq`I1{Eb{W$xs$acMm#Ux`eeguCAz5SX&zp@ijKGd^u;&VlW_;;_J(qGvwrum`G6(f@v9Y~( z+irIw%g2Z6YC1ZM6YW!`uy7$)u5jW6Vlg8}qSc~Q8W*S?9Eggdu8yakV%#{h*8ex9 zyJqS2h(yR_`1{k|&Z$#qH2mpLNF)>%A_&HLeg_BI+i`X#HJ--2BqlO>a<6uZ?wjT4h*U~j8&|LX=dhlS z4{|vN4j4PKOP8pv<*$Fm#ii?qw(n-Tdq!F!!P65UJRDnFu3RA~2*BPRy`J`V+}s#D z)@;?hJGg^w{uLGIbeukoT5YtfqJs8zl9KTC?R!pfN2l+@!?CeJuSYEAY}04tB8 z>>C~5?8BU(&w5rjPiARHLy4b%HCMLvGcQB{qq^isb@nXeB9;1Q7|*st&$=;_`}qEB z$b|b}Lte^3V&9ERy@`_1nU&HiC`=rWh-_sPwS5)Lg+t;%*ybDb)I9e7^8Ul9N3KoY z(pmP>{!6t(kI{h9mbCZFeoNb}HFS_PpXK*9NCXf$QLL;QNb7gNw>oPPztrMkGhBPL zmFZ9oqz$}YBi+ttwOV5}e*O3_Uh)Kqj*OucSoS-XD7@a5d=d$`^@JZSw#bBoBB_g5 zl{Be0A9%g?Ch>UMPadvT@`RiWH+Comtnb(9o*)t*&a0Z1=NbNJCojjVhti)W<=uZV z>k6#YtGeCf38I9wIxn^6JsjBlr1lv8`y)DDbdQx3#)kEV3k(%Qdy9Maqm z3yeh!3?wiFZ~jU%^IZ#TXlOvk1VQ-T^?iN&eL3jqVR4|rVaD|RW=aSaL3Me#oxT0- zkbdXs-)NrxVaKbZr7ILp@3(XG&CJZSwf`(G`d>`x*BCYoK}aAs7d1g9vPT_P%js<$ zPmgy$Y5g3#0v}FqvPqdJ2>pun)f2aj+z<74^Yp6sU~( z!cA9K_i|g^|1XJ4=grn9y1?s(ngFh=zIgu)hRaWTdwZW~Kd}0bG04Yp8aJObug87w zm1Xq7;r(#FLnG$x+r+x;yACEQudEdFJ%M+c{S*y!Xw0=P)>ae2 zu(h}U=6<^xLeSIu6}u|W`u_S~P5Y^mpWj_~2v%OukYUdwO zWNkjjLjCO*(?;K|M?_JO24mon`?~mEpRA1qJ)Y_LX_u(HM^W>L0wLgf?UPH##k57d zgpmKW>uMi~y7+ds$H@VSsrQ@}Qa$MQ&%jD?M@PWPYBzFgBun`*O)J@%z6Lv%40bMfNnCAweWw<>KV5}BDzcqDp!ga!k4)#Yco+B)y8`~`KX7glD@?lr~@?f#Wqt_;$TEzWykOe*Hx|i-C;c%hJ=%a7gxURH3cf3y3%m zYwIXDQyYr6^MV4e4>aXztZF`N=lC2Xpmazl;=U2ZQJv0fE78Mj))4ErY?#HfVh~g48Le6R6I;knoW!zlb+IlN5dHdUAOd`$Y zWRN8<+o<`&?o7?fzn^pj2GLYoUy{_&ypNZiBn^XhVH75$lDqTs^8#by0HIS>F|oLK-}Q9Yg&fWhP)8L6O3?my3oA#{bCXk3 zz?zOr!|sFx3+IjtJ)-v;3Gyhi9ph0|P}|Y*fbunwwNR2FFKEMcD&$AilC?_;l_l8!5#0spD~`kJjY+kMU|4OO^)9QxJI z@M%QrZGY1vJGt4FtcXd?QR#0CCW(oPqH=a0WJ=qJ`>#X@aSQUFj`$)JZTF?e#CS z$J4s_fMF^bo~xChCsZP*^A0s583LtQ)*gH1rG{jx8T^|WHn}(i{{=(YuM0^u1EsL@ zBFaF7T$b-qzGRpd(@{{U!@c|vrEeB+k!}$O%=JGV9013n9MVu0<%^BZOPOM5*@3sa zHJwEiOOZZ)i-)tlm$;G0{ z#ZkXUA)3hYJ#eij3=vx;vil_o1wVD0Vi7CbA3GcmqzZCj6**43S=3B0I8ne)ul6qiw>WktmVxkggE~o`j&t%k%vkdA2WDcpwDO zPQA$H_hy-v`QnR7U@f`OWh76jp>%PN?>L#Ms@WV2wUDfzxBxhPRp3<~rBTj{*&{W( zI^P@Fu>z^UPEmSSG!AG0d=)zX^th{5#-i~vMvL!&5Fz1;jW9V88cl$8+!$5-7r7!I zw?F(`4~rxer^DOizoBQ(@@baC@F9CQYNN!6D!@T7SI5adYDO_*Nx{Zp)72rYn-_8^ zWmMypiV7t-7dcBIH4lW?`&+waKvnI*aB$3VSoFjW_jJ_6lA|;N^J@Lbp6VaZOJQtP zSL}W$f)C)h-_3SO$}U|j|27y90w@c!2GwR6++A9X&As7OGgzry26>58eCdbGoWFec z(b~0?_ZhbkU<5GylDY?ngN7~UKw@93Ayi47mjYO^%H1`4Q0S>56^s>zIg8F!JyFtn z9E!~97?CMT)!3CQd9M98Et4pMgvmleXg&5!Edr|A`iE?z%=8@yMTM1h`*szNOw?4Lj5`lekP_nAjJnAA?pp!LDcYQLkw4$q9$%LA4cZ6WNS6cwlpN}3erui&@Kshg3()_ar*DT&{f#o)3O>~AZr?*oD-0~^1kV{yY{!czy%HwK% z4?nW+yo!$}P4rbQ1S8=>PrDcsE#yn)-%PP(v@>o+dt{NdRD|4^An1_0O{G*@YJJ@B zKw2+=i&kG%B0L0bT(aH-sNzj9-@4QW*Jkb-Mv1>Q^kQTqwWOCQpNX-N@wC?@0YAcD zV7Ts$ZFmk~aqSB963=fVOfuYALiwM5-s2H`N6ny|n| z9Hc3LTZoeo(X?g)Xk5)6$;3uMY4R7)f22E`_RarPSwSk$85HYROO8mugvUA%&!3Rfp5{ESWqj@9X;1d>D^{=n3 z;kWZDJrwdVTcOd)^!UO{c6W{mmzJ6!J_G1%+<4wzNcDYV%jx$?G~Qo;1OB%$d(&LF z#k}FJi~#jvl9K$$oOY!11MO067F92b|3bu4zIU zi1@h=#ph{tlG1{d82d4C25+2SoWD52C-nry>!iqZljxb+<(2szDBrD)zf?b z{D^+^x=%qrxbg=Z=F2{9**YPC7By7qic|Md_mO59@=et=4W?(#{=0KuhvG@FiaAfj zsA%s_`7Q~(H^cS-or7v!!bxH+KrC`5Mov%@ougj`Q5w6Zr|)fv!#!O*wfRmllec=S zmB+}{K1n>6F1~$^a!z$#TwtT82*IlXgdLTFj(*G|HILei zW3ndO-0~JGA<=VMo|{@}Q%B#aI7CxbVP)sfOrel2n^zQ+tL0sC!_t$^&^S;|fQCQW zT$!yv#0UA5p%<&UYzGCAHo;xbRWV$k_I)vl{5SjoXLWeM%+pviE`Zn?{urVT?IioI zuBY=1o3te0IZrcQH?AQ875Tt=qTnf@`Spb ziWv-io3j@*0{3F%H+&?GKyikau_-r5IxO@|6wm9E_OVmm;UQw5Q^E+)s5k9n%2kla z)SeR%@Bm_nHZutKy%%gadUI!JKuNAZBcSwyukF=Lba$%78Mo35-hLQ!Q25_xyNg_3 zzfj|u#IaLaBpH=BeetQIDogD$1>oQO8e3!q{9@-mM(sPnvEw32)~sraaLYaYf;=y4 zMW)p0Yw|I_)ja(^T$SU-Wv$ZQWS!P^s~u;ET+g*b;LmCwMW%*EX$%T=voDdOs>>+) z^^WG&GjrZ{JYAHylKU17$|~1_jghKJ1%s;m^_(OuY!;33?k(-O36m7Xs3rXBwJsp% zx#$GvPlo}nMZol@*_R20=n|ZcxTYa$KI*Zjq+{wl4bm$(DPOhV zy}TkJOQfaA8bs_Jp-b4PU)_zt4);Ri@1nPlUHt&1sHfQlA9#MxQ!=kCSibZl#{W`F zulqA*qH;E;U167|2X1>jI>#u3!V7BK|5-g)OnS+m>$1%S@7coVOmeSbR;3wR&Nd1a?4r`8a2hUTVz%^rAuslynmU`%5hg6~36r=tZJX$XY4q;pJmHx)9@gwRq2u;|=^%&%0c zN{M$F-3n(vP?Hr*U_mS)8=9-Wy)T*~4H4F}@ABo1sP^1-c9Uj#|CG~ORST-PTg|b8 z5a}gORxnhX8vHza}Tmu`uL;_A`+^)H_@?B0DTtHjW&uI0T& z&O6m`eA}JKRwRr^o(7{4n4ZzSzU4iZPz=~&9!oGoPv-#Y2j2mQF>+1?E?}zinyukJ zFwq&4=uR+_8z4kgfsxN7e3RNwfmcif;Kha*Y`UevQ- zaMC2TRypg!odt0d_`U>9ZCmGz(oz5+QseKVmkiOvyWsr|7{;wa+P7V;S;eK-35|28 zIiPR823R~@F`pPIc!(f4v9K3J1jZkOB%asf9l8$i*0u}ilhTDq>`xF!(0C1t*#aHI!ejdn`A!s*c{R-FQxGi+EV+fNLR14(wcL{RBWWB3udikTzw)}fj=cu z+%(Q;1gnkWw59BibDgO6;Um&jYSu8^h9fF%P`bznv*NAoPU@%R5n^Tv^KPGk2$R@N zz?P^mRdwB2@$aM41+KsXGTuqNePC}heIO8q!>fz3v2_I>om!@0mM&X2T50DV&e+!H z-TQ?i1UC%LrrG}3>iNpr#nGI6YS!9Knp--|H`K(YGTzViy#k}^gZaT3Tax^L0xX_+ z(A2+(hgW+RE{h)Ptx)b-m;Kxo^hq$M28DO`v}*-HiwOjbY!P%&1UQ@>GQnm2nRei- zaQq$V4)w4F`q_)=CBv{`pC)n{q4CH@N+NOmqEPTS8l;5$3SK;x7_FUkARK~@!Ro^E z+udbalFZ9h_ah!fc-%11XGL-s@81hw91r|)I^GyyD0q-tFZuo}0oeo(ogMSV5DJ2( zT!tB7`erUeU4q-`E5yyWyMIi`C_)iz_$~SF)mJ)r;{VuY@tpq6^@d2m{7H)y9KT1o zr%9`PpU<4Z6qQdETb}g&+S@*cTM?J(R9DD;z62y?O#GW4|tV zNzNy7+!3GV#^PMTf!4#O*NEnyX1PcnxQ1eOfzZ46l}u4BCPK~}7sUe;o6u|b&(OE? zhO};%^-T2+leMzZJ-3dDuiaS2R|FZlnLQ0XblF0irY;%HpHs6w$+XV!F)#pPno@^F z09#B?wRnJGyj+I75b;hu8|2|?|TPd!sbBk}p@#X`O(omWb4>J3w<_$+^X)sbdiCaft;L__m(dZ8JNzDVCQ1cdSx3W zSJg#NNhO!#e375SIFwS+mJ06vVA#`uFozYQT;%iox25t@Sx7^zV4G5lcIN<;2P5&y z$+4-%x^Vr3Uj-|4ZXB?noRK#{(cGM^ddM-)mlQ8GtBN!y;ak4=lg^Qo(`)HS+>ajK zz@(zJ8^(FUBim%j?l?mF$9a%jTlss^=(@O&#t~*dW($FbSzmw00UBl|bEpZTU=Y(E z>TO7bD-#^`9OIN-H7#$EB$J#XtD4r zJOBi8Gh0Oq7z+KVbz2J1) z6xM@)plucXwCYxS1aSQRSiUypmhbP$Z%C=#8=;Q2Syg-~Uj|gSL3W?MgQgI*RB~&c z?Hb9>1@z>Gd_uL!ZA`o&q~C&jfa>d|=0e2A%?1Lw$!cH0)a>KM_7M_XJ-$!_&S|40 zqpz77UKt3mr&5;QPbPY*iXS73f-0ob$b9}`-CZl+wg~UosM=6jE^P)gQl|qWyZxyi z57+31uq-;NKoIr}?u>Nw?@kJ(IPR-w%JQLFVEBC72f8!Ni5S5YHPiKm#6E|4+h9Zv5ro$q6F`scSgNwdfSTq?KqB^5kv-*q=^fRX2&sX1)! z_PT_jM**7N=SJmLiQ;iIn0A=FFpDYIRIV8A6Bpic#QvpZ0h+;)0Z-H*fP#9%)|iA`l&V0Ty6_fS zS~_Q{n=8yyC-ejY#3iBX_Q$s^Xhca@NqvL7bd3!skY-BWH@s-9xG4+aIN0CGe{Y7Gp zL6*m*_Kmt5UoDuyIk@qmo0~!@?~8*XS;{w90z=?gEvsZ~Hn1gAGfeB$0=GUA7!Gwa zq{-AMUbX*Xvh-zW4y{;6Mx}v6d(yG@?ixp!i{23~(y09-{9saUu@!?M21C@h4WzF1 z?Uy}zHFh+Mm2&!Y)FkEcMMD4aD^IBg3v?&@F!RD~&)D%5jp=5C;<3+lo3?IExG64p z_2y^bP65H|c)*rGgpE>tB3)9N#T*(LEv%2o;+=jx zp?*S_0sS(yRw$#aEo3bIn_9&8?4z=>G6wf5!^3Mt3yDYZcj`m&DSSc76oCGzR zPI*>6j|D}c#WT3J+e$DlS%FX2>n*N2xEqx;lnm(pOS6=}kVSa7S?sRS2Lt@u$2aaN zIJPWahb<+F&|I3%F0mtObmCUmO)xM^?*FSaRC_Oj>&0C z>x5#reN(q}z}jZ_XIW%CFJ9O__JFhx0U$Ft_7E)V_I=Wqj?`i8;0uMyPRh$SQBA?A zlUf-=Fsab6p9{hg`|E>w#~i1aBZ$&aPOPr)@1rlq`XL|{9i$A*v!IKQ&M)C%U zS$kfaYrPC-tsgpY@zIw>Yb~-KI;5X)iOtj9`xBTQZjBg6&DwDWM2~>nn@{ukpcK}W z1Fd$yl8>oH32tAO>u*Ox9?LZCJRkSlr=V`u<1KsarP>&cv~~qvH6lew0Gw+}M6Q<& zVZF$KQ_iV8TU>}Vxzp_l`)9?6Xrc7TeR_ojlnLr(HSefhhC7~>;9$pK+Kc_+Oz!;o z3TTiw$*7l#-OCu6$k!$j%+Jk_c0Z>Qj2Zr~Dw7(^j&)FDKKM}wtJEr8tlQ$&F=D~> z3+#$LSz2e@os{>G$eMR?Mfh)zw4#dp8^y@W_m6Uvw{4O!A$sONWWV4}HzzLOFGL4r zP6(HC5+!ak@gnB*U%^M(@n06C&g;5i%vdu2olfWb^D)l)J2K`v5!1slXpzVQO{ znxSpyN6EQ(CycE!R*joqno*ob$ydxgfFCL1F)nZj{3WJ*=-2KD?ey~{dgp?3D&j7% zAwOMXYSHR4ypKuGS{FmfZ9966+#9XG+|@jO5d*UImMHgE8r2!Kcc!U8!9RJV!9l9Atv z{IlM9NC=Qgps@#~+*`_o{wPuM+Bns@0UBtL&RZ2i z);>?OF^GKXQ({Vp^^yKFFJoP6**Wl(74g+GEvKid~)CG8^$21p^+ARuoy5sz$?6r^Kr9r5AtIz~t?n%kmB>U^^ z7_uo+zGS8LS}GPX=-SB_w-H%YU3(x?t1PX2k8Kc1B)6uwH~kftDIAx~JRJd!p(W9s z;Vo1>_FA?3oH~XnYGZMA1#Zco!k02|Z@9a`eFTZ)*zUv-D~Cn#PGE-Lb&xi_3?d_q zTJV-@y&)kg#RsGZr^6HQKBcJb3^O+0YUQ%N3sf>ImZlL1zDHKWb3fXbwr6@+icFGf zKA4(HnX>Y3MK7MiocUESL)pA%0&|RL&C-gLKxFnf42sKVoVTaQoj#Gv06m==kBFAO(e%LeP%E&gv#gHZTu`b$iiVsOaR@p=|Xf8NFG%(;^s zp3}oATC=i|e0w?XiV&U1Lg}=k!Mdr2=uZ1gqeUEmhgm7*u)O7ayk3P~h3#Ce~l&z?SpXI=gG{bd1@C5FvA(roixNps_rS zYqegR#%U5CQFyc-<6;_tvoa^A7g}R=nB<{>0Uo4eBkn$`22KCu4@XPVgk+I^dJ&v8M?@(m1vK(Q-6yk zEzlNyD=Ivu$Shs8$H-?{&JT*j2H$p z>QU&^j%xbe96)xO@g>JJ@ilAEqbx`-xF;52PI+Qh-(fuZo~4gLDSfi=%nPy9cJZZyfWhN>gi7V>mI? zi+d5^ayD=R22*(Sf1#+2PT&*U+yT!KJZ z8(B|Mjs~Q5yu}dzx>j)Z3o!9T(yq~)!D6mPvkrt!#EO`*5azW&I9we~eN=WEB5Y89 zvgEkqy=-k4M@ec844*^r;`4qLPXFMvSh?{6o&F%#`|P!4`FhIW9J1Z_u{)If)Xypu zXIgrGi&uBN+LV$h3KYTnBG{6N_(-wu5q;xtBk&KM;&b|SpJB)}-pGzvL1Nz5sPToF z;)u%ojJ6FnmL!68Gfk>+u_mvIiUw%)MYf6d;zn|(k{%3F0{^BZ-M)k!+qIpjnv00@ zzrbHI{{!qrGv|cw{Ieuv(zaxXrf+9SIPYnDF+@iqF-wkJ4J=$JU?M6wB*Faz#{xK= zFvEAG57~?LlWwHdO=M~1X|HJb@`e^ZkB_g6OO{HRM=zk-j>xPbOL=bBpjm9)4!a)( z$vKYxB16qAL|4gUzyWK(I@LT;b-YA2zzXYt|arwKdC zFfam#jZ0@oQSioND61X!~F80FRtAJ{$Cq-h%}*$EoF7%09c;=?wh>)_<0Ap=&*=zmwM~ zzP%{Y3uHFr{!8|xceI?fbEG5eD&UB(Zk z`IdcNL=#I$X(BiydEc%vA0M@Iz0f|!N|>eCL^~1lzBtQTxmhC&Tr~zc%~_MxTW^2A;=5 z9fJwKJ!T5=KqEFfl$f!yK<~QIxxGx$II-u|AW4*#;GBZhki0?Y?_S4Gx0zqKGdA8V z2<6PUdKKQWE0Mna7D}W@9JY~mK3aod(d*~vN~e}Kk3GU-H(^nxS5e5X7J^OJvXZ|H zQKA^UbQesl#STHoy%7IJQL&Y6g;)1pB}$7lqbZcgkGRgOA%}`QDHH{b)?}-xX~qN==DOM9hrsVrGV5 zJRT8&GFB^8aL_C=k*KLUusTzl)qvF1e%kN5FIlnJKq59nP!g*(XQ>iuPAqf_BE(M6OeWop&ANEpBl~TEdPDu=^Lu3j z`hbfoJ@(JTMmsc~S|UC?+?U-O&VR$5V1q8Gn44q5S4 pLF)hER{sBZdH?^u?Cc3B!QA^wa{jkJ>K}vvMVOjwHR=lTe*o4Kp~L_H literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_18_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_export_db_2_18_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..de710f6756ee24304ae1c04b20927c8e77222e25 GIT binary patch literal 4764 zcmV;N5@YR&P)1Oky@E+h~V2nk8ZeeN^ooc#msvWSqxjF`yxugN*@dEWW` z^1Sc7=e?k+>e{ty*R5Nps;bZDTe@^kJ0N3opE2Hk+3%TLx&g+K7mV;Nakzni_}0v0}xF8*aEEFE4M)mMsQ@L6W4# z#>RyU7nYWmKK=C5f*|bQzkm1c-H$!?*wq&0H~yJpnVFfZSFb+*IVUHlprAli)hC{K z;{N;ZS5>vLvU1t7Wyg*kTd-h3LqmhAs#R50Sy@>}jvRUP(MOLSJ*ukeLk~SPxLc*> zyk%RrZk;-H>ha^pPn|jyA0KbET9cELfsBldwzf7PHa6B^FccRTXJutYMMVM0$;mTj z%up2Nw%cyozJ0sdY_{2KLp>hUWYMNwXU z`Q`iWyDumx=%$-)`skyN^78V+!^6+Z*6Z~Kg8>i(!C)|?rKK%jzWm82pVaAe8jU79 zJNta+m7Sfve*OCAo_p?U%keLQq9~o6oo2K7{NFyG&*5-Ll4LL#L{W6R-KwhU^?FrR z?RI-$V4xrfE|;sdwbf#==yWR)*(R7N=#w>8+b5g*1|_HN3iBL&Xo6W;K68?M#n8H$e7KWD``C5kAVko2d~)J za6M-dSoKbSg&d5Tb)ME$WCjpa$2)6qyRKZm2Modv-bbsQe=`|N#Iy|v`TX&BD8bDC z;a875sG6aZwpuoL*&j`82#d7d2ufzsn94`hEPjOvH-5$VgTX8r?|$BHr91?Nk!>N- zPDwE40MCQ8&%rl?w^mVU;`to}7{5wI1J$fH+5<6`QR<>whsH%C*b@pTEO^F{>SWKA)VRb~%bVe4iDTxuuj7#Ar7ia5uE|_kMlB7|_(t3;c1k$Xcu=HE_N~*j zSHlusUC7XfDeL5^-}j-qfo&F`ptR6zC9;7!J2nAV1v{b{mdF?hMUSbQR|A!9gZh0= z|B1R&B(CCDKPKiz9$7_zu2*#pux9v0L`3W7ZS!N^u@aWWU9qH;@|uUnDB?7P8^r%W zsV7im>dO>uCVK+;hjH2n=-nL7fX}RpXyLSz?t^R^&2$N`33Di8JnTW)YYyh;8TN?RBl!ffPm9TjfR3jy^Y$cyB)?AUnmRT1v zjVDsLt%UWCSi&sN@Q;?Wk-7+aKLx)mq9`Y*r^F(l$EItR%?|i ztuY-TjEe1u(HKutRK&=P9wygd&aCq!vCPWUGyKLyjHG#%pvBnp82bp#`7C>o`YO&f z^)S?6?z1k$!KWfdk+WL4Qc$Pi(Ng+6DL>`A6N$c&S2xpxjR%82v(95=Q~*(3tno^t zkdkQIMEW8+8n`7JM>{@mPl9|~%mM@q5&TVqsCriu9EUE6x(!UboAfX?{FxrKuy2uB z07wF1Xk##l)IC7b3{LN5WCnkEiKgZ&KKyMn3xQ#Ra1ZiXV!p?@JgizAHj>S}@cb2@ z{nnWUfENA3NLoT77;!Hafk`=7jJU3_V)pGc3jo!_&>zuVOTsWhb$sv_4isMgiHptJ z*T7jjn@`eUXX_anoNR5O-o-%|wO)3589W0G<8*9wxN?b~L**7U4t!1&urVnM;S#FGBcPmk$RJk~=Wr&8%aDtKJM0paun-BWNp*U!Mo0D z-0m+ccxkh=8m=FK-9c775hiA&kTVjWi{s7coD`pCUnx@!d_RWaZcerYq_#zkR)_wO zsKK|%N-W_~?A!Ha1;2FY5H|#;la^K@gV}qOU?Yc)F)ETb_LGy! zUCFE*&4<-&s9@I-G94@s%wyDXoAE9n|6{8CqRM{+m>Dvb^ekGcsIB_4|}Zh?;d1N8B@&s*C-y2<&R|qozuO-L>=iX$76~@u{hkxM2nF=5xpon*2uSFpOa&CX<;)%cW@XrUGJ#RJ&v%I2#m$ z8MlClAgV9%1J$EhhuPoZ{amaTii=Sco>+~;LGFjNce3dnZXQQ!G((J3)}yFogyBS}luiCu#_f zt>lw(%4^6kq_vYNL#b(|w3#@Sk$OthKo6$VXdmY{f8w?NmgOIkvx!UM<9D&!F1pjB zbwf#F!UURIm@}K)oy?xiYp)}#$THu%hoZy$=w4hN8r#_L0mr&nvj7?Xa*hYW#l0Hs zaMEN_p6B;>vmlsYKj`akCeEky;1@?*J)Qj1=_n|`?WU;-K_Fu!3+Hp!9T@ajEtFUD z>;FNo;g<0{yNHTLo;^U030dShw{|?4qgkON?iDumw=Dk8Gm1o*m4y>=C@inwry1l0v|oq)OL_|HlsHC=z5Hl5(+&YIh-lp<6zkC6kgSHM* z6PP)U#WN_cr{oM-5hMn&yMrkzF62FQh7uY=#9O?r4v0CzNjVptAnu)6W5#gkFxO>p zv>cBIStd1!88;AZ<@H?lALZUP#Dz0Cg=JHy>tuBaKeAAuvQrgD6K=#4L3kc-JLu|H zS^lB6jLM=5FZ6B~joVFS71w28w-FSC*N4x?j@`_hOl>2HF%(oVB7xWTbNfUrfpiMI z+Qc1^)CYMBv5lbc&lFYj>Km+|M&FNxd`)=W0NQ|mUg%wB1q1;2yySj}-A>7;R8;ew zDVT!^52eF~HJqk)elVSMD=!^I_HoY;3IsxZ(#`00aau>c2XXU&7;tF=E_8}M?EI^& zLa)ahLU|SGschW=8VZjxb24r(S;KI8C~Knf99dTC+;qX1FkFIKfEj8YPbhZK zZN$`n%DxVIZI(5X`bI{NWP3iN(ik(65yKc3i&n!=)^lAlXYD*P7q3E-mt8F+M&N@^ zL70v4T~f^i)KgVQwU-`kiTXy->%9(%@ua0PB!chWhCz=iAPD3aWMDm9M zHkL9xn7fDaZZ{4$H;Q6C_FEZQhdYjxPCOMH@rNG2(rdF4;%I2X>E``CblFf;B!MXz z2qKb>x;CaH@qPoVu4}7eqNqqBvO;kq6>WUdilU+@OfvIq8(xKQA>wn6u5pkHxH+xlX@Ey z!Z-_pM6;l_qjn-jAte)DO5HiSZ|3&?*5Y^iVwNP5dyozrsE7jDsR$xk9i>fp6?_Ua z<56@xQ%9^woWxjB?toF~N@@EC$E&FiCF};K^|uzk)5l(R+z0~oM26GQL1P!kn}`h| zF%*r4qpf%pMg`#tpxR53kLd_I>GmQ@_{I-2}VpBUUzdwr43m`ap3i!bYP#yl*x?jUm0HyeLUz?(~M3c z%!JL2PRHNMafq~g_}Ms)bfRd`3d9=t1on#RJltj2RJ`@nO($*=G5xLLYod>t6%$6I z4Uf#8lLYIyX&B2!amr0m3nE+>h*zXeMv=)t2|}EVsTte9k}+|>Iz^w&k`)9Mvw?&N zTs{sp;r8*1EF>)@4pbFU1&JUD7fJ}yKDx&f7E9p3+@kv#eKgA>({RBWO?)U?iIR4- zB8diEDh-ez5-F;OaOn`{5ju_V0qqohHp>)%R)^EeX*=G}my2RdBpS)LV^h#c)Ibx$ ze-admXy(!z4+j=~oplhg1_5MRF=#mDB3T6pl#n&JAY5YnXJrR^KK&nkfAz1m;Zr%> zg2P8<7zT-2FD`|JA;e0IAB-o}`>rX|N`QncAqpJqAWX*$GbV{~gVCn*^!-5jmMUf^ zpb7+Qkp@pwyByz^)A#+tz?-hTid-|R7hE%|7hE%|7hE%|7hE%|7hE%|7hE%|7hE%| q7hE%|7hE%|7hE%|7hE%|7yK`x5)DZ(0a+aY0000;gW_mQfisOp{RzHS=K1LWB&8UA8nrfzuulF_2q2+{+PV|H~#*4mft6C|L@PV z)6B1be)zE??$p^?_B;HI&&SWVJM{G9Y#GbHr8a+iU}{qdTK|Mz{f zsIWWUl5=qXvENhqed-hiopP?-y;vRgJLc!}(y-6mZ{F+2&D}ih)5momlyCd*{%W1# zjWdWhu?E+#NK(FhEpG8^efRFqK06-EK?5L#dsngI8VAgX*_gR}?O%)dzjt?5`QECU z`|jDhzon*S?$d>4bm)>0owH33rM}v{_fTV`@*Uq=NjVFH?3N9Z@Nl1?JL6ZY6+C5} z5c9EZ_JTTQW2Ew&UlI&_XQdQ#+Q89twrb~_mCw1>9Tq*b{m?W-^qu{6h^J@c#PH?I zdOs|aV_0+Kodzty+49!s2-$UpvFzWaCK*Cyp%9=~rN zuiO3O)x5^S4=R7EW8NP7@#V_zz10gp&N&Wrw6MFy*PXQw&K(gvWY&T31D@1)BmXPI zxvz;jrzQ5^*NgjC$?{Mg=nk{&meWRMc2Vcme0E!NJ${h#u)cSr^y6hRr*Ed+6*`m# zG<&n#i-rl#!T;?n)aG2B!V(c4z~Gtv6&^XLj!WV8 zdBAo~9h_Mi!%D=W*ah4!u(|vfw-wI^%jh@JI_nXIhbdOz$cB)>Ia~L&Xw6zQM$-loIdGYJ?(rd-@&Og6jYQN9^J>T``|KqiH*gt<4x>>d5#u~vosd)RDo6e}6 z*=zml`K#bArzLjpzb^FSG1hU1Ma?{>S(3t#$BBk)n3zJPV`gzYlGh5y5#}+En>TY}2a)%i z8&eHi=*0CFH)7KoEllC!PHy*e{<)v~&;8@~`~C6z_xJmJ(_LL0z@U>L2?+@>4r@pF zp5*^X7Wmzd5`dBt64Eblc9*Y3m#&xMvy|PO;-Yw-ZI3h5(i(X`Dt&rXoq( z!@f!o{s8WDJd7syn{0H#FbP6WuX7R-r#L-4LURwW`%clj&uPC5*K-K}A47 zfPdOzUGv&vVv~<)ucgLe{ee%*PYPgB!h0{%>*hCpD9vPW8(Tpr67PLCvb>SIQ&i4^;}+X+-hzL_Mg}MoH<`u z+*Om8W88)mgGJa%Y`W3K%vt>ea9N8w9jc=#E?#Sv@JT(JbGx39cy%A-y%BROhb3zu z8gF zqj`ANJs+p9kI-6AkWkG%K*_ZNBUsSMjF|*YK6j&4QC8u_j831~-baa}=Og`AJ=~$< z3W(ciAWX(I*RV@RL?S-K7^W35=cT*krb zVV1Ll>N7i&+n;JJ;(wsd@}6Lzv)*ru7+y)!D7l^JGiXe?krOH$jLDuCm+RJ-k2@6V z0h5~^Lc5dtM*85|Ilm9e3r0M&2lVtV{UwFvzoznaLofKp(i{9;HAX4_{sKx%mRE7p z{-^h&>3(FHVI3L~c4;%RSW{8^c=xZ@e@}f@VMV_sbtx^oRY-W(h>3~h3vL`iSpqNX zgbHXZgU`Fm>q)TOiV@2JxX9-oNn^}&Rze<_=&rfM5+N6=-1I75!EsQ!o^bYMAU)05H*pFo#!|!#JA!DFD_WP29#!XDK(R|>kVVq+&7jGB}%dIYJ zn6Y`}9-p&iCh#kgdE7baNRf>DWvA&jS&{H2N{$?rs)Z36O`P`+oT3d~^gWwWIqUW{ ztNCz-A|%rO{Ioym)jo|o>GRzB!ejBjK#y!GUWK@PMFX}9;?$t|^tZ{SNn4^tigfKj z_{Dovy8RmPvK9rpEl5U#KZ{R$}P{BnwX zPy~d5D+S%tE_yTTvkZa3V+0YyqYeK3LPXy(mKq~8C1=7R$aIu4xzH^v9NOs@ zET6|8t1PL(p|FK{HZAB%x*D+o7;9u#`Hwgfb_l6T6;M$Xu2**AX6oD^98p_@Qd?!( z{H~dG8L55@saj}wJRTQAO2=Q|DdbMAE9A~1Rn26t-VaT3OQcGEpxPZ@IqjlB3}FhC zF4s@XJ2y`6>T%(_OS~44N`NnT0hoRD!c@R7Dr;hdtIg;GlCHM+2mVUa9p|oMTkkoA z!lIh@lnrZwa{uDI`8oCCDZ3vBl+J%)zP7hDGt@~Is`nfRiF>6E$h{xBwVqjX3y0=R zUIo?$!e2%gYRd`+>`R5M=Ie(Y7P%FhGSGnfQ^`eK&pJG?Ej4eUoxVkTI`Zsc#<4Yc zzD?s^PUqj+-1m-|l1n5`bWFUi#3n_){p*d!k6?%rtt(coN9z^J@Bh=_PfUE1Im+B! UrD6-lzw=B2XYXRyj3Fld8<;&*kpKVy literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ghost_node_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ghost_node_01.png new file mode 100644 index 0000000000000000000000000000000000000000..3f7c23324084796aae605f137874531659a89cc1 GIT binary patch literal 12021 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 Mp00i_>zopr0346Oc>n+a literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_hf_2_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_hf_2_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..42bd796cde262ff05d527d4b64f5b659aadcade8 GIT binary patch literal 772 zcmeAS@N?(olHy`uVBq!ia0vp^DIm?oSQ^tRJ>t zRO)R#+O=e}fZ-yR&;PH7b!liFJfz1VCT7NUu%@@>cxP4Q=9?Qfe?FD1_GgB6S;c}A zpJnDGeSGzgVfLX2u0);I8!e@~@4ouWFndGV=9@1|R()j7ImC6iU}MCUAB<*+rB-uw zPM>>T94nt7EY?uBf4+)m?B%zIt>pTzzur3S<+Maj#X|-$degW1Z0F(LsyDqh!l~n6 z!iK1|XZpACb33fR?tS^nAI<|_I`_ZtzWc6jzq!qIFCB(Jk=*Ukhfk+!hv@kCl<#73z=2Yj_lkAQj9z&E!nl3S98s(_hw5r1bhsfAQiUsv@0+7fdqqu zHH$L0-#(kRxof$pqYlI6ms`4a^ZM#&sxrJi?JCUeAanfI>6ny_OQwLS0LPi#7Srx6 zH%--fTP}Sn;=ZH5#MT`nWrt+7^Uhx-w^O9@3GRg>+X)? z8$Y})vh4aAJM(m)PEF{uBJtPVyL)#>1lV&~^)B5N%h$9|ohp9&Ii_Dn%+3yq941d9~+%;r{#i4$s&BV%}gS=;YHPAgp-Ag~Jdx^NyXJ z-79?^-5oh1DOU$6nJ#&_7Gy;Vck&Kpkp7$$p6^OP8IYK@_)9&I$3BTA z|F8o|?l~>7&lBV_YlF7;0zhA%u5Hykl4)bFQH(@e8ZYf zkhOe?JoCZUE|xf~4)&SDu@90UC6?0+Ydk>u+l|}oLE(8qvgaW`G*sstas4F=vVYET zi8`?T%Z=LpgALj&dDtJMO30w?KiJQ0hJU7mtTHM4z0FVuP zj~)lp&JmS7u0X9uU8xWO=E!1*z%*8fz~RVTumI5Jo{W{s%qmIY%c# z1a`fI=n^;hF3|;w5-Bw~XK0j6H+=1?1qyHNnMGjLMTVby7lItOE`5`s2*|&xXHD8b z4&J#c6JoHq*>Q+Dx6~xy=9GVhIKz0y7qDcC&~;g`71UQu;0%3-4AOecXeP9(pJGSyv zOayr`#d0ykjxdue5JiEHd%%jWnVx_MWGX`h!lpxv1E#D;5HH-xdkI$362A)KzWu6T z9|-&__y>_V?*|FM53RIs1RMf~g8QVw zVe?^4GsL%h9(2IlpFvzEyT=$D zS-=Rqar_y?KX1}*LnLi;Ar9KG`S;&{m#U#j0DlnyOj*=cuyH?Q!2XDo$JhSN0hVwK Mp00i_>zopr0346Oc>n+a literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_hf_4_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_hf_4_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..42bd796cde262ff05d527d4b64f5b659aadcade8 GIT binary patch literal 772 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

-%m)wDk6e*qm^ZR%+c1h zzZ9mvC0%w(xWqvY`C-EelQZ0Wt<12ozxIqY+=b(N`LF-ojTK;;uPHT=opOkxiV=um zk|(Z+^%vKbth76muaf9v0}aumeKgcRNy}SS&SuC2Jfn1Pd}<_xne#ShZkI#Teq=*Lg=z&*Q{w3QBR-LUC-#hYab|$k%Rk5Tm2o+ zbi(q9uuH&aW6a=vmv`-_KNI2tG~KBQp~uihTQPFL19fiQ``7>?E4&H^Fd5Ghfhu~x zmh~6Jjg*}Bv~kwmosnMLzk_T!xpRxTUPF*hH9P;*HIr6Kxm~y}`__V8X#Xqy9d_%6 zw)4Y!@|b5uZI zVW2GnhX)2HMth)Bi70|K1vnIzJT(cPseeh%ns0y=d|v$Xv&E-*HcCMB`5|>^UnLXX zCpV=VcK9c^Crzj|SiSrEv7PgBxsBGjxbC&OKzAaosS!>Ii-oo2sZE|HomeU1#lgLh zuL;+-?PL0^hVCfzP4z=H`Jf$Vq*n#Xs#t(Slbr_9wgg2^UDf=~p~^)){(6VrE^l|p zhQ;dk;Oi^l`j|{kUO1T^odac|Oxf{BWb@j^VeQMmx)N_ZC>!T ziEv@k8nVtw*Qvw27nTeVVfCMF{Jt~hzyIP1Uf8dkT}RAZ3&73zeg@UN{jIOfIkGf} zv~cPI(Q2;Xs|bsr{6J)9^q|j@bnh+ymDX#lK7bc1zDZNjZS`mu1=4FTT)Xs#>2zR5 zc(nPSDGrhJp#_?=9)yDa>BCJ=*RsC~UZ^^%QFJo)@FkfTALmT8ilvt{uftX&YA?>1 zm)=EkFOdM^hC}bHTN6s+z4MC?)v`TPRQXMA#`QCTYzIs@yVP^2TBT1Rc4ELrKI)ie%Xx zx#4}M^I5pW*n6J)Kkc`uwu7S6&)=P_+xG0c9ser-se6!iI3EKwh8uE}W<5~Q)eJE` z*vwW575-a>bKsEHpfs4x^fG_c8ad%umGZ_~!V4?-_xQX9V73ZvjR^GD^0WFDZpDO1 z6_`)ZuY^|QwpD9Q_WB&fEzOY6yQrx@Lm?wux+F~kf$=dP)RuWXrnlD9q{nk#DTM0zdkeEjbD z0{?}dz$kY1@72UQn$L_kPCNF3eKxWXd2o%(#@%cPA&3OBX`yru0)fZn`@^<&P5h1-Hm*?ss%yV~kD9*m-%9<11mme9>&zdlB!Rd1sN2f35|?MzS9KeR|3v~*#F{WWJKk&at!b@bW YEkm-mkP^p#$xsB9Pnrr%a@Jq|AL(Kc&;S4c literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..50bbc618dee625dece12c13981d0a1117e32489d GIT binary patch literal 3970 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_02.png new file mode 100644 index 0000000000000000000000000000000000000000..b29c8c123d066c15c9273c55faca79e22692de94 GIT binary patch literal 13340 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 MNhwQKi<<=fA8Ns&HUIzs literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cd3b5182ff383d3241503a84d80db7407849edef GIT binary patch literal 4392 zcmbuDXFD4Xpv9x8Q3O?#7*)0RUPbM__livsTB|i;78SJ>wWBp^m)cZH?TEd%7@v%lrDiIOja)IbYyBzjy;Zb#hV$QUCxzuBoA7^j|vvuZSP~=l2m0@BsiytftB< zllOTCxj{BGXE;Qm?Rk_-)|L&82|>KJuCb_~NF8!OOMCJ<*zJ1gCtou7N_Qm8&Z$QjBf1}b41ZvB9C0K|E2-y(Yt{m6G`usrQIF-yY_qD$xG#TV7b#O-n}%pAm=Xzivr&% zG0eHwpX?{;0c-tdN6x`=J!v*4CNAQO-{^br=n0G-fTSR;YsdD2D`_pM5WMESguX`H z3AS%C#YGv?YMMp)s}#k-%qUY@cU>x3SZmbJPcO8o3J$ZjNc?&3JG}*Vy*s7R+T(Z+ zboyc8x|&B=LK)Vi5XD;kXm(le*LTXsUNKg3&OLp;mnW95p}Wr?TOG_m)0{XxMMKK% z=}s>JKFSbt@heIaASh9*ni@bbL0b9hXerrThCsodvH1eC|Iu`|iA-9P$c=u>B1wCR(cYIKxT&8b zDn2z!jsbJT?~ZBo&S*yLQXAn1qbDOlU9)A4Km&IgdRXg#eZzvtkcbG6D3aE1r_ncE ztkwT-WgPXI*jU5vEW3F==PQV&f^HNwfRU_A7#U^tQDOpJ_Kc!s0lr~;-?o=X%Fv|R z(GJy#7*!@3#)ncBGW8S%H}k_qF~$$|ck`B;i2sPM7Ps8zp>6(k2Aj2s_=#vaBx^jBQO)Lo1f#i z-J1nGB<3717+KeJ7oONioO^KgdTQch5iy`{t*xQEn!I>XIYi$?2x^+`Z;7N6IG-r? zxUSylCqG)0sWr;olrDbm2pM6$n_K@)f@k;Jdv|z5ofbB4VrJ^#g zF2|So@V0#AP6P|ShCJXH&~lc297wElB{Fo2SzG553<#}l<&(jE5DRcSXnOdiMRWP* z;nkTTv{=O2x9>Xf)Wz32o#6Td#yv2yDfHv$+WDZ5WC5?4E&XPplz1>n;?NtXcix$w zUku;eE?~nPo`nz{47L|u82u~nJxXx*=L}gd0*&F@vo?w!_{=k4)^vfmW7ugwJW|xc zUjm>5ytCifHE(bdctwoS^7j#1-5zU|dq@Y^Z!z_#N%_J{t$ck5vAhuwxk}ENczeT* zl~ZVF;n=CT+)OhMtdpBNgpe-@X!}U?UF57$4cU%)q8?lhsBRXIC$R4@&tWk2sl#kh z&jCeK{!%HA$NT+MtdRzNkLF{wBcif^vM{PI10kxO>8mr}tmIM@t$ddD#k=3tclL(E zJ*a#rO}5<1|6DaHjk~dUA9@WrHdYPW;v%l>Z|lxRkBZyona79AJW+B3Txm-)@L(lt zX(1dx`p(fwD{jlRGDvkhYgi;}(9{>ypK#^|ln~?|cb=>3@@5st+UhX`aKFzx&Cb7B zK{>4=b>qckQz*VSZFB(l?-N0 zF*K8x=_3J;O{%QIBn``!G8JZ8Wy8>yMObXH(ZGP7EeI6@cfuRHONb<)zy+-rssMT6w|5yJN17t7t~f z4=>PU&4U%D(|wz2A#Oo}Qevwff!@y=uZgDs7QZiq^y8$=BOEM-I-_sUufC$Xewql) zVlYw~0ev4C&BQ`OTZCI*MK764Y)BOd$cRbE8hKTPq$SCqQNn)}Z+|mwp8L4o+h&q0ZY4<|YU?t7RsM7vt{7;U{L_>seYx zKb7rk#^6cw&K&{~TV2D$)&S!2%WkR$+XJ#Vwx0a2+hV`w%2bT0QTz8J37+#+NzME8 z9(ZJBA}`CB^L#xvUwLi_1Q|?;Ts4kz(jXXQ<-|};fs;z^_{^3&>8|1^0}X&ul@{b{x3Sp z=3DW^y>(B>vq^6o-fv<(rT=t)fxuDx@;c4xvVV#gQsw1Xm+wm;sif6a0qbV-kzOug zaRb^FX&-LJY15BVrDHZ0qRl59%}~o>XG%MbpK}(1F1i*<Z$+@4%Pc|RBR^SP@bm^y25CH-2P03AG%*8{fg%w9K2ZpBq+m=s@pn?rK*5s%Pvxyoj$*WLO!vuCg@6UjfJ= zUbc6nnP{WaGox+4D5Yy=wM(@MF=B1);#S9Rxuh#H-P0+LRqu%sU$X zG>;mI8{sUIsjL)w?vc%TIqRU=FI~v_2jch7D1Faya)d45$?_|wkcnF2n*ET2ILyj_ z_r7^U5sx%_!||l{-l8@2NHm7Dwu0J@nd)VxG`IZb2+AR7D=5BOMdJZwH^s@hzM9}J z51dd^u(eT2O_D3)@ii*todpnF)E*zQjFu7*(J+pgpY>$+l=A6GS~%f3IX>K3rvSYj z2%HjJU9DT%z`V!nvXIrWmJ;)&v;^haq+M$|uMFFdNPs!iM1 z--nUKUUiI2pLM-hj&}l*)A+@qZrL0I1g(Cqcn2E6b-~}O@jm+(qJ^}I&eWT(3xM`%u>2w4MetOcZRE>5|21XN0`ceqL%bt}kzmO(6A zrKD5uKi=m&9w%Zvjr_|J^^nVTt>B+odH$$ibDCYYg!e@Y$zXiNVQn?3sy4&W&H<=q%4JzOKY_b`tv?jZn=omm6X9wsJ0%dcuk zSZu~Stu+hgI1@X($>#sSBs-4HJ^BI9b?6QA9!f|R6r#5c^N3h5{E!G>LI7c#k`q3M zhKyT!&s$Fi64lNAFvAkt=o^L5&)b&=XCw8AB*U-NiOzBBi%LZ0>L*{%T2NjAz5zbH zS?G4@o2)et`L2&$E=V)xLTGW|^4s+sH8c~hM?q^HN7kySnVRHdm}q)%G6y!W8#C3T zQGFp2uLK_u>`Z(6eA)HI9i&iu=^jc;-eG4y+Qp;UmmN`5L0NjTnrXn5A#LclLK^f) z=-<}$1H|y$PmamujZFU{ENoj3cC2|^G=UfKS30F<6HgZ(w06|;J2D)q@By9O$68&^ zBe{M|RJs>jt>wqUTi#+OTtR&iceUNx-iL(;wbb@A%XB7)w{v7&e74$Jo}01HqUDji ze`aa1k`a%VI#e9ZLTSl~qudHdOL-N3CW~2n*dt)J*>$o>k^~sq_O>?~k zUwnvNq!B>;J=od&BX66nqFeChumS)fY~xT)vPM>9RN!t=HRGHq!Lt2zX;D`VfA~K4 za>SqEmMT}{!z#(IhU@v#H)TkW)QRT#N@PLWmRd&a0`+oRuI@~&8puKM0_^-!`W|2j zh*+nOQG!QQKK)UKP*9#({orFF~kQdL<74Vf4j3JMBMPF7MK3JRL#e*+QbpXGsqhzbgdYfny6O!H^f z#fIlkJgtx6>qpN+I=-%O(c>;Y#)5)UlS{+zXHk|*O`c2dD~n;4I!o@J7g6mG^&UfP zL9$q2IW#itS#L=8^T&rQm6W`Li(?qg(f!jCh{JO-qwQ!Q!(%d{+>9{Hlck2)gwQ@4 zDc|(x-;imJZ$HGX3CXzt+^F#xn8abjiil_f=5!%pJ700c2d>ipzuW)C4QYmQx!-ZQ zfUU7Lm5eGaUvlU0P%i#R$~; z-37KZe|&sg@8g{XH+-wi#PT?Fa=WBb*`zGW1*P=Kc^+?z*ky_agcm2-cx&=dt1BWt zQq@0@#ZiolY|eHcomw^ccLW@2tLigKXk_*{Nbjd(Lh$xa42t%d7wr}+_wG|a&mCqG zk=uuPb-H2>O~j9d^sbQUWA=8^?gJEvYuy4)MfaI4xhZm&@T|`)CS)R1xX||=28izh z35#m!`cpW6r<@=OQ6FVfW(u26nvwmqL8Q3t02cC_rEq@xHyxVSF7L++eX&m^y%A1- zNxO7m-^jw)RfquTeL&|m$KK;X^YDE}i^S{xHIiLroMI8`R5~Uv-}4jFi^ty6xcg2N zNFo;Bd{K-AM;C3uiD@6oHbLYec6%yDr71l=O`;_){8L%Ti6FLA_=G;pH!vuv{De=8nv}%)QKjI6(qGn zL`7I?dUUVidYE334*HhG)@G=yQ?-$n2`im^f<#hDTn>O*fa->Vb+W0oaq@6A+Ti-l zXkdMHKjmSoL?s$vH0!bHDT%P}mywEE_DdQh~G6SIRQj#YopjKj; zLQpRdhJ=v>V2Q#Nd)vv*?4b9%EEva4w3>c6av<4}7t^B#DoYgPk;e8_2l=>Ry#ziP@JR2uIs;%wG_4_*O;-P|@ zuo`3SJOhv&!w>;1g0X;pSQD0&zQ!fZeVcyjN0kGuwxe~p1-4=@ff5J2V1$MFhVJ<{ z{6hn6ZHff0x|#vGewXVm$``Up9ORMk|IW=_5Agkv9Wz*CkW8)Db+~yMw1`y0;2-CW z%vn=Ir*Yc3v>fmSiQJucMe9&ZX<6*mvu*JXXCT7P1q?o9U4&~GyuuXA+Y&ydXh^0E z)(D(PL@?R4I8L}7sB(QkRB`N^fTh!rTee`hQR7Jj{D9 zbn7h#Wuv0&BSt%sV@O;kKNi3^%S1W!B5!MMSHOz!KiNz(m4;!qU%=PVM|#V?`({h} zz#x?d#|)4ek3De^=#2knn8n~DVn$SOBEI4dZBay&*b~IEB6qV{o>gNb0;t6Opxx^X zTO)_n3lkK|vM=2=hdVbIoRl`thrce=0);zBmW0C?sZL0881&`(Es zN%1YxmDzUdRsMotg?QsRQ}J+0`WrLs&#Bmip_Af3D*iD!nGII=1FUegU7@qckbFOy zNeT9yY1#nY6SSvxs|sSU$qu6M&`}Uv5Lv)TjAE+m5HW&KogmeO=035RX(i zfi!rYj;n=1d@q{%$|l&rMhS%V0UH0wvab>%Z&lVEc2D*~{T49U>x*$TdPTowB(F&O zH99}pgeV!CCD0|Spq3ysLU%=$*J2keicGVoFd!%MGH~mCX<|Kx6DG|}S>30=UX$-X z0;ojw^la3CWR0X^dnP=^Q$2hyFTq)-;1y@I5o4_E`%Mu@g&M+_~0}fn|NLQ6kmKu5~VWzJ9k>DmhhDzD^wR{ zhKN62ayvJ`{okX) z9j2MI>Id(^6eB%!D@DbEfg68fs8(S0;5+AEq!>Yc?8%Z1X4r~40@aL|7Z4Pp2ho0^ zZNGs@dd77KKvoJF$=-8RhD@&hE}#jkeAbBSjPcsNZ?xn|j;Y7G7$0vztR6B1iDcHS zqWX+K7S;_1_ySO{#qwbdBVQ@otuO75=t2M^42i6afJ?TOb*Tob8#WYy zwPt0jiZf~ZAGSxKQ4uj>a|x`iT>7H7ynyut_h!|w*U7jJS}q2-Y-e8HAD(hzGD-#% zajW(zn{p0%BTb{fZ@OBU83j7pdWO%32cxVu;IP(LRpW&iGTLiuIBUK zIL&g%(%xzQ^Ps?uhs)fV*PT%PXDD_loj2yxqDqF^v&uPjgmB$6{Pu7xCUa$BMf1W1 z%gU#cz`pIZRsD|EkGLi6EYZKLQTmJjnHeH(Bxw4mVbUBASBt|_M-~*FUQYbkRI))> z1sMOa8lf=1yJixQtyIHA8v=aG61t-z@@4dZ*%GPZ`=If%U1@EFG-yrPo_Fo`lriF= zD%r97sO=bEfO=#*zMQxtNhv&i;KCsuSPHQIgCJ-yh4MFSnOYAHZAD61-G(b4D3_!+Qgt19t)$=kY!=?9~6JPf@49HR1zmB0Tn(E-O}-#91fdnKE-Yq{La)Gl4scP_~yq zVOoWQJTj0$cFTFkZ)yZ2u?Z%8{qL@dhmQP^ntVVjg=ARNHx>xi$j|j) z5cLkQGEy)yR#C;$b;K2jM;h-)b3Mhw8UBTSOh6<8ttMvvvf82Wx?1s5(q_F;mlX>b~^w8WtM@O0;#J}O05 zhZ4O2jKLrm7YfS*;}+)kQ@un`pW(*CciPVmDqp1Put`~Dv07#moJsY4v32{LokTsk z`BKPMdgQ`en(VnRtVrSc-Sork@>$W;Xl3pMy}ymYgk#C-cSNpYg#!gyRGzuAjABmq zlqK7{8uweEE`3DfFdEhP%7mPL;R;5iAaVznGPZD_4L3&Wu8;DA;S*d3yq+9{4A-~a z{A5@uwa$O{PuNC9V;sH^nK#2MbRrUR_djPVq{TFTjD;#m{2^-V&p#@*J3YDubbBA- zL*2+D&t~qyk_-DRyQ0dsuo{SsfxV;7>Ut=VjFTY~Mdjy9(*6=G45TB$ z9{&YL8;HJKRvN1j*+pcCGN<=>Mx95tJ(um{aenYO2Zn&JGB0j9l7HrDw-*B@=&5dR z#trJ(0M}|+a}`*SkM!+c?WCFFqCEi=B7&R?_3f6T0B)#^s35!+^(**lh}_3RSFLxioedMO6>26|0*}N4b04E zs6S(B)i6)4&Pq$Wo7grg{6`-9ztueQ#~49}g_oBOS_J!YK1^rA zyV-lQNSCD4Ine6&$bSB0lK(4r5~rmA-%=JKz&*R#*DTfkT3 z1mAp$M6E3x?Lq?++R4mgfBio#iX@#JbL#7wY=Ow+4!x{>8?OHAx5RO;^1zrvGwP`y zOv60o$$B=%fF}AM9<*X2&0oBZfp;i(6&G~+vnN_#a+5@9$6t7gEA?m9Dx(2d*p%pI zXGga+;(K-VBt3_ROU*gyk*mhb-X*z}ToAT49?H=10Z?xke}k;L4Cfxuh-?nio>&(5GJTHgyiQ$FeLS-Y6c^y*fKKU)H#jRBzXSN?>rNJ0MW>v+bT z+}Qxmmr-NvYgqEH#`P+e2d-~Uru^fxWowleC)q61M*@*&gZ0c>1;A+bkR|NmNz8{n zzPMh&WaCmd3H;~@C^_FL=Ol^g9dgHRk$Ni)MDkoBxgXwY~ zC2~9JPJrKK+|h@&m_)+~TM}a$9RWs)v1aMStwk6dfXx*2|7zUq zx+EgBOpTH`%R%$OB8@AuTy7n5cz?DNgoYEZRBnZBPmou>TW8V&f!b3(OuaRCkEVxy zGv%JoA>`aNFFBLu+M&FM##8*vF}F%2FWBgY2cGal%s#36Sgal5j4EjUYsuS7zf$vZHbfH*|abEMHeu8z$e07 zKiNfy2f@zOan4|2F-`+jz!Zbxn4Z)(co4gb_XaR(adAjSK}?ivTL&kl@wqNL&ho8y zB*oy{3q<*2Hh#^!?A`AoerOBS`OXE*?oK=otaRW)0xuYoH5K;COv96~T#4Z}qp4Y& z!A8A`)Wu2sp?ckk>l20&2saX|o73e8@cNS3VS3MsUlNcjK@o_>mMsEWR$~#Vgvbaq z%gfm~DNSs1PCyVQ0l`o{hU*KUe8-C)|_B}>r4BEsjjfAqM}i2Su&(TP9} zHIn7as(xx0!vND)Kz_){RM~CnxY8O?c9nyFA@y+EPwo~UUxm?-4jp!sJ&8d-KYczO z0lp;_Vz6v@)ZIum`sYEW425y}AF2cJ3sb_U4MUQmvoS(d102LqOmX%Ljl()>A^%_~ zoZF`i6atn&SZ5oV!OBWn0)9V_9_&`E)Hsuu%V0VA%zyKCdAMf_bd>LB#Qi3>erpF@d6$uT?FEw-1Jp_gNBQEqr3^ro9m zUfSpRvV5}3KQzzivfxHuTiGQoMAkm(9r(@_5yg4hbHENy@%e{R$aG#06V0ExX7S*2 zz)iKiDp|Wy+ObjPu~hC5%cR2r+D(i8Ybeq5*+RGUamay;p>FKo-gmaQtwyac=&-#* zN0_L)uG7TlP;n#=vry*-QV&CuL8~iSV<1#{d`wS~q86{km9Dpl^~1B? z8)drPev)`jX>2x%SG_qkrry@J!=-wMO|^Z`M&Q9lf?Y1UKdNx<7- zp8$%1MJ%YvKyk8yVCqJhUurYy0+IuT8%zmel}(L1NR?VY*&l@WyNL3CT`cJPtLT>G zVn)~@y|7wPt69@N)sbbfE(=&IOXj2`8G(>TK~PBUOMbLOO5u~H?Dm3-GgJd-N7_u{ z1iRhUGYImt2+NFiH+(co|b&l=6`+6XCWgMUjWXpY5S$Zje|3f^`*X(_CBCW<D7jFfz+sPoIaP_t2E+ygp`r(;_A*TEufLa4$<$Q;gY#3r}65o4M(q) zzM&Q)1KDfx>Z^2Yf1#2CMM4HTv`vU(Uq5?Y@{zwX(cZ`4?FTE zt-C9{fwNO8{}3X&T54(Fmu?sv>dr+EKp~tkB5b+pQ|=p$sI-@uUSE-!f4#$*Uyczf8u z*ujMp`HBLwQyFQwC8F!{ z&Z$&52@ccH>IpPXGj0*)m$|}@@%o=QTs?`R#nJ~0AI}Ahv!4F5t2@zjy3(7RelH=P zyxZ`Pb0>3ehW%B@mT;qEYmcMZqNtDQ6&C)%$mFkBI)OH zY9^hm4gS}!cN8io@IShSn3tISWW&Fr>C0Juy_j5nDg3sPRH%Lj%B9vkA{$YQ%*q_J zwS1{WKuShK>ZBL|Gl?=$!d3YWNwERhQITNTNXi7WIU7AVh`-8SG>A2^du!0(D}}}> zv9BongHL*;1hxS=MawI>xJb4Cxy zBGi4ENRNyFDT2(wB11PuMdZfXuOyFrj#zQr6H@Z|h)Uu%C8(({b2Da*8Om@}MR++l z5ATI{LeWqBV>(>koM&egL`i~)Z7gD3zki{*`ZQJk3eX~hcXDg@cq$&fw`XW8C=_0; zY$zVn6``;&5&T_SCNRDsr^HfMEfyxGljU~K4>e{g)Q)*{nz|8YV4(7I`*rr+6PM-C zKPlOF8(igI)PkpwmpQ1XKLZv+OYx$)#0XxyotB5#+Js8fGLrH^6Dw|75A&_OeJ_&` zQl`wS)_+C(8WC-XTnB}lZ)@NK^Pdvn{8y|6MYP7BmSHA@bF+L_wwe}4Gcj6}2ntkJ z`Md52p^SQs&^Xf7IHrZmTPnlk%Htsw-CwFpeEMWg5w(f z)16Wt$$dmwXo9HY`MBi1WM%V%jgB?aXB9zZmHBzPSQZ=qK(|klxvum+eQEF7yWyiwT)i=4kB{CAcMGTTf4?T+5s(!jF| zhe+DlRoge5R4rnFwHE+v`=0cAjR_~_1R#F{h1@yx67wQhda00+tY+l9*XzDJC)HZX zO=+yy&r&O(3#aE5ZuydgX>H7BlC*PDrP!vP76Lk1rx6SB3B^$gdJ*tPct0N(CfM6$ zR{iQ4NyybR9-7Ru5l@!=oJy;Ue^4*V?RH;C;b#Z<@l{2hf!svqFm~gF-)f~WUIJwX zRBMvQX&ty{gcA6nu(DWTbyOdShH6?m6)+}>;o|7m5%E-!QdAB38rRF-gM$yb?P#Uq zd}b>G;Z_NvP{X^Y3ECxeV6-%S!bk&n{zPBfF-CIcITnhr;s8fG_jJ8ss#V@8j>SZ{ z>wsh;3FObSYYBgQlH8bPeCv|xl4`lGF=!9$+B?Tgbl`F2E^BDo&20&x35{59PD?Mf z^6A0Ub*jOsqU7x`?*;ksSmP-dtu4WSCf05fHR3Hs=^qejNU-}5#2BP*w+Ze@vOc*V z(Uae$zk(@J4t$=992ik|f~P1(mr*%=D%lnRj(l~*NIgmO9arwdOeKd_QMq~hD~6D$ z#%NkgDx`thMBQulb#WL9wOikDTknKvDhX?2Ks|+90HISp<_7GoGdYr}0oVn$2LJfE zqXVD)GqX1(cg?fk1dKx?jtiTIy8+8Q{U3i4b?cWZ0M)A)(^DRlVZf`>yT;G7Tp16b za9R{{RJ2}GPR-$eJ01;WV{osW3`zMXZb~$2W#xw@O22krm1=ZfrLYA9wuz%4dEA3v zo4y`JIdW(VlF~j2ENJK(p`g~_6N%ecZID9CQL4tUAwP@xJ$v#^$}K&SSy^ti_m1yn zENh_uoPD82l>#n?b0AtC|Im$79%!Rq=koHDo8_Sma4#P5lZB@V#E6=?KmNW>&_Xov zbG9EW{!)*;<^eS8^OyAeq}S>#4nBEiYF6a8Gk?Q z#r5>q@_*6SSqz$(%<3M54|1knWf`G_^bF6NKV#8clK+I!ss>)Wrk9514`KrC0m z;&{I?DrQ#rjsCji-c$|7746DJv7@`5T&qNMiS%8Twl=0T{sA@SV8XaKcq@~*dui)~`JmCcAT#iI7(r74`giax&J7b}DWQ|nt#Sl$MA}U3 z)ca$~*-E;0I{h=^QZk4__5O8nk@xCiAmq8%}3LBk+s&_AtsExEjvR) zxRHwuJ&m%da~Ifb9#zC`w%8}-hJU1o^e<8Q_fF{pYk-}k)!t_0p>#R=A{JFR0HA2>-5)DVpG$v{sv&zmP~+n zY7Ce%?{zB4z`M3s-1y25m6?(+$`{H_hV$%laGpGlO~z{a)@RJfYQUK4c5=X0N?O8G zR%#cz5gwTm!3y{yYC)p7?rC;k!qSz(H*Vkbf%zd{eLgj6c#NsgcH;{0&n{6ogXbPC z{?h9IMNH;%MiJ-Fc|s$>8PEdLLL7!6S&Xe6#y8Z#Gl`RQqGTIMdy8PwaT=(*KW|S* za2JfGWsOxSb+r2(>lz-XLAkV`Jgq+`cf=8HRTa^nwgr7JT^amR7KC=7xYeJ=ydok+ ze+fCSd)9l6CJlBAv#8C(H4OI)f9+|nu{(ZD{F>FPkFR7l&bRYSUNt8bC;mcd2!Pua z&5JVm`T+k#^azQdh<&At>VUt9UBF7DL?oGxch+f~Y+l8ecw!dlCONt*kf36pwDf9I z-XIyC(Ho9-gPB$m>=F8T>>_tA|NN*(Mi5pr3zXisu%Mj9QU~C(lm?l(p#drAZya}; z(Q$}SvO(OkAyCPAwlgY1>Bm(>jlF8PJB6R)Wv_FSn;dm%Pfc5EDeS*a0t_sV(XtF_ zP#^~-ubGRAI-*FL1$gdh(siePU{dj)>P-oiU#W0FIn!MZ{l>UV&U1CUR7UOe`r8c1 zdwlrsTA!KV6oGSp3VQ!}uqiSG+Y-;NcU0y!9}#()Y9!dbmirstX7*}6(*@wmfAJOo zJz4K_7BI>KUX>GO7?SDP^&!Xmv*R6qOf)`kSrIV4oNdrZ?Q^z?hhLx;HJhL>9LFXy z!eaZ61ZN^to$Bjmlca12IHCt>9moD9tG21V?K>0S^<$3G%a04W-S%rcr>Z?BTdOt? z>Q5%GNUSp^3sg6$ddk>#1U#mE#0fF~{%3Pr+qzUQQEH^D?O&++aR2I(3}x@-TUolD#@+tP#esSb;$Ctzc^pXq%#tX5MohXQ=Wy1cNZ zUnmt9kkk6#vh%h$Z9B}-@5L4E$5hOJ<}e9Tersr!*z+&1_L85$2UEGON{%i%yaM5T zZWfYM=stP{D!hzQH``+0PY2MZ{fn!&4&-v~1rsJQF`(UeAh%V`Lg#pZMs_UtMUgTF zYtxOoaNEOC+j{?+q?_;68}#42)jt-ZH<57Ry;yaOr|f6TQ)9tasK&U*AyVE(KY!;6 zl&39m7Y%l$J|2ZEW>A?Ym~vpgNO*z~I5CL=+;y2dxz_&r`6NNU^f&Xq54boON@WdA z2w9vWwv}q^=`48TPuW>$2I0mfdOmVn-Ez`SzBUsBHXYMrLXAMNZlatC9@AKy`6ROx zqZ|Tui6u3f6j^TW%N~W342$N6uCMZ>2d9vm4Z=3C0<{j$f1z|!`$;g;LkbX%j71rT zm7(afMUU%owz6i?l;OuzhG#)LM8dDDe1zTML%JJP+h9B_vg^NGarq?jXysqo3``gi9s59>O zhHdi*H(;1&Xpb}9{9s7zBBB6HVaJjM1rhN>R;CM>Ecripo^v@r58*orE)Kb+r4qon z@IQNkR(KZkLGUxJMY>+c>xbzbMH%nUv_$T(^gkr+fLUK=Tdk?`jy}0iZ3X#aCH7>S z%1{$YOtg4-*l6RF%a(7$4T=xZ^L-Z6HbL;$Z0b_(y&o1_UqI;h094Vh?MRFH4bvFT z{>zqV-rreQh7)-a{po~h)5i~|o(|XH!Pf^g^~to*f(`8sjmkXwPy)w)7kQ27#@Hzc zxP*(f>@{s?&xcnE_sVLYDzlP!%bT>#`ToO77Gr#S36Z2t7Q@;veyk&=EY0YZNcVUe9;+9|U6WpEd;IZf71y#azAk*(aRI+f&Bt*Rc- zTWTtgwNd)*{Vktv3P1$k%Xr`OOe!Y^mw4vg&p9HoRH$J6Q>Lr_LkiKH927|4GB23b zAX&UIGUn-75C5va1AAT>kQ6v&yoK{;{@?Ewe|}zfM|GoKKN&AWBy)n!p51+AwRc?n ze)WIdbrYm^-0ZoLfqtT;v$_9XMn?ym_d;3(TvsQ51t>57>o>APCsIQ1f?#FEcR|T? z4jPEyBw3fi*V1(@w-c-r@fhhMT=KpZ^SBmw^f~gm2F?+ie?+Dh*5`gxvUcfJ5Qq~*N z8eaa<1w>h&NfsEE8;_k%q8oo!A0uKUfD*tyLLV4B*yuXG0W&xFNf9c6CJ28*ovgns zG)a(Z#9={$^CwA}iHeKfv3#dZbM7%5_P?Z{wKI7)}$j za*!>Yvk`aWnWfK^8i6V}55XuN%rHakMK;umY4NhzQrDfm5eM zN(5O%grbg!17*NH`W-=&u|A!DBPyF`aXxHZyt{rhkv_t{$KxCcrEEnmd|_dbag}Y& zN%W@n+1;W1}spu?A-)f5-N9rzKp(dVZU(GZ%&H;Q%^T-hi8@e}1A-8PrtTg!FE zKBX_KwPEqP_;uIM#AUg1bx~la8S-CEH(|9w+dI;-dSzS!>yoc>w$^ecl7m=_=vUmr zCPy;E;7Jomihex^ycy#gfU}kK4D%3K@iy|cnV^) zc@GK1^_;wu?6$kJs;bUYfy()av?=ty*HkQ00Ml`M}WlU(>)hbShu)z? zxBlnxb9;mN>_K9cv#d3>T&N4W;N)Bc*^m<5h7#i)_OT?J0Qi7UHdrzKZUJqzrb% zy-->`UYH?UPc6rw9Vb#5tw_?WNcfTM0<>r-p68h+As8)f_{pz=uXIoriDuI@j-M|g zrb2_ai^$Y%ty(I6Yl_2S>oX(?o`ah00Iej2uSB+*FL)_}AHrY@B;Fc!7w`h>;o#hGd>x&yi*rt zUvh8BP`0e5d91%R2Wv!12YS1li2gXAI0#(dj5mK6YZkiMe1nn06ezOcgx_ zYNmaC7cknqP+aIqmfM1DqKk?t&oxGAMD&FFr7~jRJ5MnfS5OJcdfxwQdpvB}>O}RR zdK_Va6EmzM(k8dz-A1sd{Ga`8%z4xaQp@iTNAylyy@2Lk#!zy?n%?ZQgNTZ!HDa%G zZtZh3hn!Ozh_{~2u%g~xsE4ZjYu~;~ptm^NW1&9}9laTKlM*|6!PSr`E+WGdB|0`` z8y2%e!s?xGKUt@5QF*Y|YvNt%$tV1oS8CLdak1+hfnd*uPHkv+@af07Up2&k!PnSc z#6$dcLBq8V8UY3qw&a8TyALvtDs*&ajqoNXV14p5L()n#aOvLqcLnfdewdIWl|Fj^ z*w!P)3?f|*w0q11f5lFb9ZEbDe3;{rC)X4c(Emqq=so&Z1za6^GUj z(STS9oj`AV1rY}pY zAK(A;7q)cO^~>g)=p|<5#BY~CZ3V?o{_$ zE%unnXfRaJph$9+h-6CQGQHw5nlzuxAx-EHXINeG1I0Ct1FiR;Xv2Pzi-ZP{J*=(P zow^d9;ke~}cxs(_`)X&%l{8DC1oMbrO#eTfN6!D3ef+-=xO`%~(xGDIPAwSxQ~f~6 MNhwQKi<<=fA8Ns&HUIzs literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cd3b5182ff383d3241503a84d80db7407849edef GIT binary patch literal 4392 zcmbuDXFD4Xpv9x8Q3O?#7*)0RUPbM__livsTB|i;78SJ>wWBp^m)cZH?TEd%7@v%lrDiIOja)IbYyBzjy;Zb#hV$QUCxzuBoA7^j|vvuZSP~=l2m0@BsiytftB< zllOTCxj{BGXE;Qm?Rk_-)|L&82|>KJuCb_~NF8!OOMCJ<*zJ1gCtou7N_Qm8&Z$QjBf1}b41ZvB9C0K|E2-y(Yt{m6G`usrQIF-yY_qD$xG#TV7b#O-n}%pAm=Xzivr&% zG0eHwpX?{;0c-tdN6x`=J!v*4CNAQO-{^br=n0G-fTSR;YsdD2D`_pM5WMESguX`H z3AS%C#YGv?YMMp)s}#k-%qUY@cU>x3SZmbJPcO8o3J$ZjNc?&3JG}*Vy*s7R+T(Z+ zboyc8x|&B=LK)Vi5XD;kXm(le*LTXsUNKg3&OLp;mnW95p}Wr?TOG_m)0{XxMMKK% z=}s>JKFSbt@heIaASh9*ni@bbL0b9hXerrThCsodvH1eC|Iu`|iA-9P$c=u>B1wCR(cYIKxT&8b zDn2z!jsbJT?~ZBo&S*yLQXAn1qbDOlU9)A4Km&IgdRXg#eZzvtkcbG6D3aE1r_ncE ztkwT-WgPXI*jU5vEW3F==PQV&f^HNwfRU_A7#U^tQDOpJ_Kc!s0lr~;-?o=X%Fv|R z(GJy#7*!@3#)ncBGW8S%H}k_qF~$$|ck`B;i2sPM7Ps8zp>6(k2Aj2s_=#vaBx^jBQO)Lo1f#i z-J1nGB<3717+KeJ7oONioO^KgdTQch5iy`{t*xQEn!I>XIYi$?2x^+`Z;7N6IG-r? zxUSylCqG)0sWr;olrDbm2pM6$n_K@)f@k;Jdv|z5ofbB4VrJ^#g zF2|So@V0#AP6P|ShCJXH&~lc297wElB{Fo2SzG553<#}l<&(jE5DRcSXnOdiMRWP* z;nkTTv{=O2x9>Xf)Wz32o#6Td#yv2yDfHv$+WDZ5WC5?4E&XPplz1>n;?NtXcix$w zUku;eE?~nPo`nz{47L|u82u~nJxXx*=L}gd0*&F@vo?w!_{=k4)^vfmW7ugwJW|xc zUjm>5ytCifHE(bdctwoS^7j#1-5zU|dq@Y^Z!z_#N%_J{t$ck5vAhuwxk}ENczeT* zl~ZVF;n=CT+)OhMtdpBNgpe-@X!}U?UF57$4cU%)q8?lhsBRXIC$R4@&tWk2sl#kh z&jCeK{!%HA$NT+MtdRzNkLF{wBcif^vM{PI10kxO>8mr}tmIM@t$ddD#k=3tclL(E zJ*a#rO}5<1|6DaHjk~dUA9@WrHdYPW;v%l>Z|lxRkBZyona79AJW+B3Txm-)@L(lt zX(1dx`p(fwD{jlRGDvkhYgi;}(9{>ypK#^|ln~?|cb=>3@@5st+UhX`aKFzx&Cb7B zK{>4=b>qckQz*VSZFB(l?-N0 zF*K8x=_3J;O{%QIBn``!G8JZ8Wy8>yMObXH(ZGP7EeI6@cfuRHONb<)zy+-rssMT6w|5yJN17t7t~f z4=>PU&4U%D(|wz2A#Oo}Qevwff!@y=uZgDs7QZiq^y8$=BOEM-I-_sUufC$Xewql) zVlYw~0ev4C&BQ`OTZCI*MK764Y)BOd$cRbE8hKTPq$SCqQNn)}Z+|mwp8L4o+h&q0ZY4<|YU?t7RsM7vt{7;U{L_>seYx zKb7rk#^6cw&K&{~TV2D$)&S!2%WkR$+XJ#Vwx0a2+hV`w%2bT0QTz8J37+#+NzME8 z9(ZJBA}`CB^L#xvUwLi_1Q|?;Ts4kz(jXXQ<-|};fs;z^_{^3&>8|1^0}X&ul@{b{x3Sp z=3DW^y>(B>vq^6o-fv<(rT=t)fxuDx@;c4xvVV#gQsw1Xm+wm;sif6a0qbV-kzOug zaRb^FX&-LJY15BVrDHZ0qRl59%}~o>XG%MbpK}(1F1i*<Z$+@4%Pc|RBR^SP@bm^y25CH-2P03AG%*8{fg%w9K2ZpBq+m=s@pn?rK*5s%Pvxyoj$*WLO!vuCg@6UjfJ= zUbc6nnP{WaGox+4D5Yy=wM(@MF=B1);#S9Rxuh#H-P0+LRqu%sU$X zG>;mI8{sUIsjL)w?vc%TIqRU=FI~v_2jch7D1Faya)d45$?_|wkcnF2n*ET2ILyj_ z_r7^U5sx%_!||l{-l8@2NHm7Dwu0J@nd)VxG`IZb2+AR7D=5BOMdJZwH^s@hzM9}J z51dd^u(eT2O_D3)@ii*todpnF)E*zQjFu7*(J+pgpY>$+l=A6GS~%f3IX>K3rvSYj z2%HjJU9DT%z`V!nvXIrWmJ;)&v;^haq+M$|uMFFdNPs!iM1 z--nUKUUiI2pLM-hj&}l*)A+@qZrL0I1g(Cqcn2E6b-~}O@jm+(qJ^}I&eWT(3xM`%u>2w4MetOcZRE>5|21XN0`ceqL%bt}kzmO(6A zrKD5uKi=m&9w%Zvjr_|J^^nVTt>B+odH$$ibDCYYg!e@Y$zXiNVQn?3sy4&W&H<=q%4JzOKY_b`tv?jZn=omm6X9wsJ0%dcuk zSZu~Stu+hgI1@X($>#sSBs-4HJ^BI9b?6QA9!f|R6r#5c^N3h5{E!G>LI7c#k`q3M zhKyT!&s$Fi64lNAFvAkt=o^L5&)b&=XCw8AB*U-NiOzBBi%LZ0>L*{%T2NjAz5zbH zS?G4@o2)et`L2&$E=V)xLTGW|^4s+sH8c~hM?q^HN7kySnVRHdm}q)%G6y!W8#C3T zQGFp2uLK_u>`Z(6eA)HI9i&iu=^jc;-eG4y+Qp;UmmN`5L0NjTnrXn5A#LclLK^f) z=-<}$1H|y$PmamujZFU{ENoj3cC2|^G=UfKS30F<6HgZ(w06|;J2D)q@By9O$68&^ zBe{M|RJs>jt>wqUTi#+OTtR&iceUNx-iL(;wbb@A%XB7)w{v7&e74$Jo}01HqUDji ze`aa1k`a%VI#e9ZLTSl~qudHdOL-N3CW~2n*dt)J*>$o>k^~sq_O>?~k zUwnvNq!B>;J=od&BX66nqFeChumS)fY~xT)vPM>9RN!t=HRGHq!Lt2zX;D`VfA~K4 za>SqEmMT}{!z#(IhU@v#H)TkW)QRT#N@PLWmRd&a0`+oRuI@~&8puKM0_^-!`W|2j zh*+nOQG!QQKK)UKP*9#({orFF~kQdL<74Vf4j3JMBMPF7MK3JRL#e*+QbpXGsqhzbgdYfny6O!H^f z#fIlkJgtx6>qpN+I=-%O(c>;Y#)5)UlS{+zXHk|*O`c2dD~n;4I!o@J7g6mG^&UfP zL9$q2IW#itS#L=8^T&rQm6W`Li(?qg(f!jCh{JO-qwQ!Q!(%d{+>9{Hlck2)gwQ@4 zDc|(x-;imJZ$HGX3CXzt+^F#xn8abjiil_f=5!%pJ700c2d>ipzuW)C4QYmQx!-ZQ zfUU7Lm5eGaUvlU0P%i#R$~; z-37KZe|&sg@8g{XH+-wi#PT?Fa=WBb*`zGW1*P=Kc^+?z*ky_agcm2-cx&=dt1BWt zQq@0@#ZiolY|eHcomw^ccLW@2tLigKXk_*{Nbjd(Lh$xa42t%d7wr}+_wG|a&mCqG zk=uuPb-H2>O~j9d^sbQUWA=8^?gJEvYuy4)MfaI4xhZm&@T|`)CS)R1xX||=28izh z35#m!`cpW6r<@=OQ6FVfW(u26nvwmqL8Q3t02cC_rEq@xHyxVSF7L++eX&m^y%A1- zNxO7m-^jw)RfquTeL&|m$KK;X^YDE}i^S{xHIiLroMI8`R5~Uv-}4jFi^ty6xcg2N zNFo;Bd{K-AM;C3uiD@6oHbLYec6%yDr71l=O`;_){8L%Ti6FLA_=G;pH!vuv{De=8nv}%)QKjI6(qGn zL`7I?dUUVidYE334*HhG)@G=yQ?-$n2`im^f<#hDTn>O*fa->Vb+W0oaq@6A+Ti-l zXkdMHKjmSoL?s$vH0!bHDT%P}mywEE_DdQh~G6SIRQj#YopjKj; zLQpRdhJ=v>V2Q#Nd)vv*?4b9%EEva4w3>c6av<4}7t^B#DoYgPk;e8_2l=>Ry#ziP@JR2uIs;%wG_4_*O;-P|@ zuo`3SJOhv&!w>;1g0X;pSQD0&zQ!fZeVcyjN0kGuwxe~p1-4=@ff5J2V1$MFhVJ<{ z{6hn6ZHff0x|#vGewXVm$``Up9ORMk|IW=_5Agkv9Wz*CkW8)Db+~yMw1`y0;2-CW z%vn=Ir*Yc3v>fmSiQJucMe9&ZX<6*mvu*JXXCT7P1q?o9U4&~GyuuXA+Y&ydXh^0E z)(D(PL@?R4I8L}7sB(QkRB`N^fTh!rTee`hQR7Jj{D9 zbn7h#Wuv0&BSt%sV@O;kKNi3^%S1W!B5!MMSHOz!KiNz(m4;!qU%=PVM|#V?`({h} zz#x?d#|)4ek3De^=#2knn8n~DVn$SOBEI4dZBay&*b~IEB6qV{o>gNb0;t6Opxx^X zTO)_n3lkK|vM=2=hdVbIoRl`thrce=0);zBmW0C?sZL0881&`(Es zN%1YxmDzUdRsMotg?QsRQ}J+0`WrLs&#Bmip_Af3D*iD!nGII=1FUegU7@qckbFOy zNeT9yY1#nY6SSvxs|sSU$qu6M&`}Uv5Lv)TjAE+m5HW&KogmeO=035RX(i zfi!rYj;n=1d@q{%$|l&rMhS%V0UH0wvab>%Z&lVEc2D*~{T49U>x*$TdPTowB(F&O zH99}pgeV!CCD0|Spq3ysLU%=$*J2keicGVoFd!%MGH~mCX<|Kx6DG|}S>30=UX$-X z0;ojw^la3CWR0X^dnP=^Q$2hyFTq)-;1y@I5o4_E`%Mu@g&M+_~0}fn|NLQ6kmKu5~VWzJ9k>DmhhDzD^wR{ zhKN62ayvJ`{okX) z9j2MI>Id(^6eB%!D@DbEfg68fs8(S0;5+AEq!>Yc?8%Z1X4r~40@aL|7Z4Pp2ho0^ zZNGs@dd77KKvoJF$=-8RhD@&hE}#jkeAbBSjPcsNZ?xn|j;Y7G7$0vztR6B1iDcHS zqWX+K7S;_1_ySO{#qwbdBVQ@otuO75=t2M^42i6afJ?TOb*Tob8#WYy zwPt0jiZf~ZAGSxKQ4uj>a|x`iT>7H7ynyut_h!|w*U7jJS}q2-Y-e8HAD(hzGD-#% zajW(zn{p0%BTb{fZ@OBU83j7pdWO%32cxVu;IP(LRpW&iGTLiuIBUK zIL&g%(%xzQ^Ps?uhs)fV*PT%PXDD_loj2yxqDqF^v&uPjgmB$6{Pu7xCUa$BMf1W1 z%gU#cz`pIZRsD|EkGLi6EYZKLQTmJjnHeH(Bxw4mVbUBASBt|_M-~*FUQYbkRI))> z1sMOa8lf=1yJixQtyIHA8v=aG61t-z@@4dZ*%GPZ`=If%U1@EFG-yrPo_Fo`lriF= zD%r97sO=bEfO=#*zMQxtNhv&i;KCsuSPHQIgCJ-yh4MFSnOYAHZAD61-G(b4D3_!+Qgt19t)$=kY!=?9~6JPf@49HR1zmB0Tn(E-O}-#91fdnKE-Yq{La)Gl4scP_~yq zVOoWQJTj0$cFTFkZ)yZ2u?Z%8{qL@dhmQP^ntVVjg=ARNHx>xi$j|j) z5cLkQGEy)yR#C;$b;K2jM;h-)b3Mhw8UBTSOh6<8ttMvvvf82Wx?1s5(q_F;mlX>b~^w8WtM@O0;#J}O05 zhZ4O2jKLrm7YfS*;}+)kQ@un`pW(*CciPVmDqp1Put`~Dv07#moJsY4v32{LokTsk z`BKPMdgQ`en(VnRtVrSc-Sork@>$W;Xl3pMy}ymYgk#C-cSNpYg#!gyRGzuAjABmq zlqK7{8uweEE`3DfFdEhP%7mPL;R;5iAaVznGPZD_4L3&Wu8;DA;S*d3yq+9{4A-~a z{A5@uwa$O{PuNC9V;sH^nK#2MbRrUR_djPVq{TFTjD;#m{2^-V&p#@*J3YDubbBA- zL*2+D&t~qyk_-DRyQ0dsuo{SsfxV;7>Ut=VjFTY~Mdjy9(*6=G45TB$ z9{&YL8;HJKRvN1j*+pcCGN<=>Mx95tJ(um{aenYO2Zn&JGB0j9l7HrDw-*B@=&5dR z#trJ(0M}|+a}`*SkM!+c?WCFFqCEi=B7&R?_3f6T0B)#^s35!+^(**lh}_3RSFLxioedMO6>26|0*}N4b04E zs6S(B)i6)4&Pq$Wo7grg{6`-9ztueQ#~49}g_oBOS_J!YK1^rA zyV-lQNSCD4Ine6&$bSB0lK(4r5~rmA-%=JKz&*R#*DTfkT3 z1mAp$M6E3x?Lq?++R4mgfBio#iX@#JbL#7wY=Ow+4!x{>8?OHAx5RO;^1zrvGwP`y zOv60o$$B=%fF}AM9<*X2&0oBZfp;i(6&G~+vnN_#a+5@9$6t7gEA?m9Dx(2d*p%pI zXGga+;(K-VBt3_ROU*gyk*mhb-X*z}ToAT49?H=10Z?xke}k;L4Cfxuh-?nio>&(5GJTHgyiQ$FeLS-Y6c^y*fKKU)H#jRBzXSN?>rNJ0MW>v+bT z+}Qxmmr-NvYgqEH#`P+e2d-~Uru^fxWowleC)q61M*@*&gZ0c>1;A+bkR|NmNz8{n zzPMh&WaCmd3H;~@C^_FL=Ol^g9dgHRk$Ni)MDkoBxgXwY~ zC2~9JPJrKK+|h@&m_)+~TM}a$9RWs)v1aMStwk6dfXx*2|7zUq zx+EgBOpTH`%R%$OB8@AuTy7n5cz?DNgoYEZRBnZBPmou>TW8V&f!b3(OuaRCkEVxy zGv%JoA>`aNFFBLu+M&FM##8*vF}F%2FWBgY2cGal%s#36Sgal5j4EjUYsuS7zf$vZHbfH*|abEMHeu8z$e07 zKiNfy2f@zOan4|2F-`+jz!Zbxn4Z)(co4gb_XaR(adAjSK}?ivTL&kl@wqNL&ho8y zB*oy{3q<*2Hh#^!?A`AoerOBS`OXE*?oK=otaRW)0xuYoH5K;COv96~T#4Z}qp4Y& z!A8A`)Wu2sp?ckk>l20&2saX|o73e8@cNS3VS3MsUlNcjK@o_>mMsEWR$~#Vgvbaq z%gfm~DNSs1PCyVQ0l`o{hU*KUe8-C)|_B}>r4BEsjjfAqM}i2Su&(TP9} zHIn7as(xx0!vND)Kz_){RM~CnxY8O?c9nyFA@y+EPwo~UUxm?-4jp!sJ&8d-KYczO z0lp;_Vz6v@)ZIum`sYEW425y}AF2cJ3sb_U4MUQmvoS(d102LqOmX%Ljl()>A^%_~ zoZF`i6atn&SZ5oV!OBWn0)9V_9_&`E)Hsuu%V0VA%zyKCdAMf_bd>LB#Qi3>erpF@d6$uT?FEw-1Jp_gNBQEqr3^ro9m zUfSpRvV5}3KQzzivfxHuTiGQoMAkm(9r(@_5yg4hbHENy@%e{R$aG#06V0ExX7S*2 zz)iKiDp|Wy+ObjPu~hC5%cR2r+D(i8Ybeq5*+RGUamay;p>FKo-gmaQtwyac=&-#* zN0_L)uG7TlP;n#=vry*-QV&CuL8~iSV<1#{d`wS~q86{km9Dpl^~1B? z8)drPev)`jX>2x%SG_qkrry@J!=-wMO|^Z`M&Q9lf?Y1UKdNx<7- zp8$%1MJ%YvKyk8yVCqJhUurYy0+IuT8%zmel}(L1NR?VY*&l@WyNL3CT`cJPtLT>G zVn)~@y|7wPt69@N)sbbfE(=&IOXj2`8G(>TK~PBUOMbLOO5u~H?Dm3-GgJd-N7_u{ z1iRhUGYImt2+NFiH+(co|b&l=6`+6XCWgMUjWXpY5S$Zje|3f^`*X(_CBCW<D7jFfz+sPoIaP_t2E+ygp`r(;_A*TEufLa4$<$Q;gY#3r}65o4M(q) zzM&Q)1KDfx>Z^2Yf1#2CMM4HTv`vU(Uq5?Y@{zwX(cZ`4?FTE zt-C9{fwNO8{}3X&T54(Fmu?sv>dr+EKp~tkB5b+pQ|=p$sI-@uUSE-!f4#$*Uyczf8u z*ujMp`HBLwQyFQwC8F!{ z&Z$&52@ccH>IpPXGj0*)m$|}@@%o=QTs?`R#nJ~0AI}Ahv!4F5t2@zjy3(7RelH=P zyxZ`Pb0>3ehW%B@mT;qEYmcMZqNtDQ6&C)%$mFkBI)OH zY9^hm4gS}!cN8io@IShSn3tISWW&Fr>C0Juy_j5nDg3sPRH%Lj%B9vkA{$YQ%*q_J zwS1{WKuShK>ZBL|Gl?=$!d3YWNwERhQITNTNXi7WIU7AVh`-8SG>A2^du!0(D}}}> zv9BongHL*;1hxS=MawI>xJb4Cxy zBGi4ENRNyFDT2(wB11PuMdZfXuOyFrj#zQr6H@Z|h)Uu%C8(({b2Da*8Om@}MR++l z5ATI{LeWqBV>(>koM&egL`i~)Z7gD3zki{*`ZQJk3eX~hcXDg@cq$&fw`XW8C=_0; zY$zVn6``;&5&T_SCNRDsr^HfMEfyxGljU~K4>e{g)Q)*{nz|8YV4(7I`*rr+6PM-C zKPlOF8(igI)PkpwmpQ1XKLZv+OYx$)#0XxyotB5#+Js8fGLrH^6Dw|75A&_OeJ_&` zQl`wS)_+C(8WC-XTnB}lZ)@NK^Pdvn{8y|6MYP7BmSHA@bF+L_wwe}4Gcj6}2ntkJ z`Md52p^SQs&^Xf7IHrZmTPnlk%Htsw-CwFpeEMWg5w(f z)16Wt$$dmwXo9HY`MBi1WM%V%jgB?aXB9zZmHBzPSQZ=qK(|klxvum+eQEF7yWyiwT)i=4kB{CAcMGTTf4?T+5s(!jF| zhe+DlRoge5R4rnFwHE+v`=0cAjR_~_1R#F{h1@yx67wQhda00+tY+l9*XzDJC)HZX zO=+yy&r&O(3#aE5ZuydgX>H7BlC*PDrP!vP76Lk1rx6SB3B^$gdJ*tPct0N(CfM6$ zR{iQ4NyybR9-7Ru5l@!=oJy;Ue^4*V?RH;C;b#Z<@l{2hf!svqFm~gF-)f~WUIJwX zRBMvQX&ty{gcA6nu(DWTbyOdShH6?m6)+}>;o|7m5%E-!QdAB38rRF-gM$yb?P#Uq zd}b>G;Z_NvP{X^Y3ECxeV6-%S!bk&n{zPBfF-CIcITnhr;s8fG_jJ8ss#V@8j>SZ{ z>wsh;3FObSYYBgQlH8bPeCv|xl4`lGF=!9$+B?Tgbl`F2E^BDo&20&x35{59PD?Mf z^6A0Ub*jOsqU7x`?*;ksSmP-dtu4WSCf05fHR3Hs=^qejNU-}5#2BP*w+Ze@vOc*V z(Uae$zk(@J4t$=992ik|f~P1(mr*%=D%lnRj(l~*NIgmO9arwdOeKd_QMq~hD~6D$ z#%NkgDx`thMBQulb#WL9wOikDTknKvDhX?2Ks|+90HISp<_7GoGdYr}0oVn$2LJfE zqXVD)GqX1(cg?fk1dKx?jtiTIy8+8Q{U3i4b?cWZ0M)A)(^DRlVZf`>yT;G7Tp16b za9R{{RJ2}GPR-$eJ01;WV{osW3`zMXZb~$2W#xw@O22krm1=ZfrLYA9wuz%4dEA3v zo4y`JIdW(VlF~j2ENJK(p`g~_6N%ecZID9CQL4tUAwP@xJ$v#^$}K&SSy^ti_m1yn zENh_uoPD82l>#n?b0AtC|Im$79%!Rq=koHDo8_Sma4#P5lZB@V#E6=?KmNW>&_Xov zbG9EW{!)*;<^eS8^OyAeq}S>#4nBEiYF6a8Gk?Q z#r5>q@_*6SSqz$(%<3M54|1knWf`G_^bF6NKV#8clK+I!ss>)Wrk9514`KrC0m z;&{I?DrQ#rjsCji-c$|7746DJv7@`5T&qNMiS%8Twl=0T{sA@SV8XaKcq@~*dui)~`JmCcAT#iI7(r74`giax&J7b}DWQ|nt#Sl$MA}U3 z)ca$~*-E;0I{h=^QZk4__5O8nk@xCiAmq8%}3LBk+s&_AtsExEjvR) zxRHwuJ&m%da~Ifb9#zC`w%8}-hJU1o^e<8Q_fF{pYk-}k)!t_0p>#R=A{JFR0HA2>-5)DVpG$v{sv&zmP~+n zY7Ce%?{zB4z`M3s-1y25m6?(+$`{H_hV$%laGpGlO~z{a)@RJfYQUK4c5=X0N?O8G zR%#cz5gwTm!3y{yYC)p7?rC;k!qSz(H*Vkbf%zd{eLgj6c#NsgcH;{0&n{6ogXbPC z{?h9IMNH;%MiJ-Fc|s$>8PEdLLL7!6S&Xe6#y8Z#Gl`RQqGTIMdy8PwaT=(*KW|S* za2JfGWsOxSb+r2(>lz-XLAkV`Jgq+`cf=8HRTa^nwgr7JT^amR7KC=7xYeJ=ydok+ ze+fCSd)9l6CJlBAv#8C(H4OI)f9+|nu{(ZD{F>FPkFR7l&bRYSUNt8bC;mcd2!Pua z&5JVm`T+k#^azQdh<&At>VUt9UBF7DL?oGxch+f~Y+l8ecw!dlCONt*kf36pwDf9I z-XIyC(Ho9-gPB$m>=F8T>>_tA|NN*(Mi5pr3zXisu%Mj9QU~C(lm?l(p#drAZya}; z(Q$}SvO(OkAyCPAwlgY1>Bm(>jlF8PJB6R)Wv_FSn;dm%Pfc5EDeS*a0t_sV(XtF_ zP#^~-ubGRAI-*FL1$gdh(siePU{dj)>P-oiU#W0FIn!MZ{l>UV&U1CUR7UOe`r8c1 zdwlrsTA!KV6oGSp3VQ!}uqiSG+Y-;NcU0y!9}#()Y9!dbmirstX7*}6(*@wmfAJOo zJz4K_7BI>KUX>GO7?SDP^&!Xmv*R6qOf)`kSrIV4oNdrZ?Q^z?hhLx;HJhL>9LFXy z!eaZ61ZN^to$Bjmlca12IHCt>9moD9tG21V?K>0S^<$3G%a04W-S%rcr>Z?BTdOt? z>Q5%GNUSp^3sg6$ddk>#1U#mE#0fF~{%3Pr+qzUQQEH^D?O&++aR2I(3}x@-TUolD#@+tP#esSb;$Ctzc^pXq%#tX5MohXQ=Wy1cNZ zUnmt9kkk6#vh%h$Z9B}-@5L4E$5hOJ<}e9Tersr!*z+&1_L85$2UEGON{%i%yaM5T zZWfYM=stP{D!hzQH``+0PY2MZ{fn!&4&-v~1rsJQF`(UeAh%V`Lg#pZMs_UtMUgTF zYtxOoaNEOC+j{?+q?_;68}#42)jt-ZH<57Ry;yaOr|f6TQ)9tasK&U*AyVE(KY!;6 zl&39m7Y%l$J|2ZEW>A?Ym~vpgNO*z~I5CL=+;y2dxz_&r`6NNU^f&Xq54boON@WdA z2w9vWwv}q^=`48TPuW>$2I0mfdOmVn-Ez`SzBUsBHXYMrLXAMNZlatC9@AKy`6ROx zqZ|Tui6u3f6j^TW%N~W342$N6uCMZ>2d9vm4Z=3C0<{j$f1z|!`$;g;LkbX%j71rT zm7(afMUU%owz6i?l;OuzhG#)LM8dDDe1zTML%JJP+h9B_vg^NGarq?jXysqo3``gi9s59>O zhHdi*H(;1&Xpb}9{9s7zBBB6HVaJjM1rhN>R;CM>Ecripo^v@r58*orE)Kb+r4qon z@IQNkR(KZkLGUxJMY>+c>xbzbMH%nUv_$T(^gkr+fLUK=Tdk?`jy}0iZ3X#aCH7>S z%1{$YOtg4-*l6RF%a(7$4T=xZ^L-Z6HbL;$Z0b_(y&o1_UqI;h094Vh?MRFH4bvFT z{>zqV-rreQh7)-a{po~h)5i~|o(|XH!Pf^g^~to*f(`8sjmkXwPy)w)7kQ27#@Hzc zxP*(f>@{s?&xcnE_sVLYDzlP!%bT>#`ToO77Gr#S36Z2t7Q@;veyk&=EY0YZNcVUe9;+9|U6WpEd;IZf71y#azAk*(aRI+f&Bt*Rc- zTWTtgwNd)*{Vktv3P1$k%Xr`OOe!Y^mw4vg&p9HoRH$J6Q>Lr_LkiKH927|4GB23b zAX&UIGUn-75C5va1AAT>kQ6v&yoK{;{@?Ewe|}zfM|GoKKN&AWBy)n!p51+AwRc?n ze)WIdbrYm^-0ZoLfqtT;v$_9XMn?ym_d;3(TvsQ51t>57>o>APCsIQ1f?#FEcR|T? z4jPEyBw3fi*V1(@w-c-r@fhhMT=KpZ^SBmw^f~gm2F?+ie?+Dh*5`gxvUcfJ5Qq~*N z8eaa<1w>h&NfsEE8;_k%q8oo!A0uKUfD*tyLLV4B*yuXG0W&xFNf9c6CJ28*ovgns zG)a(Z#9={$^CwA}iHeKfv3#dZbM7%5_P?Z{wKI7)}$j za*!>Yvk`aWnWfK^8i6V}55XuN%rHakMK;umY4NhzQrDfm5eM zN(5O%grbg!17*NH`W-=&u|A!DBPyF`aXxHZyt{rhkv_t{$KxCcrEEnmd|_dbag}Y& zN%W@n+1;W1}spu?A-)f5-N9rzKp(dVZU(GZ%&H;Q%^T-hi8@e}1A-8PrtTg!FE zKBX_KwPEqP_;uIM#AUg1bx~la8S-CEH(|9w+dI;-dSzS!>yoc>w$^ecl7m=_=vUmr zCPy;E;7Jomihex^ycy#gfU}kK4D%3K@iy|cnV^) zc@GK1^_;wu?6$kJs;bUYfy()av?=ty*HkQ00Ml`M}WlU(>)hbShu)z? zxBlnxb9;mN>_K9cv#d3>T&N4W;N)Bc*^m<5h7#i)_OT?J0Qi7UHdrzKZUJqzrb% zy-->`UYH?UPc6rw9Vb#5tw_?WNcfTM0<>r-p68h+As8)f_{pz=uXIoriDuI@j-M|g zrb2_ai^$Y%ty(I6Yl_2S>oX(?o`ah00Iej2uSB+*FL)_}AHrY@B;Fc!7w`h>;o#hGd>x&yi*rt zUvh8BP`0e5d91%R2Wv!12YS1li2gXAI0#(dj5mK6YZkiMe1nn06ezOcgx_ zYNmaC7cknqP+aIqmfM1DqKk?t&oxGAMD&FFr7~jRJ5MnfS5OJcdfxwQdpvB}>O}RR zdK_Va6EmzM(k8dz-A1sd{Ga`8%z4xaQp@iTNAylyy@2Lk#!zy?n%?ZQgNTZ!HDa%G zZtZh3hn!Ozh_{~2u%g~xsE4ZjYu~;~ptm^NW1&9}9laTKlM*|6!PSr`E+WGdB|0`` z8y2%e!s?xGKUt@5QF*Y|YvNt%$tV1oS8CLdak1+hfnd*uPHkv+@af07Up2&k!PnSc z#6$dcLBq8V8UY3qw&a8TyALvtDs*&ajqoNXV14p5L()n#aOvLqcLnfdewdIWl|Fj^ z*w!P)3?f|*w0q11f5lFb9ZEbDe3;{rC)X4c(Emqq=so&Z1za6^GUj z(STS9oj`AV1rY}pY zAK(A;7q)cO^~>g)=p|<5#BY~CZ3V?o{_$ zE%unnXfRaJph$9+h-6CQGQHw5nlzuxAx-EHXINeG1I0Ct1FiR;Xv2Pzi-ZP{J*=(P zow^d9;ke~}cxs(_`)X&%l{8DC1oMbrO#eTfN6!D3ef+-=xO`%~(xGDIPAwSxQ~f~6 MNhwQKi<<=fA8Ns&HUIzs literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cd3b5182ff383d3241503a84d80db7407849edef GIT binary patch literal 4392 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..45163c387f198fd6198723ed4b287b0aa617a5ce GIT binary patch literal 4665 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_06.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc50f3b250c673fb333c7513fbec1ac22f9d85c GIT binary patch literal 16481 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..45163c387f198fd6198723ed4b287b0aa617a5ce GIT binary patch literal 4665 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_07.png new file mode 100644 index 0000000000000000000000000000000000000000..b0832476758f008f9cddfb8e60adfa6abf5f6472 GIT binary patch literal 12275 zcmeHN^-~*8um_3+5AG7&p%g0`f=ltDMN5IUcyYJj+M>lNUaUZiy9G}u6p9oGP$&`{ z0t9&9_dmQJ-^|_3?%mAJ&S!7-Zs)TJ26`H#M2tjOSXiW5nyN-vSlB}UI{`TV?Od@j zaA0AHc510An*F*na<7kVx*0H(eK${0}pjC8=F zRz4-ms`I2r^>3+ef-f#Es5hy{HB)s~p>L>|oQDp#|JB~Ev90wa{4ShVklefuJ4H%% ztys_gT(~UUt*Nal(lDWUt?T`2jz-L>y#>hlNsPGkDdGPM|HmLSvHv5=J^JVomdRIM zU-(Ok@$<#vESEK>F(vI_q^8Itm!W1lLNL5*Vf|Pk7RvPfn?g-uo>3E!Ovrm-H-R&x zBF@(&)~-GWmEmu;@8b8PmV+_lG`6@1 zov_t5kDz}QfyF2IBlL|(B)mlm z$UYibW>$9;44v+`2OSC~Od_z@Ni=&7Y<-E8M0V@MSxzb0A2DhLi<9n$Ui@YzyM2Ok zY|P$=hh^7X+FIsh@E;@V>Ko&d(R_Rb`8z9@5h1(s1s6P#i!V1aGdaG6Ifohwc;J&6 zey2(<^3q70QqD&_l3;O_uyDbfNB#TE%lKnhSq7%ROB{Y#?=7tw87H4Gh-X2@!;|uF zF@#h74r_>_Qze>f-!c-#*p;C@igpI!S@+}1{TyUQw*Cim&c~l$yADM-u5h1H1bOKk ze|5(fcuyGI|7ea3wZ~C@ZqL+PwD)3Ldbn>5p_ut;%<}>j^q|tiXBf7fFc8d9W$S)$ zOUlijlcL5FWz#F3K|~Vxi_$Mg&U7{BbSndq4uVCENmCvz?pVD>1?Qc2S*1VnZeo>Z zyU^eQW#ca$oSu72v^aX zkg{q5`kDD8;kPBGa(UzO4+_=W@Y8=f4<7YG)#O!Z->%f=3}K5ZPB zP#k0~FGByR56gm8eZ5eM3tkqEQ2^fSuDwP2X=p$QPKmbdkySs|!7sJb{F=I)C_q^rttLXUFOGZ>EoZ&R#YjI{0?=n>&)&(Vi_`1|C{1GJ*`lD_xrsB`RgJfI5W=*4v}ijcQYehe zKEfk5>xAp{*@z;DWPpM&l5%(hd}5(3VU`sFSD?j^*YbiOetAK7CtPuT(wkPF!95|duQd{{6Qq(7jA@&K>n)qy5az;Z&XlNQ7=IULskbO?1vi7R}l!PpDbm_Ias z>J8UQOEmX(9q-aV{ZJuXcBVr)=7PEzd*cE~sg71Rj|#5ARhx-4+yJQoft6rDGnxn= zjq#x!L^1yULN!<*&h2>|Hs=rcdY?FqW9Z(`@1|sUt(;+&afxOuqhE~ggpHAzFTd|r zs)lb@hfN1PXS;?+`NZ%cEk)Yhs#sW~g4XQv+sA`bf!4>DJDOg^8Ptx5cLq!GB3uv8 zUzwB%P)9DaA3y=^mH_GV#YA1`I~QfM!6a4bU4Ok|h)g(+2m}l%L@W|G z>OYju&+ewTAn2*-PL7EOly%D`iV@-Kf5}+ih-4!)08v3E7G_bC&!5CV#b#|eo7r@^ z1jgD1gUrDpN~iU**yHOZi+^H(>1wYNRJy^{#!NwGL+7+QW8RE(-|Q8G!vQIVJIm2D z)!i!I&ktvT+4H%as@VGX@aaE1e)jnN_tEVi>}171vg3j5@z-My6HF%2>Nt4jh_ARf zvTomnnDIb~LJi0|r#7YX($cQzmd6^45WKvnE>q=ss!_6-$~IX8Pm@3V(^cfCFMg|= zl*B}rcls7(i-1titS7!NZH^km&4<)XZ?_4_2N}$9jW@|NK zb*`koF|=a?PKhX#3&LwzB7wNIXH;*mI~k@BHKf1}!TfteF(yCm&w8y)r>H&qc22pz zIIr3X27ywbtVBwt@h3IrW5qZZMQcL`ZrX|C!{00vH^pngw_d58FDqF_$7}><>T|x` zjiZMg7ru0!mD=Zk>$q{ZTP3p4>e~Vr;)4>(Ov~U_vNqN~91&sygAH>vFCG*I1IiEv zIvb^UDR%g`4S`f?gcVa6lsNIY%u4*m6X;l~m&0C1y(_GZ)6On|r3ylQ#+LeK{oyvb zSUXLL=rotA>*=(k(-7K)mVkZ9>{a~5tBd*-M*oO9k*l9f(UYEiV#a>K@5yPbup zXxFmKcIdGFd8EhLtvT(R#HJj_PW0D=zx~uv0+2|usH{E6g;$x*nc9?FhPcLrF;6-3 zn{-MP5KkmP8IBQae}DC_TYJY})15mR&@5=j7)D|k;lUNe6qt^lsdo+xEcr|}c1MnF zg8GNxt?ky0_&XWg@!=iM_^5yEQ zWB>GFM{15btux&?*Qwcn4UDUr+XvUJDfL8n^|kH;FHWgY$rJ_PO;IMV=jy>(g{_3X zx0$M8SW_YH-|}N>hq4jatK6t$cHDIw!Gyn@ixhO~>9BP{19IS(xNE1%gytmN(xcC; z$7TD3bL|cREWsD9^7IZP`5npHfz?;ORPtD;`M$Ruy)8Z1U zaZk?W-oFSWj0DSdvfApmk{~f{8NnzKN?g>3d~)Lq%uD#e)jo3RNXB~2tE>t+#_^?u z7Pm$R0KNMO<79W|7mB%bSuhic(*HW zP0)q1_cPxM1MIxj{R&Nd+k{`Ba3ak>=5mF^-Zp8%I+pxKJ^ba~h(qBJ=5Wg72nom2 zE@U4Mf?U|un%)nz`VpfenQ?GF9mg8)VeJ0{PVyyQz7;5}!K!S#WXK{CVyzlaE&8fU zqwSsGQF^|f7)LUoT#PdU*akLf7x_c+@7vMZZ@WwLx379$B1o+s5p79_M9*fB?V$T9;1}51c8e32!ZMC`?dtk07O!3Dkq$g%M+k2auF%8YMAle|5}KO~e0#Yth4~?EgLqDbhJ!rW+EJ~a0(d{PHl$WT9L2GOFwN>W zMw$ZVce3_=lGm)1;!n#DwJW*ww%tqqXJ>?7RiK}xv^Y!geTHS{1Quj*YYPas zSeD7NXTHcI!e7n=y=Rr%_?0zhLl!+ZpD}dMwe)W{zYEM$9}>|O$nY(ckJs3MJ4`R; zJMLRRDYkW@qDD8n3a&7uMK`cFEBEihp>Yxx3x287pKC$EPUWqQ$Dzun&-Q0?Rul3(xTiKa&7(zBj^l=2 zQ{NB#6$FcOD;x|Sit3d&l;uDtxV(y^-&IEu@rh3DuE&}pd9H51aM_`uo_3Fk^4D(T z=V;_sp*DHuLMJt>x>nTEN z^_od#4`?%}yVm#{{g3m~49~e2pOeQJD0`;BiKY$mJn;X4KZLi`Ru|U~$65m<8RIps zekXBVzd*0vgVBiONb^~df7!-;t8+K+o8QxO(5ia6SvK@M%Tx$?X z280a?_+TUYNGp4!4pAHW^>7-wkoc zh+8mU!*uwRsIKBH%cy&!U4$Bl zuDufO-V9C&vvdc1IA|L`zWw%?XNNQCkmutx0NP_%R-qCZVgV-Q9 zKRhK4RSjOyv)7}=^+a=1;WOl`j=}01q+X0yI?n{s?2EBEn%@b-+{i93y^18*3D!A~$8-Em zgV_lu#EmPu@j=;+P<2eVvB__vwnU1aCHu_-$xDBLrr|_yAsTS9j>pd#-_=AWi$%S; zrd0O<#<(C$X!%Bu>d8cU?{$;H&Yku_5|sR5i!Rq!ob$1k_fOwHJVO+<1-4W7D;NAP zZf(z6Nl$^Jje~kc2#w1_aBMxoCD%CCxyU=(^f*uER2F z($&o<9{nHU{a;c_b2HyHcg+3RDO>&EbY7I>JA2m_G9A_9lS9X4QmMrIaf1A__0j^D ztjg4Xem{Jj_zt0EAyrhWf5!+PleXR;zFIg_?!v9@l*%#RUeU{JtY&dOfhV-7ip04Kcvlv5;@@w;C zd1Z_XA*<^VZ2FS$sj@0PrK$^oq7F4(j|A4EaK@9Xw%p*K;&wSt&zyG<;0c!%ZD0MLiV=WDSVgFdW}B)`86t(T4oFJ3@#?8&z)01-K9sulm%UQ<88>`eTzl#bCi45AcE_ zH@+Nh3ftf;3&L>tQ2bZwidy=`W*88^gaYw3g)Iq;6K$4FSG_pysQ;QSNAyB4On63j z3Ggl4zd~}a#vWf9F#e+J`0-?2jL4qtyS#|tqWD(K5vzUBPx>C8l=sR!RCs71cLfB~ zo^J(VI9~ZV6?#i*Jz_w`ERE*^DyOn7<7jE`UZL(N`|zHFoa)L=D}gTxm_mO~P@@z` zZ=L@Q=(lM0IK>t|vN#4aBRkwir$deV&+kv4W?&{6&9vspCgG2QzX#??+~D{uP>H{& z-d6C3nh76`q=Kl!AD64zU(!iVCwkpO&U%GHNjS=KGyKPI)5vp}EdgDgS8tGbFZDWO zlAZr|mbD_3zkueR7oBmDcb=9Zv=yx$>#E`JMVi9Wx*}ZW8~|GI@>v zeObm}N}eM52d#>e^a(6ic^$#6ybfdfs@X4e&j8AqoeI_?%HvbEF z)%3iE2nCl?s?z#i?whxz1kquDX;$p3@nlToO2jkUIxlvBkLUHciHm(HyUls19&!4uCd}Z5EhNub^BHsnLiIrg}pHj zN|JcD9J(6s49Sl)iQFRb&0~947gGp4PBshQ<~J|IK;4Rs`qwz;l}VFT_e+>@-zuv( z3O#(FT$7Jy8nUMz6xrxqonJuJ4*6VL@yK zL&VQF2!a4ld5R}%b8gS zKi!&p5B`_g$uZ6C5RaeOWGMk9qRuZm)!Iy-aB*E}K3b=12}Rx!-1_wP9sLoVf<6VR zP~FO&HYWZ8PFpUHSGKZbtnTb$z{U{(2n-@hC&R)Q>k3#ur#U6tHBiGdWbG;i5KJ7< z{i}PAn{Gy??ET&?X(p`s*a}7VyTXVr^N?qQY+_BRLf^wiL-;`_{QBNUat^=*XXN_y z)p*mV6+5)2_^Yv_idal=$V=wxl0-gH*9--Qf4-r%qQ$CW2aKEOXoIw}VEI3n!HLRF zreZ(p!Y7tr?O`(*gvzeW?zkU_HW4Jpcn{LA6M>&~M~evE+)h+Tl|$Mm)sT3ns)>B( zf7XtK<~U3!I(qq_mmYT`x#Ig1+w(QI2P5~!CCmnu`lRtmX^dZ2%=lCsLO3&@G+|q7 zUn~q1f@6&URiV}eKzf7`0XEQ+p{x-+)kL0&#XpJPhrtq)vw6}sv6xbg|~6ns!w;`b~v&b zrSdv^c_1b}J`sq(&gy4&qbJG;Zc~1K(|DH)GlZGI#E_8~79|3~F0Z~)QBY=%5*BD; zI~e8Pgg&_MIoK|+)_h(&H>|yEm{-b)R5Cq<<#nDfjPN5Pv_l0V-zyFME^#H?iG~#! z5Hm>WM&rK=*RO6*)5ffbL?LpVfD{r~$e3SdKdoq88z#|&5da zF0#xLe+)c%e>pzt;5K~$+aLxRmonE(>DQxeT)5}Gcoj{Y zF!_n3^iVFxMB6r`RK`lqg{$_~QN{3wQ;m=Uta{%)*IIYwmvmsC)Cf7|1L^-XXf+aZqc&5j+D zy78TuHy?^Up?Gh7NRTFiGT`~G=KYFF&q^%w(;^xCi_>1cNcsI*%(-pTWo~cODzxu( zooX5)D919m4_coNyFmt4e zgYr1KI3YRi9ZWcHQBw$pyVNyXTvcVn%3Ch)#WluO;lI9qY4w9$;{_@Lu{y*ZEkuz6r>2=MkcLQ>Ci1?B2pRXh#AnNdtA14!r>m1^IAK9c+Rh8f*l0 zW+Ec4*Zzsdc`y0Ueun0bzTOb7KAPO!`@EvFZAVXtU8iEJ&SnZuRU#6NpU~3S#H)(u z*z@>NX!c5P`I8J6Ndg3^d2G9UZJC0OENLHHsJV6bku(c?fBt^LpK6UtKr`GVeoxcA z9)|5;5G&ScxHiu5p%fpN5pIT98@qPl?35Dp<+ol5e9fmbg9VfHZyrf@YG`V8Ms>Gl z-pv;Bc$0}UzGIKT&rOgsMy^OMVohkIs)N1LX!sb%$H<_76c7(t0*3@g;>904Yud#Z zoQ*jz3TJ&+JZ}9;E`9MP9t^qEpOq`|uncwi%kp{r@=)oOW5D)hzdd42{+emXZ@s7m zcr$JRJUt-rd`j85@7qi+p3(G~oz%hwk~0)?@wALdr}@bmfm*7DAJou5tsHG?9ygERspN1(x-6axLYjslK*f*-@n0GARLYhoSvF2a^l$?8mWrpK0^ zkl$Qu?29}5eSgxd6MZ%~mHLmn5!-vAVD(jr_oYqzSb`1u)vm|V zMY=ue>99G4MqSW&v#>3Vb!kLCr(?oy&I9;uv}x2x(jNN>J3Q4dV#5KssBPYS7XiCV z|1Cx|0Z#X$CtiU0Alh^;e-GVB$f!rDaAEFFCN_a2_Ng`nY-aq6s3#=?i$^(+Rm8== z_p>f7z`f!rB*UrZmuG4#E3O!AB^I_*ON@Feww8)JUZ0;!)XOFkYwN*xFjm;b;C56N z)-v`^d|X;qgE?&H#NhN!YrgG`Fn$hbiDiwo!%0Lhp60Zg@~cgO{+AGUfj1Cst>-

3*Y&z_N3luzvJC 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..001f2fbd2a8a0cff0ebd862fa71a912810b4f4b4 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_08.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_08.png new file mode 100644 index 0000000000000000000000000000000000000000..b0832476758f008f9cddfb8e60adfa6abf5f6472 GIT binary patch literal 12275 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

3*Y&z_N3luzvJC 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..001f2fbd2a8a0cff0ebd862fa71a912810b4f4b4 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_09.png new file mode 100644 index 0000000000000000000000000000000000000000..9f4ca7ecef232dd79200ad357e77b806784e2427 GIT binary patch literal 14915 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0d9916cbac7727ceb130f1073691a3e4f4918905 GIT binary patch literal 4973 zcmbW5Ra6v!7DWf7rF4)M0fC_#r9on(q;u$wp`;rex{*eKAw-FxVF>A#8U{hS8|iMI z@Be+hk9+RNS?jF3?$=p6T3z)$5dk#;001CTRFKpBx2^s=c$ok6F$D7o000zJlzXS` zlf9qqZKSnz(*fTLBg7+(z>H`$&SPX;EiG@DTrKvi*NL4qse?evXBQ32kve6bJPw9b zjKtDd*lEoAAQ+(mgS0-s%=6?ViP1w6Kd#;oTEhLqAj#{8a9{Xo?$&kk<%kFh-+~ki z0~q?`)*E!x9;Qf6pi-l5mK=_m!bz5CmEXbi6r06>mG_s-r~k{scsNuA0P?bz+;-pL zJbizb55X3`ZA@@`_$k0YymU7@zU{fRFr@#5Y{SaB-TVf21?zd+X3VWM__&C;S*r}P zjeciA9G46CwOC0v%z%4)8=KJXI9W&1D^Qe|(UovJbHi8PtnjEh^4`hU2 z@|nBGyVYI`3DBe{>}n}B538-pS*4Cu0R0b!M-%1mGYZOYhK?(L5pV^EbJl}fkru`X zcS2GOydIWiGj?O3m{6^8faMm~A>SmYy$QVDBr>B_z>h7~=A6Pxh%Ct*T%sLxbQH*n z+2wgxapA)AS2M^?BK(%kb#6_#UUdnm#e*<)g<|aC9=booCx8D0LI6)B+nVidM@iVr z9U4;(yQ_wh6_|71F1#bK(fjqGg$3&!vVV^SEbO6lC4r%o<_5m-u)~qzU-7cGfp>el zY1ocv#hYCAu9b7tqzC(-`ZwISK~vr!mF7$(GgKI5C!*9@*qu3FCO{$rsgmv2HB^a( zj^~RI*2ve6MeH--5l|oqi+7mQ4>MKCnhXBaMEZMDc5$FLM^oOxURsn2xd2Fzg0|xg znq@QR)V;;FJ)q$3%bjQV-@WpEY5_y9(ItsK^pcsRTai(T24tKoQhlh(R1`12w&xZf z%C_GDdxC}eu1L!h5`)cIf+Hw_At$;RJ;?X~6EP1Q|BbFitvEp6H@RdY3Tdb@sOh`J zy7Jh3A4_Gl|97dGOW-f0z5Y@gRGrWEV!t|zar$5@4HqHTks zH3QfWqqe5F*VSB;aKa43BFjk#Z5Y!OACAurlW_7PX0U5LL|@MS_id8WCv_oMjKE?_ zY5;Ha=I?pfb7sDs6I!(xWwkhpk)_y++fugG1(ne&vzy@~wu=4%VNFyl79&G|$JJ2E zTaTkf35m$p%MpzcbS6G3MSt|sT%Z~3^91zY^P>4x_qRbMj;ucfGJC))Y`kvw-BWi!`Ew+{bI3wjdbd?@P?C0b$O-s5|kXkq3| z5b$7i%7JoY-II1kQBlx(xOSOGYF8Zu2-C0?fcLoHWA^M1@rGvE)b5?ciZ&s! zkXTfYC9|sNm<9dt8@HCp^|VVpgm0B-(?w|(>}F)zrQ)-|rFVZXIsw&}aG15_x3(kq zLA*)sNLF3*P|)FTQ;A51_(DK|S08WjCYW<9v&L1}$a=r_Y2t4yW70j|U)2M@X3&d% zoY%nVcnp<81-0xsifPo8cO@=XDVcb6#8zB)^V5&|)uUa*A4^BbpB4bglj0lRfN;M9 z@ZH=Gk8*k-IBmTZL<0Z-LAXWrElYXj{zL3-8jNUvHo^7BQPEmDn-05)Z1)Wb5{NJS zI{i;5pSAhNY5B7OocEeYVGs*r=ZHg|>QLmG)cQhk#`9)A;JRZ?Xi>H)LsTbe)#-b> zDtb|j4*xyt-on8Pr3)CrlnBB~E743(sgdMvR=%DrAj;pf6jliV24yZf;T# z&j$FxX^yxW;)NUf=m;LjXyu6$R2pe_Z*yQ2+NW&jMvb?lcwDL|p%Ry_Zy%lQ<*&W7 zpIWpAjNz92#xiwU(UjUC&5g43BVpB!LH$NLD$VJmA^8&=))od%FZD{a9qNM}QNE}X zdW;YfSN!EbA4?)R+7MHI+4HDokaPhMq{K7AmWgiw$l>LmG8yBdgm{A6Jc=tT;Tx+b z8w1v%aXdO!Cgjfc+UaQC#!0VsoH40w2_=?fl9s@#t*ya90x|zv4OK_l1GT>#(-K!q zkLx+}VkucE3+-ojTp%Icm%V~C(HNKjCgtZ|-UsYx_dForX&!D(x=IIWgl-O>^<@2o zM1_Bg>q=KA76p54O3y9FMpj4&$H$51L#@E#h!@IC7WLq68!;``)QtDXasgKQR!nl3 zAysL?#n+k6gx_<<2msN^jfwC|-4JJDr`eVe>~l4muS1YOKjp_qwq+5nb}j=MD>01+ z*9T#oGCgT{X$4C`Aw~?92c^?o^SsfKU)7%;9&fjMI4?teo($jBeN*5(@UzAw2zTuN zTzRjRZm`IRC0Xz|ec{rtRPcfML1wCnA=Q$!@Ruk`fHeo2=CH7^ku~M@vnIGTr`|0X~f~V%*+*J=p;tzddgBd-&n-zRGQAh zlLg4<{SGG2%5EN!XMW2%{r$b%PP>CT46_Eh{AH8+BpTA#s!2g%P-J_Yre%m@l# zQP?xYv-_Mf75T&suS^>&J(wLla>pQXynr#%Fx2;0*h+#b`Bdv4Elyc4~L*Gn=3DkG0vy zC=8YrZJqwOc;#|MqEmveyJWMbnUKQtU;hf6a8*^+wm?j;1&CRuc*<^+a*hZeF2fqa zlbVsffHy+_OhJ~LG_>Uce(%M>Y>&-Hg-t;XQDzg~6K+WQSdlMT2+Q8@*JM)x2q&HP z=H9$2>XiIlk|IE>mc-lh@O^NgX_C>-xYlQ~!`2jTi!R*2obO_q#76*@ov2J@7iW|Bir>B!@&ioD#4J(Y zh-mcIPbi4f6z;ww-Bh^ed7`GTuCe};FSV}o)uQ{+6^bCM^iW>bI`DjV;gvk|BLeL( zRy4~@rW9UG%r`K0iO5FIzsFFks>qA#RxuxCHp2(-vYA=PxOGvs^GWd0ZeKMzzze>U zh00Dpe=@byihoAu9n@Xv{#b7l7JB$=A9o}w*pWNOVg)s|I{0^RiU&foe%ar>tLpn+ zlIIrZt$fMn*LW(fcvWv{M5dhZyZ6+lxK-RYlZN(2#;mU)SK~t^nsQ(*O=Ix=B0aLU zy1uT8vyAoh@_1`|cFFe!J2E8#&hl9*GIj9p>3f>SeDscoXb$naGb)|8B&JOh?0*l) z@YuL}vaWyE6iZ}Wk%*)mCz5IaT$63DaN=F@p z?{vXz34n8+NF&;ow^kNuh)VBi+jx!)zIpbRgM=U#6F^X3pgJ&ERo5sp*X13{X zgi(&Ui96M)+{jm#1M^ozy+K=4Zb8-o@(~JL65f)2cZ(uN*uV?@nfrAS5oWtT8(A+< zMBan`nHgu?cQ|=i{k5+rYT6QAP4duo$nP%I(bbt9! zW=YB|0uw~439A|$e#W+@5Ve7(l8o#&FT(aW9XsxC_Zq;4gzHxN_4bcl{GFo*(gXj1 zz<=DD3b?y(KYA&?F~Uj0NbOQf#C7Y0uEiTl+L(^Fh2i28__kkYn6Gb|{#0=-;)e#B z&m(G~HKixG!FjrcBP9dBN`}$)p6qF*_4~eB%49Ys)g_t`Z^N9*IGuic{c7H*CqIZI&R>7*DL@ba`4gdPTXMyB_OZ(rw~_ zCCZ|T9l$p{^cbn3DKq6s8ZFOQJuvXoMyj!D!BO9*?!6s@ECPh5Lu~L9K=p$sqmtQ85z1iPfQpym$Ur?Eyj)v#Y9#~ou0V& zS%kzf$Jt<^@i&?F4&mDwbHAxK=H)M*&RBs8*Y!*^HdptQ@-tg~iqcVYS(mZ_w?t+Z zpH$C02G4Z>IJ`|0*3o;CZtI`y}sUbdcT#@-lx`5XBClu+@7aD{6q?y_ee| zDo6;F@F@iDljQrBf~K1JUEWxG3kr&)8Zrg?bWV155ZY0tBB-$so0>=Hs>QWDo6Ad_ zrq*4=X~q2_uy&Cr6?c0`_>kPcD)J&ai$N0^#>y*aX40@cT0yg{`}+Fb_~+F^CeGva z7A?99y8CbmzdN(>o?rLzgOlu7iTM^p9{gmYMMfL~-5P8@Cmc{(GVpb#H0d`vAAjXf z{U_p?K}4>XfP>I$e82d{=60WGmDTiR%nblD@42HwVA+a|IE=h0-I`*CWBMB9k1*)nJy#HqdAM*^=IYoO}BKLBj^a1M^NOGq6pA>Ua1 zEmKdBKEo451GnOR{w`_y%k+NQ9Iu0l9aQ?KxG9vo-UbF5vP?hiFLc_PRSynM&)2Z; zD)_MoKgQbwIKM+GU&I{?m<$(=54>1v7A#N1nb?zFU;GUgLdce8 z&(>>i_T<%|o_u&t?^>L0;c>f`19Y=`z_Xo*uJTn+15c(POG+me0HmDgnL@muV{j#Z zv@d--qZEI}vUQa24~)s}2eS2~rE_e#ZSoiF^zS9y3g5H{w^SD;&-og&Q`ieh>#56t zuN@&L&jP851W2kFjyRs@m}a^3j7Mxhlh+*6RqKRDb;Ri{Zx>7nWqLFM3~B=nYRg0g z4kum}JD}n?j5I*QzLtYX#S=xSrQWdVk@KOC0FL?Mgp=19;3Z}PrxX z?K8tX`w}n0pFyfZWN|IFtUMr#E}u=is;j;vr?Y$aWF@k&IvI4d$`-< zumE+=n#j6|2c+A zW5@(gAP4z{%#0so$I)n_@I&4COH6Y1ge@NJ|1bQ%d_3!MmS`hUBuDXLz+RRMK8YAh zR*hX!L&7#-P8iEQj?S;yhcpRpD}pLmj*kroLjZsneR%ioW`-|I`o}j|&Y3N<${=Yk z`O2Yo7c1P(fNsR(xk?D2&CNx;+TGbeJs|RJc4^W(>SS~R*#9ktoOqrrF8M^Jl%MI0 z)~GijE?ZbLW;;8!Pv)mOWU`(thq~q3E7g;IZ=z(qA%ST1d&^YLTpIGR|)t{M2VCQ;Qez%i~Uu7;;wd zdF7J#Qu1=@rZsdKZVX_5s2=*r*wh3gLLoKDuqyPL+7aCl4{NJaa!tZ z@x?>dWqp;&OJ2r7~_6+vSjpYtL-b&Av6Un|YgG&8Y zW#g08^Hi)iqy?6)jJCbjXcLDc1DC<$sb2&~`v-{r5)*IF+j_7-sLzd?Uy{jvdHTyk z1_eff5iHT*X423SXFrpCd_z0W(#F9`VRj%`Q4@jht!PjQW_ZzlW=@p+1}{G9{1sj* z+-L!7iA77cUwB*XcNdD!+gW~vwe9D`a)2yDz!VG;Z zA9bUjyv2vQLL5fDDBGOG8wM?cDFAqZ0RjoT9z5QTF@C+37dt(J3FO4XxV_uiDQ!y< z|8(U`6nXBlidBIVdQY&z+Wh?@*H_2ymGWa}tX2sxGiE9hZ+7+T+ERV#nwGN?eWIrvIGvJL%>q83e1Rhqa@l(0(kq*ooETb9su?9_0! zts|7;cCrm%)DcFhK;Jw}XZpI2sKhZBAzb;qm8T}VjrVi;j~`u43sw-^;&CxZU02|? zVXEAwA}Qah&S^yH5wX(#384p;5UwSJ(RmwP`)*EZ^R=lLaFToc8di z&ntN{j3FrD6vC9f=PR2Fu#O^?;)8;MDxZFAg!hJLsJ{p4HbW&gwaCzFo(4y=#$1@Z z9`g<hHZnT=O-r-4rznJ7Sy(=LYgo}e?(bB2qneR9L-l*56Gz~;bBfk!T zPbAdBm>GK$_+B&U-4f9hGGGOw*QRkn5}8%j*mzF-Q~4?Xp|lWCWv^^GXf65nqA;cl z8ugSj#!uGis80uf|7P3Umh)3=vCZR!e_~)lO@cT9Ff3#F1pHK;<7BxyMIydc;ghb9 zTdZIels}SVHd#jDK^@_>roPf9=H>`i2I#Y1r5Y-Y8H6xOwbmDSFZm`aX@>2B^>L3rQ0zS)c z-?+X1F(?lk;L^=Rw67 z0|X}XmprV6Dn$QIT9-0x#>lQrD~#(b#@;bzMZ(9JgzPVR$g;XE_(gI{an@~c0FE=l zV>%$39co+F8LrEm=^asCN~7LY-PjA=Th!jaD-yT98ZN!TjCX+>n$c7w_LM#3Y~x4X z4pPm%kz{b7Uw4hC_k&bnl`}?zDv&XT$WQbZhF6Ej;yh3ljm3UK#?mYoF0LiJkX;ItS2KF+pIh&z`A9}jvCRN*o|F`l>+pVL>Ok(LdkF-Uh-KV0*URSfidljU)f zK`nCb6D_!^vi)Qs)%MIp7Zz*}6TJN(Ot@5}%DKvmm4BiU%xomvC z)f1Yn2fDrW%9)fB)*%ugt00uBtAs@nDLa%vK=m^blgM&`+PQovL4o65~(t@ghH)HX^ zUM$i3YfAE7z7Vy_NG7GM@b{wDVY_$MD)4MCi~7sgMK|BeNZ$0oPH=}jP{)!|Prl66 zp&R(7XL62X9~$UL8%)hUct7NBbzW;Ohq8BeQQ(xta^q?ra;_8nx?8X4r}XmEH#I8$dvR$RX= zwH>#2o>@xXLJG{)j9B9?(B{8?u^}XWq7Dd?*wFsUcxv5u6!3GDl!|o>sbEYlV{ogm z)pS+5@8KNpSb>3c82^2O3y+TX)Y`l|!twGHY4rX8cmBE0aQHJJyWlg^oGCh9 zUY23c@l!n+w6=D4aV669W_o}T+n0p+@4>!?>x^lY!>~kMM+P;4IrA=J|inqv~nI)29b3L;KN_x0aR!sMSzXJule?F@5Ik8yZ75L2P*L z*WT>)@qWaI=T)g<7l3BtWDvCsGif14y^6^eIqn}$)>~=f{Srr6=J>1hh?|IGgN8oY zRW4_&*=?WS{WM_KC7sL!&>;_ZGNp*#b;{P09VN6F>~LKV6qk6DPl3z+efUiJFKY@* z<@UE7zX{BeEuFhK9$cY+uv2PBuut4*(9F+I!-ttmHQ%8Uk6Z-JjM+##F8#Q1O3&B9 z=J6wFM?~DsOE~qDZSmN2_Yw%^u4_5|urV;QVQ8TJ);_RbcakEMGN~f@WTzLvu9fA^ zJYT#yhC7^hY>L3`qMdhI1piPs>Aoo#Iu)jT8I>6)XrgqoELP`q9>K?ftanM{P+;3K z+E`7>zapxx1`Fmxm&^vkUViv$$3BqB=i~*;s6;JqXNPy}*I+V743Fvg(q#YkD%;Sj z_%?A$rhOcdYJv!zQRBICbfItkn|^t|*rdqM?J3Pt!g zO1L`BDo7fR+9DLjPdJ^H5zSs~_zQ9O^9k&HCg(Ws{_?TWLt7jKRg84#L9RpC?qdyQ z+E3nHVJ%5dMrK;2Z(mH(Enw}XFKLatE`>%KKh}s*?vi0OhmbXY&-{6*1z8XFc00LK zt8<(mf19u+Ox=Yck&xS;qCh1P^;cfphv9NC-Pxf>#MJw|(lu_1!@%3J>)f<57VBay zRQtjv8U)m`NLn!aT<{$>k%Q!kSx#Pn;8&XL0zK}ITq?oWz!GYxz=y6s5w zlv3V`NKQ0bBkXteF2ju|C9Zz8$xr6vjEWoa>bD= z$*`&|u%EVqEbbp~fNMRBnc7`4nM%F4qN<}mY6f6<4IAI!!iRgkT{!bzw-e#)iPQs( zu#l4g>(-T53-}A{9@sy3%LNC&OhhjO#G8pKbeM@0uc#$R1)<8nArNEy8f0V*7ICTc z;FuFv)!PKRwYWTxD~SN?x@I9D8SiCMF6RlJ%(T$GHj-_qjIAg+h!7(*q+u`DNl$e) zJaf7ucZgzvt{?gpEu8r@-(WO*+O6ppvqn)ywJwsopy#;PoztZ6y-?=93PV4LX3?F? zg?jtbwRdIzs}($e2Qyt%To^+H&f3u*QExt!_83xM-5EBzuILB62Z%2ijT1{amLlo-fV%C00+vtZG$R*w&uud01*uHj z(Kh8R=Z2%3b-EhJ#!+_3qMZqV67G+zP(*qxjgQbP&OwEL;oE~ti`yu^3nTS8U0E^n0DAwHi{mwBUZ?J&+S2G%fg}x z{D`r5vlHS;&8&MX^I;%?_EzSFLtwi`$&sA=aLH{~bNd4(Y$cri>67n^X$1-&h{~D; z-(yWk&W+Hr(4fGEl{q^V+dGHfoE}V83Z&Pf@g>4Df#yD#T><%H-`~2XfXK7oB2gw#vkYUUpyiML3RJ)v+C-i*e+cc3hcS3gvb>V!bqQA%B9g<1Auz32JYeClp6tl&US2`x^>%SfP5M9jL;77Q~>eiv`$}{UF>R z>H{%eSN{!nRrZB!n5;5_2Id9K)=iKqU`!g)=f&zn36#Zb*T5zDZRybZ5#*=y&C3&I(0DklQ`rbG7@kBdK%xPj(T(t9r!v6|H*1ooNDFD*zoW* zVqny@K`s?}Hgs(t+VD6_1F=xHwq|;WlQK^DrSyTKO!5m}2ek)e!gPjJ5ZJang^tc_ zd>Y+bh&!XwaW4u!*Fo*J{y6-}{^t+OuD=Xcj)mT-?N52>Z{depxchCh;r5HlSE>Q+ zgSjp}E-A{GIFIj~D$qr|=z;US%?A zCqjSBb~1>?nd_F%VJ@8b5xCY1z&$cr4OqV@>xk9SxOSHC>*b8$^~$dOB!Ushgwd%@ zLcu;7v>_8Gon-0=(l4!@#XMl8rPvUz#Gv*mRmdFXV(bW$3Gds=&mxoSptZ`+=qL3- ze|H;XL;o^3|2W>V-g4Hz_CIGpF|8hc3Cx38>2*)Zbc^ztkfRozP~5sAZY$}7=f#iC zdz)Rcjt(GjVkRDZEmy3g`efb^LfvS0LB#kH2-a`Qx@H|BMZ1 zFI+znHqqRu1jhhBjR-_{m5p)WS{93dZyOT*taR;#9|ZcE=fyU<}dA{#Eo;l zME`W>`YU4vP}u{3a^0Jm0El^+J{yGDTBMO|<@1vb`=!U$Gpcvo%{X%#ejJ)GP2^`5 z8ppt`3wblN1Uwjq{5&S@`?p!5wk?V(m#xe3c;!&fl_I&kKmpKIDZ2Dbkr+7k(438~!5 zD+tr*=5mv2X*!~bl`MKm_rG60&2)Ip1l)|!t$7FEZH!n=cUcub&4dv#HnQPb&Wfk! zt&oY3e8YDZh)mjEk+SZN1*F22C#ps41IqKh zmeQ78OBTLyrr+|DJOlmk>5D5$K2;_SVbfUlzc`Dx3J;dlr?0H)0axHc^CmgD1gAb0 zJJkK~A`+g6tktilFTT4I-(@nF+@%gaR`QL&7-c}f^C@9f`vh+OX!e{no7 zG!l#kjkFu;Sj0MV|Dx#Gs%R6fQMs&h;{=L-5v`y1ccV_BnCZVI+2bNE-CX~o_6C<_ zE}SNacV#5tHN{NNIX?Xd4Lcq|M=OX#;_Da}4C0?Fp_b7vC(h7t8DH~B+<2k~tz&7K zX=)2KiL*fBEK+Mdz8z0UAN>nD`Q-e%3-2}KRbPLX>qEQL4E}F0SS-?iC=)A!L7A~* z&rh-;c0`MF8@%Ivs25}_uHD|^gwM%5By4Olz8BOiS1|B%HP`81+__RZxpx7Gd8~@r zr61xhOIj>-y}N0*O;RHF*cf`GzUS&?>53y9XOK8%9`wi|*D%ks9vtVNpMOn;aT95! zU_Udr!WDx*C%_BP;edJ?zzJ>wM43KsvJvVUH_FK)M!^CiN(Ue|B+ zUj{G!Ej=7?P|r+M<5;a1dh0=;U+r95_5#|kl%1zRf~>Z6>?=;Oskhj)1@qWTbtYx@ z`K>Audp$LXyKCk&J3l@ z;9nkdm>P8MMV-VksU&WGo4Gs3UOJ6zZuerj`n^oLJ_x@i_#|kaJmG)0ZbUggXl$Sh zXw(t+k*fwCFxBhlWiIE*T~C@Au!K==4ojH!|vM8fTLsi%gb z)48OzH!L7ug~y`0NX!i7SVAMLWM{WvC>$w3aS2PA8Q#^1qN;J?k(fX2nqU+eH(U~@ z;lgP)-S%AYbnaQ#372RV!0qYV3pJWnYH+56Afp9#`1Rhw!f(I(=5z}{@pB>X_GGm41I!Bu``f$@x&FqPF%Wg zZTzE4+jm}tAmzrSeG8lr?=CoO|K>207V-JGVxnSM&$k5`0l~VpVGKEb&{1bSnDb{H zh{{i|wX)(p1LYAB>JXCxSa7cJv=xgIpVgxloekL`G3Pi4&5qJPBr!ef2}bK4iAh(R zHfMIsUB~QQ(i*zc;n|{F(nwk4XpcmeCb$^uE7t)CXrmY>QykGUnoIsGXC z7fvP}Mbae`=83p~r0ng%iXmxV{`Sx#_CW7srk@u|&MK}txFV`pub{;4Fe@gTf}mVX zub#+Ao*&%F$1=|7V)EkCAVMS>R8QEd5(iTfMR?O%KEoKyq{WN3IG@-?(Bd_Kyju?c zes;)qMOo^gd5o&JPPUQ@_}QAc=`AM(P{nth426Atvy*htdO1};i{63c)%-dbk9L;g zcJ=GC8wz7hHQYl7h;>XG@1ny2W5LYEXDtc1C?N(DbH&C;fCNMRpXP%Ji8z9KsfLT^zmNeBt?o=!d{T4rE2><6f5@qjkA&+yxuR($XM_xL`yop+H8S)H~e2( z#(V1hvk>(H7y7^(tOu0&uoik`4z0zv(H`R4+Moy8T=p=b9R}T9mr9fxP zWMUszC+HhqvU7-SCxznYn;z)UuT<8ZPYN|_G< zb!N@58=iF*D)`1qZ<_CYh)adhZm({=u62w?Y zr~B$K6de$CGwX4RI=y2932|T63=;Umahym({od?~`pF6UNR39t^}ellD^^NH6XsGo z*_aK?|Cs`>?nNiPF&U6V4iByXoE;VF?jK#!p_r`c1N^XnC2*fAgdde zQGs6>a~MJe+D~d$oPjX(_iD2`K#_GG0^%$RiEUyy)M4BN&gO`Kc6NA_3U8Xpq7lmL zGGj6LMPGQQ7CwKzPcOuo$xN~SuuQ;f8UBNXZ_?U)IU7Y!C6(i;iEY(GIOn8!Y*8(1 zjQBpmYU79%WDTHH!PXupMW$OhCGVacP`=~U`6$9zuD7l@aOC`^v3C4<8HC~=i8TT| zDK=4MoU{yo8L6MZ3}r=w;@2gm978=MO~}ZLp4Vo%-t-WcH{ma|_^0)DHFNk-CcN!D zES=x}q^udg#a8EQ_>PcG+(782s|nWOK)Md`)C8J`SJ?NPzwj-KIkx&lAD`WkFU)4~ z^|6;sz;;+DrpD=~+MYs$<;7UK@ z-K>D8Id{kFeKI>cl}s>}n2r;JYotbEj4J5H}urONpXiPd!Jwkm}BARuT$q$GOu$D68wmuD;Yt#^#7FU zJ|Spu8VXO?zmFs1wWdSvmt3tyd2X zWQYYHXg%D%tY2)oJxKgU`4Kf{pDsN9D@Ug}`Wp@%pG##aYaAf`ZuW$!`ulH#foK;S zD!ne&2H=!1c1G-gnR}edsB!N8nF4azNynOJt@pJqjYi&Ttf$wVMK9+MtP_p9YkIZ1=`Eti1_8$0K@YtiR{e& z)1Dl87EWk75}92G-AD?<1#(Kwn72QBfv>^WYW zj*enFw1dVBikvDlXy(DQv+uQYY(n-$e7W!~;0rILh~YEOidSAVb6?cG3Bs`y^M!(G zZ^6;8^a&z?3B<-nAP;a2W=*n9ck21hIR%B+hK52doBSH_{Nl>z_Wf&T=JP;2*Hc|1 zBZWg*W3dpoB)m64|M;f5ZlxWMeu8i(_`azgKa8|%l)y^~Mu*2+ic`h^>s?(8Z)Nme z!!Z^Ue*Dt#?G$TCn8eqQB)+@j6O)75C6kv$Hq@?-3y1}=y=}d1a7FxOy}zX!lNSo8{?RC!2N%u1oTr#osn) zKy+JZO^p(3=};X8lPa4BE&K(;2U4!&kZ9_OY)8wq$G+nL+0hoW4f{N}CY*Pu3ztYi zq7^3$=P5#~kxn{@S%vGx$i%!lIhkPiiDF!2;q;HPs?idK5XP^rlI_Kkgbb5Illt~^ zRc%aF^ONDKs0XBAt&tk)W)6Ryo5A~MUO%HKd6C=1e7bgOt*pUo#$Z4+ruPNK2jky* zP`iveN$(=OD=@XnW(aF#@4ti|@JVMWL8(whfXZ5?-`S1X=72~W*O;6UNWZNb4#iNL7 zRPj%iB=mIp{(20LRq)y9jmqRdFs}4mvyw(9w7*w%)*>-A$zv{)Uh$9qsBx<9`EU8uS5Vki zPuEBirNnMs5gx@RyLUIZviw(WVLqO&yT`Z|9hI#2#w!+0lJ^6j==;_fZ;c8+warU% zE!?xDkDD1B{P}~8!MtnzY}ay@JZAeFpVu#=ULL;n`OB5fwolF-9w~IKPO`#>Y1;bV z7t~xW-++DYjt_YnI78=G&2~MvIFaPeMPL{bH{_i0>od5+9GS24Dty_l3eHP1s)v`8 z*4wA?Ns_*bMl)$-n*usf5r-p2A=0IB2v(&>05R}`4ZwGze+_{ zR9Stf3eYUguY7Ds^Iv)(xFO%%LiQQegT>^5Sh4ZKI9Ow?%2{>G=g^ct-Zp<^DEZQ; zy=wPSzoDk+@J?Jh%d@!B3KkVJBnkL=<9@jPGo|eXTo19h zbJ(QT0}FTOd7>WuqUH#5N!76-8RD%)v&Z=M!`^lJ2E8Ao8wxU@iQ$G3tTO%w@Cfqp z=DICqo2R9wrTVd-opAj8$QaaL8^5`wf@1Xt!t~<0Aj;BUm0vfN$ zk>_|A_mNRy0l~Y8HHvDF$XT{823f`mH>#M-p6rfZu?Q%dqM3J0B?%ao^7a`h!j)@A z#)@4iO8Av2BKZBD1lKI1n!Tj)cXFjRRP@#8D9CWK8mGwX2et*$;`Pr!&avtM7Px^T z8OEprUU7*tQx4VPtDjBG6%tBMEZN=+@a=MSUX2;F2ih0z#BIs(z|Cx(h$)^YFs{`p zg%ud7?}Hwdp^NeU_wQx4rb_u&Hf@x*D9kW|u#{D;H)BGTcbeX5SmEX=3MCq`JyFGx zf+dEgOxnI0IkeX)&0t|9bltj?cq@C|F-FZ)ZfnrW$yJupI~jS3kP1ZK<)05WY0>RE zZ}ZuZ1o1qrJIAZ!TG4=p(x%^I++wzdNy&yuVna$ugSf;LD9+HaCCbLZYlFR>)bq+$ zOfA_=HwtWHM5L&f)~`}=Z^tf+r=j8=4&HD!+|vnHcDyEzmNO9OcWme4TRS0KuJUn~ zB#m3MO6^WTX0v3{Dbqc^1f`*^omXE``kvR`c%lU-Sz(m1q4haw;v#(N*>FC4j9|>A z;WM9t<;y+0FzGZuIW93OM?4(jGB*wV`up3~y2IB`h4U~i*gux8MWI+H>qRWLiH|2w z0YRQgl4gEMsL2V+JU&dR$(Q6ZCOueU{R)^HMjLeu8-}ZjSlb(FKJMY?tcfi1kLcymK^(IG7EK60#1A&P;k4o zWO~40U_eH&q5;jcwMsXEq_5Vm{~-Z3&+0Wx8vg}!>55X>l?DfJvE)kVZD-)kBL7(V zr$Ia0d_-G;-k`33;(-Jo$!k<>o6!NU>73ARC*>LoA69+Bqpt>?161)dmj4Nq{=rI< z+!DeW!{xZnJ|r)&NM3|tJ?IWu<=^B8ckNkpz5msPV4px5t0s-cVWc22{M}-Bu-NTdmVTkcoavCQ94I>ANsL|6lO!9i!zLWJDr zEzR%vhR-dLT~hg+1tOth!)+E?evrR5U;6NfB6eNfMnk*h8dAkG8#zY5ex7AIy4S!h z|A&9R;>RPaUPq>nmbnZxr`2i2{DyVQ8$iwV&`h%I7UL^63N;25;us1Zd*yLXWC!>$TA>gF*>t;sRhuZW&j6qaeQj(nD)uT1LgQyDL?@}tC`hu1BYFu9l z9|`I|#n%jNogM4&SXJ6rD^lEMf5+(XuQZ=nFe`i)K8C<=!I3;Twq@8BnVE2}jH{&B z8oT0shxr#vW@opHiJNZGlzJGFW45`KQW`|gj**w&WHUyv*UEh6u%y z#K?aZu@g%AXk&~Dg%DPMqsqMFvc0rll-vELNzDk=xPH?gi&D9Mqq3U-21pJm;K0BN z$^?AHxY-iKjk4_$yT1V0mzD)n^XZ{Xp9$RTs zGxopJ>#^wgbB-cpo6sRKpG}lofD4cq^)AB`&r`*s+18o2_R0J04`W6%3^JVV%wC`E zaEEsdf)mU3#9qOQvMZBQn9)-n|ghSmU(L~H~}V!dYAcPC^L;g4QEM zSHX&m(%KxC>l*!XApbEDbOIK{Plbcgen5d+Y3*k+60c=rFhuWijKq$9lQS#vZ11MwW_!meF zc6@QoRbkQ$#G=0m*L3^hAD5Ym*0GxcMYFTSz zVoZets?eh&<0xK@X_nBwy-`+w-4*5m@E!KMmw(~Gd;j2Pj~KHqrY_c7sdf-~gF~5( zgAVwLRrINHP#SbZkr^X0Nfgjm;n7C&xY{*gJcVsqc_3OYaHdM(lZ8y;`S zixmZdtWe?dp1-`w!~6xs5#YixQt+8mz|1?|8Hw2IOao(~W3n+AFsp2s_m+T|pZKUo z%bW6H7&EAkx&P%Crpi$0y_!MK9&fIQWvBq5ZV11gB)x>!JFb~KbJ(9N6G=z!tr4Jj z;VwA8D{yvpZU20-$*qIk55~6pg1^ zVPp0Em;X<}m+ci{qb8~);R8+qeLlDddlg&yuhrdWy%&7%vYx#ucf)VpoDT4_A*^HS zF*|dG$fx!+(O;;pH2a2$neSnILS5a&T*I1c6Le}v2=NuKqn5Qu zFwqB5tO@iWssVolj0Bo(pP?Fq&|sfVEL}cFYgu?t2XvP|K5rHoWlebw+I+t`n&C?I z4>`FOy{)NJ4}YyuT3MF3ojH;|wu<|Cp60P>KaEqV?Yo3g@6Xf1sNgxFQ9; zb6`=@7IJ$IeKr3~v7DApxc-s5In+m>NP$r$Cfyo%BVPL$U4v<3%TZ_%8k9d;tmJ?# z@5$^YQGYP<4dXeY=OuDBNzi}ZvMqNvnMUxxS-#nx;Qt@%`+pi{e0uo-pc1h6)s5>p P>4~PMqy?*0u#WyeYt3%j literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..909201ae2c17a23f020b4aabb8a56e2c28c4b678 GIT binary patch literal 4964 zcmb`L_dgVlu@$liOCJ&v;?*;(0yaAaoYxX3(YW}I2#WY6QM z`@X;b!{>+B>-jG{AI~I1eJvm*h!Ow*0HN9%FaD#`|Br&`zb8Z!5d#1Z1fUwK#-T+A zg&{EGm&?QO*=IaiYf$nTw-^#Ny;wdHdKx7@ry$dHp$~QYl-RxQqwa1s{co^Z0lj9Q^T_@aG{t+CvvZI89^hF%X?I`V7fxsjt zht&9i1{C~(Ni&}veKOJi6yu53cK}l;W3rbLTSSi>H-rE?_6u%-Zq$+2y{z5hHR>oJ zk!`#UZMXvs-mgxQfx6lmD)oXjZsHe(e;L_`k>7_q0NJt&^}mLQK;_%|$Xt>c>CchY z;lfvY9l5Mg1S{VPUNbbfY*oTdwNR#r_ndQqPbAw``Vr8`0+V^mEQGd`wEEONRx&Ae zI$_n+i)c79?`<8f=`%Fzun$6&<+I{h14a5*PLLO4-0AcX(|rp(dgfE&4h&`ATHT2! zxQtom+B6cpr+rIA6;Be!P4h+=8Z^Av6&^B6UqPxahd)jWdMeEZZ~Ni$1e#OGmPM%t zmJPh0SvS`{Ebq@wlWa4QI!&8E3XSIM(1WUe$AOJfS`2pcwo{cvjUGwqNyTTplYWlv zAa{XxH@*<$i9ct$F|~%1ur%p08cUl}A%A#D?+^kEf&&Bpjy~|sy$$nR&W%09EI@r= zf1U}KPRN=BFMCN-w=JBzBRoA_ijvh{iypf4OqO+c2^tAAfVrB*zaC`lO>VJ}#l_IP z&_Ik`y!7aTZFq$_HXl4^U1ry9{Y3NfKGKjs(@Bm(55;sZ+NBIA(8@MVBQ%}Qt@zG9 zWVC+rz8w9}h;efMcEgAzn<8)~bq6@!?Q;R$^WEIK??{_t*BpIK{*2O!@09oMBDaFX ztUB#Bnix-)_IF|JtEf#=J+@FScZ~3+$Q|F;_;@1h5qZ{KKp;b1PytTQ{PlZIjaE8l zL1U4Pn0r*ra%lsHr(IZ;m%8-W_aV--@5~#&6Ds094Tu*0`SIt|pruDx5GaDBsJTYM zKkEp8L%p>_Q^&Y!-!B)JXyfOuS$%_i{ypvh)0ogmF7U&ZG`a<`6@H>huDbX$>>;tDmDbVbTLVB4_|(jU zX8y{G@OI2<`zzM|aFZOphAz#Ub9!%8R%dUyWXvIh*u{28?# z<`ZMv>fDJAs}2nMwp>mWyXpzn!m`3mjO7!IvjD%PmCh+W94m`Dhy5GNsnwV=yF7cP zswZ-JqniO?#EC2~rs-d`lv+-CHn;1+1g1Pb$a49nm`+{!jZ=yEL<4LxX^6gyl+tWkM{8MeziSzHr3p;MP$k> zR4O#0%#$6!8F?qDzP8#ynkU-|9!IxY9jDi|I{yW+?6CkwIqCX$mYGjS zMJ`_|Gal_Ny)F4M1cREFWf{Cw&)2q9a3phjOZFZvE|sOe^47tXWE@48^1e-xBDW}; zVXW0GstJhNsj}@IS)?yzV*BBRHfA^OgjI^6za@aCRJ_~_wBAy_H8-25P9p9nyT8qO zYP=RwDjQiKDsVE;t~k9G;HT+j+JDJeLgEyqfu+oQ6#U7kX<&bEmE5-LGEgUsh~nGo z{OgY{L5UX@;cKU({Dxjm+x?L8T#ISkP%r;Bmy* zmGha)@E}c+aH0-S#)#16X7e)f^nno^k$&_?)l@$2u-FssT`3czU$`xKaIyOZ63?2= zSt-e^tKGu!I6s}kcQ%3Zi|*f#Ng|zE0;8VXGKusa7t7YQ3LVuxM}H1D;O-7g^lghx>|Mch@&T+d6oiPgx`icqso|yb2=?m1ONacH-LnTtZu1BU@kL|3B!~X z-W%b#R(d!aWj8*f_A_0x-H!>ao7_vea{RQ3>2^4zChjxsOWtfo8<)O~f#N%50J%tP zVKPPe*TY70Uzvh}DJu9;bl+g_fb**(<oG9=TJ2z9&>RNqmFI%BE!B5>J?HdKRk&Few{~NEX|0% z_iFa8PtR!J4*n$U37g#s#s#;~I+Wdj}!?xsihHZ+{ zpePeJ0cJs8L8!sv+1{z;F5tB4n)_eXJF`*hQ?y#wO^rCMn!YhJbr*=a7-Y@Y+j`&g zs;T(+ke)9CeU%~CUv~K__-yFBRhA*)I`^#)AUWtbCM|~lxhwi2WZ~YAX{<7Wy}M9A zzFGQ(-MG?Kak6EXvOtE>*XfR38Ck`_U+HVkBiStrpnvSv)!2r^Fz7!zh*lqqSeB7y zlI!ms*piX}gK!BNNRZ!l&ifp|z7^uR@apSNw=1C@2Ht|YDx!Gj9diiPddx4#qD@MM z_V34sR=)xbvfB}bo@27z`JtweQv8hy&PFaZ0s-qL8uM`Ga zG_QnYFYN>5v2(b zUgl$sHMUEj<{AYL@qzjPh6&S4>A;TTvpS+mm1vBkzb5H+%=Z0*@YUvq3WH!s*Yr^> zbVx2KX`kIAr`vQ*Kw9cyrm+~m3{4PS7i31)z}R)<742^R)TX9CZ*>K1n{oZuS!|Oc zZ%$++r}yEz)O;;;<@HxT}Y_F{0GDJ zA9Jx;P`qJlK|{gsJX7V|zWSCbe@U4E=pOHv8K0XYr889z>8_683LZRD<)4Um7-&MH zs$0@iT?++m&k98F#M<>gcM2Vc-*dLbfmXjnuayMGmBud{^h)(v#;FU~ZXI2}kz&Yt zSVycj04jB}eeZE!ijD>Oj@Lf*afgOk*iA0Saj!``TZH zxf?93h_S)-5I&*`>>lu4d~UCKncM1R7TMnC?fR8_|OSpP)IQ3_sS zMIUdZ8tDZxj(n2XauKebr$Op}!UUc9-PYoiU%*0&ALcwmvq7!9PS3}5PTn`#TUl{T z5z(;E3r7{S_-0@9-bs1-YmYIcnFwyh&^2@;FTlvDt+|pj|F`oFX%)$?}$Q@#b zW>{_kb_|M^dvRql&%YA-z#Co^v`=5GrcNQYH|~NAEAlib5p-x4CLZ(){cD=kHzHMh z#15>mun|Be%tnLwzO5B~A8MT0P5buO^pbar$4zP(IxO`tSx@JBV>}io7+TjEE^8VK z-j{d-l;k9bfLvpt0Wer+M~I_q_3}L2@jO|duw}X2`YA3tkroQ37h$Hk{2SQJxJPd=9Z|sKuihA|9cfT=S1UiEts!HhWhGr z)glWhHpw$7_KA-wx2$ZePA6sMWY?^^>%pi&B_N_f4@@zwKd;>qm>)wL4B_9S}wngM4m)}od&;$VR zlH@4NXEz`aZ!n|a>$-nUQyQyYSS(fNW=WRi8N;|jTYezx+V4dc_3ndNbjA}&TXp+L z`yE>y3B1`~!Ypj(I3dp+#!y7!M;F)}kt5xGZfk}1nyhK6UHjvEr%JTkY{{Fn4pbs_ z8c1d8wK_0i&D1@Wyv~LhqAu@}!N~9Vp!UB`_1hM1o+ESa^9_cs})I z^0dggoZdv2&!nV&@sWNUvalZd!3P@)GGvctdNjN|LZnWWbZ3kqJE%f%F(FRpL78|P z|2h!Ph$^Zym$4aXqfg1}=6p&7avK-Z0%SLTOF7#=z8e4dRef>_;iBwpqc-qvPqC1I#$cNk+fv!3;`DBoXUY07sKxo&j& z2GZ06l)LYDqx#;l{%!+>MKGHGi>`${Z@5p!-hIH@o4K+tj8#a!V2upL*rS8}4NQ1= ze>GK!SEzd>*-~`k)?D8?CQ4HA{_bGNf-LK7K$SPv@%_P?^5t{H6QFfy`Sxqh@2t&s zRz@7THmS+A>m!D%JBH1|m+4-Y*pR#aCA3=*N4L9d4N9S(*+6&SYRc}t32UbSkn{m< zvdrf=>2X853xi}s_aEUZ!on$TiKblZr}HZ(DJ~Kcbr7SzNMi8D1Oy@1-s3lTw%G@= z@(x$|xV2vVvn6}%QZGg#Gc#fSS;Keg^y2ueC^xQ7O>#ZEqV<_z>lt^J9(mcq9vcC(?3uQ30%1&vxE{A?hh(D}k3|(m@wty~Gi!C|mLzA{ucCc~r-g-Q00l+Wnz) z@5F&k*d-d7?4MgxPC}d(oF*uZCISOR>D9eTb^O7e2O*}#lQ!WtX8<{0wKp0cR&dlZ z?n0GPvc1aM<((qFcdL?AcVc6Esdc&)u74+G>duP<@;tyB(^Z_b^jY4LMw_46I*7Av!wU(d4u5y- h{%RHcZ{reyT82TqjLt#p<$v`I0M*pjXi&3@{Xh7)k9Yt8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_11.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_11.png new file mode 100644 index 0000000000000000000000000000000000000000..8f0d5f4516c36c2582bf626962aba7d254b3f3a7 GIT binary patch literal 14864 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 P>4~PMqy?*0u#WyeYt3%j literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_11_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_11_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..909201ae2c17a23f020b4aabb8a56e2c28c4b678 GIT binary patch literal 4964 zcmb`L_dgVlu@$liOCJ&v;?*;(0yaAaoYxX3(YW}I2#WY6QM z`@X;b!{>+B>-jG{AI~I1eJvm*h!Ow*0HN9%FaD#`|Br&`zb8Z!5d#1Z1fUwK#-T+A zg&{EGm&?QO*=IaiYf$nTw-^#Ny;wdHdKx7@ry$dHp$~QYl-RxQqwa1s{co^Z0lj9Q^T_@aG{t+CvvZI89^hF%X?I`V7fxsjt zht&9i1{C~(Ni&}veKOJi6yu53cK}l;W3rbLTSSi>H-rE?_6u%-Zq$+2y{z5hHR>oJ zk!`#UZMXvs-mgxQfx6lmD)oXjZsHe(e;L_`k>7_q0NJt&^}mLQK;_%|$Xt>c>CchY z;lfvY9l5Mg1S{VPUNbbfY*oTdwNR#r_ndQqPbAw``Vr8`0+V^mEQGd`wEEONRx&Ae zI$_n+i)c79?`<8f=`%Fzun$6&<+I{h14a5*PLLO4-0AcX(|rp(dgfE&4h&`ATHT2! zxQtom+B6cpr+rIA6;Be!P4h+=8Z^Av6&^B6UqPxahd)jWdMeEZZ~Ni$1e#OGmPM%t zmJPh0SvS`{Ebq@wlWa4QI!&8E3XSIM(1WUe$AOJfS`2pcwo{cvjUGwqNyTTplYWlv zAa{XxH@*<$i9ct$F|~%1ur%p08cUl}A%A#D?+^kEf&&Bpjy~|sy$$nR&W%09EI@r= zf1U}KPRN=BFMCN-w=JBzBRoA_ijvh{iypf4OqO+c2^tAAfVrB*zaC`lO>VJ}#l_IP z&_Ik`y!7aTZFq$_HXl4^U1ry9{Y3NfKGKjs(@Bm(55;sZ+NBIA(8@MVBQ%}Qt@zG9 zWVC+rz8w9}h;efMcEgAzn<8)~bq6@!?Q;R$^WEIK??{_t*BpIK{*2O!@09oMBDaFX ztUB#Bnix-)_IF|JtEf#=J+@FScZ~3+$Q|F;_;@1h5qZ{KKp;b1PytTQ{PlZIjaE8l zL1U4Pn0r*ra%lsHr(IZ;m%8-W_aV--@5~#&6Ds094Tu*0`SIt|pruDx5GaDBsJTYM zKkEp8L%p>_Q^&Y!-!B)JXyfOuS$%_i{ypvh)0ogmF7U&ZG`a<`6@H>huDbX$>>;tDmDbVbTLVB4_|(jU zX8y{G@OI2<`zzM|aFZOphAz#Ub9!%8R%dUyWXvIh*u{28?# z<`ZMv>fDJAs}2nMwp>mWyXpzn!m`3mjO7!IvjD%PmCh+W94m`Dhy5GNsnwV=yF7cP zswZ-JqniO?#EC2~rs-d`lv+-CHn;1+1g1Pb$a49nm`+{!jZ=yEL<4LxX^6gyl+tWkM{8MeziSzHr3p;MP$k> zR4O#0%#$6!8F?qDzP8#ynkU-|9!IxY9jDi|I{yW+?6CkwIqCX$mYGjS zMJ`_|Gal_Ny)F4M1cREFWf{Cw&)2q9a3phjOZFZvE|sOe^47tXWE@48^1e-xBDW}; zVXW0GstJhNsj}@IS)?yzV*BBRHfA^OgjI^6za@aCRJ_~_wBAy_H8-25P9p9nyT8qO zYP=RwDjQiKDsVE;t~k9G;HT+j+JDJeLgEyqfu+oQ6#U7kX<&bEmE5-LGEgUsh~nGo z{OgY{L5UX@;cKU({Dxjm+x?L8T#ISkP%r;Bmy* zmGha)@E}c+aH0-S#)#16X7e)f^nno^k$&_?)l@$2u-FssT`3czU$`xKaIyOZ63?2= zSt-e^tKGu!I6s}kcQ%3Zi|*f#Ng|zE0;8VXGKusa7t7YQ3LVuxM}H1D;O-7g^lghx>|Mch@&T+d6oiPgx`icqso|yb2=?m1ONacH-LnTtZu1BU@kL|3B!~X z-W%b#R(d!aWj8*f_A_0x-H!>ao7_vea{RQ3>2^4zChjxsOWtfo8<)O~f#N%50J%tP zVKPPe*TY70Uzvh}DJu9;bl+g_fb**(<oG9=TJ2z9&>RNqmFI%BE!B5>J?HdKRk&Few{~NEX|0% z_iFa8PtR!J4*n$U37g#s#s#;~I+Wdj}!?xsihHZ+{ zpePeJ0cJs8L8!sv+1{z;F5tB4n)_eXJF`*hQ?y#wO^rCMn!YhJbr*=a7-Y@Y+j`&g zs;T(+ke)9CeU%~CUv~K__-yFBRhA*)I`^#)AUWtbCM|~lxhwi2WZ~YAX{<7Wy}M9A zzFGQ(-MG?Kak6EXvOtE>*XfR38Ck`_U+HVkBiStrpnvSv)!2r^Fz7!zh*lqqSeB7y zlI!ms*piX}gK!BNNRZ!l&ifp|z7^uR@apSNw=1C@2Ht|YDx!Gj9diiPddx4#qD@MM z_V34sR=)xbvfB}bo@27z`JtweQv8hy&PFaZ0s-qL8uM`Ga zG_QnYFYN>5v2(b zUgl$sHMUEj<{AYL@qzjPh6&S4>A;TTvpS+mm1vBkzb5H+%=Z0*@YUvq3WH!s*Yr^> zbVx2KX`kIAr`vQ*Kw9cyrm+~m3{4PS7i31)z}R)<742^R)TX9CZ*>K1n{oZuS!|Oc zZ%$++r}yEz)O;;;<@HxT}Y_F{0GDJ zA9Jx;P`qJlK|{gsJX7V|zWSCbe@U4E=pOHv8K0XYr889z>8_683LZRD<)4Um7-&MH zs$0@iT?++m&k98F#M<>gcM2Vc-*dLbfmXjnuayMGmBud{^h)(v#;FU~ZXI2}kz&Yt zSVycj04jB}eeZE!ijD>Oj@Lf*afgOk*iA0Saj!``TZH zxf?93h_S)-5I&*`>>lu4d~UCKncM1R7TMnC?fR8_|OSpP)IQ3_sS zMIUdZ8tDZxj(n2XauKebr$Op}!UUc9-PYoiU%*0&ALcwmvq7!9PS3}5PTn`#TUl{T z5z(;E3r7{S_-0@9-bs1-YmYIcnFwyh&^2@;FTlvDt+|pj|F`oFX%)$?}$Q@#b zW>{_kb_|M^dvRql&%YA-z#Co^v`=5GrcNQYH|~NAEAlib5p-x4CLZ(){cD=kHzHMh z#15>mun|Be%tnLwzO5B~A8MT0P5buO^pbar$4zP(IxO`tSx@JBV>}io7+TjEE^8VK z-j{d-l;k9bfLvpt0Wer+M~I_q_3}L2@jO|duw}X2`YA3tkroQ37h$Hk{2SQJxJPd=9Z|sKuihA|9cfT=S1UiEts!HhWhGr z)glWhHpw$7_KA-wx2$ZePA6sMWY?^^>%pi&B_N_f4@@zwKd;>qm>)wL4B_9S}wngM4m)}od&;$VR zlH@4NXEz`aZ!n|a>$-nUQyQyYSS(fNW=WRi8N;|jTYezx+V4dc_3ndNbjA}&TXp+L z`yE>y3B1`~!Ypj(I3dp+#!y7!M;F)}kt5xGZfk}1nyhK6UHjvEr%JTkY{{Fn4pbs_ z8c1d8wK_0i&D1@Wyv~LhqAu@}!N~9Vp!UB`_1hM1o+ESa^9_cs})I z^0dggoZdv2&!nV&@sWNUvalZd!3P@)GGvctdNjN|LZnWWbZ3kqJE%f%F(FRpL78|P z|2h!Ph$^Zym$4aXqfg1}=6p&7avK-Z0%SLTOF7#=z8e4dRef>_;iBwpqc-qvPqC1I#$cNk+fv!3;`DBoXUY07sKxo&j& z2GZ06l)LYDqx#;l{%!+>MKGHGi>`${Z@5p!-hIH@o4K+tj8#a!V2upL*rS8}4NQ1= ze>GK!SEzd>*-~`k)?D8?CQ4HA{_bGNf-LK7K$SPv@%_P?^5t{H6QFfy`Sxqh@2t&s zRz@7THmS+A>m!D%JBH1|m+4-Y*pR#aCA3=*N4L9d4N9S(*+6&SYRc}t32UbSkn{m< zvdrf=>2X853xi}s_aEUZ!on$TiKblZr}HZ(DJ~Kcbr7SzNMi8D1Oy@1-s3lTw%G@= z@(x$|xV2vVvn6}%QZGg#Gc#fSS;Keg^y2ueC^xQ7O>#ZEqV<_z>lt^J9(mcq9vcC(?3uQ30%1&vxE{A?hh(D}k3|(m@wty~Gi!C|mLzA{ucCc~r-g-Q00l+Wnz) z@5F&k*d-d7?4MgxPC}d(oF*uZCISOR>D9eTb^O7e2O*}#lQ!WtX8<{0wKp0cR&dlZ z?n0GPvc1aM<((qFcdL?AcVc6Esdc&)u74+G>duP<@;tyB(^Z_b^jY4LMw_46I*7Av!wU(d4u5y- h{%RHcZ{reyT82TqjLt#p<$v`I0M*pjXi&3@{Xh7)k9Yt8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_12.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_12.png new file mode 100644 index 0000000000000000000000000000000000000000..8f0d5f4516c36c2582bf626962aba7d254b3f3a7 GIT binary patch literal 14864 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 P>4~PMqy?*0u#WyeYt3%j literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_12_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_12_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..909201ae2c17a23f020b4aabb8a56e2c28c4b678 GIT binary patch literal 4964 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_13.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_13.png new file mode 100644 index 0000000000000000000000000000000000000000..a759b3ce8d46ecd51d307858af7082f72b47d30e GIT binary patch literal 14149 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_13_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_geometry_13_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..47d9499006c1fb458bfb88d478afa6533a9203ed GIT binary patch literal 5051 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_integration_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_integration_09.png new file mode 100644 index 0000000000000000000000000000000000000000..639cd405c981bb046c0820e2cbe6a88f2363bc8e GIT binary patch literal 5115 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_integration_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_integration_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..317ae2a82764857dc790b350cf30688be696340f GIT binary patch literal 3014 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 ZfPCm)ms}cv=HEUCXlv-J<5g`V{{zim!mt1U literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_integration_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_integration_10.png new file mode 100644 index 0000000000000000000000000000000000000000..40407e286d521d45ebc3ac3a5ad90ba32115d6af GIT binary patch literal 14747 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3892f521d9e5e7b4d6557bf3b1a4d147748bacdc GIT binary patch literal 5359 zcmb`L=RX?`w8le>+DeUDwHkXXYDLYWX6;=ls69)FnynIB?Y(Nm zh%IJtdq1E1C)^j$d0s!~#d*%>`@v9Oi;A3u8~^}NX+Kvt{^yYY)jh(0^DcrA2mm~2 z)K-6H5|p!-9cc3sbBhMgzI&%KBREdLt@cxoou9G7tg6X$G_J4;+-5s-yQz|wLOK*+e_29wwEw>}eu?le6f2fL}~_S(4zCrZl)7)6XF zhAf^}d*;I9PhJ4vPIu;aL4=+#`Tv^%PTWX+ND)SX8o3@aJpEE1_3yHmew92*`>Dcf z?rq6SW@*UEo=ktTlsQ?n;eC~a7l@mzu2x#ak955rh??l4Zh?lc*6w2()clag+nPAe z+)XF`sy4%KAxNWF7K6GOv~*ffH9uV~*&yZaM2=y&fpF?@igES$O#LjOu2{ls;il{B zZthbSuoVANiva)-ftR=*d)LXF-+9!*$nZE9WdWkU{|L^*qh>v^urx8^J;RG3jQKRw zj#^!qza91EK_5WsEI9QfGdF{Lo!c#fLuR>I;?I2YLg+^;dGKu5JlG+ED^GlTn~sy+ zm2@oqMktc^L+cJVW+aS$YUIh*zwHLVwiw0aF=L@jJvA0BLS@!`E>cFu#(8OGjxzM! z{vVALK7tSeQW-A{A%c{n$4%Xd1khgza2kp_E3`;x^ba@pov1R7oX%4FlIdcbH#eksAR{_ zAH6bb|D=c{aosZ_bo*CXVEYf;-u#+{=WyQOdOxNlS6GCGm=dcT3}ig*vz9`jUHp$h zsWP4m8C0m&>wO=4`yHhN6z31Mn__S_NGBXA`;x0YTnu9C6np+eK8bywPDJYFCwcrMr z`HmNl=!u9HZ!5ZRF9#RO@b zcJ24T#JoROSv#T50>z-*1J=6+NNHYe6Z7x$D`<89`zr%$lQit|N$xt*$7F1srezH$ zo6Z{>64zI~F;x`G9%#{rJ5Jt#d;}V?qL5_%vCN}ayyl|jdKu#DORB1Ke!IzQ6_T-g zo+9|ei413Y(ksPvK?c1i_o2(-OHN~$E+^okBES_XD4MQYSO?&rEU!npfwhOB75-;~ z&qfzkI@THNp2tqMoIri5#PPxu>!6f>1Qc8do(O;t#3&?gE@WukkKL+j!cWvMNzjI@JsOXG z=TS1N#fRKwK;*EV_Sm1ukg}b0g`brs`(_^}Ao%7h96qZ(izzkQUWrMb?Qap&e@%nak^mP}$7{tE56b zV5j97JbnQD@c7qoj#vq0mJ(in8KXwQJt7=hBZ!GV`uSIIs3=2)$y_tO;ke|#=`m(E z;H;4~NjLg5nG~@I{<%( zlpvipYnAWu&ut;VQ8w~DZo*OBGx7tW{YzGyEDn1Yk2f4V8sF4%jtyvhGe)=#E4s)T zp@n=i>|s%A;Y%w;!Z2-}V6UNTU3&d?GidtF<-4}={}>nYa=KL^&I|*PO=un!-MtH? zf#H6~FHKv9W6i72f`ynGr;u0YZ_ZC)2kxK;#~pXdhgD7bbVO_4nA|*+vmFA8M@($@ z3Mp+dm!eVKfR&BEorcJ)e9}S2F~w#v@4X7HzN`PdQ?-$m9)zwvqt`>Vc^RSKf7s5* zLQtqC->xrF)d%*#n_fjRZn3h2C_fEu&CApMJXX(9o{(^xm&}#m%=^ypYVt2l3}RWWO%@g%q&Z@KwL_*5-8|9@_c0(?V7Mz0SKP97T)Hz>&MJyZz!oe_MiCQJ1~L?PrZn*3uo^>B71 zOD9oE*p0v42wg+51v`lnpA62Sc)iAalm*7R!@|{1At=Y4^dwLaY4Lu{xDHhrVy`CB zB-vHJ-t_JxTT<XZ~>=d=`aY9$~1Fs@wEi?7&f;`EM`W3?US}4jm4@f6q?li)pj;y97;>z4m-< zAqJS8^pE?fheK{oqb(oM?v)7>wW_IoIA4m}u}qlCgg%V_og#o4AHxGeS&WBs*kywK z)Xk;J8iG$YD`dUPd3u7r(E-KyrH%4qChsq7-7b!l+)Lh0bxH~gIU|ST0=s|~Y-ehY zGuGU86D~!8mEUU{+S=?40@!2;M8xXa`hBQY>Lm_GXkQns#O4SK-W24{&emsIe zoDlQ(@034Mg836Y9|yoMlI~AJteB9Z`ONdI_tj}-WwMS=O|P%GaC!5rM+rfJ&$@Vk zGs%`O;+TAs!Bk?-L%Nn9zQ4^&p|?x&`|`pi`gGqBfi~oMWl8JC%V* zqq2s}%K#N-2U25>^5KsUzqeLcy1VyHlwA@@2um2n-#ey(bQppfvqL316XV35b-(j?{Y_hI(df+H<{*yFb%4$U*tBKR%M_W@s53 z-GuGEeg<*{8uupc4v_M=!>WAA?0AZ>*?79Wrkos%gPWk!)7XQu6X8#ptWk1v*(MwX zIr&x8M#AO`zFPRAP9;w4GvC%Ctk~*v>9@0sX|Z@F{2yl{Q;JuTwg*XL)U3&$%A9^G z1Smsl;*~?9HK#={Y7AEVMa0{ESv;Lpv2)ih3E}#Z-(L4QEA4NE?}7Sa1~kbUVz3<- zsh5-aw(T`%MWA;)C@;f4g2@66Hog)tl@B#x>~Ai6@n3UNuOfPkH3EQ^lQmH9mT^>!68^X1ok^tvx*Ht!@yUXbceC*;RMO zXol30Pk7ykRCkeT`XieS?M_@0>Qo(@j+D|r*l`pbTkr3OJE5t!u2lKQcnDQ+v~DV$ zll}dy5u|aZ&9Lni4h+R7trxC)gKU%vtTtZl68eTy^HD7d;j zfg`|o7VhO2HPbt393LMi3m|fm2-vaf4!qG+SL);WyxM;Cl^=zag}qv&#LG73-X9`5 z1zrfTDY_vl^=@hN{F)2CxAMzpb-cYz3D{n2PL1|-^H|KeZt)&|W@2LvQ!AR--Zw2P zeLa(CDJj%~zs!yolTJl5BJ>|HG&D4w3zun)b)gf{Yca7WtUQKTau*56x+M}y@9A2P;0KDml7Br{K@d%;dZwd@h$ zVzR$`sT*(JTuZ-`6U{_bPR(?{j~+epoMvvaa}Xz>b#WYU>x;eAj1se7se;E03pZQN zuTSJ=nDQr*+mlh*N%^B9pc_rKN)O_?UcH`YlnL|-v1RAt(>1xdN|BW&ZfV*Xa81ELri?Oqpw-Pixg5A=D>lbjQK+*P}XF0#Xf&RjOtFYcTLL|{)u-J*ok@jU>rUgOGTRHqX!FsjDXshp9IZuv`frVe5b7A?AzM3l)zPZfFaO$_!hWuN;3Fl6T=u?r@ ztB4|y5m&n>fBwU7kZXUNSHFpSyzGy&DovBqrw1KJ`Cc5pfnnQyZ3jy~<%Y+IgDDU^ ziP2D^(QzBuk#qL->k|4W?npsJeEQCgfC^k?Pk4|vF3&$;dkMn?hK9BNc<#FCC%4|T zOl^(w>0K*vLui+^bgu6Gj9Qiij0i#- zcc&}+h}j>7Nvp3e?Sh}~ynk7BuM4D+)9{8g-|m>A6k33!gOl-G}`q|`r5;Y zc1WKy7`%`2jr^RAp=Xf`iO?*Za-C=bGihgoa%ze((~osL4w|$TeWJVX*nnnZmZ9Lc zVz_73gYUQ`{eX$2TLe-*!FRWR(Vr84^>t7%RinEf4`!aMMFOE5=ZyZbZA!~ax5Mg+ z6VoRP>Uq!e!=vk(&89*|T)eP{>uaN}vWF{Ry6S*0351M=d-LgXtTsnxSet-wP@y0XU~N0gg$LKjHy5v8aI zzDY@Bct{Ry)_SzaFLq2Ecy)m9^WhNZ%3@pp-H7uSsSNf6$Ta4vCu zQMcst*{(11c@S*C_+f84d|bc^0pM{Uc&;L=G;`>P-FjJIhWtD&kSp<}aK}EaJ!|T)uDS z0c-?kBt(^|&wtqOv%5bpN!R}Y+YO<)a;i{sla?+iF$X=iH4|)^Z8LFKFq6jX4_Fi5 zN_=HUX=si0r*M_U^?Fu(WU!bxoaINeZJ#}{GTNx2mvJv}-g3n?<4m<*77x%D77 z_E#qyC`V&M7=F7FMYYQ`fu_UlJLeKp&nEN`RSuTB%$`PTgPQ8I-tD zQA6!mCm89jGFVsP^PcRssX(ORcma#Ge_3ArA4&>)PmY>L2vp$2El$ZyuFkG3Y+hlC zSiGOMIb}^ca>LQIK51E>MoJv^=)vhp%R#O<^Cz>x;j7qL#y2i5k_LOZUx@aMqi%pq z&dDI$a=n%>)`B=Y-rSBu%5gAaVKe3;jg=4Ep9IS^+7PW^gLa=j)N&dt4EYQuU~z@b zAXT;A`1`snD;Zju+2gx&YbXg_q~e7+aWSgI#?GiqMR6*h1(XqGk=M*2TfECRnOC?* zog_%C(NimyghD3j57wnqRjx^1r3(AjvZSVMAQ!ZWbSft0+bk}as+Y8SexBXng>Wkr zKUww}_2^A=-uXT&_=(I$OJQnyUiO)U52Y*c-dAmYyd|i9?rbXAYM=LcqhIygBkR{; zBjrN={WuZpX5$2dhv(O==S(Fi4bh1ru*Zn4MQ>7L0V=EXzG=`Ux#F6VxEZ)vrz!p-R8~qd=xz8FNUcm6S+-*upr~8eFZigUsMAukudq|BdqfA2RH`10KPx WZnBJMq5nW8KwCp!y;{}bzyAR&5sXs+ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_04.png new file mode 100644 index 0000000000000000000000000000000000000000..d504ac555ff6526aa7795da5cbe44b69145e5211 GIT binary patch literal 19710 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 CR|Gx) literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_05.png new file mode 100644 index 0000000000000000000000000000000000000000..b4066af951ef341d6bff91d54098adeb25ba25fe GIT binary patch literal 20964 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≪!h(|F1bf2uELHVCL^ORLeM2EX`e^27 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 HX&U-JZ?v)P literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_08.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ic_streamlines_08.png new file mode 100644 index 0000000000000000000000000000000000000000..99516329dd36c566f2c79a9f880d46909773ff42 GIT binary patch literal 19583 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 A&Hw-a literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..e2bd2686b0495039fa6bc957debefa91fbe5a667 GIT binary patch literal 956 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tJ4PZ!6KiaBrZ268n!2(TXX z`S34%o{XY~)8vTKrsqz(|5@(-&1Chyios?shoYKON2frNQp*gAnKuIYcO<2~;;c_C zmwma{@9>dG~9YdrQ9%`4ye!RoUmm!Y7OPm6%C;t>~)QRZkkP&W~5Tr5{`@yr$B q2Xc8%9cSNNlYVgV&Ojx$H_ZEew literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c5caf5745912cd2fde0960230e8ff476651d2305 GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^DIme*cxLF{jO|pINi`a=eY6<)=dF3-#K|KeByf~>es%f4QI|Xr&|gq^+@l1_INw{ z5APmU32pe(C%g zfkP&~`Tbk6`u{&T#w=%uu<95Sn%x5=@N#2P573Lp0>fUsJlplfJ9e{<_5AbGPd|M- zF>F=tZJpC{;ZC2LmdK II;Vst0PH8Z`Tzg` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e6b8226a71b7b092307695fbfb06202373fae56 GIT binary patch literal 1105 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l-hPZ!6KiaBrZI(8j45MXf3 zJo!If=EA>(PVsIxzpIurIv3{7Hz{6g+HlU_mZ8R4(8;GoKv?mJ3x^@a%#Go;2kOs6 z`hQsY(<<@#)#^S&KZ!4MephDRoM}!S8z^@pstGykw!V_on_YZO`9Qp0>epN5$L-cT z&y#*{nK!?r&(JL9>$m8tbM^Nh-ts>5T!T7cq}+ed{=~eclHcRM?oABfcD7SFbobm1 z>B4h!_@5MuBq_Db;80X^>gW_8pLrwZ^|#OGx6l5(@cF{eBGWfnm53kJwtZvTruOI@Cy6F9zGCCMLNwpXzF-(TjR zRI p=Miv9d$77vn2Pz06gO^+-yQBAsB`Vp3Sd#e;OXk;vd$@?2>_a0Xt@9Y literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..444b1d43343d2c22a418a768f5e10103504685d6 GIT binary patch literal 1436 zcmaKsdpOez7=VAK6>`aKr`!r7OrwrRa?h;Htr=}Dkr<9V=wM;F%xwyDsjO&e6Gtw& zhLp&qC?Q&itc4M|49jJ8<~V;iPtSRtbN=|g@BROKpZ6Nt@w9}Pf*1e*5-1yM%=X3q zJtCm(y+r~E0|3|;Wqr~minc&&4IMir*VP(npfv)(Y+V)v`fpVc>4v`2s&2-6wAim6 zb{$fA`WP{$;TuVq#R@4W$${~7Qh++r<^GoCjbg2dw(7tfv7mAvd#_YrS!&#qpJ{ci za7ozFxOsBcm$kgHfoI$Vt@dXVq}Z*ydeolRid5@@bkl(y+}oF9tLorH<=Nz^zd7_J zAur36o~pe|J7&d_6Mlfm$es}<+{%T1xts&#br1EmvouGi9{U721h3D|*fq!DDh77D z0|R;wPY znD%&qui0m(!?6rSO+D@|SBMZ5N%E8ScKc6Eu+>(Ob98#G2cb|J<|z^1-@)4>Z5Q4^ zajcaQzCqFKU7KzBk#7?yd6&~cpPXFf555%ZlX&6ICTPv3kW!R${ zJ?%~UQ?4%#7A+}JON#8hgsjJ+@ZCCDBsgDm=uyqYqzP-?B9E^WQdpdBOH!ORKVse1 zpB2BQpT>&YMCHQl==CBr%p_j6N|;gkN*J0?`mE#XeyqM*(>Ns7oqOkbF|0Hb++t8k zc#-ZeOGU9imQc!_Vva+1K4589YyVV2s#*ed`;!25<=!e|RFWkM?j-ldgKqBc;ITG& zOeQAtcl?*|2#(->XEoJfW&A3nJ&&!7ECEX&k>;w!j>V3$VaiPF~u&Y-B)ay1}BstFFH+ zCH3J~JX#NWDrJOem}3U66P?OzO%mJMMIkpAjf4^tw9yq+LHCo}Ujv89)w14x0K@F= z=033=sicj-m}MBwwJtgO*oWoto&sjDf=k<9;cOpd}QqwWuy0A*+Enfz+AK zc~^E43#)r?{BdqQbC_5cdZ3Rq7Reny%r|cw80}OMe=jNHDT-LjwNl1GD(WStYm><} zOd$u6+vUogG)*6~z0D8dZ8gl#^3VFfEs8QbcGDqlgV7}KJtd-;+0gC*pZ!LyQV{aw8 zfhpIZay|c^M7@LaRSW4ky`Bo)#c?F7Sn^k~0#m`a5N7o15B2p&wP`pP8;4=IR#cK< z2Fm;E@+=wsR%I~kr7Yd-l94BqxWDU+UK}UQB&uYh_Crq#Lp=*2)kaIV@B<+zaoJ3PZKIQ^a~y<}M~J3sure^HDInT0&R lSSv{7g3kPZDYjF>4#iN480{s7DcjWrP)JAXN-OWgzW{cKp$h;2 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0005.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0005.png new file mode 100644 index 0000000000000000000000000000000000000000..0e6b8226a71b7b092307695fbfb06202373fae56 GIT binary patch literal 1105 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l-hPZ!6KiaBrZI(8j45MXf3 zJo!If=EA>(PVsIxzpIurIv3{7Hz{6g+HlU_mZ8R4(8;GoKv?mJ3x^@a%#Go;2kOs6 z`hQsY(<<@#)#^S&KZ!4MephDRoM}!S8z^@pstGykw!V_on_YZO`9Qp0>epN5$L-cT z&y#*{nK!?r&(JL9>$m8tbM^Nh-ts>5T!T7cq}+ed{=~eclHcRM?oABfcD7SFbobm1 z>B4h!_@5MuBq_Db;80X^>gW_8pLrwZ^|#OGx6l5(@cF{eBGWfnm53kJwtZvTruOI@Cy6F9zGCCMLNwpXzF-(TjR zRI p=Miv9d$77vn2Pz06gO^+-yQBAsB`Vp3Sd#e;OXk;vd$@?2>_a0Xt@9Y literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0005_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_amr-quad_mres_0005_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..444b1d43343d2c22a418a768f5e10103504685d6 GIT binary patch literal 1436 zcmaKsdpOez7=VAK6>`aKr`!r7OrwrRa?h;Htr=}Dkr<9V=wM;F%xwyDsjO&e6Gtw& zhLp&qC?Q&itc4M|49jJ8<~V;iPtSRtbN=|g@BROKpZ6Nt@w9}Pf*1e*5-1yM%=X3q zJtCm(y+r~E0|3|;Wqr~minc&&4IMir*VP(npfv)(Y+V)v`fpVc>4v`2s&2-6wAim6 zb{$fA`WP{$;TuVq#R@4W$${~7Qh++r<^GoCjbg2dw(7tfv7mAvd#_YrS!&#qpJ{ci za7ozFxOsBcm$kgHfoI$Vt@dXVq}Z*ydeolRid5@@bkl(y+}oF9tLorH<=Nz^zd7_J zAur36o~pe|J7&d_6Mlfm$es}<+{%T1xts&#br1EmvouGi9{U721h3D|*fq!DDh77D z0|R;wPY znD%&qui0m(!?6rSO+D@|SBMZ5N%E8ScKc6Eu+>(Ob98#G2cb|J<|z^1-@)4>Z5Q4^ zajcaQzCqFKU7KzBk#7?yd6&~cpPXFf555%ZlX&6ICTPv3kW!R${ zJ?%~UQ?4%#7A+}JON#8hgsjJ+@ZCCDBsgDm=uyqYqzP-?B9E^WQdpdBOH!ORKVse1 zpB2BQpT>&YMCHQl==CBr%p_j6N|;gkN*J0?`mE#XeyqM*(>Ns7oqOkbF|0Hb++t8k zc#-ZeOGU9imQc!_Vva+1K4589YyVV2s#*ed`;!25<=!e|RFWkM?j-ldgKqBc;ITG& zOeQAtcl?*|2#(->XEoJfW&A3nJ&&!7ECEX&k>;w!j>V3$VaiPF~u&Y-B)ay1}BstFFH+ zCH3J~JX#NWDrJOem}3U66P?OzO%mJMMIkpAjf4^tw9yq+LHCo}Ujv89)w14x0K@F= z=033=sicj-m}MBwwJtgO*oWoto&sjDf=k<9;cOpd}QqwWuy0A*+Enfz+AK zc~^E43#)r?{BdqQbC_5cdZ3Rq7Reny%r|cw80}OMe=jNHDT-LjwNl1GD(WStYm><} zOd$u6+vUogG)*6~z0D8dZ8gl#^3VFfEs8QbcGDqlgV7}KJtd-;+0gC*pZ!LyQV{aw8 zfhpIZay|c^M7@LaRSW4ky`Bo)#c?F7Sn^k~0#m`a5N7o15B2p&wP`pP8;4=IR#cK< z2Fm;E@+=wsR%I~kr7Yd-l94BqxWDU+UK}UQB&uYh_Crq#Lp=*2)kaIV@B<+zaoJ3PZKIQ^a~y<}M~J3sure^HDInT0&R lSSv{7g3kPZDYjF>4#iN480{s7DcjWrP)JAXN-OWgzW{cKp$h;2 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..3f845610eac2c6e50483ddd8faff42a23b5dd50e GIT binary patch literal 963 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIXPZ!6KiaBrZIPx_ah&VWA z@A*IVbrZLObP0l+XkKcKrkf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb82523d0b64a9f4819e6fc35a077cb15b483c1 GIT binary patch literal 495 zcmeAS@N?(olHy`uVBq!ia0vp^DImf44+L+zopr0CH9%F#rGn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e117a4debf1cf6448ca09e2c61da766d629399 GIT binary patch literal 630 zcmeAS@N?(olHy`uVBq!ia0vp^DIm?j-7h08@9Su{$lT+>I&fmtM<%U zE%P=1ePjEldc;WJw1W=wMxH^;u+iPO>Ak)F^mXs!C$FxK<=>?`J+CWVcIk{cRTom% z+f_ac{XLuSU!wWb>gANU3FlTV zHQRh+Ug&c@o0n5|$F40dTNLtoPs05C(!ck%_2*aqJZ{hu5PI`;@-KP!NnW8rCwz57 zb!SAbJmWV-Ybtk|Sg7cs?JH~2B|B0TrZq;eB}x9%xMq+d|I#4qjIOU#TH3ia=g!EO zd@tynd39$k-~RV0KNp&`ByI0bedb=dcI%f(F;SVnC)r!A*%JJ0dfnR6szqC_YNh0f zFPR&*bMxUdc8|-VYwWFBj`IJRvFu}={IQRgwd$q5&lK*hezE1G%+_UY-)H>HF7Mhq z>q*eUy2X07fxA{q8b4n-v$jsub>~f+Z&7lu?T?7>0lN(DL=?tD@eihtYuPmx=K|9c NgQu&X%Q~loCIGKv5<~z1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..b642ceab0e5414b8b3447aed5b43f74e782e5e4d GIT binary patch literal 944 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tJGPZ!6KiaBrZ9OQI1zopr0CH9%F#rGn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad-nurbs_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e117a4debf1cf6448ca09e2c61da766d629399 GIT binary patch literal 630 zcmeAS@N?(olHy`uVBq!ia0vp^DIm?j-7h08@9Su{$lT+>I&fmtM<%U zE%P=1ePjEldc;WJw1W=wMxH^;u+iPO>Ak)F^mXs!C$FxK<=>?`J+CWVcIk{cRTom% z+f_ac{XLuSU!wWb>gANU3FlTV zHQRh+Ug&c@o0n5|$F40dTNLtoPs05C(!ck%_2*aqJZ{hu5PI`;@-KP!NnW8rCwz57 zb!SAbJmWV-Ybtk|Sg7cs?JH~2B|B0TrZq;eB}x9%xMq+d|I#4qjIOU#TH3ia=g!EO zd@tynd39$k-~RV0KNp&`ByI0bedb=dcI%f(F;SVnC)r!A*%JJ0dfnR6szqC_YNh0f zFPR&*bMxUdc8|-VYwWFBj`IJRvFu}={IQRgwd$q5&lK*hezE1G%+_UY-)H>HF7Mhq z>q*eUy2X07fxA{q8b4n-v$jsub>~f+Z&7lu?T?7>0lN(DL=?tD@eihtYuPmx=K|9c NgQu&X%Q~loCIGKv5<~z1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..3f845610eac2c6e50483ddd8faff42a23b5dd50e GIT binary patch literal 963 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIXPZ!6KiaBrZIPx_ah&VWA z@A*IVbrZLObP0l+XkKcKrkf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb82523d0b64a9f4819e6fc35a077cb15b483c1 GIT binary patch literal 495 zcmeAS@N?(olHy`uVBq!ia0vp^DImf44+L+zopr0CH9%F#rGn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e117a4debf1cf6448ca09e2c61da766d629399 GIT binary patch literal 630 zcmeAS@N?(olHy`uVBq!ia0vp^DIm?j-7h08@9Su{$lT+>I&fmtM<%U zE%P=1ePjEldc;WJw1W=wMxH^;u+iPO>Ak)F^mXs!C$FxK<=>?`J+CWVcIk{cRTom% z+f_ac{XLuSU!wWb>gANU3FlTV zHQRh+Ug&c@o0n5|$F40dTNLtoPs05C(!ck%_2*aqJZ{hu5PI`;@-KP!NnW8rCwz57 zb!SAbJmWV-Ybtk|Sg7cs?JH~2B|B0TrZq;eB}x9%xMq+d|I#4qjIOU#TH3ia=g!EO zd@tynd39$k-~RV0KNp&`ByI0bedb=dcI%f(F;SVnC)r!A*%JJ0dfnR6szqC_YNh0f zFPR&*bMxUdc8|-VYwWFBj`IJRvFu}={IQRgwd$q5&lK*hezE1G%+_UY-)H>HF7Mhq z>q*eUy2X07fxA{q8b4n-v$jsub>~f+Z&7lu?T?7>0lN(DL=?tD@eihtYuPmx=K|9c NgQu&X%Q~loCIGKv5<~z1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..b642ceab0e5414b8b3447aed5b43f74e782e5e4d GIT binary patch literal 944 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tJGPZ!6KiaBrZ9OQI1zopr0CH9%F#rGn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-quad_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e117a4debf1cf6448ca09e2c61da766d629399 GIT binary patch literal 630 zcmeAS@N?(olHy`uVBq!ia0vp^DIm?j-7h08@9Su{$lT+>I&fmtM<%U zE%P=1ePjEldc;WJw1W=wMxH^;u+iPO>Ak)F^mXs!C$FxK<=>?`J+CWVcIk{cRTom% z+f_ac{XLuSU!wWb>gANU3FlTV zHQRh+Ug&c@o0n5|$F40dTNLtoPs05C(!ck%_2*aqJZ{hu5PI`;@-KP!NnW8rCwz57 zb!SAbJmWV-Ybtk|Sg7cs?JH~2B|B0TrZq;eB}x9%xMq+d|I#4qjIOU#TH3ia=g!EO zd@tynd39$k-~RV0KNp&`ByI0bedb=dcI%f(F;SVnC)r!A*%JJ0dfnR6szqC_YNh0f zFPR&*bMxUdc8|-VYwWFBj`IJRvFu}={IQRgwd$q5&lK*hezE1G%+_UY-)H>HF7Mhq z>q*eUy2X07fxA{q8b4n-v$jsub>~f+Z&7lu?T?7>0lN(DL=?tD@eihtYuPmx=K|9c NgQu&X%Q~loCIGKv5<~z1 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..3f845610eac2c6e50483ddd8faff42a23b5dd50e GIT binary patch literal 963 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIXPZ!6KiaBrZIPx_ah&VWA z@A*IVbrZLObP0l+XkKcKrkf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb82523d0b64a9f4819e6fc35a077cb15b483c1 GIT binary patch literal 495 zcmeAS@N?(olHy`uVBq!ia0vp^DImf44+L+$C!4#w{&?Yi zLuR+7`l03VAR`n7^9n!`>MlEutLFIKwXr`GtCv{(>{--u_Z_EIbI#rQ^X>sh`OcQJ zGiTe+k$R{Hw5Ry9y1N@x@@l2vyCTln#^&|~5iPrct~ztJf365r+4jE9g6ZBj=Is2b zp6&wGaD)-2VS6=H!~RXBFxJ+5C`!#Pu;@@+3UA&V;8;7ErQ%9#j hl2XeIIx_Dw2r$3)PBQ$m2UvVCc)I$ztaD0e0sxwOc8LH0 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b290ac854ef5ec3314af168b4f039fed74e6ce8f GIT binary patch literal 792 zcmeAS@N?(olHy`uVBq!ia0vp^DIm1W=_wGySwaov6jtLn}o3OE^M>R!9 zF_}}+`$UA(;1xQx?eFxfuht(u`u^&xr$2&v_vYQZzC$wpR(oF9Yo3EUr!8e$5^;V) zra{3o*$-w}yB1X;X4T5ANZI;^1#q=Wvslr=K7=z3dfZ5H{ikg!iU zZQbNpJ}&9RilT_CLQAz=41{)fDm~@e$?=Rc%52)=pk)${Gd65Ap1o6qMK|Jj#ew(J zCFUooP2UohlGgZ9>G#K_GTFg*v^QRRXl%K!{4n3GtDK&NJ`u88R!^SH)K`(VxAoS; z&-ZI&=diY)um5c7&tP9vV_^|IYrOzdoWow>v}5PjEKaC>skKMyapE67r5&gL);-f& z^4PmL#%puTv#J`+7QM9N67O4P=5wum-?nna-TNDE+_^b(kEzwiTvh)=|Gx^a>)BM@ zJpZHmUsc=LF*Qfr{wRM`^D#0wc)aG)@~6S`ey-bIUXc1UEB^jN?YGIMi!}C1U-Gc~ z`s#}D5~1@)qyne0r3j@t&AK&zU-+C)Xa1I01#2t`UU@kD*70BbpT#rrCZ%7zp00i_>zopr0Q{|9TL1t6 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..c205d3bf82662992575affea03e949766eb1ff6b GIT binary patch literal 1125 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l-#PZ!6KiaBrZ1g^T`AmVzl z%i_Q0ae2on%g;}nHh0zTYYcpf(|!LH-Tl6|;oS6Jj0skPPChLH!iq;+I1ERbqv1fq zMDQm2FT?*wyVh-e_uX&Z)|^{4*Pqqy-|*6V$F*Jes##{6#VZ|J9&_l~jk6C0?Oq6( z9nbUY`w%&OgJoH9PD}spma`jY8!Oj5QqAeRD$C!4#w{&?Yi zLuR+7`l03VAR`n7^9n!`>MlEutLFIKwXr`GtCv{(>{--u_Z_EIbI#rQ^X>sh`OcQJ zGiTe+k$R{Hw5Ry9y1N@x@@l2vyCTln#^&|~5iPrct~ztJf365r+4jE9g6ZBj=Is2b zp6&wGaD)-2VS6=H!~RXBFxJ+5C`!#Pu;@@+3UA&V;8;7ErQ%9#j hl2XeIIx_Dw2r$3)PBQ$m2UvVCc)I$ztaD0e0sxwOc8LH0 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_beam-tri_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b290ac854ef5ec3314af168b4f039fed74e6ce8f GIT binary patch literal 792 zcmeAS@N?(olHy`uVBq!ia0vp^DIm1W=_wGySwaov6jtLn}o3OE^M>R!9 zF_}}+`$UA(;1xQx?eFxfuht(u`u^&xr$2&v_vYQZzC$wpR(oF9Yo3EUr!8e$5^;V) zra{3o*$-w}yB1X;X4T5ANZI;^1#q=Wvslr=K7=z3dfZ5H{ikg!iU zZQbNpJ}&9RilT_CLQAz=41{)fDm~@e$?=Rc%52)=pk)${Gd65Ap1o6qMK|Jj#ew(J zCFUooP2UohlGgZ9>G#K_GTFg*v^QRRXl%K!{4n3GtDK&NJ`u88R!^SH)K`(VxAoS; z&-ZI&=diY)um5c7&tP9vV_^|IYrOzdoWow>v}5PjEKaC>skKMyapE67r5&gL);-f& z^4PmL#%puTv#J`+7QM9N67O4P=5wum-?nna-TNDE+_^b(kEzwiTvh)=|Gx^a>)BM@ zJpZHmUsc=LF*Qfr{wRM`^D#0wc)aG)@~6S`ey-bIUXc1UEB^jN?YGIMi!}C1U-Gc~ z`s#}D5~1@)qyne0r3j@t&AK&zU-+C)Xa1I01#2t`UU@kD*70BbpT#rrCZ%7zp00i_>zopr0Q{|9TL1t6 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..7a9e712fcd4ff7efbcc441ddc22e535f410d1c02 GIT binary patch literal 949 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIDPZ!6KiaBrZ9^^b6z{BdO zz2pD1seDXkiryc5SkJe+{(pA!F7t~$uNXg+D7DPsP*ij3=oCnzoSAO>pl{|%^#khD z>&m`O7nBpX7pi-9to4ITD-|uF+?k^$P%FX*M@Zg?lPFdtNVb6$?c`QU*nor6*#&o;U0?K0P1b9|rvAIBe+4_b^BkNvoCzh-ZBHfs4WXUXxX>!tIa?^?G$;!R&$ z;)`ADR;_xjVtZ{{uJ7e7xz$IL%1wMPZ_9n|`D>=AlSSX-r&IIZ{^7T?c_4@|IYH+D zs#OCdFhNfH*o@Sht*h@`SZ}UbP0l+XkKcS)*l literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..9b297d3871cbff78aec66f51fda4df8c19e8fe11 GIT binary patch literal 1612 zcmdUw?N3u@7>Db@L&|}66j~b{<(*L*D2vV&PBm6&DGj9KO?QT%rM|LC=?4moEz4jH zwV;S1)k!y~B6d(ni4!_yq3LlBrm_HnWFWH{!E~?!Q(l&lxx0VD7QXDm$#p;1bKk%7 ze0Xw>AyY1;VLLDig+i01iL)t`Epgt5ihx-S+a5`w_y)_w2XZS+zdw_8PbUUSMjDpa z29!STs?Gqxz|iHieeb@ohKJv0CH=Zwu@@Ws(-=xAi%q5mN9YWJPBFDGQuj6^`6@Lc zLl^kgf7T`LEyIcRWKMR#yrt6Jb6fVF^M{LHQD(Ht-LdCwrGuZsVWb=GWh>$th3FcqWMEJv(g^wJ=|t$08m|2z=I; z=5J-e@aVxQL^VQ9*O!j=JMsk1(TK+@T${1pR+^UbC1xG>wulE1)#uQX|KyJ2=O}2o zwZgac8X(S3z$Ap;xR^C2(d;c`eJtWHZ;@WUjW`U)oDCMRiF@9nV2w?@DTN~8BBEM^ zyp2mdTki#Ulf*xcaj1zdxDsy@ukYumc}En6B>_G?Oht{<*KOqafNT(9__Q+-#4k6< z?`a1?_~7{yr$Ov*Cs7&!A_vd^@hXUc>!c*$FbF@~G&2aIc|(hE)95;gqh@j_ zBMXECH$8~+id&>#MlJ{@hhE%`r0Y((HJM{9BC=nkC%@=%1iAL$A%ktunK0%GoP&c- zR@2FLKJYC4*vSN7J>6#;7kHUoawoMa#yL@1(Rc!jW0bX$ofW8#eo*v=XU_b$(he zt*l-N(dKro78FQ@Sqk=rj*f9PJ96Pb6{qW|ncAGAD6i9UoxRM8#wMIun1c0>@8Z8yJMjk6j1uMdc@rz-UxnR0|A1z+TMMVbRmBIR>xc z^;Y3@QZo97K36}LY7xya+?t=LtU}yszuOz00;R)!&{EviN8d{3R$diCo;Btf>A6kz8Ht literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3b88d248ec8e66615202cc185d429df4f9df3595 GIT binary patch literal 714 zcmeAS@N?(olHy`uVBq!ia0vp^DImlUgKJC)ee!)sq79OdmOH&Yw+;+hH{oBBswO&ExxdFQ-KB~IR z%rh>D+51ND&QhDrGwI27*6KC0KYdH7DvH@ByRbb@^wsspFITVre4L$q|9Yw0U5DPJ z-%pzehA|p7erQ$@kRPbInNRTl49UcVJDf`0DUD`=we3 zp8R~Sx1s9MR=um5VPE3vJxhB+;NxXswK@RQK;cl(%@#^m)=koZTJ~F6bdemXLqMVU71slV>lHT+7uy`@h$L z9-u|vBff6_^yow9;r}n$rl0O+otL*iI`a2}&e{)FiGoVg&b@mP5^+0Xp~uEJtCL<8 zFMCWLF1`G{W%@HKfw)-`P8FGAybqUZx&sB$1>$ffU ze0OV3(C?|2tX9VR-IL+BUv^@9Y$MMak&1Ty{$tlmi}uyo8g8@yv9Wpc)VCYU3~bF+ gP}2mePZ!CrR%JVVdZyb0U>arcboFyt=akR{05onu;s5{u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_disc-nurbs_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..aa75c611acf9ad141964dfd696ac46bf9dfc5a04 GIT binary patch literal 2374 zcmc&$X;2f{8qI)#CP1KpKnw&VC;~=|0}h&iED5Ut0R>?cq}@>ZU_W*P(UFe(NUix%A&FkX;)+o2qQWQ(>&{0Q}y1@SM{n+-|p|$J?FdM?K=0~ z?7#qTT>^!G!{Ky&eK^55+;{Z(2T;R${;*g`!{M}aeL3zM1x2I%y$4=;8MwJeZJ(Vx zMr}zx%3WucEeyiaK zq~NP%oWjn!rXNIaDHWnVUGPo2q)B>tA``gYHF6dJqg*nrOCjluOeq#qmdd>RT@@7@U2+9 zK@A^y)}|NkZfMtd<_ug~oAzcSe-#PstvdIhU^oyS4~o*NWAd$q1?;FbA$eKW=sGjC zWt9gwM(DxNC+(97Hu9xLU2c;^&zUT>-ur!G;K+H|uJ%JV@;{Bbf?J860&n^79k=cp z3Bao!ZtU-CjTe)lh|`i|XD_qCSrsqUlzL;5mwJ{%%~83!YWEG+W|!jkU*p@zS9~B~ z(d{Js{$MQHd3dAJ3(5ErskClpgKL+^l`HZ~NcCD{fv}_lS}7rsd4B*~P183q=`SCt zSs`dA*c^^A@Ips*1+&OWegact)KNF@<|3!O>dR%viKlv!i8_OE?SS_ah#4|=r>}6O zynnmO56RA5rW%1(N5C)VIT>vZs!rnDoH#x*vJjr)~|-_F@Ppk&Xl@R zXZ0nYE-D7rh~gtwh$2MQkC_C|Z2h$OtlCHRe*Q_k$NVgPKSRp}%PhnZKQB16ui~{8 zJj4N7Fzodnbn~HsL5?1SY*?TBAE??5TdXx88Q4)Q zr~a=0Ez#GH(C_6BU%x1h*-;m1Kc1`^`~VOe{%t?1tppq0{rq?Xl!zfOVBfcLu43h^ z(YHTu1)G1XI?RV+VGf9fKo4~q9EIVv6`#I1^|2njE*%gvL62G@*yE#B7h@8U$N|n{ z>oQtgaky%@k^Xd!ZfO7X^@{GOi1dd(LGY7l^rNU*NW?^Lz>}yB5F$So`>KDTh)?xEVIkea5y4X8#q~~m>8cL zSqS+NgqxocHDgSnYnY7Ql3~?JJ?CGJGYs)#`BjPurg!0XvR&L!GphM?gR~X2J|}|? z@C8|Kz)T_=Pc-g9Q!S40%u$19Vl_Rm6TQ0Ct<6;q5S#<0P5d0-F*TFm+}A)gpLOAG z;0S2=l8O%Jq9yVTnPRo|@qS3OkcwH+9!a<)!)Yc6+D*~|jL@Hq$QN27nVaByI&8cK z>w@Bavq@47Aex}sVV0+se0nt1;aQ(M5}2BuJFFUsX8%S;7ZJD@2R~vvMuHw2Z(Vmw zanyUUKLx#Zg^j;(qg+vl{QSriorDkqU0F_4m>aH+hadJ*?P_zKSh>Q$w1$3}<38~jWc%J}5}GV}cwV-mP|$HkBJ+gx z25bLOgh>gx$i9l@aUi;Z8N29U>M>xeSkazuQlF*r+>8WQ?W_(|zW4x-|F}uoA`x>^ zOi!s?LOToyBy4~>lUoytFcbCD|Msg5oX}~ON9f!F7CU#_Y9|B%>*2aUUfW# zkN?ujWad7d5%2+0lC$I0;uiA+(+e)N(DjbqYAKjpgET_T7i#_$iwk9aov7 zrA}PAqB|gA=;o2%^-~t=$^FgsAo7k+`ux6@k_Dc<4Qs%KF+BT@d%QG-Xl|vx|-yw{+>htoPM` d|F3pVvtu7)=z8 zi$iBAR-8J^H3^4Ym!oKwsQ%n$|ufF|)Up1j`l zjZp=!?==os2>_rNB7XnzXn|bN;i(t0`E}#5rGtlq4eI^%9;NGWcc!SsZ5~V{HnpXV z7JPV>`>ABK+IRkZpVFYxsNV-Ym6rtFqD&pQznwaG)HK1}P^7B~c_Q*C#Fg4Aj8&m3 z<*bRkC}=D$#zWEhq+?m?tU230+W(BU~-ao``3Vg-0Oas)j5nGI!Wv@>thE9yzd_rYQ;G)RSaN|AY;+Waq{!=e< z-4{#)3*eYW(bwYVE4K$$wwSuU4jNg9;^(ZmGy8Y`d`^#U<9ffIUk57)VTZ{rPv3CW zls+r3Za}?BYj5{zZ0zJ?-?*- zc)`=NPjQljsoiR&Gr!!lckk0fUKgmIls(N%c zX?iffHBb*>V%;ooE7L1-(g*`lb&LGx_jDzJQ*`3dBJ3bYhpk zS3n8*ZoCWoW*F)F?WS&qGI*t;J8*`6>5?Y+tT@8qkKW59kh1sGq#-(67>u13t#W~B$WNZTG-BV`yqiq77*q1^nd@hOBzS>kJpO2}#YjHEkI9^gN zvDelKB1#$g+Sh0%M(8Oxi8fp&m#2lXGT{(&+n*5}dFjwlLtpR0XFum0G=WGWsYxuk z9%yMrh2?%PGM{2WomrgxB3#XfTH8A_cN^2*V=+?xy;akeP2N{T=<3)rSC$e>vxq&P zK0(cbsOu_8ux;C5=lazt-*$lTDANjA($cbploLn2j*n%uw{bH|cy}Xqz-Lx$mI4AW zQtwv2f^oylAYz?2lv;vcO+~9Eb<^E+)t8PCUvwkYK_boVoJknp->)vPLubi=H1t3Q zWlKBe)TJuM;-Po~MI+aC!^>L98b>}l70?XK@FzUKo##FXJ?T1^(KBu}d!<%ed52n+ zqwFH<7_W*(i4m7odIWk%pLV~Oj*s74v2kC>>X-okW=-Fbe5<33mHTV9zUpz+gs9{% zbW_!b@tpZ&NRF_yRGsl;LybhSgG0M2&tjzCqT73Vx6Z>_$lbkF%su^=NETF&ppXcA zP!~GSJ3BJMK74oW6koW8s;#?MGca5;XZFSEv6Aei8Ye^{7+h_ro%>)WN9Tcq!-N%; z#&?R3p!1@Av*EIPkf>M0AIt39X_J!+>FK@NV#%T_U#IKsjFETmFHL4+)378q=)ONB zA*Ful!2tj)yd1d)7g_u))phHx2f@)St_92|pAbE6V*af37S#8VyGm7J8Al;1NK_0K zCMsa}6BUld90k4Ppw~x-@Q)7D^fpRFFgNYLA( z63<;locw$O2**nY$Ng;r`GFH7@{EzcCdYXaOaRs;e#upr+^e iAVQsd3?ToTHKo?=L}bMK>sjkh1RxST@RbMr68;5=H3dG~9YdrQ9%`4ye!RoUmm!Y7OPm6%C;t>~)QRZkkP&W~5Tr5{`@yr$B q2Xc8%9cSNNlYVgV&Ojx$H_ZEew literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c5caf5745912cd2fde0960230e8ff476651d2305 GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^DIme*cxLF{jO|pINi`a=eY6<)=dF3-#K|KeByf~>es%f4QI|Xr&|gq^+@l1_INw{ z5APmU32pe(C%g zfkP&~`Tbk6`u{&T#w=%uu<95Sn%x5=@N#2P573Lp0>fUsJlplfJ9e{<_5AbGPd|M- zF>F=tZJpC{;ZC2LmdK II;Vst0PH8Z`Tzg` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..e1286ade0aea686010e5b6140102b6f3946b9f81 GIT binary patch literal 1037 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIUo-U3d6?5L+HS9WKAmDoN zn$h?Do4#>uMPQgg7qt2 zt*Q9*>dcup5xbI~o>_hT+#gOwHK&eFfh47t861O%Ilt;axu5NWm8Q1ii#Yz8`f+UJ_DTVHEXAzUaASrijC`rAH`UM~0HSl>qLuyZ+4ziyo3NYAr< zuyAwIi?}y6+mXL4Q7q5}Zem*rZ37E|pJYD@< J);T3K0RXF&Q*QtO literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7b74e099df2d17826cae5ea0d0f55eb14dccb8 GIT binary patch literal 965 zcmeAS@N?(olHy`uVBq!ia0vp^DImv_HA zsY??M$4(3o+)?~c&2`lWb*2?XJWIG999z07g@t zf|;!@*}O%Uj!wGq#E#3L=?-%!lU~}hj5H40b3W684*jwIOX^k_-?|+hbJ(I{Hgp{E5I4E7YGd8j zsQAC}1*>hd4LFu^=r}gm+`8T4;l8=|VP&)U1|7!JLU@SAwJB?zR=RAI=5q5k+08mp znQQjZs}&#h7t4RHaadoT^li$nEAIc=%$4f`gR^%DmsPoCeNcTmclET#o3j4>n*09x zoYe=@YyLIZFAQtG|LHLIzTn{EAG2O6^Ic6ixt@RLjz6<=)55|wck5-J(3Nmr%J%)n zEPKAv3*Y0=a#vb_wTyw$Gh)ou50KE=8ChgZ{GLw1 z_~qt{OB1?2t@Es2%<{?q=`YEio_g~zho=4KlcK(}lG~DLj%-vb5lK%?x*QYFE^N#yh_*SQE z$C^2_)OuGr?EE&PwnJpv`(pc`kha=B=CfB9PhM78YMh$daG{#hHu6pO!qOKqZ-tEh zZm^q>zvNG*1~x~ch}}LJb#$H8@q5i2(=r-FH77;I`XAL^nj-nQ@WI+kvabSH%(6@A zsOz+AHneU$6dfxbS(a*a)L*+@KK$KDYps%a*4UNPKMHM`lKnR#b6)+5RR>e!qfh+$ h|ByEhf7Ct5f7bE(EaUXz8Nlqx;OXk;vd$@?2>=5)x{&|? literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..e1286ade0aea686010e5b6140102b6f3946b9f81 GIT binary patch literal 1037 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIUo-U3d6?5L+HS9WKAmDoN zn$h?Do4#>uMPQgg7qt2 zt*Q9*>dcup5xbI~o>_hT+#gOwHK&eFfh47t861O%Ilt;axu5NWm8Q1ii#Yz8`f+UJ_DTVHEXAzUaASrijC`rAH`UM~0HSl>qLuyZ+4ziyo3NYAr< zuyAwIi?}y6+mXL4Q7q5}Zem*rZ37E|pJYD@< J);T3K0RXF&Q*QtO literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-quad_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7b74e099df2d17826cae5ea0d0f55eb14dccb8 GIT binary patch literal 965 zcmeAS@N?(olHy`uVBq!ia0vp^DImv_HA zsY??M$4(3o+)?~c&2`lWb*2?XJWIG999z07g@t zf|;!@*}O%Uj!wGq#E#3L=?-%!lU~}hj5H40b3W684*jwIOX^k_-?|+hbJ(I{Hgp{E5I4E7YGd8j zsQAC}1*>hd4LFu^=r}gm+`8T4;l8=|VP&)U1|7!JLU@SAwJB?zR=RAI=5q5k+08mp znQQjZs}&#h7t4RHaadoT^li$nEAIc=%$4f`gR^%DmsPoCeNcTmclET#o3j4>n*09x zoYe=@YyLIZFAQtG|LHLIzTn{EAG2O6^Ic6ixt@RLjz6<=)55|wck5-J(3Nmr%J%)n zEPKAv3*Y0=a#vb_wTyw$Gh)ou50KE=8ChgZ{GLw1 z_~qt{OB1?2t@Es2%<{?q=`YEio_g~zho=4KlcK(}lG~DLj%-vb5lK%?x*QYFE^N#yh_*SQE z$C^2_)OuGr?EE&PwnJpv`(pc`kha=B=CfB9PhM78YMh$daG{#hHu6pO!qOKqZ-tEh zZm^q>zvNG*1~x~ch}}LJb#$H8@q5i2(=r-FH77;I`XAL^nj-nQ@WI+kvabSH%(6@A zsOz+AHneU$6dfxbS(a*a)L*+@KK$KDYps%a*4UNPKMHM`lKnR#b6)+5RR>e!qfh+$ h|ByEhf7Ct5f7bE(EaUXz8Nlqx;OXk;vd$@?2>=5)x{&|? literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..e2bd2686b0495039fa6bc957debefa91fbe5a667 GIT binary patch literal 956 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tJ4PZ!6KiaBrZ268n!2(TXX z`S34%o{XY~)8vTKrsqz(|5@(-&1Chyios?shoYKON2frNQp*gAnKuIYcO<2~;;c_C zmwma{@9>dG~9YdrQ9%`4ye!RoUmm!Y7OPm6%C;t>~)QRZkkP&W~5Tr5{`@yr$B q2Xc8%9cSNNlYVgV&Ojx$H_ZEew literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c5caf5745912cd2fde0960230e8ff476651d2305 GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^DIme*cxLF{jO|pINi`a=eY6<)=dF3-#K|KeByf~>es%f4QI|Xr&|gq^+@l1_INw{ z5APmU32pe(C%g zfkP&~`Tbk6`u{&T#w=%uu<95Sn%x5=@N#2P573Lp0>fUsJlplfJ9e{<_5AbGPd|M- zF>F=tZJpC{;ZC2LmdK II;Vst0PH8Z`Tzg` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..cbccfd783b0f42a8c084c39951e0bb175bbf3c8c GIT binary patch literal 2734 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..a944fc8ddd4701ae0542c2aebe3aa4398b695576 GIT binary patch literal 2741 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_inline-tri_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d6409792d3f93cec4a861e85068315f35ed1baf5 GIT binary patch literal 1661 zcmV-@27>vCP)P+!~AtF-UdvEUC1>?8ojZP|+4+irf_)$nEs69ai zq(s3QI~lJa|{i_aAp#j^!9Btj2PZ6qaH+ObY9;oF|1vSdNs!3M{8e zVLFzBr7#!E*;1H@<#;K~!kP(En1VG!q$m(82dY7-*7gBwHLs*EWF<9I7T-nw zDkHEGk0yDlvZ#9qyhLUt!;+xqPxKZRZKtmsb?P0sj(REN-ekzV} zv`zNf^wscnl=pXX2C63i_4|UK2I<~OyX4)Vz}O4Ke&^Notdks0gtXG>usmgA)`3oFdGj+ep| ztT6FT8XPZ0A$=Aw0<{Jou(4X%U^|?nLgiY4QWWya($Jq}uYq>hgHp%Gr&%uz>fCN* zqr4qv7C-D~wN%RYK(S-IR_;#^ZH#OSrf&(`Vc!kTW_Th(xg@A)4F60|9Zv>??eHkc zOZcB-K^6hBhA$Vo(3(6mFEnrb)MY?*i0x$I% z(vqUUT6qj2#Jgy&k$t8ppf|DkPM0wC$y4UzT08YoiIf+{2t+s{U+2Uzj+H}yjD34~ zrwY=N;B~YYd3zV9ZX(!`r^5(6AF{fhE26{QfF*p8XB*aQ|au}k*-X7 zOxO;OE@Af{Y*Cm$^#kju0e$A#&!%?CcVONx(TA{mx<LHXxwj?s@WxPprx@qL&%qBn#N&(OJ#Z=^wgWu@Y|uR$|j zE9-e(8SFd+xWrW{oo%qogE7`)fZIMxgt_bbi?<6;TM z#S)B*B^Vb=FfNv0Tr9!3Sb}k}1mj`}#>EnhizOHrOE7-}T46*yAu$XR00000NkvXX Hu0mjf$^iqk literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_periodic-square_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_periodic-square_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..279c2db9b8ddc2a3ba04f451eb05e9d486a1ea11 GIT binary patch literal 1012 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tKco-U3d6?5L+J(zpgK!nxt z-vQBIvwlrl9GzliaDd^^p>IB{{sPk;`ELFm=kR>B9K(FS76Dq z|LBk0|FuQ??Dweme^;-m-1GJG-E`T%Z_Z2?NK$H>4 zc*@ncyJW9d?oEDtWX;!#*Xn!D|7s|&I8Z7wOuZUjwYM4Q)xW{{J1*7i|NYzgu@x6p w(hcP)k8%@ozTNxE_9J5-#hHLir@Y~B|EcW1?eC29z}(E>>FVdQ&MBb@0Pf;HQvd(} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_periodic-square_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_periodic-square_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d00fa4edb88f40e9aacccf3bcac366d5f5e9bfe4 GIT binary patch literal 893 zcmeAS@N?(olHy`uVBq!ia0vp^DImp0^)6R1x@pMxLX5UC;H9Zsi)%c z`k3*3(=40)C8nI_+yC^X8v zHsRS=Q@>kxr zcAf08DjlUUSAC7YR$sOgYvAEquFuUr{mrGBsd^XZJ%}+Y4iK+Eb6b~d0J?LLg)Sdh ztu_AfczbGi&$Tqum1eH?8WT~h!98i0yGlPg$`P5@GzEo!KA1%qo=IVPkq^} z>t-Cr?zfJwdSGU-#-MtBB=_#gul}Y5>sUTc*~0ui$6R~kyNS2UrzYzsl~(=TX18ch zuln(8A4M4yZXbEYJw^Lj;*FSn+y9DWbGofLAoj`d-8}mwiA{&T1}vMgk!fH5YRfLw z;xz(#dP^iXGS#-sH2%9@ViObZtM|rXpJ#0C+@F19RlaiU<1=&PN3cugH$m0I$+BN?t=zV~tU1a;IB{{sPk;`ELFm=kR>B9K(FS76Dq z|LBk0|FuQ??Dweme^;-m-1GJG-E`T%Z_Z2?NK$H>4 zc*@ncyJW9d?oEDtWX;!#*Xn!D|7s|&I8Z7wOuZUjwYM4Q)xW{{J1*7i|NYzgu@x6p w(hcP)k8%@ozTNxE_9J5-#hHLir@Y~B|EcW1?eC29z}(E>>FVdQ&MBb@0Pf;HQvd(} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_periodic-square_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_periodic-square_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d00fa4edb88f40e9aacccf3bcac366d5f5e9bfe4 GIT binary patch literal 893 zcmeAS@N?(olHy`uVBq!ia0vp^DImp0^)6R1x@pMxLX5UC;H9Zsi)%c z`k3*3(=40)C8nI_+yC^X8v zHsRS=Q@>kxr zcAf08DjlUUSAC7YR$sOgYvAEquFuUr{mrGBsd^XZJ%}+Y4iK+Eb6b~d0J?LLg)Sdh ztu_AfczbGi&$Tqum1eH?8WT~h!98i0yGlPg$`P5@GzEo!KA1%qo=IVPkq^} z>t-Cr?zfJwdSGU-#-MtBB=_#gul}Y5>sUTc*~0ui$6R~kyNS2UrzYzsl~(=TX18ch zuln(8A4M4yZXbEYJw^Lj;*FSn+y9DWbGofLAoj`d-8}mwiA{&T1}vMgk!fH5YRfLw z;xz(#dP^iXGS#-sH2%9@ViObZtM|rXpJ#0C+@F19RlaiU<1=&PN3cugH$m0I$+BN?t=zV~tU1a;P{V<0!d0OGdL90C}x(eWw%L6d&T)- z^6r0c-b@jUd-rGJ2P6I%j`@oPgcXmta2N_Y`LqlZ=I(3EJ92@Zt>3i!Ym0L+XXUP$ zmcOf?taPa;k-NYBdGQw$zh8mRRf{Hj4+U?p`^r$44fKsotM>`*H+i-XcL4pd`!#1> zzMcDd$M*a)s?LwhBo`FAkgo PW?}|US3j3^P6y?8{!^g9y zm9y5inhWf4(R%+tcFh`_X0xUZOB0kiG;JC}`yL9~G##7pR&3*~{4<}PJ^ZfC&i1eF zfym5^OD1RA>z2Xs1m7@rxN(jwKl0dRw;oYLusuD?E;wmE+9mtKu) zX`5eu|9x=&HXWeze(G&pcl~vW(M-SPiMKcF+f>yu~prb@WN(F+E0wEAoiipX8Wq_y=BZ-#LuCsLw z7(l3(YAQrP@Y?m#fQlt1qqT#e(25KNOo|E-kW9JMQK~)p-9JvpADQRf_ndvdvtQ<$ zPa_ry=g>Xr6bfZd+*&~jh4K;G@uN|}neti4qEMU|ae}B+wQjWU%Tm7x*Vw2HHB&8H zCW#mBdF7w3oH-@NCbm`Q_s+6BIIn5q+HIn}EA~5>1=ui)&m=0-B74 zhx~8*&0%i~^H}R0NlLKh z=YyzJ-!!Iw4q``@TUro{&2*iRVUL!A!Km^`(}GcOC5C<>lW`OcZ%anj-=xJ8I*XBd zJ`1mlIlwa*^E_p?@+dTze7z=(_f+9WztH9AeOOIB|24Frp_hz3iy_X(GhI5$fZj$e zhcswN+!mNA)!4bb-gal?DD7RXS(}goh7YgT#0O)n zL$*`mp2jL#O>Avj4~0->*a{i8)D&zZkAy?iULlc~un`Kgcp3fo;f<;q^S6nP%v@eZ z=QJ3b_2xV5WH4fR8FvF6M!gwfr-Bj0)Agi-@ubci7qkJ489ZHkF&LlMm^JKlFtT_$ z(+x1ns?B5_tmZ8sLeG1ovG}Fv3{N-UcWBb18l$VVL#eI^gGQ%^R>co=HltK;#!kT8 zi`Eb^6U#}#stR;&*A-}#^7sjlsqy%L%}&um;;CrD$F>QUV)Ke5Z=kTO)7o0-PYTo= z=FiefFzSD^N~Qux!SQPIcKJG~CPYBY9fhq35fUnS8t@BZU-wm`tLy~2ug3sO%v3h* zf*lH%_gSCANcER<37Duo`zGqH_A{N8|E{O*V_4;eAu-l6&x)T=H5gkCDnwf&QY|fl zRTmF11MM6}`-OD`y-0vp=6C9;Eq1@pC{J!=o{Q4Zi`L@#O_?5S>{VCAChEQn~qB*mhJFKurdIQowWDjQP6340Am9HWgqAev3Q9>KMoQ!dK%?#@j z!*Y1Z@h_xXv}o*t#$6cqq{`pKM&4fANwAz#EIx)&F&;o~&Uyf4y^#nT5#xgr3%77s zj4zW|B!(AaJSW96d&(xp>ys_5VZcGLP1 zG~A=7IVD?Mf+F0kH2R{3%>;|DqZ0XDdRkeXu~G@CPAQhNJxYI5jekhB5Xv|;%M%_S z1cb;Z(b!kMh)8Aw&O$`leZVk8l+yw9MnrjcfFC2Gt=EBp2uFGm=!$T%^guqs`RWL8 z3Bt+M0G$zz{4FpD;cWj4xDp8qg-@T}Pu=*vA%+oo+IZkOe6uQmyf_PnZE@@Fl{1U& z!Sr5JDo{o5y~hW7Alq^(&{%biF|qBTo)(XtEK&JKBd#wM<23hsNw-l|sTiB~ePlH- z0?Q*<%$E!G)ZIhVDEE*UD;ju;s!GHd|Ji-Cu~>{XTdtvhYk(sh%J-aC@LOx$l4gVEm7DB4- zMFaYWpkXx?wUI)czU28h>IILc$PvXPgtiHj8pE=5cC{|g}>^N;`l literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..68b942b4d9d3d0866c6ad406701ea022120f5206 GIT binary patch literal 815 zcmeAS@N?(olHy`uVBq!ia0vp^DImL6(0;^Y%1TcectNoX!C<1^ab}6yQVctt*voO*cVm^?)hfAr6S^R8voMP zB_}I_wr{)kN8Na4{igl;wyeui?2rFFf2PVy)9LD`*!>Q(nZ%S643UY&rf;V%)%tt1 z=hTG=IGWxiHay()3M30clVR2g1wnOC8EdUCq0=RxyG;Z@1#>5 zAu{#b8m|hjPt{xtNQ*>-(2T9nR{#E*s>VwDrL2 zyp?SmU8?_vud38p7#F%^PD1DBRT@vZyeEX0YPLrx?THA=+bC0AxO7gk<>yNiCN(@g z;O+0l5w@3is8_j1b%V%A51ZrbnqRUTV`4^@D?wHuh9XPT3{u zU9Xh8<--KE)^M9%znb{s->#9<-izN3HdV|PE>ete5s~{I_h#O{SKsActewC7et)~> zS>1Q46PjIT-@AJFph8#D-lyN2axVWaO#C)?oqG1^z(5hdYhgZO(>^pD<%sAZM0kjW z39x`PT)2K}de+m>9k}IW_aH6Yo3%BOxxJw&0bRXL~MN{80;>J&P&sF=Tv*^4Do2C_d zoLgPzR^cJ0^zs6&GbYnSG}npyZ8F+Z;5O@F>*en}`gdL*_;9FK5y)^o{Na$UJCHH| z=!ZjRb9nTF;KF?TYQ2?5=UCWuKl%ARy|Psywb}T{@6z2FwTyp00i_>zopr0IGt6 AlK=n! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..e8261e1a868b14449803c1309e45ce285addc6d8 GIT binary patch literal 2260 zcmcguZB&wJ8b;c;VM!^(4=UeGuo2W$MrUo%H3hUBi_o;}1H&9j%Zw7iZOoz=(ZrN2z5Am{Xc&sFi)0d(-}C|LvbWd(OkTF0SXkulsu5 z^FHUi1w8I52mB&D27_^kUd@TaVC;NtKO7d6=k5zB7!2-AG$$fHTlM(fZyEQS9K$=i zB4=m)M+sl|?0fCJl9uq**4-UPqtY|=$GsEnE@?&=g`b@jx?^^Du~vWhzh2M1USrNB zp1OLj|+=%E#D?s;|9Zh=*YFZFyXe) zncTe!0>{m>Cq~H$UZq)oPXU_nrBHB07UI5Z-nMB?p<105EpM^0plZk6Jw zPXZL$p@iDaP;gzmqT&dWhdbA0;q7uEQ{EgWd=T3J4)er)Ex*FXwo2m(Xa4}si;qxA zO)hjuhqZxxu*y*qnmc1am>$v2L7kyBpAa)z3$4}S#CR#RUa2tdKi~_kDC*Lc29*~_ zwDMet+fZTrjPFXOq;nK$2f(}U1c7AF6Xa{@=-FL`Shl=w#Oi5;8KH*>^Mm7{GiBHs zeiUYe782$&l0cx2XzM+|YRMW!d*Nm{P&PANV20M}4$H=CegT|p7c@8Z1qfbUmi`?y z5d6^ABN`U81w2EUx)cMJI=Jq+-Hryodex!(Nrfv% z1l=&VO%kQpc&lzS#=X&ZRyY1N`}ahMd$^K$ckzMxCZCNL@0-gajFWRCF`2$sT2^BEu4sL{ znJd4g>$H@7WBTr|S9{l8(3dNoAv15?4%Nh)Gx)uKeDSatuiNg}^E7>lOWWS*(be(h z;K%ALR(Tts|-I|FU9FlyTV5atT4(2}ZIx*SLzi=L(WAN1MeO#}< zXS((G-l=op@@LCuTpBm^KKsId?Zah;!6tuErO}In`-PKudufU&g&amPT*~tXv6++D zeHh6QXUE8k*T@lvkh#Hm7H8syz--xKG|AD!lax$fU-;AUqom_DPPB1iw~do2 zaxq2z8AT)L;)_$L&ah+KY^srVwht|?!Fim1zcOELcyPVV)Skbfq~O1-^NcwwtD3^UO>>? zU|T|8;kU`D_T%rKLc5c(gRJv39GUxsC)@Z=>ekw%Wrj<0$9OVnf%cM`8E>Y(Ys@Hy z#xM`Vt0t)aXMwg=ICJ?rfAcBf@%-UuZ@gY84`R;tXNbno3%i4~I^`>({5DW*@$ zPcAQ&N?KOex9-6tm779!F>>K@X?2t<`j#JYam4C3n!0w{f8zY)t^=2k3<&*OgpMvx zHTt#fx1LInmfu3*jo2{txvZHNO!=Xqu}NkTJB z(XFmOX3-2vx^>xlz(BgyVM!Br8Gk&T`Q{(ak8kL`r7p9 zG3yF^diqU5WcC7N$@Uw7e?pd|>Ijj2D(w8=L1M&`A!hE4oSm43ZLw;H!4R&ay? z(Mk9l;Ty~uLzNivF0joI62Qe)D_~S#zv2eCUMR; zihd^SJi(K_q1GDHsPRjsRpJ#p<@h1>RER2og-m{_3{foyEC~!zc?0HkGgV%I4Vg@p zC!m_dRCxfNtPF7rVUkVe>RExvgG)x;-ZkT zU=|Yh`%YA{NR6dGI(p`^ruMb{X=b@Rfbjkb{^xc4|M5$+b9{b^El96tjl^@w}t=! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-nurbs_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..36d55b0ff1cf8e0a192050fb1d8b7bd36372ffd7 GIT binary patch literal 1327 zcmah}donbSC5o7pZW-1z?>41jY)8w@DV2F!?sP>~9$Qu+ZDaOp z%eq~nIl?H87D5g~p>sUPv>}h(-M{Z2_nhx_zVrS4LC_nFDjmQ2= zsFp_6Sz6mbpzSJ@_iv$;C-Wmx^nq{?WHCW>m1~CW#gstLvHi{lA^h^xXZ4K(3J+6h zWvcJ*UJ~UJA3yyw`Vv_-rMeh7L-^7qc(d=BGOEP-%U+Zfuk=&@#?jJglFEQ}{y^qr z_uENvt{m-HP%4z_`y6XJA?41(y=U^CDnWn|6>0DvJdp1y5AQ{*GIs}&pSzni5u8dQ z2It)_O=VpNS_9NN9d{DTGj3IAi$mkQA}w~rpGt~sRH=hxaYjgH#F~RYFKhIo{=P>o z^upNyWG*(di~BM*91`la@nVvrm9a{dip+zGO)dir#ZPOFRs&4k4+V^uY8d20j45%` zL-KJ3O-$ynvWO^Q2#1wTbQZp1vvP>0!bCPJmk1Uvb6EM3*Mqd+?v8Jt`IZj9;6{@B z9VB{rHo~7A6TLGXPbD#J=gFYZ911*!W^?~mnwH-Ec zDJqJt_+$lhWSA!-9xpG~+4A~g>9)5%O2-rwH(q{?8zPFMMUBW*gGvNjTh!B55O(!n z>4qv?cJ`&dzB&hEOu(3>`A8)Wr<(}0tWuiz{KteCEOup;VtFWV4tCd>(Yh2(sHCUN zw|SShE>Tl{je%7ib3XnVExsLBJvi+jC?w{)x)k1m6K7syst_)P9DJ8a*SsU#e15+d z{pfDr#^K9sO~nrtUEZ+0#xji=ns1I2JM285wr+SBn zNls|xggGM`;%t*PM9t;EiIBERJVkbPN_E3oc2Q%9V2eYu>OBS{OageVjgUIL#mTXY$!IJOzZ{(}3r7+JJ#nu@i}eM_M~0 zKVZ{kZv`DjQ(?9W0*NG>J^$G)SWzPpP5UHyoU8h(wElgj1+zQ>uH(nWuF1vX$D#;j zWWsH)@PSL^b{Dpm3hV}o752p5JP!sABCRWqcDgPv&|Z*5I}w}FBMI-7n>lHyJ;}ML zY~8nQvX$+4LL@}XsWt{mWq!%aX-3c8@E*5QNv#+6dcN92afR~tvB_dHYCk+UGPP&) zyh1b|Lf-g0vYWekbCdZ-z7@A^^Yu`CpUy_kSgN4ib$EGZqP?oc@#|=3d#z*iYPbo3 f3WeSIUu-}sbky&$ta}R05rR-ijJM!S)SZ6-srHC& literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..cedf118ee0343036c1262d47e6246685d13b135c GIT binary patch literal 1452 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_st*PZ!6KiaBrZUd+4YCE{@L zht~i9r}yzsn;^=;>a;2S%~rWj7lMpC_f#MAS*rJXR~^IL|F2jN-0T!cQfisOp{VB6 zK{>Pb8h6FfO*&tN_)=rT?Js?=dS!1t+vrfg`hL%UC(nP5jr;NXOqmE3Eu`GZ1Wf?? zNnx|j>96|hUjO>8ZD}becmM2-d9@oY>iaqR->m#2w{wa}eKQCDi-X_t#7h64kE;vs z%~v_({PSn>y>k73MXAjndtEA6>OUxKkA0Qa^}cqou+YOh|9%LcJ3W>6n0b+(#m3i6 z*GvD-7RuXqQQDr}N_28T*l+87QjXV~3nRroe~46?bDra8?Z*0~EvB{8-o8j-)A^9J zUoQIc@y-G@W$_&sA9A}`^!}|pFoQMk+v&>>m0c_vQzMsIPrUr_v5UpzNUl3?tfxGZ zRg$?|VqB1a%=EvlAYbk)Ci8Dg|EnA-lwEM3m+!ss!v%c758T?zI|^LbwF?#>e%}F1 z7c%D*k3TqOu*b6{*|MNfS~gDjp#xt$P+2@!_NeDEpzIxC#Um~phJt(#L#i+K%D!v` zrlmvoI6)fkfRq6fSMu_^-Fa_3>|Ho41*iGhv6;6m#FpUBSg7o=_!)>PXHfj<{L}A# zby3RL5~+6|m%U%T#}7rP6P*TSpAs{8>N*69K=xKIzdP|(cOJxbEr%~i>=A&tweL}g zbx`$1TR|tE7G}$n1}1F#1s+E5-CxMGzO%rB{arw#IVfGoTvTjdX!t``kndH3tkwrU z!M@i9K-x}_?=1t6o(~LmN$ZdYzyRM>8mm6Hy?Cve${|ai>ksSLq?*5X7D)Z(bN4IU zZ}ZdEsm1u_{maQ^JL0D@$*UYX*>h(hQ~c*h{f6ba-@lg~&yW9X9am?scqnr1>#Ch! zSEp}y9k}Lz_>DflH^2J+Z$6)sw{Id-e6rBF-2J9|f9yT@Blh8^-<*PS2g{dta!7%6W0 a%dfVhuWQ1`XVJh?n8DN4&t;ucLK6V@eL=MV literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6ee3b0303a784dce24a34f335f354897eefd213d GIT binary patch literal 1360 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 JrKEAt{{W`KtS0~f literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4063b5678b757e01e307567c049e955eadb9edc0 GIT binary patch literal 7133 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 TuHJ+X00000NkvXXu0mjf8EOEa literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..685969901ea72742beba686589f9e2b64ea90efb GIT binary patch literal 7779 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p2_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2cc0dfe9811c9e193fbbd73a25aa7ea16739aa24 GIT binary patch literal 7166 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 Aq5uE@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..cedf118ee0343036c1262d47e6246685d13b135c GIT binary patch literal 1452 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_st*PZ!6KiaBrZUd+4YCE{@L zht~i9r}yzsn;^=;>a;2S%~rWj7lMpC_f#MAS*rJXR~^IL|F2jN-0T!cQfisOp{VB6 zK{>Pb8h6FfO*&tN_)=rT?Js?=dS!1t+vrfg`hL%UC(nP5jr;NXOqmE3Eu`GZ1Wf?? zNnx|j>96|hUjO>8ZD}becmM2-d9@oY>iaqR->m#2w{wa}eKQCDi-X_t#7h64kE;vs z%~v_({PSn>y>k73MXAjndtEA6>OUxKkA0Qa^}cqou+YOh|9%LcJ3W>6n0b+(#m3i6 z*GvD-7RuXqQQDr}N_28T*l+87QjXV~3nRroe~46?bDra8?Z*0~EvB{8-o8j-)A^9J zUoQIc@y-G@W$_&sA9A}`^!}|pFoQMk+v&>>m0c_vQzMsIPrUr_v5UpzNUl3?tfxGZ zRg$?|VqB1a%=EvlAYbk)Ci8Dg|EnA-lwEM3m+!ss!v%c758T?zI|^LbwF?#>e%}F1 z7c%D*k3TqOu*b6{*|MNfS~gDjp#xt$P+2@!_NeDEpzIxC#Um~phJt(#L#i+K%D!v` zrlmvoI6)fkfRq6fSMu_^-Fa_3>|Ho41*iGhv6;6m#FpUBSg7o=_!)>PXHfj<{L}A# zby3RL5~+6|m%U%T#}7rP6P*TSpAs{8>N*69K=xKIzdP|(cOJxbEr%~i>=A&tweL}g zbx`$1TR|tE7G}$n1}1F#1s+E5-CxMGzO%rB{arw#IVfGoTvTjdX!t``kndH3tkwrU z!M@i9K-x}_?=1t6o(~LmN$ZdYzyRM>8mm6Hy?Cve${|ai>ksSLq?*5X7D)Z(bN4IU zZ}ZdEsm1u_{maQ^JL0D@$*UYX*>h(hQ~c*h{f6ba-@lg~&yW9X9am?scqnr1>#Ch! zSEp}y9k}Lz_>DflH^2J+Z$6)sw{Id-e6rBF-2J9|f9yT@Blh8^-<*PS2g{dta!7%6W0 a%dfVhuWQ1`XVJh?n8DN4&t;ucLK6V@eL=MV literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6ee3b0303a784dce24a34f335f354897eefd213d GIT binary patch literal 1360 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 U=(?ikUw(_Gte_!Z1GNnQAJzV!z5oCK literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..44336d1083191e129e656e6e0e839daf5f0be871 GIT binary patch literal 7194 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..1da1b2b0fac69d398e253425daf24769cbc3301a GIT binary patch literal 7773 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc-p3_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bfd1ffeb2e93d324884ecccd66f7e1f0652b4b0d GIT binary patch literal 7367 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

ueCZ1h~F@n&LH2o8PicQ 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 a%dfVhuWQ1`XVJh?n8DN4&t;ucLK6V@eL=MV literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6ee3b0303a784dce24a34f335f354897eefd213d GIT binary patch literal 1360 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_input_mesh_square-disc_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..349e7f4f102ebdd7ea3ee7f8a8706bd7f3204fa9 GIT binary patch literal 7730 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_01.png new file mode 100644 index 0000000000000000000000000000000000000000..f263ddf5543db48552f18b1f1cc8e4012fdfaa28 GIT binary patch literal 996 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tKUo-U3d6?5KRJDAJt$iw1z zIpCjWu;CiH>k%=bET1zcY~Ee(@O-}DeV>K@w_`{ zjMw!Pl)vUoPkVOk?AMmKI!0Ono>Pgg&e IbxsLQ0PEK*!vFvP literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7d3a938016f888f65473bec4e481fcc3afd9d6a3 GIT binary patch literal 491 zcmeAS@N?(olHy`uVBq!ia0vp^DImW9S z6gMk$X@C9q{DhwLd4;A5M)t@1o31KnPO18xb}UF~3-|2nufHz;zU8L)54B@VJ*-cT zXe~YSdC#AmrE?-4Tg0uu{xn_t>5(cMxrhGlXF-C#mzSIg`^3mE!EGRxpmQLiVIxB_ zBS{Qlrl=iu&NzGC z^XH!>=ly+?dhhvmMchsRxoJnUx_i6&-Gj{U9x#@F;4WnU{~OJrXf7}R@Z`mZCDs)O zWNjYs)hWJvP(L55|6tlC2(M17p8msL$a3SaefhT^Tr}N0b=DN~RZ}jN#=bGVekSZx l=hvk*2bf{%F`WB>pXtN)^WJYPs)3Qn;OXk;vd$@?2>_kE)@%R( literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_02.png new file mode 100644 index 0000000000000000000000000000000000000000..bfed2b797f0365df04c145c26c692a0eadabeab7 GIT binary patch literal 935 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIlPZ!6KiaBqu9^^dYz{7Iz z>cc<5(~>RfrQWRKU~^o2^Dc8q-B*SmR)S7GEds)dM_f1zN0|c<4jWg?eK;~_rTU)J zbJnWwIs30LaK1p2Qp*euMK!06&QT_D;c)idHR%VJYX&OB%9vNZ=MI)+^5+F+Kn71& KKbLh*2~7Y~QVW#; literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3f1671e51103a8af3351ce45c9640f01444f1b51 GIT binary patch literal 458 zcmeAS@N?(olHy`uVBq!ia0vp^DIm}fpCeC<4kzt6O~ z9&vo%x0RV?Z_0F+Fa1_4d;E0ty#Er@rs&;eHv5paI`nj==k=viP7CkbObur>>`t0n zRCUEFuh4G$oN05`z0do{zC-n?s{U!6_tAnI;?&QdU8Z{b?bY;2so(hRvtAhkUNB2qT*d}C^V&Hf3u9L}(6&{s*^>UrGSP#73T44$rjF6*2UngG#Lv4Q{q literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_kulllite_03.png new file mode 100644 index 0000000000000000000000000000000000000000..061119ef498f4075aff8a08864e7c49e83c0775a GIT binary patch literal 1061 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIgo-U3d6?5KRJLskCDB*T- zzsmdnr%bzbjtENTwnp2|+w92^StGJ@WnA@pMl1cV3_sqwa2N_Y`LqZKD;^nT4n#P} zeQnUb7G-R_``*WiU*Aoh?X&mfnVFB5zx&(TnCH~dDUh_iM#lDgAbe_0)eQ>&;m* zTOet`JcDBKjm2^WCuhx^DZBp1g{tq*eysHSvOLDZ(;SplHg5gCQQZ0u*MP;tH}?5P W>hTZXU8w&N%RY?316*6b9Z;8)Oh6T!GkR>F$Lu&Sw20+ZXGR+8!RjhXE1CNdeEZA zZu3`0M#tjCXQxXhcHuMpDk`h<7WnQnIUD44WB*FtUyMA$$Av7W9oWdyr&^%Xn9M2T z{UCygMnVU7en`2fnHG0W znYpCBW-5E!0o~dSyzyUGmQI^i!G8V7PTw1Rx;3oj4~yKHW1X~Qr_FDfLxC9&=bM}RtZ!rfuW>xF%d`M@T(rGhVsg6a_PJMT{vV60LR$ZQ z+ay$$;2$4;>8;znY1`QEJHJoYUbU+HkJld??cdXS?d8|o3-KQle`r|Kmi}m;>$PhU zXLf3y(>+j~p~Qc#xA*SpP1?2Ln?!6?z4mUY-f%nn>%V_%|9ahM|6JgCCwvlDl%(>b zJ9bkF1S>bJxH@a`;;sAY|5dE{KOvr%6}Ka0ygvwAPgS@w;egE#U~*>gboFyt=akR{ E01X>Z2LJ#7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_label_6_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_label_6_04.png new file mode 100644 index 0000000000000000000000000000000000000000..8a2ae97a580985a105ead341a6a16b75696ee310 GIT binary patch literal 6189 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_label_8_11.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_label_8_11.png new file mode 100644 index 0000000000000000000000000000000000000000..8964410d9019a3fddd64f7e596572a598ae576f5 GIT binary patch literal 58824 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%0A&i-YZo&# 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_label_8_11_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_label_8_11_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0d2d4045838b05ac123a0ad0258e945e11fd02c4 GIT binary patch literal 12521 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 CdXu66 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1b7aae878a7f6d1c18d508a8300a221a172fd262 GIT binary patch literal 3394 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 WPCBW;e!TvTZs=(nYkkpljQ%g#FskSP literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_02.png new file mode 100644 index 0000000000000000000000000000000000000000..38b63f5139977c13dfd824f2aa37bc47aa7ce29b GIT binary patch literal 4571 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 C9TZvs literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_lata_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9e1e26597747dce6944d3711460bbe76100577dc GIT binary patch literal 9261 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%0DAo6+L+KE-M}4 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_legends_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_legends_07.png new file mode 100644 index 0000000000000000000000000000000000000000..f18750503acf576af3f658ad580a9ea99fc7a30e GIT binary patch literal 22961 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 U6_B`A4vHCowy;H3BW}e04+-}&MgRZ+ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_legends_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_legends_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cfa75bf78cb5af270ffcad90e5971306c1f6fdb5 GIT binary patch literal 5243 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_leos_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_leos_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4df8fc8149a1b13a33c21b680812b138bb19d933 GIT binary patch literal 2972 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 wUrW7$!$@Ucm^}YO*!q8o{=f0H0op7Cga7~l literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6e2fcd4cc477d856f18a0d84cb1d3473cb358b27 GIT binary patch literal 4278 zcmZ`-cQhN|*H*Mvi`rG2+AC_NM5XrL5}P1as*2Vss`g4zlnOPfMjAyedH|V+PDJUpz80c$TUPh1q8ZG6e zC&y4yQBW{HGtkzu4lUe5A^aVoVLj2SMM2xBy^R8YaG^(?3|B7xbc!j%9${lWOl|(j zpHn1Bdg{h!Uttluk1^UdHWxA8H>;}ILaIJl+n%)VOCqwLNYM|=0xUIci1c78Zx>@@ zJalPqdO#!K;*rZr1`2Tx6}V}5u(q}yu8_HX&`(xhRT~P!2!m;_Z$`t1oi$s@Vz*n@ z+pl52Vy~cO{V8e~tRgNb?rpL|s9m`;w)X1$>n`4-R~Me`f$jPDANem&ORDK4y(5R8$KNTRmT7GaL1Wu~B3kBeanMKXPU zx#9N%JLlnfLj$CIu{KaOukrNI- z?+v57!VET*{J!F;F+PI#f9GF;4#43Pcy2}f-V^(Fz6XCb-nibs-Hz`*pDji;pVh}x zv8IjRGOQFE4dyFSfGB`HdV39Q+~Q+s_-Xl8gCI}=Kkf#5{|3nP;x~G+`FjVXXb_>M z=?NeN+pT`e2`4-aTj&k!PT<01db_7*dB8X=w1x_5Tw({5LA&j2G8J*@T zqXi;mkvsdb<^%u!$nH09q#u)db?8YuXJ69;I=)Au!b>9B9`nMBtSjVWZ2*AEX z$&mel&>g(BZSb)VS0qMy)g1H7(}Dx`k|R@S-8_-|vi`mTNvyHGhKxl6%%Zk87oT#7 zBJYB}P0;@34m8eU?h%idbu}2Hlj>lr&xsF6m3pzvLtMe8>DZUDS!y#Ryk(?Iorm5B zkn}EA$KViA#IuC}5dLJQ{r8Ks`JM^!zd!?U;mgi7)zx>3mZjEOl2fuZ1HjJZAm?!* z-Vp&ApA>Po`p1Ep*pnH`EM(*%1JLwr&8gV!na@J@Q1sJtQJ*C%?z1ir zYtI@NDsx2pF^%+FmO5IU-;%C6jDN7#{v=&5jT?)zbW{STuM!&NBj=wpp)MTxn>WPJ zZ&U&t!?vqPNQEaaGf7DsmDKsnceDXQ30$>%+#*^+!cFLxDb6&xwY!g1kv~HdRo>n# z&}a4WNJ~kE>9RCcT(v8TSV!%gz3A(!ic*^}gA6$W=jqd_VA>rg+_G(=N!0G(G-M!m z6)r`eLwKFVHtuQYb56)3*ETj`QYTHRTNcMt?sT{;ioDAjJuOE=y0-CNB_NWt-Ze#i zeZjY!yF^gbJ5tNgr&I`&iogoRiR-g}eC+)E*Yw?ChS*j*o>1&nx!dy3N3(&BHxepM zcDHIc=R?A`^@}^lR3I*d;HW{x1U=di<23WPd-R-TAsC4&plh9;BiB|+xu&@O2(Qkt}~(Ey-_J@4hQ55TzB*P$R;TKE|9(^Q@|sR18DFGH(VRhTDC+tiwkL}z7l1}SzgH~FW_Yb&(X*~x*z!?(RPJIDAT zE-k@PV~UI!zt%r0YAvyuy0MEIRp6zygzl8G)Kw0&sRvY+Grp>N&}|gc+Q?%?!MX1n zcc2;{0@10)7K|>gC*8EQ&9j}2Fg5oxU>^cbDF!LcV7p-b*4)=%w-_)8DtjMw_ZtzGIIp5YVY0R7O z<-mT)Xvp!TGm-pN&x}N|aWs{c3gE5^GO_ujpjLrrvyvx*%311wx$OhQtGJ{M^CTk{ zN|2ED=OlqWKCwVN?-g{rZ(4WPjI+b~>gEtZ5ugvr6V6r z+WZo7eAPpmcIcO#;6rV(kAE0j4hi@G)^`--fihR+vJ%hVqN3@+%OK54X5M@%O7$zf zEj*7awj#kF^(vI)_P^v`yiV?qi0}&uiwrL1gh#~xy~uNh%sJjB6bk^xV#BSiLH7(S z-eu2fZ~5u9Qc_=zz?RP`kODwMpRjXdcab%)uuPR46)|;VlbenDqIY?6edv;} zq>pV1jrC|Jqav@i78$0G(pX=;& z1Te`jRuI^ZefuHjrzMBaKXS>v2o z&u;w?-A{1ves3s7iakE1v!^{3Ohjlr+6_g1JEGrMSPJ0h1vYtImu;&tlys8T;gxvV z%1|oV8I!30OOP14HL-KzzESw2ws2z=jvdRip?%QSza(9u1Png8#O@4FI=k`mX_lAX z+`NWK_!*iXFajP`1Ed-QDCLq2W0~3OMs{f3OM*^_(g$~HOSN50zwY}BYc9x7ye(bm zSV|24?*$BdJNio44-^^_kb9FJ(l1Xdn`!#=v_*Dv;>NP!tQG)%qy80p8z|^^*;MN9 zeiD7fuU*Cf91Dz5Eb-Oa-y7Y|Zs{3m>gTCqE#!6<<+eMa>Di%Ub0m0gp+L2Hjn}b7 zi5x*js)l+WQ4Z9#9jq>dHX55Zyv%u9zqi{VrmLrWDTC=Rx~wcw|Bfz<#oy67OT=)Q zy~5wf$#6iY%l4)E9K23pNbDZW_6u!pF#d<^Dg%_=L>Lp3Q=jo0etxq%n^;!X{7vhO za$}}Z^Q3F%!U#r{z*bLPGo7Py2gi~x$Qm|lrmgx`TrAHgYV!V%FjoudN1lRe*(~h$ zuk2uNNhB(%N%&3d`^$6is~&GN9c}yYyPBBrX$I|U6chGCbVVL;JM|kt({uE5_-njk zS@7aLY~^?*%nV{)2kIFo8Tti3Il9bJ#|URIsVcN%Xt1;$$k&UC@WuaZdLD(^9zaEr zyK3eiqG=M?4AN380yB(#%R8$xsw0$R?{nOVt$dwukBMe2Sx`l4n zHzwwKYNY)kt(X!Bau1Ja#z%kS?uyNyo=WB2x;e@QZ0i(HPd?}Xm)vCW&@yZ=@VttZ z?hg7nhMlsr50-j&u} zW*WpUPnPm;O#AVaR~7g@TkLbK?mB}v&22+?rQLE6F^o&{9A)}9#$AQb0yq5YA;+-r z;O#@$#Xc?oTOo=pR6ETWayjMbFi-ssuw0$J3w}X4yTa~KRAuWogz#klI7OsKF}U=? z!gM8-%2`-5>94=O{{v4aHFy`<1oPe3Cq!<-IR|I{96Lrv;c#A6TG9vKnBBkU2+~0p zxfl9hr2C%cGeX8>a8j8FoD#;9(!*eMx3p=YPy-2n1c3d z2v7cvXtIv&7VL4EwHO?-6o=gRj%_!xjvEU9SegMmoOK{e;)w;hDB&Eg2Q}U(A9{Q2 zG8BQww+-GiEBrTD)z=3CPON?-m=&M4qKa$f9HHfRyxSpjs|J+G0vz7oukf1FOPI%s z3s71Lv}dT-BtbFEb`7*%yzjc*uUD1ij2QaVPfV2#|5~k?alCB09q8E#)x}@T5H<@k z6dlab-%gNu%+=s}-ItlhU7wOzqC_lloWr0!0zXgW`-X@>i+)M@z;jXXK5N4%Arqg6 z!`|4h#Qnj1m*OJw8rt^R5r#ZVw68k-0_9;Kf9<{P#-RI_BS|abmF~TAu$0H}oD2}j zH4Tso9%WIm{O0Z-Reuep@1XbwtpagahO5A%VBt|1a{0tNQ0RxT^Bympw4-d;)vTCc z?^N_*yOB*;*J8A9+_7iDLmUTOo&)Z!1a*Nu%PF2MR8!I*?cYytr$jMM? z2J*+=w$|MDUc+=iUHjm7gb(T~azm~)*vjBnKxEyi{53d0qCzL=Mf$Z*dGNVQhU8hH zE=)^fS$zR{R9aa&a!K;Ip6g-O^_xG3l|F85QnT@DAfRg4YBaiGm8XTWU(w)`Hv*6A z9@-gD4}bj6s!^Z*37H)T+w9Sd*sH2__Cc$4i&i3;;k_)@4Xl!{bUa1DZ`eF>6H9g9 z=Y(d3W!q-gncAj${AJ)%rXxe|>Wx6D2n1Cpy z8Jpi0O_93s1wY$!RY&uaA7@f?$9u)gN8zp8Kkx3KK*tg9`N9vHTVGA`HJL|UbdSWJ z_A{8tDLea>xG&nz3DhcrmoF;rKcd#dLSB4=JecaNfCcD#@fCxf9*sV*I%c%;ia4sF z$IL@6doUuUVpn_dtIOfjn>Ria_LBl5`UW!Byem`_RsJR~lt6fZkb8R#G)R+-p(2fE zI{?oHIM#4_YG!5z|H;{@`N>w7T~s)H?+?E$ndH~H;1bnwxD=rA=*UXU z`hy1%q{;{;zs6_TyOmcvRoDpiKbd~`M36UZ8XQu3izH_^#3tQHJDkUxu>ZB0|3B#k zP5;*CNtFh2H6!VSkTn^NJ;H4fd_E%)m)rdRz-$sIt`B~IG>N==bon1aVW4BGjRCvH F{s)G?KU)9* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d08.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d08.png new file mode 100644 index 0000000000000000000000000000000000000000..cd0165bbe7bfac9a9e4cd8a5f589e65384c89fa7 GIT binary patch literal 16043 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 wUrW7$!$@Ucm^}YO*!q8o{=f0H0op7Cga7~l literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6e2fcd4cc477d856f18a0d84cb1d3473cb358b27 GIT binary patch literal 4278 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 F{s)G?KU)9* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d09.png new file mode 100644 index 0000000000000000000000000000000000000000..cd0165bbe7bfac9a9e4cd8a5f589e65384c89fa7 GIT binary patch literal 16043 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 wUrW7$!$@Ucm^}YO*!q8o{=f0H0op7Cga7~l literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6e2fcd4cc477d856f18a0d84cb1d3473cb358b27 GIT binary patch literal 4278 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 F{s)G?KU)9* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d10.png new file mode 100644 index 0000000000000000000000000000000000000000..c0c555e55f6a1c567789e2e249cac3b9e7f5d2e6 GIT binary patch literal 16063 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 HJotYA=P_q& literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d11.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d11.png new file mode 100644 index 0000000000000000000000000000000000000000..e333b05cd5a78822dcb387003efa54eec4879528 GIT binary patch literal 16155 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 e-gnhM+*vGKi literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d12_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_line3d12_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..25f7cd5efb572b44a9d48e4b6b3708838ae0cd81 GIT binary patch literal 4301 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_1.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a4bb2f6c74560448e02c8c2f2f97600c9be71ea9 GIT binary patch literal 1780 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_rj>o-U3d6?5L+yS~A3k0in#H|-!@Y#Pa(}$NX9EO5UJ}m;mibrrU zH=1`ANVI*_o^yJ(3&(R+r;bj6B&C)a9Exh_%=%ZN6`MXjUaa^2eB_?cmgEY%lV>|E zWLmMQUH(6L@BY)pWy||NJQB{DGv{z1Zga8QhD-FuZ8r;^=KtDl!4>B@)?Z)!U$t#B zkoC|7mj|(hz`rZnA1uPxKd_x+ap?5ZM^a*Y7~2=)3ngrZpjf!kyuUz#?K;P^2lp%w zz5e>@)d89N*6tk370^Qwr@!1?Ui_)*d-GShq|TQ8`#-@$2hn5V#!h9K|1AIS?mt@p z`eQWzzI3(ypA{RgF7?U36Ui%|d}6NYq1(%f_r}HV;{99m%zD0X#n)@^mATRjuW`6v z_RZb-zCOYE{;UtD52lnpnd!ULeudutdp{pkzq=Km=md=1A1f0j%F2Fj-@VT!D*D{R zdC|+t_vSUr9sg5(?fJip{*A{APfaYSXO7C-x>_?%T`u~_m*a(MzmxBt^GiHkZvWfr zwstP>QNFPLBos~GUJ6<*?7ZXd{-Q;#@4;f_7G(iwo_Yh!Y3&C49ADK+)y?Pl&wc*BmIsbp zq4Y<7x%j8wEksY-iQul1Up|*1iu{zyGVS^x|grm}}d9KjkT(_q!-J zUAS&%#{2xcCq;Mce_plsp4pnrncLsDCrZ4Ry_*~G_-qx&wd9&n#&zkMHEns;2L>T+D ztL}c!>u=tOm@b?r+o~tOL1w~o{tAU>PlIRtvxvQVQ{S=ud%=ng&r92b9&cQI-`?%e zvAOOgHB6xLDgJ|<_4;R~Cu8?iJTC2N`EI20Nl9r>cd&MaEJ*tP;{{Wef37>cy;tzp z)sG@>hw?xFn(*96$nM;P6TuRk^64H=G+lnM+*|ul-Q`E{Mc)tznxzf zdNTZhsLKx-e)(B`=Zod@Z|)2^;wK#)eAdrv&bbuJldtw#8%OS~wQ65mtWbWf%<}wN z*0W+CbxupZTXXDu=ZBMF+n40e{A#oJ$I;Z^z6-7%^>u%F^N!x+-U=JeAKPwiE^Z1x ze<4;kYtHS8)48l^zIkumr&%wayL{W{8T#d((Z9Fe+-vQ_`mbd2_4}V*W_oV;{P%OUKO5Amx6HVXw;CW=z>%-uP5k{*&3Xggiig13jKR~@&t;uc GLK6U`g9xqw literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_10.png new file mode 100644 index 0000000000000000000000000000000000000000..4219b2a93c372401b8e78e1a5903ca9da6f3883c GIT binary patch literal 2474 zcmc(hXH?T!9){78A;D3jC`u=wzz_s<=p~s6A_j;QhZaI{04br@03nRyUl9?)*^Hnd zAVe&*ASECoVL^ftiZp3L41}hJP$UonWYOK(o=#l&`LeO{p5I}^T=jEa~TI0AL%r=Rh6x#OrTO8stedtt$-C~NA# zqvKA|S>SijXr6M0T(41Q^`3K!+X6xSE@P1mRqWGw5Y+ZB5jML;Bqh&Zh9GbM&rA#n zw+xz^B#`(E2m~Uu=q(ru=t6){GnMgXsu9-7aL1j9*VJb}H8}0ukK)dfEL?6R9z=qq{+yN> z8Qz!)G&pyu>45T=Bh>&qU7BTz1j_&oV}|u?W^>v3x&6p>jj2V}QUE%B_yIweHK%@p z`4TN@r{KWLRtXN0+Wo<2Nr68fp9eUPXo~ z6?7vk-GaGGE(Lzr4x(=73Al&i zv~WHL{k4*=%mgIHwg*~?*HV#V4yN4v)_}gv{2t$B;VKgsu5b>N8$IIOXK(SCSho_Y zWDO!kFYPz)Q3fRTZg&ua{UYo#GCcjK2t&N5XTzTXiz-Kz!YR-kii-xxe>BV&39_pb za!%*HmN#!M*Q~p+W@dZ^vfY9Iae08-^x)aby^qS6r`Ct$)B#hp$#~B*QANxvk*3^A zi(Iv=`uCK2hseZ2{VQN;R-Ub^h*eKqZ$X3D#MSZB1{;oOMlS*T;w(Lr+E7TuRb5Mi zHO3Z2J}DSy$S0@*r3RR2AuYcR|DDc)T$3)9^#I-q!F6vOsUEyF0IaPt(_?%H?@&SSFM{t%wFrYE ze75SlPZA$hgD<)kq^M}jpCaGKyen1%jP%*3YBWdCpab4|C+Se&0_#m6+Skr9$sbvN zFBLnOINTnuC~-;oOOE7xcnk3#rD!iE##O;=Fa10c)lI5F1rRN*Z?|i&#abZii{JXX zlUQ@7lsKp4Zws1ll^f^&mqfkknF zOBhkFfxQe_J=BuD9^s;JHB+HRS^G5)&K7RPid9})&nxeTG<;BA>kS04;XtM)hBtc< z>3qw|uV$iWYEDCx6YWH9V1l5@V9ztWE(f9Uix>~74fgE*1S%N%PsNmdNJ8>^ONFjM zNIr!A&5i;70usjSC9ZvFHg30~r}x_VPRTc9t6iX_U5q7HHDlQNLC9E5DyY$wE&ogVcRF$(>iKe?PC_|#9W<72n!M%> zRHig6D}LN4dCTYWlVSex>07%DVh`dpJKNlnx~@@ zGc*ta^1+mZ5yLvlr5IXd_G&3u-|9cyYuvT~$0{5`X3X+Oz5ZNciQ6v|%#T%fi0Dnh zY57Vm**thiq(DYZ@dy&p@I9FcWbC0bD9H6?N^W(mxFoq&BL; z=6ql^t>bMeLqNvM+DCQNk8CI)+_7)sG8|ey7mldBuf~zyxXHT5g)G3g-Hh4x!R6sy zwgw$Wc+;U-(fvV4w~oFkG1)JYq1c+{k-|KxPBOF(HS=)C3O4xa827=Pn0%dt9Q#z%+)qQ%Zm(zw~*Tyj)uIwdJ(T-7(W!O1__)MC1-B4TY z$yv9G#Zi%eNb244!JI|s1;Pk#1B>#uCPUwbp4nGkhU(G{n>yLFULyC9K0NyN`lKr{ zWM=h9?=Mo(5j65qL)i&!bmkyoFK6+=&lVxoRq+B$U`%${IMuo(m+pY;^*$;EYO5Y=D$KB zapro~SO2(<9E6)4B0piq9(~S6QJVfo*Y;hLD4@o9U;9?C24*A^=wSh3>k1hvd!bwb zzM`m{EW-x}+D=cSa<8*~-0AYD-%|og!5BxW4)g5{E56I|6FpA7L?#5Mlz)rv|F+>LBg@jsRc#oP Roj;fu%JTe~3Z(aM{{S1Tf(ZZs literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5d40efa060127f3c1e31f8ab171bbe4358388da5 GIT binary patch literal 3361 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_16.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_16.png new file mode 100644 index 0000000000000000000000000000000000000000..4f0e4379d1fab95aaa2bfae1cac967ff71eb5cb8 GIT binary patch literal 1899 zcmbtVeLT~79A9;@^0<@oxY;!17M`_KFJ`F@_>pU?Xfz1x|nwp?#H1OicW zbRg`7Ko+f=ebB`-$QVKw1%W7UbR=wZ4dwN>wZx@5K(_C>`eu6i@aytrruuQQG4PG< zy*EF!*_QpWu4E7=09I&Gg0l8+u z7tjsCX;3g}uBVfg(6&xddaDKAO{FlYWjoZ(cy8aPcDy-`ToqUk^)i2D8=!|IM=ivT zC-F^kZs8eE;)MLt1o^i%W58x19%ngQRx0Kj!QLbI;{q5+U$HRjad83@xd;w{bicf-Uz6}s8G-rm`}mN1dQ z&=Nd!RVPmsVk-K7(vL?|BG`*C{9Cr*U>JWWKf@QrZW_MRZNsUz`sG*^t)}NlKC3QI zuaVZlFl~8Yj<|Lno2(dVXGmW1QzxxDB_zA$twusa(XQjoJ1Cw~M)PrdwHvo?ZuCwMPnFu*B-9xf5k7tS{JI z&LV`WuUZqD{ApOgr#wEmAGJBYepB(bkKx`qqPM27^-z`3a`wJZ=XeHCvFD>0On6DR zR#?CyE?GaL1OK=YddsUXs-ga}6{t4-D-UvJ@y1`BfGvL}AgQx?{AHz_UZcvngo-Rb z!Jlr_nh_IU1MZNCP}Pidb+!VX*Vk9TOtGtFNc=f1@Ee=eC7WQc%{82E8o8_+#%5_y z3NVFbMk$)$S=xYxC?+#)m&UGPcl|?(!jn!WO*bdO z$>Y5_X2sb}7>@vsWPRciCR2qvtf+hM_i&|T>1xDXXB&Nr`-$%qxG?=e8Es$$E+|tJ zJ+_V=un3A>o0pMd)m`HegZ5{u8D2?_TC^t+RxiICLWJ%FPYn-<%0HH*xIBV>R zGN5yz2JCpyC&dqr@x1khCkc(w?lCFKg?5U!=N%*)8sJ{iJFa4XmQVF_OtnD#kbE{z z+kFa~O!r-uUzl)vE!A4t4bgV3LOx#NDrz~K0aC3|hKd2poYo{!;1OoLYkRddF4y3Y zeK(Ca6cRG3lqFlt4Z4!}s-lcJ2H^BnE|f9js6||csHGq*lh^-bCkNfd7!UOmAI3`@ zU%uaZnd(}SLhW?qY6V;<6Y=F1ndLNQ!3O%2{QhK+e^^HN3rofQct)m-lf^!Y$+x1i zUNCeywf*-RJ>PPs8|ty?O77~!`M2ha>OW6q|CjYUmA+MP(zTIKD`t);#BsYbAshew GnZE(ejWh!Q literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_16_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_16_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..db6b974b9d2102aaedd9d647cefe9a4e1b1ebe20 GIT binary patch literal 2010 zcmV<02POE4P)(;- z!{LZVqW}Zy4ZvT+ZnrzY>kxotEiEnm`0)d5O#J{@md$2!I-Ou+>Id-4%I$W0Q0G11 zWhIlzL0t|6FN^2-L0y;!FAKx4QmI5y6!6HJ174QT=X1GSBuN5~tT~G88)6tXkl#c_ zWU(w;EEWfElBkHRSS+@+wKaH?L`7tcj*iaG&UU+9C4y^+Qnd~&%bLw*g@S8^QnEZA zPb!sCD7aQAC2M|u9>Xw&f@_6QawG!`PC~NR$)C$Vtc^-xb>T9mx!#JJJ zgM)*5y{=pnDx;t*9LE!hM6=nXY5Ly=s5DLgdO}J<5CrKY(4QY^3xN8pzp%Ep20;+Z zvZ5$D91f4i6OYGVym&#=wAbr(yWM+xdtR^i)~#DMn{8)jXL@?t?RGbt&F$@N1VPH> zve)bN`Ftpfx?CU;B-1oCQ~#T4TVCFA3t7MS@C#03O$ap zYXcWAUVQWB&En!BhGDf@?dQ**2!h1pagO6q6wPEZH*Va(FwE=qS}d0H=g;#zKQc1n za=8+T1k18hQ&TVuTdmgN;bDeh91cglUS}A_WHNO+op3me<2cXr@87>)TwFv^bYWou zMN#D*N7*+Ef}o9!jj5?AX=lIN?OLtY(~nq|MG!=8Kv5KVo)<;&G?X9+>hvUvx6$cz zPR}0xY6^m&9!x=~mQ1jTg9F zE*A;~6&g|+HDoO>FMs*+MTLfxMh#hBuea4|4ZxDT8nS#oU%6Z!fF*e~WZ7)C>FMbK zsLfSrgd&RK08~(_BulEGBnU#C<`hCDSq_II5{aDkJ$>~S=c3W*Ss%))Co3Ed4-XHk z)|?Wky6oF(wf6V-)oc+gs>(_xlet{(?DmPO${HFPB1y7VtEt&2Kvb0_jZW9r)^z)K zVt+^Nt*Wb6uL^?D+h37sj@q(N6pcostE;Ojw+jRfHbE1KM7!NSiw7~Z*)hI$?b^F{ z?=)$;AGDD*IXOuXL?)Bbr1hTBMizn~_wL=>+}!;B{ktX!^oC}I8^K`k=FOYWpFd|= zR;wK3qGgp!C={BTn|t-@m4-RULh&8xzr*wVqeqYYe*ehGNFWf9&i#yyjn(V*Y&I(h zLMRm4-`~e^d}d~*SS(7TS-ahiAP7m49*?I~D!E*)NF>r~wNMmwI2;s3kt8WqSJdlu ztJUguyNkslf*@9_6-800DximKHLjmBo6Qd&KCIX4&z?Oil}e39Bb`n|5R^`*E0szv zmrJEmjYgwVskB-x=~Pg&*$f7QPN!2U3@Mk()oPU_$#%Pae0*G~RO2z=$m#zzf@cHxS zcswpQAkXvpe4eK1@$qpKMJtsGP1E6UxX(OwAxq-JhYy>Zo8#l-*RNmitqekGbR-Lc zAc~^a*VkLE*22QV*w~oX>HLnqWJ!=DnM$Rq)oMH*k3=Fam&@n#Ngw6&d4^#^p%8{) zU%!6M<#MrDjHYQAhIe*$W@cuh(dh2(E)2t^QpxRhheDxlw>vpGd3bm@F)@)&r#&9e zg$oxbiaI(vvRbVaMFoRFf*@cR9vT|rIPSD(n4O*dEipaHlBiaz&1N%~%Vo1!9LEs^ zak*TDLgD1(1VvF%6x;3g_V)JW%a>soCJ2Hch~?$wU@%Bgl=OzS+wJ@J?-K-(%jM?g z<|>s+CX<<%n7DoW_RE(qrOHB%<7Q@Nj*pLbcXuB=cmTt2rBcB#?BwL+&Ye3_H*%Vi zer5dzMN!hij@fJ$MNt$*sVGpYRux6jY&P>eF9?F)@0Wh^IF2)!OdQ8?9A~%N1wlAH z1<5ds*=&|7SEU;*7K_DVk#3PL{+Yv>k);O)s!m;L3|TTTWXZsgB?Cj23=CN^Fl5QV skR<~{mJAG8GB9Mxz>p;aLzWEw0TT~ZKXNTP?EnA(07*qoM6N<$f~8BmcmMzZ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7478a86d43f456bfe7eb901c2e5799a97ab47588 GIT binary patch literal 1847 zcmZ`)X*e6`7EUA8RD(>bnn4MZYOZ2}jE1Uxi?Qz+*Af$ZB}JtumC1}Krs<_aP=pxf zqJpSeVr{Obgc{OVs6TT=ID6>Ztpd0`oFU8v1_@Ec@n*SZOA5Wy=n>$SZy z=1-Wi#g6)J{MM;rn8(MF#gnk_2zf^Gzaq>PUxRXgd_Oo5AIxowJJ3MmMvgXy7P`3J zj+suVCv9SBjb!d%B^J*^!5Is3W@{k&X}12U4vzkxP5Qx87qAn_=bcTJ{s_fcj4g0) z-djzD&tNnF0Y%8%_l4WD+R%S3Z)|Dt_qHybqT&7gBofIzUV39FZjN}l(4{AByZ-Nn za@c1>l^N2$+87@npSRn`5!x4pP5K}kUq1&Zh=zxsG%LByT^b%%;Gy{Ve(FBM!Ry6L zYt%hEtzY&TS#W;zz>Qx^Ut0ZD)#5ORa!CN}C!Eio)hSlh%T2s~9f0`l{;_W^oV6h+Qtm#DUB{ViRVhcceXIF)chiN^x z5BHNj>oCk-f;RXy*^Uvq{1?g>$RM;TVDgDe4X3^RgkGu1F}Ect?8-e zK|wjJz^17NQT<+M4>)^}sXWxhwo3hk$an6}IM{i5SDgyKMk0B*yBiu9l$#~#-X9{g z&Un{7>gmalybrd4e%k9s=GOVj#&VF}d*-4$`oXCCAHvu+y~5$?=|BrjW^r+fjE(l$ zxmT~sn9POg={x*oj=m7x)7_oEGF+IIb)0gyUEwqTEIpU?Cb82K`McQMO(^3&CgyJ? zt}LWW0Rf{C5)x7yv;U&bXCo#3=FM{siJ4 z7IL94^8`%j1*jO%B3^D$@8`(h%KA53(LlB#fL$V{|3E-dH#Iiqa5zBI+9ZH}9GP6i zLN*(f%k3I2lkLud6C-d>)@iDMh2~?H@yEZ7qj&@j2-FsZ{vSE=DF*R^ur;Fe&`>U& z0uCukrA%Mx`x?4DPxacUWkJ;fzkLKkzP9qz<>(UQ)MtgTNwbUbmx#alx`1PaS!q$M~ zt)#vD`ufPP9JzDS2%Pr^9+SZ$_mvDkbtoHKJp-!pM55L1ibSH$&Q8bbjTHf7ww)B! zI%8V}1%uFTK7M{GgGsB;w``4|CVOKNy}66?L)PeM+26g(I+CNvre>1CE!fgO`@o?X9#P*^?cOOp1=agTQVM z1q4qW-nQbQn3fqXHQpS3aTifl$x$cY8V=2|A6_vY+iVFO5pU~&!@DYxxvYO$!z+<4 zXtkP{uJP#NCfdR0Jre)##}>sxc)#$L{2LmdQUVKpch%k8dM8|3T8c&wCuj&bOV@WdmiZXE3B=^;)gIYV__QMU zo?&>GPM7hOzq)tB{Hmp;bZy3jhr-aSkqZ2c@D_}jnVFH%#u6`^*v{?fNI8-omY1Km zfrhsP8Zv&wJ@#)Xx5|``S38xsMv_RR$Vf*O2apYfSIlJgU0-@qHMFlaQhw6pC#EC` z?Z!i0i;i}lO2!o#LF~MIr;-a0UMgAm4*v!`>?sOD!@pJi#s(T`t--%iu0(}{sm=xV z!bkk&{D>J81XnbQrPao0-s6`IsL_66MK_38F+UU_Xn0@0EPUY9wp}lWZvNi(CGdZ) d`TtLj03F3jy1GTyBH4!sz&g0wvu(qu{{{9JgvtN_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_4.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_4.png new file mode 100644 index 0000000000000000000000000000000000000000..86ffaa65cef4fb6a70c5035b319464b00d6f0aff GIT binary patch literal 1705 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_rhQPZ!6KiaBrZ-k!85jKLw$ z^X&isn<_UrNgUXHSGr(r`;L*S zcNP3NU$MQ`_CtsLSMDDM%iT9wx8D*vB!^Q6*vN09f`0yM8`fIZwH!9E*xICPUDvXq zkiGvxoW||)Et9L3r&TYUuJCr&CR6vmf~=hLib~PNAMOU;uoHChX%P@sJmSJ(h>Q6~ zTDjz;q}kKgN;dP)pHoi>-lykuLkgjK<71bMD~)rlPN?$7o|y30>fAJeGA}}gV%WOR z-08l@LARRBmVFbO-u}46k!X#_O&Hpd)b6u&61P+NepPVS2gT?QR|OA=b)W_OjrqS= zznpvi*&;6g#)SLn-W67oTh&$Z#0qk>{prqT{QTSHhkd%}BmtCwE2}^0tjzW1?mK0h zoe>(=>E$AX;~UvzaN0N|3iSVdl|z=m(9p*pF<1lPo>5%pvsUkOYwS|YE>6v{nCn;n zN_<1+W( zEN=gPn(%Io%zxUo8dU)ua2EHT(arvB6C8uBQ+;+A5;R=_E<8NesewbPiV%--Y zBy+e=+2*F@6M;R3%vh7mu4k;~4b zMd0@Lr@B#(zz>b`w?OzwZ^$~Q)bdUs!Y`?RgTAnn^;>s`K& zubZ7MYkqoMOYmREaytiO>rJ&?=E?jHE%CmGqZJO_-*zWh_Wl*wbPL^25pyf5+uZZw zqYvF({kV(7y$r@2AzIksp2oH^Tk`nPk3@BiFg@H^uBt;pnl{hv=e<-gzB+)=PNFNZ%} zx%YHw`B&%S$Nlf_)n=*g`=<9=`SCP!JFSxP3q_?T%j@Uv-hTgQcR|%x|EV0?^M2e; zee{a6ceQbkUhp#hm~{o44<2*R+Vjn&zv9W2v$vh~Hw!1p)u@`+t-tA6(EnGCU-v)T z`@XzeML7lAn$A6&;~Ocqbyw2aN&7ZxR;OIu^Y`7mSN_X4@^)Xou$FN-9}H*elh6a_r; z#Ia=PaPHhWhGBq5o;a4YS#Dj4x1>nSYW^=im`|d=mZWaiF+_&56 z!j{E4ER=;HU>>A!4pzxhRds7?%c9_u!mO;{4G}J1zT9fHOa^xvW@S+nC5qy&*D(wW zhr=d=I}Nk4oANV z0ORqP=XvYm+mD5^=H})$Ha4t_Z$B2wI&GI{LNFMVWf?`$X0w^eWO}_GhG7iDBoc{mIJ~#FM-T+VFp8qY zVlij-4A#nOwOU(STRhKy`0yc@%V8KcH8r)qzJBxO&1$vEvh0x~M?#@csZ`qA+v7Oy z)2C0hTJ7%LyUAqIx{UoX7RrjpS{b5H}1-AC+48t7i(Wxm}Fbo@d%65K!zEY`} zNpZ56>J6*a>WddIu3Wj2NF*4BnVFdp1Yu`qCmas5EW5C-q~Ns^{%`cEB2Q8Y~x1VR7v-Me@9 z?%mtj*|~G)&R{SQMX}LnP!x4AaC;kd_I**b-UfyuU|Kt%|s#*i9|?}ESJj&f-EjB27^KUu&G2M zfud+U9>;M!l}ag!l1il}wW~ORn)MSDMKKKX@ZrN-w{B&#+3|RcVVEe2BuNg3Lj*yp z)oM5#E|<&t&8Qz5QLopJ9XqBdiY&{uTJ7xFvw|Sh>-Bs-uW4GR)1fFTpU=ZEtZ7;( z6dH|248u%MPk;ONEtyOXhr@6oX^Nt#sw#@&!Ks)a2t3b6B9VhxoxCiaMx*ig z@niiY-E=yg&1Q$gVZYy>ot>@KYR8Ws-`(B4e*Jo@)lw9NAc#(76Oh^NOPQd_D+*WLd^>T(2o8ifWpMAc($wsc(Qwl7ylt%d+~FU@)j@ z8j7O7W`^UqgQk2=ljU#@)i7t$c(M%O$ufW^%K)A%19-9w;K?$8C(8hyECYD54B*K! gfG5iUo-70W16~ZuG+4p5wEzGB07*qoM6N<$f^`3TqW}N^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_7.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_7.png new file mode 100644 index 0000000000000000000000000000000000000000..0e960ff90da588e557b816974bc911192768ebc0 GIT binary patch literal 1482 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_suNo-U3d6?5L+yqDX(=ed<7!lw;PK&&N~JHoA~IJz!PIq6rIyD+ zWVjByPjW17eqUj;Z^p}%@7==Iw>@6Go@p^>vnxltGNDk%@BSN^$}(*a3(fLwY%X?t zVRJ|3gr#x|vmj~i_LEy^e0D>9df$baX%;QU?i}q3#JOsE#|8K5o0~tozgWEY&7Ggh zEprLRr}VndoXy9V&sxnDA z>BW*julHWqBU$!nk>D)z!*wwxPB-{b%zN`nuxk5+J4=A;gv_mhx_fnAOCc`wC&;fJ^MdC z{n@{L|MMfYG4tXRg`QWW+l5)gbGoY^@>MJKoz^crx5sa?-#w!;Nd|wn7JpmoZ@(qh zKWkqs&wYIH(^D6pZ9aVW;6vt{afej&;8xjpWi4XrSjXy z9xkuzUvKCC^LzH}#H8Oc7r)-Wuy~PY#q0l>n?C8j&*EGBbKPXgvcs3&>^z#gHb3L{ zxt?%~doNOiKZmZhaXV99QFHdF<*$C{+3|ITF)j8bP0l+XkK;n!DU literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_7_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_0_7_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..98dc1594876b26e5588247ddd38610120be18088 GIT binary patch literal 1327 zcmaKseNfT|7{}2-QSl__e8~>6F(dm$mZXXJg5nD%Bt|7^zBDMce3^AqQiJfNzHR;DI16HIeto{?wH;~aU+Ig=868E$v`b9bNT{qDKv?z#K&q9|e3mRl@A zAdodFoEUA4j17aD8vQ!QbQ1^!){%$=TFwpa4f4Uij=?!8R^hvlP_M@vh-**~muDvH zdrS?ETR6Moyapcs1Lk|YDm;>QB~)xhhHj&F{}NrFcKczz13A6RJA0bcbic!IgpYQb z#Xpi|4%ZhpreKCXBiXo%Q($2cNLa*irAvXk63c7+r9G&*m6fi^^x%dQ`LMz2NVhL? zJqAn&R4?r8g&<7C((qpiPfFhcWiz*eIjLe32)eIp&^7sQ$m ztrsv|IYtZs_zI>&rS+;IR~Uy>y0f#hjg1YmCB{W8?VD~JpM#M4^&kALOw6yHnn|QX z{{{3ii;`g3HhiIHzQPG4me!3XcdE4KaL9?6tzv1Oe}Y%dO-j>7#ZkR>ZH)V(gj)bs zCjSAVS2z09^UPyVA=JtAaSJk@b1%=I&0=W^-4KEHG7rtUcNVQXB3r3;5L8+J_r#=P zQ$-NyUm}GnZLuYjp2%pCoX^d*vX#qwUmibA+DrVCWMoFLDg&d+W3>g!`;OY1KDy;+Do__r zeB(iV zjPRLDiAh32=Ebny7qN|hO8Nc2W$p*toQ8a0wn%V}urm__GKF*@-nt98H6j{hoblP8 z647}xqCu{fu0A<*h|xc@z}UNkU+46k4R7xrD3VRj%zP){uG^g~ol`F^mz0zoxjUAO z1rwlV1rK6|=06Ki6X~5J!^2+Q-VnlTtoGwaNfi1u_W1pA2;t@IBA7rFQw6r3TwZ&r zN~JP4H;2i7_ig4Pu{Ez4dwm>XXugEz-g@LN&E3!6UuRgQGzms#cV3gffB)XNibZ$2 z=+WVd!{H=jslL9xfWj8+O0t!CAj-q2KaM67uhvh^i%^5wAFQ~6%7+q(UC1alEj}XD z3J4A}>`b%r3jf$+FzYifSH z>02=2a{r0#+qV}5O{>*Kv#jy~&wv0I9&t-)C>|j~X_l8+OlHH>d^=!RTSGv>UGcj^ zsGgpl7|{Wt`dI7Rxh0`UM7sJ0y9*A5nH7vC+wq9Fo5Ov5eFFnw9*%Dg6xN|75{jE3 z3jJwcTG`CWQ>T`y*awAWXuk0jDPVIcn5=|yp+!L`Qr6b&vuD5J5p!zGL&XxwixUr0 zJE{j6wY9ayvZQU56)4hG6c<_j%1t57&dz@N^l8C!q$A9DLLd^(BSyE-wpHFv(d+f+ zGcq#ph>Wx}&3XaNeMzU&EiY@9&NJ!pv9Z2*{3pZeohYT($-R%^uA8TmCT8mh0Ar#>qdzoEAfbt?5wpt^q$Qs1g6U5AE_~_ c&HvErGBk%wt{*u(ViZCUDTG4&DJYTqHyr3^A^-pY literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_1.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5bb027d709824f2dbc123e53a62afea4c24c2e1e GIT binary patch literal 1823 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_rigo-U3d6?5L+y2;RQ4G27k3urFCw?(50WJ8#RK#FsuOdMBnB(?{6F zIP4%z_^uhy+nTC-#WuX1C)oGcqA$5hH(`3U8;7_Ome6{0OYqv|q=Dxpq z!qiH;3a9gL7TxN+AIV$yY?a_Xv$@~S%-ChPRejCYso$b+znOFRPMPJ--FQ04DQ*S(;B)H8z zX|r>TecxC2_|3xYwa!Q0Tzux$Rr+sf>-XgMezUW87d?0-^L_G;&;O5{-?sVY;XsRX zs_uuJzwW<#a3SH?ee+DP>c7SF^5-0}Vr||#idzaeF_IC1(BI(h@?vtD#pd7cAZq7t zcMf%REa6NjvBGTG@M%sz^BQ^EUvrk9QMJiX`NFtl&gEvMmSQ2C=^Utaoa~~R5RQ9fTv}f%q5qn;y9(d;bpdYvJ;cu58_WAlMPH<76Jr;+v zm()z=SiZ;Y)O3*dcRb8)U#8u^DV=rNvr6CpCxU0ho;as!y(eDrkm>sGp*@dx)Jt0> zW&i&B@M9tS4Zgee{w>+B#IEIKc_%-9cBCvIN@~G9soZJr?&;Umnudw(+hq6k_3rZ% zIR)Qss`tKSX_Rwr+wx;|iocI9Jvk>|wsilyY@RnDD4RH~VM-Q%Z@pwo@{U$|mseE`9X7LDPpt zdkj8TeocOOe^<_p=$Ca1Ki`kxcx&-d)S`)lKk$Fg#+gZfRsL8_yS96a>UQ%q@k@1Y zr(e)tzBj-A`^}^8DtFXzzMg(IqN?xj=h(=N@^6m*GQDa4H+}P3frpK1n(t(!Z|`^Z z%i}-2KX;q=yZ3SHH(Bhwll1ewkm2v`k8c{?R=v`$Q6Ha~toibna#s2~eJRtK_tdQ- zbN&~+etGVlwc7u}$?doQY<%;i{Lo?DT>s7gcdgWkaelT|d*-@38~=V=Tl#wXW|Qc> zchB$tw^>RoYVGbxbsO+!pd0wt}7@DneP*+RUC28^4&v! u5rJpr$ia+WPr#!PImU1#a`J@#Grd_5)_0=%p#`wwWAJqKb6Mw<&;$T@Wfj-} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_10.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae61c751915e0834b59ced19d42d79cb612d989 GIT binary patch literal 2531 zcmcImc}&yU7Df>)C_~-Z3a_&H#3Cv+KoPYfyU31E*+gKVA|23HrBt2y32|v*P+L?= z5tOB@vQr9`GO`r`(Ehdo1C0`bI!TR{l4$sb#k;; zQdCovk&#idwXt-Ok=bzI>jG_D%gkx1?v;^IpxauWbi0-;txOWZppjRVLz_-nB5(t_nT5opjx>dCU3HqPFo;gNq8}~D`0YM%90h6q8 z#rDJ0(IL&ZvhTP1QYA`f|Ka3%g_g?ny2$>}g8=5@P?sFv`RgF>A=U5(qGzfu6ESmt zeXuBp?()d|mqLjB5o4cwV65nIH7-ivG;Map8tPzwO-FlWGF8|7oDN}3V;Ejm^l~FQ z$U)}-puO**-_+ap!{U=yakNCET}j9CYw$vrKwP>p-g}yCa6Xz-eCB{wfqRCtzc79_ zoRMxj@Tq2HY3YEc)LVkL;Dm6@TI?)VAR;dd>5VWiVOL`0LeFq%GX+fu&tIg626*|; z$#a^SDc;ep+&r3-T(<_hl&KV40tDIMSm|)9fnJzvrum8(S3(^(kFei3-5|F$v{tqyP4_%Mo_?r|BkaT-B8yk z(WHUd2Hxtm17dcaL0$Pc$(M3es8<5e7VEP^ic8(wECW@%*|N#t2jfiZdTju#_Z8)V z%(1YoEqxqk)-kga#}dFrO+9abE*={j>TBIx)t zlc3=(lr1^GN9?H>JDZBEa5ar`s$`lq)uPJ@Xyu&N)RI?r@k4}Ot_ghf_O+$n?PdCo z+49%sD)8EEZ*pw~xZgyMCsRm~fmz()+J2Hu!psgz9pR{kR{Y~V9 zY}D-1u$_1W7MF>=^_`cJ1KC@~(Q!4Ssh8t{>HQjZeDc&jKmqy<0S}-`zFS)^s>BAQ z=>kSDXhVBd{~3@cEP_(6Hh*~$nEK?`c3g9AzoQPYn$^#7vc6x?0SPz7nC&^2uG{w_ z`J)_37ZAOJ3owlIh;|jRlJ~kCuoX8GlA8_Zd#j_uC6^&uc{(8oqH%$H6%)Cksi^lMxGIgeI$qvh; z*VC|H;u8Kfzlmo9YHGJ}1QKM37j3`m(WQ|Ah02|EM(7eCxxwFon}kAgv6df1-lLSBJW=@4@8F#2R`NBNU|d zwzsGD$&%%UKS{7o2*|4CAo4~38CE;l-sQ2vgb5JelWF4@?D|v=z5T^HZ(?xPxQcLE z9Eafp(!w2E94neqLFPwbpV$}b>0=xkPxC`+?rlTF1lnx%RnK|{Nqy&wVNMg+bgC|8CM8%krf1KjrFo8B;<4fZ!v1}VeB=#HP4z@bs z7ZQEZ`3H0JBQ`jq7za`jPF=I+e$Y^dy|qFF*w`?o5`Gw35ll& z{N$P`6i!zPY_*E1-Q8nPSXPZHdlw`}erDKqDZjJqe2CYem{*S)HLflL9va~9_$_3P z2rCm`KQcUZ4x2``ql-Cp zEjg}pjI-UHq|6CHgm~FA_Qf(8G4bp%pJP3nclAq#S_U;*T9p)I+B$cer&ZWzxA4Z; zzxV6d2RQK^>}YjkU_y_ALAr%B*Rlk z#cpF!)JuUF>Ics5Kzs&HA;5az{w3p<5c=N)_^)ET9^*`LkDh&+d2|_iQG=S&0R#Hp zL|$gPoe2gKP)YpS6_;uc*&|=IKLgSH(U3cvyB%4NqaI4yzwXN4jMxgh?EEC|wyHdK zW+v$_IpNt23)-Gg{W}Q=#)pxx^*-{!A6H$9)xs183mR{ykrPl=Y?*9uq@QrjwcB>| zSn-{+l6>y2y8rit-!oDAG|p%VT+*;GhCwU*@z-cM1jUccex4}>rn8kBB1?ewNVZNd z5|k7CtF%KD$4Fndt?Af^7Jn#E$Tj}uH2hvwU8ui&{}BPE5~Br!0#sbo=~O%WzxdSm imVYPh|2w}byIJ}=1F|*KZte3XV|&`sG9T&x^M3#jxT(DW literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..10f062ef1a7b563f792136231efcc94dfba19c17 GIT binary patch literal 3619 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 TTfXbS=1%}=>0nW3=1u$$Ntg4$ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_13.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_13.png new file mode 100644 index 0000000000000000000000000000000000000000..827f4becb4e4b3bafc7b5262196b561535aa38c8 GIT binary patch literal 1479 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_stXPZ!6KiaBrZ-VR#r!Qc=$ z^V9$OnUxz-G!$4&O|1_^`OhkNnPGO<{p?ADzQ^nrelC||xHFeSQO&8NQy@vHWd<&0 z*&~kj#2-gv^>50>z1S>w;5F~zf}Y@6ZdyVP6zH_6Lj)v5fD~9 z;=*A#Vwi942=W~^;BmI)`Y~D9-Jz{ism0LDbC63k!FDzg3V2Pd(h}xqkq&R0f(H@@vl_4&ts&Mc1 zA4Ou*y9&6@|1Un+8PP`|{cJq#_TnvK@=?*g&2e|$jY;-FLG;ZSCKx@6*|i z`)~Y_@cBW#<>`q_|DD@cfAjBx=<_X;j|SJ*y}dt2{@Ui7Nym@Avrdn>V<(&bPiKyN z%Ep5=$A4bg{?kBS*ZMkt@!sp_yh=ab5Wl|Z=*R2vtB-0uxOhFKm@TfRvRv**5>NL; zd#NYC6xjKHFTUD1^Mn26H|A$*&WO#lw#>b^yYAfEH81x0ncJUxcBs_$*4LZmVS8q; zetmYcPSmV(oA&YOu8VyA(WW*i@7`|9hQDX!WXp=Tyng-cS@M1PC*CtSr}xz?uivuh z_MLwh8Ozn?{1vn_E!|iAZF#!oq{|aEvukgB^?24kE1p;U^7V5G-}d|ZhYMS0cU}K9 liK!!!P>P~eIkmB#QSHj3zs&h@|9}NFgQu&X%Q~loCIG}WPTBwf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_13_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_13_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..202d0502ea89db6aa251134923b1a80bdf1d1607 GIT binary patch literal 1329 zcmeAS@N?(olHy`uVBq!ia0vp^DImA0JaSW-L^Y*T{_vZ+S10Rbg zO_&n3K2$r)W&6DkP2Bnm6kfQ+{E&=!`Tc|S56&2k*c}ytEUtwYmF|hTept6qYvtEV zSvf^TGhNv$B_(FG&zafz_H(pbb;YOUwj0-mzN(aS{NMATp8vz-1RaJR)(6^R$!AJq zojNjS^*yeUFPAxP;=6w_YybL)PM1e7Uv>%<)z#(Q{`UQ2iqXuoX@C2~Y$nZ@j-D2} zC;jV}FMsN4Qc{jw4{&_?dY-H1Q`6)94bnCY$CwU8Fi3DSBr}3-XxPYLAV!kl2WfAC zQySaX2XEDR{q^hA>lz22Ylnr0U%z)xZhc_W`EZ@kP-$uD%3h(Gy7D=X-ltFPG`cnK z?_qqFJ`m1i*uRnIu!V)i10$~wKYLAWZU6rJcP@3xgU25XbmmWgc>1Z$P9%5pZB#jV z-Tgp_i2b;IFkeeSLjizj?#+HfCjK@7}%J)c5h$ z1cr|_4@yc)W##0ieQ=*&aV#iw>+apvxw*ZMXEh$G^p=y6Su!OrCr7|Z=D4TYvAHm0o`FW*KcXivdnw;@5jf+3OarI`RDFk+54M+SWo%AKXrpnc4?`p4Bz+f z-;Y23xN)Q5VS}#oTh5<9@9yp%A0IF3+Ijr(9Pxy6*M9{rhJx%bb-K96Wj5>!bRD zPI~(K$`dNJyxxw3O<7_wJpY zjZH{sXlYrQnTd(PF&4)YX`4esLvQAo33Zl~mEF5@N5JXT>({2fuV1`~h>YZHb=tL# zpP%2}#zvw|u-6S36Z`k=6B8Ft-gx86l`B7f{P^~*%tR_Q^y`~9IkmO5iHV72Wo5wN zoqyik+#Kkx?OV43{r&g##(jpz;^N|Bu79=h7jZo%v2;q17Dv-#i$xkiUa{Aws(1>t z?Am2@{&UxT2ab(8-U2MAH}M>vkUG;aEHYA)!|9{K(t5u28eNYqrlnTS3y%RhvD;9s zE6LT>_2afFmpoLGW~CMSuUNNkn###-xn7#dJpxXeKvSnZbz1nq;#_^zc`Z-Xf5ztV e1WJSt?0*(8@*F8p{01xv89ZJ6T-G@yGywoPO>OxA literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_16.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_16.png new file mode 100644 index 0000000000000000000000000000000000000000..eedd99c68a976ee48bbc034bcd50bc570a1e3575 GIT binary patch literal 1932 zcmb7FdsLEV7$;lyrKDoz9Xmpkr3RizktBD9BASNRGP5!@XBSc&UA)uu)8c5^mdjg8 zE!#?~rD@^?O(<<8VKyO`u&e+JH3Z8`D5EVmTHD#_kMI4?d7k(Eeb4v&e!ur&22;q3 zjckk{5XfSGKc7$tWS-002Qbh@UN5&sKp+dl{C&O%PdPmz?muIpZK`&K3zdMpKlIO*c_+Xkr^wBOxD;rjGsLMj1=|O%aHY9>lI~%v{*t_ zNQKWXLe)0!gh!)mtPZ|z9@>mT4&FTBM^DQ)D?<_ig*y=yu$#n!tzBK^km(C7hW*is zwS_&;tzU@fAVtsvRw6;iqh{Ph*jc3a9w7rf4!yWl3nNPP`gN%>y?ZHp26~|RzTeQ6 z1qYf#z+lu|Cl7W3nU&?$18Ab$?;?K$0sg8(n>+k46S@Cv_WFS}L`$a&T^o>KntoFJ zHpz}64-pr*u@8X3^XD+%k)|A@HJrF$JM%?}H}5ec2ZH=JBDvb+zRKU03^Fphih+Ls z=n7$X^bxcC!GJ3ks<;nXpcU8TYVv@_rY*MxdX@dD5gA4WFF`MxE_@PD0506>`s~rW z->P(j+hr-|pBF@O@I20sZyxV;_L)4DN-DRVNz3Li<%NMPI3}<)g_bm}cD{<2^HGWD z_}NKWbFDlmZGjCIs;vk@vpmF)R3<^{Zp+$<$7$Irs<9yRidIzv`GLiF@|}eD{nI_NYP(zzu7n{n?oW3fQQEYe`@m;ehm+jLOkizyapfr|^=+bz zJB^gOAv93AUuvm-LPyr5|5K0V;Es(5jjN>-d%d1b4N>N89dH$1;5WI$ox5Q@Owj-#Bgq6Yff`8|NQO$Fy=0!l2Tuth2AN(j-dc zWJ2n!^i!csr;N>Mqu*E}=<^HdR0J7HLxHQm~arSHnVc5b6HlpH~> zE-aunJby~EUKG_A|Fyb9OS4OqlHf0%#gE_lj_2uWzKO4UnZ?*1F>FcWwbM;I;uY`-K7=KxXhgyFm}315A&Ovt>tB$QeVv>`kDg!@;VQUi>Ssqv=j}<7DIzyGyK7^_ zlB@J*P1}WO(TCc4I1~9(p~9D|6>ckAB~mB6Bk0nlC-Au&^TY9^FZKT)W*@P8*03J6 WW1oThI!3!!3YbI#oJy{BR)2R%)mv27v7E7rkLx|KUbYY0yE*T9Wqm4SG1vO2)@{@`0an*2A^92r za6EPr$_I;pY_A6b6<0m>X}JM_(G?HzX;<2pg%AGLMF);_%#27c z%Oc-Ms{P{9)5W(JEVb*#X_$it52Dedb974rt|uTh+FWN}plK@WJZl&0-*B-)j|zp+ ze;g27gW*qS-Id%w(xRFYkfdDXjzxdYgTrP3K%XDa^HAL5-ydfK06Q|gl^!WlC8%5D z98Icyj`9PTUG^q<%hSWkiFqoOT4;GU`mPvz+}HQ_o*ulBPY=%Gu3F-Kb`US&td+5jWrwmh-uYx`%*Xzch(u`&1|utr z)OqW^yH7~CKqQe!f>A!k{((4ba|#ANqi!p5u3=mc4l;wro;_Rm)z0iOQa6)pJ}?)6wEjQDr1i0?G+-T4L_Zj|I~HTbT=gl&Qp$=#HlUrpx|=0$C1P^MFc*`*-Bs{#&8hBBmisvNS)@OR!E^oD3{d{My{y z+|Dr_2PY>d2L}fy zCyH|k#bxIpB^_JF;c#BQ3@Yzk9#igW9{gEDXEK@AMOV6_zNZZ}2BY@u*%L0{nd#&_ z9$jRF+45v>B8+RKQc~hoGaaQcsQyI+dK6Qp9NT7Sc$v*E^|f(>LOY2FvU7=Dcq?M2 zhsP`D*^xeBdz0WYw2f+hWo-~Lo-Ec7tNpIjd_X#2t$a}W*Db{@EtkxGdK`fnR1Xbh zJiK^bvW|h}5}W>kwjv)R5FRu%Apdz|2w|=#pKEDxx>^N$e>CXk^|AAkVOpAVNnnLt z$O-qI*=As_)6#f?`SdFHZ>2doId2jlsVA=JDn8M%Jlin88oL$ZbTLGRUTjASN?Xp6RBYlci!J=o12^CaCTTRZ|?M@L>dR#@?JcgO=iG2Alm#&29o0^ z^xt|Sfa_a3PseJx{qf;_z=vcl>4>zkkyvZP>lZ!XQIKb9f2z|TUfh9?>uW11!-4LgJxnvyf+)zs_HL+CJy~B1 zasx+BNDu^VEoI$S2t$97$z+1?w)=sQm=78S+6~3im;NkH%zB5}=B@+atcw_J?IMwgh`4UK`&yTmmscX3 z6dpc3IT=bKfqyq};c7 zU3@~qM6%eg4s5y%R}zv_73TsrH;rZrhu&rk;r4Sq-zO~!kjq|)zuU~^z41yhd zK1W}R7v4nZA286?);2W7z8V^OmtIC0)SPEW=4$6h4XRWswb~Y@+bJz3)C8k~iti#b z*^pDGPJ!(b78X`Xy!TSPX1YTG0nqyM@B8ksSS)am47l({Dr`dlfJ-Sqltptc@%Hux zU!wAVFDLR*tXRj-8|%!=vTt-Rxg0!L@ck{0lES4F=$Xgeb}lA#j-Zs2i;Oo#*j@`A zFsKE_4@zNHo!;v4T)~&Nuxg=JR8z2{$ymBN-r3O5@D9SK@ZI=$^wFc&h_u}WaxgkD z36@5ch^J%8Vd7*;TwL6lGcxl2YQMUgnwpJ`jq&mEvNF?3FH|u>i2Am5{^N(|wVhM@ z%X?Mv&TZi{=Oy6i!I}EhfgMnBWKF;4JB7@+9mH+`{s* zprOHCXZ7=Eusr15-9LMsiHVs26TstgG5N~qW@Gjb8Gp^nE*omORUjr4F$8P>rr_4Z zHxM@{I6Q25dNOonXli=;AbEdkYHFV&pI~icV*_ecLQ80YL*3>OX*Cf6)7=69@+6(? z3PfmKK_vZn zb`_#`zS?iAdvHt)ml69bUo5QpucrNv!2Q27tDWEx&ssS9GzFA?0PpGR(cm7D{V%RR B0FOF?u2|=lmNz zQiUmot~|)u_z+PN$uB8+FjZOUXSlC&>%D@d(-TglPtTxT1xG8ZW1u_MKW*+({O+;N zm7PuTka^ZKTai;mw0fJV?t_1ZgeYT!UKQcQh-CdZ8$Bu`@)GE%RqAtzewwT#=y$m* zw8Kt>i>9Q7r&kCNl!u3m<9S%uLgzc^^4B3p z2burvF$@clhn2q4H0LC@OctKMnUnfC;Cdw#hKO&zry+u#Tw(a{IIQCcP z13i{|#`H^7BiviRy7u<=y1F`Nx=q&o`;(S9S7^V4&1N^=oERS)tNO5b_wHQ)aD}R& z7sTStSRMmz2EKw&52+tnTQjHl>RpPDZ1P-OTpSu2%6Br%6DY_gu~;lJS%F4MY0+n7 zh{-%baO3Dhhff_@+Lte1w(8&ix_^G7F5}v4BOpWsrBXuC!Ef8WDX=kFee`hg@j18 z3FWO4Zpw+&GPmxjTL4hdJIns1_J-(H8C(f?Ivm_2`m(psXCWQe95;xFzDB8n=J)Gftl`ATTR}!m<)%XL)DJ&HLR!ws7-g*|!iK%i_M=+}!am zvi95NU@~erSk0r^SU#+8WMTX>_MLp~cfA2+2vBMMwJr zC)9awQYn^TnSBnNB7Ni2b7M<^R-v~YPtD)hd-J|cpKXSZ{zL^meJ$JOOauOiIAOt_;B z{ZhhSoZ%xGz@9n4jTURU>r_eTbvqgebwNi5rE|I^EG{PI0tDm&oe6I;1)o;WoZu&D z$V(Hwd-pD#aV)cabvy2bu;|GXA3_74pAZpot{Ary_Xbtk9OlU!=$exdBhG7OIa1$- z73qVtwY5i*Q$j65)}F=4i4ov7uQzd;;6rH?O8gEBA)vx^7#i4XJ0*QZ7bLsek_0U* z47&=+Z@o`z4;!1G4`dFQuASPUOz{f5YBv{#DtH4FQ%}6*ab0cgJNtXQ0gVyG4JO}8 z`a6u5DjH@5-*RSFZgYf7Jv}`(o&uNq*Do%)z@f8qbJFpahS&bejdIYaS$c%Xa$`Mq zEThqA7!0PoyqrRzgg1Gz+%HBgU9~7ALk7)%t;QP}8J){_DsxMMG!V}KiT!ihy1IL- zGnoj1RsYVn_{?@UIP@5W<$h{}bAmwY?Cg{Qq=4R!JboBdDwt^v+Z}DZ$z(ET!i9_L zCCF&poe=*~40znlXP(wzQ?G z+_j;@GpMi?D{&N8+B)6(4xZ(HWBhf@#u9-&T;OEb*wFAr#BJn$*aZBSF_6?)UbgQs zI|$Oi6-s8nk9VF(1%Nz(fgrq|XaGts54ujO?+tiF(nS6HMq@SpG?rR$m_XAxoc5>l zKUnUj2WoVMaz*38^`K;ZkSq!=;2;E0bT_B!4DV0%YaxqyXTd|U#wvS#7hkU}xp0qs g-xL3{H2xp#%Gep}^rR_sq~!nr7LBv7LHQ*A2f-b_NdN!< literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_4.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..6da2dc03ba2fc1b3c4356ac8c8fd04027e7e6d1d GIT binary patch literal 1664 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_m~FPZ!6KiaBrZUMyO4ipe2x z=hXlIQ{Ok2>MV0j5-Mq4_jQ7o$kbIQ=do?EzWlSsj&bh)tJVzj{aOTs6_2=Z7z#T1 z;9^#v=UAS(tFCn}knzyrp3R}mSv~DfyLGZW z=J)b;S{zu{)5X6}k6rapK96wCb8eRV-Wd}2w?zeA-0*XqOT~57{fT|=zy3ZQyM6oo zX>NzU*6H0oKff~7_}+Q*{qn!Rzg_<$Z@!FP53V$W9@_Bq1qy<#Kc#%H?R?jT5gSSashRY_LPlR~#cy(jzU3q53uS@=-j`%KdtT$ghst~Q$s6o3EU5nd^4uby z!@Aq;`4&H_VS4zKbNy|eVs2m4CxXZO3hY?s{^QNBJAEo*OQ=fHaF z_fb{O_T7G)4qvs8`X^}wC( zE$bhD;^~Iwp7qbpOlahYfAwen(UlSVJ3jZ@{(hgp?=oX%eNO3)+J9f~ojEymcb@r- z^9Oc`-}|sjJ9?9@pjn>%X|o!QKi?D&yPprAm$>ijsc&yuILaTIZFqR^=*$Vt)nD&b zAD#bB#Xm{RHM6kk=-WAK+_|3Y(D@e~70H|MaY}w+-zK~MbM+goH&x6{yOB^B_o-&~ z(RO}b`6?-|>F>iT{E@c#X$Y|n9)Kbe@V-W?vlZeML@b$}ZY&*YCc$j%Tf9Kxvk1wkJSN~8s$9ezksr)mK z5-%Bi;#vKbN7~-v#=l<|@_v;&F1YNQc9`+!>+c^Vzil=D&?wV~yEMj`vq&k3aH-w+ apE+1g$^S!ffjY2eVeoYIb6Mw<&;$TpVYz<* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_4_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_4_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0fde64c02a52afed24bf37f4549536d67bbf54ec GIT binary patch literal 1773 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 NgQu&X%Q~loCIB#=O9}u0 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_7_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_1_7_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f82483016d6d8c9210d09aa1bb9535c32210b5b9 GIT binary patch literal 1391 zcmai!c~BB~6vq)s(=?efBV|p^jK~a&@z~HU@t+4T3nbenTlYAE&Xd@18BzX>{8;~8n&S0|P*nM&+?mx9^FQ=mLHs?!MFnmzM8JzZTV(Mkh5G%_-x zP|(`^)Usr7qmUiIBpm$X^c7H-cUCRgu%eZ2@cZK0=Pq{p9m9h(F7@+;XevQRN5|UQ z`aN+1&|Y6xSLbJ;ZaAdfB?zZb;^X7jg2|dE+`R6`wk`19>Rv9MT0RJcBDGXetGP2S zDw3(GPB!~Phx2LoM%??224#Sgig5LGoQY2C-B*8iT=TYqQOnDSOF(Hoefy5{X2?C)=Jr{e{f@dH+|# zvPFWPTrMvuDQRwQR<0zY*z#|2gCMmR&7&eC@$e#rLQz#!MMXu~c{Yf{ot>STwHnD_ z%~UPU+~VTI$cT$sp%y2MSqtM!B!uYbCuC+dOeqTeG?7@mFWc!b=A_oS;SFrvJBg(3 z(Y#V(2uQupW0a6l&0RwY*gK7jLzb78l=`i~=7$i#ph{urcdy?fFW~Vho^Eae>8Z&} z4aEZ_&UB1P{$~|}o`;7=DtdZ$wuj%+(4c*#y{X9<^LBGH9;SOcF7Bt&QZA{PZ7zQ? z8HNNVb@6x^Q_D|=<abb9rA429a(x1!N|)-#7(~9+JoSV3I8RAcs;AeJG(p8j)#+z9)^VkRC6p zl>RZl@dDpsoU%phY?N=@_6LJFh>OLMWO9>zZ;oZ_O{)fR+Kf%kj6%|k=o_l6hAGO| nlr6HUH;?pbJTwRXFACLTzpW<-bMsu4hZKNuba!Y(2PXdsB3PrC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_1.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..70b6a4b9e1f8857faa2ea152bb8a3f4591f5c53a GIT binary patch literal 1860 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9fba8ca04215911b1ca04ca7cd99d83a40042cfe GIT binary patch literal 2061 zcmd5-c{Cg77EeptOdD#*N!3KfPIs0Dv=-7<-gwVyS5QhU-MS+UsqiNI>s}njF#f)$<<& z*`Eke06GB^Vcaa=$wx8VH;M3M9qt=tnkn;178Jg%anV7EdP4Wn3(FDNoYzBO&Z^aw z-w(oxQEg(&Kfid-u(3(c*!p<5yWdSreMc6hgt;ZuIAg)G2bO;vi{%g90}TNt5PxoxVJ_n$l0t}o4gq--64S4Mh`0wNYuW%qg zIERHWHC3l95TmxDBlyAS3T(+JgyxVzNlXB!fZ&B;3>3rRMLIWXXL>}2i*9xa6dzF-*c@xt~64V!=y@ z#*PkQFx%79^Y_S?`}_Nyot=RuiIM~H^t5l8yY4Va4_wS-ZftH=69mLIUB#S4{XwLyabfJ zY+w+6_pYx|QE%Wp!f59U95{^ay}Z1vN4acdR7FVMob4(y4k!$3XS2EMVtEj#zP_GH zrGg=l1w`Y-noa7*YYO&Ko?BZ|9pq(Cy12NQo134`>RsIa+1H4 zInxntQF30@Dzs%P6kkOU+-t3xAfT~|Isb$KX*60vK>^!)B+}wM2(*Q?g~KO#JTw-J zQef#(SWXjg`eJ;1ynj<$U0q#c;|AwpytEfO@0F>Z*e|*r;N#Ol z78S#QJ_Ql*%NUP$!4(x1Sy@?z!`ILySGPf;u~N*;^KA= z4?EqfU33bxFhk9yt~&pKoa-||j`5`h(Rh3f1{*e`ux!ekUcIt<>U@#r(BM_ajmYeU zjqN>&Si$EeZ zx3u6Ij#jJ(2L=Xsb+?WEI}z5_e*XSUR~=nl-B{@6#s;}#CdYnZzBdc*_CYL8LSCxl zy=o249$RS)Zo1_3>tg=*r5&j2K9W%y(4a&ryuUO-p!($4`GXHx49-W{P*|aYqW-RHN2Vl_d_KnvAGyenX CGRj{7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_13.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_13.png new file mode 100644 index 0000000000000000000000000000000000000000..f615291c98a4e64ba70be24b536353d85aeae42a GIT binary patch literal 1106 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l;MPZ!6KiaBp@A1qqrAmR{M zo%Qek^lGs%4KBgnh*I@ubEbMU`#+qOBU5~i`@+v)eun*XITY2LIywcClv-xsVt#8@ zmPy{T;kEAThrR!EpB4dO#Um~p zhNH~UaG-Z0m}h#-V&{XIsk^JM`~R~~-c!)#FZ$uYWzgywK+4@&1pxN;Xf;+D`xN-e|LbpX;=s zu_xOY-}uPD-(U51Zrv-1e*dCp2@h=QISFSrg1M0#1vl)clq~Yg(7*g2SXMB2y85}S Ib4q9e0M^)G7ytkO literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_13_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_13_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9a067c8ba955673a6dde906312a60a179ceb358a GIT binary patch literal 737 zcmeAS@N?(olHy`uVBq!ia0vp^DIm; z9L=}>)35XsmpW8Db*%dTT<89y+QXWl$dhS(s-S<-+x&| zety2Zy!^D(vuT?zzx+~bH`6C%eD5yiQ8}QTxUJ|?3AFne#gK6eONG~)`I77(#9LFzt;U@nfSC-zEI|Q z(az7+k<*q=IrX&Yn8e!Bg#j0$mfu%s3GnjN^j|(%;Lx_W7JZky(|T^c|GqRx)7F2I z3&+O0dA)`&XFRspmYZ)jyJ)A*(mQXmdKI;Vst0OtNlBLDyZ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_16.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_16.png new file mode 100644 index 0000000000000000000000000000000000000000..ca9f7175a4bf94b58053b5fd9adc36729f460693 GIT binary patch literal 1133 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l-rPZ!6KiaBp@pU!*aAmZTo zUE}}%)ALxlKHZS;>3H^G#jT5Z2UXuW-!OPqIj`Z|{3?bYB}y$bI26^KIywcCa4~Oi zyIUOlad2t;&G^W3KeddDFNfP6crTqS^MB%#mm2$z^lP1e|N7Y({V&UAEPL7a`B%=n zF5Y?9xa(zGzboK1n4rz03h>3tXy_0MokQ-uhH`fbQf?nzefsEg`Nt(M7az0mXz8Ez zywa*5d%ASk?Ya*I)eoLk%5j??k9c=ycGmk>Kdu)QnjX71|LNP~JGwdKjm!*vrssXj z`g`Z?k9X-ibH5fmE!h)RttYqsb@G|dd;a{`VR7u`R=sltxAxRd+B^OBx|(Ma;+-E9 zpGTMOW4v6h9&Q#Nx%1^8!~N#RiatKbydj+&{rl6UEta{}$uc!N&7~jjxci*-AOC+& g0-2Cjk$odxG53<+e{XpaU@^kr>FVdQ&MBb@0L*8cm;e9( literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_16_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_16_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..12feee4e9524c008ce6099013db2dcbcad41d2be GIT binary patch literal 770 zcmeAS@N?(olHy`uVBq!ia0vp^DImUZ4YO9 zUdgx>;3K%?=8g&5#4m-G?_KWnewlXoq8*wyl=8TPxR!on_uA<4Xh!^Qj*_?Ohb))R zc^}DV{P;;~$LuV@z~>!zklx*NHUwP>iNmIuDbg7&!0OFxAF7yo12^ej9UA(#7ehl&!v+} z|J#}mKKSwD#^*gk{9p97OExc=k~;Ts_ycaa0}%|zm<+@kHZt_ECV(uJ;2zXMGhD@- z2IK7RhCQ@&RH{rU4|q0I5Zn)}zItouHH{FoRSCgS?G%zFNt zU3mg5+j8~AxNmRsz3ek7WoJy(w5Px8mIeiSy?y_Fec0-!MK3GkA}8;@o0qw9)zwu& zx9^=@zkdD2j3ra7?Cs@w*uH=NE-o&<`l?s<-Ipa&y~nbP0l+XkK6^2W5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..17b076bb62392957f6ac69844cad2f0d7ea61f3a GIT binary patch literal 1980 zcmV;t2SfOYP)ykdFp&XU%g@q5DW&}!NEW}}&qqJ&ho_~mzHY4S{k;3i^E`c?cT0OD zNrH3^2i)!iItg8t40KsCXh~MRUKd62cSjqIMy*zBCBD{ZN!IG>>hA9D?~bO^>0BwDQk9&;Oxkc|4w0f@_eLdR9+Q52!pkf>tMZ7(POmh?Y*3=lMdR04f#j(~_(} zAh5Es0w|LXpe0!zkH=!MtgWqq%0}a~I^$frbg5J-0ZB#sv?@y!#iKLFw|bsOs%X)w zEUVQT4u@aAe%)m|n}4KLS$4bq&Ye3f%hEIrBq1#WV7f7xOirh>^*GuG%-sBk9bz{D zOx97jCW1Lbk|dXxmw|-RGGJr{gF&;|3?!760XBB@VW{&z=(1!0Ox97TngWx>Fih9) zc!0_Bcs$F?%iX;?1tx2DcD7Qf{Nc`67XWgC@9*#L?urdaS;ND_OG`^E%L0t4DL~5d zcszrHgP~9eU`$N`c%3ypJ)KUc!N$}MfMsDA*4x_)Hl}s}zk=`LIbPrH$Uv7R16`I3 zz{~359S?X}l}aTX4g(LX1;ER?eED)b9`DL)B6wNHjvdQpvlK-EkKA^^%fc{hczC!g zZ%`|8HT3)aU%!6svPYF6g=Bd=9=F?FsZ^8*-bR#KXNjU{Fc=gH-Y%4q#q)gkJrSss ztUw^}^5x59GO1Afw$P*8f@pJdGm%JKxpGCJ`0AtJ-jF0o48xR*uRaRO5=AkW%XQOI zUO`!XeSH)~?d|O;*M!O_C=0`|Kp-Fpf^to$jI#BtZZZYw#Xni-vSgsFEKwA@=}{zQ zWsxMgva(XGRuyeUHI$VV3b znx-3#29Dzl!+ih#9YxVdBod3oj7B4l;{-u)92bd1Se8vB5)8vstJP>U3d3+b9$#Ny zkHumXMG1mHQB-q`^F06a=T8JdU>Gi!%j@gwO04hH=vfd1y?y%@MNy;CI5|1_k6$Ph z3Mh(d{8FIOcE@J3g+ieZA3pr<3wFC*%Yhq&J+qZ8E3kxc@3j|ds_yg|Wzt3^p-Me=? z>t0!VDy8SopLaMMOG``jdc7?P{5RUuvmgi(1mW4UXXE4Jfk2=w3H%4zR)a?ns_ z&YWq!3(xEIRw|WLD%IY6{!E*P;Q^IO<NQ4~p%&6<}eihuuo8cov#K^P2%TCHZaTAP2|+1YWs-G@n1E3yuF z^5jXg>{TololfVC8#hv^R4f*|aN)w%)>a~sfMHmYBvBMumOXdwTs$5pNpfgts8}pU zqtQ~S)U0hyO-&&P!m_N>>1;lt5|76b1nKYZZx+1Ho;@3hL<|N)u~@uy>(*g%)10h& zz5edqI|M;Kefor==-k{K$8qU&nqipn@$qCb8488^`ub*OW_X@QQM6DfSglr@%|;Le z!!X%wwpOe4^z@)8>UO*L_xE8Kwpy*_aygU9n9XLF%T=jV5{U$cVWKEXl0*>1(9qCf za?_lw1Ip#{;^HEPVMe3z$B!Q_m#bVZd%fQ6?d_SFncdypsi~<$z5quMgyuMfAgETW zH7nY`9_4xd*B1{p8V!TNP_New2E(sSXjc{lL6Rgf3`3G+^W)muTDe^I`Fsx_KJ@u~ zD2jT$Uc24Cv$F$1P(Gg@8yll(8pANJ*Zb<#D;&oW1R)5b(P*$NJ2^QSjYgx&?+qZ8^lH_zcOQq7&r%!{yV6|GEo11gFTnG7RTGsDqPU`h~ z{o}`v8ygz~0|Tj4il*tYv9XPf4T2zG7;fI_peQPr%Z-kXX0urg!)mpf*Xw=${COY{ z7#SH^TwKiMa?{h(kw|2Ie%|l*KYsk!X0wT+Xt7w_Zuk8Byxnd;XtyI}9iB#`K~dE4 zUC15) literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_4.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..b8788580abf0893fac0e3dd7cda070d2f3d87e5e GIT binary patch literal 2156 zcmai0c{J2}8=tz)+i-6fDlLX)Mj8y+O2+nPnIT(wttGMz-D_kBW1FHMS!cMHaBWG= z4TG^0l2Mjx%QD$XmU#_jD`OeFMaS)S&*}Z+`_FT}=lMR*^I4v6v!2b%R#TnH*f`3|`Bhv6@@*}&s!ibD%4)6MnLpGB71QuJ zeyR)Sq@NNrY_|p42spp;Qp6Dv9J*CD;n7IEARlb6C1Ts^%!+3s#tPec?6tWomB+NhvxeS!nJc{ECgiKZ9N58AcJq$UvCbV zBqz5h9xZO)1+%9s^SI^+iHqKFMgs8*eW(;g#NK%S2KUM&0>`K2=Rgeb9bTRUSBKia zZ4j2>;zP&ep<(oU6yR_QIqD_XPkMp1cE0Ue8F)r_inC@${En`u*|Eij*`gT6 z5mk#i~ zk2?75l7G+FYRc64h6&?-^ypBZ*4h20ey0ah2r$HsyBJ}sp0jC*=`nz9L)aq|C81v{ z7OO7H$_tqR=ax@I>{;Pb$VBgZoKJ$RY+({N<`b0CV!Xz`5yPVpb4K^0SQn!LlgVBp zuIle3v@5$KmosKF$l8}X4sKzzJNk)rTIfTx(aIbP6^K`VqmAJ_iD_zdyE344s;@yr zyftmqoptTvN$r9nNPo4#;L^RJcGQ``5<*E-MBFlUyxnfSDAIYCk77{xLvS+r>0t&VBw8;UJZ4HX|`VHGz)t;_J!Q6q&69<&#Zpv40uxsz%?)m_&A9f#_ zEfnTJM}-UjqypT3F|p^>igPwL$g7KPIq73$>U??$rB!t7Zt6&nPyXxCW;WT=#|#Z9 za%1~fyH#{t9_J2Ars2(vhGt)57|aV^oy5wTO?CrAC0CT!YD~&+nouhG zIB{-7aaRGUhrwVchDHrv&1&}TETPU3YT&brzF2Q6a0j^st}``Q1F3( zcsqh?uFl`2u#Ch8|Dz}f6DZp3&OGRGm$@97)W@hw1?Mzi4!7FNas&!Zq^#!q@p3%0 zM)m6Yu9+uzZE3pqV|;l+tvU)9;kvR+ahjORDsO5Lmhp!_Qe|1zBvrpC2+)KBT4q>w zMBITZ=?#@5b<+{zPmajz(rAn$XB-dw$057WhjYdz}5=F8+2cet&a+ d@AlRY^IJ|Hm?hPiPrnF|fu4zOf%f&#{{f?3<*NVy literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_4_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_2_4_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..afb541e94919cf88037e5061c2198cd4d9fe5a37 GIT binary patch literal 2896 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_10.png new file mode 100644 index 0000000000000000000000000000000000000000..6f0bfe2f61a14d416c8ed6114c01581f1a8dd730 GIT binary patch literal 2203 zcmbtWdsGrw9%kCph;JD)-(wOmo(dEW-7XIq510>DYpr<}1xt zPL!DDBW-+^iY6Q%n-b%sW-7RB5e~}Zpn(MFHjh81o!Zl${p0@g-E;5#?)UrM@4J`3 zLLm+Htn>f?fMHM|;urw%(dR!8;I=o2!p;&5002)1A-+6Ls1T zNIwfBb~P=h+od7R#=mys*{;MsRpyZ0E+K7Q@8QB_6D9%}1E#owe5-)=M=2(bzCcrZ z%74PI;%XYSWjZE*oO#cJ{{!A?IPtC7WY|_9xOGyg4r$+})9I=AUW%=ePY$4PBmihu zq}CpyiY-6nI{za(#rcfwa{{%tr;}b?-*ha1DXMn3oAyr8Hf%zkbm>T%@_=@Aa2#|* zlqUG#^#!kS(BoDSUf2FY5#){?dlOr}fi#LnXW2iC&n!Z2e?9`Sx{(^jI?=XD9M zkj^jUWvwTLp+h5cCHkLh?o|U-c(D2{I|r3BcEOyNVg?!HmvGg--;zRHg|8EYqxpVn(2DZJhy&5e{#7kmi*nhqTf9kexbLNWL06p zFKpFbN=oS>6(^W+gg9qVM4YJV)hbQjyyJzUi3-JLhp%7>ZSpz^nv#CN`^1^!d_9z) z-}&ooJ`vWkGs;8NnLIkVdO8-}v~Owc27;i^Nas&CO;V9&k^$VZg-fg(S6=ssW=r3L zhI(e-Qa|K>5+EgJrTZ|JKhhKWVTjD>)%aS*w$7U2^KOf{k;ixlnd-!2v&x#KLyvQl zCCmHq%9}e6%OKqY*Pm`$@nLx~R~Gl0z?jcQ5bE*=Z#o20gkQ|=pD>60+A}l`wbK4< zAf<}#IB5?1>`HWpZd%4qfpePg71{FV$x>V0#IrzTaauDu5{%a?>*>1yg7j%^5w#W5nnkeAFl!1!gh~uC79umcdrAz>ZvC zFfWC={SuFm$NU)5EAK1)VSJQ3@C}3#Mf9g2Ll~|DPU@?>p=5>p+5)-;e#wiFNg0Bk zFnXpZcCL44%bWEvP}=S~WiM4_p_k%TPRj^V31;@99rm9rGN!f(k%VT+*B&fdR0vX; z&7xIm#H;B&*L}XpIYS}^OFJ7}4M%0&Xl@y85Ay!nRl@}yJZufTj<1UBpX2>l;e(rD zk`g@nm|?M7g-M_t6-QS7F*b}xUYYVbnUyGWL^>2>3a<~`aq=cYT78|*&r0wkSK&OT z=;@FFi3guMEyrUH1|yuIBF8Jgm@SD!amff?Y;j2KuKLt22sBuwTAEnOBDri0e+t$V zWS6cmGE#O(j!;Y#lk8A0x8pCWL7A)E(BiRx`}w71yFgYjT~qt4pEf({iW?I)(#j9- z`2_PWAD^Qe&3dV?Sizl`#bw@iO4y;l8NCy4Pilt`=PPC4T=Z>@vTnLX0(9pv`<>?D zVUg<8QxSJTJ!>O3Ub`#}$(TBn!>Xo(%-QLF@{EC;r6aL%YHW}%_!Mj2^sKOymXT*n zEf+Z~YGyrUaHVw#I>S_1F%Xj^<}BHThruxF%+GE=0`}V}=xdm)kIVjIY+adpLWiD;7;G>_T~sd zAfef+m%Z~b7W1?qqgaUeYeN2?!^xvZD>($wtJ+c%r`^7eo^~=TFs^nb8T-;+O{s14 zvUnsn0N2-(n+}T4SmF8Qo(EatIjL)YOuAuk1IqO2ir_-ySg@kjaoQ(=Ec+l)m|N0D}Bch&JC-m;Md^LG@e! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0a8cadecaf3b7f335557eb6b9963a56447cc0f1a GIT binary patch literal 2979 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 L>gTe~DWM4fg|BNV literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_13_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_13_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3dab1303d98fd7221165ea69f697063942b7571a GIT binary patch literal 1482 zcmb`Hdpr{g6vwA@y>hq2>?2o{FmEnORJM$HzcMW$G0OXuR~}v0BSI4k8>73=ax-~` zOz6`x%ww_7jHZ@5l9sD1<}uuL|G)p;Kh8P7b3UJQ{y5*y=U3?I?x-lQCJz7r6rGUv z-jW*nBV-Rq^8TFz2LXUXWlr|6OQ|(0HRG{LZjhJZDKe1yUg@HlDPvsGaXGVy5Fm<) z|K!9U-+wtUl4?#TsJ4`(PDNNu>R8<@mIFsvzR5#Dk~akBqNcD_q7skfZR#tb4R-v1 z2XWVIXUuf0UK(bH0#c$6A9|7vrqv$GTFG>AhQxp*m~)5I#* zev`S=4*2&rfN|jemi9PHUxQPmW~d6>HcLFyZito}tVXt9@_onS?SEe`2f3>$8giSLTMFMKAyY7#!Axz~S0vdn4R2}UzrR6M8^u4uagR=J1%dN_X8dl#JUplD{8o+lS)lrTNnv!(KQQe z!t#z~i8sB{$Eq~Z)9V5bccp8t>Km-xkX{uGNeH3KY<15|1E0r91MT{o*>&RweMf}bsuRB=9gZ|+vW zXge4TZVv3*UL37dH3{@|rm!O#SZ#)a>8Jjs{HT~1CAj)fPvX)9tpKQym$SMv8}-o4 z%Ere3DaruHpwk^FY;(7c*(hUUWBlXURZ&VxN&u&}wze;M1^?Y;^YlV@)AhFJ9UT{; zwRLqDGPj>K3#wf|zAii(&Lm1E;lR2K%fc&S~GlbWJ5$z>$wg$`TGD2t|5D3=OGh<>(LFQ^D zkPt_Y^_@(b>E6^}&X9T18;j`JSQ9aX?sf#8&@&elQKVkp#AdT4zslI(+dY%B4_i=8 zg(Iy9=Mq1Tt@1uR#BBA)LL5$%-LN7IUib2E_&AxhtSP%861k8cfZ&|hIMf5)9!sPUt)U3G+CW;?u}B*n$G_V(W16Q^;ztd}GlU3JP=l6zUp8GGU_ z2F^fY2CMJ;`~w4nl+DI25I`wH52CQ+GZyeQON^AC?gB z>gv)XKg6&jEaAh~OrNK$z9%`}*RV}B?JwqEmd`+TbKM$P5|*cfnARMNaZx5y2niuB z-NZj`Z2Uv7Cehb7fa9x-U_JZF+)C`Z3X(1;D4;e+;vHm6lliJyLlovqb~MGxskuDvvw0(gP}6^8&A fDLeFk$UQ0D#S@J%s}_dDqXA9`cl&1ewVZzd6T#1~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_16.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_16.png new file mode 100644 index 0000000000000000000000000000000000000000..ca31da336a02b754131fb3f703da46642231ee7a GIT binary patch literal 1554 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_sufo-U3d6?5L+y<0Xbf}tUB z=GE`@sn3**r!*;eUao7XjxYJ?{2}A#fu&DUB#wV%Ecv&Ro#DM-i-54=5f=_aK_?$v z%-sbohYe~TuFH?yXC(hT^w=41`&W!L`x7Pl{!e;xd|6Fr{Hi(guAerHf8qJD!p3gn z-g#%2CpBN*_2G8l4t6}|60~?2DcJbi#e(Os0nb;B2bc4N9vbjGwz#&qVf_xzmV#KN zmKhw1YEB)U0!idBW38Pw=M^)H_Z7&vLl^?@9KmtjXIzcSQK2Qqe9%Wyut z^iFJHKHttc)&Cl!>vv4&-g$eXfSx;M)NedJ-+EWFRp~MD?{jXR?Qi+?_)ngk;+*+l zm)_OzYpwzaMNeYxqEdX%OBif5OdO2r#E%%p4rP(c6yZBmg z^yFFZ?rd6-l&!z*p5~r2FEf{RUw?brx^Veg$1@Yr(l)abE?#9OrMk*N6fP2Ja!-X*AkcjX!g*2lP5_^X<9yhm@8U84;#H z7;i|u=>1rO`vRw#?48T40a(OHomGQMWH9r$-Q97#uB=; zv8_TDSJ`TAZw zY*1U9J-hlw!9Lr$zPmki@QHLOY>MUoJtc;i|FRNMT+3h#nBlJlKtto>t!Qp_87k`In?|-) z5bJu{OYlFUEaPm7>}?u+rekC_2$sZlEv4MRi7xt}S3I83S?A`d4TZy1r35YI<1 z?*`zP2{KFXPZqRd`JWwOy`=HsUh_BpMgG_Q=PN`;W@@IVWX3aCp z%dLi~E~U-Q%|`xh@!Ow62n0f6A{M1ErzkwV?CS+r{mI||HDPh2yStmkN(sqdk7*HM z>nYl!ENE_q)Pnr{%T1Gxj*g7#BZzlKPs7aOA|pE^-U$WsIE>$t;u^fJ4T@~uO-)o+okNK7@>M>c$EfDT zR*ZIncnoZnmx#;{nkBkvB@2nS6Tj_X*l>Fkj74)RJFh2ti5KNQ6{9*jI?`Qt9G*x@ zO6K8kCMs+=d$FEtp2?L*K%6bkoZ(DPruPJL!Ww7zOqGTLp7!C?j>v883J+bY#GS3_ z*0@Kmb4lS>;i~%j`c}g;jHpl&NhlJwDST#?U;*NaB)ew5v&^X@SWI1Rkd>1wD=R~? zyFns}FnO~Sig*`{NF-KcTYU_v%F4>dtZ4o;vJ@Q}8d{=@H&MB}J~A@W*Vjk0jP}FP zq1Fl8p9gaF$r@qd;YmAND9_Qan|!qt6jaH`@71sTO|=XbMN;m-;NrQZ_ak9u+Roc^ z24BQsEV9OUBNB*GxFvraC^jqrYTh*-7VIX1H6cK9oOu#d>ALznZ>%Q&S+nVfRrK|u zdG5M7;`!vtM56(aTtITlfjH-A0P{qa<;wmYKC~OAk^Bl-ARn2(JJGm1)ENlI$$)Jw gzkHJXZyQ^as~vDtuG7`JC$e{dv%Q;LH6nog7xvNN^Z)<= literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ae75d93804c03d25c34640d1ab37b543203ac1e5 GIT binary patch literal 2989 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 H+MoD0&MIKG literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_7.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ls_3_7.png new file mode 100644 index 0000000000000000000000000000000000000000..4d93e0deb333f2633fc45ada46a7b28719239958 GIT binary patch literal 1740 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 Hl+XkKDy0>7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7e42730de26589bba394903370a2af28460ab3ec GIT binary patch literal 1476 zcmb_c`8(4M0G}L-5TWLN$(&yyN99Onjv0G<6`A9e*Dw*4oI`Gg9?divO3s`Ub2Gdn zM;LlVDqF4Obv9l%>(yWI{_;N0=X##c=jRXpD#}JgNJa<*0*N4O;f_a+`N`wQj`T;| zF8*D+Lz`-Xzdp}!9WV$c(CN5Y}_4LHQ6Cr2uFfC2j5;-^?2E5cpnD1hdvkji?=Vj+YFVEpj zI`&m*o>4O+2cB~eVof%lMF!86lWxC<^rht($Lo4w5I6rnh+PZHv%j|t87hUn(R-1U z6iv^lpY;kk?Mf?&?Q5F=?CF|u!YWEU+G=RS`Dr&(6wZXR)9n`M^lD%wT}W1vOG~jR zOGzzgxv;H^o}a~v(Oh@jjfR@f%EiP<6S$h1%N))JOK0;&AOoI|C!Jg_UZ1m$|k11=%>hEi@5 z2f%GdrGD7bVsu-1i*+UM2Dw}wh!?FYH-()F>7?q^Cki*#czmR8MWrsU`UdEP@PtBK z(E%w7%j=^45LW-WI`FjLMIW@${`R;oOMdEIKbdE;H&hmdHW6)P*N58%=ybI6t{NpZ z$Oz1IgI@;_LU-jToz{_8n-&F>a(?cW*2Ll`DX>-y6kb=C!o!@T*uKC_W!@{IZ!az` zuWKKsC)vFv1xH&OC08zGB-uDmNrwMemQ}tpUn!x0&gy2!U)C3(c`up@;%oWyf8tJ{z6?kB}|9z0_<^7&IgC#H^UMVVYh2%sq2D}?6lwmVjiDS^n%R#-if-E zR92EB>8Lc*Bj5(TT7{p*=J(YMaMPs~4jLeMtWNcw(8-up`N{j_&BOjdD;#=T(U0yq zrxebG0X=v~_&+2mszZOwF4%Y7;}e;4C2GF1|YvMHO;rPq&e0i zdAI{9Wk7NY$y>4Mv;^`=#Qq@xDyix4xM6OWr8BC2x8gH~cW*eo>|Nv_ZWV%EDGTbn zC>T#`An#*WH$-0sDjfDr`#r*H1kkAaW+qM!cbP5y2rQ4bk6=z1Yl|5j;M#-LKo(JX zv!dqaK+t`S&JaEF{|7#_Q+a#S?iMb^b4pkUA?%s4PM0co!A{5zG6NX zEMAbuh@SOgq$sG?v9<~>34h}mru-J`%PleANa0Tm(MW7(VIKE(Rf))+IqjzNJSf|F zJB&CkF#gZk_m0H@5d*A(Tg6Cq#Hd{xZQeF=jxSiUa?b+zWOxfvMr4YQuBN!r&fx7H zOBtW^Gay2ni!JT_zhhOk*j!tJW&G)(o#H$|Z^TF4?yEumSWbDsD8}b-10D8pbK5i7 zS`GcjH+xl0mv;#^KjTQbKEJ0nI|bDci2QQCMp0wS;H|Rp(5aH^EwDe;tFQlBx&YOZ z?cGw8r^o{^&9Ma)WYK-M=C%EUW5q;(IVoSZmp)h!@_Z2KY|TN2<)tF_Jra%3`K{B+ zS1P#&JB&|XH<$JwYvHR*6<-y0m%5R5Ylc0noA^WTp>0S&u~bES)DUG&+ig=ZcE;!i zCEMvqg4)*u8KtMClm2y)1Qo)0XZQZ>zYR`EUyYnggS)&`p3ZHr`JrSi6|th%prZR< a*a6SDxQ;@7qIHkn8HBJx!Ruf*6aEFB=*}qs literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar03.png new file mode 100644 index 0000000000000000000000000000000000000000..5c105fc6ca033c5d7dbe9d214ab434a238f621a4 GIT binary patch literal 1023 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tJ1o-U3d6?5KRJJ@;HK*Tlh zucBz$>|dLFyJzvSRUe4)Ik)mbVqxmpd)16{=T|Y*SPMG&vM-NyUvGfq`N;AaJFi7$&yRTJKRA6qdvE#Phg)W@R6h{!m-=-_-tnpL ziVDv_y>RDYx7~9y_WG{p8iOzPHr}khF6}paW);()ry*heughXy>WLp;^LL%OjKTWz yvin{X=M{fgUePx=Q(xNq*!+g|&ju`2)G=zzQ}<20#2*LD*bJVoelF{r5}E+BDksMP literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..317fa91a02dc0b2b39f57ed412b151a078a38168 GIT binary patch literal 810 zcmeAS@N?(olHy`uVBq!ia0vp^DIm@DkM7kmsIbUrzR&0Ij(Gr zIPrB!z>(MP%MQrC`{RG&gUNEw$Z0n!4&~~9&@a?!Oy-pFeh|TQT*zYDfsHJEss+Rg zXbTrF@WtetW^d(gig?&><|vld=6@&8Gj%45AJ;PLGsoY|yqGsRwLVVwSG!_$ z^_D0Z*_V?q=STi``Yh*>Zxdbf_tn$S=P&K%+pzVxQ}=SiYQN3<{5DtqbNQpL?Rnz! ziik?Dphgj)RGqa;w~7R%syV1Co>fdcKj+D%wtwe{adOj-!}b~rn15B~e(W^AKXYyO z@l#X(_OriVxc-dFg|{EKE>O?qaA3nP`j zz5cIR{kMp&uQipPPB5@0&q;UXUgEglPm#0JN=#vi`M1s)D%S+I9cA8g@ebd8z8_P& z)R$hpeE0HP-g8rCvV7w|*`AZ3&BQWee@(7hr)h)fmZ$E;v)8;WN>^xGCzn4rXWgme zr`qj3+16xfGle{SclPM2LyK4JWb99$F|~i{Yx{e;dM}TkvK3pUld1jh?%JC4ubRIu zh$pvhivM=hK7!?ixS;&M?D(_Cp5l+;881503_7H>AO11iR}{hbbmm3nqVubhh40qh z&za<9ez@PnXp+pbE0Zs|tqn}}+m&qZFmHnC(b?bJrFyl??;rmk-@a+d?bH?W2ZhhA z;9vK~ux&|@%=4Kg-`EXwJa>mAf8)9GTKs!Y|5y1>;(PF>vO4CL>C5Y@xvGBw^8kaV LtDnm{r-UW|zTIx` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar04.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd5107e54d31b6bff5bc6d2600fb6a24c469092 GIT binary patch literal 1255 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qXOo-U3d6?5L+I-UC@Ou*ry zyR+umbB2|VP38)xU)=C;qw3ZhN|iq?)fpCEIFKsp==<4*f5GQyTZTJxITY2LIywcC zlv-vCW9E%$+XGX5FPoe%wmn*WeSYz*YxADYR4wkB;CP~#m(y|LWCM55SZ**>%AgtJ4c-qv$g~L*?h^IWZ*||mLP%k&w z?3H(`fhGVAU6QvSs8v(5phwZ^MCXJK(;w!7PChLnYYx^6D(((`u-=8kP;ire_J?|x z6MZ5-dj!OM$07Y|IB5$2fOOAizd?CdnE+>wyIhYPsuA2RU+vP->$PZJcmK&hZ zI-GR*iQwslx~E>{?zY@kJdORh$=t`1+mFt<{A1%gd70#%m+SBQe<;>_Ceu2DBl5ml z_J>^{gMfCeIitI43M5HQFx}}I4+{-t$*QH0~%vx5(^5e{+HTSm7 zPPR_3EbzH(Ij_+Fxy>2pe5v|*55C8ovg87L*rsqs^p{Nt7l7@9_y*|G^qQ6T8zH7+ zWVW9Z^uPWVfH)AQ0TPHnkG%i9w9Xty?tCJ<@5*~mNLau%KtdzlPUsytBvG6JQj|06 l`ObNad1uuID#zP1M!a_^o&3*kJFoy_@O1TaS?83{1OUv~)#m^J literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ae40d60a05e680dab4ea1530a1f1e43aea05180b GIT binary patch literal 1317 zcmbW1`!^E`0LN!@rLnc8a6N7)<#mm0Zb!DZB2%Gh*j&$fj76zvW5}+k`uRAW}mzggL$JfyI z^pu`8tD|G``LXr^MyeJhC;g}1fz!C8fca2l~aFB&3ozknEZcfl>O(%8%_Z0OS zW{cqaoSek)D8s|ir{=~>j%3N3MN%#mtLC1lAho<0lgjSAG>LhM>{wwY~=mR@tZsR3f*`CT=mT+I>)(?u2B&adzBgdLDstq#@T zBmcv}GI^{(x|XDN3zSK<6jd2i;%Be&s5JUdJczXfB`A&X9se=16uW`?NEE+0d2{i=M)Uknj!O6G zR4;n|FkZH-mzt(@a{>{1U0&;-YR{M3BzDGH2ROvwPMHE0x};7OAmu^HzL?#fftM9^i{N>i~o2ipK-Wg&1(5>|nMvQod(>aA@-NR-bd>qW28$d{sGUTe}r4h?M* zbX2_Qm1w=9p=jd@MKp%Hsk&)iVc(uP+IFk!E!Agi^~1OQr}t8p5v4;9^Fu^~gr9{1 zlASXKBQ@CP>?~`Mje-GlAmp=IFhnJNCj;%a{JZs>qDyW7^cQ@I$P%GC*Sfp~w=trJ zBZ>3fAI`XoM(PZ2mp0@CBgjSUVe6YaM-XdwCZ0CQU$ORB3j_DD@i2iYZ08e*sx2l6-fBXyI`f)V? literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar05.png new file mode 100644 index 0000000000000000000000000000000000000000..5587db516cfc65da9cbdd0b7943aaf7944b487f5 GIT binary patch literal 1404 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_oAVPZ!6KiaBp@8y4LT6LAPs zcszC2iFucfaG#nKWWaiSW}s5A66=FU^>c!EZP>3EyN|soCV%^FrjokV{0!mhP92>B zNlGm!bhW+OM^rChlMPZhjNT&0BV?`(E7n zdADRoDU$bSf6}z@RM?N zCpY83x^g?i!_#Fg*_LY;2r9;x&SP&rETq`{qxg_yg}T$e0}^+dI4ZABWIboiCNAjY z*Rtn`#GO8l%6UxYs=z>>pf1@QEv$IN<%Dt1LD`N8{=pCITsRB`KUp4okmqtj{YTG> zc`heT#^mtmDLqLRyEwOVLc7kQ-@=N^3r`yE=$PQ%bI`eCLcGO}1FQQEy0*+Y)XE*> za^knnB6cCgt=auRp*@EsY^HHkp8jpvF03fas&`t+>E4D8F_#nmVi!9=F+VNUkj-1^ zNdZ@lcZ-0q;&CIk|L!f*zfadccO2xBxY>pkOrS)fe@4QFU2u~5zNF0Sn;5IXi?2RK%^cE4zIv0&c);sS`vcV0qfE=T1o=|j1oj3hHVwuDLP ziDlWvvz-MA#~#RlwXp1dA?ISDwflt$Sc|4)bJ@kYARA=*cON_nVmt}HBk<0>rFmob zId_n&JXRTIh~K?hwY#^x_Il~seujRVsaGcm_9exd@7uF`?~gU7-}j%Z{GGhK{=4Pu z`16xD^nrb&C~t96&&m+uHAtWV#SeclTo?(>=9Nb#|6&H&h$YKUi2t#SU9ZDa0x>h2U5eX)UB4HA@_I8{YmQG}0eBf#oE5ce0 z2pD<|fncp0+HNJ>bO1w)%s3>7y3TulmUEAg?B4yMTpz=YY&rm0OrF}{F zrvPb?o#Hi_bZ=7ur_X>jUjEchE#+e7tXZFlxILp}H-QrjOB_pE=w+_ZrLz5B9Kfyd zsb()%0bn7sO-4$4@Eh(*r(M;H#&ggEt(y2z;vJb^>3RVXCMa_bN4kk89~N)|pGt<+ z>OS~2try^uH4X;so8xHSZ7^`;m7SFG8cz?jB!R)$B5t9nGfQJxq{GZ=+Oz5{9cMBw zha266{cYUwvHimDay0!kY>TbK42 zQ`TRsk+`sdBGJ08Ng#dGvyEs(y*4IyypCejKc}O(Slim~QzVpe+IbD911DV;voP%( z`ECUNsNnHvzE*C>?)^VaAdPo2jJ!eZvz9997V?7`-nS}z2CY4O3LZZu5Pc%iqb;Y* zFOh`z?hRprxa;$4O~f#EwS8j6T(VM0RL_-(*DOP^p7M9OXs(l^MZ^{L2ZxWHL-}Cj@0eS-t%_$IO%-%_k@S%PJOJOK|Mmt zPP*Usz+%yJ4t&96VS)+VR4$(54lNCzpcPQP=64MY3RLROMT-GD)li?p@<>f!a> zZ#e31lfhdS;CXwjuS)7-yiCKYTH_qbUxfR9=bwSrBVv)cN3#V%g?y&3uWxnrtD~5w z<^3}?I$9gIdsC9GOV6ib`~#7rT>X-?5LR$P2)V;6wyCM2amW@ViW-Ww{W)t-QFnxU8(!dT?Wcz&%F2Ck@rk zsW*Ycb)DU9J+UW`!7DHHjOjMJi5sx~U4ChCGtlVgC0CoN@~MdJJKVM2UZy6xDPT2n zr_*tU&5R-LVoc-~?&6W?+lpr2nww67B~fG{LBouu9wa>89b-`Y*~6S{`jq~ zGy<(KOkDc@F$x1r31H35MF-B{+~8gAfW!&P^_9-wtgfE;0YXfb)Jyrv8Cd79IYdd{GtN6g`OQoI`)T5)hf_S{73P literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar06.png new file mode 100644 index 0000000000000000000000000000000000000000..5e1e3c8a64517395a625c8704fdea61709009d36 GIT binary patch literal 1240 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qY-o-U3d6?5L+KAU^jjlu1r zd1IEB{kC3&H=kR>`FNT6rrIr~S zifT?BodQY2nVJ8Uao(rnEBp(le|(+$J4pT!-{af4x4(DZK6n22ZHZ*-XD4;NPuvT8 z^CUniC7i2f4k%2%C9};}aw=PNARQDqDg0?4SV2KlIa9Kxm!qkhpAi@B*{MW;9ijCCxU4o7?hsmaoMziOn#Tl#;@%3ZovU%u;l+4 z2b()5@N0gk02%Sq()fp_%L#vt51TtcT5Z!l2!oZer+p~yobW&B!E#~6BQ7WQ&p6n` z@zbwSP|(Sz^bnSA@%@7;ZduapnC%bj}lc1N*H<}~r+JN|Ba9=QE}dCd*` zV>2Gd+MKqOe`>`A4s5U|AmI*XTJ$#m3-$*E3p_rEU_O+o3EOV~aS-wPgg-?7y#@6) zHcN7HZimfh)H^E#jt1h*#by>LB1tu2<9>#-*B7v}cfHjDmRJm)u6{1-oD!M<_?5nD literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1cb963cd61afccecda0421373e797f2e3fd99ed6 GIT binary patch literal 1311 zcmbtUdpy$#0N=*gWQ~y|@8{LlW$N77@>+|ni5it(ddOLM9O9Ur>looCmq%Xtpd#u- zefVXp2#YhBjJ(!tJyx_V(Zev0PXFJ3_s93~$M>J_=kxu1vkv-tqjXGkAP@+ON+HwN zHS`-0uyy{*hG{?`np0G=X8@~wra}~H!!QyBCR{&u_8%JTq^(|=#csTWS4T+`PIu9rIK>XOzG?AN30l-N=7(*Q!Jje_whQ`RcrNRcZEWOq5=&DgEPtM#scE`EwKtv@2 z$RP2-`V@=UoyyaD)RW#y2Zf%9Vc=f)v1ftj9Lo#h(bQEeBBOzj7+IApYgy2e4`EK5v$o*-&Luwgh`h20cjidD`h)yP*y5VuFChlcXANmgV+MKZlf8xY{7 zVm>~$#R+1nI+{)Kxn_Y~Xq=0v%8wa2l!&W4Qa2e_`atZ_nEfbhH-ShbS^<5e*C(13 z8DoZb+jF}6e*@6?R*rPiKa<%y6GAv%H@d&(sYGJp@)q7Uk4rRw4rLH7#Id@nevFe! zXBSS?kIgWDztJ%(R?Lr|J6uxw_pYSJeZJZi!M5uq8G}f#suJ9j(|~6DTRwU{A^Iv2epwam0n(UZdD=HLv(XZ<(2A9qD0;{WJl4*BIFW9&zHvp$Fwi)s& zCK2GY*2Ip?xx#^FSMke?dl<}GOsE`9i^n@SCN)?)W)j(H3~QH9&E?T8O1YqzE@?KqYZL$g literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar07.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd5da62d2c41532bf5e6401fdd857a37177da07 GIT binary patch literal 1394 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_oA3PZ!6KiaBrZ1m@j#6LARK z6!3k2BJ->EE)n0@+mk%v&V87}%EGKV{r$u#o9?~;&idj{pghAmzZL;u#Um~phJsE$ z!hDFkbix#p4-26j#5gpwdjvok3Uy8 za@@RB$t9z-pIy*sYU8cnt}QvsWSfq^g zdJ-*mac}2@^${-o3Qp%9%}Op1RE#%Z>sNHLD=%oAF5BGAVcD!LzN2G;f22#lic^xf zJW%MTe)5L|r6=(={g(4MPHKE`Z25CoX_kOu{pOA^Q0#BgIhNqnBIDb*Ul5oaPAu#> z_+RMZ)t?V*KndjGQpx6Y1)%dj?CLo#l+n! z41WkKrRa10Q51~pb2m!geDD3^*mc*g+AI6LUAZRj_uORr#W5DwzLs3y;eY(W@m+Ve z**&w{{bHBS^ItaRiL$LTIBw2!H}V&J*jk}d><0>`^@q5BT^53*(72}9FK0kjojX6f zb22E|o=CeRu+Ob!^5*V&^EnjN4$b^I-?bg&(1NIUZ0?FqW(nf8?H~!uo389iPWMv9 zYbSH4r||T-Lejd$?B?=7^OpA@vn)jWQ`}UX;?l+Mwt%!$-f(4Cb&5+7zuU#3p2*V& zj;Hk-y7N3*j5l=i`GUgbL(jpBofDStRJ=0{q-EnxS9JxadCB5;=Wwv6@tku6+2X&U z`<-LU;!WLt&LAxlCK+ak-|Yk`|F}bXP7jdbRCk2;VV#SG#O@b0An)}pk!mix7`yiS z?~3{FcSW7F*t&evuD9iVe|w4^MqKY*Uuf-nsK0b)ZRMHEK8H#p{fZ{(M!Exy0VbdP zIcef^L2dzZfawPqfIxc^f4us(24pZWi`N{T{filtw7^nGszAE`KlS}<2vrCx7WxjJ zf29sJ?n&{zEAnoTpo16(Qw1{l(ClBza7!U3%QVctdL9%~iu*rL0;WGKmI@@j{`>B% l&J-V1w_tZ6EkwVG_g`3Zyea8`39u|>@O1TaS?83{1OP>27MB13 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..71d5f91b657c40d1854dd4fb59080527353ff68c GIT binary patch literal 1602 zcmb`I`#Tc~0EQQGEwSUWB$uL*l3Ka+#7X8d_abW;mP?e|iA{`h8;0f9TvI4Yo5@_3 z%5~de(+ZtrV-g~lsZq=#r}LaY;QVr)=l#C-`Tl|r@9t{9TV6vR008WUIY2M`a?n4K zmH5@$$r6$PfV3P8YVCRBuAtH-T;(F5?-pc?kMVJOOsva1jMpp=ok^A6bD)PIDXn<( zuBDE>T!K>8kkn;2g0Sj_a+pKzosl=71Nf~=?&&~bKy`sv&QcqUc2s3lKla57$Qzpo zep@qSwV2N>o7p;%x%|4~<@V<3)lQ5lNlw@OnN1@mS*JP(R`vhkKAl8_Kp+GHVJOsd zt((PSwY8ZJAm=uMvmb`EM`;ZYQboPVN1)7h!K;>0xH|r647k9d$EP<&EEWUtP&pY) zT%1p*_HSv*%60)A`jd}pyS`-1b2&L5=vxPBw?8Z_GMARJv!6r<&p)Sxji{$sR=bA^ zDhx0D;Fjpazd4_TO7c3;v-tPSAv0#^i-Coj^IlAHDtTp?DMZ;VxgN|m-zaaV*=){x zc^pqYdM&-+pk~{bhYW4E()-JqGN){-u=HJJw9&ZCJA8|vnvlNg>y;tN!If2{`=whA zD2zb037K!`M6f2F>VbkQ75UJ_2iy(CBX>x{XW784I1AC9KXN9T0L`lap}np@B|*}V zRN?`)2##`OU`ml#wola8ApI=usj9Q1{Is&ut7+@3zlgMjNtQVO^*(3w@nj?x8g9=e zDHf6qhME~xj|L`GgoKc}6h|r9LULH$dUMph+$3-)MoXu&3AiIwZ}G^L{UN5ru=gc$ zxn!04fz4Tyr;ZJfwWJGcn544qesSS3%JGFkiuSFv0z5l8twQp?JB z2-K60PVwKKdX5}PBnbUv>d~r%^J1WjX@zCXtg~qa(emrUJ5pd^Acw;-9++drMeEu7 zbvZOO{=n~xnDUhEr1Ihw>L!cBU9-Af4KBfrQSs|L_JTmArKQpSH$8o^4p6l9;}Q*2 z$9&W+&%~4)64ILL1@9v{oT*ukDoi4JpVo9U_SM+V4*#g1qCy$irtzX8&22SpE6aMb z6DM@hN*BH$-xN0rX>l<$oyw98eeTCy}yn#UBUR` z^O7~~kB}I$iPNH^c!>$>>x&)u8Gl5~tM9|pCVN%N&1w9KGa`i7F-yoRi}5rwZRL`- zgd&*_YtT7uzZ6gbQcXds+x9k4Vy8-Y#=z+Lb=AvX6frZ^4?! z8$Xn%#v*Bn8Bqn(nnt`9^>oz|+Vgv7GTG?zTDK9Gx6X%(>cZGs=9ZTH!NCB~pFE@- zFzK6m1n&w8nCwdsiOXu$Z#(z2EcW6)4|*Fsk40pla`W=$u3K;=!C-Jo?CA~+Jh#VZ zToJ{;j5h>HPWn}XC_V`v`)dMAa0+ttjFo=*O!`<`gpr_oZEdYsEeA~U7~h%ghlm^U z11PD}^2Z`PqV*vr^0iQ;ttyY~YYblsRLpdZ-moS?jTDw;mJ#`#n@5H4s2eG(6gF-k zW`!zp^1A!1;_}pH4AJ#6zAFe9tr@T*i+x6KI;$(F-Ikvb2{X(7$hlb0^{2*~#j9O~ zwRu_P?6fK*9!kQY=9I1bb%KtI*8$or?*Luca8oI0!gu~raQ4T82#s>mmSlyWX0^>2l?7|s9y literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar08.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar08.png new file mode 100644 index 0000000000000000000000000000000000000000..d62ad0274b1eecf790993e8eaf6a9f4e156453d2 GIT binary patch literal 3478 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar10.png new file mode 100644 index 0000000000000000000000000000000000000000..6486b4f0dc363c951a4242cfa457a2054866ffeb GIT binary patch literal 3738 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar11.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar11.png new file mode 100644 index 0000000000000000000000000000000000000000..6779b0364a4c58a7c543b7f132173decab20dfb4 GIT binary patch literal 4347 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar11_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_materialvar11_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1216f4059e83633329915bc80eabce56817e4760 GIT binary patch literal 2469 zcmb_e={FmQ7ftO;BUJ4~ON-il3Rdh;`&*V?R`#@wGHRKzGN~7m@h0F zAI@6lm>fP@Y@UGaY6dT?v%zmPx!mGWD{g3wR@%?ru5%1>q8uEk3p6EO9Pa$=&hKpZ z{~G*wLw)nR($LJ*4M7n%A28^jmYS9gy%yg6;>jH4jOGTyz412C^L(L<#p_sGfla_5 z6*b@AG)9iiC8j9z6vLo4d#AdTp~T%$>*ly@#>5OYes3yvsfV_ZbFku-u+>ijz1Fne zsW$>;?s+2G*xlwJqZ-d{y7NQv=-dJg ztBVomPYC$lew^5D#XU&*-Z8&1f_K33iN`VS8`oW?3?%D+3*f)<#PM#Hg0mcCBk2w) z-6!F|O7&N!bMvW>AiCQ%Ai3@4bzwsP-Lu#D zYtE#5oM_c|(W~UUW#ex$U1e51Tn~=to|s}BaA$N*1dH5LKvm?=$*9r{AD<{G%d!uwXn~2!XhW(KpHO z6cO4eY=|R^PuMSM$3{!EgZ`O*FXg4{<*VtG9CpEaGazb49!BD5ZDRxHPrs;+g^ZUS zmB3))$2;D$-Fsg3uG+(p<0%z;p?o;c!IS_?8_tNJ@!W%1&2hBcPR{2_lFBymxd&P}I4+z(EZ*2F6Mr zHY1a%Z*eM31$=ONOn1oZdvGihq#j-G&v^O6_Rjd-ob2R;&3<~k2ld2R%hjT zL0yTqfcdiW!u^XU&s6BlyO}Y8RyZRaY%L)22`D zwzeudZCIj*BRie)FF~q}zUBI1SfJbyMl1n&0g_YCsEN37EeQ3_8MT7<@~Jf^z2fF$ z%_!mz8db;!Ofg!T@#7Jkbn0g}xGZP!LbTN7stK;k@xNT_$v{27(cK3jSHv(9Itdb} z4afL`8#8t?$7GdRFoh@Pb8|M%(vTh$Y6sFPG;_ojUA33;7_aZ)eBMd1np|p!OvMGf z`a>W$5xi@&dM=VilcbS8JJN0#wVIU>r6mJy%&#aKdgq{Tau@|nfo#6$2qmbqL`Pq} zXmny7kw1E@g$DEz!ehXw(w8%v;AhpGxhdtnYe;a0SZe^HAwaJ4Mrg>rQiwdpI8*mr zO-Z<-vtR^YNVrZcvM;bOFl7m zVm0v{IB0Zk1KN6|(&shz6H(#en)&F5HP0KTwds*#_SHvYHQ* z{#yL^yncdfkj}ytYeCy(a?PMCp$S~mN zbWt>(7VCXK+;<9+c_psh+HA|%=^&ad1u9U}ynPvNE2J?|)T_`gU7463&YY0mQLTxA zVqgJ9(bhL4;SS{kFv*#XZ+hB8a3xwiuW2`kH8yplWy|zENY&mniSX{JeI!kEIyM10 z2iBx@&evxR8R)&p)lz&~rAsscTL$-Qb|NoBI~;ZugSVuHvfv(K>T9|FN5)G^-qD1j z!e4XmMr#em1QY+%nEcg4Js8Q}&%61CaU2sQtF+^$DnLcykrIOBcO=ICh*6J^@fbo5#7N5%m1fCV#1unBRDFeT z&9PkyyzpwDy0$STK$x8%di{_&upH~R!lY2Ek;!#0xf+HuwNv}Bx(g=0IE?SL@n2L> z=9kl_JF1I*Pz&{i{c!qak`RgCr(CE2Zo86m8gu-V!ayJq_d_*bWa_P^Gc}NXXNi6> zZ|}QI4~K@`YkNQ@{~1hwrv)T*d4=O`bIpGjq>3O^Lom1LF20bAx8bSPVbo8D%g;v8 zC|QdTPGcbTzRoSRt!^C^Ifo)xZpHmF0zuCG5MuX^GvC+*U0FU2edpSsK|)r7uU>iR zB(GY0ING=|s;-LF&5j88;<3)?l-7&62XxkK?lL@?+!=8^E@`X6J< a8-D8Uf((oQ@9yLH1%O{g*nfZqB>xADB(1*y literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_mesh_point_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_mesh_point_05.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e0213ad42c149c35a7b2fa4ac84ba33bf75295 GIT binary patch literal 2176 zcmc&$X;4#H8jYeeFD&v*Kt&B0*%yOJ00~jhfCd*pO^^{02sE1;K_s9AQF&;~ZUYJ! zKt%{3OO(xF2^cV-gHTKwu!#^LDva<9i$M^OPMn&as{TDyQ+4j2`{S$oopZkP-P=c9 zsT!)ARS^h;#zAMN;|Rnm3*`Y;D{kiWbhaZ90QI2LK6(@f9z1nXYzwYE8f_LmGdcsm z3~23SYy1YTpKnS92Cmtfl^)UdxJ`c z*n`8413ho5-Kz^x7er@5fC{=`k3rf^h)F~~-T{x(bW>Cc?-)VMEi|?j7Zb01HEaTv zK%fy6&U4}Z=wfTUXPpI_cv-?0wHsa621ZQylE3(-?_~@e1JHtFYt(W_g71P|`z$@P z@C@tjR9%_s0}gk|Sr4JfnO$C>uATR&xQU zER@c~q3>lxv_pEb(Ef)W$!og!?{+Ot%W5wGiGSz3pnZK*N9EJEd1#I_awjq9(pk?K zR>ng%?wYyR35fS|$(Ek(geH!xd?cfZeJLcYPpk( zTGa)Y=z$uw=Gey#x+M1U!r9`Qwu$LUTQk_CYBNto66s6xp*9OUoWuiukGsMv>kdmj`upReC~4ldlNI%3HNUSoj?DgbO#DiI;Y?R(P8phTE38lbz9@x~bqHYm&=W#3 zTnYxa)ZKIqEdl%J5!;^{povqVr}MqdAdz|FHJcpQ(1;hTOEpi^)^t_)0t}o&4;m7C z1o#6R-2<`Q7BxJ1pwlVwV?R3buFBPM+|^nB2JAUsVfd9thlO8N8$mc&MZvr%_pc%h zlRBuP=`bhs`iY_Z$r z+t8J5M|}E4enYhPqgSji+j}Z19uRaNMY<890n3{)+I1m%vq1B)@FTXvYoqFk{Aw!P%t+_qGoecuvdnQhw?TvQpoJzj6aelq)bNvK(RU=9;dUH_v z>{OG-W2L=+BD{P(oXFA|r3)gGcapmkK?;X;X@5Z8=+QW^;>nQL%H!$+Wsf!i^J3%RS`Y*Q%l4G~bdWV$l1!Ak_oDbarZA|?xIy=RKXY>I>xsdL>P6wMlM2uyJ$+dZiD+18ihx_5PC)YYoR zqMjGTX4V8#+FsQBX2F12H#U}^AG!+{%Y}=*$*(`H(J zXkr=8{?i8KggpPcG;kn&xhar3l3L!7k<(eG${@ZF^F)2G^a@$k8sw_qTmZ4{yw&QD ze(mau|H@7!&#M=8(*=C1V!4&<%4F6_0bKK-H-70jz2Bld`D@M@YV@YLxt-;N@Ws{C zsM9nWvf=sQfxms~I$G)tO=$F0OD5xn*yQ^F8{av-Tz>wU6 zk*xA*BZWHmOMK4z6)kM;I(o?4C(lFv!Q(6y_F~xenqhNy)8g&iOEGR>*5Ma;?D@fU zRQ;gX1$o{XI2bK0Taz@*GTk0yVO;`k?e%wicRUHX;GcF8Jl#yPBCGxbM?xdKRIp3qaWUJ-gHJ!bZc|Tf`o7d#FomlSJbci#{}y)a+*4 o!`&2As>mn>SIQ>-uUJtbH5TRv#behiein#>`(2$XD84s-2PAXPjsO4v literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_mesh_point_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_mesh_point_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2eb39a96174998067e15755605fe38d7378ef571 GIT binary patch literal 2484 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_mesh_quality_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_mesh_quality_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..399a142e1e1b240d6b5067afcb2d6e26804aab99 GIT binary patch literal 6040 zcmai&WnUA3qlFQW?i}4EC0zp24HDAbB_%yzG)PGfX-Vm3z(z=y;K

9ny~G|G)PG z-237@=l8rhAK-lXpsj+BLyd!if`YH6s;Kwhw*Q}Cq5hXI;izaRD3n%eigE^l`KS3V zN#=;0!VMUryY0+E!{}`7#PM@l$Co@VGcqpqgxz>U_mMB`xl}`P7%5vx92w|2vdY6P zC{dc}R5bqX6BmnMhh%0Gma!7H3ENgvGA{p`PGMj}sFmkh=on$&PjsSpuHhdi(Vre` zC4atXxKAvjuQZGHL29)cdEH3=Z(S{ER;+59Czgq> z%Vw)u-q>I_T{V8Z1U+o`frK7LWN({Y4$S~33XScVMft#>#|Tg`!l(yoTwA}}0=gSS zzC-H#Nx~$Qx&nms{dF?$TFH|HSnJKos6dx}djc&}is7`4+>*j_#822*VOhH%|PULHO=wfZC%@5_OrsiX$p4=B2nz3j~9(=xY)2MH~9knDL@F;6iHZLpSzN`%BbiQZz z5&!xF*s+pMt+tKY$Ozo~@@M4baf!0=@MheIMn-3`p|x$#ie%X^m{i5xgE-u{3(Zi6agmpNM%9@&j+56Yy$Gxd3AbZCh=_Nb||Fc z`A}oDfnMI?A*Pmw?jFhb^)HrmP&ukUMRjCOXq=giEzhqs_wJ0}R9bS6Q@A;xC-`j& z{p)AW>uNl|2_j{xrpdwg&i2K|g(`wrW`pm~rIhYw?a-7%4t^Jg^f-LGsyWsg_O8=g zf>*;SrpKa?k%Yb}8+E@OJ_jY#$C~YhlYw9M#u@5G%l~&&eWARw#==oqAJuh}n z>aYmiKj50jFeM;=xsL-K97D&Tb~oqL<9}3qvBsbw5fD(I8$>37oISRvQOS9c z3ufb{r4w%zQi7U0vdW2V%XP2(9QL^|9jJQx_p4Gu@G+#~Vkrlmo#62?yWuVUSqQt) zUJ`_0>T~jp*!$0^bJg6BBeLQ~>PE;@aW!~T(s=fvlU1$7k?tNS)pBgP1?cZ!(zd`o zTtC*gvxdeOi7iItV$^+I|5i+hOlHI2-=(Nfw~9@)g`M3ePv3U_HWq=kECW~|-6`!m z;)%WLxU-{tSU!0taj=sSVV&9b&>qOj2(mXS*I=K<8f5*_v#2=s>-dwT@-i|1M$C^| zgPD!a`vuC3KGCy|{Dy*_Pum~48@+Cp^@?i;rsknZi5G;zk@lEt1g?H~DJ)G_{WaO2 zYdnlEM6&poUyg^y7c}cF$1ZW?Sw&c-6b-8B*sBkL3JFRj=#p3Rek_incDl$vcT-QV zz`3g|VtH(9+IP0FSkKvXdAK2cPR@H+d@$OsTjgTVIh&>$cS?Bf z&&g3%>cKqjM$pc0dw?~}2(xMY@U*Efk>cS4x*A-bf6lfgbWl=|(``~~sOphz5W0BE zaMBOMy?}03$!zfEZ}K|L0WBR+qvNMdYSuhfPTs%W+AbwoE7+t9;6PRXVF{s4t}+o_pfup4n>Au?Oi124_DF92VDhmvU|Vl=1(j>r>-qG)oKg{UN4#;nx_18K=Yr z68zOb;x65r(&Rn2a$FvqN`$JJkYc(K@^F?}W5h(xbj*qHzSYh&2xM`_;88RZ=_e08 z%u;R-*pkhpAHVeZwO&P4)6cjuG~cEH@l3r{G^S+x~YUqW?Y=A1xyh zQ9qmCGH`A`bF-~48@6@9F+J9wSqy+BfFl~I?uj5@ea|CGl$!? zGbqmd9*jVGn48o{EoRuHGu{rH9w+ReuoyWiX zV`^Tw3>AQxK%OriK~6HonSdtQFR|kKVAZ?0fzj6fV1hg?OnFUkLBQd<+rJ`){z)fE zy`%2F*@vw%U`p+9Bk?Xx)!G_h63;E=A4=%>c|z7)CHw@L5b z`kkYAM2MXs`S}E79@J6T9=WcN z+KCp5)TUyA)muOduZLF+XBv0fWigB3g(?y9n+K`v9AC&uT~dYk!JUYYdB|h6IYvlkJB@Px(||| zrU^u!1R(b4WxQpV1)=1<2+9RN){HJX%>5|pX5y&>^kZ41c{k{RNP5Gt$IVup1W;Ol zm;1`w??&FK-If8r=uBx*S*bMNV?9 zh@xb_89?-M0HH#zn~ZCeepG_K`H>;=Xc`1!n+tof3W=ySdOb!pteNO|L|op+)J zF+IOCX*M}r5#nu?#EJ#!;_TVKkj%BU8P>`S73kF68|K*PHDt?2tM711HdQ6sq@u6b za4mzepPt6I1%?Ksim9B4vIb11ylGQ$FD=*4^7`g3 z)TsA1N+KCwc_WMuHWR0Q630WSMqiZB(#KRO8Yxqo2=#1TdY4uvlE{b1(>P1J>^_hT zy=LPhiizGSyg_m^>GXd$&u;EjZNdqm|F*6yvTsdmZ!^a6yW+HZ-tQV~d zINPel<;E^ha(PAdb({)kFOhn&r+YN%V602HZKkuz+QXo=iWtQsdW=2Fr#iUnkh=mx zRgjqDnBtl>>1PACcPAoik;6nLVU-3KUds?fr-rMMOH4g!AVbL^(&$jq_D%FU(=gz! zk|y)5wklvb&+IgbZCHeW+{GqAAk|kPpuL)^&~^;W`V|k_OhGFUUrhMs0($RJIs&<8 zO+@)yK;^HA0T&=HO`VeG*)pD)%^202sJlT^l|7tRF9@axq|Gjv@wh6H_z+k551qb^qb8oz8z zF{}}Bd%RN%%UW%8r%hYa`xyXP^y|tgLpFs)R#OWpTJKsHfa-gE5j;Xla~B}DDSsSX z)&$+_EH(RjbTmNjn8>2B%>1c7bxJoSg?6-hehQi?`-bs15Os}R;$8YgKck5$ZI{8z zP<#Qq8fusr^<67oJ$Fu2Q`u3>k-}2dGW{35n&saMz|P)z1X>42Wc^?S({ROyOd__X zLQj3*>F~F&u4csvbH5%}EAyGORt69byjylW`+;MvAq$Gxb&9YFH1vpQ+;m4O({TeS z3Jo8bgK)ZNx@r?=(gq7KuwxYY(J;Dba`i*dc4IB^_?Q(|%Rm1BUh zONV*KE013k#A~{%simY`QRn8>UBT)4?_cq()$c_`PGsT_mKaQhlSET+R-&E-pXqt` z1l&EmNko}SQi}HG_pxZC$fbtv=HDHrPNivf|KW44`{yI}c`)MLzIv`;nkvMQOob7L zx6`8@<3QLc6-%JPc!dbRVvU!b`8xKM3Oas+JOJAU8oBfF5tVf z954Cd5HjgvmVc4wH>qEdH>qKdd^HTQAW;8^$>LEdx3sA;;-5XX?en~=KtPvF098^F zW653Jv#6FwArQ8M?08gG22$Wkn?de*x#e{+{f8~&HeE>-@ajMEeAvBQ^PWY~zY%vs zaD^@$Nfyk#o_;5%5r5{&=htNpuZ+&FrXd_MQ6~L<*3}#QZWo~`iQHnv!O8blovIkpKe>$2E>_uU-}KM43$uCL@re6r z+k`sGSys~#1;#*iZcQb~UAyvm#Fr!E|H7CvG!RwV95Qqj3^Qr%#H@_e zemINwjh=}Z z1``9_?1_KwkNi<|O}B%oI(ggCz0%G1{NfCJ zaYy~9-((AM>13BpDr;M4>0YacJ`qs9_CzViOCM<9t)*qh^cazYk{;vLX=$^{3V;P^ z$g6n!w@}p{xWbslUEBzgl@as0Kram23400b?b{ET)F~v6uTH5A5oEu=m4A(i_gK;- zHML7g_i%DYe@c~Pye@I(t(}jPx0@}tQ|@|vx_Y^qo9kGrswyWDMr%r2eIyx(mAgNd z)NSZ3n-BvfZ;Y>m{XU_+Njce8Adz&juQ9Z(R4l|!s~DPdU7Po70S6@!Y;{JQ8B7q zdE5)`U)&vEi3_Fegert&qM3|jA^t!R4s;hL)wWq&Emsrw!>=%lTYl;Gk>dwh>tEHF zC{V`!fpwh_xK&R2C}p<5eZM%;Xw8!2s$l4eYH&iBzIEmm`X@SQ1+BIx-)@ztsSow* zfkpq~t#d7+bB?C&87%wEjnbWS(+y$D+rDBj$NHB<5+6qAUsl)L!&>e|eL+euoo ztajDoj1@k2=-km6;reyEPI=kEq~dm5DIGDP*jmpGvSI(mH+tT^EC8K}z*y5AcOb%c z%Y~|@o%iqP3wHYQj_wk(xlc*c6uRc8v*d-cj{!4G5!F#P!b4jZ6hg;EiFdtEz5Mi4 zi*mS8+FwyL(8FCPOE{b6d21{_uwvn1^=o~F-ZVeb0`CtB+S0S>18iBY455r*6?rXO zSGt0kJ6Fg4QzAbtLj%z0%eap}`(|zYvZ?O6l>bBDs7yThs09(3I~qNO00SotE6?$s zRp(-`2@1WmKYUA5&x1~z%NDwR_|r2r9Iy1wqwcM;nU~L5y~97&fn2SZgYs;dcBlI$ zr{9z5uMGX9@V;9{G7rqbU5eq#Qy&(J6U0C|$KX^Es`GqFUrbM`j`hjfh6%0gC~Gx6 z^x3M3H6lByPg?uYjKYE)GNy{a70X7&E8C{D(y*oIJbJ< zjQd)6f7>>%$-5%%cTPk`%mWHNe6kH=8N8@Oj4Tx|O-G4I@6<6LAIu$S?sRyj8f2D- zz+{+z`S{VbIYzS<6#?V2C84tUI2gifkK0Re+tYBN-?GSL{>Oy?hKK3?Atb!2B)`Eb zWPc_GaVbWTzVOpX`^5?K^A+W-r8L5(1eg#V9~t6cFCI2B)lHCl)A`hm z6;$(!2c_tF@M3yv%`!(n8UBnqxqKNf>~c!8Px$_HQppa&Yz)BT+l zdxk(CgO}d*Ea>{I=kYiF-CWZw+OzXl&8>wT6O>0jgly--PI*ib30vPdHAFrgYTIV^ zw&tJ_Yo=D#xoz)#Dhj;>5RBRLe65o=ag1E=9oeoGlD{gUi#O}6F}99LG+*QsQu?3 zz1J~rh%ixKDRp|z!-G#-rLf2Wi*(=-|MP0+*@2XftUyM*yBfsI&G8jLlfCe9RyJs} zeQ)-P%75kpI3n}%KnQYSEu0fM-Na#e;;=gH6?AudU@-} F{{S>h#^qG_bfki#r5&F85cwRd3x7 z{bg!ux_f$Ns!yFW(JD&cFi=TQVPIe|{;wg!eT>{u64SuIaI(uuOK5oK zoc#{6Cja*5K+Gyx91i6Rs22{6CMwc}3i|lZ-kB)!zyxn3!hQig1%z^PD(}rVU>u4< zpJ5!z|6wShC`)7Ji-z<7Gs%$%<0xt$VKLJv${h=?I4LrfURZ=LQwV5ZlJf5oE01f> zE06u?-mT>YDMM$@YtL8jH{LeXJtivDP2(g~Q|}(I95#as?L9SsF*97uk}@{L1ONE+Hm>4izWmfRJR-)3^CvLwZj=S!Gz-UcWPNi0xtG znBAlp1R)QDgDm5qqA+R3FaZBw9lBw3{wrwn1_@( z31;8oTb9K*6V^dO9Ag|r*at@2%a9&PYVcwqUph@nl^VM0hbJCwaQ?WQ_lR?T{rK!x z`6W$Y+UxgPLff_|g#(9t88#D40uwuAevDP_NOt%T59+i+XV~DcOK<~%_=f+ouK}n; zq6*#mQeHQ_Kx6R-iMi9l^na{zeNO6&ZMZsPU76_};R^PmzbcXSiX?!+&g6kW>bm;h znU+?@^8E6xV&_pa*=9pmG`L>UQtUL16$y;a{XL^(ti4ho+8`!^0#`9?$AvqdAOE;s zW&p`zsE}R(8#^0X;_zmLXH`FH|qRFU7=)ok>tC_B3y2jC-Hn6X+*bs*-q@ z4ma6AqWe`GvsjqMus}b+^uDJtiW6;rwnAi9Z$MqrOPD!Pk;XbvoXis(U^_CD9~bqL zIYs6$33aA2?^dZZ9>pE0M;hnC69Fl83--* z3t~e{@8#F3rSG5&pJiw zsr9`YBWEMyPc89n!bZS$f^`Eo3Nj$ftuJ_)oEJ2@jIam;8B+}#h86f^1q)eJg@2xT zCw&tVe_j0y`-Cy}N9PPA^2kc|gM58&b6%|f9cWj9^p|;dQw*tyPwPeIPaj`{CEz@Y z-tW%|o(E(tAdc!907u@#GOzUsy%vpVY?9ZTxE}nBE8abzfsv*8J14R#xz`?khvZA5 zQr75@`_-=7f1=BkO2D8A#>+wRukUb_B`c@ATO}Fl#+)l;|0r!5PC6V_<-O~$;mI?? z^8h^)O<%E;``B7xnWVJ%Vs{TPmk->qJl~98EPhY{Pqo;HGkNp$$zG8j?qBAO@ZUHs z;8A=*LdJTRDcEjuONdxbjPTm|G@V)__W)U(I6%)x%L}4ts1xpQIdS{o%f$(zEWK#H zU5`2cIYF~OChIhrahc5qzH4aql>P|ZnJlNco_#^L^ql*vTam_SkiH_)vuMp>2s!mF zrhcz--;nZ1dL~QfIfSYsc@Yl-!p6~=H-n1r!dJ0WP9_qYQ)3TwcY!FNsH-g>zJ^<& zb4TR8dj7WvG=NzPUR2xJmp2vby6U%A*^0kCp8H7q+XxTD>`ioY%kKfju}={qRDrnA z*g)Ft;x{w#%V94}`#yK+-!AVdyhC>dMYCgGBOX~h!W@?q7$nUqnSIK|H+YJ3oXIZq z8vTy-hFNVli8X3xb&1P#b! zJW9@vs6rkERo3I(6Y=5Hv5lal9GzMxsGrdBetHkeez!*1VM#QpzQb*^T*O$!c;9WY z14eLGh;L<~ZFih~IVe_$99yUeCEd34SxdUL#+nyu{|xzZWd$SKS5jks3RPT7$s5sf ziTd>qv&EtCu<)Pb_dlj;I5J;PAo)3iWR(;R+_{)%c-=Hv|K^f}bRnuw!?Z7GYI#K( zH%jlAr9j&GqPv7)U|SqqBz(mS;&U1VFTxn&?p&XHz2zw zi{Z*5?LP`yl70U&-n>(lS%;`J z{>Ez#OYTxv!j-tKtX3TjGYQTAIKQ6)xfKuWSboQCi1WyDFVj&bjpYv$8?IzcDb?}6Tf62LJ!BR{4S1LXHo zdLFTrKO$f+%qDS#31826!kJxo&KM<;>LDKnpeZ7l2val*QRd2ON>K;Dk1&Ex^w!Tw zUvRs_vLA7Z26e$AC%1Ax<(Clt`uu5WunS_WM&GtL6yi%YMGcI>{#;q#(a zdAWYhy(DdRBfbYe7nF+kI#1Zvm5P(FLGg!B>z0s-2Vb`MkG<3fxC4KA6QZL@b&n3J z><{mMd#8MJ`Y#CWMbm)bVLt2xq>6I~^v@N$Q6e@l=GtU3xG@9MK}<`>{R4_zZ?N|h z9cf)i_3JHFT5-vJ4ZSJ$2X3w9Ni0>##4)MdoT-ju4W(+SdtbgRZs#83>>$SE6$4#X zomW#=<RoKDnrU>=2`zv-Het;`F5gwig% zh0oWx`MfibiQd{?NWYpn^|56H>w&*T5RM7$DhFS7u8-g-R`K`3?n;`UR6i~wzQaA6 z$!oW=)cpX96F~cdM%KP9>5O|wV?FR;_4V|H->%>^A7%jL*Kl|f4@kvemHV39<}-rE zc}RgJTcP!sSp6O`l}h_w^F<3e=P-Z@(HiGL5dVseybD&pL!scBxh-UAW%Vw{ysO`C zq}KbrGkw^rf_+;eXs&zMEgp8LJC1m5XVpG3a?5-Np6p)oUc?!zGX{k6xF!RK2H}oB zGYZcJV7M)dmia*tuP`Vge_v{gZh$h>w=|$~oMaUgD@gEnNL2c%g?*f6S_PnkIa{Z^ z#!Man8d8d3rjH2^<@^JS{^YaF^Wd$Fo3dpO2!SH>Y~9{?35VPVd(Uc`(*#e+)$Q#< zU)?M-nBzt4&+aP5!yOYftT&+0YBB!C4+otL#9;^>BxbXm zTrf&!gz=Kk6m4iNVK~MF?l`E5^3x&VQ$X07fQ|m>=1n=;Kay~3v7koa_ z@k`*7@dl)+sr@SOmEKHXi^~RbUx642<=i~;FZ7La3J|0ZhE8uyF%g9#^lC_jf(;MD z2zo!|W+Tc!d@sNo&FGUXyu+J# zv=2^^*gqyZ4a%oj772?7;RdH^p6=$wI0iq6| zOvbnsd`{=r=VW)NITso?3HL&AYpX0lsJhy=qB0gL#j{_;60^w>Bv0X zMy)OTQ3MxKC2_Oe_mheltf?|U{f9a-nrk|=8tES+cT_O5-*%i@sLVa?`!~P`J~(@c#CpF=BU=wd zkn&&sC7Zii!cHgYu!1qqUi+{Z)Zp?zd7{qc}5?g;Rx$Tw71!=a# z;wyORmhtgTbA$DqD^_;`R39A1a8+;wchwKguO~(=BVS*{VIXAXEM6lK;%3OgUx_{DQP9za`Svzp&Fj zWTGn%(R8wHZB9GWkDsZ@a*HruPUkQ4WsKbTNll;>l_TrPn%a5dUCZt;P4?CF%B5s} z^h4fH#w-fOG#6I#^52=UWLw9t0Iz(l{Q4s9oFMNWj61!aa)MP2P>>bq-M3!M3g!Nj zVP;j|n_1u6tY%5TXYCQIs>n14wS)lvzdZb7Sj60|@(+I#CEOD2w8eZ_>`yG=Ib?Tk z?}}TOWvr90=a;Sd0T+CK-u*H{zCv8p5k6-kSL-xz4HAmZBSO?G5Z5AGsd=Y+0Rr9~U!QwrnfsK^*<`vYVR*ws>Mo$GCCkPhc@n#Ef zdVP79BXws@bWxyUhAXXrd*43xgC=U2oglPk0JWGWnoe#QLNP$nFY?j45K{_QGhNcS zPS=@hn|;otyNB&-q<`EX?*JNr`C#4(R6{;>Em$Jt;u2o56?WG!V-uK=Q>Lf$Co2Gw zoZ|=u$9F9MxQAnKE6{M1koY*2ywC~$M!7)HO)`}Q3AukjFr2hvL4HXA>kGNc*j{Z? z?M9#poLB2R^Uz9f7G2YI_O@52wG)DE^0ZAcvdtIB7B4g_XkFws3?`*EyLZDsLh+6P zFsRD3x0vDUA~t<)9i21W8P};5KbAMya#1IosAvI8c|SQTZF|bUv)G29o)>98z6HlR z_;FhajhWiE|8t(28`R0AkmvjZ9Q3U2_qN1yh9y=Q@9POc?^V$+FU>#|M(W_I&C1*Q zmSGqVN7@}xNc8XL65KGxL9qvSlr9*1m5Hs3s|9fI>c3|GythSqA@y{v+E@7CWNWUC z>h#5@;dwBv(iMnR9iQyma-H8wFx}1(nbrtID1b|(TEL~K;CsVdMc*))5=V3Jny%qI+1kQrv%c>w7Xc;u&Tk^24jsST*`~O78WaygA`D z+xDJ}Ls|tn>Km$(mE%r&-{eoXNJot&R6ok8=Jqyfs|VttEBXmF0aweJ z7~V)gWM_({9Wy&uE99YJHA>kEi*?Y9^PdDVN+HfC!D>`js~P^3CZJrM!Zccq$G1s~ z>O&<6Dr?__cF5Q^{h|{s=cXx{7KO3ahJ_%r#rE3w_Gq&X&|uK7G;WartP9!?$HASO zB_X7!pT9oPD&9@u%RTJ?5`@!iewyz}r*qwqJ`w9j&_Vxb_<73s>ar=1JAXMM{NX8` zk_Pw|rd29i(7O@<)UoGHOWq4idp2QgL{|7$loq>whW!VTeebceT$WZ@!POuuY4(2A z*pUWjh2SNJm`rBlcxJ<&xV#FUyjUzR#efKek|FLoiy1KFVRn>NqHDbYTD+IhDi$PU z%59cb(I}Oj!QGd{H)k~&NB@k+WXsJQW9V9fg(2QEDXOTh&>z4vyCvsxQm)gWsw*)N z=#t>m|BJ$YD{8aV=*}50da4usIxyl~*j{4e8yB9{SYynnb^J84q+ct>pOQLziu?Ya zp8{l0)^j7`@Ve32*1c0o(Y{|qzrjocF#cXKNRVo@TKxWX2@5Gf`geE~A3 zlR30j@H>=a`XzCpv*07~rr*y8f0m_bK0!`07GK5eIV{j06xQL5xOZ+j+HV|u(T?BLD-{#p&W{942>I3G7?7SdkGPqhdh?mB%?rmAojGx6U zqCwC&tu4_M!v(@6RLUnQe&3(QQbF^stT9`Z9YG1R<8+epIg}|1Ruws>e%WuF_EEAK zld!vIS568#c`X%sKZAl5hcr3-VFH@P!=dnpRdPe6F3;wU-|SKDY5ZuPJrT_~w8nlt zVjqQJodo`FB39_EO4^x+Tr6Mr0cCGei`)LUwsB1|wt8hF( zaH24ZW;Iz8fEbY~Wl88gnAzDjtB^KIRc_Mhhg{AJXWN?$HlYfj5%o?pABLzPK z(fMb1#aPO2oC9~eh!{>rch zi-0xzivdVzB1F9geH`I6p~46tg7K~vpQ00thwsE_W6^(iPeO)HtFlHKg7a`3kj%^fpTe*^aU zzj^=ZlM#<%tXi#K%jSrL;W93yaxuyrR*3h=ewE4nh}_m4)!{Fts~0Ga&N!nN?Jb;? zX5E;+1!$lteB4i)twawpV_$xGr_fJd{g&>U8l|T1oX@H_Z!s7R(PgeM@CM`e+ zL$QKE$~00WdXjoBH%G>kC=eCJ@xXmYHZ#9oezZpOeePUMWFS9GSTaQ|vX*}sA-C-^ z<;X>4h`&dG_<&}mF0!W~+RtFyEl3wC=|?2Gt|wA+&htoGp*@ea6^|P==&*oXLq`fg z$Llp`DmuF9DL)Ichf{=!@XkU(oNg$yT5SBbV`LGF z?Q!}_K1QYpa77!l>P8}#I-~c5ESJ7p7CwTs|1B0nTpD*-v*Xtn52w-jSlwOtmogGE zfv`D4ospeuJiHacT?b!(1b1$w?>EG&M+;nGp!ZP)XDaZ*#1WcXyvGH6S4=vlUt`o4 zq#q$B6b(zxnv@kFSfIM4`-c(>T_odv?rImUIKH&r4L;I1m{z9kRpT}2KpwCAlJ2aF z|D>k+Y&w5Jrybl?agje2;ZZ}km{(s-?Fie+=x>gTczI}$1{rDs?gRFnlgPNSXuDRV zz^X=hiKwNiJ0yg6&ges2oYCuh2zx&ZlM3i4h@U(r5W)6p{g@n2E81>A+rSC{g4BF< z7IcfFxV`B1voj`fCH=5A;o?%F+HmsYJd;2} z0cIJ=sYsPU#M`~bj6F-}cL=|5cIGnCzzBJIW(K^J?r!}{s|`lB9H{;p0yOpo{|$Oh zE{)JMrP7JSK5-_}Oi~>&iaQsgbn?=Um=}roqp7!AMI>olPI*eldeoeJJ2PtoveH`; zz)3o!%_7(0ruM)kg1>9m4PAaLhHF!Okh;KX!s*sxEM}?au|4bwSvW*8{@M@^GsdLH z&%yeb3iM{wt_CYwVm$q;%$%qh<)K#i9xymxi%LeAi{ElALDc&_Eu=%<-WeyWe@n5D z6l0>V1pse0;@n^HhB}zyuN1*Habxw|QnLtM{5^i5aF=Ey)dwQn;x0A@rfo^zOG?}Z z54gq0*NBisK;uNv^?m9w*WYXx5{L(;C|gDhTt5c>AG~()AP4QJNYID?0AdJG&V}nWp;5Gk;U` zcJ_ju#qIM-c7O5{V4%YHUDh#HFL^v&7?`?6V*~Qc-r|^K)kGb$(P`%=n`21ag0gLC zL~#__zW*BKa3}Kn5wAEMqpocg^20*fEEY{!OYuB@ltu9U7~%~&5HIgv`BJ)R>Zu`h zSu{Jp+RCh7Qw#e<`=UL*)j>azJ7>RA?1J^=edE6g$(DGIxw~Go^X4jwFAC|IW2f-# zLV{;}^PQlOin-b8Y)`GeChQB%{$S$5?wnsN2r4)4kpx- zI56SKV=?>$E*av8%>Q!SSr1o-0F5!P2D@@y_3@- zRxBmU`pYjzF+>b$h->ZPf^Gb6`}?!kLUu-B!z=cc4OkX-pHo3Kh;7dg z13bjTi{9R#`Yzic3AMe*3s`jm)NS2&hk_Jjt#kz$vW zz3?uH(!9WYLj4qImt$7`ldp8-oBZcSWU(sq=<`_9t|>Z(E8P_ah$;zWFyG>WeEJLk z#}Lppl(PNS!Of?8Ufzj@rdcK4UwUoy ztFnsmog}XK)Hjpdekw33aH z5UABv<~(mV#tALU&kyMPw!Pt0EiM%BH>af84x9 zh2o8sUb_5THM2l?e)TeKawV0x{O2vfNTR)7y^dshV2yrG8YHdVh=D#WO9Mh&6B^57#>@U|D z{Obcb68DasldT6HVn75+nqG#C)pqox^r=Sd+D>2h^gOqkp!x1bZQWEaCKSOk{jC5v zessSQzuWWX23R%|jB7gY6e6*FKFifv@qb<+ml4U0Bg;3{C8#V(F{i5LEgngYM{Nlv z7*1tfdV9NAjfcBlgikqkwEmnzKt0U6FOi{j#qE^p63Cntz49~7FJF5ROe%G+uzl6G z@_8(5mT>#;6+-M0<+Y_EO#0ZIC`{404DYRq>n&V0;8>@*EySf)w)e* ze;`24CQk9y#cGW-Gv=k36EdTXQrVCr{B`J>_PSty(e!Xe2Iu=94b?$d#)UZOP;KoB zttaV55?dFYv~x$e-7yff{urmH!Gm7Al*M1l*L*2aL;)W{4hO2y{rb!cyYycso;PPX z>@U){WlNbz|B8d{Wxh2vbcHm=pp3=*D7^oEFD${677H=2%UW|zjH#HrD!2dF9oN=8 z-d?K;t-TISDfG|M^#%-B#xR^1Em0=x>O5MV0Ueb(20)AcEkvDU%yoWFoJX8Z# zq;hSssy_e~ICDD01~ObL_*&Uu4vMBX%jgk65R^5>mu@IT0q$8^02&U)bzY4L&)>Zo`~VK5?8MXy_E*R{)?E)n<+qL&8d}fS*2hP*s5)j z{EZh$3quIlW_vE7Wq%h})8d4&^?lCr_I1XC6%6NtBsj0pjJa>N%b9WJ5va~L^HrlCTUp6=!C9}c|Gs9E?hug8m_Z;i^Dix5f&1C!_z+Hk&!opU79AOKh|!P4 z!^*lB=KcE-(mt#W6+-fMJh59FN_n08iq0b^5B7{dPFSySmM8MF!iQZ`Uz)Qi?s7A9 z=hxvw5_$MB3Zv*S_Z!V6m5}DG1pyWURCY%qy2?jV;u<3pp5GFqVzB)s-8kt}8Mf%- z5JL5xgBAg$t~6v}GI=E;Fab7VRz3@qVSiWTorQ2V)3v(Pd9Dse7+I@V*{yNyh$0JP zIAq$7v~8n2eh^i97j(qEil)X)UT3&8OKE8`4~f!jYuT~n9OxNiQbbghlHo1jE@(|6 z;+VvnDjb#;YBid(4pD{ua!)x=51>R0Ln_2Nq#wK%9T&?pr=9FWhnQAI+sIH~#$OW5 z;~t}WqV_I8q#x8nQY`cJ9-vYo#sZ*SnI)lDuq(dAkk#bU`C)wXo#nN?0?y~9hmNy^ z(&hGci6RgC(Z^959G4B9?bQ1h0cQ$4&7<`74Qnsvt|^aYgmG0rZafJ>9(F`Gm6+(? zWc&(pv!g&lxaFm_tgv;Z=p&L=%9ME@7hlV;*eP7gzo~E6;QV-)4B}lEBKaHi*~J(5 z{Srn8hmya5QN0i&o~+-DDM}>yQH<4;s_2dA5M#Yf$q_Xg@ zt(HV7KU%>nGnX!H!^_;HU$i$B8q(rUq7ok3aJq9oQE|X8ho`L_K?i8;P#m%jAI;rh zu9a-y_e!2}0=UntBzbB_|KK278PDOjDtm9pZ|58pigy}=RZSb=9187y{+F;eXh$&+*R-TSR&A7?Ajrml=aB)5sT=n;n^D$A2h*zwHD5( zUWQlFBFo=2yPg%=jGnf0#uNZ05NY$qNFp|2i$^sTT;Dy5XbLyPg_s36>|4Q#jExm|& zBz-uN{5h|*Dm9`9+ByK|Atd?JkQy7_G1

hSE~dvM=d6{zQ#cP0~jzdc*Nvf>_k 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_meshtype_point_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_meshtype_point_07.png new file mode 100644 index 0000000000000000000000000000000000000000..383feba1f8d47cca6e5fe8d3848fbacb1b1c1b88 GIT binary patch literal 10433 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_00.png new file mode 100644 index 0000000000000000000000000000000000000000..07042d6f0cd727646bbefc0b37cde0c659d6053c GIT binary patch literal 20546 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 if2{5Qf>f7rBIC*fIJ=vbmh;C36RG1(GsHs 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_01.png new file mode 100644 index 0000000000000000000000000000000000000000..d2744143641383ab4341b3a285051659a03e2412 GIT binary patch literal 29942 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..885044d4b778bf7aafea8a22eee141828b5bf1a6 GIT binary patch literal 7515 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 z znt8JQ^O(S@?nZEAL=cC(x9eBTHB_m6nTdF<2KLX4)tdK_Wv1dkxJXUx#Si>Rp1&&OMt zDy?3OWSTM`BXXTGh(ac9zBOBuMzYttDK&iB#X}j<=vavf*l`~8k?Z8!?YH%w2Irgf ztkYhZdAiR<+>>&Es@;_h4-eKP^dDhKn7zrV z=Ze@}FF}DQ!quk#2T&Jexunl5m@=2Z!Dd!>) z&#)TtAsQ7*FMS$k;}F8DY#~*2w?j;GwDaTkA_`9d>tVYm_G@=Tl_`&_ji%#Iu|mO1 z=v}sH|DU^jga-OtOHOY2cB-got5hTNx;pYM#hp#- z|BK|XW=8A|$rrQ`rE_B)<`+|M$$`+`{>{QypWvkoU53R}ifbM4&TQu!sOY)1#f{nS znw3h_YOE5gpU56zFE`%(D+Fu2?j4tHf#CXr+J>yDa|C-=hEQhvP7ON#q4Vf3mx37< zxGwkica^ceJ=RQqZm>{4h$#|3OrF658hv8%ayw};qI@wzx0R7qp|T=AEnx|6BFvzx zQ<;(lUZI?|he-I!=tGv9SW?96Hn>Ig3Pl6yR}D>4(*h!G^p|hZk8f&t3&_xrv^0ja z2*xzn3;V#qX<%s1#T&fd;TP0HeB$qzTzn~gr7}AD@bNx?gzDa$hp0o_Nj4-VUt48( zEf}UY z{Y%*&VKE&t)0-PCYHJ&jZpma1M^4VS?yj5r8U+$ICV4~+fTvvF_PJl`>x z_179snn<^NQ|BNcTM))6JSbH5zV$ObUj2O%{voru*?LOY&-+2uI1LUBdb@U~)N0lj zlqpJkt$oWdq$-5+`zRUmfYs$cb_+5*A97AuIUY`aA?oxg%j-r|D7iBQ%_)k3nX(-!KjpyVcYsC^11_BV+1*>S; zIT;W@#0+k7^W3Vym}1M*!Br|4R6CkdtQjBkvq*0XT-NW~9Kbmqs7_`Nk!$x^X1G2&iin1tw;79A?{wb6upmw6}=Q{}n8v7(k|E7ZrUYvnY(R#J!Q&;?eCldb`Q6iqVW; z(co%1$jXDX3ZlREfV^%@{nkP6h!cZwbMAUCDEZ}|0o~Xs)+6Q5eh*SXrofmuTUZGR z&>_aS?9c72>)tQ*#o;nE(cli;M!>n$pKWu~NU_pA!=`JnnfM}s#P3k+Uut@dbIz2V z(EizUez`D2+sOjIpHJi1YFE!huez0oLL-k3(LW6~hBlt{l?2+Jcs-qfAfl90wlRNUg$ciCaz9`_r(Cqu@ zKZ5D(qUMcXCIJ@jL!9C)TQ(n}-LQw0EZ_i1-t{)XgfJY!@n+s|8c#|&%bdCLhk)@c z`3IxJj=Fo>k@s-RSSQPJaqVsT>6kof;!*m7qgH>6Q=6ha!@UCqpy@RfcX|kzqB{+2ohyetML!TS26nL^1sFXl>QJ& zz}K@MNzIeiq=@H#OS_6k+^@CpFSRuIPRpbpJbVp!31>bv|K1j7<+-NR0zjX=9aO;hxCg({eWu0hwu zjYnjkZqZLDbuNpvZ9*=^YSK=wB=z)ny@hwcVt#v?sMFh&oB>G_&~*`S>$wS%k-pRwr6wP~5h`Pmt`) z8{ckI%19htP;Hi9B{9IqDUf~ZZOw-aLc~<#Q}1c_6yo$M?r+d~2UR@SAdq@--xnXI zEmLVp?`VAz6kx9huA;ie-Ic&>!fw|7vg9wv6YuqYz`}K%IIv#X6yQ&n_M;&Q{KfJDMYbaM!A&W-Kb*fI9PlGcK@qozuS4F z3p;z^V{gi;Dd0p?bL?kwSWz+^D_owDW|7-i6y1Go0#0HcvpqJE#>ayreUMCvqt|Fn zMLlJ7F4i{fTWV@6wVz)B0~%a6dnD2)Aj03(HMKNA@#Ri?P-6MlwK$=|&^Ub_5Mz?g z@s3?6&?t(+N4T;oFf>Du?O+DCjpI|j-~Yf0>E3NTu@_R(@L`Qrws zRW}y=E?u_?h%2*jq7rgZfb&;eU?3kmf8%5J47f^_S-&Mk8Pmjl(8fZ}rct`PDj4`2 zKBU?@=9ST(&G~#Y7W4UMA+!W9GJK=ebdc${f>HBTy+)YJ)aHeW%LTB3Nr zuD2IBXf`e8YAIE@ri5j)w@L2T6$fIpm9RBVJvBCH|E5$opicd3>m>uMfe zCc~H@X{d!VH9XEf(S1=n6kzZR$uiJ^ z1wN<*J2n5win3Cc+im(pF!)({M<6IiTtO84_{?ReJwHOZHu3MDTkv*=MRccyU(2K* zz4C3-mYpS5{*hxH7WWps`%{zqe;8KU5;gIw1#j$+NIYDK-MTfaZe^BDUACCkz@g+X zU{(L5T*ZJ*e!~kQ08a794)h@LMdg_T5mLIkG{5P4tW3?LXDB-{WVg|`fgKbj!=nDV z>|^$r_=)O9<%J#DkhThzG&*m+h|W;OKt8Zuh2x^S8cGXn#P(-AuQ5RX-HY%GWzB1> z%0nyUvjqMyEX>ldo|_m_zHi0j%D12S$rAHH_Et_HUHpZ2RF9ZxGNSYTr_q6DGvbbzIeK9cWEccN?r%tF} zwCk zKK!Q;SG-11XX8VpY`m$G1=cjKp`4K2a!JUOpy{+Y3}d|Rm(I?{V_q_@YPP=*w{@=R zNsYS})TU7@Ucb;QoNgw;@Ooc#vtgLSmb>F59Bkve*0CZdO7&s++LE-S=B=a6Yp$O= z1(zv5MlS5+EXZqMOxRE(`Y&qoAr~M0Ha5`i+Xay1&z{X^09QIbKSv#OeS)HB9pEUWdlJID=5>_E9>CIO5%JPB|CP2HsOZOxu=uvh#U; z^)JFxTUXy%3O3GQj5hYO)kp7q_>r9*hkkj_633Q&Xms`|hr16`#)hZ>Jq>yqz1Q-w zfbRCcp@H_lS1z}6`2V~mQ`{CJ&g@1OgKZ7j&9QPNdJA4av`|{2d>(+%U1afK65u;^7(A|q*mYJV=>QcYu)>~>{ujagX7O%8^0aII7O;?oD>8$ zngGprU%s8R{j~-xj?I30ClS>8xis+eXCC`_0>hkR8=p}5?zGz>;=eJCLZ7|~`uaYg z|2@T8Q`YiZLRV;Jx(Xho3tz&rc=;^EQRhHL;~w8rKzHEGdAk22zTGYk&Cf|2b2GWL zA$uv2!-JfvL<5U?{^G#w(FczRB=&WXq1N%T74p8Gb(*=pU#tx)i4TEZv6F{sjLtge zbhErOTz2R)wI82g+wfN!oA$3$)xq>vABmueL($<<>RyajVA?0`__CM1*!i^i@e&=l zB5CFFK>1{=97Ru_Be{z39(3KH?`M|8)c0@lOtDkcbW1pF%4qV|NCd42Qr>TMX)aJF zzB5NqmZQ~89?upNI2A83T4lFbTKHTiqAMj3PWxDVnoYO-Y#;tz>`sMJ9^i3KH)!Yn zE5csACCm^sY@2JlSkxqqMSGYVN#1!`lxL!RcTRStl{b6PNlI3X%!bgO!nbR+rboY*)By%Pj0Z6KdJ-l^MuFGczN^W zDtXk%^}(nf$PdrQU5n&&Lc$& zfxV&4R)KfbiX;Ir%Am0n6ZR{?M_p@c6kn`N1niVZIY00VHI$fD=*W~GP)H8A0Quw|vQpD1 zVi9LfLg_&KW|wpipNKlnzL&;%z=YlZw#o#cr7HqEvL~=IfyXXfTG<6!l3kVWoi=$HgeR9Vho)bb8 zF`4L^y&l`KwDrN&QIeGsbvTgp`eHAGZoCZH#7JJtSQ9A~mF??%GjXkiAmU^sR9YTL zyb|!fu={zO4#^~ic^)+8IGl3isfpeG<$Lb8$p2~Yth(ar!X%6|u3zKs?(V_e-95NF zjk~);@Zj#=XduDe-3by1(gYta=3mU*pK~tuTIbz+)vkIfds{&&O$~IKXOB&5g`Fw< zQCX9mC|nT6yOL>&ea814ia2a85oG*rFKw8MBOix=w@l@E5413n!&PSbBV%8F6TV00 z!sNEh*_P`(PMou8#T z$5w2VITW`xpz#8WX0LOdLqz#S!-mq+FYV0TRG4%tRN+K$T2Jv44V%o8&i z5jq>W(9^5nmnl3H#}hj}CPxMumyYZ{7`U}G;@m~$g3RG52CZFKt{6!wz_XZ@rGbB}=ZE6yCKM>y>%6v>(QBploG?PQE<|UOQ~W3pacp?4G3GJXoyZz0D~mb^zTwYm{uCM51c0%j> zQ?E3`B?WsmO3EfEideN#yax)YT4?`;Ym`#cvFV8v$9|eH3wd}-rr1zi&_a8XHy(y< zf_em1ZyP2{jzvC3fhVTb4l5<`)1J0xbwOV zzNW#MXwlx2`q|k$S?(njdRz+ve&#ROYV#veK`)^#Jrx+jTTn|{kl z*!Df@1AN6!#<5*6pRpgCt-e;m`(cruC9XQs%IoN+y8aSzI5QYHC+mG?DRzqft4Ju5 zdA#MXMr~-56}sHvojGv1=F%>>-+1&G-M3-a?V9hB4c#GBG_ad2$coQ3dA(P^T7wVN z54`ZR1T>(#;{*wTI{e#gw z(RZfHyTO;SmO@2!o(HhWgPrs&>w1v>qz55Tpzi{CjAkxEKN~nTKJU^fVMIPN#C}g- z_0M>Ui7~P|4bpXbOE8+&Pjmi9>!ZI!NGQml5o&5buZunTcof z1H7s;q%0|3+J*he8)d#z@FQ0q4c0NekPb7|OeL7+9ZIUVC+o}<#Q&8i=YN%k;ip%$`%q{tuHh8s67EpL9t*9=C8+wbk4MqvbH0`}}vH^ykomhSrG&{Kh z+o8sR5}ImFKRd3H>4CnUSSJ2Ol_n{C&b}T4W0jvH1GN?1T&2Nm;7=cgK@>7nL|g@} zNver-keR%~Eb=}YemJ4h?|8`XL^Qi?ul2Wd#+U1899stc_q_NT`*?O=lc4F<= zWi-b!e8yf{8j$zh+ug?19aZgWsMO|RxsAC5RWM#^=fMh~c)tn-8P}D3S5@(=Vd;m> z#G0;Fo3vjQqpjMuqX{$~!hz>&pITIquB#=7lnRG?%&m2}S`@ueOpAH7mShu&BDT7U zlWmeCxQWU?==>hZM!RE2s$DUL@zxqyx|`uN49#a0A}Z_^8X!?l5~iYyIGbQiG3GW$ z&tsfCn_o9vDb2aE4!C{+H_O3UrM5j03jYBYm$6H3p^r>5qqcL|v%?c9Ea@3~CJR@E zX>vXwyG8c%=zkLk91UzjFwvxUQCXJ3aeAX_s?lf;su~o~AEn6wd-2Z7Oqh?Pr2PTa zkE<`s1DarJ8GJqyl^cr2*n3TRexd6Bk`U*XCbLS&)h%2GbRpjBt@z(QZTHJS9NVnl zO-EYlvQH;R`S%w{S;yGabF(_B4J+QP{Z-2A8DueAcV51RX-B1-CCUOKp&2qz^307i zz}+htrJ-1Xs4;#Rt{YV-b912$i2rxQbj(5V@?xx$TU5zxKLYo>cpsh2)XF_wfLy)e;LBNWLa~5wepz&su_iaL_*6{fZc!M z#F)u1HaN4uCkVByZlpMoxoBh?hKZla3pnL><%YSf!|~*J_*^+|fHF6dnXG(djuNnTd3;#|kr5pDMI^TQ--4yXM`*kA~X-a`1-*}%HiOtUQ$TZ$&6!+C41&o(cQ4s+iz zCxxX{?0x_j%!OFgC{?HxWwkhT)Ck?NXY8_;DeHESmHDFy9PmWB&Dcu`OSVv<;`>(5NSsf=bvC20mCUKOR*UjcM;v$~jl9Gs!|!|`>v9XhBZsyd zCj}7*_*=yg&jsb(AM8G_6^WxY&rgs_e7Uw;2=aZ$xKN&40vgPFe zVOJ|lM_^cPU=GFmOkaAtWSC?>k+RRW53G}5(`x$$=}Nd^Mzu(z!d7*FqfFM7)pplX z?;aHBGF{BFXl|ySMI(^4vfIEs*;C=K!TpW1M&;vYlAf)gu$Cd+0tB=@|8kL#qS{@7 zn!3mt`%fGBN1=Z_=}*FhVNlFgP@lS4O#|BJI!%K_y9f6#Y#K1q-$w97Z!7zk#i>hP)>K9Da4E z^1XI$;;2{_{@(@oL5KXdIl91E13I{zl~ZBc{Nlu~FZzL^4Rjj1^WJ+0fCp0DrtOIE zno5xi<>3xfpaZ8OKr#=T13J2-1nVS@y?HP66i|eYbMH zJ@Y_jFaFCDFTGZwSO0HDc&WiUY;`|tB*-yvyVz)2FKdfJF9i8V9*nyf4fL<^1S_ay z+lzJZw@^o7)n1AI`nrB<;{;Be!<8g~RF^-|x z)`?CewtiGNTyH-F5{*sMey2L1EUpRVKEQK0`9jm0p^~aGMbRMSsrKsv%T#$)0kT>u z1s&fec&}SSKbHminPo&GQ+Yk4-nZmd`jh2{ znd3|!-^2NwrR0ZiKvI?d3hg;rC$Tpd8>sbWXB7x5QeUZF%x5n3rwsy$7y8EIR6JTK zZ*knkMAgxxo}=*K80D;JEj+d67!H+VkG03oUvV?xvAZTf&8t5TbCCWKG9SXH1|e9u zSH}E_KHcXDn@xFLh$oGt{x8z@g%S%<*ZWBOudnT6HWO4g@RQWRW?`YHv0NRABO2&B z*ijttAybJ0%S@nS#>OSBz<$HYJ<7VrPCN%SpzpIZ#&};Z9_xoE@@?)aDOCu`^88?W zTnl}_G+|{Cb1*+_oM#Q;v@?AgAcbU}#1GM-j}qD@FWnWJF4>OrhHKUHDZUz1KkCW#t(4#W6K4Z$jC+bl(ysn$U~8z znE*k$9SB+Ad(tFkT5#iZ$L&=dPO7z8J-*K zQPHLt11r6iYwa|C=~rzU1DKaN&DF3=xq! zjI)Vuk;8DbL$!04{9LG5w<&Wx(`lTTya>2YXj>_4qc_E04RrC%UM5T)W6Yj6T^aey zt7GhIwsDOZ^Jkf<`7bU>;&oExUgdsTo`#X3HS4USJ@6IN8)cg&hh6mQwaK8M?fJl2eh?T<#6w5fW~8}mgdmv`%duR(hl6%%I8Z2X`~-2jFz1exxU8U zDzRl`z#OeJy0E)HjU~LwF!Hfg@1dzpNuV(m<`8@nSj3lDhm=dqv3=(ib)s0hZrB)< znf3{g0sUW?#S%KZZH25@q9z1|n~fws1Ax!~%`6#b3;~IdgEjly(w7PdL?~SLJcf zbMDlQr%=?Q_{byF%M+0~C*1QEBjX~>4983bzFFb{`x6+>BRZUMaJ4felfVRNvNcAZ z@kowNrt9F;xkK$a)s`0J638NQJDs~&lC_j8-8fu11_d#-v*88Yo2xiXMfD*Q%7!gg zTnDe2j?HTFFbz~TZ0Gwc38PQU*3z?@XS=S~n_Kpy1&lA5Wy}hDaETiRuYbpZ&WQRS z(zJB)`h|`a3$}kNKT@GVR8DxK^R%*DQ9stDN-Rh>%fM4`6aTH>8;g0cW$a~dlG#rC zZjsW%YYo?os{sVV!bL^vTr=0CkC9xE896DPTd1YyG_JPRxB zmlA)?{k*Yh9Cw0*w@WZ}Jdjt`)8ve)Nmj)Bu4hJX|A|p+skI%z#a@m1(_GFB`p^74 z(Iltrq`@Q8ONuweJ~8|{KE&>EedaH2y>Qh%S(Qm3@h$Pm_sw}~lot=?K%DypRI^Bl zq!aSurXMuJLNQE&Lbhc0gLXXAWI799=I`jC1ShHga+0SDo;b>xn%;&5q*lt?6j%98 z(dIAr(OwYhOCC)8;=IA6t=y-FbLqVl+_KZfzXeN~Y6gy@Y_{7(!X(O-GekpmPkY2o z@)eu@c?O})?jqdPq!UCTj(w$F|K?PUc2iciTpTbeS;Gh}Mv50me9ws>4A3C!FXuiI zM=Qw-*8`h+q^03BMt9fwI#rRVL7o#W@wMcttJ7UKB|R=7Ea%aJ#F2eYN%j)^72i3r za^lJD`5s~7F!9JkvZ;rnd1fw}@(>l8&__N~N+aa2>3Q`N=hJ<7wj9|u3d3*w#G407 zc+oBq5n73f)dg49YNPU!gR~CYDk7fTts`W<{xGH2ExLT_^Ab}*yZ)GI z?mA#hr-;bgHvA05I7t!7D2#x=nk_J~sU8W#oKpTE-(IEeNn6)yjh~nT+%kTnfZy4k z7EJxb^ceFU=oUUK!aXYi^;o4s5h8h0w?JoQ*H9rNxNc-L&~ZzuU4rMCn!5Vh2NN$S z=R%-1URJy%0x0GShm!6D;xKBP+OIv}*=t|c|E>7SlGb3K`u+V4_qL?zcuWYM! zwiZuS?Fu;z%6pG4?dg2N^DO8s1GiQ@@tD>9}q}ISmI{$0;r4 zUbx}PqZN7`p8YE`iZMCZ@a~Vr{DLGctv|WINb~!QBN5m-lCp7vuD0ba--<@RvW$!Q ziyR&MYqN{qU+a;!cJsYd|Lw!(tI{el5{c<9R(j8ki-?QvQX#Hi4MUGSuUAdCDYC^s zPjqK2}l7tIr)2ETzOr@)qDp{!+qI?t<;%H8M1=O(smJ>v7LvWFFpUIkT8{ z?(bX|lv*XuSU)R4g4N-49;T5#^Dvm3yOUWp$CW5R_JuY;o|Hk}U2{r3o8R1RbWpiZ zU!^N4dBOX^u?4-NE?D6uXJ#Z)=6!uHX`AV!S)D00)F1Xvz!asw0&y55uLV7;p;zjH zepLK<{*{<=qkouJft91(=62zQ$ooc_<@_+&k1<*f%W{+Y zE%q||cGEF63B2E|B(2@4W{Azx3@bHt|B@289-%gNmU4TKwzi<&66%OpmQ4lbyDvN| zUd`d#f9Ezd4@lSPterJDGyf`nPz+x+RSs3vD@yl(wg{qaR2fB5f*v!MkJe)w`rZVU z-h?h&euZH0%=#j|&EN{JnO3>f7LM1k#F?C-uHvwqp^YUj<`5RJjKUJ-H_7ffq_6jo z#6$G8J-NT81_9aN4hYcl$A>a-4y)k;-C2OdQNA$28ywq?9+;0ydFEIr&j@z-)2!#V z;x8BF*{9kKTJqJvt6C(nxLW*Z4nqBca#)kZkGze-KKywkRrt*V&QQ=4PY5CbrY^cA zDX*oSTI!BJCuy^BS{5y$B@P8|bY03&s^=~qptn4v+#&a0aJo}a|CCb`c{7!OiqA89 ztgAHmf$@dm;r}?%Kk;-DTI{G86 zjES!d9=aj{TtG(Z`ZtX;VXzrj5#+-`&8z#vo|eze)qkIL|`8fW}mV(IUaF zr9eD;2vhiZHMr4AfBEKOdpq1UxyvFv^vf=Zl;U$Y4Tqa6Iuj~J6I}vf&}1}R*v^h+eZ8fTm?XL<$V^Bt}mAmgO$8S zTMb>3p7y6YCE@|3c;}Rj|>b#Plz5F{>3;g;eYO<9nObt zQ&=ACuaQj3snOKche(#Do zXR9o2&z8Dw!>$w;&8NaD-ozzT`up}sASDf;f~q_q@x(AX0*gOM=C&8oUko4Kp?wBH zdJB8$dWKk4L%VjUUZ|D(?3z0&g-^-CT|&%evWdr8U*zKpO5&=r(4y}GEJij_qJp_BZ4=Gr1f>c51_ zS}Ok3+ZMN05u1!{7vJ8F{ao1CpH;k#?pKc8xdh{I+X@}zqG6hB{6oSJO8`NRyR?CC| zW_{5LgzWG<6?6Kt{5-GBT6lI;OIIC>ne2zyEELuED0Xz^wFnB4Asl^5Nj|Y*v?=Mc zNO67)|6&^y${Ab%6xD(V%iq{1Pz08j{a-U6+MG& zSw}+koNI``h%Ayd`q`}!ZFHCJ-NO|a<46?c&w}L7lwD4sH-eoItT&nf>8=VyKH4?> zf742o10|3q7D8tU?b#`$b+y}IRkaX=+V%A{1Wxr6ns?SvN*p&#ST5rTKj!<{s_~i_ zakjtHk;+d1924iX%X!3tKIds~)*r?PXxZprM9IFmb3V_j{1{k7?%uk>Pc28=b<4az zKV4pjCLi_$WBmRxU^QV1ecl=j{lBC>;tSL%XJpGelXig?#?4+&ekF?WnDjF2h$XeZ z8YlbLEvZCwxsN{ym8Tq&m^IHJ(vZ_Vrj*4co4t4zUzt>AX7%zTTTp0nw{W)&t zX1Dwg6v(hR;!@@_N&5_4LJc8Z$OADQ6>?K$_8rG7iST_Juf^U8WSQ*yX?~&9uQ5q% z8{^k3RwGy!EJ_p7Lw0OK%%*u|*r<-2KNebP9J}taa4bV}jLTmp=D_0>ki@r7-o?0e zCzCNE&g^76EV37lr(=^r8PrqO31(y(qV{h-q4~oEb4d=#7q!h{6ga+BZNM^ZnpaRE zpO7_R^=P;4xUF#-_@qMBvlS)92_(4M=BjEiH59?0G)L28S?Gi_b`)Q&v2i%wLOPA- z6wf*m&GOP%B)Q?;D&dm+X(qmmeX(H&-gtt;kA^xilNynSoUePcK$-mVL`te;&ShFg zq2oUA!bE2m8U9Mb%2+;MD}>h9S`J(r(ZN_7e8pxSgf>RFZCjNd9=s~6hwka{?Lyfj zztmK4M7Ge=K2SOp>cUO^UB}@vaAU3qo%W;DIi}*09YkT zl%{9&o;wstxF1q1`DwA(@0I*}tz+B$clL8>h2doP_X(;v0yD-n=Sna54NuJoW%kku zbw5uS0c3vrY+a|FeViCHzfT$mv-g8XxF*2;Xc)E|BK8@q3>jFq(^vw5aPnh7a!p%l zbahH&jYSuj7xIhGnD)0nXf9QfD!Gj<%so<(VLEMchJBOU%aCfr0n89K~Tr;&O( zJq2Bg-($21b|8<^Jh*=%ISq}?4rir#zdE5w)M(IbdZe7}>fO zG51M*6oks;DqdV_LVTq?7_nwAF!~VhDYhNi>M5VJebIHyAi-Q8cuBCyXH1mJ7QOdq zCV8P)gtKIBMfT8y7&mV`|7gG;5?4Ysyu_h)x)da0!J)@4G3qvZP+Q;QYQl`ZDdR7K zm~|-XeN$tQ>NnHA{6xMLDa^Ix^V`K0y*wDw{?~u2mPG{DOaM||(fXFv_c$T0Vrfw| z64GW|eDKfB4Bef5kK{umjgrLGTYaWA=LGCIn>YFKAEPZNfU8tiGcn9d`E&>?KNU#X z%vA(y)GotSfw>@z+=wZ*fRfH$DL(Cp&^MgI?~Ng-OG~INKM`@dkz7MhXM+*F9ddv} z9U!sjaD|L^yF~UsvRZgnImzUaPXqt8 zy(C28mmRU(<;LTrEg;nI7!rn}el`m2K0XWLGB5GI>fu9qF`iVaMR>99EYLf`{#qRi7L zvGviGXH^r%v&dx!!G=VgXLe!>JDlIdgXqPeWok^ajzffg?ezO-JqkcC&S79E zxAImCm&RSc=;&Wsdcp_^3#twm{uDBE|MrgzhN|9yzsCV2+oKr^vi321-OP5tr9q2 zT80|qro_kskQrOs#>QvMHr-zcsRLGldpvrU59S6psXV-l*ulS4$*3`W>RVQR*3O|_ z4?WKG_!X`)ZMBd0Zod-tw?nhZ_iw>cy<*?8qYtPlfT15hzYM>dv0gy$eY-k`Fc9Ya zPpUxIUvHsnJpW!%(%}~AUxox*pmr|MDQStE{^n8nT_dxECi~Iz+g<5Ge&{=2)%U5D z#}?nzz!dDRHR=$d$v)heXxTCu!nuraAvy+i-F!zK$OtuYD9qF_jb7NxzEk2gJ;=PG z?_9KA|F&*H1+Ed(7HExg#1ED1?AmZJ3A5(>4lxdck82NpXltXyaqb6J=%_devy5N6k>qYvV0QMbr^HHjd!!WHw# zfmiE)o?n+`M=&EkcO{(>O9Xo-+?xdPlEd{@%v=NWL#3li+{hAfjY7O6y0A!Bv|gYn zcl^S5{=G8iM~T~26JLAvZndbdc}xkz&o;JG7tk~{<1?VUAxZT%(@Uos*`fp0qDUB`M-9inCOc2PY)sMfXg-oK9}U7bhT=Qr z`d$MMY2&eV4HOH(U9VxEhnZELCcvzZBpLR_OT&?B>BM)ok%6--CwqP5_Qq^fuLYCa3H3?ztuKw ztdaaMRgRc>hhBU;43gDaZ$bK&P%&=aPES;R43}mQ4#A^c9J} zt@r-f#~-zgh0jEZt<@ zkG$BF#vEn6FNHukhj(h_t1obG!r`awI@LBCs72J!q2Ht(IzgL1TxECcIhA+)na>@3 zPZIa>&sm{H!Y+zf!_jj2qU1w{UFP_*F9erH3syt!#)idSYK=b0e}HZI+zk|L>n0vd z2_nVP%t#3{C_1B$6%&Td?drMaP-B36pepdF2V;W5SF56B5z`RPEd;K-iG0m5S8-X% z8Ab(dow%N3W$;}Q*$&pje}i4CCG$6q_KIN@&geo}46?25>Cw_k>9Z2`gQK(p^py>S z_#>7*A(*5gz-!NL*0F5!@pRa$z?jFoWhq%|{ja8&4lJ8Ot^PlI7lIEtFJ*>{6se(V z%XWtYus(4rfm_NO(ID0IyPdG)5tkCxNvpt^>Fr3@&om>22RE`;Di zBqIgy^V6d>)AUIOEhYvw8~KP;LG!Md=(dy;Eh(1TbnrcqFKd^FyZd*?uV)_NpZoIw7K^`SlB$YzR|))^M1fge_Di4g-7Z}`?Y5(}hnw;~J4=chgWdn}_b z@b?KTnUVqs(2jokb-c_-7&U@z^y|@&N}a+5-p3gI?9yfJWG~XA4_U=DH2?WkzzGe| zuXR5gnd|P=TlaY!>W4nM{X@I|wfQZ)7yG^`w(^VbswS^fi5bI9IE}B&bSw|zCr%s< zO{6nTg6>d|gt_yZosY_Se{khrz>KU2-ME4EA^#{`KaT`XP#=IR;KC#%PKAJe*hy7A zc$LU4 z$bPe3iOkUywW&OdOzCO^xd9@Wd!^yZav4I-*I;GU_%#e+^6k| z8<3)1w`U6Q_8S*iIk?5D@p=%7`?E>NZmRbN{oaoLIw}lxNJaC`L?72dEs}K^Ig;|L ze>UEaJ2i?JF}^LCqFW)!8=Dj{5}jlJ!*NEfFZKfKS4c4(K|4#Ld_Mj01r_d_Vh;pF zAR$r6>vy$*I^UV+sEjLqJ?Kt=w)O>VBkSM@rWhG&t6P|bF~b2(b-$OY+)){l#__jEUw1*qT2O|!!w$S?h-moi@{@8hmwGg| z3d&ya1;HCZodn)1e1A9G#cM@!azR9zyBTODNv+y}Ny@oANa%=CnruBHq@6Vg#&kCf zk34JjzY)&~fe|FVuyFSAF=`aoO`uY%cRtyWX{i3OZeSl`QAnp03$}HS^6aRI#0vqm z2zzPAZuYXZc9ej&)LIT}*#~2i*1pI;I6zAD2lP;fg@YxZvL4;lP+xge0osD--}h(Q z-*oI=IpG}tcmj~K_Pn}Q(*X`Q4pnj)cy9Aap9Wzg=q_*6nU2MJ`=y~Uh1yH&7yi2O zXO^m|g^ENX&P>T)7fe9C5V*#RGS#RlU;rv_N3>`wjiSGDW;`0(VEQk_=9~7vRvlmW z?8t@f+wAPDrmvnCg-CZTt|vAJy76x3!c-f>NG3$5SE!9O*)LAs>ykb@bPAULi^H>1 z28zSI;{dhyKZ}*Dt)8E5(Bh;fH*5Vt9;YH5!Ool56alC^kpNn5vI?gWU9DtiuZ7Az zJQa$Y)!MQ^6~}e(ed)pX70UslsVoNq)~ejIL$%C8q+%QGsEa(Cb7Gn+OL!e~?NADA zTDx!7&2@1c@>9^-S&u_ej!!hXzCP6&d|G$*$zOO=DSBYwqzO8_F%j5Z#FhM3k5%{l z@@|yz-6k`FhF=1gA2Q2Da(0J$w5&*A7AQ~n{7^ggi_r%{k|nDG=Z--ZL?()gtIju`r zdXrXZCVt`JBF&wX$}+Y7jk(9m!FTF%F^#r{2!!_q`CGQfbH;pT#>kW5oy3(4Tp_XVBDzS|n}&%nA4Juf_;efEhx! z)fI$V_67;6+N3d>WGpt0=mVMBCU|MR2cv+O%3cZ#7YVq2!Jnqd-8rU1@)7qxbJ!f> z_eSp|lcAgqS+m(go$jmCAaopzV)Ta|HEw<^egB&@nFC6((#a{~sp?eN;#)i!O} z{FKu!u`#oA;h|sod{IK6@#nO8j>_7o-8SIw=sY2En#T`Tfx2hyYP1T!aF+4saT{xE zQc;c?PL6OPAiR7zZgLpenR_`=_b2N%>yzVwEp4nk9^dSHRiF131;M?y#XF2f6rvM~ zwB?Wp=c+9+aUEZOB!xKdy+{tVu&=TAswA78a5>itdRoi)h1ut=e${8-7O>lVer*2B z`cCm((0u2qCmK$s@b{mZi{m>EH%NLRs`9g)k&1?2|KXW^kMfSirT&KJJ=S)~=KpCo zm+r_k{Lf+`cq9O)AN>OrgdgrBoyHj;G2Ad|SgZYeQ?ArrZ1g)0TiFKfNZubSWw)O+ zsf&+bShle&Uw}h&|K{VLft}Udt5YC-omtWCm3@ihPYVep0*lWHk6046F^sSC7O})HJ#B5(Bj)6>UQmW4>rSJ@59dXXPv0n3{Vqdvi z_XG>rk)3#DiXE9H-Y@2?f+4)Y(KsEGwVypYH7TEOEM;z8Kr~8Ie=hS>=1yM-lK034 z=xH~by>PkV_JMFDST0evrMTFBx9MP>;a{F>C~WZWG?oyE?vnl`$A>GaUcXn z4NmQXnPs}%wIBd}?*MJhef3mjVCB4uX^%3#XvQ^N?M=s*9Z@!aaZ1+pw8NgWebM-i zg9oR>9(??`D-TYlya~YmcwiZO&qKnwN=#cPO|ym%1+@yANyVp!)hl4w5b>^Oc$e2P zJv}+P!&p3xzj5Y~MUV20dyW4Jvo0+N^^Ryy$E_!@DKLVibdp@b(V8uyflRr?#tINq0otjc(B)C<-f#3qgxGpBDHPauTzGF>Ti`fMI%3j zae4ru{oEP`R)|27AhXU5Sq_)q*%Sdru;i3*Bb$DXBZ1kIYn_RaYgh=p-0Wr6kdKhf z5-3fz$p5-fOjc7!{e7s|VMHNON;~CuTUYOYW21lWYv=Y;*d-4WC};ln;Op!}{}cuv zUreuF3M1>;`d@&Bjq|#RnBj9{x89l6dcSeiU-9%gEpuhJ`i}V=xrJ3QA^=#5i)1HV zcm!WJ*mdHnk8{sN@5ejnLcM8F_E{EpY`R<`TfwGwYwd|kb4OXd2xmMJbwCltIst zkHh1jT~DH4@XK3l!RVn_0h7%Rs7gMH}V4B|}3DVEAuhmiGbF_N<~(1<@2fef^CLUOp|Uispv#kC@3-9(?D_V#G{?E0# zGEu^Unf1}rjHoyO0dQ*-%B0I+bF}HYr~KXZzion`TWLR8b9>r8BCCke&$IV6jZcH} zdOrW5-(?XG^H~9Oa8d$vt?#W=-+bIVfdmq@gB|(2*8<PiZX1wt-cW1R)LZ=}CvIj$vKpD3^2pM(f(cc5AEkShv?*naJd zwDNDnZ7_zay-R1GMlIvGF)%ReYMrTwmXUcp+6L8{>UeKxIssBHas7=R&UzSa8sByR zL9miD70L+gqS`Eeq*IX!aM!>IONZ_qIPvP-BKzV@jrvf8bfP=Rs`x2`NK>-{?VmV@g;rVJ7f@HB{{E5THVEx^rAX{Y?>39%&stt2%hT4&+lj|dmXGcO ziE}Ju^KU4bfhYF}0f=U;CrIj(H{FL$m3>k4ttD`())kMM{Y53BA)YR+g5hrQ^eOOa(k5f=eRqSUw_4o+$*EO$aKn{aU)B`v zK;@~+PUzNjWX4A;CDlHep!bjb;O`dj7tZxtM)*^&3ZpcEtcfQulUD%aQrgC5Lt>~Y zSG2FxuirzJ<9aM+ob@(1T*=?KPv~4XwYRD9${jDjkl7N2C(iOEiqFSp!<`K0uY>RY u+fl3dG7|m2t-=4_F8qJGQu*)$?xpa>wQzj^>$3|RN?uw;szJgm?0*2O4}n_% literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_0_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8b804764e501387f8059a8008072d487583c2da1 GIT binary patch literal 7495 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 D6w%n* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_00.png new file mode 100644 index 0000000000000000000000000000000000000000..37fee62f8da3986d7a31652dd210cdd62013bb50 GIT binary patch literal 29836 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e6e4d7bb88a492934a68fb9f2f146d00ad9f0526 GIT binary patch literal 7284 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c71ab43c99d1756120eefc053ff8b8e52f4bb5de GIT binary patch literal 6736 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

&{y7GhUBwqJUC`pTiZzjXTPPo3y2l0&>I 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 Dh8p=i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_missingdata_1_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..249bdcce8f45f6a7d7e080457ca25e7ce79c95a2 GIT binary patch literal 13149 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

?ptz% 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moveoperator_0_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moveoperator_0_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e6b38c2c7c3456cd2e68382d533d428030b29c24 GIT binary patch literal 8470 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 Ef><|)X#fBK literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moveoperator_8.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_moveoperator_8.png new file mode 100644 index 0000000000000000000000000000000000000000..0294754b8e1cd9be40d6826015878ef6cd853852 GIT binary patch literal 18354 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_curv3d.silo_partition4_0_.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_curv3d.silo_partition4_0_.png new file mode 100644 index 0000000000000000000000000000000000000000..2df6d98d3491d781bd137e829399130880171afa GIT binary patch literal 12672 zcmeHORaab1lx^JIJ!o)kpmBF-EWzD1xJ!_R#@#hI!GgOqP7)k~2iM?%;4*wq^B-o- zI_uttdZ=6bSnYdGRkQ|J0SlcR9RL7eDJjZo0RV99|2?SiZzDG}WOM)kkAjk{)Cb?Z z(|qGNhDEQ9*S5}uxob>*kuC_cU5iSzC$n5Dkq|BwS}P-Jvf`+OsWt?Oo5|lEM%AAg=df_%xY$i=0-akJ(&#oy0Ky6-qTi9?dV{0ym)Z6F0f!w`Ju|aO4&3-x#d&~^<&k*|G)lE z=%7l)6vj06^iOc0wLbpynZeS6p2!h*LzZVHJ5&DW?uXIV>wi^~nQ<-t>UpyJU)u(~ z>(!+x~o~^AtVl@o$ z9B~1k%qapNr>^@fk4t&B;Ik_}WB!y(I3Sg+9!S`Vz{H)h+yo?WKXE(!Q^{1+BgN^`@b!m87`+a(=nLo7?4oL1FsawFSGTBK{ zlItPQqLQnHltm~gNZT3c!CLDj4@~%te;GJ(z;qhQ2>{$fr6Sp1UH?_x-?XIa^G+Wgz3 z*mxqUtnIe9I&4PTE<|i!LV4Q#C)RqS2SsAGV0!iR zlA)1+sxWmDIxs*_ugZLBn!nZ{Mi6V=70so?0%+KzwBmp|p)R^}y6_$3xmqAYk%3G9 zi|(VPsO`cR$9K}QlXH3)7^;%`+L`rmFec3=eu~o5i0QyXvXJiSbfJ?69!g)16Uaq% z_m#a`7O$7f7YFgpCjM4AC~3%Rf4Bfbhv3dxgtWJ|40wOyF{bA_%%n(gJBjt`r1-FqDJP5ifAt$5N`QsxND zX zRFM5=Iuh1p5i}^($qWSO(crXQNWZ*Wjb>oGcnEBu^RskPD<1u37djna( zFR70m4oDY&qtj`OVYV@Amo6?cpd-Pbk$wYE(mIBpLxb0$q0*5uhD=T_@&{xwlq3e^ zuH|C?5|MnyOv1XvYC|{7{ZXb21065uIjNdtmbz1~;q+OH)TqbiY;B-+HD>#{lq0Nu zRF%o{ozWa;b9}y(HHq8dr`rW+1P}C!HvJ`dS!%EF{h%5R-Aa{LemST5j?r9nD1W7$ z7W9NaqCXtPK(TwOnFBZHHkh@tLgk&5CBjL4T+ zNPp>v_y8BvIT!O8?|dYtI)ACUuM;2feh=!rIV4U0Ie9ZxR%(;c<7KTdMQ+TV@79~WbGTO`&Suw~ZN-wYiHmIGh27sz+cq!DD9dm{tJ~@NE0$Xp zVpmh-ps4;%U+#8V>ES>lmy#gI=amBx%!!LB7sSg{n$L?WTbC`LfMw?NIgpU1)2LFg zCO`23WHgQl&3LeJnsu0qVs4aTJHmKi%Nz;A^+Zxy%|2gp|(M;BU--mk*Z4#ZbXDq3i9BvOfE$@li`JPUK=#6 zU~8hXWg>=&;`82o>b`b)GNY%v!Xsu?ZRdi4F6CuvI0v~P)yzjczaC6Gmx=pX8w2U9 zXBv{9hmkg}%ph4(g6+6d^AFN#a8@KIIOuWiXL7i7s?R^(+PV#8$m~Lgc8V#V>1aG-JpjNs(Azt_@+1b zH79||aJmdsP+o;83Aii^z_=V<|Jo+&T-_5`%MUcLct z`l6WF3MoK)Tl=IqGE^${G4nyKO;CdS5m>W7>0?I?^@B^1G+mlcuiO4g`WUf z;`eIVjf_AbUwfqUk@_ruy4SGGs`)lMwf-=(;}3*Yht_@ew@FuEfl3wg9Y)DyX-i`@ z4mqV{EZZvB$@$la5@hIT&_g>`*S*i32T96LjcMlzn|W9js#H9oAm4wS)v+uc{#zAD zIPK+s8$P36P4El;^X8Rt*SAL1z_=dbwyYxwyx4_93jUz z8i&)iqva$ z!(5aiZj9vB1qyWYOZW;;W~J0)I}v*95*89(Lv5(H){6n>NBZ(Vx31(J5@XlNyY+Ei2|n@5$9oU+*9n>z+rI{0W-O&;prsl?iBc z;W=!QsB*f(!8cO8GO054`dls-l@@aUCx7-@QP_?dgovC9q^HdJ=Ya~IRir25WIGY8 zhOwMl54h3L`9B`)o3tm)#hetKO4MKqRo3A>W1+NreqU=ZqAZZj)p?I-wtiz}`h3Md z$m(4oihmXwj5GU#Rttj6L>o6#Lo7M%{lHx>A=ATR**^jc~8ZOL-U&W1#vJ~C{ zSLJ%j^mccjvuXZV!QSaVq#8>jOHtTB4+rfYR%}I=b>% z;m^QRy^-Ql0b=RA9BqSyLG;5&Q1c784G*fBwq#>>BBpL4JQGRj?&4r;_qDQjW}ZKP z-)PSFxe|NS=S%7}iG$2<&5B-wEDz=Im|?{|4JHW=T<=+SZP7S^aDs$~GAfOahXX$3 zCVM{HJ%{27%Ihq$M;o&%d{1$#Pjoq~eFeqUbXwuLSBf1CBkBKshh*knotGwpRxNb< za-Gqf-%K?^nxZs5Uj4;7aaWr3*$ku<4i}&ok;}_7h@#i_zRQjdKY&@aIDJ2v4`{JQ zAt~TyoYbVG&Hpa-5a$!b@sBn?(L@h-bG?P!2)CD7KF_rZt3#`e9)&YnvXxz+fixJj zYoi%89?c!@SqxG_*k%CVC0SWSBxbhA+T-xWqC#(`LwaN8^=S%HOyLe!7Xro0(QVC= zDo%s(*b-3GI73BLb?zO1ER%jYo(>fU!lvf0jP(s}c=E``-%mSDLCL*;{s>>Y5dPu`~j-wb)vk-Z)q87>}zd6Q*ynI!ngJR`d(AS(@R3hLE{(1IyJ&oa-{Slf zX1Qqc(HG~9t)Q^-@Z&^;#XL7W4eA(=M#kpBthl8oY!nR$wn;SvY77|icpej}tY zf-7q(#969{`5#?Ye^c|pF{Pmtz*L_`u~^B~LzGXxnlW(`_5AGVAr4rB6Rk5-b=;(; z67%`^dVvwFd&u-+eqY1Sed)Y$`_k9Rvx2UIY89|N@O4K9%!14c71d)>3OAa8F9wAM zG(m%oq}#s)&CnT2$DzmNRVC|amO8X|_hWrBuPP^ZQ>*2Uc6Pz{O6i?zm5gG{pG^;w zfl%H|!|Nps2A*9vgVLhsoYJz?vVWZ0$A+9V(pp>``qQ+eh_iN;3otYM@o6%@YAVsf z;4SOUBO^li{mxVfvqE3bZAFoOScXmDcf_#LOmZL#cQ)d^mS;8#34jPkgojNcUTQ7x zdGbBDpM*V_=BGBAkhOy^HsR~mJEo%&X=`&4&yVLGS#_`N;hbMl&8pdH<@2;KTV_JM z6Fy)!d`LkaxURLrsl6~zx5F9C$Wb+RW48Xmc7gGjy{}mte_C`6Cg~{utsw)P~f&Fy5+^M|jK^1hrS!HCelZ)~KG_gpy z>9E@t_ z>g}c#-^%H#&6?Q<*tw(Rb&Bn77pdnNG-Pwo%Cl(amO4Q4F$Kbr1?x_J8qlftMHy@R zi;EBFsLgI92%9tfER(j1fp%AvgqLmqC|aUtgNl-KQU7o#5{3Qn$hsS|{sTolhV}~B z1;S1L0wiOjV;X%)u>y%2Fsh?^lkBE-q=XuBVV%XrYzzwkv2*cuW zW{4{pc{qqYE}k|63p-P37SPZ!Xm^RLIXN=IRqKRS*BAuUh!yTfi8a_;hn z2}yp58ai^g-6Y2t&Q#FvNT-P#MjJhGnH_E1Y=gq7640)Z*t9>n2&N8prs}NZQ%$As z(tDd?gW{~fcK3o2_gPuhjzd6)FtSUhu3EihWY>afl{~(*5bSh$L@6-A>wUwI%q-b^V z+`mN`vG=OkJQTMwce%0PEq&%=HZ|nK1yC^pP#1w537 zIlL9}+no-d>btdBnO<&GkPld)L1@X(AGaLnbh*cgaptrQ{8ZbSBLlt0xmqmjG4-W^ z#Vr%})l7O`5_fV~L`2KlM8h9{epaG?2|LR?Trtz$-Lo&l+^I`07c^Wp-gqbs{8zQy zt@N<^2`#iT(^;t^4JSjM>n~U#6?k2q3Y^QErVhh2%V|xP=UUsy#61mhwyI{%aSw}h zNp{0Bo>Q{JS6kq3$(G)Zw00zvHnXnqGw6qX4}W7)JD&3f zdeI_X1!4C3Csb_h|M*+@W0*{|{s(DQ?Q&wf%R+Hfpd`llArHyaXk2kqaF-Rb-@E?Q zDSokXNvy#AAamNwm#GD2h)F2VP^ESZBO9@MNQg}8C(e9!xgSMX0wk_cxZQ5pQ04ou z!Pg77FG%FuwX}b1&_bd313_k))B!@P?K1OfAt;p<&dNt$$nQ|puj`J2#FR{FPtuRA zOa4O{CtRk20tKN^Dv$UVYKOhAp@T;B-8TWouKB}yn1CUZ7-Gl?A(orCAn(mngh$z( z-VkoyI45Mk@!tsiVz1XYzc-f2Be*q|e#(RGX(%ncu+`2T)-4+e@qC4_>19bg>@4RN z!xtkcy(MEe?toA3zp-31QDsrh*_Lwgf=6LqZ!>!$nqU`ZOWKn<&Mbp-Ki4)Ju?th-i2=H)OC-dqcGAv)Nxw6* zXf$5R=Xt0Bpi<cDu80PVoivUsIys8Kf|IgWTnDg z4{&-PgWc7L2I3Yr(+b{vp_nrGNcWI#mU$eDygyW=oKXceIpv<%HT>NZ@&y*kI{zlx zn_QAzNRujd0$E2tlMGEQ<0Y_|qK?Lj^jr7-Grk>V2#Vk?;nvQvv5peHU?OWyPXU^J zC|2WUu=)NCl5dfdFvTLA@8=OX#)}G0iG)rU>cwR7(;|#Lg)p5J3~lBc*So2 z%a*vk5lHR3@d^mW^QFDVQFOeqUmxl3D4ZvAH0Q36j8_QWHL`VltDwgVm!aMnt+Ncf z=L4Dhx2~oh7r6D^qGGTWV6?8W8luQ1C?-fIv^Nf$hMcc-*Q6JqH{sm0RDjvO@CF|@ z!4h9MFCJkuaNo3^i=|BX@mdIMTy83-8z?eB)Tl>ZOqbvC=M0T$Dd+XL3`bao8!5~C z%`;?1ZZJVlPbB`ag7hUm>;;LkU(flKTgF3lL%R^3PT$K!9FNl zeK@`}7l;=oW)JWe@E69L)|=MC_gD}5SCkoEcBIC`J9Io9GC_d3dX5(4a**$kUI`Vy`YQ2gqAXuJ5q0jMea4@t^6~)9uHKKK`BIs&RAhUD1*;Bmd=E3 z*7i9zaeXIO+2&LsDUoskaKuJh^-$L zXsti6a4g-~amMlucQwp0?Xd&y3CUH4^nkW{40r~Q6Mbot)FI^iV6^tM(%K5yHW66l zBCg9mzi}PRa#Z@++GI^^7jBASSy`giS|OJ!qvo7Fh#5C*TQHc9*hk-4Yf1p@%)jFP zvr7B4RPp9h(z*NT+yz}y@7;&m)^4_qHmO({-Ju3-oTq=SRm%eW-fX*6@gletp0Y8Z~<#7o}v0<&3_%2p9FZ&0SCQIf< zypGea1f$LW)#I2qIR24|vRvJD_6E!?F(;sR)W^m%z zp&O=;qV0jlznbRjEI4gx%^yAf_Axzd<`J%@<9+SeC%8XGX=6r<3)k@axC*F}u{+A-M(<%9s=-Hga^n5scGR3QIn$9857jw%}dh;KmV<1 zb5hv#;0=Z%Zq*Jwgr>aUXs&t7i5ijG)}^-j$$(l^{pe9orhbl0i>VI;Q|Mrvm@;`} z>zw-deL^RQz<=BqOv)C*rq}VXT%*GgZ!Wr|W9q9Y zm`?pzmTIWbuig9pl?{?Cd7yCWq3Fsy!=&6}ziJYh_@|c~p*!d>=mTozF9-0~&)=`F zicVZzm(Iyhv6EdV1|VJWfXov&|57K!HbcrW3x%BIF7Ofj>GZ z#l>+<%`3CDO#$UH|EGs2c}Z=8q2Fa#_%>ZN#WLu4}eIWY+7G%V(A`atcbV}yp+FqiYqvojj##;QMgx}Lb{4` zKTfLWoJB`}&}xAt-j?dmX|5VUWFjsQ8+&RE`&k&j&908mY-%Jt1`U3nwQE9nd1<<* z9QR5lPY)&N`tmq%$OCz_LO5o!;&Qy!iw&ANc^+l%Oa%{orQ+8(pPiy?{w8f-wa*=B z8FjYoQHfi}o?Mg+wtv{edh3c-62h(j=-zNF0i_o(zx7A_mhiPu)r;TBAei3*G|O!( zJWDMaxIspo`mBPCp+6Brc`^L;?+R5n>$jb z8ABD^J0`qGV+Q!!ynge!#W#1&D)4J$QZvzvhEwW*qpf?gGzjj?-Csq=#-rxw*%{om zIM^26-65@8z zT8@@UG+aMpnW}TJQXRhIAoUw))ric=0Bs0#Z!Z71SzgRy#@fB(y(Inj4%BV6e}TzA zA6;p{{bXoL!jolI-00wnWZJ;K*%P%MAR0zNSsc3ezXs0LAnw?6UF zR5kGNm<@PpT;OUn)TB+6I^N*MJC9S{#&-VU^{esc%gFEpRSpnDM8LusV=`x-6@x_f z&+-!Vhhoy@MJ4rR+)I&TtH(Z6TXb~tQCNDfFJ<;80^7^dln_x|_Sno6v!ZMf z^>RnMx#&tCV=&F%w_ikR{-Vg;t(;{7s5~_wNhfS6W9vrj!i7m_eUIUHH+L`+YTeW`W2s_ik3+NEC%4r35|4XOk$IL3i?#3`_ypgt z*E!q~?=HoNmIh4e4SI@U#B8{2j9 z(;olKJkyJqER+07m?7daRhypfsl4M0&jz+eY?!>vvxkQn*J2OH=MJ*ve;tQu)x+P~ z!Cx7>b(cx{;2k5Zn=Uj@U7l<<93JT0##-!cr@i_?Zy3c>_uBRLuRGtv->7+*{YYKbc5nZsl|IUTxTdPfIjC zizW?O9N|Aqgw00fK;9G?B8rO^cUPR$7b~XyZ%^mmvsLGV! zXs@f%Kr#eN{?79GJ@!wVzj3M;CWjnn(dp=AWHrNIBzOowpKyd6g)1aA!B_FyYaQH? zSM{-h6K}Do^4?W>E=EpI$VjhWf-ctQ{Yjz{iFJyxeLxs2)`}8@+MTq|o6B8knVA&N z@Lt|Ka%W@%&!wz$RK89&?w`VCfft%CV3(H^ zp}Rf)1x%uWxtS0i%I|4R9_&_V!EUa0m)9iSi$etmTQJsq-lvq<fJzHt}UpXWjZ%9^BZTb*}5XKKyXgoTx_PL*NZ@H2Go*s)Eu_NHh}VA+{w|eq2HwZKg|4kRcuId@(F5@;ihqnV z2IQn3c+o@__n8gAugal1H3@)wiXa-@4oIh5_;i3c|IRg<39T>t-5ONy?fgt7y=0YA zfj)`s@38nSRc;|N{z&)JcrRsIQR8Sd;x)GLv7sU#$r2%AjBuIOB${XGDQbzSlrY3G zfH*Uyc(8ZEVT94{AhtazELw~86 zQqFmAyRc=0DE}vUq4{b(ev44>HCyOz@%XRen>y#kKxLX5Lim&hqR(=Li5>I<(%!Q4 z@IudAO-Y(mbbqDqF`X^gk{;_!0F|0u0roNZL4R3rLW4Fxc5awf9R*|;0O~pz!%T4_ zwF~Nr>&23qmsAHVchePgDO%>)Eiuc))~N1`Kp$Bk6*azLa_XD2;G?ij4L$OssC7J( zJc0w_ekGEyaO219!tC1oH3a}`P5Rua`DNbM!B9yXLE}%LA@y3 z4g>LB>OY?_GS1{(klDf$gJurQ5{8u3+T5EEeZJ%M$Yv+S7ALz4K9v*psu}Bn&|LP? zI)yHT_l(+G0_1C_RLgVEZ@o9a%4~K?VgznkKV=>zA}mIHGkiZG&qt` z#BK?edru=XC$^636nD??8@?gnK)C6<-F2v#R1(Le_Dsm`6|zvdJei0UjS~q6_*pn8 z5=6>0hw1Y6hI$Vb`bcZ4fdphTHT1%aKAx-wvrAp6F?3=K)xaL`_a(CDwbf>w+lIRz zF@`TCZ(kpKF@Axq(D2C%I0Q}mwPT$L+*zKHuPSXXi8Tn35I2?`M1Rr5A0xuZF3OHX z%MuQZRh??yPOPV9fjA}yU9#;v)4&g)5yK?Qfpj`L?7RIV8^j9Ru_8jXG{3#IbFi3? zac42*32csyM&vp@Jk0kJ21i0@>b=BUIKAGpyYgW7!zslx!o! z2O^qR3l-axGDmLu$dw(G%r6nW@y2H}xI+{qMeH6L9}pZjTvSo!w?<4EIi%LlXO{!Z6od&J$1(j%J*0M4@JrFR3|dOHJB@~mv8ZP5>&a@q z->=cPIpgQ_8?4o6h80{oBA!C$Dc?7d`#d#Tvu%w&u(}E2+4Lgl?qY^@kl{D!9=b&E=U6%xg&c zqAwzLxKK#0n3fxuM%OI+*Dr5hMFA?%u>SYXVUh_6;=q=goH$U z$GCk0zz|h4E5KK-0~1uwAMSQTd?5-UF0^hW`t)tC#GlBB8^gKDDpynx-gcef1u>B_ zntS|&tv(YU;z@NXo^Wj*F$>l_&i4mR{J;z(NqZ+3M&t|BtU~zUnzTVwX@qW~I}e6F zC#$8BfDY=hiHo>u;U}}00clLvcI2bd^%gcG_;8ztzaNY-Bx}Nw!A~u_sMaM?U*|F1 zOOzINI#qD&0g3LD2mj1kUs&)DuRl5(Hv)NANkYzx9EMldimvL_5+7}v+}vd+WuMY_ zO-sPyMS9MZ1nWH9EO#za@aPkEoTyw$=IXqeT&|T;*7^^`jImu&6sFU z?s(ck)*&K*Sg5#mj3>t5hlOt}1{5bYdOgSRkFZg>nh+y=utkZMy^JwWOUT}A_eOcS zTJDCcr%el<#2cRQqXUlPX84o)b>{bd%}D=mx=1c!Usxg5&1u@`ThSfjW4FU>1&~zYc88tG^6PnT0k1%%!Nnr zd+k0{k~&0*2*!X;7(Mv(5_$-p!W=Qkf6A3qc`kg*JA{1vi**#&fBCAHP3SC(k#L9z zlIX2W%e{p(wNRsMh(3E+ml6(ar~I6pt}%t!k0%TLULIdpjPFI8V!5>vftxJM8VvY| z06=*S>IvbXkEpM=GZwhSB2E}&a>G_=rvbbji+S!>&8OrmK1t8>2Me!~C#N>4Ut&brKeb#)UNXs_!mbxYEBL+m28sZA-`#$L6;X9bPgBM7x; z#h&Lof5N#q7w`LAJ-^?3`^H0FYSU1%Q33z}8eJWYSO3xRe?w0AU*AU%5&;0Ti@F-B zuLC~s=LM#wujdaa|H5-(!BSu{DeBGcILSC7UK?S7JU|--teSw2oSf6LZI#)3t#;?d zBI}bzX8Tq{+(D^=~-8m>m-Ddk? zLsi%5q-C!%w(Gq2{5&}9*SMOXrm8c4U?&hsK2NiI9x+jZ-rNc6sR5MXlMuTD%hZ+9F@jX_%?2&}p@==eK~hWq+=v3?*;! z43y!T?@DCsHiWd4G^I0mti;k8r1MlSSnSi!%4TS5=l$?b^Zj4iuI0`Of^8nRboJE# zjEcX;7n!&~Z!*!3ThI@ql>?kXej6i!9rXI0lfpGzISRpx zlt=tiz-(Yj_}%oHZz=nH@NBGQwKg7MJ@Uj{LD zX4Eh*egf4@BNi9jXXV0w@X&uW_-M{Kb2|nxFgs>_89gAYvsaPNtI}`fX(kAXK(aO@BHu^`K(Wsh*zS- zQ1P_3y!z4caXhPoa*~lEYG`1`pj1-2>U_5@^mXl7sZ9Om-M^k;*YjqZ^1e%-PXpI* z!W&BC@7}Pou?=D%xWOwu(iK0wq3#{FPI%!1I|{rw*hRZ6M`3qtGyLecS#j-PUVUcQ zmDcV!BlnR>a(&(1aZi*A4DmNBiO0bu-a}pNRnVe@yn-km(j)xKa>eV)d*^Ee3Lp-B)^~wY` zZv!i{pHV1wZuLxzApH3{*>o&Bn?+voW8%o+)L})RRQTPoPhid)n|u?I@%WJm8Z@^% zG$-!WV)XS1K5=s-zsW&c-NycoVVJf?=DwYv{D_DU{-aIDSFhi#<8Y{&(Ue0p^1-jS zPDVxlidaWKz%yj$o7_L!tk~Hk$Xsh{KYyf_TAT3-jPMnW9yg@`fG?D_TT7!^oTwJTPG^RAJm(X`ZtFfFmv$HLm zi?)BLG77&m{Dn@Gy;)xHSrK?kZJ_?5Oe0MvlF5ZoFqOOBy=r9JtQU?TCr>kWYMYwS^1*6R-ucQ7Etd-4*CKggsYu`4b$=U)T;jee9a0=*MrGog`#@7(9}q zx+yZ(aliAKiwH5Q4YoWsaFjFhD+D!0|F-}BRP>SFfUK8(!z=mMyJ^2f!?udyAA|8$ zr}&?jGxG(xa=VC8OMm*5$Bo}ZsPm_C;?+LPz3}^Se*7dH$I$XzaNBW&xoyOs+->{% zOA5~6Y75k+-IkN6J=t+l8sgEm5pEf{Pqtez8jjK`*?wbF;`(-v?Rob5!itr3^|+x? zH!eROGz|ZUzC|lL1r(FAfvboUT>E}Wt90!aCTookACwP7IVBzx#5)zk_6GM`x9*JCMSE`-H9{WGY{;J-cUTb>UiHa zF<-!@e0!JQe&)|tn(9Kx)81^&e_4&T2j8qa71~L*UC4T{t-mUk;2l#*L2xb^J--RK ze=kEUlo!9xyZwGIg=1M2y;&Z9J*$U5Y%x}jby#1Le-?6k?z#y+QfE%|{b6-nrq2Yn z8~Qv{o0wJj&6cwOp7%w%KfA|DB6VC>NK}JyFV;G@%SVIGinmp#)YO?fog(28FuXs; zmv#E*!rKnWvtvEZ#?uEP<&!_PZ9{HnJdLbEc3yA+y@hOYl-uyA0skYBnAZ}QFF@4} zE;1JvpfI*^!eHFviEz&nm(Cx(oLGIh=7{FRICX=41Mk@*9NyaZbj@ti=E$ikOpJ5+ z8K+yW^ezHSmTaHRpQE=SxBGfXz$XCS+bpQ-h1K|CI3Q4==?(EVN3xtzlaa?i36pir+qW;D0O)FHMVC~RYW+I@bHW7=Ri zo*W906f@vq8ZPfFc(`0%me~QaWL{umw|n-XTV?1;Pf|zHeb(`?tzu2C$CBRY+Yx^X zrRaPNf&57<6_lwY8A?|x(agV-H5?F~zGrQ2?OLQ!QvG}L?4h+ z8VbC_4XsfjDwCKD1e0%J1<@yEP(P2kVcZE{A)2M!FH)zOECp$?n`PagP3lf+0#2`P zYrJS0E^@Lk(&;Mk`U`yA06_>YG8I5VNI?LIG}Ki70**H6eV3SmlhRRTwxU>$5ftB} zd-r%rR*ukp1;ANWOac^22x$nT{z+;?n1P|4?zNjGc@!rdrmY@(IWuIrtkK_jWPP=| zu?(*7vQ};a4rqP-{<3iahM=w+3lAc2v64^xf~)ZjBvT@x((3*w&fZDVn@qo_@hHX= ziPDn2>G$GVi1CwS!(?hC!Gxg@)ieH5y(+4&?zAAkf??BGb-D%l!Nq_1zvMlA7=~#_E`oaNGbq#l{!=CEK}gqAqj@pRE)eQlJGms75d_#xKN~-9 zXIX8la_JnF*x4R&eGyvk`Yv`wZf?pR_`~W)E09IM=mRA?hiorBruYFUROJ@Owl66#2c9ugSa5I~iojEJDGm@o!K&PpnAgyXhX9wXab%s>2m$$SNz zKH`}|7j&8ta($jQdyC<#aGW3VVtzGy-efI2#el|;RmLm$G%8(*mfRG%)MD*dQw zLtf4&-VgoM(@5a(o7%PbhEte_bbQ4N5VA$af`W^)zEGugO;>qx#MrVT7{X;@ zxXLixVPw&JYkAYNP)wpt-v{A?PG#A=j}-rlTVXW6<*3H7ft_r*YG)M%)qDFuedh$#eOg#_TzWjMK>gHn%Pg^i2D z0??fjoFs`=)@8`S9~5@Qmmouk*sdpsFsw^_5E}R-J>LL;kjRLW4|fAt6m@zeT%x}n z)#l322dws7_%fboe2vIf2;Ig{q=<&^n@NtAi;66wpZP;)dURMxZ;Q!MLAJ!}5Xyn> zC{wxbi!{|^fL+BKl>PWk-c!TQw#|d0Lj;G~oW@zJbR=24+n01zYQn8SeVdwC8P?r^ z4_d3Ew)~zKnFs-9TrB(0tWTGD-~f!|X$ax@)y;yceI8V5FB-}30}wA}{WLfAf$bG$ zer!8SdXvC(MB3)Ahp601H{?fkEV-4?z<9wQ9TkN*w>K0%WXKh{y{P>oe*40@<9}BR zZ=TqFo($NH`TJ)$qgm7(LhXbkUUGlh#CX&xmBvc^*TpDch+%zx! z=mmWM#L&{klZO`H@T7@eG}7UuU!{p(Pfir;M3ONi)J>K7_|A|H;OHKUP4e3WHz|D1 zzmq4fqM1tAQ7Jd_+khDKF_zetS5`5ZWL%YbX3vbND(s)B+cpEiCl?*{X5YfPyq5`J za)QWu)qi;&EPWrkDNKVgVoJW}mhhL{tiF7fb_n-e$eagSz|V30h5IfWY=1pazFF{nLWstkhn6nr7*W;$^SKXv fQ1pMsJ=xe?&!eWtsHFeyK0sIVrN(zPDC~a#bSL8l literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition19_1_.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition19_1_.png new file mode 100644 index 0000000000000000000000000000000000000000..1fe8b76752ab7c8f6cac4e8bb08566cbdab17b40 GIT binary patch literal 3622 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 Y?{S&q>)chr!2chYm6 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 LNkvXXu0mjf?F_q4 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_0_.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_0_.png new file mode 100644 index 0000000000000000000000000000000000000000..3dfcd9c811c062a78f0152b755ef82345a12421a GIT binary patch literal 15310 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 n&_XMKh9TWf;36CHFT^yy{mme8$lPd>cQ8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_0__thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_0__thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..89e7d414263a90edfabfdf7fea5f5a79161267e2 GIT binary patch literal 5738 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_1_.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_1_.png new file mode 100644 index 0000000000000000000000000000000000000000..7d8721b184632cab009a36be68e0fcd0bf70d71d GIT binary patch literal 3163 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_1__thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_rect3d.silo_partition4_1__thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9584b36ec661d0f39889fe7711a07acb4d9b2b02 GIT binary patch literal 4608 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 MO-Hp*#p?b409+G@b^rhX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_ucd3d.silo_partition4_0__thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multi_ucd3d.silo_partition4_0__thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..676a34a415639af747c3527f4779128e6a20ea03 GIT binary patch literal 2228 zcmcJRi9ZvJ1BW+Ld1vlogiY=;C&!d?@002w4 zv4Ji+tZ==+-|uoCe{?aut%KtyLdOq6eCT&ylL@L?gQloRpr%nTqANMGzoOU_#C%e# z>~f;f#^~1xw~XWiObiT1FYCn{RH6@Kq--1|Gs=AQ;|Z>%-K9p*`ye2bHeo0D{U}{q85j#PlzP zn(a|hn49w57cub7MiS|d?CiIzt9tXBEO9sRDK9sMR?WrOe@-<9(%w^Ur%ULfcpEZe zRK5bt3UoSJYS!m-a*R|Q+l{iUS&sYN@mnoFR!m#`p@_|Y&f3)9HlzX;43PtKX?gaP#S%;OvbOJk>W@aB?CAhCTIw2gL z-iUEmE(o%d-Tf!`+j`Fx64>NoyiuxV7h#YE-#U>M*-cv}x4Fg_h}^M>uJQ3wnK9a} z)au3a)1eJ@4C}!bD;^70B!VTrq1kprc0~9ANM<_}`ff zixW(eDa_%bPK>nTG@4E@f#xE<+2I+o%G#L7Kq?1qZ|LUD996ZV#J=oa{MElR#~B-3 z2Gl=;${;Z~N*vsbV6;*90Z*?B&Y!^t{)Nn4oP*uHJHRU!7P7x#=|Q!JuaU=>i2G^x z1QNW+=2daWA`qT#C+XSYiEanTbxb2xD@#`s-R-V1OQF1XHFWY_TjnZeTtN%jMC1p1 zAxVJ?OPyS0UM5&TsTKQoINQw45hzZW!n3p!DeQ^ToHjmB>hHesBc^L(`ta-g$Mleg z3eXSE81p0v%Jb4*PKh2AOI++`YaTAb5YEOY0#e^zruv%@fvZ@htguH>@8=Xj-(rBW z^Jbx;_HK)vgU^5Y2BxPN)xN<(Z<&7NpsPQhsm9?73oD#KsAkufoP(G;oR%jX!a83* z3|8(YWZCC52N>oPbc{Y2{Lh1S2XRy3jq}RxF68`Hg2CX_=I-GR1L=4&A0Jv4mpA8D z9g|HmbA7F7164~{r~eRdehRZ^e@)~Sju-gHnU)@KfwKO3e0<)km`z2U>d-*vv*qSWD=`;^8H@!&sM zjW?gIZaX(ox;`K+m;}PNlsV4n28yxs(K=f_&8;J(pIren7dsuV8F{OCJPQfp(3-7* zC1 zQ>c2b)f0coiJD-GV!KG!tS+$c8FiKaj@MpUkZni1bS5mx`|+X2=X|{*Q>)s&Bfuo3 z{Ml8tjE>Yla4eSxWQ49n1g+cQbrH#+w1378>FnZ=QNq-ST*bBZSfxBLPe2xt9R#uo z-}@TaPTYQty5Z75rE7P28#^g2i{HM0OinB59U2ul0mikN2(wX2f)Y_jxzkNgI9K>w zP>i+sm+hG@r}R|Y@jEtZ>>9UR>>M{4U>{P(R(O>=GOK3{zg5M#?~>Zk!0gNnBsw_- zL$NR|DFtV%aExK5t&&V@D}%pJaayyp%TQimLyUsaV-JhZQ^a$*wk*g56!E7fOwmLy zv8U)no{Xgl%{Eo59cUKzOZupPY{BUs8p%;z9v^>K)vl|nP+uN&$at7%P2wYEF!;vO zV>#mh%*2bHdMrRYef_2NrrZAX)ndeilx!8I(T6^89aCF-rv0wFiW92DB=R%jcx(ne zqLu(974)fFR#sYg1<}cYO63A0v&18(x)R%K8`loPOx@2TXR96JzlWE!9DbU>yh;9~ z@X>Nko`vlSfkM%D^a!%)y{ob)TUlUV`|IrkxM*TRp0fp226uT|FdhyOiHl(jpFEvC z$+>FFCF52vAHE+c&daJV>D=zUd(pkEEq=7X{y~$Vyz_3yBxC29wBO^^dIM1nYN|?$ z|K*gu#|1^bg70P)j#?4C2w>EZ<%3vk0aWJg(*-h^SB1N)^im)ca z9x3B+lg->Tt^=~qAnwA_D(6|!eqL!dfazRl=KGMCs2D3e!dQbH8~5a3GnvdnK00|7 hDr;KeVf^2*8O37B#S@oSzxBID0LF$E2DN%v!oORYMF{`^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock02.png new file mode 100644 index 0000000000000000000000000000000000000000..35e851bae48fe32722c7cc52fcc974b88e74045a GIT binary patch literal 1750 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock03.png new file mode 100644 index 0000000000000000000000000000000000000000..18ace3e1b9e36ae9bd383887923a791f8cb43cb6 GIT binary patch literal 5170 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 AL;wH) literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7c3e0c23e0c5b399ce0c6ce9ae85f6b90a9173bf GIT binary patch literal 2296 zcma)8Su`7p7LBxqAk?fX)Q~Dt#F&y>C0dQSt|3G<#+oU0&0~nDat#$iC?!QzDwmqt zr!h2WO;uBgsfMdHm#P|{yWZFPcx%0nea_lzpO3Tl&)%t47RF$132p!Y07l<3vOeAJ z|9}g4I#1$(X8-`Mw`d~+n{dink*VK>uJc`SERj6A>x9i^$6UEm+OnEjBGs(j2g*gK1wL> zINi|Usn><4QlqryRf9jX55)U7q34VA!}pi;_3BQhek~OSdQvepb|@4d^N+AugG5nN zHb)q{7hSmIopt>GN3P%fpyeARhNS9d;5`%@7b0w`JLhjN5?0E4O<J7S+Y&$aRc zGgc&?k<}lKlc=Heb%sk*na#auijcx%Y)fdG?-(Ld^Lg||{aBfUdE?!KwO`23u!A#y zpe?THXZAUdzdgyiVu}qM1+r|P*ENiqm=>qZbG@(bckENe0)lUT{tMfet_62xaPEiRervw-UKb#W zX2o>$v!h)@w#iG7TGL>^LR5+b%%AAtP!ql)=4?e%*TDO4_iAK8&>^xveIh#pEh~B! z#X;lHtM>-1YqT*tYBupwgh+8xrpiXC#~us|zmp}$-^u>{ za?mCYPX*J>a{L-11k0rw%vCB_R_Y)wr2?p)9+Oc!L4{cyKf26&r-~os&;`fq#@s?WS>{)8w1-_OTDae(I3>dmCM>lC;eO@m=^hEy=;-TUDYl!ws|pE1pf8*K{V zn4=^UN{qk-bO6iYaD{xlAs@E(Jy&???=^Sze+*q689@bV?$zio0y#97$u!Q2ujah=Y1{nia7mN&O`s*CbkcPyA%%)Ida7}7C4-{sk?pYRj#{irNg+an3;)7pPMk}sRhbVj)4vN`P4VUCd z9$}|wfLgKoIt8`d5r9@uWh{IcUO!(a8wQ)0RA5wnJa=^_K~X$|q7g-qqV8k64mJgl z;3qTd#jC8fgKL$H85z((!zS9+zE*AqCghi&qTs^iS+1ko@@Vv3Fpjdh8o=fUtmgOb zUr=HZ0?{eAIqWbJx)#V`m7cFW#7`|4QKOi6)g|r5%Es9tvm{zcDE(~2kc_zZB~pA29QXJn{kebk zB_i!CwYYN%gjm7y=$+HkN)+p06?;c_4G^%EZL81zq)bwz6GSLKi!>-`4vS!s%j4s1 ztT*yq%=PhBm#}*sAZ^!PXg+>mR%P|GB#5VQTTYD_I-uK@It#8q8~ca!1oa0uxE&Ct ziokV#o%!BPU}@Bm!cglky1jB2r;9eP58ZsbtQah^iR&j!Chc}U+$%9*rf?x%&D!Eu zbxpO(+jXfC#%C#xukiOEu5b=cI4V1z)QLJ5BzUHLWn1Is#cZ#7UU?4JubD|1$sU?3 z#CSI_=H~p9sI*td{Q5px>(k&P!9n&qvNJHl%?drTST{O_J+dE47wv#s=i0zB0U`Iz y&FH79Z(V0O%VQMl?fQ;=cj0AVIhQ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multiblock05.png new file mode 100644 index 0000000000000000000000000000000000000000..26040927d721878818bca7d1415312ae0f2be15f GIT binary patch literal 1740 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_1_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_1_05.png new file mode 100644 index 0000000000000000000000000000000000000000..80e3f40b8eac8a2a9cd1db2bd4d2411785e18f85 GIT binary patch literal 25349 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 K28`4L}W&v1`&Kz=RqGwM-Ul&8oEJH7*Twj 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_2_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_2_05.png new file mode 100644 index 0000000000000000000000000000000000000000..0a7f9387c9543173b377e06da783090709616ab5 GIT binary patch literal 91769 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 Y0TQm5sh7BvRR91007*qoM6N<$f*I$VM*si- literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_2_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_multicolor_2_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..792ccfe762e6201a0f6b8ffc52d6c49431069029 GIT binary patch literal 17657 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 n~a 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 z z4zYcf?P%<6@jFIv%CVQOhXlQGf&u;If+DfMnR!EUu+aoSkTNRn1lmH=Q>)Tv6H?`O zm2wb^45c#~1+*B4Gj0nsGy{lOMa-S=c=c8KIoj)0pM=WOUEY6Y2DoRG{4wA%nD#Xs zZR@oJX|dPNDp_Il-1yI@w8c)ThB(GpB(z7MmQgyn5xaebY|4C%WzhQpSDgdfP>5!enNmglC8!t4aCG@o-1Nj*3vXV7!0r33i$F6`l05X^;k@aGwFSk4wJ zDvzU)`ER1uji}^jA@d4mrkY2ET#4J@f~mhiAK?$?SEbjb4>WDa8vTjC4hxSkvq__V z4V2~&df#gNmL-3XDhpUQl(UA6BYRajAkO9FSQ^DUc0MBk>v`?45q0}rgl~}{XeN_f z^B-HrGtxdxS;a8#F3@G)rMwDyTKcu{PCf*Gp;pVDL`o@OmN6+uMd$uoay>K`|C2@( zWqE|~R%3&*bGmkLv~#+yCUmV6+coB+!$tg}iZ_|}#qSRygItna7!`2n^1xXX)tv@r zrY?T=X6pj-os`v076vx?pcW4aMI#k8ZX2XPq&^p|>35|>e8TiS%D z!>t@gsL=txX?$7clMC9_>^eYs3 zW;ENIKhZSzg6Io55jW}D2z%o&h;5v3C>s4IeayWZbO5j+T(}G9*V%-ZU;$4(XpZ7; z%3T~i8c-ms@pL%dFY(>%`p+p7@?M{2=S)zJ#odPkkppGSH}}!Rx3kxa-9vY>;p8j7 zC}O=OL=s*5{I7WQ^G)9@WEi+DtBbrBvL70ok*IIcT00snDV0*!5I8C$UEhRBkm)Bmjq0ogtKbmKkiCV5!!pWq~&FL26oC8T7}qajk6e z0r4kM2_Yp~$G9VHL}76B^+XbnAQ~hkz?{@&Ev+;=eHaE2CPL#uc0F~vTUj^TYO1dT zA&yDP^9tQgyPg=CeoO`=gHCFX&i(V`bi>QXo?8?pO9qb$S{gq8W)dD*RuFIxCv;}b z&E}BGA2Pk`83=s?z9>TT*D4}Og`n8rHZ>;FY*^B(=}NA-$A>2ys?G&oPB$ERYK@9v z-XO`8?Al?Vm1w*z6#l{2L8cNBNya}>mxKSXa#<9C=8%HS#flw$6o8S)62D|XhwcYg z&lDZNYL&2eQDqyU^2vdCiU7C-?Y&kR}Flwsmfb7{?xtyQ^NFJHn%`;=(4Z_6gauTA1Et_;J~DpZ&$WU%9$gUq?3KT* za+0gHgM9VjCSP1}dIT1&Ja^`Y0Sc>P2YS;=v_@s{>HWZKrwFB$Xy0#|j)!eZ*R$k& zZT-tG@VAoui+*1=%fpwN_fmV@6tqejF2w}2-Mw<;-T|=>;FM}ZsXaLHo0(^j2KUar zpPBq4p7@4+4H&v1=!d}8OW?m$1CZ6%a5@2)h`?G51go(33NkY*XTh=vMV(`>s+6#P z1qsc=MEI;A_73t519eRY4=HsfqkvG1eSMxs{{8uIKEQgJI1ocUFW-osydZtxZw_=F zZq2@}Uq9xOd^1C9v*v73zD4|r&D}CvE~Y-30?&RJcum~*Fj#RpFEn-Z*o^Yi7qtMC zRsUFcgve!J_$KSPRCtFkOZCSGRehza7oplE7vIrWS&^mzrRsAdzGeu{c$xgl49^l1 z)sg;a6Dw(y;Q{~=C_2z2{)E&{XWg_kIQWwBXIKlHKK%|73^FG`pm#&aIIYUBI1~KA3P@wr--QR zi-#UaC)zpOq@wk$76kjXu(~EFsl60@*5Wyfb>kiR7Z8D!B=h=dT(W&bHtE^sn$lI_ z!wewS=uLQidCX7L3{!Go22CdW;|ou_PM%h!0D7 zp{vMmyWW+EA}F5ob|9=NVu>0x9_XN$V^f!pcmci`NXebO0CWec|MGEdq~)C~TVxzs zQDT>(cIog=LdjL7Fo{uW%S4u(;c)WF7Goew#5%1=P@cZMc9&O$V{idLHZB|>h#@Ur z0E6f?0FPX4p@+1fiu`)w2cD~_k9#M^Mi zVgFl(Zrd}{#M5q{{m+ZP?c3x{H@`e= z+a7Ibg}Xn>!k~L+m;lbwl1U_=2kP4>;*B-MJ_jDo<`4L6@J>#--MJjBM-)C`?rf*I zE#>QJ`X^0P&)^F_-N$X&*jjpI)4Nn*BuDjk)oY^Oh_C1p450uhtgn*A_Wr)2fj7M6|IG7?^^sh8P*IS*b9SFCB&|ZYNeYJjzp3DV=ATjd-UgU^#JVe6TgYaraqP(BaMlj zAX$dG3VgDNBI#0w!eoo|0wZ_MOLHZ`iz$b_CgnsJ8#)3w0$o`yQum#g8-nhqFsy~G zhfIc7?vlNBRROPF>{k3GJ{{L$^qBj$x+I>%JyXHJ=TEgdD*Rgdch%pmBmKc9 zyCSZ1>|Nl%&&ZO}+eTvJT;lD4#jokVrS{urKD=4e*=zXaW|Zc)6zoK=MM zk~u7LIj1uoWJA{g>p`W$BUBbV)&1=ti8V9xS=VL_g^Kt~jgf>jfXl?T1E>4+oTKE4 zQP6sDO<2Jod1|fE-B_dpYPJ8(Z;P1v&B`_fml{Q)zkj#%TTdD*9H-$8rlnSiC0`!mS9qk2vVBId=cl(k zqXW`?y7l^DO^arrS{`Rjws@=b`JIn;DgKaWocQZQbyxJTdft4)?MQ~3PRT<19k*jo* z0aDs{Gm@V^6;;gY3Keo~FjamVis`usG7EB1k&1VUV;l5Q_M; ziBa|r^xF~Djic|3rf-{*< z*eB-lIGCgo9Ejbid_xp~EviH3ZT1C{)G^5msC{ZWW}0j+7e1!TfOILu7-aXoLH@Oh z=~K!gLE#92dD@s}HO+5Hv=0XoZ{JRwR!D|7-0{>{B=AXY+*lgfcGcXa%iqSEN|byR z|9bGKC^O}6PmWQg^|Hwq0GijsiTUEKsa%a*>m&Ect|?0>50!SLrrhfsWT9+Y8>bsL zs)AL*1k=_bd*G7TNpV}Wn2$ERrpy;yJt#z(aV#;E%kYmt?PHZmw1)H^WSIThA>ZWh zM^wO{d#A#ALUt|w)W+Lzx^!7YM=j>fCS;>#p7$GXS#!5(DJo;{uU996a%m$x8a8xW zKMouBmCfdtHcTaNdD}d?Zmh7Kdt*M%*R)NBs-?g3X3=JaJLwKHFRq~xN}R{RZ^_V^ zj6VjM4fB&JE!bgHNp@lmt<*Z%Q^{Fy(Ma(ZQY zf5{oZdE3qrW6_tNoF$&p<`OX}aG_FExvl+`AA`}2Ln zG&5!dPDOJyYtnNSH>W1c(aK-`DO=!;c{zC21b$j*7W+sR7;71 zL;o8SG;r_GS2HxH)+H^oG{ZIY7Kc!T3>_PIWZJ2 zMg!5X#%p~2QK?2p;vbH!LsI+%>F^(JGJGm*{QyuxGBpZ$Yd5eiS?!fi!Uhsg1Lo&} zA=|k`x9b?t$B*LDuN;tM?ae1-!?ongRJKje;h7+@knykZI5|j0$bR3Q@(a3z zN@6`H_DM@iJDvUMCC<#H%9~(u>q>;RWzPkofD}cbF375=CfMj;2_UiOdNc^MPNLZh zi&b+-)m1j;us7DCvbeaPy|1Q_q%kTx~-EkOR;$a#*Qu9Jn@G;HAAL?OLDnW9G=5RHw*Uh`>|cU7S$Jc>ew zhuoz{CbKvw@oS((a<^gJcO3cWl>@SVVq4Le9~fQ*X7Qzc%)1Yr`^gV}D?*+7Z+~Ta z;i#!o*ZC9~q)j(nw2oXJ1SESa+7oA46-PDlcmG0XNcl86isz%O)bc?fS`T1sogz_; z<&*o|h*TjFERddI?p4}nsImJ3Pog`MGw&@htxurGIMAbrG4 z%^ZbmBZvUyk1vGE#-FD@Bqc0%0jZxr8qh)EYXc!$7ot`*vRwzHjr4G`iT2_jKjw~vNgii#c>w}xQ@;6~bo zkqISH$|wR|*n?)_@iqsa zx5WYKf%|Zg4VoruGK_Nc6kpc$m8+&~Lgl?nKNd;tG=#$UNGCjCN2AZp?6P<$GD z;NbFJ!EmvFikLyBVE%WxOw6|;#Xp1(O_iTA`K~8Zxe?H_DF$)uCA>q7w%;BtcEVHK z*0M7@$_)7+P2tJgSkO6PVVJ`eoy-L0310q6CDwc6U|~!w@-+Y4$!J*~fzkcJS{i`M zJ5)NvVutYB0r9X4;jQ4qkQkhrG)AkPB^g#mRMn$Qn%8PoMwmgq6Uj!h{aL!c_5`x^ z0g6ZaQyVtDJuSbK&NqKwfap4lDHgM_Pw-#T6R5)Be=<* z{(#_{M+71RGT)>t|J}{BOSyYFf<=Kf7+4<+sN~V#qQ=r;kK|?-*CZGNbAOS`FMorK z(A3~AYbp3kBC=;3I4nDr5rqB07_Z>bAhEUcfz*$$ub;1fy}G@4$j3bbjtIykuJM1+ zOby`@s+^ocOU2X*qFd!G1AfY@L$zA5^gpf>O)6jz<$2Q+;yLh6;_mJp3eH~jfV6MX z1+4~;m7CZ4$EFE@*#s1n0Y)q|+?Z!D^b|1l=*iEJQkc(H>xW@Tg60`%XFLW}0CqS% z11hQFP4*hqXglsf$_)vY%H~-@Qe*oo3w$cgHe|wdcqLXXG514`*40)4;(YidwHmo7 z!denef`yKxBa=j&rlbTcA_i(dMAZ8X5N_BK!K`fB?r0SykJ*9+m4!`&`9~_2_rW(V zpaFee`+?y;^2iw)9YB92geN;C<+4Zkt>p>J@+4JplzZ5c_T9hzBye4?8zt_%*6QZ( zgtdti@ZUzd>XpjF$OJnZW+g6dh^cv>$@RYhnueQ)#yZ|6{5d_!7l7`&(zMG`ip6ZC z0WwzyO({nf727mvDM-IG?-~5qz-EWFd7~tIi~d#LsKQr+R^i7lGypUz38Vv#)PtZL zD8xG0v$5aj5UaU)8r@)7To`-jmTImj=Y6{{Zubz77&VJEy)*zU%q zi!y;AxyL(HWN;f>Ch9iHoy_b8Dk|(yOzIt%FUlv&Fr1RG|G?Mbv z+6XwDgvVwqvshR;sFuEG-_4r;ESA(8_#hqoqGdG*hrZG#|6xV+kDG#$A3KbqV#F*-sVBYU zrPa;uTjbjT*_QkLP`L>g&&yN_e(U&mylk3{hhs%vg~KD-%y2;Ew+&g1%`d%A9-H1< z4Nu)sMhF=!)u%yynd7=shDxKS`p0Et>ci>6$$D-?N?_vfdbEWeIz{0(Aq8`FMDNnc zR{LyDf(?&3>IOB>H_cpDk$vfXTj z8zoEF9MC*7M{dRjun5rjOY!>p;pPM7i`ePEOYzEO%~VywJTFAQ!xeq2if|4etYG0U zt~Q0WZVAa>d}ok$-4*Ipa5)ks1)msE5sGxQ@u~a>x&v^I$VWBk>WiQbzQSE#%Ubj}+V^$02C#7Bnn{bDdK{TEGq%*tl(rW0x00>RN z!J7gCYLkpdOEj6=-8cu&|OpO*ZuizvHx{)?(a43lg%Lv zH_Q3dxYzBha!g3dT0&7&w9TrGu~k^8SjY(FOG6Ir>zio9bjt|ca#095gcedn?vH=r z`|JC9U)TG3A70n%eLY`~*VFlrQCX-JM91nHIV@~TEtvTg+5u|_qOL{WZP-giy}YjJ zWLDB1O&1`fVc2efP>E1|LWEQ;XIsmcRd^=`KMkC+EFy~kb_A~BpSGTy+BPsTEhDgT z@$Ljq543XfZ%A`n3Qqra^yjy4Ed|jm0$_OG(%)5;onlE0PEuqk z)tP(s2?_Gf_%@Xlsu#pE{L_s!dz$y8O;ds<))imm6V`^rr=Cl4$<+IN6;qs=XqV)Hc z&|oicVovRF`4HBKtIa#M3OUQiU7EG)IEp=TA;WybVRId`DHFlc-FyET+pOT^z=bo* zcBxv4gQ4kFt^U^Y%xhx}y~NA0xs0kZnu%04hk?Qn8&U>g8f5{z$*MrnEu_%~IKnQk zyX3DA-4wDWT`R8gJ|Xr;`xAF#+VwQRV=0)z&jA%lwA%4(sxe-406$bTuYgvrdk!~kQyyU z_FULU&sWBwA>rE$6`G2k&E_BO<$-VSMMq`4KmQPI$F%Xv=SbbE^6|mQu&bTbW3*wI zSUrx|`0Y#=KFlV}6m+q<_%TzI9>Qdhjk(8ImGsz?7zFcr!a2vh0jk$X$Eu3}zgE~7 zcN>RWGURy(-pDg7YoQn^`a2nJ+i~3kR+h=p7x(uAzRwY4RJ1jH1RE${%zXplnD&JeY@sO-FexYD^h^T$KEhq`rY zAHdIM)IBa1Il0+Fw+FU-QQxJtbdXM>t&YrD)J8|}%%PfaS$d=fH;OB2ahHXTT^ZB* zbSG8o?tG|n%45{*6YjGmR)I3@u*>A23Y`5*F^{pMT4>GAoQNo?%$gFKAkE8)7inkq zoCpR9)b+|&YHPMKop4Kt-&4IcA5NWrGR(5dWeg9Ni#=G^4_O&$75 z953tADyw-e=Zm@DN^y3>^?0A$io!iKG`c;K<*R0U$msRWODv&+No<*y8_)**xt!%z zR;U>iV)V@|*;IN(hMUXG)K~Zl;fhjSk$5E=LslrXLLvn3!p2*4=JOtCo&&I1`jYjG zx)E$Te?klti-6OScIUv_-peNBAnhFi1llmw zOUmy?mkRClxct6eJiAvW&qsWEBc|7RtvBJ}I&Zq*czaD0pscOetxRgXEM$tV;W>-K z!WJ?5*D^>B!0qgW57VaDMLI1_5P5BeY40 zrP$qwNqK*`lTu7y*dD$gx`{1FCQVKFCLT5LZ2Eysemep$vk7RnORzb0bSdzw)OU%I z`%Z!H^Mf9X;K*E3G%&;0(ZNEsptSfFd}m<~FxG%j2Zd3Sx67aJ8!@pCn|qEYZZ+i>L|au8aJ~zxkPj% zcDXe1l&ez*``PMFqIFokw&S0ppYA1-aLSv=>Kj933|jCe%Oe2W71!OSR=8vO@lziG zXE!Doxcv&BLD7_T&0G**#J*!|NXWR>isFgFPphFb!&u&^aFX6;cA7FozWUy2@K92K zqB6{)q5E@wtDx$l@;kgiV#lbpNLmELpN7AocKCPdHc6I3iiHeMznCJ_ zj~vzr#}Ylw7Z_uczry(TaCR@)&E~sMTx=3uKcbbCK4+2)hqINkOR~-iRQrWO;_Z-o zfJqSA4rm31vr)p_J|R&Abc;*g1CWUmE(!L35C7ao;?AsrBJ2|YBPWoTn~y8+uZWa? E0ejMXT>t<8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran1_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran1_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1a645697669d20dc463e613b55eb469344939185 GIT binary patch literal 4593 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran2_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran2_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f8812d48319137cbfd07a39227a118e49f72b4b2 GIT binary patch literal 8531 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran3_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc3964b991b8599e565c9009b8468ea3e1c0892 GIT binary patch literal 22925 zcmZs?b981wvo{)N;)!kBww;M>+vdca*tRpVZQHhOC-<3k?s>oO+;jiPT2FfSt}gz% zs=9Z$yqq{3G!`@v5D=WCgoq*#5HQWZzaJogktcjiA|N0QWl0f1W%tZWABz<1;YMR+ zL)zR~ZgyHU(wHiCjwldsgzn+@A35kddz3kV!eustea}hxi6E#Ii^o51d62~(T8IFgMM1`#|{a?cc zZI>`%F9S8}>u^miead{jU_CY59|Fq{;eZzmY2P}1LE(TxIlM!2nmuWOm?tiVfFT-f zFLmjz>jg;+L^$6%zuG@z4eddTJ1KuNXYyY0`8F$gn*!FM5C{FkI5c>P=X;+FHtN+; zIgJ<>glIJ@V1(dh)39#tG>$nH(XIkhU>s->P?RT>NxehKIrV{tR^y18wHW=Fi@ZuziDES5P%1$udR1(ewLY?ZcNh;_Ti2G z`yABYYbU$t>L)q8)+m8R|Cs50-n{1Z28Dx6A*|P1RG?oo#nHa`^&T4mZ|g4#j{4<= zpZ_>7N@6gesl8*ksg~&e<`hvTLi!CX5qqPzLq#GbTkR(!f+Uu>V{%Q(Z+*kQAb;gV zUxWial#$Qz*-xY?PHZdK)32Y_Y|9>rW!VtN#R1(jA`l7Ced7;fHK1`WY(A=HLLHPf zn*gZB`SkCS5>&ubP?>|(mY6&YCT+utk z0VCe>&NHh|q~6Z|VeS9&>OCLArJinLfaFa;O~K&=fFD=L=bk3w)&l>NyAFDh#fNAB ziI<;Y$#Zc3p|yqOX040wAU?2Uj%d|ui)>9U;lo7ss{>(xl6KEkhH(?H^3;E3|7T?^ zQzBcz01@2uE8Tg@y(_>3^+-edEpW7to!#?NzZ>c|9>m4jFj|7Au_nO77HaE1#S{?N z|AOEd3ZeT_`sLy0e<`kCWCOA3reAi+cU*+{|JajWcb{<8KfDXZ5|Rbgv<) z!ft#3x6K5?O#p5u{*lSwyB2I2T-`oQtC|BnoWiYc}L&r|>3N(O*d z(DQZktl32pF2VmqFd+uRBVau1ccCwee`_Ls2H|7;w_^=J|MgS@xEenWz#I5j4684I z{`07_cmLD#m0#^Yt5d6|u=>&e|0pVBM#O17<>nQDgnPm}VC4UN7ac%{I_waNpXVRt zpN9Q!F8_>+OccC@4;c9`??8w^6#F+B{=XOf-$6pHu8)`zh*)$MbDdqgHb@+40Sr?c(7eb) z?8{&N5BOtHoF;%9X7+MadBpO!=<@-v0gOrUFiXFAiMzrv_<&n|dM}y?unq{q02c(> zZR2-3ekxV(eyj`mm2t!=Y`wJhmBBS1{qwx|KX`qrVec)B_O!s9qyIqvh$YBlsLZYF z>08rp(UH19_<{stZ&@AoEovs>f8T76|8V+;qR?ci4YS2wGq(J9;y{|_;c6}mlp9#) zK&b{|v&}twSC(gB31ZcG{KK2Kog0HC!T&^-cu+vPdjIsfFdMeo(y%}9(MOps zHU{OTTRX)M)G+bgYZV|T1v#$#-%Y)_@3DHKrQT+lQrnuKj-)zM38(tTCQ}Kyu=BlVGpKk9>*A< z%w6lCxa-%FFN^KRY5S)2&CYRfl1}5_{^nw*C^QGUt!ix{dx!v!7)=1z6r5Ixn#u47IMrg8-jrCxajoW@bOM*e@8)-d=X^4p5#8cX!r4)5W`sQF{e#C zN{wOsn`cUkk6BlA_>&nR9p2vVkAj@dX%wvGPAgnXT*7IuV{r~D+mw6`r+Q!rT<79c zO>QZ0)NFLCd|eQ_MfvujM|f8>^~`oBAXye%?OAIh^aP%;6E)E!@1GfGsqlWM!*m|mRy&V`|_dm-U z_c+I0$HN#(0=O#3_hs#(9=gx> z)7WuA_#g>e2R}nu7bxsQF!*{vrP!oGpvY9Elof0Wbc8RFQjDUs%vI#m^o0~v6b?PD zqdBXhH@*x#G%#ZP2e{h3EPcc;F-T`*q=FeU7Ab{!pQBE<8B>92x zy8Izz=?igWcpgAtpnFhGQRWFlpj9MeV@CmDi9}r*#V95x8WMkLl(X$RlV;Qv+KHz5 zS=k-ANf?6CfxEr?WfaAn!r6jlSu|Gu7rKWr+NG>5RlpmZt0WZPaAXBb_smotW^?fB z2eH^q$5p5AjE{YD=;tY6{7t9P40gk;ZNcTv%XGhzf2M(0oyJ=nkJAKaT@`&a$QcB? zit=j=f9?B7X{iyLkCQ+6s-mzB{=3V9mU(U92T&mI#cZmE=wp&s5}{T8s1cgUGAwfy zDrp3*1apN1GG14UEo}7kHdCLLGw%%~@iQm-bPS1icgyK!p@hX&;sycgrR`mnLm?MO zU0l25l7iJ{Z*&s*2d!{v9Q}&%U+Y)2vUq~B{Bn1z16P8tUzUsV?_+*RgzbGvp*i|< zj4Tt_NNRJf>KJmut1S|!Y4!L4WrD1g+KITZ(Qg@Rw!iQ9KNsQ z=mTU9!F=8xyqZA(c!Vv({vV0Zml{rYH$7gzMd54EEW| zTt#Oj`^Z42vi7mRXQgIz1!_ILS^Jr84uKiK5bP}$`J;C0<~jR3f`*bS;(n0a@w-nb zq8EmzQmws{82gHCU5?dw`}HnJL?Kn3{0u|El;DOE5iFu(3ReADZZ!#n1)~bF^xT4q z!m>k)M5$thv5a}qT;RlMQO>PLg_ZmKm);@uQmSQnPYLg%cmq_Kv<+zL#v@qfEHkNw zT!YGxt$nCIfrHdEop<195hApvM)DRphMHImH=Kl0ea`{+Tb#HMnWxLN7N)7-1xlKv zm>m64OUlqJ>0DB9pL249{orT~*Z0%VR0kMQlfoZqhMqwM)Y`PC>3-v%qr6!a5*V@+ z&8Cxnk#^*%3|f8>ry;JvY?a6NVkEnt`;~4_KnN596a)Gn)>zMi9qKT&4#F(4l0%wU zudU|CKM2_7CJHXu-b5g@EStPm3M9oKNTA#J-X3JEA!vIjD01}nq|3`F73HWMpR1LW zg4MnjyVkoO7jjsLpsq1TV@5%r_0ijrh}Cs=XlrsQU@qRVqM0Hz8A5e-DIGaCn8I*( zQiS3&Y5shd=dTG#m)(kn`Im4sDk>1NqV#DN008AmSX|m7IYDSH49oJEgMT1T=ksZn z-yX7Ajy(rZ>s=%7Z@rA*Qo@U+7jBXZDvEbTSk{1`;ABoh)bZmOpp*tQD=LWZL@H<3#gu;-R4h=0KD$mg26Nn;D zJ;AH!;&Mo6`_7at2qWpxV@QlDjx^-ctzojxE7H(oTpjHDsU)**J|05Imw2TOeV(kX z-z#8Ar;1=-6Z5I&o2RTTZ_T))9l z*xaaL5TY#of+;GcuHYdeUgy9#wKl3+UJf!qM7a8`C}PJj15h})Uc)niSve&caA*R; zro52&(B?RHK;@d#2^1l6mlOE@LmZPyv_ZRVoc;!UkYgVbCsPMGK9*#+Dza@-A}*RC zzG`I;Yq=wm_c<*^;$uMKMd_M6MBAXTbZL3OZqwm zno7^P+r7CW{ef)clC*>ETuxq%_?$%#@(Pot2!z{!u{$q}-Pl#aTd@vzCcHRRQB!yS zZ6fOyt5A_`CYCtv*CWO-vdjrTPamSNmO*hm_fQy;EK3r4z{b-!_)Ty-N8c=BbRxl> z#-0($?){e2)C|@zaa7BX)m}LQ77WCY%mhe|Si}HqPAm~nTRr{Tp9rU8_ct~TW~rSg zof1B0yJ-&hrSB)v=-xpE$L_wr15r+KoG2aDt0`=!RyD#sfn(Q&20IB59YB#t9yS>T z70}uGN(1HK8WFdYvjEB2(Ry&Ev#FO@I{SHP{RXm=w@a_){MkKF;3V=45GbBs&@8+w z#{gD;!vf$U6vRJYbF;sunw8Io)0wM7yg`aY9ULgE_ zIT8sb(_&N&C8z)EEPQ)fhKKvwq27}&2!;{QaK|1s>q6H{o`^Eu6Fe}^E`{itNWxgs z1u5Gm9Y%0ndt#k}FUa}lyiP~bce*DrE6BO8{ut46EgOWa!C^0W{Y~CiqJ8p1({?l? zo>8Sw;&vhbWt>M4S^5DU<3LTw+Wcn;`7!yG_;J>+wj8taT}aa1ZqIK+0;2DY-l-mh zF1PLbP00l70v%Bo^!A1lt!-yW+`F;11+vtYQuye1r%e3au)xJG9fauzo-d0OB2d^; zE-Gjm(XmtgBU9!H-6!3--kP4hjH^15G-d6z4a$DhD92&#JFUFXo|55l_|#T-f2@mL zOco`dxZ50sH+2xlt2rJOXV_@b5`2K_+}BzL6TSS`S~9C zzz_(xu_01dPQL^B-ZC=|g#>Kf0jXZpEM6uI4^OB9WR|qHWw}^3H}~}HvCw8}83b6>zhNIpkhP#M;Q#n1~=``P%W_-SZzE(a$A?8oQ zLltp9uiGx~Y3gj`PPd157?Fv?-ryPNpM5nyD-Pu_25wQX1KY`YInHVK^If-kF?X;d z@m}&$6-{#Ws0((w1ctvjKL{iAGj}yZ$^Q^-*rXJXKFn#nYGyY7>C&4ZMOlO%4dDY{ z35uisI;tmmy|=T~I|c7rIcgS`CpQp*RCyXpxPHqGfZeg40dmMw|7mYjl_A}DB>sJ~ zG|4~;V~-W7tXV0Vj`y&V0cz;dw2WT*9Hi<9CF7cPQaX)os0v`N-PyZv6?_&Lu1(Tih6Xe!E=(twBq{R7Xn-10ZyGx{EyDl^`<2SKfq`sxXZKF2x7+MNcUe=949 z-jlxcWpq(mG>$^2;l!p^8yc2el4nVK);@1}q&$7;LRGlRUo50D!V(nj$dK5~9oy!T za&}EbX_o4M(9U1mBo*c^PO6%*3fyZY<8^fgE-7n9U|-7{#z-O6bl$JcZ%qIbh&YM_ zSkAtWH6HbJ#DeS&EHl$cj@x%Ox&Lq@{kgsl+Xwq#3kVcfTvr@-QtC9fEE4aXE6z%K zibUci0(DomVzDjq;DL82Ra&sC4j3YB+_jc__`}K@?zhu9=ah+(Pt@?Iu3s7TX4Tfl zaEO+~OUE~;^xEbI-M3h5Wmh=v$nNL;zyZ^!St zDrIA|@`ArJ3GMFaEzxu3G3dw?MRqXKYQ-Ex=qB1-SNg~JSNQ6WCo5*9$GPc1MdVn9 zBP@uJCESbeR9UPimCbF8sxB9}7l3wM)GYv%^6kU=VYKbVxCc)G{~=C!I#sGXLnTSj zkQ2fMj_B1IxT60f~E*M_kQhz6r{`(%Pp2*Vw&7?<`savD&@a?ZI;C7iBbw z%i<+5VqfzD01lwl418gE^hMX^mqa8$@?w*y4xlLY8y~aT!DleQP+P=oqgw z?bJMhZI))>QHr)z>J@KPgCjWi z$5$TUNulm9AoTLZ5Ym6D^T>#eZ)MGgR(H0Wxz`Ot!H6{@$~qGXEAI^ZWm~%}^Iu_n zYhN(|0bz3filT(M&1U_l7q%@D94$)Y5N&9lDK6z|k6Igd?*=J_dxdlG6h)~V1G^Xq zZqo>-e-~Akbtd)ER7GzP!Oo=?|Az{aDI~YQKc1M_D9?yY&7Oj>KWq=wFTXKa>pzdK z3rw(n!W>NWF~^F(2Y~`PkF*(RtOl#m0%KQcfqtPRR+E-0L$)cQs$}m~zfjW)2s$Cl zMB6)uj}t6~`o;6Jc}5FvAyEoio1NxcWd)Qh4|p~6ESt<+8 zt^W1cD_^v16-Frf(=2x{7OustQK}1JjikjyhdPEZr0K~&UJ3NH)<0-)O;=RQFt_|P zwU--aN+^(gQ2|^ML?5plH*xqYwfoR~hG%aF-hrd%_p=Jt%XHS@M1GRqkFlW@hwD4J z-$3f4DLKm~v=ln><9$0r27O9Zrr12|E>9TP<$u>{uA1N{OzC{IT?uVsECPR?!ZkH< zd4Z9!jQ<`!=XVsZ_Nq?Fu8Qf&eH(I(Q3+(tp~>nfnhor*vB~oYgp6C46<2augCgTW z*J}zWiBLPbClcji#eJr2I7zE{En6tkKv0@DzTvCnrR0di>%%a5uVQUc`elUqbdbhVLT`0W?9tbL}EyRZM~@hm~tJJ7yGX#l{DI3WEo%uoFHe>BDCXJ^v^` z(|p6hX~H;R8Qy^K=4cV9*k$Ps<$YJwXkVjyq6xsvf-EGY8);Mt$&m9rlY9RB!f`4r zHC34+Mj>uc?+RbJ(+ysHJ5ibh)Yc#?v<(jr>ZaJg@1rXw8HYMX7K(ZwY49U+x?QVz zKiFT2S-f~tt;kaC(`!6FMMu$;=jFkIzr4-HHa$H)1jJw|qZyEeP*#l7?N zB2SKxt3Rc2_dNQ-_YT0G8uB?aG`he<}zliO7!xMfYlwox7Jtcl6`xGi*i?=?p7>R=N~n+2rO=2yp2_0n^N5#`dG-SppZ1PXTm$~|b`%qttQk~vg5>#N^l ztfaMcyZ$7^-`jAg_Z_VM0vW9i)Y+RdFxiVaaC{tH!(IGhj1(gkW1oaVr z($;oUQP2s=(2wv=V;N+*`8l#MinzZc=TM#}BfJexC)Lh)ZZo=zHi64_4fQI$*XMqe z0(Bh$_m*?|ovF{%SNgBv=aJSJd!#8xtn!&t_H&JuP?Un44@visA@OQPJm<8Dw&9ES z>lv0gYIi5ojrn<~Eix0e`X+*>!B9|6h*R_Jq`l)Up--Ew&^b|v3d&Aa$Z>POk-mXK zj#Ci5k*W!;vuBW)XD(v%i$VPreOhI-LJq=7RzZ)HkTU|p7HFrk+75Iza{QcC&BAC9;gIeSy0bOhs(XPZvhp z5WA5h3YkymBQx3U$``5ll-?s3rjX)rvctug)tI(8U% z%9>03oMnLkVdwe14XK)4#>zFTZ3?rD-)75-*>!I;(K_7~tQo?M{#J(G{#&kB&2FLFaD*lW z82$Q`F$|40`XP}s=!dv0nLDp4H~BM2Qj$i=N5|Ex;;cz!nk$_c=RH%Qwk*S~vcQMq zrx@}N;y^8P+&u=-@((B}2FpCiQ{Y8fs$Cv}gs)ap~*o~-E?v5ALS z%-(r}iWW6N1W6bk;|*^8A@BL=Rc^zg+&)LLEYCG&)i;#cd_93&XYDJUS31qU9grp8 zYhhAA=q)>^>=M$iWt?Ma&Y%LfGk4HTQ@9lseAqr*eH4O@f2^|2(c1@6!|n`QnCHC@ z5IC`Fnx87DC#_En43a#fX$m@v%#Ml$n$@l*z>Bs6_MF^~4j-D{IfYO~{kB1! zfRW4Uh&*Xgh^-y6T&bV<$oe|^H(V>MDX?qmjnA69+X4l_Xrwnkg|CEtZHQtoTHr%DaHmT z62V!Wn(QLO?=?+4uJ!gvL-_`SRijw!%ykQ&wnY-)LK?iq|B}>`KxSAdW)%#X+pyWP z$}Syd2^=m%)zv0mjw!8#{p1svnw+THyhu+N(;4j_^C;E105s4B3>XP4gxAj$6&?OA ztgXX`v}-A`>qo!hJ*}wDmPbQBuhaN%Cx-_37FlB)96@!_W1Gcv1Ry%fULxZCVf4Mq z#@{txz=mVsIQx6))N#wC+S|Ukra9i!YSFPKGH+S9M5nm`!D>*?gw7A?uRm&e74@fq zXSg+5Uu~ByWc)84tgUZI}5 zJM{E+-8O~2anhl!sA!~73XHxd_=7&RN3Mqe6xTpuL=Xh&`?J8LAlE53aM~Z&~hXlHZWv9+R|M~K8O+=Ce2a|v}_FX1y z!Lqh?hC&5}gxQ0)(`#~lH?*CIcBB=0#x)rf0==4eH%OoEhs9=oUVOwk2#jj5;NJ@c z+#z})FbYDr-FwRzI5XdsRdxzQE=j~lcDviGwsvHfm4MfU_ z&UrRHk@+=Rz~^%~JDl5~$ej4iTq|jUP`Ve`4)Id;?@XS@&;4{j&2t&2kIXpMe?24E z|Aw7dEief5X!A~NXf%Jp+cgi-!2bkCo8b2hPdSK!M%LMjcXd(;Ddr6fpu?~?CO#%J z%|DoSOEa#tkTy^nv_>e0`uNCrpTx_FYINC?s_orxK6l+k6cMSsuiwN~6<-W>NkMEG zwBv30(c_*D2YtiEs#1adsfu`Mhl+i$t5Q<(BK+3ya+N&zvhl&Hi{KgP`uv0zNjfi# z?~^e5JQDTTh5Ej?!L?@*J0QjC<%e3 zL)(Wnz<$;;Wqd2YFXjSIqAL%Lgjtx-UzKruryU<~!S;z_kee7uI_Txt%aQtgQaf8& zIvy?QZ}wW+%i4`pJZ`bVmICtcZ|5joX%YMetJnVgid_Sbk&Gn${r$4bAEBdGB)JX# zef8;u|6U0*0TXKhRzVw4svdxluEr&{muywf_r{&V4YWgmeAvogU9cs$o@71B2+7`O zj^IU8_{-GMe~S5Ta7Nk!m7I>ym`0~k66+vp=vJAF0ELd5-YOX+K}9{PSsSt`L(lWx z=g;C-?HKaAqcoI;6qT1%W_V?54nErpXoUxBf=eVZHUb9C{nnq@`bE4US0G4af1e-D z98OG0wOQA*x|}{E!yLtefBlC%uDt_B+c+{zAk1!{RqVlm?vrXXSr0(a;aC94@J&E< zn?Wp!40ro>`25!C@=JOom&S*C#lkrT(@++=2Qi^d>wpPk)B2j1+XnpaQ}=R*Q8Fs; z0jgIAe;7@83b7M@8r)vChRN*Nzk3wh4FnC)NW93{$|7FIv}%=5h@4s%=1QNXJ0ow* zKVt?5x41Fzz^!^stqFks%Bh5^e&Jn>VtUuJ>ji!AVl{p`)u*4y^fhO}R0ePNmq>W5 zeg}U`#q#tfsJTDZJ=Z0Mssu}|JWF{%BM*wd2f?DERI|x``Rp8TO~b~Q=D7w_iy=(P z#vvWxd5}^&PT0t^J=KuI7&usnlSp7RarYXBXjCa=m@uymQyhOMew~Uw36bwH8{?wm z5r(Z1pQPrYgH;5E1gKRkxo~wK3Mhcci=brj+GQtMow{ml)w@Ty2y^}rs-b`jrOKzk zuBF;@7w@2g=K){Zasc)?XWamI`>ryisuZH@m8jzx5N;y3$XgV9uXEF&0YX>w2ncsp zz`MfC_F4XvQ!H9}zuQtcr%f8YzU|b#p_F4b7U#&{3@-RH8RFciuB6;Ygdquxpp(7R z4_xbP8dbu~o?(n!2&jhlTbYfWod};D94u_Dcu@{fqdX-=MVIM;b-9qYu{J7H3>CaJ zAdlc|w`gC+(?J7H3(OBnQ;mzXJ}*>#8mBz5*XXS7bqt+v*dR*a#!7hQe(GWMq`lqJ zP0t2~gYNcl^p5g9k#|aVwx=(VFB{{3VsDryzuA2}GxJn9Q*XO;w?AfIxzxyR*V*Xo0t>E;lyu!*H$k^w=*YLC+UV84cY+R7P#(9~h)4dO{9lPBt1L;0m* zw9mZH;tZ3gT3DWMmRrd9AD!TtrlMW_#feqpQ$Cm9ix-FC_a_ zGeCc{7q|}vkJ5UwCpAV`BFo~ovQ&NG9$+^nDNa(1Xs>$XbQZfP0jWuDRHawn177Cxh8Q6m-hOsX)9iT{at+0N(P;Pn`erkuJfU-= zu|N|GAj4c1&ne&P>D7hv_O+oM?ubD2W4gsOi9}MqK>~HpoV#A7+zK1HuwDKGZu5*` za^Rh9%kPdMR^o1q0?=GvT{B(qZQ#MOr3zu#$VgJvE`uNxP>csDo(`2q_7-T<3R;K= zc6cL2=qH)G!UG*Ygt9#z_rb!6HM>Al#dP_LucW$iA)%h;9bJ(SH?o7a3{Cdls&!+X?0gV_id$7N2F616G@C{r4)HQenFv^bj?nyi5$js+!Xv!KHM`(;E7W zL+W+Wbb>xj?^-ax3gSL{Wb_}ACGJwhKgBtjczObfHKUQkd{O)ERDDH_DG}Cc<@+7zcTGcIw_?Y`gdP(=omrZOu#O_z>QW0Nj*X z71MGkr)eDcw$tH3X`CSpIp#3S2D?-1JH%X$P?Di{7*)YRSF`NvZL{E^e|LB2bPL1| zX>IMWAae*nUX(5L6jpH!Qb1J^gS9$#nT=WEl|cN2k7UevYe=)`WsUj>gE)Yjp)t)` z#B>)_w;JOTTK_KR7dc=pa z_)~Car$Zewye^5{!^fjSc?#gX9*2JFi z&YAP*+eD8*{;M-ED@1QeO4SC8SG_4qWC~f#WpQo|W&Zra6BF!Osu(Xb0)&hOJU?f~v7I4zuD z7{cOzY?G=v&lYGY0c5%77M~cy%d3r4;W)*i=&Rs>Ju?LYhK6cYvEMjH;D8r|!uQz2 zki`t=ss}Wh@hZ0f$SsAoqJB|jb3)KKG9oDD)=~X_F;kBCT z7K|iRwLCty()JS};W?=iskPZj>RTVi=pM2PW_60LOmF)Y@!oru9&yfo*f+Mp^|W7> zab*w#O_jn@XLDtgL&Mc835k1_wt&~#fNeCPu5nuf9!LhR;Wr(Mn}??5>ME(6!dwuV{P|6rdziP>(23=Slp(9jMl7W*wMC?V(_#0zq_E3J|NIMcSK|SQ%5m$sZ;?<7I>`)wObVyZls|gJAmEEI|j} zv+EjrBZ_gWA5U$a#1HfjFa-3htG%^&?_l`kq{%9))Cg5M&5+zXYmByNW4bD5DaV72 z@o7l#Uuz#!J%bM)P`H#fFiFyil~bBgZk93ccmj)p%@Hgv>5vOxyb-Udv@lgtI)^fC zmzmm>!a^^qA02ou(D~QS(VWaBDxt}U=p7-z5Yj3e^u(s>&#baaIj`Vo-EDeBQwpVy zxhZ1es?eyJ5!@SZ`k*8xNebX%jui*!cj-E=_*(3Vz|-$5-x!kSO74-{Xr1sdG*7kH z9qo>4R2E7TGUT7BpTUba4(o;4fq{WN8Ra5o9PI;#Ik#qFguR8SJ3kYwg^0xiz*aLB zh9fGpUn@K{f6YJ8a2LE9Cr@HTO|2I)kT3Fn6m?s-6{B!&g`rg}y|rn#ym^pc5@^X? z0(Nwx`m9Eig86i%Rq{w{#$U(Ub!#`mYpbMkWu|5$%4E`gnZ$DtijL9C@fh(#_K9gx zD2Mu&1;3z9?}eT}IAyJ1C)AT^#(L^1(giCSwDr?)p24>cW|NO(R%@p9MI7EY|MVRFR6-jK2Xv zS6l}f$KX{Px9iMkv)Ej=fK}d!98Ul}wvCpaS*Yb{tXNx#(`k-mjCaV#nQ5z#R-IUTVoYD|XmDYnCZV*UX`W3rSXA-QK^#GNa4cW3H>yAij(%&xRjzUn$3RtzSm`Ls% z3EiKUc5a-jp}hrLbx8qzV-G5`c>M^~H_!s8i;(U;v}~A;A(&2aKoo9qE*Fu%c-*f* zVOK~btfopfOB!|mSgI?ec?kD?$et&S>{ku~ouagyzO-Jy7xXK9cT5v5+~O9$(kjK? zeUKgaD4=_wdWNfpz*JL525uz__U?VYcwq;Pbs_i)`* z^Coy&Qx1-}fhreX0{eoH--I7Q0@{CrxD37yeo zb+DdxYsGc@Hsq&DYz)F16zLTWIcMW~!jeo5L?i*a>PgGg;_ISqTl+}zQG&F#>iw67 zvNLJ#QL1zy1y0PZ&s_n7v#{F8ATtbdeR^sq8{aghX{KjG`EEne+89sz;(#-8gp?T# z1;P{qu|^1HThAxDhbftdZ}>PUPHArVhTI(#^VtZWlNB?*0ZSjn2)tYHlULH>7_t8e zT?pnbJcO1YRfwrfNZ1VR0HHDd=CEj=+NK&(2n9+6oYeA3-c3jvD?&fAm$4>De8>H& zqyNDnEDTGYD&L(SFJ=cBCB!}G49Tq>;D`em@f(c3OqUT{ zV$nj_Ys`?+kLIq&4FwFOTcuILYp%yp0+U*a#3~HjQ=c)Fd&ENVfoGl5un`wLxZK!? z0Q7n!lfbKh!(USqLQ#24vj(WPmr#>vNxs18ynuMO;;MqYlbqpkKgUP z0b2T5&3=DNS3Md^gjA?KAhD~EP)(tXm=rRXHwmXnfEJfw<)skzR3Tk{n%gp$plbE2 z3FKJT_(dfCwXiI2J%1q%k@8s=qC^vh1*G%^-`Kv~J-zU*A-?XHf8S61wm-jkQFmIN zmc_3Co#r#SL-(3&#w#&AIR;6eF$3{P#ELzr%!O0ZW1;BbgYo@RpRmy6=@A%VG)TB* z9i)24bCo+G{j~%!bV#=_;b_>i=H8YPm^|e%i^;%6GJa2xk6fauk$$NvqhyJ@AJ^Z` z-{BzaAW6Dhx(XO;dY4AqrVT6HLYQptMd7Wdh)sm|!WEx8t*2ea#4@qoQ6%28K7s~6 z0N-bf3q@CSd4Z?jx&SVM8FCERN8QfjXLnswZ@e2IbRHT%VO5`snd!590{XH|cA%yC zQn->!PQgku?0+%|wQU_nAi~EZPvUb*_ zQc}2lab370Y1zKH#@UE19OPGCNn{=;7@JAoxywXS_!=++63|E%IAq zKCQIpsRb53m{PU&PN=;_$x|y`>pQy38#uV7%qwQn=iz=yYeX_p&3{y+FQ@Ud_z~$**kPsba5M&wATZ& zPjaqqniHaId)d8RN?LSv`*6|5gm?L>{KT2D>^$8ib38Djxf+8>5-Ja@6Gz8LwL42& zXnTaK(&#tNDGSoE*h~G;NJ%^;c!;B4Yxv2QCQDzKCx2brzY>>=rVwedV41mHlfp z8~KNx*K^FDR(Uk1;m;F)RT9EMBjbl>tD45<{n}OxG)BvZuh|sbd)-dAyCh! z8d@-3pI><-TrFHw$xIk`a2OcijxvTrO+^`52tLZJp+mc7gU+^gvJ-7z=-$lthGjok zq1X~-3cZP##lBQlQO|HV=P5|?_cU$B_M_%+yVz|ZP_eJ2O;ck7+i)hM58d>E_Emab z$Qnz=6l0FrJp>lu!9>Udltr0`k9(F0CKHJ*XB;I+MkrT5CXkrbs1V+Y5d{XTXJh9d zHtZnp4id1L>nGr_i18<7-}qJ;*bTaD*PLk20?s3Z&wjSGgB6l%=RX}$Om{`Wj=_P@ zGb6M?s-tn~QZYP@B5|=uNiYf(`>WuoLBD4Get&pSX~lan(Fc9uG1;q@?pEXZe9T7_ z@`JxJ@XUsz;rHB-VUZ5$+IX@P7=X)gy0N8?Rz8LSd(3?{5F zxi`D|jei;5W&&xvDmA4}#N#laXy7`yv8h9O9>XDbSsEBjaBJI8I*ddxt{rw$gu3F` z#8xQ;=LCn-BUe=7pE>$vT1V!N$x|o?;%S-v3rb%{nwty0rC>skF zFpD@kdLoD2aW-JGn(3+`dj4cqqVhaI#m4>ws85K_LRR4vGV%BNx-nUogA zhT2sG}!$MI;N66vLdcA^gPT){yR^#{>k7b9CX_b*o(f3w?%Lz?duOU6ho)q&H- z&0_&^3QXGOL-tL5)re?FUW%syd~`8_M&m+h20Pi8xO*@}=UOHxVXq>OX~Z*1c1JbI zXm&>SXPtMsevL`(6k1q3J5g8>yeok@lT_lVw%W|90I?;mar)792xHsv8?iZm{(M2_ zll()(l~FO9`sdL32%X}%R=dLhKHxrI985BoAQjNvU(~0Z&76lL7`k*8Qc=?M8qL&L zT$H6pUwQkECYn1}_K3cDT*^1)w`|pNoB_URZ_=-;FI^s^0OPZgt@mWRUiy^u1nWNe zPzWp*2h!q~W1?SJ<+*)@A|cMqj8dV8I4po81*fC(g0G7AB%)0*y|}HBbF8_vfj^nZ z77_Jw1)|x#w>v(lYymSZqvneI(vEnxho%@LPcar%x~s?V!`gm!!x(#0^fc8mhe_P~sb zhcmD)F$C_k33vvl<-Q}R3-|VHr`=X#&}9~uIRm%aj`D%yeENPYEuW}8Y+l2zsxE?C z=h%KnT%am_rK%0K?{|+`3Xb(K zB9rd=1jq>m+iGCL9$UA^8o9vQ7^t>iP^e-|$&A{__1||qDes`7P>X0zhcOXK4uSGz8Ti zDmXp%rY~}M!s7#2eCSU*=MALt;?XJ3=+?o$6kLI~ynHGw&;i2nX)q;h-tBOXeHqz! zX#TH9CokS5w6W5**d6kKr=t!oQ3WtLeNY_S<8GiJdn^A6jphGMKE7^`rlV@D3TQ?_-|e> z%4K%cUMp3}Y>AB=N=`ehCn*(GHZ0|!?h9@0`}?0}o68iJqy}i&Tk_J! zw3M(KteLd~#E`bgTgWV0Rq;Q^hYo$4Vo(|@#dK^Dyq0(=kiqrXP7NrHM~CD#+4_@+ zV;~z)-;XLLF*u?Me`sXc2O)|#b*NXS3$9A6Q3Pmr-`%ho)rVlgkt=p8E1~pIcNjXG zU|&kM(dZONDC^#!pQ4+sVv09i21nQY9M6FDJZ*+1aw?uIrD>$ zM@z>rEZ-!pBDKIm7R(HPss0>eA!6!8O;~0nen|v#(kTX3N?-6;e2T!+n`jLQEPo zDuvVIh%O=yjnNZ{xOb?dK1r8@2+ATyJNb%I-HeyqC1%HQP0DSGG4Bf#kS) z&E+OMKU9stMP8YNT}sqLomu-BO4bJdhShaOwlyCnWfgapRP~;QkNhc~bue!E*>EyC zY1foJr@0#ZLlM5WpMu*=C;jm4&@xVaG0R#AZ@?zvC=31Lff{Z@tuB9NyXRsrtEO)4 z4E-xhhb23-MxfXsyZE!s@ zKJ`*?n&fcHk=M;cna9ZY%S5R=Lnp%@)(9YM?_-mj6G&P$Z!Fy|eB$NK^YzL^kCG3x zV`08$Sk0z>iT+0d%TFnhhV-kvGT3P@y`4~2rd%d}lQfZ*AJ1>xfd3xk&pl5a0ne)75wr>8I9?k)HmXkK5c(hsgTuE6CleXZB4Kslx;8~$g}8z6eOjnS^HPB zdBi)!$N?hvH^lu?Ho(1S=C@}Y5>J+y54!>c zP_r*DF*Jf+qT7Z^A1K9B`*|0TW$2ivIefTdibWv)8D8R|rJM8nQo?Tpr_$czSh$M} z>UY?^vNlF+EkHbt7x)9G1wuo2p>79qtL1NY5|?+8(kaEuOq?j`|EvIcMKNjL_ zOHZPjJ4MYHX33a^uR z9@B3=hSm?+M!=R*K}y?OK%7WQG!Cc2NH#d*%_t#-D%C=$`zROV%y;B?pkImssB@h( zvSgnHHH}L*O)PHiHZFaunzNqYK3$+W!RnZ=amHbXvkoqa zrNX>oKLK`a{?H?$R$qPsIDNn%77wd@)kx)ek?8>Jb!5Ly-ObEj-}d}V2cT8d(;E9@X`3(PxC(B+o4Chs1H){_D(isq$=a}n_Rz8ZYDN9hdX4>d5sacWg zrkZoOSXtPo2qF3)A&AKR7(O}A(A|@^ug%&OKGa$-R%ogkbxD~8${oqmi4&vlfm(# zLa;^p?vOxLViwL7_WU2=y!ChP6Lcu)j^pe$mCDfDm#SH68izkriXDCGXWuwZ3xpSL z7p8+fx^zu0F{#HSa2WD8Jt7vuF1kjqf6X)Jx9h~M{dB>ao>2-tPspea=~$R>tUr5- zHz&(J+z{zAXk8syMxwcaCpQ<b@{6u z>_%;+vReZ)s1bi{DZ9Pb?yZlWcgaO14uV9+P=4D~HQWIOvkEfCNh z#2h|e=g(2j?Brcg`)3hW?)MEIN6G0VXR`f?I8-P`(frRz{WjkyP%tmlIu#!_4JScx zbDF0C#D&t&iBC0$S>3g(M1q3*w!E^si`@hgBg(+G>EyO3)hvnXPAkCxkc{7JZI2Ei z<|JA#GIC|Sv)_qMppHz~@{7k^`_FIv<_Ad!I?fQ9I)%y6YvZ(Eqx~Va0(2)s$H?$5 zSDkIlUKJ?xeG1G7Ir(yom#Dw!2iq(5vSsvK$5eyJz`f_+_Gr#r4C&gHN*|bggtQC2 zWM`+KCMlK^Ec-Iltof*+`4CsLnr}r==Ez**^x2xw=38@LpN~aCpN`GP`LV>;Z}$Z1 zXv|#0a%$U6S;cHA?p6W-GM9mi1K)nj4fV5VZYBK0LBxAcz_7e;1QCnlf2RU6_}~>H z6WiJ#e6C%4L;&@5bsSY6saM``DfJY1P#fG(`#$&O_;CJWto+F|D_>Z&LPI?|-<>-y zssAga(wIA|twBxoiSo=a&&iQ$8=oh0u%REk-Ka|LzX{(aKLS~pRflONna-c)wj5>; z5|yPie0!E>T?RvUJ|timw1N#rhRlS02#GaBhp_;7hxbHKRgl~2aoJriQm9i_TWP{I z+40LPZf>A4m%9E^+2SW7ClW%VX^sT~_}B-2=`2mQLV3A?JKby==8WImQupF;+zjfa zY9N^;LyeDimA zop&APRS8n&?3Lo;yuf440w3Oz&r)Wa8P90SGXFL{GW_8&u8;8p&bUDo{&K>swaT4) zd-1u`r{8!&c=mo(F%Guf>n!p=VJA~ednC^wIsZwe2H&1Rw9zXoeNCN_Le?^O>OWSQ zuG9|l+3QI(Zy+)FT?=m$#xC@U%(m<>xqw1fKq$%<;d2$*bHWsG6(~+16`S1ji(9+#<{&|8M9YHcdOmv{gT{INPGmp)^0M zZqG+M2=DOgjE`rwqQ!_9o6}0`ESq$Hu=u(=?1>Gpy6$Ji_qv@3TNp~ zzodXmAE``g-?w8m8A*0c^eY!xyytI_J88|zsd{XawcoDR+zZ?(sYZh(6BwMimCG%z z>7s^FWy`%5!x#rxbMgGA+4vOK{YDQkYasE)hAp}?nST4+p}pJ!5c$aOWj8@<-W0n+ zNSn*03nOs_4clm(eYCqIUu>7CDr#UzA73)*a!tD;=e?^pI@U%D74Ia5?O7^|@*$6l z4?Mv^7mw%I8mXrgKJC9UQ}mOwm~^#Llj50gA>*X%!UMyVWn7pv1GYrFDmb^K(NI)pjfanTpEJu+9daIYdqUX} zNlDYg`Fj8QliEd(-74Oa^gN4%7R1)#fb0<7!GORte$AJB<_@U9U-vz|v6M`24x@ir zXJ4+|JHg8_rCwpy#7MnAM;~W_(7RA ztqD252a4XIvmgAaAn~SA7=94%)YPWE6PhB}h`v1U-$yVMhk4B^L1iT9p|NMCL30}&srZ-@`9@eRgBj+ zS(zHfo&{OIc7mP62MPMHC!hW4&2JCdjI{k~i$QN~Lt`$#P!6;#D7DaanCx13M9Gk#xXz9!0l)$sCC zUA&e-D$BUTnmiWee&x{_kOGBT^gpO2c&uNj<){F1IVHNt*VJDlZ$jc>`DCc}{F25J zs436t!_q1J*V5*J8IwGYD+iT!!6h1a`d#sDmtIA%fm0-BZgofmLH8Z1mv1GFA=^GA z%72uThu;=^NH{$()XuWh-Pb3a;0A?H1juNIexb1_@9&qcg`}|*4yho>ho!;{^7GIC zSTwg){;Anqr7^=Cs-?pTjVhZ29^h69H?auv*F5>hg)rl_W|vU{5lqWe`MT&JYkId^ z%tZMBGs%{E=1Ip8WIvn3*9n@QbrJ2Tp!dvzi00L8*D|<8l(~?DI=H$Rn9-hdWRtD7 zRAWNdt=)7osmY;-&hfo5wi%=;M2EADT4B7?Omdj6A>rzkj^xsv7Qh!$uLGkv?kx)k z`-5Wu^XiPjp<7Lr6VhI}?5DIreeVR@=agY|92E;c^y>$g!bm`7E@s=mBW==lDVd~b40?N&X_E;&x_8>Lu0Tr%%<2ebz<1`fs5QGX6aXFW*yHm6=1h7 zQ=Z=}=%MC_kyqBo!hHdx%GZ%N3$5y)%Dn*Q0Go?*9-wpK+}JNFeBuO0|8V`gdHn@D z8r*IVmJ*84dY}7rYl+l7UX2foo{M%4c23~8AV;OvH{5^Pg`X{?NTKe*laXO8*z`&W z)~z10p0t`S9iE&Q;u%nm4Q9HWnQ2P~_iCs%h8d7Hur$5I*h*r#s$Ba7yop`vo1#?C zqG3d47|csr8H@S{6REa931>mX<1$Qv(bVEHvt9i^7mh6|LjAn!(T&C`BN8z3vwh>+ zBbQ5m52C(C16Aqhyh}1>00zC2Hi|I7GS1MGKo*Y?(wf%99s4v$7k%n#FEqv~aA$Ry z%^*tBl-AIOO{)qxTlSoX9^1@<&W}>xy5xow%3Fs(>RcQ}Ahd2RTUS$#x!)z0I3xt3 zIWa`M{?{t0?~#($d8URvSbtb&67|mcMO|d=Gif}d-x!IcVLLV(-T*0y$9}kp{<i zRz_}VYc75Ez(eZQ5)^iy_@eAr+_qRz~Mo2A(A*gFOJ^_I;F6K^A`QuWlWo84*o)Fx4BbH zmX2aq!D_9xV~}-aG%>{E$}O_ZZpJ6xK|Gbyf0=+&Y#u=w-7)IO%RkP0q)_cwl5{XA zi1{M?2a~++jJZ95>3Zm_egp;j@|%A7KV)o6_iCnSl^viev!g%~w9lVJegAA42!sF1 zTw9MYd7q>>5(j$kI!phuvtWZRe8xC6)`Dn%=LB*f)pL*ZJDy)@FlF3&~rMOX#r z3v)xwF9-J#mt`U>zOL=UF}B zzQA?3gd({DGW?@?a?AeH50cN6xNEvo{p*vkTYGm%Utd;~If0Z@L>K>@$C!pd`ME}8 z=2*Hix2^w(8P^Fbq=&pR1h0(}VNn}^^h%rBRoC_E|I!T0-rX?l5;e)x z2GHQ!JfR_GP>&0`le8__MC-jB;eLWiz3R7AA%y=sJMOv4Fg~UFVLER^63oNZSaZQ% zU0%x{{A0QmBmLQUYI(iy1kJ|}OF4Wej$+&~QB~4kI_S+grue}Fp9tmAdYa8A?{N~p zNC49o*w-LCVtfNiF)SF?^*l9yc#+Dvgm#ax(bM7ksAF-OC-WV@3(8$l04Lg<#Nfgp zHO8>2v}VfANttZBMfs(nVye46#IKD|XU zI*BK&cV9jJSEu2%Fb^ZTf;(uF@d9-guSdTWHM~a} z5RS3!9a?M|xr&WTBx+E+tMC~?B!&Fwm*poEaI>S0LT^2ZSCZS=ny*FiGxZG1!2PBV zXEx<8L@zT|1xU_<^K~h-&U|Z$wY4hhb3E1cib7dILbo?rYT20dNPB$BM7_l#dy~5I zZtH5sK|w^v`HOldg-%&?MWgr}ckn}yuca3iXn>J)=bqjRlh zR86XFTiqI)7o?G25X%sPB$>k>8mb`kM@qe%PRc|US7$miO}QNceaVLVJNFS?)fF~0 z3s@t5nuk?>^=hB&T`_yyq;t&DnaPzz;NI2kG>xt^4D%=CD%OcRRE965PXQi{qSR5X zbp;MuC09onJ>|n~PBvM#?TM4M9RY+2QJ3N+@sV~}9L$a!xw;;PDv?1a7W$hB?->S@YZj!hDZ13C zH8n5xq4HN|)k76p5W7YXpNwA7E7P27_56L4_T3y!z_x0F(nTM7D;Z0gj{4dQvi|e3 z%0hqCUW>?0%1@<}bJ~%(`Gh>3N#5wvaGjJ>-VDl=+)}St*+}kr+?&^|9E!o?J=zZ0&U#8KziklB$<0s#tMF z(ffM`x)wE_jGnw#{)@W$#Joqp{nHjqJS;XTNE*z`R3ftwND6qGl>pXbB+7nk(3J#F za24)FcnDoc~-tTV2{7Uk!ywN6VuPuHR!?)}6K4PzaXUT#40yoe|g!JXEIJ3=bJbiD^gBs(-ubodH zxuM+VQQk)TD~xEyGXG`X{TX&Jfz4sq_WZy7hkQ$hMDSzfUE1Nx%GU1}fxfl9jZqO< yXlQt=ruic~8`~;cYx>{t;s1|G{C|D?kAz1novV{QR}#%E1C*ia@-?r_LjMPjg!Nzm literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran3_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran3_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..01f42cdc1d34e1e3dc647568c42eda217bf4ee04 GIT binary patch literal 4900 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 EKUD}((f|Me literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran5_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_nastran5_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8c80955efa3889c3601740ec56efd87db4e5e9 GIT binary patch literal 4247 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≫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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_netcdf_3_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_netcdf_3_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d0627fcb0d925c72b40c52106a9fc111154cbd96 GIT binary patch literal 11897 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_oldsilo_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_oldsilo_01.png new file mode 100644 index 0000000000000000000000000000000000000000..dbf16e134fa9c094f4fb689d1c05e37c4fedcab3 GIT binary patch literal 4115 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_openPMD_3D_Fieldsrho.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_openPMD_3D_Fieldsrho.png new file mode 100644 index 0000000000000000000000000000000000000000..3cbdb6c40b050739bf4448058e499005e0a60f27 GIT binary patch literal 22967 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 i6wZIYg^Ulb;h-)9=^^ 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_openPMD_3D_Fieldsrho_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_openPMD_3D_Fieldsrho_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..87fa4f78ccf00597faf134af10334b418cfb4e36 GIT binary patch literal 6437 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 bANq0}JO8N0qxXOM15HIyQ=v}IJp6wE%mHDn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_cart_proj_1.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_cart_proj_1.png new file mode 100644 index 0000000000000000000000000000000000000000..32f82f7e55cc005312851644fa8b8e6ae7e676c5 GIT binary patch literal 10286 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

1o?-OA#s<8}-R^H-*jf5qz2@+aRyTkT$(0 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 PcuhkEq+I^W=EMI2J@7N) literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_cart_proj_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_cart_proj_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..87d20b18c598a1d778c2b9e6333fe7c22aa5da43 GIT binary patch literal 2620 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 PFMzy^igb;n>9_v_@bX}Y literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_cart_proj_3_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_cart_proj_3_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0b63c862304bd955e83103b29357c1681e9a40c6 GIT binary patch literal 3924 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_00.png new file mode 100644 index 0000000000000000000000000000000000000000..04f201189d4fa773f74f0ef0b1c5a05f16863489 GIT binary patch literal 1262 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qX`o-U3d6?5L+G4zvh5O6&h zdHVZ)qjM9L+3SA!hTgcyb+&og#2+=awYCdBul~pI;c}-yl2XeI4n;Mm4xCJJr9U-x zYHIa!eRc>a`Uoo?ap5o&bb7P-hkcq`{r_k75jE%czvlm-zpr+o{rva$y?pB4JmKBc z=j78O08xBB&@Zy){JOQQx>tf{4GW%HWFP}PD?XG*68i{0P+ zdd10=C#6$lTjB0ow|LH`AM;|}ef@mzDZJKzI0R@-vFy_+N58+Z$|}nG#1`p}@Xc$D z6Ir}M!hf^ z3nL;Sxo~VeX&-n%wN40;V`2FOoYUd?m`0)-?PD&i)IYPMXEU%IWAJqKb6Mw<&;$Va C4*FjJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1b50af50d512f5e747c64721fea2a0c33307f6c7 GIT binary patch literal 462 zcmeAS@N?(olHy`uVBq!ia0vp^DImRfilzTrZwH z^I2VGQb_Z+fAzUs8@GEmDJEnp^EAH~-!u7<$`1dH)(2z4CVH(t|NQZd^3SjIH!LmG zIcza4v7Xz0eh`=9lR4%g@3}j5rk3uFi(h~JZP{(F=aqVOH;N)Pm!5ulsr2sSk1u}L z$sGS$K5N;ob*#s^6zBLYfBw1BM$VbT@YvV#?YDI+L$&O~&i$<0|GoD8Uir3zmfQdN zT`sYk-z{G`agD@doAZWl&+n+c+UqX1X+rCo&=o(Iop2J{^u!g&Rn-Ry=~PZ^)k!(o zt&^hY9haiW9r;O#JMzRN@yHWS)AmqXX}IR<+}nu~x3>9e<}R{K@6~z#w{E|^44?1i zJ@?HnlE*gkAPH}% Ye-IcfVzkxF9T-mxp00i_>zopr0O&~61poj5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_01.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d59dc37937b7b654da4a1cb34c1a09f17a922a GIT binary patch literal 1507 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_stuo-U3d6?5L+Hk>4DF2L%z z_FaAYsfOhbW^}!BPo0%}(4o*!cE0`oy1&1;U;K%cXZZKtg~L$L$)`m?Sn&uh=EjE{ z^>uYVK6TbNjbs%6NY;t{4}Sk^f6bqAwfCPNEu24pe!cv?BPkP~Yru_|{b$iu*{7$U z)W+F-Db7_+FG}BZv{)obsbvO-qMB2OZ{5XPeV^mTik`X6`xP-CnmY_leItpKTR=a6fE3 zsULMaaG%e;=SQ9GubUOAm8(VDxPxp3YE^2v@kD&>Ta9>#%d@2|CtFX}owpe7{hUwT z*UF~oPySx{@xuA7y>m{^Jt=lR5TX_60JER2+196~pZvY2;>Gh@Zs(qyOX(gC-o{7( zYW43QZ-)o+-?)pz#it`Qf=9iLmYr|cAAiXIKp%Ih2QQ6q6^j%p_|5JfEE}>$H-0*> P@MiFI^>bP0l+XkKSs|7t literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd93c4f44bfc8286133cbe58691d2e6ec501482 GIT binary patch literal 545 zcmeAS@N?(olHy`uVBq!ia0vp^DIme!{lb=*clHaG zSWFW*F63o(ZGG*%zq9|Iy8gPrLD;{Y?{E*SzW0Nm11Pt;8L9;?%wqPGXxj;SkREiwq6T-G2M~@7PmjzLVXj z73b}YX%m=tK3#Kn-1_v*MxE!=EuYr}E{!>*VmH6kZoYi~aRZ+3zxPhDmFusZcb-e} zOYQqPuXnBMIQz3k?0#GD=RfmJZBsZEy*VPCP6#L~W99@*Fejux2UU&eLK`um@0#N7o(J%gvKpUXO@geCwF751Y5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_02.png new file mode 100644 index 0000000000000000000000000000000000000000..04f201189d4fa773f74f0ef0b1c5a05f16863489 GIT binary patch literal 1262 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qX`o-U3d6?5L+G4zvh5O6&h zdHVZ)qjM9L+3SA!hTgcyb+&og#2+=awYCdBul~pI;c}-yl2XeI4n;Mm4xCJJr9U-x zYHIa!eRc>a`Uoo?ap5o&bb7P-hkcq`{r_k75jE%czvlm-zpr+o{rva$y?pB4JmKBc z=j78O08xBB&@Zy){JOQQx>tf{4GW%HWFP}PD?XG*68i{0P+ zdd10=C#6$lTjB0ow|LH`AM;|}ef@mzDZJKzI0R@-vFy_+N58+Z$|}nG#1`p}@Xc$D z6Ir}M!hf^ z3nL;Sxo~VeX&-n%wN40;V`2FOoYUd?m`0)-?PD&i)IYPMXEU%IWAJqKb6Mw<&;$Va C4*FjJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_dualmesh_mesh_plot_2d_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1b50af50d512f5e747c64721fea2a0c33307f6c7 GIT binary patch literal 462 zcmeAS@N?(olHy`uVBq!ia0vp^DImRfilzTrZwH z^I2VGQb_Z+fAzUs8@GEmDJEnp^EAH~-!u7<$`1dH)(2z4CVH(t|NQZd^3SjIH!LmG zIcza4v7Xz0eh`=9lR4%g@3}j5rk3uFi(h~JZP{(F=aqVOH;N)Pm!5ulsr2sSk1u}L z$sGS$K5N;ob*#s^6zBLYfBw1BM$VbT@YvV#?YDI+L$&O~&i$<0|GoD8Uir3zmfQdN zT`sYk-z{G`agD@doAZWl&+n+c+UqX1X+rCo&=o(Iop2J{^u!g&Rn-Ry=~PZ^)k!(o zt&^hY9haiW9r;O#JMzRN@yHWS)AmqXX}IR<+}nu~x3>9e<}R{K@6~z#w{E|^44?1i zJ@?HnlE*gkAPH}% Ye-IcfVzkxF9T-mxp00i_>zopr0O&~61poj5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_inverse_ghost_zone05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_inverse_ghost_zone05.png new file mode 100644 index 0000000000000000000000000000000000000000..3a2bc1ed08c7dc7afac1c727bf3ba0ec68286d2f GIT binary patch literal 2443 zcmcgudr%T;7Duf_%am)oW}>B-*j^v0rMODulPEQNtah_9)70{f$UNN6(Vu=XJ znz>%PKESXvx)@|BiZ3h`Gt5Wg10mE5UvO#nPIv#6G-!Kow5u<^xGt(?Kecu z>T0x$e^p8fW%d@IrKpxWZ^cOVET8nIsP^z%iTH814||;V88~L;94U8mEr6RQe3Rkh zNOR8Eagx$|Seed!A)zD^J>!BOKIA3J#cPMinsC}8!(lOe+RjGIS?s=+GOGI1B4JkP z@SH2~#eag*EXv#iBw(U6OUs7So0_JsJnw`WP-ca<2ln3~d=VmiGDgg2Wsmv22A zh>O@#0DV+X1>I^K3HOum&|@|1k;NFCIV-4$eM zPZkB^g3=^CU5?V`AWI%S_U7Y{%_QT%EBa^oDd^x9ZDQ@*8UwS9SlyX~T6Oe+Yx%r= zIj`p1PA+oAj^qLbiv_bv6a!Znxy4uW`;U8AE7FJWUDpe&$3$!2?r$l`*?rK9ME7D&DyyK-qz6sA$buw}T#qzW_UR5}lV6U9hvJIq1CH}kyk z+XrdOnHA85?xC$N*9}%oTFsLnooyo|smv)bJs_P%g@V`oS6(CWf8Mr}>yFhy7Rw{5 zE53J%aFzD9FH|E-_NUt#f#FsUXLrG_dqP0@`uQyNP>8dC&EPzc;zZ2-u-YRs}V*+MNF&ibHPf4bn^?I(4ZO`Q6hz_inFz|KK;Y=|{}*HoW7 zHn4wyGa9^^7V~nvqkVxH)m!j~q=0evDn=UP4rO>aD>`175yq~h2!XN7>!io!DZd5ei|^#gN77@~Ab&eu^22VINa5TBfLW z)IRq!Wm8{&S;$db!I+v#CCZbezrn054CAL?nd&Nh zy&gOs?0@V6Q3|2`lnwM>+4!*V_y+X;Iy&eeBuw`sW?{8;ce$G8mLp^pzM(LTwOY#Wc}) z1+|(^%mhu)@Z?=<&N_YmSKJ%UCMUDr7v{-nV<|Oee4kBUlU66q2qlOvlF7 zk-GX^v6d!cjTUP`+ano!a^Td!yPclr?n!+w=qJ9XFGkSBFUjUAnFnIB?{!A<`D_RF z$|QF@U}3OmW2wSsxcd^_S8yIdEYF4qq%!&ucVvDuEoCy^lEX|q*Z-&twiq{Bnz#{; zZCv*lf|m*{Elz|(9oTW`0LdFL;~JHG?l|L?=$FZ>Xmj52N4Q*e+(OH>C`ClZr^kPE7NN zWD~H%^r2M#^jZi)3-;h9Fe=XsAq#kA6tqv#MncS63CN2GR;_xaXgaF??lDO{OZN(d zWn~n!nWjJ1)cri=yW&R>T7BT=n)i8x%e~M}?sA!y&tW}KnMi1A=B5W?scReV2-|4& zc-%xyL99-il=#kpt`?vpkWFbx#}nSg6?O9{W)aBHS|kI%eAEe6fzcs3M+EXI0I2+X?9y2DgopK!xICWYRx<2>V?_$>PcQ^M&@kms*pkiIOmO8&w_)tiIOQ`hcyA_ zqttN(n3c-!fr=L-{k!iVqffWDOemCGBBSo;awFf7Oh zLOQ@ZOMNxW0YYQ+lCQ3Ke0^2ml;}=bRG8g_e}(k7-~PXN*ARBPZt&u*e)EbY3xIO- Ka;^WgpDY73y&6NW0*^lq#Ui0LPL(Z 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 IM6N<$f|gB(mjD0& literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl10.png new file mode 100644 index 0000000000000000000000000000000000000000..cfcdd5c7bf169de930b337454fec9726051cbfc2 GIT binary patch literal 28293 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..67fa3eacd0663572875c84d366ddf2c695f05e92 GIT binary patch literal 6395 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 JPDHLkV1kTNT$um> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl11.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl11.png new file mode 100644 index 0000000000000000000000000000000000000000..2e779de918d3fe6e81d92589d1bda6f6c429a9c8 GIT binary patch literal 29371 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 ahy6csxn(d$Hfw7D0000 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl12_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_refl12_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6b5e963b062c819ee7538647e5e8e211286ef30a GIT binary patch literal 6389 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_resampleop_noise_point_small.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_resampleop_noise_point_small.png new file mode 100644 index 0000000000000000000000000000000000000000..e53bae49d34ba3a5830bb543054ce770a8f48c34 GIT binary patch literal 18786 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 I#Ek;~2kha>lK=n! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_transform05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ops_transform05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0191f57cf267ba81950ca70918b7a726673dec66 GIT binary patch literal 5549 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 UBuKV10_z(FPgg&ebxsLQ0M~QFeE z%}*0e0LFjYN=x}DVyn~=1iwHqQNW8a(MY^_;pAVU|CFcq*2)Tz2+hsqOCu3}{||@pj>a7YYi9>V;o?P|+uV@_FgM5T+xoY8y&N6c(Y|wFrPCynM5Fq5 z_Vuy8ZbuiK1MAZ#1_$vN=&;8l_sB}8+1ldfO+z=gwAd8l9Rh1@jc61_F?4e%L?U5F zFPs2NRr&mxJ9lc`4@bb#e!nRzzn@gf@{TwJ*1&++Bf%iMyOwvP?qU7-K~oc*oqw*R z)A}F^1w+0msB@OrXt7?t||$$@o}xEf5xB!-urBnXkm2Tv|`Cj;G$!r?u`%dDRW9>Zjfb6?17I zU`=g6y}*ja*x#>q>YY$Am-h5nR$=X79Ud|{Nly>=?^|564Te}#SZix6FEctySC{pb z+mK6Z7fNF>Ha8g?vxOA47#=1XB@&^dqxOpj!JzqEnoOSlGgkr2>*dK4^7+zhoyWtoXQeNa zH8*qNg87=QQZ>^s9zUI#tAOS4*!8AjmBL|WW=uYt%bi}{sqYPoDisKr5Amn0kOqfk zTIH;e#)nnRrJ^clg)}~_VlEX`IV+^`VVN_;c$~|ZPhW0ySmu@h%UL0f539JiEUI!= zNaMpYF%2tNA&n0!92Oo~6|9iPhh-v{e*0GG3*?Os%Y+gM+S|*PNB~PTmmVHgS}&9U zmS`@`WGa0_LIPMqhPbzyQSPb}r3kjT~H%2A0>WWr*wR6@Sa~FG&N- z^y{#)L-njkgpmZ{rLzpW`#%x3utcU(IeX1dG)HaMV8GPJeH=&`)?VFr~2;RWn+U-h=GC9F2ACn zs(k%QZ|{kiTIOj_&8Hjyn9D~Kdr5N`NE}3EG@CR%DsDkpEN8=;*oW%{e8S% z0)f(YY(7smOCZ3xlOxH6B_R1e;H!`eOF%9x0lBaQC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_02.png new file mode 100644 index 0000000000000000000000000000000000000000..9787870710f04d6b69abcb66ac5a655dbf8e38fe GIT binary patch literal 1100 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l;kPZ!6KiaBrZZY&gL6mbnq zF=0`;@{nuA;i*CG+6(xEn2uF=%G~~QwQpTnso$EbHLT@JJl=27Ijz3nbAUX)X@MUjzjY zrNzZv|C2nKBhmPI`{l0X_|1h{d`N14eBAabZNWoQ@#kl6Rd(v=6i8BPnZco`hMQ@( zA*raqrR77T=;UT)rIzn&X3NM3D(*?Y`{Y3fUX3u5D>gp_DSddh4Qv2@+hCeHIw$Nd zZasNWP_U?coq?r=5^e_~X;EIS#_sNNVqz%JCTk19K3`k`jTRFp1n=AexzVyI8tgj) z(FD?c;@lf>xV$-|2eh;ATV+ByQE>o_&pRt({rUPjCP;664e}uF|NclF_m^J|GY^5nr&V!cfrSDgFGm~CTkdrkd7n&0V7SIiH@ mel8Y4Bmu(dnTl%vGOy<|o}tr`l?yB-7(8A5T-G@yGywp@#9G11<;&*H zn-d#zwcY(b`|p;kdu;XRrCm+ge_+j=S#z9!RIa|DzD8hmL~oL*mhoDtt?ZSJ>>z_x z!gibb*C%a_E*4i8^U#?Pp|CM5w`Mbty(YBq@@t-r4oQtim^!z<`?+jt!~@-}KzWD= zNH18!0>z}#e^vP%5p(w+l2i(N4pa@711fGlaO)a>9$VwqwfxW7fh3wV*mPv|qzMG9 zFVn7n+wSMP(s5i_@% literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_04.png new file mode 100644 index 0000000000000000000000000000000000000000..6c4b81fec16536e91b2aa7924357ae8ef82be604 GIT binary patch literal 1100 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l;kPZ!6KiaBrZ8Wvq<5OEEZ zu@Ny@qpY1E8>#vF1Xlz*FRQT9tSg-H*M3BOvfTRgr{232pRILIf8u;$bA|oDUSY)} zE*yq}PChLHIGN|ZGJcsiU+%SV-?QKS^Z)-(%y;VO6i8BP(f#}DbNR0hjzsVK`)cOd zDLLIZbNcnH`Wzv}oM(RuqCQUHP*j5|oq?Mf@%a1c*J1IhP7#k^S8gsN=p2xOL+oKb ze0?1Pb{mq43S3$~%qyMTtgO`Xea&nc89^evjm0k}Pn=A5GPbq1Ce zN>1<2iK?-?qe)^9#iEp}Pabq|SZ>NHDo9~hKeQ1Xc6b5=61X!sESsXi-f=I;2K$Z( zEjMSzg2H9O+?z+AJUDT&j{i*`?tq8c1CFE#(pz7jJSZqww7AR`y zQuQt!6xK24|AOO=cr)j|X1-QYSGC5!;cSI4_CQ7zjXCnq5SM@sstJt!Ty)|tB&!Eyu#+&z*2(2)78&qol`;+0GLN-i2wiq literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8d2739bfa9ad66772ff8d02de251ce462501d440 GIT binary patch literal 569 zcmeAS@N?(olHy`uVBq!ia0vp^DImia_1okQu>i1cH55&j>4BwluVS zf_lY)h=z>}$)$65{5B4|-nrTWWK$2T#OoJtPR#>K$Q~^|EeRIkHn_I(_iVo8#?UON z8g2uz1RaQeM(>`hzhCZEJ@)Fa$T^|puW2xGh}H;~H5=o0L;^{G8LJoo0I@5p*hXzx98&#}!_|h1cgT|I%N2Sj;@725y%U$CZ=Kz{@xOdsNPP49x7*KtWmdKI;Vst09l>*5&!@I literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_07.png new file mode 100644 index 0000000000000000000000000000000000000000..47fb681a5c9888f2160d815f477b3d2a4bb87a41 GIT binary patch literal 1091 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_l-`PZ!6KiaBrZZY;bKAmJ96 zQ^w)3qM2(&v)4)xd4w@pN9efO{;3zqMg4pYrzm2A$LF3qD80Go15l5fD~9 z;=*Al=;VWox%-Ovg72SyU;oAB{`u|k_5bT{OczK}YMH^2=)M2{pSf~^ia9S&FYmvs ztkiPWX8)R>$JGQ6rRnwaYx{LV)G4Ytb>Lx|&YKs%?U$zDA*uQLv$rbaRXc+NV%WWn zNks)NEg$+sCpQD_-M(hFjEtb-p47Wf9&|vJfSrib>WZxoK}sK9Z37zsGZ(+6j?M{} zcOC@kvz#mK!`IhAjQ^gTSatHCpkPtT)h7>5@U7!Gjz2UIE_uT7E*IoUnS* z*4bPB-g`qRtgilVRi)SI!-8p7CuQ?Ke81YsJ3?{Uj9oK!6)szvXK{kv#zSWU(B!t< zAHRgNZ?tW<*yxbdc!a5QYu@Wq^MDf9j^>`01dFf=Wncb&R$=1-t*s!ZK*hLK#6Tu2 zuuOWpr#inc!utK8nabDBb+QUUWxz_)8n>>OzjKBuJ6`&EI*<*t0964+0s+D4+Sh}; z*Qxd!XAhy9bV_PDk>~7v|-r W&O*AEzViTMkHOQ`&t;ucLK6UX^~Qn# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_09.png new file mode 100644 index 0000000000000000000000000000000000000000..287be51dcf9f7b113af44e4aaea1e4a9fba5d969 GIT binary patch literal 1055 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tJ5o-U3d6?5L+-WbRfDB%_u zz|6IQQ+orS_EtXa4V>Ht0oPkjC?*K(*t7k4$OrcK=hS}ZPEWnbFn9Mah6rmxC!ZDp zVZ|dZ9EP}z`k7^ACLeA%v-mt?$F*&#Ubi&m}zIkS}-sm&s7i zBcpgG@ePOl{`yzK5B4AHD=4@B_IHD%t<#JK4n;Mmj!uCjrIs1!%(KD^D;1k(sXKjk zVl(w`F<7xu$wWWJCD=71?nK9)C>**_%`$ceDi%oVyRc`1V#P87{(}TSm}Kp>exDab!JIqbpJvWz+3-}SEX|Mq_N?4omt_1Qn(v+8JWbVzF4 zw*9}!^V69S&w7Y$!mc8=%>z{wr=AAuB^vTOzx9#`K+~3~suX=yx z!bNjS<@TSqpZ_#MaOF9^+!)3%mnDk4vz^v-cpNrzOTVcVtdn4WWi^Mk>z&^|>uwo+ z`#)DjYz5P`s$*fiYp!O59*_z%elj;w0c86TrqIJtho?sHX7h$GIxe6h=Ajdix@O<; z8W6DuA}}Fh!LJC}_>Qj|t@a7nwt@9UC6-z~iv|%;fm=zXX3uVe2&ljjCe!1uUOMIU zUA^4;!jPqtRfyX}I7~jdPHm0dF}TT4M}TBOc29^PQlRTz*tyG7mS;cY`c!iEa>$Q~ zm0Ab9GPm2iJdyIBBmeHd;g1fF?f)Mh|0Q=`|3FkcUj=TH|1url>V3lG8lxmIUKu=H L{an^LB{Ts5u6x&! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pickarray_10.png new file mode 100644 index 0000000000000000000000000000000000000000..ea986807ae2a3a0d91970202bf47b40a417c2768 GIT binary patch literal 1068 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tKOo-U3d6?5L+-RR5gDB^n2 zG=fFtiX-b4$E9G>se#A)*$IwB$=I@IbGY_xDc<_<_S)CG80N12#V}(ohoYKON2frN zQp*fn%x&xWEslSFTw8l6LvCK&E8%BP{W%N;oqSpZgdbkH$2b2gXGcNa_GtvQHUGeNAmi`Vb#{&U_}v3_uuSjC zgJ%UFX87>s_3^Vo9fZw7n2YjeoIGgQQE=FYug|e1I<=@kLg|jykr5K6iXb^5H9zd(TF+Z{m$DPo#E!xDM17i6_Az zdx%itLRNby)zH$ztL1c3(S#|)1Qsb~Q&a7>=<8eeF)n)s&jtiS8&9(ocL->*MA!Px{Il@=?RH7Iv+`-izLw9u{s;5# zZ8S6#OVCN!^mnnP{=H?PJ10)R{A7crmFCtv`rG=qR?N1$bN9@0|CM=VI~JDSI)C%% z)vr(A);4av_VVlLS^o2%>-VQ7>88tff4|PeoqIt!EOhBEztUi}u)8Ljyf%rl9~w3? zBr_^^Ty3-L?^Ot!+jj3@zu=Ls!x3Qd!sOPUZ0nBniawLxA!HuraEwXm7?;J`eXTvB zTf>e-6rMAe6-;hT)j1I1uplDv_%AOQ`B9SF0O;xi5Mz!p^|10tYXAGWEcryl$Mfd0 z``W<9gTy7E3LP#+EVjO1BGPNR>$7kBdPNk?Fhv-;@Cm#q-CmS;`;K1u)~WliMTPCu z-F(f;Hfd=|L0Mer&Ksi7&wk8oY&G+^{r}m`^``2B!Pw|9QY1LarqbBb7*1Mu zs^mZg=nbYWO%J#8aebHQh)3bW$B|d*_0AUi8rRv0X@R`6vre5vjKsuCEDN70{^H73 z>h%32A?N=1J4C&tuQz1+EP+=^dPy?c|6l1Dl`k-TpOK=eX=A}*l>S$UF=0+-<{MJ> zGz|exyZYFj21`@Z7bqY?Z^S|4ziGA5C5hE`2RIC{g*h$Dn#3k#5_0NS@}H)r?hm(MBm_f%4d&)U4yt=nKHNl4EbF~q38KI~Y1LLGhGE8CMhY6ll72 zz08}E?xHq8Y}?233;k>oT^T5x4*;+w0RE^3m;MbbVsJtME~yv`*~_?6Yt<1TIHskF zn(Whb($AcbL>%QP>w861ccN!zX13wu?I+ED_INsacDCxlVn`BqR*c33MM@XQq72aM zn~v$!hVIuu*pGt+)-r%G!BDoKB#iA?+4sYC(MDjvHfjhrdaezOCb^zhwO;Jk`k#CU zqUZ<~O4$*N|Gj3~txf$tpeKL38H5@EKq2KL?+4V(8@^9)a(>rR+^+4|7S2XCH0


e#{rz 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 Z9nWv0`t^JGQT}^h^3p0&6%xij{|DanfMEat literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ac5e54aac67133640a3ada88f7739e2ded34bf9b GIT binary patch literal 15271 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

FiN2sd^n?C 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 T421yB00000NkvXXu0mjf`?E>dE4Gt3 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%0A!2 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%0D^d!CWCbHGvwH|763#7!1KM`ckda~;Tzr`srz8P zA71yK;qWfVCMr`(v|^)OEiO7OxDp!0T$`L%&aqMu(Vp!%i$=N4OMbV-LK!gcg7G`@-wBpbLq@7nRmc+dy_aBoyGw6v@bAp)?E>&!ksX3KJP~@(a=;5X_5d*)GxbAzI$nK1T<;On zy9VPsKzv(+e_LLM59T=p@!mWOas=Y&;PC^zCf^_TE9(JLZxxc?uV)?V>%EhD7lVI0 zUWY@_@6WSvbm|y*P)cuB+*>N>s2%r(;2)^I?*M!Y?HsQjI~{t6 z?*TOL9FpHJrZ)%UyOMfO29GzH`r8HIJ0N?z&^u)GX2rdwg6`AX{UP~2FukR|-T~bI Y2X^g62Zy%~p8x;=07*qoM6N<$f}tbaaR2}S literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_03.png new file mode 100644 index 0000000000000000000000000000000000000000..861f55f46a9df9e852bb71a868c5c33c60f59dbc GIT binary patch literal 99876 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 Y4~u{HeNIZvsQ>@~07*qoM6N<$f*nq0;{X5v literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e11f368cd89ccff7f4b672ec31320721b5d62134 GIT binary patch literal 18557 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 IM6N<$f?Jfb;Q#;t literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_04.png new file mode 100644 index 0000000000000000000000000000000000000000..594e64d7d82ab659e4181f60b29b315a6bb6ca05 GIT binary patch literal 9964 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 Un?e1biw&SCrzZPD+Wg!903UxNSpWb4 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..26fe5d6874fcc2cad029933d35fe626d7cc2a9aa GIT binary patch literal 7965 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 Tc@wMG00000NkvXXu0mjfHJ1Fu literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_05.png new file mode 100644 index 0000000000000000000000000000000000000000..829fd50301ebcffc5b0d815fd0307e664a128d4b GIT binary patch literal 70152 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..19da06592b1f9ad4a4da9b62110a6577c60b63b1 GIT binary patch literal 15509 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[eO(-Z+mW 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3b466e9cf72bbc6f26b45da83fd57f68091dbf76 GIT binary patch literal 9612 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 z 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

    4=A_uB5gKKyCOZl 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f5806d639bf358664c1585bfda90896d840025cd GIT binary patch literal 9486 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_06.png new file mode 100644 index 0000000000000000000000000000000000000000..4429655f568f1392cb46771d970399becb296498 GIT binary patch literal 28640 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b75034f2c31f26408c748dac852fa0d0440766c6 GIT binary patch literal 7753 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 KABOk!tbYJP`hmj$ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cda4bfbe34cb5b1824f91a95d4ae0c1c290df6f6 GIT binary patch literal 865 zcmeAS@N?(olHy`uVBq!ia0vp^DImp0vb?7RGiiiCies69cNNnPUjuuxH9i>D;&TfwgmqSXZLK=(Q z|FGhtiy4MmeM2aSLO6}DHs-Ynzb5LEKd(~(;3GE-SUP-?A;0!xe8Eyjf| znTD(lOs?X0B@9iwj-8qq|G27i=|wNEDc(B2Uxf4P05$ek+&MhY@|x|t^ciOj*PA`I z&+km_tC7BK`AKHyQ4!Ts(RaRGluvNrU9xf0gt-sb+|qe-l~_y#W6 zarkbcMGE_;h{Cd0evc2x9yqVBaAk+z#$cU0k1Xuc*e^vqUi@*5@o71uZ$VC}Ri-)t zDsxk6Oh6Kc*FHQseexIgS8FzCDI9KI?eg>A-HIKiDeTuOgSp}lu~tkL-m_OUhVzHj z^rGW+Z@+)~biKst+$Q$?pPnZz84P~86$L7IUenjRbn%6*=>)q?m%h~0*Vh$%*dn)B zOKrF2rOy+_W?PlI51$J9av*ZY{f=#r522(uMp-8EXz6 z@Kw8Uqv4`iPx2ANb?XFAz!DvG8QhYuDC%^AI^${pO90?S>Q8 zE`n9IRSLaZ_x0V4U2V&8pxUDS;DTE^YQYxl?*%{Sug+Yf;j}%w;?>%^O&4#zI#|}(sT63|enyM)d%4<}Ca(Zy9R^QVKbLh*2~7azpoCHY literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_polar_curve_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_polar_curve_01.png new file mode 100644 index 0000000000000000000000000000000000000000..a88abc8909cc9ef997ab7e96060e87193b5854e9 GIT binary patch literal 1673 zcmbuAX;c$e6vw00I&~=-QUMjCGi+5OqN!{m=r{<7M60DpS!^N=C=mlF0RhwMphOfX z_OPX*cs#hVL@03q6axs7L{U)*nZ zwzItE&0aX0LZQs_@y2&hDAO3=fu@s@(IpE|3gz?dKKRD(;(yn5_(t_?p?Yropc6hi zV)a=}(2&>iAuiYR)ZvI)x8k60KIjYv10`n4_ajBJ4#sjJWGg|n#UL6&h^R6gVxxq^ zKf}t?dY$g2u(frt-|fTXvSpH4&Jj#TT`8x_bAgbT~WtX5h7cIfp~67t(l<93mt>F!+2OWQus)nkavz z=L--S$E|Z)WEDdyYN_+{??HJJuDy)Dmv?(mEvHs~VY03(1sYg3!Z(Qz{LK!CwmRs3 zU2sy;syJp+fodmR!-6VMqH15pQrOn{`Yi+t-9ACQ#t1h}{T%}Gjge__;{A)s`fdhh zH+N+2Ny+#?=KgsnsfSIG#IKWRu)0sdb*CX^%aUXV5sc2~?Di!5UD#3t%O4PO-kKNE zj&q9ewvUIJq(wO7an3Dgad&EFj{kc0Z7MS6e0`NQDU8kLcGGe1a4YU`Htfp2 z943bfvtT&A&6*d96MA2p11K;$w27yo!{yk6yca3ZxJ;D15_liU9Cloawdb!9dqV80 z%@LY!H-CgK@l2)9Jg^8B!7J+a!-;^^;)D$Vo!J$qVY2eMJY^1mC~;#RaD|^dJ+ES5 zP=_hopqSWyD4n{QiUeJK@3MjDXNt$O!Q?Rf_i7Fy0K}5ckWF|Sk>`{H z;s=>gj%iexG@~UX?GGuO-eJwVwx4iFfmHr^;#81f7c1zqL&GZ9Fw5qEo?X&O38p~5 ziJ+tq_g+B@uK;;mIysS&0+>~8At@<$o|WNUsUc?>L2*ZavVg~9&ot%!|yQ}^toFRALi$B#7caWPi+`UMam z>vhBm{Ag?^Znv}1iTX}pBTYR^uoA-|Uqdoz3vU{I;sk?rk5-Q*y2?eFPcMdt8jT!O z^6UW>+40UwE{rTbRiFg>bUO@tQ^5&)p73UHIR?GNfkwA`uin0980R>ADB#>~s`|b{ zvk-jIK2R*e0o-Qs5y5&pO zfDL$Zg%~4RrT2JdYIBxFsSRLMte5f3kR+(fSUq^(v26)t^@sh(hHrp1omr}25wwmu zOmZefnX=JbC0gC6=)ph-GI^+&Y-N$?6TSiMyJZ=Dc#};M|A^6dL$0zRRpP=d^MH3e zbF`BJFHLe2f;|a+e$FS9dQ~6knti$Ql3O+n33yjBFb$5nFAB*3xrV$1r6@BiE?VqB&{QJ2&HIi1;aI?Hx#|_PzPZ8Ia)5dV3$j%9-s-Lq>RUoHTt9%i^KY zMz_evWQU!xYVv@r>d>y3PO^y{e?F1|-B8z;ZXtF$v)fIP2CaZxWXG~#*<$g{w`oCy zzSiH$nN(O* zR-}cw6YebUI?*A&;0RBpJB`hZOAbt>PDPB!G2&7CNM+60VXsW+(u#?4iQXfXZ)qZM zLMPXnj9qCiXzQmTlf9#cL>Za8P4!o0O;&WYWn*-8O=9lSW*?FWspP-h(EoCA|DUi{ Y*jt*-zol9lJVKAtSR6#Mb$-%w@E_5c6? literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_polar_curve_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_polar_curve_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c1575374c43e083285b8f037e66b7e253a9df9ab GIT binary patch literal 2257 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pseudocolor_domain_bounds_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pseudocolor_domain_bounds_02.png new file mode 100644 index 0000000000000000000000000000000000000000..c082789a4e3372ace513405eb3bcdd2b4510a061 GIT binary patch literal 24571 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

    |e(kg4e+H&USh_d_KID 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ray_trace_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ray_trace_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..61434919d1715bcb1f945146c46826e6dab056b8 GIT binary patch literal 4892 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 Z`y@luq!Gc6kp&!^xv90uTVrg@e*wpJ#Bl%s literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ray_trace_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_ray_trace_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..572b43e2b01d95b53d3164f961a9de4c3bf1ae0c GIT binary patch literal 9704 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d-contour00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d-contour00.png new file mode 100644 index 0000000000000000000000000000000000000000..83991eb6efff42ab835265431b7c6f51aedff53b GIT binary patch literal 12423 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 BOaTA@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d-contour00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d-contour00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..243074f5e96389a9345f465ef9bb210418b4dbe9 GIT binary patch literal 3760 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d_01.png new file mode 100644 index 0000000000000000000000000000000000000000..c951826908d2a5794df7d44971eaccad88d26962 GIT binary patch literal 20632 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect3d_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8e8b574606586497a684f272a721ab6f83d5714e GIT binary patch literal 9233 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 LRge)UYQo#8_NSAm11-3SOMCG?$zNo+!UM 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

    D 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 jAlzLtxR!(+#HR^ z-|bQ0eYXej4Xr;Itgo(~d+F@C7f+si_F1d-yFd8BkAC746P?a?Ye?$9v^Z;Rb?wE| z&z=0*^DCFmz3}4cWHj9B^??WOxo3HGb@zb-kAL8MKJtAZZ@0b+$o`9fH5d#R7q4G_ z>7{dLPX58-7ruD<>${WL=}J4SM!n%^bz|d>!$9$R)WgdEGv}<M-VrWiRStp{VZ%hVr#^2v`r@#zmd^nTtNCwr4&jr!xo z)$70Y%x``5;xk`==_^}ywIAdApa=#8JFo$HK`;g%5nL5K%r-7!oDmj;lSqmb*e%M4 zu!S}h4i{q#+Mq$#a1I$$W=Iu6)EGS`N%0#zdE%*`{K(Hf`Os6!e-md0ZwjnDFE%$f zu3S9-;?KX zsp4I#b58UM;TR7Ql!r1VmwIKQZ#`@UKSL7S5Yf3#Nor=DYDlEYi)gf^~U0F{mb8cVdB}Zt$(>{^U#Pun2a!1Q+e)93p{=`Rq;>eM2AK5pAwcYP`H`Xt{a_-72FRflWZ?ods z*0tZ9{zAUn5n~K$2lg!D!+DIwOi+$cO^9(ryd7kH>=t1Sw;#2mW-o<~s9)?KHfJ_bUz#i%BdU^nqn>;~eaGHgOHg^LkK?&EqoES=P5 z#Z0T0-sO50*RaVFCQxQVTn`;OyQ0*zGEH&Y%=vOS7CY3(+iqn|wcBD*xInz-a$L93 z{_{mNvaPXMDc4$lYucOMF8YPasgEKPn0?o-Wh*<53@&eR(#L3YNm0T0m;o+FQoJe3 zk$S|Pm=2pyeCSj6J^aLN$B(}uSg#So4M(HXfA9yxZg*pAp z6S<0>Mk(AjUP5^he+F?BeS!sS59L!dNiK!8<&R0xB$<{ZFVzh%x=q|j1+z*;&UTfW zb-GJZ;gFJd#4;7R-ZJBaR?D8dqCH%aOEDwpOU#LEzaX`u=vMI1C`xqoW&tnY&QSHJM@A9(D&AN=U| zPfbpK`<^8tf9Yp`_T^{4-XD){Kd^7DyT0_~jps*KWSQVDh@q&&yomp#y5r`ckAyIdNndZ>)( zK)LQfl&2#jctlG2=y-tmk6k1miQgo&{U8!vKHoQGYw~{eBWqOLu4JuV!L7viS(!WT>vRCn3i0P1}NQ53z4)7ab zu@T+I==TR-{=Ng>v$VFhv~;c4T|fQYmmYoBdmnn@J=5P*#(3=w{vZF!ul)UA`Wwy` zrdEIE%w)BHr>K!u6>TOh%dWDe-~BI2;$)iIB88*eO|*e)qciNO-O>8b6bn~fHdK#Q zog3*Lb5hCdjb*iS)~#&Gj#+hmv3TK3)M&MBeRI~hOr*PQ_Rf;!Zj`E4&2?inJEQX0 zt#tKtLm7>A;v~Fw+3!TsYEH*D0+*|;;oS#@Zi{{w1FE1F;VI&RKbWK&U?7;nZDNN6 z^GJ-2C}X9zxMSg1=Ug;7*;)DemFYdx^-8t#j{V0TeC)~he_(cI`t^Di(3za9S1Z?+ z`x})TX6kT0JRAA9Yt<-OHfmZHel68;y@Tmu<|uN!G4TXy6(9IuGv9btADK`+YgZS& zyN|i8o?VZbn<;LrdYxA1)Z*akh2z=2sB5nr^k_s95A=@dQZ;q4shd?djCIvhlDJXg zCKuFTO*Lz@TC%wv?>}7Wb^Q!K4Qkhxbf}UGq&b0Mkl=Ytg=~+|C2fxl4_zl8;6pG6 z3gzQ0uB+}lJ3oKANXAK*u2r@;y)isGxqR{bjl~7*XwM5SsVldq_Ka^9Jhj8Ne_icZ3POry{2kaW0!`T>IEUH;9&B~J+jraL6{5(y z?~d%;MW)(OSgTy@&gbpcZ(pB?EBgocT+&O=eRyhf+OeIwhadEBT$Aot)vB_-t|wX; z;}+MLoYJPW2M@W)cJ<7Q6K=3?`C{IU+fi8-E^4^CAs1R9c}W=1s8Co0GEc23Y0gme zphQ=|fyNfNlHh=Qh4uQ&^Bq&|k$0R|-P`H!tTZcCVDaje;quDgIQinS2Os+A_kX|d z{U=1Py$rXuy5INo`)=HJ?Z#lk-=*x|eNqp0TUiZTlir7~mrjp{zt?PIw}=~51IAmJ zS;7S4C_?P^z21FK2&KQ+-6OO1;`Q0MdgoGeW$W^kH|0Ea>PY_LJHugbQJwt|`FjvFsWmoD!}RyS3n8@952`?#^%%=)W)j<+_J z+UfR2>{au@dt1v_7X845cCB-6uD|}^fDu|D6^PLq>q8G6;I+vw(#ZVzbL|7e&Xfwf zM=Bf5^0otqiZq|{9L=Udv3wZOn?4oex})MelyQfLi0dnvDonHxRGc#DP*2E zlkfVHmAk#@rACGf@TUo{qUWhBkZv%lQP<=d-l3I+QD>g z9)MfIUqC^+f@c`Di{9b!)>2UR?DSm+rQ2KE+zgCo%d!?lrL(8bp1HIAaJ^ptmU~vm zwA$H8^c<3*=1=KY9xU5m(6uYY=_P_ua0G;WiSQ6*54B2bo_Gm2K{QEua%s@|cQad$ ztL4r_ZSrDq)!@G)IB~Hvc>W$6>{~p(ytu11m>G08u5snagD=Smwo~-~KiP;X z&Pp~OPc&P#R#R*JEnq37b~NUyyFHhe{@vKYNYejcW-ez#bf<7*ie=0c{sHn=@E1^3 z;&sAZl-F@%yyJ|PN56CD7v5EQ*j-Tv!+m+Bf6hN0zu(S`&+b^+oSWnFIbNvjyzszB z$BSM6$dp-GF~9L|Z=cNkFTdi(>E=BTzC3%>o9*a0(HAc3i55j5)|u(a&be#;wUwPq z+qyqeC}q6su9(#oUwca*7^t3Wx>~t$sCQ{~ zb)nt-`pMIClO4}^zVR7W2D#dnp7t!mk8%@miQ&=M;NU3|Lq;W^Ug!J7pG>^eJ{U?j-i|&OCFA!*|BT2L6y>7FoeLR1?Oi2omfP;R61Z zigel4opvc<#n_>Q=e;ev+S8js;P053+T7UG+E<=87>|_ay)IZSe{#N@zML=0I;vMH zK@7Tvq}VYk04O)eOQLwl+h`?ajRZlmt~@40@*qweaWzc4LZeVb<9eRrte{zC1>`q7h@ zMsXapTALqu_-dnC+;*@?QsNPH%JttX*H$a7*dG!2;A5|2T9g6yGPX(H!O!s~a53pr zQfc{X&u{H+O=WAg)2eO{W2IER5{%;P`LnMa+_^A0F|oF>*_xTY?T$NN7p(R~r=C`C zD&89$&+}=x{{_*~W6|cMP9okb|ThjA0v%mjr zWE66+Sj_S;uLZf+s8$AXB3e}{L6R2NSJ&b=Znc{2Rx=3v*9Gg)kt0#HY9>&pp+rhd z6DhGhbOp %v*7Aw5gwHpZKjFA?ph>@$3s#!-rO3L&^1y@gU-n&aX%{PNkE;P=fl zZro&aoZ>2OZpYaNpU6*MsoZtkZEVRGp5M1MX#DU0k3;#Pf8+Lr-h=m)58hY&);}_p zS}=RLINviSGnKI{p?6}tlrItPpiC*2F%9wzzlqnTTq2989K^mva2$JyV1Z&8WhhLM zPW9qqd|Ps;p{q%jH*3|bD4k++G=BK*yK0@zABs!Ap`Nw5x%K%U`PA>`UrZKLzlH6g z8%T<-g9U>!h(+C0xD`s^Ac3a1LU52=P+jaCMlhS0NnA!cBHE9=g!A$Dk=;NF>UD-A zBxr`akCo3|D2`9IHaDtY8tFN|cRZ@q|-ql~rAXkGFAhu-tv zpZhC+?LTMo4XbD-Cnt9AIg~9GUIjPAp9hO+fyMbakOCEe207wopjh7Tln1Eo8@&*ivj$(ThC0Uhn9XE{_;;#|zBbY;0h-R=c{!T=&T}%~SCA)#Y z3z`rjlUSkD<#~N^tjD!V#X;$u)_P@gvopK!hnRdrSW2l*ySX!*EXL>xwvVnM4tyvO z4=cDB$-&?X>;^%EH%)elctGtCWe;glW_S~X z2e1Q_!8B0{I{^RHAU;J`kQ7}52L?|F4fY7b#&DzDG|D)UD2z_re(dlcQR}}Mtf~3w z^{nrO*a2n|5%e5xb4I$4ma26zfd$rh=e zpyIHrR1Xtaf(B(DJ0@7b<+ubDqN~_GXq1PPxB@eYD-l5~Du4p7gc%t|<7zbwd@s(D z?cu1=Y`+0mGZQn_T3{0ZH$*(_T1&5gNLClzcByWAB$$2o^z|uK*QG@Y&?tkA8K39e zV{AS{c!cmCvacbE$`9j~@fG0@khL&#_z#e6Vdl_>D7rA9atCFX63jHk8sP%9J4i0# z4Au8jbSZNDPrxkRK4hBY8r9=yD7H`$H;8J?@1oN z>&zWZTPH*c1dPV_=`CX>iT?wtO?W?ciSi=#PoihhUod+v*1d-E=84`bW2!FvzIUhEO7e-_&&9aH&f%%c=H2=64_!cC(U z1XK9RYl4DEwg>U{`ch-Gb9Kkvm+#6HqClY=s06i!q);b4N%kU@C$U44|H!^)8i)S3 ziQYt}c8g@V0o4zng!ng!-j9D5qkoDj2=-xDFgwu~RrVDsAH__O{s!R;dW@+fU7{G% zKn2(lc$fw@28Z$yLt0`pOal>mW1OJd*ce?y`M4MaJj!j9hYApjj&M+4sQJcpCSKzd zQr2s)~TjVE#h1|F_yR$Aa!mW*6}fVV5u+(2Rc-)28}9ikC=#AAdh+ zxTb>LWTz$Ci@%HF5-K3`u{mayu!5dKEcp__K6I60K&&Yp1h7VDw^2hQ>$}Y6p6L91 z__b!GKiQyx)#VtbDaRBeyeaTe2Dype;O{1^Robt0*z+xFzn*&N{lD_h|4|vDs}v<_ z$JlMHF`6N-Nw4qJ27bMzn?2i?sCO*F#jFedB$7da9$9TZa@k)p$;Okz@Bzu6 z#X5A0auI(&{>RC_0s*y;kv>EIJW*GtnTtM2_D?AnkqmDS=`(~LDnQpMmu_WXF2nXA zAgxlYQpT8amaRtcm4SD8v(oC5q*}xaJcp~j7|!0)S<>6XVCdC}yW|PACbmFVaS2i| zPV?*?6vaNi-mu>ZR?3B&B)jSFIgoscMkPJLj zjy;FoL9-jELUr#*$4AQI4E}zUhpM1Eq+g-9NacG_5y@{*If3`AHaX7V`gpUb0GBa7 zg9tju6{rvuAPFu-1&E`}Xf|l3k=MUhYVT&}yOR4KA3ynoIT0V4Ld{>qEViRw$dwQjB3=< zz0+}pu^shPwc7Cy%(JIP;Q&k%GSnu;%Y-la!z0idu`#qSgC z!qjnRRH20LcczKm!fs&Z&?VtIx`Y5z!^M~yxWO--lc+Ds5g) zc5JP-dgtBi58N+))bx$7Ok_Om>&mFuan|dcpDc4sh+aV5)Kp?zg7dj^&pSF(?Kcc- zc4{s(o(NtCU7$Urb3sWBjjUO5Ru{G*)s{5N1vm8U$~uP)dn>w7NRCVK+vt>X&JG{V z#G&h;h@ZtQ5FDX=iToKV$B{9`D(a#Nu4;WkipxlezZ(?ASD=SC0VQ?_9=c9CCcQzj zA2%R4d#|4RkUjLUG{XGyRq9m&UqC=Mx5qP6D+l&_L0I!NqUxThg&t*o_xZ?AykY~p zjt)^(T#jTYpGKpp)EoCK&-do$<|L(DMb%Iif>H%aB|?cO+@v?|4}L4=v1*g_}N9>9$$*U+K5)O>q_dC2i(m z5=oFDDnPoF=fPl_l$+=(-UJSuBMgYDk(vASsC7i|pO-urV+cbjOE(-7_=vc|Qmwc+ zRi3^!F;Vq&-7~({t-w>FVqElBf*i59oWR3hN5;4f2+`54+{oL7q}V>Hil3+w zDeGc7=qhf2v(QI@9o~w3g2m)7JPS?Q&d3krHLyyY^IgNL3(3d}6Zr@V+5 z{7(oe#brccrg6*2HfG{g5iP?s5yAF|p7Y};pSGeIk1@t>bk)L)_`dkQE3Ig)JZ(3+ zs@-s-1f>uuon)zSg;izFDeRqN|_)@$_rgIe%+dHNV!1s%8RH!wD+F zZ45`Qnz>q57Yo8`QgBE{AT^P}0LKa%a71zb^}HAYL4xo)3E)ou3$@H~tb zt+38+_r*CWt?yhb@I0kGtu?B2)4?Cn8(uH0sp;wY`n0+! zp49<#XI*Shn+dUrYz}Bt#X4nVecVWTIZ!1p98POyj@hCGm`NnTu0w#TVu!c>S$Cks z&N{n-X`@2yby%X_K(bpjl}DNp7t{t-xAzmd*5JzZuFG<@Fe^prN=p=q(V{h;C%*6E zM2f;~^;JDmf$s)mC6d9gbfM7|WBR!@N{P@!tMFEkr2>e#ch5uL2*tOC<@Ud!G^{MjUDp#z=;)B11%Q zzoylDoPRs6OSyrrK@K@0C?CmjLv$0P@i&be_*62zM|lckXf>p?t~Wp_oRc6FL9#-u zl`N;#kWozNx&F|_iDZS2yvSPT@U?OxlcC=Zyw$AO+AOrjGyzZ3(_Ings8p!eih}OZyJR$ypzVS{1Q8@b0x-BS zVlX4+ZK<+{-1HzJxyJU8ypFr6x=et>b}=C}bts=+kUXW;a7jv8h{BCxH8(9u#$;QH zQnaR4b0y+O&Z`gxq?z^dpyJ zCLkw!{?*gjS>zA2`=HZP$N)FSwDByh9)U$SaARD8s*yTsmyV4e`cW4T-C!iXht@93 z@qCOC=fv|wDe(iRLm7`*T4FpV&)qP=H_9kmmb-ji6DPt+Mxr_ zRKjK)0-1%&7Z#VRhq3)Se@J00jw6Tn&*Cn6$7 zQLDJZia_A8wx-r^kj4Z?S3NUbBh6?xB+F&1zf)XQ>rr91(^7#G(N1mF@+5T1fFKTM znXb?I(Kl3LUKcFwnYc_P2XGdbC}Sp-GRij4H6@|~A19QSvQ$-ntip}Sy+xy?j22Y= zdSW!9Q2}9$w~d5&7ma#IynWbpWQ_8#J#37w+zO^}m=>l_BYD`)%uAlSQ7lHwa4gp9 zoePu}3So{3hGtD2yrIQrpIX`@DzkbH+|1js&sCvR_YmS zh8u%WIu12&YqVZFZg{=0j-R+~&yIO~05`@p3&#!cu(_IONMV)l3mOruQ@wuNnI1)T zD@rfSsY>9ds$+w4hyVuVP#Gdp=AtwTTpv5ecR0bNcpY>=nlUW#dex$RyJ#m$i#P;P zkQd?^jB#a&(GrifFDmrO3pLS_Q9|HLnq!?5Rsz3~7rV7Cg}8JLUzbjlC>L;fCRH2g z95l{SmEi8VyS|yzydGFHQ?v7Gb~>Fbw$TcmmDJZzg))x8Sk-Hc$J&S}PffNYD_CCj zlt`A_5ZeXN4O}1X;f0994lr#zgBnqu_*i=2fXZ{b zw5FPM$x?hD&)7@X>9oXJWrU3lH%u@FE24cB2KYvWfg7ZP&uDxk%PO8x(DKbVw-uwS zS}*&#UnguJ8K#bo^n#l^ap0cs6jl)UhYuZGs7x%(%&3Z%483nj?K(>*=N9%VMuKZ46H5!dtYhr5@cj9_;)DR#AFQxvnQYm?k|8DdWP*yRxdRR* zd5$rX<&>q;nxa61(FDF24}?ZlRYT`I2`Us;O|%%ss#c*t2)4UF9C!^>%`=&GzSgCa zNNH+pG|D{1CAe*@&)jC)8FSa&@Ayt(0rh%q(C;^E)l!$Hfy9_e$V%mxsuIzvPb86u zkQd76*sErRGJ$cMTlHpZR2B*(oVGUwHHE~e;MUzPNU2#_AN9A9AvC=XpjmsG&E zCrj<2xS0l`l;pWv-N5%qQ`zp5rplmv4=XxUs^Z&3tgb6tQj~5mu8jxpD~e2rOI!EM zu388j0oi>rirAQ zz<6u@p&dSQWnpSN}4NWRll$2CN;SU9NI{ld&AztaT4Wj zx)QVkZ!0TrjI%(i$-uw1Cn-Ep4m%_(U>xlA_ISSMM7^e({DxsY_{bygfBNZ(Mm^86 zbX~hd=^CO?zSg6-*g283ym3B0-plT)UyN>Ca!EclSYf-LhMuZK@px1npemvA5r^_n zE67#cX?zfOD~}a$CEA0$TGXeNEy)XtLK!V-ra+0$lsKju$|xo;2tx|XV62K9 zS4dtIYwPh)dZvQ@cfr;(Y7oQ#_(Vl`r+;iP9*xK8-S@t>=J$qS z)oQh0{@Z{1z==DT*4N6d1`?VG?Qp#fBrjW0QlYAYV$hhbsGW`NEx+06u16G-X4*+q z*vio6YN~LU2DXn&U=25d2ps|_4;_+~WDYY32tpZ+(AxC|VoPPT^afIvN}LRaa(x-= zFk00rs$M1VL@R0)>5W~PKfK+28X6V9=9|s5NK04sbYY!ya&~7T8U}CpBYpl#k0%K4?52(pz6Zd-DiBz!ccVPN`Is2zlnZeO0SSZvcV@grXox zuuh2*FC@uGbK;cMjbe56p2chTI*X86*UQS>x^7-5l(q7e>L8i4HG|}cL*eiD_a#N< zoD;|4BS+sfSiqh=d;Z!l{>}M4%@cDAz62Ol73URdd(95|7B`l-5~(bsQyGb2zulZ% zyO#LAHfHwvW^=jkX#~8^t$0dRKqD4F2Z$vwDD4-0PgMd+i`Ghkh^mB$qd%1XfGopW zH6Ae<$uK33RV83;opJBZ?&kNTMNMl5-K?0e_;t@TJuebHjr)Vi+4*MU8)k*yCM@9LM;`s5AOCapu%=pvb;8G+<2S@@M7b6Po2(hy`sc28cUWdaoSm1 z+9Hk*X36{F6|6`(Akd`P2XYAJ~meQ>SNo!<_>+P*W>GYX?C<5YQ{|p;FHV zJ!=)xfRaO`rTz7zn=4^4)y54eHqcZ0aB`%Y*Sx@t z@?x#G97WZ3rMh?D{QT!kV+eJq<{!1LES28)B!+JQhK?qIj3}caq(zx*qxo(c6res;Dgvow^!4y-5=cU zt4@{~rA8*mMOuLuX`NfA1rJ;)`26FAjgeP063PM$s?P4MUAx>ur4}Y}ri)T5JwG@5 zp6~t8gAYIa7Q(v8>t{aylfU=eZ=Ah;J~T)d)gX!)4XC#mWYi;+LOce}`kvBlrPEt$ z@Yd?nua*pRtCdlhBjci+^VKW9?_&qU-Q)3*&GlXZ*>GYot`}tx`tdm1-Kxe$TPHWh z*-bHTEiI-(AEc?xwR-Y`XQWQa}K5zgPM-jR6O`ue7n?%_usd*VYMdE~LjUjJm@gsyLg z4j%rcpZ~u;@T2c@VWAymL9c>jy!;CH&J*}}p7ZMVRC67y@sRRXDVnO`Vx&Zc=n4vS z9bLuCv22IU2_2_eVYJd(DXns)Qs+u>?ZAtS(l9P8P=;<$lo~>mvizRee)i6ROC@w5 zU@1d(nYlYT(d%zFsuj~{{rFG)`G+2P)c4-l^xvEod5^#AiC_Ntzw`P3@yDE>c_Cua zyGVMhMd%TJ$o8ILua>JGs`+Y#Zs%4(wT^DxI#VI!s2CrVqPX4Y^ObTlRyT_dMKpLC zC1R1JbQ?)ARq=3MXPftdyAyBKvH6cw={3h7xR{GF%Bl zmN46yx?gU0%D?+vk9_h6f8;yq)A?pLU;O+J{h5<5zxXTv<{wsPkQ@Qy;|e@5AqbTa z8G%Adl!uPc;j5T5N@KT?1R|Wq1YEAK&fhgTwOI28F2DsMnZt=}B}GNFl#G14;^pV2 z$7ha?vkfGs7TpZpz~MX&nVom!$4kQ~%4aY`v{NufDhIr3v4_=!(H_1RXZ`R2~+E$Ih;=1EU;42k$b5%V$jxGZ1wL+! zQpzX|)~(}eNQAK{gUfL#o<{k|P3@_~jgbOX5(MNod*UWYi9ba#BuxnGeB#(={^Fm0 z)4FWFroDx&h=1_YpFMl(rGN2HerdB94I)BCsS$?^Fa;Ikw>LY?rD=6!x2%egX)FW= zrH~TIP!UR_6uN>-Q2wpl=w=3vkd2X?r*3=dC!hY=C+~mit$qsNt^N65`1zl&`s!DH z_3!O%HZN^lt>Wua!oIgz8>g*Yl*}h{YTI6MH;Oc~*Cq8(8W%!&Ye_nTl(-?10!RoB zyMgt|h8*8}d;ubYLYpvo&ENC92}Qmuvm@-gdnbCVAm|UbRw5 zvdoXn>Yy9!R_oIB#YoN7%35=-vUFEyI#sV-`M0N9CTbGAP^_JJ@~*93*F%z`P)arG)i}x8t@=35+Kon>rpA~~ zyJ56x)}!9`K#&iA>{E9?@Wi2`hu?-V|51CJUPrm@w&OqX(?9c1{{G(zCTnb!+fgxb zcs`8$@hEB4Dn{ur@NMawle{RCEDHlaEeg+Bjhma9ZqzHC`F$UJ`r~)qbAK4Tc18c& zU~k`3GEaZxqac6v<^OIv@rOt1hj&e{uWn4VTSnX{O>0p!&a%+=L(kVr2cDl7wpFVg zKe+$ma`$6D@VUG0docW_RU2=Ey{+%=JpGZ6EuFvokN?5n6`LJvwFB*~tggKC#2sIJ z{-m=`oTOQS^!VoXc0c$rPU64!OTYMk|LU*$ zTFp#O3bK1@Vw|P--ErbeFPt=uh_Pxym`nLPWJC*nA7izH`5*xz7CHtqX^tpp#FFfUx2bDlmV%KjUNjFplp> zJBOm0Q%9#jl2XfzABgJ9y$^4kxgz{v^5Qjh?`{{)SC5mqe%9tw+Maj3>^8sd6^jh{$VB!lW8B&K d1C>1gGO=A&3*(4se+UHGozM55IR2g<|=lkDtKBtF!X)gWzvu1DH?seRzuZnig z@mqdh{qn|H%Pi&kU8j|N|NXbXB4_*UfW>nC$6welxxDe!u6u9Gzopr0PzgRr~m)} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect_06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect_06.png new file mode 100644 index 0000000000000000000000000000000000000000..93a14a72975d18ed8f5a1c050f9b685b75714f03 GIT binary patch literal 2056 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_t)?o-U3d6?5L+b<7j-6k!Q4 zmr^-r&dq1py;E-5hAYL)Q!ImCrl;)L{!Qsow}!LnjO)Mu{$qGnGn8 zlSEpJ!5NOk8G?rllv@(rI1W=L@n-!?hX1Euo6ddUxW2!C_y5Ifx|*#2-<@UBXtd06VCR-g?Y$wX|edqV5GnLQy>~%b-HuLxi zBIzB!S--b8#TvQKm|4}_PZkf5#T;qnyX9+^| z_5BaRHh4bcFb>WS0Mdp=B+~2tPw@nLk)T(1{A*VRItbw~axGq0e{gNWHF~O`3k6O@vE;twFH~vfF{8GkMJTP-ynqp z$hEB7n?jY`EB+RTV1x^%l9bRDAn5`c2Z~O!lQIv#o)1Je1xXRuXrNnO*ZWKW8Tz9d>;kZe@!|wwWt&M& zzC9m2xXcU>DQn(1!qLA3DhP7GavzBC^NqlT>h=F=ZWvC6ST+-q1K`dE@q^XCegIlFHAq&CdZS*% Xx@PzPT(SSa8lJ(^)z4*}Q$iB}!qAOU literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_rect_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..105a4a045aba8f599c1ceec3970c1ee4adde360b GIT binary patch literal 1614 zcmV-U2C?~xP) z%Wm677=^zfDe6YqvRlK58*~w;&rtL&`qYKH$|kGsiUKLn)U|9~ZHY5oFmx=DXiNSF zu-o!12hj)4@js)v94an^K&OAE=(!)@-=xm02I|aepw6rY>db1O&a4LN%xa*{tOiQj ze>4PcW(044h%LmTznc=}qWEMQIrrFNFze=q@4n^w2KV>>_OEpXmvCXlNKt{S)04}q zA1_W%AKMIO5m^7uaz<=@u!kHUVK-fg@;vl&@AvkC2D2PYV|G~0a<~m7W{wu+aoHio zW>yCG0<(x9g&r6;^+HsD{$ZQVtRu+H)2V|1L+C5aQlUagdm@`zW7wL_ir^l`FfjK} zhyr$p4K}lm0fku`n7~M3mI?)|wUw2DSD1ANW5^U{sZe#YnKdcrREuJm!32)XJrtrG z?6j4oGHV1G9D#8=AVfJ>$|rbdUIE51EXR)BEEOt(*5!VuN?;5}Fg5p3h>GA3 z`2?RR%uACR(#6F3%`B}DDZHVp0aDA0d0D;s+#M5Q$wO!EY9*W;{w ztefB^sBukOd+mCbPk&MjyM$d2ALDIDV_H;RA+$Fuz+ACiO<@Idm@9^k5Vfu}n#{Tr z&F@Q?!>wXc7NS;_?|GA1OV}w^4jWj)LeWDNDuGR1V@m~CiI!RG9;=jvVoj<-C9p|! zm9^dS!xgKo;LzcxcYOH3^h|J^B}D!5p6}o8HMTd)#f&a-USQVXBcnHDuN0eK9jbpV zU1tq0K3#%Xlt6k;|1|@14~3{0dS?XTM*0?3ii6UHXPA>HP6|}02v(Ir)7~r(b66cwMP)^>1Rz(Kr9y?8+k3NFw~AcI5Mr?AW-ZFE9*c^pwCJHx zLX?NJ(rBIFXCkviSvDEULnc3USSX%s2azZ>t3u^?+U~d= zeNWG8s@@)&(4z93!&7sUS&+e6F>5`D;_E_`uU_vM%{nS$`W6-Yu%7i^PK>GbBCjlaPSQaRBSmahh^pB#+2<^Kw!4VUW;Nl0=R{H62pG+pKoIQ? zGZ>3@hY}R!M)R}m!%z|`y@N?<{R=_4>PWOt@b=1jngq3*r9!#towU8O?2DSX%%4pa z2g@o{On!&6%=JFeS^<2L(h>ttoob&1nfmt$C#C7lB;?Q!*8gcQpCV_i?&FimtbuLId z$WRGq^Mg0Q?dvQ>G{ld{B`=W(Q3+nZHEb*vd8L$sHEnt z0rN1lo0XK^>nnPwLd7+24cN?D*5%`xDk<}NLs2 z#s5P>D5XtGdL90oH{xSjIX~w+N`Fo3}g!=!G(d$JDq=zXd=YwUX^{m?&Gfr(j&dj z?YtL;H9OdUcM4-#op+$_(H(@#_&=OEW849;Dm>l3unO5upsS`o%PL{Q@WsPjZ`9ia z;6AiDW^Bw4wMy?)T@oLrhORg2Zh~+P;2_x{6TbK|)M~KjC$v|-erX7D!1W}1!wc_! zF@HE_zDsjoanSc3C&78m_Y*eTeBDqZ+giORA*Ks8cx)Jdckb;J*!R}-aS&=yB%ZBH z0tWE=%9}ex6wg1HIg=gPPJ>i?!=u{%Xu+3w{Hn(E)2=Na>hzES_t!||{=8E6?ej9|V#wD^Yq2UfvD_xa?}9mt<(Z|GVW1afwz z*7-Ac{96Qm$JRGoHom@GqB=^oQPQ6Z6|?%B|&|ixOyx zYKO|jb`^A2rahBWN?EY=7`kW8vtxG{c5uv0+gYfInlnBW?bNAwcuYYlWr`?97@6wd zsajw0I`iUWA(W)It-s(R&}TR8oR&qDqot&3_Z{zArJLW#DhBJ=>bW9k;f=k@F~1JI z6^Z+J=1iAa-vrGt`RUhhU;1xjVZWaf7MQS{42vjK=TcqthP>991&J+xpUeZ6Rt%o5 KelF{r5}E+;yT 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 D7UH{R literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_scalar02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_scalar02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f4b03fba78bd2b7e5fac0b76a49e42876a1b37 GIT binary patch literal 1813 zcmZ{lc`zFY8^#ks)Y+4u>e$uBou!(%k1r}(jhm_~S#bnws1oW5DW&eCN!4l)t+Q@h z_tjPrX{%NxXa!5PjXL5;wD`KS|Lix@?~nI=X5PP^dFGkln{JP`mJpQ_1pojNHYlXy zcg6iZA_Cv{AyEJX00__8AT6Aue_t(`%Q^8vq2Ele%X?;*)Y7yDwuV+`Up9Z}kaWo{ z(BV(iU3HgJsA^|5J}CdNJP|qByRGJUCjZ4n%To^2K+)qWZk8Pa4@V#7hMA=?_%8z* z2!uUz5pODEb*f8QCepMM9IUTr^p(Zh;1K-dMj<3s*}a+ie!>xr%f!2?{iDY*en%Rc z1+Tgb)M)}k?{uf470Q3MF#@8Au4*rZ6Tmv-tmZOWo0B?zyY-D4E;1;tmFVN^CUl0P zqxWQ(gAm{EWrxkL{oVx+i87$jmpU}u{CC$5_fVbWrG~{R0!8RRdi*C?HLh)He!h{l z#KS_K&k0Qo3oMl~y~vjM=x^{=&8+LG45O2yA5EyMY@vUwxRL=sa#%FFw`byTE*i@j zVREr{`6ZfGJr*rO_b26gsavC2*vD45z}s=Gmvx53B>glc;-sditxV*~#fZHu=3bn z${a(yNNM9vO~H}@2JlzR5b7gZY0t<)EC!MAVEj^|JFxX|Y=A469=tO6M$1*v9{MKC zAkr}x4&K$qF0@>EN_V`!A#3;yC%bYUT4F8pYx=%T%><|TlTI+5<|zQRv;RU77Qxg$ z+f~fSWxPk#a62_6mufr)@mYqi24YV!fyd?)3vpF*%;#WVO zF^|YIHB>wf>XJ z7yN-TAlFhdhy27xZv(x_f`0jf-&S5x>_S--8p%ZAW|Qx@U6_;;l7*+ydGxe~rk+*SD%kr}$ioseiHp zK}+YYeob#L^3{%lrqoGL;0d-Z)_pO}Y$!)=T0U@tJ~g5Ui4OJx3uTbx(Ez>_BHa7! zA4C}oi!1l&Nkgj6A*FXM$!|_dy|yJI%&hRKgJbIxRls&X|5{mbU_N^=C|wh7cq9#m zt?|MN+ae3YNWMWTX*XZtXp(|gc&2W}i$_dWUAi~`ncBd)0FE&677CpJEBJD8=T z?viRW)e!-@YcWzpmrMEVl~*SS4SZkOHn^;tLvF6i6X;{?#hV^zFc@3%BwdONF~2Se z0x9xab{UlB10#%{VwFB@Jk`4=k{ByBnyfr1FmU#84@A?kA9g0E>bSK>W`X7^^Vsl+ za7;iT`%`IcELnSlfRj>|pMF)^KV5Y~uy*7E#q+=#?q^wS5Ygv-ae zq8Z;bs<8LJq91q|e=dSxL%fhts%u5zZwbI3vC)-GbpDA4vo0IeJE;E`e#H%0mxizW@X2OfHE6=s*%O6*ISWtMr*b)3Nf zYDga{dhMy*lzKs+A*ax|a%O71`9P{kq5Fqa{@=uTitmo85aL`hn&00Yz{U!VthdA@ F{})i2Vp;$I literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_scatter_21.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_scatter_21.png new file mode 100644 index 0000000000000000000000000000000000000000..fcbdbecf588716c88bab8310e22f34d96b759370 GIT binary patch literal 1578 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 Hu0mjfO1u_- literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_00.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b02b83b2cdff60f8a6e61bb1f3587422aee65d GIT binary patch literal 6911 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cc485a785b06b9195cd651d99cca2df0517357c5 GIT binary patch literal 5130 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 X^t6j^q4{sd_drcaTd_jkHvE48nNw1~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_01.png new file mode 100644 index 0000000000000000000000000000000000000000..5e1a2b1e281214500a60584d57889de486752f23 GIT binary patch literal 8938 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_shapefile_4_02.png new file mode 100644 index 0000000000000000000000000000000000000000..2eda628db6a4ccc6d82eecb802995fdd447d20ca GIT binary patch literal 8178 zcmds+RZ|?$vV{rm!QBbYpur``;DZLYpaTRL1`iGag1ZHGf&}-$eemG!?gS@5I5~Ce z{)l@Y_Dk2=)m^*#+tt-8LPJdf2a^I50RaI=NfD@pfbfR%zXu)hU*wLKoB;uWwp9rz zt^FnIEc+yJmpwYf+;ZbJWr?JtpV+L<~UI6uyDKr2~O#5?96)m(9{YGBULD-~nXFWHTCiel#dY&YUH; zr+%p8t%uWNvqjjUF>%m1A02E8OXeXCf4U5bngDh<>EjP?VOvL*{t-3aw%ysSzDmlu z{C@Z_=T*nnm`OnV9kME*1yi_k@qZv52*ot!w5(+BiNbUTDL$Iut8qZz&t}a;KV|s) z&CvxU(&8#arJqba=S=)Ql~moQELtl;Pk1guPqJteysW>9YN+gVwG>jp_;2iYv*$a3ryRgiO>7tSPFI=+7J5U6mHX`g#s(xi4~r4!gUz#YdHGC zBkY;=;!~biW^UCW7q-Id?BJMXe(;N&VU5eYtBZc>oFYDfO92XnSd+X_7S)6_J^=xP zkjz}B?5&Sn*gr^cj~(+@zq1`UP5!)y)d~p-DFys`dwcqFiWRN-k1XF+rwX>mxqALA z*9f95RpZ8N)$@1L`Kzs(ZNh~AU@M9@w}}a!#`q`2n#1YW^u;;5(C0T4VcuZ)`z&z--1hL3*(zS^`F4VB{ah@Ew< z*xA2?P*h`nX6+qceKu*rDwMwE?&By3K-cI{ih{g8NEJ7E; zb1X5a<~we@GP^*o0^fW~5j-Qy<@wl!U#Ss7c?br2aD1pQ6aJy}G^uhx+4U};`YOhU zJs-@R{eFw{XoP`fVO16ZC&6~S6b~gCBK*mnB@WD&ublfp|mA3 zWnm7o$=n<@7($#HQ@Z6&R=rt|q3#^_ydOKnaFVY){2a$iSXS7|oLxyNqVojS(E zd#N0>@^Hst9C-;j_VVZ6H#BnVKW!#Z5q5S_8}EEwAu8 z;I{XR^C8k_?Omz4K8??6yG~!lMviUB7Pw$1S7ey6)0S8cd}E|R&>k?erqvm;LZnX? zyZ#M?5{4*KBald+J{u#*aiRuHl%2cSC~Ex}6w1&ZbAD3yT*2cx4_=2?o+^PuU#QL zYt`JV(8Cg*KBo5M7viBV>{n-QIH@P+mR&giRVsK9l5>e`mA6QJ9?h=}cvb$Srs>4=mzFQjtM zUZW9mZ&u&ABVl?inVMjiuq3HdYtNk6U;V_;9Wp5DsXG2~T)K1nP9uKna3LW-qs`2S zms1UhwJ4Uou3@qo@q!Ad1u5p_b<3!Kd8;tZ{X?1NraxjPugF>s_<*R~}Bm<@)AVlH!o{f197Bo%@} zw+{7cF;6?EU>+_Yg~U9RR?_3ttXQ+Qxi!AePJ;F863YMH{F&yw)9e0s^;lfRI-VIm zc)4qL9QbW4GllN~{XC4JouKBOjl7qe|GR_V+tKQ3H?98Mt6jB7=a2{qD2$)w8S`q1 zMTjNwx-gQq`BSs98;0JP_QmU?M{Gnl}kLjEaeB>G4qv07AqwUHCSLo&(4O{n<(N(*0&GiLF1 z^M#D5=!gyF(7P!Zgib9`N2B!h*aV5h>l7GpF$g01EB8Tlw$4so0Ig2ii;bPlXq2iY zRRKlnNBXfsI!W5F(`#TtTzN|)tib!{F;O*PzP5Hm3OFFLdC^Ef9?eUnm5WJBv!t=G zpsp!1R9?@%JvYK6{U?okK4-E}mFU1yNVG6b)nN1UYshCvP?=!zhZZrHyLNk}qK3~C zEfUOqADW|&(czMj1Z#fqQZa`>BTWg!d*{XR8hCHDeCx^cOBNoQNM0nsb+{gR$&&iR z_d{ncuRixA%rTo3!WFrB8K0fW-MFwq&5#JYR~jP$(F8PEHe(^Sgm-L%6F+PNR;OecbL6-M20~;QM&dw1_lJ%knr8oQ<|H(`s zV=e23B|KA6fYQcQ$~D6ME@Tgffs+v{fB6U7fdb7iGk4LbI}_j{<6ZDqThtZ7lnRm9 zHj4?e)k@P2O~CJT7n)^SsVHX|wK*ToQfqnUPi7(YUj!6#PV< z?=GscQC_7?w=g~|a$3N#f)xDKFYO9@EY~XwK0lu&pZ)Mh$kXFk){duo^n%s(o&~>a55nOehX>V^p$qeBRN=74?>NB#_EY3^ zbH3|jj@~}^2O&BA0ZTIF@wSN{{r0V#t>^qvnubMQ6})!x5|fHL^2^xRs5v-_1sQSd z7teb3L)QVu=KW}=wFmlu1PY$fXN^?-5jE{#6qIrhnTAlLpJ#GdZ9eb5OtCHCETk=ap6NB;5hgu3dG~HJ z{W&h>svzf>LBb5 zb#zOM3CLARIpuS9LLtHQsfSDh?}?aKDha*dG;~axlRbi z?rD~b4PIycjpST1 zoe4-P%c=b|ICf635*$&zmMVdp8Aq-GRQzC#H@0 zg=fuPdW9a^CJPS(Xnt@1UD=2Nt-1>tE}Y#&mIue>8O%wRvR1^IMvhoz<-d?AO>~fM zzE$C@KM?EF3$Huqy2lO5>hW<#C%+fs%OF|U57@YXR|D# zAi=i_n*SqZO5d9Z#gA;iw& zHZ-#KX2Z+KttAEHjizXXk=U0PuMiX}%atVpIHggE1t4?o=9ge3IEJHkJ!XqRfxwfU z=3&nUX@0LLUR&P&u)1yqjxiRQM$Fsc1TxS1R zl`FG`o@0sA!|t3(yt#54CZGpQQkmG*$027T1*?2N+Ohw|7AJi06D~K|mQ~Ru)%rFD zFZqEb>Cs_y$8M^D4czY2N*%yVfG3&5Bh1!sl}2o8V-I8WD^?wUH`j`0hSjJWwdKB) zXtzfvqpxQ-X<2F#4vkJ=MSspO>cLW}YYMNQgRpkB5H4MSree}t;om*TRXF4J{PnNA z$NHy%z(2W`w&AP4gp?U|0GVPA2ks2WF6>~x4rMv1-Gs^05y?8BDay5jEhbEqmI-Ek zUw$kn!FYnv<6_BS+6Xls-~b+?0=k3r`52ClZPdCk}_wVMY{!o!>2`eDqg!mOcFQ zj`m^8ouQrn-%OnDBR>$c@Y%>4d%>EC#ZBvOZB5(PEUsrlch-HOM^ZItFO)&MMV;ay z3$mq|piqzIwg!6R+4ZJKLiZV>K$mqst@@aVXpdnMvwZj7ltl)Q$lXuPpP06;XL)Br zg)Y z4Xv=oW^tvAqgjCK4S@k}Y;jL{Ha+e71de2kX9U#RKEE3S6PND_VK~!Bez2B3y}?_T zB5GRgq?FOp%ARbF)YQ6a&DMF3+IrN-D+--aFDZ-m81$E}-t2AJn&Zb~@r(`4Kz62M z62;|<5maue?)u?FiXv<#t~>|f*tr+UpyqImT7pnm8}r(C{z4DRwXH92`95H)hSyN;{odqzNL8DbW;r1-e_ubq5c} z%G*?O>d#4}?$533v&~*LNQnB4azsv3+MaC8&U75p1sk=XWJLIeXJp8t0(Db- z4mfDSG*$jJ{ikD$xgI>(2Ju=uPIdq1u-Sai;nth539{Q)b;_dk|NfQbUxGmf0BF?#Ah92fn%WgA|4_X360&I$Wa0N zFcZF0Amj?p@Df+^axt_x-ZKtT7Eq z*v%s5eTS#ot`Zj**1z)ANXWEc&dS=@Rwog3WhLayhXTJd^QFk0}W@zvcd9oh1jc zR~knRfY6r#=Ul@D8_6J{NR1;K1`ZXHa}US2HG}2&*z1-x2|1Y~x*zqkb4lVNbFYW_ zZR@j`Y<3VAa3lf9Deb>s3m$knI(VJUe8er(giIq5H!TdIakYC~n$NnR(X`2Zk~p#^ zV9pS^9WmBClF7D@oN#^t;>Q*&S2<79^7&J~fHD5L%_70l+F*`l10(eyU#To@6ja-H#P3gb3ps?9`ZC?4C(FG#>&jFiC^t;b3f6q zN={w1u2;MQ~Qa8d5{s~+Ua?sullqqXHa$%elv8on(3;e(BIMz%IArn z9^y2Po6U(AO0cnCoTE`9i}t9&?~)^nCN+JxWF*#842eFNZr}K92Z!oh>P`-tAxSB6 z_JLFWj2zE%tQU4)$>5h0&&q40^=DOe7iiDWlqNlv#k)Cc>KaUxCyg&7%u$ojeS0_V zMidhl?NIT9!KnC)wbjCzIPU$WD87Hq4%XLP`VBG+2e_;}s-isra;qqqH_pnXbA^!b z*ua0v9CS=`;^l6;ZH4jkjKWK&D&fFg#GIUJ8xHWjmAVVXk;F7R+HR}SDTqJ^#VD&K zT_AGPJ|6FhBR2omQhzXK+DwiCwJ1aLo{4iv1eKG&4O=uZ(79~R{ltQRoT+{Sf0)P( z?@7u1;2Po4F-dJ*;_fgEK_d?ZhVEV4Z%d7T^CeoT$t=uVI?5WZD@lI^eW8 zJT@aG^DIkDbC5DmtF*MMIM7@x=m-|t4`G6*X(wuQsO%Zn_RpxOrLiWur5$4v&cM<| zYyvDP3nJJ2o$I}3Dctg#boj=gHxT0m?O+wi*v{YNmdI1l<=4Y`RZ~ZBjzM*)FXMS} z#)cUP(`_mWp%GYS!o1!IT#?lXd7V;SA)2}=-~O>unEBnh-TtVNTh_q(gW?uU1Uj1_ z%3m%)$KtavT?CFy`Qm$7UK@4)mu==3GY}kGJ~$_i@E6%FA>sF-vFDz-&T@>3;~MMt z$$0G+RVr`Lj`o=!7eF+E)VBb)*lHF~r8H)cnF1QX1nhJiF#DVW6E6pWYxV-My0LYaLW8~D-)3sgi zj7NR?rjXj#xw&HKHjhYL?cED!p3<>659*dcZ!`$v%tc0@nr44@Fd)~Cyg!Kq1WB$r zeiIAzG>YD&T?$~7<-D{!8Np+{8e2HunlPabnaa}mZEZ+`ajeLHvaGJub)811xv>dc$FJBRE z?HMBrEAPI*nwG3Mk9-qNl7HvBRw9m%1eY?P2ZjM}KjZsD3$cvGwp07tP>!cOWG&i2 zt9SvhH#M+7#WX7F>?4(BybYM?`rNTQg$8Eov!{3$#OA!UpG@T*1<#7d9HJr(xRmA? zd~`EZy=m^X261pv*rqO*8@cQ8tbP`-j9JKq4;55Qml}kQJgg0fVY**FBY{h=mAKy^ z0v6aE0I?h2EN&0AW(|ke8XaEgW)eDP#Q&`ccw({O#k z9J@#NzB;wsbll5FzHxOTjq}zQ4~6JVT=>jae%^7tF9x}coyJv`yf7!5&qX^ZG^d6v zKxbPT6k9#=0{s*@#>buM!mY#~m{8s}rAR>40@mY)C#W15PIoY_A|9d$Re3k-^0H(N zjc=C>F{K-&26VKDYOaL%0f0_ z*{2&V-NJDAGp-yY()0m1mvsV-vK-dJX>xuo}9A= z2$hh1Wx%$Ri8;4yqiR0B(U`0s0vzR>PRv>%m#QsS6|1-*!Qm3inImW&k%{cR z#-Ly(5T`Q}O%1JpmMqpZZtNYu`hZF68q!nEnw$xBDcPy5s(f@ER3z z7;Cq*+()V?D&#FGLD|wg?U-o`gaN2_Jz4TLc?}AcS2@36=P}rJZ3TI%1!ryTINi41 z9(1k!9#f5KKaZt72V8RHOrsqk32Q8X&q$OpXJr@8>%h`rHdekB+mpWAEJpEZeE4>| zmMImV3~W}sv@?aFsv}bBr3S`xQn6JeQ~Q95yPXiRGnk|`(!@P9Gl8~yVw|F|rJti* zB}(#Ffy|9vnj-$^-Px>Cqv>lGQT-GynbsCo*eJ4H04;dt$Q1?5!g1*{6=c8L-?9`TwtM)~^`lyKKP@*fW(?{c z`HMhe79>Y1bSK6Y6gl&*IMW#d*&=|8VW6W0zNva?vTht{Flb8pi69drAeC34(i~H1Bsw4l(??cY4$zwtv+63uJY^`O;l>51WL6 z+Am|e+f;7gti1{|I)+3VF_7KB?2fBy=>-v@9W?D{as1HbBtjoRv7R*?NB&!x3V9Nj zm(@lf!_84uf*{@>9?=YP@|FR<-6V;ua4zLqWGvty4=KkQs7ek0FAX`he>Wwzr%(KEqT1wuq*TFPR;2E0A$A%%;VqQ>X$yao@ID7>1jPwMqf` z+IU!t(R0=K>^*m;MFLn2B4px7YQmgXCJ*8@Gnpowk~ZJB7`0@E!vIbp)vR3m1bQXR zSp<(jGdsqEQZ~G&VfL!Gr;u7;YgXf%{_YV3dyv1u^XFd)VL3eSjxa{O_?Yf7R^|DC ze*w7cEhqc{$t?{WwwIo$A?_~*sI$O zuV!n5lGJ%Od)3yVZ4n0Nzg_H~_L}$K%aPR{PLlZ1PXrch)I}RrkeRsoxZ#9nq^PpN z9t)#<1Vqa~f5=&T!*BBlfHo~vYYOeqnc00e{o^aE2&@VuP=o3FkDSx|`h5OQlCGBf zKES$RpV7~_B(*E#U!M8|22B|EqqRR%QKvhFy$VU=o2sqbuhqn_m}ph>fy;qSDc4MR zH;4|G4w)msfdI5f9t)%_z?B7NF@35Z#x6dA* zXJlaDXS201b$dYCn2w1eE#=B=6@QiA$dLBT3$yDh6uBJMkf|nh4nqU-GP6FA8S0QC z;{7WN?eDLYkK;)sB7W_U9$3~kF!|3oSo6}D6c{ba(xE-&1M+E5>j6!x=e_YF@8h8I zR|m!CH_lP#)zu4%zV2N6a`0&H(dOTYM>7vMBRBK2p%v8GsVu!8jEDJXVe;5#4$okp z>2bsg$%^vHS z!)fTbxrO+{UC`g=1U4?&#v$ts%CGuYaL#`<9u!9WM?KmZYN;0dfe%nbIFJ4pRIq|ZdoQF#%`Ux z$xzuJFaGxa%ZsZ}sPXJ2V=0j~e~0-kUrx@i^$7#*?WQ_EgZ@VQ`%@^j-ZiCWmPvY% z-{U{z3EJgTs8KtE6w24h zFUZIlT?74Jm4$BZ?~gQ zB4Af@t;Mf;29L{(RxbyvN{rKWKMU4)Sxn*%zf6riTZm4X4gyHh;kW7SiXI>$HFQ4 zlzTKxc$_|azg=1c0XfJvmo%Uy@OzHqFAr57oYo&ZZ*KzTw33CF_-YM*6|6PZ+T;G0 zZ4Gh3)vlyN4wA($@mTd0*7dgW4OJw)oH<1Wn%ETe%xeHYRtIkQ|e}X&=Y869TGI06JOiFnPVi6HV)T zS`QEH>JV!#CdEa%p}c2LX2Jzce70Q#v*%e|-tMq**3PP`xOUTKW7TyFWt;PjlT-0N zInYm^1Lf=j-KK?~KM@INz2`P=`&Fj}E5I?{ceFS*C`hOEaOI6TDbZe!I?61?<-nrJ zc%au>1qm**QyrhTqbRZ0l+49s4T2iQV9$VL4ugp4n7x_);wX{ExAgc=B&+Y;8P z&eRGKxWy*v7joEjwlHlD#9WMpAiyn)B%xy1gB^eH49A6=1|3IANS9L61()$jCo1a zffG#q$9qzVVHMfh zJWl0`O>^l+-mH3dKA@4Lw2SXuv@d`lv^Prf;(I&>04%!r-?m%)fzDA>$+N9IUySnG zt?PL^dcXRXE(svixQviVJDr^SEY{*==GI!wfdUzdRy9R${{@^ z2E`Uq%|0hV0aWD`sT#RG=CFd4JpDR5#3oltNK^z{vAi_*_eE=`1EhGPkJac?;?xim z9;@JaH}!s9WpZVJ@LRg-!M6PElE*e62@32cxR6z^tAk6_pFBnYQFL3~aGhXBaKD)P zlsO|Lxz7jXmAobk<*GuD_+~v@%TPX;)R@StsYoFW9p#dto{56Uxsk`6ML)G<%Fhmxk$Zdu|2*>LWFhu8^etp4V#<*WeHp94MXbDX6dJ* zaB^v_OpmNCQPyl^_o`z>R>Xc2aq>u4Wh-(YslX$ME6>LhXWf!%ojX+aU$eyxgv=-; z^TWjd?xWS8ZUMzFvd8E=LR?xY$co>5j?V}xM;iw?v3ug-<44}s?pX%Qba`$y3+t^! ze8j%{C%*Yw{8aZ{x#y{mNM?*Kd8&>A7o=KJyt(KgzFLIVZT^N7FJw#VFg`2W@fqBZ&u1d;auR&a9(8)8I&6s(uBR*JUr z>MKpMJ3K!l-Eq^sDRUqu>->w==jpOFvXrM+cD=c>+V$&Z+ro{k??uO_B5rhly_68> zGQ=}am9P>sx9IcBV!E)%yJV9k(v!Nish2+;w50r=&}mq7LAtA^LSgmg{YF_d9q+!Q zspaeHgd1Qk@dV?v#)Vff%!>deOCVC>npIi3&nH4~yGa|t7^l&D zID6cWSxoL&VJfqLNNI#!<)g}qd9MT>=^N-4>PM@kRD#~?B+*yQ_IFq)X3IGx85Ye* zy2*$9pABZ>l4c4w5L>{rK2V@oQ<{UcC;k9fR_y7!K^h9zz4^Hpuq<%g_dGSW9UK=?y)}B~KJAY>Q5?8=NgGxhW z2p7I?U+Uz?mtf3aH{g`>wmI|AK_Bv^2F&8HtsJ9{7`aHfGA!G-Rd!C%2y)*77qS^E zY8JwVlX8hQlT&;1@Aw+9E*(Tie znADw`CEI8h8%|-(3rfCX1|5Peq5L|HpWqLElxsDsDfy$85Qa{meZ^)xK^4hMha&LOR70u_K=Y z)Pu`$qMCGI+lt+ZFn0UhiQ4d3zqb20l>6n+$Y|Fv&-yKCUW}_L#<(XfSwv1Yr-An_ zo0d$FuiCU6>*U$>c+;GC!ElwxW`gdDORv)!s2|AHu<=T=#-Go~@Jf6Z6)0DlE)KKd zdNM#OE;&j#`HH=Wrc*cX*B)Mm0Qc zNfvaRv%IsE53)kPqOMGn_A9e7bO!Ehb8eNULS(_A{5y@9UOVJwa*|s^ zA}kNaD>7qhEQ&luDwjXKBR1##Y1kvxQb?`iR=5E>sCXcU&kfnZAN#EUchLrZB0?ld7<*nh#F5 zC8KDIO=|$DBgorYp4h1?j4Mb`*CiLqp{(FGaPWJVE%-Lc9+QW+gFMmfG7YJSaD&~rQ;@GCgy7_$m<~HAvhl2Td2NNt$70QGO z+k*CGZozM8I#Zm2O4GaxXuV!^T_er8bqTCtU1i4a!;pq%Ah5+S%JtI~W11A8ve2Jo z!B`xSI^K*`Qq+GDVzh_wwVZksZ;iUTh<0t8bE;Wb2%F;xXhaoyng+9yKO73wNAg?@ zd4QgAr9e!3g4kbi-;TqCMWf-T;E)*7x!9PZuuq+5pkh&PsN~*BUg%U8Yuh}}&GG`R zIC}LY(9uTYdU}ed`I?Jf*9@9GB`ZAJk)`bj-E0by!E#Xml?7hp)a+qZ;%l{h?H3Qy zh9l&^ge?jDhq~K<9fl3*xs(A`M z09gB9UkF>V_WrCV0w?^~MWR^%;KcLlauPbPU$#;tdH`SnOps14hMXZv>bOM*2;nSA z23JJ=KHBI!>Y@z@7R9*!2v;ulcM0my+k5u@o)fF59Kz&XQr)`kE?tEE$Vsv6@r616 zX~{Go>-fkOsW>cB||$IeqlqL zl;<_PhrRyHZZS@{d`WOrAxUoBC%BaHhEL6;?vEb@DTYZ^D zFk3xwd0VG;?rO4bp;x#N*1796N<%Da#q{PfL&8A!$DVvzul3W|8~1ows`Y>Uc*aL= zcY>4K0*y`$?HIYqMXmri;l+rT>u{)V_)D|a1q!HI+y}+;&3rS+NI>y4_AFij9wXv}tW?kuydilF2M8#-Gw*wj2czOVn_eE$nLyWAW{yp<8ROOJZqlkv6L z-gXo+MpJh^E|2^S$P5WcSXH@QRp8W^mC>S37-K|?_IdvaxJaayJ?(8SwhWW9y{H50 zEQ$(ufvjFtg#pyuiVVe`1%^Ii|M;-rfx1Y-IyaQX^nn*dL zF4+$HMd2{YCwtE8-3p6}BVX$qpaErU@E-vixq8>Hzx(f^on5&+!hQ>Lm@9FEHI<<^vDfD_zDjTOoApT z^U7Z_*qq|$$(2ncD^2P^zlhGnInJt=D;~U3q2;G;i))0{N9bIhvI)-Gx#LS#nwLi4lU zq_DaAYClL2tC5`S===kv-xh68c~`;@NkY8s*&}~U)(T`V>t4F}Wom5XP*5@vIl`wu z`m`q~C?3Eym?LZ|Ov329V(@mjG#&q2Yrgt3h*O~yK7sbLgtY&sEBin2p-IZqpGJ)g TY-<0?K?Yk(M~gZ$AJqQ@N()sfLg-C; zClOG=bsApigfTpH=#w+=<`JFm3$DpLww>|b=lPd7uX94>*kqy}h%pITDMqc}+5OLG@j z75b$?JlDZ@V)VD>CIx(zWb~8jCtKO2d-S*58i8CXN&gqY%fF9FfiALhVkNSdH=H*X zH`;E>jicns=i@?;Te)RvzqqZtvnXg$(_YCo@u5L$H)&_Tzph2J6_Oe)j@W6(Y$A9i z$)*uRNC*MYQyo7Tja7j}MR}XgWPu3Vh6z!&BS+pY~bE$QBHgzFC0b z9ue(JmA3zxC;P>?e`|PB%h@tZ(5bn?G5J_t1Ecq1 zf2!$GXIwL7r}SNg}nW64+g!`EINj!f5K9a}T4%;#P`LjA47{gk8d)#(C*V)duU0~>pw03p}9zy<6@>9$B z8Uo)<%BUdU0azQzUAxr>%IwG8LdrA(MG43a63P>9;Z2e(pKa*AvV3^v_XX=Of7ZpQ=gehcD!(sS^_NDDT%NEq#%#{x97Xt_j1br;7s5xhj;5iNX z{A|)?-ml2x>D}HjgkVv~ZJmTP%E~CdaZ#se?DmOGPkO4WE15S#6rfRQ4RofBC)@5R zT^rcA>T{tnPxNAE>iElNrbi9?%3fMcb5`F2$C7Zc=XZW_Gt&X9<NXe77dif@I!LfGW5n4DIoC-vH)&zo>*HB>l$D%1ElE$0k@wQi1s-S4wS| zJ@4?QJ~}*2hM&MGasaK$eQsilk2v(^R6+_o4tk9`o$+l4GCh#|do*u;(5J$`K;m(h zklg155ZBmF?k|BUPPwIPg57j4OPH$`P$E&NG1wMDSa>IF#dGlSk)CM((hI$_SjtNs z!?>ahJevfRDbfCGi}=Zk={rxGP?qO&@RKJjXScmDjCTihM4H(O_?O4N3RkISTf{}b z_8(51D)8(Huzh!1{kP~o7uB^=rm{}+n2SGWCbMN0zn}Sqsp7`p($mGj?G%cN zcJ5|5^Ql8D{Nz%t<0k|Z<-R7M!S&^Sl+oIbR0!y&vg{4|i~JwBbqId??#A2(i^ky9 zWO@hPyu0NSJmzR&b~pj~j@Ahw8q-}So50`Occ9$hra&2?r!VVezt9C(&#sJT-QcK~ zU85|$kBBbQ5^VzIfAl|Q-WN$(MRiQ1%0`)HM5 zE3Ih%PYAoEc8jz&{nCLoG{Df-ppOi;nqC9&~n0TU=LB4DXOk_bnjFWnwrq*{(ohjUWmHe@c zwmkW=Jq|MQdrz4}(%AW&c`c_2=m*H%T2gDHiIwqu3Tts#9X@m~x$bJy^9DffaDAYW z?ZBKD`CA>^j1k=Ryu{KS5o#sXBIgz{W;-f}suD`_#(>3nzn-q<2j`)a0=W1ti9KPM z1#Lw26~V@m)WkM+#nVsrubNZb3w5=xT@%wLa*doWjzVCfH>pz<8|J3v9 zVc@b%Q5;Q`KcNv88yF09YT-D_h8b?Vo?j-hZrsNHrZ37x=!MyAf8JAWfIrdU@poDf z>v#>`B_iH1>#SB~qfCtM>uJdy$jP0R3UBQM>s#o$NtzROM{fpy?-&$YWvmKoUyt{; z*S$2GqE(z^S?`lBm&;aQ>2rzUeHo1MvUqX_*668fB!9vKsSA~QT%PKBt{!l?TGw@| zNGvTJ8&Xh`@Suz&mD;sAVdqJhB6YyK9hu}cW|$3A6)ZT*-9_65U{3mQ8CcSCQttQg z6ROtdD4L+Yu{ONkG7ia1r+S$!nyf97U)tbsRN!0n6jZW(BJBTPy-a00AWE7^-^x_P zYxbLY0;q7;dk-&XAjFeu)5)!}9ENv?{)@7E98TwQuOg_k?ns?wocaq(bg}n-fJEb6 z65G29+*cdRl5f*%qJ)_ITdf#$W?4sK?eh89h3{1qs()OAI$pud7&iK4CvA-c`myc#oHl zDP+i3r%GeqC{oY9Yr(s(j}rFw1DX5V%nx(eHXaVe?IZ{+2j01zw0z@(=aPXQ+hWzw zPUivlpPj%_{3yD&LOqL4rV?$rNwye>tw68Dqzs2XPxkWyUdirul;m6N%I}=g$-0oP z8XTmjgnLK-R0$H17`S8?R$%_rB>B&ntjh@6@s)p<)z^+0We9$yqMKH9!2ijKujG88 zU;kgN+TQjg`qr+2)ZVfuw_RCmnDt4`yPfT zj3SL!yP&+LfJ?Nuu+BY%3{#vzN7nig_%@`{QeZJNzueD9@v+VK;jruTZSh@M+VK&U ztKXn2wu!AXk2UYV${(e{6Q?Eeees>PkXdfniE=trpH5Ko7I{jAcEPAtlZ#3CahQ^qGnvsk7a$LnW{Euun{NPEkBj7 z{9a}9Yl)yyuhWpCNrW^ zaIH42D=$z$l`_s%Q8WYICL0#^Ijg!?#Xd#UT@&)eWbcCAqny~l{}(AP-yd@_`Oi)j zx%i`%$z{Nm-zug6xJzmV{m(Ro(UmCi`#Qfr**5aNHPR8XJ#1A8(z}si_S80J9bh_uk(3D~D8O ztZ56ip=NhA&}@HVJzRkkUvP}l(nR+TwU4I58aaL(_+k$;c(HmPW8?iLwMF-yJ3r0o zer0ix*6~-~{HWxCLUIl1hh9*L!F}ZBtwj`s`jpF&LbUULT$DQ)YJ;qW6=$UqZ&sLT1qR4-J&CWtd! zTbU1k3ih+tD<~hW89ag4%QiTN82d}<>^&c%S#b`yXwZzV>{&B~WmyRf#Rz&vgE;eP zDso%$`+SqEn7T#W4>sxKZB~?+7?)%dCDYkNy_Tz)DRm0yXDykVOSQwZG;N9Kye0G; zM@YK6fpnqzAgVKHR~IGuE^u+dZ^{A^rIUvHcCLp_5X?mtP?NpyY68YsyT`?!Op;yJSZF znKUu*OU94kHIaC%aTYoU&~%=FHN%~vt~WSUSoi}^&;H`;I>zWFHH%fh7is5C*k&p} zE2#fih112y2g?-bsI>vccuJNM19i5@Ll?~J53SbRwIvN43t9V(Rw`yi(q~Y5!YwoN zN|ssZ4Y!nn#K2dDkL&Nz`3ckO8%-8v-E8DVGUZ4+SQ9~Q0C#WvFK$jz*YF<< zv~3cdWhIxq&KRO_r~)xE;C*i*%l1dF0@wF%LKX}i5d`lwUB4cPPtWR|qSNfsNUk4) z732Uvk+zvG8NYUg3#H)FT&DETkEOxRtpp*4>y6Jm!aNVcin(I<%Y|;tY>Qn|o7q0p znO3eE(AC#J-3C?2+*Qft8n7|5f|EZrO~vu7&2(-O(c48bhkd!Hq^%^ zJu@%VeldUflvb#uFm_uLna*+eEi!Msx9R9H@6`89^S1*cit!JR@<$&zcFA2OoNX<<934{ste2Qt76DC_MZ8ty% zzHDa+M}z)$Wi1c#cWkJz6!T4f`1biVRw6edNErfgL&J>Vn%TTY_suGBRn~BHcXQ6J zxGQP%h8Zh=z51jCTPpmJV(GzzQ5e<-uH0FM`^G_y4eJ{>ntG@(CT`0OB$A$&74nrC zSu0=EY>jlUVo}>9TW9f^J_6lE6qS znVPzRY&@`&R##JL3v9NS0aJG#!0Ma;6KH&GL_K6eO09?SnlI@5Ehev~I4!a}DG^D7 zojj}-1Gj7T^>thS303Z_pin&&VhHbf)m`Z^c4CcTKI|D5)lzx)Jy~sNLQr^O_sshe z)Z$@tK8spDl+qt7)6&pKOm1BsKVOYy*jY;-RSFN3C?)TN2#HDzcq(wD1|PZa^p9$X zz63VZtA6y9ls_c8eDMCuzrm#f;d!_|#u;&p7?YZ@|6<$g;yNF?0~u}A39}UVx^tch zn)>5VV^nw_X<;w{k~(i_0lpNa(Yiuynb2m&f7j|?8>-XG+ua!|b*ADJl|PJSZ4T~; zKO&QCc9q%@)eMQGgg}?7tooxv?-_V@Tcwgx;)2$x1w|=Y?EPPTo!E~^)SLckjqRLY zE5S9sl_#cxQppuR?WdP#w+`31FTyX?8DF!yFczB_ILY=v0(>ATh1t#M1iW$?H`Uv5 zt>D>-wHR}aTkHFBaTeucSMgMhaaTH1*AV`D>#PcQX>wM&5Gw{&OWnH8X{`np683Hd zP@^mk#En~Q>O!IzWE_2rHhb@Tlo+L&iM2r!-{vJnM{}Z>*ywwR%Y&Gs5aknl2Y?)S4W=-sC)xKGK<@&;0^PQ(sokj52TdqSMCEYy4Lj3$lj-*8VCA7)vl^>UC+&mUx64j~9Inq;YIbw@i z5*io>1~Fz}rMkyw1R#?!On+I5*|R1eellw;PsrpaJYMg>sl+4&T9%wkU>T;Vv~1i> zavF2Ov=A4G>8TelDb%8KPoe&j_w|@w^NK8vH}WHdMD=TnVQ#;(6lWxK&EZJWwO+nw zt8?6;flnALOUUO1MFGvZs7o!!&RH@#5$0U(hKv%NVOTZ<>ysJU7j0k2e>Fmy)7lQa zF}L6Ku_!v+WKNi-qN_EL-<9gYl;$$-WF^_V%n@LlM=+6(;v}gWB8pu>jgD!zTUa+j zet=C+bH+Wg!3m=MMOL+cAw?lPd74Wgtm)94G6FVdtBFf+X z+U0rDyiYgUS?1_8_gPH-*U1mR@sjD;!-TCgl(XiE{acGHGx}ikvm7!b~4U2WS?;6&`8v5_fjV z%A^CoMK}31DJ8k9s36fCAy(l1Zb|glR3Elp7s4CPZ{Q}TCT#FNp6AbhtO}ckmaDPF zg|TN>3%1UH=k<|oeMFoMq)P+J&JS$aweVP8I!pGog zR$ivd4CE7V4jNrc*vkBZ`YhS^v~B8>G!GB^FXlpN8lBK&U};PdXkj9BG)bRM1nH1a zdBcmH{Et!xUZkk~P~gbkc;=kJ{xF~dVf{jLMP$9sd*pL${84(s?LauK0}NHVHT^MtS=U~JpPKiwvKbmda!XN* zNXh>us7jsR!%JP_SxotvXdKb;P%V*ZYN1%SY@7y*+e^9aLlejBKrA6re;#WbETwRZRSu&ncku>3^V<8J zfz`CSzgvX-4xVLaZi*M{)4p9pU$~H?_=A}Q%i(qFw1`(++l0$rIil{iXQ#Qqv}dC( zDyIUbaa4$!_GpIMaqK2h$mCRSlDv`r-9ZtCiS zF#tDNeRWzi5hfeq3IT3Zx1KPe@Q0T0M#}!kMO?3{(~)(25tCc^W5c(pTIXs_6ei7= z>0Fpt0yTrb`MbhVT^>@OoYb#?z-dayL;5vYuz&v>ZlJmuP%WQBqw#5?jIIux{n{Fw zUoCp27Lv+bs->HJ@_KbQD~nz5uUxBTlemx8cSX`t$s+*j*uPZvEK613B`FCXw_n3v(UV< z3-J|!(5?RpCkVk=+zsEc zcJEI2?3;yOZ0%97BMBUlRtz~}1Vxr{2@5ueY`u{oL?cm~XbBex!*$+gnDk}Ugp4es zpl>%tq3lb=|C2<^XXvaH!g_^3h<-<~)3>X>Mx}81PfxPum5L1@Zoa-bXw{J#`n!LM z@3s%V4j4ExoOb?#}4T(vlr~fLyI5}E>0@@Sr&noD(2sk+R{q^Jit6j z#-OYGIXV4B9->_jw8h%jbvI zICtl&B+=xtzbk*Vg2;|~wr<*%{rPzvZs#n1+`ZPy=_PE?Mw$~z>^@T=t+sQSVNA*F z`%|dkJS#Z*^}SV$M9OU*1E^NvQnB>C%;mDcpe9Zgq9WL0}U2??!Dukb>ho~j1Us0viOW}d6&p(%|@e!+}^ zfe5eT5(3HVrJW&*hxsQxrehORw%A=30U59pINv>@@S4IzM$VsC!wf;FE=w4l;5Xli z`cby;xY@WrMVGZq*tsg1gFov^e)Q?n9gz=;5||A3hwMGax5=-QL@88VU3@ZYWKrdRDTj-QvPG_Qho=6;zZ5 z-HP57g$}wG&@t`lV25nSTG}Jt{XT zW;ldfrM*$Bq?ic8zs(rVezL4V>|nX@sa4-W3h|&#p&x7s^2y`1G}E+)ey9TXPnQV# zFvKjFgA*UOkuj2e5#-9?2Jc~9k1waKJkH`4IHY4bmx}Yt=FVN~ds;#T@vr7~FH~09 zpCPabb*F=LhG&{PXOlcX89+|u+!&gquJ#PK8l=B%hd*<-xnvM;_ncr{NhsUb^$Yy` ziZWtQ zndC6GMc=J!cF&KyxrF zIUZr0ob%39FfBT0U6+?`gLY*cGHm#-?z-$Kre?cmJzyh97&gIj&hx)!(NAK&jHO&s z4jkC@<)!-r1|iGu#s~4Yz%&V0A)6!uBZJ}|pOT|04YeH?MZlF}E`5f{{(Z;D`OUh8 zG+W&2ouI;^7tA!o^i<~=>JZTrQ|c9YAL?XwGDpj#xPJ%56&)_*W#E+!Uws{B2!`sU zoF1tH0$mw?F#We?GKwhZ6~KBMaf|!_$s=0V9`UNh`!81eP(ph!HFmn-$hkAp#?pRe z=6-Qr6|@th3JXkxB(?r&)&4U}p)hG_h@uxGs~vx$b~<;RVf^P{Xvk$X=$_N@k@v=N zCgwiGzXW#cf8QY$vC^z%G|JBTNi2Myt>A7V3}7BlmEhDM^Yb~QgMHpYPRAxQe*m%c zL^I_GZZI`F3%!B4Q5M?jj{GEZU>@c)F|kF5i#UL@1sNrcW}XFEzM8vupbjgYjNj0* tWAavt;`zUw>i9n!ANl_qeY*iL0dHrT-}@Fy9ESlI=|OcrXg_@Q{{RsdFvtJ^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_silo_41_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_silo_41_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..68acd5d4b78038110918dae1198fd1748c4ca6b2 GIT binary patch literal 6820 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor00.png new file mode 100644 index 0000000000000000000000000000000000000000..486fc942fba19029443a63ab41edeeabedf19087 GIT binary patch literal 31054 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 o^krs}phcNo;aTY5GF4K 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor01.png new file mode 100644 index 0000000000000000000000000000000000000000..96b1f0763b6e1c93331f0b0cf22f1c6082068928 GIT binary patch literal 2214 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor02.png new file mode 100644 index 0000000000000000000000000000000000000000..aac2e45a9c5b062d8425968dabb24b09539266b4 GIT binary patch literal 2214 zcma)8X;2f{7LLC1*$8G57&M>_bU+Zr1%s%G55^`z5Rg^T5rMD>xQvJipa>3QlQtkB zgUAk6G$IN}j7kOvMH6*UP#`QKBTF=(tj2|afckFc&#Us+>pFevRNs5P`<=eGzteo5 z?OPWvFkL_(5Ei<-G5rXHId-}mnhTz2%}uBT0(8ioxg{X6c&z7o{1VwBp6}G^#kL>5 zdJj`soqh`j=vto(JR0HIrhC0RUZIHbiP^1U_vECcqys+{e`EC#x=J7<|NpfD)z(i7 z8%B#ZOswm!p7+%xe&q)#<{4>d&KJJmBwCBw$B&l2h3o=_Mh7}L2h#@FE zZrjo7%?&qu`p41^M71tq<4_a|8?GL^bj4<0mxrAAh81n#PThn1=lS4PzYi-p+JSQ7 zV@r4ZOWzX?PsXTP^;qS!MqA=jnxERgH8UUDo0IJoinBe+U8MZuHP#>E0&pvbdPVqPcc)+{k(N``&%tABXADu+n!Sacr&}nwl8y{4s(6;y zep)glEPUn}RsdMojvT|!0T$v)8+cI$X?S{6c{3OQE6o^{ivf#=FxUotcK0X8*_{Oe zbxud_&#bv%TZ_FLMLO;{#~BL%)^tih7HN@>6ClqW(2@AVScfQO0dFuc!Dn>xN$EeY z0K+T~7N}uMh0d?n*VSWtz!gffTOzVAel%jVVbv0_B&%|%u6#Q);D@Tr5i1!B5NfK? z(S8ummkh-kRC~Xa`C?wU_+}s`Y>7AT{XEH=EU5e%T{U*hg6o#!>@=g(r)#7W2c z+y9Enx`WwFx?$he@hZ0M>PbB{X%1gQPIBjO?>Wp#3@&|c^JGUte*-+Uwtg63AC8di zipx6gI+c7b;i;)&S7Ts8za-fcr;Y9GNjXAsPb{aVQ|6qFHM^TPD<7NtKTlVOf@L{i#I(Yt9H{PNaVXe;b$yR$XfoKq8Kb{ zDS|=_i!4LsdXOsODj3CW;nKj!N7HcGm;;ItO3IR zEV%#kWik`G|GhQr4n9v|V#!mH#@}Ut?CtNTA8e#zq2F1F<)_K~JoN-$WQT-&?4svD zn^^ek(~?tO#JAQ7N1ezY=E4FCH29)ooY~OG>B@s@Q5@zAGdNxUP_KPPiAT_1T2;wZ z^=i1+3Z=KGV5;~BIM^D!-Ktto72CkU7AU<9J2wZ9-_fFmk+YD)}$X{I(n`BAY)g@0TrPsqTd67FF(oID>9x7Ew8(o*z1#qSw z(8*U@GDkctzXi#(qP@nb8Kd zp??!sA^cGQHpvM92l{|^NOL(A$j7x8RW5lKBW~`%!z~?nnztHKxSsp|^Y%;4MD}W_ z7yTwCt_jAoCZk(R@(Go2$XhJMXq@H0URMOxKt#;`+{RXOnHkWF1~?<#ZgaAP0fP>e+O;=C2GQ*DV( z%Z^`Bs-l7f(%+P@t828uQ28%-u8=Dp(|lg24^WhW-Nf?}tgF{*IRRZjjgl!DYLXd5hi0d=yRG3$2$Vhh#qAmF~vZIF1B z1-)*1r%|7@-wP%ji5q9%hS=p8yzdMc52zvjBYDYh{Jl*PgLC^0J_1H2E4=YzmRM^x zC!danH$jP4ur^KVoF?K3YyMkq6 zg(+F?@R4DsD;v{an8zoT6>R36qdM?BX*U$x$a2p%y4@m?eMDIxqptJNb%-t1OWL&t zEERDPNFvg-;ie)Rls-5kRWyon&j3+^PH83kF;W;4PqRE@>SE~`l4gmK%mu2Fv`Sdy zOJ(+DD7(pMjsVWh0u5o=4Q4;_&$`9QR9`M)!4EJAQAQu z%u>q|F=5{{V4A(h8FYxazo}@$!8|Avi5W9Q#J6-iQtX&citE-j9W;rRc$R0PGXIq@ WeOS+uSq=U_2=1)y%xh@qZ~p~N0{5Q) literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_singlecolor02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c4291aeede556adf92f3dc4d79ccc322d6476a0e GIT binary patch literal 1032 zcmV+j1o!)iP)o4{$H4gSf$W!7KO5%Ys-O*3tv7f-)&^{iNuyG;dyI)0rE@ zQgfC)vtRWD{-n8nMksA|G1eQ!>iS{jCHQ7}Q51FkJXmd-JuyFrx8K=&!v@Wsdp-fz z_reZGj`c=(8g%eGY zf`K~MukDnc-uBWQozPZ3cQIFk4wp+)b}>SiL`OY<5o)m+{K# zU8=B%(eacO-7Bn9)ax>|Us*(bV70E2_p|<6^=k0b8PnPEGSuhQF)V03Lt520Ea*O? z)Pp5=vsdFKJJ9^wR-Sba=i z$Vgqkt&O_U&Z{hR9wVIUtsoWF*ne>$8Z3`AdOk-~Q(QGKRCASkCfhG(z^aK6jgWH6 z3ipMu(0@iS2#q8CyN3q{4%lxJ-fzQq$@6=c+wi_v#2 z`w1@eYXcc|tHZgZ!LpH2R~?3X8Y}=;TgA2K#e_8)iV;p*UWav1l`#`D>bcFVEUo{I z$A>jYzP@mlCSde%solL?`>C3A`JfQCdd8e9AOft(VsRac(?s|V#)x*BS(W0z3TIRs zq(E#>8Ox}LqQSD4QTJjtKF#z|ePUjnFQb}So__&@?$=LSkg_uX0000 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_sph_2d.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_sph_2d.png new file mode 100644 index 0000000000000000000000000000000000000000..6b6732c00d698dd969a6093fadf47fe40173e8c0 GIT binary patch literal 1461 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_ss|PZ!6KiaBrZZtRLlm1%!y ztk}pQC?c{&VA7>Shm00Hnp(kmZ;4n_Q|r>ERwou#W;Py`f;CFre2@M9oS6OpN#!bG zi=+7u_xwytn|}B3zW34>b_Vh{gwN$rRCDU+6i8BPnL#o0#@VU^pDkowu@+p4tbcvR zlfzKZ$)`m?Sn-Gp8BFP))$Z-<+7{1&ny_)^`*mp${_M(SXJUBWEjbm$oe)lTmFo}oiiNwSF<0mQfj#YWUU9X+H3E>=1sTG@t+s_ z?|1KmGylVO==?5w{mY!cHf8@x_5+#U*Vn(kz_EWFkU3rc;qblzHjx#_TlcY zEEcKv>WTX9+vQ&|7Tnrv{BEw~L;tS~5$S0y_W8HXO0EAKKEwWV zdlkbPW8*{Z5Q+WQz`nBsnr&sQToVKKa^%%@&5p**1xFv0va9Q0;`cVYXIRRwoApx!oKS!os-OOPzy86??)!|~GT&;~o7=QI z+cNlpB2WEcIVd?a7w5@IKHLssep3FkN{(T9ZP~fAz_?!ojr$FIto{oUORF@zdiich2`JsY#FBQY~YyR_g5?7_OX5HHji1&_f-70l#f2s^Woss z`X3ujs5Kiw))XDv3rq$d?r%RJVyygUDcHjwzM~|WeZD7HfxcS| z5j+m`qOU?nZm6EEhujERx#{(1WNmL<$7$K;v3Wx93ClJ86MD9Ff=(*v&Hk(t?7ym+2%qr z_oFAyoA>|1!&Ot?%>N_$Q={}=^_qI^pZBE;W*g}^wyB=jz#=(K;jmCjL=%s9!0M0j zRsPcgrwN*;?e!9BbDpz1CbQ3U?xy|cOQaGvU)y}K<8kt_$ET+*P=5WSMTh(TD$}(Z zD{4h}cBL)Nyl`zz<@N99^gaL$nvlo|Hhsm<#fR7LFI(_wUc{OWoCk^~III%k_BaqK zcBpR+U&)jt(F-frx5`G^zIc7~m8;Dr86A7`m3urz4Ej2z9%8-`(iM8>?=Mf`hO15L z2F&cg?%7toxLV1yVOPNm&FOyc^!L|DdoPH-xt?K7O5Mi~rgIuEcZ9}WXcph_F@2?F z*r}U(>zDb=aniJ@I}&y(QDzO}zmCXrPKu%x8OG8f`p3?0jIyjg&bjkg@PwsdhwQfK zUuRku`TPT4-HY0i8!g8-Zs7XC5WLs_gR+KJHe-ZpOE7!OF4XV7oer@Y zH$MGKD}2u*?%A5T&e89y50~9xytD7s^fiB9Ts{@2ANC~ksqBvB-)EWjSgf6MNN&!n zqf#zMUL7jl`~IEnmIcv~*?n6*DnGB7@p|s0I}0pU6qz2kQms6Bu4Uil3c0F3Vvo~R z3OCp^_bkrWnG(09#_PE8j$I-JXHVTe`Fr`3h0RZj9d!g!~+g8Tkdxro!5Pw#eI zJ|(Ysx!bhIdhH+2uUkH49$}2(j}JY6aJ$mEDOEEL$LL?P(F@~yUbXR&zjpP~`4wSr z!zIEP<6g?xXn*s5n)`nldTMLhz_r#t;=roC+5ZAw$=tp@YyYYelT|h01`nkEAMUsQ qare~Ojqei58pXjW6Hj>AGZt*yIeY7K8#Z9hVeoYIb6Mw<&;$VQmz0+P literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_subset_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_subset_02.png new file mode 100644 index 0000000000000000000000000000000000000000..cf277c5e47b427cdabbbc4815140e2412601c9a8 GIT binary patch literal 2412 zcmeH}>pK$+AIDcNSrSb-G)?93sM|t9nNuV=G&DrclVpw)HsyR9a!zD7$x_H+PTgcI zhvtcp!{)Tuusg+#&2k#c?9r?H#q$q5FP;~_>vvtB@AbWY*Y$h#Nwc@Taa0^E4gdg- zT3MPS0DuF~Ujsb2Pqt2k~;R9AJo*pQlwGpb|$j zLAUCkJ^kz(+Mtp%s&n+}5Me_kVJ7Vu#T^*Okq_Pkco^4zC#(#bZ?}h}cJKOPVNM#4p%GG$e}wRpJv}N=@+qj@hgD;wT%gI%=yWNQ^nlN7qk#OsZYah4 zO`!J1cs92?>AFsn6M6-HlsF$-jgS*XwaxMAEn-ruLKg3t7Zd0*z7g6Ax z`Qi9N<(bv})J?xVT97`YSKk?Xm!LAGubSo!nE zD{HFgQMlK;0eWxfnAE|z>8U8^M2Ftc?;ZDL2q~yjJz@S^P9fpa;Djtxw8}f#QuVGB zxCtRI0QwQb$@W`c<|?AN=PwudDCdpreRuqGc?C49c%MO0KT_>S`xL*oD+5tn@&El%l?g`TYu)tzRjp}YAd=ei)<7{JO&#O z{UDK`PZr}IN)s0k540ZPdrB#w8p(?Y4=h~$@rZaoHsJ4u4WP^?kW++91Ws3$zGdP1 zQG;)@1Cf1nw~ zb7rCsa%eE9Dy2s}C{#JvTh8OR>TV^aAmY_(d)w3)EI8=5CvA)`EC>kW>D{h?N+mDSf+3!Y$OTbEb2Kah zdxBDzH6kBV8K%sRk$b_^lF-bwPi$f>N!F+D?|GVJeHz+vE;KT@3`1>RhP@Ah)Gj0> zUFbm;*XdVlZm-QgJie(rrNinBT`keLBRy1t8wmW+>vidpbo|)c+^Oq$MXxErEDz(w zb$GwW!@}+ zboT4Cx?Q6x#hbFrtVjavx`k3X-w=QwQb;MijK(sMeF~^yvOm{Ot^~xwhTaNqNzr~! z7F(aOQXA_ADL%}r9M5lxRbQMs36bSKr0l_<;mT~Z+=co2`=>Lw#9?a}cWwx)JQ8=JvVH#NfbEGc!lkU*z1RF8inq)Yo zP*UG1Q3So^gyY3vuP@i2^c7IkhEz)!q2W-x~w8Ql{MG-(S%-h zAugG51{J8{cbQgzp>hH4Q#;pc=Zny_rIPw}uhhGm2SKvhhw$Kbw{DH(nWQh5Bx+vZ zq~OGgs;s6&kEWM08wtT6*(-7A)VZJ*!S4J^+M})@^1w^xvCWD}K^L9B^9m0uQ~A>=P=2p76qT zL$HBhH{}qz?Q=+i!uu!@>|HUc1HPS29+wLRSNtf#6EhBabrQ&HIognj4{FkG7r3kq z$s+=tx%M{q8~7nN_%sQ)>(Ajv>90jc=^dUnE;NaZ(uKqudoz-H7yPBN|E+i=rZIP` zJzE3f0yi)WJSukEL48qE$$fiiK${QcvN9y6x6RVS)6n;ZEmvB*QrQr2LOoF_!sV#j zjaT?3q)qCfIj>=jBXG*(45qTHoVTB^Mhex_dDa4Rp9^iVYEv3QTeCO3=KD2Olc-=L ziQ1RLwR(udy-K`zpR4MBhMJnV%)?joZ}k67~j>*dQUP?VJX^&O~M|*C|ZoG z`@TVG$^7tDqTB9QA!bnCFaxyeJcB6(&24z1)sH{`^!)W7Z25Y%XgeH z1OEIEe^s{~`ZvHgw^EFX{@;wNMkxzC{77 MuG^Z|nR);IA4m39A^-pY literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_subset_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_subset_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0d65bceb8b58231393210cb24d91bf7d5ec05ffb GIT binary patch literal 2090 zcmd5;`8yMi1KvT-jdEm|Fi{AhK21Jm`#Q^!t#3_)n%QJ6NkVc>W*?R$_fd{asJWhU zEzGqwB$7M#6-qIo@bUdGzR&X>&+|U-5ATmJg(ew-#XA4)aOL4MF_$h{vXmqB6`WjLHOIX;i-0ewVH)QQy{_`IR?Xv=JV9@^={OZjH?sGEY%<}h_j5$fYs&!6c59cCc1On7d}aOSj7eQBHtGW5{*fpQ;M!_n&2gO z`^UPfNZ!U|?0{~DG>a8@Z+?&Rd{XKi?}>2Q(+gc^>`NGr5hXuFD!rph_LyFAlb{o= z1#-~7;VXZD_;P6z^A2~tS5o?v%Hw+3F{TOJJLFi#A=`)PNsNa`e5(G?sn6YKREX8d z-72y5F3LXFAl+V1zk-u;8P-U=qExEAc7fHiwT6s232pt*BV>gH8FPuXiO3;khie$^ z)UM{r{mFtdaEJMt{gYUP@>2y7LkF7MOj#5V1S9|jvf@TY>OEhW_cMJBzo?@L2bnxc zOL3p)_N%Sms7}s&Z|PS3qEuD=7mOm94<-hrwAB+s4AB7Lyi8;rJhVUO(yRx|9ZxD~ zOttBSzQ$K8EPxWpk3rtVd@@vVvboQCKvEAwlHgs58u6zcj4pIAO{G~&8~JCAVBXzG zNipfaMaB}Mo3SA{y=X{T^T2g)w{5) zrC9GGQ=yde*Hvc3^Jn2+hI=-`V$CH0ch&O!bAy*`*6Z#XHa?-wj8E(pGZ&Y$n6PZj z$Sr$2L6gWRct0IbQSY}pI(F3;iRX#Pou%m5EmnU_7LJFQyOdSZMQhyK8>d^Y;k;cd zHcZNuw{2LCL|4>LSFw!<1e^N3k@ntG6MB|~2_?YMuFdF!n7WmCDMb6(k-=4((@oWsyLKhX5_=1yUs zHT}Hz&4tg!qehVPN+tgCh)hOhfRUvaE-!Q9q?MP% zKmG95I5dPn zZ5RfXgXh^|&cbsIZCsw+#~Izha-L)9@ZseLJwSoKZF!x0q@b-&XKR4?{Y7nEg!Z91 z8Bdi25Tz2PInzw&@K{39XkowLi|hSi29Fg)NRYk~*|VKoUHvBTjU(*}msCzNzc=bA z7QB@3SIhQYzcg}7`e{(IR+=ldC?wUj!sLWvwo^1ZmcAxtv8)m<<*8Dl z2zJ5KHHwiq>?+6uJ$^QOFR!%p`UBl$jYE?QRS_$04>;>z=EGOAI?>VLe+UV%QBwz2 z$j_MC+ELH6%177WYOuxCO3&Z}cl$T4Xh^x0Lt6Zuy-U1#l&Y1Mdx`fE2@4V5XWm>k ztWhF0bWS}F%C#U;5;lS?c-z2mslVHQcUDQbC5vuewk|5K z^R5+(+6j%PDI?9jNp!jlKY~P5KY;xv7SIC6M<*H2ZmVw!9X?x8laWrN@%Q31F5AzE ziBl?0bp@uhp_ylL%3jR|^`446X3DR(E#zV-9~P*Dhw5AKCaxr_$+#rQlv$*m@A5O2 zYka8u@so#xz!>JY)0Z^gf`k7%Deq<@@v$$t{! zc8Nk+<F4lyw zlKt@r>RjirQTWg?huZvqOqYYEZZk#F*9&bGG5wMjhhVB&^4!9a?U7+SEz|Di!g;fx zynzL?F@T~JhtvKGA$-Z6|KnaT^t2o3!M)mNW+)h|ZwT|fG~d;g=^B4v;)FIz4U4fA zyEUHKU)xp0AAWUwPDB~CJ)MwgLqO>06b0sXWo}ThMJED<6+?E5V{Csphh$>Xo0elX kr{mko#^r^BY``9vj||X=z4I$!{{sN*t(~l1W4xmO1>s}RTmS$7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_subset_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_subset_03.png new file mode 100644 index 0000000000000000000000000000000000000000..967e3fa629b5803ce13ad57d67c04c20b8d3425a GIT binary patch literal 1918 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 GEaP7&F%YK! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_04.png new file mode 100644 index 0000000000000000000000000000000000000000..c20b136386ebd7b063875f9dbfdb7116bef2119d GIT binary patch literal 1790 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e5e1ae4618c0d32532c5a54b0e38d324161b7b5f GIT binary patch literal 9308 zcmV-iB%|AjP)Pbv$HeHy>ORz?yf|UqGXwp?MQM20|8>edGU*#2R{qQ zdmjB17#4y60sLSav6KXn9UvAdS(H}f^0wqIcV_3_)0gS{y}PQ;IeFNj6~svp&d@6= z;s0S!Q$1DF=ZEk6&iTIYR0(S>pXvWj@|XPuewFkYtdF73V0{cZC%)2J+iEtA4Zwf^ z1H@zTSUmHIeY;PYP7bTttUrJKm1g5<)LCo^@g&C2=WAE4EP8JLt6yD9B<%I;>ybz_ zo1OlD!-U0&XTy5^==|E}TCLx}y^P+%{W7M94lp;cAHpoWpUp2voWH$({lXVM@2s3n z-~8NT`TXp!F1V9h76|27Vl})1VHIx+J4V-$Ey6P5EV|X~E)(Rw_g6Q+_aA-$*YdM} zcJt=k7d{`n^2&{i7ndRWiH+lt=v0<<;qn*j`dcKPVEiGe-$Hi?TXp$UAf(+EwL73X^z=$ zfUj3%+js6p-t8h4rfJiC9*(%0D-F?$|WBfdhlgt~_< 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 KMNUMnLSTa1$l+B0 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_12.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_12.png new file mode 100644 index 0000000000000000000000000000000000000000..d367a1cf2edf65d77e11068c46188e9fd7e00431 GIT binary patch literal 26853 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

    RqyCXG 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 RaPR;C002ovPDHLkV1ntWVgvvH literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volume_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volume_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4a131750218435757f8ba20f65a5295b3672bb GIT binary patch literal 16496 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 z zS>i2S&&7sGL7uQINi36s<(9VNct+VUPPsY58den=d3;G!j;8DyuFvUvPS$u&)iTLQ zJ+tw!s@t3{l$)nfb_dosRCubT}_OoUCLMA%u7Vl|0x}GAt z+Mj3W8Zys~1-pjh1)Cl734O$RxD;<2Gj~q-m-LR@@B5jWdMM0X9=Ul(RdX2G^ zC0z%G^9x2}MiUgej@1^MV%-437)w4gZ7*H#zwXQ5^R-|7@9|GP|C>FfMLz$kum8`h zYWY(?@;A>{I6Djkl?}!am2E|l;vM6RwgcE!WC`1fTW+g6 zMashqfLn*0uescEIK?~OIN|z&!zr&n;b6*JZjgB%UlJqt_FdtWP0hSuRnhg7j`^6U zW?Yo)A`i~E_XN2TG{neeOOZ2~4AQEmrD+FlIY}^OAw1sh>>I@CY5F> zU-^aq-Z%fT|0qqzBO&DqoxDbcc4s+M|x|A!1H-98;F7=v{j9TEa<;N%47n9fKN zb`{Gd+ZvbBH5f}iK~-E~wk2QuIseB0>%0Ez$z=S$v&=txdHyReec-#l7f&H(Z|+ zl!xaW&&U!^E*WJU&FDHVcO1`Hj39EpAu4Upd^FI4c|zhTGU}dX#WoCp=U%S1-)9HJ zh$`_EXk5zb*@pyIOo|L zEH~Ug!&&lVaHv~{EH{)5$1|FiUBhC+;e;obMCGYN4o56Y9$u0p%yQ;AWrteMx7foo2nHKDtVG+~gCBSUN`5ILg6Sg&7&+S9JKvRn}YZG}eiDImqdthe#b;xqrkpZS4z zzT=($JcIlicUb)FKl+>B^=IGn=#7UiNazMSbHCXv^Bm8~65e<+OgS1e005gEsUOr& ziKFSbw&0oT+&|;NImc7lo|6>^6Y_+I=NwMCzTnA{<(3-tFf2 z-}QN)!WzHk?I`*W-~S_j`aA!_S6=#L?xk=fP&G8|uu5W22V8D3hE2sdqv<%9@aTdf zrEW<)ec;A|#1FdQd#6O@cs?BAquIc-k21y?o0`-y9}lY+4kqL&ZRC7M8EG4u7LCIT z*jq$(K#=1eGR?7$EFq!JqpRfAP!y)!+Xq zP4VlycjwjDKK!S?{cGO;{$Ey=%#s>Lp1J|JwV0! z%{ZEI?~JY^O;}ZU%cQ^=6vi3IFbkg~oNsZCX~MeZY>i3C3$|O@mcAd3oA=~7W?u~m zVuq>l#A7UezuvE8wWh47TKW#-hmvZvz<9~#W?g9!Z+^?y|LK4IEB=7B_EX#8*Lz9P zYp;Fmd;a`4|MdI*ZndND$Q=o!j++O=VC-c@kx}l3NJig?j zSZ>W>|AHEauOcB;$0=tpkjq4a}!(8$_8FTy8lj zDKfg6Czq^u+`5f-Lu|e{$NNE;o_M?`26j8PTe|*NL%Wf|#nPN4#aPN6O<-MOE%g>L zxD@L#`+Ky~c>U(>-}ml+>)-zJZ@hc=?yu7Vzp;zeR;%Uz@Pps^!$0!h-G6Y>)aU0r(j7kVk8E9O5c$bmL#f-KKHY~ z;5}dUAN{s>zU$Zj-hac!0;+2B!$11p|Kv~ojgNffgY~Yg>sVDX8Zn+Q8nL=0D!Y>0 zkrlKRZBL9G%;=jz;i?(eZXz`&7o05zYHy#;wp*rC6f_b7b;Z#&tVM*2bNZh7f}&tN z!dkW^O^ewtV@OCdE|xqwAw*n?aX60{G~zP>k&Nt^g?sZK{Wrh$_kF>a6~({cEBpS} z=fT6*e*7nY@F#!jhhBN*ldH?Ju5fN>UqfKC0YT%?QFaaPidO1+rc-8f@`Ac%dCvYd zE1aI-9oB;)hF!^cLQx<>+j4%+WI7x->sTy6sA{r;#3M4q^0Nz^$0Znxv8a-cj9A(z zhc}PE=y!a@SN*A&^x;r()3Z`Zp2m;n%P6{C@yJ WLK1E9L!2rA0000~uPB+L^k0rQ?^$ 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

    RqyCXG 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 RaPR;C002ovPDHLkV1ntWVgvvH literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volume_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volume_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4a131750218435757f8ba20f65a5295b3672bb GIT binary patch literal 16496 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 z zS>i2S&&7sGL7uQINi36s<(9VNct+VUPPsY58den=d3;G!j;8DyuFvUvPS$u&)iTLQ zJ+tw!s@t3{l$)nfb_dosRCubT}_OoUCLMA%u7Vl|0x}GAt z+Mj3W8Zys~1-pjh1)Cl734O$RxD;<2Gj~q-m-LR@@B5jWdMM0X9=Ul(RdX2G^ zC0z%G^9x2}MiUgej@1^MV%-437)w4gZ7*H#zwXQ5^R-|7@9|GP|C>FfMLz$kum8`h zYWY(?@;A>{I6Djkl?}!am2E|l;vM6RwgcE!WC`1fTW+g6 zMashqfLn*0uescEIK?~OIN|z&!zr&n;b6*JZjgB%UlJqt_FdtWP0hSuRnhg7j`^6U zW?Yo)A`i~E_XN2TG{neeOOZ2~4AQEmrD+FlIY}^OAw1sh>>I@CY5F> zU-^aq-Z%fT|0qqzBO&DqoxDbcc4s+M|x|A!1H-98;F7=v{j9TEa<;N%47n9fKN zb`{Gd+ZvbBH5f}iK~-E~wk2QuIseB0>%0Ez$z=S$v&=txdHyReec-#l7f&H(Z|+ zl!xaW&&U!^E*WJU&FDHVcO1`Hj39EpAu4Upd^FI4c|zhTGU}dX#WoCp=U%S1-)9HJ zh$`_EXk5zb*@pyIOo|L zEH~Ug!&&lVaHv~{EH{)5$1|FiUBhC+;e;obMCGYN4o56Y9$u0p%yQ;AWrteMx7foo2nHKDtVG+~gCBSUN`5ILg6Sg&7&+S9JKvRn}YZG}eiDImqdthe#b;xqrkpZS4z zzT=($JcIlicUb)FKl+>B^=IGn=#7UiNazMSbHCXv^Bm8~65e<+OgS1e005gEsUOr& ziKFSbw&0oT+&|;NImc7lo|6>^6Y_+I=NwMCzTnA{<(3-tFf2 z-}QN)!WzHk?I`*W-~S_j`aA!_S6=#L?xk=fP&G8|uu5W22V8D3hE2sdqv<%9@aTdf zrEW<)ec;A|#1FdQd#6O@cs?BAquIc-k21y?o0`-y9}lY+4kqL&ZRC7M8EG4u7LCIT z*jq$(K#=1eGR?7$EFq!JqpRfAP!y)!+Xq zP4VlycjwjDKK!S?{cGO;{$Ey=%#s>Lp1J|JwV0! z%{ZEI?~JY^O;}ZU%cQ^=6vi3IFbkg~oNsZCX~MeZY>i3C3$|O@mcAd3oA=~7W?u~m zVuq>l#A7UezuvE8wWh47TKW#-hmvZvz<9~#W?g9!Z+^?y|LK4IEB=7B_EX#8*Lz9P zYp;Fmd;a`4|MdI*ZndND$Q=o!j++O=VC-c@kx}l3NJig?j zSZ>W>|AHEauOcB;$0=tpkjq4a}!(8$_8FTy8lj zDKfg6Czq^u+`5f-Lu|e{$NNE;o_M?`26j8PTe|*NL%Wf|#nPN4#aPN6O<-MOE%g>L zxD@L#`+Ky~c>U(>-}ml+>)-zJZ@hc=?yu7Vzp;zeR;%Uz@Pps^!$0!h-G6Y>)aU0r(j7kVk8E9O5c$bmL#f-KKHY~ z;5}dUAN{s>zU$Zj-hac!0;+2B!$11p|Kv~ojgNffgY~Yg>sVDX8Zn+Q8nL=0D!Y>0 zkrlKRZBL9G%;=jz;i?(eZXz`&7o05zYHy#;wp*rC6f_b7b;Z#&tVM*2bNZh7f}&tN z!dkW^O^ewtV@OCdE|xqwAw*n?aX60{G~zP>k&Nt^g?sZK{Wrh$_kF>a6~({cEBpS} z=fT6*e*7nY@F#!jhhBN*ldH?Ju5fN>UqfKC0YT%?QFaaPidO1+rc-8f@`Ac%dCvYd zE1aI-9oB;)hF!^cLQx<>+j4%+WI7x->sTy6sA{r;#3M4q^0Nz^$0Znxv8a-cj9A(z zhc}PE=y!a@SN*A&^x;r()3Z`Zp2m;n%P6{C@yJ WLK1E9L!2rA0000mdK II;Vst06woPc>n+a literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vtk_34a_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vtk_34a_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..810eebf322279bccfbbd9c0fc27cc1f185670b6a GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0vp^DIm(LIEGZrd3)C}OE^)Y{p0^7 zQl1LAi()I7&F^}D6o{?>ugc>^3M)mwR4R*n z{5kRJh3WdARg7EvCz#~kcB@}jeBJ*+e3H(Ah=z>}$&AOCdRQg64a5?tEAZ~B`}EUu z=A`UgQat&|jx7&X%lLn4I)8TZ=O-O~ylj@XXA?G*uF#$Bce`%C?~BL0@;mE#jP=ge z`rQ*}`~A1fYH#5&>zFp*$#Lrqwui@Vn4OooZspzFs=X#>dzJ5P#^>w;_Kl~!%`)r$ zyYJudeY@Z0eZjYu#XiY8%)Vdc^QEroJ9T=`O>#~Apf%U*aL!(*uMy%m>t|gTkGyy= zR88Mo`n0=c^=$Q$ta)cEuetB^XWuRP_IdKB5636Q-iy2&d93?XhPkBpF}de=Ki4b> z-uxu^)0z!&*G~4n|8e_e(z-l>$L5c>`f`ca?o+#;_4=-r{eNjDJmH(LJmPg}?z$h& z0$X)w{i@pTw|?Kx>n4^qXW~-*UpwX=ZI)5#e-Wa7)IU7UFVdQ I&MBb@0CTq&YybcN literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vtk_36.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vtk_36.png new file mode 100644 index 0000000000000000000000000000000000000000..6e6fe12301e8d33a75230b449bc64b5747e99bd0 GIT binary patch literal 10188 zcmc(lc{G&&$>ho`g)p-$GMMFP*5;xYhAuh zK|v{T^aF)}uWa+36ri9GiPyfYV&s$lJ>y!DwR%nSP~8s}Hr7_8A~c`5H{#y8t9bgL z2b)dj$5Xbo-Zq(Cl#4%@*2?&r$M`jff^^(Y?2QT!#Go}>hK;rNDSx_rzWcVtN=c!y zlj61SRwH`@GSIniK~AOSi@V>g-WGNTUDLaE?atl1`B?`qyeZVwIIXA%IXT_j%rHjJ z&kwM7^DAk>)YLLA@WZ(miYZCG`u2=aAVSXR66*Yb+5f}0Ze3ZS;Lk`elMIkt4|ANH zHl2~<2^(XnYpY&;WLbxph{ps7Nq>#G?126YQxS_*Q4&HdHM1(i)4U+>1DEb9U*M(S;P5XQ8m~*$7xJjiKm{2 z>p#)ww*0_uQNHt z&TdTGHz}BI!w6a;qq_-HFysZ(ZQF6Xv5psmTXR9ToVig0QI2H&oy2gpuTvT@&prwG zg2*{s{>~5~C(}zD@Y_n7TfKSdZrclUI$d-T+}tvEukYrv7$Dp1p|glFQmeLf+l)4o z3fLl;HLK9O`%v;%*_Y`v?cp`b!vh11ajycCUtO9y>5|x7^ck7(;QOtW>*GsLDa?15 zWFWe@T5ssPI^Dvlz>httMEU+0zX5qtta_93N?iBY4?=6i_l$6z%DD`N4$e>V7aO^N zw-L-8=0-fu75;WC&fSV$VzOJxR5Vt>4~LL3NV^ZW7SFoD%J1a(o+&q;x`P^%4!hDQ z^$6S17;lg~I5%l(#}Yt@u!y>^tq%#!lS0a$P!&#LWCcQ4_s%Cyu962T-_JT2c#d*s z6ztd}+KJN+K6L_?nPw zOn`qd_ADec8ZOq2#NCj|k5vmlAqf1$XuzUAaia&~?a2BCUkwQ)DSpdje6|>1e9Z`5 zWmegac@`rEaOfA=7ko7PUOZD_+~r&Cc#R4e1+eUp(1b|t()P%5h0ya&6V3h!At`~a zh3Oq0EhhEOe0cGci%)Fo-D};Trl*mj7N$cR+Mlft<|B(ctgbnk4L8JJ9FdXBw5mL{ zqj%@d#)@CuN(U(sVVQx?HuDTlsn^_?H*}r~n)S3DU$6ODWKg+LZ|`RRwS~je&X{7h zN*-5h29;;wIzPx|U71?kEQz`H1TbB_C!$P|+6^nQ*VDGGxp<}efvLB@TWyz%(?pr8 zg;U(J@_8TAuTG3pF>@B@35)Xe;co+&S3d2137WWVGurWXqNe%X>oS&L({G9?d{vWk zr(#WOIjo)BBz@G$r%J--)RnS{wVSldxvqU5dG+q!JE8gk?W}3b+)28PiXgV_Ac0b$ z-ygsoB@|3rE#}BTZ_2w@G9T|7{rvkZizD1n?h1I4(?Y36S2sNtwW!ogGGMQFgMQ_y zVaWOMvwb5acbkn(3Z}Qe)FPLvOe3}PNuDsEyY94LOJm3HA zmKzKWxueXiqr|z$%9Y?5v50teTYsq1B=N+Mpv}DPP`tgY-4GS_jOUZN)nn+FbO}}} zq8rhh{K&hrOt$sX)n|~4s29hQ_pc~JIzMy^(B_5oQ`g(S@0XP6@xBLS*A6w-(3sR&UjdrfASaZ zG|TRj@kauElTB{k^MPoA^FW6uPdm?*-ypzOaW?4%otFg^1Ct_+o8h9p0S2;@*`W@FbhV~fSGLrJg>zc-5K$H7TIM@3p13ip2CVS zi_Mq0*K!4`*uivptKIXnZ_br@yv$G&vZV!b8(z0#+SIS2#;C#uFW*3ca^

    g6Tj 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_00.png new file mode 100644 index 0000000000000000000000000000000000000000..edf2a6a85b1da8eecf1d7516d5dc7fb60bc6f973 GIT binary patch literal 1298 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qX!o-U3d6?5L+RNTBRSft_M z=3W)4!0SDWx+bm4bo!L}hQ0UQ&T^TN4zp{sIIJ^1zx4q{}kD6-l@!#?M zjb*m2T)+5&&ryGwAG~wnFcft1X%P@sJTl5e4TtKz{}}(Dj5_@0>C=zz+otKt$Jh0| zHm>JXRCDU+6i8BPnZW^Ku3h_o=|BH9FI^b_%ST7%RXf zKeT;0|DR-D+`hB@-}&h2$7=>L^)Ua*q6Puff8{%b>r8mA_ro03j_Ig!i@+LFp6k6&&+2zRJBQp@;9%0oDXOI@E)l0;2)!$>xWE`+!`b~)hp zhzsxTofKgaAt9i$ot3#8rjlJX9-)3-DW$!9RdX~Pmt)XGtJ?ptt+8enpjwlPp@@oU zc;{*I|KN{f0FzJLM6-1Y+b*4R`buRup^FLm%{gr5fvF&tJo(_Kg*uwDTa?k%_=Yc? z8@e{cuRM;I%~Zud&fJbmzP6+3rUUq2;kTTO1h=+nikqTRq<~8*1>c_Epf6R(T0bBu zP9_$RNQjR$ko{WMOe^}%k_(^19_>dknz<>&Jbb66o)~ zwp1rSk+NZ$G#oG=HRvZDxj;CMAkNjn#-x^BATRCh9+Y``HW)m7gp8EiPal4}uzTkj zz(qG_jwHOfuYYki`yukN2{R5GZeL4B#zV)}6#4`W!fCyrctG>vhm%*P^CVegrj0E{7OuzqWoq%yIQ$m+GaAL(%y*t(gedXX%J3G`@LHz;ab><2 z76C8iZUKkXxC%Dpa+tjcRHYsO7dVWMy&GPzbr|F;$$G`g_<$fo8cO-Qj*z8c;yXuu zT9vEgAXi%vZM@w8y@xj-=cfIlMMC^dWt9f9fHV;4>#uBc{|7?m}kJq}K&l)wjH^|a50pb}0k zl2;DI=oA>wFw{1I4S90J?|V(B$)~qu+gus$4`3?|Fo7emjR?;ofid}m(DX9Tkpk^- z|L?wR#;pbYP5`|BWoP2exW6NFV)|B7nO4ei5$CVC8_IJezCk$ITf`n`t&?|yiuCsV zdI}Q&_EZtQK05+8Q+YJL%=K+M0pY#Ggy%a+_jR%N+RmkutrGzqw0oP`DjlEhZC6en z{?goF--4=5JC`oveK)`yl_WKOr{zPDT6gpOz^3wzEoM1(lV^Fy0O}J7Uo^;i~#t`SUR`*jy?a!N(@M`zM}q?3D0jCXU!HXx8!wk4Tsc+_BPFaRt zJV)$09Qs|4-FSKJQuAxe47-l5Ky)C}-whFJSG#c*aX*)%*fkgn(!3KH#>>)&I6u#mOsemz&xR%_t-J^)6;f{WcuoXPsC@36uI-HL=nwP`98q^i zT#P!Dk#Kf)0Lo|YGnp=Djqt^q!kcsujZ4Wooe|N&*q4{0*)z>@qI_u2kp!qSh`s0b z1?uniq1V4LMN~IIyqmx#sqhawnZMe7 z&*v3yu60NAQ=D1Rkyp&HE%Z(nWoSc~g8px8Dk`M|crJV*cK2Zj*;zYTJ+kmk{TGFm B05$*s literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_01.png new file mode 100644 index 0000000000000000000000000000000000000000..f54fac1a56ffaa262b4a018858f609aaa5bce16c GIT binary patch literal 1343 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_o9(PZ!6KiaBp@E?gbQDs%kd z{fXrTx^1fe84vDRbTG?U(nX*-)Ik44)6Fd@0wT?^XSkaZw$I>UGyK7RB0*o~@LlV& z_tsBhEI-`*QW+s(&v)m$+_#5u-(s(o$}adE^q29$f4>$1VZ|dZ9EO5UKBG*OaMP*Wy|6=C+`}Esr{o3pO_IjVcS#4h@$8Q|3`}re?^@|;Y1W$HEi^gd&L`FOee@6Y_YeDmYo$o+fk z<~-IZPv2W!_9y9DzaPJS)vJFA*UZn${VTl|zFz*h#p#$e;rlvIU;p{*=0}6ihmGFP ziMurU@%7U+pVqY7$3FXa^KWzNK6~r9Gj}4NP5=7qU#wD_aUdAGcJt3jRR+B z_=u=+B^aY5tTTQbzc<(Xgu=7b_8%=+fMOX4B}ptgpyDA8bOt@!4=UxxY?pteS2 zDIbvy_QI{5hk)7`%uo~Yo0bjs)(hue0BU1FmNE`J@DJoFpf;u(sOf#P@S%S||2P4) z2_Q?2c+Utry=lF}`EdUcf2WR4fh47t861jgbY*@s55CfH$vyB(1F&FZ@O1TaS?83{ F1OQXX^0oi~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a5ddb61615dd84c40550c76535c2f692094b940f GIT binary patch literal 2043 zcmc(g`#%$m0>;f)vo%bVOD>b9d7jVn{P6txEe<3ehe3=XYHDgQ zKi^|PKQit=0;~VJU^A@GHW<0LLdgqX(SeOicVRa>60N-?K_4i8JEoJNO1uSyYx*zr|b( z^x@uJ8a%hho=8Wi2JcFAY@8voFi(H|_L8Cc*N@|`639reGNk0l_qUQmw}AB)b}dje zp7ZTnze6)(W<={~�gJMiJ>YrhjGXmo{VNW$c6{?ZT56i-LV`6ziu3JGxY_yIo{1 z7weBsdhpK1tB!0PwKSf#n|^HMtxAU5Eqk3oZ&mi-)BH06vXj{5PqCK$?}I39X37WH zM0j%Ax%RKr!8vTHW!70*`xBR#$)ySSKR(jihL$^2mxwC+xr?vkeLhb0;+^iUOgbCQ z-Mi$gDxwjO#H+ZuULo$wJ|8<)KCgUDFf~v817O`(nDi%`r*ThfPf8UX^-AdN1zD*K zv5c-z0=e=thXtHX67G zW#R`4)zT~1M*+%VzEdzXfFN_P~U`~WD!m~j-G3?!p z3-#HCXJjZAq#3W$dRDawheAVjO@Evw+FH?kDr5D<0qf({k(-T!4;{BwaU-%Q;bU(b z-V5o?p$w4inKUn&i==&XDDRtH&mQ`{zUHA6T%(WV&Z&Xd4xNNir0w*9=m$o#{Qcm& zh}M~%Cmx~unLae~O%EaU6zo-U%VS2W@Eq$5;yp;mE*CBJWF0}&fecuYIz?gI4ui>2 z4~(|UNyTeK;{vzq8k8~ICu@=55XlGLI_Asgz7$z^lPx`n zd`y!vh8a%(pj1?TpsZ*T@} zZ5S>bY<&VcQ%v765x2z*8<&^Fv#TA)8WslE##UJIF==o;3VS-XtA6(Gy9)9BFCtQ> zX&BZzmA26tcD@ZiytMB2)U2_0`n>WB=lk_H0i=_P$~Du)Y}LD_h$%oMxg-&Wr= zpQJo=uaBLFF2-jWkhD#UlO0?XS`otDaQNoIR*gq+3(Tt8bDn<7O6uEFuukej^OWV_ z&%c10YMg+yt-V1UaWNvR6L2p;8yJSYP--FdtFW+GQ-(A1_=J?aURK9(=~R=h>n1XyII5bD zFPq=PUn>vBw?QSqpPQ)*@HSbdlsZdRIk@>8aG-N?Kv$Msp&;I4$9 zXVLRIzfxpIhfOlBDr4m}jFFw;Bbx^FfbN7U+2Rl<#4=_)QEso`4402`sLu%1OR?Cp zy+hqK%E@>v-!@ZsJ+3e`aT|a}+(I`>-Ak541)IAPb~i_D?|g#H9r2eXlmyGG+zMXq zA?S3gd#piJLYqmT0QdhW!tr=>0IBaySyJ6V8A(X=OcqVMci?F|B$`J}^j?0YiR#q4 zqFi|qNELVkWpDVe%0E0i3DQ9B;cd_bKX5+JHIZE3gPhf~fQk_bb##%Z@aH}gJaJ_f zq6Bi89ak|8sn+sz+%{*7QgT~wQN?Qr48Ko>0?a5`$-u*ciOIt}c94O(dS85T_} z3k-K~Vz^8QlBBT919-6p^{Ttv`5W_~m9{~{>s82!!1FC{3$NSh2GZ52Capju(TKWw z_LvcsdoZMh0>;TYrBQ@I;~9R%YJSUk&7Tgqg#c=niQH}vAUc>n+a literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_02.png new file mode 100644 index 0000000000000000000000000000000000000000..013bd5f8ea7adeb90a45dc0f9c2c3b3d3ad35d30 GIT binary patch literal 1342 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_oAEPZ!6KiaBp@FI=@WRHpsm z|4Ft5I&L4?SSAN{hZ;m*l@{=EGn{cWM`SOPVI||D$juiO;u_>W97vyGIcM|1l*;s4 zJAa9^{C$$&a;}|@d}#jKqL0x^|B5`rzxOU2hJsE$Eds)dM{qGWdjDno*S$3@FHO&Q z`pnrg?_b|jW%K**W%K%|&)*F7&mEq9f6dPiGt|H9=cn1le*XE@`2G5y-)5Y)+4J++ ztoi*rXSUn__%zGDf9DySnKSpN=cVs8IWBL!-MIXGUF`bvA0Hn+y>sr@cQWzk@7Pv7 zdu(a9yZ*sT*xPi9oO#v_iT4$`Si!HPXEX~n|(e07=QM? zo&Vfxwmw_ze*VsxnoZBTA3uDW`fRW1{aE|Y$7aQ^n_u~FU(d~t`=9;v#O=?Vw-%ox zv#-iGKEKlUyz=zh7iSW!v#fuuzkN}5XCLmc*)01sq|E00w#6W5cs;PAQy@vHWd?_$ zniCpx+u}K=`kvn`y8?tJ&#bs`hWMGXDZw{C+T8BD1%$_9+%b)US#YzjNXvR&`t3j< zyg1{v2F}PcydCJ5di-+^&_`L;QpK{Z*c=EpHO>0e$~P7Ba@|2NdEH{%Ng~JHa;oh4 z&2Lu#VaAzK5ggtIn)+5_`KHH}+hn%_Vee>QVvG2p5tzUd;&#yi-tvonTi747b_2^r22WQ%mvv4FO#m9C6}JEY literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_6_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5df5f7456aa36885c54e79564b2c9c9f34fd6787 GIT binary patch literal 1118 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 N002ovPDHLkV1h`Zf_VS{ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_7_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_7_03.png new file mode 100644 index 0000000000000000000000000000000000000000..1f317df40aa3b046fea84d0dd9786c2bd91e031d GIT binary patch literal 5602 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_7_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_xdmf_7_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3a6d787072f73d51300e849f3b47a2cdc82eaade GIT binary patch literal 2814 zcmV z+m7qD6^1|R=)=rp?;uTr-uAlJea${r3-mdP?j%iiX6&&Jme>o5nk7+^C5u8))C+<^ zQySa){QnfWNNbeVnn%ow;J^I={+HqbYe76n`28uQX>1g7W$)3{~)Cm#_Q^Ih^2ZdC7v_LkSgBG$PaxKmZ{`c1xhLQp9|-5Qx3O6$-*V zi6VkfXsw0{N+_X#94>ISyk6lA3V>I5vD*bQ$nD>mPe&^&*jL4yt~+DF`(c3&8%9?s z;o2)GbULCYqm*6uQ5Mo}A=V8B6_F%OW#Me4eJsW2Fk1yxr=k>iOYs^xq>#foRAujk z*TAab4Soj=SIE0t5kb0S+d(o^p8%zO)rcr&rX!o2`E0$j67$Z{%DsdJODs99y1|=5+lB z)xt8oyctl!vhMLAu1s`qdlCAyp@CI(VfCm*lZ+M^uzNLZo95Nx3L$Vb)t+DJSy{E! zapagW>gsE)0W$&1kGS4PG}WG;KV=2*3|heIX)1K|b*BLfQEp+a5Z4YWxNxmFPr~xr zz&`&>Jk%z{e2Z0yNnFT42CzsLfg~uH*Q* z4Dr&C`m~{hH32Ac?77&0W3Xn6s~YJbjPn{ee60~JSu0!Z#s8a2~^ZRMb{hQu{??VHW(-RE#8u*03ftKkhm zT1+IALyUR`Y>`FXuEUVHQZ>+@S{i3+$a|G*ZK$1r&M2VTCR48>vD!&T-`d*bUoy1U ziffnLuc7*_1i3#z)sVijF0aT|w&KceoW%O}tBuvl%AocH$UV&Me90cXJ25&EcknVD zL4P)^EiAu)WX<@z;qb)hcr4|m-7e|M2EJKwRC@(~*kXu=btKr1N=!}@ptDm6p0PD3oDt1*i zNas3vxNk;>2tW#bVV*u+h(hGlC=QT12K5ybftNh zLJY4iw%~4;?wH;=J`PFM$0yo%zv#;QaEAasLuAtlt|D$CC}$sOly!j=j&^UW}2X}-U$?hkcjhdN$td=sX2Cc?HhfSVI!pz zWL;jevfb5-6|fY1Z>O2Oo35=XEh!D5UH{$s>nJqUQ`xceRHx)Ywa6XIQ@xvD>puBQETgQ$ zw$?jaxn&-erQs)&R#t=|F$58jU0k|~U?toq!@%0idYKi}8Qz9Y`F>b6d;u+{@7ok} zw31-S=t7NTL+i<1Z$ra`Rj_`7Y7Exh1P3*R)4*?FJt@7D-{Fo?R@q$`as$>af-&q< z)Y!Ohuz~kyJ*h9Vy5Fa=ezuvC2`)1Un$-`_PzM~3Bg13^>#&veB+3${NqX2edJDbg%${4S(d-?Niy^B4#CbEY2^m{`MU*HYWC8is!iS6X}M-1|68~AOk zcZM8vgJ}nx`WgP+{n5bfYoDl0>^hvOtY^!s?K&K`v)-}W840~93slZ?!MOma z6tzMJ)PX~1>e@HweOg{&lh4}BdcDrB&)-M~iXUwGs<~>ebu)5ll7WK+!``)TKCciG z%4k#Twb`EoWFD1e5?aPX!^6B0g4dMg_k#;K>?zdN)@!prPwq!p3F`-lx-%9xvkHag zlyO=lEEAP#G7+0uPYw=@4LvI>8G<#IBre;u%TitnDmz26nf0W;j_}_5467P=_yg?3 z0?27)72QqpU5hCsp?1 zU0L6E8M&~=QhEKj$;&kGmu;;l6R*#Hm8Gb^L)GI+;<=xt}7=8ksO+wfv;UufMo z*hcx_H8?i(Y(1HHEw)hB$u6;enM`{6;MI-|H?Uqx7IZoz=4Ne{YcJq>+t9i9u zhpnt9N9Sg&;89uCKj9U=u^rO7ySewFeQ|m9?wDIUTLo3dxw1bxyZ|VB2hScFmz1>L zp)V+7y>oYTZg^!>@BKFAeppKLohFPRwLMbPuTo;Lm_rKh_Hr4(li?-r<<{PH<<*|> z8@#|Pe1=yznMLF=I)p=W@KMZ*wNDS?HmGB}?4z0UxY%{2rbRbjNC^d>gG7Zv_muDb zhaXz=^((cOw<881uH)()z4*}Q$iB} DSI8Zb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dfef14dcf1ee980b18e81938e14303c21ab48d0d GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5Cdl zrqb{87ks@AFAjTpP@d(^LH0K-m$#hSc=7wDcT=CNvZ;I)w{LrqJje_Xc)(*Ht;KfZ Sp6Ra%Ag-sYpUXO@geCyIf-JHC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern.png new file mode 100644 index 0000000000000000000000000000000000000000..df8ab162e90c2031e263defca641491b9c1e40e6 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zIIT;K%SR60c zU%b^Upqlb*e?bfjQ2qdKdi8;hoU-~o%phIV1$&k-sLWtwGLLG%4>H)()z4*}Q$iB} DSI8Zb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dfef14dcf1ee980b18e81938e14303c21ab48d0d GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5Cdl zrqb{87ks@AFAjTpP@d(^LH0K-m$#hSc=7wDcT=CNvZ;I)w{LrqJje_Xc)(*Ht;KfZ Sp6Ra%Ag-sYpUXO@geCyIf-JHC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d539c44d2a49fbd3642c914af80e3ca4b23cf5 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r~q#WAE}&fD{jf(#5ChYddH xONH>*bvDMW1}PHyrEGQm;B;>go4TN(fpuy;Bh%u4EBQeNd%F6$taD0e0su2+8TkMJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..992c31587612f932814a5e781462d2ba27b67444 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5mdKI;Vst0K>>5lmGw# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d539c44d2a49fbd3642c914af80e3ca4b23cf5 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r~q#WAE}&fD{jf(#5ChYddH xONH>*bvDMW1}PHyrEGQm;B;>go4TN(fpuy;Bh%u4EBQeNd%F6$taD0e0su2+8TkMJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..992c31587612f932814a5e781462d2ba27b67444 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5mdKI;Vst0K>>5lmGw# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..df8ab162e90c2031e263defca641491b9c1e40e6 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zIIT;K%SR60c zU%b^Upqlb*e?bfjQ2qdKdi8;hoU-~o%phIV1$&k-sLWtwGLLG%4>H)()z4*}Q$iB} DSI8Zb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dfef14dcf1ee980b18e81938e14303c21ab48d0d GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5Cdl zrqb{87ks@AFAjTpP@d(^LH0K-m$#hSc=7wDcT=CNvZ;I)w{LrqJje_Xc)(*Ht;KfZ Sp6Ra%Ag-sYpUXO@geCyIf-JHC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern.png new file mode 100644 index 0000000000000000000000000000000000000000..df8ab162e90c2031e263defca641491b9c1e40e6 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zIIT;K%SR60c zU%b^Upqlb*e?bfjQ2qdKdi8;hoU-~o%phIV1$&k-sLWtwGLLG%4>H)()z4*}Q$iB} DSI8Zb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dfef14dcf1ee980b18e81938e14303c21ab48d0d GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5Cdl zrqb{87ks@AFAjTpP@d(^LH0K-m$#hSc=7wDcT=CNvZ;I)w{LrqJje_Xc)(*Ht;KfZ Sp6Ra%Ag-sYpUXO@geCyIf-JHC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d539c44d2a49fbd3642c914af80e3ca4b23cf5 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r~q#WAE}&fD{jf(#5ChYddH xONH>*bvDMW1}PHyrEGQm;B;>go4TN(fpuy;Bh%u4EBQeNd%F6$taD0e0su2+8TkMJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..992c31587612f932814a5e781462d2ba27b67444 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5mdKI;Vst0K>>5lmGw# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d539c44d2a49fbd3642c914af80e3ca4b23cf5 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r~q#WAE}&fD{jf(#5ChYddH xONH>*bvDMW1}PHyrEGQm;B;>go4TN(fpuy;Bh%u4EBQeNd%F6$taD0e0su2+8TkMJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..992c31587612f932814a5e781462d2ba27b67444 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5mdKI;Vst0K>>5lmGw# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..df8ab162e90c2031e263defca641491b9c1e40e6 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zIIT;K%SR60c zU%b^Upqlb*e?bfjQ2qdKdi8;hoU-~o%phIV1$&k-sLWtwGLLG%4>H)()z4*}Q$iB} DSI8Zb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dfef14dcf1ee980b18e81938e14303c21ab48d0d GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5Cdl zrqb{87ks@AFAjTpP@d(^LH0K-m$#hSc=7wDcT=CNvZ;I)w{LrqJje_Xc)(*Ht;KfZ Sp6Ra%Ag-sYpUXO@geCyIf-JHC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern.png new file mode 100644 index 0000000000000000000000000000000000000000..df8ab162e90c2031e263defca641491b9c1e40e6 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zIIT;K%SR60c zU%b^Upqlb*e?bfjQ2qdKdi8;hoU-~o%phIV1$&k-sLWtwGLLG%4>H)()z4*}Q$iB} DSI8Zb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dfef14dcf1ee980b18e81938e14303c21ab48d0d GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5Cdl zrqb{87ks@AFAjTpP@d(^LH0K-m$#hSc=7wDcT=CNvZ;I)w{LrqJje_Xc)(*Ht;KfZ Sp6Ra%Ag-sYpUXO@geCyIf-JHC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d539c44d2a49fbd3642c914af80e3ca4b23cf5 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r~q#WAE}&fD{jf(#5ChYddH xONH>*bvDMW1}PHyrEGQm;B;>go4TN(fpuy;Bh%u4EBQeNd%F6$taD0e0su2+8TkMJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..992c31587612f932814a5e781462d2ba27b67444 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5mdKI;Vst0K>>5lmGw# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d539c44d2a49fbd3642c914af80e3ca4b23cf5 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r~q#WAE}&fD{jf(#5ChYddH xONH>*bvDMW1}PHyrEGQm;B;>go4TN(fpuy;Bh%u4EBQeNd%F6$taD0e0su2+8TkMJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..992c31587612f932814a5e781462d2ba27b67444 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5mdKI;Vst0K>>5lmGw# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_CGNS_NFace_Elements_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_CGNS_NFace_Elements_01.png new file mode 100644 index 0000000000000000000000000000000000000000..ce2883aebea7822f378c2292d69f83feaa55fa08 GIT binary patch literal 535 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK+Zi+7srr_Id3m)>jYmxcV%piquu+QZ2-+h}NP5tqA*XBq5NvxxA5QYFFJi0&(_H16JIidU# P3LuWBtDnm{r-UW|N7!+~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_CGNS_NFace_Elements_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_CGNS_NFace_Elements_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cc47ed79142abb83f12f9844f700423cc00183fc GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5@qN6yI-H&dWHnT=*gXJYCmGTPmV0=7%53*!}!_sY=M<7joxpA1bb&*ij?I u!qn)XAi#l2rS!>2E-rjBz2DgLQjx9Wf3L6a79Xer+3e}+=d#Wzp$P!#wO1lqcX_js#w6p)SEfo2V}6PtDnm{r-UW| DoRb}t literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Chombo_2_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Chombo_2_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..db078e44f498e1a1b6e0a579bbef7ea073d6651b GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0G&H4q5uE@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_amr-quad_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad-nurbs_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad-nurbs_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3fa917e99307ecdedc023ec27a9cabe37321f2 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f7B^c^Moymds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad-nurbs_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad-nurbs_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad-nurbs_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad-nurbs_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-quad_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-tri_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-tri_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-tri_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_beam-tri_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5v?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSp@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-quad_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-quad_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-quad_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-quad_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-quad_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-quad_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_inline-tri_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_periodic-square_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_periodic-square_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..ed914ae20dcde631255c8de5388f767fb95e07f9 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICqE1mqmz=R2;3v?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSp@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p2_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p2_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p2_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p2_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p2_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p2_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc-p3_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LOR_square-disc_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Lineout3d.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Lineout3d.png new file mode 100644 index 0000000000000000000000000000000000000000..c0f3ef92fe58397e510e2343d091e9cadb9b491f GIT binary patch literal 1444 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LineoutSAMRAI.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_LineoutSAMRAI.png new file mode 100644 index 0000000000000000000000000000000000000000..acc54a257d62ff0056941e477a68db0502a8d049 GIT binary patch literal 402 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKu)Bmi(^Q|oVT|Qb{#ShX}ef5 z<9q$nT{BvnrGGybec$_BXUl??PZN&>#BhT&kq8pJ-H$3fkII()ANT(K_wM%B$NRP3 zJ-%BPC;!N1e*N>G3arUK0fMVle%uy4v*x{Gn8TWe2*!;}u}QV3Emt3U_@dx$M_6pq zSp}Fx66+DJ4p9MZkbuMVh z4!mEU|KNN_a@h2lPuJhQEeJH`0GoV<(dL{FsGN;F%)V*UQg_InHn@&e9~E$`F+1pY96uX+q*5(qRj z`1nm*=OgE6_aCv_Ds&~Di2z^Bi29G z{m!GUi~Nkd0*m|u7uBd`mVG*X^mOw~?Rw1sqj{d0|1vf&vB_O(Vg163f#HX=Jo800 UFVdQ&MBb@0G5<z3&&gL&2Uk^2zIrq3MvCdWgsU4)X62b?ZHfxtkaZ-Jg3k$1Ht zwpMQ1_mM$s;ngW8U&S9>rI{Y)wpwtq=*Ff{Wi{<(R~t@pMIKzmI9c?HR_&&uunj8{-B>G?McB-OXfk5rWPdpU2-bv$nMTl}hTB zUE?|V>i+{Jerx`PSy~tFtknz;e!Hh}%E?_<&i-Gjn6O4GbyHk)%!g_z2HxcmEmM@RO*Yg2OfGuvJzf1=);T3K0RZ*(RKx%P literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0c64fc3574c6a3f489dd1d9a741cfae4574d0f5b GIT binary patch literal 528 zcmV+r0`L8aP)xZH`~$rP&$BKsUiw>v_nG{?yWj8g?%wa6KR^%!K@bE%5ClPJK{Uoa`lRk~ z#eJPtl}MjK4qR=ARY`nV2gl*Y#}Q`%SL1FYhIl7yetW}?OkyekkSd8*FWrmNr4epE z97#SM{1r=NHoLeER!vIJ_J|QfobTY(#GXl|9Ev5jj{RN^Wraua$LQo{tJ50j8bia{ z=c(Gy^W@C&Sh+SH@8vAOVXoTZ=?DP8pRk(#&8JE-Us*7>=BY-a1yhn$CRrdNqJ;lj zXh*puShU_$70;b&N$)EicxJm(`}Cp=lK%W7Iw9*zT0Cj<$8BELC>!Fp$d4b zp`qj_5fQyA>k|{tPWj3#P3YF#UB%xY=*H>rB9tbgWdK05WOd^LV>0)jF}!~n(E+UI zO2G7D?ZW4O)BS^ioWo&ao-vtwkSI2@nYa?ItqBRYCiHOgxMJ^mF5D+E_O#hX9qcD5 z-xtnY6FPwYQ2;Kh2RW~ibKth&1K=Ka0~idHQs+2e#)K)mZ0CHQqQtT&T6gC}9~O`{+~9!y%Cj|_pH7d@e`PN(_}{l~ z|9und)!OY>lYYJpvMso~;nw=|ubjhqSKr+58tk zk*hPhd=GZq$=vbs^6oWWK<1SVe4C<#%x{I%xVTYR!`^L%P^O)~{<;?VDFr z9ak3i`EZr;>JG8Bhur6%^u2#6we;89^2M_(8 z%gMyO^Fv!xF8^A?)m$HXjp=_?80#h9+vj&JI(_%n+?DTgCrSV0T;4L({>}H4meQ+h zj1KL}36qRAagBS-%lUoEKI=>CpV`09PP{%-xSsjdckgt*1qZf$I_r3_R(@w%-m5Ds z*BspW@YQr{&$BWPQ#Z_$zoze>mGy`t%jfX(;_S?y?AC&Ti#PFo-!V_^Yv9z zE0h*FM6BK#A71pUWA(#~?pJf8C)hp9s#w&%UZt=xe|21TefoO8rk9ru%Dl47mv8&``25Va z$CGZIUfG|y>yDlFBKbcBcK>weefc?KZ}6@6lfK2Tc|Cv2SI)}@X0Ok^urb&>BW%<4 zHI9Cw$-6w?KKRZ0YV8cW#m)Pp>ozsjM@2}lU-Io^;@5et>T8twb#-y)Fp$iF3;!=N VfBn7SN?;j?>*?y}vd$@?2>|D{@Z|si literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7d0231c576c04b3056d80a416fcdfc9fc702b8d9 GIT binary patch literal 727 zcmV;|0x127P)Nkl&6RWSFY#|Z#$kEJd-JT<6I!oivejN1Wx za9NieUG;}9$Crw=@hqMZ(a3uu3bklNjptgIkID;9$zV}M+RHaYq&^&Me^OR_Z+MJ| zh(>%wzAU{YW%TMnm}u_N?K1#?9Sua}YibPT2)KQhf*^p(tgb{6IY#!L$t*;;r$J+eDxEAuv$gk;{+G3{^!tk!hbVOxsH z@Tbfe8Oh22J&jpWKq*!LtP+kPZHf*=TjAP9mW2!gOa_zkz~M!YD1z3&&gL&2Uk^2zIrq3MvCdWgsU4)X62b?ZHfxtkaZ-Jg3k$1Ht zwpMQ1_mM$s;ngW8U&S9>rI{Y)wpwtq=*Ff{Wi{<(R~t@pMIKzmI9c?HR_&&uunj8{-B>G?McB-OXfk5rWPdpU2-bv$nMTl}hTB zUE?|V>i+{Jerx`PSy~tFtknz;e!Hh}%E?_<&i-Gjn6O4GbyHk)%!g_z2HxcmEmM@RO*Yg2OfGuvJzf1=);T3K0RZ*(RKx%P literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_3_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_3_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0c64fc3574c6a3f489dd1d9a741cfae4574d0f5b GIT binary patch literal 528 zcmV+r0`L8aP)xZH`~$rP&$BKsUiw>v_nG{?yWj8g?%wa6KR^%!K@bE%5ClPJK{Uoa`lRk~ z#eJPtl}MjK4qR=ARY`nV2gl*Y#}Q`%SL1FYhIl7yetW}?OkyekkSd8*FWrmNr4epE z97#SM{1r=NHoLeER!vIJ_J|QfobTY(#GXl|9Ev5jj{RN^Wraua$LQo{tJ50j8bia{ z=c(Gy^W@C&Sh+SH@8vAOVXoTZ=?DP8pRk(#&8JE-Us*7>=BY-a1yhn$CRrdNqJ;lj zXh*puShU_$70;b&N$)EicxJm(`}Cp=lK%W7Iw9*zT0Cj<$8BELC>!Fp$d4b zp`qj_5fQyA>k|{tPWj3#P3YF#UB%xY=*H>rB9tbgWdK05WOd^LV>0)jF}!~n(E+UI zO2G7D?ZW4O)BS^ioWo&ao-vtwkSI2@nYa?ItqBRYCiHOgxMJ^mF5D+E_O#hX9qcD5 z-xtnY6FPwYQ2;Kh2RW~ibKth&1K=Ka0~idHQs+2e#)K)mZ0CHQqQtT&T6gC}9~O`{+~9!y%Cj|_pH7d@e`PN(_}{l~ z|9und)!OY>lYYJpvMso~;nw=|ubjhqSKr+58tk zk*hPhd=GZq$=vbs^6oWWK<1SVe4C<#%x{I%xVTYR!`^L%P^O)~{<;?VDFr z9ak3i`EZr;>JG8Bhur6%^u2#6we;89^2M_(8 z%gMyO^Fv!xF8^A?)m$HXjp=_?80#h9+vj&JI(_%n+?DTgCrSV0T;4L({>}H4meQ+h zj1KL}36qRAagBS-%lUoEKI=>CpV`09PP{%-xSsjdckgt*1qZf$I_r3_R(@w%-m5Ds z*BspW@YQr{&$BWPQ#Z_$zoze>mGy`t%jfX(;_S?y?AC&Ti#PFo-!V_^Yv9z zE0h*FM6BK#A71pUWA(#~?pJf8C)hp9s#w&%UZt=xe|21TefoO8rk9ru%Dl47mv8&``25Va z$CGZIUfG|y>yDlFBKbcBcK>weefc?KZ}6@6lfK2Tc|Cv2SI)}@X0Ok^urb&>BW%<4 zHI9Cw$-6w?KKRZ0YV8cW#m)Pp>ozsjM@2}lU-Io^;@5et>T8twb#-y)Fp$iF3;!=N VfBn7SN?;j?>*?y}vd$@?2>|D{@Z|si literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_4_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_4_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7d0231c576c04b3056d80a416fcdfc9fc702b8d9 GIT binary patch literal 727 zcmV;|0x127P)Nkl&6RWSFY#|Z#$kEJd-JT<6I!oivejN1Wx za9NieUG;}9$Crw=@hqMZ(a3uu3bklNjptgIkID;9$zV}M+RHaYq&^&Me^OR_Z+MJ| zh(>%wzAU{YW%TMnm}u_N?K1#?9Sua}YibPT2)KQhf*^p(tgb{6IY#!L$t*;;r$J+eDxEAuv$gk;{+G3{^!tk!hbVOxsH z@Tbfe8Oh22J&jpWKq*!LtP+kPZHf*=TjAP9mW2!gOa_zkz~M!YD12&I;)TX~GYTwya^!-`PH2Dc>~u)WdeyML zuRgbC{Y#atm^ba4)83~tW%KrgOz*y`RQx|)D=cqS_R&*!8U+iNM!Z}Zv_7;g⁣# z15-+4lQ(Vh50lpu%s#-^)8TzYYU(SdjcjiZbVS%)I}x(_xYTxL<)pU}&B1GBvfuFS z`FmPtrg!DkQ?4(kKeRSb66-ZpzdC87+MG3ZI^x-JtG*_kz11kVF>1}qmDjpVi`nnZ zbC?yZz1w#2+mG*$^ZyWExA|88{P%Xh=2(RaUQOEiJAV6m_GQagiDsw2-tzWyBhy;0 zqqpo&Z&~ZJ%4y@gxf5S6(Gq^W-F&^)%2hSp&#s&QvWo9mEwFm;iNIxHNo(HT(28HG zmGUb^)-zP~`J0GPE15|W*-K|yroBs%%?(}h@=AoOl#JQ$Ia{a9+!!Xk=F084bGg?} z-md5Ru7d5p^gQWhN^4i$@%X>J{%pKz=uY83elv>K262gZf8BAysyH-9+HTd9RrgZ< zo(WzZx;Ns!X!g`yyth{#4b%SO`|{)}w>5l8r6+nrfBY$KJNZf>jD4e3$5qEQd@DCj z`+esJ>*TA7=3&n>Lg%|ozPd1M&7;Mke_qbrpL{AJ;%9_4-&f(+Gw0S^kC4D0$v|1| ZYW7PP>`(K}bp=fS?83{1ORd~4l4iv literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_5_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_5_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..86b59f7ed8bbb0b52726ee893cfdc4a2ea5e3546 GIT binary patch literal 524 zcmV+n0`vWeP)GIJl>)|sn7U`wR(38a8Bw-^TTfvS&OO>(i zv$5X^#|TZ%#$;LEpvusbn9YJNV)MyC4*;Z#m!zV0D*Uo=GSnhyLoA6OdkP0Xwt^j_ z799?O1VoL)wTfw{9)(b{=hJ-H-Mm8kKzZh8`~g1oR=W6Jp2nlV@PRtA{tHQus?v&E z`CLBtE*p@TNQcApn0Yzv?7LJRpSS5d&k)x7`=4GTb=iTikxA$upNu~NfXxbE_HaeW9RY0V^p^a2Q$E2y~wV?{{}p4`%z zS^)4m0p<88B;5CZCQ-23fbZi2xY__9J{~Ws62mYI!!QiPFbu=|6TSdG8VXht^@lS6 O0000!BT`LXX#6T@|95RO`IjwVazZsdw(uo`~}F zsq)zoi+i1Qd_xtlo!~y4_4MzrSrN^X<-SU6kD9AhpAwt5wSvv<$d!oYrx)A*_}3Hi zQu+0(KRr{<9(|K}!}OGd=kE5U=1Q@nS+^hl z{633EEj?}3mF3pE)z*Ig*q+~UCoI_g+Sb;v-Aiw8zr(fU)Sk4r?ANZ({;l}!YuAl) zL38iq)z9V<|M58Nqv@h;QY(d$-*Vl(XLTd%|IW>J8CxG19?kDgvW?w0FS>M|7f<`u zU5=uHtjivHu69~^De3RLs^|ZYm&T;L{PR22bwNSFO9FY z8%Q>5DJ?s8>(=9x?&Ib8+AGSR@T}_4*zo#;*XrG^5s$R&l&@Xqez5zoR$+kakvq0O z?j6_PcFJ#RZT^p})!Uw)+aG`J=q>&gx7+Xidltj}ZS$>b+nTTc-|n~HW%bwD_1jf{ zx4Js-nz{eOx0)}x*I)I{udU<$P_p>nr;YbFSX{fx+$(c0%inVSm)Q2bk9Vd2|M;Qs zcjWq8^Ri>Bb;=4B*oW&}`|Md}o*@*cxcX>Sfr!d`L;tN2-+Lbv{uOB_BeE8+} zcNgQSQjzM-n#(VI)DLh-=e++v=l=8i()X71FHGL*cI~XW$gIL7)8w}?Z@>8;v-%KZ lzp?6=J`esh4wRknuwK4;+xG>l-338vJzf1=);T3K0RSz6tsDRV literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_6_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_6_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6764cebd661a368d89980b4191c948f005ec515b GIT binary patch literal 787 zcmV+u1MK{XP)qA(wV21Fc=I5 zgTY`h7z_qut)rl3cNPzNsS5(KBx-7Q$NdOTT`=ecpwzk^On7AJR-%^3A$I4?P%W(t zy_3mVEh3yzjG{qPJTZ~0iw~z?x7$u?Hqgo_sgi+dz~3K_?2EU~IU3(wtg*&*`LG66 zv@-NgR4O2*6$4+mNE~%yuQ=+xT5zir0EFZvQBO9$7mC4qn>gq;mn;m1Z;V~4pcarL z;Rd!q5Igyrr(c-s-c$?#h}`Trb%=huWl5j`X1!(r2s;lVssrW*c4qqrUmm@1iwCkL`A%|_p(tko z&|9YKQ`fe}=ck^ZhPOYQSDhwnt8_`^GtqIGg31@Hu!qh$mJ%JUM6uQK_X}4g;igBm zpK>=3Re99c9ls|Wb@4Y#nAZUy$xCqlfQu;9*#)K_hBg4OXq*6`sjp7~fS7yC&)M<- zXcbfqm3!vIxNcYtz|uqr5ypF-HNP74Ej)O4PV$|MEIZMTmSYiR>XkzOSf)_B zzI~i6wgQL*fQcEaam7pJOWKze7;^_yp^YiZx!{|r7*S^c=Jgp;4vD{&KlfCvOV1Fn zuLw$$GA(r}!CUmlG2j%Cl{Mt*i^Z*(l;uB2c!otXqcRv&Tnu`B6;7REryRJ9>0CV_-|Tf zX=B7~`RecepEf$J{j||*?W>JJYaeaQTdQ^O(#ELjt9_x_p?y=cMfyJ1_U(-L+T0^Y(?W6V8_Y{Bh^$$(iO;VjNq>7w>FRdaB#Vp_Gk48wl^Qvtqn~& kcPs6wo-N)021~Ac#cck`rcyO)pAU%d>FVdQ&MBb@0HB%3DgXcg literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_7_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_7_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..50d55e350ed56e2ed21c2ef6751a8d413f61d4e9 GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5%IEGZrd3)8~`*45=>xaow z!AoqqS$6Gm)!4ea6&%?}O*B;#X~*=FX7t>Xw)>_ebrQt|hlm z=%gepoagMZbCxs5_ZPuOKfIdE(C~0;<*NR`JKI(ZHGGtfPWrXtJB#p&vU36@N@v~$ z_V&d7-gbUVp|NC0{S!f_hiRW`?(cRvZ_4=Uw(H-A51I^|mWnYQpB=Ke0|Ndu>W4k? UtE)d7zzPadPgg&ebxsLQ0LCq(oB#j- literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_8.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_NonSquare_Pixels_Ray_trace_setup_8.png new file mode 100644 index 0000000000000000000000000000000000000000..6d4ff012f2da92b938ee548cec77e7402d5ece23 GIT binary patch literal 820 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=B-aJzX3_D(1Ysb8ynE0D-oP zYE!@0r)~-mkraqj`Fp?O+^I7@Q@7jAw(dz-1=58RJh<(<*WbSW-{P~{Yghfc`s>Z~ zsMsG5_b)NO_FO2cS4ex&RfUa4QN4oNORfrR42tR%&|Y?xVPjF$)8kxOS7l!RS!1&@ z^jC`OR<91zxAyb2)`mK*nVMNwxnm3059wX2gpzWZ*2>vME$s=fUeg$L_5C|mo44D& zZf)C@Y|AaX<&@{uI*E7NEV8cNTWfjkUfWcw@V6V~+%l#LWp{)rZakJTRWN%(nBYdY zOi{ttihDxK*Q_*)&0D+dMA+N(53`#;+|x1&{hh*lb(QTkkF~dwd#?Z)NiAWT8{0BO zKiuB1Dr?sAQ~6U3Bb&E$%~+GUPrm7I{`a*tW zm-W1Ee>-_=*4M>HH%(qDGw-f`*ww<-zstkbfBw&Kbl)|9|Fp2<+>xks# zbmq5j)bnPA->#cidT-UTf8k%2*@o4Yc}KVWi;zF->$dh=gnU}ZimP(jDu<7FNvusw zQoSOj9@fy9^tJz*!^Ry;exGHZT-q4HaNz$b&zH}4MfZwi=baZ7dTn#$j$JtC`|3M$ zVg+|Ee-)c|DCO+;jg`jMjLD&r8_&JhJ(Y2_Ui|FlBO&hQHZ5DYZfus@eevS9ufH;< z`Y}!p?U&wIwzMZS^~kI+_ecDWYnk{Cf6Y92-Z%U5s`8zGH^zNiGj(Ozu~)Z~V|V3V zVf&v~-7jPi`S=g}X~y&q$v&Z>E^7)qfX)(cIpX!hwpj1o6~$-GR@Opsm!_Y8Ci5>j zZr=^{giT@fQhM=L>#k`jgzf!y!;X(L^s4Rk?ypZf<{sBx`8ycd=en?5n%dBDEK*R!O|uCkXYf#$c5T_l+w$$seej0v|i@y1X}(42V;j!Ia-%AcVqlVt!Gj5 zmeadCPKY%(;!yN(T8}7|2i^Jo{Q-A#zz$@wl-~dV002ovPDHLkV1kn9 BA%y?{ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN1_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c55fb3e9316ccb46e47a4b40eef7fe4fd639350a GIT binary patch literal 1658 zcmZ{lYdq5n7{@o6YN&HaN2E9%ESAf%^cgMJWYn1b$A4}qOLS3+gqBPAL=?7V%WcW+ zZ~bY@B}ySRHkZ_PT$ZltL`1n%M>)zi~DPQ;}ZL=#HNEjd;z7SAJ`aa891ZYzqCWC2#fet;v*1_1=H38=6aIx9wAgxU3Cp4j4BuEV_3n9l}$pxdnj{_5jCo4`> zg}Z9HE|KSIm6Ka6J}V-r~@I}p*%2&y}cYu9O#@m%E=EL3$qwq&0=P@BVW zMT52xR>&X!K|Q>e7}azhqEP>=9RMVeoV8Ck)f`KKb;a}&0K|thlLWna>wxLC& z=6!NF7t8`8!zQvBa*H~6+=|c>}UQ693#@?7g$gEC9mteZXIJl(hx}p_B1n_ zM+T0%c<*3n)7fitr08*y?X-3AKND zcVhdHW&k5kRc!LI>CgPR<3nLC{}$ES_8t%)9%eoQ+w!A4=Z^T9A0N?!Puj=2F}{dw zFg3oK0cWla<3>~Kn2ppTT2hd;?qdcjdZ-8ewJ}at(i;*8s?=SWWi#&93b9>=7;#$d z4*B7oH$B@*lDdeomJuaAP(fuuvXLU&sJJt%j7^fz-jv@TsPV%0-s)=4bc&gssHk7jX0ruW8N953Q+Rnp=wN3vE^(M2*AhZ%3SB zl{a)hc=mqsmU3EM5mCqX+x!an?reWN&j#A=&mGw+efr{%XPBm~KfXTm0>sO6!33JU zdrun6BP#)A_PA@~6?fz-t%RF(!jTu-Wbf^`v~DYS_cIlWMNBRsr&7KSIWc&y{?z*J zg21k}^ibJ_x&Hh(_})sEG1ah3z=DIhY%exeBy7+KrqO{!Dd`=$Qy_(Uq#a}E9JWG> zlF|b%9$2li`)AxYj{x>=2Imz?O z^E~hKyl-0Iq5f+!eDWK76u`1i&Mm!LDwRqz$NYtSMUp%#ZUR0*{s90~#mys{o$ovR z4DJ@osA=|FFJr1gR{lB_oFPe`@da{VktBIOvO2ro1gzNb6hf-r6-d3#Rw2j{dO}fVlb)%fPjohPbANE0{{+TCCIw7(YoAQEYt--n0C2X`@_yF0F7+OJpAe2s%0DxJo z5W79P00716ivWNHt&lFu*(d-YYYM8~bP3;PQPM1@R{eEGvX-^;MgX9x6(Yx??aT-R zKzU9pq*+}`=NMnE1?Y6NzM zupWpkL2+B=r#2XE@T~c&;-NOKVx-)tV}r2c)Ql)s)r{*4!te78cYR z!df8)5;AXMmT69x&=#z%eYEj`PRMonTC8?A`ql!Gb+;NkYZ?Hsp4A0Ooa&DtD9?@d z7B84Z>rHz*rk;5F+1P`^hnq2ZFSlV)8$(N$k{JqZh?g-4!@7Xm z@N=s}NNc7by~;gH{D82hN(T_9ObJ)${nG&k)8w3EFA`*Mjt9Jar zjf^V;U=0AucSJQhOjq=sH=^!O1BU#awfVfbS8;7?JWns>dSfM$Ts)j7$&LOF5Cb>ElB>DQSgK5t zye`UKow?-Ev8@`}&6*(t1mUfaJ&Kt{9EFyI%njy3|_EdTlH_n$6=1jHjl( zzwqZr9y^`MRhrG_c?Cw#H=c-1(Q1*@#LP;)J?p$>y6B8|9Gg?G$v^qx;H%$R)|}e1 z!jw0JWMw8j90PzCeiDZFh9hp?od18a|A!;H`6|V^ZS)O`>)(%VD1`yUSG>b;km5iD z(EE#vtJM!~I`b6=B7l*vYtD@60U&Yu+F~n1X&?fKrd>MSOiNdNC(}8{2fLQ*XfK?r zdsk%GZjr@n?Yg6RbtNa=#`G6g7Md)Hq2AH(oj-0bDFxv%uvRBjGvcNJ*MT)Xpb6oA z>QOJOo7{J(d8M)EA%`6*d-kJ6k`=Ebwvxsj4jfUS@8sB6s{N;TC5K~fLFvHJULl7g ziMA9;z0|sHS6|nQz$aTR3~fzet2GR5z3mRsA4Utr^dXF9h}w~+BZ!$+JJNIl@hc1f ze_D*IeuV*`Kkv&JY0{I^K8%q@89?Zj(9$hG84vY;)xS)~8Q$POo5KJA002ovPDHLk FV1mpDd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN2_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4218f2f1de238952a5117581e491960092a4430a GIT binary patch literal 1951 zcmZvddpy$%1IB+YLrRI|G!j}hY~jea@vnN$$BEEA-O!SliT&;nbSO zMt&)G6HaV;E0>K)BVC+YMGjMl_w;!`?;q#$dH;BxKfcfN&-2$)gb&!Sr)#VW0Dzvq zpHDCVsA0ZK=WhT+81?f3Ks(ys$NO+b=|_&3#WmOWEzg-<&6P)nQ(f&~$2D79{=6oo zT8-)IYaFKO|D+*wx3$l0f3HJ(>Vr3Zb*xS9>==I*u)wH0;3YP*pNnmc!Mc;l8jph z3^B3yP{4iiq1ty9;j(RI07HD_??wdJM|IWjJ2GSl+z>E5)clzDTX}hRFqw-R>Ary* z#-KZ5G0w>2Ym?+=B_JxW7=pjG<$BIBo{0KkcQq+zMz*}tytOvbc4Vd{C-*hukI#4z%ip+t3~j>S@F&dO z2><-C^YJ#Exw#1Wn>S0Kf^phY!O5zUQu9N7?{ikmrN8IJuCI47LZT=6B+tQ8L4M)l zXw}B-hMenk=8>f?!ngA$_Yu6M)mR)7>bx4I_f3-ALf6Ka6wm*>XJyUsbEL!bk{~cj zuSFz#_zX8YKbrUN(}c^BG2_TAdDQ+<2b=bsDRAqtyG!k~aIRB_YC+2^zWGAH7XQT6cf8n~JHVuD~ySm;}_$;(sBerAks+L$Z^18E$^lh&buSRfd#hchuqViE= zQg#Tu8WWFlUWX^n zr%uq%SCo;(qorm@Vt`j9IlgwowdA4Q_Yeuw*)x|xt+nYVIeJk^s-tZA&UBD3XKF9X zTIzpyhTeuuRvwfc;B|QO3!l$<1ox<4^c_mJcTRD7%z5LZwgFsHu64q(JL7*O8dqOf zEVjIOljZaZe~}C z`p7yMo&`t@yg+qJ-1kVJ*?!M}v4aL_{*zsuYW~IZE z;?FQPP4@2(VwH!b2Y_26P@a+``WI`&q^P6>D$~>|W2B;-_f-ne#eE2gYf;pfAeouf za4!RCYHfEar#`!u(nBTcu zC@|vmaiP(C0P9h+?| zxgvO3KqS2}pzP zsKe7{*e+zM%L~gX6R@7yAzz1xIBk=|(j{8!zI+wg_;9a|ls98N?nfLAbvfYdSMp0p z;-;khU4~U-e|!-36g6 zT;u7Z(+!D)P+wf+IExgzhEiMA2U&69qJ+d7GG=gw*07mB_98$21Mvs&&E z=|2qLKZmK+emAEwhDx_?X*m#E7u{}#gN+S?!P+x>e^Z6~$=+GG?QUaWK2Y8K z+)OuD2)eWUUE{Ez*f~y~EUoPgBx#Z6Tc{m3OHm%mirE0$H6Ew-%eRyt>~9)bq8&H* e-(Tj(OzjcYsDHTab%^@?dHsC@d}@9=dhS2^z^6R` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN2_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN2_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f89207c5c3d87aee44b4385d912140342b06e5a9 GIT binary patch literal 1463 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 b@BXrO{F}7-=)T1Pppwqh)z4*}Q$iB}m^fya literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN3_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_PATRAN3_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4b7cbba32b33608e150d51446e6f3fe255d14042 GIT binary patch literal 865 zcmV-n1D^beP)cNBT2DwQW?O;&^MHF2^1U*O{>Q4w`qr7woLJuKz zNj)SIwQhoghb3g$JP0aD{y=wAVJBy)r-Pf*&hG5KyYI|f#C%ROJMX-o_t(t(KJP5> zzhL9J*;(PU11Tw$l#MD+7Hz9>A|i@!#`;Z@T%`lvgfP_Re z7dw_DlLE1UF%pFYNTh@SiIAEI>5~Fj5=-*0OA3Uj9FjkBuDirMOBTtgEp-IclGtTR{rR2y}1MgN* zJA;ER>)p*Zx*DF@8B*!S*-Vn-;|(mybk||!nWwezx&Zh+0HC~8Qqo=m_5mh`lGM9$ zFbbV+ugCB5qBiq-VozE~Jz#MF@rUD|^(2lOUsY$7ug1ZaRX*g|(a2N|$-P#u+sU83 z%GBtDwm!D}>x`0+XEh!(Bv~GlBmm^;=My{WV}>WWWae)OkPuBaWi*$Z+=v1*D+)Dt zdyH$eo#98zun{0HMQ2u`8~eNZEqxuv&T`B5M{KL%vB;A8(V+gLfz{YY>4N4#d}2b! zd@0jJ7R>waMc~oAg|VbLPki0=aa*(tiL)Qnsb@_JFG}Cs5kp^X0B~e(za5jIU?83O zYwk|Tva~Biv_06U{?fE-xCH0lg*EH6o8JwWz^3gdKd(ePx&UN}PgLY6N-?mkR=8&a z7D-BkWNJZxB>tFF!bIf|5z+e7Ym>>6Mi*OrV()HK#zGrFIYXhKQ#f4Kv35+RLLm;oVDoyO~*6e%Mv#ifg=zMWxU+tq26kM^UpCkXl&{9cmV*> rNLWgL>M~jaARRz&nUJ%E#oyr<9?9h9d;|>E00000NkvXXu0mjfx$%^+ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Polytopal_mesh_missing_offsets.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Polytopal_mesh_missing_offsets.png new file mode 100644 index 0000000000000000000000000000000000000000..c2415467b75ac8916d8e878d0eaf5f0b328d6f3b GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f9Yvc^M2i4jBCS zpJ8QuI6$$we+pO`NGS=RVRDhs^=n5zEdKo&WGw-(;~`_E923*l<`ohkm7cDCF6*2U FngHi}AKL%` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Polytopal_mesh_missing_offsets_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_Polytopal_mesh_missing_offsets_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2b81c79a7903ff7d026960cae4ace2a5f940d291 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5bj^SU816pM6~SJ*LKH-G!d#XQr1w`E#5ZD09P{G4&en T7I_&*Z;(PyS3j3^P65;~}c+0LG4Xz3i+_#npRj%KCKZdF1(1#1hN_{5DeAfMbX4lo}lQ&IKIca&f=zLCf gwFSsP5NNo+gCU<)fLVCC>kSa!)78&qol`;+018SlH~;_u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_amr03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_amr03.png new file mode 100644 index 0000000000000000000000000000000000000000..159d9a4dd8526164f865887a3a6d341ea8eedbd4 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&si(#WAE}&f5zIc^Mp7SR8)o z|1x5;~}c+0LG4Xz3i+_#npRj%KCKZdF1(1#1hN_{5DeAfMbX4lo}lQ&IKIca&f=zLCf gwFSsP5NNo+gCU<)fLVCC>kSa!)78&qol`;+018SlH~;_u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys1_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c55fb3e9316ccb46e47a4b40eef7fe4fd639350a GIT binary patch literal 1658 zcmZ{lYdq5n7{@o6YN&HaN2E9%ESAf%^cgMJWYn1b$A4}qOLS3+gqBPAL=?7V%WcW+ zZ~bY@B}ySRHkZ_PT$ZltL`1n%M>)zi~DPQ;}ZL=#HNEjd;z7SAJ`aa891ZYzqCWC2#fet;v*1_1=H38=6aIx9wAgxU3Cp4j4BuEV_3n9l}$pxdnj{_5jCo4`> zg}Z9HE|KSIm6Ka6J}V-r~@I}p*%2&y}cYu9O#@m%E=EL3$qwq&0=P@BVW zMT52xR>&X!K|Q>e7}azhqEP>=9RMVeoV8Ck)f`KKb;a}&0K|thlLWna>wxLC& z=6!NF7t8`8!zQvBa*H~6+=|c>}UQ693#@?7g$gEC9mteZXIJl(hx}p_B1n_ zM+T0%c<*3n)7fitr08*y?X-3AKND zcVhdHW&k5kRc!LI>CgPR<3nLC{}$ES_8t%)9%eoQ+w!A4=Z^T9A0N?!Puj=2F}{dw zFg3oK0cWla<3>~Kn2ppTT2hd;?qdcjdZ-8ewJ}at(i;*8s?=SWWi#&93b9>=7;#$d z4*B7oH$B@*lDdeomJuaAP(fuuvXLU&sJJt%j7^fz-jv@TsPV%0-s)=4bc&gssHk7jX0ruW8N953Q+Rnp=wN3vE^(M2*AhZ%3SB zl{a)hc=mqsmU3EM5mCqX+x!an?reWN&j#A=&mGw+efr{%XPBm~KfXTm0>sO6!33JU zdrun6BP#)A_PA@~6?fz-t%RF(!jTu-Wbf^`v~DYS_cIlWMNBRsr&7KSIWc&y{?z*J zg21k}^ibJ_x&Hh(_})sEG1ah3z=DIhY%exeBy7+KrqO{!Dd`=$Qy_(Uq#a}E9JWG> zlF|b%9$2li`)AxYj{x>=2Imz?O z^E~hKyl-0Iq5f+!eDWK76u`1i&Mm!LDwRqz$NYtSMUp%#ZUR0*{s90~#mys{o$ovR z4DJ@osA=|FFJr1gR{lB_oFPe`@da{VktBIOvO2ro1gzNb6hf-r6-d3#Rw2j{dO}fVlb)%fPjohPbANE0{{+TCCIw7(YoAQEYt--n0C2X`@_yF0F7+OJpAe2s%0DxJo z5W79P00716ivWNHt&lFu*(d-YYYM8~bP3;PQPM1@R{eEGvX-^;MgX9x6(Yx??aT-R zKzU9pq*+}`=NMnE1?Y6NzM zupWpkL2+B=r#2XE@T~c&;-NOKVx-)tV}r2c)Ql)s)r{*4!te78cYR z!df8)5;AXMmT69x&=#z%eYEj`PRMonTC8?A`ql!Gb+;NkYZ?Hsp4A0Ooa&DtD9?@d z7B84Z>rHz*rk;5F+1P`^hnq2ZFSlV)8$(N$k{JqZh?g-4!@7Xm z@N=s}NNc7by~;gH{D82hN(T_9ObJ)${nG&k)8w3EFA`*Mjt9Jar zjf^V;U=0AucSJQhOjq=sH=^!O1BU#awfVfbS8;7?JWns>dSfM$Ts)j7$&LOF5Cb>ElB>DQSgK5t zye`UKow?-Ev8@`}&6*(t1mUfaJ&Kt{9EFyI%njy3|_EdTlH_n$6=1jHjl( zzwqZr9y^`MRhrG_c?Cw#H=c-1(Q1*@#LP;)J?p$>y6B8|9Gg?G$v^qx;H%$R)|}e1 z!jw0JWMw8j90PzCeiDZFh9hp?od18a|A!;H`6|V^ZS)O`>)(%VD1`yUSG>b;km5iD z(EE#vtJM!~I`b6=B7l*vYtD@60U&Yu+F~n1X&?fKrd>MSOiNdNC(}8{2fLQ*XfK?r zdsk%GZjr@n?Yg6RbtNa=#`G6g7Md)Hq2AH(oj-0bDFxv%uvRBjGvcNJ*MT)Xpb6oA z>QOJOo7{J(d8M)EA%`6*d-kJ6k`=Ebwvxsj4jfUS@8sB6s{N;TC5K~fLFvHJULl7g ziMA9;z0|sHS6|nQz$aTR3~fzet2GR5z3mRsA4Utr^dXF9h}w~+BZ!$+JJNIl@hc1f ze_D*IeuV*`Kkv&JY0{I^K8%q@89?Zj(9$hG84vY;)xS)~8Q$POo5KJA002ovPDHLk FV1mpDd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys2_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4218f2f1de238952a5117581e491960092a4430a GIT binary patch literal 1951 zcmZvddpy$%1IB+YLrRI|G!j}hY~jea@vnN$$BEEA-O!SliT&;nbSO zMt&)G6HaV;E0>K)BVC+YMGjMl_w;!`?;q#$dH;BxKfcfN&-2$)gb&!Sr)#VW0Dzvq zpHDCVsA0ZK=WhT+81?f3Ks(ys$NO+b=|_&3#WmOWEzg-<&6P)nQ(f&~$2D79{=6oo zT8-)IYaFKO|D+*wx3$l0f3HJ(>Vr3Zb*xS9>==I*u)wH0;3YP*pNnmc!Mc;l8jph z3^B3yP{4iiq1ty9;j(RI07HD_??wdJM|IWjJ2GSl+z>E5)clzDTX}hRFqw-R>Ary* z#-KZ5G0w>2Ym?+=B_JxW7=pjG<$BIBo{0KkcQq+zMz*}tytOvbc4Vd{C-*hukI#4z%ip+t3~j>S@F&dO z2><-C^YJ#Exw#1Wn>S0Kf^phY!O5zUQu9N7?{ikmrN8IJuCI47LZT=6B+tQ8L4M)l zXw}B-hMenk=8>f?!ngA$_Yu6M)mR)7>bx4I_f3-ALf6Ka6wm*>XJyUsbEL!bk{~cj zuSFz#_zX8YKbrUN(}c^BG2_TAdDQ+<2b=bsDRAqtyG!k~aIRB_YC+2^zWGAH7XQT6cf8n~JHVuD~ySm;}_$;(sBerAks+L$Z^18E$^lh&buSRfd#hchuqViE= zQg#Tu8WWFlUWX^n zr%uq%SCo;(qorm@Vt`j9IlgwowdA4Q_Yeuw*)x|xt+nYVIeJk^s-tZA&UBD3XKF9X zTIzpyhTeuuRvwfc;B|QO3!l$<1ox<4^c_mJcTRD7%z5LZwgFsHu64q(JL7*O8dqOf zEVjIOljZaZe~}C z`p7yMo&`t@yg+qJ-1kVJ*?!M}v4aL_{*zsuYW~IZE z;?FQPP4@2(VwH!b2Y_26P@a+``WI`&q^P6>D$~>|W2B;-_f-ne#eE2gYf;pfAeouf za4!RCYHfEar#`!u(nBTcu zC@|vmaiP(C0P9h+?| zxgvO3KqS2}pzP zsKe7{*e+zM%L~gX6R@7yAzz1xIBk=|(j{8!zI+wg_;9a|ls98N?nfLAbvfYdSMp0p z;-;khU4~U-e|!-36g6 zT;u7Z(+!D)P+wf+IExgzhEiMA2U&69qJ+d7GG=gw*07mB_98$21Mvs&&E z=|2qLKZmK+emAEwhDx_?X*m#E7u{}#gN+S?!P+x>e^Z6~$=+GG?QUaWK2Y8K z+)OuD2)eWUUE{Ez*f~y~EUoPgBx#Z6Tc{m3OHm%mirE0$H6Ew-%eRyt>~9)bq8&H* e-(Tj(OzjcYsDHTab%^@?dHsC@d}@9=dhS2^z^6R` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys2_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys2_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f89207c5c3d87aee44b4385d912140342b06e5a9 GIT binary patch literal 1463 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 b@BXrO{F}7-=)T1Pppwqh)z4*}Q$iB}m^fya literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys3_2_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ansys3_2_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4b7cbba32b33608e150d51446e6f3fe255d14042 GIT binary patch literal 865 zcmV-n1D^beP)cNBT2DwQW?O;&^MHF2^1U*O{>Q4w`qr7woLJuKz zNj)SIwQhoghb3g$JP0aD{y=wAVJBy)r-Pf*&hG5KyYI|f#C%ROJMX-o_t(t(KJP5> zzhL9J*;(PU11Tw$l#MD+7Hz9>A|i@!#`;Z@T%`lvgfP_Re z7dw_DlLE1UF%pFYNTh@SiIAEI>5~Fj5=-*0OA3Uj9FjkBuDirMOBTtgEp-IclGtTR{rR2y}1MgN* zJA;ER>)p*Zx*DF@8B*!S*-Vn-;|(mybk||!nWwezx&Zh+0HC~8Qqo=m_5mh`lGM9$ zFbbV+ugCB5qBiq-VozE~Jz#MF@rUD|^(2lOUsY$7ug1ZaRX*g|(a2N|$-P#u+sU83 z%GBtDwm!D}>x`0+XEh!(Bv~GlBmm^;=My{WV}>WWWae)OkPuBaWi*$Z+=v1*D+)Dt zdyH$eo#98zun{0HMQ2u`8~eNZEqxuv&T`B5M{KL%vB;A8(V+gLfz{YY>4N4#d}2b! zd@0jJ7R>waMc~oAg|VbLPki0=aa*(tiL)Qnsb@_JFG}Cs5kp^X0B~e(za5jIU?83O zYwk|Tva~Biv_06U{?fE-xCH0lg*EH6o8JwWz^3gdKd(ePx&UN}PgLY6N-?mkR=8&a z7D-BkWNJZxB>tFF!bIf|5z+e7Ym>>6Mi*OrV()HK#zGrFIYXhKQ#f4Kv35+RLLm;oVDoyO~*6e%Mv#ifg=zMWxU+tq26kM^UpCkXl&{9cmV*> rNLWgL>M~jaARRz&nUJ%E#oyr<9?9h9d;|>E00000NkvXXu0mjfx$%^+ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_00.png new file mode 100644 index 0000000000000000000000000000000000000000..bb772d57f385260f33b38d5a18e7b623de99cd28 GIT binary patch literal 940 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=GW0o-U3d6?5L+IvDiWLc}5P z?3F+N^}p+EDd2K4-|m@o(lY&Y+nuVaBA#TBCMdZ7?flLC2UgYfeq4EOfBGM#-9p*| zVEE(xoA?CV{rmoOp5!|6tGAzjVG=6{<{g%fzu!DLqWo_C{s$6l5J9m&UzT?l^eA3S z-(Pw09ZVFYIN#R9CrS3-kL#7k4Il;!XjeS{f8I(?YG35R6tIyHGv5DmwX(I^o4)2l z)U#>H5*?y2xaY3+tUqzj+JNqW!+S5*9**CawIgv;lliPQhws~U&R*jHgF5pbKhppI zEco|gyCo2VV!rQwcs|~!CTUZX_Pw_9^jCuNS3q`OkNV&r@oM`z(bxOh-=-cn*l{Yi z;y;7kkIOUHJXmG@T2uX43hVFpYx-}$>YRT9;@If-YxrNkdO80nh$~*HQG3?xrpdL* z_m9>bG~_wLWoFyf9&YzLNBs4iTvN-o#)!sdiP zhRK?09)9jM-%h5mYWrPlT3u@t3ACXLsPIhIe4nrlH&S$W-##v(rY)!)@kT;U?DpGa zp2<^nj3cwxgY+b^o|ZX$xC^R{>3BhVb%9ajL8i&25#?L`)qpW?@m1p8W{6cfMbhi) z`2EzhEiyNiMZcX4iU7a(57l7XlUUc=w^hfrfQ+BB^FjG7utgoBdp=3z?E&eZv-!bx zsHP)aaho@9+s_UZ-Sf-r&KJ2kK4A(#_~Fgm(urUPyv{qk_WePy1Cv<&??g`D#c^Ch zKk9?{4WO~d4FthSvf@qfh9))?H@NMU%YLT=nL{c4E_jQv-;or7vXjP?3d<$ hY=OolEZcx->!0$j2AV>((m_cezNf37%Q~loCIG4QpX>kt literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..09d35e09e0567cca00dc834bdc9ac6798ac23686 GIT binary patch literal 759 zcmVHDy8^49n#uw5fKq_k{9nRd6NQ1 z0boGTB5ObR*%s6X0OZL}1|XRvYo|8KWs2zo0P1-om+_{rZvJH@5e6z=_4L{HUI8W4w)o|Let+qHlW`mX;1Dw z_Z!-EPcUq--rDw2V>10c$yH}U(Bii9nmouz7Rpq!WKhUS z9;Y$o)yR4;FJRwaBWX`6{C?((Zn^?4@E7qZsq9brWAQ{#j!;# z=G;o)Er?oJsz`oRvK^TPF9^K1q87HZLKcN{7VveZPmdl+lZ}k* z(zV@EySgTMvI3Ak*~IvNE}j!Ro0M;2Tsp_aNvJ9(^002ovPDHLkV1f;oS|I=c literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_02.png new file mode 100644 index 0000000000000000000000000000000000000000..c6888f682e14fc0f3810b50c30bd2e31bcea7794 GIT binary patch literal 1033 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=GT{JY5_^D(1Ysdpj@6T7)$q z=*|+BEyeaqjK6AHO*MeZNKC`VH?a(tVZJ z9C(&oQ5yTP|MHrK4NQl)-fT}RwMokcY5RNZLu1(Fl|X|SwQqi0_J#d;yx;qxk{1P? zHTlyw#1+`My0?S%aA+4SVy(Nm*m?TgeZOa3lwk8SX*(C`+?yYE`+OG9(#Xb@+1HLg z-JFpfQ}jrms(|$PP;=*=)7; zVe&S%vs@e?g^hPNJaav}I5c206YH$d%Zszk&vNzTgv~#E;XwHPS)vwqXO%ul3f;_f z_5JNx)|b{8CR=>)ZJpPX2=uqn?uT5HSAoLsRL?`}dy;pR@6TQl*;sgX)$Y9d&&Bc6 z zVWVlbhWd|rAjO{}P1ab>&e^!Z>JQuTwzih72LxZM9-U=+eY5)3@`&A2UKQ=kxVGH= zzE45=iR{C%uS%b#)z*qVJ^J@Lr(M9tNPWMzKOSCN)3Eq(Z~E?uX{=i7A~)O2WlCh_ zc0Ib`)V`C6XSqUhu5mvL@!Jec0HDwV$7;!)X8w7)^*_E`IU~FpfG?w;P?H2t*f;iwrd3bJZ=J z1~O@dbzA(YKcAe>a;*^#Yg}5_YPiR=RN{JO7$eC33#n(dDo);X`O3QQO1E6Hgh1GW zUlMVmk-tDG0O+*4*VZVV_6eSa>>!5-28LRbeV#YJ`fku}zXVN|FrQRt=NuQlHZ_fv z&oq1Wd;R)GB=1Pg-~8>K)a=%+-?!eMYRCgj%NlEH+23tU&c1f?l9kvs$*`}|*VZ_! z-q7`D_u758^dOP)7%Q6vzK-SL@W^HqN?5g@l5r6p12kM7WIyf=xIrw*a zGjC?zy!m)l^&_p)OZ~XcmAg)W_C4vRvE6bOu1r+z?y8%Lyai#YhoA`A+sB8rh^Y04Og$aAGtI zc6l^Gc*@JtJFq9w_?M?O(R=p!_QzwAAey&t!Mi6f_aT*Jt4ep5sv6(t7Z!QvW5IOnv@BmYr0~9CUvDFAraua@g-7Z0#G^-Hiy|FDeJmo=D7Z%ygj!E;9D-Y zI*{G~AcC>=Zgt?E-sabOWw{K1&l7i7S|I=*jID|$rP!6;vh4ZER0iPlC21c3 zp5-d6*C(=tRb%|B-cuc-Pr$!r01&Dvv$>J)78G6SPoq+B$qhCz9LxVbvIzj<${09} zsD}IyGb;6NYIvpJFIBpD8dbdbB*~{MdU{OZKN$ZxD**t`m}52@{Z#~XC&q>oJAMGs z_@!x1BaLVD8qrtH`W$-mfL}m@YHxz(M>uadqd#0N)jxL{-PGuR=jKW`?7oT`7`S-M zZ&-G3ZmuRrh_V4w7mO371JY199MmeBoi4$hQ4AH{-SyB~YHVHM)@*P8yOD`mww6IC z7cy3ep(8cN9 zjtuPfL>v~8OfeKBli!WSt1ZmWgz@pLL-0TMmn<_5o&|QEP~IYvlcK!j0)IrYJ;I&~ z%NGAr&`uyXAgRZl8OSb0(mG#gY73#K<%i}Y!1~5B5|;BY6IN?jA7Lt#RrXuN5i0LD zDSOK9&DAaex(>j}UOUY88vHvfIo3@1;YB4jnrD&-o88wX{%d SrDcEs0000sWNlL4Y-2 z;;Fyu-{@>Pptj?}^fWiyOVztm9BLbpcYoQeWr@;h)eyuVOr#B+kcM|*RHEr%-GPDR}xU8>t26%^%}nOp{pKW zuAjQW%wpc6>DEx29=I{r-MYH)wCDZW^eb(R(pwkWX0P}-_3F31QqC*a9C&G*t-Hli zuWrSf12d<7&9Kw6*^43n%I}k?|Nv}^SjFzZ%KUMHuY)S(SXI;t1t7&7n`hr_(H^j_jTNg z%DF8dEkJ)Mr-#i?&3Ldnf2ycPfmC1Vligu?;@39m>=s^Kw|DJM<>_yZhg>@_o6A=6 z1JEa@cz#G)g{A_-PUCW0^_$GQ%J*ll*u?Z$YxTQ3bswwu`rU2Y{kG=Omc#`;P7;sZE5ASu8+Z5bxS|vTxYR%(#yAQL!_gks0$>M%_&Rd49WnD)W>U9F}e zf6inaJ}_5X+sU-p-l%WaLfj{C=N-k$hYI%)6WRex{q|MBJUtVp0!y3VdynDfE* z?#@k*4yRw*ASJiyAhQVf>cjB`e^erT+gnTzc5U_Cc*^Sfa`mg35&@B`ec$(lM>blA zU;DgQL;8IDRM8a?k<#Y9AGteEaeZ00X63hw{_cxTafQr@O#gX<_0X*Es}66{Y0WR1 z5!u)^b?ZS()#V`1z>`CXO*8+yX@BhmH_V1a6f}_lBjUO3>c5BQ@2p$7#^G*vJ*&Rn zYFG*aN*=$w;j3cVKXV0;tnKOt;#n&}vZc2_tUM!c9}?MEc}UCPReHwZ_kOv@Dz#QK zfKuuUqs?4#PjVLhYS90>$X%MPMRdizw$)0D{XtP75Vqj<87-riD5uheQ4!JHxewYxRle+kR#3o)Wi5a%&%h~ioGClPgg&ebxsLQ0H4RzhX4Qo literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bestline_3_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8d69519f6354e78615f1d9d36617a0adf70f3e70 GIT binary patch literal 1295 zcmV+q1@QWbP)7hVZn+ zD)zvIlc`j)l9VQ1*m{3V(nK@OYw%9|!M#|_utmn*YgI|`>$6vR|ILOd&k$X75MEB# zl7V-gX;}y2ibgb_h%tp%uC(5r~?$x@A*RLOC?QqGMX|ocdAp|&jWH3ym$^b6jsja#? zX`)NDOtfH)#D@k%fX@o@k`pBR5Fe`Ru^NuY${>lM-mfSkO4gkpDUAvOmhwIKQ zJC=1`C3ADt)FZp_Gix^Z<%9XmVm0@Wqjvy6ER~uJR?-32f3o^lu-wqyl6?ti6O~~< z9`kXW;EYQ`LFzmgQXlc!sOAQvZ=W z&}k7aeS0duYOOB@1w7aQ0HMBRx)F$&1sMQv!XC5Pn3p18@|Y$Jt%m_5Q|HDxl{EV3 zC8F=$+U!5JCoCXcKNGmQuz|eAM}L_%sFrCovqJAjKYiE*vJ0F@&{)_q>{79Q{u(AK zL~TtlLX?fluO@0oC^zpCkW(!MQdd3P8;!Ng+?wj?{djn^9vj@0XxYcsg52P}TH2?7 zkj>fKWHN96FplSM+;g}S*%0L>ca9N_c~b!5igNdxPj^(aZkFiThJxT1L7b^Xi_%JG zk=bgd7aJ;5!iRZRVk|`_E!`Qb6RvUI5t}P9k4=T#sQi^jFANo;1)`D0LP@g~xzOAa zDs5=CsSVsN&uL(Xx`|coj9hr%?!uk#9ZmEAIJ_9~LIn;Vb{IoM3a=$Cz1&GlHy4)2QQW7r(wY-lC0eJ? zw;*eS-gML~pwbHO{<#H&NXrM!CxG*cXKYyB!`!f1!`X$I8X{`o#b=A9CK1JduIl0)S3Mv3~#Q;A2RD0X_KgvkXWwXl$4ztDO` znuzFvcl|Nf$*=lLyIIdpt>O??x+Lzmmo{zMv}yA{=RZ7vvc;!`TAu&_002ovPDHLk FV1hb$djkLf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bigdata_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bigdata_01.png new file mode 100644 index 0000000000000000000000000000000000000000..2387e15ab27a6cf50f496ee20f9f0b19d883fe71 GIT binary patch literal 533 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK+YXc7srr_Id3l<^ZOHB-kqWyqi}GA0BUpz)Kuv)&FBeO Q!UT#zPgg&ebxsLQ09?SJ9smFU literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bigdata_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bigdata_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a61ffb51678cb5a10e924169c2e652ad58b0db2a GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5L}v1UOhws3%HG&Yxf7cEtC>&r|uC+csRbP0l+XkK+L%l3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_01.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_02.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_03.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_biquadratic_quad_field_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_1d_curve_element_assoc.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_1d_curve_element_assoc.png new file mode 100644 index 0000000000000000000000000000000000000000..b1cc123ad28e3397d10e35de26e96889e68ea6a4 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_j0_AM%nQEi q+txF`VCM7yso8P0jvqu*8Ej*;nZx*>>(3&0kinj=elF{r5}E*!v=?Mkcv5P&l(Cc7;vx{ypx!* vdeJ}GM~}pXm{&fUVc+&* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_quads_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_hdf5_0_8_2_quads_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..ed914ae20dcde631255c8de5388f767fb95e07f9 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICqE1mqmz=R2;3v?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSp@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_struct_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_struct_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_tris_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_2d_json_tris_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..ed914ae20dcde631255c8de5388f767fb95e07f9 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICqE1mqmz=R2;3v?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpa4i)b^$V$OKPUKbLh*2~7Zr C3Leh@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c3a134c2c1d0453e27d45c75bfc241381242a9 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5UKXc23eT83_T$vEYnYnJWDaarosJO$H Wa*&Pr!S$1!Ag-sYpUXO@geCwF;3%K~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..87d03944a0249ca4a4b787fe52383eae6d0ba4f1 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&fBvac^M2iSPXB} zXIxtThmG^*-a4i)b^$V$OKPUKbLh*2~7Zr C3Leh@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c3a134c2c1d0453e27d45c75bfc241381242a9 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5UKXc23eT83_T$vEYnYnJWDaarosJO$H Wa*&Pr!S$1!Ag-sYpUXO@geCwF;3%K~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..87d03944a0249ca4a4b787fe52383eae6d0ba4f1 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&fBvac^M2iSPXB} zXIxtThmG^*-a4i)b^$V$OKPUKbLh*2~7Zr C3Leh@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c3a134c2c1d0453e27d45c75bfc241381242a9 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5UKXc23eT83_T$vEYnYnJWDaarosJO$H Wa*&Pr!S$1!Ag-sYpUXO@geCwF;3%K~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..87d03944a0249ca4a4b787fe52383eae6d0ba4f1 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&fBvac^M2iSPXB} zXIxtThmG^*-a4i)b^$V$OKPUKbLh*2~7Zr C3Leh@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_conduit_json_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c3a134c2c1d0453e27d45c75bfc241381242a9 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5UKXc23eT83_T$vEYnYnJWDaarosJO$H Wa*&Pr!S$1!Ag-sYpUXO@geCwF;3%K~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..87d03944a0249ca4a4b787fe52383eae6d0ba4f1 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&fBvac^M2iSPXB} zXIxtThmG^*-a4i)b^$V$OKPUKbLh*2~7Zr C3Leh@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c3a134c2c1d0453e27d45c75bfc241381242a9 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5UKXc23eT83_T$vEYnYnJWDaarosJO$H Wa*&Pr!S$1!Ag-sYpUXO@geCwF;3%K~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..87d03944a0249ca4a4b787fe52383eae6d0ba4f1 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&fBvac^M2iSPXB} zXIxtThmG^*-a4i)b^$V$OKPUKbLh*2~7Zr C3Leh@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_hdf5_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c3a134c2c1d0453e27d45c75bfc241381242a9 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5UKXc23eT83_T$vEYnYnJWDaarosJO$H Wa*&Pr!S$1!Ag-sYpUXO@geCwF;3%K~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..87d03944a0249ca4a4b787fe52383eae6d0ba4f1 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&fBvac^M2iSPXB} zXIxtThmG^*-a4i)b^$V$OKPUKbLh*2~7Zr C3Leh@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c3a134c2c1d0453e27d45c75bfc241381242a9 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5UKXc23eT83_T$vEYnYnJWDaarosJO$H Wa*&Pr!S$1!Ag-sYpUXO@geCwF;3%K~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..87d03944a0249ca4a4b787fe52383eae6d0ba4f1 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&fBvac^M2iSPXB} zXIxtThmG^*-a4i)b^$V$OKPUKbLh*2~7Zr C3Leh@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_periodic_hexagon_json_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c3a134c2c1d0453e27d45c75bfc241381242a9 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5UKXc23eT83_T$vEYnYnJWDaarosJO$H Wa*&Pr!S$1!Ag-sYpUXO@geCwF;3%K~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_tri_beam_legacy_lor.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_tri_beam_legacy_lor.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3fa917e99307ecdedc023ec27a9cabe37321f2 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f7B^c^Moymds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_tri_beam_legacy_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_tri_beam_legacy_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_tri_beam_lor_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_mfem_2d_tri_beam_lor_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5;4-LCJ2{GbP0l+XkKx7Zs4 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c9db8ef2cd9fd34549c1c7d1cb87e8d17d04090d GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr03NC} A>Hq)$ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..32b9d19ff50a7c05f408f71804558ad2cd5c212a GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sNy#WAE}&fBw&j0_Ac2ONI2 zFKgj{$CM)oQUd~WrYzn%>;4-LCJ2{GbP0l+XkKx7Zs4 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c9db8ef2cd9fd34549c1c7d1cb87e8d17d04090d GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr03NC} A>Hq)$ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_rectilinear.root_plot_2D.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_rectilinear.root_plot_2D.png new file mode 100644 index 0000000000000000000000000000000000000000..083af9aeeaf219634c9feb080f18cdde3163dab5 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zIIT;Lim^YUE zUpQNoNpA`N%ld>ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_rectilinear.root_plot_2D_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_rectilinear.root_plot_2D_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5IJF73XT;SuUjqd{8O&x9V1o+#0nOyU{sA^Vww{jDGt)&>FVdQ&MBb@ E08e`xiU0rr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_structured.root_plot_2D_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_structured.root_plot_2D_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..90063e7663502c034597b84b48de099e2e281019 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5izI?5s2&Q L>gTe~DWM4f?}j1J literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_uniform.root_plot_2D.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_uniform.root_plot_2D.png new file mode 100644 index 0000000000000000000000000000000000000000..083af9aeeaf219634c9feb080f18cdde3163dab5 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zIIT;Lim^YUE zUpQNoNpA`N%ld>ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_uniform.root_plot_2D_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_uniform.root_plot_2D_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5IJF73XT;SuUjqd{8O&x9V1o+#0nOyU{sA^Vww{jDGt)&>FVdQ&MBb@ E08e`xiU0rr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_unstructured.root_plot_2D_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_blueprint_rz_cyl_unstructured.root_plot_2D_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..90063e7663502c034597b84b48de099e2e281019 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5izI?5s2&Q L>gTe~DWM4f?}j1J literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_0_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_0_05.png new file mode 100644 index 0000000000000000000000000000000000000000..7c54c2e68c4f9522ddbcdd0b1b67d27987d57055 GIT binary patch literal 1425 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=FIho-U3d6?5L+y*X*NmjJ`X zNr(RbKmF-&PVbRRoO>B(`kSvyUQoK|N|HdLdqi3PJ?;~)zy6N56}K_Fmi?~&TlA+1 z5u4pI=Z4t|U0W6y)!)kB(Aslp*808j*YXx`*>*a=FZ77U%BS2JrRy%aWuD!mHGc(A zne=+A^vu*L*AA?Hp;;xN8v0zTu<4vzX6ar&nOcR#Te{-@TxgbBdiB#OyLX&DmsVBe z%6>_4^Az17##b4)c*~`@%a3CZYph*yUHMU$TjtX}a@X5_t($Ot^O;1p_n~Pj?+haa z1C#dTwTQOweb*{_d{17xDEppw8xQ*5-h20c;U=Y|`xSS^w96{)N@}mTF8h6r%C_3O zHJg-}dZtGRPJFF;&0jJuNj10fZcX$2ZCmeJN4{SRlrh$=>@>Z#k_cLA`$7m8czFTd2WjD%Qt>YbvPCz5SbZ#(NuK{%%B+aK|}=ci4cI6?ky1-NUjbGi~s&--ov~5-=O+Od-?lrZ6tMIH%k7!b6AM`OV5XQ@p%YW z=YIeFQyt9@*_-#@=79vwuS1{S#fQO^Z}a+AjAHDX-b?pcj>3cRg88)a|3yWc9Fo?W zSDr=>*r?oJvwIO91-hmA>D~Q3bJlFV=Y|^m*-O87pMQQy{ziKJm*6p_5YnSl%eCLf@JJrsP_iEHRZ}to7Ks7hcq^#U}UHbR<}1IltDD1LZ|?yr$vV3?OJCN(GUB_; z+L@cwyw|S(bgwPT)#cl~rC~1r*w%+N04>{75|LGA_GzPxuFHp2+qy1B1vq{#;$NF8 z^zGTMeb-j8-|1Ypc5AES_P5;Gxxs(3H*^_KF*W(o^q_0;)b0c8=dD}D%2F1S73amh z_n+BHH=>U2@3*QrP`EX#rnvmejO47)UwxlHBp$!K>U-{okIMZ^L%&vk&W^PTsXMaZ zz(aS*wZHh2r&t{3i1L+-)-0NIFKVsa2hHMn>!RMyYt<@QmKWtaUrM`llU~%?`RlFU zFLiEL7wn$9>0?G|Wya<^p3+%gtM+VtP$`{RS|hOI$x7*rueB+=Ufk5qF0J3O=M7U< zR_Su9vr7*%1O?WJhPq|*tkl>);Zf9K57*YMQ?5#Nt~!==DzjHrG*m3aE!$${ip|R& zM=5(9oiLrR*~@k5R9VTjg)6hx=B~eXA}BDovU&^K^sXxHB~g#PU5~mdtql%v{lh+$ WEyW`%JbMbLto3yDb6Mw<&;$TX@~toc literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_0_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_0_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..453efbfb708b333e2e9eabf7d060a2609d137eba GIT binary patch literal 798 zcmV+(1L6FMP)8QABr%=B%p&yu5VS9x4PtL;4p3LIgl#X}R2{MgY{r7aQaV04@j^2jc`e zLH>Kh;DK!LKy)66=X+`xgo6PVqc`5OkMzh_Ceb50kL6n7(RhOcvj2|5a&>mumku>z z2<+`oYNYgo#mLWpae`S6~7))9-<46=Gzs1lCcA5y1c>?~0;xXuRA6^ZuSF zV8sCj>SLt{Fo?v+4u_fO-$36JP3CYVip4;`Ph<^XP-rizstzzzG*ZL>z^HG-1#oD* z!2xMj05H%#wR8mlgCORo?5#@BIxknWSBiIAT4aT6&J8co?m zC=bZ4Vj^8aMCqEyYK{((nV;JO2*KJNn$6PhSw3d^ z6!m?4U?#w$MT(gSLv4sZBbbSF+Az**bsss+h+nSK8zSS z_FwcfPa=#~OS*UJSUS2OS2L3%CpfVcg|L~OO*k#%h0uzcn>*{)tgCt$p|v`fauWdH z_MgCnG1PeBZ6FYIsAN9x@Hr0pI(bn0D#F)R-$z4 cT%d9O0x6fO0+z*T_y7O^07*qoM6N<$f{?ao5&!@I literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_1_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_1_05.png new file mode 100644 index 0000000000000000000000000000000000000000..08e108cf852c4a40ec608df07a26a0f4b5b0494f GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&s8t#WAE}&f7~HIT;Lim>nno zE${m+(ikH4B(KSR1xPFPfZc}W%qP~c%c$WfNS z{4DW*?hM6sL3h6DpAH471p$Nmv5r@A?{T{AD*MDD@rZf)a)v3X)}gf^IZszVmvv4F FO#qYDA(sFE literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_2_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_2_05.png new file mode 100644 index 0000000000000000000000000000000000000000..08e108cf852c4a40ec608df07a26a0f4b5b0494f GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&s8t#WAE}&f7~HIT;Lim>nno zE${m+(ikH4B(KSR1xPFPfZc}W%qP~c%c$WfNS z{4DW*?hM6sL3h6DpAH471p$Nmv5r@A?{T{AD*MDD@rZf)a)v3X)}gf^IZszVmvv4F FO#qYDA(sFE literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_3_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_3_05.png new file mode 100644 index 0000000000000000000000000000000000000000..7c54c2e68c4f9522ddbcdd0b1b67d27987d57055 GIT binary patch literal 1425 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=FIho-U3d6?5L+y*X*NmjJ`X zNr(RbKmF-&PVbRRoO>B(`kSvyUQoK|N|HdLdqi3PJ?;~)zy6N56}K_Fmi?~&TlA+1 z5u4pI=Z4t|U0W6y)!)kB(Aslp*808j*YXx`*>*a=FZ77U%BS2JrRy%aWuD!mHGc(A zne=+A^vu*L*AA?Hp;;xN8v0zTu<4vzX6ar&nOcR#Te{-@TxgbBdiB#OyLX&DmsVBe z%6>_4^Az17##b4)c*~`@%a3CZYph*yUHMU$TjtX}a@X5_t($Ot^O;1p_n~Pj?+haa z1C#dTwTQOweb*{_d{17xDEppw8xQ*5-h20c;U=Y|`xSS^w96{)N@}mTF8h6r%C_3O zHJg-}dZtGRPJFF;&0jJuNj10fZcX$2ZCmeJN4{SRlrh$=>@>Z#k_cLA`$7m8czFTd2WjD%Qt>YbvPCz5SbZ#(NuK{%%B+aK|}=ci4cI6?ky1-NUjbGi~s&--ov~5-=O+Od-?lrZ6tMIH%k7!b6AM`OV5XQ@p%YW z=YIeFQyt9@*_-#@=79vwuS1{S#fQO^Z}a+AjAHDX-b?pcj>3cRg88)a|3yWc9Fo?W zSDr=>*r?oJvwIO91-hmA>D~Q3bJlFV=Y|^m*-O87pMQQy{ziKJm*6p_5YnSl%eCLf@JJrsP_iEHRZ}to7Ks7hcq^#U}UHbR<}1IltDD1LZ|?yr$vV3?OJCN(GUB_; z+L@cwyw|S(bgwPT)#cl~rC~1r*w%+N04>{75|LGA_GzPxuFHp2+qy1B1vq{#;$NF8 z^zGTMeb-j8-|1Ypc5AES_P5;Gxxs(3H*^_KF*W(o^q_0;)b0c8=dD}D%2F1S73amh z_n+BHH=>U2@3*QrP`EX#rnvmejO47)UwxlHBp$!K>U-{okIMZ^L%&vk&W^PTsXMaZ zz(aS*wZHh2r&t{3i1L+-)-0NIFKVsa2hHMn>!RMyYt<@QmKWtaUrM`llU~%?`RlFU zFLiEL7wn$9>0?G|Wya<^p3+%gtM+VtP$`{RS|hOI$x7*rueB+=Ufk5qF0J3O=M7U< zR_Su9vr7*%1O?WJhPq|*tkl>);Zf9K57*YMQ?5#Nt~!==DzjHrG*m3aE!$${ip|R& zM=5(9oiLrR*~@k5R9VTjg)6hx=B~eXA}BDovU&^K^sXxHB~g#PU5~mdtql%v{lh+$ WEyW`%JbMbLto3yDb6Mw<&;$TX@~toc literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_3_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_3_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..453efbfb708b333e2e9eabf7d060a2609d137eba GIT binary patch literal 798 zcmV+(1L6FMP)8QABr%=B%p&yu5VS9x4PtL;4p3LIgl#X}R2{MgY{r7aQaV04@j^2jc`e zLH>Kh;DK!LKy)66=X+`xgo6PVqc`5OkMzh_Ceb50kL6n7(RhOcvj2|5a&>mumku>z z2<+`oYNYgo#mLWpae`S6~7))9-<46=Gzs1lCcA5y1c>?~0;xXuRA6^ZuSF zV8sCj>SLt{Fo?v+4u_fO-$36JP3CYVip4;`Ph<^XP-rizstzzzG*ZL>z^HG-1#oD* z!2xMj05H%#wR8mlgCORo?5#@BIxknWSBiIAT4aT6&J8co?m zC=bZ4Vj^8aMCqEyYK{((nV;JO2*KJNn$6PhSw3d^ z6!m?4U?#w$MT(gSLv4sZBbbSF+Az**bsss+h+nSK8zSS z_FwcfPa=#~OS*UJSUS2OS2L3%CpfVcg|L~OO*k#%h0uzcn>*{)tgCt$p|v`fauWdH z_MgCnG1PeBZ6FYIsAN9x@Hr0pI(bn0D#F)R-$z4 cT%d9O0x6fO0+z*T_y7O^07*qoM6N<$f{?ao5&!@I literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_4_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_4_05.png new file mode 100644 index 0000000000000000000000000000000000000000..08e108cf852c4a40ec608df07a26a0f4b5b0494f GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&s8t#WAE}&f7~HIT;Lim>nno zE${m+(ikH4B(KSR1xPFPfZc}W%qP~c%c$WfNS z{4DW*?hM6sL3h6DpAH471p$Nmv5r@A?{T{AD*MDD@rZf)a)v3X)}gf^IZszVmvv4F FO#qYDA(sFE literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_5_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_5_05.png new file mode 100644 index 0000000000000000000000000000000000000000..08e108cf852c4a40ec608df07a26a0f4b5b0494f GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&s8t#WAE}&f7~HIT;Lim>nno zE${m+(ikH4B(KSR1xPFPfZc}W%qP~c%c$WfNS z{4DW*?hM6sL3h6DpAH471p$Nmv5r@A?{T{AD*MDD@rZf)a)v3X)}gf^IZszVmvv4F FO#qYDA(sFE literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_6_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_6_05.png new file mode 100644 index 0000000000000000000000000000000000000000..7c54c2e68c4f9522ddbcdd0b1b67d27987d57055 GIT binary patch literal 1425 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=FIho-U3d6?5L+y*X*NmjJ`X zNr(RbKmF-&PVbRRoO>B(`kSvyUQoK|N|HdLdqi3PJ?;~)zy6N56}K_Fmi?~&TlA+1 z5u4pI=Z4t|U0W6y)!)kB(Aslp*808j*YXx`*>*a=FZ77U%BS2JrRy%aWuD!mHGc(A zne=+A^vu*L*AA?Hp;;xN8v0zTu<4vzX6ar&nOcR#Te{-@TxgbBdiB#OyLX&DmsVBe z%6>_4^Az17##b4)c*~`@%a3CZYph*yUHMU$TjtX}a@X5_t($Ot^O;1p_n~Pj?+haa z1C#dTwTQOweb*{_d{17xDEppw8xQ*5-h20c;U=Y|`xSS^w96{)N@}mTF8h6r%C_3O zHJg-}dZtGRPJFF;&0jJuNj10fZcX$2ZCmeJN4{SRlrh$=>@>Z#k_cLA`$7m8czFTd2WjD%Qt>YbvPCz5SbZ#(NuK{%%B+aK|}=ci4cI6?ky1-NUjbGi~s&--ov~5-=O+Od-?lrZ6tMIH%k7!b6AM`OV5XQ@p%YW z=YIeFQyt9@*_-#@=79vwuS1{S#fQO^Z}a+AjAHDX-b?pcj>3cRg88)a|3yWc9Fo?W zSDr=>*r?oJvwIO91-hmA>D~Q3bJlFV=Y|^m*-O87pMQQy{ziKJm*6p_5YnSl%eCLf@JJrsP_iEHRZ}to7Ks7hcq^#U}UHbR<}1IltDD1LZ|?yr$vV3?OJCN(GUB_; z+L@cwyw|S(bgwPT)#cl~rC~1r*w%+N04>{75|LGA_GzPxuFHp2+qy1B1vq{#;$NF8 z^zGTMeb-j8-|1Ypc5AES_P5;Gxxs(3H*^_KF*W(o^q_0;)b0c8=dD}D%2F1S73amh z_n+BHH=>U2@3*QrP`EX#rnvmejO47)UwxlHBp$!K>U-{okIMZ^L%&vk&W^PTsXMaZ zz(aS*wZHh2r&t{3i1L+-)-0NIFKVsa2hHMn>!RMyYt<@QmKWtaUrM`llU~%?`RlFU zFLiEL7wn$9>0?G|Wya<^p3+%gtM+VtP$`{RS|hOI$x7*rueB+=Ufk5qF0J3O=M7U< zR_Su9vr7*%1O?WJhPq|*tkl>);Zf9K57*YMQ?5#Nt~!==DzjHrG*m3aE!$${ip|R& zM=5(9oiLrR*~@k5R9VTjg)6hx=B~eXA}BDovU&^K^sXxHB~g#PU5~mdtql%v{lh+$ WEyW`%JbMbLto3yDb6Mw<&;$TX@~toc literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_6_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_6_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..453efbfb708b333e2e9eabf7d060a2609d137eba GIT binary patch literal 798 zcmV+(1L6FMP)8QABr%=B%p&yu5VS9x4PtL;4p3LIgl#X}R2{MgY{r7aQaV04@j^2jc`e zLH>Kh;DK!LKy)66=X+`xgo6PVqc`5OkMzh_Ceb50kL6n7(RhOcvj2|5a&>mumku>z z2<+`oYNYgo#mLWpae`S6~7))9-<46=Gzs1lCcA5y1c>?~0;xXuRA6^ZuSF zV8sCj>SLt{Fo?v+4u_fO-$36JP3CYVip4;`Ph<^XP-rizstzzzG*ZL>z^HG-1#oD* z!2xMj05H%#wR8mlgCORo?5#@BIxknWSBiIAT4aT6&J8co?m zC=bZ4Vj^8aMCqEyYK{((nV;JO2*KJNn$6PhSw3d^ z6!m?4U?#w$MT(gSLv4sZBbbSF+Az**bsss+h+nSK8zSS z_FwcfPa=#~OS*UJSUS2OS2L3%CpfVcg|L~OO*k#%h0uzcn>*{)tgCt$p|v`fauWdH z_MgCnG1PeBZ6FYIsAN9x@Hr0pI(bn0D#F)R-$z4 cT%d9O0x6fO0+z*T_y7O^07*qoM6N<$f{?ao5&!@I literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_7_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_7_05.png new file mode 100644 index 0000000000000000000000000000000000000000..08e108cf852c4a40ec608df07a26a0f4b5b0494f GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&s8t#WAE}&f7~HIT;Lim>nno zE${m+(ikH4B(KSR1xPFPfZc}W%qP~c%c$WfNS z{4DW*?hM6sL3h6DpAH471p$Nmv5r@A?{T{AD*MDD@rZf)a)v3X)}gf^IZszVmvv4F FO#qYDA(sFE literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_8_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bov_8_05.png new file mode 100644 index 0000000000000000000000000000000000000000..08e108cf852c4a40ec608df07a26a0f4b5b0494f GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&s8t#WAE}&f7~HIT;Lim>nno zE${m+(ikH4B(KSR1xPFPfZc}W%qP~c%c$WfNS z{4DW*?hM6sL3h6DpAH471p$Nmv5r@A?{T{AD*MDD@rZf)a)v3X)}gf^IZszVmvv4F FO#qYDA(sFE literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_01.png new file mode 100644 index 0000000000000000000000000000000000000000..71a6e2b23520e63ac39eca70fc6855351ffb3512 GIT binary patch literal 454 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKu)ixi(^Q|oVRzq`I;OA92^bq z{6Dp$^rf<7oBvhLW7Cf@EPK2Oq#P%>b9~o%yMw(oY4Q*Jj&L1eLRPpeI$b_t(VnbK zZJmnuDY6j{O(PGQ{bmS0`ubD~YZ49MwnI#lMfa3%%GreCj`9?3oeiR5V2Qq`|9P1w zi*^tJZC=X$X}q5;HCfc=dHG?x@SmG!uX*5kKl1Q;VN?Th4$H5oyK;Mh@%eB4ukTHX zTYIIbXie=K-ESYB$J~!RSavVFo%#CJqxU*ztZ~2tA8=p!%J)R^S+g%F5ItS}T-G@y GGywp9vY93T literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dea633470be022556ea1317008696a5f1af0fcb3 GIT binary patch literal 288 zcmV+*0pI?KP)L3ViUcuGL8wg&)3kae&@CeR=lel!V>QG(V7qG!J5$yM~ zy%64ykf#4U4*&oF02;*KItXbw$N&KRly9NsU=~;p=^d}<`nw9reJn<7JQ?%IL5PA7 zLI@$mu;)_@IJwnZSV=lP)!!5V@HM_qKH&SLp&^+sFWJz%sXP~PJCifaLzHuISjksN zbLzQ}YS@$P6<5p%HU8D7^GmUeMw3plR`)>CS;=r&D!c1`seUZ>8cnKfcBL}8RqcVK mvyvbe1M=QfM~Jci33&r{Eh)W*T)amB0000^>bP0l+XkK6@@@& literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5ce02ca68e677991643dfb4559bd8091be5d0789 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5efo;}4L5-XbDQp{83r+TR=`4JkIXg=!UkM20cU<0cMdj9>uUoFV{Hk2?y<6$x gwMBzopr0GBT>sQ>@~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_03.png new file mode 100644 index 0000000000000000000000000000000000000000..71a6e2b23520e63ac39eca70fc6855351ffb3512 GIT binary patch literal 454 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKu)ixi(^Q|oVRzq`I;OA92^bq z{6Dp$^rf<7oBvhLW7Cf@EPK2Oq#P%>b9~o%yMw(oY4Q*Jj&L1eLRPpeI$b_t(VnbK zZJmnuDY6j{O(PGQ{bmS0`ubD~YZ49MwnI#lMfa3%%GreCj`9?3oeiR5V2Qq`|9P1w zi*^tJZC=X$X}q5;HCfc=dHG?x@SmG!uX*5kKl1Q;VN?Th4$H5oyK;Mh@%eB4ukTHX zTYIIbXie=K-ESYB$J~!RSavVFo%#CJqxU*ztZ~2tA8=p!%J)R^S+g%F5ItS}T-G@y GGywp9vY93T literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_boxlib_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..dea633470be022556ea1317008696a5f1af0fcb3 GIT binary patch literal 288 zcmV+*0pI?KP)L3ViUcuGL8wg&)3kae&@CeR=lel!V>QG(V7qG!J5$yM~ zy%64ykf#4U4*&oF02;*KItXbw$N&KRly9NsU=~;p=^d}<`nw9reJn<7JQ?%IL5PA7 zLI@$mu;)_@IJwnZSV=lP)!!5V@HM_qKH&SLp&^+sFWJz%sXP~PJCifaLzHuISjksN zbLzQ}YS@$P6<5p%HU8D7^GmUeMw3plR`)>CS;=r&D!c1`seUZ>8cnKfcBL}8RqcVK mvyvbe1M=QfM~Jci33&r{Eh)W*T)amB0000pi>b&J_s!>V`cMJVVGwz`W&YlEkM>>pn)df>&Bv>2!mhQX)DI%^w{mtiZMyaH@~)h{ z|59_=czouZmy#}eqja-h+m1Q< zlVz7aPK%W--4?U)&6;n!rj|Zmuz1&^n_Exssz0@Dz5b@x(?snb#@?8IbN){OW{~Ho b0ur`}d;Atny2`SY5oDgHtDnm{r-UW|rv{w> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bp_sparse_topos_example_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_bp_sparse_topos_example_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..21a12fcd9e437dc6f81eec68f13dbad00005eab8 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5Ar*7pUN-DHQ!Py33E6=*!y_oy^vGu+SRR+Ig z)F%I)y=!Zm<3zz+tJ*6+JwmQ6Jhs#J=ba{t6O zBR8dZmm}xbK8e~mF+y|etNVJtSKn^Am~>t6w*38wIny5B+`o@+*ZsH4-qiJeds@zS xzQ3aPNyd^a-@eX^Sy!DW=1YM53d26Egj>{)NLY}UEF6*2UngHwchl2nB literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_05.png new file mode 100644 index 0000000000000000000000000000000000000000..c7cc8a5b3d9da6815efd35c9443f400e11b66f36 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKSR5Yx z{~z=Ih)c%;)^xqNlef%FqCnblfe)L0{9@pq7%E@M$gt+<-?f3VQyzfTHt^JJW?+yw zewS;~#VHKy4e}Tn7#?^hnzx6PsBHdv?S|n~k(}cnn2NfC4lT(NzB-xh5EI;v8%^{3 z>QB#pZW+oV`ND;Pp&>d literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2cc050cc4fb44891ff6abcb3aafe54c1dddc6868 GIT binary patch literal 265 zcmV+k0rvihP)*}tk{s8-(F1^ph=_=YXcC>x z3@`;r%)TIKhHRA#l`Pk&gRg<;q^Bj)wTv20kG%Ma2Yd}cWx3*4!{4)ry7>w1ljbj4 z!dw5aG0F=Tet6NSrITENI9#5UY>G|0KKIF}@NcE*FGtxKiHNej=;!YA(d?lCF!jyE z?sA{eMOieu=pS&gQrWJckYpKbR}z(ZCAyheKTn*>*HbC2;tFgvL_|{Vu<;2Tf@VBC P00000NkvXXu0mjf3*mWO literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_07.png new file mode 100644 index 0000000000000000000000000000000000000000..66fcc7454a2bfb44e83f497c3a56000dfadc1221 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKC zzrVeC(9+dD4>Kpv+gzYKeW75q6&pwc9w5Ey*LU-XHlPIz3_3^dM{Y4(mtC^k$&^9v z&_s5yzJl;~PmZW8p57{(7VPm&jb(pAy5!!B;KK))o*p$un7sQ#OopE^!vn=XZx|bz zlLaFtc#D@m$rY8{DU@~gG8cp0oNg0C-Gs0?*OMiqE*{yEkrXAl7h!lpss84*M(6$~3*H3@db;|#taD0e0swNiUm^ei literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7d51d656e9c95689e76f6bf5e7ed9c9d2fea4e8d GIT binary patch literal 318 zcmV-E0m1%>P) zp(Rs_h>0lIHNQqaqokg#*FGmSY7G_J!w3d7!>~bud5G1_oM8ZTsOh zMi~aPsr8P0T2Sl^gZpf58{(kD^6vl0_&?TjyQ(sEDr?T6KeS&-e>Jczap)kGD2^xl zvZlJ#SrdsR<6XL#Tt9RePqqS+s=3 QTmS$707*qoM6N<$f*|0BGXMYp literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_chgcar_09.png new file mode 100644 index 0000000000000000000000000000000000000000..49924006c7a5955b9508116af0952252ccab9662 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKx&1ji(^Q|oVT|eg%|`l7##lp zH(`Iy$JbF7pAfXY4zCKXSC26d(Mg)~(HY$CTZxSwK2xPfKo9*|>hf64t+aX0dxunxK<- zao^3KpXTUkKFR6&v%=VXUgFOKf$J_mY7bBMSTv*W`fO!`vK))onF*CH$@YcE=7p>j zVyG#}uN2RoR2CI?@#)8>Md23mK^nDlO@lX@+54&feWQI(|4#Py8~-)rzx7TPVQ9$j XxwD%2yS8s2$OjCbu6{1-oD!M!nYQ!?v7rkyCuxPxPitk?3Ov>B0tnh!p%RNJG*eL&i-I)@p#RnJ-W@I zuK#2Uh|I|la$J=6cZ{S5XUDUX4#ge4Q*qIM8%@u!BSc)6h#y-#YYeyz*q60@8Vl{_n>$ZlpYE~4uw+M z6c5!}O0wNeb_I2Qmwe2}pX_WV695E35ClOG1o=NW#`n3dN~B|}%8Vetp4xuIO;fT+ zcO*IC4C<=NJg2eDK|=4M)$}>IAbTvUCPl*nZOAZ7Y4xPd)R4o5r8`Oz>(=}gIa4B1 zIRL|7x_PH0e&c&qChQLsi%dc*;H`Fw-F28el%FhF@(#+Nunh*`@=UQ@0dYdUs-zI1 znPR5IzYb1@C4y zEx4SYb76Lz^O(9wg?_ej^;5gy1Dzg{!ckhg4g&x%Cy7OP(VD6%KZn1jUIXY4j6VRp j;}3!$2!bF8^2hlAao{*-up?K;00000NkvXXu0mjfXFc7{ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_compositing_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_compositing_01.png new file mode 100644 index 0000000000000000000000000000000000000000..445524bb2872ee12a2e0504654c18198d2d2d524 GIT binary patch literal 1586 zcmZ{k`#aMM9LFb7ls#@Cm)!5mWpOa2M3|Kw%Jij>CYr{cG9j0oa?N$xbTLBio8x@7 zxwPZfNn-C5*o=u=yoeRZEufbLAH|o>S^)IYXpTYRoU`u za%`SZVt4KL%B4CLupUi;(ob+owV4=4|2NA&yMDI(XT41*@4g{-f9<80elPyePfIR+ zf}o5AYrMWQ^-07sY?vRDOSq*6hL?rR_JKLHEWAi99~eBh#~!^z*s! zca$)!;H~sRjJiO9afQjkp2+lL9vk#z7S_r1!ZTKA2?J-G-X^b>7C6fTy`DSTS9AJq zrqR+k6icQvc!YR7E|7i@CJ3)2vcyK{$!7cuGrb zFeR@Gub(3vy4DoGL-DI-1t4+h1(pqJP7cR@p*N9TM>->89O#!QoW@kHIxV?+MffQ~ z1;IhQ3tp(PPk5eFlxKn~MDtPp^AAVX`&Y4-(R7 z&^=hXn(uX86kOefji@m_kIi zy&P(mReT3{b6*|UBV_cL`6wWDQBjf%aA~WY8%r0 zyuSx$8inwKlRPxAO&s63-dqO~9NaJvLbikPRv&s)fC*^iU0VFIH1D>5S(br>y%Jj#SMuo}(!jBo-uTH#)ZNUz$0>~S@j@x%> z(A*DVAmS8eAA8}~`Lt^9Jp_XqJ1cxgS9F81$Zn&s8G3!Zn^D*@z5cRA9%CS|>f#-g zGVp}h6A4;fWcyYhs!?jsKSK#`&?@XiR0m^t-Y1!=H28hDGn)eS9}t+Ks>^1U-JK zcP%1iq)JsQOxFhk)=+sKb*!(YcHse%&s2lrY=Ft>N2P^`(c&tp%hgb1-iBrA-^GVy256@LKj*7da*u{@xrl$Hpf@IcNX)YwkHJBx*^w%dr&)Ese{jI8!TbS@QZBg zZ`?paS!J(&aDPUWPF_j@b(OdLC> z@owOyu-^MYOa-*~5?XSPa`ZI{vBWgW7zXy@U|R!z1#VXkuz$c}OP~%*Zz+w%WqFw? zF3gq&sYI2^(1pMt6d9RGuaBWLy=sZJlzt404?WtfVUP)1Y+WYRDY^>!Wj&e;gpK7A zk{f(Q;{ca`jKVE}vWRVaGKRylRou=JmgR}3(3V$n#1Q~m#9H*U*_-)wp6B|7U9n;1 zVoT3Wxccp)Yw?tY&5Ex^9fNvHOn82CNi`VO$wwAro=R&2>PAO6LgsOx?9w!bgx bT{6C=nbtp=`lZrYusb5pcsSRc4*ctXa_Ru% literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_compositing_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_compositing_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c1aef7041482b93f7dba6d9108b79a0cc649477b GIT binary patch literal 1193 zcmV;a1XlZrP)qa*%t{rulMbK%>5MI<6hs#KVBbo@bN{e&JOnlHN3(01pPhw(Xd~#$# zPN>Eov*ci2QLyC0kjt{rDy>0JpPk-76lKXw>@BVgv z=kxn>@A;iGK$k9Ex^(Hfsb#GzH^JB)j7|@>mz81unuv(#gX;1z41JVRU-=-GD>CGt z&Dnpkx!pD~pOv{Ch6=e=?LDdJU-f#Y4YMD;x+pzbH{Ra@Bt9Qr5TRP5@=9n3fb(vt z+k9H;8!%fNT%Eq4Y;~?f1X4ejh78`}3sU5zN+?h2Tr@^XC3Xuysz%b|-+F_Hh@1dy zQPR>McM4FPiPY%u8ZQwMJq2LrvL=KMnFJ_Z^Af|3+5sX8SpalsGiYht*SV!&h%l)1 zIbL|o78>i107kca^wUY8_OnNe%xvb=iQ!q>MuaBVi!oWVpWOu(l2$w#CyEC?K@sp(s(pGzwJuCVlifz#GtWAcX$#l$7LQB5p?ajT zBO4B|7<7cWl!t;uboszq0BF6G8hmY$2k|r4(Jz^Y?SMJNbDfbd&z<_~(kT7dzi{BW z`XQPxVYFk#3rH#K(9ull2u7q6{{BHquhDU=NWH}?F(hY0T0@_v=@s0m4^cNbIgY$?{;m`OvfE|e1J zR-6z#c-1mhW4n?+$gN1P*L#XTyX|V7T50N))bIK2=Yc2qpQgEDnP+Hf_PlakT7B3K z0K56yb*7fb=opX7L&A3f0P22YLk_EX%s-Q^f#ytMz7ha1=Q+chA8=8vGw;h@KdMY= z7T)|FjV(y5+L{6%+;(pv#=-*^I8!NH=uX+5&+eGt->WPrdN>Hcqvd~*h$f%J%5RjN zBb$It0r@G>#|%fBkbQgoJ!=8j!<2C+AA);NSLjY9cC=n4IW~3Coet(M)1bCTc@?#>RcLg&rr3$&Yy{&aB^4-jThv?F!OP4NPH;w)UhU))9O5twY00000NkvXX Hu0mjfqux7p literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_03.png new file mode 100644 index 0000000000000000000000000000000000000000..4301ada91604e78d68f16573dc59e8485a425263 GIT binary patch literal 1474 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 b;GgFwOr(za{5#Zu00000NkvXXu0mjf7(mGH literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_05.png new file mode 100644 index 0000000000000000000000000000000000000000..003572ee0da72088abd29395fcbb51f31b827d42 GIT binary patch literal 1166 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=Axxo-U3d6?5L+Jw0i*fk12G z#8bcbZ`$0UeN<)R0{!Jzlm6u!S}%TfK}dXen;}RWIyg{XKBfQ1DM^z|V>SEiw#rWP zsL8X3Rf&V1TlH8uENN2#)=S;bBNukC83C${9?ol!AsXP`yF zxw3aUfxDJ&&-v2QdnfA5*5}_A2_1^g5V$Jgn(AV|zl>>~Xo%47iuo&!X{=ED@-Q|1 zfd3KJzZ^B&V#CVYy6;4@e0x@PKUNv4V-TbTC`}>td&yeIE=W_A)@78?U zedG7Kwz77~$Oq|SX-lPJjCrTKnWh9^yd8NtDJ;D-w8`A_s7cO*smnNABTmoLoUhqc zAlI-=JTiaPD+_6<0yC2dCD&f92~quVXqNnTw#Zn~huJoc>03{D1-aEl_-+aknIsoB zdkxFd9fxL}`QaAn+g+#|b#m@it<_(OiVkN@3oUb8nYi_|*3Kn!HuNR;OpDyxZB^vu z&H38mZ?5`A3;&4v`JPefUsu|ke;M%g%EO65hqCTPbg~{hoHai*uJhrBsO4WmcZ6Ki zY0ij{HVxYo;U4jP^1HCeTHWh~Zx5K5bhK`bOm^j7wwZ_Hw1UXBvdsn&Msrgi{CBH5 zyiF>(XYrTm^}2P+lMn7wewVo;Gr3n#W3K7xh7CZ~2c)kZ^PaZ9!s_$^$!phopX%Kg zzxFJ0>R*QMPvurkO}1F)Wjpt4!{J+O>7h(aVu+EvXI>Z0|Oh#ckobfAZIa>+dScj{M(t|N6Y0u4ydU(;PL{@LpdV zaI$0?W1{4dL$~tej&T9~-}K)6&YG>~o?5M|UNm=WXw=1|nQd$jH<)FuEm-;ST-8&N zMN>kP4w>Z44~uGC6Uip2e>d-5)PMc_o8H@_mrsqD^LpZy?yZyw}Qo1@CQG#=g!mYEo*`=7o&u&dlWz;cGV=tX;kEZtVJ*ZOLn9cO6>% zWPaQAK%LBWuO0s$Hz@j&-x7E?=GG)7?mxYW-Lt)Gek8U3^AjsQtGZromv-$VtraSJ zl((zRvRgOFNT_VFV~nfnlQ&0hos2N6x}~SHyH7*LqLf|l^|}7lB`1D;`s}tw+H>o{ z`y%l!q5U89FZO=fedE_|=a-S;zzo$B{PNY6taa5}6aN<8nz`prRE;4MTD*g~`=-a2 W2d?7$6Q^JR;(NOKxvXuxy90aE> zg;Fxbf>Hz{NmayuF^Kf?=hs2rQSQau%UyDX@;=kcyYDZbTyk9A{T?8ZNF)*o0GGe{ zyx%2O-tuTrd8c?MUV2~soNanM`}&vmdrzx=t6p1@1QP0m`o6A1~wU?Ml`ohoR2^hJ6*YXyAs3Hk43ryAGf?q-+q;O~5o6zb870v~PGK zazb<;H_mdGaKZShuD@q#@EuyAbl{}^5oTY$8{wGuW-@ONbkbmUDW5{X12kx2d- zU0D(tUk`L*aW`O+aAcW^t@@Zf$5?&KIK}-29{0RG$-J9umT;0&B<(!}C2?vRnj$KS zHF}y7D-ul^C%H3G09B-M@eC;yP)t+Zc*N%DMzerxd(|d_2syqJKm%p`NAF$C`p+{8GQ#fP81HNs~OSBy} z>hoQRO0Il;Y`CL|6gbj+cBGB&%!WY6w>BKvq;X`sNer7CXA+4-BKhz610=-jfy-2H Q5dZ)H07*qoM6N<$f{52nzW@LL literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_06.png new file mode 100644 index 0000000000000000000000000000000000000000..6ac1e07d15cf9e52220812c98e4891644c7ee3ec GIT binary patch literal 1820 zcmb7__fyje8i#`v3B4SkVU5d*VQHZ)MV3%PQ$VT&lMo_86f_7(8IdAL34x`A67i^u z1u-GQHzW}d5O8TrIfAm%1VwQnh64>G5X!kXb31dt+|B;*J~Pkz2Rt9LueZCR97GNT z0x6z3?cxstNf`ZcvR@ydV9kj}5J+a}jEmE`8&&-3S)kHX!IkfQaBydyR8=fr^#Y46 zQJv@gJUR9Q^;xl^ggOV7rGk{z`CrIAsIGy=ilh>*$h?d8u27weDCC?+>lE6{$gwna z4M({q8DUl1oSo59{EKI&RTa~k8g`wRAl#-Va)y?Lm71iu)xyGcPct&@W*8=BrNQ|` zKxb-EU$ul+(+2JV*71wL&ZmA9s3tfRDM}m|%F&|$&fGwc)Coq{&QiY5Q}}A%q+b2R z&fG0)i>CaQ_2ciDde=86MOk2&JW?QR-rGOkheI5$+%4KtkuePd<29F}ei>@#*kP_B zKIU)UXQZHWX+PYKGE?8xqdv{+bW#sQUp;r$eT+dbZJ$A=2|`B=FCKx%znYQ#CQlW( zwo-VK0evfpv4W-(gs-cc6MkGJ-Z-Nx?+Ad1z+)eDztSTB^l$Y7hQBKOKbjK0x%-N$ z;=SEAXxsL9s>;80@TNoQ-(o&6&0XU((=+L6*&j+^CbV2yAdeZ6Bi=nk1#eA1wMr?r z$r|TgBfmivY<7NZ^X#x*juQP%HO6J%Po}->yM_+-urnxy}7?(VQG#cD7F+Op}9*o znRIhyIft;{W#GJUbt=NK7e@+c_wX8VVB!Cg}uQcjlxAIhWUVa*fv<9Y-jj@jbc^^hd zEvIarcWfUEdT;s@k2|n&M2qc9D46dC+ z4E1QN1Zhn@Ln~pX*0H7RaynhxoyH8y)}X$c*}%@k;>qvAajWcwg6}vHV;SKRr!~|6 zG8|Wxb!)Pv9g0Nk-n3b9LY3D5h0oA^&#-y3@P~A>>27uA zCWvpxD))-=XP30)8arFZTS+xXxAQynM@UmQ7iy*ME>dfm9Jl#5q8RPMRKY~rv|2;7 zd%sEW)qWw02oO6URawSDI-bukSUnuJ^Fj(Qu(G4D15qnn0Or%Fv3!dE&=EE=xT?4? zLp+%(?vqXM!wgKyl$&#moljwdr(UAWrN>FYRsUb>qh1LpBBO!hJTM@(iIZw(U zxkSKT*~lA@u?KSj4+R&oMV^*u*uX+%+vQkJs47+|a#hDLJ#~_Q_@oC9F+`}m_R((s zLCmQ-dxx;g9v{}h@e1A)>L^+g4`o%AtEZ6L){a&yN_-7PK`r9ppQRvv4F`t(XGf5U z;!WI$!WYCYIZ@pCprkwUQgWfTDgrsRR|jv=*oLA8O>$D$8kp+=3_7?%y*Am|G-W`*t{_J|&JY23xb`bv=*Sy@i!sI3U zb!;Z5=4XTx@`;z~#lnxvlxPZ~QWgq&y>Eh$qHCV777i#&d7pZ`TI^hN9~n0% zJ?{SWwqH%a$!4A1qC&L;_LLvPThVN$k~&%6XY6jHWf#q!3Ad0E;rQw@bzvu(vTJj_ zRbR6t@n5!nD~Fgnq;}^fQR*SjHrkFuot92~0?%BE-^s`LE*`mP-8}DK#HPm08bxvz mifP=>6#jN`cU@B`D{A?xZ5qO66Cy99wnQZaFd{ajU|5Bw@j+~@O+wh*A@Z+BgOc3F-O+uddF%)N5~6B4uE%e^ym z&iQ8U%$$4X3=l&MF~kr<3;;9<{Q3lqI(5a?B;6sMzSy8oyIaX^Z_J$Zt+x66z5cl^ zk(i!KFHXw&5IzF-FzuX?Fu@|W2IPME8 zjaM2^nJ@APLRh7*bk^~3(RW-OM}{Y?(wK%T9eqk1L_{6WrZ$EPo(xqawIO-eNgU`D zF%S`rSa8x6D%7gs(Az@d&ZF;-^Q}tZsypfoz1#F+4x}uqGc1S26vm{MsmYPq-D;7L zqk<$~ovVz%_{!fUBCC+3jA*Q|SE{|_IIWXP>P|Ztw>ek-H&L08q@M0%mL8Mn zj%0J^z?eNE5j^{K#vQ7c$}vlLA8u+=-iog4Ix@J-BUv6i(iL6v;^gBuu}?UXmO$<~ zN%t-@Un&CKWr^^)+(3(nBVn{!Yg5m`ve>lMqaw$Yasi3+QCjw0${M?dqQvJDae;M_ z(a;8WN(AdQ0uAJ^Y?OCfc)p5(HL7P1o)#+9M=5Z235PTgRr>9rkmTc0d38AwLzK$3 zRN;zre<`aji-zE^yKz9-Yrlh}IWgYb`I%A;(CMazbr zSRpHw^nHNHR-b1A0L`_Cj?i;SNv57ukjs3dX^v>7xyoWhqaum&ocyUtl5L~u)}Qz0 z=9N@bERXk_WyQoK1tW^h2>4(Gj26LPU75t7Zu^R$!ePcpcAjLrQN1dX)$NgR)Hx(= z+auwq@6<@*wnxHIm+pA&I_w_i6axTb6aHtiLIr=XKYsNEo|wlDXxEkd!3K9B1STgI zB88brZX$#q+(|!|x3tU2D@Oz}h`1sSd2E_}ve_V+An1CYHQPMC9$4baJs{N<5N&FA>pI z#v~i9+y{Usq)DsY1wL{Aav}zzzW*z5YC=p%=Z0l-c_`U~)9~KF(Hg@omCWQa!x=9_jd2tp)3^BwI!~Y)t Y0;FJWa4aTH-2eap07*qoM6N<$g3{cYu>b%7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_colorMethod_07.png new file mode 100644 index 0000000000000000000000000000000000000000..75c4f117dab45ba6c39cee7771e2162ec141398f GIT binary patch literal 1515 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 l-6V(R#+ikMg@wg`&o9<Y zLkrWC!b1V_JL7ZUy(POg$37G9uW}ZN-lzeZzk!UQ#)N{|9PbJMaw=3I*9-PbP2Ur6 zTrg!SgZ~+}Es7 zV$~PA#y&yU6p@engfvUSqfyapjZtQ-eQ}x|U?z<)X-j4z!dG0Hig%pRCz|d4F?QZh z@H@i#uuQE{x}8BVWrpiTx7!+|+!C!<38i-u8RB}@D`tf9VsU->dX>e+AkzWh_xS&$69wb!~tqWWX6E%Mj*7h4je$ z_LF0U^9ktm%e@0U5BThW$6>9EJH=wX<(MWDst%wbG`f-dLS;Iz3F>6dZe>+Nt@vub zC719pN|1=QM7GIDgiYeoB0a#);7$my4*e|PK%l`c!9-QR-OvUisd9f}+?_?d8--Gma8c`GH?@w4L*loC$_BZXO^nb7r+%9Q2yV{*Ev-r(BChU(w^} zc0Wy=6QrCVeGmj&jf!bL7Ek|VY6&-}<>IRPC&w?$ypakgN7qx((vG8ah6r#xC@d;% zMTXcdsbg5?%Uiu!MbI?dVrOQMcPNJ%G1cFTd(1oPxvIPoeWMFM%(U{k_o%)$A7*~R zdJWeQW;I4^d_9w3z1GyUe!eX(e6;T9%7Zy{d)?DBGo)rM=H(oyNr(vzpu{ygxy7!H zH!iYvW-!WJBeoSJY5Rvp*=!%b$>zCNB@~2QC%Oz`UrLI9DqUca{F;p~i~VXQxhC$h zXQLi;*rzz3bHHBbQ0nbd^2kiFeOYT`ZMUjXWSL%RGT8RMD#fccWPFuPO2Xca@#&1r zDpzilG^eK)EpL;3C3{ZIbBc9=sbf!O0kF5j^ool5t!}Vc6c=-8ZJ|rGwuv&|;F)=tC zPM=Q-SN)V=xYmxx3*Vx|A^L6MG3>R&zwh|3$~tbv5`zMb*{z=EJb}h@PiuB#AaNPH zCFeL7Net=BNAJjNCI`{%NH6mH5|@#4Qj&J9|K?qs9nEamXY?%YZfY0pG7j6M);(C) z7T`xsCD2wE)Y_9au>qDzJDh=c$?lc$#x<5zIGa zB!!qZxtmlaO>WaP3WeQX?OuMQGU*zRF7Lh)Ih@Na=1Fm=^h}ytmPJpEy9=j6dL*G! z=we@y$(Z+7iaOyEcA`_S_x4wcIu0+eCy)Tx)#Km}=Sb}OB%I+KNsT@UXZUetLi!|} z;T*}|$B-BjL-LDrBA{c&e^^ABYGSWzj#ZO+lBSG z9!Y#1UAcljN3u;#%_RJ;yKG8NCR1hI?@~)e%*1Dzn|=4jR25_Qe9dNN>KRE8<+Sco zmH5`F96@2XdZLx88Pyq?saheb7iMAwiaZU9(=yfIDFUp*en;^ao52+#qJC3{iloET zPedVCYD}hj5Z`bCH^$#f{y<5*zkLJ1hQwliO+>Ucr;^Fs77@{FCL~)2`2qkZ*`k#M zrN09t!M=sZ_3rA&B_#9m^SEzGWv=8m2WaVwu)u+)B^#lUGIT_%+bb^F`Y*n$9PDi o@t2O9+G zoW1AjDXqdUMgc3gDn*{w`Kw&eyZKMp{mN6_JM@BFoAY01{$1wDJM-GLBL`MXN^>(m z-(qa+`d9nXpD)k0Ot^Hu#cf&DZ`;1@>>OL4m0!(sJZoHRztZe=*|op>%ve74Yi!we z_Fh%IxbPZ_UqZ9D|H`hdta9JdpZo4H_O4*^(4q_9Wgo5b8H+-kPxH0v_|k|2OA~ zm731Wd(f54e^_swo71XkYd%^3np7zN!bE%ZRBh|KKjv)hHT)K~b!+d&e7|E=sc-H7 z-DcJP{lVbQyLzjKsc-#0+_lJQx_`WI`x@69-yizQUUSS;4irDrvUuv%0v0=q2X;To zN=pxVSZk~Di~e=_S`)=l0W)fQJ)a@bxGU%AF?x_iCazt^nxo48m~Y7Z#LC|}`? zz1F^?tHfp6SHpEov5Dt|I8JBnHjb(K_+Gpj6iy1>43SJHgdCCjOs!knp_yQP+S7F;z0DYh3dz3PJg(~vA5%wbHoRwSN$8erfAOO-&lI# zSKI!!AB%41mbZVrezQH!;rIsOvXtE9p0yM8sy*FaFWAz*+&b*ky-hrCb1EaFy-%9lk&n8`{_FP*gSl#J zxNlE?6M9DYW!l!%Wv~4{tj*ckZuL!dmfN;BA#0m2Wpml8t!r8PDm0AW*S~@@Jw`Lv zP{??a$#wIb;)`G2pI+>J&HRto>c$spvp+WO?id}`-8f^*lXdZtxonH(XB;xf zNzzvItxFN@(BJiUfoo>1|ECSE+of-Kc^Yn!&Q^G?tMfdL2NX2|lS)55{wnDNPtr5i ze48A$hB*Wha{_Z~^)$b=lX>!a(i!8$J*!%U5E54 zlTS2mTNdN`nd|%Wv(r}JIZ$?G^WM0p6CSO)=akz2ciq;nPu-rBuk-tH<9*%P%IFQr zcaD{nZ@AuDvsn85tR*~v54w$$PDv2M{v8L?5f)AHXQG`w10`1$-IU;$&6sK)v9r6o78 z*fCANRoZr7kJ<9pDRs-$(({wf!H= z|82ImH>zC}CbFYVDKh-s%JAsuV#O6<*XB-IeCgZ%Ze|>1Cs5eI{vUh)nODV+U-U1*s%irC+vAiMKI1Vthx6|WUk zgcLNBplL%RXe&c6OmjoQ`Qz!r-kCdRJE!w%LcO1>_kDMs=d;JN^KyI+U|?WiU|;~i zWaB@#ndHKwetJ8uFwRmLZ%O`G&;5Kj^IPz6B6zfT^j%3}&rPXJ$uZjjU}@>)8}6XH z4+{zaVE1%&V`9U-`$rPngW7vZzpiPjdm7f199SwXzYPga1hKjiK-u$hEyvdD@kxK= zdcr7mQ;5l`cyxKT4~WCTwxpW+@-RPhF~bjTc6O9HNX>S3}m$=)O$m>!3H@; zMj#Y2oQ$EVrDzVKrKuq#4~K388B&sVZTwy{(x;;v&X`U|^PYCoF5|GwX~TWhtzLfC zaJ;S6KJ9wWB6h&}LoRV7emI$wX68wLgw-vJEnh-%U+z^A5z~DM$sGVVSXRlud=N?y z9jk|k=xMpibd*0OBJx;;mBc0i80pJXsU)v&1VB=(aA3Bd$m_`56MbtQdzlU|kw05l zNv;*>j_p_aiP`#Ny8&yiP;vx#*T+j#96-tVx)(SSN=mR+ajQqo0rcFeSOfD78A&P@ zOwPxulE+Td0#b#;Mo)@6RVH1dv-o6GHipM(?6kyPrFaKf*v64EE(gmWa9 zk0CK6hU7n&=-t&zNe=Z%IN==0ggyx;{JJWM(I?@Ab9OK8fF4J{E#4A2T-ZF;BRSrL z%OMzZCEL{SO8oD73+MGzGGEyHF1%I5Oni*Faq!uUs$%BZV56CtdPd?y5p52tN(MKn z2tMJk8lul-i>foSSoWEyMp#K4kd{@eI4$$FS!qC=aNJe=i_Ku)A);5N4i!m<=@k*} z*u!%&-Gk#TJ5V?KUh)rgf%i}90BlJt<}o6o{kJNWyxk`v8e>wjeUPsJaFcCXNsxb@ z-~#MhcvkPOepW)VEZ;xo;%8fBtmONOcJ-yEO}uyk0KT@GFWU7=)V96G-)Px}HJ@L6 z*pF^dYd&9Wqu*$G%C2*fyCIu8V7jyAexbslY8;~|a4B^@`(q4VI(z`(%3 b;GgFwOr(za{5#Zu00000NkvXXu0mjf7(mGH literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_multicolor_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_multicolor_00.png new file mode 100644 index 0000000000000000000000000000000000000000..0d3748a540c80137c60bb1e28e7d50372365bac6 GIT binary patch literal 3126 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_multicolor_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_contour_multicolor_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..75f0167f9255c436dc08597687311186feb8201d GIT binary patch literal 2602 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 M07*qoM6N<$g4}!h^#A|> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_csg_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_csg_02.png new file mode 100644 index 0000000000000000000000000000000000000000..790f7869ab4d2ae29d178502c6e5a71dd9e2b81f GIT binary patch literal 489 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK+XnF7srr_Id5+`<~=sxVGUUI z;_v!1dRLCjWMEZe_DZsP|F(o{P1pl0V$#3$; zUo+RfXzb~D#Q7nsDe!*S#%I!hW*DB&Wev|wvYQ_B^~J2Ir+-!XZhW*mPExt--0`1f zE9*G#t=%{Ij`5j!8_n(p_P9!6Yk1wZY{$wq;ctC&U#ytD z_x;-6JvtKR$!}r=w)2@hJyCd{`S0sHV{JmmT|0i!uq%$)yLaDKAw$C@K zsAFcr{%ec&RxXyaxmI&eV^4-lb4sb#{*ALcz~J9ZeRdY7`+qlxO#ua>r>mdKI;Vst E0Pr!SuK)l5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve2Expr.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve2Expr.png new file mode 100644 index 0000000000000000000000000000000000000000..a09b928455c51473e53781520845a909974e2ff2 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&fD_`IT;K%SR60c zUyN#GVc~3?`M&O*5=f!hoa@ZTHgW%tV*>H03wCG)Y-ePesPi}+WUi;HpUXO@geCwJ CDje+q literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve2Expr_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_curve2Expr_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..227b6091c4c6ca77a3f6d22b3f872f2b73e2e6eb GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp51?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_02.png new file mode 100644 index 0000000000000000000000000000000000000000..56ff88f719d0a0e69815b6cf565adf72c1a6121b GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 t^NM{Fm>1?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_03.png new file mode 100644 index 0000000000000000000000000000000000000000..56ff88f719d0a0e69815b6cf565adf72c1a6121b GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 t^NM{Fm>1?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_04.png new file mode 100644 index 0000000000000000000000000000000000000000..56ff88f719d0a0e69815b6cf565adf72c1a6121b GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 t^NM{Fm>1?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_05.png new file mode 100644 index 0000000000000000000000000000000000000000..56ff88f719d0a0e69815b6cf565adf72c1a6121b GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 t^NM{Fm>1?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_06.png new file mode 100644 index 0000000000000000000000000000000000000000..56ff88f719d0a0e69815b6cf565adf72c1a6121b GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 t^NM{Fm>1?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_07.png new file mode 100644 index 0000000000000000000000000000000000000000..56ff88f719d0a0e69815b6cf565adf72c1a6121b GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 t^NM{Fm>1?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_08.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_08.png new file mode 100644 index 0000000000000000000000000000000000000000..56ff88f719d0a0e69815b6cf565adf72c1a6121b GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 t^NM{Fm>1?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_09.png new file mode 100644 index 0000000000000000000000000000000000000000..56ff88f719d0a0e69815b6cf565adf72c1a6121b GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 t^NM{Fm>1?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_10.png new file mode 100644 index 0000000000000000000000000000000000000000..56ff88f719d0a0e69815b6cf565adf72c1a6121b GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 t^NM{Fm>1?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_11.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_11.png new file mode 100644 index 0000000000000000000000000000000000000000..56ff88f719d0a0e69815b6cf565adf72c1a6121b GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 t^NM{Fm>1?K3{nII4cBVeVQebU7Mn_<7#SX(2-*cQ%+uA+Wt~$(69BB_7i9nd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_11_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddcMD_2_11_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f1613c47dd0a57451ddaf82039ddf2d6ea00b985 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5hu^>bP0l+XkK&b%9> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddf_spatial_1d.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ddf_spatial_1d.png new file mode 100644 index 0000000000000000000000000000000000000000..11f20c622c2eb3fa7944a5fa59821e6193b6f2fe GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9Z_j0_AM%nQEi suVwu9nwirBq=r~6|qDrn;Wh>LvK`IZ(egEn+@5&Pk5a-Vt#y?FAlGzisih#JDu6{1-oD!M@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_11_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_11_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_12.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_12.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_12_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_12_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_17.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_17.png new file mode 100644 index 0000000000000000000000000000000000000000..44b0b1534cec77e75286df84598663e9e36dffc6 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&s8t#WAE}&f9Z_Tnq|4%m;q` zcRzmc>e?oechh_nS2BTA5(5(Yu4XL{JYQ<3UbP*lUhc$uW@5BK)EL}jvslW)_~gX= Pb07gvS3j3^P6&qh{ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_17_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_exodus_17_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5edc453b42997ae30a07675a5f11d076ca588393 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5KJE-YiTv>qW&khzLJf_vg`nVUUg=e$pw|gC{N7TORr6+5dApOOG3@Ep`XVB&f^E WMlkkPu)GcgaXnrAT-G@yGywo)11YNj literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_explode_repeat_labels_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_explode_repeat_labels_00.png new file mode 100644 index 0000000000000000000000000000000000000000..10fd7e5dd88ce8c3dc76ac5d54b79368302f03cb GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r~q#WAE}&f8m#ybKH+M>c%U zm(uybJSprTiw+}58Gi6!(=9%PiU-ElS_mEiRx)o{6yyIg!!5BOg`Tc{F6*2UngB6| B8omGk literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_explode_repeat_labels_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_explode_repeat_labels_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..97d2613498e5e50995ef498234691b8226d20c7a GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&lz$uFmNy!#B<-U wU$uX`!ii}Kfkcv5P&u-*pU|?Y|=sfu5 ue|qe}MYRhAL8^dYPgw1Q6j>DphSzMd{tU|M7h2zfggssTT-G@yGywqEg&S1> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_00.png new file mode 100644 index 0000000000000000000000000000000000000000..831d31c7664426dc2e9d0b465ea31564a1f76c30 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_ybKH+%o~21 s^U8?{%?ooB1}UN#EHJvyh+)W%%_Vag8N{Dkcv5P&l(CcFmSLagmd4p uU$vTX&-?`pp&(^IaKN;4i7+R_hg?R5a|{aWQXV`2iF&&FxvX=iDlm8sWL?%nP<@alPThoqpOZrRV7CvuY{_L+a%o+bDGxPZI0-6IAoq!wxx-7e$?efp?cSTO2oMuhG=`Im;OI1wdFJC+Go=@ ze9IEmzvi|1l=y3zYo#*LTUUu|&#V2xnKh{+>22auu}e#$bd@#%mB@wdFZ0_zO+U=O z?SAxR-;LMaMLzv274|dCHRGC4qOQQTrspM3pY=suG+Fad+y>++s)9e=;!EBu*`+H> Qc!JFJboFyt=akR{0AG1=F#rGn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2d8071e26194b7b9431d32f59a0b2df879c0e485 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5o z$EH@~@!i$IeEXtW_MHCjt@)1ce82Q&`FZd4S6u(3;rYq>^nWeSL(hJ#C^ehm=Go=? zyXfBx#>um9?{#cxp0eoM&kHrY412f#Q*xUW7}eKc!W#GMy&<2`HSLCzopr0J!C7(EtDd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_02.png new file mode 100644 index 0000000000000000000000000000000000000000..054d706c54c86ffb3d56d56c9a57eac5e190c686 GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK+Y;p7srr_Id5+`_T4t%VGSrU z_`ct0w?|Uoq~$M`xhC%2-l>x=SU+LXoSu%3F7Lj?kp1iICG789f1PZTxAlS2=BGFI z8TX$5xYa*Y`ielIZ}%TAp-qd6(g!TWE`x>rl?Tr)ef zgK1S|WB==OfsCcUXI;(K+^lY_A6Z)aGXLMc|EJ`xWo&qR?CzqnNwe>MnCw}%tHAS# z>EGmK{M*`0ZGT63zQ1=`su)JiSk>1HEi{o z9x2)KwGrEwx8FZ!AD(~s&&!*udynZ!y1#7^eBJ#;ef`e6zg{XHH+ni}YBK+u%Z0|0 z%S#^$U8}x%tDkjezfs;lhU#rgHyOS9Iz3Ep^Xr5Eb}@rOn5y9a1^wKpTwQZ(w*4S; NJzf1=);T3K0RZJh$Xfsa literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..74a2b5ee03c8e0bff11ed40bbbd1ed4ae41696dd GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5)ky``Q5o9$?13J1l-P@_(tjNgDn%IiZ9I3u-`T* zu>Z>A`9I|Dudja)o1gh_+cPotC-!Gbvn{hTjqfhHYdiDF)M~4J-{uC?=cELQy4p5B zoM2mcfKDOAB*KRRzw+==+GSa`ub#Hs8vB zS@6G`O6l}JbAn5kO^D~8K5v^+df!8j;9BdqCjKdUrn~2_EotrB|Hf|f_LP_3-+xs2 zc}>If==UFi_x{J6XFZ*!Jn8(jCOhv*OtM+o-%mX@y$cEe1n~TSB;P&A{>&UpkeH{d KpUXO@geCw){EjjJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_03.png new file mode 100644 index 0000000000000000000000000000000000000000..a496eaaf377238d4bf66c8dfe86c9b30bdf158ea GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK#q*3i(^Q|oVPa|^O_w5SPtYp z`CngI9C5&6)Aet+M#x-nV~;TgcdEn-p^0pOMIG`&T%6(wn)pFCwy! zo5*--uiLu!;P#Ue#~$9YA_3Hp%-^GFRV~ zv|StWKg^X53%zkl*VD?)c>5al*3zF(|C~R2YF6vlKc6owU;+7wn&83vAB;IlT6U_I R`6ofgxc+#EUw+Ws5?m9bJs4%IpH7Y+srrrz|(KydAXp@ zKKA?SJ{iNS)8DFOwXJoXv!h$(YDHDul8dK}-YFeFmG|T0lbu=~n`#!@>z%#FCp_t? zS+o0t(<;X46QA#@-jTES$Li>{=2|;miJWdcW1hNn&S_(i3*q43UH;nB%8xpyYW@L< NdAjcbn6jtl+F4XdzBqzUe5a`5i9mMfrN7TC)@=S7)}JLM zyGrYRcKTbpInUSJT7Pl-wZ5#DtAA@I?%P_WoOgfwnQML7{I9nyvZ`OROEgDPJx)E@ zr(*5gmdKI;Vst088(j(EtDd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0e21907b0302488eedd2d9bb285a924769736fa4 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5pa&L$m*dYk4<>y7(1tFq@eCV&ZFaZfp_o*goa; zTg`oM|HM7uasRY9qta5t=2=Sb#mx1eY6CB{m&`bQY>mq!F2A_l`(0;lDBS&bPOq7m zlH23Q?D^XRDxTQ?{u^}D$@$rXH8)S*d%N_;?G)4KkhLz8zTdNYYt_f;{q;=czoTwP zF8bb%wTt!7ZeAUh^v`a~$0HMso~1wjr`oJB_fmMqLPn5};9$~{`qnkZk|A84Z$V<7 Lu6{1-oD!M zr~makV+AG&bV$i}FFY3+af3PRDHqE!7nfrTkDPz<_QG%fxO36jQ{wF|{{0ZT$g1_~ zS^Z`A7XN!K9;NgD`PzplG@Q|q=vYphOht20vm{cK6l z>{`v`&HnX2zxtZ}sEvL5`%=V9ucv7rvV^mQ!YsqiUb6}Jx_P+6J6U4SoSU~dM4Ns7 z`SI-3tv8;`YWbSZzvE2YRiE!`Cf~oa{`#!2k5@VEKBtw{7`GpNBz4$o@2lc9Z$8Fa z-{p-vDG>Ja&5?pR*Um5fclvN;E$8Of=U(oSTPk<)_o>35{>34;w`Nay^Qv3o@T%|o z&OE+#UF+>Nalx-42KRWkugjk2`P{wzZ`Jj1y`|nyt!88`e0@)O-=AuS2!4*&jERh( d0H-48{>322y^Y7V{+chyR8Lnwmvv4FO#pH()HnbD literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..62ecb2e276f5495b6889f7be7768dcf78968a835 GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5*k%xu%_FK|ifENhZ(%9{G~`j(vq{%g;Nc6^w&xGzC*>(?M1&3*%=wK^BKzyCBp zeno4IsQRSd$(5H*P5R`;>i=3^h7}aB$e^MAop6&-QT$f6jCCM!Pgg&ebxsLQ09!e^ AW&i*H literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_06.png new file mode 100644 index 0000000000000000000000000000000000000000..00c1daff5950eac25a8b98362596b7281e95c6ea GIT binary patch literal 398 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKu)Nqi(^Q|oVRxjCmnL&VL5Q| z@Bj0=4oIwLoXx%7>n^8+h_B}@T_!D0^{KAU*Ies5=lxZ|{`P6h`Bg^(OKT=AF31Y2 zju4Nl*0D8T8N2-V;b8m2x9)%4Su|_y=6l<(xX+ck8`W1>gTe~DWM4fr#qKg literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a52767b24fba0ed93c3a73175df9c2356228e8f3 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5^vkKM z=Kena$M$5}wpm|ooLXM5Z@swHnoHzFcpP8#{01d^ac|Ee?gQVWzkbwkQaSMS$2VUt z#$$fp%*~Ztx-P8qk9C}uR(?%))rXGese8@F&h1CdoqhI+x>J>nHvc{Hhh=^pn|*n9efaOcYgzth zT31^AxcY4VXT$GvMXz4A$*x@!`PSclWBP@E&s@t zQ`I&-`txkB`ffX=Z3=6|vn)>JPF-XBx9@qJrFf?Koa7v>=StOwqnE7eQ^?IdxADZv zo#m;aF6Y;zRbQ!1u{DVlJ$#mDVs3t}_9W4Xp*z=xeYUdSUgXp5JU8y;o_s0i(BmiK z-Y@Q7XcV>R&GFlPm;@U&I8QW`rff6-U!3VMb45zXqmDz>FVdQ&MBb@02WP=%K!iX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..837d6e5bb300aec1078e33ce6dfdaa8d94e4019c GIT binary patch literal 642 zcmV-|0)737P)Nkl$`CV&lGZhO54lQU@D?>+^k`zj2BNQpHE~1N~f-bELx+x+k3o0VX zAX{}|Ceg@Lq*^4JLu)8qXimf250!21*V$Ru<;DC1p4a6E9^O329Vo$`7Z#NFY4AUj z_vycbu{{ST7iD?z1gb^@0Xu+eHLK26;g>x&n6*Wy{T^aQqgKTf0MmhOG(c?Vxxx(V zd1HFZsEL+*cnq_{#~17-{01nfGbqh$Cqr5NdV8S;S>DSnzJ5NSlIaK zsq-xpGj6lGtjK-VeY3wQ&+qPzz7FoZddk&Y7`*&IbKH^J{pn2tNZvQ;w?E<49FWS~ z0FTiXJLg=vI5Rc-a@IR$8`KlLC&v6e_UuBh)ndNmZF#&!bWYaQbbZSl;Q*yN8V4@}OpUm(C@aMXz_L?* zs3b`hlc5(?%6U^#H? z{r&%^HZw9crW}_Jm@1+9=DP8*JWnmp(@TFHuaVQwd;9Z|#C#Rc*%Pl!Jt}lj?%dA6 zuN!WO`M#~p*=il*y-wFd+JwffgihObfaj+nYCe7i`t@gb@2tF0$|)4BHWw(aY4tNxllYJNLU zGA!QX_oVta8y>e8w1j3}-Td>S-fi2R`5$Z--EUqIvGdTb>d$YtiQfMEX}U@=$M2o@ zc5eB#^9Hq%UyYTAw9$iLB4^Svk75tlB-=7z38fF=012Wgs)z4*}Q$iB}9sjLy literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1cae7ed435c4414c4094b7e1833e18448b739dc0 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5F=6xuf=N{nyuj_J6p0NAvCRyAex&ZQ8cwVy*Xt11Bnh7G_^Vj9 z_VAx7oTt~aJ*o0npRmbU@(JES;Q-h0WhUUi5VJb6Mw< G&;$VI7j|_3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_09.png new file mode 100644 index 0000000000000000000000000000000000000000..b4550c7dc7a0c6c803e3de36db0e3c09c40eaad3 GIT binary patch literal 503 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK+Zl-7srr_Id5;AEn02B!xo@f zeEWA5+hII*HE{{7y+>aL|N zri;5eYK+(Ue|piJ6&|_w8&EPXcG9nFm*=Gl);+&36V~S%5g9pAG_u&)T6RY9vQ2g6 zQ~ufJp3mYgth{(?@u^ix#!BuP$x72}*PWibx$4#Wsu=fF*V$H~mx}Id=TEuztaYp2 z;l+D?{W!69m3WNnw%HRiVw+CBzT)Thx`1WViRa$&ZMGLJCtv@%W9f03d0mV2nm=Ay zv+wcon7Z4yFHH%HU2Iu7({-y_?)M#45yu~$TD~pet5tho&g}JvQqQmYZ2l;E)zqu^ zTCX0S_5RoFJw~6Hw|$oj>vjIWZCBRa-~Lm#)F$@w?c2J*ennq4zo2|z*u_J$p5J)u zbY?}*s#U8_%$nc3)8yCftp8S5Zt2`zdUZeV_2*jU@1-Acte$p#Uwp?*clWT@A7}pl h&I<~3s)9fK`xpcsv=}j+;xGjn?CI*~vd$@?2>{e`)m#7o literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8a838f7951de78f883eb073c28da38f7ab3b834a GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5@4MK26x)&@DXuq0_dGmPK>6X=rwq zrT@8GR({RIc%9vW_do37A2^;amHYKj=wGy4Yska*e}2W~Z@8)=qAv8=j=}cHUiOJ> zhd6IfpP~`4&Dwjmxv|^kwdzOD9n9IDwX^N>rH zYIT@iRqV%=O>3B$Bs!P2uReCN_|f;HHd!;upZ-1gDL3tm{s}7u1Ct5H;kWB`I2cd& z^?z5n9KPzN)z06Vx}2*uKWDDh|IHTis-ZmR%xYELPo+1@6yG)|nH+BwTWeZ#w%BD0 no9&aIrS6^KPgGqn0K*4%QKN*K=eGiNKtbo}>gTe~DWM4fC|;Ot literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_10.png new file mode 100644 index 0000000000000000000000000000000000000000..4f16da790a55e9ca09cb38f290c6c6a5171ce117 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK#r`Zi(^Q|oVPa|`I;33STD?6 z_I=iDlm8sWL?%nP<@alPThoqpOZrRV7CvuY{_L+a%o+bDGxPZI0-6IAoq!wxx-7e$?efp?cSTO2oMuhG=`Im;OI1wdFJC+Go=@ ze9IEmzvi|1l=y3zYo#*LTUUu|&#V2xnKh{+>22auu}e#$bd@#%mB@wdFZ0_zO+U=O z?SAxR-;LMaMLzv274|dCHRGC4qOQQTrspM3pY=suG+Fad+y>++s)9e=;!EBu*`+H> Qc!JFJboFyt=akR{0AG1=F#rGn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2d8071e26194b7b9431d32f59a0b2df879c0e485 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5o z$EH@~@!i$IeEXtW_MHCjt@)1ce82Q&`FZd4S6u(3;rYq>^nWeSL(hJ#C^ehm=Go=? zyXfBx#>um9?{#cxp0eoM&kHrY412f#Q*xUW7}eKc!W#GMy&<2`HSLCzopr0J!C7(EtDd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_11.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_11.png new file mode 100644 index 0000000000000000000000000000000000000000..054d706c54c86ffb3d56d56c9a57eac5e190c686 GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK+Y;p7srr_Id5+`_T4t%VGSrU z_`ct0w?|Uoq~$M`xhC%2-l>x=SU+LXoSu%3F7Lj?kp1iICG789f1PZTxAlS2=BGFI z8TX$5xYa*Y`ielIZ}%TAp-qd6(g!TWE`x>rl?Tr)ef zgK1S|WB==OfsCcUXI;(K+^lY_A6Z)aGXLMc|EJ`xWo&qR?CzqnNwe>MnCw}%tHAS# z>EGmK{M*`0ZGT63zQ1=`su)JiSk>1HEi{o z9x2)KwGrEwx8FZ!AD(~s&&!*udynZ!y1#7^eBJ#;ef`e6zg{XHH+ni}YBK+u%Z0|0 z%S#^$U8}x%tDkjezfs;lhU#rgHyOS9Iz3Ep^Xr5Eb}@rOn5y9a1^wKpTwQZ(w*4S; NJzf1=);T3K0RZJh$Xfsa literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_11_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_11_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..74a2b5ee03c8e0bff11ed40bbbd1ed4ae41696dd GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5)ky``Q5o9$?13J1l-P@_(tjNgDn%IiZ9I3u-`T* zu>Z>A`9I|Dudja)o1gh_+cPotC-!Gbvn{hTjqfhHYdiDF)M~4J-{uC?=cELQy4p5B zoM2mcfKDOAB*KRRzw+==+GSa`ub#Hs8vB zS@6G`O6l}JbAn5kO^D~8K5v^+df!8j;9BdqCjKdUrn~2_EotrB|Hf|f_LP_3-+xs2 zc}>If==UFi_x{J6XFZ*!Jn8(jCOhv*OtM+o-%mX@y$cEe1n~TSB;P&A{>&UpkeH{d KpUXO@geCw){EjjJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_12.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_12.png new file mode 100644 index 0000000000000000000000000000000000000000..a496eaaf377238d4bf66c8dfe86c9b30bdf158ea GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK#q*3i(^Q|oVPa|^O_w5SPtYp z`CngI9C5&6)Aet+M#x-nV~;TgcdEn-p^0pOMIG`&T%6(wn)pFCwy! zo5*--uiLu!;P#Ue#~$9YA_3Hp%-^GFRV~ zv|StWKg^X53%zkl*VD?)c>5al*3zF(|C~R2YF6vlKc6owU;+7wn&83vAB;IlT6U_I R`6ofgxc+#EUw+Ws5?m9bJs4%IpH7Y+srrrz|(KydAXp@ zKKA?SJ{iNS)8DFOwXJoXv!h$(YDHDul8dK}-YFeFmG|T0lbu=~n`#!@>z%#FCp_t? zS+o0t(<;X46QA#@-jTES$Li>{=2|;miJWdcW1hNn&S_(i3*q43UH;nB%8xpyYW@L< NdAjcbn6jtl+F4XdzBqzUe5a`5i9mMfrN7TC)@=S7)}JLM zyGrYRcKTbpInUSJT7Pl-wZ5#DtAA@I?%P_WoOgfwnQML7{I9nyvZ`OROEgDPJx)E@ zr(*5gmdKI;Vst088(j(EtDd literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_13_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_13_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0e21907b0302488eedd2d9bb285a924769736fa4 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5pa&L$m*dYk4<>y7(1tFq@eCV&ZFaZfp_o*goa; zTg`oM|HM7uasRY9qta5t=2=Sb#mx1eY6CB{m&`bQY>mq!F2A_l`(0;lDBS&bPOq7m zlH23Q?D^XRDxTQ?{u^}D$@$rXH8)S*d%N_;?G)4KkhLz8zTdNYYt_f;{q;=czoTwP zF8bb%wTt!7ZeAUh^v`a~$0HMso~1wjr`oJB_fmMqLPn5};9$~{`qnkZk|A84Z$V<7 Lu6{1-oD!M zr~makV+AG&bV$i}FFY3+af3PRDHqE!7nfrTkDPz<_QG%fxO36jQ{wF|{{0ZT$g1_~ zS^Z`A7XN!K9;NgD`PzplG@Q|q=vYphOht20vm{cK6l z>{`v`&HnX2zxtZ}sEvL5`%=V9ucv7rvV^mQ!YsqiUb6}Jx_P+6J6U4SoSU~dM4Ns7 z`SI-3tv8;`YWbSZzvE2YRiE!`Cf~oa{`#!2k5@VEKBtw{7`GpNBz4$o@2lc9Z$8Fa z-{p-vDG>Ja&5?pR*Um5fclvN;E$8Of=U(oSTPk<)_o>35{>34;w`Nay^Qv3o@T%|o z&OE+#UF+>Nalx-42KRWkugjk2`P{wzZ`Jj1y`|nyt!88`e0@)O-=AuS2!4*&jERh( d0H-48{>322y^Y7V{+chyR8Lnwmvv4FO#pH()HnbD literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_14_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_14_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..62ecb2e276f5495b6889f7be7768dcf78968a835 GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5*k%xu%_FK|ifENhZ(%9{G~`j(vq{%g;Nc6^w&xGzC*>(?M1&3*%=wK^BKzyCBp zeno4IsQRSd$(5H*P5R`;>i=3^h7}aB$e^MAop6&-QT$f6jCCM!Pgg&ebxsLQ09!e^ AW&i*H literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_15.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_15.png new file mode 100644 index 0000000000000000000000000000000000000000..00c1daff5950eac25a8b98362596b7281e95c6ea GIT binary patch literal 398 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKu)Nqi(^Q|oVRxjCmnL&VL5Q| z@Bj0=4oIwLoXx%7>n^8+h_B}@T_!D0^{KAU*Ies5=lxZ|{`P6h`Bg^(OKT=AF31Y2 zju4Nl*0D8T8N2-V;b8m2x9)%4Su|_y=6l<(xX+ck8`W1>gTe~DWM4fr#qKg literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_15_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_15_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a52767b24fba0ed93c3a73175df9c2356228e8f3 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5^vkKM z=Kena$M$5}wpm|ooLXM5Z@swHnoHzFcpP8#{01d^ac|Ee?gQVWzkbwkQaSMS$2VUt z#$$fp%*~Ztx-P8qk9C}uR(?%))rXGese8@F&h1CdoqhI+x>J>nHvc{Hhh=^pn|*n9efaOcYgzth zT31^AxcY4VXT$GvMXz4A$*x@!`PSclWBP@E&s@t zQ`I&-`txkB`ffX=Z3=6|vn)>JPF-XBx9@qJrFf?Koa7v>=StOwqnE7eQ^?IdxADZv zo#m;aF6Y;zRbQ!1u{DVlJ$#mDVs3t}_9W4Xp*z=xeYUdSUgXp5JU8y;o_s0i(BmiK z-Y@Q7XcV>R&GFlPm;@U&I8QW`rff6-U!3VMb45zXqmDz>FVdQ&MBb@02WP=%K!iX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_16_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_16_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..837d6e5bb300aec1078e33ce6dfdaa8d94e4019c GIT binary patch literal 642 zcmV-|0)737P)Nkl$`CV&lGZhO54lQU@D?>+^k`zj2BNQpHE~1N~f-bELx+x+k3o0VX zAX{}|Ceg@Lq*^4JLu)8qXimf250!21*V$Ru<;DC1p4a6E9^O329Vo$`7Z#NFY4AUj z_vycbu{{ST7iD?z1gb^@0Xu+eHLK26;g>x&n6*Wy{T^aQqgKTf0MmhOG(c?Vxxx(V zd1HFZsEL+*cnq_{#~17-{01nfGbqh$Cqr5NdV8S;S>DSnzJ5NSlIaK zsq-xpGj6lGtjK-VeY3wQ&+qPzz7FoZddk&Y7`*&IbKH^J{pn2tNZvQ;w?E<49FWS~ z0FTiXJLg=vI5Rc-a@IR$8`KlLC&v6e_UuBh)ndNmZF#&!bWYaQbbZSl;Q*yN8V4@}OpUm(C@aMXz_L?* zs3b`hlc5(?%6U^#H? z{r&%^HZw9crW}_Jm@1+9=DP8*JWnmp(@TFHuaVQwd;9Z|#C#Rc*%Pl!Jt}lj?%dA6 zuN!WO`M#~p*=il*y-wFd+JwffgihObfaj+nYCe7i`t@gb@2tF0$|)4BHWw(aY4tNxllYJNLU zGA!QX_oVta8y>e8w1j3}-Td>S-fi2R`5$Z--EUqIvGdTb>d$YtiQfMEX}U@=$M2o@ zc5eB#^9Hq%UyYTAw9$iLB4^Svk75tlB-=7z38fF=012Wgs)z4*}Q$iB}9sjLy literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_17_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_17_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1cae7ed435c4414c4094b7e1833e18448b739dc0 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5F=6xuf=N{nyuj_J6p0NAvCRyAex&ZQ8cwVy*Xt11Bnh7G_^Vj9 z_VAx7oTt~aJ*o0npRmbU@(JES;Q-h0WhUUi5VJb6Mw< G&;$VI7j|_3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_18.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_18.png new file mode 100644 index 0000000000000000000000000000000000000000..b4550c7dc7a0c6c803e3de36db0e3c09c40eaad3 GIT binary patch literal 503 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK+Zl-7srr_Id5;AEn02B!xo@f zeEWA5+hII*HE{{7y+>aL|N zri;5eYK+(Ue|piJ6&|_w8&EPXcG9nFm*=Gl);+&36V~S%5g9pAG_u&)T6RY9vQ2g6 zQ~ufJp3mYgth{(?@u^ix#!BuP$x72}*PWibx$4#Wsu=fF*V$H~mx}Id=TEuztaYp2 z;l+D?{W!69m3WNnw%HRiVw+CBzT)Thx`1WViRa$&ZMGLJCtv@%W9f03d0mV2nm=Ay zv+wcon7Z4yFHH%HU2Iu7({-y_?)M#45yu~$TD~pet5tho&g}JvQqQmYZ2l;E)zqu^ zTCX0S_5RoFJw~6Hw|$oj>vjIWZCBRa-~Lm#)F$@w?c2J*ennq4zo2|z*u_J$p5J)u zbY?}*s#U8_%$nc3)8yCftp8S5Zt2`zdUZeV_2*jU@1-Acte$p#Uwp?*clWT@A7}pl h&I<~3s)9fK`xpcsv=}j+;xGjn?CI*~vd$@?2>{e`)m#7o literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_18_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_export_db_2_18_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8a838f7951de78f883eb073c28da38f7ab3b834a GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5@4MK26x)&@DXuq0_dGmPK>6X=rwq zrT@8GR({RIc%9vW_do37A2^;amHYKj=wGy4Yska*e}2W~Z@8)=qAv8=j=}cHUiOJ> zhd6IfpP~`4&Dwjmxv|^kwdzOD9n9IDwX^N>rH zYIT@iRqV%=O>3B$Bs!P2uReCN_|f;HHd!;upZ-1gDL3tm{s}7u1Ct5H;kWB`I2cd& z^?z5n9KPzN)z06Vx}2*uKWDDh|IHTis-ZmR%xYELPo+1@6yG)|nH+BwTWeZ#w%BD0 no9&aIrS6^KPgGqn0K*4%QKN*K=eGiNKtbo}>gTe~DWM4fC|;Ot literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_fb_lines_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_fb_lines_03.png new file mode 100644 index 0000000000000000000000000000000000000000..2387e15ab27a6cf50f496ee20f9f0b19d883fe71 GIT binary patch literal 533 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK+YXc7srr_Id3l<^ZOHB-kqWyqi}GA0BUpz)Kuv)&FBeO Q!UT#zPgg&ebxsLQ09?SJ9smFU literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_fb_lines_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_fb_lines_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a61ffb51678cb5a10e924169c2e652ad58b0db2a GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5L}v1UOhws3%HG&Yxf7cEtC>&r|uC+csRbP0l+XkK+L%l3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ghost_node_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ghost_node_01.png new file mode 100644 index 0000000000000000000000000000000000000000..4224a9d04494d32a7cf785ba20a745832ced1f5a GIT binary patch literal 2270 zcmbuBdpHw}0>;%j>dSFW-^wLIn3=mSZb`0bDrB=6)n?RWG7}TS%00f&M(!z>?4sFO z%w;*BOPI@-+T6)?SP^9^w{v=)^Z)tdywCIg^FF`#{rgS3df8P@MpZ^iN=ojco0FH6 z)IRVp|Ms6i3JG}kQcCK#ii=JT*P@F)7r%?4gJhH1en__7n2XAvE1yVA`1>>ey^hKE zHMgi*$qC-tzgqu?KB|+$zP{U$H4HzaYiz|=h2|?AEk5|)!3E_hUc!R}=z*CX%{lYK zY1-{rCHp;>TbPr7GJ3al8M}6&=ZzD0D^crtDF>Wo)^Iw>;=EkMROX(B#-0EafG|tj zg&gFx9tLZ0Ni>%~Y%@Zf6LB3R_-Yd|5Y}un?Mhn#cx#UP&*@)r#4RO2F~JjYHD(sJyt$?$(9Tr0wRr5?Vxrzu-ilUom zdERbxPP3a=J$fmvlZ@zIrJH}M7Dh+kAUXmqe=ck+5gShq8xuShlar*ffw8v0N}CNX z|6bf$w(lLqW9IfZ45TMCn=+>$jGL_d<6P6kRA69S?u?uJtGtLz5nL-=t-IP>c+fnC z58ErQV~WfS7dqVr&aXrPW_89QHAMy4!B2sWq3BIuJc&X?%~!k`zrdslxGzv684wk< zUBx+)zPy@aTg>#$Mu)`$9pUdh=|lV1MlH5DAlTz55Nb9ix%RxOi}-2NFnOMg!i?cd z+QHMKoCIAB9FhcRLY$r-azlsM(T*@ z5sb~SIxjhK>~YPz24(q@NY0oW_eZqb1Qf$XlJ@Zgc-`Bk_NxH?JghwXALLD8U}wtC z7)1@-uZ{Fh$$E6+uc|4@=$k?ALMh+e*0V;L1#isu)gP*JH*f_HD@47FG}tjjbvu>E zUg#su9d7Q(!8P$lZ!N&pzx1#{Rn;ogE2r%LP zo-?t1v8qAT24sCBFk!>_%tEESZ8M~4S>oqF1B^lX*|Ga!p)zw#MlNAP1;tMQ7Cqi` zTh_1p-$5}sTZINV1D6h7P z#{?(cIz3HUC%Vq9$GULZ^@}`>O<1ut@|!u`)4&b5MipJS>{nzVS6ld)iAC=Q((2+( zLb|v`biBz^RzX5B!sBf@HP?ra{W3e?V5G7XkoY4%QWQmk<9hATEWiv$k7(NJ2O^pI8=B|MW8}3}N$RgZpx)zP zec_w!oVfiuBGd?qCoT>9en`~CK}E}| zM?#IM3&@_Im`V3Gu8X^*FcqT)A_+h~25N)Fv=Ncq(7HBd@DeT%J}M?Kr^DO!p;#f! zll-MS z^7>QGp@VdRnqlV_tNqEHEZRttbzQx?;q}vN;4%MK9uKf(^<{Q_I1SiJokKEdVC z(?7pj$e?T|HJ9ep?U-1v>I?G`IcQUc8$`uRWbH+l=k}l=lKbcQwKlL_ADseVq4amn zC=L@Z2qFNFB^2_=HgqXdu!e@B14FRVo~Q-wum#|GJ-Hm{a)O|j02Ko_$s z$KTY~b!E(gaii>TlXUa}vDheeYv^(L8)_O%hEw{_6eV#lJv|{R+=1See zmO)C{E$TQn;rlg(!hqyCzh}eMLchjG7P3+IB=lrX1=i{~I+3^kU8QBLSVjULo-wH; zlzw{T{t^<>L%Sws-rP_fiXp8`$fb>X2RJWT+>^X{QBlL&%D`L|>&p$uANx*|-eEhd zdC4J5{i9E?tDeWHe}vaf|DCPu}xN2XQ!%~$U;PS zS@c?9-!y^Mobuq1C}SS6vK0rW1@HSGpQ2T~t&q?f|1Eo$DE$k)=zQ6UdEo~6-@!Uk AYybcN literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ghost_node_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ghost_node_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..65450412481997826c27097a58c607b481e42376 GIT binary patch literal 1467 zcmV;s1w{IZP)fFkReqP6fop4Dm8R8OqRUTo#iFyJzY$6QeG(&Y><| z06`SN%eE{yf{2$)vJW$JjX^sucIseODs;&00R8X7DFqxG%Q^7H^!KGbPv5-1_j1nj zKBs^S7cN}5aN)v*3l}a%47VYEj}B?L+BVXIP=ve|G}4ZzfZ*ZmOfg8zJrr|S`wgdM z5LD_JCt?A>J)$piVA(M3QXC3L6%OYWt_y_Hs23kMUL|+03bKP{bMO#AZ+r zgJgX69N#So_sGhy9qM!Bu?g86z};q#0e8wrF4ncdD6>cHZ6#$Sb zPNpnwEEF?ulIBfHITEF(_!%1iHLVfOur{xU<#FQoH%YQQR*uC%#P)qHCA}9*CPA}# zyAlA@$wiGMNkQ(K0a#vhWA}>QiwT7l5BIyn14zBycN555GXS{AmI{YObyOf(78$eX z!ob_PcLAjm*i7=exFQ*1m)881O?-laaLEQmux5>&Bu$YTjplhs=ntz_A3C?&xlEqW&KUr7cCDG#jUN@Oj`{d#{ zGzkE{A<0|VbuaYN0f`bIO(1#K+->Uk=^vI(gBtOVNwVZ4T1y^FPcyM5vbm?Lsyq8w zf5GkeUr8EcvC>SE-6VN>sQT^S3E#OiyyeFN3a9%yOgg9y0x9fK1t0GXS^_0Y0Qj}% zD=PcX!xjMmu||@{`ABi3XZsR4l5y>6s{8#V8Dd;*=om1WOgR#_jj#Gx$&PM^qr&-2 zyd{t{MkCrtl4s>e01r(Q+1w#Inw(iV?s^YN@_4Xnk3gQ1CxLI(Ig{X+$WdoBz0DCa zrz+;x8LtG$v`h{Pc)>(IAZbZ=M)l8qvMd{zy|aSQ}mNs@v=2|vRw6(&~MbJc*-(EaeBHt`WUPv*M$3l{;+iOU+ zS{*q~67vM7MaV$tdXLQlNtOkP)!&VoS4lQ(m>RJ150Vw5q*>DXEIhPP$Z?M~lI&Um z0I9X?VDp#1pZ5gtj*VopG>J3ok`#WReIC@gBs({I0$6c}mW7zK|AW!+g#Hd$B=wNd znfj;X+Sh?}8)+U5x94JND+_gi`|_zcv`R6!^5@=8Mw>0?ydLwxuENG$ml*h~? zQvj$pZc1A-r=3=fR0)*1y@uav$P*!eI+rYtuPagl3h_;L?b+f(jck-I0n)|o?^&!h zl63(9(jWcxOGW>RRkyF2Z1I;NL7I&uA1A;!@ABmxUI3CUGz@5>c*DZ)edS1?H<4s# zIsoOioFMpTRNY+kM4QBD=@pEKPCQIv`!m9Es@8rObY!(pL_!%X1kD>&b{8%v-nQ>qYL<&$Z`oS@QRNY{a=w>>xux;6S37=0%pP TYd(uz1aUoG{an^LB{Ts5(`YDw literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_hf_4_1.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_hf_4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d5c6240714530e08c5556d93a5f72e6ff024cf27 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sBu#WAE}&f9YvIT;LiSPawu zFMKS@BX92bihmtQW5Qw2N55YsY0P2;X`(Lp;mCY8fstuWpm-t3U{6;+mvv4FO#ry- B97q5F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_hf_4_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_hf_4_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e48ab5fc3fc8a8122f030861f0ee6edad3fbb53a GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp58rObY!(pL_!%X1kD>&b{8%v-nQ>qYL<&$Z`oS@QRNY{a=w>>xux;6S37=0%pP TYd(uz1aUoG{an^LB{Ts5(`YDw literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_01.png new file mode 100644 index 0000000000000000000000000000000000000000..937fc2730b7a7b287e0e2d7a17e075c9ad6386c2 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj vuQhz9rlPH$>skhB;ku?zAg-sYpUXO@geCy# C(H}$r literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_02.png new file mode 100644 index 0000000000000000000000000000000000000000..937fc2730b7a7b287e0e2d7a17e075c9ad6386c2 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj vuQhz9rlPH$>skhB;ku?zAg-sYpUXO@geCy# C(H}$r literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_03.png new file mode 100644 index 0000000000000000000000000000000000000000..937fc2730b7a7b287e0e2d7a17e075c9ad6386c2 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj vuQhz9rlPH$>skhB;ku?zAg-sYpUXO@geCy# C(H}$r literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_04.png new file mode 100644 index 0000000000000000000000000000000000000000..937fc2730b7a7b287e0e2d7a17e075c9ad6386c2 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj vuQhz9rlPH$>skhB;ku?zAg-sYpUXO@geCy# C(H}$r literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_05.png new file mode 100644 index 0000000000000000000000000000000000000000..5353dc721a3a50375f6786c5ba9cf553e416defb GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r*l#WAE}&f8lDIT;Lim^WVd zTkaRG@plGGX4B#Pa7K_y>|k|?)q}&H>^@0ABcUMf>ydCp7>9V;Q9NN8Gm}k?#Xpc9 MPgg&ebxsLQ05Y*3egFUf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b9a0571717b8794ba2d8e899f1218248eb37e467 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5|k|?)q}&H>^@0ABcUMf>ydCp7>9V;Q9NN8Gm}k?#Xpc9 MPgg&ebxsLQ05Y*3egFUf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b9a0571717b8794ba2d8e899f1218248eb37e467 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5&&kYr0$;#wD6=Si4TaA|fq z9?o;%pYbL}mq*$gZhIHS1~D-(+zYsMu!!$mExYW2)U4R07q@RR{AFJbGKWDSgGufn ULwzLQ1TPTR)78&qol`;+0D4{}+5i9m literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_08.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_08.png new file mode 100644 index 0000000000000000000000000000000000000000..89245eb2b47e69c247d346c8109d92e72bf6e992 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&rvh#WAE}&f8lXc^Mcum<;~a zN5vNy&-%vXB;g5Ch8;A7XIV4YONzl{4>&&kYr0$;#wD6=Si4TaA|fq z9?o;%pYbL}mq*$gZhIHS1~D-(+zYsMu!!$mExYW2)U4R07q@RR{AFJbGKWDSgGufn ULwzLQ1TPTR)78&qol`;+0D4{}+5i9m literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_09.png new file mode 100644 index 0000000000000000000000000000000000000000..8d76837c23740cb74c915726808cdb5203c6b794 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&so*#WAE}&f8lDIT;Lim>j;x z-&!|e57*nfERF{H!XSm%!2{j5Z@C}jTY=32DmgIk;>ot&b0NZoxhJw#eB6p%7aq|E ZvFzv8^M3w(s$&XBm8Ywp%Q~loCIAy^DP8~o literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d958de4be49666962d0c8aa38b8496a8899757c6 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5^jR zXSIOqmp%(Gk8FyOqQs4@@8#dM0#*JwV)Nwvwa((xbx-U)O~c;*XOMe+eQD>Bm0N|( q-$qM!p5Edres1*%MUdeP`yQ}KzG9OtsNG=*;(EIJxvXyGSlSi^l}SAx>DpM{$`Cr&NhC;KDqw0Q-@FpaC<-O~#K*5zGOwA8pR zrfmfxR+)z-WPUxy^`cj_Lhjo!u8eNcxmr2hsjCE#Trkh+@K^2fmyX|$xJKKv&biU| z>CVzS-+w-Nac}OnsErZn(JPfDR&NNsFSct*#+q%@+g;XdbJL$VHPu`b$q*dO&vLa_ V#Z43JwL?J)JYD@<);T3K0RTwfaB2Vm literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4f978f888d3725117cc1a2a47767e3f913b0d27c GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5_M4zl-#r%@A=g~7#T|tKJ z;M}(DUl?Eh{n;H?G_RiZ-=34Z)Z?bjkriDVi})ud#K?U}u8d3DSrNC1Cy3|$%gsTr zj^(>vpY54GGkLYBUD?kNhXF@NV__@R9CokyGSlSi^l}SAx>DpM{$`Cr&NhC;KDqw0Q-@FpaC<-O~#K*5zGOwA8pR zrfmfxR+)z-WPUxy^`cj_Lhjo!u8eNcxmr2hsjCE#Trkh+@K^2fmyX|$xJKKv&biU| z>CVzS-+w-Nac}OnsErZn(JPfDR&NNsFSct*#+q%@+g;XdbJL$VHPu`b$q*dO&vLa_ V#Z43JwL?J)JYD@<);T3K0RTwfaB2Vm literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_11_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_11_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4f978f888d3725117cc1a2a47767e3f913b0d27c GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5_M4zl-#r%@A=g~7#T|tKJ z;M}(DUl?Eh{n;H?G_RiZ-=34Z)Z?bjkriDVi})ud#K?U}u8d3DSrNC1Cy3|$%gsTr zj^(>vpY54GGkLYBUD?kNhXF@NV__@R9CokyGSlSi^l}SAx>DpM{$`Cr&NhC;KDqw0Q-@FpaC<-O~#K*5zGOwA8pR zrfmfxR+)z-WPUxy^`cj_Lhjo!u8eNcxmr2hsjCE#Trkh+@K^2fmyX|$xJKKv&biU| z>CVzS-+w-Nac}OnsErZn(JPfDR&NNsFSct*#+q%@+g;XdbJL$VHPu`b$q*dO&vLa_ V#Z43JwL?J)JYD@<);T3K0RTwfaB2Vm literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_12_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_12_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4f978f888d3725117cc1a2a47767e3f913b0d27c GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5_M4zl-#r%@A=g~7#T|tKJ z;M}(DUl?Eh{n;H?G_RiZ-=34Z)Z?bjkriDVi})ud#K?U}u8d3DSrNC1Cy3|$%gsTr zj^(>vpY54GGkLYBUD?kNhXF@NV__@R9Cok)9>m{aQSAtM#AHwQMhL*R3?`+HlNyhW(m0 zDVYoMb}ME?IVW${yp%Kl$Y~WlbF)5U*RcH}=N+OhzWcvrn&9c|e<9B4H{_b8I4)my zyNlm}Pd@ZaLw28m^3)TF5~o|PF3PX)&gSf%Tt2l+;+LdQAeR`p*dp7%t>{_Fmx@Eny=if`s z@<0D!)0%s78}8N{*Qd$vE{nF`f8zqjY~4lHPOpOWqJ4tOEP4g5MPCz}S`=sdeaf;| z7d?H2uPt8uEz&Xj`m~64;nuBPIZ997{QQ!h-@JaW?L7ACstWg6m-7zXN}sc2(IM9r zKc@y|8MI!!cCXk+?%=Y^bEWq4*`}S-SyR{PU+EKl|5~lNx<_(g8H zZ}`a7_>>s5t^77sJlBwSt>`}Yzp94S?4Zb8W_*27`j=cTdz)X!?8T>j+|@g)?1{ej z9oNa%ckByolT4g@@4QXnW}h7w^ZsyrI%V+k!Tl+_X6kN_`6Zs56=A9SS|;d!+3aiS zQ)NRQUdz>g+LBgln0d|q&kTcADl22(TeHv4jyuwq5%qq;wdf_$#t*Jh@oF!b7z{L>V;K|<&0xflz8ZA?GbBBETz+%O`9zQsPgg&ebxsLQ0C%8E AumAu6 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_13_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_13_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ad169efe81c37205313ab247f7a6c264f0a0425d GIT binary patch literal 645 zcmV;00($+4P)(I_KQe`@OwA_eTK`1VIo4K@bGFRs;ZHp%fpd z1Sywg*sQ)3`MVfAK02=p(5O7L0HBZ>lZgHe&SC3#4*>4I$hhIv8G4IVL>QRy<*;r+ zb@3DcNUdcDV}({R-gZ*VMu$}|0GjC9X391eHjL@C6HTo=liierSR7S}h+<549X0=0 zafh^_uMSZnY>>pwsEA3QL9~J&1eV2UV}0I+*?;EV$FoXKvcrcYDW=!7 zLXov2cDnToN2myC%k?tJ+8<^~AA!?#v37pLb)<=`%C8Z;3tt|5b!~lCIBo|eG7$XXcj|S={I0@} z?n0K0A@r`GOKz{Z2U^fz2zzz#LJ8HzE~0tgW6J2W1tUm5q$lBr#8j@wp`829^6$6n zVeLt?#~~TMW%;zz*$%ry&3JYgHR4fXlRbJ>2x%sFJnl4?21vIzd f1VIo4`H%bsmfBd4Ullg800000NkvXXu0mjfOt~!J literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_14.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_geometry_14.png new file mode 100644 index 0000000000000000000000000000000000000000..02a7705dd77a43fd28b3df248f13f3df3a3fc032 GIT binary patch literal 978 zcmV;@11@BhyKzOb=5DbRqTS?i*m=}^V5fZ!ob2><{900000000000000000000 z00000005w!NO5!({@~wUJGu`i;^_w`v0GSo=BTCv_WYqE!aA+p!kV5t-g7rR!7#Q< zSh0NBFpb|akEq}+whKaTCw4WpokMVbcBYNxPrDMUne(2BWSoM3GGNIZ^OF(30| zk;so~aVvH0w9-Snd6U&ot}Rx-+5khiIkhu$M5%&V%PDm4K-N+#Th1R8AUy4 zqtHCGmux40nn=U9z9^bItpE0HTKjISdn#DAx#1K0yC|Bd{hV;K?JCATSA5c}D)v&* zXi6q32id7wMbp(-hQL9?+C@Bk%N83psy!-Jv5#@P;8V!7zIxsi+H z_1UGmy2al466gU{9VQSvRAixPAuBMYvdb~ zmZDAWqIp%~c0*>n1umEMer}kpmMuA{tQh?%pI?!t$UcoTEkUdo&2D8?>qn0IweczQ zXke7aFnvMG%8NAJ{joY6S@Vb44jVq_CkK~^dbEP}PyQX1*7UINEMJ$BZ_WY zK3KPw)ibN3J}#=mF^%*t>G1#eXpDv7ox!T}KvrYzzs5mzJyS$udY7P7UzW$CjZNb@ zV?YPgxoVeZ%(S1(TRJ<{;u@q?wB-V#qsiD1;syrDARssODH`v+~ z000000000000000000000000000000007wVAMi4v(7bt>(f|Me07*qoM6N<$fohcU@OUk*-+84>@7o}=Dq;H(JPb^gf~<)G|x#mK-wyy|5o^| zy19V={M?6M#RV}uiTQK3X%ErI!wDe1o=C~F)@CvMdO0o|Tz~uF0XZEXCZizYU}6lg z?*IVjvP9&`uKL-YAEUBDXm#=**A%(s-n*)qbe<2xblH<*0CoTX`|HYNYSI>;Qx%QD zpNlEg@U3`;ww8{16049fP^A0J>sn_iBEw3)#^LVNhM1tK*v-WA)X@qjP5f0Aj!2;a3$^gEb|+oLqzl zZZ%%u;tgvh0Kir62)S$3ZBzstZv77*Lb(%5c3)$=f{9sqp}L}X3g4B2sP*wPO&hyq z%ER<;#tJ-9(&f$Dz~U%LisvHgNL9$031}|w$k)*SA_e>lt zc~sL0a{zJMAQ~> zrEES-?2>{#3IHfikrcG*N-n4)`_>vUhFGm^MShEQx+23?e-t?0ta~2g9}*Pm@-Bk6 zQ*w4XaL4Z78uZh}=XAL?T5%E_k^eTQQYQANLa+khW{WG5_hLMo?ZP2SQ{+?RPd zOj#D3nvktdl90;X?7S3=BGKyPq>Czu$5w8N~B+^>bP0l+XkKn-3ZA literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_integration_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_integration_10.png new file mode 100644 index 0000000000000000000000000000000000000000..4a05a1d5e1c77208b24f161c3604d408ff85fad2 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKx(a2Ns>-f)+@_6(b_w)T~qAik%opUXO@geCw@1TrE3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_integration_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_integration_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8474d4573047bc987607b7e38ec059c01b73579a GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5Mx!xI9IbfK9rGx;RE|!nGTa!1ttcEnCJ~F@4IbtSaP3v;zur* rYt{mi=NwY3;^d}8F!3@lG@Q4Ywt{uZngc)1f~@j%^>bP0l+XkK#wRi+ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_03.png new file mode 100644 index 0000000000000000000000000000000000000000..3e0da4b2e214b09744d394fcc73cdb9eaa835054 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sBu#WAE}&f5!(oD2#)EE|vi zE#GD>vLs{@XP-An8FtXH{?5yWHe=ZhosrlT5G8s*nl(0_k)_Q(c`8V~r>mdKI;Vst E0IxY5-~a#s literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4c5149c9ddde5ce57d4de887be4f46a043f8ee86 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5*t^{q2Nniv=kyw*#7%iwzP)s}b=*VEO{Wt~$(695>1 BA+G=c literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_04.png new file mode 100644 index 0000000000000000000000000000000000000000..3e0da4b2e214b09744d394fcc73cdb9eaa835054 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sBu#WAE}&f5!(oD2#)EE|vi zE#GD>vLs{@XP-An8FtXH{?5yWHe=ZhosrlT5G8s*nl(0_k)_Q(c`8V~r>mdKI;Vst E0IxY5-~a#s literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4c5149c9ddde5ce57d4de887be4f46a043f8ee86 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5*t^{q2Nniv=kyw*#7%iwzP)s}b=*VEO{Wt~$(695>1 BA+G=c literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_05.png new file mode 100644 index 0000000000000000000000000000000000000000..099a95a86252a3aba39e670d87bc930ce87eb43c GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK#s7di(^Q|oVPbO3N;xBxCVas z|G!eVge9=+!W-^lKj$?!b~gK%oMr;)zz*(smGT!HTwL8Svx60+;y}aJukWtf9++`1 za&>)+AtSrkXPGY3W2@%7?%Ee|S>@K2qpK#DZfYpMW^+VJ;aWpS#O60!ZY7-+%2@yY zWYqsPhfM2uuOAi#8nk2TmHB@rreCcT*4^oTRj^)L{>nosWrMJo#r+2&W^=usCcfIw ze#_}@QJ*!8NxUbzMYr$1_2lTUNuhcMVPOmQ9*D3`ynEFVdQ&MBb@0D&@YbpQYW literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..13240afbbf000dc90363bc0196a4aab017218ea1 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5e0XcImnR=3=Q|cvX$MHoFvHI Q-Us4)y85}Sb4q9e0FKmG?*IS* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_08.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_08.png new file mode 100644 index 0000000000000000000000000000000000000000..3e0da4b2e214b09744d394fcc73cdb9eaa835054 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sBu#WAE}&f5!(oD2#)EE|vi zE#GD>vLs{@XP-An8FtXH{?5yWHe=ZhosrlT5G8s*nl(0_k)_Q(c`8V~r>mdKI;Vst E0IxY5-~a#s literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ic_streamlines_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4c5149c9ddde5ce57d4de887be4f46a043f8ee86 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5*t^{q2Nniv=kyw*#7%iwzP)s}b=*VEO{Wt~$(695>1 BA+G=c literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0005.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0005.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7603d9bc6c24a922100f8b023d23f5aed6688b GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f5zIc^Md3m>s^! z&k|MH^W*j1WO8kq!M)w_BK*coO7SfK2ps^>bP0 Hl+XkK#-AQg literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0005_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_amr-quad_mres_0005_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b1e520c735544805cafebe2a24876b2cfd3d6b GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp55;~}c+0LG4Xz418V*h6dO!95j{2nx^9^k8+`88EY$uE3{okiOVzUj3&N>?O3GQJ6 e83zOn_jfS{KIdW%di~M}#P@Xdb6Mw<&;$TjsxJ8e literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3fa917e99307ecdedc023ec27a9cabe37321f2 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f7B^c^Moymds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad-nurbs_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5BjNIBWyf$Y;|JD*LsrOdW<&H7K1Z+tzMXK}CovkW!^8}6G< We5lXls}mIplJ<1_xG;-$Y12MzMh5QLn3?DLsh1m2Tpzm>GE{-b6Mw<&;$U0TQ*|= literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3fa917e99307ecdedc023ec27a9cabe37321f2 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f7B^c^Moymds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-quad_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5BjNIBWyf$Y;|JD*LsrOdW<&H7K1Z+tzMXK}CovkW!^8}6G< We5lXls}mIplJ<1_xG;-$Y12MzMh5QLn3?DLsh1m2Tpzm>GE{-b6Mw<&;$U0TQ*|= literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3fa917e99307ecdedc023ec27a9cabe37321f2 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f7B^c^Moymds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ds`;Qp^C+e+@y%xmgc%`xNuP{_gbe{+I3NZQlY&t;ucLK6V9 CKpf8i literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_beam-tri_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..af15f8f1b52fe1b48e0a7eedb54ba0eb809495c3 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5BjNIBWyf$Y;|JD*LsrOdW<&H7K1Z+tzMXK}CovkW!^8}6G< We5lXls}mIplJ<1_xG;-$Y12MzMh5QLn3?DLsh1m2Tpzm>GE{-b6Mw<&;$U0TQ*|= literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_disc-nurbs_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_disc-nurbs_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..ed914ae20dcde631255c8de5388f767fb95e07f9 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICqE1mqmz=R2;3v?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSp_VS B9%ldm literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_disc-nurbs_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_disc-nurbs_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e270f98c8934e2e43e06141269e2c4fec527ec00 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7603d9bc6c24a922100f8b023d23f5aed6688b GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f5zIc^Md3m>s^! z&k|MH^W*j1WO8kq!M)w_BK*coO7SfK2ps^>bP0 Hl+XkK#-AQg literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-quad_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b1e520c735544805cafebe2a24876b2cfd3d6b GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp55;~}c+0LG4Xz418V*h6dO!95j{2nx^9^k8+`88EY$uE3{okiOVzUj3&N>?O3GQJ6 e83zOn_jfS{KIdW%di~M}#P@Xdb6Mw<&;$TjsxJ8e literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7603d9bc6c24a922100f8b023d23f5aed6688b GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f5zIc^Md3m>s^! z&k|MH^W*j1WO8kq!M)w_BK*coO7SfK2ps^>bP0 Hl+XkK#-AQg literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_inline-tri_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b1e520c735544805cafebe2a24876b2cfd3d6b GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp55;~}c+0LG4Xz418V*h6dO!95j{2nx^9^k8+`88EY$uE3{okiOVzUj3&N>?O3GQJ6 e83zOn_jfS{KIdW%di~M}#P@Xdb6Mw<&;$TjsxJ8e literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_periodic-square_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_periodic-square_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..ed914ae20dcde631255c8de5388f767fb95e07f9 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICqE1mqmz=R2;3v?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSp@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p2_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc-p3_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_boundary_topo.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_boundary_topo.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_boundary_topo_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_boundary_topo_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0000.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0000_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0000_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0020.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0020.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0020_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_input_mesh_square-disc_mres_0020_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_01.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0c898b8fe47dcda6fa788901ab76838b2d85bd GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sBu#WAE}&f9YvIT;LiSPawu zFMKR{=D4fFEB9$3)57Zta!aIk_ye`s$T$cX#rG%m9Ig`Ig39Yzopr087^;b^rhX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_02.png new file mode 100644 index 0000000000000000000000000000000000000000..32199c3c45e652611a628a1f2002eb8bfa55a200 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9Ybc^M2imOg7nB0tp00i_ I>zopr0J!fUJpcdz literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9ba09a586c33fe433e0c409046a13370dc6ae4d4 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5(kAmi)@UQrX5VTyLRZ`tJW8LHwQ3+ br2l+mgTe~DWM4fQnV}< literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_03.png new file mode 100644 index 0000000000000000000000000000000000000000..32199c3c45e652611a628a1f2002eb8bfa55a200 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9Ybc^M2imOg7nB0tp00i_ I>zopr0J!fUJpcdz literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_kulllite_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9ba09a586c33fe433e0c409046a13370dc6ae4d4 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5(kAmi)@UQrX5VTyLRZ`tJW8LHwQ3+ br2l+mgTe~DWM4fQnV}< literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_label_6_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_label_6_04.png new file mode 100644 index 0000000000000000000000000000000000000000..edf0717dc94ca21072eb7b11d44ab201e05f8bab GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0y~yVEh8Y96$kvcY7PcfE*Q17srr_Id3l+axp0IFdz8! z-~GDlouxr8@22IPoCH=0QayA)#r2HHlcu3(cq%7t*m_6t{goYhlsW!S64S2P2FyE7 RYo~(@@^tlcS?83{1OV=1Cz}8O literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_label_6_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_label_6_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d87ba6eb039e6177c5c58ad8d5b8604ff6c7d70b GIT binary patch literal 159 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_label_8_11_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_label_8_11_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3624ed2ea6e6a0e96524f8dfb65200593264e1d4 GIT binary patch literal 3627 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 YUGGK?8*}XKIA0Lg)78&qol`;+01ALA^#A|> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_02.png new file mode 100644 index 0000000000000000000000000000000000000000..6e59f60688df921b600b96c2049af0e07b723341 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zcc^MoymYPaoSeiTwO^Q?F8*g=MXz@O{fr_)%j T&ffY)2E_Gr^>bP0l+XkKczG-2 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_08.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_08.png new file mode 100644 index 0000000000000000000000000000000000000000..0e2684857a5be80eefb6bd3ad6090e53a8a426cc GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;Lim<`MS zFPzQ$sZ{e46Z>?KG7$K%H2B^9qWbImm?3;>k>@3^G%_;XJlvcJGSSo3&t;ucLK6Ts CP#%W> literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b7d053dd087fe21fbfd50ffa2c91a42ddae5b6ae GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5XQVKgD_QLWGe;l95wYOg-8e(ibg@1f7v{GY8T2blo^58TC+XR+OI SKd1cz#PxLbb6Mw<&;$UElq^~R literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_lata_09.png new file mode 100644 index 0000000000000000000000000000000000000000..ed914ae20dcde631255c8de5388f767fb95e07f9 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICqE1mqmz=R2;3v?ZkQpHGz{8&9Bir4g RE2|%axSp!v2^nSQZ2V9fQN5E+Ehk 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 O7(8A5T-G@yGywoSB77tO literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_legends_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_legends_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..db4b38f8ebee2f2202fbd2028a79d53a8d8fdbe7 GIT binary patch literal 928 zcmV;R17G}!P){ci!P;>4gq8LLoO^t~yWeqoHd(oXPW;ES7+c}TVBL&a*O3vBY=lPxE^YENAz=#ne z|4t;UzTa;K0N3DFSt!&0UN1xffD(u4`}*5?y^L%nTO~@ee9&_dOFsRO)aMFWdT8#! z>zleDCIGP1IzHlb{DNMU002sz<&lU>zweg-AQ?03Ct!O`UC zZs3=1@IGdJPQG)wp-RbV2(JXjUqpqF(p$DztQz0O=%2E5b|0rS&phi-^DzKm zJ25*~#_Y9pj}u15yDj{R5{)X1E}2ba8JQc2{476r_4cLwo@Rd`f)GOd&78=oaAM%Y z!p2~}5iDj96692r$eKs4RGhop-5drXK{prTibM`ln%y%z1|c(C%K1b%uL^#HOOdM2 zBvLJpUcTzt(cHYqYY?(nbX}YS!*7NjOpwhT3ol}DD9V^`s_oMnxtBX-azMl&B*4C3 z%m9!M$zLrK%L^m9Px|)yViT}4_3h7DT@nD0_1KSOZT!n}PKT{c%mCVKq9f2HHd%xa z(j{uxyyA#gv=kME2$v$yszGKM|6mfmxuZ_(qOz&$5JIk~F_^>Xh|{AE@lYOsOvGHH z4ymEP?$VJ)hdRX3NNuLmm5fc~yQgxi1?iFK{cF^IYo!2km~Oz^dbCACrefYpN0AXL7WtjSP)HPvLol`e!KSQ5qDk9U@FPq-p0-cT2d!BJK?nA7jYMxw#5HiX? zU8z;Im$#bYMlh)sp%0`ZLA3~dARVDsT|A6=rX&8iIwbBFKsH0_kkF<85}Q(oOwqUK zjGK|McPtjMVf*qT5$zMK0RYg)x#j*7O<(R<56Hxj*hK-rP(pNscq#0+ROX{zycF?5 zG~EOhh{oGF4HUJ8##`(?D|<0CKK5Wn%LAMOigrg)1)|-dTES>_JXn;OrV-Pego%^U z;>eaK*~4c`6MSjG!)Nihbo`;kh!G=3j2JQUU*$K(N~m)d;T#tL0000y&&YJn=Z+T0U{6;+mvv4FO#sW) B9XJ30 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_leos_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_leos_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8c88cdcb3dd0d42fb40c49eb46b116b87aa34f77 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5$A@`lrHuQuXCC?^jtxZqDKanE?V1WbAu4u-!eT RYvTptdb;|#taD0e0sv)DCOZHC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d07.png new file mode 100644 index 0000000000000000000000000000000000000000..fc6b70d330b15480775d68551e461c90303813a8 GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK#rlOi(^Q|oVPcv^9~z`xH=mB zzF&Na_2&trxTVes%QmQn9}>)ex)r2>I^coK@0aWm*=xW4{G4|G?~fJz%jF-a^hV^L z_kEP$nk4JArqN@KxpDTI4MMMZl6XUs?(*qwI^?rPIVI`toO!1XzB*#n7{NR@LjU-* z$V826j7Ow6j#e3NKgZ?0@z)V4jib9{VlrA+MpP#8E=h{@S-0g-*qU8eX8-;i|8SM< zyve2t*Bo@N?b}-$r4u$gf_ZDi@29>Fx?!^-n0H3}{;)3p_4P+Yl2bcPKd?rKF&BSinbZgh4^LM=mvv4FO#qFId}9Cr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..24c1a088b0ecaec3305c1ca01f5fea55219431c0 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5W=>hL*mU-=&9X-{nQN?o- z9Nl}QY`ka2!H2V}xOS(m6h5oGsMSpA*~~i{#(VZ25}sFZS4?~7nz-FpmqvJ++}-eU zmPXj2k0xuDCu>d9uFPpG{j3pjXqH^nwVffa<~wZt{paE9{A*8>JWE|%Vz)4O>LEMK=)L&YYsZs_U+jltrIpo zf_bg~-RiaX-K%zc7Hnb*+Q@hB`O5Gbt+2Tf%u6HMCu_gmAfoNRrZHg6G7grsrV%f;1w9$@7chg~yHR%G` p3j|+3J|ktFbA$=xSL%R&cg^!x$XhRaVPpt0(9_k=Wt~$(695zPdHetX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..acd03fe674a2ebc16bceebd3631e15b9d5495cbc GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5`dEX88aB literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d09.png new file mode 100644 index 0000000000000000000000000000000000000000..49a9dbe221d616d696f01bf02a7eb0cf4a325f8a GIT binary patch literal 539 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK+Ypi7srr_Id5+o7TtCbVLjOT zu0GvjvMV>sYxfzt4+4^ zF{}7{UQHW!Rc$;MFD|(^A~A{gNz&Zu(|LDBq$crRNt&CV&y=ufKf>=?hc6CI+pYn`)c8AcCgcBqtjX!f}Jk%`s^JmZJnd9 zgtHfjye=wOD7q}^X{YIgu2RFDm$;%gz6zRu$Ns-|%+}+@o7ljCmIn(o-D@AesVxxG z_FdB$v*z)qO^V{HebzL_t$BRi)lEMv!rb$7+(AMS17n=s_L}^@@b!y U*503RG9MHMp00i_>zopr0NLHyW&i*H literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b6776f1ec0f363a62862e35760b4c5f7e734f8cf GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5%IEGZrd3$Sp-k}5$)(^p# z6tVYDO-P3)}sNIu&cq>QNYWkM*Y0u3hS517bE-0Xy(oqw1 z=;~$hxVozFO>LL9Y8q_So3509oxyZLTVuNCPHE345tlOWUJpCIUPZ$8-h=`dTZ0hK z;s`n3*?FpeB~~z(D!ence8qk72ZPyxbVidIb2^a0AJJFmpJ(&m*rQm>7WO_a+{A1% z>js0(hLacnoAJzj0Rz{A8M~*-q&>a(=0RA}&E%Yivt~wfZrlBP*Xz%du0c*Bs*3{F6v}a+FIgTe~ HDWM4f@FGc) literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb30a0cb86f1ba8d498a95e1f61dbbf3ca934537 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp53NZkcv5PFKpy&FpzM0Xs_gS zt7BclQtc(%Jrf_!Xi9Y}5RblXakz11P5gfgi_QOESy^U2NxJ{k<=MH*q4JXNssp5d zu9I*Ikq({heKPmy#Fv^+XCCp`t6gb4U#tI2ne4WXiCQ^}*VaB21lbA$54iQ&I{ELO SHWStc33g-dCJ+>RLTpKX>t3Mg|7i(9P;Es?NwgnA~BiU=+4htddVTd8tsg zL(-Zk`$HT<<9EjLjt-{$e)q4$N<;GVVIwp#1N5rgorDuHPsF&KchAk1Lzl0QY z!%Q}^wH#e_`ufd7NvXow2a3Nj*m`Fdx^LLJBjWVBi$=M8AQ$2RFQU`<1(w|M<=<%b z^|yt;(zR9Fo_bC_Ud{H?AoT9~w`;E6cQ|g6wAbRz@~5A^?*7Vmzi89Hs=u?dvY#}` zf0$$Iu%;B?d5gig5yyLz7&#qr;v*%<_Zf6InVPLqo)+Jtvq4IqF PL=ex@)z4*}Q$iB}{5D$C literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d12.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d12.png new file mode 100644 index 0000000000000000000000000000000000000000..1b2dfb95f822414ac254cf2889c29cf54748bcb9 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK_UnJuN{EKEc_aX5XB!Vbi=EZZAfV4r0Iqt5+9U=XgwUlslC5==TeEr8S;glGUeP zujkr1qvOlgbF==iZRvB1FkW4^YWDT?({1a^&h<~vUo~wa>;A*PUof4^v#UCEE9v0( z9(&o6Fuh!*#8j)#X*{zZ_HQ{Cb;*Vp7l74l|Hv4{$E_MMdyX!M@9FC2vd$@?2>{c1 BP+9;0 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d12_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_line3d12_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8a8e4f20ad51110eddcb7c4ef1515124450ced38 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5~Cfh zc#|Mj?(Q6MlA&qw+?d$?n;G{h%n5#Qs9F%D??e9IZGBHCYJRqRzR>K_yO}euZ!8h? j&0Tdvy|}i>2Bcz-ZK{`$%E^0Iwu5+{u6{1-oD!M<7v(X} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_1.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a0186c66343d52d9261570a58a098a2fef9d8c54 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj r*CxMEQ&C_9%I#QnR}Q3<%Am&Z)o;fCE0ybP0l+XkKysa2x literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_10.png new file mode 100644 index 0000000000000000000000000000000000000000..13326b9f60fbfb930beb9e6cc68f191e6ba1d17d GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj q*Ct!Yswgl5;fIGMHnK+Q|67=9brNkinj=elF{r5}E))85ZaO literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..419623cfde4f6c1134d305658e6d421c2a8cb1a9 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5VwSFDX5IYN61p$np7XD%mIrA8gVQ#ml8owd8;b6OxSp?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_16.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_16.png new file mode 100644 index 0000000000000000000000000000000000000000..79c5fb770d33eec3bb1c888b7af81b2861b61414 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj q*CxMEQ&C_9%2_PGD+f|aWng3c<1OQVZn0)Bkinj=elF{r5}E*UH5Rb| literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_16_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_16_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..820bcca91199995272cc3c7d57522f243d44c2fc GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_0_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e177bb27deed913abf7412f644d45ce94beea5f6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!96Wqm v?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_1.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..77185886fa0cb4b3123a517448e67e92334db45a GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sr+#WAE}&f7DNf(#5S3%AQqKDo7Bm(j7-<+V_QH5d%F6$taD0e0s!XE8My!e literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_10.png new file mode 100644 index 0000000000000000000000000000000000000000..b6464fd4be54e9daad695d7e6a6d836dbe2d8a88 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj r*CxMEQ&C_9%Kcb*R}Q3<%HWQn{&vRyr*34bfDHC@^>bP0l+XkK(V-Yq literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f3a31330211c1b66fe0e293daa0f77398954df46 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_16.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_16.png new file mode 100644 index 0000000000000000000000000000000000000000..79c5fb770d33eec3bb1c888b7af81b2861b61414 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj q*CxMEQ&C_9%2_PGD+f|aWng3c<1OQVZn0)Bkinj=elF{r5}E*UH5Rb| literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_16_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_16_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..820bcca91199995272cc3c7d57522f243d44c2fc GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9093d6a8f1e5dc34d67f8595bf5adfb109821c94 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!{#j%aW+QfunAQore~`5J)))G^`i9Z^n?S`K0>|i0kR<=d#Wzp$PziqZsr6 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_4.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_1_4.png new file mode 100644 index 0000000000000000000000000000000000000000..ec178a26fc1f4366349f160282f8623deacaa2ef GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj r*CxMEQ&C_9%I#QlR}Q3<%Am&JF*D?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_1.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..79c5fb770d33eec3bb1c888b7af81b2861b61414 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj q*CxMEQ&C_9%2_PGD+f|aWng3c<1OQVZn0)Bkinj=elF{r5}E*UH5Rb| literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_10.png new file mode 100644 index 0000000000000000000000000000000000000000..b1cc123ad28e3397d10e35de26e96889e68ea6a4 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sT!#WAE}&f9Z_j0_AM%nQEi q+txF`VCM7yso8P0jvqu*8Ej*;nZx*>>(3&0kinj=elF{r5}E*!v=?Mkcv5P&l(Cc7;vx{ypx!* vdeJ}GM~}pXm{&fUVc+&* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_13.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_13.png new file mode 100644 index 0000000000000000000000000000000000000000..79c5fb770d33eec3bb1c888b7af81b2861b61414 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj q*CxMEQ&C_9%2_PGD+f|aWng3c<1OQVZn0)Bkinj=elF{r5}E*UH5Rb| literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_13_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_13_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..820bcca91199995272cc3c7d57522f243d44c2fc GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_16.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_16.png new file mode 100644 index 0000000000000000000000000000000000000000..79c5fb770d33eec3bb1c888b7af81b2861b61414 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj q*CxMEQ&C_9%2_PGD+f|aWng3c<1OQVZn0)Bkinj=elF{r5}E*UH5Rb| literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_16_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_16_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..820bcca91199995272cc3c7d57522f243d44c2fc GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..820bcca91199995272cc3c7d57522f243d44c2fc GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_4.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_2_4.png new file mode 100644 index 0000000000000000000000000000000000000000..15e82d62332ccf3e56203482716ffc426949939c GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj r*Ct!Yswgl5;fIGT39Z)sXT31wOeuAcH+!{an^LB{Ts5B9s?Mkcv5P&l++vFmNy!96Wqm vR{e3Q;Kvw)O?z=P?mw|g0!SGP}y2XQ@J{an^LB{Ts5{n;DN literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_1.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8cf0a36189451436c2cfde6d67d2a0a072fda0af GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sNy#WAE}&f9a2f(#5S3VF81OJ}xU;)l x#P#Q4>F!mNbC~>o#9enNI`6;)(f|S*ZZTh3#gKX<(^U+_^>p=fS?83{1OS9J9oql^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_13.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_13.png new file mode 100644 index 0000000000000000000000000000000000000000..79c5fb770d33eec3bb1c888b7af81b2861b61414 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj q*CxMEQ&C_9%2_PGD+f|aWng3c<1OQVZn0)Bkinj=elF{r5}E*UH5Rb| literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_13_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_13_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..820bcca91199995272cc3c7d57522f243d44c2fc GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_16.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_16.png new file mode 100644 index 0000000000000000000000000000000000000000..79c5fb770d33eec3bb1c888b7af81b2861b61414 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj q*CxMEQ&C_9%2_PGD+f|aWng3c<1OQVZn0)Bkinj=elF{r5}E*UH5Rb| literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_16_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_16_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..820bcca91199995272cc3c7d57522f243d44c2fc GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8ba227e882f1cfa7e3d69abf32ddafb903ffb1c6 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5VF81OJ}xU;)l x#P#Q4>F!mNbC~>o#9enNI`6;)(f|S*ZZTh3#gKX<(^U+_^>p=fS?83{1OS9J9oql^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_4.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..8cf0a36189451436c2cfde6d67d2a0a072fda0af GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sNy#WAE}&f9a2f(#5S3VF81OJ}xU;)l x#P#Q4>F!mNbC~>o#9enNI`6;)(f|S*ZZTh3#gKX<(^U+_^>p=fS?83{1OS9J9oql^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_7.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_7.png new file mode 100644 index 0000000000000000000000000000000000000000..79c5fb770d33eec3bb1c888b7af81b2861b61414 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj q*CxMEQ&C_9%2_PGD+f|aWng3c<1OQVZn0)Bkinj=elF{r5}E*UH5Rb| literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_7_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ls_3_7_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..820bcca91199995272cc3c7d57522f243d44c2fc GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5?Mkcv5P&l++vFmNy!96Wqm uXvJoL0nH)KbLh*2~7av9U8*` literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar02.png new file mode 100644 index 0000000000000000000000000000000000000000..083af9aeeaf219634c9feb080f18cdde3163dab5 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zIIT;Lim^YUE zUpQNoNpA`N%ld>ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5ER**t$pl7bizV%^$w5r&#$r3Hr5X<|sgOTZV!0C@5J)W+9F6*2U FngF>X9yR~~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar11_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_materialvar11_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8a09ebc7148344fb1cf1f402439d7cfe6f6bb2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr09AVzTL1t6 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_mesh_point_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_mesh_point_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c5cbc9119e7fa38daec1d87727241a27c360b702 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5bP0l+XkK($*F7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_mesh_quality_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_mesh_quality_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ce70a2b54ae22a09f89a36fcc37605fa11ffe084 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5gTe~DWM4f&zTmb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_05.png new file mode 100644 index 0000000000000000000000000000000000000000..3600a7b386052c43d2e927e3ee52a294bdc9aa69 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r~q#WAE}&f9a2ybKH+EDJW* zXRLj2ey1ao5J(X*pdqmdKI;Vst0AB4J ASO5S3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..35f73d482f36fe5738eebc0a6fcf30f1e0a512e4 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zIIQ8Y14;<%L%nrC-tn={yiF?ykyExU4|$6Nu~S>gTe~DWM4f D07xGJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_07.png new file mode 100644 index 0000000000000000000000000000000000000000..458d99aa5618eb730d20fb4542c1b9bd05b455bc GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj suQhxpqoTkFQbR6yup^Tlr{0GDVtNM|88Yt%d;qEOboFyt=akR{0356rq5uE@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_meshtype_point_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..196ee32c15b6da51965d8ce467d4b8d2e4ba902c GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5c%U zmkMD}%oKgIl?9{?nT2Kn7lvl#3zaYft#@jPAqT-G@yGywn& Cl^?|b literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_0_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_0_01.png new file mode 100644 index 0000000000000000000000000000000000000000..309f7ab0601fd0d40744e43b8d753cc6fd049fbd GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r{p#WAE}&f8ljc^Mcum<+zh zM{WP$WzEPR*8)}sQi=yOxE5Iq}gQewe}nXlxaYL9)G%gpe=LG4qED-(l|FHp4S!52n`Usq~- eI>d0AcSFoikK@P6!#~e}lz6)OxvXh9Uz%46?539My-dFF4$6d(H*2j^)q)lF_ y-&pSMoc@Z{dEs_H{Z^A4yYJ~gKh9)gU{DqJvu6}|-#@z>WT~gCpUXO@geCyqoHq#o literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_00.png new file mode 100644 index 0000000000000000000000000000000000000000..2a2993738b685cd54ef52b7244f7a78d0ed20c63 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&ryi#WAE}&f9B-j0_AMhd2B* z=jE#?pP=#LCJRUvk>G*JTcFB{qm9f&Y6#dQxsdVyqZ^GoKpH$<{an^LB{Ts53(Op3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..27b5cd4960530b5c7d3b7aa310b1f3e7c73ab3e8 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5bP0l+XkK D=}{ev literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_01.png new file mode 100644 index 0000000000000000000000000000000000000000..45e3d3dd4b9ef9e9304d652d93c3db7039ae929f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&fB{?c^Mcum<_+h zOHFflG||@aRkjc#NF8=ya^fXe_JB~9B1naU@k3GUDj6ycax&wPVqhq6Vr1XQ{MS=# Q_a%@TPgg&ebxsLQ0EI&xhX4Qo literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8597d3ddbd08cf4850e243bafa783073c9521539 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5Y+$n5v{>d6!}@P5~;@3;V)QcSv0z@!Jbl28M!+r$?vO^t;yvGBGgJWH8@y VVJO-We8C-LuBWS?%Q~loCIE7*Cj0;Z literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_02.png new file mode 100644 index 0000000000000000000000000000000000000000..7914097c9a254f61ad8e1d9a0dbd2c5158a1426c GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r^o#WAE}&f9Z}j6fcf!vFc# oB*h{em_SNEpx|0Lgh4H`flQLPS3k%^Pgg&ebxsLQ0NsBSQvd(} literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_missingdata_1_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..052e568e1d40024bfa700abff903764a7920aabd GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5&E~8M&A{zCthajHoUxbYjMM}Ozi_FSXBedltJ1cV8@O%`wpys#Vt}H>{S_NK4oUn zPls>Q%L8Y&Ef%v~-Sd9ZO8xD-TdsC%87nQ?DnF}jfBmyfySL5@KmG4(uQ1ad_tdA8 zj?M~w9sDWPV`p_pSa(m(&OOp!@6Wwren)wYYWFqf*P&lKo^L(&>W<2qj*gs*)8-tj zId}S%TH@1LCj$~6Tg`tT_BZ*i@|tU_Gdr^)_sP{;tzEePaNdlW&M&vz%h4?^oZC`) zEN72n>e|0ow^hH`=3TqhIwUOrX7zIep95QG6nzd}`a1mDj*9Iy`_}!OQ}JbIO~lSE z3*Tlt--=_KcDyWU`lfik=-BFg(YwDTKCoJH?W*?cjqKkpMgCg-&FImRpA}C}oia=N zS{CxB_Kf2?nXsC<`S0CaYfQe#$6BoEpWT?gJL*rS-ktQfXII^8J$!5RRQsaA_-P^M)PNfuIR$NP>ReFQYo&8S(HP>Z30$AbC$$KbLh*2~7Y24;HZi literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moveoperator_0_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moveoperator_0_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3fc08b3cb4d7aaeda8e8b8d2340e6dbe457fb4f7 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5Hq)$ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moveoperator_8.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_moveoperator_8.png new file mode 100644 index 0000000000000000000000000000000000000000..1b2424947980f0dfa5cfdae040833a0b1b590d7b GIT binary patch literal 1071 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_curv3d.silo_partition19_0__thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_curv3d.silo_partition19_0__thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3887fda49c2182df10aea1aa5af87a9f66a7c0e6 GIT binary patch literal 514 zcmV+d0{#7oP)T5P--xphwgHW$;{TT`FtRo+qJT!d{sAU{(%%tf0Ot_!WaL6u^Lqb z@JEzs;Z2?p*6VDg;{gsJLa7py2O?9lVVR5ap=q}P008t2!&5F9?%%Vv?4y$l_Q5jg zQ&JR;bcooU{l$ONL2usYdNzCJF?+UKbAA&5O`m#6t`Mq;t+tZoVLr4@QHu|9gmiVg zEC3J-giDFq3oC1sz35j-dE zbLl9Eq;x1!bE2A{e_0Pp7#+? z0tBLl_}tw}7;(ii%OzO>2FP7lKb4-9u*!OiD*{5*le8gr$S_ z)&VJo8VoCq@7Djyl$$ugbw3|!*8E&D#u=3O=HHZ3RE@Ur#75a#WXL!;)wtCAs#7c( znadcD6?PU()U(5`k41I+>6|RD*s$$(r?eQw9j_;g_JrPnlO&0=kv3IWA5s!8?JShV zH=u?UxuLiyQY>%Bm`MY&j-VS?{FoIWddYby@S(un>9%nJgK{6Bj!C~s5HEx0pMkZTlsSewA7-fqa z-_5iRG0Q`Xpr|odVN$PgB>+Anx35*02y}@pX;GX?%@N8!vlCE2owYa@!z(A`MMxj$ z1eX8=c7R+QG(p3YGU7Aer|;yBeyk!h3G4+9te)L#f0vo|^pS8&W_({q+1fhx^eg*H zScLL}yZN7ya?3N9oe=!oRl7w>nywQte|R@+r+<#15+UmFfTnUcNpgk15TNkYmlU2RqJ%71oj~)a{Pqex1V1Eqv-Ln}kZy@@X3<9nItD1{<^ShFL$R$j`VzsuwR z%Pqa^_*L~JqR1{%6%s9%eMFLh8feVZ{7==VMCK}>Z>IY)YCAJL6fAkVSShU^#)1m; z*X$8rPTy>3e!7(NtPMegDRYNF$8IBg&6QHYP<`Jjue=Nxnb$RJa%{;aerdvlr5{Lj zii%6Hnu#x6S88@ZAK$`Vb*7fK7SD*OHB!#OB;LEAg*L$rgOP2RYG!yAFf6a)C;$8* zIYClWW2HLE7)zG^LJBbsik23!$GVTL7V{&1UwXTIri8zfSP@K_KAk)T^M8K#Ktw7* zgm^4u82d7T>C{Rnu)uo< zem+*GnvthYVl6H3Ga-raUx^FGR>r|n8qQ^RP&T$rmxj3vJ6enI7+4AqtP(dG?F+sI zuH~=fG^o$+Qqpj=4L@)*R_ymA@EYO^?gGc=A^9*p89u(J-xSc0lC|0yOx|1E;wi6B zTjnpE1kJMH7B=f~TtvYjBZX&YCt?Pzd6pdpW$?clfYz0U2CO#= z?GC=qhMVD6wKCkif~>IUCMNHi>iQjt3 zcm<`MPp6;RPLFhTmmp*P@@bPSoSDuKf6ZwXwj;BoErx_#{LXq~eLMy3C$jznF=~at literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_curv3d.silo_partition4_0__thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_curv3d.silo_partition4_0__thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5898ebe01f6dd4fba2438227e4baf0834467df08 GIT binary patch literal 823 zcmV-71IYY|P)RB!U=)mkp$It1)5d~VmMMyF|8*q34)=*4WLUz4SC(10CRQJb zfBJQt1{szR0Ib=MJ4}%U`28(tU`y7Ey}~FW+9^ELw_@)AqGz|&Fr_qVsFY<` zS3cHbU{GK5>W+~Ch9p}=1RJInk^%dQ$7&1=3=HavUOjBL!IU?uQK#IJ@~6;XQeX7) z=|o#h1(G$Ml-l9^-5JJIU-bO<5o?r8%q1$u%fJwr%ZEcZaXFsv;+|AEN4?rba*zKv z1_lNO20^_bB?d7`#&56g2_F9Se-HNjPn;$BH6{-cJdHvLzeQ<38TdRxUHQKpy?^xI zrB_T+I_#Do)z>flMU;V9fZ+W&6uwsds{a$zi|+pawI*B)Nt{iuq)3TeOQIgLqYCKO z&3^R#|J@?Y6eZ*$Po5oYhloHArtB6D91O~mHf|NXjTnS~RC%|uNe zOwo`27opdal!6&CsQmo@U*oW=qyQ|pLg7~Zd`#t_VqjokUaX1C4gdX{+6@Q>1_r?t zWS;n$pVSX4G{D&PzmV2;Fhu@e$xc`mWkBHm7qZI@qCx0?jLc7Uz;)met~!HyAoPDW z&Fx^>PX~`^{p}}9AO3zk8qj81OM6QcAD*MVC3dI2(cBVVz3pV#L6Rj*ET3p^3G>^N zAIEM!_f;1)~5v00162#q63LAF2QV002ovPDHLkV1j17 Bgm?e| literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition19_1_.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition19_1_.png new file mode 100644 index 0000000000000000000000000000000000000000..3ef965a96879f25191bf49fbcc3c6e0bd546c293 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&s5s#WAE}&f9a2oD2*cEE`_O uM;Xg-)NNz&1}TDrhT_k%a1N!6hI33V8jK8QJid8=jPi8#b6Mw<&;$Uyh!-0G literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition19_1__thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition19_1__thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0c3e0d93a23b2f324d85cc45e2223cdfbd799d33 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5kcv5P&nogVFmNy!n6b?I tmueWo@KwBmg<;LQ_9dSb89~Z{z`}4+5QFl|G;SLZ&(qbDG<1{T6JI8fGB7xBu!bGT2sq@35Q9pQO9iAc#)vZh|77l93Npge)z4*}Q$iB} D+$kFU literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition4_0__thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_rect3d.silo_partition4_0__thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c518d6515fcda7da000efa8494df10bf45502dcf GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5kcv5P&nogVFmNy!n6b?I tmueWo@KwBmg<;LQ_9dSb89~Z{z`}4+5QFl|G;SLZ&(qb z^Z(rAqZ3*=8TFmMu!M?de2f-){LK=i0|$6h`1g0`_Y*7YlNPKpOiaBe;X1Sw*I&lvyFPg@`UGrqt``G*2A3R!Bc1`(O%*Nf-;n6WG zlj=Hpld5^vPnJ4b7V&&eNK|FH`kD)FKYY^*btMj;dlV&b&2sr9F&qxZC469u_~x_H U%F~OS3_waeUHx3vIVCg!08T)4ZU6uP literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_ucd3d.silo_partition4_0__thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multi_ucd3d.silo_partition4_0__thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9ffa4c69b5043aed655ac44dbc98946721f4f4f6 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5^-0CT0&6sjYDtJPC%@9o5p$bqc%~85n*{{8%_`L(jX_EvXxJ zZ+SfZ)I+Pzc(3(SCwyrAs;2nzzF+T;rMv5W9#7v?t1C3^XLV$E{H*iEwskLgR)6FK dIpDzjpA1iDa^Jno|H}`=_jL7hS?83{1OQ2=MOgp< literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock02.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8719ef46bea6abfdbcfc324ee680b777bbeb85 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICS%Afqdz=R2;3<)%FTXtq=9}QnzjwDC{vw@k{Y#k%hH#e4JAX7YD{an^LB{Ts5 DsWci- literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9afc867cdb6d5dbf457aa9f41a292ed64fdae0b1 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5F=m2zfJi z&;KW?HlCSc+$R-ZKJ$EqRpjO@PLLr$@S~b>g&*79 S_=|jJL0nH)KbLh*2~7YCc`1Sb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock03.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8719ef46bea6abfdbcfc324ee680b777bbeb85 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICS%Afqdz=R2;3<)%FTXtq=9}QnzjwDC{vw@k{Y#k%hH#e4JAX7YD{an^LB{Ts5 DsWci- literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9afc867cdb6d5dbf457aa9f41a292ed64fdae0b1 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5F=m2zfJi z&;KW?HlCSc+$R-ZKJ$EqRpjO@PLLr$@S~b>g&*79 S_=|jJL0nH)KbLh*2~7YCc`1Sb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock04.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8719ef46bea6abfdbcfc324ee680b777bbeb85 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICS%Afqdz=R2;3<)%FTXtq=9}QnzjwDC{vw@k{Y#k%hH#e4JAX7YD{an^LB{Ts5 DsWci- literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9afc867cdb6d5dbf457aa9f41a292ed64fdae0b1 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5F=m2zfJi z&;KW?HlCSc+$R-ZKJ$EqRpjO@PLLr$@S~b>g&*79 S_=|jJL0nH)KbLh*2~7YCc`1Sb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock05.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8719ef46bea6abfdbcfc324ee680b777bbeb85 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICS%Afqdz=R2;3<)%FTXtq=9}QnzjwDC{vw@k{Y#k%hH#e4JAX7YD{an^LB{Ts5 DsWci- literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multiblock05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9afc867cdb6d5dbf457aa9f41a292ed64fdae0b1 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5F=m2zfJi z&;KW?HlCSc+$R-ZKJ$EqRpjO@PLLr$@S~b>g&*79 S_=|jJL0nH)KbLh*2~7YCc`1Sb literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_1_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_1_05.png new file mode 100644 index 0000000000000000000000000000000000000000..7271e4d8cdd537f76c8b728a07ceae8372d074c4 GIT binary patch literal 2212 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_2_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_2_05.png new file mode 100644 index 0000000000000000000000000000000000000000..5bcc76a96671cbc5f5e0dfc17ed074eb476560c8 GIT binary patch literal 3036 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_3_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_multicolor_3_05.png new file mode 100644 index 0000000000000000000000000000000000000000..9f93fb229118435cd47e6130ee9752fc3c0a5d8c GIT binary patch literal 1656 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 TdW!v400000NkvXXu0mjfct;ts literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran1_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran1_2.png new file mode 100644 index 0000000000000000000000000000000000000000..62fb46e7eec2cb0ace8b06838e5d493768191676 GIT binary patch literal 1672 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 LNkvXXu0mjfvmj>p literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran2_2.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_nastran2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..72c0cd68a71d2f983bea80ca31eb3048c28fda18 GIT binary patch literal 1972 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_netcdf_3_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_netcdf_3_01.png new file mode 100644 index 0000000000000000000000000000000000000000..1222082c9f450ef1ba60a2db77f738bea2d007f9 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKx(O{i(^Q|oVRxjxf%?3STEH7 z_pWEx*0^@kam9Pz#uk;k-a;VN7$EHGdT|Uvu)vSm?=G2S&e~@wc{kD~_eM(3tH6&o y74u%IO8HwXuhy7jUk!hzZoASIrzelF{r5}E)DoH7Lf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_netcdf_3_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_netcdf_3_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2207b34d44d8e04fa820c47b57bf4cbe37443533 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zzBT{FHz_DS6nKB(P?L-5v3TCp5Hn-@C6gd6cEUH$SmT? Ua#j0$;%X4r)78&qol`;+0NuPR_5c6? literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_openPMD_3D_Fieldsrho.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_openPMD_3D_Fieldsrho.png new file mode 100644 index 0000000000000000000000000000000000000000..b8db7be66ad2808bcaa43f4a02a4b1923f887ac2 GIT binary patch literal 333 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK#qu~i(^Q|oVT|R@*XzeVLq_n z_xn3*66|^+p50|(RNT1kwhcc>H3CTg-CxI`7itr^f4w|I!uoq{;U5eF@>3asDr6S_ z=sLEw$RWZYF#qstoxY2^+j3GjFz79PaPx2qW6Y`@4`Tln_B^ufIjNcRCCT&tEVUtbEi|KA#m~BLjoamETb_wjW|T#Koblu%=-{g3@yxF$fbb z24Zw4|HwPRl*rn`D*V$VrEvpOWyIcSj^`WNA%?}Q`o7%Ye<{PeYq#GU%y}BCqR}9D f#T3~h5c@!G+?{3e3dS2bw}7~wu6{1-oD!M0oneEP)NTVt-~iblDfr@!F&?fJZ3pI_du&-?dJ`fVFCVF4)t9v&WHsJV$956=JYkOVMm2TiyX$hh;RpzhYP zWHMdRgqCL*t&5fi*+kKM!b2rhT>}GXM~mq9%se&JShikVo8RY@CH7n=Og$|2krAr+4UA2F0?@@ZhDk59@p?Xz zt{AK|@wiD7Zn~aqu6-kWQ|p8gR=h4$W1>7&VHOc0#B>2@;ORX`f55_T5_2lP^e5Cl zi!USE)OWPl(?3}Ii&;l4?EvnDTP|Bh)dG_-x{>GoeOsjm&|HL`+5>4tHA@wp$E}Da zPiM|O9guqU)VF(Affm27$&`4+l)krZZUjVyOxM^Ut;HQOEx8^~vD-1igiKwD&%`lztF;(In2U4xV?? zIP!oDFwW$VG+jT>Dd2)PS8z!G-G$G_AMuLA_(hO^R|(6j8owRz)-R$*)w;`=%L zA%iv#wR}GP^^_Xf))`@l9?)y{mYxc{+8D+=691xgiY9ujwr1eSexJI7n`TAeS1=&w z-sN40n1>MMEyi6ya%r3O%#dj@8yPs3Rv;P~y6Vklbia|2EHb}1L)sRD$(VlW84VGG z5mQ0fE3;`zX&I-kxB|pu%NlDRe!Li{Sft*Y$xy&qln>u#PXB;lQbhC9&PHQx{5{Mr zTtSwN6?TuDOb)mo*KXrjk{tLlboLN_e&-3+=b8T@7(XhJhoo7TKW6wTmY zGwmmNk}mCnhZ<0YuP_BEqvdiTHQHgaV78KCf_y6TulNf`m47MDVMk6u0vzy|2ex&I zQ9^>(OqcloCOFb;N9NNCT!cT?mUYftg7(dH-E2I5Lg-{5%maSsQNchrQ1?3=cg@Yd z$n@^&h@HY%z~(0>ja761U@fz3DWAb){x+Q~&(5>m$!Kw@>PxvXj>-y*+GuzFGy^`(-+ku=r$D3W46#=E&P$g|~}FoJVkjDU@uLb9GuU&yR&J6XhBl;Zb2k2Ni(kWb7`!ST7?;I3Qi%<@-x5 z_ch~#f;QAU^b!pMtM@P>lQkmLcdHW5-%bYkPWh^Eax_Kt+AFp=8$o*D=e1rxST8xT z^SuJVA zaq~IZr;a%C+K~Fd6pqZ3eNoLKm(LO>%B*#fjh~VLU}%paq~cX$*>r(BlB&admo+or z{k!K(1g)}39b16aiN5VaDtr0Rw*7Nk1+`hOmuV)7aGLMfsiky@_9fScfMpnO^41C= z0`A`B_9Vtn$*Obh9bsYlI=*&r+hnZc4C0W4u>3!8h zow#7Lm}c6dHj}(mza>AgA+vOWU7NUkxds4bsFd(BY?1@szl+F-I&>k$FM1tbDpnuM z{M;M%Ast~HFf{Jarek02cGY#`NJp_H1#VXj<~zQ2a?$PdSnni0iK4ml$xVDLI|JFW z??0f=`9gZM!Gx538kEF4UpSTO}kM$3^P) zQ)BSzko%>3vFbJKl;3QhytTOo1#IY{)skRzu)u-AZaaAVSmR|2E~oy-nS@{wpwT{L z2$<9jq*SjRE^$%mGJ>}4k`kv@@+T%Q9c1%mq&>C;Qd1XxDS5kW8Ly5${9oT?9r8^x WE|BUF$&nlVvxS=4m{i~NO8gH?UvEkP literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_cart_proj_1_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_cart_proj_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cb7768a5a2bafa76ed2a7a932e72fe9d657ec676 GIT binary patch literal 1710 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 V`wav@6HUHBmgaV5jGJC@{{Z`?m2Ut5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_cart_proj_3_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_cart_proj_3_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ce273ad0aef66f1a91272b46b6e36c39174529ed GIT binary patch literal 1411 zcmV-}1$_F6P)d;V3a6oG|>kW6O2Mk(1ds)G2umh zzz2;a5{dEztq&3_5hMW$HdyHrZk4p%ZZFeqciHXk>}7VwhozO)nQgbAzRd4wzHiPs z|2f}n&IcG67#J8B7#J8B7#J8B7#J8B{3j4veReXJ3kd}PNKDkkRuQ0nb8a03c~@m|Npc zq@1Han?ai`2DktKWBly5lCED~A|)I*^(Z=lNjLBkk*?)K7K#EO+E0&e`^Q>Xh=?1Yz%T$Hac(eh z0vrv5N!5+V2;Eru&dC&998zjD5`;O85JgA;W7dt8-<(X7FsWk_Q4o#^VK5dN=A70G z%OuoKIb7t87_W@V4rEA@$!R|SOo9d0$pMv!FmfHw*#S6LSQ57_%$O_6rX}0GiX<5z z(>7lF>#@}~)1poFRxm{XSQe%hUy3lflRo9zW+7|bTa$IT8_nUGp)9qn>P&WvP0xo@ z)vV9Gw$Vlc=lTIizBm#^d}1Ww|Fl5>xrlWrv;Z%;ILnVJLTfXMKZ6HUL5R4FobzA~Po zbcah|DHX+b0E+l>S?a0JHY;{3WT(>**$UbHPF3{;6YZ-pAARYCi>(`W z9f-D9@r+z5c7Jt-^(@I?<>Q>JCo=iNv-aT!od9s|i?JQ_l8-GH%7DJGZ9=ipL*Lc( zqzZd86!&fixjJ}a3maIY{IoCDcIM&IL;Is-CgW~Vw|1>9bsRf+qEgZmDR@J`oxfg- zcOr1mYCrxa2b?dHf3~E*4%eSl>BP3$cFQZfM`gaj9oo0yxjygevrq5({6KRVQ+;x& zc})e-K?L?JHJy^6T}TLR6%R=9!ZZT_J(rHSzl;;Mh?Tuo*X28-Kc4)h7?uLT z7oe6|tbj`-JXcE3R~DT9XqD6J+6choCx&4I|61MQ^3o;C#}}<{4Ibh%e9dK1ft*7`~CGeR&HErC6c$QhrZpbNGd^F zr=735gk*@P`&~Q$glfn2M6NrhpZ(q8LAq?W^-v25r0A>U<`Vu|9ugda#Z{GO=Oy6K*`5^0fj{Gz~tHVeoM9?>J*Ll zDneHsdA)9`u_%B4EZUoKnzUb4RaG5O{i>>F5;<+Nn^AL4W^cI}jCW^m43|&>K*_zT zvyrsUuEJb*Mu1dR07$8E2S5-xmq7N;xPaU5l$9*!F6n@&+pmFvfq}vQ$zRM7Td2N7 RI;Q{t002ovPDHLkV1hHTm%IP~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_00.png new file mode 100644 index 0000000000000000000000000000000000000000..20e4d21c684d90400849c08a01492f8aca4bdc45 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&fD`F1sM!Dm@Vt^iUTxWV4=?VPsPK7nKb%*wfX|Wt~$(69C%7 B9KQen literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ac3b0d831a27f31eab7cd3948047e600f281ffaa GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5AmJltp4` zTcZ?HPtaipUPiZ-i3{2o7GE(4aBc|9l31a5K*N;hia^2?g31{_lrTsXFL`+Kq8*5elF{r5}E*u#&D|u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..23350613df49634fc5cf1c3ceca69f1b586f5ef3 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5-Z^T{;56=HMBhH+M zNi$h$%~{u+8+8@Jp^R`)sh=fQrZ`LZ3d{Oyw^C2sizuJ}%1`LqYWMs#_Mu93o44-w zKj&X)%A^^*ZTfdk4peYLT@Vt^iUTxWV4=?VPsPK7nKb%*wfX|Wt~$(69C%7 B9KQen literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_dualmesh_mesh_plot_2d_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ac3b0d831a27f31eab7cd3948047e600f281ffaa GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5x$aB)^JnYfKqbtU1JQX@NB00qfSSEtykyV*R@}`wkiYYp?2`+-f_~G>Nxr z?vp(C`3F3XaCL|ZXe)#{tZ9g7JX#!7InyFAw*9m@`|O8)Uqi>6_#B ztF0L~G9|Gh>j4SOom+mGTR?k5#_T80@16Me_y4S{`A;_4E(IF3HGQM}+P1y6vWe@$ z-bI2GGw$Kp?Zm;bdghzV7p3eB7QH)2 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_inverse_ghost_zone05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_inverse_ghost_zone05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3838f947e857d2c5cb48d877581cd1c13780eb11 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp58$bJYW?QV z{WIsz@pXW~3Hy*8m*Q5mKSdv|#MH}95L?N?l7A+|4qQ}B_L^8|t8KC29` xsdT+jbrHSZciy?BgY zUnni}hj(R8-K9`QpnQ&nXH9&p&qZO79_oSv*QL%@GBSnw+`kSo*wfX|Wt~$(698^< B9N+)| literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d690fb3267b4d5ee1b9d4bf0d19e5a217e74fd51 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5D~m$P6&BH)c%x%XW9} Rf@UQU-_zC4Wt~$(695lmD7F9q literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl10.png new file mode 100644 index 0000000000000000000000000000000000000000..9164f1b01484d152a0e7fa9a09c115cbfaab54e5 GIT binary patch literal 1336 zcmY*ZeN0ma5HF>Owkv37Vd6)p3^t)9iVy`_lB}@I6Jycmtq0jAs5qK9FDLU9=a>$WYz0oBRu7`GK@EVVR0e8zh{4j zX*sw$fr3^osM{*Y-CI01{7-&zpBK&!GT(hUgh-I%w9JLTM6q>(CHVrVKmBcaUV+(C zeVx;uA**ZL(W(fd3C-G3p91YfcDkzp5-)3L;?@PS-oT(d?4rMkQd8!irA;f-<5Hp%3hH(Ye&^TMci@3YErDQv2SZgqhBmUcf_&SrSQ9v#= z9~9;wCC~vRXlTuI@hRYJ=lJbpsoC2ZiM}~1HHRAs@=}-txYm7+UOVoj2;8pjN}74* z+a~A}wFyvlo4`EPCg}BT7xWbJhTpz==3d_^$bKpT8BiWbh6=zF3?`z4J%AYReDPxC z?qd$u%c#8~J@IINLYO8;g@+7a_V3^nKTP@NbjHaVpGR5hBt{zjfN>40N7QjqGof0^ zP!j5J=%%f*OfxA#&2Di4H^vI3+IdYV(wW%_!hmzBj0m&W$R zN7$VCog{^4mIRJ4i>SW`Ew@X{`tYt_}^;rijF+>X% zY?Ubv|CY2-T5dU|)Uom2JqE6{hJZ@q{>`XN3^+b$OjcvoEYuDC5X;tsg*lP2ODQ%)* zStR`SRVzi^!7jP<89a6)IhYgi2JBvUqT?blp;*K}YT>H$n^lj<6unzAErPQTo;TE~ zdUX_HA~~Jk$->YJs_B*$9d2A&?OZhQGTEBopw<^wZ6JerGWc~;74^}j3oKrPxu|aff~e9KGOp6w5Xl&2<>B# z)h_RVqAy?*uy~&4Y|$OOVPpnp=j@FO4%n8qlk;#v)Zl?~UOdeGIGOf-WGwTNWgj{g zno*%|{K3?#SKiy}*Ecri=3FOS9d#{$vvvK|AUlg>&%u`K%@3R>S$>(*NyS`0@h9m1 k(2T>XCI0_Cvc}{^duEJeg+Ju&V|$6=VbP)YLb%`k1B}ReaR2}S literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2d9700f279e5a4743de91c990721aba6c0cace GIT binary patch literal 948 zcmV;l155mgP)GNMEOfz&1T59sD!AtDqBMW7e6LuMGXf)G+D$*$1Ne{W{?Eznd`O+_go*>`EU zm;bx?*7C99mmGB)EQZFS3;Q)#iUawZY6x;C4udf>oN`9om2AxT z>DOi&@$x*L6UNM2Arj>sovCVI@thLmYKH~{ zR~}0)sR)UE-5sT7R0_mSu&3F!|Lz1xjYl4$lVDfT)0kF*UDcV!9L1Z18>Ea9Fc>rM z`fCaozAx&0Dk(YXZ+!uBodkluw2#6=5-l_k45Y&+%M0H~t_fp|?Vg@_-U-w0#hRDN zuv#~d$(%4Yo0L20IZNiGHd*ozngrJJk2k9CjhwQEM z&DbV9GHGk7!b66-s2TY=@Q@bS8@HCyB>_SnuF?|-5b`#e%L|aRJ;aQY7Z4zw*N7qS zvm%6A_Jl1$j(^ZX_SPXnes9u3rYaH$mKY@?@7=9}khKyeB<)oTLX2%fhSP{5#9SnV zIE^SmuxXMp+(wi@whc0f+lUfKX^o2EHKGKik^Yx<>Ov_o>rY zly_op(HKeBZR-(|2i2o~e@$VkrwMVb5v3545c?WY3Ly#cyKG=nyfadSc-jtZijXf~ zwHf)9;I;@UYo9OnkXxyeJV>nS-X4v4ZifW2@lz8ruh0dFH+qd|^z#)ZPS~oRk(GS( zF~H?NI!5f4o|g+>gOMu_(>O6p0SXoOg$ z5nbJ|VjB4+G-9~g<1IZH`_H810aa;{bAM0 zTF4ZTD@Oe%Af#6B&UyI<{$VTs!6C$nu{{#lZeZBz5cBm2Vh&p!f)5LEhuu_Dp8f$e WG{fwG`ABO300004?m59T` zyFT~+Prci%=9|NP!D;`3t?#UsAD+1H)HEKK88dN!$nJkVatD-^)Fj-(lHGsa_@f{E zs#p4oS;!{IFKoSxUaC@t9~l3iFItfzn|4WZwP47mU%{_CuLf&{evGM3>}~UMQ@_ue z?X}XyU1I)P_5#rrb8aQw_0)<=y33=rNc0--LZw*=cSE#RCEpd-TBLVv@6ttb*WNBv zdX=EdC>qF^ExA(TNED~mB9?5^l@{Gw6+(_^u5n$;l)RQ(v~k0=wyqP$gS0+vX!-R@ zzH z7OsQvk{XXNb+T3+{PbqSbZu@GF%O9F`iQ)C>z$h%AksoWi5I-5Hy|kSt1SEZbmXy$9J~IiN0YR9#1by5<0NUGs03SAjVD zZSqc8yQc`tCPXY?);Z6&zc>{fRN%1SIQ{lRIEqPDM}Q_xMza5S#Oa*&wbM6h z9Qmd7oLS}C{!ROGj&yb0(NEi`w8`9Xqf-6h^FOQmCpDgl|9A7mRMvA7PbW__{{AZB z#rKnsBHnDjb1ULQ`TI)|U*sJ5uEoB$eo(2qXVVX<2=UiPo{dJ z|Il=!UtVNnMEPyL^XJl!PA&a)zs_;Z=lPSrZs6J%JngX7&wsJJt25R|y$*=lvG)1e zHM8f)dM)30>G*~p^J^5>eCl`qC%W#R!yx;_~d)-zuN>DlT7d{j2hatKtjf*8eKkk-oz`w|Vu^vvrK1*ZRc5qbzzgU{!Pek2;Xe^wLtRo zw$4Ab!+d>Kb?J5by!Yiufz}54N6Z&C)x4&KOz_d&&&r>mdKI;Vst0MKVz=l}o! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl11_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl11_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..27075a3c69f235fb85e89e7ede7b0c7879b45a17 GIT binary patch literal 702 zcmV;v0zv(WP)i69_Bp2=d?s75^7;DrJ(h0*``?*X@_3(2suK0dSixfb*l#2~4SRNU>(u%SQZ} zOsktmT8L4#>{?M9n5fmyqs_;&jw#s<%S;OZK!3a$iWDkKR;7?d2-Y-WS`9lqW+J3m zv#qLr%*hd>T+a}*4pOokR)RY<4YK@>GUge`+5#s5JOY4yUSoiqNg!8_0Mfb@Kprjx zklwKX0#^drkw8R7a@-R@E*=Ds+m-<0TnQk|-D`+^l|Xn~*di5#uSF^dUyD=_ z+7_vAdX(_SKP4 zy$MYkfhzp;DC*0zs55x-ox<3fj~?eXlc8pU>`xSTb3N`QWce=RFr2mc^O!d`4!8{f zz{1DW@&D2_02qtgKhhZO7y1SO6j$~V$J36S9^sWVo>mG2NEXl5({u(B#1l8oV@fNY zj0O-NkF$~80HWj3o`Uf;Gaf<%m=RC=6{!J)#FJ(UYE&Q|CIf0b(NEf}HHb%ddL;P! k!bF*GN*|bit@!`yFKP?5JHSLpU;qFB07*qoM6N<$g45zXhyVZp literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl12.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_refl12.png new file mode 100644 index 0000000000000000000000000000000000000000..25e4061a52b1b6fff905d9a6ba8cd6bf6d5a02ca GIT binary patch literal 1458 zcmah}Ycx~|0G?K3Ym?K@#rd# zlf1{woieVWr)@|cw+WpLl|k*!5#8j4saZS=t zT^l~&{g?QA%f2e5z9-}V;8U_El{B1kekIA4qf&obI(R7=-3oAysV|9S2k(2y3z!u8 zd+G#>tAuZ1FEBxHU;}J+R~m?qp7N?i9!`wi{%XSqMrH31g6}6oHk9HPe7woDQN0900}?=YrXYF$0Y*E&*4Omkf1$ zaVrUJ@pD+99gz)0;v?8Roe%&axRa!iPM`pc zmrH1Lq6}c-%aZ4|u^M10!jtw6V9u-qr7{9=!&?}Z(aOV=MP#}rEM9q>GKKK!s^XNV zDPhjn|<=Yd`RRa#*F4QhFi0)Kk-are|8N{GduIGs0H;|Jer~Yk> zVTOSZzDwv`sukARPt_Nl9=F%&BDcY=thuv>R}D_%jl#yVEJSOBY9xx^!=@UE&D@2= zwgGZ8Y{Qy$$!FU@UDLO<(<{F|lE20iB;%!8ep*A+XbOgKm>jx}iY$a3Sl6s<*bdN; zg%y!6C)cb8t-G|@7OZVV{uAKamcVF$?F#kjOWCe0=k1m2`q-9&9ZqFnD1K3xYEadv z-OyfaUJGtBtOvVk7PaIUL&@MOV$R5YmS%5QI5;=*In11K#P2+1-8_A4zit$Yvtxt# zW87cy?E$=4h%9ziWK;!RpWi~Y5~G`!!rd4W#nAaa-w3q|^J9%FdLz}Zun5*Ig>RI4 zh)M;@Qc^h_*jVvA#<;F|KE}`xRhc?BHe$L_(Sj_`NJqB?XNnX}#%WC0p3;g=ek^2` z*ijy$Ds#CocqSXm+l;6ej+QGJa^Zv3xAd2I4jVRYC8M7B6x-U&B)9id@_c7_HT+K- zEK5qV1!nCRp+$@f>2&S$lJ#R55MD3zroYBYp;K&63F6O0xpi=|gx{y>C0i(3&aBVC zUwzdps4S8*c&k$b-8VoLcRWemu(8xqJo96YNH&V}h?Z*3u-y7)-Z@ZifG@)RNjIL_ zl{ZdIIEBj%C^PV(3mwm#O1d|tNv%8jf2%Iwbh;!9rnp8cwq1FM=hlyuHyV>BB#+ki z2FK6Ti;3=6D&sQ+W--g!L2J9hj_%e3*CdDDCAeW$Gk5@|eH`Lfn#4f;H`B4h#pWM= zFM6G^(q^tdIKJ_ZvmZjC?)b54hTfRtcp5p}D|8koNuG55&7GbL$-B(bsXnQ0Z!Qht zKN>4YB--yhxR>QCYnK0XggnHZhl)F;CAU2yfaWFY35sxER0h-9o;aB{2N6Vn z9RCYsQ&DAplQulgLwq=q3G_>8K_VWNe>c^~qB7%7UzL<54=S@3fL{jlFZV_pKkK{R z3$(z&ENI8_2=)@&eVd;IB@+39UJUMFMm6UI@vlPriTom<4#psatwCyr_q+yC$PKwu|T? zqBybIkfnwmB&DGSNo#09`ia$s)JN88L%OppLmZOVkcT)lq#;fXVTfBp6hdi8LRwRj zAqA-o<}^bH(wcY>G7!Ip3}l0b1Z1Oz0A#a9VMr99Q52HdO&XB(6{`aY)hGZ7*T5kR z4HUxCurFu&8h3Sskv(|4na2@;@a!f>rY%H+T(QoKkWuk8l0Kqw;#slzOq%K%_O=Ev zI;_9Otcz$|1(o_=#tnesJ9zS$4}gy&WW}aO)j>2uR_rQBk1#c$9${)AJ;Kz0dW5Ng z^hgx*G>{(Q?Ix&4cq3xSHpnK#ugFps!kNl-N3>y`4x~&r3 z2aF1O*QB$5bN=9GVDFlojdy0)6VO4Sze=D-s5D*)2K26>(*ANXpmzWngF{y}~Ku>Lh~cJZgX00000NkvXXu0mjfa~20U literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_resampleop_noise_point_small.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_resampleop_noise_point_small.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca3469c5eb1d376fb4183f6bee618d75ae20b6e GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj quQjxjRZ(CBsi7{Yn_UJnuz^`@>SRU+n?#;W5ZBYy&t;ucLK6UNE)+um literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_resampleop_noise_point_small_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_resampleop_noise_point_small_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f57ede34a70f120074755ff41fdd9304f3c47f04 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5kcv5P&l>VFFmNy%2=V3p snSJ!ATom(KCXg}^_>rwX!G~Q)h%fgBgYuCG;oTrXPgg&ebxsLQ09D5rF8}}l literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform05.png new file mode 100644 index 0000000000000000000000000000000000000000..2b25646125a1f46f73f922dba9d08957a69b1f84 GIT binary patch literal 3037 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e4e0c245e589d73473fb838c6973e3add17a718a GIT binary patch literal 2506 zcmV;*2{rbKP)?O%8pr?Ho9;>4bhQhmiz$UxWi3>|4%LEyBcLLVjtHm&C^F(u_aL9vG)Tr4!lS!tF0CoWmH{W-sq_%` z5{2IfNWl2}0Dn#KXsllumNO;(52=J7E9fbds*AOaj zK05}GEA|#*n>rStTx=i-nO;G}p@f?VIJO(uK=|+Qyn%$I8C99U(NGB+2xiUl#wvO? zeCtW!JRPfzLdee}rovPigQ9H(Vs;Y&X3g{h;v6r2#J{v|E=vY@n|(Y(sBnG&watGL zsAhJQSucBrfI_bQVpbw7Y`c~X4|s%dxI{?#gzxs@dFPT6Euud)D>`C4?hMuy5R;gKIDd0*eNz&_dBNJjFsOWZtQmt8Jso+0B<-qzEqy%210Rq27`7YoHDB|L!*)i z*#G?jx-$X*Y-n59v}XX#XU|_k;5Zwl-#IXRwU3YNDeh=y`c~fufE( z)w{Ih_NNX)nmPy}4cn}`v-(|1LI|-EVyPuvl|zks!|Fgr1TZ@zC+s_U!{Wnd8l9Eq zbKO<9Ze7w9kaj}ZhI@0kKHmMzLZH6C1Z=@B6~rWjSS z@Q25aZO8(EqII?K00AJ&ZF@QI_Z8xt{)bv;RP$p>=YIUhrfsfIzg&9a`Ub=9_xyVi zGCno)k;vzkr0If107O74FnbH`az6=^5b z(0WsZtgR!&Ngs{Ev=Q#;Z(&1XBE(DK92uEhxqH;>n?biEYD)YNVuL5HELzib4dT$a{j0!2}5kAPpwjwA~X< zl_c}Rldn?6h_=w10s!VjNPK|2SLnmR0O8kk>Vl0+imwUGxuF-idA`f6FuH*NCI^Zc z7)%gnm(nlxa)!BYNw=zJyL@$v;JAS? zj@t1|NdBYJT_LD=;G3d&dzm}Np+n5S(RcMQ_lUZI}=-Pfi5mBft`*wO>Q9cl8cw| z`R}fj%`mKvAFR$SB%iM#s--GYdW)jTEgj8ON11Cmqq4)_3Pb8KNpj;4;)7)AtBvYE zoFJX+uaL4|=yLmDZ^FGZkS%{A12N@KPkcp}`EZ_U{(PdHS>mdCxr%5D>0Y(%W5K|< zp!DUUd0RG&m6n|3F1%Iu%sQKT)gfXzT1K3$-FNp4W7$9e|F0t!K3EkXm~CC2`=GUH z;-*&nzJ;yiTzs{T-@b6z2c0PsykjZ;OKAeyWQ5UW6MDB0e)7buzYj2DCVGUKu2irQ$}=FuC&+moool8~=|+6lR4Z1JTRO~`us1@#+0#-#2{X!!P8K+co^ zTTPu`YK%W+u-HB*U<2Xu9J0t-Ny3)hm3km<;(XSA8vY}I(AYC73Ndf)a~hX?;rpG znV1*H;|6okWeg#xGK2y`i&^IK;x8;VuQFv~KpQX)fa*Gn(?>O`QH^R;qhhCj0sD7u UVtz`>WB>pF07*qoM6N<$g0q|F{{R30 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform07.png new file mode 100644 index 0000000000000000000000000000000000000000..a09b928455c51473e53781520845a909974e2ff2 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&fD_`IT;K%SR60c zUyN#GVc~3?`M&O*5=f!hoa@ZTHgW%tV*>H03wCG)Y-ePesPi}+WUi;HpUXO@geCwJ CDje+q literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ops_transform07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..227b6091c4c6ca77a3f6d22b3f872f2b73e2e6eb GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5kJ_|VD}8_&q3wsgu-kinj=elF{r5}E*4 CdmYdK literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..14d6462f718494c8a5e56b6bd18bc8ea545e4866 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5p8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_04.png new file mode 100644 index 0000000000000000000000000000000000000000..d6efe3c77167db4bce4880d6988064cf8a3ca08e GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zIc^M2im<@OR zzhJ=J-?Zu$cgz%!x(4ZU-x~Vn@Y#Lk1L>kJ_|VD}8_&q3wsgu-kinj=elF{r5}E*4 CdmYdK literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..14d6462f718494c8a5e56b6bd18bc8ea545e4866 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5p8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_07.png new file mode 100644 index 0000000000000000000000000000000000000000..d6efe3c77167db4bce4880d6988064cf8a3ca08e GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sx;#WAE}&f5zIc^M2im<@OR zzhJ=J-?Zu$cgz%!x(4ZU-x~Vn@Y#Lk1L>kJ_|VD}8_&q3wsgu-kinj=elF{r5}E*4 CdmYdK literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..14d6462f718494c8a5e56b6bd18bc8ea545e4866 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5p8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_09.png new file mode 100644 index 0000000000000000000000000000000000000000..1b887a5dbeaf6eaa59158dfab2eb059a7a2e7cdf GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICS%Afqdz=R1X{lLlZ(XFVDS6|42^iUTxF!P>y&&YJn=Z+T0U{6;+mvv4FO#sW) B9XJ30 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8c88cdcb3dd0d42fb40c49eb46b116b87aa34f77 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5$A@`lrHuQuXCC?^jtxZqDKanE?V1WbAu4u-!eT RYvTptdb;|#taD0e0sv)DCOZHC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_10.png new file mode 100644 index 0000000000000000000000000000000000000000..d5c6240714530e08c5556d93a5f72e6ff024cf27 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sBu#WAE}&f9YvIT;LiSPawu zFMKS@BX92bihmtQW5Qw2N55YsY0P2;X`(Lp;mCY8fstuWpm-t3U{6;+mvv4FO#ry- B97q5F literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pickarray_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e48ab5fc3fc8a8122f030861f0ee6edad3fbb53a GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp58rObY!(pL_!%X1kD>&b{8%v-nQ>qYL<&$Z`oS@QRNY{a=w>>xux;6S37=0%pP TYd(uz1aUoG{an^LB{Ts5(`YDw literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_00.png new file mode 100644 index 0000000000000000000000000000000000000000..9c3f72d524df2b60579ab65f4a5fc19635b0b1a0 GIT binary patch literal 3005 zcmV;u3qtgXP)U3R#>U3R#>U3R#>U1*1kTY8 z^iggvP%DvvHng#7KfuhjCFUcbqP<$G1}YX-+{KJR1L?lva&HX#_dq61vcTP zsBFrd?Uh@SOjb_*qtL5)@U~X2$+E@*MxABScq)&V5;{FA?QfIGI_tu^p&Z1Q3R{Sg`U^l^H7)#B-3ebG5&e|v zF*kd)6^g9mggMD&>*^t_t^z#iW${N6kY85UhP@nt#`A`hf;{VK(wbfhS(xxuJq?#j zZ?Y1BxsJ4`!t@}FTy-!48x;sf3pL-J_ZC*x|G4&ux)-k~BwfpsrK@(tD3+k>0c6QL zVNyOsWqbr#vQ-|sVWQ>(yovNV!M+9w&*?Ir8i%a&MBbi>LN;4{VWFu#q#E+kX|Ko! z@5-7<1 z$jp`SixZqfmb_Qx!|2_(R86Bc<))s z60@9+M)2v*BDwPhwVF>+^3s}!bMo9Jnp0glP?50L?`>FYl#j5&+8BBtU|ODA4NZVm zLX&0e5$SR7)BxG)_SL83#}l2ynDBX^{y55#FO$By)}$RbNWo*surT1jM` z-+v~7%9n*hyYG+$N^&2qgK<;I3Y#G&X*Q=C24{xeeKDXD7*ajF#0Z|;GWG;XmOE7; znK_Zq{-DTOLRPW-utScP!2`0WlY=p=j75$Z}XU|D~{G zb*u>>m1SnDfFGTW1VVJs$&``mWrQumf?y8K7ykm=teS;VAjamdpZD@e-DGtlW?03| z?G4cz-VCY4;^t%i(BZdWZpic)arMaZ_o`I?n-a;z^9H5PJYLn(BWvc)D$utbCTYgw z$cn5A9kOPwh51-oSz$$qi~%~^_W_Q0B6;?-w6a>nmTqpWgF6cOqZXQL?B?gH@-f=s z8N`1Cz+pUuNiukdza@{R*Zzz6BBSsZ^O_uUjgLgnbH+&{{lIvAW!g?ls z7kI8ZJf+z}VIZp&($l5ox}NoPY2C@P=Jw&z@?9x?xU>MWPHxEG!*$f6A?rLJFAxg+ zo7oC+)cAEW0#GTdK9II4x&ruvAHRF{SGqBZL_fRsAfl2fVhDN zS05I;?p+IcZ}GU5nuslf|zKK4qciXZw?cF`&Mb`qxc*X;JzlcsG)u&*N{R4|2!?QX5W{ zHhv$*?M3`iDAs{Yw@rKmU?0&v;ofF3b2C}hW(8dx#!eQ`8aV7@ZEtdnLkCs*jn+_f z^UkbP$V-9~7V`&%Fam+UwTc}*g@E1`EMFzhDy^V`;|L3gqR|F5AaKrHG*{$rg{Q*2 z+>qeX_Qtmdl0ySO_*``*1!O0ID@0iQ3lfL4Q>4)Zu4ofAS?I9N=FW;}gvCF7KPF=G zL_WI$78W3Ka?2f=IF3PFVS!{7z+fBN4Wh!yzNMFzqTUPtH?G)?aG8@K|VysSY#kSs7voeQit zEXVPRlX0TLpw8|{_jDp!Ea&2qob_u>dmcxbUWcM%k-*5CzZEtLetMP3N*?Pl0o;mC zz!lN}fp5$uEhlmDxk7hk7C%DA27kyvY~L?ImU)$fUsXO&!Uo~r&Q=d?6_LFn(>rFd z2w8C6s0Oz)Wg|nagdy82um$$+Rs1k}6Q>h*OnxyRSzrJnm1TZn?878z#0=MLon9Qx zKrFF3f)fumqgqFAvW`H$fE;!L(R(Qg*J~78VLg=YiDadX|Fd=*T^H~pGdWRxNVG#{MA=6}u)Z!(rc_kWpdA<%_M_zc480wHU ztdz4lS7WS$Au%Jh14>3_a;64;`g1{DvQG2|yYbPGx+_xFVqEkf&W_;EGH@p5E72+U zm9MN*XJA?=vce$i)TTW(H2L8w3)+!UpH%p$bR_>O+Z?h^cU_g^@VFF64_$tE$~wW1 z0yprthR924log+4&X9Fm#24!9m`3p2j81SR`UU!;my;#0hf{T=mTtv1H{@JJQCJbPdrS)=#uv16lE zqu|Qap)TjD4JWqMqq#;;_89y6*D)g;Fv|alvN0QIyb?m&o;p{6wQLu2sOYJa8P50HO?hyw8XlG zb|6OiRP!RaTXh)5I5p?Upo>JeO5NLGn3Sqy#|8x%yJ4;+nwgn8#<&-KY9tH;UF;3i zH#RmlHa0dkHa0dkHa0dkHa0dkHa0dkHX8f~tPv%)mibn{00000NkvXXu0mjfJ-?>5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..478ec23894dd545a95c1248713820ac98d83852f GIT binary patch literal 2412 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..fb6c653e4180d31a249b0f5231f3023cac162aa7 GIT binary patch literal 2846 zcmV+(3*q#MP)x&9X5GiK{6ei2)437|`OBRxPPw2!0I;)r49V>9kS@sWsLq9kHFZQ*|75 zb;Q&e8wLXuVlXPE3dVea5EROwNeGaTkS`Ll*=z_&_Ivl~kGpqs@7;Sh8*FF#!{^tz z=RN0r&gc8S=iLRq!~Yv%rq456#4-FEBf9e)&o&9slxE~K}*4A(q^;SY$Q2wuFk_C z%EdzMJ)sUUldj4%04Ul~zO&E(WIw$7nFYx5kv^&;L}EMeQgC|HcRv-8;ri@r4?SK` zQ1C=O$sJGCJ4lW^ru$rjAw=T;a%n>BE%i^Q0x<4l*NtYg*=#na&Pp@O^v3|e-?Dr+ z&DQ~N8zrLJxpOs#wWk08y!*Ev8p3biu+~@9J@+)=bO14NxX@^|HV<0QdSqQbVE>Ul zdmDzdN3O(sVqsuQmZ_iQP-tOmem+|dKtJOLD`X@UBsti$_4zM){UlxXNl8AMC|-Qw zQ>o;Qkk-eVSD7Rv&kAyn_2mBdYdXeNw%eijc1u4zl5%^Zs5Gs(Y4n?{36ji_P$PeL zO~uE}g9@FlzDegslD3|s&rE1deWZq63ql(YOObT-Y;890tn`_>;HTeb98NH3o&f-G z4*AddE;2E0cJUTzeg1Q4t4@j}Newx&PX7Lp-m#R-G#voA9VwdH0~Z2)W22t9ME#uD znK}T0nv#QFhcndRm+KxsEgHzI$}DMLzdsIv-u8inIrHK*)DJmF`#qyE$-0?|W|K@Z z9I!T{ckfYwX+icrw`heGEJ4`X&f}WIIWi^AA%CZT)RP#OFw10C=_BIQ3;zTF#L^!! z^*Iems%;(Z2d~JuHcba$$k{jM8I4QS&(SLe55S64W!1auy+UEapA@~O;#=GXAAHk# z&ko1OjxaH9W}@ccoe1N__VsQ>jd?)jP}<$YE|T=`KIV_=6w6^z(#CwK(XzUlWLrB|D zITc^7jN`g98tuw}!hj};b1i^`Hcb|bbh&gds@)R+AaGz+2Qc<`P5C|X5)#vO zGMUpFEL`;5Xo8noIvj5T0FHT7rOr;I&ykRfZ;>f71#cE(^z(1k942tQ0|0RHlB#qp zcU%1R5)!=gD_?jk_W<>=#n%UPfDU~<;SIhLI_cD7MBV86BlG1|2UHG+izMyuIsCPa z!!D&S8?gIV3tdx`4oJX|87n`M&IG6oABx@x04aqoA6zD*ULj3|{|cdWwGnFY5C^}O zlPp$kD2z0YvsLt@7?ul#dlSQj0FDh~q)A3H?`~}p00Gt7+;jjiJgDC100n{&iQz?U z|EG<4uNZ)&67>UkX)gpbFWQ#;O?dzS@19eer%i!n%~d5!?p>fR+i@1agt1Sr3Z92^ z4*|s!=V}6)wo4n1EC7fTIbwGO>%DmZGVKfx@GgVoGr0xM4Fv1!^Z-yslFqJgOY%@i zzYYL?C|+2r9{@f9fN4&p>zpcFG7{aLwSN{g3U=<;7y!(Z%~r4Nw6t)IjO3~l_uOQ> zWGMrx0Ra7@0ASDqKp;4uIh|7`c|bl&q>dk2gu4UWuLtDbemHmldTJ)yf&pbvKAtU| zi62Yj)-~b8FqSU^08V%Zw=3!^nkt4wqA!YHA|(M#y?uZ;2Kr5U0AQ%8BT|g03iq(+ zix7GQ2_*VP2jIB?EV~^*+zg0rD`qR7984yTw`Bs4gj2p;@r9>ZxS?+4TkAsK-I$lk`~7Paay_{ z%<(DxloG?AT}r)G5@}l-4)!ALmW9~>py)j9+-d;X<0SdlPt*>maD)|Rv$1dnfYidO z;OVU@4Dy-stNi4%GLD8i1tZszM#bd*aPQ!Ebh{`FKtugstPE&_)>7?pS|VKHYYhjaF6 z)s&#@bOlyMAjuO}zVjg!nMKqv=u#4pWKXH&V`zqof*=x_Ns>D=!XyveVTx^5s2!BK zQ`t-glQlVvr6f7BPF5-0NYCfT|IsRM?be$B1kRsOiHwZe{&M4508LBZ6~0VYNkn>; z#A$$oO_gPzo$`gxgk>7n#IVgzvQ#vj_y0-Ou0ToQ@2;)b+c0rc6w%5)Rkxg9O_GNN znQ29R+YK^titHsm*i^Z@wnJvclp#^60RU18002oF%XdDIS`>T_ZUA7)E^6T!WwgIR z>^(#nWOi-DYWVklRDrd3ttCElJYVXBQ*L+OV{37y>O7hsJ{mT-CdX_&002gDEX< z9*`5X0Ishc;d`R_j0m(;9CDE48I2^$Z$eG$^Z<(F-9sc{uX!cSo=^JOqm`&h3SId! zKyYpnbPJyj+Fg@9hx+$@TA;xJtq%(?c_-zW){7ro20|`TIVFYA;J?e#1NwSa&lbQ zwqSa-EjP0Ly)3nE?P+lk^2RbT#JLRY{I?+kK>K@TiM) z)E8w>rdl$U`qo#uD;vPi1XZ>xfie{mUu%2tD0q3=G6ex&uWw1hv!eg28 z<23}6*_@MOHsOkPvNSf{RzXUBr0Y2w;)s0rqQn{xS@oc`g6!b{$+iH=^%>RwO%7nK zhooQF_#U$G_S0;e4nrx)NuDWFL0%)tJ>vST!Xn?xfWQ*@nKC6L74B>if9-8g#_K)P z0U+TUma6B2FBhie!sF=T{dx;G3U$BeNQkcUWPij+6MxsyEnSfj>p4<4>-jr&tQXP{ zOPtM@HDFCFdg;@jE=joaiCS{o<==}4n0wnJC7yqgbdn?G`BPUA&0k8o0<*o9tvBPO wt?OWeb@KLMi2Bbl`eY1UhW_vH9sbAo4=kSzgZm%n1poj507*qoM6N<$g7&*uZvX%Q literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_02.png new file mode 100644 index 0000000000000000000000000000000000000000..9c3f72d524df2b60579ab65f4a5fc19635b0b1a0 GIT binary patch literal 3005 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..478ec23894dd545a95c1248713820ac98d83852f GIT binary patch literal 2412 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_04.png new file mode 100644 index 0000000000000000000000000000000000000000..f01c71469ac9435662a00c8d02ce8eaad8460dfa GIT binary patch literal 2658 zcmV-o3Z3 z*P7lc3`NcP^8T;PxtQ|1fC^{};nBKCW@4MN5lxgFN0KB-k|arzBuSDaNs=TT&!TC27kljh`-j_ifu&EFHW})c#v1jfilbO73ciWHmgF z!yspp%KV`5&3cJ>vHGAYUnku4t>cVX5SS8>)qD^WVj&Dm6Xw^uo|3JwtX}?x)UUnp z0B(+nur7Hc!(n_q^CtR?y%Nuc!CKaLn@skH7PYw&l2kjjWg4%m9$CN*--2VRX5P@n{ ztbor@=bV4#^ye9AvW>HccJxp7hH`T;?39*8@-iPhwkEzzEUa1(u@*I1zhT}gqgmZt zXjz~YM4)X!#1a)HEK~QXwOymX%Ce9P(^s_&J4iRNu4%^hT4%L_xM(OIVt8ux6&`-Y$!bkVtUzgSNNJZ#fo_Gw5XM;lpxWxwg-m=i-R>BENaw z9LHJvZ-{VP3fo^QKg+7ce*xLNe7trm`$PlAsl01BRwzd2j#zIQ3CyvlT+FN#*5TwOFU$x5gDXsg$D4+)g^5esZs{q@ThJym$M-mqZ7ZWBI3cpX`_ zVE!yky_loFBjo;&jh|5i(ZJWAKU}(6O(a}dF&z=08rH^7IGAOxa}uWg{-cH8HynCv zl(l|*1Vt4wsmG95)Gjt=w+~#b$rwmI^letX|GIK(x_R7WtEFzU8iU_=%#sBtEvqvm zUS(a*(HixJUE_-8X_!JM7BTwmJX(J`$qfNa}T9|M4=_ebgebo*UNFb|3W48TUGF?{%n0*KJugw=acd$vxbS^A)-f zf}#*hVfD2$?250J@kCn4xv7t@kqqck*jq&U;SCEGSEfqH&aE76IPN|eQCU_rwYsHr)}Uvsb$+}@mW*%hQZYu*AKFbCX`xtpjyqZ8!pDmvmw%9 z%ua%;HJmJ=3fqt1Pdh8nTJ3LHhjNEx`*Z6zFT_%73WWkQyJ+5kD*xNJS##)YWmK%t zqb)JYT>NRv(w6wJST8Uwbr$}xW$BB1T&&$qYaso9*0M&*I^1=^K8#h1naZ^7z;raz zUY1pkqo*$M2$&Yv4-Zua`Dnb@MW|&~&fEyzy`r02u;EoD;^|JS#35DFHc-=B zUEp&=ePS)MXREwitg*&qB(-)q6pV#?+h1F-y&AZYrUPOVn`FC>mAL2`%062gYfT+`W&mkjv% zkt~mbw~+oU(7lOFpoO#7p->fJVGgG~n?gynnz~?ISYS`7y>ZFH!wmgp)18U9jmNG_ zCqQw1@GTb46@_AXE#lK{&FXoz!*{odjdG%=gkG(WgN?iKaG537^(S$tY^#WZ^Z{d8j2z0E7^VwY zvm&kAE)m7BRxRIab}of6tRbo0yQB>~;f`bvuqDzdYmAQ*XTx*y?!B;r3v>LQ5nVV*UU#%iF zSu0nhyJn-@`{>7Do7F4u!o9$UT*7KKY+3A1NoK*n`F*H5*8q2$|GF59q)=}?GJ>qP%QCqKa5&Sji2c9*mFHc?;scE*bXdA1>KI6?km4vVZJlZn^l0qv!J^0 zE|kU#^ftnvVgW`)q*|SEFx0H9!UP-}X*KEP`Ls7Bz_c!g(;acBf_Y!N`)kZA8v^1Q zV!RcQFLz$!4o5$Y2ya$a0W)?$zNy<9FIY|l_V4BmJQcX`%rk#I!|(+TbJ&dFMYXB3 zu|YFBFSozNDY3yQaKUvI?3!vTw9;#~p;!(b>tal6z-Trb&XzT&(8ATSRPOeG*mp(kRf*cQA-yAY89tU(i2AmX zak+@qTs9{EP4nCjd$FFihSn;Q8VnAWRhmDZ*+nh9Sc=_{(OEqx-3mleUuup-z`fh}t?@x9NxdaM4^ST#_~ zQdz}$ZxWL#{;ClSNXr^bH~Se`kC97gxN#QZ0{P=OR?Z~>IpX_q;oefk$0Gsh0aU}q zQyO6O8;rBAaJRZ3x6>GD;8h!}BiXTa=@T6D@){7OsrTVa5tdCmZWeXtI zk4WLQ3X(#HeF{mEBuSDaNs=T78Kh!w!DXRe$ Q;{X5v07*qoM6N<$f^4^742#zn;M3;X`0Z4 zxM(Npu5^W63`G%;<^vi8bk$5cOgiYQF|9MHo3yZYOKDQ~G{H&gBzEfmF3yLK<8$oT z&c!t4fA#wPcz);oe%{Bxl9sfj{|T9tg!Q{t;PNS*Dz3W|#}bP}tC}JCj!r>clsxWO z9EkM<$%FC_d!?FR9wNzoivxkHD-u`>04UjgF0xa}{^}G-9@SK|34$O9wmeLis;Qx- z$}uVBIShC^fOR$Qv8?9L9wkZk$kXof2SqXLU$apA zCKG^Lm!T^QBEHLpHj<180N`kqx9m_&R?~K63U~DP?<)fUZ_p@%!|@# z0UYfa*>S%m3j_GZbY7Ic$MT>S*LlYtTdF!iQd{%7^PT85NQ?^5ejZ{J`9slLv+2LV8H z-6nTrR5POVs1*WZjI|kTcwvluuLRI8uMV9vylzGpGIeOH0HC@>nzpC)uZQJfa?S(5 z8Z;a%0D#|UR>WX;P}yXW3jMBhksQ1WsQyB(7|$Fm0B~F|qG&r-n`)rF8500pfB88! zE2qNgBf5}@H}yZ#P}!-i zo3(DlhV_B&8zlMMu~eTsH7A5CM7Ea$fc2zY9P(BJSmh1Gq~GdZwAJ^&Y~UBzhe$G^ z9oas0@mo)j@||8KO>VqZJ#5|nuo(7l)z~UCe04pQIe*bja#__RNq)afu)%(fBrm3| z3fqExY{%a-DauuCJwY;dbU+MuKRZrxa^nJxW~gG@&u(Z5S8nn{Wm;XwW15ng=0X{O z^oW-=^uTZ87VSO`KR)JOuEZ zk%LhHT#W~xaRcv?B)0%~o$NHY_VSZ0BdXLwl5M2`dPp8$h$os`^C_17qoaN+Ap0_s zzw2xS061EDdYbc&t(fl%h(YcBU=y6MJEioCB*}Iwu;={LMgX1=c`|>9x5VcLFeX%wGd?2nt($M-FT&YPB_xe5Disz9K(uW<_zDq8MzEf^wb!N%CrrKuT8q zkYS(fo68Tpw*+BhouK$!&1x+1P zpI9^oOisaRkC2B8YMtq(>Wbsn$LIbC%oGI4N7ns&%5v9Q(vp_6r2iBB7lQj$B##DB Q`v3p{07*qoM6N<$g19ZfNdN!< literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_05.png new file mode 100644 index 0000000000000000000000000000000000000000..67f8213072dacf428e1001f331f816e2edafc0bf GIT binary patch literal 2870 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 X$gvNwg>+7000000NkvXXu0mjflSocI literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_06.png new file mode 100644 index 0000000000000000000000000000000000000000..16a8153579b53e72fca9f411ba301bc3c1306eb5 GIT binary patch literal 2887 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 Ef*`q9=l}o! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_07.png new file mode 100644 index 0000000000000000000000000000000000000000..202f5dbd45a2743c870ef0490ef26fe6d5c88bf5 GIT binary patch literal 3121 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 M07*qoM6N<$g5*BN%K!iX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3d6dd006d37a81340e46870a9deb11d7d34d60eb GIT binary patch literal 1439 zcmV;Q1z`G#P)Eis0eRuW%qo2C!84XNE4 zO_M&<7%MTxM39YtAJB0E{b*(BHlm?p=nk?dLChCVRRl9RQ$90|wWHeQR(} zbm>DtMwz1v0E#ji$K}`{#v_Hlx0?@Q6aaVt4p;vwqkpT`Ll-1d zdQS*Q;sj@Uc2hir?;561Q2f&M@9k!r9@F{|ogD3M`+N)lVEVfK$m3eBT9Vbe=Z`TW zBBGP;T3tlsd_&hlAvFEl>J&q%bzeGwgeDqzn&)|*=hGKt@@h{SE8O$c=u5e|A>5ey z;n**uc<->odbaibeSq5q#KmK%!{O-q$I&M!8lMT(<=`4VYUb_|(Wu8;bMf_sdI0+Q z%hxI(XQPJ@-TUN%ym;7aG~vLMB~=F59}9#?kX`rA@ft0*5p|k6q!ErSv6HP z(?GtjY+(l3uZTlMYj2@cNbO<;@ibRu@SG3x&d-abm(hIQ3|1PSadcs@@tPX|kYCU= z>HWoQXXT4mwjH8ngY2VG$S(L^9anwnP&31vaw5SW!Vfctki{Po*T5b!@f-j^Cqc*^ z?QjaNgbxf#NX{bm5R{iHAd8zzHGt?}mX~z(>?1-%)RQFhgj=kEAMSo+Es{YV9wqjW z2W7{TmdGpgZ%;9QRwE`u+W{r_GIPi%kB#RbAHq1#{Ba3{D>syo<;)@1$KmW$K%RVo zIpi{l010CJG>tXmej~(L(F>_)+QyoJlYIcBX%Sh?%tscH%M1YVUWVb61`PU9x%Vk! zKPeK?cFDdD09Hh}sS8gN3W#p~rH?0rH;z`>3dj?GzF4f9@?+OlMNIUV&wf2b^sqqg z$uvsmsQMARl1k(dAYPNmS1KVIOjrPQ zS3p)~TQy+ZKL;4+N|4D@T139C4=75Mib=OLc;TISK+>x^$rD$j296x-L&6t5Gro#4 z_6xfkM&vXc7tM>oFtn~_?8k#G$>m!UR}9GOs#(vC(<4M4zqJWJ!WcrN-Z92~#T+46 zR1+b?9FC~|?fwX`%;69bQC*ITuyrkGV3xxnBIlb5^WtPLwAioSEL5?hRp*XQ@q$Yp z@zv@>CQc*K32#<#^G7B*`!$A)U&Xu)S845Crf@K=mmQ=U09R0BBYQrSs%FNp8M!qU zn~Uh%R6hn%nYm)AwGj~sHR@~^J69%&h{(As(6D3Y3K5ZgY2d-lE-FNS2TPl>OWTqV zeE+%5L*#a_U<8bZD18gr%MNMF05)`+kvFC-1MwM%=`4kah&sYKw5#xhHWXaLHLBM< zNMxdw%epr`90Y*pqjSY&ttkj?Tyn*FGx8zUUmF1d0P=F~Wri);2+Du6Krr zcIP~LphA89&`?8NMXbB1T}nz-c@OoPU_3!YG_eavW0F@~*CB^&!BS5xAW~GPFwrZu zs?O$R+?tCo@0b7}<*xweNim7rDbC&ZHtQ|4SFC&Mc1n0RhYDEc;G>I$PgUj^g!a}2 zAFe&QTTIH8xVxh2a8NDnyYNa$%KAN*0-o$KQ0|(Y-v~rRZX)NIipULw^Our=nT1p5 t`66_W3|wh*M9zpnJRiEvtY-C}>tAmY=%hB>5KjOA002ovPDHLkV1luKsAB*C literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_09.png new file mode 100644 index 0000000000000000000000000000000000000000..10e20180f47df6e95b799b84ca79ab92181a96cc GIT binary patch literal 1919 zcmcJQ`#;kQ1INe7DYx9$6SXA8$+ANh7Sh}zjLi7XHM688b6j(`WE#;98%Ko5uuU4~ zQYJidJ8skDetW3H&a&K|W4b)2f8lvO&kvvX51(H@uh;wYz|GY`QBG411Oh2KUa`Ff z0!cx?=g{8;$QL|T0|FhiceK5Xjw=?GOvU``tg>B?-nY0)NS8rD{~c0Oo^M>4;eO)oaKmQkPb@0C36l7_jJ2f&`ic>! zXx_|7Ap4|lQWNP02H~at_eg!rGU-G{*n?9GSSH<&1A4&PMsDA$@F+P_Z!**ixZ#5> z4w_(SY92Y`my9*CAru-vcNWv|*9y^bY}DtzUvA^N2c2>|)|a7I+o5$y&0=bF58s~% z@a~ZoIfl??^K01peB?sFUpS9+*a;@M3)*O^}S z@Yy3Qbwyi~{8%Mxxzh!6YzM{xF6Kk`O;YuRWLX)s_SdG9AgCTuI(Nzu}t zz6$ZD;#<#`KnIDBUFoOG@ptvuqnuX`s2BLT`iD)6oZa4lCRsxvs~17GD~MKZeEeab z-fB9gJPB&no9N~wzuCu4ZA!B<*0ym*)&RjtBJ(S4789N$t3z`?UbutCue!R+b} z&IydD%dtBgaDL?J&%|D}G}aFCAyvj20OiYQQ=5GGLBUe!L9Ai6vBhA~QojbpBKhcw zx)RQ<5-L>nY<;jIa0cUDP9j^CWq{v;H9kS^Z<=>-GdyeyRqq0Tjf#yhEkobC*<+e0 zQUUVrgNNIw0&5JW27yw=4uwrnsDi{HBOoswW3a)2kYeDmfpA}!k)tLdwA~5{N>`dl z8X2}KwER6BDxMI(jN01LF=xF$c8|p>;GCGNq-_>9mI~(bL%6I*@R*eOE$H-#bwq~2 ztI$3Fgugm|Oz|al(Tf=S;h8VGXy(UvcEQb_l3ZVYw@_B2!6(}NR`6WTh1X#DD8qlZ z9JyKiYfE}S>Im^EPHk;6*c zd`q6Mt7R^k0nAfM97By4S%w80j7K?&m%izn)gxk#Fx#AS1wTjT-w{NBykO>pV?L)^ z;;)J~_b>GNng$u9sf(N7`RjWaxQC1-AQh4IzOfOuVcxFe%=d7 z|5TOsCRdpst+V(0_npR#9Y?k;+ya}RdAIip$8H)NV4k$T$C5=dUmQ9|g{QGE6xEjF z4$iLRVV}qN3{#H#xW4QHhg=3kf*?zPq|PaZI=1<_(5pkSF7(X9oU*#SU-ax^S`N>+ zOQQLer51^BG}^%Gt(dcYyI;wK2W4L*$~nmL?$>E*EJ^7IpH;#&^GT7_C1>!q=i%|D zd|cna^Z<(K#}(bA!ziq5_Ls1y$s*n3Ux8Vi<~IUy!zQ^o_P zVA}G!!ix7R!6Upzq~Tyh=>Tu8_;YO}P@wNB=8eStF$1YV+bm43lhGK&XLCy=kmW7W z&ZFIdRoOFz;y?m~sslu8b}3Z*y9@J&)h^+;d1IkcKGckhbME=@l$)XU6Wd&GMJY6X z2!j3F1Aagr8GK6K8km?Z@9Fz4(g&>BD5RgI0@i2W7BdQHMFYr-Q%qq(dEb-UWo+`eFeRiZF94IqZ?nhUoTM3dZfPA!s zA%G=6c1>R6;R&;HH$``!P3dRLPp`}vFsKc)IHp&C?di^aD_TQ9FQx`QtHkpk>UY|o zcBt1vhsL4?)D$+fbQ_0X|M^2>bHz4fIuU$erudDoDfH{DG8dQayy%umjAIXC2c-@$ z{&{D4$ekX6i2TFdSq*@+!%#p*`Re)WB2C~1w-~X*6O8uJ-I&X4S+cI_^$qo!Ulk=lN{W9uo^LnRe6jBUuCeNd(Anz)(i@GCs=QLZi_ hPG3Hi1Ny&XF-3IrxKq^tmHYi!9qn9g>yUw@{{R3AfCm5o literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..87985602414cf1661f6fbe83613faf9ce02b4989 GIT binary patch literal 1335 zcmV-71<3k|P)EAc^1Bp6=AM19c2C#4UN z5@Sk8jlo)Dj1NRz+fqr3K+_khm4YCtmD;Z@{aW^We7IZK`!)A=w@Y}~^E5m2zw_I< zXXc!lxeh_@t>88=@{l|vhgNvAG&$2#v)-LsNc8ie5#R1-asqLvR(vEkBXQ)zN*mg?9xX>X0dZSrFsy0a)`>p`+$4r)x!ls9l1pwFn(Knur zE4?`6U06b>?*64H;hdsWs~vN#Jgt@jibzPT1>qYU;~KELTda+$Ol@-|fa@g-ndM@%SgI~4X|WJ#V^{3kKi@A}%vd^_AKzYWB~mm0 z-VIGz4o+`sNURQcAh^^Jwd1?HfWHEZd0lo)4H-)SoX9OiiF3Vkxq{3zwn94qBeP2k zS#bQRTAodcpPT@W?=$i4XvnlF1)0Ae$|pr!2@|q(Yi*%XZB6QRT^)g#1LpxJKsE=X z$dso{TbF|LhambNY~2DZE6)N_=+)Py&92#ga5mM#sz(!7dozVN4We}l@<=fd1FE|Z zu-SdBaGl*w!!|UjYC$0e_GQxFfq{h zRN8+poicz-lmc(t?LQn;vcfI%lzLPz=rf~{Bo6{5eKr}9u$YxjjjiEy{mpz5ZU9!k z`0l(7NHDC(P0ih@(%(v2(Ze+WZR-9)eL{qW^l7Y7#-LFxPS1>?Kt0q)(rc736ju#i z2qDgw$QUnc^qL$Wc+fkd``1Eu&5ZBGM#&;{N;XS6VU9jeJ&zC*H z)kDKizUi{k8j&yD=jb%5&(w?{u{u~co%$i!eP#tY=>+y?-}g;3T8yI!;K)f!uh=#t zNC80PlXy-cNdUUe<&q!2=g>74+)E*puB+f-;+^FRv|9q*W>^I002ovPDHLkV1jc8gwg;2 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_10.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b1d5f690f685e1f1589bdd80cb629d1f0bf9eb GIT binary patch literal 2663 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 VR(|poI1~T?002ovPDHLkV1fmPGkyR7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ee0c0d64ff46dcc5f60844ca8a2397d7e46a7ee0 GIT binary patch literal 2057 zcmV+k2=@1hP)qBJ&9sTlWb8wePMbEJ$sbOf zG_9t|Ogd9zHEN7HQ-hP%`idIkqtUUgf~!0tu0cR#L3WjeWtY=G?%id1=<>MxM`!x| z>+GF-&xh~tch2veb1(3JjX;`FJQF7o)nX3`#H`1ZXo-xV_pZ>F*GCwST5X=DUNs;_ zlP)3wjR`3&^Qq{D>a4?nOo_)iNblW(G|?q&=8{q?UaO;aZ=h74OPx2dSen7 z&$D#jjSINPc1E(DYrkNMNf;O5bT>I3VyYj+f;LqfX4ZS|-$T=~IqPp{GB&vF8VO>7 zmd+bb>jysn<$H$#i!m|Eq;s}54Q)yTaY8dyKi(S`IdhKDTT`*Wo~$QIF8sZI%GGgr zwLv0bzjF4yHUP|9u5U>i7vXj`IqmL&kQqO0GMu`*s3@s__NJsWS`s6pjSbDV_KpBZ;q|WFIj)I=yEvYf76j6BXzOV^ zKYPFB>d8_xB&DB#j4v|A60m-1 z?`^4~;lOzp02w9LV_;kYkWsCc7oV)FWoGJpBwPl7n&%y=S&@~sYnvXR$BP64fGckc zl_|XRu>sI|k^Gl-+)*1s`9>hshUBmIZD&=7@LB9~k2OvRrH~=ZB z>O;uSLuimdBLFgwdnSLEeto={Z5RTAt1PJkd*2H2^tfD`yZ-4 zP2k?_ZQ;{ph{Fu<=a)UILnP;#bC2}Wmw4}A)So9BooB<64gzL8U#Jdo3%~?sFHxBe=Yo;L4C+Fov$SUZR;cR)o1YiX@KN&a&zL0h!8-+bAb4E1>!X8 zLz4Mo0-R_>2o@~BpJ%z$hr|d15E=!d!5tbaKw_f;X^p<9_HG*hEns#i5SPBADHM=% zfY%o;W+$Hv0mD%N+GyYC!o52bncr0h*^!+-h&AfR>N6ahAw1*0Z!%&#tv-XTbr}9| z&5aM@Intv#MWyZbNOY@h7xxv-wRw5x`+)v)YBl_Jj4^N_|wq<)&_{x{Ocf zeg;Z?l$G#Nfl;U0I~*ZI$4g4j1(WEeYH-w$XrWa?a$Jp@` zCBaLwDg(|xi^^1t)fxFsp0W63?eszm_?BP8u{!mPeA)xXtaTR;CoHnY1ibMs<2BWc zSoOxao2;Ee>@Y)F0DJ}JTD2gX-n9xLgnONy{*aO=UR4XyErbxFqZ~k54)_j1-c&>T zjZ}3~G7g|-c_k?OM_=Nd&p0Z6rw#)E+q0E&@BOw~)A9@^^`^Ynx0+8b3~)kibD?pq z7rNAVN7(a^I~M{+k*rjy>L1_K2n*T;UE zz9tOzjgfJAp0B(31^KHc4-RH{X&ObIu^?`*3;2E!z4})}of5<5WJ^azP3SziHn#5% zesp|AvNHVO>mx6h>=|jKs+0WB#}+Nk3-90MPO|ZfNM9+W*4GYmC7&F+dR|{(`X5 z-9P-by+VjJDaYhr?*03ln?K)H5I28NCWfJzPy0-k_ouALzb0xU(SIU@5MAXEX(F|_ zBxS?|fT@d3N^9QbK*&-a^Slc(WfL$VcV%A8s1Sg;)c1keykeKNM`3&$#pdrK0Zf;~ zHc84_yf{mGNH4(@HfN^4ZTyqGcHdp1-6Yn^*IvAqJUkN*Kl@}`ZhfmX%WfB^=-lT{ zB)(O+b4?e3v?}S+jp||jC&t5-R;pCh$EpuLpJQ6^>Tx0DFMBb0D|4cT*-NlfoT<=S zmzJEAU#Dos&nRFtH)yp*~HnAm>4dE+b43vub`OtW)#C|n8){-+R0yz nG!r9+kh<*Jbv5S1|G54Os5%d5vAS%a00000NkvXXu0mjfQIF{* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_11.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixeldata_0_11.png new file mode 100644 index 0000000000000000000000000000000000000000..5c1583090d337dff20ac93748b57616bc605d592 GIT binary patch literal 2861 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 FV1hfHl28Bu literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_04.png new file mode 100644 index 0000000000000000000000000000000000000000..80e08982c2be5e074cc1035e59a2fc68f2ff712a GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKn}a7i(^Q|oVT|Ru4^(7aJYE! z|NrNOpL+ryC$p_}uuVVOHD&fT6Ga!04npAdlWWWtJv|+Jo}CJLXYXGaw9fU}73n3_ zAGA8wuJ+To!Fzh6pLUp}LE*Xi`&B1z%6D}!Yz`}px|+#aV3YjqouvPVdquWYp}g9r zkBwy9*061qI+7*8-F``{eU04SS8Q8n6-qKyKX8t4UfUd1e`f8jB(|*$i#NpI)!81v zZI=8~_vG*FgKpNjwhj3w<*Tk;{qybigZ58ywS=4vl)tf)JM^#h&5ieEfZ@Zy;OXk; Jvd$@?2>^KZYiy8 z!j_&X7pz3?HZ5>|{^G{c?cW5e81mrd!xJbU~`@22!q)3>N7EZV1#z28)N^~XexSyTFbo_pDyy>6nYoVlW- z;HllcFEchxd(q0rC4TnGf?emP<{t=7-uL+A;*u>Pfy?wyZW8O7!?#M~^46lf$2;^E zU5J}1_Dt&7?SOa5%NHgtS$C)Hsl@HOrYFLkFL+zdjE}yZvbO0|a_{;>MjOwre(YAh mZ%XK)&z)KI`yozb_+Wi+nvj(6&6m>0K_Z^6elF{r5}E*~#)5PJ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_05.png new file mode 100644 index 0000000000000000000000000000000000000000..cc8211b6a13efb52cb0ee635fb0486e0fb347c03 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKx(C@i(^Q|oVPbFayA(7xL$nq z&-%D1&z_*p=R5+ZRPE13fz*-=J_MKkVw`>VV5I5ZFr#axwc9t%Hr*3evH8V{i>p}~ z7z~1ceU6q+t8@GG%3xjuZ<6fOMPKKI>1HwFw#b&>Y9=46afZTSkQz@{KbLh*2~7Yx Cp*4&E literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..000e27c302f1d5b0f9e5095f5d922d3d3e896ccb GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp59#cG+fn pHMrFNZThMc&1pIUj0_BM51G28Swjx473v1*@pScbS?83{1OQ@BF&6*; literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_06.png new file mode 100644 index 0000000000000000000000000000000000000000..2610b0904e17594ecd1e4713419dd7a3a32af227 GIT binary patch literal 2321 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pixie_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..fb526504e98a9d8053c89a5f1fa3a501e5d3193d GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5*Ua2Wsi5Gwd$(+`zzr4|o`{#8l`|F?K7 zBBW*?ckF9fMEdi%lEe-}fvKcjYt<8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_polar_curve_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_polar_curve_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9a245d2d1337eed13ddb6a21624cd948e3b06491 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5a4Fuaj6NvhPvFIn%AX*J`Foox5SbGTdMD)vRA0hbNYSi~@uD Z&rIjPF|HAMtg{Ei_jL7hS?83{1OQqrEUf?l literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pseudocolor_domain_bounds_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_pseudocolor_domain_bounds_02.png new file mode 100644 index 0000000000000000000000000000000000000000..b040d819abad1bd1408fa102b074ab0ca9695ec5 GIT binary patch literal 680 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=B;9o-U3d6?5L+^)6a%AmZRS zv+DQ#P4^El{%=|G`hkMucNNhBjyby$&M0_tf^^{n#|m#&vzHbB{VAnU&=qn07PpkP zjLtRFrQUme{k%I0lVdM0O-y5YrRmnOHFe^msGfUCes)S#%frna@qub%a4 zU-{5feTu$e>hwu#O|Qlsn0qp6;_Nvq_xw6yWa)El)%U32L|J{GYrD386x2@We5zCP z{nn9`se7&nX*;Z0^!(ziP2MMsB2)dHRl*t~7?VP6=Cxn`t#ob1npy3ZASDbNSG{|_ z5GccXCuwJ~M&zp*Kq00hTmq{P)?9=rU^N@CFKOwOKYZn{A};Q32tM}f zOIYT=oyIni|GvI`vZ;~z`mHzfekVG&pWgbDee!W$xh2=W+wHN<|M_cA(weIK|68K} z@FpMmwfi{3<9k+bKCDRD6Jc%VFQp#F&VTpR?h6N9S2w$L=c%t=?y>n^($^aq7roc4 zQ$G8x&(vkfO}~w8SzA`T`FbtCJ=twm==ZwWG0E<;uJ%7N-`aOEN_Hz9Zl-8CIq;Nw!wv*Ia9V9~sU7Q?>&_P5u#Zg>b+;kLNbrGBe2RA{J zKj3h038lPTxTPeJx4m;XlUy2;rp>*&JfG>!y${dldB42J1q4A51VIo4K@bGtKjP%l zWF{#Bg&PF`?~Ygh{!>pPSp;CM1b}~X)d$K;aT!nxy)ymz&E7bYv|VpJ07`3_y^-v_ z_|z|%oy#;>-paPij(0xHqmS92JHNs(48vxUFYVooWA!NK?p;eI6)13?7cZK~85G|8 zoniI8)t&=xt^kUK4V#kLCx9X;*pzU0 z4ixK`tV&j{fuihLmAKbI5nFY@Z3ksp0UPruPAp5Nr&0K4*G2@C64zG;vzvY zWm__Z;)hj3t8sXM%f6N7QLF>1bpjnnxE$x%yVWGn?XPW9GtE}_se^a__2joWicQVb zs|1?H;I0Gs&z5O_dAfCh<_&Z}wQg!Aj)qtDzKS1qhgY4ZlZp<=q%st@yZSbUB#L#w z&{W2d9F3@I5a=|OaRwit7gzD|tIMZ0TTN3lX)5O#e1rtn-)^UizDu41{eOoZ++*O9 i3xXgBf*=TjAn+TT9+OcKO**0g000090CpQ z{Xb=~vYRiI^TwX-*{A%SHCREai3Bf}Z@nm7lOt(+V19?F!Zn#ov5{ulPHPx8G98)a zwD0%bG}ko`_0P4gd|Fib>T{;r_XjD}3ulL||7W|MkKIaWS@%`{L)`n6w=#X&`l*CC bD;pYkqgw>{Y71ZnVe^>bP0l+XkK(q=-* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ray_trace_06_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ray_trace_06_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c966dba1ec6ac2594b14f462bd68158fa31112ba GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp53kcv5PFBx(jau9I1*ttY_ z+Xb}=myQWnaA_-U|0E-K-0K6MnHb~6b4qiaRuwu{tdH7u!=6W)5oAb8l%AGLU+ppN z&y&}k`ulz2r>Yc}Tj#s)nypKXy7Y9LeY(j$<>VuqXZN*#eKtjC=5>BiCEs3o9-z(- a+wWbT!o8ej|Dlf{gFIdRT-G@yGywp2uteqn literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ray_trace_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_ray_trace_07.png new file mode 100644 index 0000000000000000000000000000000000000000..ed87d9149e835be23561d6d95e69f922a2a0c81d GIT binary patch literal 943 zcmV;g15o^lP)#}bJ)SD8bwqv#53o}$!841EFa~SUEa35iVL%@X-R8}3+h86Kr#nMeG_hooxF<#JfD3w)4 zvEz35X;{g-uxj1Oi>Q}+n$*FG35yjty9 z`9%~#{5H5%S;7C^XU*M38=kQFnbLJx9v}7f_*!Pqza}e=4%K?;1GxX$tB;p&eJ)4^ zn_)eke|)=@i+A?;A>?)A>py+%=)bl%W=X%b%(`*sZ{zs3Kg_A-o=O(dluQCnYoN!?v0pL zsrcb(ZGdkOh#GJQHUbBrJyCqn{ZJ!7I1F#h3%_1Zh}v4yq!+TM#F zIEd#J3yIQ@N&99iq?_G}R7wD-L$kK+4VLGp-#JJqXHs_mr_Z+S)|DJ6aFF5Wr0uz8 z-)@D>a116TTI4Vj;p*V>iWS88T}!kp9Pn z*|TC>uBsusR%wQ+Qm16%9zD9KeO!k|!t-6woG=vbgK(&uFk8mRxl0eBI0Kn%rc7pV zQ8pjjl{%=2J?%Ud%koNg|DYLNA5F12I+t|>DKI4~-b3b;l#O10A zGD0%~jZ0!vT&^l1$}JkwwkZB6b0wI;B}iy5-OqPP>=EVaw@SD0GPyl~P2!83FIOc< zB%jmFCO2R3)opS z=9=3PaJ_K|xqbyxm;!();C1yqwx-OV`DV^<)2a`4)&R0OKXZXQ)qpDY4%PL~g#T8( z6Wq=0Pz{8)WPYs=L`q6ZN=iyfN=iyfN=izqF8T$*_>r{JwAFP00000xM(MYM%XJ_i}=sG!&M%>`Xv>G4v4}WTY*7rTPnsnfG zon5-p$1I=rCI2t!ED+IN`0{?qDGe9T?qA(CnlCwYgZFcU3(M}yekFdgsVUiiMb*3% z&-x>7^NK`y=1l&|+j&wddriWNDQg_VcRuiOZam|DJR{!ryznaROOc<~8ELAd=oU=% zR8q)pUF{+DZRcK>tDkNDJ-Rb@>&dCMlAG6ru6y&cB2~Besox2$?77;-UVf3>v6YjJ zPDQ;uHEWvxwV?2GM{+h@+hw%u*`%#Ers`W>R=WP`m9ps*U3;Cy5kG!BnO{BY+TuUk z=B?j+!aakxDE#DV&5}h+j_+9E#2e2uRr1lEhRF}^W;_$@n{3~2BXH^S_vM}UkIwD< zHP6%EbzjuM^E<8N9=%d7O$dAyd8?L3CoJE{{?xUf0t@Fl{QkK2YoqsX>C@sL`TADx z-<2hF^&D4;)7G7{HYv55=8C4ap3=ItDz-!=J8S8sS8HB;%r_19yk=cL`@g)^rbkCh za%4{jofB>inj&!gx@YgXRWje)CN!nY6A9sIP%-9$lxxQ{u zh^n~JR4k6bLxQSkz;2EjBd!kCS5icuW>fTQet+$*% zr=7@uov&n?gWt6qY<~GW)*pV57QXQUFczk)xfpvT=-^A8#tCa4zWwR+@TCr83TH}6 z?PXshprCPNd`xt&`L*eqb7EyKMKYZb@;DJ?z-{b#0mOEg=HPIxD>zJr*UFm#B=F&M zRM9Cf6{mDg1&DydG=@zq6I2tXZ%vyi>d|@*s0A$00I~(DX2a=Qo8#Boi$cvnsMx>8 zlv}r6sRW|sz-(jI7Z7a?;mX`#2UtuN{b@RX>Ir=%pj&&^e7tr_#Q|iuf=YIUT-%|` zkxZJAi`P!&@=NDDlES+!Os8bs=3_ZenT$a}!)ngFS9M3L)?C#IQ%o;Kom_D7oYV$U z-jgOGCr+)}9%h!XWAmwPhaUQ+E{%67a``n?cg|*(N1M9Vit6jngxeUbZ%<3 zWX{>FwN1*gFEunSbSCG%{W7dzP6=wvttG_uHZ0f#np6mIy$8TSce4@OC?cso9=!?bavNv_12;UYTa7`~2+wsoUmw zM!uh-w$Z*>o$Bf zTkjT^pgrl(wD*jaoS{ei*;s-$xuqv*Rjk>}mV49*7$HTQjzwvUTSQ$t;-0i=!IzKk ze{qEe&(O*Lp!?NSaNhHi+^?qu+VZMTG3A!{dFIwC3g W*lBsnc10Z*5Z}|)&t;ucLK6U8lWTwg literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d-contour00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d-contour00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d81b60292a0ace5fb29e7d74957d323706fd1f8c GIT binary patch literal 805 zcmV+=1KRwFP)A9dv-DwG|M(f9M4Bq^O%Q7Qa=#60&%lQAv}{!!93rP`E&mN;y&pz+ zRewD?W1#_KVBA=U%E;MJ2F7+S8l&x$lciS^RUVoJ(j_U zXlp`V?P`p^)(f_8v7IV81i*+Vlbm{7u;x&ug;7REi?0J8+0o_nrbG zVId@Lbc>lvuJCQZ3-}Nsx6ZF)Rd@My0>}U~5j`~rkswL%01mSjKx{$VSPkq*kY_JsTDzfJ%t0GHrb8HGrYF?i()vlc)M(5~nyFNj+J(TlS{ih_SI zVEZLcYtZ{QLP%Q+cmW^ck_D~^*+}1%Az@?4^fJlzJ2`+u4#+OlWyi8860HK?ek*_W zQ%EFo4iYksMB2^FXHM#5djlGiGLEU}-uG-=LJr)Q{$9Oj4FVu7s*xw*SBDcS+!oJ{ zl9Wr3laI|wv=Q+>}ikxn81lS6~&c|q?(-cpqxafoRqDcD}lz;11~+Qq=bH00000NkvXXu0mjf71MQk literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d_01.png new file mode 100644 index 0000000000000000000000000000000000000000..b616bd9b8100a79c46ba4854e1ccbf1f951f1b26 GIT binary patch literal 1582 zcmZ{kYd8}M7{}+*DyC@+4K3}F*rIYvb1jieLeWyF6~gw&k|}fBv~pLWi`!8$&84$5 z+8Ig9_LL;oHZsRhx-eTtbIEpc&gb6ec|W}W|MPzO{ogms-_KJ^1Ev800JOXgy9WXQ zDyX&I@Jj%k*6Vu=0IXZ^a(6qPR3SYDbleN})YgGifBh$xPl)t3 zHR^P`#xGi1`%Q^PI!n;Vw$z2{=M`JLmiK0FL(h_EwF zO%&1xnyl|;H^&c7)8IoVm|`b*%<#ffet@ByX|NZ&x~OaAGf}p(j6Q{Xi30|%cv`Nc zee`H*%*gN-_1g*d&W=1FkIv<}THU{x!Dqgk^zEcoW6}v*?G_GxOy@|Dp#e1g$cz~7 z2je@V(l(pYDhb}0LiC7`&OXOSNyX&s5~W#Mmz<1I)z&2W4+#}-dU{!C+Ybdsb2YcA zs@gsPYzCNc2aTo=g*9_3CJkU%ZhYbY#zt3^)Xi}_C=>@$zq+O12iXUsAH5U6P~Yb} z2KM(GzI8j246cYO;Sh=Jg$E%$d)brFmm(jw%QU8%Vp zmHDy3`zHKRD#+HLJq(mavFaw%jx-wl9P7H4qa%yyhDS(s20Gg41?|EcXAkq3epi`Y$sxY0Yy&Cw7hcnH zhMDkMqEBIoG6=G|JDaz>0qVT{wdiiWc|&o_o(t?es<^HKeF=#tIU+B>GL5uu4~!Ew zBQLyC-MAGvW+Tf2rdiQT@d{IV6g!FY4ZABMZ4>tE2&-uCZYqV-MM|m{MJ#z^3`m-? z`g~N0!xZ*xe_+B zh_~r2zF0-6R96AGkaUcQ@;!Gx2G~BIn}E~yNoQb4t=2zZ+(M`@oVtdf^*jxH2qRg~ z(en#f%Sf%R=mSu6J;|W*QwjCLHL%=vbsK1_|xfeBRcLA-VYdF zNtzw)3TPr>VOJl$d8Yf*zF`L~xI3Ya4J-hsfm4B2@+%CEX4xoL6m^wPJ!!FNw$_&| zG@oN7Nz;|xl9T3-98voayg7{DU)dz*a`9pfXKXkq);bX!Rz{`f7ekYoZ(SHXmx+^c z=f|DJ$H6(p{h_TrJ+bQ`C_&K=adW%8&TAmiQI7ah0M$noQj_P7su4cK1)IFae{%T6 zb@wz#;qPxav`%n%oDUA4){&Toj4dfh4hiug~OUg;{_`njq z$QOhW=9jjW0Jy5~1bInfc>K-V1m~ou99l<=Sx~F3j$Z5iumMe~&ik!KHEx04bf_nS ziDoao!hW2TEKky*bvxdXjZw5qwMe+Ywf1~!3QWErYxVMhk!(W_wFX7s4PQmWl{=pZ z!mpe3ynQ?B{sUd)(WGHiBe^6#3hxe^C^M9d`_^DXLn|uQOWc;bOb8ZqYxUo}=`}fh ahf?jRQ{BVb#~Chbv)3U%_r?Qf$o~R{$@8B8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..32fa075b45f258390b21094c5269528e8198e969 GIT binary patch literal 2944 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 BJFWl# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect3d_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..6ea893451bdd00ce6abdbd848fcd4d84da051821 GIT binary patch literal 5719 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 RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSp?wgc&+E;ulODQPDolPz1pOpw8zu6{1-oD!M< DeBT|6 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect_07_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_rect_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..681c070f513e6bfe0bfc53a2e48742491b8b6868 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5v?ZkQpHGz{8&9Bir4g RE2|%axSp0Q^h<^O_d%FcBmE*JG#Hs`eH@rTMtZvXxvX0me_N&C}XG`Rw&YhUe57G<*Kd!UM%woA4-29gl#PxLb Kb6Mw<&;$T9*ds~+ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_00.png new file mode 100644 index 0000000000000000000000000000000000000000..346a7f48779124001b47dc146e931c037bee7a85 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKx&ewi(^Q|oVPa(xfm2U7#x28 zU!1F*Q9S8M-X%|V)`MWBAmv1WgjH|y7&f#qI5b{v%wIEaQ@Q&rDX2EKljbLds~!YT fc4H%8(2P{(h8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5198160962a7b83d11766f10d1250d59983d9f57 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5U^ta) zWo(N6q~GFkDpMmkHwyX8R?^Wl<2?BNR^$JAV?mJC19s*%wcek=D@GZCW!q2|GH_Qf1*Oi@Lz?|=k7UHx3v IIVCg!00yBR=l}o! literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b2440fd9a63240fd5e42db5ac6b5a7e855894ae8 GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5t+~FC!`ox_l#7dI9x}|kYZv}~ fngt_B!H>P-PYwADz8)@G0OESO`njxgN@xNAM_4cc literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_shapefile_4_02.png new file mode 100644 index 0000000000000000000000000000000000000000..347a38d1d2c8ddc1b44df10f0cf1e7334b71a5a8 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKx&ewi(^Q|oVVu<`3@LxFgyJC zzxeLLtg9|BXDRNAHarx<2vSQqC|Gi@TJQVbGqRT|S1q}JqkL)G(fvPXMBVyhh-UVj Zr%d^$xR_>Zq?m$aJYD@<);T3K0RWcrDP$>*G(SV}YE9GDdDPBY7uoTBnFyp~aI Wm$JZxBNNI&&hd2hb6Mw<&;$TEZbJkVh?W#bG@qy9RT z&VCTRxOK&Smgu=wCQ+3)g1(mY+vVSw;_{*ZgGK`EE=8?^97fI}5&Vn6sTfdNb#~+}Ox{K0VPf;nvj(t74Zw xR&K7nJTp~T=G&DGw>EA%^R>{-5hYmNY8ZWdB3K$NE!Tp?Jzf1=);T3K0RWt#wm|>@ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_silo_41_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_silo_41_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c02428f4659b802a4542d918f3da121272c52c61 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5BS^IE{iY~xLq-l#KbyE)Wyn{MhqV83yL_nlbFfBk*m z@7eB=E_VW%3IQ8?qz^_#<+nVXy*|NoscCY^{`pR)tekr?3x9J)Uy!);rnPUO@sSy6 z-xnrlT#2gURPQ*G64)JeZDL@l^=|h~iaQ|InC46&t;ucLK6VL@^-TT literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_simplify_mixed02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_simplify_mixed02.png new file mode 100644 index 0000000000000000000000000000000000000000..33134ca9178704a0aa5429f3bd0ac68e11c38d5a GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&r&k#WAE}&f9a0ybKH+%nQEj ruQhz9rlPgTe~DWM4f<#-mO literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_simplify_mixed02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_simplify_mixed02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..112492b5f5ce6594ea2d46233a5daccd3b511198 GIT binary patch literal 99 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_singlecolor01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_singlecolor01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b2374ae6a21d1faa14779345d867f9e5c52a72d2 GIT binary patch literal 724 zcmV;_0xSKAP)@XNkbgVGcF=Z^Wg6Zb-(AuO;+BE5Vzk|y=Cgu0(`+fV;HUuE3|FJ?Lw-@+d zI~oI7fz$|`-+5ReMxrrLWEe?-B10@%KlbTvfdol}&9#%Zv$dxWYW|T#SQ?fhqY-IX za#-6^1#R6ck_1_S`r6@y%ll}Qe(yzZNU{;7tTeaVL%n?5A^(3!WHgiVxwcs@`NO$G zBq&3Zx*^FQ6bNEI?XY;bkKJ)9b>TLDCx|!|=k5dm#!5r{2n>}vIdsw?eBE*_BQ z{xQ~mf!xZGcQRMCU4x!46InJK5aNl%qVw_Ve+WOo zyD~U+LOYS=J!j;2T&F{d=!{TKq*3m8YH*t>lCNi>Lnnk2xvFj zqq%NpPcIS#vO9C*RM+>Q9`z}Fo4F~wH9C;*N7%?_dU~+pn(yz(jclgpM literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_singlecolor02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_singlecolor02.png new file mode 100644 index 0000000000000000000000000000000000000000..083511566a3b71d6d327dd9b3e0f0c0ef6f61adc GIT binary patch literal 1257 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=AwAJY5_^D(1YsojvQ8l?ZF# zWc|FDtdV=(*uU_~JTuE3>et;cw#FtyIE3mv8l3ZY312PH`XPaXnw1R-B6cjB38BUK)Y;5M$nS5 z-<$g~O*H#f|MF}%m*T#>h~H}B#U%>s4jrEZ)aI7`Suu$|S@=h*%aq6Y<&Gm& zAtrho=ZR)?e$9&aUbFG;YK?1KWOX;D-Ce(yD{*R~vq%5wEy zb9CDJMG@M%nVnm&9olgu>b-Ne=xc`kkA8i=w>9QkSblimnzw0DNpDSLr$_AW1v0*0 z5?a0Bd8o+h746d^Qt!4qu6gvXe4_&dB{d#l>SPt-RuS{inGm6{(SdA%sNcWh~V`u@V+=bOlMsn&Zns8_poce;WtTyrV!cErEMm$t`X8Tpqe{jZf6)%~iaPrV%rjnVwE=j2&S+2d6 zy7bB?sisvMg?wH=?f}a7Pfdt=4|F*5wX4g&R@zNx%{sX2*A}~?$OUR^y#2Eu7UZ7Z zwdGoRoO6J3*t*P}Yo<<1yU;Z?3+R$7J*5{jb>)Dz-P)*UwRWjeUlo7Fv4v62KYw4f zKPq`^hW`oGUFWuJvy8cR<6S}0KAZT2C{+QyY>jxI3+DfX{kb_*;>B)zUFn~aK1a;1 z`o{VD>6ceoR-DU@u$;JK|IN8+QD5E9ZCkUfkfkoI;7{gOIkWSdn9>A)W?pGrE?Rts z=QNkJ%Zul8*yn`3_?cucVmBk~i~7Cmd)s91@v_)|(zyKUv)I$F)33hm)BJVNety__ x^Wy7KVb9BFJna8}cgwH+Z}*ILc7Nb~ z?QjHC4HCm}dh1?=7zsx}Q(-s(nhKF{{o1En1rj6{Y^@#dx?6jEx8@y*1(hKsG!jyV z6v5i2Dr8pOB5_bPsIMK2*}RTM>9?OdL*k7nRjs+*F6zYti~Ro~p^;R=EqWm z=ZJw4koUV15GkEV$%M0fR|H~N|7*QouZc~0~(mh3BAZNoUVz=14P+YlV*_~0sZ94iY`^hR~5^UAqB z^4vd0IuFRr9C;@*)vi-`f_fsc2we#IMC!}k2;??tk=369gnA;&h5#X+NGyu4U-?7$ z2HsXd)CuiGmUqO+;h0W`6j6*&PNY$`ymg-JaQS)?EINUWhg6*`>y`*S-5^5hk%$rf z5sh&$)9dc>d4fQ;r>`FC`5Mv(eG1>Euc>y84&?h0*0L!_4^~|E{5D?8rW`*4@q}Ff zFB4gHDF6Uu+zE@BOCBB+IkE0o_%(m$qI{YI9^6ME9CKlbRj^)q-|%Wf8YErDXjffjcu_wP{!wo zqtzn?TfNXVA<;}W>6B=R!ySfC#Euy}dj7l6 zN_&%!^aq_}3B$I>C1EbzQNOR)1YPerx>8B;BCp*Je$3EDO|GH?dACZ*4)I?q-o#h5M1Iw^z;mpY`O_ zRx2;@?C6Yjo0E40tbFlELDtZm;ebVT*pYdxn*?y}vd$@?2>^{wq0#^V literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_sph_2d_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_sph_2d_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..bdb1f74cef4aad50788d5f73798164b20b3ddc43 GIT binary patch literal 458 zcmV;*0X6=KP)~?0v(7_$Jp$lMj94 z{vJz`Mu1%SiPj`b5;k8TXA&JZS&{@$B-sVaf!Jx1U^`$*21P*b!ug2h_(aMiz1+AX zUB)QYB-!l&M*%qXo_Mt?OA?E{(J&0dFpR%}IL^(|X5y@uL4K_i7fLKi@}Nmjrb#|F zN|ZR-5Tw8A(+;mDDJ#;CNTDcaO$8mOS&~}hBnd;v6S2>cf{s=jf zc)yENiUV&k6p6o_FV1izuf8Vn3Rlmh>liseu8F@?WgYM2oIQW4NSTyYcn$I_fn1ZE z*t>El5|7x0JxzjuCh@_D17=~dOhGD3@1Gj~3we~=89smFU07*qoM6N<$f|lmU A761SM literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_subset_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_subset_02.png new file mode 100644 index 0000000000000000000000000000000000000000..e6136a5263c28d06a5b9d9d2431cf3883273a03a GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK#q~8i(^Q|oVQmF@-iFpuxwQL z`+d%p4eKw`V46y!QPi`;-n-f!9mKYoewB>1F?9qpmru zS^TLyBa(UJx>ffVrt%)K(ynU9)n$rQ-~WF2eNu@elS-L>>YaD0Z(n?yq>`tfdF$=cwHe0=d#Wzp$P!v;AS`g literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_subset_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_subset_03.png new file mode 100644 index 0000000000000000000000000000000000000000..a647573671bca06a34ebfeced1764ef2c350f967 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMKx%`hi(^Q|oVQmRIU5WFSPmxq zx6S5dZ_+yxA~5au9A=P8vOxaM{dEprTdsZm%ItMSs^e?@S^v|U*pgUP-d_Mxq9R~Q sl?6mdKI;Vst0Prn3ga7~l literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_subset_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_subset_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1c1a702c98501be7fb2f897790a9f5c6efaac4d0 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp56MTu^E5VW6#qBX<}gbbM?lx8uN{t^L#tr)H*%c(f(dJHQGoi u*y+h0t#4g!tG;!)Kl?s$#}uF)`@b_p&*SX8E}eG}q|?*Y&t;ucLK6TI*fxa# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_04.png new file mode 100644 index 0000000000000000000000000000000000000000..a76a477832f8f1d62fcdc68b2e34bd54ae5bdea1 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sBu#WAE}&f5zIc^M2imDusL-L(^>jC8O=&-&x+sE@0!SrgKGK#FzOIYy?0=u%6NQcqVumvv4FO#lc< B9WMX? literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_04_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_tecplot_04_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..342b1dd69a6f0725902683fda9b3103ec48b138f GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5v?ZkQpHGz{8&9Bir4g RE2|%axSp;8B1*zCg3_xH{EFZe1n%x|VF|Gu4?;@6h)XWV}39Q@EV<>0BV zj%$l|=pDTFOl-|r-^gpxZIZSt47;rNW_4R$SRsB*bLyd6;uo~5|11cKSbmi+`(r|^ z^%~bhRY^MgvJ$txxczJLUfXi#sFj-&^XGkspV}UtJi$|7=Pnle)M&x^;6l8 z=g%w1@;oKS-GHRI0W4-nyHa z8JeO4Th^HE_ivbe?3mPa5d+GJq6_vnP=o?UQRtRWAd@THNSVHlncvUo20!br7B&T;orBk)UDQg zO}+&F5AK${|Nj6dgTZ^*hJ8;@L~osWzEH56sm6`#_t#ao_id_KXZ6xH|L-=A24S7J x^!a5`=gXw`zn#??X!rl@?XDg>B^da0Se*Tz-Fp6Oj|D;D;pyt=@#iU9xs literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_unv_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_unv_05.png new file mode 100644 index 0000000000000000000000000000000000000000..ca3c1010867f4df70318aed6e70e324f762b1077 GIT binary patch literal 10433 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_var02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_var02.png new file mode 100644 index 0000000000000000000000000000000000000000..ed914ae20dcde631255c8de5388f767fb95e07f9 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICqE1mqmz=R2;3v?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpv?ZkQpHGz{8&9Bir4g RE2|%axSpf wuIpF1h4|8*BMw6UE|x2-G@bxb4+c437_Qu8aK7{Ji!zAs>FVdQ&MBb@0Gyv6G5`Po literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volumeOpacity_05.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volumeOpacity_05.png new file mode 100644 index 0000000000000000000000000000000000000000..f118ff197682f9b6a475e340d8ec243751a49076 GIT binary patch literal 1247 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=AyGJY5_^D(1YMdwSYz0|8c7 zzkmOypHzC>lY8LY);xQORbrKTS7Kv01#TF#fpnn&n@xSCJsZQOU!45(<@@uq=KcSF z=}*()&J0no8dwGrGnQ#%Iw~SM=kIAwmwQK^v2>T z-^I&yU)>Sgn09Sx9Mg3xZJEE9t6O(XI_)-Z=h{_TyE5+Fw7xKFleb&xoi*ViaR$q> z4`u_2etuC8b9;Hm(`$E*bAS5mOekb>!HWB{)mmoUi@B`=pA{EuXnq(ZLH<#r0b3c)K_P2nA18@hjI3r zZ3m5}xou*J*(Ak&I$Y+Ykip3;S)J%g74HMet1CCeuujrp>|XQjpwU#1O)N5-`~-CT zC#rZeL^7QaGB{y%bW-X=tCL1DmtUVSYS3X!;Zy)gect3({L~;`u)|Mk=q-)6Yt&70PhJS|w8a#rr9_sLnTAcMiW^i;FIF(+-_r1w?v zoVRMW7}V?&LOUj{d1?H8%Np%i>ln?*%U~NpdJgPab9oNmb8c0*5ffAkWFy-)Z*#ns zxlVT3PQOh&V8wiq%OkePxPm<<>~cCt>7>wy6It@Q{*6FStE{fv;`0<3GSk;wyI3UZ zzKJDgla%}EFe#v-lUdTb@rgi18mlw6RQ)^9KfgaX>~u!z9~bo-2enowZds!W)VO|4 z*~L#{z|?SN(=1o*KkPToT|6~yx5ToA4Y6U1Gj4i!zF2#Fdk0I&F%yxFnWkTFa=q+M z;dEJheCtiFS6wNbN9MkKy-D<1aLlGtdOIGmrAcwM$o=n{DFIGuagm!gi{9n~COZ4{ z)HLl~l9N;g^t3+~Y1gdii7QG=a#EMPY@iw=*{pJQ(u;zpTPAK>;_~WLmQvy0-b+)j zJH5K+(6a6f+a&X#JG+Wb``<4udUZ-~Uqbh}rP}+yO#187zOL&~w^@C9>D4K*+k)*D zuU_@y(02>FtD)gVAHDTgZMaoby+`rOy~u8>XpxUc_ib_$HPd=}>}=%WODF{j4$gvE Y_8-pH2eiL(R0gT=boFyt=akR{0NemHhyVZp literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volumeOpacity_05_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volumeOpacity_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ce206a779913d5a0b3147995bbf0b8a68fb78232 GIT binary patch literal 740 zcmV3_$V?u4a5JFNBgD5$uEftEF>On#eUd40Jn@H)UzohyLym;_d1uveYh~`ke z#L!lvh}PPW24a(_knQI4kW0jGcITVyE+YFJC$sa+JGI0AOO${d~ds6qaL{#66q(GL^R`e}$$2kbBnp=ycxZ!Wusb04OBRJ5P67 zp-TGOAKdOeCoIR1*~{UM4*;-Eggia~43ZH@a4}qooNQKnNdf?nK6d@PW~}-A(wY1` zYR#{eW^K?GsxoQ69`@?SL5oIc9c--HLXDqdml$>f)F>1|YCIHyX_l*A3L>KF^0;qM@7jFn}vspBAOF6xYCvv04Grh};Izhc(xxx(qcoAuU8W5p5xFmr!; zu>asEy8S*n8s97F`qtyE(O=4Q zf*b(m%H9&{b-zu!-JQMBAZs!QuqOZOugDgQh-gLXu;(KCPooE~jB<(k5l5Ktk6yKBQW|B=& z??^ThopoUb0Kj@j)<2TXokL>pobt2N=FjMk>O!Ju!E_0mLQMV zN`fsGsEDHM5lsOnno?9WMKy0t1Xai&6+_J!C0lkE&NFWDS%N_sJtih5CMG84|Kv9= W8rEVdo!18d0000Fw$IgC1dp)myjg$@gfz z%X(|RPWJq(XWsi9Z5M zvyDxt%l$(?O@jkmzv%pBx2u<0HBaGvOjyab3!k4a;#$Kx&rUWpV6F9hUiBA^Y6||= zj}u&36i?U{N3CLrI+<&+Ikc`&^Xkf#N|!cIt-SRmY~mBIoWr7Pin{lR#U9d9axS!t zJRPCB>ru?9S6q*iHci{KE9UJZ`EtM53{&;|wL7~yxcSvzM|_@K%AI}iVAr!%uamc{ zg}Ph`ywld2RUC9Qs$#>c?)8bfxuMZ@tl5RDxf~?3D_0vi3VN?DQq@_j)WyZBvvyvs zRZUXn*X8`2`CigeLMGPCTrE-;?2#WZ&RP7#D1T(`0t;FtHqmy{?1(T_s80;MVpNN&RhETuXOhF zl%-XEm;ZhD&i>L-k(4?0OfJVQ*)=i!1)DzEDwVNo-#&bj$reb@pUf)6ts>^3Ga*7@ zqeD{T5vI;j0a}EI_I))mk2NK;BUCmzMBD89D|9TQyTf){{{EiABI%}Y1zRq?T^P3P z?N{%LQ}JI?KAmCeoci+nzuWxxBR9VNvio@0-supZs*A>a~sKyvVP1Y|lTRDcZJbYKF~r zr7oj=(qUS@ft;s%BMb{RIZV}z`g=obbBJ2@$GH)a`)+Rt$PHN)!F@ig^rflJTCS_x zAFhh&Ej2&4#&m1c>TeC~TaTyjyuH@Uy?WENJDpe8SxlR?R-5O%&V{dT(P`V(X|7X0 zUHm$GFhmGgqEpyTs|2UG}rNGh(F;XO!-^ z#5ON7A!geD9nRatth<)o?#TK1<<7iL?)~W(b1gp4ew6y-%q;ir^(j}&53ieFdEWK$ z{OGy27eBw2_+##k-3|9%yUknoPQL7W>*1`sH^j~LWGB78CRp_P(Zd~i^R|`qzuvfK hUytdeYj3yyWBNKHU$=`J_vpVS`%c6aF=qKj)PDTQS66En-;2d6u!+@@DUZ>36Rc&VS>^a3@N{oZ-H_ zM3=^*4kfI_AL%D2s0k38w@u$)GxEfrmY9A&>u0Ap=i`0PZ%412C2sI$k(l(^*T;IFCoyN3#GSA{ zD|C44|I?Em_i!HbnRfH_Q?~b8ER`>Y9c##ca&E%IFRPEIr}=I1L%+Cw(S zUftzg@c+u3+pu6{1- HoD!Mk9 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volume_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_volume_02.png new file mode 100644 index 0000000000000000000000000000000000000000..7d09b2d9d9deee2f58431ef9d9fb1cc7dc97b094 GIT binary patch literal 1254 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=Ax5JzX3_D(1Ysd2rHY0|ADM z8?*oapMF?TAjy5w@~2u&OWrZRX`9h?uTO-1+m7pxpMCwm>Fw$IgC1dp)myjg$@gfz z%X(|RPWJq(XWsi9Z5M zvyDxt%l$(?O@jkmzv%pBx2u<0HBaGvOjyab3!k4a;#$Kx&rUWpV6F9hUiBA^Y6||= zj}u&36i?U{N3CLrI+<&+Ikc`&^Xkf#N|!cIt-SRmY~mBIoWr7Pin{lR#U9d9axS!t zJRPCB>ru?9S6q*iHci{KE9UJZ`EtM53{&;|wL7~yxcSvzM|_@K%AI}iVAr!%uamc{ zg}Ph`ywld2RUC9Qs$#>c?)8bfxuMZ@tl5RDxf~?3D_0vi3VN?DQq@_j)WyZBvvyvs zRZUXn*X8`2`CigeLMGPCTrE-;?2#WZ&RP7#D1T(`0t;FtHqmy{?1(T_s80;MVpNN&RhETuXOhF zl%-XEm;ZhD&i>L-k(4?0OfJVQ*)=i!1)DzEDwVNo-#&bj$reb@pUf)6ts>^3Ga*7@ zqeD{T5vI;j0a}EI_I))mk2NK;BUCmzMBD89D|9TQyTf){{{EiABI%}Y1zRq?T^P3P z?N{%LQ}JI?KAmCeoci+nzuWxxBR9VNvio@0-supZs*A>a~sKyvVP1Y|lTRDcZJbYKF~r zr7oj=(qUS@ft;s%BMb{RIZV}z`g=obbBJ2@$GH)a`)+Rt$PHN)!F@ig^rflJTCS_x zAFhh&Ej2&4#&m1c>TeC~TaTyjyuH@Uy?WENJDpe8SxlR?R-5O%&V{dT(P`V(X|7X0 zUHm$GFhmGgqEpyTs|2UG}rNGh(F;XO!-^ z#5ON7A!geD9nRatth<)o?#TK1<<7iL?)~W(b1gp4ew6y-%q;ir^(j}&53ieFdEWK$ z{OGy27eBw2_+##k-3|9%yUknoPQL7W>*1`sH^j~LWGB78CRp_P(Zd~i^R|`qzuvfK hUytdeYj3yyWBNKHU$=`J_vpVS`%c6aF=qKj)PDTQS66En-;2d6u!+@@DUZ>36Rc&VS>^a3@N{oZ-H_ zM3=^*4kfI_AL%D2s0k38w@u$)GxEfrmY9A&>u0Ap=i`0PZ%412C2sI$k(l(^*T;IFCoyN3#GSA{ zD|C44|I?Em_i!HbnRfH_Q?~b8ER`>Y9c##ca&E%IFRPEIr}=I1L%+Cw(S zUftzg@c+u3+pu6{1- HoD!Mk9 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vtk_34a.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vtk_34a.png new file mode 100644 index 0000000000000000000000000000000000000000..32199c3c45e652611a628a1f2002eb8bfa55a200 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9Ybc^M2imOg7nB0tp00i_ I>zopr0J!fUJpcdz literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vtk_34a_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vtk_34a_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9ba09a586c33fe433e0c409046a13370dc6ae4d4 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5(kAmi)@UQrX5VTyLRZ`tJW8LHwQ3+ br2l+mgTe~DWM4fQnV}< literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vtk_36.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_vtk_36.png new file mode 100644 index 0000000000000000000000000000000000000000..159d9a4dd8526164f865887a3a6d341ea8eedbd4 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&si(#WAE}&f5zIc^Mp7SR8)o z|1x5;~}c+0LG4Xz3i+_#npRj%KCKZdF1(1#1hN_{5DeAfMbX4lo}lQ&IKIca&f=zLCf gwFSsP5NNo+gCU<)fLVCC>kSa!)78&qol`;+018SlH~;_u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_00.png new file mode 100644 index 0000000000000000000000000000000000000000..6a52987b871b5d7ace997e97458906f63a4015ef GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICS%Afqdz=R2;3@2#dw(QK#J{rEb9H$Zj5)I6}UC$Yra%MI*fmC|B`njxgN@xNA DcEB3m literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_00_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_00_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b482286a70de9cf666b06ffac31f6d12d3214ae4 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5n;jLq~eV`5-%SX*}D*X7mEo?B18)1KD5`qh)@P;Zba3=H*~7$Z5^ U?#A>S)&g-oUHx3vIVCg!0L8B;TmS$7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_01.png new file mode 100644 index 0000000000000000000000000000000000000000..6a52987b871b5d7ace997e97458906f63a4015ef GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&f5zIIT;u@m<{jN zXUICS%Afqdz=R2;3@2#dw(QK#J{rEb9H$Zj5)I6}UC$Yra%MI*fmC|B`njxgN@xNA DcEB3m literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_01_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b482286a70de9cf666b06ffac31f6d12d3214ae4 GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5n;jLq~eV`5-%SX*}D*X7mEo?B18)1KD5`qh)@P;Zba3=H*~7$Z5^ U?#A>S)&g-oUHx3vIVCg!0L8B;TmS$7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_02.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_02.png new file mode 100644 index 0000000000000000000000000000000000000000..20e4d21c684d90400849c08a01492f8aca4bdc45 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sZ$#WAE}&fD`F1sM!Dm@Vt^iUTxWV4=?VPsPK7nKb%*wfX|Wt~$(69C%7 B9KQen literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_6_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ac3b0d831a27f31eab7cd3948047e600f281ffaa GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_7_02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_7_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_7_03.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_7_03.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0675158a6cb910218d1eee7c0cfd06844de73f GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK&sKx#WAE}&f9YbIT;K%SRCK( ze{sV}!O@ePCkZb%;&@8R_Zj=d#Wz Gp$PzNo*w4_ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_7_03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/d_xdmf_7_03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..29b8b72052e205793fd28f9614ad8e9b41f28933 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5zopr0HKvD-v9sr literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databasesVsInstall.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databasesVsInstall.html new file mode 100644 index 000000000..320d0f916 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databasesVsInstall.html @@ -0,0 +1,86 @@ +Results for test case databasesVsInstall + +

    Results for test case databasesVsInstall

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    12 Lines Changed

    +

    1 modifications, totalling 12 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1: { 'BOV': 'success',1: { 'BOV': 'make failed',
    2:     'Blueprint': 'success',2:     'Blueprint': 'make failed',
    3:     'CGNS': 'success',3:     'CGNS': 'make failed',
    4:     'Cale': 'success',4:     'Cale': 'make failed',
    5:     'Claw': 'success',5:     'Claw': 'make failed',
    6:     'Exodus': 'success',6:     'Exodus': 'make failed',
    7:     'FITS': 'success',7:     'FITS': 'make failed',
    8:     'H5Part': 'success',8:     'H5Part': 'make failed',
    9:     'MFEM': 'success',9:     'MFEM': 'make failed',
    10:     'Mili': 'success',10:     'Mili': 'make failed',
    11:     'SAMRAI': 'success',11:     'SAMRAI': 'make failed',
    12:     'VTK': 'success'}12:     'VTK': 'cmake configure failed'}
    diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANALYZE.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANALYZE.html new file mode 100644 index 000000000..8737f70e1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANALYZE.html @@ -0,0 +1,84 @@ + +Results for databases/ANALYZE.py + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ANALYZE000.000.00
    ANALYZE010.000.00
    ANALYZE020.000.00
    ANALYZE030.000.00
    ANALYZE040.000.00
    ANALYZE050.000.00
    ANALYZE060.000.00
    ANALYZE070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANALYZE_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANALYZE_py.html new file mode 100644 index 000000000..04d706589 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANALYZE_py.html @@ -0,0 +1,113 @@ +databases/ANALYZE.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ANALYZE.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#              plots     - Pseudocolor, Contour
    +#              operators - Slice
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Dec 5 09:50:05 PDT 2003
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 31 09:13:47 PDT 2004
    +#    Added code to clear the engine cache to reduce memory usage.
    +#
    +#    Brad Whitlock, Wed Mar 9 09:12:05 PDT 2005
    +#    Updated so it does not use removed, deprecated functions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set up the window background color
    +a = GetAnnotationAttributes()
    +a.backgroundMode = a.Solid
    +a.backgroundColor = (0, 0, 0, 255)
    +a.foregroundColor = (255, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +
    +# Create a plot using the large database
    +dbs = (data_path("ANALYZE_test_data/s01_anatomy_stripped.hdr"),
    +       data_path("ANALYZE_test_data/s01_epi_r01.visit"))
    +OpenDatabase(dbs[0])
    +AddPlot("Contour", "Variable")
    +c = ContourAttributes()
    +c.contourMethod = c.Value
    +c.contourValue = (40)
    +c.colorType = c.ColorBySingleColor
    +c.singleColor = (255,240,220,255)
    +SetPlotOptions(c)
    +DrawPlots()
    +
    +# Set the view
    +v = View3DAttributes()
    +v.viewNormal = (0, 0, -1)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0, -1, 0)
    +v.viewAngle = 30
    +v.parallelScale = 399.965
    +v.nearPlane = -799.93
    +v.farPlane = 799.93
    +v.imagePan = (0, 0)
    +v.imageZoom = 2.26061
    +v.perspective = 1
    +v.eyeAngle = 2
    +SetView3D(v)
    +
    +Test("ANALYZE00")
    +
    +# Look at it from another view
    +v.viewNormal = (1, 0, 0)
    +SetView3D(v)
    +Test("ANALYZE01")
    +
    +# Look at it from the top
    +v.viewNormal = (0, -1, 0)
    +v.viewUp = (-1, 0, 0)
    +SetView3D(v)
    +Test("ANALYZE02")
    +
    +# Look at a new database
    +ResetView()
    +DeleteAllPlots()
    +CloseDatabase(dbs[0])
    +ClearCache("localhost")
    +
    +OpenDatabase(dbs[1])
    +AddPlot("Pseudocolor", "Variable")
    +p = PseudocolorAttributes()
    +p.minFlag = 1
    +p.min = 0
    +p.maxFlag = 1
    +p.max = 1300
    +p.colorTableName = "gray"
    +p.scaling = p.Skew
    +p.skewFactor = 0.5
    +SetPlotOptions(p)
    +
    +# Slice it.
    +AddOperator("Slice")
    +s = SliceAttributes()
    +s.originType = s.Point
    +s.originPoint = (0, 0, 0)
    +s.normal = (0, -1, 0)
    +s.upAxis = (0, 0, 1)
    +s.project2d = 1
    +s.axisType = s.ZAxis
    +SetOperatorOptions(s)
    +DrawPlots()
    +
    +# Add a time slider
    +slider = CreateAnnotationObject("TimeSlider")
    +slider.text = ""
    +slider.height = 0.1
    +
    +# Animate through the rest of the frames
    +testnum = 3
    +for i in range(TimeSliderGetNStates()):
    +    SetTimeSliderState(i)
    +    Test("ANALYZE%02d" % testnum)
    +    testnum = testnum + 1
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANSYS.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANSYS.html new file mode 100644 index 000000000..c1be38ff6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANSYS.html @@ -0,0 +1,114 @@ + +Results for databases/ANSYS.py + +

    Results of VisIt Regression Test - databases/ANSYS

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pipe.inp
    ansys1_00.000.00
    ansys1_10.000.00
    ansys1_2100.006.31
    waterjacket.inp
    ansys2_00.000.00
    ansys2_10.000.00
    ansys2_2100.0028.00
    intake.inp
    ansys3_00.000.00
    ansys3_10.000.00
    ansys3_2100.0010.70
    cubeF.inp
    ansys4_10.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANSYS_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANSYS_py.html new file mode 100644 index 000000000..72ea97b4e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ANSYS_py.html @@ -0,0 +1,217 @@ +databases/ANSYS.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ANSYS.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Mesh
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jul 7 17:46:51 PST 2005
    +#
    +#  Notes:      The data for these tests are supposed to be ANSYS versions of
    +#              some of the data in the NASTRAN tests. I have not found other
    +#              ANSYS datasets in this format to confirm that these datasets
    +#              are actually ANSYS but I think there may be several ANSYS
    +#              formats.
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' and 'backgroundFlag' with
    +#    meshColorSource and opaqueColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def AddMeshPlot():
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.legendFlag = 0
    +    m.opaqueColor = (153, 204, 255, 255)
    +    m.opaqueColorSource = m.OpaqueCustom
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (0,0,0,255)
    +    SetPlotOptions(m)
    +
    +def AddPseudocolorPlot():
    +    AddPlot("Pseudocolor", "one")
    +    p = PseudocolorAttributes()
    +    p.colorTableName = "rainbow"
    +    p.SetOpacityType(p.Constant)
    +    p.opacity = 0.2
    +    SetPlotOptions(p)
    +    DrawPlots()
    +
    +def test1(datapath):
    +    db = "pipe.inp"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath, db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v.focus = (0.149902, 0.212562, 0.124929)
    +    v.viewUp = (0.316186, 0.925114, -0.210215)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.585963
    +    v.nearPlane = -1.17193
    +    v.farPlane = 1.17193
    +    v.imagePan = (0.0173275, 0.033058)
    +    v.imageZoom = 1.45734
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v)
    +    Test("ansys1_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v2.focus = (0.149902, 0.212562, 0.124929)
    +    v2.viewUp = (0.316186, 0.925114, -0.210215)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.585963
    +    v2.nearPlane = -1.17193
    +    v2.farPlane = 1.17193
    +    v2.imagePan = (-0.108127, 0.0971661)
    +    v2.imageZoom = 6.92887
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v2)
    +    Test("ansys1_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("ansys1_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test2(datapath):
    +    db = "waterjacket.inp"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v.focus = (0.03, -0.03, -0.1125)
    +    v.viewUp = (0.225064, 0.264053, 0.937882)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.289925
    +    v.nearPlane = -0.579849
    +    v.farPlane = 0.579849
    +    v.imagePan = (0.0984407, 0.0467479)
    +    v.imageZoom = 1.40003
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v)
    +    Test("ansys2_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v2.focus = (0.03, -0.03, -0.1125)
    +    v2.viewUp = (0.225064, 0.264053, 0.937882)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.289925
    +    v2.nearPlane = -0.579849
    +    v2.farPlane = 0.579849
    +    v2.imagePan = (0.100347, 0.0410472)
    +    v2.imageZoom = 7.7658
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v2)
    +    Test("ansys2_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("ansys2_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test3(datapath):
    +    db = "intake.inp"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v.focus = (0, 0.011, -0.0935)
    +    v.viewUp = (0.208418, 0.950364, 0.231021)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.198752
    +    v.nearPlane = -0.397503
    +    v.farPlane = 0.397503
    +    v.imagePan = (0.0151275, 0.00167627)
    +    v.imageZoom = 1.43299
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v)
    +    Test("ansys3_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v2.focus = (0, 0.011, -0.0935)
    +    v2.viewUp = (0.208418, 0.950364, 0.231021)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.198752
    +    v2.nearPlane = -0.397503
    +    v2.farPlane = 0.397503
    +    v2.imagePan = (-0.101283, 0.0396808)
    +    v2.imageZoom = 6.28038
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v2)
    +    Test("ansys3_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("ansys3_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test4(datapath):
    +    db = "cubeF.inp"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +    Test("ansys4_1")
    +
    +def main():
    +    # Set up the window background color
    +    a = GetAnnotationAttributes()
    +    a.backgroundMode = a.Solid
    +    a.backgroundColor = (180, 180, 180, 255)
    +    a.foregroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(a)
    +
    +    DefineScalarExpression("one", "(zoneid(mesh) + 1) / (zoneid(mesh) + 1)")
    +
    +    datapath = data_path("ANSYS_test_data")
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    test4(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_CGNS.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_CGNS.html new file mode 100644 index 000000000..a8c88b80b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_CGNS.html @@ -0,0 +1,206 @@ + +Results for databases/CGNS.py + +

    Results of VisIt Regression Test - databases/CGNS

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Structured files
    CGNS_0_000.000.00
    CGNS_0_010.000.00
    CGNS_0_020.000.00
    CGNS_0_030.000.00
    CGNS_0_040.000.00
    CGNS_0_050.000.00
    CGNS_0_060.000.00
    Unstructured files
    CGNS_1_000.000.00
    CGNS_1_010.000.00
    CGNS_1_020.000.00
    CGNS_1_030.000.00
    CGNS_1_040.000.00
    CGNS_1_050.000.00
    CGNS_1_060.000.00
    CGNS_1_070.000.00
    Variables on only some of the domains
    CGNS_2_000.000.00
    CGNS_2_010.000.00
    CGNS_2_020.000.00
    CGNS_2_030.000.00
    CGNS_2_040.000.00
    CGNS_2_050.000.00
    File with boundaries
    CGNS_3_000.000.00
    Arbitrary polygons
    CGNS_NGon_Elements_000.000.00
    Arbitrary polyhedra
    CGNS_NFace_Elements_000.000.00
    CGNS_NFace_Elements_01100.0059.31
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_CGNS_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_CGNS_py.html new file mode 100644 index 000000000..a2f6c6a59 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_CGNS_py.html @@ -0,0 +1,389 @@ +databases/CGNS.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  CGNS.py
    +#
    +#  Tests:      mesh      - 3D structured, unstructured, single and 
    +#                          multiple domain
    +#              plots     - Contour, Mesh, Pseudocolor, Subset
    +#              operators - Clip, Slice
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Sep 2 11:19:33 PDT 2005
    +#
    +#  Modifications:
    +#    Brad Whitlock, Mon Apr 21 10:55:14 PDT 2008
    +#    Updated variable names to compensate for changes to CGNS reader.
    +#
    +#    Jeremy Meredith, Fri Aug  8 11:23:29 EDT 2008
    +#    Updated streamline settings to match new attribute fields.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Cyrus Harrison, Wed Aug 25 14:28:14 PDT 2010
    +#    Variable name change due to changes with SIL generation.
    +#
    +#    Brad Whitlock, Tue Sep 11 14:38:37 PDT 2012
    +#    Test file that has boundaries.
    +#
    +#    Alister Maguire, Tue Mar  2 10:29:37 PST 2021
    +#    Added tests for NGon and NFace elements.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("CGNS")
    +
    +def test0(datapath):
    +    TestSection("Structured files")
    +
    +    OpenDatabase(pjoin(datapath,"delta.cgns"))
    +    AddPlot("Mesh", "Zone___1")
    +    DrawPlots()
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.673597, -0.70478, 0.222605)
    +    v0.focus = (0.5, 0.827196, 0.0589651)
    +    v0.viewUp = (0.150257, 0.164313, 0.974897)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 2.30431
    +    v0.nearPlane = -4.60862
    +    v0.farPlane = 4.60862
    +    v0.imagePan = (0.0171482, 0.0494526)
    +    v0.imageZoom = 1.09899
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.5, 0.827196, 0.0589651)
    +    SetView3D(v0)
    +    Test("CGNS_0_00")
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "Density")
    +    DrawPlots()
    +    Test("CGNS_0_01")
    +
    +    ChangeActivePlotsVar("MomentumX")
    +    Test("CGNS_0_02")
    +
    +    AddPlot("Vector", "Momentum")
    +    v = VectorAttributes()
    +    v.nVectors = 4000
    +    v.scale = 0.065
    +    v.scaleByMagnitude = 0
    +    v.autoScale = 0
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (-0.59445, 0.745055, 0.302528)
    +    v1.focus = (0.5, 0.827196, 0.0589651)
    +    v1.viewUp = (0.177264, -0.245548, 0.953039)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 2.30431
    +    v1.nearPlane = 0
    +    v1.farPlane = 4.60862
    +    v1.imagePan = (-0.00797807, 0.021628)
    +    v1.imageZoom = 2.76008
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (0.5, 0.827196, 0.0589651)
    +    SetView3D(v1)
    +    Test("CGNS_0_03")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"5blocks.cgns"))
    +    AddPlot("Subset", "zones")
    +    AddPlot("Mesh", "BASE_1")
    +    DrawPlots()
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.56714, 0.62864, 0.532131)
    +    v2.focus = (18.3432, -132.647, 108.59)
    +    v2.viewUp = (0.353654, -0.397621, 0.846656)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 390.48
    +    v2.nearPlane = -780.96
    +    v2.farPlane = 780.96
    +    v2.imagePan = (0.0358739, 0.018554)
    +    v2.imageZoom = 1.2581
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (18.3432, -132.647, 108.59)
    +    SetView3D(v2)
    +    Test("CGNS_0_04")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"multi.cgns"))
    +    AddPlot("Subset", "zones")
    +    AddOperator("Slice")
    +    DrawPlots()
    +    v3 = View2DAttributes()
    +    v3.windowCoords = (-0.101847, 1.39507, -0.777335, 0.779882)
    +    v3.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v3.fullFrameActivationMode = v3.Off  # On, Off, Auto
    +    v3.fullFrameAutoThreshold = 100
    +    SetView2D(v3)
    +    Test("CGNS_0_05")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "MomentumZ")
    +    AddOperator("Slice")
    +    DrawPlots()
    +    Test("CGNS_0_06")
    +
    +    DeleteAllPlots()
    +
    +
    +def test1(datapath):
    +    TestSection("Unstructured files")
    +
    +    OpenDatabase(pjoin(datapath,"StaticMixer.cgns"))
    +    AddPlot("Mesh", "StaticMixer")
    +    AddPlot("Pseudocolor", "Pressure")
    +    DrawPlots()
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.791423, -0.34473, 0.504788)
    +    v0.focus = (0, 0, 6.65045e-11)
    +    v0.viewUp = (0.453682, 0.222176, 0.863024)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 4.1231
    +    v0.nearPlane = -8.24621
    +    v0.farPlane = 8.24621
    +    v0.imagePan = (-0.00919414, -0.0394234)
    +    v0.imageZoom = 1.4092
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0, 0, 0)
    +    SetView3D(v0)
    +    Test("CGNS_1_00")
    +
    +    ChangeActivePlotsVar("VelocityX")
    +    Test("CGNS_1_01")
    +
    +    SetActivePlots((0,1))
    +    AddOperator("Clip")
    +    c = ClipAttributes()
    +    c.plane2Status = 1
    +    c.plane1Normal = (-1.,0.,0.)
    +    c.plane2Normal = (0.,-1.,0.)
    +    SetOperatorOptions(c)
    +    DrawPlots()
    +    Test("CGNS_1_02")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"jet.cgns"))
    +    AddPlot("Pseudocolor", "CoefPressure")
    +    AddPlot("Contour", "CoefPressure")
    +    c = ContourAttributes()
    +    c.colorType = c.ColorBySingleColor
    +    c.contourNLevels = 30
    +    c.singleColor=(0,0,0,255)
    +    c.legendFlag = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (0.89973, 0.23533, 0.367566)
    +    v1.focus = (1.82694, 0, 4.12744)
    +    v1.viewUp = (-0.354779, -0.0961553, 0.929992)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 47.9514
    +    v1.nearPlane = -95.9031
    +    v1.farPlane = 95.9031
    +    v1.imagePan = (-0.0544089, 0.00587157)
    +    v1.imageZoom = 1.62963
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (1.82694, 0, 4.12744)
    +    SetView3D(v1)
    +    Test("CGNS_1_03")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"yf17.cgns"))
    +    AddPlot("Mesh", "Zone1")
    +    AddPlot("Pseudocolor", "Density")
    +    DrawPlots()
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.79815, 0.489358, 0.351405)
    +    v2.focus = (0, 31.7504, 0)
    +    v2.viewUp = (0.286761, -0.204385, 0.935946)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 95.2512
    +    v2.nearPlane = 0
    +    v2.farPlane = 190.502
    +    v2.imagePan = (-0.129267, -0.0352136)
    +    v2.imageZoom = 15.4243
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 31.7504, 0)
    +    SetView3D(v2)
    +    Test("CGNS_1_04")
    +
    +    v3 = View3DAttributes()
    +    v3.viewNormal = (-0.79815, 0.489358, 0.351405)
    +    v3.focus = (0, 31.7504, 0)
    +    v3.viewUp = (0.286761, -0.204385, 0.935946)
    +    v3.viewAngle = 30
    +    v3.parallelScale = 95.2512
    +    v3.nearPlane = 0
    +    v3.farPlane = 190.502
    +    v3.imagePan = (-0.130871, -0.033492)
    +    v3.imageZoom = 66.7586
    +    v3.perspective = 1
    +    v3.eyeAngle = 2
    +    v3.centerOfRotationSet = 0
    +    v3.centerOfRotation = (0, 31.7504, 0)
    +    SetView3D(v3)
    +    Test("CGNS_1_05")
    +
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    SetView3D(v2)
    +    Test("CGNS_1_06")
    +
    +    AddPlot("Vector", "Velocity")
    +    v = VectorAttributes()
    +    v.nVectors = 4000
    +    v.scale = 0.2
    +    v.scaleByMagnitude = 0
    +    v.autoScale = 0
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    Test("CGNS_1_07")
    +    DeleteAllPlots()
    +
    +
    +def test2(datapath):
    +    TestSection("Variables on only some of the domains")
    +
    +    OpenDatabase(pjoin(datapath,"HeatingCoil.cgns"))
    +    AddPlot("Subset", "zones(Base)")
    +    DrawPlots()
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (0.27344, 0.876709, 0.395743)
    +    v0.focus = (0, 0, 1.125)
    +    v0.viewUp = (-0.0932919, -0.385311, 0.918059)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 1.8071
    +    v0.nearPlane = -3.61421
    +    v0.farPlane = 3.61421
    +    v0.imagePan = (-0.00158217, 0.0267093)
    +    v0.imageZoom = 1.11866
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0, 0, 1.125)
    +    SetView3D(v0)
    +    Test("CGNS_2_00")
    +
    +    TurnDomainsOff("FluidZone")
    +    Test("CGNS_2_01")
    +
    +    TurnDomainsOn()
    +    TurnDomainsOff("SolidZone")
    +    Test("CGNS_2_02")
    +    TurnDomainsOn()
    +    DeleteAllPlots()
    +
    +    # Make sure we can plot variables that exist on only 1 domain.
    +    AddPlot("Pseudocolor", "Pressure")
    +    DrawPlots()
    +    Test("CGNS_2_03")
    +    ChangeActivePlotsVar("VelocityZ")
    +    AddPlot("Mesh", "subgrid/Base001")
    +    DrawPlots()
    +    Test("CGNS_2_04")
    +    DeleteAllPlots()
    +
    +    # Draw the 1 variable that exists in both domains.
    +    AddPlot("Pseudocolor","Temperature")
    +    DrawPlots()
    +    Test("CGNS_2_05")
    +    DeleteAllPlots()
    +
    +def test3(datapath):
    +    TestSection("File with boundaries")
    +
    +    OpenDatabase(pjoin(datapath,"with_boundary_faces.cgns"))
    +    AddPlot("Pseudocolor", "Density")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.On
    +    SetView2D(v)
    +
    +    Test("CGNS_3_00")
    +    DeleteAllPlots()
    +
    +def testNGonElements(datapath):
    +    TestSection("Arbitrary polygons")
    +
    +    OpenDatabase(pjoin(datapath, "spherePolyMesh.cgns"))
    +    AddPlot("Mesh", "sphere")
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("CGNS_NGon_Elements_00")
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath, "spherePolyMesh.cgns"))
    +
    +def testNFaceElements(datapath):
    +    TestSection("Arbitrary polyhedra")
    +
    +    #
    +    # First, test the simple case. This mesh has 2 sections,
    +    # one for NGon and one for NFace.
    +    #
    +    OpenDatabase(pjoin(datapath, "trappedvtx_ngon.cgns"))
    +    AddPlot("Mesh", "ComputeBase")
    +    MeshAtts = MeshAttributes()
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("CGNS_NFace_Elements_00")
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath, "trappedvtx_ngon.cgns"))
    +
    +    #
    +    # Next, test a more complicated case. This mesh has 5 sections,
    +    # 4 of which are NGon. The single NFace section references all
    +    # 4 NGon sections.
    +    #
    +    OpenDatabase(pjoin(datapath, "spherePolyMesh3D.cgns"))
    +    AddPlot("Mesh", "sphere")
    +    MeshAtts = MeshAttributes()
    +    MeshAtts.opacity = 0.4
    +    SetPlotOptions(MeshAtts)
    +
    +    AddPlot("Pseudocolor", "Density")
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.opacityType = PseudocolorAtts.Constant
    +    PseudocolorAtts.opacity = 0.4
    +    SetPlotOptions(PseudocolorAtts)
    +
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("CGNS_NFace_Elements_01")
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath, "spherePolyMesh3D.cgns"))
    +
    +def main():
    +    # Draw antialiased lines
    +    r = GetRenderingAttributes()
    +    r.antialiasing = 1
    +    SetRenderingAttributes(r)
    +
    +    datapath = data_path("CGNS_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    testNGonElements(datapath)
    +    testNFaceElements(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Cale.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Cale.html new file mode 100644 index 000000000..681948fb3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Cale.html @@ -0,0 +1,69 @@ + +Results for databases/Cale.py + +

    Results of VisIt Regression Test - databases/Cale

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Cale files
    Cale_0_000.000.00
    Cale_0_010.000.00
    Cale_0_020.000.00
    Cale_0_030.000.00
    Cale_0_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Cale_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Cale_py.html new file mode 100644 index 000000000..13029b747 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Cale_py.html @@ -0,0 +1,65 @@ +databases/Cale.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Cale.py
    +#
    +#  Tests:      mesh      - 2D, structured, single domain
    +#              plots     - Pseudocolor, FilledBoundary
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Oct 10 11:46:45 PDT 2007
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def test0(datapath):
    +    TestSection("Cale files")
    +    OpenDatabase(pjoin(datapath,"jet00405.pdb"))
    +    AddPlot("Pseudocolor", "p")
    +    DrawPlots()
    +    Test("Cale_0_00")
    +    DeleteActivePlots()
    +
    +    AddPlot("FilledBoundary", "Materials")
    +    DrawPlots()
    +    Test("Cale_0_01")
    +
    +    AddPlot("Mesh", "hydro")
    +    DrawPlots()
    +    v0 = View2DAttributes()
    +    v0.windowCoords = (10.1155, 11.6375, 3.20767, 4.82837)
    +    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    SetView2D(v0)
    +    Test("Cale_0_02")
    +
    +    # Do a PC plot with mixvars.
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    m = GetMaterialAttributes()
    +    m.forceMIR = 1
    +    SetMaterialAttributes(m)
    +    AddPlot("Pseudocolor", "den")
    +    DrawPlots()
    +    Test("Cale_0_03")
    +    DeleteAllPlots()
    +
    +    # Test another file.
    +    OpenDatabase(pjoin(datapath,"vpgz.pdb"))
    +    AddPlot("FilledBoundary", "Materials")
    +    DrawPlots()
    +    ResetView()
    +    Test("Cale_0_04")
    +    DeleteActivePlots()
    +
    +def main():
    +    datapath = data_path("Cale_test_data")
    +    test0(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Chombo.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Chombo.html new file mode 100644 index 000000000..46d88e5db --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Chombo.html @@ -0,0 +1,77 @@ + +Results for databases/Chombo.py + +

    Results of VisIt Regression Test - databases/Chombo

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Changing time states
    Chombo_0_000.000.00
    Chombo_0_010.000.00
    Chombo_0_020 modifications totalling 0 lines
    More distinct refinements
    Chombo_1_000.000.00
    Anisotropic refinement
    Chombo_2_000.410.63
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Chombo_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Chombo_py.html new file mode 100644 index 000000000..e5ecc2dfc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Chombo_py.html @@ -0,0 +1,101 @@ +databases/Chombo.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Chombo.py
    +#
    +#  Tests:      mesh      - 2D AMR
    +#              plots     - Pseudocolor
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Sep 25 14:17:58 PST 2006
    +#
    +#  Modifications:
    +#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
    +#    Removed silly comments regarding global annotation object 'a'
    +#
    +# ----------------------------------------------------------------------------
    +
    +def test0(datapath):
    +    TestSection("Changing time states")
    +
    +    # Set up the plots.
    +    db = pjoin(datapath,"chombo.visit")
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "Density")
    +    AddOperator("Transform")
    +    t = TransformAttributes()
    +    t.doScale = 1
    +    t.scaleY = 8.
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +
    +    Test("Chombo_0_00")
    +
    +    # Make sure we can change time states. This demonstrates the reader's
    +    # ability to change metadata/SIL over time.
    +    SetTimeSliderState(1)
    +    Test("Chombo_0_01")
    +
    +    # Get the time steps.
    +    s = "Number of states: %d\n" %  TimeSliderGetNStates()
    +    for i in range(TimeSliderGetNStates()):
    +        SetTimeSliderState(i)
    +        Query("Cycle")
    +        cycle = GetQueryOutputValue()
    +        Query("Time")
    +        time = GetQueryOutputValue()
    +        values = "Cycle=%d, Time=%g" % (cycle, time)
    +        s = s + values + "\n"
    +    TestText("Chombo_0_02", s)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test1(datapath):
    +    TestSection("More distinct refinements")
    +
    +    db = pjoin(datapath,"chombo.visit")
    +    OpenDatabase(db)
    +
    +    AddPlot("Subset", "patches")
    +    AddPlot("Contour", "P_y_Over_Rho")
    +    DrawPlots()
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.On
    +    SetView2D(v)
    +
    +    Test("Chombo_1_00")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test2(datapath):
    +    TestSection("Anisotropic refinement")
    +
    +    db = pjoin(datapath,"aniso_refin.2d.hdf5")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Subset", "levels")
    +    DrawPlots()
    +
    +    Test("Chombo_2_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def main():
    +    TurnOffAllAnnotations()
    +
    +    InvertBackgroundColor()
    +
    +    datapath = data_path("Chombo_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +
    +    InvertBackgroundColor()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_EnSight.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_EnSight.html new file mode 100644 index 000000000..c358a4f91 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_EnSight.html @@ -0,0 +1,102 @@ + +Results for databases/EnSight.py + +

    Results of VisIt Regression Test - databases/EnSight

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    MT, ASCII, EnSight Gold files
    EnSight_0_000.000.00
    EnSight_0_010.000.00
    EnSight_0_020.000.00
    EnSight_0_030.000.00
    EnSight_0_040.000.00
    EnSight_0_050.000.00
    EnSight_0_060.000.00
    EnSight_0_070.000.00
    EnSight_0_080 modifications totalling 0 lines
    Make sure that we get correct values
    EnSight_1_000 modifications totalling 0 lines
    EnSight_1_010 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_EnSight_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_EnSight_py.html new file mode 100644 index 000000000..3fc679f60 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_EnSight_py.html @@ -0,0 +1,84 @@ +databases/EnSight.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  EnSight.py
    +#
    +#  Tests:      mesh      - 2D structured
    +#              plots     - Pseudocolor
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Jun 27 10:27:50 PDT 2006
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Sep 27 10:19:38 PDT 2006
    +#    Test another dataset to make sure that the cycle/time values and the
    +#    dataset values are right.
    +#
    +# ----------------------------------------------------------------------------
    +
    +RequiredDatabasePlugin("EnSight")
    +
    +def test0(datapath):
    +    TestSection("MT, ASCII, EnSight Gold files")
    +
    +    # Set up the plots.
    +    OpenDatabase(pjoin(datapath,"CHR.case"))
    +    AddPlot("Pseudocolor", "Pression")
    +    DrawPlots()
    +
    +    # Save images for all 8 time steps
    +    s = "Time values:\n"
    +    for i in range(8):
    +        SetTimeSliderState(i)
    +        DrawPlots()
    +        Test("EnSight_0_%02d" % i)
    +
    +        Query("Time")
    +        s = s + GetQueryOutputString() + "\n"
    +
    +    TestText("EnSight_0_08", s)
    +    DeleteAllPlots()
    +
    +def test1(datapath):
    +    TestSection("Make sure that we get correct values")
    +
    +    # Set up the plots.
    +    OpenDatabase(pjoin(datapath,"dataset2/CHR.case"))
    +    AddPlot("Pseudocolor", "nb")
    +    DrawPlots()
    +
    +    # Query the values at all time steps to make sure that we get the
    +    # right cycles, times and min dataset value.
    +    s = "Time values:\n"
    +    v = "Dataset values\n"
    +    for i in range(TimeSliderGetNStates()):
    +        SetTimeSliderState(i)
    +        DrawPlots()
    +
    +        # Get cycle and time.
    +        Query("Time")
    +        t = GetQueryOutputValue()
    +
    +        # Get min value
    +        Query("Min")
    +        m = GetQueryOutputValue()
    +
    +        line = "Time=%g\n" % t
    +        s = s + line
    +        line = "Min Value=%g\n" % m
    +        v = v + line
    +
    +    TestText("EnSight_1_00", s)
    +    TestText("EnSight_1_01", v)
    +    DeleteAllPlots()
    +
    +def main():
    +    TurnOffAllAnnotations()
    +
    +    datapath = data_path("EnSight_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FITS.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FITS.html new file mode 100644 index 000000000..95a3050c0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FITS.html @@ -0,0 +1,87 @@ + +Results for databases/FITS.py + +

    Results of VisIt Regression Test - databases/FITS

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    2D truecolor images
    FITS_0_000.000.00
    2D pseudocolor images
    FITS_1_000.000.00
    FITS_1_010.000.00
    FITS_1_020.000.00
    FITS_1_030.000.00
    3D pseudocolor data
    FITS_2_000.000.00
    FITS_2_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FITS_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FITS_py.html new file mode 100644 index 000000000..f28f87d7c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FITS_py.html @@ -0,0 +1,124 @@ +databases/FITS.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  FITS.py
    +#
    +#  Tests:      mesh      - 2D structured, 3D structured
    +#              plots     - Pseudocolor, TrueColor
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jul 20 14:07:49 PST 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Mar 18 15:40:19 PDT 2008
    +#    Reflect change in variable names.
    +#
    +#    Hank Childs, Sat Mar 13 10:57:19 PST 2010
    +#    Reflect change in variable names.
    +#    
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("FITS")
    +
    +def test0(datapath):
    +    TestSection("2D truecolor images")
    +
    +    # Set up the plots.
    +    db = pjoin(datapath,"mandrill.fits")
    +    OpenDatabase(db)
    +    AddPlot("Truecolor", "MANDRILL")
    +    DrawPlots()
    +
    +    Test("FITS_0_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +
    +def test1(datapath):
    +    TestSection("2D pseudocolor images")
    +
    +    # Set up the plots.
    +    db = pjoin(datapath,"y2000m2.fits")
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "NGC7083 V 550nm _lp_Intens_rp_")
    +    pc = PseudocolorAttributes()
    +    pc.minFlag = 1
    +    pc.scaling = pc.Log  # Linear, Log, Skew
    +    pc.min = 0.001
    +    pc.colorTableName = "bluehot"
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    Test("FITS_1_00")
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    # Set up the plots.
    +    db = pjoin(datapath, "04May04_standard_*.fits database")
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "HD43583")
    +    DrawPlots()
    +    Test("FITS_1_01")
    +
    +    SetTimeSliderState(1)
    +    Test("FITS_1_02")
    +
    +    SetTimeSliderState(2)
    +    Test("FITS_1_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +
    +def test2(datapath):
    +    TestSection("3D pseudocolor data")
    +
    +    # Set up the plots.
    +    db = pjoin(datapath,"ngc6503.fits")
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "NGC6503")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0.406249, -0.543192, 0.734782)
    +    v.focus = (128, 128, 15.5)
    +    v.viewUp = (-0.273573, 0.694941, 0.664993)
    +    v.viewAngle = 30
    +    v.parallelScale = 181.682
    +    v.nearPlane = -363.363
    +    v.farPlane = 363.363
    +    v.imagePan = (0.0160165, 0.0533909)
    +    v.imageZoom = 1.05918
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (128, 128, 15.5)
    +    SetView3D(v)
    +    Test("FITS_2_00")
    +    DeleteAllPlots()
    +
    +    AddPlot("Contour", "NGC6503")
    +    ca = ContourAttributes()
    +    ca.contourValue = (0.0075)
    +    ca.contourMethod = ca.Value  # Level, Value, Percent
    +    SetPlotOptions(ca)
    +    DrawPlots()
    +    Test("FITS_2_01")
    +    DeleteAllPlots()
    +
    +    CloseDatabase(db)
    +
    +def main():
    +    TurnOffAllAnnotations()
    +
    +    InvertBackgroundColor()
    +
    +    datapath = data_path("FITS_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +
    +    InvertBackgroundColor()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FMS.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FMS.html new file mode 100644 index 000000000..0e9e37efb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FMS.html @@ -0,0 +1,1156 @@ + +Results for databases/FMS.py + +

    Results of VisIt Regression Test - databases/FMS

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    domains - ascii
    FMS_0_1_000 modifications totalling 0 lines
    FMS_0_1_010.000.00
    FMS_0_1_020.000.00
    FMS_0_1_030.000.00
    FMS_0_2_000 modifications totalling 0 lines
    FMS_0_2_010.000.00
    FMS_0_2_020.000.00
    FMS_0_2_030.000.00
    FMS_0_3_000 modifications totalling 0 lines
    FMS_0_3_010.000.00
    FMS_0_3_020.000.00
    FMS_0_3_030.000.00
    domains - yaml
    FMS_1_1_000 modifications totalling 0 lines
    FMS_1_1_010.000.00
    FMS_1_1_020.000.00
    FMS_1_1_030.000.00
    FMS_1_2_000 modifications totalling 0 lines
    FMS_1_2_010.000.00
    FMS_1_2_020.000.00
    FMS_1_2_030.000.00
    FMS_1_3_000 modifications totalling 0 lines
    FMS_1_3_010.000.00
    FMS_1_3_020.000.00
    FMS_1_3_030.000.00
    domains - json
    FMS_2_1_000 modifications totalling 0 lines
    FMS_2_1_010.000.00
    FMS_2_1_020.000.00
    FMS_2_1_030.000.00
    FMS_2_2_000 modifications totalling 0 lines
    FMS_2_2_010.000.00
    FMS_2_2_020.000.00
    FMS_2_2_030.000.00
    FMS_2_3_000 modifications totalling 0 lines
    FMS_2_3_010.000.00
    FMS_2_3_020.000.00
    FMS_2_3_030.000.00
    domains - hdf5
    FMS_3_1_000 modifications totalling 0 lines
    FMS_3_1_010.000.00
    FMS_3_1_020.000.00
    FMS_3_1_030.000.00
    FMS_3_2_000 modifications totalling 0 lines
    FMS_3_2_010.000.00
    FMS_3_2_020.000.00
    FMS_3_2_030.000.00
    FMS_3_3_000 modifications totalling 0 lines
    FMS_3_3_010.000.00
    FMS_3_3_020.000.00
    FMS_3_3_030.000.00
    quads - ascii
    FMS_4_1_000 modifications totalling 0 lines
    FMS_4_1_010.000.00
    FMS_4_1_020.000.00
    FMS_4_1_030.000.00
    FMS_4_1_040.000.00
    FMS_4_1_050.000.00
    FMS_4_1_060.000.00
    FMS_4_2_000 modifications totalling 0 lines
    FMS_4_2_010.000.00
    FMS_4_2_020.000.00
    FMS_4_2_030.000.00
    FMS_4_2_040.000.00
    FMS_4_2_050.000.00
    FMS_4_2_060.000.00
    FMS_4_3_000 modifications totalling 0 lines
    FMS_4_3_010.000.00
    FMS_4_3_020.000.00
    FMS_4_3_030.000.00
    FMS_4_3_040.000.00
    FMS_4_3_050.000.00
    FMS_4_3_060.000.00
    quads - yaml
    FMS_5_1_000 modifications totalling 0 lines
    FMS_5_1_010.000.00
    FMS_5_1_020.000.00
    FMS_5_1_030.000.00
    FMS_5_1_040.000.00
    FMS_5_1_050.000.00
    FMS_5_1_060.000.00
    FMS_5_2_000 modifications totalling 0 lines
    FMS_5_2_010.000.00
    FMS_5_2_020.000.00
    FMS_5_2_030.000.00
    FMS_5_2_040.000.00
    FMS_5_2_050.000.00
    FMS_5_2_060.000.00
    FMS_5_3_000 modifications totalling 0 lines
    FMS_5_3_010.000.00
    FMS_5_3_020.000.00
    FMS_5_3_030.000.00
    FMS_5_3_040.000.00
    FMS_5_3_050.000.00
    FMS_5_3_060.000.00
    hex - ascii
    FMS_6_1_000 modifications totalling 0 lines
    FMS_6_1_010.000.00
    FMS_6_1_020.000.00
    FMS_6_1_030.000.00
    FMS_6_1_040.000.00
    FMS_6_1_050.000.00
    FMS_6_2_000 modifications totalling 0 lines
    FMS_6_2_010.000.00
    FMS_6_2_020.000.00
    FMS_6_2_030.000.00
    FMS_6_2_040.000.00
    FMS_6_2_050.000.00
    FMS_6_3_000 modifications totalling 0 lines
    FMS_6_3_010.000.00
    FMS_6_3_020.000.00
    FMS_6_3_030.000.00
    FMS_6_3_040.000.00
    FMS_6_3_050.000.00
    FMS_6_4_000 modifications totalling 0 lines
    FMS_6_4_010.000.00
    FMS_6_4_020.000.00
    FMS_6_4_030.000.00
    FMS_6_4_040.000.00
    FMS_6_4_050.000.00
    FMS_6_5_000 modifications totalling 0 lines
    FMS_6_5_010.000.00
    FMS_6_5_020.000.00
    FMS_6_5_030.000.00
    FMS_6_5_040.000.00
    FMS_6_5_050.000.00
    hex - hdf5
    FMS_7_1_000 modifications totalling 0 lines
    FMS_7_1_010.000.00
    FMS_7_1_020.000.00
    FMS_7_1_030.000.00
    FMS_7_1_040.000.00
    FMS_7_1_050.000.00
    FMS_7_2_000 modifications totalling 0 lines
    FMS_7_2_010.000.00
    FMS_7_2_020.000.00
    FMS_7_2_030.000.00
    FMS_7_2_040.000.00
    FMS_7_2_050.000.00
    FMS_7_3_000 modifications totalling 0 lines
    FMS_7_3_010.000.00
    FMS_7_3_020.000.00
    FMS_7_3_030.000.00
    FMS_7_3_040.000.00
    FMS_7_3_050.000.00
    FMS_7_4_000 modifications totalling 0 lines
    FMS_7_4_010.000.00
    FMS_7_4_020.000.00
    FMS_7_4_030.000.00
    FMS_7_4_040.000.00
    FMS_7_4_050.000.00
    FMS_7_5_000 modifications totalling 0 lines
    FMS_7_5_010.000.00
    FMS_7_5_020.000.00
    FMS_7_5_030.000.00
    FMS_7_5_040.000.00
    FMS_7_5_050.000.00
    hex - time varying
    FMS_8__000 modifications totalling 0 lines
    FMS_8__010.000.00
    FMS_8__020.000.00
    Root file
    FMS_9__000 modifications totalling 0 lines
    FMS_9__010.000.00
    FMS_9__020.000.00
    Converted MFEM data: escher-p3-0ref
    FMS_10_000 modifications totalling 0 lines
    FMS_10_010.000.00
    FMS_10_020.000.00
    FMS_10_030.000.00
    Converted MFEM data: escher-p3
    FMS_11_000 modifications totalling 0 lines
    FMS_11_010.000.00
    FMS_11_020.000.00
    Converted MFEM data: Example15
    FMS_12_000 modifications totalling 0 lines
    FMS_12_010.000.00
    FMS_12_020.000.00
    FMS_12_030.000.00
    Converted MFEM data: Example9
    FMS_13_000 modifications totalling 0 lines
    FMS_13_010.000.00
    Converted MFEM data: fichera-q2-0ref
    FMS_14_000 modifications totalling 0 lines
    FMS_14_010.000.00
    FMS_14_020.000.00
    FMS_14_030.000.00
    Converted MFEM data: fichera-q2
    FMS_15_000 modifications totalling 0 lines
    FMS_15_010.000.00
    FMS_15_020.000.00
    Converted MFEM data: star-q3-0ref
    FMS_16_000 modifications totalling 0 lines
    FMS_16_010.000.00
    FMS_16_020.000.00
    FMS_16_030.000.00
    Converted MFEM data: star-q3
    FMS_17_000 modifications totalling 0 lines
    FMS_17_010.000.00
    FMS_17_020.000.00
    Converted MFEM data: toroid-hex-0ref
    FMS_18_000 modifications totalling 0 lines
    FMS_18_010.000.00
    FMS_18_020.000.00
    FMS_18_030.000.00
    Converted MFEM data: toroid-hex
    FMS_19_000 modifications totalling 0 lines
    FMS_19_010.000.00
    FMS_19_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FMS_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FMS_py.html new file mode 100644 index 000000000..0df892432 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_FMS_py.html @@ -0,0 +1,590 @@ +databases/FMS.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  FMS.py
    +#
    +#  Tests:      mesh      - high order meshes
    +#              plots     - Mesh, Pseudocolor
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Aug  4 11:25:39 PDT 2020
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def FilterMetaData(s):
    +    lines = s.split("\n")
    +    txt = ""
    +    ignores=("exprList.","#expressions",".enum","simInfo.","blockNameScheme",".missingData","DataExtents =",".rectilinearGrid",".unitCell")
    +    for line in lines:
    +        keep = True
    +        for ig in ignores:
    +             if ig in line:
    +                 keep = False
    +                 break
    +        if keep:
    +            txt = txt + (line + "\n")
    +    return txt
    +
    +def test_mesh_plus_dofs(prefix, db1, order):
    +    OpenDatabase(db1)
    +
    +    # Get the metadata
    +    md = GetMetaData(db1)
    +    TestText(prefix+"_00", FilterMetaData(str(md)))
    +
    +    # Show the mesh (curved)
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.lineWidth = 2
    +    SetPlotOptions(m)
    +    if order != "one":
    +        AddOperator("MultiresControl")
    +        mra = MultiresControlAttributes()
    +        mra.resolution = 10
    +        mra.maxResolution = 100
    +        SetOperatorOptions(mra)
    +    DrawPlots()
    +    delta = 0.03
    +    v0 = GetView2D()
    +    v0.windowCoords = (0.-delta, 1.+delta, 0.-delta, 1.+delta)
    +    v0.viewportCoords = (0.04, 0.98, 0.03, 0.98)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    v0.windowValid = 1
    +    SetView2D(v0)
    +    Test(prefix + "_01")
    +
    +    # Overlay the dofs
    +    DefineScalarExpression("X", "coords(dofs)[0]")
    +    AddPlot("Pseudocolor", "X")
    +    pc = PseudocolorAttributes()
    +    pc.pointSizePixels = 12
    +    pc.colorTableName = "hot_desaturated"
    +    SetPlotOptions(pc)
    +    AddOperator("Project")
    +    AddOperator("Transform")
    +    tform = TransformAttributes(1)
    +    tform.doTranslate = 1
    +    tform.translateZ = 0.01
    +    SetOperatorOptions(tform)
    +    DrawPlots()
    +    Test(prefix + "_02")
    +    DeleteActivePlots()
    +
    +    AddPlot("Pseudocolor", "zid")
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    Test(prefix + "_03")
    +
    +def domain_test(datapath, prefix, protocol, order):
    +    db1 = pjoin(datapath,"domains_"+protocol+"_order_"+order+".fms")
    +    test_mesh_plus_dofs(prefix, db1, order)
    +    # Cleanup
    +    DeleteAllPlots()
    +    CloseDatabase(db1)
    +    CloseComputeEngine()
    +
    +def quads_test(datapath, prefix, protocol, order):
    +    db1 = pjoin(datapath,"quads_"+protocol+"_order_"+order+".fms")
    +    test_mesh_plus_dofs(prefix, db1, order)
    +
    +    ChangeActivePlotsVar("r1")
    +    DrawPlots()
    +    Test(prefix + "_04")
    +
    +    ChangeActivePlotsVar("r2")
    +    DrawPlots()
    +    Test(prefix + "_05")
    +
    +    ChangeActivePlotsVar("r3")
    +    DrawPlots()
    +    Test(prefix + "_06")
    +
    +    # Cleanup
    +    DeleteAllPlots()
    +    CloseDatabase(db1)
    +    CloseComputeEngine()
    +
    +def hex_test(datapath, prefix, protocol, order):
    +    db1 = pjoin(datapath,"hex_"+protocol+"_order_"+order+".fms")
    +    OpenDatabase(db1)
    +
    +    # Get the metadata
    +    md = GetMetaData(db1)
    +    TestText(prefix+"_00", FilterMetaData(str(md)))
    +
    +    # Show the mesh (curved)
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.lineWidth = 2
    +    SetPlotOptions(m)
    +    if order != "one":
    +        AddOperator("MultiresControl")
    +        mra = MultiresControlAttributes()
    +        mra.resolution = 7
    +        mra.maxResolution = 100
    +        SetOperatorOptions(mra)
    +    DrawPlots()
    +    v0 = GetView3D()
    +    v0.viewNormal = (-0.736972, 0.363225, -0.570035)
    +    v0.focus = (0.499999, 0.500005, 0.499787)
    +    v0.viewUp = (0.289138, 0.931697, 0.219863)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 0.900499
    +    v0.nearPlane = -1.801
    +    v0.farPlane = 1.801
    +    v0.imagePan = (-0.00987149, 0.0367767)
    +    v0.imageZoom = 1.15249
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.499999, 0.500005, 0.499787)
    +    v0.axis3DScaleFlag = 0
    +    v0.axis3DScales = (1, 1, 1)
    +    v0.shear = (0, 0, 1)
    +    v0.windowValid = 1
    +    SetView3D(v0)
    +    Test(prefix + "_01")
    +
    +    AddPlot("Pseudocolor", "zid")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "hot_desaturated"
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    Test(prefix + "_02")
    +
    +    ChangeActivePlotsVar("r1")
    +    Test(prefix + "_03")
    +
    +    ChangeActivePlotsVar("r2")
    +    Test(prefix + "_04")
    +
    +    # Check that order 3 interior dofs look ok.
    +    AddPlot("Contour", "r3")
    +    c = ContourAttributes(1)
    +    c.contourValue = (0.6, 0.8, 0.9, 1, 1.2)
    +    c.contourMethod = c.Value  # Level, Value, Percent
    +    SetPlotOptions(c)
    +    SetActivePlots((0,1)) # Delete mesh,pc plots
    +    DeleteActivePlots()
    +    DrawPlots()
    +    Test(prefix + "_05")
    +
    +    # Cleanup
    +    DeleteAllPlots()
    +    CloseDatabase(db1)
    +    CloseComputeEngine()
    +
    +def test0(datapath):
    +    protocol = "ascii"
    +    TestSection("domains - " + protocol)
    +    domain_test(datapath, "FMS_0_1", protocol, "one")
    +    domain_test(datapath, "FMS_0_2", protocol, "two")
    +    domain_test(datapath, "FMS_0_3", protocol, "three")
    +
    +def test1(datapath):
    +    protocol = "yaml"
    +    TestSection("domains - " + protocol)
    +    domain_test(datapath, "FMS_1_1", protocol, "one")
    +    domain_test(datapath, "FMS_1_2", protocol, "two")
    +    domain_test(datapath, "FMS_1_3", protocol, "three")
    +
    +def test2(datapath):
    +    protocol = "json"
    +    TestSection("domains - " + protocol)
    +    domain_test(datapath, "FMS_2_1", protocol, "one")
    +    domain_test(datapath, "FMS_2_2", protocol, "two")
    +    domain_test(datapath, "FMS_2_3", protocol, "three")
    +
    +def test3(datapath):
    +    protocol = "hdf5"
    +    TestSection("domains - " + protocol)
    +    domain_test(datapath, "FMS_3_1", protocol, "one")
    +    domain_test(datapath, "FMS_3_2", protocol, "two")
    +    domain_test(datapath, "FMS_3_3", protocol, "three")
    +
    +def test4(datapath):
    +    protocol = "ascii"
    +    TestSection("quads - " + protocol)
    +    quads_test(datapath, "FMS_4_1", protocol, "one")
    +    quads_test(datapath, "FMS_4_2", protocol, "two")
    +    quads_test(datapath, "FMS_4_3", protocol, "three")
    +
    +def test5(datapath):
    +    protocol = "yaml"
    +    TestSection("quads - " + protocol)
    +    quads_test(datapath, "FMS_5_1", protocol, "one")
    +    quads_test(datapath, "FMS_5_2", protocol, "two")
    +    quads_test(datapath, "FMS_5_3", protocol, "three")
    +
    +def test6(datapath):
    +    protocol = "ascii"
    +    TestSection("hex - " + protocol)
    +    hex_test(datapath, "FMS_6_1", protocol, "one")
    +    hex_test(datapath, "FMS_6_2", protocol, "two")
    +    hex_test(datapath, "FMS_6_3", protocol, "three")
    +    hex_test(datapath, "FMS_6_4", protocol, "four")
    +    hex_test(datapath, "FMS_6_5", protocol, "five")
    +
    +def test7(datapath):
    +    protocol = "hdf5"
    +    TestSection("hex - " + protocol)
    +    hex_test(datapath, "FMS_7_1", protocol, "one")
    +    hex_test(datapath, "FMS_7_2", protocol, "two")
    +    hex_test(datapath, "FMS_7_3", protocol, "three")
    +    hex_test(datapath, "FMS_7_4", protocol, "four")
    +    hex_test(datapath, "FMS_7_5", protocol, "five")
    +
    +def test8(datapath):
    +    TestSection("hex - time varying")
    +    prefix = "FMS_8_"
    +    db1 = pjoin(datapath,"hex*.fms database")
    +    OpenDatabase(db1)
    +
    +    # Get the metadata
    +    md = GetMetaData(db1)
    +    TestText(prefix+"_00", FilterMetaData(str(md)))
    +
    +    # Show the mesh (curved)
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.lineWidth = 2
    +    SetPlotOptions(m)
    +    AddOperator("MultiresControl")
    +    mra = MultiresControlAttributes()
    +    mra.resolution = 7
    +    mra.maxResolution = 100
    +    SetOperatorOptions(mra)
    +    DrawPlots()
    +    v0 = GetView3D()
    +    v0.viewNormal = (-0.722008, 0.525589, -0.449957)
    +    v0.focus = (0.500085, 0.501459, 0.49554)
    +    v0.viewUp = (0.465249, 0.850161, 0.246515)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 0.989501
    +    v0.nearPlane = -1.979
    +    v0.farPlane = 1.979
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.12555
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.500085, 0.501459, 0.49554)
    +    v0.axis3DScaleFlag = 0
    +    v0.axis3DScales = (1, 1, 1)
    +    v0.shear = (0, 0, 1)
    +    v0.windowValid = 1
    +    SetView3D(v0)
    +
    +    AddPlot("Pseudocolor", "r3")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "hot_desaturated"
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    Test(prefix + "_01")
    +
    +    SetTimeSliderState(9)
    +    Test(prefix + "_02")
    +
    +    # Cleanup
    +    DeleteAllPlots()
    +    CloseDatabase(db1)
    +    CloseComputeEngine()
    +
    +def test9(datapath):
    +    TestSection("Root file")
    +    prefix = "FMS_9_"
    +    db1 = pjoin(datapath,"multidom.fms_root")
    +    OpenDatabase(db1)
    +
    +    # Get the metadata
    +    md = GetMetaData(db1)
    +    TestText(prefix+"_00", FilterMetaData(str(md)))
    +
    +    # Show the mesh (curved)
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.lineWidth = 2
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    AddPlot("Pseudocolor", "coords_magnitude")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "hot_desaturated"
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    ResetView()
    +    Test(prefix + "_01")
    +
    +    DeleteActivePlots()
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test(prefix + "_02")
    +
    +    # Cleanup
    +    DeleteAllPlots()
    +    CloseDatabase(db1)
    +    CloseComputeEngine()
    +
    +def plot_converted_data(prefix, db, var, v0, resolution, meshName, dodof):
    +    OpenDatabase(db)
    +
    +    # Get the metadata
    +    md = GetMetaData(db)
    +    TestText(prefix+"_00", FilterMetaData(str(md)))
    +
    +    AddPlot("Pseudocolor", var)
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "hot_desaturated"
    +    SetPlotOptions(pc)
    +    AddOperator("MultiresControl")
    +    mra = MultiresControlAttributes()
    +    mra.resolution = resolution
    +    mra.maxResolution = 100
    +    SetOperatorOptions(mra)
    +    DrawPlots()
    +
    +    # Try setting the view.
    +    try:
    +        SetView3D(v0)
    +    except:
    +        try:
    +            SetView2D(v0)
    +        except:
    +            ResetView()
    +
    +
    +    Test(prefix + "_01")
    +
    +    # Add a mesh plot of the boundaries and refine them.
    +    if meshName != "":
    +        AddPlot("Mesh", meshName, 1, 1)
    +        m = MeshAttributes(1)
    +        m.lineWidth = 1
    +        SetPlotOptions(m)
    +        DrawPlots()
    +        Test(prefix + "_02")
    +
    +    # Add a mesh plot of the dofs.
    +    if dodof:
    +        AddPlot("Mesh", "dofs", 0, 0)
    +        m2 = MeshAttributes(1)
    +        m2.meshColor = (255, 0, 0, 255)
    +        m2.meshColorSource = m2.MeshCustom  # Foreground, MeshCustom, MeshRandom
    +        m2.pointSize = 0.075
    +        m2.opaqueColor = (255, 255, 255, 255)
    +        m2.pointType = m2.SphereGeometry  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
    +        m2.pointSizePixels = 10
    +        m2.opacity = 1
    +        SetPlotOptions(m2)
    +        DrawPlots()
    +        Test(prefix + "_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +    CloseComputeEngine()
    +
    +def escher_view():
    +    v0 = GetView3D()
    +    v0.viewNormal = (0.301943, 0.349059, 0.887124)
    +    v0.focus = (0.015155, 0.00931501, 0.00220501)
    +    v0.viewUp = (-0.108572, 0.937093, -0.331767)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 2.69081
    +    v0.nearPlane = -5.38163
    +    v0.farPlane = 5.38163
    +    v0.imagePan = (-0.011426, -0.0216873)
    +    v0.imageZoom = 1.62652
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.015155, 0.00931501, 0.00220501)
    +    v0.axis3DScaleFlag = 0
    +    v0.axis3DScales = (1, 1, 1)
    +    v0.shear = (0, 0, 1)
    +    v0.windowValid = 1
    +    return v0
    +
    +def test10(datapath):
    +    TestSection("Converted MFEM data: escher-p3-0ref")
    +    db = pjoin(datapath,"converted-data/escher-p3-0ref/Example5_000000.fms")
    +
    +    v0 = escher_view()
    +    plot_converted_data("FMS_10", db, "pressure", v0, 5, "boundary", True)
    +
    +def test11(datapath):
    +    TestSection("Converted MFEM data: escher-p3")
    +    db = pjoin(datapath,"converted-data/escher-p3/Example5_000000.fms")
    +
    +    v0 = escher_view()
    +    plot_converted_data("FMS_11", db, "pressure", v0, 4, "boundary", False)
    +
    +def test12(datapath):
    +    TestSection("Converted MFEM data: Example15")
    +    db = pjoin(datapath,"converted-data/Example15/Example15_000000.fms")
    +
    +    v0 = GetView2D()
    +    v0.windowCoords = (-1.74594, 1.76718, -1.7, 1.55366)
    +    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    v0.windowValid = 1
    +
    +    plot_converted_data("FMS_12", db, "solution", v0, 8, "boundary", True)
    +
    +def test13(datapath):
    +    TestSection("Converted MFEM data: Example9")
    +    db = pjoin(datapath,"converted-data/Example9/Example9_000000.fms")
    +
    +    v0 = GetView2D()
    +    v0.windowCoords = (-1, 1, -0.966025, 0.866025)
    +    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    v0.windowValid = 1
    +
    +    plot_converted_data("FMS_13", db, "solution", v0, 8, "", False)
    +
    +def fichera_view():
    +    v0 = GetView3D()
    +    v0.viewNormal = (0.76587, 0.438546, -0.470235)
    +    v0.focus = (0.00682861, 0.00298607, -0.00561833)
    +    v0.viewUp = (-0.368491, 0.898664, 0.237945)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 1.82615
    +    v0.nearPlane = -3.6523
    +    v0.farPlane = 3.6523
    +    v0.imagePan = (0.00522255, 0.0292194)
    +    v0.imageZoom = 1.09494
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.00682861, 0.00298607, -0.00561833)
    +    v0.axis3DScaleFlag = 0
    +    v0.axis3DScales = (1, 1, 1)
    +    v0.shear = (0, 0, 1)
    +    v0.windowValid = 1
    +    return v0
    +
    +def test14(datapath):
    +    TestSection("Converted MFEM data: fichera-q2-0ref")
    +    db = pjoin(datapath,"converted-data/fichera-q2-0ref/Example5_000000.fms")
    +
    +    v0 = fichera_view()
    +    plot_converted_data("FMS_14", db, "pressure", v0, 8, "boundary", True)
    +
    +def test15(datapath):
    +    TestSection("Converted MFEM data: fichera-q2")
    +    db = pjoin(datapath,"converted-data/fichera-q2/Example5_000000.fms")
    +
    +    v0 = fichera_view()
    +    plot_converted_data("FMS_15", db, "pressure", v0, 4, "boundary", False)
    +
    +def test16(datapath):
    +    TestSection("Converted MFEM data: star-q3-0ref")
    +    db = pjoin(datapath,"converted-data/star-q3-0ref/Example5_000000.fms")
    +
    +    v0 = GetView2D()
    +    v0.windowCoords = (-1.8181, 1.8181, -1.7, 1.58418)
    +    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    v0.windowValid = 1
    +
    +    plot_converted_data("FMS_16", db, "pressure", v0, 8, "mesh", True)
    +
    +def test17(datapath):
    +    TestSection("Converted MFEM data: star-q3")
    +    db = pjoin(datapath,"converted-data/star-q3/Example5_000000.fms")
    +
    +    v0 = GetView2D()
    +    v0.windowCoords = (-1.8181, 1.8181, -1.7, 1.58418)
    +    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    v0.windowValid = 1
    +
    +    plot_converted_data("FMS_17", db, "pressure", v0, 4, "boundary", False)
    +
    +def toroid_view():
    +    v0 = GetView3D()
    +    v0.viewNormal = (0, 0, 1)
    +    v0.focus = (-0.0503261, 0, 0)
    +    v0.viewUp = (0, 1, 0)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 1.96586
    +    v0.nearPlane = -3.93172
    +    v0.farPlane = 3.93172
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.29234
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (-0.0503261, 0, 0)
    +    v0.axis3DScaleFlag = 0
    +    v0.axis3DScales = (1, 1, 1)
    +    v0.shear = (0, 0, 1)
    +    v0.windowValid = 1
    +    return v0
    +
    +def test18(datapath):
    +    TestSection("Converted MFEM data: toroid-hex-0ref")
    +    db = pjoin(datapath,"converted-data/toroid-hex-0ref/Example5_000000.fms")
    +
    +    v0 = toroid_view()
    +    plot_converted_data("FMS_18", db, "pressure", v0, 8, "mesh", True)
    +
    +def test19(datapath):
    +    TestSection("Converted MFEM data: toroid-hex")
    +    db = pjoin(datapath,"converted-data/toroid-hex/Example5_000000.fms")
    +
    +    v0 = toroid_view()
    +    plot_converted_data("FMS_19", db, "pressure", v0, 4, "boundary", False)
    +
    +def main():
    +    RequiredDatabasePlugin("FMS")
    +
    +    datapath = data_path("FMS_test_data")
    +    DefineScalarExpression("zid", "zoneid(mesh)")
    +
    +    # domains
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    # quads
    +    test4(datapath)
    +    test5(datapath)
    +    # hex
    +    test6(datapath)
    +    test7(datapath)
    +    # time varying data
    +    test8(datapath)
    +    # root
    +    test9(datapath)
    +    # Datasets that were converted from MFEM to FMS
    +    test10(datapath)
    +    test11(datapath)
    +    test12(datapath)
    +    test13(datapath)
    +    test14(datapath)
    +    test15(datapath)
    +    test16(datapath)
    +    test17(datapath)
    +    test18(datapath)
    +    test19(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Fluent.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Fluent.html new file mode 100644 index 000000000..0857a1132 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Fluent.html @@ -0,0 +1,60 @@ + +Results for databases/Fluent.py + +

    Results of VisIt Regression Test - databases/Fluent

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Fluent_010.000.00
    Fluent_020.000.00
    Fluent_030.000.00
    Fluent_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Fluent_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Fluent_py.html new file mode 100644 index 000000000..31429d620 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Fluent_py.html @@ -0,0 +1,43 @@ +databases/Fluent.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Fluent.py
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 8, 2006
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(data_path("Fluent_test_data/Gas2OxyEntSlurry3d30m_MSmods_Ar_Wen_Moist_CO2_WGS_HCl_COdevol.cas"))
    +
    +AddPlot("Pseudocolor", "TEMPERATURE")
    +DrawPlots()
    +Test("Fluent_01")
    +
    +AddPlot("Mesh", "Mesh")
    +DrawPlots()
    +Test("Fluent_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Vector", "DPMS_MOM")
    +v = VectorAttributes()
    +v.nVectors = 400*5
    +SetPlotOptions(v)
    +DrawPlots()
    +Test("Fluent_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Subset", "blocks")
    +DrawPlots()
    +Test("Fluent_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_GDAL.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_GDAL.html new file mode 100644 index 000000000..cedabf2c1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_GDAL.html @@ -0,0 +1,36 @@ + +Results for databases/GDAL.py + +

    Results of VisIt Regression Test - databases/GDAL

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 124

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_GDAL_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_GDAL_py.html new file mode 100644 index 000000000..6b4e846d7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_GDAL_py.html @@ -0,0 +1,107 @@ +databases/GDAL.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  GDAL.py
    +#
    +#  Tests:      mesh      - 2D structured, 3D unstructured
    +#              plots     - Contour, Pseudocolor
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Sep 8 16:35:17 PST 2005
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("GDAL")
    +
    +def test0_and_1(db, prefix):
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "lower_res/resolution_0067x0086/height")
    +    AddPlot("Contour", "lower_res/resolution_0067x0086/height")
    +    c = ContourAttributes()
    +    c.colorType = c.ColorBySingleColor
    +    c.singleColor = (0,0,0,255)
    +    c.legendFlag = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    ResetView()
    +    v = View2DAttributes()
    +    v.windowCoords = (478545, 489295, 4.38614e+06, 4.40004e+06)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    Test(prefix + "00")
    +
    +    # Increase the resolution a couple times.
    +    SetActivePlots((0,1))
    +    ChangeActivePlotsVar("lower_res/resolution_0268x0347/height")
    +    Test(prefix + "01")
    +    ChangeActivePlotsVar("height")
    +    Test(prefix + "02")
    +
    +    # Switch to the elevated mesh
    +    ChangeActivePlotsVar("elevated/lower_res/resolution_0067x0086/height")
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (0.514425, -0.612921, 0.599745)
    +    v0.focus = (483920, 4.39318e+06, 2025.5)
    +    v0.viewUp = (-0.383293, 0.461288, 0.800187)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 8729.59
    +    v0.nearPlane = -17459.2
    +    v0.farPlane = 17459.2
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.16907
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (483920, 4.39318e+06, 2025.5)
    +    SetView3D(v0)
    +    Test(prefix + "03")
    +
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (0.514425, -0.612921, 0.599745)
    +    v1.focus = (483920, 4.39312e+06, 2031)
    +    v1.viewUp = (-0.383293, 0.461288, 0.800187)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 8777.87
    +    v1.nearPlane = -17555.7
    +    v1.farPlane = 17555.7
    +    v1.imagePan = (0.106418, 0.0224564)
    +    v1.imageZoom = 2.73653
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (483920, 4.39312e+06, 2031)
    +    SetView3D(v1)
    +    Test(prefix + "04")
    +
    +    SetActivePlots(1)
    +    DeleteActivePlots()
    +    ChangeActivePlotsVar("elevated/lower_res/resolution_0268x0347/height")
    +    Test(prefix + "05")
    +    ChangeActivePlotsVar("elevated/mesh/height")
    +    Test(prefix + "06")
    +    DeleteAllPlots()
    +
    +def test0(datapath):
    +    TestSection("ArcInfo files")
    +    test0_and_1(pjoin(datapath,"ADF/w001001.adf"), "GDAL_0_")
    +
    +def test1(datapath):
    +    TestSection("DEM files")
    +    test0_and_1(pjoin(datapath,"DEM/Morrison.dem"), "GDAL_1_")
    +
    +def main():
    +    # Draw antialiased lines
    +    r = GetRenderingAttributes()
    +    r.antialiasing = 1
    +    SetRenderingAttributes(r)
    +
    +    datapath = data_path("GDAL_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_NASTRAN.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_NASTRAN.html new file mode 100644 index 000000000..e1e341724 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_NASTRAN.html @@ -0,0 +1,212 @@ + +Results for databases/NASTRAN.py + +

    Results of VisIt Regression Test - databases/NASTRAN

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pipe.nas
    nastran1_00.000.00
    nastran1_10.000.00
    nastran1_2100.006.31
    waterjacket.nas
    nastran2_00.000.00
    nastran2_10.000.00
    nastran2_2100.0027.99
    intake.nas
    nastran3_00.000.00
    nastran3_10.000.00
    nastran3_2100.0010.80
    porsche.nas
    nastran4_00.000.00
    nastran4_10.000.00
    nastran4_20.000.00
    Rohr_01.nas
    nastran5_00.000.00
    nastran5_1100.007.38
    BMSP4E.nas
    nastran6_00.000.00
    HAM6D.nas
    nastran7_00.000.00
    nastran7_10.000.00
    simpleCQUAD8.nas
    nastran8_00.000.00
    simpleQuadSphere.nas
    nastran9_00.000.00
    simpleQuadSphereBlock.nas
    nastran10_00.000.00
    simpleQuadTet.nas
    nastran11_00.000.00
    simpleQuadWedge.nas
    nastran12_00.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_NASTRAN_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_NASTRAN_py.html new file mode 100644 index 000000000..016fd846e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_NASTRAN_py.html @@ -0,0 +1,511 @@ +databases/NASTRAN.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  NASTRAN.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Mesh
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jul 7 17:46:51 PST 2005
    +#
    +#  Modifications:
    +#    Edward Rusu, Tue Aug 21 10:06:24 PST 2018
    +#    Added tests for quadratic elements.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' and 'backgroundFlag' with
    +#    meshColorSource and opaqueColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def AddMeshPlot():
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.legendFlag = 0
    +    m.opaqueColor = (153, 204, 255, 255)
    +    m.opaqueColorSource = m.OpaqueCustom
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (0,0,0,255)
    +    SetPlotOptions(m)
    +
    +def AddPseudocolorPlot():
    +    AddPlot("Pseudocolor", "one")
    +    p = PseudocolorAttributes()
    +    p.colorTableName = "rainbow"
    +    p.SetOpacityType(p.Constant)
    +    p.opacity = 0.2
    +    SetPlotOptions(p)
    +    DrawPlots()
    +
    +def test1(datapath):
    +    db = "pipe.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v.focus = (0.149902, 0.212562, 0.124929)
    +    v.viewUp = (0.316186, 0.925114, -0.210215)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.585963
    +    v.nearPlane = -1.17193
    +    v.farPlane = 1.17193
    +    v.imagePan = (0.0173275, 0.033058)
    +    v.imageZoom = 1.45734
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v)
    +    Test("nastran1_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v2.focus = (0.149902, 0.212562, 0.124929)
    +    v2.viewUp = (0.316186, 0.925114, -0.210215)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.585963
    +    v2.nearPlane = -1.17193
    +    v2.farPlane = 1.17193
    +    v2.imagePan = (-0.108127, 0.0971661)
    +    v2.imageZoom = 6.92887
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v2)
    +    Test("nastran1_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("nastran1_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test2(datapath):
    +    db = "waterjacket.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v.focus = (0.03, -0.03, -0.1125)
    +    v.viewUp = (0.225064, 0.264053, 0.937882)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.289925
    +    v.nearPlane = -0.579849
    +    v.farPlane = 0.579849
    +    v.imagePan = (0.0984407, 0.0467479)
    +    v.imageZoom = 1.40003
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v)
    +    Test("nastran2_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v2.focus = (0.03, -0.03, -0.1125)
    +    v2.viewUp = (0.225064, 0.264053, 0.937882)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.289925
    +    v2.nearPlane = -0.579849
    +    v2.farPlane = 0.579849
    +    v2.imagePan = (0.100347, 0.0410472)
    +    v2.imageZoom = 7.7658
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v2)
    +    Test("nastran2_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("nastran2_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test3(datapath):
    +    db = "intake.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v.focus = (0, 0.011, -0.0935)
    +    v.viewUp = (0.208418, 0.950364, 0.231021)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.198752
    +    v.nearPlane = -0.397503
    +    v.farPlane = 0.397503
    +    v.imagePan = (0.0151275, 0.00167627)
    +    v.imageZoom = 1.43299
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v)
    +    Test("nastran3_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v2.focus = (0, 0.011, -0.0935)
    +    v2.viewUp = (0.208418, 0.950364, 0.231021)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.198752
    +    v2.nearPlane = -0.397503
    +    v2.farPlane = 0.397503
    +    v2.imagePan = (-0.101283, 0.0396808)
    +    v2.imageZoom = 6.28038
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v2)
    +    Test("nastran3_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("nastran3_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test4(datapath):
    +    db = "porsche.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0.518428, 0.424019, 0.74259)
    +    v.focus = (0, 7.9285, 0)
    +    v.viewUp = (-0.299854, 0.903405, -0.306506)
    +    v.viewAngle = 30
    +    v.parallelScale = 24.7409
    +    v.nearPlane = -5
    +    v.farPlane = 49.4817
    +    v.imagePan = (0.00934164, 0.144131)
    +    v.imageZoom = 4.02409
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 7.9285, 0)
    +    SetView3D(v)
    +    Test("nastran4_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (0.518428, 0.424019, 0.74259)
    +    v2.focus = (0, 7.9285, 0)
    +    v2.viewUp = (-0.299854, 0.903405, -0.306506)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 24.7409
    +    v2.nearPlane = -5
    +    v2.farPlane = 49.4817
    +    v2.imagePan = (0.0898178, 0.146581)
    +    v2.imageZoom = 19.659
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 7.9285, 0)
    +    SetView3D(v2)
    +    Test("nastran4_1")
    +
    +    v3 = View3DAttributes()
    +    v3.viewNormal = (0.945904, 0.10945, -0.305429)
    +    v3.focus = (0, 7.9285, 0)
    +    v3.viewUp = (-0.0962433, 0.993666, 0.0580174)
    +    v3.viewAngle = 30
    +    v3.parallelScale = 24.7409
    +    v3.nearPlane = -8
    +    v3.farPlane = 49.4817
    +    v3.imagePan = (-0.000386251, 0.195232)
    +    v3.imageZoom = 17.0743
    +    v3.perspective = 1
    +    v3.eyeAngle = 2
    +    v3.centerOfRotationSet = 0
    +    v3.centerOfRotation = (0, 7.9285, 0)
    +    SetView3D(v3)
    +    Test("nastran4_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test5(datapath):
    +    db = "Rohr_01.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0.528785, -0.54024, -0.654619)
    +    v.focus = (4308, -300.408, 1264.41)
    +    v.viewUp = (0.848128, 0.365992, 0.383052)
    +    v.viewAngle = 30
    +    v.parallelScale = 80.5714
    +    v.nearPlane = -161.143
    +    v.farPlane = 161.143
    +    v.imagePan = (0.00712918, 0.0383046)
    +    v.imageZoom = 1.48788
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (4308, -300.408, 1264.41)
    +    SetView3D(v)
    +    Test("nastran5_0")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    Test("nastran5_1")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test6(datapath):
    +    db = "BMSP4E.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0.489205, 0.349064, 0.79927)
    +    v.focus = (0, 45.5, 0)
    +    v.viewUp = (-0.206708, 0.93671, -0.282569)
    +    v.viewAngle = 30
    +    v.parallelScale = 87.3806
    +    v.nearPlane = -174.761
    +    v.farPlane = 174.761
    +    v.imagePan = (-0.0102947, 0.0427356)
    +    v.imageZoom = 1.29632
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 45.5, 0)
    +    SetView3D(v)
    +    Test("nastran6_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test7(datapath):
    +    db = "HAM6D.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0.470653, -0.53132, 0.704403)
    +    v.focus = (23.6, -6.3125, 0)
    +    v.viewUp = (0.882043, 0.303259, -0.360602)
    +    v.viewAngle = 30
    +    v.parallelScale = 74.2944
    +    v.nearPlane = -148.589
    +    v.farPlane = 148.589
    +    v.imagePan = (0.0131053, 0.00691564)
    +    v.imageZoom = 1.18535
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (23.6, -6.3125, 0)
    +    SetView3D(v)
    +    Test("nastran7_0")
    +
    +    v.viewNormal = (0.347772, 0.646944, -0.678615)
    +    v.focus = (23.6, -6.3125, 0)
    +    v.viewUp = (0.937573, -0.242724, 0.249084)
    +    v.viewAngle = 30
    +    v.parallelScale = 74.2944
    +    v.nearPlane = -148.589
    +    v.farPlane = 148.589
    +    v.imagePan = (-0.0229218, 0.0211742)
    +    v.imageZoom = 1.18535
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (23.6, -6.3125, 0)
    +    SetView3D(v)
    +    Test("nastran7_1")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test8(datapath):
    +    db = "simpleCQUAD8.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +    Test("nastran8_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test9(datapath):
    +    db = "simpleQuadSphere.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0, 0, 1)
    +    View3DAtts.focus = (2.88777, -1.45671, -0.629586)
    +    View3DAtts.viewUp = (0, 1, 0)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 6.98115
    +    View3DAtts.nearPlane = -13.9623
    +    View3DAtts.farPlane = 13.9623
    +    View3DAtts.imagePan = (0.204513, -0.111237)
    +    View3DAtts.imageZoom = 5.50207
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (2.88777, -1.45671, -0.629586)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +    Test("nastran9_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test10(datapath):
    +    db = "simpleQuadSphereBlock.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0, 0, 1)
    +    View3DAtts.focus = (0, -1.38778, -3.66334)
    +    View3DAtts.viewUp = (0, 1, 0)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 12.6655
    +    View3DAtts.nearPlane = -25.3309
    +    View3DAtts.farPlane = 25.3309
    +    View3DAtts.imagePan = (-0.00429799, -0.061086)
    +    View3DAtts.imageZoom = 9.89552
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, -1.38778, -3.66334)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +    Test("nastran10_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test11(datapath):
    +    db = "simpleQuadTet.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.585895, 0.392177, 0.709172)
    +    View3DAtts.focus = (0.5, 0.5, 0.5)
    +    View3DAtts.viewUp = (-0.133518, 0.909858, -0.39285)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 0.866025
    +    View3DAtts.nearPlane = -1.73205
    +    View3DAtts.farPlane = 1.73205
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0.5, 0.5, 0.5)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +    Test("nastran11_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test12(datapath):
    +    db = "simpleQuadWedge.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (-0.468638, 0.237166, 0.850959)
    +    View3DAtts.focus = (0.5, 0.5, 0.5)
    +    View3DAtts.viewUp = (0.128356, 0.971346, -0.20003)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 0.866025
    +    View3DAtts.nearPlane = -1.73205
    +    View3DAtts.farPlane = 1.73205
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0.5, 0.5, 0.5)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +    Test("nastran12_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def main():
    +    # Set the window background color
    +    a = GetAnnotationAttributes()
    +    a.backgroundMode = a.Solid
    +    a.backgroundColor = (180, 180, 180, 255)
    +    a.foregroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(a)
    +
    +    DefineScalarExpression("one", "(zoneid(mesh) + 1) / (zoneid(mesh) + 1)")
    +
    +    datapath = data_path("NASTRAN_test_data")
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    test4(datapath)
    +    test5(datapath)
    +    test6(datapath)
    +    test7(datapath)
    +    test8(datapath)
    +    test9(datapath)
    +    test10(datapath)
    +    test11(datapath)
    +    test12(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_OpenFOAM.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_OpenFOAM.html new file mode 100644 index 000000000..92b586bce --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_OpenFOAM.html @@ -0,0 +1,210 @@ + +Results for databases/OpenFOAM.py + +

    Results of VisIt Regression Test - databases/OpenFOAM

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    OpenFOAM_010.000.00
    OpenFOAM_020.000.00
    OpenFOAM_030.000.00
    OpenFOAM_040.000.00
    OpenFOAM_050.000.00
    OpenFOAM_060.000.00
    OpenFOAM_070.000.00
    OpenFOAM_080.000.00
    OpenFOAM_090.000.00
    OpenFOAM_100.000.00
    OpenFOAM_lagrangian_010.000.00
    OpenFOAM_lagrangian_020.000.00
    OpenFOAM_lagrangian_030.000.00
    OpenFOAM_lagrangian_040.000.00
    OpenFOAM_lagrangian_050.000.00
    OpenFOAM_lagrangian_060.000.00
    OpenFOAM_lagrangian_070.000.00
    OpenFOAM_MultiRegion_010.000.00
    OpenFOAM_MultiRegion_020.000.00
    OpenFOAM_MultiRegion_030.000.00
    OpenFOAM_MultiRegion_040.000.00
    OpenFOAM_MultiRegion_050.000.00
    OpenFOAM_MultiRegion_060.000.00
    OpenFOAM_Decomposed_010.000.00
    OpenFOAM_Decomposed_020.000.00
    OpenFOAM_Decomposed_030.000.00
    OpenFOAM_ReadZones_010.000.00
    OpenFOAM_ReadZones_020.000.00
    OpenFOAM_ReadZones_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_OpenFOAM_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_OpenFOAM_py.html new file mode 100644 index 000000000..90d5536d9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_OpenFOAM_py.html @@ -0,0 +1,250 @@ +databases/OpenFOAM.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  OpenFOAM.py
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 8, 2006
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Kathleen Biagas, Tue Aug 20 14:06:46 PDT 2013
    +#    Reader has been updated, default mesh is now 'internalMesh', and
    +#    variables need mesh name.
    +#
    +#    Kathleen Biagas, Wed Aug 28 12:04:03 PDT 2013
    +#    Added tests for new data, different Open Options.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def OrigTests():
    +    OpenDatabase(data_path("OpenFOAM_test_data/bubbleColumn/system/controlDict"))
    +
    +    AddPlot("Vector", "internalMesh/Ua")
    +    v = VectorAttributes()
    +    v.nVectors = 400*5
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    Test("OpenFOAM_01")
    +
    +    TimeSliderNextState()
    +    Test("OpenFOAM_02")
    +    TimeSliderNextState()
    +    Test("OpenFOAM_03")
    +
    +    AddPlot("Mesh", "internalMesh")
    +    DrawPlots()
    +    Test("OpenFOAM_04")
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "internalMesh/epsilon")
    +    DrawPlots()
    +    Test("OpenFOAM_05")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("OpenFOAM_test_data/mixer2D_ascii/system/controlDict"))
    +
    +    AddPlot("Vector", "internalMesh/U")
    +    v = VectorAttributes()
    +    v.nVectors = 400*6
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    Test("OpenFOAM_06")
    +
    +    TimeSliderNextState()
    +    Test("OpenFOAM_07")
    +    TimeSliderNextState()
    +    Test("OpenFOAM_08")
    +
    +    AddPlot("Mesh", "internalMesh")
    +    DrawPlots()
    +    Test("OpenFOAM_09")
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "internalMesh/p")
    +    DrawPlots()
    +    Test("OpenFOAM_10")
    +
    +    DeleteAllPlots()
    +
    +def TestLagrangian():
    +    OpenDatabase(data_path("OpenFOAM_test_data/simplifiedSiwek/system/controlDict"))
    +    # Point clouds don't exist at timestate 0, so advance by 1.
    +    TimeSliderNextState()
    +
    +    AddPlot("Subset", "internalMesh")
    +    subset = SubsetAttributes()
    +    subset.wireframe = 1
    +    subset.colorType = subset.ColorBySingleColor
    +    SetPlotOptions(subset)
    +    AddPlot("Mesh", "lagrangian/coalCloud1")
    +    coalMesh = MeshAttributes()
    +    coalMesh.meshColorSource = coalMesh.MeshCustom
    +    coalMesh.meshColor = (255, 0, 0, 255)
    +    coalMesh.pointType = coalMesh.Sphere
    +    coalMesh.pointSizePixels = 15
    +    SetPlotOptions(coalMesh)
    +    AddPlot("Mesh", "lagrangian/limestoneCloud1")
    +    limestoneMesh = MeshAttributes()
    +    limestoneMesh.meshColorSource = limestoneMesh.MeshCustom
    +    limestoneMesh.meshColor = (0, 255, 0, 255)
    +    limestoneMesh.pointType = limestoneMesh.Sphere
    +    limestoneMesh.pointSizePixels = 15
    +    SetPlotOptions(limestoneMesh)
    +
    +    coalCloudText = CreateAnnotationObject("Text2D")
    +    coalCloudText.text = "coalCloud1"
    +    coalCloudText.height = 0.04
    +    coalCloudText.position = (0.4, 0.85)
    +    coalCloudText.useForegroundForTextColor = 0
    +    coalCloudText.textColor = (255, 0, 0, 255)
    +
    +    limestoneCloudText = CreateAnnotationObject("Text2D")
    +    limestoneCloudText.text = "limestoneCloud1"
    +    limestoneCloudText.height = 0.04
    +    limestoneCloudText.position = (0.4, 0.75)
    +    limestoneCloudText.useForegroundForTextColor = 0
    +    limestoneCloudText.textColor = (0, 255, 0, 255)
    +
    +    slider = CreateAnnotationObject("TimeSlider")
    +    slider.position = (0.4, 0.6)
    +    slider.width = (0.5)
    +    slider.height = (0.1)
    +
    +    DrawPlots()
    +    Test("OpenFOAM_lagrangian_01")
    +
    +    TimeSliderSetState(4)
    +    Test("OpenFOAM_lagrangian_02")
    +    TimeSliderSetState(7)
    +    Test("OpenFOAM_lagrangian_03")
    +    SetActivePlots((1, 2))
    +    DeleteActivePlots()
    +    TimeSliderSetState(10)
    +    AddPlot("Pseudocolor", "lagrangian/coalCloud1/tTurb")
    +    pc = PseudocolorAttributes()
    +    pc.pointType = pc.Sphere
    +    pc.pointSizePixels = 15
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    coalCloudText.textColor = (0, 0, 0, 255)
    +    coalCloudText.text = "coalcloud1/tTurb"
    +    limestoneCloudText.visible = 0
    +    Test("OpenFOAM_lagrangian_04")
    +    TimeSliderSetState(13)
    +    Test("OpenFOAM_lagrangian_05")
    +    ChangeActivePlotsVar("lagrangian/limestoneCloud1/tTurb")
    +    coalCloudText.visible = 0
    +    limestoneCloudText.visible = 1
    +    limestoneCloudText.textColor = (0, 0, 0, 255)
    +    limestoneCloudText.text = "limestoneCloud1/tTurb"
    +    Test("OpenFOAM_lagrangian_06")
    +    TimeSliderSetState(16)
    +    Test("OpenFOAM_lagrangian_07")
    +
    +    coalCloudText.Delete()
    +    limestoneCloudText.Delete()
    +    slider.Delete()
    +
    +    DeleteAllPlots()
    +
    +def TurnOffSetsByName(silr, cat, names):
    +    sets = silr.SetsInCategory(cat)
    +    for s in sets:
    +        setname = silr.SetName(s)
    +        try:
    +            if setname in names:
    +                silr.TurnOffSet(s)
    +        except:
    +            if setname == names:
    +                silr.TurnOffSet(s)
    +
    +def TestMultiRegion():
    +    OpenDatabase(data_path("OpenFOAM_test_data/snappyMultiRegionHeater/system/controlDict"))
    +    AddPlot("Subset", "Region")
    +    DrawPlots()
    +    Test("OpenFOAM_MultiRegion_01")
    +
    +    silr = SILRestriction()
    +    TurnOffSetsByName(silr, "Region", ("bottomAir, topAir"))
    +    SetPlotSILRestriction(silr)
    +    Test("OpenFOAM_MultiRegion_02")
    +
    +    ChangeActivePlotsVar("boundary(Patches)")
    +    silr = SILRestriction()
    +    silr.TurnOnAll()
    +    v = GetView3D()
    +    v.viewNormal = (-0.566091, -0.118534, 0.815776)
    +    v.viewUp = (0.0223539, 0.987037, 0.15893)
    +    SetView3D(v)
    +
    +    Test("OpenFOAM_MultiRegion_03")
    +    TurnDomainsOff(("maxY", "maxZ"))
    +    Test("OpenFOAM_MultiRegion_04")
    +
    +    silr.TurnOnAll()
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "heater/internalMesh/T")
    +    v = GetView3D()
    +    v.viewNormal = (-1, 0, 0)
    +    SetView3D(v)
    +    DrawPlots()
    +    Test("OpenFOAM_MultiRegion_05")
    +    TimeSliderNextState()
    +    Test("OpenFOAM_MultiRegion_06")
    +    DeleteAllPlots()
    +
    +def TestDecomposed():
    +    opts = GetDefaultFileOpenOptions("OpenFOAM")
    +    opts['Case Type'] = 0 #Decomposed
    +    opts['Convert Cell Data To Point Data'] = 1
    +    SetDefaultFileOpenOptions("OpenFOAM", opts)
    +    OpenDatabase(data_path("OpenFOAM_test_data/damBreakFineDecomposed/system/controlDict"))
    +    AddPlot("Pseudocolor", "internalMesh/U_magnitude")
    +    ResetView()
    +    TimeSliderSetState(2)
    +    DrawPlots()
    +    Test("OpenFOAM_Decomposed_01")
    +    TimeSliderSetState(6)
    +    Test("OpenFOAM_Decomposed_02")
    +    TimeSliderSetState(8)
    +    Test("OpenFOAM_Decomposed_03")
    +    DeleteAllPlots()
    +
    +def TestReadZones():
    +    opts = GetDefaultFileOpenOptions("OpenFOAM")
    +    opts['Case Type'] = 1 #Reconstructed
    +    opts['Convert Cell Data To Point Data'] = 0
    +    opts['Read Zones'] = 1
    +    SetDefaultFileOpenOptions("OpenFOAM", opts)
    +    # need a ReOpen because we changed the Open options, and the file
    +    # wasn't closed from previous test.
    +    ReOpenDatabase(data_path("OpenFOAM_test_data/snappyMultiRegionHeater/system/controlDict"))
    +    AddPlot("Mesh", "faceZones")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.407812, -0.112136, 0.906154)
    +    v.viewUp = (0.00527397, 0.992124, 0.125148)
    +    SetView3D(v)
    +    Test("OpenFOAM_ReadZones_01")
    +    ChangeActivePlotsVar("cellZones")
    +    Test("OpenFOAM_ReadZones_02")
    +    TurnDomainsOff(("topAir", "bottomAir"))
    +    Test("OpenFOAM_ReadZones_03")
    +    DeleteAllPlots()
    +
    +OrigTests()
    +TestLagrangian()
    +TestMultiRegion()
    +TestDecomposed()
    +TestReadZones()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PATRAN.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PATRAN.html new file mode 100644 index 000000000..7d99b161c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PATRAN.html @@ -0,0 +1,126 @@ + +Results for databases/PATRAN.py + +

    Results of VisIt Regression Test - databases/PATRAN

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pipe.neu
    PATRAN1_00.000.00
    PATRAN1_10.000.00
    PATRAN1_2100.006.28
    waterjacket.neu
    PATRAN2_00.000.00
    PATRAN2_10.000.00
    PATRAN2_2100.0027.68
    intake.neu
    PATRAN3_00.000.00
    PATRAN3_10.000.00
    PATRAN3_2100.0010.64
    patout.neu
    PATRAN4_00.000.00
    PATRAN4_10.000.00
    PATRAN4_20.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PATRAN_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PATRAN_py.html new file mode 100644 index 000000000..19df104fb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PATRAN_py.html @@ -0,0 +1,242 @@ +databases/PATRAN.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  PATRAN.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Mesh
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Jul 29 17:30:33 PST 2005
    +#
    +#  Notes:      The data for these tests are supposed to be PATRAN versions of
    +#              some of the data in the NASTRAN tests.
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' and 'backgroundFlag' with
    +#    meshColorSource and opaqueColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def AddMeshPlot():
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.legendFlag = 0
    +    m.opaqueColor = (153, 204, 255, 255)
    +    m.opaqueColorSource = m.OpaqueCustom
    +    m.meshColorSource =  m.MeshCustom
    +    m.meshColor = (0,0,0,255)
    +    TurnMaterialsOff("default")
    +    SetPlotOptions(m)
    +
    +def AddPseudocolorPlot():
    +    AddPlot("Pseudocolor", "one")
    +    p = PseudocolorAttributes()
    +    p.colorTableName = "rainbow"
    +    p.SetOpacityType(p.Constant)
    +    p.opacity = 0.2
    +    SetPlotOptions(p)
    +    TurnMaterialsOff("default")
    +    DrawPlots()
    +
    +def test1(datapath):
    +    db = "pipe.neu"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v.focus = (0.149902, 0.212562, 0.124929)
    +    v.viewUp = (0.316186, 0.925114, -0.210215)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.585963
    +    v.nearPlane = -1.17193
    +    v.farPlane = 1.17193
    +    v.imagePan = (0.0173275, 0.033058)
    +    v.imageZoom = 1.45734
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v)
    +    Test("PATRAN1_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v2.focus = (0.149902, 0.212562, 0.124929)
    +    v2.viewUp = (0.316186, 0.925114, -0.210215)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.585963
    +    v2.nearPlane = -1.17193
    +    v2.farPlane = 1.17193
    +    v2.imagePan = (-0.108127, 0.0971661)
    +    v2.imageZoom = 6.92887
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v2)
    +    Test("PATRAN1_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("PATRAN1_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test2(datapath):
    +    db = "waterjacket.neu"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v.focus = (0.03, -0.03, -0.1125)
    +    v.viewUp = (0.225064, 0.264053, 0.937882)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.289925
    +    v.nearPlane = -0.579849
    +    v.farPlane = 0.579849
    +    v.imagePan = (0.0984407, 0.0467479)
    +    v.imageZoom = 1.40003
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v)
    +    Test("PATRAN2_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v2.focus = (0.03, -0.03, -0.1125)
    +    v2.viewUp = (0.225064, 0.264053, 0.937882)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.289925
    +    v2.nearPlane = -0.579849
    +    v2.farPlane = 0.579849
    +    v2.imagePan = (0.100347, 0.0410472)
    +    v2.imageZoom = 7.7658
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v2)
    +    Test("PATRAN2_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("PATRAN2_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test3(datapath):
    +    db = "intake.neu"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v.focus = (0, 0.011, -0.0935)
    +    v.viewUp = (0.208418, 0.950364, 0.231021)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.198752
    +    v.nearPlane = -0.397503
    +    v.farPlane = 0.397503
    +    v.imagePan = (0.0151275, 0.00167627)
    +    v.imageZoom = 1.43299
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v)
    +    Test("PATRAN3_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v2.focus = (0, 0.011, -0.0935)
    +    v2.viewUp = (0.208418, 0.950364, 0.231021)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.198752
    +    v2.nearPlane = -0.397503
    +    v2.farPlane = 0.397503
    +    v2.imagePan = (-0.101283, 0.0396808)
    +    v2.imageZoom = 6.28038
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v2)
    +    Test("PATRAN3_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("PATRAN3_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test4(datapath):
    +    db = "patout.neu"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddPlot("FilledBoundary", "named_components")
    +    f = FilledBoundaryAttributes()
    +    f.legendFlag = 0
    +    SetPlotOptions(f)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.765801, 0.0434351, -0.641609)
    +    v.focus = (-3175.88, -94.6135, -37.6065)
    +    v.viewUp = (0.625813, -0.179298, -0.759085)
    +    v.viewAngle = 30
    +    v.parallelScale = 3328.81
    +    v.nearPlane = -6657.62
    +    v.farPlane = 6657.62
    +    v.imagePan = (-0.0688128, -0.239564)
    +    v.imageZoom = 92.5361
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (-3175.88, -94.6135, -37.6065)
    +    SetView3D(v)
    +    Test("PATRAN4_0")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "elementMats")
    +    DrawPlots()
    +    Test("PATRAN4_1")
    +
    +    ChangeActivePlotsVar("elementIds")
    +    Test("PATRAN4_2")
    +
    +def main():
    +    # Set the window background color
    +    a = GetAnnotationAttributes()
    +    a.backgroundMode = a.Solid
    +    a.backgroundColor = (180, 180, 180, 255)
    +    a.foregroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(a)
    +
    +    DefineScalarExpression("one", "(zoneid(mesh) + 1) / (zoneid(mesh) + 1)")
    +    datapath = data_path("PATRAN_test_data")
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    test4(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PLOT3D.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PLOT3D.html new file mode 100644 index 000000000..88cbd8690 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PLOT3D.html @@ -0,0 +1,650 @@ + +Results for databases/PLOT3D.py + +

    Results of VisIt Regression Test - databases/PLOT3D

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Open using MetaFile .vp3d
    bluntfin_Density_010.000.00
    bluntfin_InternalEnergy_010.000.00
    bluntfin_Momentum_010.000.00
    bluntfin_subsetDomains_010.000.00
    deltawing_Density_010.000.00
    deltawing_InternalEnergy_010.000.00
    deltawing_Momentum_010.000.00
    deltawing_subsetDomains_010.000.00
    post_Density_010.000.00
    post_InternalEnergy_010.000.00
    post_Momentum_010.000.00
    post_subsetDomains_010.000.00
    sslv_Density_010.000.00
    sslv_InternalEnergy_010.000.00
    sslv_Momentum_010.000.00
    sslv_subsetDomains_010.000.00
    wbt_Density_010.000.00
    wbt_InternalEnergy_010.000.00
    wbt_Momentum_010.000.00
    wbt_subsetDomains_010.000.00
    Open using gridfile and Open Options
    bluntfin_Density_020.000.00
    bluntfin_InternalEnergy_020.000.00
    bluntfin_Pressure_020.000.00
    bluntfin_Temperature_020.000.00
    bluntfin_Enthalpy_020.000.00
    bluntfin_StagnationEnergy_020.000.00
    bluntfin_Entropy_020.000.00
    bluntfin_Swirl_020.000.00
    bluntfin_Momentum_020.000.00
    bluntfin_Velocity_020.000.00
    bluntfin_Vorticity_020.000.00
    bluntfin_PressureGradient_020.000.00
    bluntfin_StrainRate_020.000.00
    bluntfin_subsetDomains_020.000.00
    deltawing_Density_020.000.00
    deltawing_InternalEnergy_020.000.00
    deltawing_Pressure_020.000.00
    deltawing_Temperature_020.000.00
    deltawing_Enthalpy_020.000.00
    deltawing_StagnationEnergy_020.000.00
    deltawing_Entropy_020.000.00
    deltawing_Swirl_020.000.00
    deltawing_Momentum_020.000.00
    deltawing_Velocity_020.000.00
    deltawing_Vorticity_020.000.00
    deltawing_PressureGradient_020.000.00
    deltawing_StrainRate_020.000.00
    deltawing_subsetDomains_020.000.00
    post_Density_020.000.00
    post_InternalEnergy_020.000.00
    post_Pressure_020.000.00
    post_Temperature_020.000.00
    post_Enthalpy_020.000.00
    post_StagnationEnergy_020.000.00
    post_Entropy_020.000.00
    post_Swirl_020.000.00
    post_Momentum_020.000.00
    post_Velocity_020.000.00
    post_Vorticity_020.000.00
    post_PressureGradient_020.000.00
    post_StrainRate_020.000.00
    post_subsetDomains_020.000.00
    sslv_Density_020.000.00
    sslv_InternalEnergy_020.000.00
    sslv_Pressure_020.000.00
    sslv_Temperature_020.000.00
    sslv_Enthalpy_020.000.00
    sslv_StagnationEnergy_020.000.00
    sslv_Entropy_020.000.00
    sslv_Swirl_020.000.00
    sslv_Momentum_020.000.00
    sslv_Velocity_020.000.00
    sslv_Vorticity_020.000.00
    sslv_PressureGradient_020.000.00
    sslv_StrainRate_020.000.00
    sslv_subsetDomains_020.000.00
    wbt_Density_020.000.00
    wbt_InternalEnergy_020.000.00
    wbt_Pressure_020.000.00
    wbt_Temperature_020.000.00
    wbt_Enthalpy_020.000.00
    wbt_StagnationEnergy_020.000.00
    wbt_Entropy_020.000.00
    wbt_Swirl_020.000.00
    wbt_Momentum_020.000.00
    wbt_Velocity_020.000.00
    wbt_Vorticity_020.000.00
    wbt_PressureGradient_020.000.00
    wbt_StrainRate_020.000.00
    wbt_subsetDomains_020.000.00
    Time Series with meta file
    plot3d_timeseries_10 modifications totalling 0 lines
    plot3d_timeseries_1_1200.00.000.00
    plot3d_timeseries_1_1220.00.000.00
    plot3d_timeseries_1_1240.00.000.00
    plot3d_timeseries_1_1300.00.000.00
    plot3d_timeseries_1_1320.00.000.00
    plot3d_timeseries_1_1340.00.000.00
    Time series via Read Options
    plot3d_timeseries_20 modifications totalling 0 lines
    plot3d_timeseries_2_1230.00.000.00
    plot3d_timeseries_2_1330.00.000.00
    wnb020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PLOT3D_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PLOT3D_py.html new file mode 100644 index 000000000..97e6939e5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_PLOT3D_py.html @@ -0,0 +1,217 @@ +databases/PLOT3D.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#  LIMIT: 1500
    +#  Test Case:  PLOT3D.py 
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       Sep 5, 2014
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Aug 26 09:21:15 PDT 2015
    +#    Removed Magnitude scalars, no longer provided by reader since VisIt
    +#    already automatically creates vector magnitude expressions.
    +#    Added tests for time-series.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def BasicTest(testName, testNum):
    +    # These are the scalars and vectors from the solution file
    +    scalars = ["Density", "InternalEnergy"]
    +    vectors = ["Momentum"]
    +
    +    # These are all the reader-calculated scalars and vectors
    +    computedScalars = ["Pressure", "Temperature", "Enthalpy",
    +                       "StagnationEnergy", "Entropy", "Swirl" ]
    +    computedVectors = ["Velocity", "Vorticity", "PressureGradient",
    +                        "StrainRate"]
    +
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Pseudocolor", scalars[0])
    +    DrawPlots()
    +    Test("%s_%s_%02d"%(testName,scalars[0],testNum))
    +    for s in scalars[1:]:
    +        ChangeActivePlotsVar(s)
    +        DrawPlots()
    +        Test("%s_%s_%02d"%(testName,s,testNum))
    +
    +    if testNum == 2:
    +        for s in computedScalars:
    +            ChangeActivePlotsVar(s)
    +            DrawPlots()
    +            Test("%s_%s_%02d"%(testName,s,testNum))
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Vector", vectors[0])
    +    vecAtts = VectorAttributes()
    +    vecAtts.scale = 0.5
    +    vecAtts.useStride = 1
    +    SetPlotOptions(vecAtts)
    +    DrawPlots()
    +    Test("%s_%s_%02d"%(testName,vectors[0],testNum))
    +
    +    if testNum == 2:
    +        for v in computedVectors:
    +            ChangeActivePlotsVar(v)
    +            DrawPlots()
    +            Test("%s_%s_%02d"%(testName,v,testNum))
    +
    +    DeleteAllPlots()
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("%s_subsetDomains_%02d"%(testName,testNum))
    +
    +    DeleteAllPlots()
    +
    +# Open using the MetaFile .vp3d
    +def TestMetaOpen(metaFile, testName, testStart):
    +    OpenDatabase(data_path("PLOT3D_test_data/%s"%metaFile))
    +    BasicTest(testName, testStart)
    +    CloseDatabase(data_path("PLOT3D_test_data/%s"%metaFile))
    +
    +# Open using the grid file and openOptions
    +def TestOpenOptions(gridFile, testname, options, testStart):
    +    if len(options)> 0:
    +        # Grab the default options
    +        opts = GetDefaultFileOpenOptions("PLOT3D")
    +        # Set the passed options
    +        for k,v in options.items():
    +            if k in list(opts.keys()):
    +                opts[k] = v
    +        SetDefaultFileOpenOptions("PLOT3D", opts)
    +    OpenDatabase(data_path("PLOT3D_test_data/%s"%gridFile),0, "PLOT3D_1.0")
    +    BasicTest(testname, testStart)
    +    CloseDatabase(data_path("PLOT3D_test_data/%s"%gridFile))
    +
    +# names: [dir,  vp3dname, gridname, testname, openOptions]
    +names = [
    +    ["BluntFin", "blunt.vp3d", "blunt.x", "bluntfin", {}],
    +    ["DeltaWing", "delta-40.vp3d", "delta-40.x", "deltawing", {}],
    +    ["LiquidOxygenPost", "post.vp3d", "post.x", "post", {}],
    +    ["SpaceShuttleLaunchVehicle", "sslv.vp3d", "grid", "sslv",
    +        {"Multi Grid": 1, "IBlanking":1, "Use IBlanking If Present": 1, "Solution (Q) File Name":"solution"}],
    +    ["WingBodyTail", "wbt.vp3d", "wbtg.bin", "wbt",
    +        {"Solution (Q) File Name":"wbtr.bin",
    +        "Multi Grid":1,
    +        "IBlanking":1,
    +        "Use IBlanking If Present": 0,
    +        "File Format":1,
    +        "Big Endian":1,
    +        "Double Precision":0,
    +        "3D":1}],
    +]
    +
    +def TestTimeSeries():
    +    TestSection("Time Series with meta file")
    +    SetCreateMeshQualityExpressions(0)
    +    SetCreateTimeDerivativeExpressions(0)
    +    SetCreateVectorMagnitudeExpressions(0)
    +    #SetViewExtentsType("actual")
    +    OpenDatabase(data_path("PLOT3D_test_data/BluntFin/blunt_timeseries.vp3d"))
    +    md = GetMetaData(data_path("PLOT3D_test_data/BluntFin/blunt_timeseries.vp3d"))
    +    TestText("plot3d_timeseries_1", str(md))
    +
    +    DefineScalarExpression("TD", "time(mesh) * Density")
    +    AddPlot("Pseudocolor", "TD")
    +    AddOperator("Isovolume")
    +    isoAtts = IsovolumeAttributes()
    +    isoAtts.lbound = 2000
    +    SetOperatorOptions(isoAtts)
    +    DrawPlots()
    +
    +    #v = GetView3D()
    +    #v.viewNormal = (0, -1, 6.12323e-17)
    +    #v.focus = (3.32801, -0.103006, 16.13)
    +    #v.viewUp = (0, 6.12323e-17, 1)
    +    #SetView3D(v)
    +
    +    #  step through time
    +    for t in range(0, TimeSliderGetNStates(),2):
    +        SetTimeSliderState(t)
    +        Query("Time")
    +        Test("plot3d_timeseries_1_%s" % GetQueryOutputValue())
    +
    +    DeleteAllPlots()
    +
    +    CloseDatabase(data_path("PLOT3D_test_data/BluntFin/blunt_timeseries.vp3d"))
    +
    +    TestSection("Time series via Read Options")
    +
    +    # specify sub-selection of time slices.
    +    opts = {"Solution (Q) File Name" : r"TimeSeries/blunt_??3?.q",
    +            "Solution Time field accurate": 0}
    +    SetDefaultFileOpenOptions("PLOT3D", opts)
    +
    +    OpenDatabase(data_path("PLOT3D_test_data/BluntFin/blunt.x"), 0, "PLOT3D_1.0")
    +    md = GetMetaData(data_path("PLOT3D_test_data/BluntFin/blunt.x"))
    +    TestText("plot3d_timeseries_2", str(md))
    +
    +    AddPlot("Pseudocolor", "TD")
    +    AddOperator("Isovolume")
    +    SetOperatorOptions(isoAtts)
    +    DrawPlots()
    +
    +    #SetView3D(v)
    +
    +    #  step through time
    +    for t in range(0, TimeSliderGetNStates()):
    +        SetTimeSliderState(t)
    +        Query("Time")
    +        Test("plot3d_timeseries_2_%s" % GetQueryOutputValue())
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("PLOT3D_test_data/BluntFin/blunt.x"))
    +
    +def BasicTests():
    +    TestSection("Open using MetaFile .vp3d")
    +    for f in names:
    +        # test opening meta file
    +        TestMetaOpen("%s/%s"%(f[0],f[1]), f[3], 1)
    +
    +    TestSection("Open using gridfile and Open Options")
    +    # save true defaults for resetting
    +    opts = GetDefaultFileOpenOptions("PLOT3D")
    +    for f in names:
    +        # test opening grid file, possibly using OpenOptions
    +        TestOpenOptions("%s/%s"%(f[0],f[2]), f[3], f[4], 2)
    +    # reset to true defaults
    +    SetDefaultFileOpenOptions("PLOT3D", opts)
    +
    +def TestIBlanking():
    +    # Custom tests with specific views:
    +    OpenDatabase(data_path("PLOT3D_test_data/WingNoBody/wnb.vp3d"))
    +    AddPlot("Mesh", "mesh")
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (-0.489596, 0.871773, 0.0175216)
    +    View3DAtts.focus = (1.5, -3.00142, 0)
    +    View3DAtts.viewUp = (-0.0396695, -0.00219579, -0.99921)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 11.0231
    +    View3DAtts.nearPlane = -22.0462
    +    View3DAtts.farPlane = 22.0462
    +    View3DAtts.imagePan = (-0.0355573, -0.00323714)
    +    View3DAtts.imageZoom = 66.2641
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (1.5, -3.00142, 0)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +    DrawPlots()
    +    Test("wnb02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("PLOT3D_test_data/WingNoBody/wnb.vp3d"))
    +
    +BasicTests()
    +TestTimeSeries()
    +TestIBlanking()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ProteinDataBank.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ProteinDataBank.html new file mode 100644 index 000000000..90efc5e13 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ProteinDataBank.html @@ -0,0 +1,252 @@ + +Results for databases/ProteinDataBank.py + +

    Results of VisIt Regression Test - databases/ProteinDataBank

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing Rattlesnake venom
    proteindb_0_000.000.00
    proteindb_0_010.000.00
    proteindb_0_020.000.00
    proteindb_0_030.000.00
    proteindb_0_040.000.00
    proteindb_0_050.000.00
    proteindb_0_060.000.00
    proteindb_0_070.000.00
    Testing small DNA
    proteindb_1_000.000.00
    proteindb_1_010.000.00
    proteindb_1_020.000.00
    proteindb_1_030.000.00
    proteindb_1_040.000.00
    proteindb_1_050.000.00
    proteindb_1_060.000.00
    proteindb_1_070.000.00
    Testing insulin
    proteindb_2_000.000.00
    proteindb_2_010.000.00
    proteindb_2_020.000.00
    proteindb_2_030.000.00
    proteindb_2_040.000.00
    proteindb_2_050.000.00
    proteindb_2_060.000.00
    proteindb_2_070.000.00
    Testing Black Mamba venom
    proteindb_3_000.000.00
    proteindb_3_010.000.00
    proteindb_3_020.000.00
    proteindb_3_030.000.00
    proteindb_3_040.000.00
    proteindb_3_050.000.00
    proteindb_3_060.000.00
    proteindb_3_070.000.00
    proteindb_3_080.000.00
    proteindb_3_090.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ProteinDataBank_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ProteinDataBank_py.html new file mode 100644 index 000000000..841ea75bd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ProteinDataBank_py.html @@ -0,0 +1,366 @@ +databases/ProteinDataBank.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ProteinDataBank.py
    +#
    +#  Tests:      mesh      - 3D points
    +#              plots     - Molecule
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Mar 28 15:46:53 PST 2006
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Tue Aug 29 13:23:30 EDT 2006
    +#    ProteinDataBank files now have models as directories, not time steps.
    +#
    +#    Brad Whitlock, Thu Mar 12 11:04:32 PDT 2009
    +#    I restructured the test into functions.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def LabelTest(testname, var, zoomview):
    +    AddPlot("Label", var)
    +    LabelAtts = LabelAttributes()
    +    LabelAtts.legendFlag = 1
    +    LabelAtts.showNodes = 0
    +    LabelAtts.showCells = 1
    +    LabelAtts.restrictNumberOfLabels = 0
    +    LabelAtts.drawLabelsFacing = LabelAtts.Front  # Front, Back, FrontAndBack
    +    LabelAtts.labelDisplayFormat = LabelAtts.Natural  # Natural, LogicalIndex, Index
    +    LabelAtts.numberOfLabels = 200
    +    LabelAtts.textFont1.useForegroundColor = 0
    +    LabelAtts.textFont1.color = (0, 255, 0, 255)
    +    LabelAtts.textFont1.scale = 5
    +    LabelAtts.textFont2.useForegroundColor = 1
    +    LabelAtts.textFont2.color = (0, 0, 255, 0)
    +    LabelAtts.textFont2.scale = 4
    +    LabelAtts.horizontalJustification = LabelAtts.HCenter  # HCenter, Left, Right
    +    LabelAtts.verticalJustification = LabelAtts.VCenter  # VCenter, Top, Bottom
    +    LabelAtts.depthTestMode = LabelAtts.LABEL_DT_AUTO  # LABEL_DT_AUTO, LABEL_DT_ALWAYS, LABEL_DT_NEVER
    +    SetPlotOptions(LabelAtts)
    +    DrawPlots()
    +    oldview = GetView3D()
    +    SetView3D(zoomview)
    +    # Save these images somewhat larger than a regular test case image
    +    # since the images contain a lot of text.
    +#    swa = SaveWindowAttributes()
    +#    swa.width = 500
    +#    swa.height = 500
    +#    swa.screenCapture = 0
    +#    Test(testname, swa)
    +    Test(testname)
    +    DeleteActivePlots()
    +    SetView3D(oldview)
    +
    +
    +def AddMoleculePlot(db, var):
    +    OpenDatabase(db)
    +    AddPlot("Molecule", var)
    +
    +    MoleculeAtts = MoleculeAttributes()
    +    MoleculeAtts.drawAtomsAs = MoleculeAtts.SphereAtoms  # NoAtoms, SphereAtoms, ImposterAtoms
    +    MoleculeAtts.scaleRadiusBy = MoleculeAtts.Fixed  # Fixed, Covalent, Atomic, Variable
    +    MoleculeAtts.drawBondsAs = MoleculeAtts.CylinderBonds  # NoBonds, LineBonds, CylinderBonds
    +    MoleculeAtts.colorBonds = MoleculeAtts.ColorByAtom  # ColorByAtom, SingleColor
    +    MoleculeAtts.bondSingleColor = (128, 128, 128, 255)
    +    MoleculeAtts.radiusVariable = "default"
    +    MoleculeAtts.radiusScaleFactor = 1
    +    MoleculeAtts.radiusFixed = 0.4
    +    MoleculeAtts.atomSphereQuality = MoleculeAtts.Medium  # Low, Medium, High, Super
    +    MoleculeAtts.bondCylinderQuality = MoleculeAtts.Medium  # Low, Medium, High, Super
    +    MoleculeAtts.bondRadius = 0.12
    +    MoleculeAtts.bondLineWidth = 0
    +    MoleculeAtts.elementColorTable = "cpk_jmol"
    +    MoleculeAtts.residueTypeColorTable = "amino_shapely"
    +    MoleculeAtts.residueSequenceColorTable = "Default"
    +    MoleculeAtts.continuousColorTable = "Default"
    +    MoleculeAtts.legendFlag = 1
    +    MoleculeAtts.minFlag = 0
    +    MoleculeAtts.scalarMin = 0
    +    MoleculeAtts.maxFlag = 0
    +    MoleculeAtts.scalarMax = 1
    +    SetPlotOptions(MoleculeAtts)
    +    DrawPlots()
    +
    +
    +def test0():
    +    TestSection("Testing Rattlesnake venom")
    +    AddMoleculePlot(data_path("ProteinDataBank_test_data/crotamine.pdb"), "element")
    +
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.967329, 0.252251, -0.0253765)
    +    v0.focus = (31.726, -54.1675, 13.645)
    +    v0.viewUp = (0.252129, 0.967661, 0.0079404)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 24.9831
    +    v0.nearPlane = -49.9661
    +    v0.farPlane = 49.9661
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.44471
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (31.726, -54.1675, 13.645)
    +    SetView3D(v0)
    +
    +    v0zoom = View3DAttributes()
    +    v0zoom.viewNormal = (-0.967329, 0.252251, -0.0253765)
    +    v0zoom.focus = (31.726, -54.1675, 13.645)
    +    v0zoom.viewUp = (0.252129, 0.967661, 0.0079404)
    +    v0zoom.viewAngle = 30
    +    v0zoom.parallelScale = 24.9831
    +    v0zoom.nearPlane = -49.9661
    +    v0zoom.farPlane = 49.9661
    +    v0zoom.imagePan = (0, 0)
    +    v0zoom.imageZoom = 7.15293
    +    v0zoom.perspective = 1
    +    v0zoom.eyeAngle = 2
    +    v0zoom.centerOfRotationSet = 0
    +    v0zoom.centerOfRotation = (31.726, -54.1675, 13.645)
    +
    +    Test("proteindb_0_00")
    +    LabelTest("proteindb_0_01", "elementname", v0zoom)
    +
    +    ChangeActivePlotsVar("resseq")
    +    Test("proteindb_0_02")
    +    LabelTest("proteindb_0_03", "resseq", v0zoom)
    +
    +    ChangeActivePlotsVar("backbone")
    +    Test("proteindb_0_04")
    +
    +    ChangeActivePlotsVar("restype")
    +    Test("proteindb_0_05")
    +    LabelTest("proteindb_0_06", "resname", v0zoom)
    +
    +    LabelTest("proteindb_0_07", "longresname", v0zoom)
    +    DeleteAllPlots()
    +
    +
    +def test1():
    +    TestSection("Testing small DNA")
    +    AddMoleculePlot(data_path("ProteinDataBank_test_data/1NTS.pdb"), "element")
    +
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (-0.320353, 0.944248, 0.075961)
    +    v1.focus = (-0.0580001, 0.0915003, 0.3815)
    +    v1.viewUp = (0.342959, 0.190354, -0.919861)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 22.575
    +    v1.nearPlane = -45.1501
    +    v1.farPlane = 45.1501
    +    v1.imagePan = (-0.0021177, -0.0481532)
    +    v1.imageZoom = 1.27797
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (-0.0580001, 0.0915003, 0.3815)
    +    SetView3D(v1)
    +
    +    v1zoom = View3DAttributes()
    +    v1zoom.viewNormal = (-0.320353, 0.944248, 0.075961)
    +    v1zoom.focus = (-0.0580001, 0.0915003, 0.3815)
    +    v1zoom.viewUp = (0.342959, 0.190354, -0.919861)
    +    v1zoom.viewAngle = 30
    +    v1zoom.parallelScale = 22.575
    +    v1zoom.nearPlane = -45.1501
    +    v1zoom.farPlane = 45.1501
    +    v1zoom.imagePan = (-0.00906313, 0.0442979)
    +    v1zoom.imageZoom = 6.4294
    +    v1zoom.perspective = 1
    +    v1zoom.eyeAngle = 2
    +    v1zoom.centerOfRotationSet = 0
    +    v1zoom.centerOfRotation = (-0.0580001, 0.0915003, 0.3815)
    +
    +    Test("proteindb_1_00")
    +    LabelTest("proteindb_1_01", "elementname", v1zoom)
    +
    +    ChangeActivePlotsVar("resseq")
    +    Test("proteindb_1_02")
    +    LabelTest("proteindb_1_03", "resseq", v1zoom)
    +
    +    ChangeActivePlotsVar("backbone")
    +    Test("proteindb_1_04")
    +
    +    ChangeActivePlotsVar("restype")
    +    Test("proteindb_1_05")
    +    LabelTest("proteindb_1_06", "resname", v1zoom)
    +
    +    LabelTest("proteindb_1_07", "longresname", v1zoom)
    +    DeleteAllPlots()
    +
    +
    +def test2():
    +    TestSection("Testing insulin")
    +    AddMoleculePlot(data_path("ProteinDataBank_test_data/1UZ9.pdb"), "element")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (0.215329, 0.245957, 0.94506)
    +    v2.focus = (23.441, 26.835, 23.6865)
    +    v2.viewUp = (-0.351063, 0.922561, -0.160113)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 29.1931
    +    v2.nearPlane = -58.3862
    +    v2.farPlane = 58.3862
    +    v2.imagePan = (0.0260607, 0.00408113)
    +    v2.imageZoom = 1.8463
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (23.441, 26.835, 23.6865)
    +    SetView3D(v2)
    +
    +    v2zoom = View3DAttributes()
    +    v2zoom.viewNormal = (0.685414, 0.259247, 0.68044)
    +    v2zoom.focus = (23.441, 26.835, 23.6865)
    +    v2zoom.viewUp = (0.700183, 0.02186, -0.713629)
    +    v2zoom.viewAngle = 30
    +    v2zoom.parallelScale = 29.1931
    +    v2zoom.nearPlane = -58.3862
    +    v2zoom.farPlane = 58.3862
    +    v2zoom.imagePan = (-0.0257104, -0.00810227)
    +    v2zoom.imageZoom = 10.3892
    +    v2zoom.perspective = 1
    +    v2zoom.eyeAngle = 2
    +    v2zoom.centerOfRotationSet = 0
    +    v2zoom.centerOfRotation = (23.441, 26.835, 23.6865)
    +
    +    Test("proteindb_2_00")
    +    LabelTest("proteindb_2_01", "elementname", v2zoom)
    +
    +    ChangeActivePlotsVar("resseq")
    +    Test("proteindb_2_02")
    +    LabelTest("proteindb_2_03", "resseq", v2zoom)
    +
    +    ChangeActivePlotsVar("backbone")
    +    Test("proteindb_2_04")
    +
    +    ChangeActivePlotsVar("restype")
    +    Test("proteindb_2_05")
    +    LabelTest("proteindb_2_06", "resname", v2zoom)
    +
    +    LabelTest("proteindb_2_07", "longresname", v2zoom)
    +    DeleteAllPlots()
    +
    +
    +def test3():
    +    TestSection("Testing Black Mamba venom")
    +    AddMoleculePlot(data_path("ProteinDataBank_test_data/1TFS.pdb"), "element")
    +
    +    v3 = View3DAttributes()
    +    v3.viewNormal = (-0.242177, -0.689536, 0.682562)
    +    v3.focus = (-1.73, -1.927, -0.202)
    +    v3.viewUp = (0.243612, 0.637752, 0.730702)
    +    v3.viewAngle = 30
    +    v3.parallelScale = 25.6826
    +    v3.nearPlane = -51.3652
    +    v3.farPlane = 51.3652
    +    v3.imagePan = (0.0337528, -0.0400135)
    +    v3.imageZoom = 1.49054
    +    v3.perspective = 1
    +    v3.eyeAngle = 2
    +    v3.centerOfRotationSet = 0
    +    v3.centerOfRotation = (-1.73, -1.927, -0.202)
    +    SetView3D(v3)
    +
    +    v3zoom = View3DAttributes()
    +    v3zoom.viewNormal = (-0.558032, -0.716666, 0.418318)
    +    v3zoom.focus = (-1.73, -1.927, -0.202)
    +    v3zoom.viewUp = (0.120358, 0.428875, 0.89531)
    +    v3zoom.viewAngle = 30
    +    v3zoom.parallelScale = 25.6826
    +    v3zoom.nearPlane = -51.3652
    +    v3zoom.farPlane = 51.3652
    +    v3zoom.imagePan = (0.0337528, -0.0400135)
    +    v3zoom.imageZoom = 8.39928
    +    v3zoom.perspective = 1
    +    v3zoom.eyeAngle = 2
    +    v3zoom.centerOfRotationSet = 0
    +    v3zoom.centerOfRotation = (-1.73, -1.927, -0.202)
    +
    +    Test("proteindb_3_00")
    +    LabelTest("proteindb_3_01", "elementname", v3zoom)
    +
    +    ChangeActivePlotsVar("resseq")
    +    Test("proteindb_3_02")
    +    LabelTest("proteindb_3_03", "resseq", v3zoom)
    +
    +    ChangeActivePlotsVar("backbone")
    +    Test("proteindb_3_04")
    +
    +    ChangeActivePlotsVar("restype")
    +    Test("proteindb_3_05")
    +    LabelTest("proteindb_3_06", "resname", v3zoom)
    +
    +    LabelTest("proteindb_3_07", "longresname", v3zoom)
    +
    +    # Make sure that there are multiple models in the file.
    +    ChangeActivePlotsVar("element")
    +    ChangeActivePlotsVar("models/model_09/element")
    +    Test("proteindb_3_08")
    +    ChangeActivePlotsVar("models/model_19/element")
    +    Test("proteindb_3_09")
    +    DeleteAllPlots()
    +
    +# NOTE: This test is not enabled because it fails. It needs baselines too.
    +def test4():
    +    TestSection("Testing file replacement with ProteinDataBank files")
    +    AddMoleculePlot(data_path("ProteinDataBank_test_data/crotamine.pdb"), "element")
    +
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.967329, 0.252251, -0.0253765)
    +    v0.focus = (31.726, -54.1675, 13.645)
    +    v0.viewUp = (0.252129, 0.967661, 0.0079404)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 24.9831
    +    v0.nearPlane = -49.9661
    +    v0.farPlane = 49.9661
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.44471
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (31.726, -54.1675, 13.645)
    +    SetView3D(v0)
    +    Test("proteindb_4_00")
    +    ReplaceDatabase(data_path("ProteinDataBank_test_data/1UZ9.pdb"))
    +
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (-0.320353, 0.944248, 0.075961)
    +    v1.focus = (-0.0580001, 0.0915003, 0.3815)
    +    v1.viewUp = (0.342959, 0.190354, -0.919861)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 22.575
    +    v1.nearPlane = -45.1501
    +    v1.farPlane = 45.1501
    +    v1.imagePan = (-0.0021177, -0.0481532)
    +    v1.imageZoom = 1.27797
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (-0.0580001, 0.0915003, 0.3815)
    +    SetView3D(v1)
    +    Test("proteindb_4_01")
    +
    +
    +def main():
    +    # Set the window background color
    +    a = GetAnnotationAttributes()
    +    a.backgroundMode = a.Solid
    +    a.foregroundColor = (0, 0, 0, 255)
    +    a.backgroundColor = (255, 255, 255, 255)
    +    a.databaseInfoFlag = 0
    +    SetAnnotationAttributes(a)
    +
    +    # Call the tests
    +    test0()
    +    test1()
    +    test2()
    +    test3()
    +    #test4()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_RAW.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_RAW.html new file mode 100644 index 000000000..8156e2719 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_RAW.html @@ -0,0 +1,57 @@ + +Results for databases/RAW.py + +

    Results of VisIt Regression Test - databases/RAW

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    RAW files
    RAW_0_000.000.00
    RAW_0_010.000.00
    RAW_0_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_RAW_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_RAW_py.html new file mode 100644 index 000000000..d16f1f0cf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_RAW_py.html @@ -0,0 +1,94 @@ +databases/RAW.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  RAW.py
    +#
    +#  Tests:      mesh      - 3D unstructured
    +#              plots     - Mesh, Pseudocolor, FilledBoundary
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Oct 10 12:05:17 PDT 2007
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def test0(datapath):
    +    TestSection("RAW files")
    +    OpenDatabase(pjoin(datapath,"visitrocks.raw"))
    +    AddPlot("Pseudocolor", "x")
    +    DrawPlots()
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.567094, 0.226914, 0.791779)
    +    v0.focus = (0.000999987, -0.1635, 0)
    +    v0.viewUp = (0.130227, 0.973912, -0.18584)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 1.5462
    +    v0.nearPlane = -3.0924
    +    v0.farPlane = 3.0924
    +    v0.imagePan = (0.0382352, 0.0259835)
    +    v0.imageZoom = 1.29479
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.000999987, -0.1635, 0)
    +    SetView3D(v0)
    +    Test("RAW_0_00")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"visit1.7.raw"))
    +    AddPlot("Pseudocolor", "z")
    +    DrawPlots()
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (0.548073, -0.470773, 0.691367)
    +    v1.focus = (-3, 2.5, -3.5)
    +    v1.viewUp = (-0.467318, 0.513182, 0.719902)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 26.3154
    +    v1.nearPlane = -52.6308
    +    v1.farPlane = 52.6308
    +    v1.imagePan = (-0.00129203, 0.0275781)
    +    v1.imageZoom = 1.17533
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (-3, 2.5, -3.5)
    +    SetView3D(v1)
    +    Test("RAW_0_01")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"llnl-logo.raw"))
    +    AddPlot("Subset", "domains")
    +    silr = SILRestriction()
    +    silr.SuspendCorrectnessChecking()
    +    silr.TurnOffAll()
    +    for silSet in (1,2,77):
    +        silr.TurnOnSet(silSet)
    +    silr.EnableCorrectnessChecking()
    +    SetPlotSILRestriction(silr)
    +    DrawPlots()
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (0.373419, 0.166874, 0.91253)
    +    v2.focus = (0.108829, 9.95567, 5.85852)
    +    v2.viewUp = (-0.0717588, 0.985936, -0.150933)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 91.211
    +    v2.nearPlane = -182.422
    +    v2.farPlane = 182.422
    +    v2.imagePan = (-0.00129203, 0.0275781)
    +    v2.imageZoom = 1.17145
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.108829, 9.95567, 5.85852)
    +    SetView3D(v2)
    +    Test("RAW_0_02")
    +    DeleteAllPlots()
    +
    +def main():
    +    datapath = data_path("RAW_test_data")
    +    test0(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_SPCTH.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_SPCTH.html new file mode 100644 index 000000000..c11fca0a3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_SPCTH.html @@ -0,0 +1,48 @@ + +Results for databases/SPCTH.py + +

    Results of VisIt Regression Test - databases/SPCTH

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    spcth_010.000.00
    spcth_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_SPCTH_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_SPCTH_py.html new file mode 100644 index 000000000..ea738a70d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_SPCTH_py.html @@ -0,0 +1,36 @@ +databases/SPCTH.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  SPCTH.py 
    +#
    +#  Programmer: Kevin Griffin 
    +#  Date:       September 15, 2017 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +#efp2d.spcth
    +OpenDatabase(data_path("SPCTH_test_data/efp2d.spcth"))
    +AddPlot("FilledBoundary", "materials")
    +DrawPlots()
    +Test("spcth_01")
    +DeleteAllPlots()
    +CloseDatabase(data_path("SPCTH_test_data/efp2d.spcth"))
    +
    +#efp3d.spcth
    +OpenDatabase(data_path("SPCTH_test_data/efp3d.spcth"))
    +AddPlot("Pseudocolor", "M")
    +
    +silr = SILRestriction()
    +silr.TurnOnAll()
    +silr.TurnOffSet(silr.SetsInCategory('materials')[3])
    +SetPlotSILRestriction(silr)
    +
    +DrawPlots()
    +Test("spcth_02")
    +DeleteAllPlots()
    +CloseDatabase(data_path("SPCTH_test_data/efp3d.spcth"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Velodyne.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Velodyne.html new file mode 100644 index 000000000..22762b4cc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Velodyne.html @@ -0,0 +1,88 @@ + +Results for databases/Velodyne.py + +

    Results of VisIt Regression Test - databases/Velodyne

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Solid
    Velodyne_0_000 modifications totalling 0 lines
    Velodyne_0_010.000.00
    Velodyne_0_020.000.00
    Velodyne_0_030.000.00
    Velodyne_0_040.000.00
    Velodyne_0_050.000.00
    Velodyne_0_060.000.00
    Surface
    Velodyne_1_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Velodyne_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Velodyne_py.html new file mode 100644 index 000000000..36df7157a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Velodyne_py.html @@ -0,0 +1,79 @@ +databases/Velodyne.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Velodyne.py
    +#
    +#  Tests:      mesh      - 3D unstructured
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Feb 10 14:51:33 PDT 2010
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def InitializeView():
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (0.715595, -0.551955, 0.4281)
    +    v0.focus = (11.5, 2.39999, 1.04954)
    +    v0.viewUp = (-0.34794, 0.249768, 0.903633)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 11.8686
    +    v0.nearPlane = -23.7373
    +    v0.farPlane = 23.7373
    +    v0.imagePan = (-0.0579851, 0.0689456)
    +    v0.imageZoom = 1.2342
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (11.5, 2.39999, 1.04954)
    +    SetView3D(v0)
    +
    +def test0(datapath):
    +    TestSection("Solid")
    +    db = pjoin(datapath,"pelh.*.vld database")
    +    OpenDatabase(db,0,"Velodyne_1.0")
    +    md = GetMetaData(db)
    +    TestText("Velodyne_0_00", str(md))
    +    AddPlot("Pseudocolor", "Solid/Pressure")
    +    DrawPlots()
    +    InitializeView()
    +
    +    Test("Velodyne_0_01")
    +    TimeSliderSetState(11)
    +    Test("Velodyne_0_02")
    +    TimeSliderSetState(22)
    +    Test("Velodyne_0_03")
    +    TimeSliderSetState(0)
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Solid/Velocity_0")
    +    DrawPlots()
    +    InitializeView()
    +    Test("Velodyne_0_04")
    +    TimeSliderSetState(11)
    +    Test("Velodyne_0_05")
    +    TimeSliderSetState(22)
    +    Test("Velodyne_0_06")
    +    TimeSliderSetState(0)
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test1(datapath):
    +    TestSection("Surface")
    +
    +    OpenDatabase(pjoin(datapath,"pelh.1.vld"),0,"Velodyne_1.0")
    +    AddPlot("Pseudocolor", "Surface/Velocity_0")
    +    DrawPlots()
    +    InitializeView()
    +    Test("Velodyne_1_00")
    +    DeleteAllPlots()
    +
    +def main():
    +    datapath = data_path("Velodyne_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_WData.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_WData.html new file mode 100644 index 000000000..c03d904fe --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_WData.html @@ -0,0 +1,60 @@ + +Results for databases/WData.py + +

    Results of VisIt Regression Test - databases/WData

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    wdata_1_010.000.00
    wdata_1_020.000.00
    wdata_1_030.000.00
    wdata_1_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_WData_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_WData_py.html new file mode 100644 index 000000000..aa5defd8f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_WData_py.html @@ -0,0 +1,58 @@ +databases/WData.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  WData.py 
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       September 22, 2021 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def Test1():
    +    OpenDatabase(data_path("WData_test_data/WData-test.wtxt"))
    +
    +    AddPlot("Contour", "density_a")
    +    AddPlot("Vector", "current_a")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal=(0.363715, 0.43572, 0.822339)
    +    v.viewUp=(-0.158317, 0.898996, -0.40834)
    +    SetView3D(v)
    +
    +    Test("wdata_1_01")
    +
    +    TimeSliderSetState(5)
    +    Test("wdata_1_02")
    +
    +    DeleteAllPlots()
    +    AddPlot("Volume", "density_b")
    +    DrawPlots()
    +    Test("wdata_1_03")
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "density_b")
    +    DrawPlots()
    +
    +    SetQueryOutputToObject()
    +    se = Query("SpatialExtents")["extents"]
    +    AddOperator("ThreeSlice")
    +    ts = ThreeSliceAttributes()
    +    ts.x = (se[1] - se[0]) * 0.5
    +    ts.y = (se[3] - se[2]) * 0.5
    +    ts.z = (se[5] - se[4]) * 0.5
    +    SetOperatorOptions(ts)
    +    DrawPlots()
    +
    +    Test("wdata_1_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("WData_test_data/WData-test.wtxt"))
    +
    +Test1()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xmdv.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xmdv.html new file mode 100644 index 000000000..31fe3547b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xmdv.html @@ -0,0 +1,66 @@ + +Results for databases/Xmdv.py + +

    Results of VisIt Regression Test - databases/Xmdv

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Xmdv_010.000.00
    Xmdv_020.000.00
    Xmdv_030.000.00
    Xmdv_040.000.00
    Xmdv_050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xmdv_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xmdv_py.html new file mode 100644 index 000000000..05e6a3843 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xmdv_py.html @@ -0,0 +1,105 @@ +databases/Xmdv.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Xmdv.py
    +#
    +#  Tests:      mesh      - 3D point mesh
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 21, 2005
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Aug 10 10:00:45 PDT 2005
    +#    Fixed due to a change in the Label plot.
    +#
    +#    Hank Childs, Tue Mar 18 15:40:57 PDT 2008
    +#    Reflect change in variable names.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Sat Mar 13 11:13:26 PST 2010
    +#    Change variable names for forbidden characters.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# First test that we can open a Xmdv file.
    +OpenDatabase(data_path("okc_test_data/astronomy.okc"))
    +
    +AddPlot("Pseudocolor", "classmagi")
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleZ = 0.03
    +SetOperatorOptions(t)
    +DrawPlots()
    +
    +Test("Xmdv_01")
    +
    +DefineArrayExpression("sub_arr", "array_compose(b, d)")
    +AddPlot("Label", "sub_arr")
    +L = LabelAttributes()
    +L.depthTestMode = L.LABEL_DT_NEVER
    +SetPlotOptions(L)
    +AddOperator("Transform")
    +SetOperatorOptions(t)
    +DrawPlots()
    +
    +Test("Xmdv_02")
    +
    +
    +# This is super ugly, but I want to have something in the regression suite
    +# that tests reading in array variables directly from a file (for coverage
    +# purpose).
    +DeleteAllPlots()
    +AddPlot("Label", "all_vars")
    +L = LabelAttributes()
    +L.depthTestMode = L.LABEL_DT_NEVER
    +SetPlotOptions(L)
    +DrawPlots()
    +Test("Xmdv_03")
    +DeleteAllPlots()
    +
    +
    +# Now test the writer.
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +DefineScalarExpression("uc", "recenter(u)")
    +DefineScalarExpression("vc", "recenter(v)")
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +e = ExportDBAttributes()
    +e.db_type = "Xmdv"
    +e.filename = "xmdv"
    +e.variables = ("d", "p", "uc", "vc")
    +ExportDatabase(e)
    +
    +DeleteAllPlots()
    +DeleteExpression("uc")
    +DeleteExpression("vc")
    +OpenDatabase("xmdv.okc")
    +AddPlot("Pseudocolor", "vc")
    +DrawPlots()
    +Test("Xmdv_04")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Vector", "vel")
    +DrawPlots()
    +e.variables = ()
    +e.filename = "xmdv2"
    +ExportDatabase(e)
    +DeleteAllPlots()
    +OpenDatabase("xmdv2.okc")
    +AddPlot("Pseudocolor", "vel_lb_0_rb_")
    +DrawPlots()
    +Test("Xmdv_05")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xolotl.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xolotl.html new file mode 100644 index 000000000..193903fb2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xolotl.html @@ -0,0 +1,90 @@ + +Results for databases/Xolotl.py + +

    Results of VisIt Regression Test - databases/Xolotl

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    0D Example Xolot File
    xolotl_0D_HeliumVacancies0.000.00
    xolotl_0D_HeliumDeuterium0.000.00
    xolotl_0D_HeliumInterstitial0.000.00
    xolotl_0D_HeliumTritium0.000.00
    1D Example Xolotl File
    xolotl_1D_Helium Concentration0.000.00
    xolotl_1D_Deuterium Concentration0.000.00
    xolotl_1D_Interstitial Concentration0.000.00
    xolotl_1D_Tritium Concentration0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xolotl_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xolotl_py.html new file mode 100644 index 000000000..891ab0df9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_Xolotl_py.html @@ -0,0 +1,47 @@ +databases/Xolotl.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Xolotl.py
    +#
    +#  Tests:      Xolotl hdf5 files
    +#
    +#  Programmer: James Kress
    +#  Date:       Mon Aug 26 13:00:15 EDT 2019
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Xolotl")
    +
    +xolotl_0D = "xolotl_test_data/network-PSI2-0D.xolotl"
    +xolotl_1D = "xolotl_test_data/network-PSI2-1D.xolotl"
    +
    +zeroDVars = ["Helium/Vacancies", "Helium/Deuterium", "Helium/Interstitial", "Helium/Tritium"]
    +oneDVars = ["Helium Concentration", "Deuterium Concentration", "Interstitial Concentration", "Tritium Concentration"]
    +
    +def test(var_name,tag_name):
    +    SetTimeSliderState(1)
    +    AddPlot("Pseudocolor", var_name)
    +    SetActivePlots(0)
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.scaling = PseudocolorAtts.Log  # Linear, Log, Skew
    +    PseudocolorAtts.colorTableName = "hot_desaturated"
    +    SetPlotOptions(PseudocolorAtts)
    +    DrawPlots()
    +    file_name = var_name.replace("/", "")
    +    Test(tag_name + "_" +  file_name)
    +    DeleteAllPlots()
    +
    +
    +TestSection("0D Example Xolot File")
    +OpenDatabase(data_path(xolotl_0D))
    +for var_name in zeroDVars:
    +    test(var_name,"xolotl_0D")
    +CloseDatabase(data_path(xolotl_0D))
    +
    +TestSection("1D Example Xolotl File")
    +OpenDatabase(data_path(xolotl_1D))
    +for var_name in oneDVars:
    +    test(var_name,"xolotl_1D")
    +CloseDatabase(data_path(xolotl_1D))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_activesource.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_activesource.html new file mode 100644 index 000000000..2472941d3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_activesource.html @@ -0,0 +1,80 @@ + +Results for databases/activesource.py + +

    Results of VisIt Regression Test - databases/activesource

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    activesource000.000.00
    activesource010 modifications totalling 0 lines
    activesource020 modifications totalling 0 lines
    activesource030.000.00
    activesource040.000.00
    activesource050 modifications totalling 0 lines
    activesource060.000.00
    activesource070 modifications totalling 0 lines
    activesource080 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_activesource_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_activesource_py.html new file mode 100644 index 000000000..412f4fb86 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_activesource_py.html @@ -0,0 +1,82 @@ +databases/activesource.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  activesource.py
    +#
    +#  Tests:      mesh      - 2D, curvilinear, single domain
    +#              plots     - FilledBoundary
    +#              databases - PDB
    +#
    +#  Purpose:    This test case tests that the viewer uses the right active
    +#              source for the active window.
    +#
    +#  Bugs:       '4527
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Mar 18 13:45:29 PST 2004
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    TestText(testname, s)
    +
    +# Create a plot of dbA00.pdb.
    +OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("activesource00")
    +
    +# Create another window and make sure that it has dbA00.pdb as its
    +# active source.
    +CloneWindow()
    +SetActiveWindow(2)
    +DeleteAllPlots()
    +TestWindowInformation("activesource01")
    +
    +# Open dbB00.pdb and make sure that it becomes the active source.
    +OpenDatabase(data_path("pdb_test_data/dbB00.pdb"))
    +
    +TestWindowInformation("activesource02")
    +
    +# Create a plot from it.
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("activesource03")
    +# note: py3 div creates float
    +SetTimeSliderState(int(TimeSliderGetNStates() / 2))
    +Test("activesource04")
    +TestWindowInformation("activesource05")
    +
    +# Create a 3rd window by cloning window 2. We're making sure that the 
    +# time slider got copied to the new window and that it has the right
    +# time state.
    +CloneWindow()
    +SetActiveWindow(3)
    +DrawPlots()
    +Test("activesource06")
    +TestWindowInformation("activesource07")
    +
    +# Switch back to window 1 and make sure that the window information has
    +# dbA00.pdb as the active source.
    +SetActiveWindow(1)
    +TestWindowInformation("activesource08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_adios2.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_adios2.html new file mode 100644 index 000000000..e6587b8d5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_adios2.html @@ -0,0 +1,45 @@ + +Results for databases/adios2.py + +

    Results of VisIt Regression Test - databases/adios2

    + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Adios2 Blosc Test
    adios2_3d_bp_mesh71x71x71_mesh0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_adios2_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_adios2_py.html new file mode 100644 index 000000000..8dbb97f49 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_adios2_py.html @@ -0,0 +1,89 @@ +databases/adios2.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  adios2.py 
    +#
    +#  Tests:      mesh      - 3D single domain
    +#              plots     - Pseudocolor
    +#              operators - Clip
    +#
    +#  Programmer: Justin Privitera
    +#  Date:       Mon May  9 18:05:05 PDT 2022
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("ADIOS2")
    +
    +from os.path import join as pjoin
    +
    +adios2_test_dir = "adios2_v2.7.1_test_data"
    +cube_data = data_path(pjoin(adios2_test_dir,"interesting_cube00000000.bp"))
    +
    +def set_3d_view():
    +    v = View3DAttributes()
    +    v.viewNormal = (0.844823, 0.290329, 0.449425)
    +    v.focus = (35, 35, 35)
    +    v.viewUp = (-0.239502, 0.956325, -0.167574)
    +    v.viewAngle = 30
    +    v.parallelScale = 60.6218
    +    v.nearPlane = -121.244
    +    v.farPlane = 121.244
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (35, 35, 35)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def set_test_view(tag_name):
    +    if "3d" in tag_name:
    +        set_3d_view()
    +    else:
    +        ResetView()
    +
    +def test(mesh_name, tag_name):
    +    AddPlot("Mesh", mesh_name, 1, 1)
    +    AddPlot("Pseudocolor", "/data/0/meshes/admbase_lapse_rl00/admbase_alp", 1, 1)
    +    AddOperator("Clip", 1)
    +    SetActivePlots(1)
    +    SetActivePlots(1)
    +    ClipAtts = ClipAttributes()
    +    ClipAtts.quality = ClipAtts.Fast  # Fast, Accurate
    +    ClipAtts.funcType = ClipAtts.Plane  # Plane, Sphere
    +    ClipAtts.plane1Status = 1
    +    ClipAtts.plane2Status = 0
    +    ClipAtts.plane3Status = 0
    +    ClipAtts.plane1Origin = (35, 35, 35)
    +    ClipAtts.plane2Origin = (0, 0, 0)
    +    ClipAtts.plane3Origin = (0, 0, 0)
    +    ClipAtts.plane1Normal = (1, 0, 0)
    +    ClipAtts.plane2Normal = (0, 1, 0)
    +    ClipAtts.plane3Normal = (0, 0, 1)
    +    ClipAtts.planeInverse = 0
    +    ClipAtts.planeToolControlledClipPlane = ClipAtts.Plane1  # NONE, Plane1, Plane2, Plane3
    +    ClipAtts.center = (0, 0, 0)
    +    ClipAtts.radius = 1
    +    ClipAtts.sphereInverse = 0
    +    ClipAtts.crinkleClip = 0
    +    SetOperatorOptions(ClipAtts, 0, 1)
    +    DrawPlots()
    +    set_test_view(tag_name)
    +    Test(tag_name + "_" +  mesh_name + "_mesh")
    +    DeleteAllPlots()
    +
    +# requires adios2 to be built with c-blosc support
    +TestSection("Adios2 Blosc Test")
    +OpenDatabase(cube_data, 0, "ADIOS2_1.0")
    +mesh_name = "mesh71x71x71"
    +tag_name = "adios2_3d_bp"
    +test(mesh_name, tag_name)
    +CloseDatabase(cube_data)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_avsucd.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_avsucd.html new file mode 100644 index 000000000..157c126a8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_avsucd.html @@ -0,0 +1,60 @@ + +Results for databases/avsucd.py + +

    Results of VisIt Regression Test - databases/avsucd

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    avsucd_010.000.00
    avsucd_020.000.00
    avsucd_030.000.00
    avsucd_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_avsucd_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_avsucd_py.html new file mode 100644 index 000000000..dfa43cf7b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_avsucd_py.html @@ -0,0 +1,41 @@ +databases/avsucd.py
    # ----------------------------------------------------------------------------)
    +#  CLASSES: nightly
    +#
    +#  Test Case:  avsucd.py 
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       February 6, 2020
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("AVSucd_test_data/cell_data.inp"))
    +AddPlot("Pseudocolor", "stress sx")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.804006, 0.580568, 0.128511)
    +viewUp = (-0.482246, 0.763086, -0.430278)
    +SetView3D(v)
    +Test("avsucd_01")
    +
    +ChangeActivePlotsVar("stress sz")
    +Test("avsucd_02")
    +
    +ChangeActivePlotsVar("temp1")
    +Test("avsucd_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("AVSucd_test_data/cell_data.inp"))
    +
    +# file with vectors
    +OpenDatabase(data_path("AVSucd_test_data/vec1.1.000.inp"))
    +AddPlot("Vector", "vect")
    +DrawPlots()
    +ResetView()
    +Test("avsucd_04")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("AVSucd_test_data/vec1.1.000.inp"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint.html new file mode 100644 index 000000000..3e7a2b147 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint.html @@ -0,0 +1,2907 @@ + +Results for databases/blueprint.py + +

    Results of VisIt Regression Test - databases/blueprint

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    2D Example JSON Mesh Files
    blueprint_2d_json_points_mesh0.000.00
    blueprint_2d_json_points_braid0.000.00
    blueprint_2d_json_points_radial0.000.00
    blueprint_2d_json_uniform_mesh12.580.64
    blueprint_2d_json_uniform_braid0.000.00
    blueprint_2d_json_uniform_radial0.000.00
    blueprint_2d_json_rect_mesh12.580.64
    blueprint_2d_json_rect_braid0.000.00
    blueprint_2d_json_rect_radial0.000.00
    blueprint_2d_json_struct_mesh12.530.63
    blueprint_2d_json_struct_braid0.000.00
    blueprint_2d_json_struct_radial0.000.00
    blueprint_2d_json_tris_mesh8.430.64
    blueprint_2d_json_tris_braid0.000.00
    blueprint_2d_json_tris_radial0.000.00
    blueprint_2d_json_quads_mesh12.580.64
    blueprint_2d_json_quads_braid0.000.00
    blueprint_2d_json_quads_radial0.000.00
    2D Example HDF5 Mesh Files
    blueprint_2d_hdf5_points_mesh0.000.00
    blueprint_2d_hdf5_points_braid0.000.00
    blueprint_2d_hdf5_points_radial0.000.00
    blueprint_2d_hdf5_uniform_mesh1.400.64
    blueprint_2d_hdf5_uniform_braid0.000.00
    blueprint_2d_hdf5_uniform_radial0.000.00
    blueprint_2d_hdf5_rect_mesh1.400.64
    blueprint_2d_hdf5_rect_braid0.000.00
    blueprint_2d_hdf5_rect_radial0.000.00
    blueprint_2d_hdf5_struct_mesh1.400.64
    blueprint_2d_hdf5_struct_braid0.000.00
    blueprint_2d_hdf5_struct_radial0.000.00
    blueprint_2d_hdf5_tris_mesh0.980.64
    blueprint_2d_hdf5_tris_braid0.000.00
    blueprint_2d_hdf5_tris_radial0.000.00
    blueprint_2d_hdf5_quads_mesh1.400.64
    blueprint_2d_hdf5_quads_braid0.000.00
    blueprint_2d_hdf5_quads_radial0.000.00
    2D Example Sidre HDF5 Mesh Files
    blueprint_2d_sidre_hdf5_points_mesh0.000.00
    blueprint_2d_sidre_hdf5_points_braid0.000.00
    blueprint_2d_sidre_hdf5_points_radial0.000.00
    blueprint_2d_sidre_hdf5_uniform_mesh1.400.64
    blueprint_2d_sidre_hdf5_uniform_braid0.000.00
    blueprint_2d_sidre_hdf5_uniform_radial0.000.00
    blueprint_2d_sidre_hdf5_rect_mesh1.400.64
    blueprint_2d_sidre_hdf5_rect_braid0.000.00
    blueprint_2d_sidre_hdf5_rect_radial0.000.00
    blueprint_2d_sidre_hdf5_struct_mesh1.400.64
    blueprint_2d_sidre_hdf5_struct_braid0.000.00
    blueprint_2d_sidre_hdf5_struct_radial0.000.00
    blueprint_2d_sidre_hdf5_tris_mesh0.980.64
    blueprint_2d_sidre_hdf5_tris_braid0.000.00
    blueprint_2d_sidre_hdf5_tris_radial0.000.00
    blueprint_2d_sidre_hdf5_quads_mesh1.400.64
    blueprint_2d_sidre_hdf5_quads_braid0.000.00
    blueprint_2d_sidre_hdf5_quads_radial0.000.00
    3D Example JSON Mesh Files
    blueprint_3d_json_points_mesh0.000.00
    blueprint_3d_json_points_braid0.000.00
    blueprint_3d_json_points_radial0.000.00
    blueprint_3d_json_uniform_mesh0.000.00
    blueprint_3d_json_uniform_braid0.000.00
    blueprint_3d_json_uniform_radial0.000.00
    blueprint_3d_json_rect_mesh0.000.00
    blueprint_3d_json_rect_braid0.000.00
    blueprint_3d_json_rect_radial0.000.00
    blueprint_3d_json_struct_mesh0.000.00
    blueprint_3d_json_struct_braid0.000.00
    blueprint_3d_json_struct_radial0.000.00
    blueprint_3d_json_tets_mesh0.000.00
    blueprint_3d_json_tets_braid0.000.00
    blueprint_3d_json_tets_radial0.000.00
    blueprint_3d_json_hexs_mesh0.000.00
    blueprint_3d_json_hexs_braid0.000.00
    blueprint_3d_json_hexs_radial0.000.00
    3D Example HDF5 Mesh Files
    blueprint_3d_hdf5_points_mesh0.000.00
    blueprint_3d_hdf5_points_braid0.000.00
    blueprint_3d_hdf5_points_radial0.000.00
    blueprint_3d_hdf5_uniform_mesh0.000.00
    blueprint_3d_hdf5_uniform_braid0.000.00
    blueprint_3d_hdf5_uniform_radial0.000.00
    blueprint_3d_hdf5_rect_mesh0.000.00
    blueprint_3d_hdf5_rect_braid0.000.00
    blueprint_3d_hdf5_rect_radial0.000.00
    blueprint_3d_hdf5_struct_mesh0.000.00
    blueprint_3d_hdf5_struct_braid0.000.00
    blueprint_3d_hdf5_struct_radial0.000.00
    blueprint_3d_hdf5_tets_mesh0.000.00
    blueprint_3d_hdf5_tets_braid0.000.00
    blueprint_3d_hdf5_tets_radial0.000.00
    blueprint_3d_hdf5_hexs_mesh0.000.00
    blueprint_3d_hdf5_hexs_braid0.000.00
    blueprint_3d_hdf5_hexs_radial0.000.00
    3D Example Sidre HDF5 Mesh Files
    blueprint_3d_sidre_hdf5_points_mesh0.000.00
    blueprint_3d_sidre_hdf5_points_braid0.000.00
    blueprint_3d_sidre_hdf5_points_radial0.000.00
    blueprint_3d_sidre_hdf5_uniform_mesh0.000.00
    blueprint_3d_sidre_hdf5_uniform_braid0.000.00
    blueprint_3d_sidre_hdf5_uniform_radial0.000.00
    blueprint_3d_sidre_hdf5_rect_mesh0.000.00
    blueprint_3d_sidre_hdf5_rect_braid0.000.00
    blueprint_3d_sidre_hdf5_rect_radial0.000.00
    blueprint_3d_sidre_hdf5_struct_mesh0.000.00
    blueprint_3d_sidre_hdf5_struct_braid0.000.00
    blueprint_3d_sidre_hdf5_struct_radial0.000.00
    blueprint_3d_sidre_hdf5_tets_mesh0.000.00
    blueprint_3d_sidre_hdf5_tets_braid0.000.00
    blueprint_3d_sidre_hdf5_tets_radial0.000.00
    blueprint_3d_sidre_hdf5_hexs_mesh0.000.00
    blueprint_3d_sidre_hdf5_hexs_braid0.000.00
    blueprint_3d_sidre_hdf5_hexs_radial0.000.00
    MFEM Blueprint Example Data Tests
    blueprint_mfem_3d_periodic_cube_json_sol0.000.00
    blueprint_mfem_3d_periodic_cube_json_ele_coloring0.000.00
    blueprint_mfem_3d_periodic_cube_json_ele_att0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_bin_sol0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_bin_ele_coloring0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_bin_ele_att0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_json_sol0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_json_ele_coloring0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_json_ele_att0.000.00
    blueprint_mfem_3d_periodic_cube_hdf5_sol0.000.00
    blueprint_mfem_3d_periodic_cube_hdf5_ele_coloring0.000.00
    blueprint_mfem_3d_periodic_cube_hdf5_ele_att0.000.00
    blueprint_mfem_3d_star_q3_json_sol0.000.00
    blueprint_mfem_3d_star_q3_json_ele_coloring0.000.00
    blueprint_mfem_3d_star_q3_json_ele_att0.000.00
    blueprint_mfem_3d_star_q3_conduit_bin_sol0.000.00
    blueprint_mfem_3d_star_q3_conduit_bin_ele_coloring0.000.00
    blueprint_mfem_3d_star_q3_conduit_bin_ele_att0.000.00
    blueprint_mfem_3d_star_q3_conduit_json_sol0.000.00
    blueprint_mfem_3d_star_q3_conduit_json_ele_coloring0.000.00
    blueprint_mfem_3d_star_q3_conduit_json_ele_att0.000.00
    blueprint_mfem_3d_star_q3_hdf5_sol0.000.00
    blueprint_mfem_3d_star_q3_hdf5_ele_coloring0.000.00
    blueprint_mfem_3d_star_q3_hdf5_ele_att0.000.00
    blueprint_mfem_2d_periodic_hexagon_json_sol0.000.00
    blueprint_mfem_2d_periodic_hexagon_json_ele_coloring0.000.00
    blueprint_mfem_2d_periodic_hexagon_json_ele_att0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_bin_sol0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_bin_ele_coloring0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_bin_ele_att0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_json_sol0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_json_ele_coloring0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_json_ele_att0.000.00
    blueprint_mfem_2d_periodic_hexagon_hdf5_sol0.000.00
    blueprint_mfem_2d_periodic_hexagon_hdf5_ele_coloring0.000.00
    blueprint_mfem_2d_periodic_hexagon_hdf5_ele_att0.000.00
    MFEM LOR Mesh Blueprint Tests
    blueprint_mfem_3d_periodic_cube_json_lor0.000.00
    blueprint_mfem_3d_periodic_cube_json_legacy_lor0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_bin_lor0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_bin_legacy_lor0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_json_lor0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_json_legacy_lor0.000.00
    blueprint_mfem_3d_periodic_cube_hdf5_lor0.000.00
    blueprint_mfem_3d_periodic_cube_hdf5_legacy_lor0.000.00
    blueprint_mfem_3d_star_q3_json_lor0.000.00
    blueprint_mfem_3d_star_q3_json_legacy_lor0.000.00
    blueprint_mfem_3d_star_q3_conduit_bin_lor0.000.00
    blueprint_mfem_3d_star_q3_conduit_bin_legacy_lor0.000.00
    blueprint_mfem_3d_star_q3_conduit_json_lor0.000.00
    blueprint_mfem_3d_star_q3_conduit_json_legacy_lor0.000.00
    blueprint_mfem_3d_star_q3_hdf5_lor0.000.00
    blueprint_mfem_3d_star_q3_hdf5_legacy_lor0.000.00
    blueprint_mfem_2d_periodic_hexagon_json_lor2.260.21
    blueprint_mfem_2d_periodic_hexagon_json_legacy_lor2.260.21
    blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor2.260.21
    blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor2.260.21
    blueprint_mfem_2d_periodic_hexagon_conduit_json_lor2.260.21
    blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor2.260.21
    blueprint_mfem_2d_periodic_hexagon_hdf5_lor2.260.21
    blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor2.260.21
    blueprint_mfem_3d_esher_lor0.000.00
    blueprint_mfem_3d_esher_legacy_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_legacy_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_legacy_lor0.000.00
    blueprint_mfem_2d_tri_beam_lor79.490.41
    blueprint_mfem_2d_tri_beam_legacy_lor31.680.41
    blueprint_mfem_3d_warbly_cube_lor0.000.00
    blueprint_mfem_3d_warbly_cube_legacy_lor0.000.00
    MFEM LOR Field Blueprint Tests
    blueprint_mfem_3d_esher_pseudocolor_mesh_nodes_magnitude_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_mesh_nodes_magnitude_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_density_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_specific_internal_energy_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_velocity_magnitude_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_vector_velocity_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_pseudocolor_mesh_nodes_magnitude_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_pseudocolor_density_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_pseudocolor_specific_internal_energy_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_pseudocolor_velocity_magnitude_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_vector_velocity_lor0.000.00
    blueprint_mfem_2d_tri_beam_pseudocolor_mesh_nodes_magnitude_lor0.000.00
    blueprint_mfem_2d_tri_beam_vector_mesh_nodes_lor0.000.00
    blueprint_mfem_3d_warbly_cube_pseudocolor_mesh_nodes_magnitude_lor0.000.00
    Blueprint Expressions
    blueprint_expressions0.000.00
    Variables With Parens
    paren_vars_000.000.00
    Blueprint Matset Example Tests: venn_small_full
    venn_small_full_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_full Matvf Exprs
    venn_small_full_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_full Val4mat Exprs
    venn_small_full_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element
    venn_small_sparse_by_element_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element Matvf Exprs
    venn_small_sparse_by_element_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element Val4mat Exprs
    venn_small_sparse_by_element_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material
    venn_small_sparse_by_material_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material Matvf Exprs
    venn_small_sparse_by_material_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material Val4mat Exprs
    venn_small_sparse_by_material_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_full_yaml
    venn_small_full_yaml_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_full_yaml Matvf Exprs
    venn_small_full_yaml_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_yaml_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_yaml_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_yaml_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_full_yaml Val4mat Exprs
    venn_small_full_yaml_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_yaml_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_yaml_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_yaml_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element_yaml
    venn_small_sparse_by_element_yaml_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element_yaml Matvf Exprs
    venn_small_sparse_by_element_yaml_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_yaml_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_yaml_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_yaml_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element_yaml Val4mat Exprs
    venn_small_sparse_by_element_yaml_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_yaml_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_yaml_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_yaml_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material_yaml
    venn_small_sparse_by_material_yaml_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material_yaml Matvf Exprs
    venn_small_sparse_by_material_yaml_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_yaml_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_yaml_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_yaml_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material_yaml Val4mat Exprs
    venn_small_sparse_by_material_yaml_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_yaml_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_yaml_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_yaml_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Venn With Modded Material Numbers, 0.8.7
    Venn_with_modded_matnos0.000.00
    2D Example HDF5 Mesh Files, 0.8.2
    blueprint_2d_hdf5_0_8_2_points_mesh0.000.00
    blueprint_2d_hdf5_0_8_2_points_braid0.000.00
    blueprint_2d_hdf5_0_8_2_points_radial0.000.00
    blueprint_2d_hdf5_0_8_2_uniform_mesh2.740.64
    blueprint_2d_hdf5_0_8_2_uniform_braid0.000.00
    blueprint_2d_hdf5_0_8_2_uniform_radial0.000.00
    blueprint_2d_hdf5_0_8_2_rect_mesh2.740.64
    blueprint_2d_hdf5_0_8_2_rect_braid0.000.00
    blueprint_2d_hdf5_0_8_2_rect_radial0.000.00
    blueprint_2d_hdf5_0_8_2_struct_mesh2.740.64
    blueprint_2d_hdf5_0_8_2_struct_braid0.000.00
    blueprint_2d_hdf5_0_8_2_struct_radial0.000.00
    blueprint_2d_hdf5_0_8_2_tris_mesh1.870.64
    blueprint_2d_hdf5_0_8_2_tris_braid0.000.00
    blueprint_2d_hdf5_0_8_2_tris_radial0.000.00
    blueprint_2d_hdf5_0_8_2_quads_mesh2.740.64
    blueprint_2d_hdf5_0_8_2_quads_braid0.000.00
    blueprint_2d_hdf5_0_8_2_quads_radial0.000.00
    blueprint_2d_hdf5_0_8_2_points_implicit_mesh0.000.00
    blueprint_2d_hdf5_0_8_2_points_implicit_braid0.000.00
    blueprint_2d_hdf5_0_8_2_points_implicit_radial0.000.00
    2D Example YAML Mesh Files, 0.8.2
    blueprint_2d_yaml_0_8_2_points_mesh0.000.00
    blueprint_2d_yaml_0_8_2_points_braid0.000.00
    blueprint_2d_yaml_0_8_2_points_radial0.000.00
    blueprint_2d_yaml_0_8_2_uniform_mesh2.740.64
    blueprint_2d_yaml_0_8_2_uniform_braid0.000.00
    blueprint_2d_yaml_0_8_2_uniform_radial0.000.00
    blueprint_2d_yaml_0_8_2_rect_mesh2.740.64
    blueprint_2d_yaml_0_8_2_rect_braid0.000.00
    blueprint_2d_yaml_0_8_2_rect_radial0.000.00
    blueprint_2d_yaml_0_8_2_struct_mesh2.740.64
    blueprint_2d_yaml_0_8_2_struct_braid0.000.00
    blueprint_2d_yaml_0_8_2_struct_radial0.000.00
    blueprint_2d_yaml_0_8_2_tris_mesh1.870.64
    blueprint_2d_yaml_0_8_2_tris_braid0.000.00
    blueprint_2d_yaml_0_8_2_tris_radial0.000.00
    blueprint_2d_yaml_0_8_2_quads_mesh2.740.64
    blueprint_2d_yaml_0_8_2_quads_braid0.000.00
    blueprint_2d_yaml_0_8_2_quads_radial0.000.00
    blueprint_2d_yaml_0_8_2_points_implicit_mesh0.000.00
    blueprint_2d_yaml_0_8_2_points_implicit_braid0.000.00
    blueprint_2d_yaml_0_8_2_points_implicit_radial0.000.00
    3D Example HDF5 Mesh Files, 0.8.2
    blueprint_3d_hdf5_0_8_2_points_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_points_braid0.000.00
    blueprint_3d_hdf5_0_8_2_points_radial0.000.00
    blueprint_3d_hdf5_0_8_2_uniform_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_uniform_braid0.000.00
    blueprint_3d_hdf5_0_8_2_uniform_radial0.000.00
    blueprint_3d_hdf5_0_8_2_rect_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_rect_braid0.000.00
    blueprint_3d_hdf5_0_8_2_rect_radial0.000.00
    blueprint_3d_hdf5_0_8_2_struct_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_struct_braid0.000.00
    blueprint_3d_hdf5_0_8_2_struct_radial0.000.00
    blueprint_3d_hdf5_0_8_2_tets_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_tets_braid0.000.00
    blueprint_3d_hdf5_0_8_2_tets_radial0.000.00
    blueprint_3d_hdf5_0_8_2_hexs_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_hexs_braid0.000.00
    blueprint_3d_hdf5_0_8_2_hexs_radial0.000.00
    blueprint_3d_hdf5_0_8_2_points_implicit_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_points_implicit_braid0.000.00
    blueprint_3d_hdf5_0_8_2_points_implicit_radial0.000.00
    3D Example YAML Mesh Files, 0.8.2
    blueprint_3d_yaml_0_8_2_points_mesh0.000.00
    blueprint_3d_yaml_0_8_2_points_braid0.000.00
    blueprint_3d_yaml_0_8_2_points_radial0.000.00
    blueprint_3d_yaml_0_8_2_uniform_mesh0.000.00
    blueprint_3d_yaml_0_8_2_uniform_braid0.000.00
    blueprint_3d_yaml_0_8_2_uniform_radial0.000.00
    blueprint_3d_yaml_0_8_2_rect_mesh0.000.00
    blueprint_3d_yaml_0_8_2_rect_braid0.000.00
    blueprint_3d_yaml_0_8_2_rect_radial0.000.00
    blueprint_3d_yaml_0_8_2_struct_mesh0.000.00
    blueprint_3d_yaml_0_8_2_struct_braid0.000.00
    blueprint_3d_yaml_0_8_2_struct_radial0.000.00
    blueprint_3d_yaml_0_8_2_tets_mesh0.000.00
    blueprint_3d_yaml_0_8_2_tets_braid0.000.00
    blueprint_3d_yaml_0_8_2_tets_radial0.000.00
    blueprint_3d_yaml_0_8_2_hexs_mesh0.000.00
    blueprint_3d_yaml_0_8_2_hexs_braid0.000.00
    blueprint_3d_yaml_0_8_2_hexs_radial0.000.00
    blueprint_3d_yaml_0_8_2_points_implicit_mesh0.000.00
    blueprint_3d_yaml_0_8_2_points_implicit_braid0.000.00
    blueprint_3d_yaml_0_8_2_points_implicit_radial0.000.00
    Polygonal 2D Example HDF5 Mesh Files, 0.8.2
    blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh3.890.21
    blueprint_poly_2d_hdf5_0_8_2_mesh_topo_level0.000.00
    Polygonal 2D Example YAML Mesh Files, 0.8.2
    blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh3.890.21
    blueprint_poly_2d_yaml_0_8_2_mesh_topo_level0.000.00
    Polygonal 3D Example HDF5 Mesh Files, 0.8.2
    blueprint_poly_3d_hdf5_0_8_2_mesh_topo_mesh0.000.00
    blueprint_poly_3d_hdf5_0_8_2_mesh_topo_level0.000.00
    Polygonal 3D Example YAML Mesh Files, 0.8.2
    blueprint_poly_3d_yaml_0_8_2_mesh_topo_mesh0.000.00
    blueprint_poly_3d_yaml_0_8_2_mesh_topo_level0.000.00
    Blueprint with Partition Map Style Index, 0.8.4
    bp_part_map_index_example0.000.00
    bp_part_map_index_single_file_example0.000.00
    bp_sparse_topos_example9.750.88
    bp_part_map_spiral_case_-10.000.00
    bp_part_map_spiral_case_00.000.00
    bp_part_map_spiral_case_10.000.00
    bp_part_map_spiral_case_20.000.00
    bp_part_map_spiral_case_30.000.00
    bp_part_map_spiral_case_40.000.00
    bp_part_map_spiral_case_50.000.00
    bp_part_map_spiral_case_60.000.00
    bp_part_map_spiral_case_70.000.00
    bp_part_map_spiral_case_80.000.00
    Blueprint Strided Structured, 0.8.4
    bp_strided_struct_2d_ele_vals0.000.00
    bp_strided_struct_2d_vert_vals0.000.00
    bp_strided_struct_3d_ele_vals0.000.00
    bp_strided_struct_3d_vert_vals0.000.00
    Blueprint RZ Examples, 0.8.6
    blueprint_rz_cyl_rectilinear.root_plot_2D0.590.64
    blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D0.000.00
    blueprint_rz_cyl_uniform.root_plot_2D0.590.64
    blueprint_rz_cyl_uniform.root_plot_revolved_to_3D0.000.00
    blueprint_rz_cyl_structured.root_plot_2D0.590.63
    blueprint_rz_cyl_structured.root_plot_revolved_to_3D0.000.00
    blueprint_rz_cyl_unstructured.root_plot_2D0.590.63
    blueprint_rz_cyl_unstructured.root_plot_revolved_to_3D0.000.00
    Blueprint 1D Curve Examples, 0.8.6
    blueprint_1d_curve_vertex_assoc0.000.00
    blueprint_1d_curve_element_assoc0.130.00
    Blueprint Polytopal Mesh Missing Offsets, 0.8.7
    Polytopal_mesh_missing_offsets1.310.42
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_axom_klee.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_axom_klee.html new file mode 100644 index 000000000..0c06a916e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_axom_klee.html @@ -0,0 +1,144 @@ + +Results for databases/blueprint_axom_klee.py + +

    Results of VisIt Regression Test - databases/blueprint_axom_klee

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    P0 Material
    blueprint_axom_klee_0_000.000.00
    P2 Material
    blueprint_axom_klee_1_000.000.00
    blueprint_axom_klee_1_010.000.00
    blueprint_axom_klee_1_020.000.00
    blueprint_axom_klee_1_030.000.00
    P5 Material
    blueprint_axom_klee_2_000.000.00
    blueprint_axom_klee_2_010.000.00
    blueprint_axom_klee_2_020.000.00
    blueprint_axom_klee_2_030.000.00
    matvf on HO materials
    blueprint_axom_klee_3_000.000.00
    blueprint_axom_klee_3_010.000.00
    blueprint_axom_klee_3_020.000.00
    blueprint_axom_klee_3_030.000.00
    blueprint_axom_klee_3_040.000.00
    blueprint_axom_klee_3_050.000.00
    blueprint_axom_klee_3_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_axom_klee_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_axom_klee_py.html new file mode 100644 index 000000000..7ef83d08e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_axom_klee_py.html @@ -0,0 +1,151 @@ +databases/blueprint_axom_klee.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  blueprint_axom_klee.py 
    +#
    +#  Tests:      blueprint hdf5 files 
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed May 31 15:59:22 PDT 2023
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Blueprint")
    +from os.path import join as pjoin
    +
    +def bj_test_helper(datadir, prefix, sectionText):
    +    TestSection(sectionText)
    +    db = data_path(pjoin("axom_klee_test_data", datadir, "shaping.root"))
    +    OpenDatabase(db)
    +    AddPlot("FilledBoundary", "shaping_mesh_material")
    +    fb = FilledBoundaryAttributes(1)
    +    fb.SetMultiColor(0, (255,0,0,255))
    +    fb.SetMultiColor(1, (0,255,0,255))
    +    fb.SetMultiColor(2, (0,0,255,255))
    +    fb.SetMultiColor(3, (0,255,255,255))
    +    SetPlotOptions(fb)
    +    AddPlot("Mesh", "shaping_mesh")
    +    DrawPlots()
    +    v = GetView2D()
    +    v.windowCoords = (7.83773, 12.304, 8.64959, 13.1412)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v)
    +    SetActivePlots((0,1))
    +
    +    Test(prefix + "_00")
    +
    +    # Increase the resolution.
    +    AddOperator("MultiresControl", 1)
    +    m = MultiresControlAttributes()
    +    m.resolution = 4
    +    m.maxResolution = 10
    +    SetOperatorOptions(m)
    +    DrawPlots()
    +    Test(prefix + "_01")
    +
    +    v2 = GetView2D()
    +    v2.windowCoords = (9.50025, 10.5163, 10.8769, 11.9097)
    +    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v2)
    +    Test(prefix + "_02")
    +
    +    # Look at one of the volume fractions. It should be refined
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "shaping_mesh/vol_frac_steel", 1, 1)
    +    DrawPlots()
    +    SetView2D(v)
    +    Test(prefix + "_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test0():
    +    TestSection("P0 Material")
    +    db = data_path(pjoin("axom_klee_test_data", "heroic_roses_o0", "shaping.root"))
    +    OpenDatabase(db)
    +
    +    AddPlot("FilledBoundary", "shaping_mesh_material")
    +    fb = FilledBoundaryAttributes(1)
    +    fb.SetMultiColor(0, (0,0,0,255))
    +    fb.SetMultiColor(1, (80,80,220,255))
    +    fb.SetMultiColor(2, (93,241,160,255))
    +    fb.SetMultiColor(3, (0,120,0,255))
    +    fb.SetMultiColor(4, (90,100,50,255))
    +    fb.SetMultiColor(5, (241,132,171,255))
    +    fb.SetMultiColor(6, (184,158,241,255))
    +    fb.SetMultiColor(7, (240,0,0,255))
    +    fb.SetMultiColor(8, (255,153,0,255))
    +    SetPlotOptions(fb)
    +    DrawPlots()
    +    ResetView()
    +    Test("blueprint_axom_klee_0_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test1():
    +    bj_test_helper("balls_and_jacks_q7o2", "blueprint_axom_klee_1", "P2 Material")
    +
    +def test2():
    +    bj_test_helper("balls_and_jacks_q7o5", "blueprint_axom_klee_2", "P5 Material")
    +
    +def test3():
    +    TestSection("matvf on HO materials")
    +    db = data_path(pjoin("axom_klee_test_data", "3mat_q12o12", "shaping.root"))
    +    OpenDatabase(db)
    +
    +    AddPlot("FilledBoundary", "shaping_mesh_material")
    +    AddOperator("MultiresControl")
    +    op = MultiresControlAttributes()
    +    op.resolution = 16
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    Test("blueprint_axom_klee_3_00")
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression("vf_inner", 'matvf(shaping_mesh_material, "inner")')
    +    DefineScalarExpression("vf_middle", 'matvf(shaping_mesh_material, "middle")')
    +    DefineScalarExpression("vf_outer", 'matvf(shaping_mesh_material, "outer")')
    +    AddPlot("Pseudocolor", "vf_inner")
    +    AddOperator("MultiresControl")
    +    op = MultiresControlAttributes()
    +    op.resolution = 3
    +    op.maxResolution = 20
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    Test("blueprint_axom_klee_3_01")
    +    op.resolution = 20
    +    SetOperatorOptions(op)
    +    Test("blueprint_axom_klee_3_02")
    +
    +    ChangeActivePlotsVar("vf_middle")
    +    op.resolution = 3
    +    SetOperatorOptions(op)
    +    Test("blueprint_axom_klee_3_03")
    +    op.resolution = 20
    +    SetOperatorOptions(op)
    +    Test("blueprint_axom_klee_3_04")
    +
    +    ChangeActivePlotsVar("vf_outer")
    +    op.resolution = 3
    +    SetOperatorOptions(op)
    +    Test("blueprint_axom_klee_3_05")
    +    op.resolution = 20
    +    SetOperatorOptions(op)
    +    Test("blueprint_axom_klee_3_06")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def main():
    +    test0()
    +    test1()
    +    test2()
    +    test3()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_export.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_export.html new file mode 100644 index 000000000..6514b2b94 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_export.html @@ -0,0 +1,551 @@ + +Results for databases/blueprint_export.py + +

    Results of VisIt Regression Test - databases/blueprint_export

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    basic_multi_rect3d.silo_input0.000.00
    basic_multi_rect3d.silo_isosurface0.000.00
    basic_multi_rect3d.silo_default_exported0.000.00
    basic_multi_rect3d.silo_isosurface_exported0.000.00
    basic_multi_curv3d.silo_input0.000.00
    basic_multi_curv3d.silo_isosurface0.000.00
    basic_multi_curv3d.silo_default_exported0.000.00
    basic_multi_curv3d.silo_isosurface_exported0.000.00
    basic_multi_curv2d.silo_input0.000.00
    basic_multi_curv2d.silo_isosurface0.000.00
    basic_multi_curv2d.silo_default_exported0.000.00
    basic_multi_curv2d.silo_isosurface_exported0.000.00
    basic_multi_ucd3d.silo_input0.000.00
    basic_multi_ucd3d.silo_isosurface0.000.00
    basic_multi_ucd3d.silo_default_exported0.000.00
    basic_multi_ucd3d.silo_isosurface_exported0.000.00
    basic_multi_rect2d.silo_input0.000.00
    basic_multi_rect2d.silo_isosurface0.000.00
    basic_multi_rect2d.silo_default_exported0.000.00
    basic_multi_rect2d.silo_isosurface_exported0.000.00
    Blueprint partition
    multi_rect3d.silo0.000.00
    multi_rect3d.silo_partition1_0_0.000.00
    multi_rect3d.silo_partition1_1_0.000.00
    multi_rect3d.silo_partition4_0_0.000.00
    multi_rect3d.silo_partition4_1_0.000.00
    multi_rect3d.silo_partition19_0_0.000.00
    multi_rect3d.silo_partition19_1_0.000.00
    multi_rect3d.silo_partition45_0_0.000.00
    multi_rect3d.silo_partition45_1_0.000.00
    multi_curv3d.silo0.000.00
    multi_curv3d.silo_partition1_0_0.000.00
    multi_curv3d.silo_partition1_1_0.000.00
    multi_curv3d.silo_partition4_0_9.680.03
    multi_curv3d.silo_partition4_1_0.000.00
    multi_curv3d.silo_partition19_0_4.660.02
    multi_curv3d.silo_partition19_1_0.000.00
    multi_curv3d.silo_partition45_0_0.000.00
    multi_curv3d.silo_partition45_1_0.000.00
    multi_ucd3d.silo0.000.00
    multi_ucd3d.silo_partition1_0_0.000.00
    multi_ucd3d.silo_partition1_1_0.000.00
    multi_ucd3d.silo_partition4_0_0.980.00
    multi_ucd3d.silo_partition4_1_0.000.00
    multi_ucd3d.silo_partition19_0_0.000.00
    multi_ucd3d.silo_partition19_1_0.000.00
    multi_ucd3d.silo_partition45_0_0.000.00
    multi_ucd3d.silo_partition45_1_0.000.00
    multi_curv2d.silo0.000.00
    multi_curv2d.silo_partition1_0_0.000.00
    multi_curv2d.silo_partition1_1_0.000.00
    multi_curv2d.silo_partition4_0_0.000.00
    multi_curv2d.silo_partition4_1_0.000.00
    multi_curv2d.silo_partition7_0_0.000.00
    multi_curv2d.silo_partition7_1_0.000.00
    multi_curv2d.silo_partition13_0_0.000.00
    multi_curv2d.silo_partition13_1_0.000.00
    multi_curv2d.silo_partition19_0_0.000.00
    multi_curv2d.silo_partition19_1_0.000.00
    multi_rect2d.silo0.000.00
    multi_rect2d.silo_partition1_0_0.000.00
    multi_rect2d.silo_partition1_1_0.000.00
    multi_rect2d.silo_partition4_0_0.000.00
    multi_rect2d.silo_partition4_1_0.000.00
    multi_rect2d.silo_partition7_0_0.000.00
    multi_rect2d.silo_partition7_1_0.000.00
    multi_rect2d.silo_partition13_0_0.000.00
    multi_rect2d.silo_partition13_1_0.000.00
    multi_rect2d.silo_partition19_0_0.000.00
    multi_rect2d.silo_partition19_1_0.000.00
    Extra options
    DefaultMesh0.000.00
    JSONOptions0.000.00
    YAMLOptions0.000.00
    OverrideOptions0.000.00
    Blueprint flatten
    noise.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    noise.silo.csv-element_data.csv0 modifications totalling 0 lines
    multi_rect3d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    multi_rect3d.silo.csv-element_data.csv0 modifications totalling 0 lines
    structured_multi_rect3d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    structured_multi_rect3d.silo.csv-element_data.csv0 modifications totalling 0 lines
    unstructured_multi_rect3d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    unstructured_multi_rect3d.silo.csv-element_data.csv0 modifications totalling 0 lines
    multi_rect2d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    multi_rect2d.silo.csv-element_data.csv0 modifications totalling 0 lines
    structured_multi_rect2d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    structured_multi_rect2d.silo.csv-element_data.csv0 modifications totalling 0 lines
    ucd2d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    ucd2d.silo.csv-element_data.csv0 modifications totalling 0 lines
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_export_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_export_py.html new file mode 100644 index 000000000..88ee17aba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_export_py.html @@ -0,0 +1,504 @@ +databases/blueprint_export.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial parallel
    +#  CLASSES: nightly
    +#
    +#  Test Case:  blueprint_export.py
    +#
    +#  Tests:      Tests blueprint export features "partition" and "flatten".
    +#
    +#  Programmer: Christopher Laganella
    +#  Date:       Tue Dec 14 12:35:16 EST 2021
    +#
    +#  Modifications:
    +#
    +#  Chris Laganella, Mon Feb 14 14:39:48 EST 2022
    +#  I added a test case for user provided JSON/YAML options
    +# ----------------------------------------------------------------------------
    +import time
    +import sys
    +import os.path
    +
    +# Uncomment these functions to run the script through the regular CLI
    +# def Exit():
    +#     print("Exiting test...")
    +#     return
    +
    +# def RequiredDatabasePlugin(name):
    +#     print("This test requires database plugin " + name)
    +#     return
    +
    +# def TestSection(name):
    +#     print("---- " + name + " ----")
    +#     return
    +
    +# def Test(name):
    +#     s = SaveWindowAttributes()
    +#     s.fileName = name
    +#     SetSaveWindowAttributes(s)
    +#     SaveWindow()
    +#     return
    +
    +# def TestText(name):
    +#     print("Testing text file {}".format(name))
    +
    +# def silo_data_path(name):
    +#     retval = os.path.join("/mnt/data/il/VisIt/VisItClass/data", name)
    +#     # print(retval)
    +#     return retval
    +
    +def load_text(file_name):
    +    # print("Loading text from {}".format(os.path.abspath(file_name)), file=sys.stderr)
    +    with open(file_name, 'r') as f:
    +        return f.read()
    +
    +def set_view(case_name, view=None):
    +    if "2d" in case_name:
    +        ResetView()
    +    else:
    +        SetView3D(view)
    +
    +
    +def test_name(case, i):
    +    return case + "_" + str(i) + "_"
    +
    +# Export DB as bp data set
    +def export_mesh_bp(case_name, varname):
    +    export_name = case_name
    +    e = ExportDBAttributes()
    +    e.db_type = "Blueprint"
    +    e.filename = export_name
    +    e.variables = (varname,)
    +    ExportDatabase(e)
    +    time.sleep(1)
    +    return export_name + ".cycle_000000.root"
    +
    +# Export DB as csv, return the folder name
    +def create_csv_output(case_name):
    +    export_name = case_name
    +    e = ExportDBAttributes()
    +    e.db_type = "Blueprint"
    +    e.filename = export_name
    +    e.variables = ('mesh_coords', 'zc_mesh_coords')
    +    opts = GetExportOptions("Blueprint")
    +    opts["Operation"] = "Flatten_CSV"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    return export_name + ".csv"
    +
    +def test_csv_output(case_name):
    +    vert_file = os.path.join(case_name, "vertex_data.csv")
    +    elem_file = os.path.join(case_name, "element_data.csv")
    +    vert_baseline = case_name + "-" + "vertex_data.csv"
    +    elem_baseline = case_name + "-" + "element_data.csv"
    +    TestText(vert_baseline, load_text(vert_file))
    +    TestText(elem_baseline, load_text(elem_file))
    +
    +def define_mesh_expressions(mesh_name):
    +    DefineScalarExpression("nid", "nodeid({})".format(mesh_name))
    +    DefineScalarExpression("zid", "zoneid({})".format(mesh_name))
    +    DefineScalarExpression("mesh_coords", "coords({})".format(mesh_name))
    +    DefineScalarExpression("zc_mesh_coords", "recenter(mesh_coords, \"zonal\")")
    +    return ("nid", "zid", "mesh_coords", "zc_mesh_coords")
    +
    +# 's' for structured 'r' for rectilinear
    +def flatten_multi_2d_case(case):
    +    case_name = "multi_rect2d.silo"
    +    mesh_name = "mesh1"
    +    export_name = case_name
    +
    +    # Use multi_rect3d to create all cases
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Mesh", mesh_name)
    +
    +    # Define some mesh based variables
    +    vars = define_mesh_expressions(mesh_name)
    +
    +    AddOperator("Resample")
    +    ra = ResampleAttributes()
    +    ra.samplesX = 5
    +    ra.samplesY = 4
    +    ra.is3D = 0
    +    ra.distributedResample = 1
    +    SetOperatorOptions(ra)
    +
    +    AddOperator("DeferExpression")
    +    dea = DeferExpressionAttributes()
    +    dea.exprs = vars
    +    SetOperatorOptions(dea)
    +
    +    if case == 's':
    +        AddOperator("Transform")
    +        ta = TransformAttributes()
    +        ta.doRotate = 1
    +        # ta.rotateType = "Deg"
    +        ta.rotateAmount = 0.00001
    +        SetOperatorOptions(ta)
    +        export_name = "structured_" + case_name
    +
    +    DrawPlots()
    +
    +    # Create csv file
    +    export_dir = create_csv_output(export_name)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    # Test text
    +    test_csv_output(export_dir)
    +
    +def flatten_multi_2d_unstructured_case():
    +    case_name = "ucd2d.silo"
    +    mesh_name = "ucdmesh2d"
    +    export_name = case_name
    +
    +    # Use multi_curv2d and remove cells
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Mesh", mesh_name)
    +
    +    # Define some mesh based variables
    +    vars = define_mesh_expressions(mesh_name)
    +
    +    AddOperator("Threshold")
    +    ta = ThresholdAttributes()
    +    ta.listedVarNames = ("zid",)
    +    ta.lowerBounds = (8,)
    +    ta.upperBounds = (11,)
    +    SetOperatorOptions(ta)
    +    export_name = case_name
    +
    +    AddOperator("DeferExpression")
    +    dea = DeferExpressionAttributes()
    +    dea.exprs = ("mesh_coords", "zc_mesh_coords")
    +    SetOperatorOptions(dea)
    +
    +    DrawPlots()
    +
    +    # Create csv file
    +    export_dir = create_csv_output(export_name)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    # Test text
    +    test_csv_output(export_dir)
    +
    +# case = 'u' for unstructured, 'r' for rectilinear, 's' for structured
    +def flatten_multi_3d_case(case):
    +    case_name = "multi_rect3d.silo"
    +    mesh_name = "mesh1"
    +    export_name = case_name
    +    # Use multi_rect3d to create all cases
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Mesh", mesh_name)
    +
    +    # Define some mesh based variables
    +    vars = define_mesh_expressions(mesh_name)
    +
    +    AddOperator("Resample")
    +    ra = ResampleAttributes()
    +    ra.samplesX = 5
    +    ra.samplesY = 4
    +    ra.samplesZ = 3
    +    ra.distributedResample = 1
    +    SetOperatorOptions(ra)
    +
    +    AddOperator("DeferExpression")
    +    dea = DeferExpressionAttributes()
    +    dea.exprs = vars
    +    SetOperatorOptions(dea)
    +
    +    if case == 'u':
    +        AddOperator("Threshold")
    +        ta = ThresholdAttributes()
    +        ta.listedVarNames = ("zid",)
    +        ta.lowerBounds = (1,)
    +        SetOperatorOptions(ta)
    +        export_name = "unstructured_" + case_name
    +    elif case == 's':
    +        AddOperator("Transform")
    +        ta = TransformAttributes()
    +        ta.doRotate = 1
    +        # ta.rotateType = "Deg"
    +        ta.rotateAmount = 0.00001
    +        SetOperatorOptions(ta)
    +        export_name = "structured_" + case_name
    +    # Do nothing for rectilinear
    +
    +    DrawPlots()
    +
    +    # Create csv file
    +    export_dir = create_csv_output(export_name)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    # Test text
    +    test_csv_output(export_dir)
    +
    +def flatten_noise():
    +    case_name = "noise.silo"
    +    mesh_name = "Mesh"
    +    samples = (5, 4, 3)
    +
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Mesh", mesh_name)
    +
    +    # Expose coordinates as variables
    +    vars = define_mesh_expressions(mesh_name)
    +
    +    # Resample
    +    AddOperator("Resample")
    +    ra = ResampleAttributes()
    +    ra.samplesX = samples[0]
    +    ra.samplesY = samples[1]
    +    ra.samplesZ = samples[2]
    +    SetOperatorOptions(ra)
    +
    +    AddOperator("DeferExpression")
    +    dea = DeferExpressionAttributes()
    +    dea.exprs = vars
    +    SetOperatorOptions(dea)
    +
    +    DrawPlots()
    +
    +    # Create the CSV output
    +    export_dir = create_csv_output(case_name)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    # Test text
    +    test_csv_output(export_dir)
    +
    +def partition_test_case(case_name, targets, view=None):
    +    # Write the original dataset
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    set_view(case_name, view)
    +    Test(case_name)
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    for target in targets:
    +        export_name = case_name + "_partition" + str(target)
    +        export_filename = export_name + ".cycle_000000.root"
    +
    +        # Plot the original dataset
    +        OpenDatabase(silo_data_path(case_name))
    +        AddPlot("Pseudocolor", "u")
    +        DrawPlots()
    +        set_view(case_name, view)
    +
    +        # Set the export database attributes.
    +        e = ExportDBAttributes()
    +        e.db_type = "Blueprint"
    +        e.filename = export_name
    +        e.variables = ("u")
    +        opts = GetExportOptions("Blueprint")
    +        opts["Operation"] = "Partition"
    +        opts["Partition target number of domains"] = target
    +        print("About to partition " + case_name + " into "
    +            + str(target) + " blocks.")
    +        ExportDatabase(e, opts)
    +        time.sleep(1)
    +        DeleteAllPlots()
    +        CloseDatabase(silo_data_path(case_name))
    +
    +        OpenDatabase(export_filename)
    +        AddPlot("Pseudocolor", "mesh_topo/u")
    +        DrawPlots()
    +        set_view(case_name, view)
    +        Test(test_name(export_name, 0))
    +        DeleteAllPlots()
    +
    +        AddPlot("Subset", "domains")
    +        DrawPlots()
    +        set_view(case_name, view)
    +        Test(test_name(export_name, 1))
    +        DeleteAllPlots()
    +        CloseDatabase(export_filename)
    +
    +def partition_test_extra_options():
    +    dbname = "multi_rect2d.silo"
    +    TestSection("Extra options")
    +    OpenDatabase(silo_data_path(dbname))
    +    AddPlot("Subset", "domains(mesh1)")
    +    DrawPlots()
    +    Test("DefaultMesh")
    +
    +    # Test JSON
    +    e0 = ExportDBAttributes()
    +    e0.db_type = "Blueprint"
    +    e0.filename = "multi_rect2d_json_target_1"
    +    e0.variables = ("u")
    +    opts0 = GetExportOptions("Blueprint")
    +    opts0["Operation"] = "Partition"
    +    opts0["Flatten / Partition extra options"] = '{"target": 1}'
    +    ExportDatabase(e0, opts0)
    +    time.sleep(1)
    +
    +    # Test YAML
    +    e1 = ExportDBAttributes()
    +    e1.db_type = "Blueprint"
    +    e1.filename = "multi_rect2d_yaml_target_1"
    +    e1.variables = ("u")
    +    opts1 = GetExportOptions("Blueprint")
    +    opts1["Operation"] = "Partition"
    +    opts1["Flatten / Partition extra options"]  = 'target: 1'
    +    ExportDatabase(e1, opts1)
    +    time.sleep(1)
    +
    +    # Test that the JSON/YAML overrides the options field
    +    e2 = ExportDBAttributes()
    +    e2.db_type = "Blueprint"
    +    e2.filename = "multi_rect2d_override_target_1"
    +    e2.variables = ("u")
    +    opts2 = GetExportOptions("Blueprint")
    +    opts2["Operation"] = "Partition"
    +    opts2["Partition target number of domains"] = 13
    +    opts2["Flatten / Partition extra options"]  = 'target: 1'
    +    ExportDatabase(e2, opts2)
    +    time.sleep(1)
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(dbname))
    +
    +    OpenDatabase("multi_rect2d_json_target_1.cycle_000000.root")
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("JSONOptions")
    +    DeleteAllPlots()
    +    CloseDatabase("multi_rect2d_json_target_1.cycle_000000.root")
    +
    +    OpenDatabase("multi_rect2d_yaml_target_1.cycle_000000.root")
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("YAMLOptions")
    +    DeleteAllPlots()
    +    CloseDatabase("multi_rect2d_yaml_target_1.cycle_000000.root")
    +
    +    OpenDatabase("multi_rect2d_override_target_1.cycle_000000.root")
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("OverrideOptions")
    +    DeleteAllPlots()
    +    CloseDatabase("multi_rect2d_override_target_1.cycle_000000.root")
    +
    +def basic_test_case(case_name, varname = "d"):
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Pseudocolor",varname)
    +    DrawPlots()
    +    Test("basic_" + case_name + "_input")
    +    # export default
    +    export_rfile_default = export_mesh_bp(case_name + "_default", varname)
    +    # export post isosurface
    +    AddOperator("Isosurface")
    +    DrawPlots()
    +    Test("basic_" + case_name + "_isosurface")
    +    export_rfile_isos = export_mesh_bp(case_name + "_isosurface", varname)
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    OpenDatabase(export_rfile_default)
    +    # bp var names are qualified by topo
    +    AddPlot("Pseudocolor","mesh_topo/" + varname)
    +    DrawPlots()
    +    Test("basic_" + case_name + "_default_exported")
    +    DeleteAllPlots()
    +    CloseDatabase(export_rfile_default)
    +
    +    OpenDatabase(export_rfile_isos)
    +    # bp var names are qualified by topo
    +    AddPlot("Pseudocolor", "mesh_topo/" + varname)
    +    DrawPlots()
    +    Test("basic_" + case_name + "_isosurface_exported")
    +    DeleteAllPlots()
    +    CloseDatabase(export_rfile_isos)
    +
    +
    +def test_basic():
    +    basic_test_case("multi_rect3d.silo")
    +    basic_test_case("multi_curv3d.silo")
    +    basic_test_case("multi_curv2d.silo")
    +    basic_test_case("multi_ucd3d.silo")
    +    basic_test_case("multi_rect2d.silo")
    +
    +def test_flatten():
    +    TestSection("Blueprint flatten")
    +
    +    flatten_noise()
    +    flatten_multi_3d_case('r')
    +    flatten_multi_3d_case('s')
    +    flatten_multi_3d_case('u')
    +
    +    flatten_multi_2d_case('r')
    +    flatten_multi_2d_case('s')
    +    flatten_multi_2d_unstructured_case()
    +
    +def test_partition():
    +    TestSection("Blueprint partition")
    +
    +    # Need a couple different views
    +    rect3d_view = GetView3D()
    +    rect3d_view.viewNormal = (-0.467474, 0.301847, 0.830877)
    +    rect3d_view.focus = (0.5, 0.5, 0.5)
    +    rect3d_view.viewUp = (0.140705, 0.953323, -0.267166)
    +    rect3d_view.viewAngle = 30
    +    rect3d_view.parallelScale = 0.866025
    +    rect3d_view.nearPlane = -1.73205
    +    rect3d_view.farPlane = 1.73205
    +    rect3d_view.imagePan = (-0.0154649, 0.027457)
    +    rect3d_view.imageZoom = 1.14276
    +    rect3d_view.perspective = 1
    +    rect3d_view.eyeAngle = 2
    +    rect3d_view.centerOfRotationSet = 0
    +    rect3d_view.centerOfRotation = (0.5, 0.5, 0.5)
    +    rect3d_view.axis3DScaleFlag = 0
    +    rect3d_view.axis3DScales = (1, 1, 1)
    +    rect3d_view.shear = (0, 0, 1)
    +    rect3d_view.windowValid = 1
    +
    +    curv3d_view = GetView3D()
    +    curv3d_view.viewNormal = (-0.254971, 0.246468, 0.93501)
    +    curv3d_view.focus = (0, 2.5, 15)
    +    curv3d_view.viewUp = (0.0453522, 0.968953, -0.243049)
    +    curv3d_view.viewAngle = 30
    +    curv3d_view.parallelScale = 16.0078
    +    curv3d_view.nearPlane = -32.0156
    +    curv3d_view.farPlane = 32.0156
    +    curv3d_view.imagePan = (0, 0)
    +    curv3d_view.imageZoom = 1.21
    +    curv3d_view.perspective = 1
    +    curv3d_view.eyeAngle = 2
    +    curv3d_view.centerOfRotationSet = 0
    +    curv3d_view.centerOfRotation = (0, 2.5, 15)
    +    curv3d_view.axis3DScaleFlag = 0
    +    curv3d_view.axis3DScales = (1, 1, 1)
    +    curv3d_view.shear = (0, 0, 1)
    +    curv3d_view.windowValid = 1
    +
    +    # Run 3D tests
    +    targets_3d = (1, 4, 19, 45)
    +    partition_test_case("multi_rect3d.silo",
    +        targets_3d, rect3d_view)
    +    partition_test_case("multi_curv3d.silo",
    +        targets_3d, curv3d_view)
    +    partition_test_case("multi_ucd3d.silo",
    +        targets_3d, curv3d_view)
    +
    +    # Run 2D tests
    +    targets_2d = (1, 4, 7, 13, 19)
    +    partition_test_case("multi_curv2d.silo",
    +        targets_2d)
    +    partition_test_case("multi_rect2d.silo",
    +        targets_2d)
    +
    +    # Test extra options
    +    partition_test_extra_options()
    +
    +RequiredDatabasePlugin("Blueprint")
    +test_basic()
    +test_partition()
    +test_flatten()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_py.html new file mode 100644 index 000000000..4b3158c18 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_blueprint_py.html @@ -0,0 +1,761 @@ +databases/blueprint.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  blueprint.py 
    +#
    +#  Tests:      blueprint hdf5 files 
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Thu Jun 16 10:56:37 PDT 2016
    +#
    +#  Modifications:
    +#
    +#    Alister Maguire, Fri Jul 17 16:29:50 PDT 2020
    +#    Added a test to ensure that variables containing parentheses
    +#    are able to be visualized.
    +#
    +#    Justin Privitera Fri 04 Mar 2022 05:57:49 PM PST
    +#    Added tests to test new implicit points topologies.
    +# 
    +#    Justin Privitera, Mon May 23 17:53:56 PDT 2022
    +#    Added polytopal tests.
    +# 
    +#    Justin Privitera, Mon May 23 17:53:56 PDT 2022
    +#    Added mfem lor tests.
    +#
    +#    Cyrus Harrison, Thu Dec 22 13:53:17 PST 2022
    +#    Added bp part map and initial strided structured tests/ 
    +#
    +#    Cyrus Harrison, Mon, Mar 20, 2023  3:34:04 PM 
    +#    Added rz test examples
    +# 
    +#    Justin Privitera, Wed Mar 22 16:09:52 PDT 2023
    +#    Added 1d curve test examples.
    +# 
    +#    Justin Privitera, Fri Mar 24 17:47:26 PDT 2023
    +#    Fixed view issue for mfem lor vector field tests.
    +#    Fixed an issue where test names had two consecutive underscores.
    +# 
    +#    Justin Privitera, Tue Sep 19 11:36:45 PDT 2023
    +#    Added a test for material numbers not in the range [0, N)
    +# 
    +#    Justin Privitera, Wed Oct 25 17:29:07 PDT 2023
    +#    Added a test for a polygonal mesh with no offsets.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Blueprint")
    +
    +from os.path import join as pjoin
    +
    +bp_test_dir = "blueprint_v0.3.1_test_data"
    +bp_venn_test_dir = "blueprint_v0.7.0_venn_test_data"
    +bp_mfem_test_dir = "blueprint_v0.3.1_mfem_test_data"
    +bp_0_8_2_test_dir = "blueprint_v0.8.2_braid_examples_test_data"
    +bp_poly_test_dir = "blueprint_v0.8.2_polytess_test_data"
    +bp_devilray_mfem_test_dir = "blueprint_v0.8.3_devilray_mfem_test_data"
    +bp_part_map_test_dir = "blueprint_v0.8.4_part_map_examples"
    +bp_struct_strided_test_dir = "blueprint_v0.8.4_strided_structured_examples"
    +bp_rz_test_dir = "blueprint_v0.8.6_rz_examples"
    +bp_1d_curve_test_dir = "blueprint_v0.8.6_1d_curve_examples"
    +bp_venn_modded_matnos_dir = "blueprint_v0.8.7_venn_modded_matnos_example"
    +bp_poly_no_offsets_dir = "blueprint_v0.8.7_polytopal_mesh_no_offsets"
    +
    +braid_2d_hdf5_root = data_path(pjoin(bp_test_dir,"braid_2d_examples.blueprint_root_hdf5"))
    +braid_3d_hdf5_root = data_path(pjoin(bp_test_dir,"braid_3d_examples.blueprint_root_hdf5"))
    +
    +braid_2d_json_root = data_path(pjoin(bp_test_dir,"braid_2d_examples_json.root"))
    +braid_3d_json_root = data_path(pjoin(bp_test_dir,"braid_3d_examples_json.root"))
    +
    +braid_2d_sidre_root = data_path(pjoin(bp_test_dir,"braid_2d_sidre_examples.root"))
    +braid_3d_sidre_root = data_path(pjoin(bp_test_dir,"braid_3d_sidre_examples.root"))
    +
    +braid_2d_0_8_2_hdf5_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_2d_examples_hdf5.root"))
    +braid_3d_0_8_2_hdf5_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_3d_examples_hdf5.root"))
    +braid_2d_0_8_2_yaml_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_2d_examples_yaml.root"))
    +braid_3d_0_8_2_yaml_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_3d_examples_yaml.root"))
    +
    +poly_2d_hdf5_root = data_path(pjoin(bp_poly_test_dir,"polytess_example_hdf5.root"))
    +poly_2d_yaml_root = data_path(pjoin(bp_poly_test_dir,"polytess_example_yaml.root"))
    +poly_3d_hdf5_root = data_path(pjoin(bp_poly_test_dir,"polytess_3d_example_hdf5.root"))
    +poly_3d_yaml_root = data_path(pjoin(bp_poly_test_dir,"polytess_3d_example_yaml.root"))
    +
    +uniform_root = data_path(pjoin(bp_test_dir,"uniform.cycle_001038.root"))
    +
    +#
    +# venn test data (multi material)
    +#
    +
    +venn_full_root  =  data_path(pjoin(bp_venn_test_dir,
    +                             "venn_small_example_full_hdf5.root"))
    +venn_s_by_e_root  =  data_path(pjoin(bp_venn_test_dir,
    +                               "venn_small_example_sparse_by_element_hdf5.root"))
    +
    +venn_s_by_m_root  =  data_path(pjoin(bp_venn_test_dir,
    +                               "venn_small_example_sparse_by_material_hdf5.root"))
    +
    +venn_full_yaml_root  =  data_path(pjoin(bp_venn_test_dir,
    +                             "venn_small_example_full_yaml.root"))
    +venn_s_by_e_yaml_root  =  data_path(pjoin(bp_venn_test_dir,
    +                               "venn_small_example_sparse_by_element_yaml.root"))
    +
    +venn_s_by_m_yaml_root  =  data_path(pjoin(bp_venn_test_dir,
    +                               "venn_small_example_sparse_by_material_yaml.root"))
    +
    +venn_modded_matnos_root = data_path(pjoin(bp_venn_modded_matnos_dir,
    +                                "venn_w_modded_matnos.root"))
    +
    +polytopal_mesh_no_offsets_root = data_path(pjoin(bp_poly_no_offsets_dir,
    +                                "polytopal_mesh_no_offsets.root"))
    +
    +bp_part_map_root = data_path(pjoin(bp_part_map_test_dir,
    +                             "tout_custom_part_map_index_hdf5.root"))
    +
    +bp_part_map_single_file_root = data_path(pjoin(bp_part_map_test_dir,
    +                                         "tout_single_file_part_map_index_hdf5.root"))
    +
    +bp_spiral_part_map_examples = []
    +for i in range(-1,9):
    +    bp_spiral_part_map_examples.append(data_path(pjoin(bp_part_map_test_dir,
    +                                       "tout_relay_spiral_mesh_save_nfiles_{0}.cycle_000000.root".format(i))))
    +
    +bp_sparse_topos_root = data_path(pjoin(bp_part_map_test_dir,
    +                                        "tout_relay_bp_mesh_sparse_topos_hdf5.root"))
    +
    +
    +bp_struct_strided_2d_root = data_path(pjoin(bp_struct_strided_test_dir,
    +                                      "strided_structured_2d_hdf5.root"));
    +
    +
    +bp_struct_strided_3d_root = data_path(pjoin(bp_struct_strided_test_dir,
    +                                      "strided_structured_3d_hdf5.root"));
    +
    +bp_rz_examples = []
    +bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_rectilinear.root")))
    +bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_uniform.root")))
    +bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_structured.root")))
    +bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_unstructured.root")))
    +
    +bp_1d_curve_examples = [data_path(pjoin(bp_1d_curve_test_dir,"curves_1d.root"))]
    +
    +braid_2d_meshes = ["points", "uniform", "rect", "struct", "tris","quads"]
    +braid_3d_meshes = ["points", "uniform", "rect", "struct", "tets","hexs"]
    +
    +braid_2d_meshes_0_8_2 = ["points", "uniform", "rect", "struct", "tris","quads", "points_implicit"]
    +braid_3d_meshes_0_8_2 = ["points", "uniform", "rect", "struct", "tets","hexs", "points_implicit"]
    +
    +class mfem_ex9_example:
    +    def __init__(self, name, dim):
    +        self.name = name
    +        self.dim = dim
    +
    +mfem_ex9_examples = []
    +mfem_ex9_examples.append(mfem_ex9_example("periodic_cube", "3d"))
    +mfem_ex9_examples.append(mfem_ex9_example("star_q3", "3d"))
    +mfem_ex9_examples.append(mfem_ex9_example("periodic_hexagon", "2d"))
    +mfem_ex9_protocols = ["json","conduit_bin","conduit_json","hdf5"]
    +
    +class devilray_mfem_example:
    +    def __init__(self, name, number, pseudo_fields, vector_fields, dim):
    +        self.name = name
    +        self.number = number
    +        self.pseudo_fields = pseudo_fields
    +        self.vector_fields = vector_fields
    +        self.dim = dim
    +
    +devilray_mfem_examples = []
    +devilray_mfem_examples.append(devilray_mfem_example("esher", "000000", ["mesh_nodes_magnitude"], [], "3d"))
    +devilray_mfem_examples.append(devilray_mfem_example("laghos_tg.cycle", "000350", ["mesh_nodes_magnitude", "density", "specific_internal_energy", "velocity_magnitude"], ["velocity"], "3d"))
    +devilray_mfem_examples.append(devilray_mfem_example("taylor_green.cycle", "001860", ["mesh_nodes_magnitude", "density", "specific_internal_energy", "velocity_magnitude"], ["velocity"], "3d"))
    +devilray_mfem_examples.append(devilray_mfem_example("tri_beam", "000000", ["mesh_nodes_magnitude"], ["mesh_nodes"], "2d"))
    +devilray_mfem_examples.append(devilray_mfem_example("warbly_cube", "000000", ["mesh_nodes_magnitude"], [], "3d"))
    +
    +def full_mesh_name(mesh_name):
    +    return mesh_name + "_mesh"
    +
    +def full_var_name(mesh_name,var_name):
    +    return full_mesh_name(mesh_name) + "/" + var_name
    +
    +def mfem_test_file(name, protocol):
    +    return data_path(pjoin(bp_mfem_test_dir,"bp_mfem_ex9_%s_%s_000000.root" % ( name, protocol)))
    +
    +def devilray_mfem_test_file(name, number):
    +    return data_path(pjoin(bp_devilray_mfem_test_dir, name + "_" + number + ".root"))
    +
    +def set_3d_view():
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.510614, 0.302695, 0.804767)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (-0.0150532, 0.932691, -0.360361)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def set_3d_poly_view():
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.50151, -0.632781, 0.589979)
    +    v.focus = (-2.46025e-13, 6.43929e-14, 4.5)
    +    v.viewUp = (0.364523, 0.463898, 0.807416)
    +    v.viewAngle = 30
    +    v.parallelScale = 7.93494
    +    v.nearPlane = -15.8699
    +    v.farPlane = 15.8699
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (-2.46025e-13, 6.43929e-14, 4.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +
    +def set_test_view(tag_name):
    +    if "3d" in tag_name:
    +        if "poly" in tag_name:
    +            set_3d_poly_view()
    +        else:
    +            set_3d_view()
    +    else:
    +        ResetView()
    +
    +def test(mesh_name,tag_name):
    +    #
    +    AddPlot("Mesh","%s" % full_mesh_name(mesh_name))
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  mesh_name + "_mesh")
    +    DeleteAllPlots()
    +    ResetView()
    +    #
    +    AddPlot("Pseudocolor", full_var_name(mesh_name,"braid"))
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  mesh_name + "_braid")
    +    DeleteAllPlots()
    +    ResetView()
    +    #
    +    AddPlot("Pseudocolor", full_var_name(mesh_name,"radial"))
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  mesh_name + "_radial")
    +    DeleteAllPlots()
    +    ResetView()
    +
    +def test_poly(tag_name):
    +    #
    +    AddPlot("Mesh", "mesh_topo")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_mesh_topo_mesh")
    +    DeleteAllPlots()
    +    ResetView()
    +    #
    +    AddPlot("Pseudocolor", "mesh_topo/level")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_mesh_topo_level")
    +    DeleteAllPlots()
    +    ResetView()
    +
    +def test_mfem(tag_name, example_name, protocol):
    +    readOptions = GetDefaultFileOpenOptions("Blueprint")
    +    readOptions["MFEM LOR Setting"] = "Legacy LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +
    +    dbfile = mfem_test_file(example_name,protocol)
    +    OpenDatabase(dbfile)
    +    #
    +    AddPlot("Pseudocolor", "mesh_main/solution")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  example_name + "_" + protocol + "_sol")
    +    #
    +    DeleteAllPlots()
    +    ResetView()
    +    AddPlot("Pseudocolor", "mesh_main/element_coloring")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  example_name + "_" + protocol + "_ele_coloring")
    +    #
    +    DeleteAllPlots()
    +    ResetView()
    +    AddPlot("Pseudocolor", "mesh_main/element_attribute")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  example_name + "_" + protocol + "_ele_att")
    +    #
    +    DeleteAllPlots()
    +    ResetView()
    +
    +    CloseDatabase(dbfile)
    +
    +    # reset read options to default
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +
    +def test_mfem_lor_mesh(tag_name, example_name, protocol, devilray = False, number = "000000"):
    +    dbfile = ""
    +    if (devilray):
    +        dbfile = devilray_mfem_test_file(example_name, number)
    +    else:
    +        dbfile = mfem_test_file(example_name, protocol)
    +
    +    # get default options
    +    readOptions = GetDefaultFileOpenOptions("Blueprint")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    # we want to test a picture of a wireframe
    +    # new LOR should only have the outer edge
    +    AddPlot("Subset", "mesh_main")
    +    SubsetAtts = SubsetAttributes()
    +    SubsetAtts.wireframe = 1
    +    SetPlotOptions(SubsetAtts)
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  example_name + ("_" + protocol if not devilray else "") + "_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(dbfile)
    +
    +    ##############################
    +
    +    # examine legacy
    +    readOptions = GetDefaultFileOpenOptions("Blueprint")
    +    readOptions["MFEM LOR Setting"] = "Legacy LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    # old LOR leaves a busy wireframe
    +    AddPlot("Subset", "mesh_main")
    +    SubsetAtts = SubsetAttributes()
    +    SubsetAtts.wireframe = 1
    +    SetPlotOptions(SubsetAtts)
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  example_name + ("_" + protocol if not devilray else "") + "_legacy_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(dbfile)
    +
    +    # restore default
    +    readOptions = GetDefaultFileOpenOptions("Blueprint")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +
    +def test_mfem_lor_field(tag_name, name, number, pseudocolor_fields, vector_fields):
    +    readOptions = GetDefaultFileOpenOptions("Blueprint")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +    dbfile = devilray_mfem_test_file(name, number)
    +    OpenDatabase(dbfile)
    +
    +    for field in pseudocolor_fields:
    +        AddPlot("Pseudocolor", "mesh_main/" + field, 1, 1)
    +        AddOperator("MultiresControl", 1)
    +        SetActivePlots(0)
    +        MultiresControlAtts = MultiresControlAttributes()
    +        MultiresControlAtts.resolution = 3
    +        SetOperatorOptions(MultiresControlAtts, 0, 1)
    +        set_test_view(tag_name)
    +        DrawPlots()
    +        Test(tag_name + "_" + name + "_pseudocolor_" + field + "_lor")
    +        DeleteAllPlots()
    +        ResetView()
    +
    +    for field in vector_fields:
    +        AddPlot("Vector", "mesh_main/" + field, 1, 1)
    +        AddOperator("MultiresControl", 1)
    +        SetActivePlots(0)
    +        MultiresControlAtts = MultiresControlAttributes()
    +        MultiresControlAtts.resolution = 3
    +        SetOperatorOptions(MultiresControlAtts, 0, 1)
    +        set_test_view(tag_name)
    +        DrawPlots()
    +        Test(tag_name + "_" + name + "_vector_" + field + "_lor")
    +        DeleteAllPlots()
    +        ResetView()
    +
    +    CloseDatabase(dbfile)
    +
    +def test_venn(tag_name, venn_db_file):
    +    TestSection("Blueprint Matset Example Tests: {0} ".format(tag_name))
    +    OpenDatabase(venn_db_file)
    +    AddPlot("Pseudocolor", "mesh_topo/mat_check")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_mat_check")
    +    # value check
    +    Query("minmax")
    +    res = GetQueryOutputObject()
    +    print(res)
    +    # We expect:
    +    #int(res["max"]) == 4320
    +    #int(res["min"]) == 1
    +    TestValueEQ("testeq_t_mat_check_max",int(res["max"]),4320)
    +    TestValueEQ("testeq_mat_check_min",int(res["min"]),1)
    +    DeleteAllPlots()
    +    ResetView()
    +
    +
    +    TestSection("Blueprint Matset Example Tests: {0} Matvf Exprs".format(tag_name))
    +
    +    # check all volume fractions
    +    vf_exprs = {"vf_bg":'matvf(mesh_topo_matset,"background")',
    +                "vf_c_a":'matvf(mesh_topo_matset,"circle_a")',
    +                "vf_c_b":'matvf(mesh_topo_matset,"circle_b")',
    +                "vf_c_c":'matvf(mesh_topo_matset,"circle_c")'}
    +
    +    for ename,edef in vf_exprs.items():
    +        DefineScalarExpression(ename,edef);
    +        AddPlot("Pseudocolor", ename)
    +        set_test_view(tag_name)
    +        DrawPlots()
    +        Test(tag_name + "_" + ename)
    +        # value check
    +        Query("minmax")
    +        res = GetQueryOutputObject()
    +        print(res)
    +        # We expect:
    +        #res["max"] == 1.0
    +        #res["min"] == 0.0
    +        TestValueEQ("testeq_" + ename + "_max",res["max"],1.0)
    +        TestValueEQ("testeq_" + ename + "_min",res["min"],0.0)
    +        DeleteAllPlots()
    +        ResetView()
    +
    +    TestSection("Blueprint Matset Example Tests: {0} Val4mat Exprs".format(tag_name))
    +
    +    # check all volume fractions
    +    v4m_exprs = {"v4m_bg":'val4mat(<mesh_topo/mat_check>,"background")',
    +                 "v4m_c_a":'val4mat(<mesh_topo/mat_check>,"circle_a")',
    +                 "v4m_c_b":'val4mat(<mesh_topo/mat_check>,"circle_b")',
    +                 "v4m_c_c":'val4mat(<mesh_topo/mat_check>,"circle_c")'}
    +
    +    v4m_test_vals = {"v4m_bg":     1,
    +                     "v4m_c_a":   20,
    +                     "v4m_c_b":  300,
    +                     "v4m_c_c": 4000}
    +
    +    for ename,edef in v4m_exprs.items():
    +        DefineScalarExpression(ename,edef);
    +        AddPlot("Pseudocolor", ename)
    +        set_test_view(tag_name)
    +        DrawPlots()
    +        Test(tag_name + "_" + ename)
    +        # value check
    +        Query("minmax")
    +        # We expect:
    +        res = GetQueryOutputObject()
    +        print(res)
    +        #int(res["max"]) == v4m_test_vals[ename]
    +        #int(res["min"]) == 0
    +        TestValueEQ("testeq_" + ename + "_max",int(res["max"]),v4m_test_vals[ename])
    +        TestValueEQ("testeq_" + ename + "_min",int(res["min"]),0)
    +        DeleteAllPlots()
    +        ResetView()
    +
    +
    +    CloseDatabase(venn_db_file)
    +
    +def test_rz_example(tag_name, rz_db_file):
    +    OpenDatabase(rz_db_file)
    +    AddPlot("Pseudocolor", "mesh_topo/cyl")
    +    AddPlot("Mesh", "mesh_topo")
    +    DrawPlots()
    +    ResetView()
    +    Test(tag_name + "_plot_2D")
    +    DeleteAllPlots()
    +    ResetView()
    +    # now revolve
    +    AddPlot("Pseudocolor", "mesh_topo/cyl")
    +    AddOperator("Revolve")
    +    DrawPlots()
    +    ResetView()
    +    Test(tag_name + "_plot_revolved_to_3D")
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(rz_db_file)
    +
    +
    +def test_paren_vars():
    +    TestSection("Variables With Parens")
    +
    +    #
    +    # Testing bugfix for issue #4882.
    +    #
    +    OpenDatabase(uniform_root)
    +    AddPlot("Pseudocolor", "mesh_topo/rho.Y_lp_CH2O_rp_")
    +    set_test_view("3d")
    +    DrawPlots()
    +    Test("paren_vars_00")
    +
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(uniform_root)
    +
    +
    +TestSection("2D Example JSON Mesh Files")
    +OpenDatabase(braid_2d_json_root)
    +for mesh_name in braid_2d_meshes:
    +    test(mesh_name,"blueprint_2d_json")
    +CloseDatabase(braid_2d_json_root)
    +
    +TestSection("2D Example HDF5 Mesh Files")
    +OpenDatabase(braid_2d_hdf5_root)
    +for mesh_name in braid_2d_meshes:
    +    test(mesh_name,"blueprint_2d_hdf5")
    +CloseDatabase(braid_2d_hdf5_root)
    +
    +TestSection("2D Example Sidre HDF5 Mesh Files")
    +OpenDatabase(braid_2d_sidre_root)
    +for mesh_name in braid_2d_meshes:
    +    test(mesh_name,"blueprint_2d_sidre_hdf5")
    +CloseDatabase(braid_2d_sidre_root)
    +
    +TestSection("3D Example JSON Mesh Files")
    +OpenDatabase(braid_3d_json_root)
    +for mesh_name in braid_3d_meshes:
    +    test(mesh_name,"blueprint_3d_json")
    +CloseDatabase(braid_3d_json_root)
    +
    +TestSection("3D Example HDF5 Mesh Files")
    +OpenDatabase(braid_3d_hdf5_root)
    +for mesh_name in braid_3d_meshes:
    +    test(mesh_name,"blueprint_3d_hdf5")
    +CloseDatabase(braid_3d_hdf5_root)
    +
    +TestSection("3D Example Sidre HDF5 Mesh Files")
    +OpenDatabase(braid_3d_sidre_root)
    +for mesh_name in braid_3d_meshes:
    +    test(mesh_name,"blueprint_3d_sidre_hdf5")
    +CloseDatabase(braid_3d_sidre_root)
    +
    +TestSection("MFEM Blueprint Example Data Tests")
    +for example in mfem_ex9_examples:
    +    for protocol in mfem_ex9_protocols:
    +        test_mfem("blueprint_mfem_" + example.dim, example.name, protocol)
    +
    +TestSection("MFEM LOR Mesh Blueprint Tests")
    +for example in mfem_ex9_examples:
    +    for protocol in mfem_ex9_protocols:
    +        test_mfem_lor_mesh("blueprint_mfem_" + example.dim, example.name, protocol)
    +for example in devilray_mfem_examples:
    +    test_mfem_lor_mesh("blueprint_mfem_" + example.dim, example.name, "", devilray = True, number = example.number)
    +
    +TestSection("MFEM LOR Field Blueprint Tests")
    +for example in devilray_mfem_examples:
    +    test_mfem_lor_field("blueprint_mfem_" + example.dim, example.name, example.number, example.pseudo_fields, example.vector_fields)
    +
    +TestSection("Blueprint Expressions")
    +OpenDatabase(braid_2d_json_root)
    +AddPlot("Pseudocolor", "uniform_mesh/scalar_expr")
    +AddPlot("Vector", "uniform_mesh/vector_expr")
    +DrawPlots()
    +set_test_view("2d")
    +Test("blueprint_expressions")
    +DeleteAllPlots()
    +ResetView()
    +CloseDatabase(braid_2d_json_root)
    +
    +test_paren_vars()
    +
    +test_venn("venn_small_full", venn_full_root)
    +test_venn("venn_small_sparse_by_element", venn_s_by_e_root)
    +test_venn("venn_small_sparse_by_material", venn_s_by_m_root)
    +
    +test_venn("venn_small_full_yaml", venn_full_yaml_root)
    +test_venn("venn_small_sparse_by_element_yaml", venn_s_by_e_yaml_root)
    +test_venn("venn_small_sparse_by_material_yaml", venn_s_by_m_yaml_root)
    +
    +TestSection("Venn With Modded Material Numbers, 0.8.7")
    +OpenDatabase(venn_modded_matnos_root)
    +AddPlot("FilledBoundary", "mesh_topo_matset")
    +DrawPlots()
    +ResetView()
    +Test("Venn_with_modded_matnos")
    +DeleteAllPlots()
    +ResetView()
    +
    +TestSection("2D Example HDF5 Mesh Files, 0.8.2")
    +OpenDatabase(braid_2d_0_8_2_hdf5_root)
    +for mesh_name in braid_2d_meshes_0_8_2:
    +    test(mesh_name,"blueprint_2d_hdf5_0_8_2")
    +CloseDatabase(braid_2d_0_8_2_hdf5_root)
    +
    +TestSection("2D Example YAML Mesh Files, 0.8.2")
    +OpenDatabase(braid_2d_0_8_2_yaml_root)
    +for mesh_name in braid_2d_meshes_0_8_2:
    +    test(mesh_name,"blueprint_2d_yaml_0_8_2")
    +CloseDatabase(braid_2d_0_8_2_yaml_root)
    +
    +TestSection("3D Example HDF5 Mesh Files, 0.8.2")
    +OpenDatabase(braid_3d_0_8_2_hdf5_root)
    +for mesh_name in braid_3d_meshes_0_8_2:
    +    test(mesh_name,"blueprint_3d_hdf5_0_8_2")
    +CloseDatabase(braid_3d_0_8_2_hdf5_root)
    +
    +TestSection("3D Example YAML Mesh Files, 0.8.2")
    +OpenDatabase(braid_3d_0_8_2_yaml_root)
    +for mesh_name in braid_3d_meshes_0_8_2:
    +    test(mesh_name,"blueprint_3d_yaml_0_8_2")
    +CloseDatabase(braid_3d_0_8_2_yaml_root)
    +
    +# test polygonal mesh
    +TestSection("Polygonal 2D Example HDF5 Mesh Files, 0.8.2")
    +OpenDatabase(poly_2d_hdf5_root)
    +test_poly("blueprint_poly_2d_hdf5_0_8_2")
    +CloseDatabase(poly_2d_hdf5_root)
    +
    +TestSection("Polygonal 2D Example YAML Mesh Files, 0.8.2")
    +OpenDatabase(poly_2d_yaml_root)
    +test_poly("blueprint_poly_2d_yaml_0_8_2")
    +CloseDatabase(poly_2d_yaml_root)
    +
    +# test 3d polygonal mesh
    +TestSection("Polygonal 3D Example HDF5 Mesh Files, 0.8.2")
    +OpenDatabase(poly_3d_hdf5_root)
    +test_poly("blueprint_poly_3d_hdf5_0_8_2")
    +CloseDatabase(poly_3d_hdf5_root)
    +
    +TestSection("Polygonal 3D Example YAML Mesh Files, 0.8.2")
    +OpenDatabase(poly_3d_yaml_root)
    +test_poly("blueprint_poly_3d_yaml_0_8_2")
    +CloseDatabase(poly_3d_yaml_root)
    +
    +
    +TestSection("Blueprint with Partition Map Style Index, 0.8.4")
    +OpenDatabase(bp_part_map_root)
    +AddPlot("Subset","domains")
    +DrawPlots()
    +Test("bp_part_map_index_example")
    +DeleteAllPlots()
    +CloseDatabase(bp_part_map_root)
    +# single file test case
    +OpenDatabase(bp_part_map_single_file_root)
    +AddPlot("Pseudocolor","mesh_mesh/braid")
    +DrawPlots()
    +Test("bp_part_map_index_single_file_example")
    +DeleteAllPlots()
    +CloseDatabase(bp_part_map_single_file_root)
    +# sparse topos case
    +# single file test case
    +OpenDatabase(bp_sparse_topos_root)
    +AddPlot("Pseudocolor","mesh_topo/topo_field")
    +AddPlot("Pseudocolor","mesh_pts_topo/pts_field")
    +# change plot adds so we can see the points
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointSize = 1
    +pc_atts.pointType = pc_atts.Sphere
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("bp_sparse_topos_example")
    +DeleteAllPlots()
    +CloseDatabase(bp_sparse_topos_root)
    +
    +# other spiral test cases, which have both index styles
    +for i, root_file in enumerate(bp_spiral_part_map_examples):
    +    OpenDatabase(root_file)
    +    AddPlot("Subset","domains")
    +    DrawPlots()
    +    # spiral cases are labeled -1 to 8
    +    case_name = "bp_part_map_spiral_case_{0}".format(i-1)
    +    Test(case_name)
    +    DeleteAllPlots()
    +    CloseDatabase(root_file)
    +
    +
    +TestSection("Blueprint Strided Structured, 0.8.4")
    +# 2d
    +OpenDatabase(bp_struct_strided_2d_root)
    +# ele vals
    +AddPlot("Pseudocolor", "mesh_mesh/ele_vals")
    +AddPlot("Pseudocolor", "mesh_orig_pts/orig_ele_vals")
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointSize = 0.5
    +pc_atts.pointType = pc_atts.Sphere
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("bp_strided_struct_2d_ele_vals")
    +DeleteAllPlots()
    +# vert vals
    +AddPlot("Pseudocolor", "mesh_mesh/vert_vals")
    +AddPlot("Pseudocolor", "mesh_orig_pts/orig_vert_vals")
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointSize = 0.5
    +pc_atts.pointType = pc_atts.Sphere
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("bp_strided_struct_2d_vert_vals")
    +DeleteAllPlots()
    +CloseDatabase(bp_struct_strided_2d_root)
    +
    +# 2d
    +OpenDatabase(bp_struct_strided_3d_root)
    +# ele vals
    +AddPlot("Pseudocolor", "mesh_mesh/ele_vals")
    +AddPlot("Pseudocolor", "mesh_orig_pts/orig_ele_vals")
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointSize = 0.5
    +pc_atts.pointType = pc_atts.Sphere
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("bp_strided_struct_3d_ele_vals")
    +DeleteAllPlots()
    +# vert vals
    +AddPlot("Pseudocolor", "mesh_mesh/vert_vals")
    +AddPlot("Pseudocolor", "mesh_orig_pts/orig_vert_vals")
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointSize = 0.5
    +pc_atts.pointType = pc_atts.Sphere
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("bp_strided_struct_3d_vert_vals")
    +DeleteAllPlots()
    +CloseDatabase(bp_struct_strided_3d_root)
    +
    +TestSection("Blueprint RZ Examples, 0.8.6")
    +for db in bp_rz_examples:
    +    tag_name = os.path.basename(os.path.split(db)[1])
    +    test_rz_example(tag_name,db)
    +
    +TestSection("Blueprint 1D Curve Examples, 0.8.6")
    +for db in bp_1d_curve_examples:
    +    OpenDatabase(db)
    +    AddPlot("Curve", "mesh_topo/field_v")
    +    DrawPlots()
    +    Test("blueprint_1d_curve_vertex_assoc")
    +    DeleteAllPlots()
    +    AddPlot("Curve", "mesh_topo/field_e")
    +    DrawPlots()
    +    Test("blueprint_1d_curve_element_assoc")
    +    DeleteAllPlots()
    +
    +TestSection("Blueprint Polytopal Mesh Missing Offsets, 0.8.7")
    +OpenDatabase(polytopal_mesh_no_offsets_root)
    +AddPlot("Mesh", "mesh_test")
    +AddPlot("Pseudocolor", "mesh_test/field")
    +DrawPlots()
    +ResetView()
    +Test("Polytopal_mesh_missing_offsets")
    +DeleteAllPlots()
    +ResetView()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_bov.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_bov.html new file mode 100644 index 000000000..c1efdde8d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_bov.html @@ -0,0 +1,441 @@ + +Results for databases/bov.py + +

    Results of VisIt Regression Test - databases/bov

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Reading BOV file of FLOAT
    bov_0_000.000.00
    bov_0_010 modifications totalling 0 lines
    bov_0_020.000.00
    bov_0_030.000.00
    bov_0_040.000.00
    bov_0_05100.0038.73
    bov_0_060.000.00
    Decomposing BOV of FLOAT into smaller bricks
    bov_1_000.000.00
    bov_1_010 modifications totalling 0 lines
    bov_1_020.000.00
    bov_1_030.000.00
    bov_1_040.000.00
    bov_1_050.010.00
    bov_1_060.000.00
    Decomposing BOV of FLOAT with small header into smaller bricks
    bov_2_000.000.00
    bov_2_010 modifications totalling 0 lines
    bov_2_020.000.00
    bov_2_030.000.00
    bov_2_040.000.00
    bov_2_050.010.00
    bov_2_060.000.00
    Reading BOV file of DOUBLE
    bov_3_000.000.00
    bov_3_010 modifications totalling 0 lines
    bov_3_020.000.00
    bov_3_030.000.00
    bov_3_040.000.00
    bov_3_05100.0038.73
    bov_3_060.000.00
    Decomposing BOV of DOUBLE into smaller bricks
    bov_4_000.000.00
    bov_4_010 modifications totalling 0 lines
    bov_4_020.000.00
    bov_4_030.000.00
    bov_4_040.000.00
    bov_4_050.010.00
    bov_4_060.000.00
    Decomposing BOV of DOUBLE with small header into smaller bricks
    bov_5_000.000.00
    bov_5_010 modifications totalling 0 lines
    bov_5_020.000.00
    bov_5_030.000.00
    bov_5_040.000.00
    bov_5_050.010.00
    bov_5_060.000.00
    Reading BOV file of INT
    bov_6_000.000.00
    bov_6_010 modifications totalling 0 lines
    bov_6_020.000.00
    bov_6_030.000.00
    bov_6_040.000.00
    bov_6_05100.0038.73
    bov_6_060.000.00
    Decomposing BOV of INT into smaller bricks
    bov_7_000.000.00
    bov_7_010 modifications totalling 0 lines
    bov_7_020.000.00
    bov_7_030.000.00
    bov_7_040.000.00
    bov_7_050.010.00
    bov_7_060.000.00
    Decomposing BOV of INT with small header into smaller bricks
    bov_8_000.000.00
    bov_8_010 modifications totalling 0 lines
    bov_8_020.000.00
    bov_8_030.000.00
    bov_8_040.000.00
    bov_8_050.010.00
    bov_8_060.000.00
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_bov_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_bov_py.html new file mode 100644 index 000000000..dd2508050 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_bov_py.html @@ -0,0 +1,205 @@ +databases/bov.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  bov.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, multiple domain
    +#              plots     - Pseudocolor, Subset, Label, Contour
    +#              operators - Slice
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Mar 17 14:37:45 PST 2006
    +#
    +#  Modifications:
    +#    Brad Whitlock, Thu May 4 14:02:29 PST 2006
    +#    Added testing of INT and DOUBLE BOV files.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def SaveTestImage(name):
    +    # Save these images somewhat larger than a regular test case image
    +    # since the images contain a lot of text.
    +    backup = GetSaveWindowAttributes()
    +    swa = SaveWindowAttributes()
    +    swa.width = 500
    +    swa.height = 500
    +    swa.screenCapture = 0
    +    Test(name, swa)
    +    SetSaveWindowAttributes(backup)
    +
    +def TestBOVDivide(prefix, db, doSubset):
    +    # Take a picture to make sure that the division took. There will be
    +    # a lot of bricks.
    +    OpenDatabase(db)
    +
    +    if doSubset:
    +        AddPlot("Subset", "bricks")
    +        subAtts = SubsetAttributes()
    +        subAtts.legendFlag = 0
    +        SetPlotOptions(subAtts)
    +    else:
    +        AddPlot("Pseudocolor", "myvar")
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (0.534598, 0.40012, 0.744385)
    +    v.focus = (15, 15, 15)
    +    v.viewUp = (-0.228183, 0.916444, -0.32873)
    +    v.viewAngle = 30
    +    v.parallelScale = 8.66025
    +    v.nearPlane = -17.3205
    +    v.farPlane = 17.3205
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (15, 15, 15)
    +    SetView3D(v)
    +    Test(prefix + "00")
    +
    +    # Make sure there are the right number of zones.
    +    Query("NumZones",use_actual_data=0)
    +    TestText(prefix + "01", GetQueryOutputString())
    +
    +    # Let's slice a few times to make sure that crucial areas have the
    +    # right values
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Label", "myvar")
    +    L = LabelAttributes()
    +    L.textFont1.scale = 5
    +    L.textFont2.scale = 5
    +    SetPlotOptions(L)
    +    SetActivePlots((0,1,2))
    +    AddOperator("Slice")
    +    s = SliceAttributes()
    +    s.originType = s.Intercept  # Point, Intercept, Percent, Zone, Node
    +    s.originIntercept = 10.001
    +    s.normal = (0, 0, 1)
    +    s.axisType = s.ZAxis  # XAxis, YAxis, ZAxis, Arbitrary
    +    s.upAxis = (0, 1, 0)
    +    s.project2d = 1
    +    SetOperatorOptions(s)
    +    DrawPlots()
    +    v2 = GetView2D()
    +    v2.windowCoords = (12.0201, 13.0004, 9.99781, 10.9888)
    +    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v2.fullFrameActivationMode = v2.Auto  # On, Off, Auto
    +    v2.fullFrameAutoThreshold = 100
    +    SetView2D(v2)
    +    SaveTestImage(prefix+"02")
    +
    +    # Move to another slice on the far edge that will have the max zone #
    +    s.originIntercept = 19.998
    +    SetOperatorOptions(s)
    +    v3 = View2DAttributes()
    +    v3.windowCoords = (19.2017, 20.0179, 19.1966, 20.0217)
    +    v3.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v3.fullFrameActivationMode = v3.Auto  # On, Off, Auto
    +    v3.fullFrameAutoThreshold = 100
    +    SetView2D(v3)
    +    SaveTestImage(prefix+"03")
    +
    +    # Move to another slice in the middle.
    +    s.originIntercept = 15.01
    +    SetOperatorOptions(s)
    +    v4 = View2DAttributes()
    +    v4.windowCoords = (14.6419, 15.361, 15.638, 16.365)
    +    v4.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v4.fullFrameActivationMode = v4.Auto  # On, Off, Auto
    +    v4.fullFrameAutoThreshold = 100
    +    SetView2D(v4)
    +    SaveTestImage(prefix+"04")
    +    DeleteAllPlots()
    +
    +    # Test that ghost zones are right.
    +    AddPlot("Pseudocolor", "myvar")
    +    p = PseudocolorAttributes()
    +    p.SetOpacityType(p.Constant)
    +    p.opacity = 0.25
    +    SetPlotOptions(p)
    +    DrawPlots()
    +    v5 = View3DAttributes()
    +    v5.viewNormal = (0.772475, 0.402431, 0.491255)
    +    v5.focus = (15, 15, 15)
    +    v5.viewUp = (-0.355911, 0.915018, -0.18992)
    +    v5.viewAngle = 30
    +    v5.parallelScale = 8.66025
    +    v5.nearPlane = -17.3205
    +    v5.farPlane = 17.3205
    +    v5.imagePan = (-0.0253114, 0.0398304)
    +    v5.imageZoom = 1.20806
    +    v5.perspective = 1
    +    v5.eyeAngle = 2
    +    v5.centerOfRotationSet = 0
    +    v5.centerOfRotation = (15, 15, 15)
    +    SetView3D(v5)
    +    Test(prefix+"05")
    +
    +    # Zoom in on a contour plot to make sure that there are no tears.
    +    # This means that the ghost zones were created properly.
    +    ClearWindow()
    +    p.SetOpacityType(p.FullyOpaque)
    +    SetPlotOptions(p)
    +    AddOperator("Isosurface")
    +    iso = IsosurfaceAttributes()
    +    iso.variable = "radial"
    +    SetOperatorOptions(iso)
    +    DrawPlots()
    +    v6 = View3DAttributes()
    +    v6.viewNormal = (0.373168, 0.412282, 0.831125)
    +    v6.focus = (15, 15, 15)
    +    v6.viewUp = (-0.181836, 0.910964, -0.370244)
    +    v6.viewAngle = 30
    +    v6.parallelScale = 8.66025
    +    v6.nearPlane = -17.3205
    +    v6.farPlane = 17.3205
    +    v6.imagePan = (0.0994254, 0.0810457)
    +    v6.imageZoom = 1.94126
    +    v6.perspective = 1
    +    v6.eyeAngle = 2
    +    v6.centerOfRotationSet = 0
    +    v6.centerOfRotation = (15, 15, 15)
    +    SetView3D(v6)
    +    Test(prefix+"06")
    +    DeleteAllPlots()
    +
    +    CloseDatabase(db)
    +
    +def TestBOVType(bovtype, prefixes):
    +    # Test the original BOV file without it being divided.
    +    TestSection("Reading BOV file of %s" % bovtype)
    +    TestBOVDivide(prefixes[0], data_path("bov_test_data/%s_indices.bov") % bovtype, 0)
    +
    +    #
    +    # Test 2 BOV files that are being subdivided into smaller bricks
    +    # by the BOV plugin so that there are multiple domains that
    +    # can be processed in parallel.
    +    #
    +    TestSection("Decomposing BOV of %s into smaller bricks" % bovtype)
    +    TestBOVDivide(prefixes[1], data_path("bov_test_data/%s_indices_div.bov") % bovtype, 1)
    +
    +    TestSection("Decomposing BOV of %s with small header into smaller bricks" % bovtype)
    +    TestBOVDivide(prefixes[2], data_path("bov_test_data/%s_indices_div_with_header.bov") % bovtype, 1)
    +
    +
    +def main():
    +    # Define some expressions
    +    DefineScalarExpression("x", "coord(mesh)[0]")
    +    DefineScalarExpression("y", "coord(mesh)[1]")
    +    DefineScalarExpression("z", "coord(mesh)[2]")
    +    DefineScalarExpression("dx", "x - 15.")
    +    DefineScalarExpression("dy", "y - 15.")
    +    DefineScalarExpression("dz", "z - 15.")
    +    DefineScalarExpression("radial", "sqrt(dx*dx + dy*dy + dz*dz)")
    +
    +    TestBOVType("FLOAT",  ("bov_0_", "bov_1_", "bov_2_"))
    +    TestBOVType("DOUBLE", ("bov_3_", "bov_4_", "bov_5_"))
    +    TestBOVType("INT",    ("bov_6_", "bov_7_", "bov_8_"))
    +
    +    Exit()
    +
    +main()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_boxlib.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_boxlib.html new file mode 100644 index 000000000..ed614bcef --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_boxlib.html @@ -0,0 +1,88 @@ + +Results for databases/boxlib.py + +

    Results of VisIt Regression Test - databases/boxlib

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    boxlib_013.391.15
    boxlib_020.350.09
    boxlib_033.451.15
    boxlib_040.000.00
    boxlib_050.060.00
    boxlib_060.000.00
    temperature1 min
     295.40999999999997 .eq. 295.40999999999997 (prec=15) : True
    temperature1 max
     295.4100000000001 .eq. 295.4100000000001 (prec=15) : True
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_boxlib_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_boxlib_py.html new file mode 100644 index 000000000..cca653d05 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_boxlib_py.html @@ -0,0 +1,119 @@ +databases/boxlib.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  boxlib.py
    +#
    +#  Tests:      mesh      - 2D AMR
    +#              plots     - Pseudocolor, mesh, boundary, subset
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 31, 2005
    +#
    +#  Modifications:
    +#  
    +#    Mark C. Miller, Mon Sep 15 12:05:44 PDT 2008
    +#    Added 3D test
    +#
    +#    Mark C. Miller, Mon Jan 11 10:40:34 PST 2021
    +#    Replace Assert-style with TestValue-style tests.
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin(("Boxlib2D", "Boxlib3D"))
    +
    +
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +AddPlot("Pseudocolor", "density")
    +AddPlot("Boundary", "materials")
    +b = BoundaryAttributes()
    +b.colorType = b.ColorBySingleColor
    +b.lineWidth = 2
    +SetPlotOptions(b)
    +
    +AddPlot("Subset", "patches")
    +s = SubsetAttributes()
    +s.wireframe = 1
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (255, 255, 255, 128)
    +s.lineWidth = 3
    +SetPlotOptions(s)
    +
    +DrawPlots()
    +
    +v = GetView2D()
    +v.viewportCoords = (0, 1, 0, 1)
    +v.windowCoords = (0, 0.04, 0.09, 0.13)
    +SetView2D(v)
    +
    +Test("boxlib_01")
    +
    +SetActivePlots((0,1,2))
    +s = SILRestriction()
    +levels = s.SetsInCategory("levels")
    +level2 = levels[2]
    +s.TurnOffSet(level2)
    +SetPlotSILRestriction(s)
    +Test("boxlib_02")
    +
    +s.TurnOnAll()
    +level0 = levels[0]
    +s.TurnOffSet(level0)
    +SetPlotSILRestriction(s)
    +Test("boxlib_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +OpenDatabase(data_path("boxlib_test_data/3D/plt_asgc05_0309/Header"))
    +
    +AddPlot("Pseudocolor","tracer")
    +DrawPlots()
    +ResetView()
    +v=GetView3D()
    +v.RotateAxis(2,-45.0)
    +v.RotateAxis(0,65.0)
    +SetView3D(v)
    +Test("boxlib_04")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("boxlib_test_data/3D/plt_asgc05_0309/Header"))
    +
    +OpenDatabase(data_path("boxlib_test_data/3D/plt00000.cartgrid.body.small/Header"))
    +
    +AddPlot("Pseudocolor", "temperature")
    +AddOperator("ThreeSlice")
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.RotateAxis(1,45)
    +v.RotateAxis(0,45)
    +SetView3D(v)
    +Test("boxlib_05")
    +
    +silr = SILRestriction()
    +silr.TurnOnAll()
    +silr.TurnOffSet(silr.SetsInCategory('materials')[1])
    +SetPlotSILRestriction(silr)
    +Test("boxlib_06")
    +
    +# Test precision {
    +#
    +# Test double precision is working by reading a known double precision
    +# database and ensuring we get expected min/max values within 15 digits
    +# of accuracy.
    +#
    +DeleteAllPlots()
    +CloseDatabase(data_path("boxlib_test_data/3D/plt00000.cartgrid.body.small/Header"))
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0000000/Header"))
    +AddPlot("Pseudocolor", "temperature1")
    +DrawPlots()
    +SetQueryOutputToValue()
    +TestValueEQ("temperature1 min", Query("Min"), 295.409999999999968, 15)
    +TestValueEQ("temperature1 max", Query("Max"), 295.410000000000082, 15)
    +DeleteAllPlots()
    +CloseDatabase(data_path("boxlib_test_data/2D/plt0000000/Header"))
    +# Test precision }
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_chgcar.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_chgcar.html new file mode 100644 index 000000000..dbe47a99a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_chgcar.html @@ -0,0 +1,128 @@ + +Results for databases/chgcar.py + +

    Results of VisIt Regression Test - databases/chgcar

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    chgcar_010.000.00
    chgcar_020.000.00
    chgcar_030.000.00
    chgcar_040.000.00
    chgcar_111.800.19
    chgcar_120.000.00
    chgcar_130.000.00
    chgcar_140.000.00
    chgcar_050.110.00
    chgcar_060.000.00
    chgcar_070.170.00
    chgcar_080.000.00
    chgcar_090.060.00
    chgcar_100.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_chgcar_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_chgcar_py.html new file mode 100644 index 000000000..586a9b033 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_chgcar_py.html @@ -0,0 +1,156 @@ +databases/chgcar.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  chgcar.py
    +#
    +#  Tests:      mesh      - transformed rectilinear
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       February 20, 2007
    +#
    +#    Jeremy Meredith, Wed Aug 13 14:39:11 EDT 2008
    +#    Unrestricted the number of labels plotted.  Since I now
    +#    have automatic decomposition of chgcar files, the actual
    +#    labels chosen was varying based on serial vs parallel
    +#    (which is fine, but doesn't help for regression testing).
    +#
    +#    Hank Childs, Wed Dec 31 14:32:34 PST 2008
    +#    Rename ResamplePluginAtts to ResampleAtts.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(data_path("chgcar_test_data/CHGCAR"),0, "VASP_1.0")
    +
    +AddPlot("Pseudocolor", "charge")
    +DrawPlots()
    +
    +View3DAtts = GetView3D()
    +View3DAtts.viewNormal = (-0.85796, 0.216484, -0.465874)
    +View3DAtts.focus = (4.5, 0.5, 4)
    +View3DAtts.viewUp = (0.135878, 0.970204, 0.200602)
    +View3DAtts.viewAngle = 30
    +SetView3D(View3DAtts)
    +
    +Test("chgcar_01")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_02")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +AddOperator("Resample")
    +ResampleAtts = ResampleAttributes()
    +ResampleAtts.useExtents = 0
    +ResampleAtts.startX = 1
    +ResampleAtts.endX = 6
    +ResampleAtts.samplesX = 80
    +ResampleAtts.startY = -2
    +ResampleAtts.endY = 4
    +ResampleAtts.samplesY = 80
    +ResampleAtts.is3D = 1
    +ResampleAtts.startZ = 1
    +ResampleAtts.endZ = 6
    +ResampleAtts.samplesZ = 80
    +SetOperatorOptions(ResampleAtts)
    +DrawPlots()
    +
    +Test("chgcar_03")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_04")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +DeleteActivePlots()
    +
    +AddPlot("Mesh", "mesh")
    +AddOperator("IndexSelect",1)
    +IndexSelectAtts = IndexSelectAttributes()
    +IndexSelectAtts.dim = IndexSelectAtts.ThreeD  # OneD, TwoD, ThreeD
    +IndexSelectAtts.xMin = 2
    +SetOperatorOptions(IndexSelectAtts)
    +
    +AddPlot("Label", "charge")
    +LabelAtts = LabelAttributes()
    +LabelAtts.textFont1.scale = 7
    +LabelAtts.restrictNumberOfLabels = 0
    +SetPlotOptions(LabelAtts)
    +DrawPlots()
    +
    +Test("chgcar_11")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_12")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +DeleteAllPlots()
    +
    +
    +
    +AddPlot("Pseudocolor", "charge")
    +AddOperator("ThreeSlice")
    +ThreeSliceAtts = ThreeSliceAttributes()
    +ThreeSliceAtts.x = 3
    +ThreeSliceAtts.y = 0
    +ThreeSliceAtts.z = 4
    +SetOperatorOptions(ThreeSliceAtts)
    +DrawPlots()
    +
    +Test("chgcar_13")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_14")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +DeleteAllPlots()
    +
    +AddPlot("Volume", "charge")
    +DrawPlots()
    +VolumeAtts = VolumeAttributes()
    +VolumeAtts.lightingFlag = 0
    +VolumeAtts.opacityAttenuation = .6
    +VolumeAtts.resampleTarget = 450000
    +SetPlotOptions(VolumeAtts)
    +
    +Test("chgcar_05")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_06")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +VolumeAtts.opacityAttenuation = .9
    +SetPlotOptions(VolumeAtts)
    +
    +Test("chgcar_07")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_08")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +VolumeAtts.opacityAttenuation = .4
    +VolumeAtts.rendererType = VolumeAtts.RayCasting
    +SetPlotOptions(VolumeAtts)
    +
    +Test("chgcar_09")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_10")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_claw.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_claw.html new file mode 100644 index 000000000..25f536052 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_claw.html @@ -0,0 +1,54 @@ + +Results for databases/claw.py + +

    Results of VisIt Regression Test - databases/claw

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    claw_010.000.00
    claw_020.000.00
    claw_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_claw_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_claw_py.html new file mode 100644 index 000000000..681c4b37b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_claw_py.html @@ -0,0 +1,65 @@ +databases/claw.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  claw.py 
    +#
    +#  Tests:      Claw files 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       September 13, 2007 
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# test the mesh
    +OpenDatabase(data_path("claw_test_data/2d/fort.claw"))
    +
    +TimeSliderNextState()
    +AddPlot("Mesh","claw_mesh")
    +DrawPlots()
    +SetActivePlots((1,))
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "level3":
    +        silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +Test("claw_01")
    +SetActivePlots((1,))
    +DeleteActivePlots()
    +
    +# test a variable being read 
    +AddPlot("Pseudocolor","col_00")
    +DrawPlots()
    +Test("claw_02")
    +DeleteAllPlots()
    +CloseDatabase(data_path("claw_test_data/2d/fort.claw"))
    +
    +OpenDatabase(data_path("claw_test_data/3d/fort.claw"))
    +
    +TimeSliderNextState()
    +ss = SubsetAttributes()
    +#ss.colorType = ss.ColorBySingleColor
    +ss.lineWidth = 2
    +ss.singleColor = (0, 0, 0, 255)
    +ss.wireframe = 1
    +SetPlotOptions(ss)
    +AddPlot("Pseudocolor","col_00")
    +AddPlot("Mesh","claw_mesh")
    +SetActivePlots((1,2))
    +#AddOperator("Clip", 1)
    +AddOperator("Clip")
    +clipAtts = ClipAttributes()
    +clipAtts.plane1Origin = (0.25, 0.5, 0.75)
    +clipAtts.plane1Normal = (0, 0, 1)
    +SetOperatorOptions(clipAtts)
    +DrawPlots()
    +SetActivePlots((0,))
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal = (0.383221, 0.582931, 0.716473)
    +v.viewUp = (-0.29125, 0.812382, -0.505182)
    +SetView3D(v)
    +Test("claw_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_closedatabase.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_closedatabase.html new file mode 100644 index 000000000..bc1979029 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_closedatabase.html @@ -0,0 +1,94 @@ + +Results for databases/closedatabase.py + +

    Results of VisIt Regression Test - databases/closedatabase

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    closedatabase000.000.00
    closedatabase010 modifications totalling 0 lines
    closedatabase020 modifications totalling 0 lines
    closedatabase030.000.00
    closedatabase040.000.00
    closedatabase050 modifications totalling 0 lines
    closedatabase060 modifications totalling 0 lines
    closedatabase070 modifications totalling 0 lines
    closedatabase080 modifications totalling 0 lines
    closedatabase090 modifications totalling 0 lines
    closedatabase100 modifications totalling 0 lines
    closedatabase_exprs000 modifications totalling 0 lines
    closedatabase_exprs010 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_closedatabase_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_closedatabase_py.html new file mode 100644 index 000000000..41a9b4179 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_closedatabase_py.html @@ -0,0 +1,108 @@ +databases/closedatabase.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  closedatabase.py
    +#
    +#  Tests:      mesh      - 3D, curvilinear, single domain
    +#              plots     - Pseudocolor
    +#              databases - Silo
    +#
    +#  Purpose:    This test case tests that the viewer can close a database.
    +#
    +#  Bugs:       '3283
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Mar 19 08:57:09 PDT 2004
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Wed Apr 14 15:41:11 PDT 2010
    +#    Added test to check if database expressions are cleared after
    +#    database is closed.
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Look at astring representation of the GlobalAttributes to see the list
    +# of sources, etc.
    +#
    +def TestGlobalAttributes(testname):
    +    # Get the window information, convert it to a string, and use it as
    +    # a test case.
    +    TestText(testname, str(GetGlobalAttributes()))
    +
    +def GetCloseString(db):
    +    if(CloseDatabase(db) == 1):
    +        testString = "The database %s was closed." % os.path.abspath(db)
    +    else:
    +        testString = GetLastError()
    +    return testString
    +
    +# Open a database and create a plot
    +db = silo_data_path("wave*.silo database")
    +OpenDatabase(db, 32)
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +
    +# Get a picture of the plot.
    +Test("closedatabase00")
    +
    +# Look at the list of sources.
    +TestGlobalAttributes("closedatabase01")
    +
    +# Try and close the database. VisIt should not let us close it since there
    +# are plots that use it.
    +TestText("closedatabase02", GetCloseString(db))
    +
    +# Create another window that uses the database.
    +CloneWindow()
    +SetActiveWindow(2)
    +DrawPlots()
    +Test("closedatabase03")
    +
    +# Delete all the plots in window 1 that use the database
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +Test("closedatabase04")
    +
    +# Try and close the database. VisIt should not let us close it since there
    +# are still plots in window 2 that use it.
    +TestText("closedatabase05", GetCloseString(db))
    +
    +SetActiveWindow(2)
    +DeleteAllPlots()
    +
    +# Try and close the database. VisIt should let us close it this time.
    +testString = GetCloseString(db) + "\n" + str(GetGlobalAttributes())
    +TestText("closedatabase06", testString)
    +
    +
    +# Try adding some databases
    +dbs = (silo_data_path("wave.visit") ,
    +       silo_data_path("globe.silo") ,
    +       silo_data_path("curv3d.silo") )
    +
    +for db in dbs:
    +    OpenDatabase(db)
    +
    +# Look at the list of sources.
    +TestGlobalAttributes("closedatabase07")
    +
    +# Start removing databases
    +testindex = 8
    +for i in range(len(dbs)):
    +    index = len(dbs) - 1 - i
    +    testString = GetCloseString(dbs[index]) + "\n" + str(GetGlobalAttributes())
    +    TestText("closedatabase%02d" % testindex, testString)
    +    testindex = testindex + 1
    +
    +# Check that database expressions are cleared when database is closed.
    +OpenDatabase(dbs[1])
    +TestExpressions("closedatabase_exprs00")
    +TestExpressions("closedatabase_exprs01", prefix=GetCloseString(dbs[1])+"\n")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_correlation.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_correlation.html new file mode 100644 index 000000000..952d403b4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_correlation.html @@ -0,0 +1,510 @@ + +Results for databases/correlation.py + +

    Results of VisIt Regression Test - databases/correlation

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Padded index correlation
    correlation_0_000 modifications totalling 0 lines
    correlation_0_010.000.00
    correlation_0_020 modifications totalling 0 lines
    correlation_0_030.000.00
    correlation_0_040 modifications totalling 0 lines
    correlation_0_050.000.00
    correlation_0_060 modifications totalling 0 lines
    correlation_0_070.000.00
    correlation_0_080 modifications totalling 0 lines
    correlation_0_090.000.00
    correlation_0_100 modifications totalling 0 lines
    correlation_0_110.000.00
    correlation_0_120 modifications totalling 0 lines
    correlation_0_130.000.00
    correlation_0_140 modifications totalling 0 lines
    Stretched correlation
    correlation_1_000 modifications totalling 0 lines
    correlation_1_010.000.00
    correlation_1_020 modifications totalling 0 lines
    correlation_1_030.000.00
    correlation_1_040 modifications totalling 0 lines
    correlation_1_050.000.00
    correlation_1_060 modifications totalling 0 lines
    correlation_1_070.000.00
    correlation_1_080 modifications totalling 0 lines
    correlation_1_090.000.00
    correlation_1_100 modifications totalling 0 lines
    correlation_1_110.000.00
    correlation_1_120 modifications totalling 0 lines
    correlation_1_130.000.00
    correlation_1_140 modifications totalling 0 lines
    Time correlation
    correlation_2_000 modifications totalling 0 lines
    correlation_2_010.000.00
    correlation_2_020 modifications totalling 0 lines
    correlation_2_030.000.00
    correlation_2_040 modifications totalling 0 lines
    correlation_2_050.000.00
    correlation_2_060 modifications totalling 0 lines
    correlation_2_070.000.00
    correlation_2_080 modifications totalling 0 lines
    correlation_2_090.000.00
    correlation_2_100 modifications totalling 0 lines
    correlation_2_110.000.00
    correlation_2_120 modifications totalling 0 lines
    correlation_2_130.000.00
    correlation_2_140 modifications totalling 0 lines
    correlation_2_150.000.00
    correlation_2_160 modifications totalling 0 lines
    correlation_2_170.000.00
    correlation_2_180 modifications totalling 0 lines
    correlation_2_190.000.00
    correlation_2_200 modifications totalling 0 lines
    Cycle correlation
    correlation_3_000 modifications totalling 0 lines
    correlation_3_010.000.00
    correlation_3_020 modifications totalling 0 lines
    correlation_3_030.000.00
    correlation_3_040 modifications totalling 0 lines
    correlation_3_050.000.00
    correlation_3_060 modifications totalling 0 lines
    correlation_3_070.000.00
    correlation_3_080 modifications totalling 0 lines
    correlation_3_090.000.00
    correlation_3_100 modifications totalling 0 lines
    correlation_3_110.000.00
    correlation_3_120 modifications totalling 0 lines
    correlation_3_130.000.00
    correlation_3_140 modifications totalling 0 lines
    Creating new window
    correlation_4_000.000.00
    correlation_4_010 modifications totalling 0 lines
    correlation_4_020.000.00
    correlation_4_030 modifications totalling 0 lines
    Altering correlation
    correlation_5_000 modifications totalling 0 lines
    correlation_5_010 modifications totalling 0 lines
    correlation_5_020.000.00
    correlation_5_030 modifications totalling 0 lines
    correlation_5_040.000.00
    correlation_5_050 modifications totalling 0 lines
    correlation_5_060.000.00
    correlation_5_070 modifications totalling 0 lines
    correlation_5_080.000.00
    correlation_5_090 modifications totalling 0 lines
    Deleting correlations
    correlation_6_000 modifications totalling 0 lines
    Automatic correlations
    correlation_7_000 modifications totalling 0 lines
    correlation_7_010 modifications totalling 0 lines
    correlation_7_020.000.00
    correlation_7_030 modifications totalling 0 lines
    correlation_7_040.000.00
    correlation_7_050 modifications totalling 0 lines
    correlation_7_060.000.00
    correlation_7_070 modifications totalling 0 lines
    correlation_7_080 modifications totalling 0 lines
    correlation_7_090.000.00
    correlation_7_100 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_correlation_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_correlation_py.html new file mode 100644 index 000000000..6bcff74f7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_correlation_py.html @@ -0,0 +1,215 @@ +databases/correlation.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  correlation.py 
    +#
    +#  Tests:      Tests database correlations and automatic correlation.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Mar 22 08:28:25 PDT 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Fri Apr 1 09:48:23 PDT 2005
    +#    I renamed some baselines so I could add correlation definition tests.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def GetTruncatedWindowInformationString():
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    return s
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    TestText(testname, GetTruncatedWindowInformationString())
    +
    +def TestLength(testname):
    +    tsLength = TimeSliderGetNStates()
    +    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    testString = testString + GetTruncatedWindowInformationString()
    +    TestText(testname, testString)
    +
    +def ComputeStates(nStates, stateIncrement):
    +    lastState = nStates - 1
    +    states = list(range(0, nStates, stateIncrement))
    +    if(states[-1] != lastState):
    +        states = states  + [lastState]
    +    return states
    +
    +def GetTestName(sectionIndex, testIndex):
    +    return "correlation_%d_%02d" % (sectionIndex, testIndex)
    +
    +def TestTimeSlider(sectionIndex, testIndex):
    +    Test(GetTestName(sectionIndex, testIndex))
    +    TestLength(GetTestName(sectionIndex, testIndex + 1))
    +    return testIndex + 2
    +
    +#
    +# Tests that the database correlations look a certain way.
    +#
    +def TestCorrelation(name, sectionIndex, testIndex):
    +    names = GetDatabaseCorrelationNames()
    +    s = ""
    +    if name in names:
    +        c = GetDatabaseCorrelation(name)
    +        s = s + str(c) + "\n"
    +    TestText(GetTestName(sectionIndex, testIndex), s)
    +    return testIndex + 1
    +
    +#
    +# Tests the time slider length and the correlation list.
    +#
    +def TestLengthAndCorrelationList(testname):
    +    tsLength = TimeSliderGetNStates()
    +    s = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    s = s + GetTruncatedWindowInformationString() + "\n\n"
    +
    +    names = GetDatabaseCorrelationNames()
    +    for name in names:
    +        c = GetDatabaseCorrelation(name)
    +        s = s + str(c) + "\n"
    +    TestText(testname, s)
    +
    +#
    +# The databases that we'll use for most tests.
    +#
    +dbs = (data_path("pdb_test_data/dbA00.pdb"),
    +       data_path("pdb_test_data/dbB00.pdb"),
    +       data_path("pdb_test_data/dbC00.pdb"))
    +
    +#
    +# Open each database and create a plot.
    +#
    +for db in dbs:
    +    OpenDatabase(db)
    +    AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +
    +#
    +# Correlation Types
    +#
    +IndexForIndexCorrelation = 0
    +StretchedIndexCorrelation = 1
    +TimeCorrelation = 2
    +CycleCorrelation = 3
    +correlationTypes = (IndexForIndexCorrelation, StretchedIndexCorrelation,\
    +    TimeCorrelation, CycleCorrelation)
    +correlationNames = ("ABC_Index", "ABC_Stretch", "ABC_Time", "ABC_Cycle")
    +correlationTitles = ("Padded index correlation", "Stretched correlation",\
    +    "Time correlation", "Cycle correlation")
    +
    +#
    +# Create correlations between the 3 databases
    +#
    +sectionIndex = 0
    +testIndex = 0
    +for i in range(len(correlationTypes)):
    +    TestSection(correlationTitles[i])
    +    CreateDatabaseCorrelation(correlationNames[i], dbs, correlationTypes[i])
    +    testIndex = TestCorrelation(correlationNames[i], sectionIndex, 0)
    +    states = ComputeStates(TimeSliderGetNStates(), 5)
    +    for state in states:
    +        SetTimeSliderState(state)
    +        testIndex = TestTimeSlider(sectionIndex, testIndex)
    +    sectionIndex = sectionIndex + 1
    +
    +#
    +# Make sure that a new window has the same plots and correlations.
    +#
    +TestSection("Creating new window")
    +sectionIndex = 4
    +testIndex = 0
    +alteredCorrelation = correlationNames[0]
    +SetActiveTimeSlider(alteredCorrelation)
    +SetTimeSliderState(15)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +CloneWindow()
    +SetActiveWindow(2)
    +InvertBackgroundColor()
    +DrawPlots()
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetActiveWindow(1)
    +
    +#
    +# Now that multiple windows use the same correlation, alter the correlation
    +# so it only uses 2 databases and make sure that both windows change when
    +# we change the time slider.
    +#
    +TestSection("Altering correlation")
    +sectionIndex = 5
    +testIndex = 0
    +testIndex = TestCorrelation(alteredCorrelation, sectionIndex, testIndex)
    +AlterDatabaseCorrelation(alteredCorrelation, (dbs[0], dbs[1]), StretchedIndexCorrelation)
    +testIndex = TestCorrelation(alteredCorrelation, sectionIndex, testIndex)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetActiveWindow(2)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetActiveWindow(1)
    +SetTimeSliderState(19)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetActiveWindow(2)
    +SetTimeSliderState(19)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetActiveWindow(1)
    +
    +#
    +# Test deleting correlations
    +#
    +TestSection("Deleting correlations")
    +sectionIndex = 6
    +testIndex = 0
    +for n in correlationNames:
    +    DeleteDatabaseCorrelation(n)
    +TestLengthAndCorrelationList(GetTestName(sectionIndex, testIndex))
    +
    +#
    +# Test automatically correlating by setting the correlation options such
    +# that we automatically create a StretchedIndex correlation when adding
    +# plots, etc.
    +#
    +TestSection("Automatic correlations")
    +sectionIndex = 7
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +TestLengthAndCorrelationList(GetTestName(sectionIndex, 0))
    +testIndex = 1
    +SetDatabaseCorrelationOptions(StretchedIndexCorrelation, 0)
    +OpenDatabase(dbs[0])
    +AddPlot("FilledBoundary", "material(mesh)")
    +OpenDatabase(dbs[1])
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +# At this point, the viewer should have automatically created a new correlation
    +# and it should be the active time slider.
    +testIndex = TestCorrelation(GetActiveTimeSlider(), sectionIndex, testIndex);
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +# note: py3 div creates float
    +SetTimeSliderState(int(TimeSliderGetNStates() / 2))
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetTimeSliderState(TimeSliderGetNStates() - 1)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +
    +# Now that we've verified the correlation, add another database to it by 
    +# Creating a plot from yet another database.
    +OpenDatabase(dbs[2])
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +testIndex = TestCorrelation(GetActiveTimeSlider(), sectionIndex, testIndex);
    +SetTimeSliderState(int(TimeSliderGetNStates() * 0.8))
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_curve.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_curve.html new file mode 100644 index 000000000..21fa7a459 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_curve.html @@ -0,0 +1,62 @@ + +Results for databases/curve.py + +

    Results of VisIt Regression Test - databases/curve

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    curve10.000.00
    curve20.000.00
    curve30.000.00
    curve2Expr1.800.02
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_curve_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_curve_py.html new file mode 100644 index 000000000..fc7288ad2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_curve_py.html @@ -0,0 +1,53 @@ +databases/curve.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curve.py 
    +#
    +#  Tests:      normal curves, zone-centered curves, errors in curve files
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       October 31, 2006 
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +ca = CurveAttributes()
    +ca.showPoints = 1
    +SetDefaultPlotOptions(ca)
    +
    +OpenDatabase(data_path("curve_test_data/zonecent.ultra"))
    +DefineCurveExpression("curve2Expr","curve2+10")
    +
    +AddPlot("Curve","curve2")
    +DrawPlots()
    +v = GetViewCurve()
    +v.rangeCoords = (-3, 11)
    +SetViewCurve(v)
    +Test("curve1")
    +
    +AddPlot("Curve","curve1")
    +DrawPlots()
    +v.domainCoords = (-4, 16)
    +SetViewCurve(v)
    +Test("curve2")
    +
    +DeleteActivePlots()
    +
    +AddPlot("Curve","curve4")
    +DrawPlots()
    +v.domainCoords = (-4, 25)
    +SetViewCurve(v)
    +Test("curve3")
    +
    +DeleteActivePlots()
    +
    +AddPlot("Curve","curve2")
    +AddPlot("Curve","curve2Expr")
    +ResetView()
    +DrawPlots()
    +Test("curve2Expr")
    +
    +DeleteActivePlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ddcMD.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ddcMD.html new file mode 100644 index 000000000..82e7056e2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ddcMD.html @@ -0,0 +1,181 @@ + +Results for databases/ddcMD.py + +

    Results of VisIt Regression Test - databases/ddcMD

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    2D cgrid single files
    ddcMD_0_000 modifications totalling 0 lines
    ddcMD_0_010.000.00
    ddcMD_0_020.000.00
    ddcMD_0_030.000.00
    2D cgrid multi files
    ddcMD_1_000 modifications totalling 0 lines
    ddcMD_1_010.000.00
    ddcMD_1_020.000.00
    ddcMD_1_030.000.00
    3D cgrid multi files and multi subname
    ddcMD_2_000 modifications totalling 0 lines
    ddcMD_2_010.000.00
    ddcMD_2_020.000.00
    ddcMD_2_030.000.00
    ddcMD_2_040.000.00
    ddcMD_2_050.000.00
    ddcMD_2_060.000.00
    ddcMD_2_070.000.00
    ddcMD_2_080.000.00
    ddcMD_2_090.000.00
    ddcMD_2_100.000.00
    ddcMD_2_110.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ddcMD_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ddcMD_py.html new file mode 100644 index 000000000..d1bc7fe9a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ddcMD_py.html @@ -0,0 +1,112 @@ +databases/ddcMD.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ddcMD.py
    +#
    +#  Tests:      mesh      - 2D/3D structured automatically decomposed
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Oct 11 17:04:32 PDT 2012
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def GetVariables(db, doExpressions = 1):
    +    md = GetMetaData(db)
    +    txt = "Scalar Names:\n"
    +    s = []
    +    for i in range(md.GetNumScalars()):
    +        s = s + [md.GetScalars(i).name]
    +    scalars = sorted(s)
    +    for s in scalars:
    +        txt = txt + s + "\n"
    +    if doExpressions:
    +        txt = txt + "\n\nExpressions:\n"
    +        expr = {}
    +        for i in range(md.exprList.GetNumExpressions()):
    +            e = md.exprList.GetExpressions(i)
    +            expr[e.name] = e.definition
    +        keys = sorted(expr.keys())
    +        for k in keys:
    +            txt = txt + k + " = " + expr[k] + "\n"
    +    return txt
    +
    +def test0(datapath):
    +    TestSection("2D cgrid single files")
    +    db = pjoin(datapath,"cgrid2d.ddcMD")
    +    TestText("ddcMD_0_00", GetVariables(db))
    +
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "mass")
    +    DrawPlots()
    +    Test("ddcMD_0_01")
    +
    +    ChangeActivePlotsVar("mass_Al")
    +    Test("ddcMD_0_02")
    +
    +    ChangeActivePlotsVar("mass_Cu")
    +    Test("ddcMD_0_03")
    +
    +    DeleteAllPlots()
    +
    +def test1(datapath):
    +    TestSection("2D cgrid multi files")
    +    db = pjoin(datapath,"cgrid2d_multi.ddcMD")
    +    TestText("ddcMD_1_00", GetVariables(db))
    +
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "Kx")
    +    DrawPlots()
    +    Test("ddcMD_1_01")
    +
    +    ChangeActivePlotsVar("Kx_Al")
    +    Test("ddcMD_1_02")
    +
    +    ChangeActivePlotsVar("Kx_Cu")
    +    Test("ddcMD_1_03")
    +
    +    DeleteAllPlots()
    +
    +def test2(datapath):
    +    TestSection("3D cgrid multi files and multi subname")
    +    db = pjoin(datapath,"cgrid3d_multi_subname", "snapshot.*.ddcMD database")
    +    TestText("ddcMD_2_00", GetVariables(db, doExpressions = 0))
    +
    +    # Plot the gid to see that things are put together properly.
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "anatomy/gid")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.463775, -0.476999, -0.746582)
    +    v.focus = (12.5,12.5,12.5)
    +    v.viewUp = (-0.885851, 0.236876, 0.398946)
    +    v.parallelScale = 21.6506
    +    v.nearPlane = -43.3013
    +    v.farPlane = 43.3013
    +    v.imagePan = (0.0101758, 0.0313539)
    +    v.imageZoom = 1.01954
    +    SetView3D(v)
    +    Test("ddcMD_2_01")
    +
    +    ChangeActivePlotsVar("state/Vm")
    +
    +    # Iterate over time.
    +    for i in range(TimeSliderGetNStates()):
    +        SetTimeSliderState(i)
    +        Test("ddcMD_2_%02d" % (2 + i))
    +
    +    # Lower the transparency to see if domain boundaries are good. I think that
    +    # currently they are not good.
    +
    +    DeleteAllPlots()
    +
    +def main():
    +    datapath = data_path("ddcmd_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_empty_db.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_empty_db.html new file mode 100644 index 000000000..9d15e147a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_empty_db.html @@ -0,0 +1,40 @@ + +Results for databases/empty_db.py + +

    Results of VisIt Regression Test - databases/empty_db

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    empty_010 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_empty_db_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_empty_db_py.html new file mode 100644 index 000000000..fcf377598 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_empty_db_py.html @@ -0,0 +1,28 @@ +databases/empty_db.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  empty_db.py 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       28Oct10
    +#
    +#  Modifications:
    +#    Mark C. Miller, Mon Nov  1 12:24:23 PDT 2010
    +#    I added specification of the Silo format to the open call so that we
    +#    can be assured of having the real exception (DBYieldedNoData) returned
    +#    in the error message. Otherwise, that exception is caught and then folded
    +#    into whatever other possible exceptions other candidates might generate.
    +# ----------------------------------------------------------------------------
    +import re
    +
    +OpenDatabase(data_path("silo_pdb_test_data/empty.silo"), 0, "Silo_1.0")
    +
    +errStr = GetLastError()
    +tmpType = re.search(",\nno data was found in the file for VisIt to work with.", errStr)
    +msg = errStr
    +if tmpType != None:
    +    msg = "DBYieldedNoDataException\n"
    +TestText("empty_01", msg)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_exodus.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_exodus.html new file mode 100644 index 000000000..38dbed37e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_exodus.html @@ -0,0 +1,244 @@ + +Results for databases/exodus.py + +

    Results of VisIt Regression Test - databases/exodus

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    exodus_010.000.00
    exodus_020.000.00
    exodus_030.000.00
    exodus_040.000.00
    exodus_050.000.00
    Testing SHELL4 support
    exodus_060.000.00
    Testing support element block names
    exodus_070.000.00
    Testing 2D "NSIDED" element type
    exodus_080.000.00
    exodus_090.000.00
    exodus_100.000.00
    exodus_110.440.63
    exodus_120.440.63
    exodus_13a0.000.00
    exodus_13b0.000.00
    exodus_13c0.000.00
    exodus_140.000.00
    exodus_150.000.00
    exodus_160.000.00
    exodus_171.310.00
    exodus_180.000.00
    exodus_190.000.00
    exodus_200.000.00
    exodus_210.000.00
    exodus_220.000.00
    High Order Elements
    exodus_230.000.00
    exodus_240.000.00
    exodus_250.000.00
    exodus_260.000.00
    exodus_270.000.00
    exodus_280.000.00
    exodus_290.000.00
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_exodus_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_exodus_py.html new file mode 100644 index 000000000..3a910771d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_exodus_py.html @@ -0,0 +1,272 @@ +databases/exodus.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  exodus.py
    +#
    +#  Tests:      mesh      - 2D, 3D unstructured
    +#              plots     - 3D - Pseudocolor, mesh, boundary, subset,
    +#                          2D - Filled boundary, label 
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 31, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri Oct  7 14:27:33 PDT 2005
    +#    Explicitly reference the name of the variable to displace by, since the
    +#    default changed.
    +#
    +#    Brad Whitlock, Mon Nov 14 14:31:46 PST 2005
    +#    Added testing for SHELL4 support.
    +#
    +#    Eric Brugger, Wed Mar 14 14:04:32 PDT 2007
    +#    Added testing for element block names.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Exodus")
    +
    +OpenDatabase(data_path("exodus_test_data/balls.e.4.* database"))
    +
    +AddPlot("Pseudocolor", "EQPS")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.75, 0.55, 0.36)
    +SetView3D(v)
    +
    +Test("exodus_01")
    +
    +s = SILRestriction()
    +sets = s.SetsInCategory("ElementBlock")
    +s.TurnOffSet(sets[0])
    +s.TurnOffSet(sets[1])
    +s.TurnOffSet(sets[2])
    +SetPlotSILRestriction(s)
    +
    +Test("exodus_02")
    +
    +SetTimeSliderState(18)
    +Test("exodus_03")
    +
    +files = s.SetsInCategory("File")
    +s.TurnOffSet(files[3])
    +SetPlotSILRestriction(s)
    +Test("exodus_04")
    +
    +ToggleMaintainViewMode()
    +d = DisplaceAttributes()
    +d.variable = "DISPL"
    +SetDefaultOperatorOptions(d)
    +AddOperator("Displace")
    +DrawPlots()
    +Test("exodus_05")
    +ToggleMaintainViewMode()
    +
    +TestSection("Testing SHELL4 support")
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/balls.e.4.* database"))
    +OpenDatabase(data_path("exodus_test_data/aircraft.exoII"))
    +
    +AddPlot("Mesh", "Mesh")
    +DrawPlots()
    +v = View3DAttributes()
    +v.viewNormal = (-0.51221, 0.429119, 0.743974)
    +v.focus = (0, 0, -4)
    +v.viewUp = (0.222628, 0.902964, -0.367549)
    +v.viewAngle = 30
    +v.parallelScale = 66
    +v.nearPlane = -132
    +v.farPlane = 132
    +v.imagePan = (-0.0367114, 0.0152384)
    +v.imageZoom = 1.51675
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, -4)
    +SetView3D(v)
    +Test("exodus_06")
    +
    +TestSection("Testing support element block names")
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/aircraft.exoII"))
    +OpenDatabase(data_path("exodus_test_data/test.exo"))
    +
    +AddPlot("Subset", "ElementBlock")
    +AddPlot("Label", "ElementBlock")
    +DrawPlots()
    +Test("exodus_07")
    +
    +TestSection("Testing 2D \"NSIDED\" element type")
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/test.exo"))
    +OpenDatabase(data_path("exodus_test_data/porflow5_2_1_r1.exo"))
    +
    +AddPlot("Mesh","Mesh")
    +DrawPlots()
    +v = View2DAttributes()
    +v.windowCoords = (-115, 70, -80, 100)
    +SetView2D(v)
    +Test("exodus_08")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/porflow5_2_1_r1.exo"))
    +OpenDatabase(data_path("exodus_test_data/kassbohm1.exo"))
    +AddPlot("Mesh","Mesh")
    +DrawPlots()
    +v = View3DAttributes()
    +v.viewNormal = (-0.664463, 0.34202, 0.664463)
    +v.focus = (1, 1, 0.75)
    +v.viewUp = (0.241845, 0.939693, -0.241845)
    +v.parallelScale = 3.25
    +v.nearPlane = -6.5
    +v.farPlane = 6.5
    +v.imageZoom = 1.5
    +SetView3D(v)
    +Test("exodus_09")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/kassbohm1.exo"))
    +OpenDatabase(data_path("exodus_test_data/dodecahedron.exo"))
    +AddPlot("Mesh","Mesh")
    +DrawPlots()
    +ResetView()
    +Test("exodus_10")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/dodecahedron.exo"))
    +OpenDatabase(data_path("exodus_test_data/tri3.exo"))
    +AddPlot("Mesh","Mesh")
    +AddPlot("Pseudocolor","elem_map")
    +DrawPlots()
    +ResetView()
    +Test("exodus_11")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/tri3.exo"))
    +OpenDatabase(data_path("exodus_test_data/tri6.exo"))
    +AddPlot("Mesh","Mesh")
    +AddPlot("Pseudocolor","elem_map")
    +DrawPlots()
    +ResetView()
    +Test("exodus_12")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/tri6.exo"))
    +OpenDatabase(data_path("exodus_test_data/exo-plugin-problem-kassbohm.exo"))
    +AddPlot("Pseudocolor","SP1_S11_avg")
    +DrawPlots()
    +ResetView()
    +Test("exodus_13a")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","SP3_S11_avg")
    +DrawPlots()
    +Test("exodus_13b")
    +DeleteAllPlots()
    +AddPlot("Mesh","Mesh")
    +AddPlot("Subset","ElementBlock")
    +DrawPlots()
    +ResetView()
    +Test("exodus_13c")
    +
    +s = SILRestriction()
    +ebsets = s.SetsInCategory("ElementBlock")
    +s.TurnOffSet(ebsets[1]) # SHELL
    +SetPlotSILRestriction(s)
    +sa = SubsetAttributes()
    +sa.lineWidth = 4
    +SetPlotOptions(sa)
    +Test("exodus_14")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/exo-plugin-problem-kassbohm.exo"))
    +exoOpts = GetDefaultFileOpenOptions("Exodus")
    +exoOpts['Automagically Detect Compound Variables'] = 1
    +exoOpts['Use Material Convention'] = 1 # ALEGRA
    +SetDefaultFileOpenOptions("Exodus", exoOpts)
    +OpenDatabase(data_path("exodus_test_data/snl_data/mixed2d/explwire2d.exo.8.* database"))
    +AddPlot("FilledBoundary", "Materials")
    +DrawPlots()
    +ResetView()
    +Test("exodus_15")
    +TimeSliderSetState(5)
    +Test("exodus_16")
    +DeleteAllPlots()
    +AddPlot("Vector","VELOCITY")
    +DrawPlots()
    +Test("exodus_17")
    +TimeSliderNextState()
    +Test("exodus_18")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/snl_data/mixed2d/explwire2d.exo.8.* database"))
    +OpenDatabase(data_path("exodus_test_data/snl_data/mixed3d/coax3D-wedge-tm.exo.8.* database"))
    +AddPlot("FilledBoundary", "Materials")
    +DrawPlots()
    +ResetView()
    +Test("exodus_19")
    +TimeSliderSetState(4)
    +Test("exodus_20")
    +
    +s = SILRestriction()
    +msets = s.SetsInCategory("Materials")
    +s.TurnOffSet(msets[1])
    +SetPlotSILRestriction(s)
    +Test("exodus_21")
    +s.TurnOnSet(msets[1])
    +s.TurnOffSet(msets[2])
    +SetPlotSILRestriction(s)
    +Test("exodus_22")
    +
    +TestSection("High Order Elements")
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/snl_data/mixed3d/coax3D-wedge-tm.exo.8.* database"))
    +OpenDatabase(data_path("exodus_test_data/sphere-HEX20.ex2"))
    +AddPlot("Pseudocolor","coordx")
    +DrawPlots()
    +ResetView()
    +Test("exodus_23")
    +AddOperator("Slice")
    +DrawPlots()
    +Test("exodus_24")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/sphere-HEX20.ex2"))
    +OpenDatabase(data_path("exodus_test_data/sphere-HEX27.ex2"))
    +AddPlot("Pseudocolor","coordx")
    +DrawPlots()
    +ResetView()
    +Test("exodus_25")
    +AddOperator("Slice")
    +DrawPlots()
    +Test("exodus_26")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/sphere-HEX27.ex2"))
    +OpenDatabase(data_path("exodus_test_data/abl_551/abl_5km_5km_1km_neutral.e.8.* database"))
    +AddPlot("Contour","velocity_magnitude")
    +ca = ContourAttributes()
    +ca.contourMethod = ca.Value
    +ca.contourValue = (7)
    +SetPlotOptions(ca)
    +DrawPlots()
    +ResetView()
    +Test("exodus_27")
    +v = GetView3D()
    +v.RotateAxis(1,-30)
    +SetView3D(v)
    +Test("exodus_28")
    +v.RotateAxis(1,-30)
    +SetView3D(v)
    +Test("exodus_29")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/abl_551/abl_5km_5km_1km_neutral.e.8.* database"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_export_db.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_export_db.html new file mode 100644 index 000000000..652d36eb0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_export_db.html @@ -0,0 +1,526 @@ + +Results for databases/export_db.py + +

    Results of VisIt Regression Test - databases/export_db

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    export_db_010.000.00
    export_db_020.000.00
    export_db_030.000.00
    export_db_040.000.00
    Test export of some surfaces.
    export_db_1_000.000.00
    export_db_1_010 modifications totalling 0 lines
    export_db_1_020.000.00
    export_db_1_030.000.00
    export_db_1_040.000.00
    export_db_1_050.000.00
    export_db_1_060.000.00
    export_db_1_070.000.00
    export_db_1_080.000.00
    export_db_1_090.000.00
    export_db_1_100.000.00
    export_db_1_110.000.00
    export_db_1_120.000.00
    export_db_1_130.000.00
    export_db_1_140.000.00
    export_db_1_150.000.00
    export_db_1_160.000.00
    export_db_1_170.000.00
    export_db_1_180.000.00
    export_db_1_190.000.00
    export_db_1_200.000.00
    Test export with write groups (parallel).
    export_db_2_000.010.00
    export_db_2_012.640.20
    export_db_2_01fn0 modifications totalling 0 lines
    export_db_2_024.580.30
    export_db_2_02fn0 modifications totalling 0 lines
    export_db_2_032.500.18
    export_db_2_03fn0 modifications totalling 0 lines
    export_db_2_043.210.18
    export_db_2_04fn0 modifications totalling 0 lines
    export_db_2_055.440.26
    export_db_2_05fn0 modifications totalling 0 lines
    export_db_2_062.950.19
    export_db_2_06fn0 modifications totalling 0 lines
    export_db_2_0710.720.62
    export_db_2_07fn0 modifications totalling 0 lines
    export_db_2_088.630.22
    export_db_2_08fn0 modifications totalling 0 lines
    export_db_2_0911.440.24
    export_db_2_09fn0 modifications totalling 0 lines
    export_db_2_102.640.20
    export_db_2_10fn0 modifications totalling 0 lines
    export_db_2_114.580.30
    export_db_2_11fn0 modifications totalling 0 lines
    export_db_2_122.500.18
    export_db_2_12fn0 modifications totalling 0 lines
    export_db_2_133.210.18
    export_db_2_13fn0 modifications totalling 0 lines
    export_db_2_145.440.26
    export_db_2_14fn0 modifications totalling 0 lines
    export_db_2_152.950.19
    export_db_2_15fn0 modifications totalling 0 lines
    export_db_2_1610.720.62
    export_db_2_16fn0 modifications totalling 0 lines
    export_db_2_178.630.22
    export_db_2_17fn0 modifications totalling 0 lines
    export_db_2_1811.440.24
    export_db_2_18fn0 modifications totalling 0 lines
    Test Tecplot multiblock export.
    export_db_3_000.000.00
    export_db_3_010.000.00
    export_db_3_020.000.00
    export_db_3_030.000.00
    export_db_3_040.000.00
    Test VTK multiblock export.
    export_db_4_010.000.00
    export_db_4_020.000.00
    export_db_4_030.000.00
    export_db_4_040.000.00
    export_db_4_050.000.00
    Test bov export with and without compression.
    test_bov_uncompressed.bov exists
     "True" .eq. "True" : True
    test_bov_uncompressed.bof exists
     "True" .eq. "True" : True
    export_db_5_010.000.00
    test_bov_gzip.bov exists
     "True" .eq. "True" : True
    test_bov_gzip.bof.gz exists
     "True" .eq. "True" : True
    export_db_5_020.000.00
    export_db_vtk_tets_ucd3d0 modifications totalling 0 lines
    export_db_vtk_tets_specmix_ucd0 modifications totalling 0 lines
    Test htg export.
    globe.dx.htg0 modifications totalling 0 lines
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_export_db_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_export_db_py.html new file mode 100644 index 000000000..1563c903d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_export_db_py.html @@ -0,0 +1,611 @@ +databases/export_db.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  export_db.py
    +#
    +#  Tests:      mesh      - 3D unstructured
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  '6288, '6290, '6587, '6366
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 1, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Thu Sep 15 16:33:48 PDT 2005
    +#    Add test for exporting CMFEs as secondary variables ('6587)
    +#
    +#    Kathleen Bonnell, Tue May  2 08:58:01 PDT 2006
    +#    Corrected exported database names (from .visit to .vtk).
    +#
    +#    Hank Childs, Wed Mar 28 11:33:16 PDT 2007
    +#    Uncommented tests for '6366, which were previously checked in, but
    +#    commented out.
    +#
    +#    Mark C. Miller Fri Aug  8 09:11:44 PDT 2008
    +#    Fixed typo of missing '()' on call to DeleteAllPlots
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Wed Feb 25 14:08:53 PST 2015
    +#    Add Mesh Plot for silo data exported as VTK, to test that mesh name
    +#    was properly exported.
    +#
    +#    Kathleen Biagas, Fri Feb 17, 2017
    +#    Update for new VTK export options.  Added test4, which tests the new
    +#    options.
    +#
    +#    Alister Maguire, Thu Apr 26 13:31:31 PDT 2018
    +#    Added test for bov compression.
    +#
    +#    Kathleen Biagas, Wed May 16, 2018
    +#    Use python's gzip instead of subprocess('gunzip') so test will run
    +#    correctly on Windows.  Modified AssertTrue calls to have text stating
    +#    what is being tested.
    +#
    +#    Mark C. Miller, Wed Apr 10 10:24:32 PDT 2019
    +#    Add tetrahedralize test
    +#
    +#    Mark C. Miller, Mon Jan 11 10:32:17 PST 2021
    +#    Replace AssertTrue() with TestValueEQ(..., True)
    +#
    +#    Kathleen Biagas, Thu Jun 24, 2021
    +#    Moved test for exporting and plotting different formats to new function.
    +#    Added testing of the export-and-plot with changed dirname. (#5462)
    +#    Removed cleanup_files since temporary files are written to the _run dir
    +#    which gets removed on exit (unless --no-cleanup specified).
    +#
    +#    Eric Brugger, Mon May 1 15:28:30 PST 2023
    +#    Added HTG export test.
    +#
    +# ----------------------------------------------------------------------------
    +import time
    +import os.path
    +import subprocess
    +import fnmatch
    +
    +def test0():
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Pseudocolor", "t")
    +    DrawPlots()
    +
    +    # Set the export database attributes.
    +    e = ExportDBAttributes()
    +    e.db_type = "VTK"
    +    e.filename = "test_ex_db"
    +    ExportDatabase(e)
    +    time.sleep(1)
    +
    +    e.variables = ("u", "v")
    +    e.filename = "test_ex_db2"
    +    e.db_type = "Silo"
    +    ExportDatabase(e)
    +    time.sleep(1)
    +
    +    DeleteAllPlots()
    +#    CloseDatabase(silo_data_path("globe.silo"))
    +
    +    OpenDatabase("test_ex_db.vtk")
    +    AddPlot("Pseudocolor", "t")
    +    DrawPlots()
    +    Test("export_db_01")
    +    DeleteAllPlots()
    +#    CloseDatabase("test_ex_db.vtk")
    +
    +    OpenDatabase("test_ex_db2.silo")
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Test("export_db_02")
    +    DeleteAllPlots()
    +#    CloseDatabase("test_ex_db2.silo")
    +
    +    OpenDatabase(silo_data_path("wave.visit"))
    +    DefineScalarExpression("cmfe", "conn_cmfe(coord(<%s:quadmesh>)[1], quadmesh)" % cmfe_silo_data_path("wave0020.silo"))
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    e.variables = ("cmfe")
    +    e.filename = "test_ex_db3"
    +    e.db_type = "VTK"
    +    ExportDatabase(e)
    +    time.sleep(1)
    +    DeleteAllPlots()
    +
    +    DeleteExpression("cmfe")
    +    OpenDatabase("test_ex_db3.vtk")
    +    AddPlot("Pseudocolor", "cmfe")
    +    DrawPlots()
    +    Test("export_db_03")
    +
    +    # Ensure meshname was written by creating mesh plot with old db's meshname
    +    AddPlot("Mesh", "quadmesh")
    +    DrawPlots()
    +    Test("export_db_04")
    +    DeleteAllPlots()
    +#    CloseDatabase("test_ex_db3.vtk")
    +#    CloseDatabase(silo_data_path("wave.visit"))
    +
    +def VTK_check_binary(filename):
    +    if (sys.version_info > (3, 0)):
    +        f = open(filename, "rt", encoding='utf-8', errors='ignore')
    +    else:
    +        f = open(filename, "rt")
    +    line = ""
    +    for i in (0,1,2):
    +        line = f.readline()
    +    b = "BINARY" == line[0:6]
    +    return b
    +
    +
    +# Test exporting some surfaces in other formats and plotting the results.
    +# e = ExportDBAttributes
    +# v = View3D
    +# a = AnnotationAttributes
    +# count = current test number (used for test names)
    +# usingWriteGroups = True or False
    +
    +def export_and_plot(e, v, a, count, usingWriteGroups):
    +
    +    # formats fields:
    +    # {DBName: (no-write-group exported name to read, write-group exported name to read, plot type, var name)}
    +
    +    formats = { "PLY":          ("export_PLY.ply",          "*.ply",         "Subset",      "PLY_mesh"),
    +                "RAW":          ("export_RAW.raw",          "*.raw",         "Subset",      "mesh"),
    +                "STL":          ("export_STL.stl",          "*.stl",         "Subset",      "STL_mesh"),
    +                "Silo":         ("export_Silo.silo",        "wg_Silo.silo",  "Pseudocolor", "u"),
    +                "Tecplot":      ("export_Tecplot.tec",      "*.tec",         "Pseudocolor", "u"),
    +                "VTK":          ("export_VTK.visit",        "wg_VTK.visit",  "Pseudocolor", "u"),
    +                "WavefrontOBJ": ("export_WavefrontOBJ.obj", "*.obj",         "Subset",      "OBJMesh"),
    +                "XYZ":          ("export_XYZ.xyz",          "*.xyz",         "Subset",      "mesh"),
    +                "Xmdv":         ("export_Xmdv.visit",       "wg_Xmdv.visit", "Pseudocolor", "u")
    +              }
    +
    +    keys = sorted(formats.keys())
    +    test_name_base="export_db_%d"%(2 if usingWriteGroups else 1)
    +
    +    # do all the exports
    +    for f in keys:
    +        export_name="%s_%s"%("wg" if usingWriteGroups else "export", f)
    +        e.db_type = f
    +        e.db_type_fullname = f + "_1.0"
    +        e.filename = export_name
    +        ExportDatabase(e)
    +        time.sleep(1)
    +
    +    # now attempt to read the exported files
    +    if usingWriteGroups:
    +        files = sorted(fnmatch.filter(os.listdir(e.dirname), "wg_*"))
    +    for f in keys:
    +        # Add the exported data in window 2.
    +        AddWindow()
    +
    +        pattern = formats[f][1] if usingWriteGroups else formats[f][0]
    +        filelist=""
    +        opendbs = []
    +
    +        if pattern[0] == '*':
    +            # Read all of the filenames
    +            ext = pattern[2:]
    +            for datafile in files:
    +                if datafile[-len(ext):] == ext:
    +                    if OpenDatabase(datafile):
    +                        AddPlot(formats[f][2], formats[f][3])
    +                        opendbs = opendbs + [datafile]
    +                        filelist = filelist + datafile + "\n"
    +            DrawPlots()
    +        else:
    +            if OpenDatabase(pjoin(e.dirname, pattern)):
    +                md = GetMetaData(pattern)
    +                AddPlot(formats[f][2], formats[f][3])
    +                DrawPlots()
    +                if usingWriteGroups:
    +                    opendbs = opendbs + [pattern]
    +                    filelist = filelist + pattern + "\n"
    +            else:
    +                if not usingWriteGroups:
    +                    files = os.listdir(e.dirname)
    +                    files.sort()
    +                    s = ""
    +                    for fn in files:
    +                        if pattern in fn:
    +                            s = fn + "\n"
    +                    TestText("files", s)
    +                else:
    +                    filelist = "ERROR: " + "\n".join(os.listdir("."))
    +
    +        t = CreateAnnotationObject("Text2D")
    +        t.text = f
    +        t.position = (0.01, 0.91)
    +        t.height = 0.07
    +        SetView3D(v)
    +        SetAnnotationAttributes(a)
    +        Test("%s_%02d"%(test_name_base, count))
    +        if usingWriteGroups:
    +            TestText("%s_%02dfn"%(test_name_base, count),filelist)
    +        count=count+1
    +
    +        # Clean up window 2
    +        DeleteAllPlots()
    +        #if not usingWriteGroups:
    +        #    CloseDatabase(pattern)
    +        #else:
    +        #    for db in opendbs:
    +        #        CloseDatabase(db)
    +        DeleteWindow()
    +
    +    return count
    +
    +def test1():
    +    TestSection("Test export of some surfaces.")
    +    maindb = silo_data_path("multi_rect3d.silo")
    +    OpenDatabase(maindb)
    +    DefineScalarExpression("rad", "magnitude(coords(mesh1))")
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("Isosurface")
    +    iso = IsosurfaceAttributes()
    +    iso.contourValue = (0.55, 1.455)
    +    iso.contourMethod = iso.Value
    +    iso.variable = "rad"
    +    SetOperatorOptions(iso)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.467474, 0.301847, 0.830877)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.140705, 0.953323, -0.267166)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (-0.0154649, 0.027457)
    +    v.imageZoom = 1.14276
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +    Test("export_db_1_00")
    +
    +    # Test VTK binary
    +    e = ExportDBAttributes()
    +    e.db_type = "VTK"
    +    e.filename = "binary_VTK"
    +    opts = GetExportOptions("VTK")
    +    #opts['Binary format'] = 1
    +    opts['FileFormat'] = 1
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    line = "The binary_VTK.0.vtk file is NOT binary.\n\n"
    +    visitfile = " ".join(open("binary_VTK.visit").readlines())
    +    if VTK_check_binary("binary_VTK/binary_VTK.0.vtk"):
    +        line = "The binary_VTK.0.vtk file is binary.\n\n"
    +    s = line + visitfile
    +    TestText("export_db_1_01", s)
    +
    +    a = GetAnnotationAttributes()
    +
    +    AddWindow()
    +    OpenDatabase("binary_VTK.visit")
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    t = CreateAnnotationObject("Text2D")
    +    t.text = "VTK"
    +    t.position = (0.01, 0.91)
    +    t.height = 0.07
    +    SetView3D(v)
    +    SetAnnotationAttributes(a)
    +    Test("export_db_1_02")
    +#    CloseDatabase("binary_VTK.visit")
    +    DeleteWindow()
    +
    +    # Test exporting some surfaces in other formats and plotting the results.
    +
    +    count = 3
    +    count = export_and_plot(e, v, a, count, False)
    +
    +    # change directory and retry the export_and_plot
    +    edir = pjoin(TestEnv.params["run_dir"], "exports")
    +    if not os.path.isdir(edir):
    +        os.mkdir(edir)
    +    e.dirname=edir
    +
    +    export_and_plot(e, v, a, count, False)
    +
    +    # Clean up window 1
    +    DeleteAllPlots()
    +#    CloseDatabase(maindb)
    +
    +def test2(writeGroupSize):
    +    TestSection("Test export with write groups (parallel).")
    +    maindb = silo_data_path("multi_rect3d.silo")
    +    OpenDatabase(maindb)
    +    DefineScalarExpression("rad", "magnitude(coords(mesh1))")
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("Isosurface")
    +    iso = IsosurfaceAttributes()
    +    iso.contourValue = (0.55, 1.455)
    +    iso.contourMethod = iso.Value
    +    iso.variable = "rad"
    +    SetOperatorOptions(iso)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.467474, 0.301847, 0.830877)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.140705, 0.953323, -0.267166)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (-0.0154649, 0.027457)
    +    v.imageZoom = 1.14276
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +    Test("export_db_2_00")
    +
    +    a = GetAnnotationAttributes()
    +
    +    # Test exporting some surfaces in other formats and plotting the results.
    +    e = ExportDBAttributes()
    +    e.writeUsingGroups = 1
    +    e.groupSize = writeGroupSize
    +    count = 1
    +    count = export_and_plot(e, v, a, count, True)
    +
    +    # change directory and retry the export_and_plot
    +    edir = pjoin(TestEnv.params["run_dir"], "exports_2")
    +    if not os.path.isdir(edir):
    +        os.mkdir(edir)
    +    e.dirname=edir
    +
    +    export_and_plot(e, v, a, count, True)
    +
    +    # Clean up window 1
    +    DeleteAllPlots()
    +#    CloseDatabase(maindb)
    +
    +def test3():
    +    TestSection("Test Tecplot multiblock export.")
    +    maindb = silo_data_path("multi_rect3d.silo")
    +    OpenDatabase(maindb)
    +    DefineScalarExpression("rad", "magnitude(coords(mesh))")
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.467474, 0.301847, 0.830877)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.140705, 0.953323, -0.267166)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (-0.0154649, 0.027457)
    +    v.imageZoom = 1.14276
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +    Test("export_db_3_00")
    +    a = GetAnnotationAttributes()
    +
    +    e = ExportDBAttributes()
    +    e.db_type = "Tecplot"
    +    e.db_type_fullname = "Tecplot_1.0"
    +    e.filename = "rectTecplot"
    +    e.writeUsingGroups = 0
    +    e.variables = ("default", "v", "rad")
    +    ExportDatabase(e)
    +    time.sleep(1)
    +
    +    # Add the exported database in window 2
    +    AddWindow()
    +    OpenDatabase("rectTecplot.tec")
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    SetAnnotationAttributes(a)
    +    SetView3D(v)
    +    Test("export_db_3_01")
    +    ChangeActivePlotsVar("v")
    +    Test("export_db_3_02")
    +    ChangeActivePlotsVar("rad")
    +    Test("export_db_3_03")
    +
    +    # Make sure we have volume data
    +    AddOperator("ThreeSlice")
    +    atts = ThreeSliceAttributes()
    +    atts.y = 0.5
    +    atts.x = 0.5
    +    atts.z = 0.5
    +    SetOperatorOptions(atts)
    +    DrawPlots()
    +    Test("export_db_3_04")
    +
    +    # Clean up window 2
    +    DeleteAllPlots()
    +#    CloseDatabase("rectTecplot.tec")
    +    DeleteWindow()
    +
    +    # Back to window 1
    +    DeleteAllPlots()
    +#    CloseDatabase(maindb)
    +
    +def test4():
    +    TestSection("Test VTK multiblock export.")
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    Test("export_db_4_01")
    +
    +    e = ExportDBAttributes()
    +    e.db_type = "VTK"
    +    e.filename = "multi_rect3d_LA"
    +    opts = GetExportOptions("VTK")
    +    opts['FileFormat'] = "Legacy Ascii"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    ReplaceDatabase("multi_rect3d_LA.visit")
    +    Test("export_db_4_02")
    +
    +    e.filename = "multi_rect3d_LB"
    +    opts['FileFormat'] = "Legacy Binary"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    ReplaceDatabase("multi_rect3d_LB.visit")
    +    Test("export_db_4_03")
    +
    +    e.filename = "multi_rect3d_XA"
    +    opts['FileFormat'] = "XML Ascii"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    ReplaceDatabase("multi_rect3d_XA.vtm")
    +    Test("export_db_4_04")
    +
    +    e.filename = "multi_rect3d_XB"
    +    opts['FileFormat'] = "XML Binary"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    ReplaceDatabase("multi_rect3d_XB.vtm")
    +    Test("export_db_4_05")
    +
    +    DeleteAllPlots()
    +
    +def test_bov():
    +    TestSection("Test bov export with and without compression.")
    +    maindb = silo_data_path("noise.silo")
    +    OpenDatabase(maindb)
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    #
    +    # test w/o compression
    +    #
    +    e = ExportDBAttributes()
    +    e.db_type = "BOV"
    +    e.db_type_fullname = "BOV_1.0"
    +    e.filename = "test_bov_uncompressed"
    +    e.variables = ("default")
    +    opts = GetExportOptions("BOV")
    +    opts["Compression"] = "None"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    TestValueEQ("test_bov_uncompressed.bov exists", os.path.isfile("test_bov_uncompressed.bov"), True)
    +    TestValueEQ("test_bov_uncompressed.bof exists", os.path.isfile("test_bov_uncompressed.bof"), True)
    +    ReplaceDatabase("test_bov_uncompressed.bov")
    +    Test("export_db_5_01")
    +
    +    #
    +    # test w gzip compression
    +    #
    +    e.filename = "test_bov_gzip"
    +    opts["Compression"] = "gzip"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    TestValueEQ("test_bov_gzip.bov exists", os.path.isfile("test_bov_gzip.bov"), True)
    +    TestValueEQ("test_bov_gzip.bof.gz exists", os.path.isfile("test_bov_gzip.bof.gz"), True)
    +    ReplaceDatabase("test_bov_gzip.bov")
    +    Test("export_db_5_02")
    +
    +    DeleteAllPlots()
    +
    +def test_vtk_tetrahedralize():
    +    dbs_noext = ["ucd3d", "specmix_ucd"]
    +    for db_noext in dbs_noext:
    +        db = "%s.silo"%db_noext
    +        OpenDatabase(silo_data_path(db))
    +        AddPlot("Pseudocolor","d") # both dbs have variable 'd'
    +        DrawPlots()
    +        Query("NumZones")
    +        nzOrig = int(GetQueryOutputValue())
    +
    +        # Test VTK binary
    +        e = ExportDBAttributes()
    +        e.db_type = "VTK"
    +        e.filename = "%s_ascii_VTK_tets"%db_noext
    +        opts = GetExportOptions("VTK")
    +        opts['FileFormat'] = "Legacy Ascii"
    +        opts['Tetrahedralize'] = True
    +        ExportDatabase(e, opts)
    +        time.sleep(1)
    +        DeleteAllPlots()
    +#        CloseDatabase(silo_data_path(db))
    +        OpenDatabase("%s_ascii_VTK_tets.vtk"%db_noext)
    +        AddPlot("Pseudocolor","d")
    +        DrawPlots()
    +        Query("NumZones")
    +        nzNew = int(GetQueryOutputValue())
    +        TestText("export_db_vtk_tets_%s"%db_noext, "Ratio of exported zone count to original is %d"%(nzNew/nzOrig))
    +        DeleteAllPlots()
    +
    +def test_htg():
    +    TestSection("Test htg export.")
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Pseudocolor", "dx")
    +    AddOperator("Resample")
    +    resample = ResampleAttributes()
    +    resample.useExtents = 0
    +    resample.startX = -10
    +    resample.endX = 10
    +    resample.samplesX = 16
    +    resample.startY = -10
    +    resample.endY = 10
    +    resample.samplesY = 16
    +    resample.is3D = 1
    +    resample.startZ = -10
    +    resample.endZ = 10
    +    resample.samplesZ = 16
    +    resample.defaultValue = -10000
    +    resample.distributedResample = 0
    +    resample.cellCenteredOutput = 1
    +    SetOperatorOptions(resample)
    +    DrawPlots()
    +
    +    e = ExportDBAttributes()
    +    e.db_type = "HTG"
    +    e.filename = "globe"
    +    opts = GetExportOptions("HTG")
    +    opts['Blank value'] = -10000
    +    ExportDatabase(e, opts)
    +
    +    htg_text = Path('globe.dx.htg').read_text()
    +
    +    TestText("globe.dx.htg", htg_text)
    +
    +    DeleteAllPlots()
    +
    +def main():
    +    test0()
    +    test1()
    +    if GetEngineProperties(GetEngineList()[0]).numProcessors > 1:
    +        # We just use 2 processors normally so let's set the write group size
    +        # to 1 so each rank will write its own data using a different write
    +        # group. For certain formats, there will be 1 data file per write
    +        # group, or in this case 2 output files.
    +        test2(1)
    +    test3()
    +    test4()
    +    test_bov()
    +    test_vtk_tetrahedralize()
    +    test_htg()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ffp.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ffp.html new file mode 100644 index 000000000..83be8ddf9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ffp.html @@ -0,0 +1,60 @@ + +Results for databases/ffp.py + +

    Results of VisIt Regression Test - databases/ffp

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ffp_000.000.00
    ffp_010.000.00
    ffp_020.000.00
    ffp_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ffp_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ffp_py.html new file mode 100644 index 000000000..bd7ebc18a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_ffp_py.html @@ -0,0 +1,260 @@ +databases/ffp.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ffp.py
    +#
    +#  Programmer: Olivier Cessenat
    +#  Tue May  8 21:49:21 PDT 2018
    +#
    +#  Modifications:
    +#     Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#     Changed Pseudocolor CurrentPlot to ActualData.
    +# ----------------------------------------------------------------------------
    +TurnOffAllAnnotations()
    +
    +OpenDatabase(data_path("ffp_test_data/nasa_almond_pec.ffp.gz"), 0, "ffp_1.0")
    +AddPlot("Pseudocolor", "cffp", 1, 1)
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.160095, 0.96257, 0.218697)
    +View3DAtts.focus = (0, 0, 0)
    +View3DAtts.viewUp = (-0.983472, 0.136561, 0.118883)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 3.4641
    +View3DAtts.nearPlane = -6.9282
    +View3DAtts.farPlane = 6.9282
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1.21
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 0)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +# End spontaneous state
    +
    +DrawPlots()
    +SaveWindowAtts = SaveWindowAttributes()
    +SaveWindowAtts.outputToCurrentDirectory = 1
    +SaveWindowAtts.outputDirectory = "."
    +SaveWindowAtts.fileName = "nasa_almond_pec"
    +SaveWindowAtts.family = 1
    +SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
    +SaveWindowAtts.width = 1024
    +SaveWindowAtts.height = 1024
    +SaveWindowAtts.screenCapture = 0
    +SaveWindowAtts.saveTiled = 0
    +SaveWindowAtts.quality = 80
    +SaveWindowAtts.progressive = 0
    +SaveWindowAtts.binary = 0
    +SaveWindowAtts.stereo = 0
    +SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
    +SaveWindowAtts.forceMerge = 0
    +SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
    +SaveWindowAtts.advancedMultiWindowSave = 0
    +SetSaveWindowAttributes(SaveWindowAtts)
    +Test("ffp_00", SaveWindowAtts)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("ffp_test_data/nasa_almond_pec.ffp.gz"))
    +
    +# Test standard ffp format
    +OpenDatabase(data_path("ffp_test_data/sphereMie.ffp"), 0)
    +AddPlot("Pseudocolor", "mffp", 1, 1)
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.scaling = PseudocolorAtts.Skew  # Linear, Log, Skew
    +PseudocolorAtts.skewFactor = 10000
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.maxFlag = 0
    +PseudocolorAtts.max = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.colorTableName = "hot"
    +PseudocolorAtts.invertColorTable = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    +PseudocolorAtts.opacityVariable = ""
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.opacityVarMin = 0
    +PseudocolorAtts.opacityVarMax = 1
    +PseudocolorAtts.opacityVarMinFlag = 0
    +PseudocolorAtts.opacityVarMaxFlag = 0
    +PseudocolorAtts.pointSize = 0.05
    +PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineType = PseudocolorAtts.Line  # Line, Tube, Ribbon
    +PseudocolorAtts.lineWidth = 0
    +#PseudocolorAtts.tubeDisplayDensity = 10
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +PseudocolorAtts.tubeRadiusAbsolute = 0.125
    +PseudocolorAtts.tubeRadiusBBox = 0.005
    +#PseudocolorAtts.varyTubeRadius = 0
    +#PseudocolorAtts.varyTubeRadiusVariable = ""
    +#PseudocolorAtts.varyTubeRadiusFactor = 10
    +#PseudocolorAtts.endPointType = PseudocolorAtts.NONE  # None, Tails, Heads, Both
    +#PseudocolorAtts.endPointStyle = PseudocolorAtts.Spheres  # Spheres, Cones
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +PseudocolorAtts.endPointRadiusAbsolute = 1
    +PseudocolorAtts.endPointRadiusBBox = 0.005
    +PseudocolorAtts.endPointRatio = 2
    +PseudocolorAtts.renderSurfaces = 1
    +PseudocolorAtts.renderWireframe = 0
    +PseudocolorAtts.renderPoints = 0
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +SetPlotOptions(PseudocolorAtts)
    +DrawPlots()
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.782512, 0.282334, 0.554944)
    +View3DAtts.focus = (0, 0, -0.454083)
    +View3DAtts.viewUp = (-0.175089, 0.955097, -0.239027)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 0.557719
    +View3DAtts.nearPlane = -1.11544
    +View3DAtts.farPlane = 1.11544
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, -0.454083)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +# End spontaneous state
    +
    +SaveWindowAtts = SaveWindowAttributes()
    +SaveWindowAtts.outputToCurrentDirectory = 1
    +SaveWindowAtts.outputDirectory = "."
    +SaveWindowAtts.fileName = "sphereMie"
    +SaveWindowAtts.family = 1
    +SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
    +SaveWindowAtts.width = 1024
    +SaveWindowAtts.height = 1024
    +SaveWindowAtts.screenCapture = 0
    +SaveWindowAtts.saveTiled = 0
    +SaveWindowAtts.quality = 80
    +SaveWindowAtts.progressive = 0
    +SaveWindowAtts.binary = 0
    +SaveWindowAtts.stereo = 0
    +SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
    +SaveWindowAtts.forceMerge = 0
    +SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
    +SaveWindowAtts.advancedMultiWindowSave = 0
    +SetSaveWindowAttributes(SaveWindowAtts)
    +Test("ffp_01", SaveWindowAtts)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("ffp_test_data/sphereMie.ffp"))
    +OpenDatabase(data_path("ffp_test_data/mksn10.ffp"))
    +AddPlot("Pseudocolor", "sffp", 1, 1)
    +AddPlot("Mesh", "sphere", 1, 1)
    +DrawPlots()
    +
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.382511, -0.663647, 0.642852)
    +View3DAtts.focus = (0, 0, 0)
    +View3DAtts.viewUp = (-0.146698, 0.643316, 0.751415)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 1.73205
    +View3DAtts.nearPlane = -3.4641
    +View3DAtts.farPlane = 3.4641
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 0)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +# End spontaneous state
    +
    +SaveWindowAtts = SaveWindowAttributes()
    +SaveWindowAtts.outputToCurrentDirectory = 1
    +SaveWindowAtts.outputDirectory = "."
    +SaveWindowAtts.fileName = "mksn10"
    +SaveWindowAtts.family = 1
    +SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
    +SaveWindowAtts.width = 1024
    +SaveWindowAtts.height = 1024
    +SaveWindowAtts.screenCapture = 0
    +SaveWindowAtts.saveTiled = 0
    +SaveWindowAtts.quality = 80
    +SaveWindowAtts.progressive = 0
    +SaveWindowAtts.binary = 0
    +SaveWindowAtts.stereo = 0
    +SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
    +SaveWindowAtts.forceMerge = 0
    +SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
    +SaveWindowAtts.advancedMultiWindowSave = 0
    +SetSaveWindowAttributes(SaveWindowAtts)
    +Test("ffp_02", SaveWindowAtts)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("ffp_test_data/mksn10.ffp"))
    +OpenDatabase(data_path("ffp_test_data/mksn20.ffp"))
    +AddPlot("Pseudocolor", "cffp", 1, 1)
    +AddPlot("Mesh", "cphere", 1, 1)
    +DrawPlots()
    +
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (-0.187617, -0.963273, 0.192107)
    +View3DAtts.focus = (0, 0, 0)
    +View3DAtts.viewUp = (0.0378766, 0.188339, 0.981373)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 3.4641
    +View3DAtts.nearPlane = -6.9282
    +View3DAtts.farPlane = 6.9282
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 0)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +# End spontaneous state
    +
    +SaveWindowAtts = SaveWindowAttributes()
    +SaveWindowAtts.outputToCurrentDirectory = 1
    +SaveWindowAtts.outputDirectory = "."
    +SaveWindowAtts.fileName = "mksn20"
    +SaveWindowAtts.family = 1
    +SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
    +SaveWindowAtts.width = 1024
    +SaveWindowAtts.height = 1024
    +SaveWindowAtts.screenCapture = 0
    +SaveWindowAtts.saveTiled = 0
    +SaveWindowAtts.quality = 80
    +SaveWindowAtts.progressive = 0
    +SaveWindowAtts.binary = 0
    +SaveWindowAtts.stereo = 0
    +SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
    +SaveWindowAtts.forceMerge = 0
    +SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
    +SaveWindowAtts.advancedMultiWindowSave = 0
    +SetSaveWindowAttributes(SaveWindowAtts)
    +Test("ffp_03", SaveWindowAtts)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("ffp_test_data/mksn20.ffp"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_flash.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_flash.html new file mode 100644 index 000000000..8998ccf94 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_flash.html @@ -0,0 +1,42 @@ + +Results for databases/flash.py + +

    Results of VisIt Regression Test - databases/flash

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    flash_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_flash_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_flash_py.html new file mode 100644 index 000000000..967fa683c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_flash_py.html @@ -0,0 +1,46 @@ +databases/flash.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  flash.py 
    +#
    +#  Tests:      FLASH data 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       March6, 2007 
    +#
    +#  Modifications:
    +#
    +#    Hank Childs and Randy Hudson, Sun Mar  2 15:38:05 PST 2008
    +#    Reflect new naming scheme.
    +#
    +#    Hank Childs, Tue Jan 19 13:29:29 PST 2010
    +#    Go back to original naming scheme.
    +#
    +# ----------------------------------------------------------------------------
    +import os, string
    +
    +RequiredDatabasePlugin("FLASH")
    +
    +SetTryHarderCyclesTimes(1)
    +# the following open command doesn't work (#7873)
    +##OpenDatabase(data_path("FLASH_test_data/orbit_hdf5_chk_0* database"))
    +
    +OpenDatabase(data_path("FLASH_test_data/orbit_hdf5_chk_0000"),0, "FLASH_1.0")
    +
    +
    +AddPlot("Pseudocolor","pden")
    +AddOperator("Clip")
    +c = ClipAttributes()
    +c.funcType = c.Plane
    +c.plane1Origin = (0.5, 0.5, 0.4)
    +c.plane1Normal = (0, 0, 1)
    +SetOperatorOptions(c)
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal=(-0.707107, 0, 0.707107)
    +v.viewUp=(0, 1, 0)
    +SetView3D(v)
    +Test("flash_01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_global_node_ids.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_global_node_ids.html new file mode 100644 index 000000000..860572c4c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_global_node_ids.html @@ -0,0 +1,96 @@ + +Results for databases/global_node_ids.py + +

    Results of VisIt Regression Test - databases/global_node_ids

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    global_node_ids010.000.00
    global_node_ids020.000.00
    global_node_ids030.000.00
    global_node_ids040.000.00
    global_node_ids050.000.00
    global_node_ids060.000.00
    global_node_ids070.000.00
    global_node_ids080.000.00
    global_node_ids090.000.00
    global_node_ids100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_global_node_ids_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_global_node_ids_py.html new file mode 100644 index 000000000..763bfd8ba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_global_node_ids_py.html @@ -0,0 +1,91 @@ +databases/global_node_ids.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  global_node_ids.py
    +#
    +#  Tests:      mesh      - 3D unstructured,multi-domain, global node ids, but
    +#                          no ghost zones.
    +#              plots     - mat subset, domain subset
    +#
    +#  Defect ID:  '5448
    +#
    +#  Programmer: Hank Childs
    +#  Date:       October 5, 2004
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +view = View3DAttributes()
    +view.viewNormal = (0.557976, 0.651128, 0.514485)
    +view.focus = (0.5, 0.5, 0.5)
    +view.viewUp = (-0.0955897, 0.666272, -0.739557)
    +view.viewAngle = 30
    +view.parallelScale = 0.866025
    +view.nearPlane = -1.73205
    +view.farPlane = 1.73205
    +view.perspective = 1
    +SetView3D(view)
    +
    +OpenDatabase(silo_data_path("global_node.silo"))
    +
    +AddPlot("FilledBoundary", "mat")
    +DrawPlots()
    +
    +# Test the normal material plot.
    +Test("global_node_ids01")
    +
    +# Make sure that the ghost zones were generated correctly.
    +view.nearPlane = -0.3
    +SetView3D(view)
    +Test("global_node_ids02")
    +
    +view.nearPlane = -1.73205
    +SetView3D(view)
    +
    +TurnMaterialsOff("1")
    +Test("global_node_ids03")
    +
    +TurnMaterialsOff()
    +TurnMaterialsOn("1")
    +Test("global_node_ids04")
    +
    +DeleteAllPlots()
    +
    +# Test that the SIL from the previous plot is preserved.
    +AddPlot("Subset", "domains")
    +DrawPlots()
    +Test("global_node_ids05")
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "dist")
    +DrawPlots()
    +Test("global_node_ids06")
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("global_node_ids07")
    +
    +DeleteAllPlots()
    +AddPlot("Contour", "dist")
    +DrawPlots()
    +Test("global_node_ids08")
    +
    +DefineScalarExpression("dist2", "recenter(dist)")
    +ChangeActivePlotsVar("dist2")
    +Test("global_node_ids09")
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "dist2")
    +DrawPlots()
    +Test("global_node_ids10")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_h5part.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_h5part.html new file mode 100644 index 000000000..5a1bcf966 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_h5part.html @@ -0,0 +1,60 @@ + +Results for databases/h5part.py + +

    Results of VisIt Regression Test - databases/h5part

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    h5part_010.000.00
    h5part_020.000.00
    h5part_030.000.00
    h5part_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_h5part_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_h5part_py.html new file mode 100644 index 000000000..ffc5bf85b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_h5part_py.html @@ -0,0 +1,64 @@ +databases/h5part.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  h5part.py
    +#
    +#  Programmer: Gunther Weber 
    +#  Date:       January, 2009 
    +#
    +#  Modifications:
    +#    Mark C. Miller, Wed Jan 21 09:36:13 PST 2009
    +#    Took Gunther's original code and integrated it with test suite.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("H5Part")
    +
    +TurnOffAllAnnotations()
    +
    +OpenDatabase(data_path("h5part_test_data/sample.h5part"), 0)
    +
    +AddPlot("Pseudocolor", "GaussianField", 1, 0)
    +DrawPlots()
    +Test("h5part_01")
    +
    +ChangeActivePlotsVar("LinearField")
    +View3DAtts = GetView3D()
    +View3DAtts.viewNormal = (1.000000, 0.000000, 0.0000000)
    +View3DAtts.focus = (31.5, 31.5, 31.5)
    +View3DAtts.viewUp = (0.000000, 1.000000, 0.0000000)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 54.5596
    +View3DAtts.nearPlane = -109.119
    +View3DAtts.farPlane = 109.119
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (31.5, 31.5, 31.5)
    +SetView3D(View3DAtts)
    +Test("h5part_02")
    +
    +DeleteActivePlots()
    +AddPlot("Pseudocolor", "px", 1, 0)
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.pointType = PseudocolorAtts.Sphere
    +PseudocolorAtts.pointSize = 1.5
    +SetPlotOptions(PseudocolorAtts)
    +DrawPlots()
    +Test("h5part_03")
    +
    +AddPlot("Pseudocolor", "LinearField", 1, 0)
    +AddOperator("Slice", 0)
    +SliceAtts = SliceAttributes()
    +SliceAtts.originType = SliceAtts.Intercept
    +SliceAtts.originIntercept = 30
    +SliceAtts.axisType = SliceAtts.XAxis
    +SliceAtts.project2d = 0
    +SliceAtts.meshName = "particles"
    +SetOperatorOptions(SliceAtts)
    +DrawPlots()
    +Test("h5part_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_history.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_history.html new file mode 100644 index 000000000..a5bfbb855 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_history.html @@ -0,0 +1,48 @@ + +Results for databases/history.py + +

    Results of VisIt Regression Test - databases/history

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    history_010.000.00
    history_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_history_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_history_py.html new file mode 100644 index 000000000..c6778a770 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_history_py.html @@ -0,0 +1,47 @@ +databases/history.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  history.py 
    +#
    +#  Tests:      variables that only have values for real zones (not ghost zones)
    +#              Some history variables have this property.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 9, 2004
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +#
    +# Test that we can detect that there is a problem and add 0's.
    +#
    +AddPlot("Pseudocolor","hist")
    +DrawPlots()
    +
    +v=GetView3D()
    +v.viewNormal=(-0.35, -0.47, -0.8)
    +SetView3D(v)
    +Test("history_01")
    +
    +#
    +# Doing material selection flexes the code in a different way (it confirms
    +# that we can detect the problem immediately upon reading it from the disk).
    +# Test that that works correctly as well.
    +#
    +
    +sil = SILRestriction()
    +sets = sil.SetsInCategory("mat1")
    +sil.TurnOffSet(sets[0])
    +sil.TurnOffSet(sets[2])
    +SetPlotSILRestriction(sil)
    +Test("history_02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_image.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_image.html new file mode 100644 index 000000000..d564e9e83 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_image.html @@ -0,0 +1,60 @@ + +Results for databases/image.py + +

    Results of VisIt Regression Test - databases/image

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    image_010.000.00
    image_020.000.00
    image_030.000.00
    image_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_image_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_image_py.html new file mode 100644 index 000000000..564d50bec --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_image_py.html @@ -0,0 +1,90 @@ +databases/image.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  image.py 
    +#
    +#  Defect ID:  '6277
    +#
    +#  Tests:      image reader and data selections 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       November 4, 2004 
    +#
    +#  Modifications:
    +# 
    +#    Hank Childs, Fri May 20 15:08:37 PDT 2005
    +#    Added tests for image volumes.
    +#
    +#    Jeremy Meredith, Thu Jan 14 12:09:57 EST 2010
    +#    Changed the way the imgvol test file was created.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +#
    +# we'll make all the pc plots gray scale
    +#
    +pcatts=PseudocolorAttributes()
    +pcatts.colorTableName="gray"
    +SetDefaultPlotOptions(pcatts)
    +
    +#
    +# test ability to read an image as usual 
    +#
    +OpenDatabase(data_path("Image_test_data/manhattan.jpg"))
    +
    +
    +AddPlot("Pseudocolor","intensity")
    +DrawPlots()
    +Test("image_01")
    +
    +DeleteAllPlots()
    +
    +#
    +# Test a data selection on a format that cannot
    +# handle it during read. The selection will
    +# occur after WHOLE image is read
    +#
    +AddPlot("Pseudocolor","intensity")
    +box=BoxAttributes()
    +box.minx = 0
    +box.maxx = 100
    +box.miny = 0
    +box.maxy = 100
    +AddOperator("Box")
    +SetOperatorOptions(box)
    +DrawPlots()
    +Test("image_02")
    +
    +DeleteAllPlots()
    +
    +#
    +# Now test a data selection on a format that can
    +# handle selection during read 
    +#
    +OpenDatabase(data_path("Image_test_data/manhattan.pnm"))
    +
    +AddPlot("Pseudocolor","intensity")
    +AddOperator("Box")
    +SetOperatorOptions(box)
    +DrawPlots()
    +Test("image_03")
    +
    +DeleteAllPlots()
    +f = open(data_path("Image_test_data/manhattan.imgvol"), "wt")
    +f.write("Z_STEP:60\n")
    +for i in range(3):
    +   f.write("manhattan.jpg\n")
    +f.close()
    +OpenDatabase(data_path("Image_test_data/manhattan.imgvol"))
    +
    +AddPlot("Contour", "green")
    +c = ContourAttributes()
    +c.contourMethod = c.Value
    +c.contourValue = (128)
    +SetPlotOptions(c)
    +DrawPlots()
    +Test("image_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_imgvol.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_imgvol.html new file mode 100644 index 000000000..8d72cf8da --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_imgvol.html @@ -0,0 +1,78 @@ + +Results for databases/imgvol.py + +

    Results of VisIt Regression Test - databases/imgvol

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    imgvol_010.000.00
    imgvol_020.000.00
    imgvol_030.000.00
    imgvol_040.000.00
    imgvol_050.000.00
    imgvol_060.000.00
    imgvol_070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_imgvol_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_imgvol_py.html new file mode 100644 index 000000000..077c37349 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_imgvol_py.html @@ -0,0 +1,67 @@ +databases/imgvol.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  imgvol.py 
    +#
    +#  Tests:      imgvol reader
    +#
    +#  Mark C. Miller, Fri Apr 23 23:01:06 PDT 2010
    +#
    +#  Modifications:
    +# 
    +#    Mark C. Miller, Sun Apr 25 21:30:29 PDT 2010
    +#    Added missing Slice operator for contour plot.
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("imgvol_test_data/tcup.imgvol"))
    +
    +AddPlot("Pseudocolor","intensity")
    +sa=SliceAttributes()
    +sa.originType = sa.Percent
    +sa.originPercent = 50
    +AddOperator("Slice")
    +SetOperatorOptions(sa)
    +DrawPlots()
    +Test("imgvol_01")
    +
    +ChangeActivePlotsVar("intensity_nodal")
    +DrawPlots()
    +Test("imgvol_02")
    +
    +AddOperator("InverseGhostZone")
    +DrawPlots()
    +Test("imgvol_03")
    +RemoveLastOperator()
    +
    +AddPlot("Contour","intensity")
    +AddOperator("Slice")
    +SetOperatorOptions(sa)
    +ca=ContourAttributes()
    +ca.contourValue = (65,)
    +ca.contourMethod = ca.Value
    +ca.lineWidth = 2
    +SetPlotOptions(ca)
    +DrawPlots()
    +Test("imgvol_04")
    +
    +ChangeActivePlotsVar("intensity")
    +DrawPlots()
    +Test("imgvol_05")
    +
    +DeleteActivePlots()
    +RemoveLastOperator()
    +
    +iv=IsovolumeAttributes()
    +iv.lbound = 65
    +AddOperator("Isovolume")
    +SetOperatorOptions(iv)
    +AddOperator("Slice")
    +SetOperatorOptions(sa)
    +DrawPlots()
    +Test("imgvol_06")
    +
    +ChangeActivePlotsVar("intensity_nodal")
    +Test("imgvol_07")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_kulllite.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_kulllite.html new file mode 100644 index 000000000..26f84fae0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_kulllite.html @@ -0,0 +1,90 @@ + +Results for databases/kulllite.py + +

    Results of VisIt Regression Test - databases/kulllite

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    kulllite_0112.580.34
    kulllite_020.870.63
    kulllite_030.870.63
    kulllite_040.000.00
    kulllite_050.000.00
    kulllite_060.000.00
    kulllite_070.000.00
    kulllite_080.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_kulllite_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_kulllite_py.html new file mode 100644 index 000000000..785f21626 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_kulllite_py.html @@ -0,0 +1,89 @@ +databases/kulllite.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  kulllite.py
    +#
    +#  Tests:      mesh      - 2D, 3D unstructured
    +#              plots     - Pseudocolor, mesh, boundary, subset
    +#
    +#  Defect ID:  '6251, '6326, '7043
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 14, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Thu May 11 11:35:39 PDT 2006
    +#    Test reading of density values.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("KullLite")
    +
    +OpenDatabase(data_path("KullLite_test_data/tagtest_xy_3.pdb"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("kulllite_01")
    +
    +DeleteAllPlots()
    +OpenDatabase(data_path("KullLite_test_data/tagtest_rz_1_0.pdb"))
    +
    +AddPlot("FilledBoundary", "Material(mesh)")
    +AddPlot("Mesh", "mesh_tags/edges_mesh")
    +DrawPlots()
    +Test("kulllite_02")
    +
    +DeleteActivePlots()
    +AddPlot("Mesh", "mesh")
    +AddPlot("Mesh", "mesh_tags/nodes_mesh")
    +m = MeshAttributes()
    +m.pointType = m.Box
    +SetPlotOptions(m)
    +DrawPlots()
    +Test("kulllite_03")
    +
    +DeleteAllPlots()
    +AddPlot("FilledBoundary", "mesh_tags/nodes(mesh_tags/nodes_mesh)")
    +fb = FilledBoundaryAttributes()
    +fb.pointType = fb.Box
    +SetPlotOptions(fb)
    +DrawPlots()
    +Test("kulllite_04")
    +
    +DeleteAllPlots()
    +OpenDatabase(data_path("KullLite_test_data/T.pdb"))
    +
    +AddPlot("FilledBoundary", "Material")
    +DrawPlots()
    +Test("kulllite_05")
    +
    +thres = ThresholdAttributes()
    +thres.listedVarNames = ("mesh_quality/shear")
    +thres.upperBounds = (0.5)
    +SetDefaultOperatorOptions(thres)
    +AddOperator("Threshold")
    +DrawPlots()
    +Test("kulllite_06")
    +
    +DeleteAllPlots()
    +
    +# Test reading of densities, for both per-zone quantities and per-zone,
    +# per-material quantities.
    +OpenDatabase(data_path("pdb_test_data/2dOverlayTest21.pdb"))
    +
    +AddPlot("Pseudocolor", "density")
    +DrawPlots()
    +Test("kulllite_07")
    +m = MaterialAttributes()
    +m.forceMIR = 1
    +SetMaterialAttributes(m)
    +ReOpenDatabase(data_path("pdb_test_data/2dOverlayTest21.pdb"))
    +
    +Test("kulllite_08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lata.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lata.html new file mode 100644 index 000000000..992bd03e5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lata.html @@ -0,0 +1,136 @@ + +Results for databases/lata.py + +

    Results of VisIt Regression Test - databases/lata

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    lata_000.250.19
    lata_010.000.00
    lata_020.530.44
    lata_030.000.00
    lata_040.000.00
    lata_050.000.00
    lata_060.250.19
    lata_070.000.00
    lata_080.490.45
    lata_092.940.64
    lata_100.000.00
    lata_110.000.00
    lata_120.000.00
    lata_130.000.00
    lata_140.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lata_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lata_py.html new file mode 100644 index 000000000..7ff6a5261 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lata_py.html @@ -0,0 +1,134 @@ +databases/lata.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lata.py 
    +#
    +TurnOffAllAnnotations()
    +# on change le stride des vecteurs par defaut 
    +vd=VectorAttributes()
    +vd.SetUseStride(1)
    +SetDefaultPlotOptions(vd)
    +OpenDatabase(data_path("Lata_test_data/2D_VDF/PAR_2D_VDF.lata"))
    +
    +AddPlot("Mesh","dom_solide")
    +AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
    +AddPlot("Vector","VITESSE_ELEM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_00")
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
    +AddPlot("Vector","VITESSE_SOM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_01")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
    +AddPlot("Subset", "blocks(dom_solide)")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_02")
    +DeleteAllPlots()
    +CloseDatabase(data_path("Lata_test_data/2D_VDF/PAR_2D_VDF.lata"))
    +
    +OpenDatabase(data_path("Lata_test_data/3D_VDF/PAR_3D_VDF.lata"))
    +AddPlot("Mesh","dom_solide")
    +AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
    +AddPlot("Vector","VITESSE_ELEM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_03")
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
    +AddPlot("Vector","VITESSE_SOM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_04")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
    +AddPlot("Subset", "blocks(dom_solide)")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_05")
    +DeleteAllPlots()
    +CloseDatabase(data_path("Lata_test_data/3D_VDF/PAR_3D_VDF.lata"))
    +
    +OpenDatabase(data_path("Lata_test_data/2D_VEF/PAR_2D_VEF.lata"))
    +AddPlot("Mesh","dom_solide")
    +AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
    +AddPlot("Vector","VITESSE_ELEM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_06")
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
    +AddPlot("Vector","VITESSE_SOM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_07")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
    +AddPlot("Subset", "blocks(dom_solide)")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_08")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_centerfaces")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_09")
    +DeleteAllPlots()
    +CloseDatabase(data_path("Lata_test_data/2D_VEF/PAR_2D_VEF.lata"))
    +
    +OpenDatabase(data_path("Lata_test_data/3D_VEF/PAR_3D_VEF.lata"))
    +AddPlot("Mesh","dom_solide")
    +AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
    +AddPlot("Vector","VITESSE_ELEM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_10")
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
    +AddPlot("Vector","VITESSE_SOM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_11")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
    +AddPlot("Subset", "blocks(dom_solide)")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_12")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_centerfaces")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_13")
    +DeleteAllPlots()
    +CloseDatabase(data_path("Lata_test_data/3D_VEF/PAR_3D_VEF.lata"))
    +
    +OpenDatabase(data_path("Lata_test_data/./FTD_remaillage_vdf/post.lata"))
    +AddPlot("Mesh","INTERFACES")
    +AddPlot("Pseudocolor","COURBURE_som_INTERFACES")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_14")
    +DeleteAllPlots()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_leos.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_leos.html new file mode 100644 index 000000000..64a609a2c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_leos.html @@ -0,0 +1,68 @@ + +Results for databases/leos.py + +

    Results of VisIt Regression Test - databases/leos

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    leos_010.000.00
    leos_030.000.00
    leos_040.000.00
    leos_050.000.00
    leos_060.410.64
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_leos_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_leos_py.html new file mode 100644 index 000000000..e42e93fa9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_leos_py.html @@ -0,0 +1,86 @@ +databases/leos.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  leos.py 
    +#
    +#  Tests:      Auto Full Frame Mode
    +#              LEOSFileReader 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       July 20, 2005 
    +#
    +#  Modifications:
    +#    Tom Fogal, Wed Dec 16 13:12:57 MST 2009
    +#    Fixed a bad path.
    +#
    +#    Mark C. Miller, Fri Jan 22 17:30:29 PST 2010
    +#    I replaced OpenDatabase with FindAnd... variant to deal with data
    +#    we don't keep in repo.
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("PDB")
    +
    +OpenMDServer("localhost")
    +readOptions=GetDefaultFileOpenOptions("PDB")
    +readOptions["LEOS try harder level [set to 0, 1 or 2]"] = 1
    +SetDefaultFileOpenOptions("PDB", readOptions)
    +
    +(err, dbname) = FindAndOpenDatabase("sesame.pdb")
    +if (err != 1): Exit(116) # Indicate skip
    +
    +#
    +# Test default full frame (became 'auto' 07Mar06)
    +#
    +AddPlot("Pseudocolor","Calcium_Ca/Pt")
    +DrawPlots()
    +Test("leos_01")
    +
    +v=GetView2D()
    +#
    +# Test auto full frame. This test was obsoleted when
    +# auto ff became the default
    +#
    +#v.fullFrameActivationMode = v.Auto
    +#SetView2D(v)
    +#Test("leos_02")
    +
    +#
    +# Test turning off full frame
    +#
    +v.fullFrameActivationMode = v.Off
    +SetView2D(v)
    +Test("leos_03")
    +
    +#
    +# Test turning on full frame 
    +#
    +v.fullFrameActivationMode = v.On
    +SetView2D(v)
    +Test("leos_04")
    +
    +v.fullFrameActivationMode = v.Auto
    +SetView2D(v)
    +DeleteAllPlots()
    +
    +#
    +# Test Auto full frame when changing plots
    +#
    +AddPlot("Pseudocolor","Water_H2O/Et")
    +DrawPlots()
    +ResetView()
    +v=GetView2D()
    +v.fullFrameActivationMode = v.Auto
    +SetView2D(v)
    +Test("leos_05")
    +
    +#
    +# Test the "catch all" mesh
    +#
    +AddPlot("Mesh","for active plot")
    +DrawPlots()
    +Test("leos_06")
    +
    +DeleteAllPlots()
    +CloseDatabase(dbname)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lines.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lines.html new file mode 100644 index 000000000..8f74c498f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lines.html @@ -0,0 +1,62 @@ + +Results for databases/lines.py + +

    Results of VisIt Regression Test - databases/lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Verifying 3D lines
     6 .eq. 6 (prec=5) : True
    mesh_plot_000.000.00
    Verifying 2D lines
     4 .eq. 4 (prec=5) : True
    mesh_plot_010.000.00
    mesh_plot_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lines_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lines_py.html new file mode 100644 index 000000000..eeb4bd303 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_lines_py.html @@ -0,0 +1,79 @@ +databases/lines.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lines.py
    +#
    +#  Tests:      mesh      - 2D lines (unstructured), 3D lines (unstructured)
    +#              plots     - mesh
    +#
    +#  Programmer: Alister Maguire
    +#  Date:       Tue Mar 17 08:50:32 PDT 2020
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Mon Jan 11 10:32:17 PST 2021
    +#    Replace AssertEqual() with TestValueEQ()
    +# ----------------------------------------------------------------------------
    +
    +def TestMeshPlot():
    +
    +    #
    +    # First, let's make sure that 3d lines are read appropriately.
    +    #
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +
    +    OpenDatabase(data_path("lines_test_data/spring.lines"))
    +    AddPlot("Mesh", "Lines", 1, 1)
    +    DrawPlots()
    +    Query("SpatialExtents")
    +
    +    # Check dimensionality.
    +    ext_len = len(GetQueryOutputValue())
    +    TestValueEQ("Verifying 3D lines", ext_len, 6)
    +
    +    # Check the rendering.
    +    Test("mesh_plot_00")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("lines_test_data/spring.lines"))
    +
    +    #
    +    # Next, let's check 2d lines.
    +    #
    +    OpenDatabase(data_path("lines_test_data/2d.lines"))
    +    AddPlot("Mesh", "Lines", 1, 1)
    +    DrawPlots()
    +    Query("SpatialExtents")
    +
    +    # Check dimensionality.
    +    ext_len = len(GetQueryOutputValue())
    +    TestValueEQ("Verifying 2D lines", ext_len, 4)
    +
    +    # Check the rendering.
    +    Test("mesh_plot_01")
    +    DeleteAllPlots()
    +
    +    CloseDatabase(data_path("lines_test_data/2d.lines"))
    +
    +    #
    +    # This test makes sure that consecutive points are only
    +    # removed from one line at a time.
    +    #
    +    OpenDatabase(data_path("lines_test_data/consecutive.lines"))
    +    AddPlot("Mesh", "Lines", 1, 1)
    +    DrawPlots()
    +
    +    # Check the rendering.
    +    Test("mesh_plot_02")
    +    DeleteAllPlots()
    +
    +    CloseDatabase(data_path("lines_test_data/consecutive.lines"))
    +
    +
    +def main():
    +    TestMeshPlot()
    +    Exit()
    +
    +main()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_metadata.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_metadata.html new file mode 100644 index 000000000..be18bb900 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_metadata.html @@ -0,0 +1,200 @@ + +Results for databases/metadata.py + +

    Results of VisIt Regression Test - databases/metadata

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Getting metadata
    metadata_0_000 modifications totalling 0 lines
    metadata_0_010 modifications totalling 0 lines
    metadata_0_020 modifications totalling 0 lines
    metadata_0_030 modifications totalling 0 lines
    metadata_0_040 modifications totalling 0 lines
    Use the metadata to plot the variables.
    metadata_1_scalar_airVf0.000.00
    metadata_1_scalar_chromeVf0.000.00
    metadata_1_scalar_hardyglobal0.000.00
    metadata_1_scalar_hgslice0.000.00
    metadata_1_scalar_radial0.000.00
    metadata_1_scalar_shepardglobal0.000.00
    metadata_1_scalar_x0.000.00
    metadata_1_scalar_PointVar0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_ii0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_ij0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_ik0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_ji0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_jj0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_jk0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_ki0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_kj0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_kk0.000.00
    metadata_1_vector_airVfGradient0.000.00
    metadata_1_vector_grad0.000.00
    metadata_1_expr_grad_tensor0.000.00
    metadata_1_expr_grad_tensor_diagonal0.000.00
    metadata_1_expr_airVfGradient_magnitude0.000.00
    metadata_1_expr_grad_magnitude0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_metadata_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_metadata_py.html new file mode 100644 index 000000000..38ebec408 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_metadata_py.html @@ -0,0 +1,112 @@ +databases/metadata.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  metadata.py
    +#
    +#  Tests:      Getting a usable metadata object from the viewer.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Mar 14 16:40:31 PST 2007
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +def test0():
    +    TestSection("Getting metadata")
    +
    +    # Get metadata for various test datasets.
    +    md = GetMetaData(silo_data_path("noise.silo") )
    +    TestText("metadata_0_00", str(md))
    +
    +    # Get the metadata for the first time step
    +    md = GetMetaData(silo_data_path("wave*.silo database") )
    +    TestText("metadata_0_01", str(md))
    +
    +    # Get the metadata for the 17th time step where new variables appear
    +    md = GetMetaData(silo_data_path("wave*.silo database") , 17)
    +    TestText("metadata_0_02", str(md))
    +
    +    # Get something with species and default plots.
    +    md = GetMetaData(data_path("samrai_test_data/mats-par3/dumps.visit"))
    +    TestText("metadata_0_03", str(md))
    +
    +    # Get something with label variables
    +    md = GetMetaData(data_path("shapefile_test_data/alameda/tgr06001lkA.shp"))
    +    TestText("metadata_0_04", str(md))
    +
    +def MakeSafe(varname):
    +    ret = varname.replace("/", "_")
    +    ret = ret.replace("(", "[")
    +    ret = ret.replace(")", "]")
    +    ret = ret.replace(":", "_")
    +    ret = ret.replace(",", "_")
    +    ret = ret.replace(";", "_")
    +    return ret
    +
    +def test1():
    +    TestSection("Use the metadata to plot the variables.")
    +
    +    db = silo_data_path("noise.silo")
    +    OpenDatabase(db)
    +    md = GetMetaData(db)
    +
    +    # Test all of the scalars.
    +    for i in range(md.GetNumScalars()):
    +        AddPlot("Pseudocolor", md.GetScalars(i).name)
    +        DrawPlots()
    +        ResetView()
    +        testName = "metadata_1_scalar_" + MakeSafe(md.GetScalars(i).name)
    +        Test(testName)
    +        DeleteAllPlots()
    +
    +    # Test all of the vectors.
    +    for i in range(md.GetNumVectors()):
    +        AddPlot("Vector", md.GetVectors(i).name)
    +        DrawPlots()
    +        ResetView()
    +        testName = "metadata_1_vector_" + MakeSafe(md.GetVectors(i).name)
    +        Test(testName)
    +        DeleteAllPlots()
    +
    +    # Test all of the expressions
    +    for i in range(md.exprList.GetNumExpressions()):
    +        expr = md.exprList.GetExpressions(i)
    +        if expr.type == expr.ScalarMeshVar:
    +            AddPlot("Pseudocolor", expr.name)
    +        elif expr.type == expr.VectorMeshVar:
    +            AddPlot("Vector", expr.name)
    +            v = VectorAttributes()
    +            v.useStride = 1
    +            v.stride = 1
    +            SetPlotOptions(v)
    +        elif expr.type == expr.TensorMeshVar:
    +            AddPlot("Tensor", expr.name)
    +            t = TensorAttributes()
    +            t.useStride = 1
    +            t.stride = 5
    +            SetPlotOptions(t)
    +        elif expr.type == expr.ArrayMeshVar:
    +            AddPlot("Label", expr.name)
    +        else:
    +            print("Add support for plotting expression: ", expr)
    +        DrawPlots()
    +        ResetView()
    +        testName = "metadata_1_expr_" + MakeSafe(expr.name)
    +        Test(testName)
    +        DeleteAllPlots()
    +
    +def main():
    +    # Draw antialiased lines
    +    r = GetRenderingAttributes()
    +    r.antialiasing = 1
    +    SetRenderingAttributes(r)
    +
    +    test0()
    +    test1()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mfem.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mfem.html new file mode 100644 index 000000000..6db6b0941 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mfem.html @@ -0,0 +1,2068 @@ + +Results for databases/mfem.py + +

    Results of VisIt Regression Test - databases/mfem

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Input Mesh Files
    input_mesh_amr-hex-nc_mres_00000.000.00
    input_mesh_amr-hex-nc_mres_00050.000.00
    input_mesh_amr-hex_mres_00000.000.00
    input_mesh_amr-hex_mres_00050.000.00
    input_mesh_amr-quad-nc_mres_00000.000.00
    input_mesh_amr-quad-nc_mres_00050.000.00
    input_mesh_amr-quad_mres_00000.440.63
    input_mesh_amr-quad_mres_00050.440.63
    input_mesh_ball-nurbs_mres_00000.000.00
    input_mesh_ball-nurbs_mres_00200.000.00
    input_mesh_beam-hex-nurbs_mres_00000.000.00
    input_mesh_beam-hex-nurbs_mres_00200.000.00
    input_mesh_beam-hex_mres_00000.000.00
    input_mesh_beam-hex_mres_00200.000.00
    input_mesh_beam-quad-amr-nc_mres_00000.000.00
    input_mesh_beam-quad-amr-nc_mres_00050.000.00
    input_mesh_beam-quad-nurbs_mres_00003.330.61
    input_mesh_beam-quad-nurbs_mres_00202.750.50
    input_mesh_beam-quad_mres_00003.330.61
    input_mesh_beam-quad_mres_00202.750.50
    input_mesh_beam-tet_mres_00000.000.00
    input_mesh_beam-tet_mres_00200.000.00
    input_mesh_beam-tri_mres_00003.330.61
    input_mesh_beam-tri_mres_00202.750.50
    input_mesh_disc-nurbs_mres_00000.440.64
    input_mesh_disc-nurbs_mres_00200.020.03
    input_mesh_escher-p2_mres_00000.000.00
    input_mesh_escher-p2_mres_00200.000.00
    input_mesh_escher-p3_mres_00000.000.00
    input_mesh_escher-p3_mres_00200.000.00
    input_mesh_escher_mres_00000.000.00
    input_mesh_escher_mres_00200.000.00
    input_mesh_fichera-amr-nc_mres_00000.000.00
    input_mesh_fichera-amr-nc_mres_00050.000.00
    input_mesh_fichera-amr_mres_00000.000.00
    input_mesh_fichera-amr_mres_00050.000.00
    input_mesh_fichera-q2_mres_00000.000.00
    input_mesh_fichera-q2_mres_00200.000.00
    input_mesh_fichera-q3_mres_00000.000.00
    input_mesh_fichera-q3_mres_00200.000.00
    input_mesh_fichera_mres_00000.000.00
    input_mesh_fichera_mres_00200.000.00
    input_mesh_inline-hex_mres_00000.000.00
    input_mesh_inline-hex_mres_00200.000.00
    input_mesh_inline-quad_mres_00000.440.63
    input_mesh_inline-quad_mres_00200.440.63
    input_mesh_inline-segment_mres_00000.000.00
    input_mesh_inline-segment_mres_00200.000.00
    input_mesh_inline-tet_mres_00000.000.00
    input_mesh_inline-tet_mres_00200.000.00
    input_mesh_inline-tri_mres_00000.440.63
    input_mesh_inline-tri_mres_00200.440.63
    input_mesh_klein-bottle_mres_00000.000.00
    input_mesh_klein-bottle_mres_00200.000.00
    input_mesh_klein-donut_mres_00000.000.00
    input_mesh_klein-donut_mres_00200.000.00
    input_mesh_mobius-strip_mres_00000.000.00
    input_mesh_mobius-strip_mres_00200.000.00
    input_mesh_periodic-cube_mres_00000.000.00
    input_mesh_periodic-cube_mres_00200.000.00
    input_mesh_periodic-hexagon_mres_00000.000.00
    input_mesh_periodic-hexagon_mres_00200.000.00
    input_mesh_periodic-segment_mres_00000.000.00
    input_mesh_periodic-segment_mres_00200.000.00
    input_mesh_periodic-square_mres_00000.440.64
    input_mesh_periodic-square_mres_00200.440.64
    input_mesh_pipe-nurbs_mres_00000.000.00
    input_mesh_pipe-nurbs_mres_00200.000.00
    input_mesh_square-disc-nurbs_mres_00000.480.64
    input_mesh_square-disc-nurbs_mres_00200.500.64
    input_mesh_square-disc-p2_mres_00000.500.63
    input_mesh_square-disc-p2_mres_00200.500.63
    input_mesh_square-disc-p3_mres_00000.500.63
    input_mesh_square-disc-p3_mres_00200.500.63
    input_mesh_square-disc-surf_mres_00000.000.00
    input_mesh_square-disc-surf_mres_00200.000.00
    input_mesh_square-disc_mres_00000.500.63
    input_mesh_square-disc_mres_00200.500.63
    input_mesh_star-q2_mres_00000.000.00
    input_mesh_star-q2_mres_00200.000.00
    input_mesh_star-q3_mres_00000.000.00
    input_mesh_star-q3_mres_00200.000.00
    input_mesh_star-surf_mres_00000.000.00
    input_mesh_star-surf_mres_00200.000.00
    input_mesh_star_mres_00000.000.00
    input_mesh_star_mres_00200.000.00
    ex01 results
    ex01_ex01-disc-nurbs0.000.00
    ex01_ex01-escher0.000.00
    ex01_ex01-fichera-q20.000.00
    ex01_ex01-fichera0.000.00
    ex01_ex01-pipe-nurbs0.000.00
    ex01_ex01-square-disc-nurbs0.000.00
    ex01_ex01-square-disc-p30.000.00
    ex01_ex01-square-disc0.000.00
    ex01_ex01-star0.000.00
    ex02 results
    ex02_element_attribute_ex02-beam-hex-nurbs0.000.00
    ex02_gf_mag_ex02-beam-hex-nurbs0.000.00
    ex02_element_attribute_ex02-beam-hex0.000.00
    ex02_gf_mag_ex02-beam-hex0.000.00
    ex02_element_attribute_ex02-beam-quad-nurbs0.000.00
    ex02_gf_mag_ex02-beam-quad-nurbs0.000.00
    ex02_element_attribute_ex02-beam-quad0.000.00
    ex02_gf_mag_ex02-beam-quad0.000.00
    ex02_element_attribute_ex02-beam-tet0.000.00
    ex02_gf_mag_ex02-beam-tet0.000.00
    ex02_element_attribute_ex02-beam-tri0.000.00
    ex02_gf_mag_ex02-beam-tri0.000.00
    MFEM Expressions
    mfem_expressions_10.000.00
    mfem_expressions_20.000.00
    mfem_expressions_30.000.00
    Input Mesh Boundary Topology
    input_mesh_amr-hex-nc_boundary_topo0.000.00
    input_mesh_amr-hex_boundary_topo0.000.00
    input_mesh_amr-quad-nc_boundary_topo0.000.00
    input_mesh_amr-quad_boundary_topo14.320.28
    input_mesh_ball-nurbs_boundary_topo0.000.00
    input_mesh_beam-hex-nurbs_boundary_topo0.000.00
    input_mesh_beam-hex_boundary_topo0.000.00
    input_mesh_beam-quad-amr-nc_boundary_topo0.000.00
    input_mesh_beam-quad-nurbs_boundary_topo22.030.41
    input_mesh_beam-quad_boundary_topo22.030.41
    input_mesh_beam-tet_boundary_topo0.000.00
    input_mesh_beam-tri_boundary_topo22.030.41
    input_mesh_disc-nurbs_boundary_topo14.370.42
    input_mesh_escher-p2_boundary_topo0.000.00
    input_mesh_escher-p3_boundary_topo0.000.00
    input_mesh_escher_boundary_topo0.000.00
    input_mesh_fichera-amr-nc_boundary_topo0.000.00
    input_mesh_fichera-amr_boundary_topo0.000.00
    input_mesh_fichera-q2_boundary_topo0.000.00
    input_mesh_fichera-q3_boundary_topo0.000.00
    input_mesh_fichera_boundary_topo0.000.00
    input_mesh_inline-hex_boundary_topo0.000.00
    input_mesh_inline-quad_boundary_topo14.320.28
    input_mesh_inline-segment_boundary_topo0.000.00
    input_mesh_inline-tet_boundary_topo0.000.00
    input_mesh_inline-tri_boundary_topo14.320.28
    input_mesh_klein-bottle_boundary_topo0.000.00
    input_mesh_klein-donut_boundary_topo0.000.00
    input_mesh_mobius-strip_boundary_topo0.000.00
    input_mesh_periodic-cube_boundary_topo0.000.00
    input_mesh_periodic-hexagon_boundary_topo0.000.00
    input_mesh_periodic-segment_boundary_topo0.000.00
    input_mesh_periodic-square_boundary_topo0.000.00
    input_mesh_pipe-nurbs_boundary_topo0.000.00
    input_mesh_square-disc-nurbs_boundary_topo9.670.42
    input_mesh_square-disc-p2_boundary_topo9.640.25
    input_mesh_square-disc-p3_boundary_topo9.640.25
    input_mesh_square-disc-surf_boundary_topo0.000.00
    input_mesh_square-disc_boundary_topo9.640.25
    input_mesh_star-q2_boundary_topo0.000.00
    input_mesh_star-q3_boundary_topo0.000.00
    input_mesh_star-surf_boundary_topo0.000.00
    input_mesh_star_boundary_topo0.000.00
    Direct Mesh Open
    direct_open_mesh_file_amr-hex-nc0.000.00
    direct_open_mesh_file_amr-hex0.000.00
    direct_open_mesh_file_amr-quad-nc0.000.00
    direct_open_mesh_file_amr-quad0.000.00
    direct_open_mesh_file_ball-nurbs0.000.00
    direct_open_mesh_file_beam-hex-nurbs0.000.00
    direct_open_mesh_file_beam-hex0.000.00
    direct_open_mesh_file_beam-quad-amr-nc0.000.00
    direct_open_mesh_file_beam-quad-nurbs0.000.00
    direct_open_mesh_file_beam-quad0.000.00
    direct_open_mesh_file_beam-tet0.000.00
    direct_open_mesh_file_beam-tri0.000.00
    direct_open_mesh_file_disc-nurbs0.000.00
    direct_open_mesh_file_escher-p20.000.00
    direct_open_mesh_file_escher-p30.000.00
    direct_open_mesh_file_escher0.000.00
    direct_open_mesh_file_ex01-disc-nurbs0.000.00
    direct_open_mesh_file_ex01-escher0.000.00
    direct_open_mesh_file_ex01-fichera-q20.000.00
    direct_open_mesh_file_ex01-fichera0.000.00
    direct_open_mesh_file_ex01-pipe-nurbs0.000.00
    direct_open_mesh_file_ex01-square-disc-nurbs0.000.00
    direct_open_mesh_file_ex01-square-disc-p30.000.00
    direct_open_mesh_file_ex01-square-disc0.000.00
    direct_open_mesh_file_ex01-star0.000.00
    direct_open_mesh_file_ex02-beam-hex-nurbs0.000.00
    direct_open_mesh_file_ex02-beam-hex0.000.00
    direct_open_mesh_file_ex02-beam-quad-nurbs0.000.00
    direct_open_mesh_file_ex02-beam-quad0.000.00
    direct_open_mesh_file_ex02-beam-tet0.000.00
    direct_open_mesh_file_ex02-beam-tri0.000.00
    direct_open_mesh_file_fichera-amr-nc0.000.00
    direct_open_mesh_file_fichera-amr0.000.00
    direct_open_mesh_file_fichera-q20.000.00
    direct_open_mesh_file_fichera-q30.000.00
    direct_open_mesh_file_fichera0.000.00
    direct_open_mesh_file_inline-hex0.000.00
    direct_open_mesh_file_inline-quad0.000.00
    direct_open_mesh_file_inline-segment0.000.00
    direct_open_mesh_file_inline-tet0.000.00
    direct_open_mesh_file_inline-tri0.000.00
    direct_open_mesh_file_klein-bottle0.000.00
    direct_open_mesh_file_klein-donut0.000.00
    direct_open_mesh_file_mobius-strip0.000.00
    direct_open_mesh_file_periodic-cube0.000.00
    direct_open_mesh_file_periodic-hexagon0.000.00
    direct_open_mesh_file_periodic-segment0.000.00
    direct_open_mesh_file_periodic-square0.000.00
    direct_open_mesh_file_pipe-nurbs0.000.00
    direct_open_mesh_file_square-disc-nurbs0.000.00
    direct_open_mesh_file_square-disc-p20.000.00
    direct_open_mesh_file_square-disc-p30.000.00
    direct_open_mesh_file_square-disc-surf0.000.00
    direct_open_mesh_file_square-disc0.000.00
    direct_open_mesh_file_star-q20.000.00
    direct_open_mesh_file_star-q30.000.00
    direct_open_mesh_file_star-surf0.000.00
    direct_open_mesh_file_star0.000.00
    Legacy and New LOR
    LOR_amr-hex-nc_lor0.000.00
    LOR_amr-hex-nc_legacy_lor0.000.00
    LOR_amr-hex_lor0.000.00
    LOR_amr-hex_legacy_lor0.000.00
    LOR_amr-quad-nc_lor0.000.00
    LOR_amr-quad-nc_legacy_lor0.000.00
    LOR_amr-quad_lor24.970.42
    LOR_amr-quad_legacy_lor10.080.42
    LOR_ball-nurbs_lor0.000.00
    LOR_ball-nurbs_legacy_lor0.000.00
    LOR_beam-hex-nurbs_lor0.000.00
    LOR_beam-hex-nurbs_legacy_lor0.000.00
    LOR_beam-hex_lor0.000.00
    LOR_beam-hex_legacy_lor0.000.00
    LOR_beam-quad-amr-nc_lor0.000.00
    LOR_beam-quad-amr-nc_legacy_lor0.000.00
    LOR_beam-quad-nurbs_lor79.490.41
    LOR_beam-quad-nurbs_legacy_lor46.270.41
    LOR_beam-quad_lor79.490.41
    LOR_beam-quad_legacy_lor46.270.41
    LOR_beam-tet_lor0.000.00
    LOR_beam-tet_legacy_lor0.000.00
    LOR_beam-tri_lor79.490.41
    LOR_beam-tri_legacy_lor31.680.41
    LOR_disc-nurbs_lor50.000.42
    LOR_disc-nurbs_legacy_lor20.090.42
    LOR_escher-p2_lor0.000.00
    LOR_escher-p2_legacy_lor0.000.00
    LOR_escher-p3_lor0.000.00
    LOR_escher-p3_legacy_lor0.000.00
    LOR_escher_lor0.000.00
    LOR_escher_legacy_lor0.000.00
    LOR_fichera-amr-nc_lor0.000.00
    LOR_fichera-amr-nc_legacy_lor0.000.00
    LOR_fichera-amr_lor0.000.00
    LOR_fichera-amr_legacy_lor0.000.00
    LOR_fichera-q2_lor0.000.00
    LOR_fichera-q2_legacy_lor0.000.00
    LOR_fichera-q3_lor0.000.00
    LOR_fichera-q3_legacy_lor0.000.00
    LOR_fichera_lor0.000.00
    LOR_fichera_legacy_lor0.000.00
    LOR_inline-hex_lor0.000.00
    LOR_inline-hex_legacy_lor0.000.00
    LOR_inline-quad_lor49.890.42
    LOR_inline-quad_legacy_lor12.530.42
    LOR_inline-segment_lor0.000.00
    LOR_inline-segment_legacy_lor0.000.00
    LOR_inline-tet_lor0.000.00
    LOR_inline-tet_legacy_lor0.000.00
    LOR_inline-tri_lor49.890.42
    LOR_inline-tri_legacy_lor8.390.42
    LOR_klein-bottle_lor0.000.00
    LOR_klein-bottle_legacy_lor0.000.00
    LOR_klein-donut_lor0.000.00
    LOR_klein-donut_legacy_lor0.000.00
    LOR_mobius-strip_lor0.000.00
    LOR_mobius-strip_legacy_lor0.000.00
    LOR_periodic-cube_lor0.000.00
    LOR_periodic-cube_legacy_lor0.000.00
    LOR_periodic-hexagon_lor0.000.00
    LOR_periodic-hexagon_legacy_lor0.000.00
    LOR_periodic-segment_lor0.000.00
    LOR_periodic-segment_legacy_lor0.000.00
    LOR_periodic-square_lor16.740.42
    LOR_periodic-square_legacy_lor16.740.42
    LOR_pipe-nurbs_lor0.000.00
    LOR_pipe-nurbs_legacy_lor0.000.00
    LOR_square-disc-nurbs_lor31.870.42
    LOR_square-disc-nurbs_legacy_lor21.970.42
    LOR_square-disc-p2_lor31.770.42
    LOR_square-disc-p2_legacy_lor4.370.42
    LOR_square-disc-p3_lor31.770.42
    LOR_square-disc-p3_legacy_lor4.380.42
    LOR_square-disc-surf_lor0.000.00
    LOR_square-disc-surf_legacy_lor0.000.00
    LOR_square-disc_lor31.770.42
    LOR_square-disc_legacy_lor4.380.42
    LOR_star-q2_lor0.000.00
    LOR_star-q2_legacy_lor0.000.00
    LOR_star-q3_lor0.000.00
    LOR_star-q3_legacy_lor0.000.00
    LOR_star-surf_lor0.000.00
    LOR_star-surf_legacy_lor0.000.00
    LOR_star_lor0.000.00
    LOR_star_legacy_lor0.000.00
    Legacy and New LOR Fields
    LOR_Fields_ex01-disc-nurbs_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-disc-nurbs_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-escher_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-escher_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-fichera-q2_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-fichera-q2_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-fichera_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-fichera_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-pipe-nurbs_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-pipe-nurbs_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-square-disc-nurbs_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-square-disc-nurbs_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-square-disc-p3_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-square-disc-p3_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-square-disc_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-square-disc_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-star_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-star_pseudocolor_gf_legacy_lor0.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mfem_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mfem_py.html new file mode 100644 index 000000000..afe891c86 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mfem_py.html @@ -0,0 +1,265 @@ +databases/mfem.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#  LIMIT: 1200
    +#  Test Case:  mfem.py 
    +#
    +#  Tests:      mfem files 
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Thu Jun 12 14:58:03 PDT 2014
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Sep  2 20:56:13 PDT 2020
    +#    The MFEM reader now provides original cells so artificial mesh lines
    +#    get removed. There's less of a point to seeing them here. Keep min/max
    +#    refinement levels only. 
    +# 
    +#    Justin Privitera, Mon Oct 17 17:33:30 PDT 2022
    +#    Added new tests for the new LOR settings. All prior tests use the legacy
    +#    LOR setting, while new tests use a mix of both.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("MFEM")
    +
    +readOptions = GetDefaultFileOpenOptions("MFEM")
    +readOptions["MFEM LOR Setting"] = "Legacy LOR"
    +SetDefaultFileOpenOptions("MFEM", readOptions)
    +
    +mfem_roots  = glob.glob(data_path("mfem_test_data/*.mfem_root"))
    +input_meshs  = [ f for f in mfem_roots if f.count("ex0") == 0]
    +ex01_results = [ f for f in mfem_roots if f.count("ex01") == 1]
    +ex02_results = [ f for f in mfem_roots if f.count("ex02") == 1]
    +mfem_mesh_files = glob.glob(data_path("mfem_test_data/*.mesh"))
    +
    +def set_test_view():
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.510614, 0.302695, 0.804767)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.0150532, 0.932691, -0.360361)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +TestSection("Input Mesh Files")
    +for f in input_meshs:
    +    base = os.path.splitext(os.path.basename(f))[0]
    +    DeleteAllPlots()
    +    OpenDatabase(f)
    +    AddPlot("Pseudocolor","main_element_coloring")
    +    #pc_atts = PseudocolorAttributes()
    +    #pc_atts.colorTableName = "PuBuGn"
    +    #SetPlotOptions(pc_atts)
    +    AddOperator("MultiresControl")
    +    AddPlot("Mesh","main")
    +    AddOperator("MultiresControl")
    +    SetActivePlots((0,1))
    +    levels = [0,20]
    +    if f.count("amr") > 0:
    +        levels = [0,5]
    +    for mres in levels:
    +        mc_atts  = MultiresControlAttributes()
    +        mc_atts.resolution = mres
    +        SetOperatorOptions(mc_atts)
    +        ResetView()
    +        DrawPlots()
    +        Test("input_mesh_%s_mres_%04d" % (base,mres))
    +    DeleteAllPlots()
    +    CloseDatabase(f)
    +
    +TestSection("ex01 results")
    +for f in ex01_results:
    +    base = os.path.splitext(os.path.basename(f))[0]
    +    DeleteAllPlots()
    +    OpenDatabase(f)
    +    AddPlot("Pseudocolor","gf")
    +    #AddPlot("Mesh","main")
    +    ResetView()
    +    DrawPlots()
    +    Test("ex01_%s" % (base))
    +    DeleteAllPlots()
    +    CloseDatabase(f)
    +
    +TestSection("ex02 results")
    +for f in ex02_results:
    +    base = os.path.splitext(os.path.basename(f))[0]
    +    DeleteAllPlots()
    +    OpenDatabase(f)
    +    AddPlot("Pseudocolor","main_element_attribute")
    +    #AddPlot("Mesh","main")
    +    ResetView()
    +    DrawPlots()
    +    Test("ex02_element_attribute_%s" % (base))
    +    ChangeActivePlotsVar("gf_magnitude");
    +    DrawPlots()
    +    Test("ex02_gf_mag_%s" % (base))
    +    DeleteAllPlots()
    +    CloseDatabase(f)
    +
    +TestSection("MFEM Expressions")
    +OpenDatabase(data_path("mfem_test_data/ex02-beam-tet.mfem_root"))
    +AddPlot("Pseudocolor","mag-gf")
    +ResetView()
    +DrawPlots()
    +Test("mfem_expressions_1")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","comp0")
    +DrawPlots()
    +Test("mfem_expressions_2")
    +DeleteAllPlots()
    +AddPlot("Vector","curl-gf")
    +DrawPlots()
    +Test("mfem_expressions_3")
    +DeleteAllPlots()
    +CloseDatabase(data_path("mfem_test_data/ex02-beam-tet.mfem_root"))
    +
    +TestSection("Input Mesh Boundary Topology")
    +for f in input_meshs:
    +    base = os.path.splitext(os.path.basename(f))[0]
    +    DeleteAllPlots()
    +    OpenDatabase(f)
    +    AddPlot("Pseudocolor","main_boundary_attribute")
    +    AddPlot("Mesh","main_boundary")
    +    mesh_atts = MeshAttributes()
    +    mesh_atts.lineWidth = 2
    +    SetPlotOptions(mesh_atts)
    +    ResetView()
    +    DrawPlots()
    +    Test("input_mesh_%s_boundary_topo" % (base))
    +    DeleteAllPlots()
    +    CloseDatabase(f)
    +
    +TestSection("Direct Mesh Open")
    +for f in mfem_mesh_files:
    +    base = os.path.splitext(os.path.basename(f))[0]
    +    DeleteAllPlots()
    +    OpenDatabase(f)
    +    AddPlot("Pseudocolor","main_element_coloring")
    +    ResetView()
    +    DrawPlots()
    +    Test("direct_open_mesh_file_%s" % (base))
    +    DeleteAllPlots()
    +    CloseDatabase(f)
    +
    +# reset default
    +readOptions = GetDefaultFileOpenOptions("MFEM")
    +readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +SetDefaultFileOpenOptions("MFEM", readOptions)
    +
    +def test_mfem_lor_mesh(tag_name, dbfile):
    +    ResetView()
    +    base = os.path.splitext(os.path.basename(dbfile))[0]
    +
    +    # get default options
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    # we want to test a picture of a wireframe
    +    # new LOR should only have the outer edge
    +    AddPlot("Subset", "main")
    +    SubsetAtts = SubsetAttributes()
    +    SubsetAtts.wireframe = 1
    +    SetPlotOptions(SubsetAtts)
    +    set_test_view()
    +    DrawPlots()
    +    Test(tag_name + "_" + base + "_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(dbfile)
    +
    +    ##############################
    +
    +    # examine legacy
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "Legacy LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    # old LOR leaves a busy wireframe
    +    AddPlot("Subset", "main")
    +    SubsetAtts = SubsetAttributes()
    +    SubsetAtts.wireframe = 1
    +    SetPlotOptions(SubsetAtts)
    +    set_test_view()
    +    DrawPlots()
    +    Test(tag_name + "_" + base + "_legacy_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(dbfile)
    +
    +    # restore default
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +
    +TestSection("Legacy and New LOR")
    +for dbfile in input_meshs:
    +    test_mfem_lor_mesh("LOR", dbfile)
    +
    +def test_mfem_lor_field(tag_name, dbfile):
    +    ResetView()
    +    base = os.path.splitext(os.path.basename(dbfile))[0]
    +
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    AddPlot("Pseudocolor","gf")
    +    AddOperator("MultiresControl", 1)
    +    SetActivePlots(0)
    +    MultiresControlAtts = MultiresControlAttributes()
    +    MultiresControlAtts.resolution = 3
    +    SetOperatorOptions(MultiresControlAtts, 0, 1)
    +    set_test_view()
    +    DrawPlots()
    +    Test(tag_name + "_" + base + "_pseudocolor_gf_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +
    +    CloseDatabase(dbfile)
    +
    +    ##############################
    +
    +    # examine legacy
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "Legacy LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    AddPlot("Pseudocolor","gf")
    +    AddOperator("MultiresControl", 1)
    +    SetActivePlots(0)
    +    MultiresControlAtts = MultiresControlAttributes()
    +    MultiresControlAtts.resolution = 3
    +    SetOperatorOptions(MultiresControlAtts, 0, 1)
    +    set_test_view()
    +    DrawPlots()
    +    Test(tag_name + "_" + base + "_pseudocolor_gf_legacy_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +
    +    # restore default
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +
    +TestSection("Legacy and New LOR Fields")
    +for dbfile in ex01_results:
    +    test_mfem_lor_field("LOR_Fields", dbfile)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mili.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mili.html new file mode 100644 index 000000000..f9f3fe4fa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mili.html @@ -0,0 +1,360 @@ + +Results for databases/mili.py + +

    Results of VisIt Regression Test - databases/mili

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Vector components
    mili_brick_comp0.000.00
    mili_beam_comp0.000.00
    mili_nodacc_comp0.000.00
    Non-shared element sets
    mili_non_shared_es_010.000.00
    Shared element sets
    mili_shared_es_010.000.00
    mili_shared_es_020.000.00
    mili_shared_es_030.000.00
    Material variables
    mili_mat_var_010.000.00
    mili_mat_var_020.000.00
    Tensors
    mili_tensors_010.000.00
    mili_tensors_020.000.00
    Vectors
    mili_vectors_010.000.00
    mili_vectors_020.000.00
    mili_vectors_030.000.00
    Sand mesh
    mili_sand_mesh_010.000.00
    mili_sand_mesh_020.000.00
    mili_sand_mesh_030.000.00
    mili_sand_mesh_040.000.00
    Materials
    mili_materials_000.000.00
    mili_materials_010.000.00
    Multi-domain
    mili_multi_dom_010.000.00
    mili_multi_dom_020.000.00
    Particles
    mili_particle_010.000.00
    Static nodes
    mili_static_nodes_010.000.00
    Labels
    mili_zone_labels_010.000.00
    mili_node_labels_010.000.00
    Sci notation read
    mili_from_sci_not0.000.00
    Multi-subrecord read
    mili_subrec_offset0.000.00
    Derived variables
    mili_derived_000.000.00
    mili_derived_010.000.00
    mili_derived_020.000.00
    mili_derived_030.000.00
    mili_derived_040.000.00
    mili_derived_050.000.00
    mili_derived_060.000.00
    mili_derived_070.000.00
    mili_derived_080.000.00
    mili_derived_090.000.00
    mili_derived_100.000.00
    mili_derived_110.000.00
    mili_derived_120.000.00
    mili_derived_130.000.00
    mili_derived_140.000.00
    Global integration point
    mili_global_ip_000.000.00
    mili_global_ip_010.000.00
    mili_global_ip_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mili_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mili_py.html new file mode 100644 index 000000000..70edb166f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_mili_py.html @@ -0,0 +1,473 @@ +databases/mili.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mili.py
    +#
    +#  Tests:      mesh      - 3D unstructured, multi-domain
    +#              plots     - Pseudocolor, material, vector, tensor, label
    +#
    +#
    +#  Programmer: Alister Maguire
    +#  Date:       May 22, 2019
    +#
    +#  Modifications:
    +#
    +#    Alister Maguire, Mon Aug  5 13:02:05 MST 2019
    +#    Added a test that handles .mili files containing integers in
    +#    scientific notation.
    +#
    +#    Alister Maguire, Thu Dec 19 13:40:07 PST 2019
    +#    Added a test to make sure correct subrecord offsets are used.
    +#
    +#    Alister Maguire, Wed Jul 15 13:38:17 PDT 2020
    +#    Added test sections and derived variable test.
    +#
    +#    Alister Maguire, Wed Mar 24 16:06:33 PDT 2021
    +#    Added a test for setting/changing the global integration point.
    +#
    +#    Alister Maguire, Fri Mar 26 10:25:08 PDT 2021
    +#    Added more tests for derived variables (stress, strain, sand mesh).
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Mili")
    +single_domain_path = data_path("mili_test_data/single_proc/")
    +multi_domain_path  = data_path("mili_test_data/multi_proc/")
    +
    +def TestComponentVis():
    +    TestSection("Vector components")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/edrate")
    +    DrawPlots()
    +    Test("mili_brick_comp")
    +
    +    ChangeActivePlotsVar("Primal/beam/svec/svec_x")
    +    Test("mili_beam_comp")
    +    ChangeActivePlotsVar("Primal/node/nodacc/ax")
    +    Test("mili_nodacc_comp")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestSharedElementSets():
    +    TestSection("Shared element sets")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/strain/exy")
    +    DrawPlots()
    +    Test("mili_shared_es_01")
    +    ChangeActivePlotsVar("Primal/Shared/edrate")
    +    Test("mili_shared_es_02")
    +    ChangeActivePlotsVar("Primal/Shared/stress/sy")
    +    Test("mili_shared_es_03")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestNonSharedElementSets():
    +    TestSection("Non-shared element sets")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    #
    +    #  eps is a section of an element set that is only
    +    #  defined on beams.
    +    #
    +    AddPlot("Pseudocolor", "Primal/beam/eps")
    +    DrawPlots()
    +    Test("mili_non_shared_es_01")
    +    DeleteAllPlots()
    +
    +
    +def TestMaterialVar():
    +    TestSection("Material variables")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/mat/matcgy")
    +    DrawPlots()
    +    Test("mili_mat_var_01")
    +    ChangeActivePlotsVar("Primal/mat/matke")
    +    Test("mili_mat_var_02")
    +    DeleteAllPlots()
    +
    +
    +def TestTensors():
    +    TestSection("Tensors")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Tensor", "Primal/Shared/stress")
    +    DrawPlots()
    +    Test("mili_tensors_01")
    +
    +    ChangeActivePlotsVar("Primal/Shared/strain")
    +    Test("mili_tensors_02")
    +    DeleteAllPlots()
    +
    +
    +def TestVectors():
    +    TestSection("Vectors")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Vector", "Primal/node/nodpos")
    +    DrawPlots()
    +    Test("mili_vectors_01")
    +
    +    ChangeActivePlotsVar("Primal/shell/bend")
    +    Test("mili_vectors_02")
    +
    +    ChangeActivePlotsVar("Primal/beam/svec")
    +    Test("mili_vectors_03")
    +    DeleteAllPlots()
    +
    +
    +def TestSandMesh():
    +    TestSection("Sand mesh")
    +    OpenDatabase(single_domain_path + "/m_plot.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(101)
    +
    +    #
    +    # First, let's look at the sand variable on a non-sanded mesh.
    +    # It should be well structured.
    +    #
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Pseudocolor", "Primal/Shared/sand")
    +    DrawPlots()
    +    Test("mili_sand_mesh_01")
    +    DeleteAllPlots()
    +
    +    #
    +    # Now let's view the sand mesh. It's a mess.
    +    #
    +    AddPlot("Mesh", "sand_mesh1")
    +    AddPlot("Pseudocolor", "Primal/Shared/sand")
    +    DrawPlots()
    +    Test("mili_sand_mesh_02")
    +
    +    #
    +    # Now let's look at sand in its sanded state.
    +    #
    +    ChangeActivePlotsVar("sand_mesh/Primal/Shared/sand")
    +    DrawPlots()
    +    Test("mili_sand_mesh_03")
    +
    +    #
    +    # We need to make sure that other variables can also be
    +    # viewed in their sanded state.
    +    #
    +    ChangeActivePlotsVar("sand_mesh/Primal/shell/stress_mid/sx")
    +    Test("mili_sand_mesh_04")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestMaterials():
    +    #
    +    # The tests need to be in this order to work around a bug in
    +    # the filled boundary plot with getting colors from a database
    +    # that causes the colors to be set the same for subsequent
    +    # filled boundary plots where the colors are not set in the
    +    # database.
    +    #
    +    TestSection("Materials")
    +    OpenDatabase(single_domain_path + "/sslide14ball_l.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(12)
    +
    +    AddPlot("FilledBoundary", "materials1")
    +    DrawPlots()
    +    Test("mili_materials_00")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(70)
    +
    +    AddPlot("FilledBoundary", "materials1(mesh1)")
    +    DrawPlots()
    +    Test("mili_materials_01")
    +
    +    DeleteAllPlots()
    +
    +def TestMultiDomain():
    +    TestSection("Multi-domain")
    +    OpenDatabase(multi_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/strain/exy")
    +    DrawPlots()
    +    Test("mili_multi_dom_01")
    +    ChangeActivePlotsVar("Primal/Shared/stress/sz")
    +    Test("mili_multi_dom_02")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestParticles():
    +    TestSection("Particles")
    +    OpenDatabase(single_domain_path + "/sslide14ball_l.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(0)
    +
    +    AddPlot("Pseudocolor", "Primal/particle/stress/sxy")
    +    DrawPlots()
    +    Test("mili_particle_01")
    +    DeleteAllPlots()
    +
    +
    +def TestStaticNodes():
    +    TestSection("Static nodes")
    +    OpenDatabase(single_domain_path + "/m1_plot.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Pseudocolor", "Primal/node/temp")
    +    SetTimeSliderState(10)
    +    DrawPlots()
    +    Test("mili_static_nodes_01")
    +    DeleteAllPlots()
    +
    +
    +def TestLabels():
    +    TestSection("Labels")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/edrate")
    +    AddPlot("Label", "OriginalZoneLabels")
    +    DrawPlots()
    +    Test("mili_zone_labels_01")
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/edrate")
    +    AddPlot("Label", "OriginalNodeLabels")
    +    DrawPlots()
    +    Test("mili_node_labels_01")
    +    DeleteAllPlots()
    +
    +
    +def TestSciNotation():
    +    TestSection("Sci notation read")
    +    #
    +    # Some .mili files contain integers in scientific notation.
    +    # These need to be handled appropriately.
    +    #
    +    OpenDatabase(single_domain_path + "/HexModel1.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +
    +    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
    +    DrawPlots()
    +    Test("mili_from_sci_not")
    +    DeleteAllPlots()
    +
    +
    +def TestMultiSubrecRead():
    +    TestSection("Multi-subrecord read")
    +    #
    +    # This tests a bug fix that occurred when loading variables
    +    # that span several subrecords at different offsets.
    +    #
    +    OpenDatabase(single_domain_path + "/test4_0.15.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +
    +    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
    +    DrawPlots()
    +    Test("mili_subrec_offset")
    +    DeleteAllPlots()
    +
    +
    +def TestDerivedVariables():
    +    TestSection("Derived variables")
    +    OpenDatabase(single_domain_path + "/m_plot.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.49, 0.19, 0.85)
    +    SetView3D(v)
    +
    +    SetTimeSliderState(85)
    +
    +    #
    +    # Node centered derivations.
    +    #
    +    AddPlot("Pseudocolor", "Derived/node/displacement/dispx")
    +    DrawPlots()
    +    Test("mili_derived_00")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/node/displacement/dispy")
    +    DrawPlots()
    +    Test("mili_derived_01")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/node/displacement/dispz")
    +    DrawPlots()
    +    Test("mili_derived_02")
    +    DeleteAllPlots()
    +
    +    AddPlot("Vector", "Derived/node/displacement")
    +    DrawPlots()
    +    Test("mili_derived_03")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "sand_mesh/Derived/node/displacement/dispz")
    +    DrawPlots()
    +    Test("mili_derived_04")
    +    DeleteAllPlots()
    +
    +    #
    +    # Stress/strain derivations. In m_plot, only stress comes from
    +    # the database, and we derive strain and all of its derivations
    +    # using VisIt expressions.
    +    #
    +    AddPlot("Pseudocolor", "Derived/brick/stress/prin_stress/2")
    +    DrawPlots()
    +    Test("mili_derived_05")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/brick/stress/pressure")
    +    DrawPlots()
    +    Test("mili_derived_06")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/Shared/strain/almansi/max_shear_almansi")
    +    DrawPlots()
    +    Test("mili_derived_07")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor",
    +        "Derived/Shared/strain/green_lagrange/prin_dev_green_lagrange/2")
    +    DrawPlots()
    +    Test("mili_derived_08")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/Shared/strain/infinitesimal/x")
    +    DrawPlots()
    +    Test("mili_derived_09")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/Shared/strain/rate/yz")
    +    DrawPlots()
    +    Test("mili_derived_10")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "sand_mesh/Derived/Shared/strain/rate/yz")
    +    DrawPlots()
    +    Test("mili_derived_11")
    +    DeleteAllPlots()
    +
    +    AddPlot("Tensor", "Derived/Shared/strain/green_lagrange")
    +    DrawPlots()
    +    Test("mili_derived_12")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/Shared/relative_volume")
    +    DrawPlots()
    +    Test("mili_derived_13")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/Shared/volumetric_strain")
    +    DrawPlots()
    +    Test("mili_derived_14")
    +    DeleteAllPlots()
    +
    +
    +def TestGlobalIntegrationPoint():
    +    TestSection("Global integration point")
    +
    +    db_path = single_domain_path + "/d3samp6.plt.mili"
    +    OpenDatabase(db_path)
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/strain/exy")
    +    DrawPlots()
    +
    +    mili_options = GetDefaultFileOpenOptions("Mili")
    +    mili_options["Global integration point"] = "Inner"
    +    SetDefaultFileOpenOptions("Mili", mili_options)
    +    ReOpenDatabase(db_path)
    +    Test("mili_global_ip_00")
    +
    +    mili_options = GetDefaultFileOpenOptions("Mili")
    +    mili_options["Global integration point"] = "Middle"
    +    SetDefaultFileOpenOptions("Mili", mili_options)
    +    ReOpenDatabase(db_path)
    +    Test("mili_global_ip_01")
    +
    +    mili_options = GetDefaultFileOpenOptions("Mili")
    +    mili_options["Global integration point"] = "Outer"
    +    SetDefaultFileOpenOptions("Mili", mili_options)
    +    ReOpenDatabase(db_path)
    +    Test("mili_global_ip_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db_path)
    +
    +
    +def Main():
    +    TestComponentVis()
    +    TestNonSharedElementSets()
    +    TestSharedElementSets()
    +    TestMaterialVar()
    +    TestTensors()
    +    TestVectors()
    +    TestSandMesh()
    +    TestMaterials()
    +    TestMultiDomain()
    +    TestParticles()
    +    TestStaticNodes()
    +    TestLabels()
    +    TestSciNotation()
    +    TestMultiSubrecRead()
    +    TestDerivedVariables()
    +    TestGlobalIntegrationPoint()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_miranda.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_miranda.html new file mode 100644 index 000000000..3a4f902e5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_miranda.html @@ -0,0 +1,108 @@ + +Results for databases/miranda.py + +

    Results of VisIt Regression Test - databases/miranda

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    miranda_raw_reader10.000.00
    miranda_raw_reader20.000.00
    miranda_raw_reader30.000.00
    miranda_raw_reader40.000.00
    miranda_raw_reader50.000.00
    miranda_raw_reader60.000.00
    miranda_raw_reader70.000.00
    miranda_raw_reader80.000.00
    miranda_raw_reader90.000.00
    miranda_raw_reader100.000.00
    miranda_raw_reader110.000.00
    miranda_raw_reader120.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_miranda_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_miranda_py.html new file mode 100644 index 000000000..76036bb90 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_miranda_py.html @@ -0,0 +1,156 @@ +databases/miranda.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  miranda.py 
    +#
    +#  Tests:      miranda raw dumps
    +#
    +#  Programmer: David Bremer
    +#  Date:       Feb 20, 2007
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Jeremy Meredith, Thu Jan 14 11:19:12 EST 2010
    +#    Changed the path to the test data.
    +#
    +# ----------------------------------------------------------------------------
    +import os, string
    +
    +# ====================================================================
    +
    +OpenDatabase(data_path("miranda_test_data/TG_vortex/plot.raw"))
    +
    +AddPlot("Pseudocolor","density")
    +DrawPlots()
    +Test("miranda_raw_reader1")
    +
    +# ====================================================================
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("miranda_raw_reader2")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(1)
    +Test("miranda_raw_reader3")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(2)
    +DeleteAllPlots()
    +AddPlot("Vector", "velocity")
    +vec = VectorAttributes()
    +vec.nVectors = 400*64
    +SetPlotOptions(vec)
    +DrawPlots()
    +Test("miranda_raw_reader4")
    +
    +# ====================================================================
    +
    +v=GetView3D()
    +v.viewNormal=(-0.707107, -0.707107, 0)
    +v.viewUp=(0, 0, 1)
    +SetView3D(v)
    +Test("miranda_raw_reader5")
    +
    +# ====================================================================
    +
    +DeleteAllPlots()
    +ReplaceDatabase(data_path("miranda_test_data/jet_2d/plot_mat_t83.raw"))
    +
    +
    +SetTimeSliderState(0)
    +AddPlot("Pseudocolor","density")
    +DrawPlots()
    +Test("miranda_raw_reader6")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(1)
    +DeleteAllPlots()
    +AddPlot("Vector", "velocity")
    +vec = VectorAttributes()
    +vec.nVectors = 400*128
    +SetPlotOptions(vec)
    +DrawPlots()
    +vv=GetView2D()
    +vv.viewportCoords=(0.2, 0.95, 0.15, 0.95)
    +vv.windowCoords=(0.00640306, 0.00963122, 0.0128936, 0.0161598)
    +SetView2D(vv)
    +Test("miranda_raw_reader7")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(2)
    +Test("miranda_raw_reader8")
    +
    +# ====================================================================
    +
    +DeleteAllPlots()
    +ReplaceDatabase(data_path("miranda_test_data/stem_2d/plot.mir"))
    +
    +vv = View2DAttributes()
    +vv.windowCoords = (0, 2.23563, -0.28, 0.835625)
    +vv.viewportCoords = (0.05, 0.95, 0.05, 0.95)
    +vv.fullFrameActivationMode = vv.On  # On, Off, Auto
    +vv.fullFrameAutoThreshold = 100
    +SetView2D(vv)
    +
    +SetTimeSliderState(0)
    +AddPlot("Pseudocolor","density")
    +DrawPlots()
    +Test("miranda_raw_reader9")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(3)
    +DrawPlots()
    +Test("miranda_raw_reader10")
    +
    +# ====================================================================
    +
    +ReplaceDatabase(data_path("miranda_test_data/2015-05-06-RT_XeHe/plot.mir"))
    +
    +SetTimeSliderState(0)
    +
    +AddPlot("Pseudocolor","density")
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (-0.626786, -0.71511, 0.309445)
    +View3DAtts.focus = (0, 0, 0)
    +View3DAtts.viewUp = (-0.109109, 0.473773, 0.873861)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 11085.1
    +View3DAtts.nearPlane = -22170.3
    +View3DAtts.farPlane = 22170.3
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 0)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +
    +DrawPlots()
    +
    +Test("miranda_raw_reader11")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(1)
    +DrawPlots()
    +
    +Test("miranda_raw_reader12")
    +
    +# ====================================================================
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_moab.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_moab.html new file mode 100644 index 000000000..30e6f8e18 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_moab.html @@ -0,0 +1,62 @@ + +Results for databases/moab.py + +

    Results of VisIt Regression Test - databases/moab

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    moab_011.290.01
    moab_020.000.00
    moab_030.000.00
    moab_040.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_moab_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_moab_py.html new file mode 100644 index 000000000..5e8c8824c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_moab_py.html @@ -0,0 +1,61 @@ +databases/moab.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  moab.py
    +#
    +#  Tests:      mesh      - 3D unstructured,multi-domain, 
    +#              plots     - Pseudocolor, mesh
    +#
    +#  Programmer: Mark C Miller
    +#  Date:       August 10, 2016
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("MOAB")
    +
    +OpenDatabase(data_path("moab_test_data/64bricks_12ktet.h5m"))
    +
    +AddPlot("Mesh", "mesh")
    +AddPlot("Pseudocolor", "NODE_vertex_field")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.RotateAxis(0,45)
    +v.RotateAxis(1,135)
    +SetView3D(v)
    +Test("moab_01")
    +
    +DeleteAllPlots()
    +AddPlot("Mesh", "mesh")
    +AddPlot("Subset", "Materials")
    +DrawPlots()
    +Test("moab_02")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("moab_test_data/64bricks_12ktet.h5m"))
    +
    +OpenDatabase(data_path("moab_test_data/64bricks_512hex_256part.h5m"))
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.RotateAxis(0,45)
    +v.RotateAxis(1,135)
    +SetView3D(v)
    +Test("moab_03")
    +
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i)[0:8] == "GeomSet_":
    +        silr.TurnOffSet(i)
    +    if   silr.SetName(i) == "GeomSet_427_dim_2":
    +        silr.TurnOnSet(i)
    +    elif silr.SetName(i) == "GeomSet_433_dim_2":
    +        silr.TurnOnSet(i)
    +    elif silr.SetName(i) == "GeomSet_438_dim_2":
    +        silr.TurnOnSet(i)
    +    elif silr.SetName(i) == "GeomSet_443_dim_2":
    +        silr.TurnOnSet(i)
    +SetPlotSILRestriction(silr)
    +Test("moab_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format.html new file mode 100644 index 000000000..026c33903 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format.html @@ -0,0 +1,60 @@ + +Results for databases/multi_format.py + +

    Results of VisIt Regression Test - databases/multi_format

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    multi_format_010.000.00
    multi_format_020.000.00
    multi_format_030.000.00
    multi_format_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format2.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format2.html new file mode 100644 index 000000000..aba418630 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format2.html @@ -0,0 +1,42 @@ + +Results for databases/multi_format2.py + +

    Results of VisIt Regression Test - databases/multi_format2

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    multi_format2_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format2_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format2_py.html new file mode 100644 index 000000000..3d2ff05bb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format2_py.html @@ -0,0 +1,53 @@ +databases/multi_format2.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multi_format2.py 
    +#
    +#  Tests:      Using multiple file formats types in the same engine.
    +#
    +#  Programmer: Jeremy Meredith
    +#  Creation:   March 23, 2004
    +#
    +#  Tests a strange case related to the original multi_format.py where the
    +#  engine is restarted implicitly.  This is currently skipped in parallel
    +#  since an implicit engine restart does not pick up the same paralell args.
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +db = (silo_data_path("rect2d.silo") ,
    +      data_path("pdb_test_data/allinone00.pdb"))
    +
    +# Create a Pseudocolor plot of Rect2d.
    +OpenDatabase(db[0])
    +AddPlot("Pseudocolor", "p")
    +
    +# Move it off to the side
    +t=TransformAttributes()
    +t.doTranslate = 1
    +t.translateX = 11.0
    +t.doScale = 1;
    +t.scaleX = 22.5;
    +t.scaleY = 22.5;
    +SetDefaultOperatorOptions(t)
    +AddOperator("Transform")
    +
    +# Create a Pseudocolor plot of AllInOne
    +OpenDatabase(db[1])
    +AddPlot("FilledBoundary", "material(mesh)")
    +
    +# Close the compute engine!
    +CloseComputeEngine("localhost");
    +
    +# Allow it to restart
    +DrawPlots()
    +
    +# Test it!
    +Test("multi_format2_01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format_py.html new file mode 100644 index 000000000..c191d6032 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_multi_format_py.html @@ -0,0 +1,66 @@ +databases/multi_format.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multi_format.py 
    +#
    +#  Tests:      Using multiple file formats types in the same engine.
    +#
    +#  Programmer: Hank Childs
    +#  Creation:   March 22, 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Tom Fogal, Tue Dec 15 17:34:00 MST 2009
    +#    Fix path to data.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +db = (data_path("silo_pdb_test_data/wave*.silo database"),
    +      data_path("pdb_test_data/allinone00.pdb"))
    +
    +# Create a Pseudocolor plot of wave.
    +OpenDatabase(db[0])
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +
    +# Set the view.
    +v0 = View3DAttributes()
    +v0.viewNormal = (-0.661743, 0.517608, 0.542382)
    +v0.focus = (5, 0.757692, 2.5)
    +v0.viewUp = (0.370798, 0.854716, -0.363277)
    +v0.viewAngle = 30
    +v0.parallelScale = 5.63924
    +v0.nearPlane = -11.2785
    +v0.farPlane = 11.2785
    +v0.imagePan = (0.00100868, 0.0454815)
    +v0.imageZoom = 1.17935
    +v0.perspective = 1
    +SetView3D(v0)
    +Test("multi_format_01")
    +
    +# Create another window and make sure that it has the wave database as its
    +# active source.
    +CloneWindow()
    +SetActiveWindow(2)
    +DeleteAllPlots()
    +
    +# Open the allinone database and make sure that it becomes the active source.
    +OpenDatabase(db[1])
    +
    +# Create a plot from it.
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("multi_format_02")
    +# note: py3 div creates float
    +SetTimeSliderState(int(TimeSliderGetNStates() / 2))
    +Test("multi_format_03")
    +
    +# Switch back to window 1.
    +SetActiveWindow(1)
    +Test("multi_format_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_netcdf.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_netcdf.html new file mode 100644 index 000000000..a3f30d4d7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_netcdf.html @@ -0,0 +1,212 @@ + +Results for databases/netcdf.py + +

    Results of VisIt Regression Test - databases/netcdf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ADAPT files
    netcdf_0_000.000.00
    netcdf_0_010.000.00
    netcdf_0_020.000.00
    netcdf_0_030.000.00
    LODI particle files
    netcdf_1_000.000.00
    netcdf_1_010.000.00
    netcdf_1_020.000.00
    LODI files
    Basic NETCDF reader
    netcdf_3_000.000.00
    netcdf_3_010.080.00
    netcdf_3_020.000.00
    netcdf_3_030.000.00
    netcdf_3_040.000.00
    netcdf_3_050.000.00
    netcdf_3_060.000.00
    netcdf_3_070.000.00
    netcdf_3_080.000.00
    Basic NETCDF reader with zone-centered data
    netcdf_3_090.000.00
    netcdf_3_100.000.00
    CCSM reader
    netcdf_4_000.000.00
    netcdf_4_010.000.00
    netcdf_4_020.000.00
    Time-varying curves
    netcdf_5_000.000.00
    netcdf_5_010.000.00
    FVCOM reader
    netcdf_6_000.000.00
    netcdf_6_010.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_netcdf_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_netcdf_py.html new file mode 100644 index 000000000..3626e04f6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_netcdf_py.html @@ -0,0 +1,425 @@ +databases/netcdf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  netcdf.py
    +#
    +#  Tests:      mesh      - 2D, 3D structured, single domain
    +#              plots     - Mesh, Pseudocolor, FilledBoundary
    +#              operators - Transform
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Aug 22 11:37:35 PDT 2005
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Oct 10 11:20:44 PDT 2007
    +#    Added tests for CCSM data.
    +#
    +#    Jeremy Meredith, Fri Aug  8 11:23:29 EDT 2008
    +#    Updated streamline settings to match new attribute fields.
    +#
    +#    Brad Whitlock, Mon 16:37:34 PST 2009
    +#    I removed the Streamline plot and I fixed some other things to get it
    +#    working again.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Brad Whitlock, Thu Sep  9 11:03:30 PDT 2010
    +#    I added tests for time-varying curves, FVCOM.
    +#
    +#    Kathleen Biagas, Fri Sep 21 10:12:15 MST 2012
    +#    Removed pjoin so that tests can run on Windows.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("NETCDF")
    +
    +def test0():
    +    TestSection("ADAPT files")
    +    OpenDatabase(data_path("netcdf_test_data/narac/adapt_etex_metfld_from_obs_102312.nc"))
    +    AddPlot("Pseudocolor", "u")
    +    AddPlot("Mesh", "main")
    +    SetActivePlots((0,1))
    +    AddOperator("Transform")
    +    t = TransformAttributes()
    +    t.scaleZ = 200
    +    t.doScale = 1
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +
    +    # Set the view
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.70982, -0.515727, 0.479773)
    +    v.focus = (0, 0, 753888)
    +    v.viewUp = (0.359948, 0.319901, 0.876414)
    +    v.viewAngle = 30
    +    v.parallelScale = 2.38503e+06
    +    v.nearPlane = -4.77005e+06
    +    v.farPlane = 4.77005e+06
    +    v.imagePan = (0.000886525, 0.00976909)
    +    v.imageZoom = 0.952092
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 753888)
    +    SetView3D(v)
    +    Test("netcdf_0_00")
    +
    +    # Set up another view.
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (-0.434823, -0.389027, -0.812149)
    +    v1.focus = (0, 0, 753888)
    +    v1.viewUp = (-0.545125, -0.604143, 0.581249)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 2.38503e+06
    +    v1.nearPlane = -4.77005e+06
    +    v1.farPlane = 4.77005e+06
    +    v1.imagePan = (0.00461106, -0.0368703)
    +    v1.imageZoom = 0.952092
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (0, 0, 753888)
    +    SetView3D(v1)
    +    Test("netcdf_0_01")
    +
    +    # Plot the terrain by stripping away most of the air.
    +    SetActivePlots(1)
    +    DeleteActivePlots()
    +    AddOperator("IndexSelect")
    +    idxsel = IndexSelectAttributes()
    +    idxsel.dim = idxsel.ThreeD
    +    idxsel.zMax = 1
    +    SetOperatorOptions(idxsel)
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.394106, -0.0944361, 0.9142)
    +    v2.focus = (0, 0, 508267)
    +    v2.viewUp = (0.867549, 0.290123, 0.403965)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 2.31912e+06
    +    v2.nearPlane = -4.63825e+06
    +    v2.farPlane = 4.63825e+06
    +    v2.imagePan = (0.012587, 0.0291994)
    +    v2.imageZoom = 1.08833
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 0, 508267)
    +    SetView3D(v2)
    +    DrawPlots()
    +    Test("netcdf_0_02")
    +
    +    # Plot something 2D
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "ustar")
    +    p = PseudocolorAttributes()
    +    p.skewFactor = 0.01
    +    p.scaling = p.Skew
    +    DrawPlots()
    +    Test("netcdf_0_03")
    +    DeleteAllPlots()
    +
    +def test1():
    +    TestSection("LODI particle files")
    +    # First put in the terrain, though it is not a LODI particle file.
    +    OpenDatabase(data_path("netcdf_test_data/narac/adapt_etex_metfld_from_obs_102312.nc"))
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("Transform", 1)
    +    t = TransformAttributes()
    +    t.scaleZ = 200
    +    t.doScale = 1
    +    SetOperatorOptions(t)
    +    AddOperator("IndexSelect")
    +    idxsel = IndexSelectAttributes()
    +    idxsel.dim = idxsel.ThreeD
    +    idxsel.zMax = 1
    +    SetOperatorOptions(idxsel)
    +    DrawPlots()
    +
    +    # Now add the LODI particle file.
    +    db = data_path("netcdf_test_data/narac/ppart.nc")
    +    OpenDatabase(db)
    +    AddPlot("FilledBoundary", "sourceid")
    +    AddOperator("Transform")
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.57737, -0.765477, 0.28406)
    +    v.focus = (0, 0, 265602)
    +    v.viewUp = (0.165375, 0.231057, 0.958782)
    +    v.viewAngle = 30
    +    v.parallelScale = 2.27828e+06
    +    v.nearPlane = -4.55655e+06
    +    v.farPlane = 4.55655e+06
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 3.17577
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 265602)
    +    SetView3D(v)
    +    Test("netcdf_1_00")
    +
    +    # Do a Label plot
    +    AddPlot("Label", "sourceid")
    +    AddOperator("Transform")
    +    SetOperatorOptions(t)
    +    L = LabelAttributes()
    +    L.restrictNumberOfLabels = 0
    +    L.textFont1.scale = 6
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    SetActivePlots(1)
    +    f = FilledBoundaryAttributes()
    +    f.pointSizePixels = 10
    +    SetPlotOptions(f)
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.57737, -0.765477, 0.28406)
    +    v2.focus = (0, 0, 265602)
    +    v2.viewUp = (0.165375, 0.231057, 0.958782)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 2.27828e+06
    +    v2.nearPlane = -4.55655e+06
    +    v2.farPlane = 4.55655e+06
    +    v2.imagePan = (-0.0022605, 0.0057171)
    +    v2.imageZoom = 111.554
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 0, 265602)
    +    SetView3D(v2)
    +    Test("netcdf_1_01")
    +
    +    # Delete the label plot and go forward in time
    +    SetActivePlots(2)
    +    DeleteActivePlots()
    +    SetView3D(v)
    +    SetActivePlots(1)
    +    f.pointSizePixels = 2
    +    SetPlotOptions(f)
    +    TimeSliderNextState()
    +    Test("netcdf_1_02")
    +    DeleteAllPlots()
    +
    +def test2():
    +    TestSection("LODI files")
    +    # This test is reserved for LODI once it is assured to be right.
    +    return
    +
    +def test3():
    +    TestSection("Basic NETCDF reader")
    +    OpenDatabase(data_path("netcdf_test_data/narac/etex_fill_lambertcc__4000_001.elev"))
    +    AddPlot("Pseudocolor", "elevations")
    +    DrawPlots()
    +    Test("netcdf_3_00")
    +
    +    # Elevate the data
    +    ClearWindow()
    +    AddOperator("Elevate")
    +    e = ElevateAttributes()
    +    e.useXYLimits = e.Always
    +    SetOperatorOptions(e)
    +    AddOperator("Transform")
    +    t = TransformAttributes()
    +    t.doScale = 1
    +    t.scaleX = 100
    +    t.scaleY = 100
    +    t.scaleZ = 3
    +    SetOperatorOptions(t)
    +    th = ThresholdAttributes()
    +    th.listedVarNames = ("elevations")
    +    th.lowerBounds = (1.0)
    +    SetDefaultOperatorOptions(th)
    +    AddOperator("Threshold")
    +    DrawPlots()
    +    # Set up a light
    +    oldLight = GetLight(0)
    +    newLight = GetLight(0)
    +    newLight.enabledFlag = 1
    +    newLight.type = newLight.Camera  # Ambient, Object, Camera
    +    newLight.direction = (-0.626, -0.427, -0.653)
    +    newLight.color = (255, 255, 255, 255)
    +    newLight.brightness = 1
    +    SetLight(0, newLight)
    +    # Set up the view
    +    v = View3DAttributes()
    +    v.viewNormal = (0, -0.5, 0.866025)
    +    v.focus = (0, 0, 1646)
    +    v.viewUp = (0, 0.866025, 0.5)
    +    v.viewAngle = 30
    +    v.parallelScale = 282140
    +    v.nearPlane = -564281
    +    v.farPlane = 564281
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.43024
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 1646)
    +    SetView3D(v)
    +    InvertBackgroundColor()
    +    Test("netcdf_3_01")
    +    SetLight(0, oldLight)
    +    DeleteAllPlots()
    +    InvertBackgroundColor()
    +
    +    # Try some curves
    +    OpenDatabase(data_path("netcdf_test_data/3252ATT-A1H.cdf"))
    +    AddPlot("Curve", "ATTN_55")
    +    curveAtts = CurveAttributes()
    +    curveAtts.curveColorSource = curveAtts.Custom
    +    curveAtts.curveColor = (255, 0, 0, 255)
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    Test("netcdf_3_02")
    +    DeleteAllPlots()
    +    OpenDatabase(data_path("netcdf_test_data/AAtestCTD.nc"))
    +    AddPlot("Curve", "ST_70")
    +    curveAtts.curveColor = (0, 255, 0, 255)
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_3_03")
    +    DeleteAllPlots()
    +
    +    # Try some files that I found on climate web sites.
    +    OpenDatabase(data_path("netcdf_test_data/pressure.cdf"))
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    ResetView()
    +    ToggleFullFrameMode() # Did this get set somehow by the curve plots?
    +    Test("netcdf_3_04")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("netcdf_test_data/aou.cdf"))
    +    AddPlot("Pseudocolor", "aou")
    +    AddOperator("Slice")
    +    s = SliceAttributes()
    +    s.axisType = s.ZAxis
    +    SetOperatorOptions(s)
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_3_05")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("netcdf_test_data/NASA_vegetation_lai.cdf"))
    +    AddPlot("Pseudocolor", "lai")
    +    DrawPlots()
    +    v2 = View2DAttributes()
    +    v2.windowCoords = (-139.883, -44.1452, -18.7702, 74.4037)
    +    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v2.fullFrameActivationMode = v2.Off  # On, Off, Auto
    +    v2.fullFrameAutoThreshold = 100
    +    SetView2D(v2)
    +    Test("netcdf_3_06")
    +    DeleteAllPlots()
    +
    +    # Try a file that used to crash on Windows
    +    db = "netcdf_test_data/Case5_2D-Q.nc"
    +    OpenDatabase(data_path(db))
    +    AddPlot("Pseudocolor", "Q")
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_3_07")
    +    SetTimeSliderState(29)
    +    Test("netcdf_3_08")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path(db))
    +
    +    TestSection("Basic NETCDF reader with zone-centered data")
    +    swa = SaveWindowAttributes()
    +    swa.width = 1000
    +    swa.height = 1000
    +    swa.screenCapture = 0
    +    db = "netcdf_test_data/oase-mapdata.nc"
    +    OpenDatabase(data_path(db))
    +    AddPlot("Pseudocolor", "national_rivers_2D")
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_3_09", swa)
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "as_zonal/national_rivers_2D")
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_3_10", swa)
    +    DeleteAllPlots()
    +    CloseDatabase(data_path(db))
    +
    +def test4():
    +    TestSection("CCSM reader")
    +    db = "netcdf_test_data/tas_mean_T63.nc"
    +    OpenDatabase(data_path(db))
    +    AddPlot("Pseudocolor", "tas")
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_4_00")
    +
    +    # Change to the last time state
    +    SetTimeSliderState(1187)
    +    Test("netcdf_4_01")
    +
    +    # Change to the global representation of the data
    +    ChangeActivePlotsVar("global/tas")
    +    ResetView()
    +    Test("netcdf_4_02")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path(db))
    +
    +def test5():
    +    TestSection("Time-varying curves")
    +    db = "netcdf_test_data/timecurve.nc"
    +    OpenDatabase(data_path(db))
    +    AddPlot("Curve", "theta_1_1")
    +    c = CurveAttributes()
    +    c.showLabels = 0
    +    c.curveColor = (255,0,0,255)
    +    c.curveColorSource = c.Custom
    +    SetPlotOptions(c)
    +    cv = GetViewCurve()
    +    cv.domainCoords = (0, 9)
    +    cv.rangeCoords = (0.40657, 5)
    +    cv.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    cv.domainScale = cv.LINEAR  # LINEAR, LOG
    +    cv.rangeScale = cv.LINEAR  # LINEAR, LOG
    +    SetViewCurve(cv)
    +    DrawPlots()
    +    Test("netcdf_5_00")
    +    SetTimeSliderState(4)
    +    Test("netcdf_5_01")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path(db))
    +
    +def test6():
    +    TestSection("FVCOM reader ")
    +    db = "netcdf_test_data/chn_0001.nc"
    +    OpenDatabase(data_path(db))
    +    AddPlot("Pseudocolor", "Dens3{S,Theta,P}")
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_6_00")
    +    SetTimeSliderState(47)
    +    Test("netcdf_6_01")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path(db))
    +
    +def main():
    +    test0()
    +    test1()
    +    test2()
    +    test3()
    +    test4()
    +    test5()
    +    test6()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_obj.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_obj.html new file mode 100644 index 000000000..aed410a4f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_obj.html @@ -0,0 +1,126 @@ + +Results for databases/obj.py + +

    Results of VisIt Regression Test - databases/obj

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    obj_cube0.000.00
    obj_face10.000.00
    obj_face20.000.00
    obj_face30.000.00
    obj_face40.000.00
    obj_face50.000.00
    obj_face60.000.00
    obj_tri10.000.00
    obj_tri20.000.00
    obj_box0.000.00
    obj_colors0.000.00
    obj_immediate_colors0.000.00
    obj_scott10.000.00
    obj_scott20.000.00
    obj_scott30.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_obj_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_obj_py.html new file mode 100644 index 000000000..e91683d97 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_obj_py.html @@ -0,0 +1,85 @@ +databases/obj.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  obj.py
    +#
    +#  Tests:      Wavefront OBJ reader
    +#                  - relative indexing
    +#                  - groups w/ and w/o multiple inclusion via enum scalar
    +#                  - groups with coloration (via material)
    +#
    +#  Programmer: Mark C. Miller, Tue Oct 23 16:09:00 PDT 2018
    +#
    +# ----------------------------------------------------------------------------
    +def TurnOnSetsByName(silr, setNames):
    +    silr.TurnOffAll()
    +    silr.TurnOnSet(1) # the block0 set
    +    for i in range(silr.NumSets()):
    +        if silr.SetName(i) in setNames:
    +            silr.TurnOnSet(i)
    +
    +OpenDatabase(data_path("obj_test_data/cube2.obj"))
    +
    +AddPlot("Mesh", "OBJMesh")
    +ma = MeshAttributes()
    +ma.opaqueColorSource = ma.OpaqueCustom
    +ma.opaqueColor = (192, 192, 192)
    +DrawPlots()
    +SetPlotOptions(ma)
    +
    +v = GetView3D()
    +v.viewNormal = (0.00415051, 0.90155, -0.432654)
    +v.viewUp = (0.959161, 0.118781, 0.256713)
    +SetView3D(v)
    +
    +Test("obj_cube")
    +
    +silr = SILRestriction()
    +setsToTest = ("face1","face2","face3","face4","face5","face6","tri1","tri2","box")
    +for set in setsToTest:
    +    TurnOnSetsByName(silr, (set,))
    +    SetPlotSILRestriction(silr)
    +    Test("obj_%s"%set)
    +
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +CloseDatabase(data_path("obj_test_data/cube2.obj"))
    +OpenDatabase(data_path("obj_test_data/cube1.obj"))
    +
    +# Test coloration of faces from matlib
    +AddPlot("FilledBoundary", "GroupsAsMaterials")
    +DrawPlots()
    +v.RotateAxis(0,30)
    +SetView3D(v)
    +Test("obj_colors")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("obj_test_data/cube1.obj"))
    +OpenDatabase(data_path("obj_test_data/cube3.obj"))
    +
    +# Test coloration of faces from immediate mode colors
    +# Should be same picture as above
    +AddPlot("FilledBoundary", "GroupsAsMaterials")
    +DrawPlots()
    +Test("obj_immediate_colors")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("obj_test_data/cube3.obj"))
    +OpenDatabase(data_path("obj_test_data/test.obj"))
    +
    +# Test various objects from Scott's example database
    +AddPlot("FilledBoundary", "GroupsAsMaterials")
    +DrawPlots()
    +ResetView()
    +Test("obj_scott1")
    +silr = SILRestriction()
    +silr.TurnOffSet(17) # Plane
    +SetPlotSILRestriction(silr)
    +Test("obj_scott2")
    +silr.TurnOffSet(18) # Prism
    +SetPlotSILRestriction(silr)
    +Test("obj_scott3")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_oldsilo.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_oldsilo.html new file mode 100644 index 000000000..bafec0ec5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_oldsilo.html @@ -0,0 +1,50 @@ + +Results for databases/oldsilo.py + +

    Results of VisIt Regression Test - databases/oldsilo

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    oldsilo_010.410.39
    oldsilo_020.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_oldsilo_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_oldsilo_py.html new file mode 100644 index 000000000..68124694e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_oldsilo_py.html @@ -0,0 +1,38 @@ +databases/oldsilo.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  oldsilo.py 
    +#
    +#  Tests:      old-style silo files (netcdf driver)
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       February 11, 2004 
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Thu Jan 14 12:38:24 EST 2010
    +#    Changed path to point to new location.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(data_path("old_silo_test_data/pion0244.silo"))
    +
    +AddPlot("Pseudocolor","d")
    +AddPlot("Mesh","hydro_mesh")
    +DrawPlots()
    +Test("oldsilo_01")
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("old_silo_test_data/fwl.17217"))
    +
    +AddPlot("Pseudocolor","d")
    +AddPlot("Mesh","mesh1")
    +DrawPlots()
    +Test("oldsilo_02")
    +DeleteAllPlots()
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openPMD.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openPMD.html new file mode 100644 index 000000000..1f884aa67 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openPMD.html @@ -0,0 +1,47 @@ + +Results for databases/openPMD.py + +

    Results of VisIt Regression Test - databases/openPMD

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    3D Example openPMD File
    openPMD_3D_Fieldsrho0.220.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openPMD_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openPMD_py.html new file mode 100644 index 000000000..a20739a60 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openPMD_py.html @@ -0,0 +1,40 @@ +databases/openPMD.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  openPMD.py
    +#
    +#  Tests:      openPMD hdf5 files
    +#
    +#  Programmer: Dave Pugmire
    +#  Date:       Mon Oct 28 13:00:15 EDT 2019
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("OpenPMD")
    +
    +openPMDFile = 'openpmd_test_data/data00000500.opmd'
    +
    +vars = ['Fields/rho']
    +
    +def test(var, tagName) :
    +    SetTimeSliderState(1)
    +    AddPlot("Contour", var)
    +    SetActivePlots(0)
    +    ContourAtts = ContourAttributes()
    +    ContourAtts.minFlag = 1
    +    ContourAtts.min = 1
    +    ContourAtts.scaling = ContourAtts.Log
    +    SetPlotOptions(ContourAtts)
    +    DrawPlots()
    +    fileName = var.replace("/", "")
    +    Test(tagName + "_" +  fileName)
    +    DeleteAllPlots()
    +
    +
    +TestSection("3D Example openPMD File")
    +OpenDatabase(data_path(openPMDFile))
    +for var in vars:
    +    test(var,"openPMD_3D")
    +CloseDatabase(data_path(openPMDFile))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openexr.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openexr.html new file mode 100644 index 000000000..c26e3677d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openexr.html @@ -0,0 +1,78 @@ + +Results for databases/openexr.py + +

    Results of VisIt Regression Test - databases/openexr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    openexr_0_R0.000.00
    openexr_0_G0.000.00
    openexr_0_B0.000.00
    openexr_0_A0.000.00
    openexr_0_Z0.000.00
    openexr_0_L0.000.00
    openexr_0_value0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openexr_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openexr_py.html new file mode 100644 index 000000000..d887b24a6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_openexr_py.html @@ -0,0 +1,54 @@ +databases/openexr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  openexr.py 
    +#
    +#  Tests:      openexr reading 
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Feb 15 14:16:45 PST 2018
    +#
    +#  Modifications:
    +# 
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("OpenEXR")
    +
    +def test0():
    +    DefineScalarExpression("masked_value", "if(gt(A, 0), value, 0)")
    +
    +    db = data_path("OpenEXR_test_data/noise_rgbazlv.exr")
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "R")
    +    DrawPlots()
    +    v = GetView2D()
    +    v.viewportCoords = (0, 1, 0, 1)
    +    SetView2D(v)
    +    Test("openexr_0_R")
    +
    +    ChangeActivePlotsVar("G")
    +    Test("openexr_0_G")
    +
    +    ChangeActivePlotsVar("B")
    +    Test("openexr_0_B")
    +
    +    ChangeActivePlotsVar("A")
    +    Test("openexr_0_A")
    +
    +    ChangeActivePlotsVar("Z")
    +    Test("openexr_0_Z")
    +
    +    ChangeActivePlotsVar("L")
    +    Test("openexr_0_L")
    +
    +    ChangeActivePlotsVar("masked_value")
    +    Test("openexr_0_value")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def main():
    +    test0()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_overlink.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_overlink.html new file mode 100644 index 000000000..894e921f1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_overlink.html @@ -0,0 +1,108 @@ + +Results for databases/overlink.py + +

    Results of VisIt Regression Test - databases/overlink

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    overlink_010.000.00
    overlink_020.000.00
    overlink_030.000.00
    overlink_040.000.00
    ANNOTATION_INT nodelists
    overlink_050.000.00
    overlink_060.000.00
    overlink_070.000.00
    overlink_080.000.00
    overlink_090.000.00
    overlink_100.000.00
    Large number of nodelists
    overlink_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_overlink_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_overlink_py.html new file mode 100644 index 000000000..c8f476d02 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_overlink_py.html @@ -0,0 +1,152 @@ +databases/overlink.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  overlink.py 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       November 11, 2004 
    +#
    +#  Modifications:
    +#    Mark C. Miller, Mon Mar  2 12:44:59 PST 2009
    +#    Added tests for 3D and 2D ANNOTTAION_INT nodelists
    +#
    +#    Mark C. Miller, Thu Jun 18 21:43:45 PDT 2009
    +#    Added TestSection() for annotation int nodelists.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Fri May  4 22:54:55 PDT 2012
    +#    Add a test for modestly large number of nodesets to test new vtkBitArray
    +#    approach to handling nodesets.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(data_path("overlink_test_data/regrovl_qh_1000_10001_4/OvlTop.silo"))
    +
    +
    +#
    +# This is an interesting mesh 
    +#
    +AddPlot("Mesh","MMESH")
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal = (0.530656, 0.558421, 0.637629)
    +v.viewUp = (-0.401835, 0.82812, -0.390828)
    +SetView3D(v)
    +Test("overlink_01")
    +
    +AddPlot("Pseudocolor","nvar1")
    +DrawPlots()
    +Test("overlink_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Subset","domains(MMESH)")
    +DrawPlots()
    +Test("overlink_03")
    +
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "domain1":
    +        silr.TurnOffSet(i)
    +    elif silr.SetName(i) == "domain4":
    +        silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +Test("overlink_04")
    +
    +#
    +# Test ANNOTATION_INT objects and read options
    +#
    +TestSection("ANNOTATION_INT nodelists")
    +DeleteAllPlots()
    +CloseDatabase(data_path("overlink_test_data/regrovl_qh_1000_10001_4/OvlTop.silo"))
    +
    +
    +# First test open with search for ANNOT_INT objects turned on
    +# but none actually in the database.
    +readOptions=GetDefaultFileOpenOptions("Silo")
    +readOptions["Search For ANNOTATION_INT (!!Slow!!)"] = 1
    +SetDefaultFileOpenOptions("Silo", readOptions)
    +OpenDatabase(silo_data_path("multipart_multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor","d")
    +DrawPlots()
    +ResetView()
    +Test("overlink_05")
    +
    +# likewise on single domain, single file
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multipart_multi_ucd3d.silo"))
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor","dx")
    +DrawPlots()
    +ResetView()
    +Test("overlink_06")
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("globe.silo"))
    +
    +
    +# Ok, now lets do some real annot_int work
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("globe.silo"))
    +
    +OpenDatabase(data_path("overlink_test_data/annotInt/sweptCellTagTest.silo"))
    +
    +AddPlot("Mesh","MMESH")
    +DrawPlots()
    +Test("overlink_07")
    +
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "negYNodes":
    +        silr.TurnOffSet(i)
    +        break
    +SetPlotSILRestriction(silr)
    +Test("overlink_08")
    +
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "negZNodes":
    +        silr.TurnOffSet(i)
    +        break
    +SetPlotSILRestriction(silr)
    +Test("overlink_09")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("overlink_test_data/annotInt/sweptCellTagTest.silo"))
    +
    +OpenDatabase(data_path("overlink_test_data/annotInt/overlink2dTest.silo"))
    +
    +AddPlot("Mesh","MMESH")
    +DrawPlots()
    +ResetView()
    +v = GetView2D()
    +v.windowCoords = (-0.360608, 6.36061, -0.115684, 6.11568)
    +SetView2D(v)
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "posR":
    +        silr.TurnOffSet(i)
    +        break
    +SetPlotSILRestriction(silr)
    +Test("overlink_10")
    +
    +TestSection("Large number of nodelists")
    +DeleteAllPlots()
    +CloseDatabase(data_path("overlink_test_data/annotInt/overlink2dTest.silo"))
    +
    +OpenDatabase(data_path("overlink_test_data/annotInt/overlink2dTstA.silo"))
    +
    +AddPlot("Mesh","MMESH")
    +DrawPlots()
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if (i%2 and silr.SetName(i)[0:5] == "cell_"):
    +        silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +Test("overlink_11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pdbdatabase.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pdbdatabase.html new file mode 100644 index 000000000..737185338 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pdbdatabase.html @@ -0,0 +1,348 @@ + +Results for databases/pdbdatabase.py + +

    Results of VisIt Regression Test - databases/pdbdatabase

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing with /usr/WS1/visit/test_trunk/visit/build/testdata/pdb_test_data/multi*.pdb database
    pdb_multi_000.000.00
    pdb_multi_010.000.00
    pdb_multi_020.000.00
    pdb_multi_030.000.00
    pdb_multi_040.000.00
    pdb_multi_050.000.00
    pdb_multi_060.000.00
    pdb_multi_070.000.00
    pdb_multi_080.000.00
    pdb_multi_090.000.00
    pdb_multi_100.000.00
    pdb_multi_110.000.00
    pdb_multi_120.000.00
    pdb_multi_130.000.00
    pdb_multi_140.000.00
    pdb_multi_150.000.00
    Testing with /usr/WS1/visit/test_trunk/visit/build/testdata/pdb_test_data/family*.pdb database
    pdb_family_000.000.00
    pdb_family_010.000.00
    pdb_family_020.000.00
    pdb_family_030.000.00
    pdb_family_040.000.00
    pdb_family_050.000.00
    pdb_family_060.000.00
    pdb_family_070.000.00
    pdb_family_080.000.00
    pdb_family_090.000.00
    pdb_family_100.000.00
    pdb_family_110.000.00
    pdb_family_120.000.00
    pdb_family_130.000.00
    pdb_family_140.000.00
    pdb_family_150.000.00
    Testing with /usr/WS1/visit/test_trunk/visit/build/testdata/pdb_test_data/allinone00.pdb
    pdb_allinone_000.000.00
    pdb_allinone_010.000.00
    pdb_allinone_020.000.00
    pdb_allinone_030.000.00
    pdb_allinone_040.000.00
    pdb_allinone_050.000.00
    pdb_allinone_060.000.00
    pdb_allinone_070.000.00
    pdb_allinone_080.000.00
    pdb_allinone_090.000.00
    pdb_allinone_100.000.00
    pdb_allinone_110.000.00
    pdb_allinone_120.000.00
    pdb_allinone_130.000.00
    pdb_allinone_140.000.00
    pdb_allinone_150.000.00
    Testing mixvars in Flash files
    pdb_nomix0.000.00
    pdb_mix0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pdbdatabase_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pdbdatabase_py.html new file mode 100644 index 000000000..7ff9a5e89 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pdbdatabase_py.html @@ -0,0 +1,247 @@ +databases/pdbdatabase.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pdbdatabase.py
    +#
    +#  Tests:      mesh      - 2D,3D curvilinear, single domain
    +#              plots     - Pseudocolor, Subset, Vector
    +#              operators - Clip
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Sep 25 09:31:28 PDT 2003
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 31 09:11:08 PDT 2004
    +#    I added code to clear the engine cache to reduce memory usage.
    +#
    +#    Brad Whitlock, Fri Apr 9 16:54:15 PST 2004
    +#    I added TestSection to divide up the tests a little.
    +#
    +#    Brad Whitlock, Thu Sep 2 12:08:59 PDT 2004
    +#    I replaced some deprecated calls with their new equivalents.
    +#
    +#    Brad Whitlock, Tue Dec 7 17:52:33 PST 2004
    +#    I added a test for mixvars in Flash files.
    +#
    +#    Mark C. Miller, Sat Feb  3 00:42:05 PST 2007
    +#    Added tests for array variables
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("PDB")
    +
    +##
    +## This creates a name for a test.
    +##
    +def CreateTestName(testName, testIndex):
    +    name = "%s_%02d" % (testName, testIndex)
    +    return name
    +
    +def sv3():
    +    v3 = View3DAttributes()
    +    v3.viewNormal = (0.516282, 0.582114, 0.628169)
    +    v3.focus = (0, 0, 0)
    +    v3.viewUp = (-0.488576, 0.80261, -0.342213)
    +    v3.viewAngle = 30
    +    v3.parallelScale = 43.589
    +    v3.nearPlane = -87.178
    +    v3.farPlane = 87.178
    +    v3.imagePan = (0, 0)
    +    v3.imageZoom = 1.41577
    +    v3.perspective = 1
    +    SetView3D(v3)
    +
    +##
    +## This function performs the test using the specified database.
    +##
    +def TestWithDatabase(db, testName):
    +    TestSection("Testing with %s" % db)
    +
    +    # Open the test database
    +    OpenDatabase(db)
    +
    +    ##
    +    ## Do the 2D tests.
    +    ##
    +
    +    # Add the plots.
    +    AddPlot("FilledBoundary", "material(mesh)")
    +    DrawPlots()
    +
    +    # Do the first test in the series
    +    Test(CreateTestName(testName, 0))
    +
    +    SetTimeSliderState(6)
    +    Test(CreateTestName(testName, 1))
    +
    +    SetTimeSliderState(15)
    +    Test(CreateTestName(testName, 2))
    +
    +    # Do a test on the last frame in the animation.
    +    SetTimeSliderState(22)
    +    Test(CreateTestName(testName, 3))
    +
    +    AddPlot("Mesh", "mesh")
    +    DrawPlots()
    +    v = View2DAttributes()
    +    v.windowCoords = (-6.07862, -0.374491, 4.48986, 10.8545)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v)
    +    Test(CreateTestName(testName, 4))
    +
    +    # Try turning off material 2
    +    SetActivePlots((0,1))
    +    TurnMaterialsOff("2")
    +    Test(CreateTestName(testName, 5))
    +    TurnMaterialsOn()
    +
    +    ResetView()
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "mesh/a")
    +    DrawPlots()
    +    Test(CreateTestName(testName, 6))
    +
    +    # Define a expression. I'm testing this because of the strange
    +    # <mesh/var> syntax that my plugin has.
    +    DefineVectorExpression("testexp1", "3.0 * {<mesh/lt>, <mesh/a>/399.0}")
    +    AddPlot("Vector", "testexp1")
    +    DrawPlots();
    +    vec = VectorAttributes()
    +    vec.nVectors = 1200
    +    vec.colorByMagnitude = 0
    +    SetPlotOptions(vec)
    +    v.windowCoords = (-9.51217, -0.289482, 0.983025, 10.6717)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v)
    +    Test(CreateTestName(testName, 7))
    +
    +    # Set the time back to frame 0
    +    SetTimeSliderState(0)
    +    ResetView()
    +    DeleteAllPlots()
    +
    +    ##
    +    ## Do the 3D tests.
    +    ##
    +
    +    AddPlot("FilledBoundary", "material2(revolved_mesh)")
    +    AddOperator("Clip")
    +    c = ClipAttributes()
    +    c.funcType = c.Plane
    +    c.plane1Status = 0
    +    c.plane2Status = 1
    +    c.plane3Status = 1
    +    SetOperatorOptions(c)
    +    DrawPlots()
    +
    +    # Set the view
    +    sv3()
    +    Test(CreateTestName(testName, 8))
    +
    +    SetTimeSliderState(6)
    +    sv3()
    +    Test(CreateTestName(testName, 9))
    +
    +    SetTimeSliderState(15)
    +    sv3()
    +    Test(CreateTestName(testName, 10))
    +
    +    # Do a test on the last frame in the animation.
    +    SetTimeSliderState(22)
    +    sv3()
    +    Test(CreateTestName(testName, 11))
    +
    +    # Turn off some materials
    +    TurnMaterialsOff(("1", "3", "4"))
    +    sv3()
    +    Test(CreateTestName(testName, 12))
    +    TurnMaterialsOn()
    +
    +    # Set the time back to frame 2
    +    SetTimeSliderState(2)
    +    ResetView()
    +    DeleteAllPlots()
    +
    +    #
    +    # Test array variables
    +    #
    +    AddPlot("Pseudocolor","logical_mesh/marray_comps/comp_002")
    +    DrawPlots()
    +    Test(CreateTestName(testName, 13))
    +
    +    DeleteAllPlots()
    +    ResetView()
    +    AddPlot("Pseudocolor","revolved_mesh/marray_comps/comp_002")
    +    DrawPlots()
    +    Test(CreateTestName(testName, 14))
    +
    +    DeleteAllPlots()
    +    ResetView()
    +    AddPlot("Label","logical_mesh/marray")
    +    DrawPlots()
    +    Test(CreateTestName(testName, 15))
    +
    +    # Set the time back to frame 0
    +    SetTimeSliderState(0)
    +    ResetView()
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +    ClearCache("localhost")
    +
    +#
    +# Test mixvars.
    +#
    +def TestMixvars(db):
    +    TestSection("Testing mixvars in Flash files")
    +    DeleteAllPlots()
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "mesh/mixvar")
    +    DrawPlots()
    +    ResetView()
    +    v = View2DAttributes()
    +    v.windowCoords = (-9.51866, 3.29394, 13.9258, 26.4126)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off
    +    SetView2D(v)
    +    Test("pdb_nomix")
    +
    +    # Do the same plot but with forced MIR so the mixvar gets reconstructed.
    +    ClearWindow()
    +    m = GetMaterialAttributes()
    +    m.forceMIR = 1
    +    SetMaterialAttributes(m)
    +    DrawPlots()
    +    Test("pdb_mix")
    +    DeleteAllPlots()
    +
    +#
    +# Run the test a few times with different versions of the database. We do this
    +# because we have the same database split up three different ways and all the
    +# ways a database can be split up must work.
    +#
    +#   multi{00,01,02}.pdb  - Contains multiple time states in each file but
    +#                          we group them all into "multi*.pdb database".
    +#
    +#   family??.pdb         - Contains a single time state in each file but
    +#                          we group them all into "family*.pdb database".
    +#
    +#   allinone00.pdb       - Contains all of the time states in one file.
    +#
    +
    +databases = (data_path("pdb_test_data/multi*.pdb database"),
    +             data_path("pdb_test_data/family*.pdb database"),
    +             data_path("pdb_test_data/allinone00.pdb"))
    +testNames = ("pdb_multi", "pdb_family", "pdb_allinone")
    +for i in range(len(databases)):
    +    TestWithDatabase(databases[i], testNames[i])
    +
    +# Do the mixvar test.
    +TestMixvars(databases[2])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pixie.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pixie.html new file mode 100644 index 000000000..5b49ca0d5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pixie.html @@ -0,0 +1,98 @@ + +Results for databases/pixie.py + +

    Results of VisIt Regression Test - databases/pixie

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pixie_010.000.00
    pixie_020.000.00
    pixie_030.000.00
    pixie_040.390.00
    pixie_050.100.00
    pixie_0698.1650.64
    pixie_070.980.01
    pixie_080.000.00
    pixie_090.000.00
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pixie_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pixie_py.html new file mode 100644 index 000000000..d153363ad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_pixie_py.html @@ -0,0 +1,161 @@ +databases/pixie.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pixie.py 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       April 4, 2005 
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# test a 2D pixie database
    +OpenDatabase(data_path("pixie_test_data/pixie3d3.h5"))
    +
    +
    +#
    +# Test simple read and display of a variable 
    +#
    +AddPlot("Pseudocolor","Car variables/Bx")
    +DrawPlots()
    +Test("pixie_01")
    +
    +AddPlot("Mesh","curvemesh_33x33x2")
    +DrawPlots()
    +Test("pixie_02")
    +
    +# really zoom in on the center of this mesh
    +v=GetView2D()
    +v.windowCoords = (-5.84435e-05, 5.84435e-05, -5.12076e-05, 5.12076e-05)
    +SetView2D(v)
    +Test("pixie_03")
    +
    +DeleteAllPlots()
    +
    +# test a 3D pixie database
    +OpenDatabase(data_path("pixie_test_data/pixie3d4.h5"))
    +
    +AddPlot("Mesh","curvemesh_33x33x33")
    +AddPlot("Contour","Car variables/Vx")
    +v=GetView3D()
    +v.viewNormal=(-0.5, 0, 0.866025)
    +SetView3D(v)
    +DrawPlots()
    +Test("pixie_04")
    +DeleteAllPlots()
    +ResetView()
    +
    +# test a pixie expression (plot vector magnitude)
    +OpenDatabase(data_path("pixie_test_data/pixie_expressions.h5"))
    +
    +# Test that vector data can be used. We use a Contour plot instead of a Vector
    +# plot now because the glyph indices for the Vector plot can change depending
    +# on how the mesh was automatically decomposed by the reader.
    +AddPlot("Contour","V_magnitude")
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleZ = 0.25
    +SetOperatorOptions(t)
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal = (0.557477, 0.525516, 0.642692)
    +v.focus = (0.484375, 0.5, 0.984375)
    +v.viewUp = (-0.252277, 0.844773, -0.471926)
    +v.viewAngle = 30
    +v.parallelScale = 1.22474
    +v.nearPlane = -2.44949
    +v.farPlane = 2.44949
    +v.imagePan = (0.0454993, 0.0670485)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.484375, 0.5, 0.984375)
    +SetView3D(v)
    +Test("pixie_05")
    +DeleteAllPlots()
    +
    +# Test a transparent plot to see how well ghosting works when the
    +# mesh gets divided up in parallel.
    +DefineScalarExpression("one", "point_constant(curvemesh_33x33x65, 1.)")
    +AddPlot("Pseudocolor", "one")
    +pc = PseudocolorAttributes()
    +pc.SetOpacityType(pc.Constant)
    +pc.opacity = 0.31
    +SetPlotOptions(pc)
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleZ = 0.25
    +SetOperatorOptions(t)
    +DrawPlots()
    +Test("pixie_06")
    +DeleteAllPlots()
    +
    +# test a contour plot on double precision data
    +AddPlot("Contour","Car_variables/Vx")
    +v = GetView3D()
    +v.viewNormal = (0, 0, 1)
    +v.focus = (0.484375, 0.5, 3.9375)
    +v.viewUp = (0, 1, 0)
    +v.viewAngle = 30
    +v.parallelScale = 4.06202
    +v.nearPlane = -8.12404
    +v.farPlane = 8.12404
    +v.imagePan = (0, 0)
    +v.imageZoom = 20
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.484375, 0.5, 3.9375)
    +SetView3D(v)
    +DrawPlots()
    +Test("pixie_07")
    +DeleteAllPlots()
    +
    +# test a mesh plot of a non-square, 2D, curvilinear mesh 
    +OpenDatabase(data_path("pixie_test_data/pixie3d5.h5"))
    +
    +AddPlot("Mesh","curvemesh_65x33x2")
    +AddPlot("Pseudocolor","Diagnostics/q factor")
    +DrawPlots()
    +v=GetView2D()
    +v.windowCoords=(-0.241119, 0.241119, -0.162714, 0.162714)
    +SetView2D(v)
    +Test("pixie_08")
    +DeleteAllPlots()
    +
    +# test a pseudocolor plot of a 3D curvilinear mesh
    +OpenDatabase(data_path("pixie_test_data/pixie3d6.h5"))
    +
    +AddPlot("Mesh", "curvemesh_8x8x8")
    +AddPlot("Pseudocolor","Curvilinear/temperature")
    +DrawPlots()
    +v = GetView3D()
    +v.viewNormal = (0.465617, -0.587141, 0.662168)
    +v.focus = (0.5, 1, 1.5)
    +v.viewUp = (0.884708, 0.327576, -0.33164)
    +v.viewAngle = 30
    +v.parallelScale = 1.63698
    +v.nearPlane = -3.27395
    +v.farPlane = 3.27395
    +v.imagePan = (0, 0)
    +v.imageZoom = 0.9
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.5, 1, 1.5)
    +v.axis3DScaleFlag = 0
    +v.axis3DScales = (1, 1, 1)
    +v.shear = (0, 0, 1)
    +v.windowValid = 1
    +SetView3D(v)
    +Test("pixie_09")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_plaintext.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_plaintext.html new file mode 100644 index 000000000..25a862197 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_plaintext.html @@ -0,0 +1,72 @@ + +Results for databases/plaintext.py + +

    Results of VisIt Regression Test - databases/plaintext

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    CSV data as Curves
    PlainText_Curves0.000.00
    CSV data as Curves inferred X coordinate
    PlainText_Curves_noX0.000.00
    CSV data as 3D points with variable(s)
    PlainText_Points0.000.00
    CSV data as 2D array on uniform grid
    PlainText_2DArray0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_plaintext_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_plaintext_py.html new file mode 100644 index 000000000..c0111c583 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_plaintext_py.html @@ -0,0 +1,234 @@ +databases/plaintext.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  plaintext.py
    +#
    +#  Tests:      multiple curves from a CSV file without and with implicit X
    +#              2D and 3D points with variables in a CSV file
    +#              An array of data as a 2D regular grid
    +#
    +#  Notes:
    +#    - Code snippets from this file are literalinclude'd in our docs.
    +#    - Test image results produced by this test are also literalinclude'd.
    +#    - Input .csv files used here are also literalinclude'd.
    +#    - If you ever need to change the .csv files, you can regen them using
    +#      this script with 'genonly' CL arg and vanilla python (it won't make any
    +#      VisIt CLI calls).
    +#
    +#  Mark C. Miller, Fri Mar 11 14:33:30 PST 2022
    +#  Based on original code by Eric Brugger in our documentation
    +# ----------------------------------------------------------------------------
    +import copy, math, os, sys
    +
    +#
    +# Example of PlainText open options dict...
    +#
    +# {'Data layout': '1D Columns # Options are: 1D Columns, 2D Array',
    +#  'Lines to skip at beginning of file': 0,
    +#  'First row has variable names': 0,
    +#  'Column for X coordinate (or -1 for none)': -1,
    +#  'Column for Y coordinate (or -1 for none)': -1,
    +#  'Column for Z coordinate (or -1 for none)': -1}
    +#
    +
    +#
    +# Use this function with deepcopy to ensure we always start from a
    +# prestine default state for open options.
    +#
    +def GetDefaultOpenOptions():
    +    if not hasattr(GetDefaultOpenOptions, 'defaultOpenOptions'):
    +        GetDefaultOpenOptions.defaultOpenOptions = copy.deepcopy(GetDefaultFileOpenOptions("PlainText"))
    +    return copy.deepcopy(GetDefaultOpenOptions.defaultOpenOptions)
    +
    +def CreateCurvesDataFile(filename):
    +
    +    # Curve gen {
    +    with open(filename, "wt") as f:
    +        # create header
    +        f.write("angle,sine,cosine\n")
    +        npts = 73
    +        for i in range(npts):
    +            angle_deg = float(i) * (360. / float(npts-1))
    +            angle_rad = angle_deg * (3.1415926535 / 180.)
    +            sine = math.sin(angle_rad)
    +            cosine = math.cos(angle_rad)
    +            # write abscissa (x value) and ordinates (y-value(s))
    +            f.write("%g,%g,%g\n" % (angle_deg, sine, cosine))
    +    # Curve gen }
    +
    +def CreateCurvesDataFileWithNoXCoordinates(filename):
    +
    +    # Curve noX gen {
    +    with open(filename, "wt") as f:
    +        # create header
    +        f.write("inverse,sqrt,quadratic\n")
    +        npts = 100
    +        for i in range(npts):
    +            inv = float(100) / (float(i)+1)
    +            sqr = 10 * math.sqrt(i)
    +            quad = float(i*i) / float(100)
    +            f.write("%g,%g,%g\n" % (inv, sqr, quad))
    +    # Curve noX gen }
    +
    +def Create3DPointsWithVariablesDataFile(filename):
    +
    +    # Points gen {
    +    with open(filename, "wt") as f:
    +        # write header
    +        f.write("x y z velx vely velz temp\n")
    +        n = 100
    +        for i in range(n):
    +            t = float(i) / float(n-1)
    +            angle = t * (math.pi * 2.) * 5.
    +            r = t * 10.
    +            x = r * math.cos(angle)
    +            y = r * math.sin(angle)
    +            z = t * 10.
    +            vx = math.sqrt(x*x + y*y)
    +            vy = math.sqrt(y*y + z*z)
    +            vz = math.sqrt(x*x + z*z)
    +            temp = math.sqrt((t-0.5)*(t-0.5))
    +            # write point and value(s)
    +            f.write("%g %g %g %g %g %g %g\n" % (x,y,z,vx,vy,vz,temp))
    +    # Points gen }
    +
    +def Create2DArrayDataFile(filename):
    +
    +    # Array gen {
    +    with open(filename, "wt") as f:
    +        # Only the first column name matters.
    +        # The others are required but otherwise ignored.
    +        f.write("density c2 c3 c4 c5 c6 c7 c8\n")
    +        nx = 8
    +        ny = 10
    +        for iy in range(ny):
    +            y = float(iy)
    +            for ix in range(nx):
    +                x = float(ix)
    +                dist = math.sqrt(x*x + y*y)
    +                if (ix < nx - 1):
    +                   f.write("%g " % dist)
    +                else:
    +                   f.write("%g\n" % dist)
    +    # Array gen }
    +
    +def TestCSVCurves():
    +    TestSection("CSV data as Curves")
    +    CreateCurvesDataFile("curves.csv")
    +
    +    # Curve plot {
    +    plainTextOpenOptions = GetDefaultOpenOptions()
    +    plainTextOpenOptions['First row has variable names'] = 1
    +    plainTextOpenOptions['Column for X coordinate (or -1 for none)'] = 0
    +    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
    +
    +    OpenDatabase("curves.csv")
    +    AddPlot("Curve","sine")
    +    AddPlot("Curve","cosine")
    +    DrawPlots()
    +    # Curve plot }
    +    ResetView()
    +    Test("PlainText_Curves")
    +    DeleteAllPlots()
    +    CloseDatabase("curves.csv")
    +    os.unlink("curves.csv")
    +
    +def TestCSVCurvesNoX():
    +    TestSection("CSV data as Curves inferred X coordinate")
    +    CreateCurvesDataFileWithNoXCoordinates("curves_nox.csv")
    +
    +    # Curve noX plot {
    +    plainTextOpenOptions = GetDefaultOpenOptions()
    +    plainTextOpenOptions['First row has variable names'] = 1
    +    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
    +
    +    OpenDatabase("curves_nox.csv")
    +    AddPlot("Curve","inverse")
    +    AddPlot("Curve","sqrt")
    +    AddPlot("Curve","quadratic")
    +    DrawPlots()
    +    # Curve noX plot }
    +    ResetView()
    +    Test("PlainText_Curves_noX")
    +    DeleteAllPlots()
    +    CloseDatabase("curves_nox.csv")
    +    os.unlink("curves_nox.csv")
    +
    +def TestCSV3DPointsAndVariables():
    +    TestSection("CSV data as 3D points with variable(s)")
    +    Create3DPointsWithVariablesDataFile("points.txt")
    +
    +    # Points plot {
    +    plainTextOpenOptions = GetDefaultOpenOptions()
    +    plainTextOpenOptions['First row has variable names'] = 1
    +    plainTextOpenOptions['Column for X coordinate (or -1 for none)'] = 0
    +    plainTextOpenOptions['Column for Y coordinate (or -1 for none)'] = 1
    +    plainTextOpenOptions['Column for Z coordinate (or -1 for none)'] = 2
    +    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
    +    OpenDatabase("points.txt")
    +
    +    DefineVectorExpression("vel", "{velx,vely,velz}")
    +    AddPlot("Pseudocolor", "temp")
    +    AddPlot("Vector","vel")
    +    DrawPlots()
    +    # Points plot }
    +    ResetView()
    +    Test("PlainText_Points")
    +    DeleteAllPlots()
    +    CloseDatabase("points.txt")
    +    os.unlink("points.txt")
    +
    +def TestCSV2DArray():
    +    TestSection("CSV data as 2D array on uniform grid")
    +    Create2DArrayDataFile("array.txt")
    +
    +    # Array plot {
    +    plainTextOpenOptions = GetDefaultOpenOptions()
    +    plainTextOpenOptions['First row has variable names'] = 1
    +    plainTextOpenOptions['Data layout'] = '2D Array'
    +    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
    +
    +    OpenDatabase("array.txt")
    +    AddPlot("Pseudocolor", "density")
    +    DrawPlots()
    +    ResetView()
    +    # Array plot }
    +    Test("PlainText_2DArray")
    +    DeleteAllPlots()
    +    CloseDatabase("array.txt")
    +    os.unlink("array.txt")
    +
    +def main():
    +
    +    if 'genonly' in sys.argv:
    +        CreateCurvesDataFile('curves.csv')
    +        CreateCurvesDataFileWithNoXCoordinates('curves_nox.csv')
    +        Create3DPointsWithVariablesDataFile('points.txt')
    +        Create2DArrayDataFile('array.txt')
    +        sys.exit(0)
    +
    +    #
    +    # Idiom here...we can't manipulate open options until *after*
    +    # mdserver is running
    +    #
    +    OpenMDServer("localhost")
    +
    +    #
    +    # Make sure curve plots are without labels
    +    #
    +    ca = CurveAttributes()
    +    ca.showLabels = 0
    +    SetDefaultPlotOptions(ca)
    +
    +    TestCSVCurves()
    +
    +    TestCSVCurvesNoX()
    +
    +    TestCSV3DPointsAndVariables()
    +
    +    TestCSV2DArray()
    +
    +    Exit()
    +
    +main()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_rect.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_rect.html new file mode 100644 index 000000000..f777a573d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_rect.html @@ -0,0 +1,99 @@ + +Results for databases/rect.py + +

    Results of VisIt Regression Test - databases/rect

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Curvilinear grid files
    rect_010.000.00
    rect_020.000.00
    rect_030.000.00
    rect_040.000.00
    Rectilinear grid files
    rect_0516.740.64
    rect_060.440.64
    1D Datasets re-interpreted as curves.
    rect_073.090.04
    rect_080.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_rect_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_rect_py.html new file mode 100644 index 000000000..d16b2c301 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_rect_py.html @@ -0,0 +1,98 @@ +databases/rect.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  rect.py 
    +#
    +#  Tests:      rect files 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       May 15, 2008 
    +#
    +#  Mark C. Miller, Thu Feb 12 01:30:24 PST 2009
    +#  Added test for rectilinear mesh case. Re-enabled setting of SIL restriction
    +#  which was disabled due to a bug that was resolved back in May, 2008.
    +#
    +#  Mark C. Miller, Wed Feb 18 17:52:44 PST 2009
    +#  Fixed missing AddPlot() call just prior to image 08. Changed name of 
    +#  curve objects that get re-interpreted.
    +#
    +#  Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#  Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#  individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# test the main mesh
    +TestSection("Curvilinear grid files")
    +OpenDatabase(data_path("Rect_test_data/curv_data/datafile.rect"))
    +
    +AddPlot("Mesh","Mesh")
    +DrawPlots()
    +v=GetView3D()
    +v.RotateAxis(1, 30.0)
    +SetView3D(v)
    +Test("rect_01")
    +
    +# test a variable
    +AddPlot("Pseudocolor","pressure")
    +DrawPlots()
    +Test("rect_02")
    +
    +# test going forward in time
    +TimeSliderNextState()
    +Test("rect_03")
    +
    +# test restriction
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "domain2":
    +        silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +DrawPlots()
    +Test("rect_04")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("Rect_test_data/curv_data/datafile.rect"))
    +
    +
    +TestSection("Rectilinear grid files")
    +OpenDatabase(data_path("Rect_test_data/rect_data/datafile.rect"))
    +
    +AddPlot("Mesh","Mesh")
    +DrawPlots()
    +ResetView()
    +Test("rect_05")
    +
    +AddPlot("Pseudocolor","myTest")
    +DrawPlots()
    +Test("rect_06")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("Rect_test_data/rect_data/datafile.rect"))
    +
    +
    +TestSection("1D Datasets re-interpreted as curves.")
    +
    +
    +OpenDatabase(data_path("Rect_test_data/1d/rect_data/datafile.rect"))
    +
    +AddPlot("Curve", "Scalar_Curves/pressure")
    +c = CurveAttributes()
    +c.showLabels = 0
    +c.curveColorSource = c.Custom
    +c.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(c)
    +DrawPlots()
    +ResetView()
    +Test("rect_07")
    +
    +AddPlot("Curve", "Scalar_Curves/density")
    +c.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(c)
    +DrawPlots()
    +TimeSliderNextState()
    +Test("rect_08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_reopen.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_reopen.html new file mode 100644 index 000000000..554f582a0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_reopen.html @@ -0,0 +1,261 @@ + +Results for databases/reopen.py + +

    Results of VisIt Regression Test - databases/reopen

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    reopen_1_000 modifications totalling 0 lines
    reopen_1_010.000.00
    reopen_1_020 modifications totalling 0 lines
    Reopening virtual database
    reopen_2_000.000.00
    reopen_2_010 modifications totalling 0 lines
    reopen_2_020.000.00
    reopen_2_030 modifications totalling 0 lines
    reopen_2_040.000.00
    reopen_2_050 modifications totalling 0 lines
    Reopening .visit file
    reopen_2_060.000.00
    reopen_2_070 modifications totalling 0 lines
    reopen_2_080.000.00
    reopen_2_090 modifications totalling 0 lines
    reopen_2_100.000.00
    reopen_2_110 modifications totalling 0 lines
    Reopening .visit file of time-varying data
    reopen_3_000.000.00
    reopen_3_010 modifications totalling 0 lines
    reopen_3_020.000.00
    reopen_3_030 modifications totalling 0 lines
    reopen_3_040.000.00
    reopen_3_050 modifications totalling 0 lines
    reopen_3_060.000.00
    reopen_3_070 modifications totalling 0 lines
    Reopening overwritten file to test engine
    reopen_4_000.000.00
    reopen_4_010.000.00
    Testing reopen/expressions with multiple windows
    reopen_5_000 modifications totalling 0 lines
    reopen_5_010 modifications totalling 0 lines
    Testing reopen at an invalid time state
    reopen_6_000 modifications totalling 0 lines
    reopen_6_010.000.00
    reopen_6_020 modifications totalling 0 lines
    reopen_6_030.000.00
    reopen_6_040 modifications totalling 0 lines
    reopen_6_050.000.00
    reopen_6_060 modifications totalling 0 lines
    reopen_6_070.000.00
    reopen_6_080 modifications totalling 0 lines
    reopen_6_090.000.00
    reopen_6_100 modifications totalling 0 lines
    Testing reopen on a deleted file
    reopen_7_000.000.00
    reopen_7_010 modifications totalling 0 lines
    reopen_7_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_reopen_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_reopen_py.html new file mode 100644 index 000000000..eda167288 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_reopen_py.html @@ -0,0 +1,550 @@ +databases/reopen.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  reopen.py 
    +#
    +#  Tests:      Reopening a database where the SIL is invariant.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 1, 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Fri Mar 19 15:09:09 PST 2004
    +#    I changed one of the OpenDatabase calls to ReOpenDatabase. I also
    +#    added more extensive reopen tests.
    +#
    +#    Brad Whitlock, Fri Apr 9 16:28:01 PST 2004
    +#    I added a test that really makes sure the engine reexecuted during
    +#    a reopen.
    +#
    +#    Jeremy Meredith, Wed Apr 28 11:42:31 PDT 2004
    +#    I made the "Don't need to copy" message go to stderr.
    +#
    +#    Brad Whitlock, Wed Feb 2 16:27:54 PST 2005
    +#    Added a test for making sure that expressions are right after reopening
    +#    a database when there are multiple windows. I also added a test to 
    +#    make sure that time sliders are shortened when we reopen a database
    +#    that has had some of its time states removed.
    +#
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Brad Whitlock, Tue Feb 22 13:56:56 PST 2005
    +#    Added a test case for reopening a file that has been deleted.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Jeremy Meredith, Wed Jan 20 11:02:36 EST 2010
    +#    Fixed some file path issues and checked for "from" file before
    +#    assuming a symlink return error implied a different error message.
    +#
    +#    Kathleen Biagas, Fri May 26 08:31:00 MST 2017
    +#    Fixed reopen_04_01 for windows to use the same file as for non-windows.
    +#
    +#    Kathleen Biagas, Monday October 12, 2020 
    +#    Use TestEnv.params["run_dir"] instead of "." in calls to os.listdir.
    +#
    +# ----------------------------------------------------------------------------
    +from __future__ import print_function
    +import os
    +import sys
    +import time
    +import shutil
    +
    +def GetTruncatedWindowInformationString():
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    return s
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    TestText(testname, GetTruncatedWindowInformationString())
    +
    +def TestLength(testname):
    +    tsLength = TimeSliderGetNStates()
    +    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    testString = testString + GetTruncatedWindowInformationString()
    +    TestText(testname, testString)
    +
    +#
    +# Returns whether all files in the list are in the run directory.
    +#
    +def FilesPresent(files):
    +    currentFileList = os.listdir(TestEnv.params["run_dir"])
    +    count = 0
    +    retval = 0
    +    if type(files) == type(()) or type(files) == type([]):
    +        for file in files:
    +            if file in currentFileList:
    +                count = count + 1
    +        retval = count == len(files)
    +    else:
    +        # We got here because the files argument was 
    +        # a single value instead of a tuple or list.
    +        if files in currentFileList:
    +            retval = 1
    +
    +    return retval
    +
    +
    +#
    +# Removes all files ending in .silo or .visit from the run directory
    +# to ensure that there are no such files left over from a failed test.
    +#
    +def RemoveAllSiloAndVisItFiles():
    +    currentFileList = os.listdir(TestEnv.params["run_dir"])
    +    for file in currentFileList:
    +        if file[-5:] == ".silo" or file[-6:] == ".visit":
    +            try:
    +                os.unlink(file)
    +            except:
    +                # Ignore any exceptions
    +                pass
    +
    +#
    +# Function to create a .visit file or virtual database using time states
    +# from wave.
    +#
    +def CreateMTFile(prefix, makeVisItFile, percent):
    +    # Create a list of files that will be used to create the database
    +    # for the test.
    +    nStates = 71
    +    t = float(percent) / 100.
    +    maxState = int(float(nStates) * t)
    +    files = []
    +    prefixfiles = []
    +    for i in range(maxState):
    +        w = "wave%04d.silo" % (i * 10)
    +        files = files + [w]
    +        prefixfiles = prefixfiles + [prefix+w]
    +
    +    if makeVisItFile == 0:
    +        # Virtual database
    +        for file in files:
    +            fileFrom = data_path("silo_hdf5_test_data/%s" % file)
    +            fileTo   = "%s%s" % (prefix, file)
    +            if not os.path.exists(fileFrom):
    +                print("Error: %s didn't exist" % fileFrom, file=sys.stderr)
    +            try:
    +                # Copy a file from the data directory to the current directory.
    +                if not sys.platform.startswith("win"):
    +                    os.link(fileFrom, fileTo)
    +                else:
    +                    shutil.copyfile(fileFrom, fileTo)
    +            except OSError:
    +                print("Don't need to copy %s" % file, file=sys.stderr)
    +        db = prefix + "wave*.silo database"
    +    else:
    +        # .visit file.
    +        db = "reopen_wave.visit"
    +        f = open(db, "wt")
    +        for file in files:
    +            f.write(data_path("silo_hdf5_test_data/%s\n" % file))
    +        f.close()
    +    return (db, prefixfiles)
    +
    +# Function to remove the .visit file or the virtual database.
    +def DestroyMTFile(makeVisItFile, db):
    +    RemoveAllSiloAndVisItFiles()
    +
    +# Function to create a new SAMRAI .visit file.
    +def CreateTimeVaryingMTFile(percent):
    +    # Read in the entire dumps.visit file for the SAMRAI data so that
    +    # we can get the list of files.
    +    f = open(data_path("samrai_test_data/sil_changes/dumps.visit"), "rt")
    +    lines = f.readlines()
    +    f.close()
    +
    +    # Create a new .visit file
    +    nStates = len(lines)
    +    t = float(percent) / 100.
    +    maxState = int(float(nStates) * t)
    +    db = "reopen_samrai.visit"
    +    f = open(db, "wt")
    +    for i in range(maxState):
    +        f.write(data_path("samrai_test_data/sil_changes/%s") % lines[i])
    +    f.close()
    +    return db
    +
    +# Function to remove the SAMRAI .visit file.
    +def DestroyTimeVaryingMTFile(db):
    +    RemoveAllSiloAndVisItFiles()
    +
    +def SetTheView():
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.735926, 0.562657, 0.376604)
    +    v0.focus = (5, 0.753448, 2.5)
    +    v0.viewUp = (0.454745, 0.822858, -0.340752)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 5.6398
    +    v0.nearPlane = -11.2796
    +    v0.farPlane = 11.2796
    +    v0.imagePan = (0.0589778, 0.0898255)
    +    v0.imageZoom = 1.32552
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    SetView3D(v0)
    +
    +###############################################################################
    +
    +#
    +# Make sure that Reopen does not reset the time slider state and also make
    +# sure that we are getting the metadata for a late time state.
    +#
    +def test1():
    +    #
    +    # This will open at timestep 0.  The variable "transient" will not be
    +    # available then.
    +    #
    +    db = silo_data_path("wave.visit")
    +    OpenDatabase(db)
    +
    +    #
    +    # Now set the time to a timestep when "transient" is available.
    +    #
    +    SetTimeSliderState(20)
    +    TestWindowInformation("reopen_1_00")
    +
    +    #
    +    # If we were to try and make a PC plot of transient right now, it wouldn't
    +    # work.  We need to do a re-open first.
    +    #
    +    ReOpenDatabase(db)
    +
    +    #
    +    # Make a plot of transient. This had better not reset the time state to 0.
    +    #
    +    AddPlot("Pseudocolor","transient")
    +    DrawPlots()
    +    SetTheView()
    +    Test("reopen_1_01")
    +
    +    #
    +    # Delete the plots and close the database
    +    #
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +    TestWindowInformation("reopen_1_02")
    +
    +
    +#
    +# Now test that reopening a file actually makes the time slider longer. First
    +# create a new .visit file that we can add onto later.
    +#
    +def test2():
    +    VirtualDatabase = 0
    +    VisItFile = 1
    +
    +    testIndex = 0
    +    for method in (VirtualDatabase, VisItFile):
    +        # Add a section title.
    +        if(method == VirtualDatabase):
    +            TestSection("Reopening virtual database")
    +        else:
    +            TestSection("Reopening .visit file")
    +
    +        db, files = CreateMTFile("", method, 30)
    +        OpenDatabase(db)
    +        AddPlot("Pseudocolor", "pressure")
    +        DrawPlots()
    +
    +        # Set up the view.
    +        SetTheView()
    +
    +        # Go to the last time state.
    +        SetTimeSliderState(TimeSliderGetNStates() - 1)
    +        Test("reopen_2_%02d" % testIndex)
    +        TestLength("reopen_2_%02d" % (testIndex + 1))
    +
    +        # Create more time states in the file.
    +        db, files = CreateMTFile("", method, 60)
    +        ReOpenDatabase(db)
    +        # Go to the last time state.
    +        SetTimeSliderState(TimeSliderGetNStates() - 1)
    +        Test("reopen_2_%02d" % (testIndex + 2))
    +        TestLength("reopen_2_%02d" % (testIndex + 3))
    +
    +        # Create more time states in the file.
    +        db, files = CreateMTFile("", method, 100)
    +        ReOpenDatabase(db)
    +        # Go to the last time state.
    +        SetTimeSliderState(TimeSliderGetNStates() - 1)
    +        Test("reopen_2_%02d" % (testIndex + 4))
    +        TestLength("reopen_2_%02d" % (testIndex + 5))
    +
    +        # Get rid of the .visit file that we created.
    +        DestroyMTFile(method, db)
    +        DeleteAllPlots()
    +        CloseDatabase(db)
    +
    +        # Get to the next testIndex
    +        testIndex = testIndex + 6
    +
    +
    +#
    +# Now that we've tested time-invariant databases, try testing reopen with
    +# a time-varying database to see if we get the right plots.
    +#
    +def test3():
    +    TestSection("Reopening .visit file of time-varying data")
    +
    +    testIndex = 0
    +    for percent in (30,60,100):
    +        db = CreateTimeVaryingMTFile(percent)
    +        if(percent == 30):
    +            OpenDatabase(db)
    +            AddPlot("Pseudocolor", "Primitive Var _number_0")
    +            DrawPlots()
    +
    +            # Set the view
    +            v0 = View3DAttributes()
    +            v0.viewNormal = (-0.598154, 0.519575, -0.610127)
    +            v0.focus = (15, 10, 10)
    +            v0.viewUp = (0.418052, 0.851849, 0.315574)
    +            v0.viewAngle = 30
    +            v0.parallelScale = 20.6155
    +            v0.nearPlane = -41.2311
    +            v0.farPlane = 41.2311
    +            v0.imagePan = (0.0200698, 0.0374771)
    +            v0.imageZoom = 1
    +            v0.perspective = 1
    +            v0.eyeAngle = 2
    +            SetView3D(v0)
    +
    +            # Save a test
    +            Test("reopen_3_%02d" % testIndex)
    +            testIndex = testIndex + 1
    +            TestLength("reopen_3_%02d" % testIndex)
    +            testIndex = testIndex + 1
    +
    +        else:
    +            # Reopen the database to add the new time states.
    +            ReOpenDatabase(db)
    +
    +        # Go to the last time state.
    +        SetTimeSliderState(TimeSliderGetNStates() - 1)
    +
    +        # Save a test
    +        Test("reopen_3_%02d" % testIndex)
    +        testIndex = testIndex + 1
    +        TestLength("reopen_3_%02d" % testIndex)
    +        testIndex = testIndex + 1
    +
    +    # Clean up the time varying .visit file.
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +    DestroyTimeVaryingMTFile(db)
    +
    +#
    +# Test that reopening a file that has been overwritten works.
    +#
    +def test4():
    +    TestSection("Reopening overwritten file to test engine")
    +
    +    # Copy curv2d to the current directory.
    +    db = "test4.silo"
    +    if not sys.platform.startswith("win"):
    +        os.link(silo_data_path("curv2d.silo") , db)
    +    else:
    +        shutil.copyfile(silo_data_path("curv2d.silo") , db)
    +
    +    # Open up the file and create a plot.
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Test("reopen_4_00")
    +
    +    # Delete the file
    +    try:
    +        os.unlink(db)
    +    except:
    +        # Ignore any exceptions
    +        pass
    +
    +    if not sys.platform.startswith("win"):
    +        os.link(silo_data_path("rect2d.silo") , db)
    +    else:
    +        shutil.copyfile(silo_data_path("rect2d.silo") , db)
    +
    +    ReOpenDatabase(db)
    +    ResetView()
    +    Test("reopen_4_01")
    +
    +    DeleteAllPlots()
    +    # Delete the file
    +    try:
    +        os.unlink(db)
    +    except:
    +        # Ignore any exceptions
    +        pass
    +
    +
    +#
    +# Test that expressions are not lost after reopening a file when there
    +# are multiple windows.
    +#
    +def test5():
    +    TestSection("Testing reopen/expressions with multiple windows")
    +    db = silo_data_path("curv3d.silo")
    +    AddWindow()
    +    SetActiveWindow(1)
    +    OpenDatabase(db)
    +    TestExpressions("reopen_5_00")
    +
    +    # See if the expressions are right after reopening.
    +    ReOpenDatabase(db)
    +    TestExpressions("reopen_5_01")
    +
    +    # Delete the window that we added.
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +    CloseDatabase(db)
    +
    +#
    +# Test that time sliders are shortened when we reopen an MT database
    +# that has had time states removed.
    +#
    +def test6():
    +    TestSection("Testing reopen at an invalid time state")
    +    RemoveAllSiloAndVisItFiles()
    +
    +    # Make sure that there is no open database.
    +    TestLength("reopen_6_00")
    +
    +    # Create a short MT file.
    +    db, files = CreateMTFile("", 0, (10. / 71.) * 100.)
    +
    +    # Create a plot and make sure its database has the right number
    +    # of time states.
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    ResetView()
    +    Test("reopen_6_01")
    +    TestLength("reopen_6_02")
    +
    +    # Make a copy of the first window.
    +    CloneWindow()
    +    DrawPlots()
    +    Test("reopen_6_03")
    +    TestLength("reopen_6_04")
    +    SetActiveWindow(1)
    +
    +    # Delete the last few time states
    +    nStates = len(files)
    +    for f in files[-5:]:
    +        try:
    +            os.unlink(f)
    +        except:
    +            print("Could not delete %s" % f, file=sys.stderr)
    +
    +    # Change to a time state that we deleted. This should put the plot
    +    # in the error state and we should get an error message.
    +    SetTimeSliderState(nStates - 2)
    +    Test("reopen_6_05")
    +    TestText("reopen_6_06", GetLastError())
    +
    +    # Do the same thing in window 2 so we can check leter if reopen
    +    # causes the time slider, etc to be corrected.
    +    SetActiveWindow(2)
    +    SetTimeSliderState(nStates - 2)
    +    SetActiveWindow(1)
    +
    +    # Reopen the database. This should pick up that the database has
    +    # fewer time states and should update the time slider so it is
    +    # in bounds. The compute engine also should not crash.
    +    ReOpenDatabase(db)
    +    DrawPlots()
    +    Test("reopen_6_07")
    +    TestLength("reopen_6_08")
    +
    +    # See if we're at the right time state in window 2 too.
    +    SetActiveWindow(2)
    +    DrawPlots()
    +    Test("reopen_6_09")
    +    TestLength("reopen_6_10")
    +    DeleteWindow()
    +
    +    # Delete all of the plots in window 1 and close the database.
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    # Delete the last few files.
    +    DestroyMTFile(0, db)
    +
    +
    +#
    +# Test reopening a database that has been removed from disk.
    +#
    +def test7():
    +    TestSection("Testing reopen on a deleted file")
    +    # Link a file from the data directory to the current directory.
    +    db = "reopen_globe.silo"
    +    if not sys.platform.startswith("win"):
    +        os.link(silo_data_path("globe.silo") , db)
    +    else:
    +        shutil.copyfile(silo_data_path("globe.silo") , db)
    +
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "t")
    +    DrawPlots()
    +    Test("reopen_7_00")
    +
    +    # Remove the file and make sure that we can't reopen it.
    +    RemoveAllSiloAndVisItFiles()
    +    if ReOpenDatabase(db):
    +        s = "VisIt was able to reopen " + db
    +    else:
    +        s = "VisIt was *NOT* able to reopen " + db + "!"
    +    TestText("reopen_7_01", s)
    +
    +    # Do something that will make the plot be regenerated. Here we're changing
    +    # plot variables to force VisIt to recalculate the plot.
    +    ChangeActivePlotsVar("u")
    +    Test("reopen_7_02")
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +
    +#
    +# Run the tests
    +#
    +try:
    +    # Remove all .silo and .visit files that could be left over from
    +    # previous failed runs.
    +    RemoveAllSiloAndVisItFiles()
    +
    +    # Run the tests
    +    test1()
    +    test2()
    +    test3()
    +    test4()
    +    test5()
    +    test6()
    +    test7()
    +except:
    +    # If we got any kind of exception, make sure that we get rid of
    +    # all of the .silo and .visit files that might be left.
    +    RemoveAllSiloAndVisItFiles()
    +
    +    # Rethrow the exception so the test won't look like it passed if
    +    # it really didn't pass
    +    raise
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sami.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sami.html new file mode 100644 index 000000000..2220001fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sami.html @@ -0,0 +1,78 @@ + +Results for databases/sami.py + +

    Results of VisIt Regression Test - databases/sami

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sami_010.000.00
    sami_020.000.00
    sami_030.000.00
    sami_040.000.00
    sami_050.000.00
    sami_060.000.00
    sami_070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sami_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sami_py.html new file mode 100644 index 000000000..b764ddf46 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sami_py.html @@ -0,0 +1,80 @@ +databases/sami.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  sami.py 
    +#
    +#  Tests:      sami files 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       October 12, 2006 
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("SAMI")
    +
    +# test the main mesh
    +OpenDatabase(data_path("sami_test_data/bdw.sami"))
    +
    +AddPlot("Mesh","mesh")
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal = (0.433013, 0.5, -0.75)
    +v.viewUp = (-0.25, 0.866025, 0.433013)
    +SetView3D(v)
    +Test("sami_01")
    +
    +# test the material object
    +AddPlot("FilledBoundary","mat")
    +DrawPlots()
    +Test("sami_02")
    +DeleteAllPlots()
    +
    +# test a node set
    +AddPlot("Mesh","nodesets/sl5m")
    +DrawPlots()
    +Test("sami_03")
    +DeleteAllPlots()
    +
    +# test a couple of slide plots
    +AddPlot("Mesh","slide_0/sideB")
    +AddPlot("Mesh","slide_1/sideB")
    +AddPlot("Mesh","slide_2/sideA")
    +AddPlot("Mesh","slide_3/sideA")
    +DrawPlots()
    +Test("sami_04")
    +DeleteAllPlots()
    +
    +# test a multi-part sami file
    +OpenDatabase(data_path("sami_test_data/sample_sami.visit"))
    +
    +AddPlot("Pseudocolor","global_node_numbers")
    +DrawPlots()
    +ResetView()
    +v=GetView3D()
    +v.viewNormal = (-0.866025, 0, -0.5)
    +v.viewUp = (0, 1, 0)
    +SetView3D(v)
    +Test("sami_05")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("FilledBoundary","mat")
    +DrawPlots()
    +Test("sami_06")
    +
    +# turn off material 2 and domain 0
    +mat2SetId = -1
    +dom0SetId = -1
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "002":
    +        mat2SetId = i
    +    if silr.SetName(i) == "domain0":
    +        dom0SetId = i
    +silr.TurnOffSet(mat2SetId)
    +silr.TurnOffSet(dom0SetId)
    +SetPlotSILRestriction(silr)
    +DrawPlots()
    +Test("sami_07")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_samrai.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_samrai.html new file mode 100644 index 000000000..8ca9a6322 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_samrai.html @@ -0,0 +1,294 @@ + +Results for databases/samrai.py + +

    Results of VisIt Regression Test - databases/samrai

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    samrai_010.000.00
    samrai_020.000.00
    samrai_030.000.00
    samrai_040.000.00
    samrai_050.000.00
    samrai_060.000.00
    samrai_070.000.00
    samrai_080.000.00
    samrai_090.000.00
    samrai_100.000.00
    samrai_110.000.00
    samrai_120.000.00
    samrai_130.000.00
    samrai_140.000.00
    samrai_150.000.00
    samrai_160.000.00
    samrai_170.000.00
    samrai_180.000.00
    samrai_190.000.00
    samrai_200.000.00
    samrai_copper_matvf_010.000.00
    samrai_copper_matvf_020.000.00
    samrai_copper_matvf_030.000.00
    samrai_copper_matvf_040.000.00
    samrai_gold_val4mat_010.000.00
    samrai_gold_val4mat_020.000.00
    samrai_gold_val4mat_030.000.00
    samrai_gold_val4mat_040.000.00
    samrai_210.000.00
    samrai_220.000.00
    samrai_230.000.00
    samrai_240.000.00
    samrai_250.000.00
    samrai_260.000.00
    samrai_270 modifications totalling 0 lines
    samrai_280.000.00
    samrai_290 modifications totalling 0 lines
    samrai_300.000.00
    samrai_310 modifications totalling 0 lines
    samrai_330.000.00
    samrai_340.000.00
    samrai_350.000.00
    samrai_360.000.00
    samrai_370.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_samrai_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_samrai_py.html new file mode 100644 index 000000000..56f021844 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_samrai_py.html @@ -0,0 +1,413 @@ +databases/samrai.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  samrai.py 
    +#
    +#  Tests:      presence of HDF5
    +#              default plot 
    +#              sil changing with time
    +#              nested ghosting
    +#              zbuffer contention
    +#              2d ale data
    +#              operators - slice
    +#              selection - by level
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       November 12, 2003 
    +#
    +#  Modifications:
    +#    Brad Whitlock, Thu Mar 25 14:05:32 PST 2004
    +#    Added a check to see if plots at later time steps get the right metadata.
    +#
    +#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
    +#    Set the vector origin explicitly for some cases because I changed the
    +#    default to Tail.
    +#
    +#    Mark C. Miller, Thu Aug 19 16:22:49 PDT 2004
    +#    Turned off database info flag so future changes to samrai db plugin
    +#    are less likely to result in a need to update the baselines
    +#
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Mark C. Miller, Thu Feb 17 09:00:41 PST 2005
    +#    Added tests for variables defined on only some patches
    +#
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Mark C. Miller, Mon Nov  5 20:15:05 PST 2007
    +#    Added tests for sparse materials, expressions
    +#
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Brad Whitlock, Thu Feb 4 10:18:23 PDT 2010
    +#    Turn off sets by name instead of index since that can change.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use Subset plot for levels instead of FilledBoundary.
    +#
    +# ----------------------------------------------------------------------------
    +
    +LevelZero = 4 # set id for level 0
    +
    +# Turn off sets by name
    +def TurnOffSetsByName(silr, cat, names):
    +    sets = silr.SetsInCategory(cat)
    +    for s in sets:
    +        setname = silr.SetName(s)
    +        try:
    +            if setname in names:
    +                silr.TurnOffSet(s)
    +        except:
    +            if setname == names:
    +                silr.TurnOffSet(s)
    +
    +OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +
    +#
    +# just tests that default plot comes up automatically 
    +#
    +Test("samrai_01")
    +
    +#
    +# test exterenal face overlap
    +#
    +AddPlot("Pseudocolor","Primitive Var _number_0")
    +DrawPlots()
    +
    +v=GetView3D()
    +v.viewNormal=(0,0,-1)
    +SetView3D(v)
    +Test("samrai_02")
    +
    +v.viewNormal=(0.34202, 0, -0.939693)
    +SetView3D(v)
    +Test("samrai_03")
    +
    +#
    +# test level selection
    +#
    +silr=SILRestriction()
    +silr.TurnOffSet(LevelZero)
    +SetPlotSILRestriction(silr)
    +v.viewNormal=(0,0,1)
    +SetView3D(v)
    +Test("samrai_04")
    +
    +#
    +# test changing time steps (and sil)
    +#
    +TimeSliderNextState()
    +Test("samrai_05")
    +
    +# go back to begnning of time
    +SetTimeSliderState(0)
    +
    +#
    +# turn on level 0 so we can check that
    +# nested ghosting is working correctly when we slice
    +#
    +silr.TurnOnSet(LevelZero)
    +SetPlotSILRestriction(silr)
    +
    +#
    +# this test is here to remind us we have many internal faces 
    +#
    +v.viewNormal=(-0.537631, 0.372794, -0.756292)
    +v.focus=(15, 10, 10)
    +v.viewUp=(0.262569, 0.926375, 0.269976)
    +v.parallelScale=30
    +v.nearPlane=-10
    +v.farPlane=90
    +SetView3D(v)
    +Test("samrai_06")
    +
    +#
    +# add a mesh plot and slice operator
    +#
    +AddPlot("Mesh","amr_mesh")
    +sliceAtts=SliceAttributes()
    +sliceAtts.originType=sliceAtts.Percent
    +sliceAtts.originPercent=20
    +sliceAtts.axisType=sliceAtts.ZAxis
    +sliceAtts.project2d=1
    +SetDefaultOperatorOptions(sliceAtts)
    +AddOperator("Slice",1)
    +DrawPlots()
    +Test("samrai_07")
    +
    +#
    +# Animate forward 1 frame
    +#
    +TimeSliderNextState()
    +Test("samrai_08")
    +
    +#
    +# Now, go back 1 frame
    +#
    +SetTimeSliderState(0)
    +Test("samrai_09")
    +
    +#
    +# Tests for data from a 2d ale calculation.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("samrai_test_data/ale2d/dumps.visit"))
    +
    +ResetView()
    +
    +#
    +# Test the default plot.
    +#
    +Test("samrai_10")
    +
    +#
    +# Check the last frame.
    +#
    +TimeSliderNextState()
    +Test("samrai_11")
    +
    +#
    +# Test a vector plot.
    +#
    +AddPlot("Vector", "Velocity")
    +vectorAtts=VectorAttributes()
    +vectorAtts.scale = 0.02
    +vectorAtts.vectorOrigin = vectorAtts.Middle
    +vectorAtts.nVectors = 400*47
    +SetPlotOptions(vectorAtts)
    +DrawPlots()
    +
    +v = View2DAttributes()
    +v.windowCoords = (0.31, 0.58, 0.15, 0.36)
    +SetView2D(v)
    +Test("samrai_12")
    +
    +#
    +# Tests for material/species data 
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("samrai_test_data/mats-par3/dumps.visit"))
    +
    +ResetView()
    +
    +#
    +# test a material plot
    +#
    +AddPlot("FilledBoundary","materials")
    +DrawPlots()
    +Test("samrai_13")
    +
    +#
    +# test material plot with some patches off
    +#
    +silr=SILRestriction()
    +TurnOffSetsByName(silr, "patches", ("level0,patch0", "level0,patch1","level0,patch2","level0,patch3"))
    +SetPlotSILRestriction(silr)
    +Test("samrai_14")
    +
    +#
    +# now, turn off a material, too
    +#
    +silr.TurnOnAll()
    +TurnOffSetsByName(silr, "materials", "Copper")
    +SetPlotSILRestriction(silr)
    +Test("samrai_15")
    +
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +
    +#
    +# add a species plot
    +#
    +AddPlot("Pseudocolor","species")
    +DrawPlots()
    +
    +#
    +# Selectively turn off each species
    +#
    +silr.TurnOffSet(24)
    +SetPlotSILRestriction(silr)
    +Test("samrai_16")
    +
    +silr.TurnOffSet(25)
    +SetPlotSILRestriction(silr)
    +Test("samrai_17")
    +
    +silr.TurnOffSet(26)
    +SetPlotSILRestriction(silr)
    +Test("samrai_18")
    +
    +silr.TurnOffSet(27)
    +SetPlotSILRestriction(silr)
    +Test("samrai_19")
    +
    +silr.TurnOffSet(28)
    +SetPlotSILRestriction(silr)
    +Test("samrai_20")
    +
    +DeleteAllPlots()
    +
    +# test matvf exprs
    +DefineScalarExpression("copper_vf",'matvf(materials,"Copper")')
    +AddPlot("Pseudocolor","copper_vf")
    +DrawPlots()
    +patts = PseudocolorAttributes()
    +Test("samrai_copper_matvf_01")
    +patts.centering = patts.Nodal  # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_copper_matvf_02")
    +patts.centering = patts.Zonal # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_copper_matvf_03")
    +patts.centering = patts.Natural # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_copper_matvf_04")
    +
    +DeleteAllPlots()
    +
    +DefineScalarExpression("gold_den",'val4mat(Density,"Gold")')
    +AddPlot("Pseudocolor","gold_den")
    +DrawPlots()
    +patts = PseudocolorAttributes()
    +Test("samrai_gold_val4mat_01")
    +patts.centering = patts.Nodal  # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_gold_val4mat_02")
    +patts.centering = patts.Zonal # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_gold_val4mat_03")
    +patts.centering = patts.Natural # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_gold_val4mat_04")
    +
    +DeleteAllPlots()
    +
    +#
    +# Open a new database that has levels that change over time so we can test
    +# that plots get the right metadata and SIL as time advances.
    +#
    +OpenDatabase(data_path("samrai_test_data/front/dumps.visit"))
    +
    +# Get rid of the default plot
    +DeleteAllPlots()
    +AddPlot("Subset", "levels")
    +DrawPlots()
    +ResetView()
    +Test("samrai_21")
    +
    +# Go to the next time state. This used to cause an InvalidIndexException.
    +TimeSliderNextState()
    +Test("samrai_22")
    +
    +#
    +# Test a database where some variables are not defined on all patches
    +#
    +DeleteAllPlots()
    +OpenDatabase(data_path("samrai_test_data/viz_2d/dumps.visit"))
    +
    +AddPlot("Pseudocolor", "Function_0") # only defined on some patches
    +AddPlot("Pseudocolor", "Function_1") # only defined on some other patches
    +DrawPlots()
    +Test("samrai_23")
    +
    +#
    +# Test a samrai database with sparse material representation
    +#
    +DeleteAllPlots()
    +OpenDatabase(data_path("samrai_test_data/sparse_mats/summary.samrai"))
    +
    +AddPlot("Pseudocolor", "energy")
    +DrawPlots()
    +Test("samrai_24")
    +
    +#
    +#  Zoom into a region where there is mixing
    +#
    +v=GetView2D()
    +v.windowCoords=(-0.296975, -0.223086, 0.0437891, 0.120943)
    +SetView2D(v)
    +DrawPlots()
    +Test("samrai_25")
    +
    +#
    +# Turn off different materials and see what we get for the PC plot
    +# and zone picks
    +#
    +silr = SILRestriction()
    +j = 0
    +for k1 in silr.SetsInCategory("materials"):
    +    i = 1
    +    for k2 in silr.SetsInCategory("materials"):
    +        if silr.SetName(k2) == "material_%d"%(j+1):
    +            silr.TurnOffSet(k2)
    +        else:
    +            silr.TurnOnSet(k2)
    +        i = i + 1
    +    SetPlotSILRestriction(silr)
    +    DrawPlots()
    +    Test("samrai_%d"%(26+2*j))
    +    PickByZone(247,15)
    +    TestText("samrai_%d"%(26+2*j+1),GetPickOutput())
    +    j = j + 1
    +
    +#
    +# Test some expressions from the samrai database 
    +#
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","von_mises_stress")
    +DrawPlots()
    +Test("samrai_33")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","speed")
    +DrawPlots()
    +Test("samrai_34")
    +
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("samrai_test_data/sparse_mats/summary.samrai"))
    +OpenDatabase(data_path("samrai_test_data/curv_bnd_ghost/dumps.visit"))
    +s = GetPlotOptions()
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (100,100,100,255)
    +SetPlotOptions(s)
    +AddPlot("Pseudocolor","Y_01")
    +DrawPlots()
    +Test("samrai_35")
    +
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "level0,patch7":
    +        silr.TurnOffSet(i)
    +        break
    +SetPlotSILRestriction(silr)
    +Test("samrai_36")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("samrai_test_data/curv_bnd_ghost/dumps.visit"))
    +OpenDatabase(data_path("samrai_test_data/matghosts_fullzonal/dumps.visit"))
    +s = GetPlotOptions()
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (100,100,100,255)
    +SetPlotOptions(s)
    +AddPlot("FilledBoundary", "materials")
    +DrawPlots()
    +silr = SILRestriction()
    +silr.TurnOffSet(30)
    +SetPlotSILRestriction(silr)
    +Test("samrai_37")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_scale_mesh.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_scale_mesh.html new file mode 100644 index 000000000..ac1b79c78 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_scale_mesh.html @@ -0,0 +1,42 @@ + +Results for databases/scale_mesh.py + +

    Results of VisIt Regression Test - databases/scale_mesh

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    scale_mesh010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_scale_mesh_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_scale_mesh_py.html new file mode 100644 index 000000000..d9d63f431 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_scale_mesh_py.html @@ -0,0 +1,28 @@ +databases/scale_mesh.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scale_mesh.py
    +#
    +#  Purpose:    Tests whether or not we try to scale a mesh when only one
    +#              of its dimensions are out of whack (we shouldn't).
    +#
    +#  Programmer: Hank Childs
    +#  Date:       April 22, 2004
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# Create a Pseudocolor plot of wave by opening it up at a late time state.
    +OpenDatabase(data_path("vtk_test_data/near_planar.vtk"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +DrawPlots()
    +
    +# Set the view.
    +v0 = GetView3D()
    +v0.viewNormal = (-0.661743, 0.517608, 0.542382)
    +SetView3D(v0)
    +Test("scale_mesh01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_shapefile.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_shapefile.html new file mode 100644 index 000000000..3a5cc2e89 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_shapefile.html @@ -0,0 +1,189 @@ + +Results for databases/shapefile.py + +

    Results of VisIt Regression Test - databases/shapefile

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Test reading a shapefile that contains points
    shapefile_0_000.000.00
    shapefile_0_010.000.00
    shapefile_0_020.000.00
    shapefile_0_030.000.00
    Test reading a shapefile that contains polylines
    shapefile_1_000.000.00
    shapefile_1_010.000.00
    shapefile_1_020.000.00
    Test reading shapefiles that contain polygons
    shapefile_2_000.000.00
    shapefile_2_010.000.00
    shapefile_2_020.000.00
    shapefile_2_030.000.00
    shapefile_2_040.000.00
    shapefile_2_050.000.00
    shapefile_2_060.000.00
    shapefile_2_070.000.00
    Test multiple files for showing different features
    shapefile_3_000.000.00
    shapefile_3_010.000.00
    shapefile_3_020.000.00
    Test a .visit file of shapefiles
    shapefile_4_000.180.03
    shapefile_4_010.120.05
    shapefile_4_020.330.11
    shapefile_4_030.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_shapefile_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_shapefile_py.html new file mode 100644 index 000000000..e04979617 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_shapefile_py.html @@ -0,0 +1,236 @@ +databases/shapefile.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  shapefile.py
    +#
    +#  Tests:      mesh      - 2D polydata, single domain
    +#              plots     - Pseudocolor, Mesh, Subset
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Mar 28 11:06:05 PDT 2005
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Test a file that contains points.
    +#
    +def test0():
    +    TestSection("Test reading a shapefile that contains points")
    +
    +    db = data_path("shapefile_test_data/m195mbsp/m195mbsp.shp")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "point")
    +    m = MeshAttributes()
    +    m.pointType = m.Box
    +    m.pointSize = 2000
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("shapefile_0_00")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "DEPTH_M")
    +    p = PseudocolorAttributes()
    +    p.pointType = p.Point # hack -- remove this someday
    +    p.pointSizePixels = 5
    +    SetPlotOptions(p)
    +    DrawPlots()
    +    Test("shapefile_0_01")
    +
    +    ChangeActivePlotsVar("LONGITUDE8")
    +    Test("shapefile_0_02")
    +    ChangeActivePlotsVar("LATITUDE83")
    +    Test("shapefile_0_03")
    +    DeleteActivePlots()
    +    CloseDatabase(db)
    +
    +#
    +# Test a file that contains polylines.
    +#
    +def test1():
    +    TestSection("Test reading a shapefile that contains polylines")
    +    db = data_path("shapefile_test_data/morrison/499071-HP.shp")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "polyline")
    +    DrawPlots()
    +    Test("shapefile_1_00")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "TPMAJOR_2")
    +    DrawPlots()
    +    Test("shapefile_1_01")
    +
    +    ChangeActivePlotsVar("RWE_INDEX")
    +    Test("shapefile_1_02")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(db)
    +
    +#
    +# Test a file that has polygons.
    +#
    +def test2():
    +    TestSection("Test reading shapefiles that contain polygons")
    +    db = data_path("shapefile_test_data/west/states.shp")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "polygon")
    +    DrawPlots()
    +    ResetView()
    +    Test("shapefile_2_00")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "AVG_SALE87")
    +    DrawPlots()
    +    Test("shapefile_2_01")
    +
    +    ChangeActivePlotsVar("MEDIANRENT")
    +    Test("shapefile_2_02")
    +    DeleteActivePlots()
    +    CloseDatabase(db)
    +
    +    # Look at another file.
    +    db = data_path("shapefile_test_data/prism0p020/prism0p020.shp")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "polygon")
    +    DrawPlots()
    +    Test("shapefile_2_03")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "RANGE")
    +    DrawPlots()
    +    Test("shapefile_2_04")
    +
    +    # Zoom in on some interesting areas
    +    v = View2DAttributes()
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.windowCoords = (-124.76, -118.94, 43.9999, 49.3856)
    +    SetView2D(v)
    +    Test("shapefile_2_05")
    +
    +    v.windowCoords = (-78.596, -74.3052, 36.34, 40.2596)
    +    SetView2D(v)
    +    Test("shapefile_2_06")
    +
    +    v.windowCoords = (-83.2497, -79.3216, 24.3312, 29.1338)
    +    SetView2D(v)
    +    Test("shapefile_2_07")
    +    ResetView()
    +    DeleteActivePlots()
    +    CloseDatabase(db)
    +
    +#
    +# Test multiple plots showing different features.
    +#
    +def test3():
    +    TestSection("Test multiple files for showing different features")
    +    dbs = (data_path("shapefile_test_data/alameda/tgr06001lkA.shp"),
    +           data_path("shapefile_test_data/alameda/tgr06001cty00.shp"),
    +           data_path("shapefile_test_data/alameda/tgr06001wat.shp"),
    +           data_path("shapefile_test_data/alameda/tgr06001lkH.shp"))
    +    # Put the roads on.
    +    OpenDatabase(dbs[0])
    +    AddPlot("Mesh", "polyline")
    +    g = 180
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (g,g,g,255)
    +    m.legendFlag = 0
    +    SetPlotOptions(m)
    +    ResetView()
    +    DrawPlots()
    +
    +    # Put the county outline on.
    +    OpenDatabase(dbs[1])
    +    AddPlot("Mesh", "polygon")
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (255,0,0,255)
    +    m.lineWidth = 1
    +    m.legendFlag = 0
    +    SetPlotOptions(m)
    +    DrawPlots()
    +
    +    # Put the bodies of water on.
    +    OpenDatabase(dbs[2])
    +    AddPlot("Mesh", "polygon")
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (0,0,255,255)
    +    m.lineWidth = 1
    +    m.legendFlag = 0
    +    SetPlotOptions(m)
    +    DrawPlots()
    +
    +    # Put the streams on.
    +    OpenDatabase(dbs[3])
    +    AddPlot("Mesh", "polyline")
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (150,150,255,255)
    +    m.legendFlag = 0
    +    SetPlotOptions(m)
    +    DrawPlots()
    +
    +    Test("shapefile_3_00")
    +
    +    # Zoom in some
    +    v = View2DAttributes()
    +    v.windowCoords = (-121.845, -121.681, 37.608, 37.775)
    +    SetView2D(v)
    +    Test("shapefile_3_01")
    +
    +    # Zoom in even more
    +    v.windowCoords = (-121.763, -121.718, 37.6533, 37.6983)
    +    SetView2D(v)
    +    Test("shapefile_3_02")
    +
    +    # Clean up
    +    DeleteAllPlots()
    +    for db in dbs:
    +        CloseDatabase(db)
    +
    +#
    +# Test a .visit file of shapefiles
    +#
    +def test4():
    +    TestSection("Test a .visit file of shapefiles")
    +    db = data_path("shapefile_test_data/bayarearoads/roads.visit")
    +    OpenDatabase(db)
    +    AddPlot("Subset", "blocks")
    +    DrawPlots()
    +    ResetView()
    +    Test("shapefile_4_00")
    +
    +    # Zoom in a little
    +    v = View2DAttributes()
    +    v.windowCoords = (-122.614, -121.92, 37.3495, 37.9982)
    +    SetView2D(v)
    +    Test("shapefile_4_01")
    +
    +    # Zoom in more
    +    v.windowCoords = (-122.522, -122.362, 37.7017, 37.8424)
    +    SetView2D(v)
    +    Test("shapefile_4_02")
    +
    +    # Zoom in more still
    +    v.windowCoords = (-122.488, -122.445, 37.7816, 37.825)
    +    SetView2D(v)
    +    Test("shapefile_4_03")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(db)
    +
    +#
    +# Run the tests.
    +#
    +test0()
    +test1()
    +test2()
    +test3()
    +test4()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo.html new file mode 100644 index 000000000..2de91b755 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo.html @@ -0,0 +1,707 @@ + +Results for databases/silo.py + +

    Results of VisIt Regression Test - databases/silo

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    silo_010.000.00
    silo_020.000.00
    silo_030.000.00
    silo_040.000.00
    silo_050.000.00
    silo_060.000.00
    silo_070.000.00
    silo_080.000.00
    silo_090.000.00
    silo_100.000.00
    silo_110.000.00
    silo_120.000.00
    silo_130.000.00
    silo_140.000.00
    silo_150.000.00
    silo_160.000.00
    silo_170.000.00
    silo_180.000.00
    silo_200.000.00
    silo_210.000.00
    silo_220.000.00
    silo_230.000.00
    silo_240.000.00
    silo_250.000.00
    silo_260.000.00
    silo_270.000.00
    silo_280.000.00
    silo_290 modifications totalling 0 lines
    silo_300.000.00
    silo_310.000.00
    silo_320.000.00
    silo_330.000.00
    silo_340.000.00
    silo_350.000.00
    silo_360.000.00
    silo_370.000.00
    silo_380.000.00
    silo_390.000.00
    Silo AMR w/Mrgtrees
    silo_400.000.00
    silo_410.320.32
    silo_420.000.00
    silo_430.000.00
    silo_440.000.00
    silo_450.000.00
    Variables defined on material subsets
    silo_460.000.00
    silo_470.000.00
    silo_480.000.00
    silo_490.000.00
    silo_500.000.00
    Various arbitrary polygonal/polyhedral meshes
    silo_510.000.00
    silo_520.000.00
    silo_530.000.00
    silo_540.000.00
    silo_550.000.00
    silo_560.000.00
    silo_570.000.00
    silo_580.000.00
    silo_590.000.00
    silo_600.000.00
    silo_610.000.00
    silo_620.000.00
    silo_630.000.00
    silo_640.000.00
    silo_650.000.00
    silo_660.000.00
    silo_670.000.00
    silo_680.000.00
    silo_690.000.00
    silo_700.000.00
    silo_710.000.00
    silo_720.000.00
    silo_730.000.00
    silo_740.000.00
    silo_750.000.00
    silo_760.000.00
    silo_770.000.00
    silo_780.000.00
    silo_790.000.00
    silo_800.000.00
    silo_810.000.00
    silo_820.000.00
    silo_830.000.00
    silo_840.000.00
    silo_850.000.00
    silo_860.000.00
    silo_870.000.00
    silo_880.000.00
    silo_890.000.00
    silo_900.000.00
    silo_910.000.00
    silo_920.000.00
    silo_930.000.00
    silo_940.000.00
    silo_950.000.00
    Scalar and Vector ASCII Label Plots
    silo_960.000.00
    silo_970.000.00
    Curve with polar coordinates
    silo_980.000.00
    ghost_zone/node_labels
    silo_990.000.00
    silo_1000.000.00
    silo_1010.000.00
    silo_1020.000.00
    Curvilinear (quad) surfaces in 3D
    silo_curvilinear_3d_surface_00.000.00
    silo_curvilinear_3d_surface_10.000.00
    silo_curvilinear_3d_surface_20.000.00
    silo_curvilinear_3d_surface_30.000.00
    silo_curvilinear_3d_surface_40.000.00
    silo_curvilinear_3d_surface_50.000.00
    silo_curvilinear_3d_surface_60.000.00
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_altdriver.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_altdriver.html new file mode 100644 index 000000000..67d470569 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_altdriver.html @@ -0,0 +1,705 @@ + +Results for databases/silo_altdriver.py + +

    Results of VisIt Regression Test - databases/silo_altdriver

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    silo_010.000.00
    silo_020.000.00
    silo_030.000.00
    silo_040.000.00
    silo_050.000.00
    silo_060.000.00
    silo_070.000.00
    silo_080.000.00
    silo_090.000.00
    silo_100.000.00
    silo_110.000.00
    silo_120.000.00
    silo_130.000.00
    silo_140.000.00
    silo_150.000.00
    silo_160.000.00
    silo_170.000.00
    silo_180.000.00
    silo_200.000.00
    silo_210.000.00
    silo_220.000.00
    silo_230.000.00
    silo_240.000.00
    silo_250.000.00
    silo_260.000.00
    silo_270.000.00
    silo_280.000.00
    silo_290 modifications totalling 0 lines
    silo_300.000.00
    silo_310.000.00
    silo_320.000.00
    silo_330.000.00
    silo_340.000.00
    silo_350.000.00
    silo_360.000.00
    silo_370.000.00
    silo_380.000.00
    silo_390.000.00
    Silo AMR w/Mrgtrees
    silo_400.000.00
    silo_410.320.32
    silo_420.000.00
    silo_430.000.00
    silo_440.000.00
    silo_450.000.00
    Variables defined on material subsets
    silo_460.000.00
    silo_470.000.00
    silo_480.000.00
    silo_490.000.00
    silo_500.000.00
    Various arbitrary polygonal/polyhedral meshes
    silo_510.000.00
    silo_520.000.00
    silo_530.000.00
    silo_540.000.00
    silo_550.000.00
    silo_560.000.00
    silo_570.000.00
    silo_580.000.00
    silo_590.000.00
    silo_600.000.00
    silo_610.000.00
    silo_620.000.00
    silo_630.000.00
    silo_640.000.00
    silo_650.000.00
    silo_660.000.00
    silo_670.000.00
    silo_680.000.00
    silo_690.000.00
    silo_700.000.00
    silo_710.000.00
    silo_720.000.00
    silo_730.000.00
    silo_740.000.00
    silo_750.000.00
    silo_760.000.00
    silo_770.000.00
    silo_780.000.00
    silo_790.000.00
    silo_800.000.00
    silo_810.000.00
    silo_820.000.00
    silo_830.000.00
    silo_840.000.00
    silo_850.000.00
    silo_860.000.00
    silo_870.000.00
    silo_880.000.00
    silo_890.000.00
    silo_900.000.00
    silo_910.000.00
    silo_920.000.00
    silo_930.000.00
    silo_940.000.00
    silo_950.000.00
    Scalar and Vector ASCII Label Plots
    silo_960.000.00
    silo_970.000.00
    Curve with polar coordinates
    silo_980.000.00
    ghost_zone/node_labels
    silo_990.000.00
    silo_1000.000.00
    silo_1010.000.00
    silo_1020.000.00
    Curvilinear (quad) surfaces in 3D
    silo_curvilinear_3d_surface_00.000.00
    silo_curvilinear_3d_surface_10.000.00
    silo_curvilinear_3d_surface_20.000.00
    silo_curvilinear_3d_surface_30.000.00
    silo_curvilinear_3d_surface_40.000.00
    silo_curvilinear_3d_surface_50.000.00
    silo_curvilinear_3d_surface_60.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_altdriver_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_altdriver_py.html new file mode 100644 index 000000000..059f2016b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_altdriver_py.html @@ -0,0 +1,21 @@ +databases/silo_altdriver.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  silo_altdriver
    +#
    +#  Tests:      Runs the silo.py test using the 'other' driver. If silo.py
    +#              was run on PDB driver, this will run them on HDF5 driver and
    +#              vice versa.
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       25Jan10
    +#
    +# ----------------------------------------------------------------------------
    +
    +if TestEnv.params["silo_mode"] == "pdb":
    +    TestEnv.params["silo_mode"] = "hdf5"
    +else:
    +    TestEnv.params["silo_mode"] = "pdb"
    +
    +Source(tests_path("databases","silo.py"))
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_datatypes.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_datatypes.html new file mode 100644 index 000000000..4d21561cd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_datatypes.html @@ -0,0 +1,79 @@ + +Results for databases/silo_datatypes.py + +

    Results of VisIt Regression Test - databases/silo_datatypes

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Silo Data Types
    silo_datatypes_quad_fnvar0.000.00
    silo_datatypes_quad_fzvar0.000.00
    silo_datatypes_ucd_fnvar0.000.00
    silo_datatypes_ucd_fzvar0.000.00
    silo_datatypes_diffs_hdf5_fsoff0 modifications totalling 0 lines
    silo_datatypes_diffs_hdf5_fson0 modifications totalling 0 lines
    silo_datatypes_diffs_pdb_fsoff0 modifications totalling 0 lines
    silo_datatypes_diffs_pdb_fson0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_datatypes_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_datatypes_py.html new file mode 100644 index 000000000..d17b0e36c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_datatypes_py.html @@ -0,0 +1,152 @@ +databases/silo_datatypes.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  silo_datatypes.py 
    +#
    +#  Tests:      All varieties of datatypes, centering, variable types,
    +#              meshtypes and force-single mode. 
    +#
    +#  Programmer: Mark C. Miller, Thu Jul 15 14:42:12 PDT 2010
    +#
    +#  Modifications:
    +#    Mark C. Miller, Tue Jul 20 19:26:04 PDT 2010
    +#    Adjusted names of temporary output files so they don't stomp on each
    +#    other.
    +#
    +#    Mark C. Miller, Wed Jul 21 08:51:30 PDT 2010
    +#    I side-stepped around a subtle problem with long long data from PDB.
    +#    Turns out on alastor where tests are being run as of July, 2010, sizeof
    +#    long is 8 and that is the same as size of long long. On the HDF5 driver,
    +#    if it reads integer data of N bytes, it will put it into the smallest
    +#    native type that fits. So, when it reads long long data of 8 bytes
    +#    but discovers a native long on the machine where the data is being read
    +#    is 8 bytes, it returns long instead. So, HDF5 driver never returns
    +#    a type of vtkLongLongArray. But, PDB driver does. And, for some reason
    +#    that one single case is getting handled subtly wrong. Its data extents
    +#    wind up getting set to [0,1] (which I assume is some sort of default).
    +#    So, the plot looks bad. So, here, in that case, I manually set the
    +#    extents and get around this problem. I am thinking there is a VTK
    +#    bug in computing the data extents for vtkLongLongArray type. But, thats
    +#    just a guess.
    +#
    +#    Mark C. Miller, Mon Jul 26 17:08:59 PDT 2010
    +#    Override pass/fail status for long long data until we switch to silo-4.8
    +#
    +#    Mark C. Miller, Thu Sep 23 21:23:42 PDT 2010
    +#    Remove override of pass/fail for long long data since now using silo-4.8
    +#
    +#    Eric Brugger, Mon Sep 26 11:35:01 PDT 2022
    +#    Changed use of test_root_path to more appropriate test_baseline_path.
    +#
    +# ----------------------------------------------------------------------------
    +TurnOffAllAnnotations() # defines global object 'a'
    +
    +#
    +# We do this quick open and immediate close because one cannot
    +# set FileOptions for a plugin type without having already opened
    +# at least one file of that type.
    +#
    +dummydb = silo_data_path("one_quad.silo")
    +OpenDatabase(dummydb)
    +CloseDatabase(dummydb)
    +
    +def SetForceSingle(val):
    +    # Turn off force single precision for this test
    +    # Note: We can't successfully do that until we open some database
    +    readOptions=GetDefaultFileOpenOptions("Silo")
    +    if val == "on":
    +        readOptions["Force Single"] = 1
    +    else:
    +        readOptions["Force Single"] = 0
    +    SetDefaultFileOpenOptions("Silo", readOptions)
    +
    +#
    +# Test reading various datatypes from Silo
    +#
    +TestSection("Silo Data Types")
    +DeleteAllPlots()
    +mtypes=("quad","ucd")
    +dtypes=("c","s","i","l","L","f","d")
    +vtypes=("n","z")
    +
    +#
    +# Test 'baseline' for node/zone centered quad/ucd from float data
    +#
    +backup = GetSaveWindowAttributes()
    +for mt in mtypes:
    +    dbname=silo_data_path("specmix_%s.silo" % mt)
    +    OpenDatabase(dbname)
    +    for v in vtypes:
    +        varname="%s%svar"%("f",v) # using only 'f'loat for baseline
    +        AddPlot("Pseudocolor",varname)
    +        DrawPlots()
    +        ResetView()
    +        Test("silo_datatypes_%s_%s"%(mt,varname))
    +        DeleteAllPlots()
    +    CloseDatabase(dbname)
    +
    +# Build PC plot attributes to be used to set min/max
    +# Only necessary for long long case from PDB. Why?
    +pa = PseudocolorAttributes()
    +pa.minFlag = 1
    +pa.maxFlag = 1
    +pa.min = 0
    +pa.max = 20
    +
    +for path in ["silo_datatypes",
    +             pjoin("silo_datatypes","current"),
    +             pjoin("silo_datatypes","diff")]:
    +    if not os.path.isdir(path):
    +        os.mkdir(path)
    +for smode in ("hdf5", "pdb"):
    +    for fsmode in ("off", "on"): # force single modes
    +        SetForceSingle(fsmode)
    +        diffResults=""
    +        for mt in mtypes:
    +            dbname=silo_data_path("specmix_%s.silo" % mt )
    +            OpenDatabase(dbname)
    +            for v in vtypes:
    +                for d in dtypes:
    +                    varname="%s%svar"%(d,v)
    +                    fvarname="%s%svar"%("f",v)
    +                    filename="silo_datatypes_%s_fs%s_%s_%s"%(smode,fsmode,mt,varname)
    +                    AddPlot("Pseudocolor",varname)
    +                    if (smode == "pdb" and d == "L"):
    +                        if (v == "n"):
    +                            pa.max = 20
    +                        else:
    +                            pa.max = 19
    +                        SetPlotOptions(pa)
    +                    DrawPlots()
    +                    ResetView()
    +                    swa=SaveWindowAttributes()
    +                    swa.outputToCurrentDirectory = 0
    +                    swa.outputDirectory = pjoin("silo_datatypes","current")
    +                    swa.screenCapture=1
    +                    swa.family   = 0
    +                    swa.fileName = filename
    +                    swa.format   = swa.PNG
    +                    SetSaveWindowAttributes(swa)
    +                    SaveWindow()
    +                    DeleteAllPlots()
    +                    tPixs = pPixs = dPixs = 0
    +                    davg = 0.0
    +                    if TestEnv.params["use_pil"]:
    +                         file=filename
    +                         cur  = pjoin("silo_datatypes","current","%s.png" % filename)
    +                         diff = pjoin("silo_datatypes","diff","%s.png" % filename)
    +                         base = test_baseline_path("databases",
    +                                                   "silo_datatypes",
    +                                                   "silo_datatypes_%s_%s.png"%(mt,fvarname))
    +                         (tPixs, pPixs, dPixs, davg) = DiffUsingPIL(file, cur, diff, base, "")
    +                         result = "PASSED"
    +                         if (dPixs > 0 and davg > 1):
    +                             result = "FAILED, %f %f"%(dPixs,davg)
    +                         diffResults += "%s_%s:    %s\n"%(mt,varname,result)
    +            CloseDatabase(dbname)
    +        TestText("silo_datatypes_diffs_%s_fs%s"%(smode,fsmode),diffResults)
    +shutil.rmtree("silo_datatypes")
    +SetSaveWindowAttributes(backup)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_py.html new file mode 100644 index 000000000..05dc43aae --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_silo_py.html @@ -0,0 +1,764 @@ +databases/silo.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  silo.py
    +#
    +#  Tests:      multi-part silo files
    +#              operators - slice
    +#              operators - onion peel
    +#              selection - by domains
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       March 8, 2004
    +#
    +#  Defects:    4335/4337.
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Tue Mar  9 08:48:14 PST 2004
    +#    Turned off databaseInfo annotation, Used TurnOffDomains instead of
    +#    SIL sets to get correct domain turned off, reordered DrawPlots for
    +#    test 3 so that we get same results in parallel.  For OnionPeel, use
    +#    SetDefaultOperatorOptions so that options are applied.
    +#
    +#    Hank Childs, Thu Jun 24 09:59:12 PDT 2004
    +#    Add tests for quads that are stored as hexes in a ucd mesh. ['4335/'4337]
    +#
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Mark C. Miller, Tue Jun 28 17:28:56 PDT 2005
    +#    Added tests mimicing Ale3d's history variables
    +#
    +#    Mark C. Miller, Wed Dec 13 18:32:20 PST 2006
    +#    Added time invariant mesh tests
    +#
    +#    Mark C. Miller, Wed Feb  7 20:23:22 PST 2007
    +#    Modified code to set SIL Restriction for mesh1_dup to be independent
    +#    of the file structure. Added test for multivar that spans multiple
    +#    multimeshes; it should fail.
    +#
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Mark C. Miller, Thu Jan 22 16:27:54 PST 2009
    +#    Modified tests of defvars using mag and vec to make them less sensitive
    +#    to differences in platform. The mag test was computing a vector magnitude
    +#    whose range was very, very tiny. Switching that to sum fixes that
    +#    problem. The vector plot was simply generating way to many vectors that
    +#    were being drawn on top of each other. I changed it to use a moderately
    +#    large prime as the stride.
    +#
    +#    Mark C. Miller, Mon Sep 28 20:58:24 PDT 2009
    +#    Added tests for AMR data from Silo file using MRG Trees.
    +#
    +#    Tom Fogal, Wed Dec 16 13:11:19 MST 2009
    +#    Fixed a path to a data file.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Fri Jan 22 17:30:29 PST 2010
    +#    I replaced OpenDatabase with FindAnd... variant for largefile.silo
    +#    to deal with data we don't keep in repo.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Mark C. Miller, Tue Feb 28 00:36:09 PST 2012
    +#    Added a slew of tests for hybrid zoo and arbitrary polygonal/polyhedral
    +#    meshes and variables defined upon them.
    +#
    +#    Kathleen Biagas, Thurs May 23 14:09:15 MST 2013
    +#    Don't run certain tests on Windows that cause a crash.
    +#
    +#    Kathleen Biagas, Thurs Jun 6 11:04:13 PDT 2013
    +#    Re-enable tests 42,44, and 45 on Windows, now that crash has been fixed.
    +#
    +#    Edward Rusu, Tues Oct 2 8:20:24 PDT 2018
    +#    Added tests for ghost_zone/node_labels in the silo files.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Remove obsolete 'colorByMag' vector att with 'colorByMagnitude'.
    +#
    +#    Kathleen Biagas, Tue July 11, 2023
    +#    Don't allow tests using wave_1file.visit to run on Windows, as they
    +#    involve symlinks. Symink access on the testing machine is disallowed.
    +#
    +#    Kathleen Biagas, Fri July 28, 2023
    +#    Allow test_26 involving largefile.silo to run on Windows.
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOffAllAnnotations() # defines global object 'a'
    +
    +# Turn off sets by name
    +def TurnOffSetsByName(silr, cat, names):
    +    sets = silr.SetsInCategory(cat)
    +    for s in sets:
    +        setname = silr.SetName(s)
    +        try:
    +            if setname in names:
    +                silr.TurnOffSet(s)
    +        except:
    +            if setname == names:
    +                silr.TurnOffSet(s)
    +
    +OpenDatabase(silo_data_path("multipart_multi_ucd3d.silo"))
    +
    +
    +#
    +# Test simple read and display of a variable
    +#
    +AddPlot("Pseudocolor","d")
    +DrawPlots()
    +
    +v=GetView3D()
    +v.viewNormal=(-0.5, 0.296198, 0.813798)
    +SetView3D(v)
    +Test("silo_01")
    +
    +#
    +# Test an intercept slice (that can use
    +# spatial extents tree if we have it)
    +#
    +sliceAtts=SliceAttributes()
    +sliceAtts.originType=sliceAtts.Intercept
    +sliceAtts.originIntercept=5
    +sliceAtts.axisType=sliceAtts.ZAxis
    +sliceAtts.project2d=0
    +SetDefaultOperatorOptions(sliceAtts)
    +AddOperator("Slice",1)
    +DrawPlots()
    +Test("silo_02")
    +DeleteAllPlots()
    +
    +#
    +# test selection down to just 1 domain
    +#
    +AddPlot("Pseudocolor","u")
    +TurnDomainsOff()
    +TurnDomainsOn(("domain11"))
    +DrawPlots()
    +Test("silo_03")
    +DeleteAllPlots()
    +
    +#
    +# Test an onion peel
    +#
    +AddPlot("Pseudocolor","p")
    +op = OnionPeelAttributes()
    +op.categoryName = "domains"
    +op.subsetName = "domain11"
    +op.index = (5)
    +op.logical = 0
    +op.adjacencyType = op.Face
    +op.requestedLayer = 3
    +SetDefaultOperatorOptions(op)
    +AddOperator("OnionPeel")
    +DrawPlots()
    +Test("silo_04")
    +
    +# we just hide the plots to keep camera
    +HideActivePlots()
    +
    +
    +
    +
    +#
    +# Do some os work to create what VisIt will see as a
    +# 'virtual' database of multi-part silo files by
    +# creating appropriately named links
    +#
    +
    +#TODO BROKEN:
    +# Cyrus: I tried to change this, from prev code
    +# b/c symlinks won't work on Windows.
    +#
    +# also silo paths in multipart_multi_ucd3d, don't point to
    +# gorfo files,they won't work out of the data dir
    +# (and we shouldn't be modifying the data dir !)
    +
    +# KSB: Added copy of original file, and removed silo_data_path from
    +# shutil copy so that this will work.
    +# All the copies are made into the run_dir by default, which gets cleaned
    +# up unless --no-cleanup is used.
    +
    +# remove any gorfos
    +for f in glob.glob("gorfo_*"):
    +    os.remove(f)
    +
    +i = 0
    +
    +
    +for filename in glob.glob(silo_data_path("multipart_multi_ucd3d*.silo")):
    +    # copy the original file because the silo files have relatives paths
    +    shutil.copy(filename, os.path.basename(filename))
    +    if filename.endswith("multipart_multi_ucd3d.silo"):
    +        shutil.copy(filename,"gorfo_1000")
    +        shutil.copy(filename,"gorfo_2000")
    +        shutil.copy(filename,"gorfo_3000")
    +    else:
    +        shutil.copy(filename,"gorfo_1000.%d" %i)
    +        shutil.copy(filename,"gorfo_2000.%d" %i)
    +        shutil.copy(filename,"gorfo_3000.%d" %i)
    +    i = i + 1
    +
    +#
    +# Test opening a 'virtual' database of multi-part silo files
    +# at something other than its first timestep
    +#
    +OpenDatabase("gorfo_* database",1)
    +
    +AddPlot("Pseudocolor","d")
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +Test("silo_05")
    +
    +# go to the next frame
    +TimeSliderNextState()
    +Test("silo_06")
    +
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("ucd3d.silo"))
    +
    +AddPlot("Mesh", "exterior_faces")
    +DrawPlots()
    +Test("silo_07")
    +
    +AddOperator("Slice")
    +DrawPlots()
    +Test("silo_08")
    +
    +#
    +# Test something akin to Ale3d's history variables
    +# Note: time state 0 is purposely corrupted with
    +# all empty domains. So we go from 1 to end and
    +# back around to 1 purposely avoiding 0
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("hist_ucd3d_* database"),1)
    +
    +AddPlot("Pseudocolor","d_dup")
    +DrawPlots()
    +
    +#
    +# Build a sil restriction
    +#
    +silr=SILRestriction()
    +for i in silr.Wholes():
    +   if silr.SetName(i) == "mesh1_dup":
    +       silr.TurnOffSet(i+11)
    +       silr.TurnOffSet(i+12)
    +       silr.TurnOffSet(i+22)
    +       silr.TurnOffSet(i+23)
    +SetPlotSILRestriction(silr)
    +Test("silo_09")
    +
    +for i in range(TimeSliderGetNStates()-2):
    +    TimeSliderNextState()
    +    Test("silo_%02d"%(i+10))
    +TimeSliderSetState(1)
    +Test("silo_18")
    +
    +#
    +# Test defvar object
    +#
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +AddPlot("Pseudocolor","sum")
    +DrawPlots()
    +Test("silo_20")
    +
    +DeleteActivePlots()
    +AddPlot("Vector","vec")
    +vec = VectorAttributes()
    +vec.useStride = 1
    +vec.stride = 41
    +vec.colorByMagnitude = 0
    +SetPlotOptions(vec)
    +DrawPlots()
    +Test("silo_21")
    +
    +DeleteActivePlots()
    +AddPlot("Pseudocolor","nmats")
    +DrawPlots()
    +Test("silo_22")
    +
    +#
    +# Test curves from silo
    +#
    +DeleteAllPlots()
    +a=GetAnnotationAttributes()
    +a.axes2D.visible = 1
    +SetAnnotationAttributes(a)
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Curve","line")
    +curveAtts = CurveAttributes()
    +curveAtts.curveColorSource = curveAtts.Custom
    +curveAtts.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("silo_23")
    +
    +DeleteActivePlots()
    +AddPlot("Curve","wave")
    +curveAtts.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("silo_24")
    +
    +DeleteActivePlots()
    +AddPlot("Curve","log")
    +curveAtts.curveColor = (0, 0, 255, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("silo_25")
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +#
    +# Test objects existing past 2Gig limit in a >2 Gig file
    +# Large File Support. Because file is large, it is NOT
    +# part of the repo. We create a sym-link to it from the
    +# data dir.
    +#
    +
    +(err, dbname) = FindAndOpenDatabase("largefile.silo")
    +if (err != 1):
    +    AddSkipCase("silo_26")
    +    Test("silo_26")
    +else:
    +    AddPlot("Curve","sincurve")
    +    curveAtts.curveColor = (0, 255, 255, 255)
    +    SetPlotOptions(curveAtts)
    +    AddPlot("Curve","coscurve")
    +    curveAtts.curveColor = (255, 0, 255, 255)
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    Test("silo_26")
    +    DeleteAllPlots()
    +    CloseDatabase(dbname)
    +
    +#
    +# Test time invariant mesh
    +#
    +OpenDatabase(silo_data_path("multi_ucd3d_ti_* database"),2)
    +
    +AddPlot("Pseudocolor","d")
    +DrawPlots()
    +ResetView()
    +v=GetView3D()
    +v.viewNormal=(-0.5, 0.296198, 0.813798)
    +SetView3D(v)
    +silr=SILRestriction()
    +for i in range(1,36,2):
    +    silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +Test("silo_27")
    +TimeSliderNextState()
    +Test("silo_28")
    +
    +#
    +# Test that multivars that span multimeshes are correctly
    +# invalidated by VisIt
    +#
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_ucd3d_ti_* database"))
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor","d_split")
    +DrawPlots()
    +t = GetLastError()
    +TestText("silo_29", t)
    +
    +#
    +# Test that we get correct SIL behavior for a database
    +# with a varying SIL and TreatAllDBsAsTimeVarying turned
    +# on
    +#
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +OpenDatabase(silo_data_path("histne_ucd3d_* database"), 2)
    +
    +AddPlot("Pseudocolor", "d_dup")
    +DrawPlots()
    +Test("silo_30")
    +TimeSliderNextState()
    +Test("silo_31")
    +
    +SetTreatAllDBsAsTimeVarying(1)
    +TimeSliderNextState()
    +Test("silo_32")
    +TimeSliderNextState()
    +Test("silo_33")
    +TimeSliderPreviousState()
    +TimeSliderPreviousState()
    +TimeSliderPreviousState()
    +Test("silo_34")
    +
    +#
    +# Test a database with some odd multi-block structure
    +#
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("histne_ucd3d_* database"))
    +
    +SetTreatAllDBsAsTimeVarying(0)
    +OpenDatabase(data_path("silo_pdb_test_data/odd_multi.silo"))
    +
    +AddPlot("Pseudocolor","cyc_00000/den")
    +DrawPlots()
    +ResetView()
    +Test("silo_35")
    +
    +#
    +# Test a database in which all timesteps are in one file
    +#
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_pdb_test_data/odd_multi.silo"))
    +
    +if not sys.platform.startswith("win"):
    +    # files listed in the .visit file (eg wave_1file.silo:cycle_xxx)
    +    # are symlinks to wave_1file.silo and symlink access is disallowed
    +    # on the windows testing machine.
    +    OpenDatabase(silo_data_path("wave_1file.visit"))
    +
    +    AddPlot("Mesh","quadmesh")
    +    AddPlot("Pseudocolor","pressure")
    +    DrawPlots()
    +    ResetView()
    +    Test("silo_36")
    +    TimeSliderSetState(23)
    +    Test("silo_37")
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    Test("silo_38")
    +    TimeSliderPreviousState()
    +    TimeSliderPreviousState()
    +    TimeSliderPreviousState()
    +    TimeSliderPreviousState()
    +    TimeSliderPreviousState()
    +    TimeSliderPreviousState()
    +    Test("silo_39")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("wave_1file.visit"))
    +
    +TestSection("Silo AMR w/Mrgtrees")
    +TurnOffAllAnnotations()
    +OpenDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
    +
    +AddPlot("Mesh","amr_mesh_wmrgtree")
    +DrawPlots()
    +ResetView()
    +v=GetView2D()
    +v.windowCoords = (0.368424, 0.412063, 0.265434, 0.310012)
    +SetView2D(v)
    +Test("silo_40")
    +AddPlot("Pseudocolor","Density_wmrgtree")
    +DrawPlots()
    +Test("silo_41")
    +
    +silr=SILRestriction()
    +s = silr.SetsInCategory("levels")
    +TurnOffSetsByName(silr, "levels", "level2")
    +SetPlotSILRestriction(silr)
    +Test("silo_42")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
    +
    +OpenDatabase(data_path("silo_amr_test_data/amr3d_wmrgtree.silo"))
    +
    +AddPlot("Contour","foo_wmrgtree")
    +ca=ContourAttributes()
    +ca.contourValue = (60,)
    +ca.contourMethod = ca.Value
    +SetPlotOptions(ca)
    +DrawPlots()
    +ResetView()
    +v=GetView3D()
    +v.imagePan = (0.2066, 0.104372)
    +v.imageZoom = 6.03355
    +SetView3D(v)
    +Test("silo_43")
    +
    +silr=SILRestriction()
    +TurnOffSetsByName(silr, "levels", "level2")
    +SetPlotSILRestriction(silr)
    +Test("silo_44")
    +TurnOffSetsByName(silr, "levels", "level1")
    +SetPlotSILRestriction(silr)
    +Test("silo_45")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +TestSection("Variables defined on material subsets")
    +sa = SliceAttributes()
    +sa.originType = sa.Percent
    +sa.originPercent = 50
    +sa.axisType = sa.ZAxis
    +testNum = 46
    +for varname in ("p_on_mats_2","d_on_mats_1_3","m1vf_on_mats_1","m2vf_on_mats_2","m3vf_on_mats_3"):
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", varname)
    +    AddOperator("Slice")
    +    SetOperatorOptions(sa)
    +    DrawPlots()
    +    SetViewExtentsType("actual")
    +    ResetView()
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +TestSection("Various arbitrary polygonal/polyhedral meshes")
    +
    +ma = MeshAttributes()
    +ma.showInternal = 1
    +for meshname in ("2D/mesh1_zl1","2D/mesh1_zl2","2D/mesh1_phzl","2D/mesh1_phzl2", "2D/mesh1g_zl2"):
    +    DeleteAllPlots()
    +    AddPlot("Mesh", meshname)
    +    SetPlotOptions(ma)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.windowCoords=(-1, 10, -1, 2)
    +    SetView2D(v)
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +for meshname in ("2Dz/mesh1_zl1","2Dz/mesh1_zl2","2Dz/mesh1_phzl","2Dz/mesh1_phzl2", "2Dz/mesh1g_zl2"):
    +    DeleteAllPlots()
    +    AddPlot("Mesh", meshname)
    +    DrawPlots()
    +    ResetView()
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +ma = MeshAttributes()
    +ma.showInternal = 1
    +ma.opaqueMode = ma.On
    +for meshname in ("3D/mesh1", "3D/mesh2", "3D/mesh2g", "3D/mesh3", "3D/mesh3r"):
    +    DeleteAllPlots()
    +    AddPlot("Mesh", meshname)
    +    SetPlotOptions(ma)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.RotateAxis(1,-30)
    +    v.RotateAxis(0,20)
    +    SetView3D(v)
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +for varname in ("2D/n11", "2D/n12", "2D/n12g", "2D/n1phzl", "2D/n1phzl2",
    +                "2D/z11", "2D/z12", "2D/z12g", "2D/z1phzl", "2D/z1phzl2"):
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", varname)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.windowCoords=(-1, 10, -1, 2)
    +    SetView2D(v)
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +for varname in ("2Dz/n11", "2Dz/n12", "2Dz/n12g", "2Dz/n1phzl", "2Dz/n1phzl2",
    +                "2Dz/z11", "2Dz/z12", "2Dz/z12g", "2Dz/z1phzl", "2Dz/z1phzl2"):
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", varname)
    +    DrawPlots()
    +    ResetView()
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +for varname in ("3D/n1", "3D/n2", "3D/n2g", "3D/n3", "3D/n3r",
    +                "3D/z1", "3D/z2", "3D/z2g", "3D/z3", "3D/z3r"):
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", varname)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.RotateAxis(1,-30)
    +    v.RotateAxis(0,20)
    +    SetView3D(v)
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +TestSection("Scalar and Vector ASCII Label Plots")
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +AddPlot("Label", "ascii")
    +DrawPlots()
    +ResetView()
    +v = GetView2D()
    +v.windowCoords = (0.362263, 0.967737, -0.0277375, 0.577737)
    +SetView2D(v)
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +AddPlot("Label", "asciiw")
    +DrawPlots()
    +ResetView()
    +v = GetView2D()
    +v.windowCoords = (0.362263, 0.967737, -0.0277375, 0.577737)
    +SetView2D(v)
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("rect2d.silo"))
    +
    +TestSection("Curve with polar coordinates")
    +
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +AddPlot("Curve","circle")
    +curveAtts.curveColor = (255, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +ResetView()
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +TestSection("ghost_zone/node_labels")
    +
    +OpenDatabase(data_path("silo_ghost_test_data/specmix_quad.pdb"))
    +ResetView()
    +AddPlot("Subset", "Mesh_gnz")
    +AddPlot("Mesh", "Mesh_gnz")
    +DrawPlots()
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_ghost_test_data/specmix_quad.pdb"))
    +
    +OpenDatabase(data_path("silo_ghost_test_data/specmix_ucd.pdb"))
    +ResetView()
    +AddPlot("Subset", "Mesh_gnz")
    +AddPlot("Mesh", "Mesh_gnz")
    +DrawPlots()
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_ghost_test_data/specmix_ucd.pdb"))
    +
    +#
    +# Test the way silo reads in curve data with expressions
    +#
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +DefineCurveExpression("alias","wave")
    +DefineCurveExpression("waveSquared", "wave*wave")
    +ResetView()
    +
    +AddPlot("Curve","wave")
    +curveAtts.curveColor = (255, 135, 0, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve","waveSquared")
    +curveAtts.curveColor = (255, 0, 135, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +DeleteAllPlots()
    +
    +AddPlot("Curve","alias")
    +curveAtts.curveColor = (168, 168, 168, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +def curvilinear_3d_surface():
    +    """Curvilinear (quad) surfaces in 3D"""
    +
    +    OpenDatabase(silo_data_path("quad_disk.silo"))
    +
    +    AddPlot("Pseudocolor","sphElev_on_mesh_3d")
    +    ResetView()
    +    DrawPlots()
    +    v = GetView3D()
    +    v.RotateAxis(0,-20)
    +    v.RotateAxis(1,-30)
    +    SetView3D(v)
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor","sphElev_on_meshD_3d")
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    AddPlot("FilledBoundary", "mat_3d(mesh_3d)")
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    CloseDatabase(silo_data_path("quad_disk.silo"))
    +    OpenDatabase(silo_data_path("specmix_quad.silo"))
    +
    +    # Index select doesn't work quite right here
    +    AddPlot("Mesh","Mesh_3d")
    +    AddOperator("IndexSelect")
    +    idxsel = IndexSelectAttributes()
    +    idxsel.xMin = 5
    +    idxsel.xMax = 15
    +    SetOperatorOptions(idxsel)
    +    ResetView()
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor","p3d")
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor","u3d")
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    AddPlot("FilledBoundary", "Material_3d(Mesh_3d)")
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    CloseDatabase(silo_data_path("specmix_quad.silo"))
    +
    +curvilinear_3d_surface()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_singlemulti.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_singlemulti.html new file mode 100644 index 000000000..2d667950e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_singlemulti.html @@ -0,0 +1,76 @@ + +Results for databases/singlemulti.py + +

    Results of VisIt Regression Test - databases/singlemulti

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    singlemulti000.000.00
    singlemulti010 modifications totalling 0 lines
    singlemulti020.000.00
    singlemulti030 modifications totalling 0 lines
    singlemulti040.000.00
    singlemulti050 modifications totalling 0 lines
    singlemulti060.000.00
    singlemulti070 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_singlemulti_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_singlemulti_py.html new file mode 100644 index 000000000..fe9330d77 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_singlemulti_py.html @@ -0,0 +1,116 @@ +databases/singlemulti.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  singlemulti.py
    +#
    +#  Tests:      mesh      - 3D, curvilinear, single domain
    +#              plots     - Pseudocolor
    +#              databases - Silo
    +#
    +#  Purpose:    This test case tests the ability of VisIt to have single
    +#              time state files in the same window as multi time state
    +#              windows and do the right thing when changing time states.
    +#
    +#  Bugs:       '4011
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Mar 18 13:45:29 PST 2004
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    TestText(testname, s)
    +
    +# Create a Pseudocolor plot of wave by opening it up at a late time state.
    +OpenDatabase(silo_data_path("wave*.silo database"), 20)
    +
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +
    +# Set the view.
    +v0 = View3DAttributes()
    +v0.viewNormal = (-0.661743, 0.517608, 0.542382)
    +v0.focus = (5, 0.757692, 2.5)
    +v0.viewUp = (0.370798, 0.854716, -0.363277)
    +v0.viewAngle = 30
    +v0.parallelScale = 5.63924
    +v0.nearPlane = -11.2785
    +v0.farPlane = 11.2785
    +v0.imagePan = (0.00100868, 0.0454815)
    +v0.imageZoom = 1.17935
    +v0.perspective = 1
    +SetView3D(v0)
    +Test("singlemulti00")
    +
    +# Convert the WindowInformation to a string and use that as a test case.
    +# The WindowInformation contains the list of time sliders, the active time
    +# state, and the states for each time slider.
    +TestWindowInformation("singlemulti01")
    +
    +# Create a Pseudocolor plot of curv3d, a single time state database.
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleX = 0.5
    +t.scaleY = 0.5
    +t.scaleZ = 0.1667
    +t.doTranslate = 1
    +t.translateX = 5
    +t.translateY = 0
    +t.translateZ = -5
    +SetOperatorOptions(t)
    +DrawPlots()
    +
    +# Set the view again
    +v1 = View3DAttributes()
    +v1.viewNormal = (-0.661743, 0.517608, 0.542382)
    +v1.focus = (5, 1.25, 0)
    +v1.viewUp = (0.370798, 0.854716, -0.363277)
    +v1.viewAngle = 30
    +v1.parallelScale = 7.1807
    +v1.nearPlane = -14.3614
    +v1.farPlane = 14.3614
    +v1.imagePan = (0.00100868, 0.0454815)
    +v1.imageZoom = 1.17935
    +v1.perspective = 1
    +SetView3D(v1)
    +Test("singlemulti02")
    +
    +# Make sure there is still just one time slider.
    +TestWindowInformation("singlemulti03")
    +
    +# Go to the middle time slider state.
    +# Note: this div in python 2 returns int, but returns float in py3
    +SetTimeSliderState(int(TimeSliderGetNStates() / 2))
    +Test("singlemulti04")
    +# Check the time states
    +TestWindowInformation("singlemulti05")
    +
    +# Go to the last time slider state.
    +SetTimeSliderState(TimeSliderGetNStates() - 1)
    +Test("singlemulti06")
    +# Check the time states
    +TestWindowInformation("singlemulti07")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sw4.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sw4.html new file mode 100644 index 000000000..59fdb80d3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sw4.html @@ -0,0 +1,48 @@ + +Results for databases/sw4.py + +

    Results of VisIt Regression Test - databases/sw4

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sw4_000.000.00
    sw4_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sw4_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sw4_py.html new file mode 100644 index 000000000..3f79d47c0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_sw4_py.html @@ -0,0 +1,50 @@ +databases/sw4.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  SW4.py
    +#
    +#  Tests:      mesh      - 3D curvilinear, multi domain
    +#                        - 3D rectilinear, single domain
    +#              plots     - Pseudocolor
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Tue Jul 21 11:15:20 PDT 2020
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create a plot from a 3Dimg file.
    +OpenDatabase(data_path("sw4_test_data/berk.cycle=0000.p.3Dimg"))
    +AddPlot("Pseudocolor", "cp")
    +DrawPlots()
    +
    +# Set the view
    +v = View3DAttributes()
    +v.viewNormal = (-0.555957, 0.661021, -0.503948)
    +v.focus = (6000, 6000, 2220.93)
    +v.viewUp = (0.540018, -0.173664, -0.823542)
    +v.viewAngle = 30
    +v.parallelScale = 8928.79
    +v.nearPlane = -17857.6
    +v.farPlane = 17857.6
    +v.imagePan = (0., 0.)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +SetView3D(v)
    +
    +Test("sw4_00")
    +
    +# Create a plot from a sw4img file.
    +DeleteAllPlots()
    +CloseDatabase(data_path("sw4_test_data/berk.cycle=0000.p.3Dimg"))
    +
    +OpenDatabase(data_path("sw4_test_data/berk.cycle=0000.z=0.topo.sw4img"))
    +AddPlot("Pseudocolor", "topo")
    +DrawPlots()
    +
    +Test("sw4_01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_tecplot.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_tecplot.html new file mode 100644 index 000000000..246e19679 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_tecplot.html @@ -0,0 +1,200 @@ + +Results for databases/tecplot.py + +

    Results of VisIt Regression Test - databases/tecplot

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    tecplot_010.000.00
    tecplot_020.000.00
    tecplot_030.000.00
    tecplot_041.450.64
    tecplot_050.000.00
    tecplot_060.000.00
    tecplot_080.000.00
    tecplot_090.000.00
    tecplot_100.000.00
    tecplot_110.000.00
    tecplot_120.440.64
    tecplot_130.000.00
    tecplot_140.000.00
    tecplot_150.530.42
    tecplot_160.000.00
    tecplot_170.000.00
    tecplot_180.000.00
    tecplot_190.000.00
    tecplot_200.000.00
    tecplot_210.000.00
    tecplot_220.000.00
    tecplot_230.000.00
    tecplot_240.000.00
    tecplot_250.000.00
    tecplot_260.000.00
    tecplot_270.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_tecplot_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_tecplot_py.html new file mode 100644 index 000000000..d4b451b64 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_tecplot_py.html @@ -0,0 +1,323 @@ +databases/tecplot.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  tecplot.py
    +#
    +#  Tests:      TecPlot files
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       November 17, 2004
    +#
    +#  Modifications:
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Brad Whitlock, Thu Mar 31 17:12:06 PST 2005
    +#    Changed the data directory to ../data/tecplot_test_data/tecplot_test_data,
    +#    which is now created from a bzipped tar file.
    +#
    +#    Brad Whitlock, Tue Jul 26 16:27:57 PST 2005
    +#    I added a test that has 2D data with a vector expression.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Jeremy Meredith, Mon Jul  7 14:20:12 EDT 2008
    +#    The tecplot reader now successfully parses x/y/z coordinate variables
    +#    from the simpscat.tec file, so I changed the plot to be a pseudocolor
    +#    plot instead of a curve plot.
    +#
    +#    Hank Childs, Sat Mar 13 11:13:26 PST 2010
    +#    Change variable names for forbidden characters.
    +#
    +#    Jeremy Meredith, Fri May 20 09:37:14 EDT 2011
    +#    Change subset mesh variable name since files have more than one mesh now.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +#    Kathleen Biagas, Mon Jul 17 10:59:26 PDT 2023
    +#    Change two_triangles_node_and_cell extension from 'plt' to 'tec'.
    +#    Second triangle's point ids were invalid, so data was regenerted by
    +#    exporting to VTK, fixing the ordering, and re-exporting back to tecplot.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def SetTheView():
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal =  (-0.553771, 0.509362, 0.658702)
    +    SetView3D(v)
    +
    +# Databases
    +OpenDatabase(data_path("tecplot_test_data/2dfed.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","P")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_01")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/3dgeom.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Subset","Zones(mesh)")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_02")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/T3L3CLS17u.plt"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","U")
    +DrawPlots()
    +ResetView()
    +v=GetView2D()
    +v.windowCoords=(-.01,.03,-.02,.02)
    +SetView2D(v)
    +Test("tecplot_03")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/channel.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","U")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_04")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/crystal_plot.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","t")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_05")
    +DeleteAllPlots();
    +CloseDatabase(data_path("tecplot_test_data/crystal_plot.tec"))
    +
    +
    +OpenDatabase(data_path("tecplot_test_data/cube.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","R")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_06")
    +DeleteAllPlots();
    +
    +# We must skip this one, as it has column-major
    +# ordering instead of row-major, and we are
    +# expecting row-major.  There is nothing in the
    +# tecplot file format to specify which type it is,
    +# so this must wait until we have options for
    +# the database plugins.  See '2440.
    +##OpenDatabase(data_path("tecplot_test_data/cylindrical.tec"))
    +
    +#AddPlot("Mesh","mesh")
    +#DrawPlots()
    +#SetTheView()
    +#Test("tecplot_07")
    +#DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/febrfeb.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","Temperature")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_08")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/febrfep.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","Temperature")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_09")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/fetebk.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","C")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_10")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/fetetpt.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","C")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_11")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/flow5.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","V")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_12")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/human.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","R")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_13")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/movie.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Subset","Zones(mesh)")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_14")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/multzn2d.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","Temp")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_15")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/order1.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","psi")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_16")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/sample.tp"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Volume","X Velocity")
    +v=VolumeAttributes()
    +SetPlotOptions(v)
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_17")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/simp3dbk.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","Density")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_18")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/simp3dpt.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","Density")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_19")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/simpscat.tec"))
    +
    +AddPlot("Pseudocolor","T_lb_K_rb_")
    +p = PseudocolorAttributes()
    +p.pointSizePixels = 6
    +SetPlotOptions(p)
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.outputMeshType = 1
    +SetOperatorOptions(t)
    +DrawPlots()
    +ResetView()
    +Test("tecplot_20")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/simpxy.tec"))
    +
    +AddPlot("Curve","Temperature vs/Distance")
    +curveAtts = CurveAttributes()
    +curveAtts.curveColorSource = curveAtts.Custom
    +curveAtts.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_21")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/simpxy2.tec"))
    +
    +AddPlot("Curve","Only Zone/Temperature vs/Distance")
    +curveAtts.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_22")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/symmetricFlow.plt"))
    +
    +AddPlot("Pseudocolor","VELOCITY")
    +DrawPlots()
    +ResetView()
    +Test("tecplot_23")
    +DeleteAllPlots();
    +AddPlot("Vector", "VEL")
    +v = VectorAttributes()
    +v.useStride = 1
    +SetPlotOptions(v)
    +DrawPlots()
    +v = View2DAttributes()
    +v.windowCoords = (53.9908, 74.1434, 66.5995, 88.2732)
    +v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +v.fullFrameAutoThreshold = 100
    +SetView2D(v)
    +Test("tecplot_24")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/pointmesh.tec"))
    +
    +AddPlot("Mesh","mesh")
    +ResetView()
    +DrawPlots()
    +Test("tecplot_25")
    +DeleteAllPlots()
    +
    +DeleteAllPlots();
    +CloseDatabase(data_path("tecplot_test_data/pointmesh.tec"))
    +
    +# ascii file containing both node and cell data in block format
    +OpenDatabase(data_path("tecplot_test_data/two_triangles_node_and_cell.tec"))
    +
    +AddPlot("Pseudocolor","nodal_field")
    +ResetView()
    +DrawPlots()
    +Test("tecplot_26")
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor","cell_field")
    +ResetView()
    +DrawPlots()
    +Test("tecplot_27")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_timesliders.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_timesliders.html new file mode 100644 index 000000000..3af6a8e71 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_timesliders.html @@ -0,0 +1,256 @@ + +Results for databases/timesliders.py + +

    Results of VisIt Regression Test - databases/timesliders

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Set time using different time sliders
    timesliders000.000.00
    timesliders010 modifications totalling 0 lines
    timesliders020.000.00
    timesliders030 modifications totalling 0 lines
    timesliders040.000.00
    timesliders050 modifications totalling 0 lines
    timesliders060 modifications totalling 0 lines
    timesliders070.000.00
    timesliders080 modifications totalling 0 lines
    Time slider behavior with a correlation
    timesliders090.000.00
    timesliders100 modifications totalling 0 lines
    timesliders110.000.00
    timesliders120 modifications totalling 0 lines
    timesliders130.000.00
    timesliders140 modifications totalling 0 lines
    timesliders150.000.00
    timesliders160 modifications totalling 0 lines
    timesliders170.000.00
    timesliders180 modifications totalling 0 lines
    Make sure cloned window gets time sliders
    timesliders190.000.00
    timesliders200 modifications totalling 0 lines
    timesliders210.000.00
    timesliders220 modifications totalling 0 lines
    Make sure opening ST database clears time slider list
    timesliders230 modifications totalling 0 lines
    timesliders240.000.00
    timesliders250 modifications totalling 0 lines
    Make sure replace sequences give right time sliders
    timesliders260.000.00
    timesliders270 modifications totalling 0 lines
    timesliders280.000.00
    timesliders290 modifications totalling 0 lines
    timesliders300.000.00
    timesliders310 modifications totalling 0 lines
    timesliders320.000.00
    timesliders330 modifications totalling 0 lines
    timesliders340.000.00
    timesliders350 modifications totalling 0 lines
    Make sure we get the right time sliders after deleting plots.
    timesliders360.000.00
    timesliders370 modifications totalling 0 lines
    timesliders380.000.00
    timesliders390 modifications totalling 0 lines
    timesliders400 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_timesliders_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_timesliders_py.html new file mode 100644 index 000000000..d534b8094 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_timesliders_py.html @@ -0,0 +1,247 @@ +databases/timesliders.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  timesliders.py
    +#
    +#  Tests:      mesh      - 2D, curvilinear, single domain
    +#              plots     - FilledBoundary
    +#              databases - PDB
    +#
    +#  Purpose:    This test case tests out using multiple time sliders.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Mar 19 11:45:12 PDT 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 31 10:34:27 PDT 2004
    +#    I changed the calls to SetActiveTimeSlider so they can accept the
    +#    unexpanded database names instead of requiring fully qualified
    +#    database names.
    +#
    +#    Brad Whitlock, Mon Apr 19 09:20:29 PDT 2004
    +#    I added a few more tests to make sure we get the desired list of time
    +#    sliders under more conditions.
    +#
    +#    Brad Whitlock, Wed Feb 9 11:10:29 PDT 2005
    +#    I added another test section to make sure that we get the right time
    +#    sliders (or lack of) after deleting plots.
    +# 
    +#    Brad Whitlock, Thu Dec 21 11:57:52 PDT 2006
    +#    Added code to make sure that the dictionary keys in one of the tests
    +#    are always sorted.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    TestText(testname, s)
    +
    +def SetTheView():
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.735926, 0.562657, 0.376604)
    +    v0.focus = (5, 0.753448, 2.5)
    +    v0.viewUp = (0.454745, 0.822858, -0.340752)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 5.6398
    +    v0.nearPlane = -11.2796
    +    v0.farPlane = 11.2796
    +    v0.imagePan = (0.0589778, 0.0898255)
    +    v0.imageZoom = 1.32552
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    SetView3D(v0)
    +
    +# Print the dictionary so its keys are always sorted a particular way.
    +def PrintDict(dict):
    +    keys = list(dict.keys())
    +    keys.sort()
    +    s = "{"
    +    i = 0
    +    for k in keys:
    +        if type(k) == type(str("")):
    +            kstr = "'" + str(k) + "'"
    +        else:
    +            kstr = str(k)
    +        s = s + kstr + ": " + str(dict[k])
    +        if i < len(keys)-1:
    +            s = s + ", "
    +        i = i + 1
    +    s = s + "}"
    +    return s
    +
    +# The plotted databases.
    +dbs = (data_path("pdb_test_data/dbA00.pdb"),
    +       data_path("pdb_test_data/dbB00.pdb"),
    +       data_path("pdb_test_data/dbC00.pdb"))
    +
    +# Create a plot from one database
    +TestSection("Set time using different time sliders")
    +OpenDatabase(dbs[0])
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("timesliders00")
    +TestWindowInformation("timesliders01")
    +
    +# Create a plot from another database
    +OpenDatabase(dbs[1])
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("timesliders02")
    +TestWindowInformation("timesliders03")
    +
    +# Change the time state for the second time slider.
    +# note: py3 div creates float
    +SetTimeSliderState(int(TimeSliderGetNStates() / 2))
    +Test("timesliders04")
    +TestWindowInformation("timesliders05")
    +
    +# Make sure that GetTimeSliders returned the right dictionary.
    +testString = "GetTimeSliders returned:\n %s" % PrintDict(GetTimeSliders())
    +TestText("timesliders06", testString)
    +
    +# Set the time slider back to the first time slider.
    +SetActiveTimeSlider(dbs[0])
    +
    +# Set the time state for the first time slider.
    +SetTimeSliderState(7)
    +Test("timesliders07")
    +TestWindowInformation("timesliders08")
    +
    +# Create a database correlation for the first two databases. This correlation
    +# will be an IndexForIndex correlation since we passed 0 for the correlation
    +# method.
    +TestSection("Time slider behavior with a correlation")
    +correlation1 = "A_and_B"
    +CreateDatabaseCorrelation(correlation1, dbs[:-1], 0)
    +SetActiveTimeSlider(correlation1)
    +Test("timesliders09")
    +TestWindowInformation("timesliders10")
    +
    +# Set the time state for the active time slider since it is now the A_and_B
    +# database correlation.
    +SetTimeSliderState(0)
    +Test("timesliders11")
    +TestWindowInformation("timesliders12")
    +
    +SetTimeSliderState(5)
    +Test("timesliders13")
    +TestWindowInformation("timesliders14")
    +
    +SetTimeSliderState(19)
    +Test("timesliders15")
    +TestWindowInformation("timesliders16")
    +
    +# Set the time slider to B. Only B should change.
    +SetActiveTimeSlider(dbs[1])
    +SetTimeSliderState(5)
    +Test("timesliders17")
    +TestWindowInformation("timesliders18")
    +
    +# Add a new window and make sure that the time sliders are copied to it.
    +TestSection("Make sure cloned window gets time sliders")
    +CloneWindow()
    +SetActiveWindow(2)
    +DrawPlots()
    +Test("timesliders19")
    +TestWindowInformation("timesliders20")
    +
    +SetTimeSliderState(19)
    +Test("timesliders21")
    +TestWindowInformation("timesliders22")
    +DeleteWindow()
    +
    +# Make sure switching between different databases give the right time sliders.
    +TestSection("Make sure opening ST database clears time slider list")
    +DeleteAllPlots()
    +OpenDatabase(dbs[0])
    +SetTimeSliderState(0)
    +TestWindowInformation("timesliders23")
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +ResetView()
    +Test("timesliders24")
    +TestWindowInformation("timesliders25")
    +
    +# Make sure doing various replace sequences give the right time sliders.
    +TestSection("Make sure replace sequences give right time sliders")
    +DeleteAllPlots()
    +OpenDatabase(dbs[0])
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("timesliders26")
    +TestWindowInformation("timesliders27")
    +ReplaceDatabase(dbs[1])
    +Test("timesliders28")
    +TestWindowInformation("timesliders29")
    +ReplaceDatabase(dbs[0])
    +Test("timesliders30")
    +# There should only be 1 time slider at this point.
    +TestWindowInformation("timesliders31")
    +
    +# Make sure that when we replace an MT database with an ST database, we get
    +# the right time sliders.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("wave*.silo database"), 30)
    +
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +SetTheView()
    +Test("timesliders32")
    +TestWindowInformation("timesliders33")
    +# Replace with an ST database
    +ReplaceDatabase(silo_data_path("wave0000.silo"))
    +Test("timesliders34")
    +TestWindowInformation("timesliders35")
    +
    +# Make sure that we get the right time sliders after we delete plots.
    +TestSection("Make sure we get the right time sliders after deleting plots.")
    +DeleteAllPlots()
    +# Close all the sources so we get fresh time sliders.
    +for source in GetGlobalAttributes().sources:
    +    CloseDatabase(source)
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor", "pressure")
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "p")
    +DrawPlots()
    +
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (0.163324, 0.442866, 0.881586)
    +v.viewUp = (-0.0889191, 0.896556, -0.433913)
    +v.parallelScale = 16.9558
    +v.imagePan = (0.0834786, 0.0495278)
    +v.imageZoom = 1.53171
    +SetView3D(v)
    +
    +Test("timesliders36")
    +TestWindowInformation("timesliders37")
    +SetActivePlots(0)
    +DeleteActivePlots()
    +Test("timesliders38")
    +TestWindowInformation("timesliders39")
    +DeleteActivePlots()
    +TestWindowInformation("timesliders40")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_uintah.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_uintah.html new file mode 100644 index 000000000..3b0858b32 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_uintah.html @@ -0,0 +1,79 @@ + +Results for databases/uintah.py + +

    Results of VisIt Regression Test - databases/uintah

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Particle data
    Particle_000.000.00
    Particle_010.000.00
    Particle_020.000.00
    Particle_030.000.00
    Particle_040.000.00
    Particle_050.000.00
    Particle ID
     281474976710656.0 .eq. 281474976710656.0 (prec=0) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_uintah_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_uintah_py.html new file mode 100644 index 000000000..f1ca2730f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_uintah_py.html @@ -0,0 +1,66 @@ +databases/uintah.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  uintah.py
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Tue Jan  4 13:05:47 PST 2022
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Uintah")
    +
    +def test_particle():
    +    TestSection("Particle data")
    +    OpenDatabase(pjoin(data_path("uintah_test_data"), "index.xml"))
    +    AddPlot("Pseudocolor", "p.particleID/*")
    +    pc = PseudocolorAttributes()
    +    pc.pointType = pc.Point
    +    pc.pointSizePixels = 40
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0, -1, 0)
    +    v.focus = (0.01, 0.01, 0.015)
    +    v.viewUp = (0, 0, 1)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.0206155
    +    v.nearPlane = -0.0412311
    +    v.farPlane = 0.0412311
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 0
    +    SetView3D(v)
    +    Test("Particle_00")
    +
    +    ChangeActivePlotsVar("p.particleID/0")
    +    Test("Particle_01")
    +
    +    ChangeActivePlotsVar("p.particleID/1")
    +    Test("Particle_02")
    +
    +    ChangeActivePlotsVar("p.mass/*")
    +    Test("Particle_03")
    +
    +    ChangeActivePlotsVar("p.mass/0")
    +    Test("Particle_04")
    +
    +    ChangeActivePlotsVar("p.mass/1")
    +    Test("Particle_05")
    +
    +    PickAtts = GetPickAttributes()
    +    PickAtts.variables = ("p.particleID/*")
    +    SetPickAttributes(PickAtts)
    +    SetQueryOutputToObject()
    +    p = NodePick(0, 0)
    +    id = p['p.particleID/*']
    +    TestValueEQ("Particle ID", id, 281474976710656., 0)
    +
    +def main():
    +    test_particle()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_unv.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_unv.html new file mode 100644 index 000000000..c5f1f2568 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_unv.html @@ -0,0 +1,74 @@ + +Results for databases/unv.py + +

    Results of VisIt Regression Test - databases/unv

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    unv_010.000.00
    unv_020.000.00
    unv_030.000.00
    unv_040.000.00
    unv_0564.2018.78
    unv_060.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_unv_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_unv_py.html new file mode 100644 index 000000000..af48cfb63 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_unv_py.html @@ -0,0 +1,175 @@ +databases/unv.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Tests:      smoke check of unv file reader.
    +#
    +#  Programmer: Olivier Cessenat
    +#  Date: Thu Oct 11 08:42:44 PDT 2012
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Fri Sep 23 15:08:38 PDT 2022
    +#    Remove use of obsolete FilledBoundaryAttributes fields: boundaryType
    +#    and filledFlag.
    +#
    +# ----------------------------------------------------------------------------
    +
    +datapath = data_path("unv_test_data")
    +
    +OpenDatabase(pjoin(datapath, "small_sur.unv"))
    +AddPlot("FilledBoundary", "boundaries(freemesh)")
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.446545, 0.0881432, 0.890409)
    +View3DAtts.focus = (0, 0, 2.5)
    +View3DAtts.viewUp = (-0.122457, 0.991793, -0.0367666)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 3.4641
    +View3DAtts.nearPlane = -6.9282
    +View3DAtts.farPlane = 6.9282
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 2.5)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +SetView3D(View3DAtts)
    +DrawPlots()
    +Test("unv_01")
    +DeleteAllPlots()
    +CloseDatabase(pjoin(datapath,"small_sur.unv"))
    +
    +OpenDatabase(pjoin(datapath,"small_mix.unv"))
    +AddPlot("FilledBoundary", "surfmats(surfmesh)")
    +AddPlot("Mesh", "surfmesh", 1, 0)
    +DrawPlots()
    +Test("unv_02")
    +DeleteAllPlots()
    +CloseDatabase(pjoin(datapath,"small_mix.unv"))
    +
    +OpenDatabase(pjoin(datapath,"small_vol_pri_bor.unv"),0)
    +AddPlot("FilledBoundary", "boundaries(freemesh)")
    +AddPlot("Mesh", "freemesh")
    +DrawPlots()
    +Test("unv_03")
    +DeleteAllPlots()
    +CloseDatabase(pjoin(datapath,"small_vol_pri_bor.unv"))
    +
    +OpenDatabase(pjoin(datapath,"small_vol_tet_bor.unv"),0)
    +AddPlot("FilledBoundary", "boundaries(freemesh)")
    +AddPlot("Mesh", "facemesh")
    +DrawPlots()
    +Test("unv_04")
    +DeleteAllPlots()
    +CloseDatabase(pjoin(datapath,"small_vol_tet_bor.unv"))
    +
    +OpenDatabase(pjoin(datapath,"small_vol_pyr_bor.unv"), 0)
    +AddPlot("FilledBoundary", "load_sets(facemesh)")
    +AddPlot("Mesh", "facemesh")
    +AddPlot("Mesh", "mesh")
    +SetActivePlots(2)
    +AddOperator("ThreeSlice", 0)
    +SetActivePlots(2)
    +ThreeSliceAtts = ThreeSliceAttributes()
    +ThreeSliceAtts.x = 0.1
    +ThreeSliceAtts.y = 0.2
    +ThreeSliceAtts.z = 0.24
    +ThreeSliceAtts.interactive = 1
    +SetOperatorOptions(ThreeSliceAtts, 0)
    +SetActivePlots(0)
    +FilledBoundaryAtts = FilledBoundaryAttributes()
    +FilledBoundaryAtts.colorType = FilledBoundaryAtts.ColorByMultipleColors
    +FilledBoundaryAtts.colorTableName = "Default"
    +FilledBoundaryAtts.invertColorTable = 0
    +FilledBoundaryAtts.legendFlag = 1
    +FilledBoundaryAtts.lineWidth = 0
    +FilledBoundaryAtts.singleColor = (0, 0, 0, 255)
    +FilledBoundaryAtts.SetMultiColor(0, (255, 0, 0, 255))
    +FilledBoundaryAtts.SetMultiColor(1, (0, 255, 0, 255))
    +FilledBoundaryAtts.opacity = 0.258824
    +FilledBoundaryAtts.wireframe = 0
    +FilledBoundaryAtts.drawInternal = 0
    +FilledBoundaryAtts.smoothingLevel = 0
    +FilledBoundaryAtts.cleanZonesOnly = 0
    +FilledBoundaryAtts.mixedColor = (255, 255, 255, 255)
    +FilledBoundaryAtts.pointSize = 0.05
    +FilledBoundaryAtts.pointType = FilledBoundaryAtts.Point
    +FilledBoundaryAtts.pointSizeVarEnabled = 0
    +FilledBoundaryAtts.pointSizeVar = "default"
    +FilledBoundaryAtts.pointSizePixels = 2
    +SetPlotOptions(FilledBoundaryAtts)
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.440531, 0.546377, 0.712323)
    +View3DAtts.focus = (0, 0, 2.5)
    +View3DAtts.viewUp = (-0.429096, 0.825111, -0.367517)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 3.4641
    +View3DAtts.nearPlane = -6.9282
    +View3DAtts.farPlane = 6.9282
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 2.5)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +SetView3D(View3DAtts)
    +DrawPlots()
    +Test("unv_05")
    +
    +DeleteAllPlots()
    +CloseDatabase(pjoin(datapath,"small_vol_pyr_bor.unv"))
    +OpenDatabase(pjoin(datapath, "small_sur.unv"))
    +
    +AddPlot("Vector", "normals2d", 1, 1)
    +DrawPlots()
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.554906, -0.684409, 0.472931)
    +View3DAtts.focus = (0, 0, 2.5)
    +View3DAtts.viewUp = (-0.448111, 0.233062, 0.863063)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 3.4641
    +View3DAtts.nearPlane = -6.9282
    +View3DAtts.farPlane = 6.9282
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 2.5)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +# End spontaneous state
    +
    +SaveWindowAtts = SaveWindowAttributes()
    +SaveWindowAtts.outputToCurrentDirectory = 1
    +SaveWindowAtts.outputDirectory = "."
    +SaveWindowAtts.fileName = "small_sur_normals2d"
    +SaveWindowAtts.family = 1
    +SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
    +SaveWindowAtts.width = 1024
    +SaveWindowAtts.height = 1024
    +SaveWindowAtts.screenCapture = 0
    +SaveWindowAtts.saveTiled = 0
    +SaveWindowAtts.quality = 80
    +SaveWindowAtts.progressive = 0
    +SaveWindowAtts.binary = 0
    +SaveWindowAtts.stereo = 0
    +SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
    +SaveWindowAtts.forceMerge = 0
    +SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
    +SaveWindowAtts.advancedMultiWindowSave = 0
    +SetSaveWindowAttributes(SaveWindowAtts)
    +SaveWindow()
    +Test("unv_06", SaveWindowAtts)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_vtk.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_vtk.html new file mode 100644 index 000000000..65f9d2bf4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_vtk.html @@ -0,0 +1,441 @@ + +Results for databases/vtk.py + +

    Results of VisIt Regression Test - databases/vtk

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Materials in VTK
    vtk_010.000.00
    vtk_020.000.00
    vtk_030.000.00
    VTK XML-style data files
    vtk_040.000.00
    vtk_050.000.00
    vtk_060.000.00
    vtk_070.000.00
    vtk_080.000.00
    vtk_090.000.00
    vtk_100.000.00
    vtk_110.000.00
    vtk_120.000.00
    vtk_130.000.00
    vtk_140.000.00
    vtk_150.000.00
    vtk_160.000.00
    vtk_170.000.00
    vtk_180.000.00
    vtk_190.000.00
    vtk_200.000.00
    vtk_210.000.00
    vtk_220.000.00
    vtk_230.000.00
    vtk_240.000.00
    vtk_250.000.00
    vtk_260.000.00
    vtk_270.000.00
    Quadratic triangles in VTK
    vtk_280.000.00
    vtk_290.000.00
    !NBLOCKS in a .visit file
    vtk_300.000.00
    vtk_310.000.00
    vtk_320.000.00
    vtk_330 modifications totalling 0 lines
    PVTU files
    vtk_340.000.00
    vtk_34a0.870.63
    PVTI files
    vtk_350.000.00
    2D Unstructured grids with lines
    vtk_360.430.33
    VTM files
    vtk_370.000.00
    vtk_380.000.00
    vtk_390.000.00
    vtk_400 modifications totalling 0 lines
    PVTK files
    vtk_410.000.00
    vtk_420.000.00
    VTK ghost types
    vtk_430.000.00
    vtk_440.000.00
    vtk_450.000.00
    Database Expressions in VTK
    vtk_460.000.00
    PVD, single pvti file, no time, no groups
    vtk_pvd_010.000.00
    PVD, multiple vtr files, single time, no groups
    vtk_pvd_020.000.00
    PVD, multiple pvtr files, multiple times, no groups
    vtk_pvd_030.000.00
    vtk_pvd_040.000.00
    PVD, multiple vtr files, multiple times, groups
    vtk_pvd_050.000.00
    vtk_pvd_060.000.00
    PVD, multiple vtm files,multiple times
    vtk_pvd_070.000.00
    vtk_pvd_080.000.00
    PVD, multiple pvti files, multiple times
    vtk_pvd_090.000.00
    vtk_pvd_100.000.00
    vtk_pvd_110.000.00
    vtk_pvd_120.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_vtk_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_vtk_py.html new file mode 100644 index 000000000..e1f2655e6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_vtk_py.html @@ -0,0 +1,474 @@ +databases/vtk.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  vtk.py 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       October 28, 2004 
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Fri Sep 23 10:55:44 PDT 2005
    +#    Re-organized code into separate methods.  Added TestXML method.
    +#
    +#    Brad Whitlock, Mon May 8 15:57:12 PST 2006
    +#    Added test for higher_order_triangles.vtk
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Brad Whitlock, Tue Oct 23 11:18:12 PDT 2012
    +#    I added tests for NBLOCKS .visit files, cycle & time, and PVTU files.
    +#
    +#    Eric Brugger, Tue Jun 25 18:20:31 PDT 2013
    +#    I added a test for PVTI files.
    +#
    +#    Kathleen Biagas, Wed Feb 25 14:10:13 PST 2015
    +#    Mesh name has been added to blocks.vtu test data, so add mesh plot
    +#    to test is has been read correctly.
    +#
    +#    Kathleen Biagas, Tue Aug 18 14:00:16 PDT 2015
    +#    Added a test for VTM files.
    +#
    +#    Kathleen Biagas, Thu Sep 21 14:56:25 MST 2017
    +#    Added a test for PVTK files.
    +#
    +#    Edward Rusu, Mon Oct 01 15:09:24 PST 2018
    +#    Added a test for vtkGhostType.
    +#
    +#    Kathleen Biagas, Tue Aug 24, 2021
    +#    Added a test for PVD files.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestMaterials():
    +    TestSection("Materials in VTK")
    +    OpenDatabase(data_path("vtk_test_data/globe_mats.vtk"))
    +
    +
    +    #
    +    # Test simple read and display of a material variable 
    +    #
    +    AddPlot("FilledBoundary","materials")
    +    DrawPlots()
    +    Test("vtk_01")
    +
    +    #
    +    # Find set ids using their names
    +    #
    +    setId1 = -1
    +    setId2 = -1
    +    setId3 = -1
    +    silr = SILRestriction()
    +    for i in range(silr.NumSets()):
    +        if silr.SetName(i) == "1":
    +            setId1 = i
    +        elif silr.SetName(i) == "2":
    +            setId2 = i
    +        elif silr.SetName(i) == "3":
    +            setId3 = i
    +
    +    #
    +    # Turn on air, but turn void and uranium off
    +    #
    +    silr.TurnOffSet(setId2)
    +    SetPlotSILRestriction(silr)
    +    Test("vtk_02")
    +
    +    silr.TurnOnSet(setId2)
    +    SetPlotSILRestriction(silr)
    +    AddOperator("Slice")
    +    DrawPlots()
    +    Test("vtk_03")
    +
    +    TurnMaterialsOn()
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/globe_mats.vtk"))
    +
    +def TestXML():
    +    TestSection("VTK XML-style data files")
    +    OpenDatabase(data_path("vtk_xml_test_data/curv2d.vts"))
    +
    +    AddPlot("Pseudocolor", "d");
    +    DrawPlots();
    +    Test("vtk_04")
    +    ChangeActivePlotsVar("p")
    +    DrawPlots()
    +    Test("vtk_05")
    +    ChangeActivePlotsVar("u")
    +    DrawPlots()
    +    Test("vtk_06")
    +    ChangeActivePlotsVar("v")
    +    DrawPlots()
    +    Test("vtk_07")
    +    DeleteActivePlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Test("vtk_08")
    +    DeleteActivePlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/curv2d.vts"))
    +
    +    OpenDatabase(data_path("vtk_xml_test_data/curv3d.vts"))
    +
    +    AddPlot("Pseudocolor", "d");
    +    DrawPlots();
    +    Test("vtk_09")
    +    ChangeActivePlotsVar("p")
    +    DrawPlots()
    +    Test("vtk_10")
    +    ChangeActivePlotsVar("t")
    +    DrawPlots()
    +    Test("vtk_11")
    +    ChangeActivePlotsVar("u")
    +    DrawPlots()
    +    Test("vtk_12")
    +    ChangeActivePlotsVar("v")
    +    DrawPlots()
    +    Test("vtk_13")
    +    ChangeActivePlotsVar("w")
    +    DrawPlots()
    +    Test("vtk_14")
    +    DeleteActivePlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Test("vtk_15")
    +    DeleteActivePlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/curv3d.vts"))
    +
    +    OpenDatabase(data_path("vtk_xml_test_data/rect3d.vtr"))
    +
    +    AddPlot("Pseudocolor", "d");
    +    DrawPlots();
    +    Test("vtk_16")
    +    ChangeActivePlotsVar("p")
    +    DrawPlots()
    +    Test("vtk_17")
    +    ChangeActivePlotsVar("t")
    +    DrawPlots()
    +    Test("vtk_18")
    +    ChangeActivePlotsVar("u")
    +    DrawPlots()
    +    Test("vtk_19")
    +    ChangeActivePlotsVar("v")
    +    DrawPlots()
    +    Test("vtk_20")
    +    ChangeActivePlotsVar("w")
    +    DrawPlots()
    +    Test("vtk_21")
    +    DeleteActivePlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Test("vtk_22")
    +    DeleteActivePlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/rect3d.vtr"))
    +
    +    OpenDatabase(data_path("vtk_xml_test_data/ucd2d.vtu"))
    +
    +    AddPlot("Pseudocolor", "d");
    +    DrawPlots();
    +    Test("vtk_23")
    +    ChangeActivePlotsVar("speed")
    +    DrawPlots()
    +    Test("vtk_24")
    +    ChangeActivePlotsVar("u")
    +    DrawPlots()
    +    Test("vtk_25")
    +    ChangeActivePlotsVar("v")
    +    DrawPlots()
    +    Test("vtk_26")
    +    DeleteActivePlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Test("vtk_27")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/ucd2d.vtu"))
    +
    +def TestHigherOrder():
    +    TestSection("Quadratic triangles in VTK")
    +    OpenDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
    +
    +    AddPlot("Mesh", "highorder_triangles");
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.429056, 0.759111, 0.489553)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.901832, -0.39065, -0.184638)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.73205
    +    v.nearPlane = -3.4641
    +    v.farPlane = 3.4641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.45106
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Test("vtk_28")
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression("zoneid", "zoneid(highorder_triangles)")
    +    AddPlot("Pseudocolor", "zoneid")
    +    p = PseudocolorAttributes()
    +    p.colorTableName = "levels"
    +    SetPlotOptions(p)
    +    DrawPlots()
    +    Test("vtk_29")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
    +
    +def TestNBLOCKS():
    +    TestSection("!NBLOCKS in a .visit file")
    +    OpenDatabase(data_path("vtk_test_data/visitfile/dbA.visit"))
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_30")
    +
    +    # See that there are multiple time steps.
    +    SetTimeSliderState(5)
    +    Test("vtk_31")
    +    DeleteAllPlots()
    +
    +    # See that there are 2 domains
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("vtk_32")
    +
    +    # Test that we can get the cycle and time out.
    +    txt = ""
    +    for i in range(10):
    +        SetTimeSliderState(i)
    +        Query("Cycle")
    +        cycle = GetQueryOutputValue()
    +        Query("Time")
    +        time = GetQueryOutputValue()
    +        txt = txt + "Cycle: %d, Time: %g\n" % (cycle, time)
    +    TestText("vtk_33", txt)
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/visitfile/dbA.visit"))
    +
    +def TestPVTU():
    +    TestSection("PVTU files")
    +    OpenDatabase(data_path("vtk_test_data/blocks.pvtu"))
    +    AddPlot("Pseudocolor", "MatNum")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_34")
    +    # MeshName recently added, so test.
    +    AddPlot("Mesh", "blocks")
    +    DrawPlots()
    +    Test("vtk_34a")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/blocks.pvtu"))
    +
    +def TestPVTI():
    +    TestSection("PVTI files")
    +    OpenDatabase(data_path("vtk_xml_test_data/earth.pvti"))
    +    AddPlot("Truecolor", "PNGImage")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_35")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/earth.pvti"))
    +
    +def TestMixedTopology():
    +    TestSection("2D Unstructured grids with lines")
    +    OpenDatabase(data_path("vtk_test_data/test_bound.vtk"))
    +    AddPlot("Pseudocolor", "data_cells_with_bound")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_36")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/test_bound.vtk"))
    +
    +def TestVTM():
    +    TestSection("VTM files")
    +    f = "files.vtm"
    +    fN = data_path("vtk_xml_test_data/MultiBlock/%s"%f)
    +    OpenDatabase(fN)
    +    AddPlot("Subset", "Blocks")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_37")
    +
    +    mmd = GetMetaData(fN).GetMeshes(0)
    +    s = f + ":    Groups: " + ", ".join(mmd.groupNames)
    +    s = s + "     Blocks: " + ", ".join(mmd.blockNames) + "\n"
    +
    +    DeleteAllPlots()
    +    CloseDatabase(fN)
    +
    +    f = "files_grouped.vtm"
    +    fN = data_path("vtk_xml_test_data/MultiBlock/%s"%f)
    +    OpenDatabase(fN)
    +    AddPlot("Subset", "Blocks")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_38")
    +
    +    ChangeActivePlotsVar("Groups")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_39")
    +
    +    mmd = GetMetaData(fN).GetMeshes(0)
    +    s = s + f + ":    Groups: " + ", ".join(mmd.groupNames)
    +    s = s + "    Blocks: " + ", ".join(mmd.blockNames) + "\n"
    +    TestText("vtk_40", s)
    +    DeleteAllPlots()
    +    CloseDatabase(fN)
    +
    +def TestPVTK():
    +    TestSection("PVTK files")
    +    f = "earth.pvtk"
    +    fN = data_path("vtk_test_data/pvtk/%s"%f)
    +    OpenDatabase(fN)
    +    AddPlot("Truecolor", "PNGImage")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_41")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(fN)
    +
    +    f = "dbA.pvtk"
    +    fN = data_path("vtk_test_data/pvtk/dbA/%s"%f)
    +    OpenDatabase(fN)
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_42")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(fN)
    +
    +def TestVTKGhostType():
    +    TestSection("VTK ghost types")
    +    OpenDatabase(data_path("vtk_test_data/vtkGhostType.vtk"))
    +    ResetView()
    +    AddPlot("Pseudocolor", "internal_var_GhostZones")
    +    DrawPlots()
    +    Test("vtk_43")
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "internal_var_GhostNodes")
    +    DrawPlots()
    +    Test("vtk_44")
    +
    +    DeleteAllPlots()
    +    AddPlot("Mesh", "Mesh_gnz")
    +    DrawPlots()
    +    Test("vtk_45")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/vtkGhostType.vtk"))
    +
    +def TestDBExpressions():
    +    TestSection("Database Expressions in VTK")
    +    OpenDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
    +
    +    AddPlot("Mesh", "highorder_triangles");
    +    AddPlot("Pseudocolor", "x")
    +    AddPlot("Vector", "posvec")
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.429056, 0.759111, 0.489553)
    +    v.viewUp = (-0.901832, -0.39065, -0.184638)
    +    v.parallelScale = 1.73205
    +    v.nearPlane = -3.4641
    +    v.farPlane = 3.4641
    +    v.imageZoom = 1.45106
    +    SetView3D(v)
    +
    +    Test("vtk_46")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
    +
    +def TestPVD():
    +
    +    TestSection("PVD, single pvti file, no time, no groups")
    +    OpenDatabase(data_path("vtk_xml_test_data/earth.pvd"))
    +    AddPlot("Truecolor", "PNGImage")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_pvd_01")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/earth.pvd"))
    +
    +    TestSection("PVD, multiple vtr files, single time, no groups")
    +    OpenDatabase(data_path("vtk_xml_test_data/multiRect3d.pvd"))
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_pvd_02")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/multiRect3d.pvd"))
    +
    +    TestSection("PVD, multiple pvtr files, multiple times, no groups")
    +    OpenDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_pvtr.pvd"))
    +    AddPlot("Pseudocolor", "radial")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_pvd_03")
    +    TimeSliderSetState(5)
    +    Test("vtk_pvd_04")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_pvtr.pvd"))
    +
    +    TestSection("PVD, multiple vtr files, multiple times, groups")
    +    OpenDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_part_vtr.pvd"))
    +    AddPlot("Subset", "parts")
    +    DrawPlots()
    +    Test("vtk_pvd_05")
    +    ChangeActivePlotsVar("blocks")
    +    Test("vtk_pvd_06")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_part_vtr.pvd"))
    +
    +    TestSection("PVD, multiple vtm files,multiple times")
    +    OpenDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_vtm.pvd"))
    +    AddPlot("Pseudocolor", "radial")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_pvd_07")
    +    TimeSliderSetState(5)
    +    Test("vtk_pvd_08")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_vtm.pvd"))
    +
    +    TestSection("PVD, multiple pvti files, multiple times")
    +    OpenDatabase(data_path("vtk_xml_test_data/earth_multiTime/earth_time.pvd"))
    +    AddPlot("Truecolor", "PNGImage")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_pvd_09")
    +    TimeSliderNextState()
    +    Test("vtk_pvd_10")
    +    TimeSliderNextState()
    +    Test("vtk_pvd_11")
    +    TimeSliderNextState()
    +    Test("vtk_pvd_12")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/earth_multiTime/earth_time.pvd"))
    +
    +
    +TestMaterials()
    +TestXML()
    +TestHigherOrder()
    +TestNBLOCKS()
    +TestPVTU()
    +TestPVTI()
    +TestMixedTopology()
    +TestVTM()
    +TestPVTK()
    +TestVTKGhostType()
    +TestDBExpressions()
    +TestPVD()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_wave_tv.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_wave_tv.html new file mode 100644 index 000000000..5fe25e127 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_wave_tv.html @@ -0,0 +1,62 @@ + +Results for databases/wave_tv.py + +

    Results of VisIt Regression Test - databases/wave_tv

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    wave_tv_010.000.00
    wave_tv_020.000.00
    wave_tv_030 modifications totalling 0 lines
    wave_tv_040 modifications totalling 0 lines
    wave_tv_050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_wave_tv_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_wave_tv_py.html new file mode 100644 index 000000000..75b433928 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_wave_tv_py.html @@ -0,0 +1,88 @@ +databases/wave_tv.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  silo.py 
    +#
    +#  Tests:      The wave_tv database which varies domains and materials and
    +#              number of meshes over time.
    +#
    +#  Defects:    '4760
    +#
    +#  Programmer: Hank Childs
    +#  Date:       April 9, 2004 
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, June 12, 2007
    +#    Replaced explicit annotation manipulation with call to
    +#    TurnOffAllAnnotations. Added tests of TreatAllDBsAsTimeVarying
    +#    functionality
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("wave_tv*.silo database"), 9)
    +
    +
    +#
    +# This brings up a subset plot with 5 materials.
    +#
    +AddPlot("FilledBoundary", "Material")
    +DrawPlots()
    +
    +Test("wave_tv_01")
    +
    +#
    +# There was a bug ('4760), where animating over time would crash the engine
    +# when some materials went out of scope.
    +#
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +Test("wave_tv_02")
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("wave_tv*.silo database") )
    +
    +#
    +# Open wave_tv one state BEFORE where variable 'transient' is
    +# defined and then march forward. With 'TreatAllDBsAsTimeVarying'
    +# turned off, the add should always fail. With it turned on,
    +# the add should succeed on state 17.
    +#
    +OpenDatabase(silo_data_path("wave_tv*.silo database") , 16)
    +addOk16 = AddPlot("Pseudocolor","transient")
    +DeleteAllPlots()
    +TimeSliderNextState()
    +addOk17 = AddPlot("Pseudocolor","transient")
    +msg = "With TreatAllDBsAsTimeVarying set to its default value,\n"
    +msg = msg + "AddPlot() returned %d for state 16 and %d for state 17"%(addOk16,addOk17)
    +TestText("wave_tv_03", msg)
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("wave_tv*.silo database") )
    +
    +SetTreatAllDBsAsTimeVarying(1)
    +OpenDatabase(silo_data_path("wave_tv*.silo database"), 16)
    +
    +addOk16 = AddPlot("Pseudocolor","transient")
    +DeleteAllPlots()
    +TimeSliderNextState()
    +addOk17 = AddPlot("Pseudocolor","transient")
    +msg = "With TreatAllDBsAsTimeVarying set to 1 (true),\n"
    +msg = msg + "AddPlot() returned %d for state 16 and %d for state 17"%(addOk16,addOk17)
    +TestText("wave_tv_04", msg)
    +DrawPlots()
    +Test("wave_tv_05")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xdmf.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xdmf.html new file mode 100644 index 000000000..0cacf2045 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xdmf.html @@ -0,0 +1,340 @@ + +Results for databases/xdmf.py + +

    Results of VisIt Regression Test - databases/xdmf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Structured (no hdf5)
    xdmf_0_000.000.00
    xdmf_0_010.000.00
    Basic topology (no hdf5)
    xdmf_1_000.000.00
    xdmf_1_010.000.00
    xdmf_1_020.000.00
    xdmf_1_030.000.00
    xdmf_1_040.000.00
    xdmf_1_050.000.00
    xdmf_1_060.000.00
    xdmf_1_070.000.00
    xdmf_1_080.000.00
    xdmf_1_090.000.00
    xdmf_1_100.000.00
    xdmf_1_110.000.00
    xdmf_1_120.000.00
    xdmf_1_130.000.00
    xdmf_1_140.000.00
    xdmf_1_150.000.00
    xdmf_1_160.000.00
    xdmf_1_170.000.00
    Mixed (no hdf5)
    xdmf_2_000.000.00
    Polygon (no hdf5)
    xdmf_3_000.000.00
    xdmf_3_010.000.00
    xdmf_3_020.000.00
    Quadratic topology (no hdf5)
    xdmf_4_000.000.00
    xdmf_4_010.000.00
    xdmf_4_020.000.00
    xdmf_4_030.000.00
    xdmf_4_040.000.00
    xdmf_4_050.000.00
    Multiple grids (no hdf5)
    xdmf_5_000.000.00
    Structured with hdf5
    xdmf_6_000.660.64
    xdmf_6_010.660.64
    xdmf_6_020.410.51
    xdmf_6_030.000.00
    xdmf_6_040.000.00
    xdmf_6_050.000.00
    xdmf_6_060.000.00
    Quadratic topology (no hdf5)
    xdmf_7_000.000.00
    xdmf_7_010.000.00
    xdmf_7_020.440.63
    xdmf_7_030.440.63
    xdmf_7_040.000.00
    xdmf_7_050.000.00
    xdmf_7_060.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xdmf_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xdmf_py.html new file mode 100644 index 000000000..950dc6cbf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xdmf_py.html @@ -0,0 +1,436 @@ +databases/xdmf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  xdmf.py
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Apr 27 10:37:01 PDT 2010
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Xdmf")
    +
    +def test0(datapath):
    +    TestSection("Structured (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"3DRectMesh.xmf"))
    +    AddPlot("Pseudocolor", "CellScalars")
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.722705, 0.363868, 0.587621)
    +    v.focus = (2, 1.5, 1.5)
    +    v.viewUp = (0.277541, 0.931424, -0.235414)
    +    v.viewAngle = 30
    +    v.parallelScale = 2.91548
    +    v.nearPlane = -5.83095
    +    v.farPlane = 5.83095
    +    v.imagePan = (0.0188164, 0.0435196)
    +    v.imageZoom = 1.09024
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (2, 1.5, 1.5)
    +    SetView3D(v)
    +    Test("xdmf_0_00")
    +
    +    ChangeActivePlotsVar("NodeScalars")
    +    Test("xdmf_0_01")
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"3DRectMesh.xmf"))
    +
    +def test1(datapath):
    +    TestSection("Basic topology (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"BasicTopology.xmf"))
    +    AddPlot("Pseudocolor", "Hexahedron/Cell Centered Values")
    +    DrawPlots()
    +
    +    pc = PseudocolorAttributes(1)
    +    pc.pointSizePixels = 10
    +    pc.pointType = pc.Point
    +    SetPlotOptions(pc)
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.722705, 0.363868, 0.587621)
    +    v.focus = (0.5, 0.5, 2)
    +    v.viewUp = (0.277541, 0.931424, -0.235414)
    +    v.viewAngle = 30
    +    v.parallelScale = 2.12132
    +    v.nearPlane = -4.24264
    +    v.farPlane = 4.24264
    +    v.imagePan = (0.0665142, 0.0326173)
    +    v.imageZoom = 1.4219
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 2)
    +    SetView3D(v)
    +    Test("xdmf_1_00")
    +
    +    ChangeActivePlotsVar("Hexahedron/Node Centered Values")
    +    Test("xdmf_1_01")
    +
    +    # Polygon
    +    ChangeActivePlotsVar("Polygon/Cell Centered Values")
    +    Test("xdmf_1_02")
    +    ChangeActivePlotsVar("Polygon/Node Centered Values")
    +    Test("xdmf_1_03")
    +
    +    # Polyline
    +    ChangeActivePlotsVar("Polyline/Cell Centered Values")
    +    Test("xdmf_1_04")
    +    ChangeActivePlotsVar("Polyline/Node Centered Values")
    +    Test("xdmf_1_05")
    +
    +    # Polyvertex
    +    ChangeActivePlotsVar("Polyvertex/Cell Centered Values")
    +    Test("xdmf_1_06")
    +    ChangeActivePlotsVar("Polyvertex/Node Centered Values")
    +    Test("xdmf_1_07")
    +
    +    # Pyramid
    +    ChangeActivePlotsVar("Pyramid/Cell Centered Values")
    +    Test("xdmf_1_08")
    +    ChangeActivePlotsVar("Pyramid/Node Centered Values")
    +    Test("xdmf_1_09")
    +
    +    # Quadrilateral
    +    ChangeActivePlotsVar("Quadrilateral/Cell Centered Values")
    +    Test("xdmf_1_10")
    +    ChangeActivePlotsVar("Quadrilateral/Node Centered Values")
    +    Test("xdmf_1_11")
    +
    +    # Tetrahedron
    +    ChangeActivePlotsVar("Tetrahedron/Cell Centered Values")
    +    Test("xdmf_1_12")
    +    ChangeActivePlotsVar("Tetrahedron/Node Centered Values")
    +    Test("xdmf_1_13")
    +
    +    # Triangle
    +    ChangeActivePlotsVar("Triangle/Cell Centered Values")
    +    Test("xdmf_1_14")
    +    ChangeActivePlotsVar("Triangle/Node Centered Values")
    +    Test("xdmf_1_15")
    +
    +    # Wedge
    +    ChangeActivePlotsVar("Wedge/Cell Centered Values")
    +    Test("xdmf_1_16")
    +    ChangeActivePlotsVar("Wedge/Node Centered Values")
    +    Test("xdmf_1_17")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"BasicTopology.xmf"))
    +
    +def test2(datapath):
    +    TestSection("Mixed (no hdf5)")
    +    # Open the mixed topology file
    +    OpenDatabase(pjoin(datapath,"Mixed.xmf"))
    +    DeleteAllPlots()
    +    AddPlot("Mesh", "Mixed")
    +    m = MeshAttributes()
    +    m.legendFlag = 1
    +    m.lineWidth = 1
    +    m.meshColor = (255, 0, 0, 255)
    +    m.meshColorSource = m.MeshCustom  # Foreground, MeshCustom
    +    m.opaqueColorSource = m.OpaqueCustom  # Background, OpaqueCustom
    +    m.opaqueMode = m.Auto  # Auto, On, Off
    +    m.pointSize = 0.05
    +    m.opaqueColor = (192, 192, 192, 255)
    +    m.smoothingLevel = m.NONE  # None, Fast, High
    +    m.pointSizeVarEnabled = 0
    +    m.pointSizeVar = "default"
    +    m.pointType = m.Point  # Box, Axis, Icosahedron, Point, Sphere
    +    m.showInternal = 0
    +    m.pointSizePixels = 2
    +    m.opacity = 1
    +    SetPlotOptions(m)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.611582, 0.210354, 0.762705)
    +    v.focus = (0.5, 0.5, 2)
    +    v.viewUp = (0.145916, 0.97746, -0.15258)
    +    v.viewAngle = 30
    +    v.parallelScale = 2.12132
    +    v.nearPlane = -4.24264
    +    v.farPlane = 4.24264
    +    v.imagePan = (-0.0635688, 0.0486989)
    +    v.imageZoom = 1.17908
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 2)
    +    SetView3D(v)
    +    Test("xdmf_2_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath, "Mixed.xmf"))
    +
    +def test3(datapath):
    +    TestSection("Polygon (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"PolygonOctagon.xmf"))
    +    AddPlot("Mesh", "PolygonOctagon")
    +    DrawPlots()
    +    ResetView()
    +    Test("xdmf_3_00")
    +
    +    AddPlot("Pseudocolor", "CellScalar")
    +    DrawPlots()
    +    Test("xdmf_3_01")
    +
    +    ChangeActivePlotsVar("NodeScalar")
    +    Test("xdmf_3_02")
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"PolygonOctagon.xmf"))
    +
    +def test4(datapath):
    +    TestSection("Quadratic topology (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"QuadraticTopology.xmf"))
    +    AddPlot("Pseudocolor", "Hexahedron_20/Node Centered Values")
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.703184, 0.393286, 0.592333)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.293186, 0.919352, -0.262361)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0.0122989, 0.0367562)
    +    v.imageZoom = 1.02726
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    SetView3D(v)
    +    Test("xdmf_4_00")
    +
    +    ChangeActivePlotsVar("Pyramid_13/Node Centered Values")
    +    Test("xdmf_4_01")
    +
    +    ChangeActivePlotsVar("Quadrilateral_8/Node Centered Values")
    +    Test("xdmf_4_02")
    +
    +    ChangeActivePlotsVar("Tetrahedron_10/Node Centered Values")
    +    Test("xdmf_4_03")
    +
    +    ChangeActivePlotsVar("Triangle_6/Node Centered Values")
    +    Test("xdmf_4_04")
    +
    +    ChangeActivePlotsVar("Wedge_15/Node Centered Values")
    +    Test("xdmf_4_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"QuadraticTopology.xmf"))
    +
    +def test5(datapath):
    +    TestSection("Multiple grids (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"TetrahedronMultipleGrids.xmf"))
    +    AddPlot("Pseudocolor", "Tetrahedron 1/CellScalar")
    +    AddPlot("Pseudocolor", "Tetrahedron 2/CellScalar")
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.0158313, 0.998128, -0.0590748)
    +    v.focus = (0, 0.5, 0)
    +    v.viewUp = (-0.0096669, -0.0592323, -0.998197)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.5
    +    v.nearPlane = -3
    +    v.farPlane = 3
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0.5, 0)
    +    SetView3D(v)
    +
    +    Test("xdmf_5_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"TetrahedronMultipleGrids.xmf"))
    +
    +def test6(datapath):
    +    TestSection("Structured with hdf5")
    +    db = pjoin(datapath,"rect2d.xmf")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Pseudocolor", "Pressure")
    +    DrawPlots()
    +    ResetView()
    +    Test("xdmf_6_00")
    +    ChangeActivePlotsVar("VelocityX")
    +    Test("xdmf_6_01")
    +
    +    db = pjoin(datapath,"corect2d.xmf")
    +    ReplaceDatabase(db)
    +    DrawPlots()
    +    ResetView()
    +    Test("xdmf_6_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    db = pjoin(datapath,"rect3d.xmf")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Pseudocolor", "VelocityZ")
    +    DrawPlots()
    +    ResetView()
    +    Test("xdmf_6_03")
    +
    +    db = pjoin(datapath,"corect3d.xmf")
    +    ReplaceDatabase(db)
    +    DrawPlots()
    +    ResetView()
    +    Test("xdmf_6_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    db = pjoin(datapath,"xdmf2d.xmf")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Pseudocolor", "Pressure")
    +    DrawPlots()
    +    Test("xdmf_6_05")
    +
    +    ChangeActivePlotsVar("VelocityX")
    +    Test("xdmf_6_06")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test7(datapath):
    +    TestSection("Quadratic topology (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"singleHex24.xmf"))
    +    AddPlot("Mesh", "singleHex24")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.690415, 0.541158, 0.480078)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.123212, -0.565967, 0.815169)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.73205
    +    v.nearPlane = -3.4641
    +    v.farPlane = 3.4641
    +    v.imagePan = (0, 0.0352717)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Test("xdmf_7_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleHex24.xmf"))
    +
    +    OpenDatabase(pjoin(datapath,"singleHex27.xmf"))
    +    AddPlot("Mesh", "singleHex27")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +
    +    Test("xdmf_7_01")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleHex27.xmf"))
    +
    +    OpenDatabase(pjoin(datapath,"singleQuad6.xmf"))
    +    AddPlot("Mesh", "singleQuad6")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +
    +    Test("xdmf_7_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleQuad6.xmf"))
    +
    +    OpenDatabase(pjoin(datapath,"singleQuad9.xmf"))
    +    AddPlot("Mesh", "singleQuad9")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +
    +    Test("xdmf_7_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleQuad9.xmf"))
    +
    +    OpenDatabase(pjoin(datapath,"singleTri7.xmf"))
    +    AddPlot("Mesh", "singleTri7")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +
    +    Test("xdmf_7_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath, "singleTri7.xmf"))
    +
    +    OpenDatabase(pjoin(datapath, "singleWedge12.xmf"))
    +    AddPlot("Mesh", "singleWedge12")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (0.69918, -0.142559, 0.700588)
    +    v.focus = (0, 0, 0.5)
    +    v.viewUp = (-0.216074, 0.89196, 0.397139)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.5
    +    v.nearPlane = -3
    +    v.farPlane = 3
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Test("xdmf_7_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleWedge12.xmf"))
    +
    +    OpenDatabase(pjoin(datapath,"singleWedge18.xmf"))
    +    AddPlot("Mesh", "singleWedge18")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +
    +    Test("xdmf_7_06")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleWedge18.xmf"))
    +
    +def main():
    +    datapath = data_path("xdmf_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    test4(datapath)
    +    test5(datapath)
    +
    +    test6(datapath)
    +    test7(datapath)
    +
    +main()
    +Exit()
    +
    +
    +#fails:
    +# rect2d.xmf
    +#              Crashes the engine cuz we don't give a Z coordinate
    +#
    +# corect2d.xml 
    +#              I can plot the mesh but it is in the YZ plane, which doesn't seem right.
    +#              Does not expose Pressure or VelocityX.
    +#              
    +# rect3d.xmf
    +#              Only exposes VelocityZ (where is Pressure?)
    +#
    +# corect3d.xmf
    +#              Does not expose Pressure or VelocityZ
    +
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xform_precision.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xform_precision.html new file mode 100644 index 000000000..393452342 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xform_precision.html @@ -0,0 +1,72 @@ + +Results for databases/xform_precision.py + +

    Results of VisIt Regression Test - databases/xform_precision

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    float_xform_010.000.00
    float_xform_020.000.00
    float_xform_030.000.00
    float_xform_040.000.00
    float_xform_050.000.00
    float_xform_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xform_precision_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xform_precision_py.html new file mode 100644 index 000000000..8d8f6f4b0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xform_precision_py.html @@ -0,0 +1,86 @@ +databases/xform_precision.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  xform_precision.py 
    +#
    +#  Tests:      Transform manager's conversion to float 
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       September 24, 2006 
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("quad_disk.silo"))
    +
    +
    +#
    +# Turn off force single precision for this test
    +#
    +readOptions=GetDefaultFileOpenOptions("Silo")
    +readOptions["Force Single"] = 0
    +SetDefaultFileOpenOptions("Silo", readOptions)
    +
    +#
    +# Test ordinary float data (no conversion) first
    +#
    +AddPlot("Mesh","mesh")
    +DrawPlots()
    +Test("float_xform_01")
    +DeleteAllPlots()
    +
    +#
    +# Ok, now read a mesh with double coords
    +#
    +AddPlot("Mesh","meshD")
    +DrawPlots()
    +Test("float_xform_02")
    +DeleteAllPlots()
    +
    +CloseDatabase(silo_data_path("quad_disk.silo"))
    +OpenDatabase(silo_data_path("quad_disk.silo"))
    +
    +
    +#
    +# test float data on a float mesh
    +#
    +AddPlot("Pseudocolor","sphElev_on_mesh")
    +DrawPlots()
    +Test("float_xform_03")
    +DeleteAllPlots()
    +
    +#
    +# test float data on a double mesh
    +#
    +AddPlot("Pseudocolor","sphElev_on_meshD")
    +DrawPlots()
    +Test("float_xform_04")
    +DeleteAllPlots()
    +
    +#
    +# test double data on a float mesh
    +#
    +AddPlot("Pseudocolor","sphElevD_on_mesh")
    +DrawPlots()
    +Test("float_xform_05")
    +DeleteAllPlots()
    +
    +CloseDatabase(silo_data_path("quad_disk.silo"))
    +
    +OpenDatabase(silo_data_path("quad_disk.silo"))
    +
    +
    +#
    +# test double data on a double mesh
    +#
    +AddPlot("Pseudocolor","sphElevD_on_meshD")
    +DrawPlots()
    +Test("float_xform_06")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xyz.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xyz.html new file mode 100644 index 000000000..8be8d7bae --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xyz.html @@ -0,0 +1,76 @@ + +Results for databases/xyz.py + +

    Results of VisIt Regression Test - databases/xyz

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    xyz_010.000.00
    xyz_020.000.00
    xyz_030.000.00
    xyz_040.000.00
    xyz_050.000.00
    xyz_060.000.00
    xyz_070 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xyz_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xyz_py.html new file mode 100644 index 000000000..3ae263a47 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/databases_xyz_py.html @@ -0,0 +1,81 @@ +databases/xyz.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  xyz.py
    +#
    +#  Tests:      mesh      - 3D Points
    +#              plots     - Molecule
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       June 14, 2007
    +#
    +#  Modifications:
    +#    Eddie Rusu, Mon Aug 26 08:46:44 PDT 2019
    +#    Added test for cell-centered non VTK_VERTEX points.
    +#
    +#    Kathleen Biagas, Mon Jun 21 09:41:41 PDT 2021
    +#    Added 'DeleteAllPlots' before 'CloseDatabase'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def test_xyz_ascii_output(data_base_name, var, test_output):
    +    OpenDatabase(silo_data_path(data_base_name))
    +    AddPlot("Pseudocolor", var, 1, 1)
    +    DrawPlots()
    +
    +    # Export results to database
    +    e = ExportDBAttributes()
    +    e.db_type = "XYZ"
    +    e.filename = "test_ex_db"
    +    ExportDatabase(e)
    +    time.sleep(1)
    +
    +    # Stream the ascii text in from the exported database
    +    file_streamer = open(e.filename+'.xyz', 'r')
    +    string_to_test = file_streamer.read()
    +    file_streamer.close()
    +
    +    # Test the string
    +    TestText(test_output, string_to_test)
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(data_base_name))
    +
    +
    +
    +# Starting point in this script
    +OpenDatabase(data_path("xyz_test_data/nanowireTB23K298.xyz"),0, "XYZ_1.0")
    +
    +AddPlot("Molecule", "element")
    +DrawPlots()
    +
    +View3DAtts = GetView3D()
    +View3DAtts.viewNormal = (-0.882253, 0.0562832, 0.467398)
    +View3DAtts.focus = (26.3509, 22.1853, 31.5426)
    +View3DAtts.viewUp = (-0.0613441, 0.970619, -0.232672)
    +View3DAtts.viewAngle = 30
    +SetView3D(View3DAtts)
    +
    +Test("xyz_01")
    +TimeSliderNextState()
    +Test("xyz_02")
    +TimeSliderNextState()
    +Test("xyz_03")
    +TimeSliderNextState()
    +Test("xyz_04")
    +TimeSliderNextState()
    +Test("xyz_05")
    +TimeSliderNextState()
    +Test("xyz_06")
    +DeleteAllPlots()
    +CloseDatabase(data_path("xyz_test_data/nanowireTB23K298.xyz"))
    +
    +# Test case where XYZ writer is cell-centered VTK_VERTEX data
    +# In this case, the baseline text is generated from the point-centered data.
    +DefineScalarExpression("vz2", 'recenter(vz, "zonal")')
    +test_xyz_ascii_output('galaxy0000.silo', 'vz2', 'xyz_07')
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_ghost_zoneid_expr.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_ghost_zoneid_expr.html new file mode 100644 index 000000000..6d6136c2a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_ghost_zoneid_expr.html @@ -0,0 +1,58 @@ + +Results for expressions/ghost_zoneid_expr.py + +

    Results of VisIt Regression Test - expressions/ghost_zoneid_expr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Ghost Zone ID Expression
    Minimum Field Value
     0.0 .eq. 0.0 (prec=5) : True
    Maximum Field Value
     0.0 .eq. 0.0 (prec=5) : True
    Ghost Zone ID Expression w/ Inverse Ghost Zones Debugging
    Minimum Field Value
     1.0 .eq. 1.0 (prec=5) : True
    Maximum Field Value
     1.0 .eq. 1.0 (prec=5) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_ghost_zoneid_expr_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_ghost_zoneid_expr_py.html new file mode 100644 index 000000000..e8401e4b9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_ghost_zoneid_expr_py.html @@ -0,0 +1,46 @@ +expressions/ghost_zoneid_expr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ghost_zoneid_expr.py
    +#
    +#  Tests:      Ghost Zone Id Expression
    +#
    +#  Programmer: Justin Privitera
    +#  Date:       Wed Apr 6 15:03:47 PDT 2022
    +#
    +# ----------------------------------------------------------------------------
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +meshName = "mesh1"
    +
    +#
    +# Set precision for rounding operations
    +#
    +Prec = 5
    +
    +TestSection("Ghost Zone ID Expression")
    +
    +AddPlot("Pseudocolor", "d")
    +DefineScalarExpression("ghostzonevar", "ghost_zoneid(" + meshName + ")")
    +AddPlot("Pseudocolor", "ghostzonevar")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("Minimum Field Value", q['min'], 0.0, Prec)
    +TestValueEQ("Maximum Field Value", q['max'], 0.0, Prec)
    +DeleteAllPlots()
    +
    +TestSection("Ghost Zone ID Expression w/ Inverse Ghost Zones Debugging")
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("InverseGhostZone", 1)
    +DefineScalarExpression("ghostzonevar", "ghost_zoneid(" + meshName + ")")
    +ChangeActivePlotsVar("ghostzonevar")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("Minimum Field Value", q['min'], 1.0, Prec)
    +TestValueEQ("Maximum Field Value", q['max'], 1.0, Prec)
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_tensor_expr.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_tensor_expr.html new file mode 100644 index 000000000..ba9d7abcd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_tensor_expr.html @@ -0,0 +1,194 @@ + +Results for expressions/tensor_expr.py + +

    Results of VisIt Regression Test - expressions/tensor_expr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    2D Tensor Maximum Shear
    Maximum Shear 2D
     46.097721099853516 .eq. 46.09772 (prec=5) : True
    Maximum Shear 2D
     46.097721099853516 .eq. 46.09772 (prec=5) : True
    3D Tensor Maximum Shear
    Maximum Shear 3D
     12.5 .eq. 12.5 (prec=5) : True
    Maximum Shear 3D
     12.5 .eq. 12.5 (prec=5) : True
    2D Effective Tensor
    2D Effective Tensor
     81.24038696289062 .eq. 81.24039 (prec=5) : True
    2D Effective Tensor
     81.24038696289062 .eq. 81.24039 (prec=5) : True
    3D Effective Tensor
    Effective Tensor
     13.076696395874023 .eq. 13.0767 (prec=5) : True
    Effective Tensor
     13.076696395874023 .eq. 13.0767 (prec=5) : True
    3D, Symmetric Eigenvalues and Eigenvectors
    First Eigenvalue of 2
     2 .in. 
    [3.4142136573791504, 2.0, 0.5857864618301392]
     (prec=5, at=1) : True
    Second Eigenvalue of 2+sqrt(2)
     3.414213562373095 .in. 
    [3.4142136573791504, 2.0, 0.5857864618301392]
     (prec=5, at=0) : True
    Third Eigenvalue of 2-sqrt(2)
     0.5857864376269049 .in. 
    [3.4142136573791504, 2.0, 0.5857864618301392]
     (prec=5, at=2) : True
    First Eigenvector of (1,0,-1)
     (1, 0, -1) .in. 
    [[0.5, -0.70711, 0.5],
      [0.70711, 0.0, -0.70711],
      [0.5, 0.70711, 0.5]]
     (prec=5, at=1) : True
    Second Eigenvector of (1,-sqrt(2),1)
     (1, -1.4142135623730951, 1) .in. 
    [[0.5, -0.70711, 0.5],
      [0.70711, 0.0, -0.70711],
      [0.5, 0.70711, 0.5]]
     (prec=5, at=0) : True
    Third Eigenvector of (1,sqrt(2),1)
     (1, 1.4142135623730951, 1) .in. 
    [[0.5, -0.70711, 0.5],
      [0.70711, 0.0, -0.70711],
      [0.5, 0.70711, 0.5]]
     (prec=5, at=2) : True
    3D, Symmetric Eigenvalues and Eigenvectors with Repeated values
    First Eigenvalue of -1
     -1 .in. 
    [8.0, -1.0, -1.0]
     (prec=5, at=1) : True
    Second Eigenvalue of -1
     -1 .in. 
    [8.0, -1.0]
     (prec=5, at=1) : True
    Third Eigenvalue of 8
     8 .in. 
    [8.0, -1.0]
     (prec=5, at=0) : True
    First Eigenvector of (1,-2,0)
     (1, -2, 0) .in. 
    [[0.666667, 0.333333, 0.666667],
      [0.596285, 0.298142, -0.745356],
      [-0.447214, 0.894427, 0.0]]
     (prec=5, at=2) : True
    Second Eigenvector of (4,2,-5)
     (4, 2, -5) .in. 
    [[0.666667, 0.333333, 0.666667],
      [0.596285, 0.298142, -0.745356],
      [-0.447214, 0.894427, 0.0]]
     (prec=5, at=1) : True
    Third Eigenvector of (2,1,2)
     (2, 1, 2) .in. 
    [[0.666667, 0.333333, 0.666667],
      [0.596285, 0.298142, -0.745356],
      [-0.447214, 0.894427, 0.0]]
     (prec=5, at=0) : True
    Cross Principal Stresses and Eigenvalues
    First principal component is first eigenvalue
     -1 .in. 
    [8.0, -1.0, -1.0]
     (prec=5, at=1) : True
    Second principal component is second eigenvalue
     -1 .in. 
    [8.0, -1.0]
     (prec=5, at=1) : True
    Third principal component is third eigenvalue
     8 .in. 
    [8.0, -1.0]
     (prec=5, at=0) : True
    2D, Symmetric Eigenvalues and Eigenvectors
    First Eigenvalue of -1
     -1 .in. 
    [5.0, 0.0, -1.0]
     (prec=5, at=2) : True
    Second Eigenvalue of 5
     5 .in. 
    [5.0, 0.0, -1.0]
     (prec=5, at=0) : True
    First Eigenvector of (1,-1)
     (1, -1) .in. 
    [[0.70711, 0.70711, 0.0],
      [0.70711, -0.70711, 0.0]]
     (prec=5, at=1) : True
    Second Eigenvector of (1,1)
     (1, 1) .in. 
    [[0.70711, 0.70711, 0.0],
      [0.70711, -0.70711, 0.0]]
     (prec=5, at=0) : True
    3D, Complex Eigenvalues and Eigenvectors
    First Eigenvalue of 2
     2 .in. 
    [2.0, 1.4000000953674316, 0.19999998807907104]
     (prec=5, at=0) : True
    Second Eigenvalue of (4+3i)/5
     1.4 .in. 
    [2.0, 1.4000000953674316, 0.19999998807907104]
     (prec=5, at=1) : True
    Third Eigenvalue of (4-3i)/5
     0.2 .in. 
    [2.0, 1.4000000953674316, 0.19999998807907104]
     (prec=5, at=2) : True
    First Eigenvector of (0,0,1)
     (0, 0, 1) .in. 
    [[0.0, 0.0, 1.0],
      [0.70711, -0.70711, 0.0],
      [0.70711, 0.70711, 0.0]]
     (prec=5, at=0) : True
    Cross Check Deviatoric and Principal Stresses
    Principal deviatoric and principal-tr()/3 agree
     [6.0, -3.0, -3.0] .eq. [6.0, -3.0, -3.0]
     (prec=5) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_tensor_expr_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_tensor_expr_py.html new file mode 100644 index 000000000..cbccf33f2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/expressions_tensor_expr_py.html @@ -0,0 +1,262 @@ +expressions/tensor_expr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  tensor_expr.py
    +#
    +#  Tests:      tensor expressions using simple, constant valued tensors for
    +#              which answers are known. The known answers were obtained by
    +#              scouring the internet for example problems that were worked.
    +#
    +#  Mark C. Miller, Mon Nov 11 14:52:02 PST 2019
    +#
    +# ----------------------------------------------------------------------------
    +import math, re
    +
    +#
    +# Scans a string for possible python iterables, builds a list of them
    +# and returns them with their values rounded to specific numbers of
    +# digits.
    +#
    +def ExtractIterablesFromString(s,pair='()',rnd=4):
    +    retval = []
    +    for q in s.split(pair[0]):
    +        for r in q.split(pair[1]):
    +            if re.match('^[ 0-9eE.,+-]+$', r):
    +                retval.append([round(float(x),rnd) for x in r.split(',')])
    +    return retval
    +
    +def EqualEigVecs(a,b):
    +    r = []
    +    for i in range(len(b)):
    +        if b[i] != 0:
    +            r.append(float(a[i])/float(b[i]))
    +    if min(r) == 0:
    +        return max(r) < pow(10,-Prec+1)
    +    else:
    +        return abs((max(r)/min(r))-1) < pow(10,-Prec+1)
    +
    +#
    +# Creates a group of related expressions; 9 constant scalar expressions and
    +# from them a constant tensor expression with specified centering all in a
    +# sub-menu with of the given name. For 2D meshes, you would still create a
    +# 9 component (3x3) tensor but the z-dimension values would all be zeros.
    +#
    +def CreateConstantTensorExpr(name, meshName, constType, vals):
    +    comps = ("s11","s12","s13","s21","s22","s23","s31","s32","s33")
    +    for i in range(len(vals)):
    +        DefineScalarExpression("%s/%s"%(name,comps[i]),\
    +            "%s_constant(<%s>, %g)"%(constType,meshName,vals[i]))
    +    DefineTensorExpression("%s/tensor"%name,
    +        "{{<%s/s11>,<%s/s12>,<%s/s13>},\
    +          {<%s/s21>,<%s/s22>,<%s/s23>},\
    +          {<%s/s31>,<%s/s32>,<%s/s33>}}"%(name, name, name, name,\
    +              name, name, name, name, name))
    +
    +#
    +# Set precision for rounding operations
    +#
    +Prec = 5
    +
    +#  Since we use the expression system to construct mesh-wide constant values,
    +#  all we need as far as a database is a simple, small mesh. Maybe for both
    +#  two and three dimensions.
    +OpenDatabase(silo_data_path("arbpoly.silo"))
    +meshName = "clipped_hex"
    +
    +TestSection("2D Tensor Maximum Shear")
    +CreateConstantTensorExpr("max_shear_2d", meshName, "nodal",\
    +   (50,  30,   0,\
    +    30, -20,   0,\
    +     0,   0,   0))
    +DefineScalarExpression("max_shear_2d/result", "tensor_maximum_shear(<max_shear_2d/tensor>)")
    +AddPlot("Pseudocolor", "max_shear_2d/result")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("Maximum Shear 2D", q['min'], 46.09772, Prec)
    +TestValueEQ("Maximum Shear 2D", q['max'], 46.09772, Prec)
    +DeleteAllPlots()
    +
    +TestSection("3D Tensor Maximum Shear")
    +CreateConstantTensorExpr("max_shear", meshName, "nodal",\
    +   (5,   0,   0,\
    +    0,  -6, -12,\
    +    0, -12,   1))
    +DefineScalarExpression("max_shear/result", "tensor_maximum_shear(<max_shear/tensor>)")
    +AddPlot("Pseudocolor", "max_shear/result")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("Maximum Shear 3D", q['min'], 12.5, Prec)
    +TestValueEQ("Maximum Shear 3D", q['max'], 12.5, Prec)
    +DeleteAllPlots()
    +
    +TestSection("2D Effective Tensor")
    +CreateConstantTensorExpr("eff_tensor_2d", meshName, "nodal",\
    +   (50,  30,   0,\
    +    30, -20,   0,\
    +     0,   0,   0))
    +DefineScalarExpression("eff_tensor_2d/result", "effective_tensor(<eff_tensor_2d/tensor>)")
    +AddPlot("Pseudocolor", "eff_tensor_2d/result")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("2D Effective Tensor", q['min'], 81.24039, Prec)
    +TestValueEQ("2D Effective Tensor", q['max'], 81.24039, Prec)
    +DeleteAllPlots()
    +
    +TestSection("3D Effective Tensor")
    +CreateConstantTensorExpr("eff_tensor", meshName, "nodal",\
    +   (2,  -3,   4,\
    +   -3,  -5,   1,\
    +    4,   1,   6))
    +DefineScalarExpression("eff_tensor/result", "effective_tensor(<eff_tensor/tensor>)")
    +AddPlot("Pseudocolor", "eff_tensor/result")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("Effective Tensor", q['min'], 13.0767, Prec)
    +TestValueEQ("Effective Tensor", q['max'], 13.0767, Prec)
    +DeleteAllPlots()
    +
    +TestSection("3D, Symmetric Eigenvalues and Eigenvectors")
    +CreateConstantTensorExpr("eigvals_symm2", meshName, "nodal",\
    +    (2, -1,  0,\
    +    -1,  2, -1,\
    +     0, -1,  2))
    +DefineVectorExpression("eigvals_symm2/result", "eigenvalue(<eigvals_symm2/tensor>)")
    +AddPlot("Vector", "eigvals_symm2/result")
    +DrawPlots()
    +p = PickByNode(0,('eigvals_symm2/result',))
    +eigvals = list(p['eigvals_symm2/result'])
    +TestValueIN("First Eigenvalue of 2", eigvals, 2, Prec)
    +TestValueIN("Second Eigenvalue of 2+sqrt(2)", eigvals, 2+math.sqrt(2), Prec)
    +TestValueIN("Third Eigenvalue of 2-sqrt(2)",  eigvals, 2-math.sqrt(2), Prec)
    +DeleteAllPlots()
    +DefineTensorExpression("eigvals_symm2/result2", "transpose(eigenvector(<eigvals_symm2/tensor>))")
    +AddPlot("Tensor", "eigvals_symm2/result2")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +vecs = ExtractIterablesFromString(s, '()', Prec)
    +TestValueIN("First Eigenvector of (1,0,-1)", vecs, (1,0,-1), Prec, EqualEigVecs)
    +TestValueIN("Second Eigenvector of (1,-sqrt(2),1)", vecs, (1,-math.sqrt(2),1), Prec, EqualEigVecs)
    +TestValueIN("Third Eigenvector of (1,sqrt(2),1)", vecs, (1,math.sqrt(2),1), Prec, EqualEigVecs)
    +
    +TestSection("3D, Symmetric Eigenvalues and Eigenvectors with Repeated values")
    +CreateConstantTensorExpr("eigvals_symm", meshName, "nodal",\
    +    (3,2,4,\
    +     2,0,2,\
    +     4,2,3))
    +DefineVectorExpression("eigvals_symm/result", "eigenvalue(<eigvals_symm/tensor>)")
    +AddPlot("Vector", "eigvals_symm/result")
    +DrawPlots()
    +p = PickByNode(0)
    +eigvals = list(p['eigvals_symm/result'])
    +TestValueIN("First Eigenvalue of -1", eigvals, -1, Prec)
    +eigvals.remove(-1)
    +TestValueIN("Second Eigenvalue of -1", eigvals, -1, Prec)
    +TestValueIN("Third Eigenvalue of 8", eigvals, 8, Prec)
    +DeleteAllPlots()
    +DefineTensorExpression("eigvals_symm/result2", "transpose(eigenvector(<eigvals_symm/tensor>))")
    +AddPlot("Tensor", "eigvals_symm/result2")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +vecs = ExtractIterablesFromString(s, '()', Prec+1)
    +TestValueIN("First Eigenvector of (1,-2,0)", vecs, (1,-2,0), Prec, EqualEigVecs)
    +TestValueIN("Second Eigenvector of (4,2,-5)", vecs, (4,2,-5), Prec, EqualEigVecs)
    +TestValueIN("Third Eigenvector of (2,1,2)", vecs, (2,1,2), Prec, EqualEigVecs)
    +DeleteAllPlots()
    +
    +# Confirm principal_tensor function gives same result as above
    +TestSection("Cross Principal Stresses and Eigenvalues")
    +DefineVectorExpression("pcomps_symm/result", "principal_tensor(<eigvals_symm/tensor>)")
    +AddPlot("Vector", "pcomps_symm/result")
    +DrawPlots()
    +p = PickByNode(0)
    +pcomps = list(p['pcomps_symm/result'])
    +TestValueIN("First principal component is first eigenvalue", pcomps, -1, Prec)
    +pcomps.remove(-1) # elim the first of the expected two -1 eigvals
    +TestValueIN("Second principal component is second eigenvalue", pcomps, -1, Prec)
    +TestValueIN("Third principal component is third eigenvalue", pcomps, 8, Prec)
    +
    +TestSection("2D, Symmetric Eigenvalues and Eigenvectors")
    +CreateConstantTensorExpr("eigvals_symm_2d", meshName, "nodal",\
    +    (2,  3,  0,\
    +     3,  2,  0,\
    +     0,  0,  0))
    +DefineVectorExpression("eigvals_symm_2d/result", "eigenvalue(<eigvals_symm_2d/tensor>)")
    +AddPlot("Vector", "eigvals_symm_2d/result")
    +DrawPlots()
    +p = PickByNode(0,('eigvals_symm_2d/result',))
    +eigvals = list(p['eigvals_symm_2d/result'])
    +TestValueIN("First Eigenvalue of -1", eigvals, -1, Prec)
    +TestValueIN("Second Eigenvalue of 5", eigvals, 5, Prec)
    +DeleteAllPlots()
    +DefineTensorExpression("eigvals_symm_2d/result2", "transpose(eigenvector(<eigvals_symm_2d/tensor>))")
    +AddPlot("Tensor", "eigvals_symm_2d/result2")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +vecs = ExtractIterablesFromString(s, '()', Prec)
    +vecs.remove([0,0,1]) # we have to take out the Z eigenvector
    +TestValueIN("First Eigenvector of (1,-1)", vecs, (1,-1), Prec, EqualEigVecs)
    +TestValueIN("Second Eigenvector of (1,1)", vecs, (1,1), Prec, EqualEigVecs)
    +
    +#
    +# Test a case where eigenvalues are complex (e.g. imaginary)
    +# The real eigenvalues are 2, (4+3i)/5, (4-3i)/5 but what you
    +# get from VisIt is 2, 7/5, 1/5 (as though i==1 in the above).
    +#
    +TestSection("3D, Complex Eigenvalues and Eigenvectors")
    +CreateConstantTensorExpr("eigvals_complex", meshName, "nodal",\
    +    (4.0/5.0, -3.0/5.0,     0,\
    +     3.0/5.0,  4.0/5.0,     0,\
    +        1,        2,        2))
    +DefineVectorExpression("eigvals_complex/result", "eigenvalue(<eigvals_complex/tensor>)")
    +AddPlot("Vector", "eigvals_complex/result")
    +DrawPlots()
    +p = PickByNode(0)
    +eigvals = list(p['eigvals_complex/result'])
    +TestValueIN("First Eigenvalue of 2", eigvals, 2, Prec)
    +TestValueIN("Second Eigenvalue of (4+3i)/5", eigvals, float(4+3)/5.0, Prec)
    +TestValueIN("Third Eigenvalue of (4-3i)/5", eigvals, float(4-3)/5.0, Prec)
    +DeleteAllPlots()
    +DefineTensorExpression("eigvals_complex/result2", "transpose(eigenvector(<eigvals_complex/tensor>))")
    +AddPlot("Tensor", "eigvals_complex/result2")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +vecs = ExtractIterablesFromString(s, '()', Prec)
    +TestValueIN("First Eigenvector of (0,0,1)", vecs, (0,0,1), Prec, EqualEigVecs)
    +DeleteAllPlots()
    +
    +# Re-use eigvals_symm here
    +TestSection("Cross Check Deviatoric and Principal Stresses")
    +DefineVectorExpression("eigvals_symm/dev", "principal_deviatoric_tensor(<eigvals_symm/tensor>)")
    +AddPlot("Vector", "eigvals_symm/dev")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +dev_vec = ExtractIterablesFromString(s, '()', Prec)
    +DeleteAllPlots()
    +DefineScalarExpression("eigvals_symm/tr3", "trace(<eigvals_symm/tensor>)/3.0")
    +DefineTensorExpression("eigvals_symm/tensor3",\
    +"""
    +    {{<eigvals_symm/tensor>[0][0]-<eigvals_symm/tr3>, <eigvals_symm/tensor>[0][1], <eigvals_symm/tensor>[0][2]},
    +     {<eigvals_symm/tensor>[1][0], <eigvals_symm/tensor>[1][1]-<eigvals_symm/tr3>, <eigvals_symm/tensor>[1][2]},
    +     {<eigvals_symm/tensor>[2][0], <eigvals_symm/tensor>[2][1], <eigvals_symm/tensor>[2][2]-<eigvals_symm/tr3>}}
    +"""
    +)
    +DefineVectorExpression("eigvals_symm/dev2", "principal_tensor(<eigvals_symm/tensor3>)")
    +AddPlot("Vector", "eigvals_symm/dev2")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +dev2_vec = ExtractIterablesFromString(s, '()', Prec)
    +DeleteAllPlots()
    +TestValueEQ("Principal deviatoric and principal-tr()/3 agree", dev_vec[0], dev2_vec[0])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_badfile.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_badfile.html new file mode 100644 index 000000000..68d48061a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_badfile.html @@ -0,0 +1,40 @@ + +Results for faulttolerance/badfile.py + +

    Results of VisIt Regression Test - faulttolerance/badfile

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    badfile_020 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_badfile_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_badfile_py.html new file mode 100644 index 000000000..92c304d98 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_badfile_py.html @@ -0,0 +1,34 @@ +faulttolerance/badfile.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Tests: The quality of the error message being produced when opening a bad
    +#         file.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 12, 2007
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +
    +TurnOnAllAnnotations()
    +
    +# Make zero-length Silo file.  The Silo reader is smart enough to not
    +# crash, which means we can test the normal error message.
    +f = open("junk.silo", "w")
    +f.close()
    +OpenDatabase("junk.silo")
    +e = GetLastError()
    +#TestText("badfile_01", e)
    +
    +# Make zero-length VTK file.  The VTK reader crashes in this case.  If the
    +# VTK reader is ever improved, then we'll have to locate a reader that
    +# crashes successfully.  (Maybe we'll write one.)
    +f = open("junk.vtk", "w")
    +f.close()
    +OpenDatabase("junk.vtk")
    +e = GetLastError()
    +TestText("badfile_02", e)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_checkmode.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_checkmode.html new file mode 100644 index 000000000..f6fab913c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_checkmode.html @@ -0,0 +1,60 @@ + +Results for faulttolerance/checkmode.py + +

    Results of VisIt Regression Test - faulttolerance/checkmode

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    All mode strings compatible
     "True" .eq. "True" : True
    Engine matches mode
     "True" .eq. "True" : True
    Silo data path matches mode
     "True" .eq. "True" : True
    Scalable setting matches mode
     "True" .eq. "True" : True
    Icet clarg matches mode
     "True" .eq. "True" : True
    Allowdynamic clarg matches mode
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_checkmode_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_checkmode_py.html new file mode 100644 index 000000000..e70076683 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_checkmode_py.html @@ -0,0 +1,111 @@ +faulttolerance/checkmode.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Tests: Ensures VisIt and/or the test harness is in the correct "mode".
    +#
    +#  Mark C. Miller, Mon Sep 28 16:24:44 PDT 2020
    +#
    +# Modifications:
    +#    Mark C. Miller, Mon Jan 11 10:32:17 PST 2021
    +#    Replace AssertTrue() with TestValueEQ(..., True)
    +# ----------------------------------------------------------------------------
    +import json
    +import sys
    +
    +#
    +# Obtain mode info directly from top-level command-line args passed to test
    +# suite harness and stored to "clargs" member of TestEnv.params instead of
    +# using any of the alternative logic in the test harness. This ensures we
    +# compare with actual mode(s) requested on command-line.
    +#
    +def GetModeKeysFromClArgs():
    +    clargs = json.loads(TestEnv.params["clargs"])
    +    for i in range(len(clargs)):
    +        if clargs[i] == '-m':
    +            return clargs[i+1].split(',')
    +        elif clargs[i][0:7] == '--mode=':
    +            return clargs[i][8:].split(',')
    +    return ('serial',)
    +
    +#
    +# Ensure all mode keys are compatible
    +#
    +def AllModeKeysCompatible():
    +    if 'serial' in activeModeKeys and 'parallel' in activeModeKeys:
    +        return False
    +    if 'pdb' in activeModeKeys and 'hdf5' in activeModeKeys:
    +        return False
    +    if 'icet' in activeModeKeys and 'parallel' not in activeModeKeys:
    +        return False
    +    return True
    +
    +#
    +# Check that engine matches the specified mode
    +#
    +def EngineMatchesMode():
    +    pa = GetProcessAttributes("engine")
    +    if 'parallel' in activeModeKeys:
    +        if pa.isParallel:
    +            if len(pa.pids) > 1:
    +                return True
    +    else:
    +        if not pa.isParallel:
    +            if len(pa.pids) == 1:
    +                return True
    +    return False
    +
    +#
    +# Check that Silo data path matches its mode
    +#
    +def SiloDataPathMatchesMode():
    +    if 'pdb' in activeModeKeys:
    +        if 'silo_pdb_test_data' in silo_data_path(''):
    +            return True
    +    else:
    +        if 'silo_hdf5_test_data' in silo_data_path(''):
    +            return True
    +    return False
    +
    +#
    +# Ensure rendering mode matches mode
    +#
    +def ScalableSettingMatchesMode():
    +    ra = GetRenderingAttributes()
    +    if 'scalable' in activeModeKeys:
    +        if ra.scalableActivationMode == ra.Always:
    +            return True
    +    else:
    +        if ra.scalableActivationMode == ra.Never:
    +            return True
    +    return False
    +
    +def IcetClargMatchesMode():
    +    if 'icet' in activeModeKeys and '-icet' not in sys.argv:
    +        return False
    +    if '-icet' in sys.argv and 'icet' not in activeModeKeys:
    +        return False
    +    return True
    +
    +def AllowdynamicClargMatchesMode():
    +    if 'dlb' in activeModeKeys and '-allowdynamic' not in sys.argv:
    +        return False
    +    if '-allowdynamic' in sys.argv and 'dlb' not in activeModeKeys:
    +        return False
    +    return True
    +
    +#
    +# Capture clargs and known mode keys from raw data entries stored
    +# to TestEnv.params. Do this once, now, instead of each time we
    +# need to interrogate their contents in the above functions.
    +#
    +activeModeKeys = GetModeKeysFromClArgs()
    +
    +TestValueEQ("All mode strings compatible", AllModeKeysCompatible(), True)
    +TestValueEQ("Engine matches mode", EngineMatchesMode(), True)
    +TestValueEQ("Silo data path matches mode", SiloDataPathMatchesMode(), True)
    +TestValueEQ("Scalable setting matches mode", ScalableSettingMatchesMode(), True)
    +TestValueEQ("Icet clarg matches mode", IcetClargMatchesMode(), True)
    +TestValueEQ("Allowdynamic clarg matches mode", AllowdynamicClargMatchesMode(), True)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_savewindow.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_savewindow.html new file mode 100644 index 000000000..dd0eb558e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_savewindow.html @@ -0,0 +1,40 @@ + +Results for faulttolerance/savewindow.py + +

    Results of VisIt Regression Test - faulttolerance/savewindow

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    SaveWindowEngineCrash0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_savewindow_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_savewindow_py.html new file mode 100644 index 000000000..6ec76c39e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/faulttolerance_savewindow_py.html @@ -0,0 +1,57 @@ +faulttolerance/savewindow.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Tests: weather or not SaveWindow can result in a python exception
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       March 7, 2006 
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Tue Feb 8, 2022
    +#    Use run_dir as outputDirectory instead of current. It is in the
    +#    testing output directory and is cleaned up on exit.
    +#    Added taskkill for Windows to kill the engine.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +
    +TurnOnAllAnnotations()
    +
    +swa = SaveWindowAttributes()
    +swa.outputToCurrentDirectory = 0
    +swa.outputDirectory = TestEnv.params["run_dir"]
    +SetSaveWindowAttributes(swa)
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor","pressure")
    +DrawPlots()
    +
    +pa = GetProcessAttributes("engine")
    +enginePid = int(pa.pids[0])
    +
    +s = ""
    +
    +for i in range(6):
    +    TimeSliderSetState(i)
    +    if i == 3:
    +        if sys.platform.startswith("win"):
    +            os.system("taskkill.exe /F /PID %d /T"%enginePid)
    +        else:
    +            os.system("kill -9 %d"%enginePid)
    +    try:
    +        SaveWindow()
    +    except Exception as inst:
    +        s = s + "save %d had exception \"%s\"\n"%(i,inst);
    +    else:
    +        s = s + "save %d succeeded\n"%i;
    +
    +TestText("SaveWindowEngineCrash", s)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-a.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-a.html new file mode 100644 index 000000000..d11c5203d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-a.html @@ -0,0 +1,108 @@ + +Results for hybrid/cinema-a.py + +

    Results of VisIt Regression Test - hybrid/cinema-a

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Cinema spec A static camera
    cinema_0_000 modifications totalling 0 lines
    cinema_0_010 modifications totalling 0 lines
    cinema_0_020 modifications totalling 0 lines
    cinema_0_030.000.00
    Cinema spec A phi-theta camera
    cinema_1_000 modifications totalling 0 lines
    cinema_1_010 modifications totalling 0 lines
    cinema_1_020 modifications totalling 0 lines
    cinema_1_030.000.00
    cinema_1_040.000.00
    cinema_1_050.000.00
    cinema_1_060.000.00
    cinema_1_070.000.00
    cinema_1_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-a_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-a_py.html new file mode 100644 index 000000000..32c72d397 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-a_py.html @@ -0,0 +1,214 @@ +hybrid/cinema-a.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cinema-a.py
    +#
    +#  Tests:      Tests various aspects of "visit -cinema".
    +#
    +#  Notes:      
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Feb 15 16:37:20 PST 2018
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Friday December 14, 2018
    +#    Fixes for running on Windows: Use abs_path for short_wave.visit, and cdb,
    +#    use 'repr(db)' when writing script file to preserve '\' escapes.
    +#    Replace forward-slash with back-slash in pattern.
    +#
    +#    Kathleen Biagas, Tue Jun 11 11:44:14 PDT 2019
    +#    Pass '-noconfig' to generated command line in GenerateCinema.
    +#
    +#    Kathleen Biagas, Tue Sep 14 09:51:45 PDT 2021
    +#    Added call to CloseComputeEngine to GenerateCinema method, since the
    +#    cinema script launches its own. Prevents a hang when run in parallel.
    +#
    +#    Kathleen Biagas, Tue Sep 21 17:22:58 PDT 2021
    +#    Removed CloseComputeEngine, it prevented the non-cinema-generation parts
    +#    of the test from running in parallel.  If the nightlies use srun,
    +#    add "--overlap" srun option.  This allows cinema test to succeed in
    +#    parallel with recent changes to slurm.
    +#
    +# ----------------------------------------------------------------------------
    +import os
    +import subprocess
    +
    +def GenerateCinema(cinemaArgs):
    +    args = [TestEnv.params["visit_bin"], "-noconfig", "-cinema"] + cinemaArgs
    +    if TestEnv.params["parallel"]:
    +        args = args + ["-np", "2", "-l", TestEnv.params["parallel_launch"]]
    +        if TestEnv.params["parallel_launch"] == "srun":
    +            args = args + ["-la", "--overlap"]
    +    p = subprocess.check_output(args)
    +    return p
    +
    +def GetFileList(path0):
    +    def gfl(path):
    +        outfiles = []
    +        files = os.listdir(path)
    +        for f in sorted(files):
    +            fpath = os.path.join(path, f)
    +            if os.path.isdir(fpath):
    +                outfiles = outfiles + gfl(fpath)
    +            else:
    +                outfiles = outfiles + [fpath[lpath0+1:]]
    +        return outfiles
    +    lpath0 = len(path0)
    +    return gfl(path0)
    +
    +def ListToString(files):
    +    s = ""
    +    for f in files:
    +        s += f
    +        s += "\n"
    +    return s
    +
    +def GetFile(manyfilenames, filename):
    +    for f in manyfilenames:
    +        if f.find(filename) != -1:
    +            return f
    +    return ""
    +
    +def ReadTextFile(filename):
    +    lines = open(filename, "rt").readlines()
    +    s = ""
    +    for line in lines:
    +        s += line
    +    return s
    +
    +def test0(db):
    +    TestSection("Cinema spec A static camera")
    +    f = open("test0.py", "wt")
    +    f.write("OpenDatabase(%s)\n" % repr(db))
    +    f.write('AddPlot("Pseudocolor", "pressure")\n')
    +    f.write('DrawPlots()\n')
    +    f.write('v = GetView3D()\n')
    +    f.write('v.viewNormal = (-0.569392, 0.672931, 0.472183)\n')
    +    f.write('v.focus = (5, 0.353448, 2.5)\n')
    +    f.write('v.viewUp = (0.562941, 0.737756, -0.372577)\n')
    +    f.write('v.viewAngle = 30\n')
    +    f.write('v.parallelScale = 5.6009\n')
    +    f.write('v.nearPlane = -11.2018\n')
    +    f.write('v.farPlane = 11.2018\n')
    +    f.write('v.imagePan = (0.0431021, 0.0442006)\n')
    +    f.write('v.imageZoom = 1.06444\n')
    +    f.write('v.perspective = 1\n')
    +    f.write('v.eyeAngle = 2\n')
    +    f.write('v.centerOfRotationSet = 0\n')
    +    f.write('v.centerOfRotation = (5, 0.353448, 2.5)\n')
    +    f.write('v.axis3DScaleFlag = 0\n')
    +    f.write('v.axis3DScales = (1, 1, 1)\n')
    +    f.write('v.shear = (0, 0, 1)\n')
    +    f.write('v.windowValid = 1\n')
    +    f.write('SetView3D(v)\n')
    +    f.write('a = GetAnnotationAttributes()\n')
    +    f.write('a.axes3D.visible = 0\n')
    +    f.write('a.axes3D.bboxFlag = 0\n')
    +    f.write('a.axes3D.triadFlag = 0\n')
    +    f.write('a.legendInfoFlag = 0\n')
    +    f.write('a.databaseInfoFlag = 0\n')
    +    f.write('a.userInfoFlag = 0\n')
    +    f.write('SetAnnotationAttributes(a)\n')
    +    f.close()
    +
    +    cdb = abs_path(TestEnv.params["run_dir"], "test0.cdb")
    +    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
    +    args = ["-specification", "A", "-scriptfile", "test0.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "static"]
    +    TestText("cinema_0_00", ListToString(args))
    +
    +    output = GenerateCinema(args)
    +
    +    files = GetFileList(cdb)
    +    TestText("cinema_0_01", ListToString(files))
    +
    +    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
    +    TestText("cinema_0_02", json)
    +
    +    firstimg = os.path.join(cdb, GetFile(files, ".png"))
    +    OpenDatabase(firstimg)
    +    AddPlot("Truecolor", "color")
    +    DrawPlots()
    +    v = GetView2D()
    +    v.viewportCoords = (0,1,0,1)
    +    SetView2D(v)
    +    Test("cinema_0_03")
    +    DeleteAllPlots()
    +    CloseDatabase(firstimg)
    +
    +def test1(db):
    +    TestSection("Cinema spec A phi-theta camera")
    +    f = open("test1.py", "wt")
    +    f.write("OpenDatabase(%s)\n" % repr(db))
    +    f.write('AddPlot("Pseudocolor", "pressure")\n')
    +    f.write('DrawPlots()\n')
    +    f.write('a = GetAnnotationAttributes()\n')
    +    f.write('a.axes3D.visible = 0\n')
    +    f.write('a.axes3D.bboxFlag = 0\n')
    +    f.write('a.axes3D.triadFlag = 0\n')
    +    f.write('a.legendInfoFlag = 0\n')
    +    f.write('a.databaseInfoFlag = 0\n')
    +    f.write('a.userInfoFlag = 0\n')
    +    f.write('SetAnnotationAttributes(a)\n')
    +    f.close()
    +
    +    cdb = abs_path(TestEnv.params["run_dir"], "test1.cdb")
    +
    +    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
    +    args = ["-specification", "A", "-scriptfile", "test1.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "phi-theta", "-phi", "6", "-theta", "5", "-stride", "3"]
    +    TestText("cinema_1_00", ListToString(args))
    +
    +    output = GenerateCinema(args)
    +
    +    files = GetFileList(cdb)
    +    TestText("cinema_1_01", ListToString(files))
    +
    +    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
    +    TestText("cinema_1_02", json)
    +
    +    # Use the JSON to come up with some filenames to plot. We will vary phi.
    +    params = eval(json)
    +    theta_values = [str(x) for x in params["arguments"]["theta"]["values"]]
    +    phi_values = [str(x) for x in  params["arguments"]["phi"]["values"]]
    +    time_values = params["arguments"]["time"]["values"]
    +
    +    theta = theta_values[len(theta_values)//4]
    +    time = time_values[0]
    +    i = 3
    +    for phi in phi_values:
    +        pattern = params["name_pattern"]
    +        if sys.platform.startswith("win"):
    +            pattern = pattern.replace("/", "\\")
    +        name = pattern.replace("{phi}", phi)
    +        name = name.replace("{theta}", theta)
    +        name = name.replace("{time}", time)
    +
    +        img = os.path.join(cdb, GetFile(files, name))
    +        OpenDatabase(img)
    +        AddPlot("Truecolor", "color")
    +        DrawPlots()
    +        v = GetView2D()
    +        v.viewportCoords = (0,1,0,1)
    +        SetView2D(v)
    +        Test("cinema_1_%02d" % i)
    +        DeleteAllPlots()
    +        CloseDatabase(img)
    +        i = i + 1
    +
    +def MakeShortWave():
    +    db = abs_path("short_wave.visit")
    +    f = open(db, "wt")
    +    for i in range(0, 700, 100):
    +        f.write(silo_data_path("wave%04d.silo" % i) + "\n")
    +    f.close()
    +    return os.path.abspath(db)
    +
    +def main():
    +    db = MakeShortWave()
    +    test0(db)
    +    test1(db)
    +
    +    os.unlink(db)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-c.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-c.html new file mode 100644 index 000000000..cbcd0ef44 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-c.html @@ -0,0 +1,210 @@ + +Results for hybrid/cinema-c.py + +

    Results of VisIt Regression Test - hybrid/cinema-c

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Cinema spec C static camera
    cinema_2_000 modifications totalling 0 lines
    cinema_2_010 modifications totalling 0 lines
    cinema_2_020 modifications totalling 0 lines
    cinema_2_03_lum0.000.00
    cinema_2_03_z0.000.00
    cinema_2_03_pressure0.000.00
    cinema_2_03_v0.000.00
    cinema_2_04_lum0.000.00
    cinema_2_04_z0.000.00
    cinema_2_04_pressure0.000.00
    cinema_2_04_v0.000.00
    Cinema spec C phi-theta camera
    cinema_3_000 modifications totalling 0 lines
    cinema_3_010 modifications totalling 0 lines
    cinema_3_020 modifications totalling 0 lines
    cinema_3_03_lum0.000.00
    cinema_3_03_z0.000.00
    cinema_3_03_pressure0.000.00
    cinema_3_03_v0.000.00
    cinema_3_04_lum0.000.00
    cinema_3_04_z0.000.00
    cinema_3_04_pressure0.000.00
    cinema_3_04_v0.000.00
    cinema_3_05_lum0.000.00
    cinema_3_05_z0.000.00
    cinema_3_05_pressure0.000.00
    cinema_3_05_v0.000.00
    cinema_3_06_lum0.000.00
    cinema_3_06_z0.000.00
    cinema_3_06_pressure0.000.00
    cinema_3_06_v0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-c_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-c_py.html new file mode 100644 index 000000000..469c0c489 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cinema-c_py.html @@ -0,0 +1,258 @@ +hybrid/cinema-c.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cinema-a.py
    +#
    +#  Tests:      Tests various aspects of "visit -cinema".
    +#
    +#  Notes:      
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Feb 15 16:37:20 PST 2018
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Jun 11 11:44:14 PDT 2019
    +#    Pass '-noconfig' to generated command line in GenerateCinema.
    +#
    +#    Kathleen Biagas, Tue Apr 13 2021
    +#    Port to python-3. Fix for Windows: Use abs_path for short_wave.visit,
    +#    use 'repr(db)' when writing script file to preserve '\' escapes.
    +#
    +#    Kathleen Biagas, Tue Sep 14 09:51:45 PDT 2021
    +#    Added call to CloseComputeEngine to GenerateCinema method, since the
    +#    cinema script launches its own. Prevents a hang when run in parallel.
    +#
    +#    Kathleen Biagas, Tue Sep 21 17:22:58 PDT 2021
    +#    Removed CloseComputeEngine, it prevented the non-cinema-generation parts
    +#    of the test from running in parallel.  If the nightlies use srun,
    +#    add "--overlap" srun option.  This allows cinema test to succeed in
    +#    parallel with recent changes to slurm.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import math, os, string, subprocess, zlib
    +
    +def GenerateCinema(cinemaArgs):
    +    args = [TestEnv.params["visit_bin"], "-noconfig", "-cinema"] + cinemaArgs
    +    if TestEnv.params["parallel"]:
    +        args = args + ["-np", "2", "-l", TestEnv.params["parallel_launch"]]
    +        if TestEnv.params["parallel_launch"] == "srun":
    +            args = args + ["-la", "--overlap"]
    +    p = subprocess.check_output(args)
    +    return p
    +
    +def GetFileList(path0):
    +    def gfl(path):
    +        outfiles = []
    +        files = os.listdir(path)
    +        for f in sorted(files):
    +            fpath = os.path.join(path, f)
    +            if os.path.isdir(fpath):
    +                outfiles = outfiles + gfl(fpath)
    +            else:
    +                outfiles = outfiles + [fpath[lpath0+1:]]
    +        return outfiles
    +    lpath0 = len(path0)
    +    return gfl(path0)
    +
    +def ListToString(files):
    +    s = ""
    +    for f in files:
    +        s += f
    +        s += "\n"
    +    return s
    +
    +def GetFile(manyfilenames, filename):
    +    for f in manyfilenames:
    +        if f.find(filename) != 0:
    +            return f
    +    return ""
    +
    +def ReadTextFile(filename):
    +    lines = open(filename, "rt").readlines()
    +    s = ""
    +    for line in lines:
    +        s += line
    +    return s
    +
    +def write_setup_plot(f):
    +    f.write('AddPlot("Pseudocolor", "pressure")\n')
    +    f.write('AddOperator("Clip")\n')
    +    f.write('clip = GetOperatorOptions(0)\n')
    +    f.write('clip.plane1Normal = (0,0,1)\n')
    +    f.write('clip.plane1Origin = (0,0,2.5)\n')
    +    f.write('SetOperatorOptions(clip)\n')
    +    f.write('AddPlot("Pseudocolor", "pressure", 1, 1)\n')
    +    f.write('clip.plane1Normal = (0,0,-1)\n')
    +    f.write('SetOperatorOptions(clip)\n')
    +    f.write('DrawPlots()\n')
    +    f.write('a = GetAnnotationAttributes()\n')
    +    f.write('a.axes3D.visible = 0\n')
    +    f.write('a.axes3D.bboxFlag = 0\n')
    +    f.write('a.axes3D.triadFlag = 0\n')
    +    f.write('a.legendInfoFlag = 0\n')
    +    f.write('a.databaseInfoFlag = 0\n')
    +    f.write('a.userInfoFlag = 0\n')
    +    f.write('a.backgroundColor=(0,0,0,255)\n')
    +    f.write('a.backgroundMode=a.Solid\n')
    +    f.write('SetAnnotationAttributes(a)\n')
    +
    +def test_Z_file(testname, varname, imagefilename, domask):
    +    """
    +    Decompress a float32 buffer, make a BOV file from it, and plot it.
    +    """
    +    cbytes = open(imagefilename, "rb").read()
    +    fbytes = zlib.decompress(cbytes)
    +    datfile = testname + ".dat"
    +    bovfile = testname + ".bov"
    +    f = open(datfile, "wb")
    +    f.write(fbytes)
    +    f.close()
    +    imagesize = int(math.sqrt(len(fbytes)/4))
    +    f = open(bovfile, "wt")
    +    f.write("TIME: 0\n")
    +    f.write("DATA_FILE: %s\n" % datfile)
    +    f.write("DATA_SIZE: %d %d 1\n" % (imagesize, imagesize))
    +    f.write("DATA_FORMAT: FLOAT\n")
    +    f.write("VARIABLE: %s\n" % varname)
    +    f.write("DATA_ENDIAN: LITTLE\n")
    +    f.write("CENTERING: zonal\n")
    +    f.write("BRICK_ORIGIN: 0 0 0\n")
    +    f.write("BRICK_SIZE: 1 1 1\n")
    +    f.close()
    +    OpenDatabase(bovfile)
    +    if domask:
    +        # Mask out values larger than 255 so we can see the values.
    +        # I'd mask on Z but I don't want to do cmfe.
    +        DefineScalarExpression("maskvar", "if(gt(%s, 255), 0., %s)" % (varname,varname))
    +        AddPlot("Pseudocolor", "maskvar")
    +    else:
    +        AddPlot("Pseudocolor", varname)
    +    AddOperator("Transform")
    +    t = TransformAttributes()
    +    t.doScale = 1
    +    t.scaleY = -1
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.viewportCoords = (0,1,0,1)
    +    SetView2D(v)
    +    Test(testname + "_" + varname)
    +    DeleteAllPlots()
    +    CloseDatabase(bovfile)
    +
    +    os.unlink(datfile)
    +    os.unlink(bovfile)
    +
    +def test_composite(testname, imagepath, scalars):
    +    """
    +    Make test images for a composite image.
    +    """
    +    img0 = os.path.join(imagepath, "image=0.png")
    +    img1 = os.path.join(imagepath, "image=1.Z")
    +    OpenDatabase(img0)
    +    AddPlot("Truecolor", "color")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.viewportCoords = (0,1,0,1)
    +    SetView2D(v)
    +    Test(testname + "_lum")
    +    DeleteAllPlots()
    +    CloseDatabase(img0)
    +
    +    test_Z_file(testname, "z", os.path.join(imagepath, "image=1.Z"), 0)
    +    idx = 2
    +    for s in scalars:
    +        test_Z_file(testname, s, os.path.join(imagepath, "image=%d.Z" % idx), 1)
    +        idx = idx + 1
    +
    +def test2(db):
    +    TestSection("Cinema spec C static camera")
    +    f = open("test2.py", "wt")
    +    f.write('OpenDatabase(%s)\n' % repr(db))
    +    write_setup_plot(f)
    +    f.write('v = GetView3D()\n')
    +    f.write('v.viewNormal = (-0.569392, 0.672931, 0.472183)\n')
    +    f.write('v.focus = (5, 0.353448, 2.5)\n')
    +    f.write('v.viewUp = (0.562941, 0.737756, -0.372577)\n')
    +    f.write('v.viewAngle = 30\n')
    +    f.write('v.parallelScale = 5.6009\n')
    +    f.write('v.nearPlane = -11.2018\n')
    +    f.write('v.farPlane = 11.2018\n')
    +    f.write('v.imagePan = (0.0431021, 0.0442006)\n')
    +    f.write('v.imageZoom = 1.06444\n')
    +    f.write('v.perspective = 1\n')
    +    f.write('v.eyeAngle = 2\n')
    +    f.write('v.centerOfRotationSet = 0\n')
    +    f.write('v.centerOfRotation = (5, 0.353448, 2.5)\n')
    +    f.write('v.axis3DScaleFlag = 0\n')
    +    f.write('v.axis3DScales = (1, 1, 1)\n')
    +    f.write('v.shear = (0, 0, 1)\n')
    +    f.write('v.windowValid = 1\n')
    +    f.write('SetView3D(v)\n')
    +    f.close()
    +
    +    cdb = "test2.cdb"
    +    scalars = ("pressure", "v")
    +    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
    +    args = ["-specification", "C", "-docomposite", "-scriptfile", "test2.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "static", "-var", scalars[0], "-var", scalars[1]]
    +    TestText("cinema_2_00", ListToString(args))
    +
    +    output = GenerateCinema(args)
    +
    +    files = GetFileList(cdb)
    +    TestText("cinema_2_01", ListToString(files))
    +
    +    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
    +    TestText("cinema_2_02", json)
    +
    +    # Test a couple of composite images
    +    test_composite("cinema_2_03", os.path.join(cdb, "image","time=3","vis=0"), scalars)
    +    test_composite("cinema_2_04", os.path.join(cdb, "image","time=3","vis=1"), scalars)
    +
    +
    +def test3(db):
    +    TestSection("Cinema spec C phi-theta camera")
    +    f = open("test3.py", "wt")
    +    f.write('OpenDatabase(%s)\n' % repr(db))
    +    write_setup_plot(f)
    +    f.close()
    +
    +    cdb = "test3.cdb"
    +    scalars = ("pressure", "v")
    +    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
    +    args = ["-specification", "C", "-docomposite", "-scriptfile", "test3.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "phi-theta", "-phi", "6", "-theta", "5", "-var", scalars[0], "-var", scalars[1]]
    +    TestText("cinema_3_00", ListToString(args))
    +
    +    output = GenerateCinema(args)
    +
    +    files = GetFileList(cdb)
    +    TestText("cinema_3_01", ListToString(files))
    +
    +    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
    +    TestText("cinema_3_02", json)
    +
    +    # Test a couple of composite images
    +    test_composite("cinema_3_03", os.path.join(cdb, "image","phi=0","theta=0","time=0","vis=0"), scalars)
    +    test_composite("cinema_3_04", os.path.join(cdb, "image","phi=0","theta=0","time=0","vis=1"), scalars)
    +    test_composite("cinema_3_05", os.path.join(cdb, "image","phi=3","theta=1","time=0","vis=0"), scalars)
    +    test_composite("cinema_3_06", os.path.join(cdb, "image","phi=3","theta=1","time=0","vis=1"), scalars)
    +
    +
    +def MakeShortWave(incr):
    +    db = abs_path("short_wave.visit")
    +    f = open(db, "wt")
    +    for i in range(0, 700, incr):
    +        f.write(silo_data_path("wave%04d.silo" % i) + "\n")
    +    f.close()
    +    return os.path.abspath(db)
    +
    +def main():
    +    test2(MakeShortWave(100))
    +    test3(MakeShortWave(500))
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cleanzonesonly.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cleanzonesonly.html new file mode 100644 index 000000000..119d01228 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cleanzonesonly.html @@ -0,0 +1,120 @@ + +Results for hybrid/cleanzonesonly.py + +

    Results of VisIt Regression Test - hybrid/cleanzonesonly

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Multicolor mode
    hybrid_cleanzonesonly_010.000.00
    hybrid_cleanzonesonly_020.000.00
    hybrid_cleanzonesonly_030.000.00
    Continuous colortable mode
    hybrid_cleanzonesonly_040.000.00
    hybrid_cleanzonesonly_050.000.00
    hybrid_cleanzonesonly_060.000.00
    Discrete colortable mode
    hybrid_cleanzonesonly_070.000.00
    hybrid_cleanzonesonly_080.000.00
    hybrid_cleanzonesonly_090.000.00
    Singlecolor mode
    hybrid_cleanzonesonly_100.000.00
    hybrid_cleanzonesonly_110.000.00
    hybrid_cleanzonesonly_120.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cleanzonesonly_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cleanzonesonly_py.html new file mode 100644 index 000000000..7a694320e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cleanzonesonly_py.html @@ -0,0 +1,135 @@ +hybrid/cleanzonesonly.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cleanzonesonly.py
    +#
    +#  Tests:      plots     - filled boundary
    +#
    +#  Defect ID:  '5135
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       July  6, 2004
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +# Turn off all annotation
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +SetAnnotationAttributes(a)
    +
    +# -----------------------------------------------------------------------------
    +#    multicolor mode -- normal plot, then CZO on, then CZO off
    +# -----------------------------------------------------------------------------
    +TestSection("Multicolor mode")
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +AddPlot("FilledBoundary", "mat1");
    +DrawPlots()
    +
    +v=GetView2D()
    +v.viewportCoords=(0.3, 0.9, 0.15, 0.9)
    +SetView2D(v)
    +
    +Test("hybrid_cleanzonesonly_01")
    +
    +m = FilledBoundaryAttributes()
    +m.cleanZonesOnly = 1
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_02")
    +
    +m.cleanZonesOnly = 0
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_03")
    +
    +DeleteAllPlots()
    +
    +# -----------------------------------------------------------------------------
    +#    continuous colortable mode -- normal plot, then CZO on, then CZO off
    +# -----------------------------------------------------------------------------
    +TestSection("Continuous colortable mode")
    +AddPlot("FilledBoundary", "mat1");
    +
    +m = FilledBoundaryAttributes();
    +m.colorType = m.ColorByColorTable
    +m.colorTableName = 'calewhite'
    +m.mixedColor=(0,100,100,255)
    +SetPlotOptions(m)
    +DrawPlots()
    +
    +Test("hybrid_cleanzonesonly_04")
    +
    +m = FilledBoundaryAttributes()
    +m.cleanZonesOnly = 1
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_05")
    +
    +m.cleanZonesOnly = 0
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_06")
    +
    +DeleteAllPlots()
    +
    +# -----------------------------------------------------------------------------
    +#    discrete colortable mode -- normal plot, then CZO on, then CZO off
    +# -----------------------------------------------------------------------------
    +TestSection("Discrete colortable mode")
    +AddPlot("FilledBoundary", "mat1");
    +
    +m = FilledBoundaryAttributes();
    +m.colorType = m.ColorByColorTable
    +m.colorTableName = 'levels'
    +m.mixedColor=(0,0,0,255)
    +SetPlotOptions(m)
    +DrawPlots()
    +
    +Test("hybrid_cleanzonesonly_07")
    +
    +m = FilledBoundaryAttributes()
    +m.cleanZonesOnly = 1
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_08")
    +
    +m.cleanZonesOnly = 0
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_09")
    +
    +DeleteAllPlots()
    +
    +# -----------------------------------------------------------------------------
    +#    singlecolor mode -- normal plot, then CZO on, then CZO off
    +# -----------------------------------------------------------------------------
    +TestSection("Singlecolor mode")
    +AddPlot("FilledBoundary", "mat1");
    +
    +m = FilledBoundaryAttributes();
    +m.colorType = m.ColorBySingleColor
    +m.singleColor = (255, 0, 0, 255)
    +SetPlotOptions(m)
    +DrawPlots()
    +
    +Test("hybrid_cleanzonesonly_10")
    +
    +m = FilledBoundaryAttributes()
    +m.cleanZonesOnly = 1
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_11")
    +
    +m.cleanZonesOnly = 0
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_12")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_clonefirstref.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_clonefirstref.html new file mode 100644 index 000000000..0581681bd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_clonefirstref.html @@ -0,0 +1,72 @@ + +Results for hybrid/clonefirstref.py + +

    Results of VisIt Regression Test - hybrid/clonefirstref

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    clonefirstref_000.000.00
    clonefirstref_010 modifications totalling 0 lines
    clonefirstref_020.000.00
    clonefirstref_030.000.00
    clonefirstref_040 modifications totalling 0 lines
    clonefirstref_050.000.00
    clonefirstref_060 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_clonefirstref_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_clonefirstref_py.html new file mode 100644 index 000000000..2a6ff2099 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_clonefirstref_py.html @@ -0,0 +1,62 @@ +hybrid/clonefirstref.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  clonefirstref.py
    +#
    +#  Tests:      mesh      - 2D, curvilinear, single domain
    +#              plots     - FilledBoundary
    +#              databases - PDB
    +#
    +#  Purpose:    This test case tests the viewer's ability to consider a window
    +#              that had been referenced as unreferenced if its plot list has
    +#              no active source.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Feb 18 14:01:48 PST 2005
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    TestText(testname, s)
    +
    +SetCloneWindowOnFirstRef(1)
    +SetWindowLayout(2)
    +SetActiveWindow(2)
    +OpenDatabase(data_path("pdb_test_data/dbB00.pdb"))
    +
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("clonefirstref_00")
    +TestWindowInformation("clonefirstref_01")
    +
    +# Make sure that the database and time sliders, etc got copied to window 1,
    +# even though it had been "referenced" already. Without the fix, VisIt used
    +# to complain about no database being open.
    +SetActiveWindow(1)
    +Test("clonefirstref_02")
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("clonefirstref_03")
    +TestWindowInformation("clonefirstref_04")
    +
    +# Make sure that we can move through time.
    +SetTimeSliderState(5)
    +Test("clonefirstref_05")
    +TestWindowInformation("clonefirstref_06")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conditional.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conditional.html new file mode 100644 index 000000000..1810bd514 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conditional.html @@ -0,0 +1,72 @@ + +Results for hybrid/conditional.py + +

    Results of VisIt Regression Test - hybrid/conditional

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    conditional_010.000.00
    conditional_020.000.00
    conditional_030.000.00
    conditional_040.000.00
    conditional_050.000.00
    conditional_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conditional_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conditional_py.html new file mode 100644 index 000000000..bc3cdc53e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conditional_py.html @@ -0,0 +1,96 @@ +hybrid/conditional.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expressions.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#              plots     - Pseudocolor
    +#              operators - Threshold
    +#
    +#  Defect ID:  '3655
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 21, 2003
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#    Changed Pseudocolor CurrentPlot to ActualData.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +
    +DefineScalarExpression("bigun", 'if(and(gt(nmats(mat1), 1.), gt(matvf(mat1, "4"), 0.)), d, 0.)')
    +
    +AddPlot("Pseudocolor", "bigun")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.17, 0.74, 0.64)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.31, 0.65, -0.68)
    +v.parallelScale = 0.866
    +v.nearPlane = -1.73
    +v.farPlane = 1.73
    +SetView3D(v)
    +
    +Test("conditional_01")
    +
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.01)
    +t.upperBounds = (0.99)
    +SetDefaultOperatorOptions(t)
    +AddOperator("Threshold")
    +
    +pc_atts = PseudocolorAttributes()
    +pc_atts.limitsMode = pc_atts.ActualData
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("conditional_02")
    +
    +DeleteAllPlots()
    +
    +DefineVectorExpression("vel2", "{ if(lt(u, 0), u, -u/2), if(gte(v, -0.333), v, -v/4), w}")
    +AddPlot("Vector", "vel2")
    +vec_atts = VectorAttributes()
    +vec_atts.nVectors = 100
    +SetPlotOptions(vec_atts)
    +DrawPlots()
    +
    +Test("conditional_03")
    +
    +DeleteAllPlots()
    +
    +DefineScalarExpression("eq", "if(eq(u, v), abs(w), 0.)")
    +AddPlot("Pseudocolor", "eq")
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("conditional_04")
    +
    +DefineScalarExpression("close", "if(lte(abs(u-v), 0.05), abs(w), 0.)")
    +ChangeActivePlotsVar("close")
    +
    +Test("conditional_05")
    +
    +
    +DefineScalarExpression("close_and_far", "if(or(lte(abs(u-v), 0.05), gte(abs(u-v), 1.)), abs(w), 0.)")
    +ChangeActivePlotsVar("close_and_far")
    +
    +Test("conditional_06")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conn_cmfe.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conn_cmfe.html new file mode 100644 index 000000000..4d644f0de --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conn_cmfe.html @@ -0,0 +1,102 @@ + +Results for hybrid/conn_cmfe.py + +

    Results of VisIt Regression Test - hybrid/conn_cmfe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    conn_cmfe_010.000.00
    conn_cmfe_020.000.00
    conn_cmfe_030.000.00
    conn_cmfe_040 modifications totalling 0 lines
    conn_cmfe_050 modifications totalling 0 lines
    conn_cmfe_060 modifications totalling 0 lines
    conn_cmfe_070 modifications totalling 0 lines
    conn_cmfe_080 modifications totalling 0 lines
    conn_cmfe_090.000.00
    conn_cmfe_100 modifications totalling 0 lines
    conn_cmfe_110 modifications totalling 0 lines
    conn_cmfe_120.000.00
    conn_cmfe_130 modifications totalling 0 lines
    conn_cmfe_140 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conn_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conn_cmfe_py.html new file mode 100644 index 000000000..a962bcb89 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_conn_cmfe_py.html @@ -0,0 +1,138 @@ +hybrid/conn_cmfe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  conn_cmfe.py
    +#
    +#  Defect ID:  '6616
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 30, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Sep 20 13:15:11 PDT 2005
    +#    Test for non-existent databases, especially those with short names ['6616]
    +#
    +#    Hank Childs, Fri Oct  7 17:14:07 PDT 2005
    +#    Test error message for Eulerian material selection.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Cyrus Harrison, Wed Aug 25 14:25:13 PDT 2010
    +#    SIL id shift (from 1 to 2) due to changes in SIL generation.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("wave0200.silo"))
    +
    +
    +
    +# Test general capability.
    +DefineScalarExpression("cmfe", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("wave0020.silo"))
    +AddPlot("Pseudocolor", "cmfe")
    +DrawPlots()
    +Test("conn_cmfe_01")
    +
    +# Test using the expression as a secondary variable.
    +ChangeActivePlotsVar("pressure")
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.lowerBounds = (-1.0)
    +t.upperBounds = (0.1)
    +t.listedVarNames = ("cmfe")
    +SetOperatorOptions(t)
    +DrawPlots()
    +Test("conn_cmfe_02")
    +
    +# Test using cmfe in another expression.
    +DefineVectorExpression("disp", "{0, 3*cmfe, 0}")
    +RemoveLastOperator()
    +d = DisplaceAttributes()
    +d.variable = "disp"
    +SetDefaultOperatorOptions(d)
    +AddOperator("Displace")
    +DrawPlots()
    +Test("conn_cmfe_03")
    +
    +RemoveLastOperator()
    +ChangeActivePlotsVar("cmfe")
    +DrawPlots()
    +
    +Query("MinMax")
    +t = GetQueryOutputString()
    +TestText("conn_cmfe_04", t)
    +
    +# Now test error conditions.
    +DefineScalarExpression("cmfe2", "conn_cmfe(pressure, quadmesh)")
    +ChangeActivePlotsVar("cmfe2")
    +DrawPlots()
    +t = GetLastError()
    +TestText("conn_cmfe_05", t)
    +
    +DefineScalarExpression("cmfe3", "conn_cmfe(<bad_file.silo:a_var>, quadmesh)")
    +ChangeActivePlotsVar("cmfe3")
    +DrawPlots()
    +t = GetLastError()
    +TestText("conn_cmfe_06", t)
    +
    +DefineScalarExpression("cmfe4", "conn_cmfe(<%s:pressure>, quadmesh, pressure)" %  cmfe_silo_data_path("wave0100.silo"))
    +ChangeActivePlotsVar("cmfe4")
    +DrawPlots()
    +t = GetLastError()
    +TestText("conn_cmfe_07", t)
    +
    +DefineScalarExpression("cmfe5", "conn_cmfe(<%s:pressure>)" % cmfe_silo_data_path("wave0100.silo"))
    +ChangeActivePlotsVar("cmfe5")
    +DrawPlots()
    +t = GetLastError()
    +TestText("conn_cmfe_08", t)
    +
    +# And one more cool picture just for grins.
    +DefineScalarExpression("cmfe6", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("wave0570.silo"))
    +DefineScalarExpression("max", "if(ge(pressure, cmfe6), pressure, cmfe6)")
    +ChangeActivePlotsVar("max")
    +DrawPlots()
    +Test("conn_cmfe_09")
    +
    +# Invalid variable in new database.
    +DefineScalarExpression("cmfe7", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("globe.silo"))
    +ChangeActivePlotsVar("cmfe7")
    +t = GetLastError()
    +TestText("conn_cmfe_10", t)
    +
    +# Now a good variable, but connectivity doesn't match.
    +DefineScalarExpression("cmfe8", "conn_cmfe(<%s:t>, quadmesh)" % cmfe_silo_data_path("globe.silo"))
    +ChangeActivePlotsVar("cmfe8")
    +DrawPlots()
    +t = GetLastError()
    +TestText("conn_cmfe_11", t)
    +
    +# Test multiple CMFEs
    +DefineScalarExpression("cmfe9", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("wave0100.silo"))
    +DefineScalarExpression("max2", "if(ge(max, cmfe9), max, cmfe9)")
    +ChangeActivePlotsVar("max2")
    +DrawPlots()
    +Test("conn_cmfe_12")
    +
    +DefineScalarExpression("cmfe10", "conn_cmfe(<30:d>, quadmesh)")
    +ChangeActivePlotsVar("cmfe10")
    +t = GetLastError()
    +TestText("conn_cmfe_13", t)
    +
    +ChangeActivePlotsVar("cmfe")
    +DrawPlots()
    +s = SILRestriction()
    +s.TurnOffAll()
    +s.TurnOnSet(2)
    +SetPlotSILRestriction(s)
    +t = GetLastError()
    +TestText("conn_cmfe_14", t)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_coord_expr.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_coord_expr.html new file mode 100644 index 000000000..cbda9f61b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_coord_expr.html @@ -0,0 +1,84 @@ + +Results for hybrid/coord_expr.py + +

    Results of VisIt Regression Test - hybrid/coord_expr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    coord_expr_010.000.00
    coord_expr_020.000.00
    coord_expr_030.000.00
    coord_expr_040.000.00
    coord_expr_050.000.00
    coord_expr_060.000.00
    coord_expr_070.000.00
    coord_expr_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_coord_expr_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_coord_expr_py.html new file mode 100644 index 000000000..7762aacd8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_coord_expr_py.html @@ -0,0 +1,65 @@ +hybrid/coord_expr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  coord_expr.py
    +#
    +#  Tests:      mesh      - 3D unstructured, multi- domain
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  '5994, '5995
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 30, 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +
    +DefineScalarExpression("polar_radius", "polar_radius(mesh1)")
    +AddPlot("Pseudocolor", "polar_radius")
    +DrawPlots()
    +Test("coord_expr_01")
    +
    +DefineScalarExpression("zero", "polar_radius-polar(mesh1)[0]")
    +ChangeActivePlotsVar("zero")
    +Test("coord_expr_02")
    +
    +DefineScalarExpression("polar_theta", "polar_theta(mesh1)")
    +ChangeActivePlotsVar("polar_theta")
    +Test("coord_expr_03")
    +
    +DefineScalarExpression("polar_phi", "polar_phi(mesh1)")
    +ChangeActivePlotsVar("polar_phi")
    +Test("coord_expr_04")
    +
    +DefineScalarExpression("cylindrical_radius", "cylindrical_radius(mesh1)")
    +ChangeActivePlotsVar("cylindrical_radius")
    +Test("coord_expr_05")
    +
    +DefineScalarExpression("cylindrical_theta", "cylindrical_theta(mesh1)")
    +ChangeActivePlotsVar("cylindrical_theta")
    +Test("coord_expr_06")
    +
    +DeleteExpression("zero")
    +# Not really zero -- this is the diagonal
    +DefineScalarExpression("zero", "polar_radius-cylindrical_radius")
    +ChangeActivePlotsVar("zero")
    +Test("coord_expr_07")
    +
    +DeleteActivePlots()
    +
    +DefineVectorExpression("c", "cylindrical(mesh1)")
    +AddPlot("Vector", "c")
    +DrawPlots()
    +Test("coord_expr_08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_anim.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_anim.html new file mode 100644 index 000000000..8fe998d4b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_anim.html @@ -0,0 +1,76 @@ + +Results for hybrid/curve_anim.py + +

    Results of VisIt Regression Test - hybrid/curve_anim

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    curve_anim10.000.00
    curve_anim20.590.02
    curve_anim30.870.02
    curve_anim40.000.00
    curve_anim50.000.00
    curve_anim60.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_anim_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_anim_py.html new file mode 100644 index 000000000..2409f6a09 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_anim_py.html @@ -0,0 +1,77 @@ +hybrid/curve_anim.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curve_anim.py
    +#
    +#  Tests:      mesh      - polygonal line from .curve file.
    +#              plots     - curve
    +#              operators - none
    +#
    +#  Defect ID:  '2973
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 15, 2003
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Mon Aug  4 09:51:40 PDT 2003
    +#    Curves are no longer valid subsets, but they are now curve plots.
    +#
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(data_path("curve_test_data/curve.visit"))
    +
    +curveAtts = CurveAttributes()
    +curveAtts.curveColorSource = curveAtts.Custom
    +AddPlot("Curve", "flat")
    +curveAtts.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "going_up")
    +curveAtts.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "going_down")
    +curveAtts.curveColor = (0, 0, 255, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "parabolic")
    +curveAtts.curveColor = (0, 255, 255, 255)
    +SetPlotOptions(curveAtts)
    +
    +SetTimeSliderState(40)
    +DrawPlots()
    +# This additional set frame is so that the saved
    +# image is correct.
    +SetTimeSliderState(40)
    +Test("curve_anim1")
    +
    +SetTimeSliderState(99)
    +Test("curve_anim2")
    +
    +SetActivePlots(3)
    +DeleteActivePlots()
    +
    +Test("curve_anim3")
    +
    +SetTimeSliderState(40)
    +Test("curve_anim4")
    +
    +SetActivePlots(0)
    +DeleteActivePlots()
    +Test("curve_anim5")
    +
    +SetTimeSliderState(5)
    +AddPlot("Curve", "flat")
    +curveAtts.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("curve_anim6")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_expressions.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_expressions.html new file mode 100644 index 000000000..876af2359 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_expressions.html @@ -0,0 +1,63 @@ + +Results for hybrid/curve_expressions.py + +

    Results of VisIt Regression Test - hybrid/curve_expressions

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    binary operations on curves
    curve_exp_bin_000.000.00
    curve_exp_bin_010.000.00
    curve_exp_bin_020.000.00
    curve_exp_bin_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_expressions_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_expressions_py.html new file mode 100644 index 000000000..62d9dcb2d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_curve_expressions_py.html @@ -0,0 +1,50 @@ +hybrid/curve_expressions.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curve_expressions.py
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       November 18, 2008
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TurnOffCurveLabels():
    +    c = CurveAttributes()
    +    c.showLabels = 0
    +    SetDefaultPlotOptions(c)
    +
    +def DoBinaryOp(db1, curve1, db2, curve2, op, index):
    +    # name = db:curve1 op curve_cmfe(<db2:curve2>, <db1, curve1>)
    +    var1 = "<%s>" % (curve1)
    +    var2 = "<%s:%s>" % (db2, curve2)
    +    cmfe = "curve_cmfe(%s,%s)" % (var2, var1)
    +    name = "<A %s B>" %(op)
    +    DefineCurveExpression(name, "%s %s %s" %(var1, op, cmfe))
    +
    +    AddPlot("Curve", name);
    +    DrawPlots()
    +
    +    Test("curve_exp_bin_%02d" %index)
    +    DeleteAllPlots()
    +
    +def TestBinary():
    +    binops = ("+", "-", "*", "/")
    +    cdb = cmfe_data_path("curve_test_data/distribution.ultra")
    +    db = data_path("curve_test_data/distribution.ultra")
    +    logNormal = "Log Normal Distribution"
    +    exponential = "Exponential Distribution"
    +
    +    TestSection("binary operations on curves")
    +    OpenDatabase(db)
    +    for i in range(4):
    +        DoBinaryOp(cdb, logNormal, cdb, exponential, binops[i], i)
    +
    +    CloseDatabase(db)
    +
    +
    +TurnOffCurveLabels()
    +TestBinary()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cylindrical_radius.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cylindrical_radius.html new file mode 100644 index 000000000..ad72863d8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cylindrical_radius.html @@ -0,0 +1,96 @@ + +Results for hybrid/cylindrical_radius.py + +

    Results of VisIt Regression Test - hybrid/cylindrical_radius

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    cylin_rad_default_10.000.00
    cylin_rad_default_20.000.00
    cylin_rad_x_10.000.00
    cylin_rad_x_20.000.00
    cylin_rad_y_10.000.00
    cylin_rad_y_20.000.00
    cylin_rad_z_10.000.00
    cylin_rad_z_20.000.00
    cylin_rad_diag_a_10.000.00
    cylin_rad_diag_b_10.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cylindrical_radius_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cylindrical_radius_py.html new file mode 100644 index 000000000..33d258dad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_cylindrical_radius_py.html @@ -0,0 +1,232 @@ +hybrid/cylindrical_radius.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cylindrical_radius.py
    +#
    +#  Tests:      mesh      - 3D structured, multi domain
    +#              plots     - pc
    +#
    +#  Ticket Id:  '7915
    +#
    +#  Notes:      Created to test axis selection for the cylindrical_radius 
    +#              expression
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       March 31, 2008
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +
    +# Default use case
    +DefineScalarExpression("cylin_rad_default",   "cylindrical_radius(mesh1)")
    +# Cyl axis = {1,0,0}
    +DefineScalarExpression("cylin_rad_x",         'cylindrical_radius(mesh1,"x")')
    +# Cyl axis = {0,1,0}
    +DefineScalarExpression("cylin_rad_y",         'cylindrical_radius(mesh1,"y")')
    +# Cyl axis = {0,0,1} (same as default)
    +DefineScalarExpression("cylin_rad_z",         'cylindrical_radius(mesh1,"z")')
    +# Cyl axis = {1,1,1}
    +DefineScalarExpression("cylin_rad_diag_a",    'cylindrical_radius(mesh1,{1,1,1})')
    +# Cyl axis = {1,1,-1}
    +DefineScalarExpression("cylin_rad_diag_b",    'cylindrical_radius(mesh1,{1,1,-1})')
    +
    +# use rotate and defer expression to test proper axis selection
    +
    +def test_cyl(var_name):
    +    DeleteAllPlots();
    +    ResetView()
    +    AddPlot("Pseudocolor", var_name)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 1)
    +    AddOperator("Transform") # rotate to another view
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0, 1, 0)
    +    TransformAtts.rotateAmount = 45
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 2)
    +
    +def test_cyl_x(var_name):
    +    DeleteAllPlots();
    +    ResetView()
    +    AddPlot("Pseudocolor", var_name)
    +    AddOperator("Transform")
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0, 1, 0)
    +    TransformAtts.rotateAmount = 90
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("DeferExpression")
    +    DeferExpressionAtts = DeferExpressionAttributes()
    +    DeferExpressionAtts.exprs = (var_name)
    +    SetOperatorOptions(DeferExpressionAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 1)
    +    AddOperator("Transform") # rotate to better view
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0, 1, 0)
    +    TransformAtts.rotateAmount = -45
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 2)
    +
    +
    +def test_cyl_y(var_name):
    +    DeleteAllPlots();
    +    ResetView()
    +    AddPlot("Pseudocolor", var_name)
    +    AddOperator("Transform")
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (1, 0, 0)
    +    TransformAtts.rotateAmount = 90
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("DeferExpression")
    +    DeferExpressionAtts = DeferExpressionAttributes()
    +    DeferExpressionAtts.exprs = (var_name)
    +    SetOperatorOptions(DeferExpressionAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 1)
    +    AddOperator("Transform") # rotate to better view
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (1, 0, 0)
    +    TransformAtts.rotateAmount = -45
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 2)
    +
    +def test_cyl_diag_a(var_name):
    +    DeleteAllPlots();
    +    ResetView()
    +    AddPlot("Pseudocolor", var_name)
    +    AddOperator("Transform")
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0, 1, 0)
    +    TransformAtts.rotateAmount = 45
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("Transform") # rotate to better view
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (-0.70710678118654746, 0, 0.70710678118654746)
    +    TransformAtts.rotateAmount = 35.26
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("DeferExpression")
    +    DeferExpressionAtts = DeferExpressionAttributes()
    +    DeferExpressionAtts.exprs = (var_name)
    +    SetOperatorOptions(DeferExpressionAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 1)
    +
    +def test_cyl_diag_b(var_name):
    +    DeleteAllPlots();
    +    ResetView()
    +    AddPlot("Pseudocolor", var_name)
    +    AddOperator("Transform")
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0, 1, 0)
    +    TransformAtts.rotateAmount = -45
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("Transform") # rotate to better view
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0.70710678118654746, 0, 0.70710678118654746)
    +    TransformAtts.rotateAmount = 35.26
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("DeferExpression")
    +    DeferExpressionAtts = DeferExpressionAttributes()
    +    DeferExpressionAtts.exprs = (var_name)
    +    SetOperatorOptions(DeferExpressionAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 1)
    +
    +
    +test_cyl("cylin_rad_default")
    +test_cyl_x("cylin_rad_x")
    +test_cyl_y("cylin_rad_y")
    +test_cyl("cylin_rad_z") # same as default
    +test_cyl_diag_a("cylin_rad_diag_a")
    +test_cyl_diag_b("cylin_rad_diag_b")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ddf.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ddf.html new file mode 100644 index 000000000..76e596559 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ddf.html @@ -0,0 +1,77 @@ + +Results for hybrid/ddf.py + +

    Results of VisIt Regression Test - hybrid/ddf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ddf_010.000.00
    ddf_020.000.00
    ddf_030.000.00
    ddf_040.000.00
    DDF Spatial Collapse with Ghost Zones
    ddf_spatial_1d0.150.00
    ddf_spatial_2d0.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ddf_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ddf_py.html new file mode 100644 index 000000000..363207b48 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ddf_py.html @@ -0,0 +1,172 @@ +hybrid/ddf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ddf.py
    +#
    +#  Defect ID:  '5203
    +#
    +#  Programmer: Hank Childs
    +#  Date:       February 20, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Tue Feb 23 12:40:36 PST 2021
    +#    Added spatial collapse with ghost zones test.
    +#
    +#    Kathleen Biagas, Thu Feb 17 07:38:01 PST 2022
    +#    Replace old ConstructDDFAttributes attribute names for new:
    +#    ddfName -> name, ranges -> binBoundaries, numSamples -> numBins,
    +#    statisticalOperator -> reductionOperator,
    +#    codomainName -> varForReductionOperator.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +t = ConstructDDFAttributes()
    +t.name = "ddf1"
    +t.varnames = ("u")
    +t.binBoundaries = (-1, 1)
    +t.numBins = (4)
    +t.varForReductionOperator = "u"
    +t.reductionOperator = t.Average
    +ConstructDDF(t)
    +
    +DefineScalarExpression("e1", "u - apply_ddf(curvmesh2d, ddf1)")
    +ChangeActivePlotsVar("e1")
    +Test("ddf_01")
    +
    +t.name = "ddf2"
    +t.reductionOperator = t.Maximum
    +t.varForReductionOperator = "v"
    +t.varnames = ("v")
    +ConstructDDF(t)
    +DefineScalarExpression("e2", "v - apply_ddf(curvmesh2d, ddf2)")
    +ChangeActivePlotsVar("e2")
    +Test("ddf_02")
    +
    +t.name = "ddf3"
    +t.varnames = ("u", "v")
    +t.binBoundaries = (-1, 1, -1, 1)
    +t.numBins = (25, 25)
    +t.varForReductionOperator = "u"
    +t.reductionOperator = t.Minimum
    +ConstructDDF(t)
    +
    +DefineScalarExpression("e3", "u - apply_ddf(curvmesh2d, ddf3)")
    +ChangeActivePlotsVar("e3")
    +Test("ddf_03")
    +
    +
    +ChangeActivePlotsVar("u")
    +t.name = "ddf4"
    +t.varnames = ("u", "v")
    +t.binBoundaries = (-1, 1, -1, 1)
    +t.numBins = (25, 25)
    +t.varForReductionOperator = "u"
    +t.reductionOperator = t.RMS
    +ConstructDDF(t)
    +
    +DefineScalarExpression("e4", "apply_ddf(curvmesh2d, ddf4)")
    +ChangeActivePlotsVar("e4")
    +Test("ddf_04")
    +
    +
    +#
    +# DDF Spatial Collapse with ghost zones
    +#
    +
    +def ddf(atts,var_name,ddf_op):
    +    # ddf helper used in the wild to normalize var
    +    # and file names
    +    ddf_op_map = {"avg": atts.Average,
    +                  "min": atts.Minimum,
    +                  "max": atts.Maximum,
    +                  "stddev": atts.StandardDeviation,
    +                  "var":    atts.Variance,
    +                  "sum":    atts.Sum,
    +                  "count":  atts.Count,
    +                  "rms": atts.RMS,
    +                  "pdf": atts.PDF}
    +    atts.reductionOperator = ddf_op_map[ddf_op]
    +    visit.ConstructDDF(atts)
    +    ndims = len(atts.numBins)
    +    ddf_oname = "%s_%s_%dd" % (var_name,ddf_op,ndims)
    +    if len(atts.numBins) == 1:
    +        src_fname = "%s.ultra" % atts.name
    +        des_fname = "%s.ult" % (atts.name)
    +        os.rename(src_fname,des_fname)
    +        lines = open(des_fname).readlines()
    +        f     = open(des_fname, "w")
    +        f.write("# %s\n" % (ddf_oname))
    +        for l in lines[1:]:
    +            f.write(l)
    +        f.close()
    +    else:
    +        src_fname = "%s.vtk" % atts.name
    +        des_fname = src_fname
    +        orig_vtk_var = "SCALARS %s float" % var_name
    +        ddf_vtk_var  = "SCALARS %s float" % ddf_oname
    +        data = open(des_fname).read()
    +        f = open(des_fname, "w")
    +        data = data.replace(orig_vtk_var,ddf_vtk_var)
    +        f.write(data)
    +    print("[ddf output: %s]" % des_fname)
    +    return des_fname
    +
    +#################################################
    +# bigsil has ghost zones, this test makes
    +# sure we are taking care of ghost zones property
    +# in ddfs
    +# use ddf to sum collapse spatially in 1d, then 2d
    +def ddf_collapse_test():
    +    TestSection("DDF Spatial Collapse with Ghost Zones")
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +    DefineScalarExpression("mesh_x_nodal","coord(mesh)[0]")
    +    DefineScalarExpression("mesh_y_nodal","coord(mesh)[1]")
    +    DefineScalarExpression("mesh_z_nodal","coord(mesh)[2]")
    +    DefineScalarExpression("mesh_x_zonal","recenter(coord(mesh)[0])")
    +    DefineScalarExpression("mesh_y_zonal","recenter(coord(mesh)[1])")
    +    DefineScalarExpression("mesh_z_zonal","recenter(coord(mesh)[2])")
    +    AddPlot("Pseudocolor","dist")
    +    DrawPlots()
    +    atts = visit.ConstructDDFAttributes()
    +    atts.name = "ddf_dist_1d"
    +    atts.varForReductionOperator = "dist"
    +    atts.varnames = ("mesh_x_zonal",)
    +    atts.binBoundaries = (0,1)
    +    atts.numBins = (21,)
    +    ddf(atts,"dist","sum")
    +    atts = visit.ConstructDDFAttributes()
    +    atts.name = "ddf_dist_2d"
    +    atts.varForReductionOperator = "dist"
    +    atts.varnames = ("mesh_x_zonal", "mesh_y_zonal")
    +    atts.binBoundaries = (0,1, 0,1)
    +    atts.numBins = (21,21)
    +    ddf(atts,"dist","sum")
    +    # plot 1d result
    +    DeleteAllPlots()
    +    OpenDatabase("ddf_dist_1d.ult")
    +    AddPlot("Curve","dist_sum_1d")
    +    DrawPlots()
    +    Test("ddf_spatial_1d")
    +    # plot 2d result
    +    DeleteAllPlots()
    +    OpenDatabase("ddf_dist_2d.vtk")
    +    AddPlot("Pseudocolor","dist_sum_2d")
    +    DrawPlots()
    +    Test("ddf_spatial_2d")
    +
    +ddf_collapse_test()
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_defvar_anim.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_defvar_anim.html new file mode 100644 index 000000000..8199d1fbe --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_defvar_anim.html @@ -0,0 +1,54 @@ + +Results for hybrid/defvar_anim.py + +

    Results of VisIt Regression Test - hybrid/defvar_anim

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    defvar_anim_010.000.00
    defvar_anim_020.000.00
    defvar_anim_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_defvar_anim_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_defvar_anim_py.html new file mode 100644 index 000000000..94f3488fe --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_defvar_anim_py.html @@ -0,0 +1,61 @@ +hybrid/defvar_anim.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  defvar.py
    +#
    +#  Tests:      plots     - vector
    +#
    +#  Defect ID:  '3221
    +#
    +#  Programmer: Hank Childs
    +#  Date:       April 10, 2003
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
    +#    Set the vector origin explicitly for some cases because I changed the
    +#    default to Tail.
    +#
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +
    +vec = VectorAttributes()
    +vec.vectorOrigin = vec.Middle
    +SetDefaultPlotOptions(vec)
    +
    +
    +AddPlot("Vector", "direction")
    +DrawPlots()
    +
    +# Set the view
    +v = View3DAttributes()
    +v.viewNormal = (-0.293413, 0.703819, 0.646953)
    +v.focus = (5, 0.353448, 2.5)
    +v.viewUp = (0.228637, 0.708763, -0.667368)
    +v.viewAngle = 30
    +v.parallelScale = 3.87214
    +v.nearPlane = -11.2018
    +v.farPlane = 11.2018
    +v.perspective = 1
    +SetView3D(v)
    +
    +
    +Test("defvar_anim_01")
    +
    +SetTimeSliderState(30)
    +Test("defvar_anim_02")
    +
    +SetTimeSliderState(60)
    +Test("defvar_anim_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr2engine.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr2engine.html new file mode 100644 index 000000000..279ccca13 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr2engine.html @@ -0,0 +1,56 @@ + +Results for hybrid/expr2engine.py + +

    Results of VisIt Regression Test - hybrid/expr2engine

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    expr2engine_000.000.00
    expr2engine_010 modifications totalling 0 lines
    expr2engine_020 modifications totalling 0 lines
    expr2engine_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr2engine_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr2engine_py.html new file mode 100644 index 000000000..e85b60de0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr2engine_py.html @@ -0,0 +1,67 @@ +hybrid/expr2engine.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expr2engine.py
    +#
    +#  Tests:      mesh      - 2D, curvilinear, single domain
    +#              plots     - FilledBoundary
    +#              databases - PDB
    +#
    +#  Purpose:    This test case tests the viewer's ability to send not only the
    +#              user-defined expressions to the engine but also the correct
    +#              database expressions.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Feb 18 14:01:48 PST 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Create some expressions.
    +#
    +DefineScalarExpression("user_defined1", "u * u")
    +DefineScalarExpression("user_defined2", "v + v")
    +DefineVectorExpression("user_defined3", "{u, v, w}")
    +
    +# Open a database and make a plot.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Vector", "vel")
    +v = VectorAttributes()
    +v.nVectors = 4000
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.63515, 0.317784, 0.703987)
    +v.viewUp = (0.176786, 0.947058, -0.268008)
    +SetView3D(v)
    +
    +# Test the image that we should have by this point. Also make sure that the
    +# expression list contains the database expressions for the first database.
    +Test("expr2engine_00")
    +TestExpressions("expr2engine_01")
    +
    +# Open a different database. The expression list should only contain the 
    +# database variables from the new database.
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +TestExpressions("expr2engine_02")
    +
    +# Test that the plot from the old database, which was a plot of an expression
    +# from the first database can still be generated.
    +AddOperator("Transform")
    +DrawPlots()
    +Test("expr2engine_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_exprList.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_exprList.html new file mode 100644 index 000000000..36c30d99b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_exprList.html @@ -0,0 +1,56 @@ + +Results for hybrid/exprList.py + +

    Results of VisIt Regression Test - hybrid/exprList

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    exprList000 modifications totalling 0 lines
    exprList010 modifications totalling 0 lines
    exprList020 modifications totalling 0 lines
    exprList030 modifications totalling 0 lines
    exprList040 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_exprList_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_exprList_py.html new file mode 100644 index 000000000..1af03ad4a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_exprList_py.html @@ -0,0 +1,65 @@ +hybrid/exprList.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  exprList.py
    +#  Tests:      Expression list contents as windows are added and we switch
    +#              between databases that have expressions.
    +#
    +#  Defect ID:  VisIt00003955
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Oct 24 18:06:01 PST 2003
    +#
    +#  Modifications:
    +#    
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +
    +# Define some expressions just so we have some in the list.
    +DefineScalarExpression("var1", "var2 + var3")
    +DefineScalarExpression("var4", "var5 * var6")
    +DefineScalarExpression("var7", "var8 / var9")
    +
    +# Open the first database, which has some expressions.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "speed")
    +DrawPlots()
    +
    +# This test should show our scalar expressions + globe's expressions.
    +TestExpressions("exprList00")
    +
    +# Add a new window and open a different database that has no expressions of
    +# its own.
    +AddWindow()
    +SetActiveWindow(2)
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +TestExpressions("exprList01")
    +
    +# Going back to window 1, where globe is open. This should make the expression
    +# list contain globe's expressions.
    +SetActiveWindow(1)
    +TestExpressions("exprList02")
    +
    +# Open a new database. This should make the expression list contain the
    +# expressions for rect3d and our scalar expressions.
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +TestExpressions("exprList03")
    +
    +# Add a plot
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Make the active plot be the plot of globe. The expression list should 
    +# contain globe's expressions.
    +SetActivePlots(0)
    +TestExpressions("exprList04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr_cmfe.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr_cmfe.html new file mode 100644 index 000000000..d6d46e0fa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr_cmfe.html @@ -0,0 +1,66 @@ + +Results for hybrid/expr_cmfe.py + +

    Results of VisIt Regression Test - hybrid/expr_cmfe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    expr_cmfe_010.000.00
    expr_cmfe_020.000.00
    expr_cmfe_030.000.00
    expr_cmfe_040.000.00
    expr_cmfe_050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr_cmfe_py.html new file mode 100644 index 000000000..c84e01cc0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expr_cmfe_py.html @@ -0,0 +1,66 @@ +hybrid/expr_cmfe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expr_cmfe.py
    +#
    +#  Defect ID:  None
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 9, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Thu Dec 29 11:21:26 PST 2005
    +#    Expand the color range for a plot of an expression that should result in 
    +#    uniformly "1", but actually has some small variation.  This causes 
    +#    issues with coloring between optimized and non-optimized modes.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +
    +# Test that database expressions can still be generated.
    +DefineVectorExpression("cmfe", "conn_cmfe(<%s[30]i:direction>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +AddPlot("Vector", "cmfe")
    +DrawPlots()
    +Test("expr_cmfe_01")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("cmfe2", "conn_cmfe(coord(<%s[40]i:pressure>)[1], quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +AddPlot("Pseudocolor", "cmfe2")
    +DrawPlots()
    +Test("expr_cmfe_02")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("cmfe3", "coord(quadmesh)[1] - conn_cmfe(coord(<%s[40]i:pressure>)[1], quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +AddPlot("Pseudocolor", "cmfe3")
    +DrawPlots()
    +Test("expr_cmfe_03")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("cmfe4", "coord(quadmesh)[1] - cmfe2")
    +AddPlot("Pseudocolor", "cmfe4")
    +DrawPlots()
    +Test("expr_cmfe_04")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("cmfe5", "volume(quadmesh) / conn_cmfe(volume(<%s[40]i:quadmesh>), quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +AddPlot("Pseudocolor", "cmfe5")
    +pc = PseudocolorAttributes()
    +pc.min = 0.5
    +pc.minFlag = 1
    +pc.max = 1.5
    +pc.maxFlag = 1
    +SetPlotOptions(pc)
    +DrawPlots()
    +Test("expr_cmfe_05")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expressions.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expressions.html new file mode 100644 index 000000000..a701efba1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expressions.html @@ -0,0 +1,304 @@ + +Results for hybrid/expressions.py + +

    Results of VisIt Regression Test - hybrid/expressions

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    radius_ghosts0.000.00
    magnitude10.000.00
    magnitude20.000.00
    vector_sum0.000.00
    vector_diff0.000.00
    theta0.000.00
    phi0.000.00
    cos0.000.00
    abs_cos0.000.00
    sin0.000.00
    minus_sin0.000.00
    four_phase0.000.00
    one0.000.00
    X0.000.00
    radius0.000.00
    zero0.000.00
    vector_add_const0.000.00
    vector_cross0.000.00
    identity_expr0.000.00
    diff_centering_expr_010.000.00
    diff_centering_expr_020.000.00
    diff_centering_expr_030.000.00
    diff_centering_expr_040.000.00
    diff_centering_expr_050.000.00
    diff_centering_expr_060.000.00
    diff_centering_expr_070.000.00
    const_with_no_other_vars0.000.00
    nmats_with_mir0.000.00
    mult_var_usage0.000.00
    mixed_centering_nodal0.000.00
    mixed_centering_zonal0.000.00
    mult_identity_expr0.000.00
    long_identity_expr0.000.00
    divide10.000.00
    divide20.000.00
    divide30.000.00
    resrad0.000.00
    resrad_error0 modifications totalling 0 lines
    ident_mesh0.000.00
    min10.000.00
    min20.000.00
    max10.000.00
    min30.000.00
    max20.000.00
    max30.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expressions_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expressions_py.html new file mode 100644 index 000000000..923ea4a4a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_expressions_py.html @@ -0,0 +1,464 @@ +hybrid/expressions.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expressions.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc
    +#
    +#  Defect ID:  '3939 + '4008 + '4022 + '4162 + '4417 + '4435 + '5790 + '5672
    +#            + '5763 + '5767 + '5874 + '7465 + '7473
    +#
    +#  Programmer: Hank Childs
    +#  Date:       November 18, 2002
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri Oct 24 09:25:04 PDT 2003
    +#    Added test for mesh expressions for databases where we communicate
    +#    ghost zones.
    +#
    +#    Hank Childs, Wed Dec 10 14:25:01 PST 2003
    +#    Add tests for implicit and explicit changes in centering.  Also added
    +#    a test for the identity expression, which previously crashed the engine.
    +#
    +#    Hank Childs, Wed Feb 11 14:49:40 PST 2004
    +#    Add tests for nmats and constants.
    +#    
    +#    Hank Childs, Thu Apr 22 16:19:36 PDT 2004
    +#    Update comments due to the change in semantics of recenter (it is now
    +#    always zonal).
    +#
    +#    Hank Childs, Wed Dec 22 13:14:29 PST 2004
    +#    Add tests for variables used both in an expression and in the
    +#    pipeline ['5790].
    +#
    +#    Hank Childs, Thu Jan  6 11:21:21 PST 2005
    +#    Add tests for multiple identity filters and additional tests for mixed
    +#    centering ['5672, '5763, '5767].
    +#
    +#    Hank Childs, Thu Jan 20 18:29:28 PST 2005
    +#    Add test for resrad ['5874].
    +#
    +#    Hank Childs, Fri Aug 25 17:34:13 PDT 2006
    +#    Add test for resrad when arguments are missing ['7473].
    +#
    +#    Hank Childs, Fri Sep 14 11:52:39 PDT 2007
    +#    Add test for identify filters and meshes ['7465].
    +#
    +#    Cyrus Harrison, Thu Jan 31 09:19:57 PST 2008
    +#    Added a test for the value_for_material filter. 
    +#
    +#    Cyrus Harrison, Tue Feb 19 13:52:01 PST 2008
    +#    Removed value_for_material tests (they now reside in val4mat.py)
    +#
    +#    Kathleen Bonnell, Thu May  7 09:26:36 PDT 2009
    +#    ident_mesh is no longer an error case, so remove the error test and
    +#    save an image instead.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Alister Maguire, Mon Mar 29 12:17:40 PDT 2021
    +#    Moved min/max tests into function and extended to include
    +#    multi-domain data.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestMinMaxExpression():
    +    # Test min/max expression
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    #
    +    # First, let's test a serial dataset.
    +    #
    +    DefineScalarExpression('min1', 'min(10.0, 5.0, d+p)')
    +    AddPlot('Pseudocolor', 'min1')
    +    DrawPlots()
    +    Test('min1')
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression('min2', 'min(d+p, 5.0, 10.0)')
    +    AddPlot('Pseudocolor', 'min2')
    +    DrawPlots()
    +    Test('min2')
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression('max1', 'max(10.0, 5.0, d+p)')
    +    AddPlot('Pseudocolor', 'max1')
    +    DrawPlots()
    +    Test('max1')
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression('min3', 'min(2.0, d+p, d*p+2*d)')
    +    AddPlot('Pseudocolor', 'min3')
    +    DrawPlots()
    +    Test('min3')
    +    DeleteAllPlots()
    +
    +    CloseDatabase(silo_data_path("rect2d.silo"))
    +
    +    #
    +    # Multi-domain datasets are handled a little differently, so
    +    # let's test one here.
    +    #
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    DefineScalarExpression('max2', 'max(p*16, 4)')
    +    AddPlot('Pseudocolor', 'max2')
    +    DrawPlots()
    +    Test('max2')
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression('max3', 'max(p*16, d, 4)')
    +    AddPlot('Pseudocolor', 'max3')
    +    DrawPlots()
    +    Test('max3')
    +    DeleteAllPlots()
    +
    +    CloseDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +
    +DefineScalarExpression("radius_polar", "polar(mesh)[0]")
    +AddPlot("Contour", "radius_polar")
    +DrawPlots()
    +Test("radius_ghosts")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +
    +DefineScalarExpression("mag1", "magnitude(vel)")
    +AddPlot("Pseudocolor", "mag1")
    +DrawPlots()
    +
    +Test("magnitude1")
    +DeleteAllPlots()
    +
    +#
    +# We have a poor gradient scheme that will cause gradients along a band to
    +# falsely register as 0.  Regardless, I'd like to test it.
    +#
    +DefineScalarExpression("mag2", "magnitude(gradient(v))")
    +AddPlot("Pseudocolor", "mag2")
    +DrawPlots()
    +
    +Test("magnitude2")
    +DeleteAllPlots()
    +
    +
    +#
    +# See above comment regarding gradients.
    +#
    +DefineScalarExpression("vector_sum", "magnitude(gradient(v)+gradient(u))")
    +AddPlot("Pseudocolor", "vector_sum")
    +DrawPlots()
    +
    +Test("vector_sum")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("vector_diff", "magnitude(gradient(v)-gradient(u))")
    +AddPlot("Pseudocolor", "vector_diff")
    +DrawPlots()
    +
    +Test("vector_diff")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("theta", "polar(mesh1)[1]")
    +AddPlot("Pseudocolor", "theta")
    +DrawPlots()
    +
    +Test("theta")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("phi", "polar(mesh1)[2]")
    +AddPlot("Pseudocolor", "phi")
    +DrawPlots()
    +
    +Test("phi")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("cos", "cos(polar(mesh1)[1])")
    +AddPlot("Pseudocolor", "cos")
    +DrawPlots()
    +
    +Test("cos")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("abs_cos", "abs(cos(polar(mesh1)[1]))")
    +AddPlot("Pseudocolor", "abs_cos")
    +DrawPlots()
    +
    +Test("abs_cos")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("sin", "sin(polar(mesh1)[1])")
    +AddPlot("Pseudocolor", "sin")
    +DrawPlots()
    +
    +Test("sin")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("minus_sin", "-sin(polar(mesh1)[1])")
    +AddPlot("Pseudocolor", "minus_sin")
    +DrawPlots()
    +
    +Test("minus_sin")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("four_phase", "rad2deg(acos(sin(polar(mesh1)[1]))-polar(mesh1)[1])")
    +AddPlot("Pseudocolor", "four_phase")
    +DrawPlots()
    +
    +Test("four_phase")
    +DeleteAllPlots()
    +
    +
    +atts = PseudocolorAttributes()
    +atts.minFlag = 1
    +atts.min = 0.99
    +atts.maxFlag = 1
    +atts.max = 1.01
    +SetDefaultPlotOptions(atts)
    +
    +DefineScalarExpression("one", "sin(polar(mesh1)[1])*sin(polar(mesh1)[1]) + cos(polar(mesh1)[1])*cos(polar(mesh1)[1])")
    +AddPlot("Pseudocolor", "one")
    +DrawPlots()
    +
    +Test("one")
    +DeleteAllPlots()
    +
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +SetDefaultPlotOptions(atts)
    +
    +DefineScalarExpression("X", "coord(mesh1)[0]")
    +AddPlot("Pseudocolor", "X")
    +DrawPlots()
    +
    +Test("X")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("radius", "sqrt(coords(mesh1)[0]*coords(mesh1)[0]+coords(mesh1)[1]*coords(mesh1)[1]+coords(mesh1)[2]*coords(mesh1)[2])")
    +AddPlot("Pseudocolor", "radius")
    +DrawPlots()
    +
    +Test("radius")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("zero", "(polar(mesh1))[0] - sqrt(coords(mesh1)[0]*coords(mesh1)[0]+coords(mesh1)[1]*coords(mesh1)[1]+coords(mesh1)[2]*coords(mesh1)[2])")
    +AddPlot("Pseudocolor", "zero")
    +DrawPlots()
    +
    +Test("zero")
    +DeleteAllPlots()
    +
    +DefineVectorExpression("dd", "disp+{1,2,3}")
    +AddPlot("Vector", "dd")
    +DrawPlots()
    +
    +Test("vector_add_const")
    +DeleteAllPlots()
    +
    +DefineVectorExpression("cr", "cross(disp,dd)")
    +AddPlot("Vector", "cr")
    +DrawPlots()
    +
    +Test("vector_cross")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("a", "t")
    +AddPlot("Pseudocolor", "a")
    +DrawPlots()
    +Test("identity_expr")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("sum1", "t+100*u")
    +AddPlot("Pseudocolor", "sum1")
    +DrawPlots()
    +Test("diff_centering_expr_01")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("sum2", "(u+t/100.)*100.")
    +AddPlot("Pseudocolor", "sum2")
    +DrawPlots()
    +Test("diff_centering_expr_02")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("diff", "sum2-sum1")
    +AddPlot("Pseudocolor", "diff")
    +DrawPlots()
    +Test("diff_centering_expr_03")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("sum_rc1", "recenter(t)+100*u")
    +AddPlot("Pseudocolor", "sum_rc1")
    +DrawPlots()
    +Test("diff_centering_expr_04")
    +DeleteAllPlots()
    +
    +# This one will recenter the first t.  When the second one is subtracted,
    +# will recenter the first t again to make it zonal again.
    +DefineScalarExpression("diff_rc1", "recenter(t)-t")
    +AddPlot("Pseudocolor", "diff_rc1")
    +DrawPlots()
    +Test("diff_centering_expr_05")
    +DeleteAllPlots()
    +
    +# This one will recenter the first t twice.  The second one will not be 
    +# touched.
    +DefineScalarExpression("diff_rc2", "recenter(recenter(t))-t")
    +AddPlot("Pseudocolor", "diff_rc2")
    +DrawPlots()
    +Test("diff_centering_expr_06")
    +DeleteAllPlots()
    +
    +# The first t will not be touched.  The second one will be recentered once
    +# explicitly and once implicitly (from the minus).
    +DefineScalarExpression("diff_rc3", "t-recenter(t)")
    +AddPlot("Pseudocolor", "diff_rc2")
    +DrawPlots()
    +Test("diff_centering_expr_07")
    +DeleteAllPlots()
    +
    +# The constant (3.14159) will be the only variable in the dataset.  Test
    +# that the constant creation logic can figure out that we must be making
    +# an expression based on the mesh downstream.
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +DefineScalarExpression("sin_x", "sin(3.14159*coord(quadmesh3d)[0])")
    +AddPlot("Pseudocolor", "sin_x")
    +DrawPlots()
    +Test("const_with_no_other_vars")
    +DeleteAllPlots()
    +
    +# The nmats expression needs to use the original zone numbers array to
    +# find the correct index into an avtMaterial object.  Make sure that this is
    +# being done correctly by splitting the zones before we even get to the
    +# expression via MIR.
    +DefineScalarExpression("nmats", "nmats(mat1)")
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Threshold")
    +thresh = ThresholdAttributes()
    +thresh.lowerBounds = (1.5)
    +thresh.listedVarNames = ("nmats")
    +SetOperatorOptions(thresh)
    +DrawPlots()
    +Test("nmats_with_mir")
    +DeleteAllPlots()
    +
    +# Test that a variable (u) can be used in both the expression and downstream
    +# in the pipeline.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "speed")
    +AddOperator("Threshold")
    +thresh = ThresholdAttributes()
    +thresh.lowerBounds = (0.0)
    +thresh.listedVarNames = ("u")
    +SetOperatorOptions(thresh)
    +DrawPlots()
    +Test("mult_var_usage")
    +DeleteAllPlots()
    +
    +# The binary math filter forces mixed centering to be zonal.  The base class
    +# used to get confused and would sometimes declare the variable as nodal.
    +# Test to make sure this works.  By forcing the centering, we can confirm
    +# the base class is declaring the variable the right way.
    +DefineScalarExpression("prod", "u*t")
    +AddPlot("Pseudocolor", "prod")
    +pc = PseudocolorAttributes()
    +pc.centering = pc.Nodal
    +SetPlotOptions(pc)
    +DrawPlots()
    +Test("mixed_centering_nodal")
    +pc = PseudocolorAttributes()
    +pc.centering = pc.Zonal
    +SetPlotOptions(pc)
    +Test("mixed_centering_zonal")
    +
    +# Test that we can handle multiple identity expressions.
    +DefineScalarExpression("sub1", "u")
    +DefineScalarExpression("sub2", "v")
    +DefineScalarExpression("sum", "sub1+sub2")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "sum")
    +DrawPlots()
    +Test("mult_identity_expr")
    +
    +# Test that we can handle identity expressions that are not the first node
    +# of the expression tree.
    +DefineVectorExpression("C", "coord(mesh1)")
    +DefineScalarExpression("X", "C[0]")
    +DefineScalarExpression("Y", "C[1]")
    +DefineScalarExpression("Z", "C[2]")
    +DefineScalarExpression("TX", "X")
    +DefineScalarExpression("TY", "cos_angle*Y - sin_angle*Z + Zt*sin_angle - Yt*cos_angle")
    +DefineScalarExpression("TZ", "sin_angle*Y + cos_angle*Z + Yt*sin_angle - Zt*cos_angle")
    +DefineScalarExpression("Yt", "5")
    +DefineScalarExpression("Zt", "10")
    +DefineScalarExpression("angle", "rad2deg(30)")
    +DefineScalarExpression("sin_angle", "sin(angle)")
    +DefineScalarExpression("cos_angle", "cos(angle)")
    +DefineScalarExpression("rad", "TX*TX + TY*TY + TZ*TZ")
    +AddPlot("Pseudocolor", "rad")
    +DrawPlots()
    +Test("long_identity_expr")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +# Test divide expression
    +DefineScalarExpression('divide1', 'divide(d,p)')
    +AddPlot('Pseudocolor','divide1')
    +DrawPlots()
    +Test('divide1')
    +
    +DefineScalarExpression('divide2', 'divide(d,p,0.0,2.0)')
    +AddPlot('Pseudocolor','divide2')
    +DrawPlots()
    +Test('divide2')
    +DeleteAllPlots()
    +
    +DefineScalarExpression('divide3', 'divide(d,p,1.0,2.0)')
    +AddPlot('Pseudocolor','divide3')
    +DrawPlots()
    +Test('divide3')
    +DeleteAllPlots()
    +
    +# Test resrad
    +DefineScalarExpression("resrad", "resrad(recenter(u), 0.1)")
    +AddPlot("Pseudocolor", "resrad")
    +DrawPlots()
    +Test("resrad")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("resrad2", "resrad(recenter(u))")
    +AddPlot("Pseudocolor", "resrad2")
    +DrawPlots()
    +txt = GetLastError()
    +TestText("resrad_error", txt)
    +
    +DeleteAllPlots()
    +DefineScalarExpression("ident_mesh", "quadmesh2d")
    +AddPlot("Pseudocolor", "ident_mesh")
    +DrawPlots()
    +Test("ident_mesh")
    +
    +TestMinMaxExpression()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_field_operators.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_field_operators.html new file mode 100644 index 000000000..f8f310d73 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_field_operators.html @@ -0,0 +1,144 @@ + +Results for hybrid/field_operators.py + +

    Results of VisIt Regression Test - hybrid/field_operators

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    field_op_010.000.00
    field_op_020.000.00
    field_op_030.000.00
    field_op_040.000.00
    field_op_050.000.00
    field_op_060.000.00
    field_op_070.000.00
    field_op_080.000.00
    field_op_090.000.00
    field_op_100.000.00
    field_op_110.000.00
    field_op_120.000.00
    field_op_130.000.00
    field_op_140.000.00
    field_op_150.000.00
    field_op_160.000.00
    field_op_170.000.00
    field_op_180.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_field_operators_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_field_operators_py.html new file mode 100644 index 000000000..7b48fff8a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_field_operators_py.html @@ -0,0 +1,258 @@ +hybrid/field_operators.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  field_operators.py
    +#
    +#  Tests:      mesh      - rectilinear, curvilinear
    +#              plots     - vector, contour
    +#
    +#  Defect ID:  '4141, '5343, '6297, '6460, '7063, '8025
    +#
    +#  Programmer: Hank Childs
    +#  Date:       December 13, 2003
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
    +#    Set the vector origin explicitly for some cases because I changed the
    +#    default to Tail.
    +#
    +#    Hank Childs, Mon Jan  3 10:35:56 PST 2005
    +#    Renamed to field_operators.  Added testing for divergence, Laplacian,
    +#    and curl.
    +#
    +#    Hank Childs, Mon Jun  6 11:28:45 PDT 2005
    +#    Add tests for 2D divergence, Laplacian.
    +#
    +#    Hank Childs, Mon Aug 15 14:19:49 PDT 2005
    +#    2D curl now produces a scalar.  Change our test appropriately.
    +#
    +#    Hank Childs, Fri Mar  3 09:01:08 PST 2006
    +#    Add test for Jacobian (2D determinants).  '7063
    +#
    +#    Hank Childs, Mon Jun 18 09:54:09 PDT 2007
    +#    Add test for dot of curl with a vector.  This is really testing the
    +#    ability of macro expressions to maintain secondary variables. '8025
    +#
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Remove obsolete 'colorByMag' vector att with 'colorByMagnitude'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +DefineVectorExpression("grad_t", "gradient(t)")
    +AddPlot("Vector", "grad_t")
    +v = VectorAttributes()
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Zonal UCD gradient.
    +Test("field_op_01")
    +DeleteAllPlots()
    +
    +DefineVectorExpression("grad_u", "gradient(u)")
    +AddPlot("Vector", "grad_u")
    +v = VectorAttributes()
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Nodal UCD gradient.
    +Test("field_op_02")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +DefineVectorExpression("grad_d", "gradient(d)")
    +AddPlot("Vector", "grad_d")
    +v = VectorAttributes()
    +v.colorByMagnitude = 1
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Zonal rect-2d gradient.
    +Test("field_op_03")
    +DeleteAllPlots()
    +
    +AddPlot("Vector", "grad_u")
    +v = VectorAttributes()
    +v.colorByMagnitude = 1
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Nodal rect-2d gradient.
    +Test("field_op_04")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +AddPlot("Vector", "grad_d")
    +v = VectorAttributes()
    +v.nVectors = 447
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Zonal rect-3d gradient.
    +Test("field_op_05")
    +DeleteAllPlots()
    +
    +AddPlot("Vector", "grad_u")
    +v = VectorAttributes()
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Nodal rect-3d gradient.
    +Test("field_op_06")
    +DeleteAllPlots()
    +
    +AddPlot("Vector", "vel")
    +DefineScalarExpression("mag", "magnitude(vel)")
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.5)
    +t.upperBounds = (1.5)
    +t.listedVarNames = ("mag")
    +SetOperatorOptions(t)
    +DrawPlots()
    +
    +# Test vector with threshold ('4178)
    +Test("field_op_07")
    +DeleteAllPlots()
    +
    +
    +AddPlot("Vector", "grad_u")
    +v = VectorAttributes()
    +v.vectorOrigin = v.Middle
    +v.nVectors = 400*3
    +SetPlotOptions(v)
    +DefineScalarExpression("u_mag", "magnitude(grad_u)")
    +AddOperator("Isosurface")
    +iso = IsosurfaceAttributes()
    +iso.contourNLevels = 3
    +iso.variable = "u_mag"
    +SetOperatorOptions(iso)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.imageZoom = 4.5
    +SetView3D(v)
    +
    +# Test vector with isosurface ('4207)
    +Test("field_op_08")
    +
    +# Add a contour plot just for grins to show that our isosurface operator is
    +# picking up the same surface as the contour plot.
    +AddPlot("Contour", "u_mag")
    +con = ContourAttributes()
    +con.contourNLevels = 3
    +SetPlotOptions(con)
    +DrawPlots()
    +
    +Test("field_op_09")
    +DeleteAllPlots()
    +
    +# Test that we can calculate the Laplacian.
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +v = GetView3D()
    +v.imageZoom = 1
    +v.viewNormal = (0.41, 0.08, -0.91)
    +SetView3D(v)
    +
    +DefineScalarExpression("LP", "abs(Laplacian(u))")
    +AddPlot("Contour", "LP")
    +c = ContourAttributes()
    +c.scaling = c.Log
    +SetPlotOptions(c)
    +DrawPlots()
    +Test("field_op_10")
    +
    +DefineScalarExpression("div", "divergence(vel)")
    +DeleteAllPlots()
    +AddPlot("Contour", "div")
    +c = ContourAttributes()
    +c.scaling = c.Log
    +SetPlotOptions(c)
    +DrawPlots()
    +Test("field_op_11")
    +
    +
    +# Test multiple macro expressions together -- divergence and Laplacian.
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "div")
    +pc = PseudocolorAttributes()
    +pc.scaling = pc.Log
    +SetPlotOptions(pc)
    +AddOperator("Isosurface")
    +iso = IsosurfaceAttributes()
    +iso.scaling = iso.Log
    +iso.variable = "LP"
    +SetOperatorOptions(iso)
    +DrawPlots()
    +
    +Test("field_op_12")
    +
    +
    +DefineVectorExpression("curl", "curl(vel)")
    +DeleteAllPlots()
    +AddPlot("Vector", "curl")
    +v = VectorAttributes()
    +v.scaleByMagnitude = 0
    +SetPlotOptions(v)
    +DrawPlots()
    +Test("field_op_13")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +DefineScalarExpression("div2", "divergence(vel)")
    +AddPlot("Pseudocolor", "div2")
    +DrawPlots()
    +Test("field_op_14")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("LP2", "Laplacian(d)")
    +AddPlot("Pseudocolor", "LP2")
    +DrawPlots()
    +Test("field_op_15")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("curl2", "curl(vel)")
    +AddPlot("Pseudocolor", "curl2")
    +DrawPlots()
    +Test("field_op_16")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("jacobian", "determinant({gradient(u), gradient(v)})")
    +AddPlot("Pseudocolor", "jacobian")
    +DrawPlots()
    +Test("field_op_17")
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +DefineVectorExpression("mycurl", "curl(vel)")
    +DefineScalarExpression("mydot", "dot(curl,vel)")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "mydot")
    +DrawPlots()
    +Test("field_op_18")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ghost_node.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ghost_node.html new file mode 100644 index 000000000..85c42769a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ghost_node.html @@ -0,0 +1,44 @@ + +Results for hybrid/ghost_node.py + +

    Results of VisIt Regression Test - hybrid/ghost_node

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ghost_node_0151.294.83
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ghost_node_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ghost_node_py.html new file mode 100644 index 000000000..e1f819443 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_ghost_node_py.html @@ -0,0 +1,45 @@ +hybrid/ghost_node.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ghost_node.py 
    +#
    +#  Tests:      ghost node removal of multi_curv3d.silo
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       July 6, 2020 
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Fri Mar 12, 2021
    +#    Added DeleteAllPlots before CloseDatabase.
    +#
    +# ----------------------------------------------------------------------------
    +TurnOffAllAnnotations() # defines global object 'a'
    +
    +OpenDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +pc = PseudocolorAttributes()
    +pc.opacityType = pc.Constant
    +pc.opacityVariable = ""
    +pc.opacity = 0.25
    +SetPlotOptions(pc)
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (-0.491824, 0.420414, 0.76247)
    +v.focus = (0, 2.5, 15)
    +v.viewUp = (0.214182, 0.907212, -0.362066)
    +v.viewAngle = 30
    +v.parallelScale = 16.0078
    +v.nearPlane = -32.0156
    +v.farPlane = 32.0156
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +SetView3D(v)
    +
    +Test("ghost_node_01")
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_image_proc.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_image_proc.html new file mode 100644 index 000000000..0c9be6456 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_image_proc.html @@ -0,0 +1,54 @@ + +Results for hybrid/image_proc.py + +

    Results of VisIt Regression Test - hybrid/image_proc

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    image_proc_010.000.00
    image_proc_020.000.00
    image_proc_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_image_proc_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_image_proc_py.html new file mode 100644 index 000000000..188591b6b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_image_proc_py.html @@ -0,0 +1,34 @@ +hybrid/image_proc.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  image_proc.py
    +#
    +#  Tests:      mesh      - Image
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  '6492
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 19, 2005
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(data_path("Image_test_data/manhattan.jpg"))
    +
    +DefineScalarExpression("cm", "conservative_smoothing(intensity)")
    +AddPlot("Pseudocolor", "cm")
    +DrawPlots()
    +Test("image_proc_01")
    +
    +DefineScalarExpression("median", "median_filter(intensity)")
    +ChangeActivePlotsVar("median")
    +Test("image_proc_02")
    +
    +DefineScalarExpression("mean", "mean_filter(intensity)")
    +ChangeActivePlotsVar("mean")
    +Test("image_proc_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_keyframe.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_keyframe.html new file mode 100644 index 000000000..fb40c8a9f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_keyframe.html @@ -0,0 +1,501 @@ + +Results for hybrid/keyframe.py + +

    Results of VisIt Regression Test - hybrid/keyframe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Simple 6 frame animation
    keyframe_010.000.00
    keyframe_020.000.00
    keyframe_030.000.00
    keyframe_040.000.00
    keyframe_050.000.00
    keyframe_060.000.00
    Setting plot frame range
    keyframe_070.000.00
    keyframe_080.000.00
    keyframe_090.000.00
    keyframe_100.000.00
    keyframe_110.000.00
    keyframe_120.000.00
    Setting a plot attributes keyframe
    keyframe_130.000.00
    keyframe_140.000.00
    keyframe_150.000.00
    keyframe_160.000.00
    keyframe_170.000.00
    keyframe_180.000.00
    Removing a plot attributes keyframe
    keyframe_190.000.00
    keyframe_200.000.00
    keyframe_210.000.00
    keyframe_220.000.00
    keyframe_230.000.00
    keyframe_240.000.00
    Deleting another plot attributes keyframe
    keyframe_250.000.00
    keyframe_260.000.00
    keyframe_270.000.00
    keyframe_280.000.00
    keyframe_290.000.00
    keyframe_300.000.00
    Decreasing number of animation frames
    keyframe_310.000.00
    keyframe_320.000.00
    keyframe_330.000.00
    keyframe_340.000.00
    Copying keyframed plot to a new window
    keyframe_350.000.00
    keyframe_360.000.00
    keyframe_370.000.00
    keyframe_380.000.00
    Turning off keyframe mode
    keyframe_390.000.00
    keyframe_400.000.00
    keyframe_410.000.00
    keyframe_420.000.00
    Testing view keyframing
    keyframe_430.000.00
    keyframe_440.000.00
    keyframe_450.000.00
    keyframe_460.000.00
    keyframe_470.000.00
    keyframe_480.000.00
    keyframe_490.000.00
    keyframe_500.000.00
    keyframe_510.000.00
    keyframe_520.000.00
    keyframe_530.000.00
    Moving keyframes
    keyframe_540.000.00
    keyframe_550.000.00
    keyframe_560.000.00
    keyframe_570.000.00
    keyframe_580.000.00
    keyframe_590.000.00
    keyframe_600.000.00
    keyframe_610.000.00
    keyframe_620.000.00
    Operator keyframes
    keyframe_630.000.00
    keyframe_640.000.00
    keyframe_650.000.00
    keyframe_660.000.00
    keyframe_670.000.00
    keyframe_680.000.00
    keyframe_690.000.00
    keyframe_700.000.00
    keyframe_710.000.00
    keyframe_720.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_keyframe_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_keyframe_py.html new file mode 100644 index 000000000..fed2271ee --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_keyframe_py.html @@ -0,0 +1,544 @@ +hybrid/keyframe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  keyframe.py
    +#
    +#  Tests:      mesh      - 3D structured, single domain
    +#              plots     - pc, mesh
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Thu Dec 19 16:02:41 PST 2002
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Apr 7 17:24:41 PST 2004
    +#    I added TestSection to break up the test images a little. I also updated
    +#    the code so it uses the new time slider functions instead of the
    +#    deprecated animation functions.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +#
    +#    Eric Brugger, Wed Mar 22 16:23:12 PDT 2023
    +#    Added operator keyframe tests.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# Open a database.
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +# Enable keyframe mode.
    +k = GetKeyframeAttributes()
    +k.enabled = 1
    +SetKeyframeAttributes(k)
    +
    +# Set the number of frames to be 6.
    +AnimationSetNFrames(6)
    +
    +# Create a pseudocolor plot that exists over the first
    +# 6 frames of the animation.
    +AddPlot("Pseudocolor", "pressure")
    +SetPlotFrameRange(0, 0, 5)
    +
    +# Set the attributes at the first and last frame.
    +SetTimeSliderState(0)
    +pc = PseudocolorAttributes()
    +pc.min = 0
    +pc.max = 0.2
    +pc.minFlag = 1
    +pc.maxFlag = 1
    +SetPlotOptions(pc)
    +
    +SetTimeSliderState(5)
    +pc.max = 0.5
    +SetPlotOptions(pc)
    +
    +# Create a mesh plot that exists over frames 2
    +# through 4.
    +AddPlot("Mesh", "quadmesh")
    +
    +SetPlotFrameRange(1, 2, 4)
    +SetPlotDatabaseState(1, 2, 28)
    +SetPlotDatabaseState(1, 4, 56)
    +
    +# Cycle through all the frames, checking that all
    +# the images are correct.
    +TestSection("Simple 6 frame animation")
    +SetTimeSliderState(0)
    +DrawPlots()
    +Test("keyframe_01")
    +TimeSliderNextState()
    +Test("keyframe_02")
    +TimeSliderNextState()
    +Test("keyframe_03")
    +TimeSliderNextState()
    +Test("keyframe_04")
    +TimeSliderNextState()
    +Test("keyframe_05")
    +TimeSliderNextState()
    +Test("keyframe_06")
    +
    +# Change to frame 4, change the frame range and
    +# check that all the frames are ok.
    +TestSection("Setting plot frame range")
    +SetTimeSliderState(4)
    +SetPlotFrameRange(1, 0, 2)
    +SetPlotDatabaseState(1, 0, 0)
    +SetPlotDatabaseState(1, 2, 28)
    +
    +SetTimeSliderState(0)
    +Test("keyframe_07")
    +TimeSliderNextState()
    +Test("keyframe_08")
    +TimeSliderNextState()
    +Test("keyframe_09")
    +TimeSliderNextState()
    +Test("keyframe_10")
    +TimeSliderNextState()
    +Test("keyframe_11")
    +TimeSliderNextState()
    +Test("keyframe_12")
    +
    +SetActivePlots(1)
    +DeleteActivePlots()
    +
    +# Set the pseudocolor attributes for frame 2 and
    +# check that all the frames are ok.
    +TestSection("Setting a plot attributes keyframe")
    +SetActivePlots(0)
    +SetTimeSliderState(2)
    +pc.max = 0.7
    +SetPlotOptions(pc)
    +
    +SetTimeSliderState(0)
    +Test("keyframe_13")
    +TimeSliderNextState()
    +Test("keyframe_14")
    +TimeSliderNextState()
    +Test("keyframe_15")
    +TimeSliderNextState()
    +Test("keyframe_16")
    +TimeSliderNextState()
    +Test("keyframe_17")
    +TimeSliderNextState()
    +Test("keyframe_18")
    +
    +# Delete the keyframe at frame 2 and check that
    +# all the frames are ok.
    +TestSection("Removing a plot attributes keyframe")
    +SetTimeSliderState(2)
    +DeletePlotKeyframe(0, 2)
    +
    +SetTimeSliderState(0)
    +Test("keyframe_19")
    +TimeSliderNextState()
    +Test("keyframe_20")
    +TimeSliderNextState()
    +Test("keyframe_21")
    +TimeSliderNextState()
    +Test("keyframe_22")
    +TimeSliderNextState()
    +Test("keyframe_23")
    +TimeSliderNextState()
    +Test("keyframe_24")
    +
    +# Delete the keyframe at frame 5 and check that
    +# all the frames are ok.
    +TestSection("Deleting another plot attributes keyframe")
    +DeletePlotKeyframe(0, 5)
    +
    +SetTimeSliderState(0)
    +Test("keyframe_25")
    +TimeSliderNextState()
    +Test("keyframe_26")
    +TimeSliderNextState()
    +Test("keyframe_27")
    +TimeSliderNextState()
    +Test("keyframe_28")
    +TimeSliderNextState()
    +Test("keyframe_29")
    +TimeSliderNextState()
    +Test("keyframe_30")
    +
    +# Change the number of frames to 4.  Create a
    +# pseudocolor plot that changes its range but
    +# keeps the database state constant at 0.  Check
    +# that all the frames are ok.
    +TestSection("Decreasing number of animation frames")
    +DeleteActivePlots()
    +AnimationSetNFrames(4)
    +AddPlot("Pseudocolor", "pressure")
    +SetPlotFrameRange(0, 0, 3)
    +SetTimeSliderState(0)
    +pc.max = 0.2
    +SetPlotOptions(pc)
    +SetTimeSliderState(3)
    +pc.max = 0.5
    +SetPlotOptions(pc)
    +DeletePlotDatabaseKeyframe(0, 3)
    +DrawPlots()
    +
    +SetTimeSliderState(0)
    +Test("keyframe_31")
    +TimeSliderNextState()
    +Test("keyframe_32")
    +TimeSliderNextState()
    +Test("keyframe_33")
    +TimeSliderNextState()
    +Test("keyframe_34")
    +
    +# Test copying plots to a new window.
    +TestSection("Copying keyframed plot to a new window")
    +SetTimeSliderState(2)
    +AddWindow()
    +SetActiveWindow(2)
    +CopyPlotsToWindow(1, 2)
    +CopyAnnotationsToWindow(1, 2)
    +CopyViewToWindow(1, 2)
    +DrawPlots()
    +
    +Test("keyframe_35")
    +TimeSliderNextState()
    +Test("keyframe_36")
    +TimeSliderNextState()
    +Test("keyframe_37")
    +TimeSliderNextState()
    +Test("keyframe_38")
    +
    +# Take the window out of keyframe mode and
    +# check that setting the plot attributes sets
    +# them for all the frames.
    +TestSection("Turning off keyframe mode")
    +k.enabled = 0
    +SetKeyframeAttributes(k)
    +
    +SetPlotDatabaseState(0, 3, 3)
    +SetTimeSliderState(3)
    +pc.minFlag = 0
    +pc.maxFlag = 0
    +SetPlotOptions(pc)
    +
    +SetTimeSliderState(0)
    +Test("keyframe_39")
    +TimeSliderNextState()
    +Test("keyframe_40")
    +TimeSliderNextState()
    +Test("keyframe_41")
    +TimeSliderNextState()
    +Test("keyframe_42")
    +
    +# Clear the window, reset the view and enable
    +# keyframe mode in preparation to test view
    +# keyframing.
    +TestSection("Testing view keyframing")
    +DeleteAllPlots()
    +ResetView()
    +k.enabled = 1
    +SetKeyframeAttributes(k)
    +
    +# Open a database.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +# Set the number of frames to be 9.
    +AnimationSetNFrames(9)
    +
    +# Create a pseudocolor plot that exists over the first
    +# 9 frames of the animation.
    +AddPlot("Pseudocolor", "u")
    +SetPlotFrameRange(0, 0, 8)
    +
    +# Create 5 view keyframes.
    +SetTimeSliderState(0)
    +v = GetView3D()
    +v.SetViewNormal(1, 0, 0)
    +v.SetFocus(0, 0, 0)
    +v.SetViewUp(0, 0, 1)
    +v.SetViewAngle(30)
    +v.SetParallelScale(17.3205)
    +v.SetNearPlane(-34.641)
    +v.SetFarPlane(34.641)
    +v.SetPerspective(1)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(2)
    +v.SetViewNormal(0, 1, 0)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(4)
    +v.SetViewNormal(-1, 0, 0)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(6)
    +v.SetViewNormal(0, -1, 0)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(8)
    +v.SetViewNormal(1, 0, 0)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +# Render the first frame.
    +SetTimeSliderState(0)
    +DrawPlots()
    +
    +# Enter camera view mode and cycle through all the
    +# frames, checking that all the images are correct.
    +ToggleCameraViewMode()
    +Test("keyframe_43")
    +TimeSliderNextState()
    +Test("keyframe_44")
    +TimeSliderNextState()
    +Test("keyframe_45")
    +TimeSliderNextState()
    +Test("keyframe_46")
    +TimeSliderNextState()
    +Test("keyframe_47")
    +TimeSliderNextState()
    +Test("keyframe_48")
    +TimeSliderNextState()
    +Test("keyframe_49")
    +TimeSliderNextState()
    +Test("keyframe_50")
    +TimeSliderNextState()
    +Test("keyframe_51")
    +
    +# Delete the view keyframe at frame 8 and check the image.
    +DeleteViewKeyframe(8)
    +Test("keyframe_52")
    +
    +# Clear all the view keyframes and check the first image.
    +ClearViewKeyframes()
    +TimeSliderNextState()
    +Test("keyframe_53")
    +
    +# Clear the window and reset the view in preparation
    +# to test moving keyframes.
    +TestSection("Moving keyframes")
    +DeleteAllPlots()
    +ResetView()
    +
    +# Open a database.
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +# Set the number of frames to be 6.
    +AnimationSetNFrames(6)
    +
    +# Create a pseudocolor plot that exists over the first
    +# 6 frames of the animation.
    +AddPlot("Pseudocolor", "pressure")
    +SetPlotFrameRange(0, 0, 5)
    +
    +# Set 3 keyframes.
    +SetTimeSliderState(0)
    +pc = PseudocolorAttributes()
    +pc.min = 0
    +pc.max = 0.2
    +pc.minFlag = 1
    +pc.maxFlag = 1
    +SetPlotOptions(pc)
    +
    +SetTimeSliderState(3)
    +pc.max = 0.7
    +SetPlotOptions(pc)
    +
    +SetTimeSliderState(5)
    +pc.max = 0.5
    +SetPlotOptions(pc)
    +
    +# Render all the images.
    +SetTimeSliderState(0)
    +DrawPlots()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +# Move the keyframe at frame 3 to 4, regenerate all
    +# the frames and check a few of them.
    +MovePlotKeyframe(0, 3, 4)
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +SetTimeSliderState(2)
    +Test("keyframe_54")
    +SetTimeSliderState(4)
    +Test("keyframe_55")
    +SetTimeSliderState(5)
    +Test("keyframe_56")
    +
    +# Delete the last 2 keyframes, move the database
    +# keyframe from frame 5 to 3, regenerate all
    +# the frames and check a few of them.
    +DeletePlotKeyframe(0, 4)
    +DeletePlotKeyframe(0, 5)
    +
    +MovePlotDatabaseKeyframe(0, 5, 3)
    +SetTimeSliderState(0)
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +SetTimeSliderState(1)
    +Test("keyframe_57")
    +SetTimeSliderState(3)
    +Test("keyframe_58")
    +SetTimeSliderState(4)
    +Test("keyframe_59")
    +
    +# Delete the second database keyframe, create
    +# 3 view keyframes and regenerate all the images.
    +DeletePlotDatabaseKeyframe(0, 3)
    +
    +SetTimeSliderState(0)
    +v = GetView3D()
    +v.SetViewNormal(-1, 0, 1)
    +v.SetFocus(5, 0.35, 2.5)
    +v.SetViewUp(0, 1, 0)
    +v.SetViewAngle(30)
    +v.SetParallelScale(5.6009)
    +v.SetNearPlane(-11.2018)
    +v.SetFarPlane(11.2018)
    +v.SetPerspective(1)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(2)
    +v.SetViewNormal(0, 0, 1)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(5)
    +v.SetViewNormal(1, 0, 1)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +ToggleCameraViewMode()
    +SetTimeSliderState(0)
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +# Move the view keyframe at frame 2 to frame 3,
    +# regenerate all the frames and check a few of them.
    +MoveViewKeyframe(2, 3)
    +SetTimeSliderState(0)
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +SetTimeSliderState(2)
    +Test("keyframe_60")
    +SetTimeSliderState(3)
    +Test("keyframe_61")
    +SetTimeSliderState(4)
    +Test("keyframe_62")
    +
    +# Clear the window and reset the view in preparation
    +# to test operator keyframes.
    +TestSection("Operator keyframes")
    +DeleteAllPlots()
    +ResetView()
    +
    +# Open a database.
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +# Set the number of frames to be 11.
    +AnimationSetNFrames(11)
    +
    +# Create a pseudocolor plot that exists over the first
    +# 11 frames of the animation.
    +AddPlot("Pseudocolor", "hardyglobal")
    +AddOperator("Slice")
    +AddOperator("Isosurface")
    +SetPlotFrameRange(0, 0, 10)
    +
    +# Set 3 slice keyframes.
    +SetTimeSliderState(0)
    +slice = SliceAttributes()
    +slice.originType = slice.Percent
    +slice.originPercent = 0
    +slice.project2d = 0
    +SetOperatorOptions(slice)
    +SetTimeSliderState(2)
    +SetOperatorOptions(slice)
    +SetTimeSliderState(10)
    +slice.originPercent = 100
    +SetOperatorOptions(slice)
    +
    +# Set 2 isosurface keyframes.
    +SetTimeSliderState(0)
    +iso = IsosurfaceAttributes()
    +SetOperatorOptions(iso)
    +SetTimeSliderState(5)
    +iso.contourNLevels = 5
    +SetOperatorOptions(iso)
    +
    +SetTimeSliderState(0)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.225979, 0.625179, 0.747051)
    +v.focus = (0, 0, 0)
    +v.viewUp = (-0.965293, 0.246786, 0.0854703)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.perspective = 1
    +SetView3D(v)
    +
    +# Check a bunch of frames.
    +Test("keyframe_63")
    +SetTimeSliderState(2)
    +Test("keyframe_64")
    +SetTimeSliderState(5)
    +Test("keyframe_65")
    +SetTimeSliderState(7)
    +Test("keyframe_66")
    +SetTimeSliderState(10)
    +Test("keyframe_67")
    +
    +# Delete the slice keyframe and move the isosurface keyframe.
    +DeleteOperatorKeyframe(0, 0, 2)
    +MoveOperatorKeyframe(0, 1, 5, 10)
    +
    +# Check a bunch of frames.
    +SetTimeSliderState(0)
    +Test("keyframe_68")
    +SetTimeSliderState(2)
    +Test("keyframe_69")
    +SetTimeSliderState(5)
    +Test("keyframe_70")
    +SetTimeSliderState(7)
    +Test("keyframe_71")
    +SetTimeSliderState(10)
    +Test("keyframe_72")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lambda2.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lambda2.html new file mode 100644 index 000000000..3776cbbb2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lambda2.html @@ -0,0 +1,54 @@ + +Results for hybrid/lambda2.py + +

    Results of VisIt Regression Test - hybrid/lambda2

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    iso_lambda20.000.00
    contour_lambda20.000.00
    pseudo_lambda20.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lambda2_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lambda2_py.html new file mode 100644 index 000000000..965fdad69 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lambda2_py.html @@ -0,0 +1,53 @@ +hybrid/lambda2.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lambda2.py
    +#
    +#  Tests:#     plots   - pseudocolor, contour
    +#  Defect ID:  1829
    +#
    +#  Programmer: Kevin Griffin
    +#  Date:       Tue Aug 5 15:01:27 PDT 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +ds = data_path("miranda_test_data/TG_vortex/plot.raw")
    +OpenDatabase(ds)
    +DefineScalarExpression("lambda2", "lambda2(gradient(velocity[0]), gradient(velocity[1]), gradient(velocity[2]))")
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +#
    +# Test 1
    +#
    +AddPlot("Pseudocolor", "lambda2")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -999.99
    +IsovolumeAtts.ubound = 0.0
    +IsovolumeAtts.variable = "default"
    +SetOperatorOptions(IsovolumeAtts)
    +
    +DrawPlots()
    +Test("iso_lambda2")
    +DeleteAllPlots()
    +
    +#
    +# Test 2
    +#
    +AddPlot("Contour", "lambda2")
    +DrawPlots()
    +Test("contour_lambda2")
    +DeleteAllPlots()
    +
    +#
    +# Test 3
    +#
    +AddPlot("Pseudocolor", "lambda2")
    +DrawPlots()
    +Test("pseudo_lambda2")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lineout.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lineout.html new file mode 100644 index 000000000..a1f56186b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lineout.html @@ -0,0 +1,251 @@ + +Results for hybrid/lineout.py + +

    Results of VisIt Regression Test - hybrid/lineout

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Lineout2d0.000.00
    CurvesFrom2d_withSampling0.000.00
    Lineout3d99.6167.49
    CurvesFrom3d_withSampling0.000.00
    MultiVarLineout2d0.000.00
    MultiVarCurvesFrom2d_withSampling0.000.00
    LineoutSAMRAI1.460.95
    CurvesFromSAMRAI_withSampling0.000.00
    LineoutSpecifyWindow_010.000.00
    CurvesFromSpecifyWindow_01_withSampling0.000.00
    LineoutSpecifyWindow_020.000.00
    CurvesFromSpecifyWindow_02_withSampling0.000.00
    Lineout2d_output_040 modifications totalling 0 lines
    Lineout2d_output_080 modifications totalling 0 lines
    CurvesFrom2d_noSampling0.000.00
    Lineout2d_output_020 modifications totalling 0 lines
    Lineout2d_output_150 modifications totalling 0 lines
    CurvesFrom3d_noSampling0.000.00
    MultiVarCurvesFrom2d_noSampling0.000.00
    CurvesFromSAMRAI_noSampling0.000.00
    CurvesFromSpecifyWindow_01_noSampling0.000.00
    CurvesFromSpecifyWindow_02_noSampling0.000.00
    CurvesFromDynamic_010.000.00
    CurvesFromDynamic_020.000.00
    CurvesFromDynamic_030.000.00
    CurvesFromDynamic_040.000.00
    CurvesFromDynamic_050.000.00
    CurvesFromDynamic_060.000.00
    Dynamic2_010.000.00
    Dynamic2_020.000.00
    Dynamic2_030.000.00
    LineoutTecPlot_010.000.00
    CurvesFromTecPlot_010.000.00
    Operator-Created Variables
    lineout_op_vars_000.000.00
    lineout_op_vars_010.000.00
    lineout_op_vars_020.000.00
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lineout_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lineout_py.html new file mode 100644 index 000000000..4e35ceb69 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_lineout_py.html @@ -0,0 +1,661 @@ +hybrid/lineout.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lineout.py #
    +#  Tests:      plots     - Curve
    +#              operators - Lineout
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Jan 3 14:22:41 PST 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Mon Mar 17 09:54:14 PST 2003
    +#    Added TestMultiVarLineout2D.
    +#
    +#    Kathleen Bonnell, Tue Dec 23 09:29:29 PST 2003 
    +#    Added TestSAMRAI.
    +#
    +#    Kathleen Bonnell, Thu Jul 29 11:59:35 PDT 2004 
    +#    Added tests for no-sampling version, renamed old Curve* tests to
    +#    indicate they were generated with-sampling. 
    +#
    +#    Kathleen Bonnell, Thu Aug  5 10:44:22 PDT 2004 
    +#    Added calls to ResetPickLetter() and ResetLineoutColor() at the end of
    +#    each test, so that failure on any one test won't necessarily affect the
    +#    tests that follow. 
    +#
    +#    Kathleen Bonnell, Wed Nov 24 11:38:55 PST 2004 
    +#    Modified the way that sampling gets turned on due to changes in Lineout
    +#    Attributes and GlobalLineoutAttributes.  Use global version to turn
    +#    sampling on and off. 
    +#
    +#    Kathleen Bonnell, Fri Feb  4 11:17:56 PST 2005 
    +#    Added TestDynamic, to test new global atts: curveOption and colorOption.
    +#
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Kathleen Bonnell, Wed Mar 23 17:58:20 PST 2005 
    +#    Added TestDynamic2. 
    +#
    +#    Kathleen Bonnell, hu May 19 11:26:39 PDT 2005 
    +#    Added TestTecPlot. 
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Kathleen Bonnell, Tue Jun 20 16:02:38 PDT 2006
    +#    Added tests for GetOutputArray to Lineout2D.
    +#
    +#    Kathleen Bonnell, Wed Jun 28 15:57:58 PDT 2006
    +#    Added tests to TestDynamicLineout, testing having curves from  different
    +#    time-varying databases (same originating window and different originating
    +#    window) in same curve window, and update the curves via the originating
    +#    plots time-slider (bug '7002).
    +#
    +#    Brad Whitlock, Wed Jan 14 16:12:10 PST 2009
    +#    I changed the call to GetOutputArray. It's no longer a built-in function
    +#    in the CLI.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Brad Whitlock, Tue Mar 26 12:06:51 PDT 2013
    +#    I added TestOperatorCreatedVariables.
    +#
    +#    Kathleen Biagas, Wed Feb 24 10:11:35 PST 2021
    +#    Remove setting of Pseudocolor colorTableName name to 'Default', as
    +#    that is now the default anyways.
    +#    Reset default continuous color table to 'hot' after a test that changes
    +#    it is finished, so that other tests aren't affected.
    +#
    +#    Justin Privitera, Wed May 18 11:25:46 PDT 2022
    +#    Changed *active* to *default* for everything related to color tables.
    +# 
    +# ----------------------------------------------------------------------------
    +
    +def GetOutputArray(plotID = -1, winID = -1):
    +    gInfo = GetGlobalAttributes()
    +    oldWin = gInfo.windows[gInfo.activeWindow]
    +    # Set the active window
    +    if winID != -1:
    +        SetActiveWindow(winID)
    +
    +    # Get the active plots
    +    active = []
    +    if plotID != -1:
    +        pL = GetPlotList()
    +        for i in range(pL.GetNumPlots()):
    +            if pL.GetPlots(i).activeFlag:
    +                active = active + [i]
    +        SetActivePlots(plotID)
    +
    +    pInfo = GetPlotInformation()
    +
    +    # Restore the old active plots
    +    if len(active) > 0:
    +        SetActivePlots(tuple(active))
    +
    +    # Restore the old active window
    +    if winID != -1:
    +        SetActiveWindow(oldWin)
    +
    +    return pInfo["Curve"]
    +
    +def InitAnnotation():
    +    a = AnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +    a.axes2D.visible = 1
    +    a.axes2D.xAxis.label.visible = 0
    +    a.axes2D.yAxis.label.visible = 0
    +    a.axes2D.xAxis.title.visible = 0
    +    a.axes2D.yAxis.title.visible = 0
    +    SetAnnotationAttributes(a)
    +
    +def TestLineout2D(time, suffix):
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    # Set the colortable to one that has white at the bottom values.
    +    SetDefaultContinuousColorTable("calewhite")
    +
    +    # Create the variable list.
    +    vars = ("default")
    +
    +    # Do some lineouts.
    +    p0 = (-4.01261, 1.91818)
    +    p1 = (-0.693968, 4.448759)
    +    p2 = (4.144392, 1.713066)
    +    nsteps = 15
    +    for i in range(nsteps):
    +        t = float(i) / float(nsteps - 1)
    +        p3x = t * p2[0] + (1. - t) * p1[0]
    +        p3y = t * p2[1] + (1. - t) * p1[1]
    +        SetActiveWindow(1)
    +        Lineout(p0, (p3x, p3y), vars)
    +
    +    if (time == 1):
    +        SetActiveWindow(1)
    +        Test("Lineout2d")
    +
    +    if (time == 2):
    +        SetActiveWindow(1)
    +        oa = GetOutputArray(4, 2)
    +        s = ''.join(['%f, '% x for x in oa])
    +        s = '(' + s + ')'
    +        TestText("Lineout2d_output_04", s)
    +        oa = GetOutputArray(8, 2)
    +        s = ''.join(['%f, '% x for x in oa])
    +        s = '(' + s + ')'
    +        TestText("Lineout2d_output_08", s)
    +
    +    SetActiveWindow(2)
    +
    +    InitAnnotation()
    +    Test("CurvesFrom2d" + suffix)
    +
    +    if (time == 2):
    +        oa = GetOutputArray(2)
    +        s = ''.join(['%f, '% x for x in oa])
    +        s = '(' + s + ')'
    +        TestText("Lineout2d_output_02", s)
    +        oa = GetOutputArray()
    +        s = ''.join(['%f, '% x for x in oa])
    +        s = '(' + s + ')'
    +        TestText("Lineout2d_output_15", s)
    +
    +    # Reset the CT to 'hot'
    +    SetDefaultContinuousColorTable("hot")
    +    # Delete the second window.
    +    DeleteWindow()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +
    +def TestLineout3D(time, suffix):
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    # Set the view
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.65577, 0.350079, 0.668888)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.218553, 0.936082, -0.275655)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.perspective = 1
    +    SetView3D(v)
    +
    +    # Do some lineouts
    +    vars = ("default")
    +    p0 = (-10., -10., -10.)
    +    P  = ((-10., -10., 10.), (-10., 10., -10.), (-10., 10., 10.),\
    +(10., -10., -10.), (10., -10., 10.), (10., 10., -10.), (10., 10., 10.))
    +    for p in P:
    +        SetActiveWindow(1)
    +        Lineout(p0, p, vars)
    +
    +    if (time == 1):
    +        SetActiveWindow(1)
    +        pc = PseudocolorAttributes()
    +        pc.colorTableName = "xray"
    +        pc.SetOpacityType(pc.Constant)
    +        pc.opacity = 0.5
    +        SetPlotOptions(pc)
    +        Test("Lineout3d")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("CurvesFrom3d" + suffix)
    +
    +    # Delete the second window.
    +    DeleteWindow()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +
    +def TestMultiVarLineout2D(time, suffix):
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    # Do some lineouts
    +    vars = ("p", "u", "v")
    +    Y = (2, 3, 4)
    +    x1 = -4.5
    +    x2 = 4.5
    +    for y in Y:
    +        SetActiveWindow(1)
    +        Lineout((x1, y), (x2, y), vars)
    +
    +    if (time == 1):
    +        SetActiveWindow(1)
    +        Test("MultiVarLineout2d")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("MultiVarCurvesFrom2d" + suffix)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +
    +def TestSAMRAI(time, suffix):
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    AddPlot("Pseudocolor", "Primitive Var _number_0")
    +    DrawPlots()
    +
    +    # Set the colortable to one that has white at the bottom values.
    +    SetDefaultContinuousColorTable("rainbow")
    +
    +    AddOperator("Slice", 1)
    +    slice = SliceAttributes()
    +    slice.originType = slice.Percent
    +    slice.originPercent = 18
    +    slice.axisType = slice.ZAxis
    +    slice.project2d = 1
    +    SetOperatorOptions(slice, 0, 1)
    +    DrawPlots()
    +    ResetView()
    +
    +    SetTimeSliderState(1)
    +
    +    #Do some lineouts
    +    p0 = (3, 3)
    +    p1 = (0, 20)
    +    p2 = (30, 0)
    +    nsteps = 15
    +    for i in range(nsteps):
    +        t = float(i) / float(nsteps - 1)
    +        p3x = t * p2[0] + (1. - t) * p1[0]
    +        p3y = t * p2[1] + (1. - t) * p1[1]
    +        SetActiveWindow(1)
    +        Lineout(p0, (p3x, p3y))
    +
    +    if (time == 1):
    +        SetActiveWindow(1)
    +        Test("LineoutSAMRAI")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("CurvesFromSAMRAI" + suffix)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +    SetDefaultContinuousColorTable("hot")
    +
    +def TestSpecifyLineoutWindow(time, suffix):
    +    #window 1
    +    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    DrawPlots()
    +    ResetView()
    +
    +    Lineout((0, 2.5), (5, 2.5))
    +
    +    if (time == 1):
    +        SetActiveWindow(1)
    +        InitAnnotation()
    +        Test("LineoutSpecifyWindow_01")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("CurvesFromSpecifyWindow_01" + suffix)
    +
    +    SetActiveWindow(1)
    +    CloneWindow()
    +    #window 3
    +    SetTimeSliderState(4)
    +    DrawPlots()
    +
    +
    +    gla = GetGlobalLineoutAttributes()
    +    gla.createWindow = 0
    +    gla.windowId = 4
    +    SetGlobalLineoutAttributes(gla)
    +
    +    Lineout((0, 2.5), (5, 2.5))
    +
    +    if (time == 1):
    +        SetActiveWindow(3)
    +        InitAnnotation()
    +        Test("LineoutSpecifyWindow_02")
    +
    +    SetActiveWindow(4)
    +    InitAnnotation()
    +    Test("CurvesFromSpecifyWindow_02" + suffix)
    +
    +    DeleteWindow()
    +    SetActiveWindow(3)
    +    DeleteWindow()
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +    gla.createWindow = 1
    +    gla.windowId = 2
    +    SetGlobalLineoutAttributes(gla)
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +
    +def TestDynamicLineout(time, suffix):
    +    if (time == 1):
    +        return
    +    #window 1
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    ResetView()
    +
    +    Lineout((0, 0.5, 2.5), (10, 0.5, 2.5))
    +
    +    gla = GetGlobalLineoutAttributes()
    +    gla.Dynamic = 1
    +    gla.curveOption = gla.UpdateCurve
    +    SetGlobalLineoutAttributes(gla)
    +
    +    SetActiveWindow(1)
    +    t = 0
    +    for i in range (10):
    +        t += 5
    +        SetTimeSliderState(t)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    ResetView()
    +    Test("CurvesFromDynamic_01")
    +
    +    # go back to the beginning time state
    +    # and have new curves created for each new time 
    +    SetActiveWindow(1)
    +    t = 0
    +    SetTimeSliderState(t)
    +
    +    gla.curveOption = gla.CreateCurve
    +    SetGlobalLineoutAttributes(gla)
    +    for i in range (7):
    +        t += 5
    +        SetTimeSliderState(t)
    +
    +    # now have each new curve have its own color.
    +    gla.colorOption = gla.CreateColor
    +    SetGlobalLineoutAttributes(gla)
    +    for i in range (7):
    +        t += 5
    +        SetTimeSliderState(t)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    ResetView()
    +    Test("CurvesFromDynamic_02")
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +    # delete window 2
    +    DeleteWindow()
    +    # clear all plots from window 1
    +    DeleteAllPlots()
    +
    +    dbs = (data_path("pdb_test_data/dbA00.pdb"),
    +           data_path("pdb_test_data/dbB00.pdb"),
    +           data_path("pdb_test_data/dbC00.pdb"))
    +    OpenDatabase(dbs[0])
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    OpenDatabase(dbs[1])
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    DrawPlots()
    +
    +    AddWindow()
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    OpenDatabase(dbs[2])
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    DrawPlots()
    +
    +    gla.Dynamic = 1
    +    gla.curveOption = gla.UpdateCurve
    +    SetGlobalLineoutAttributes(gla)
    +
    +    #Lineout for dbC00.pdb in window 2
    +    Lineout((5.0, 7.5, 0.), (10, 7.5, 0.))
    +
    +    SetActiveWindow(1)
    +    SetActivePlots(1)
    +
    +    #Lineout for dbB00.pdb in window 1
    +    Lineout((0, 8, 0), (5, 8, 0))
    +
    +    SetActivePlots(0)
    +    #Lineout for dbA00.pdb in window 1
    +    Lineout((0, 3, 0), (5, 3, 0))
    +
    +
    +    SetActiveWindow(3)
    +    InitAnnotation()
    +    Test("CurvesFromDynamic_03")
    +
    +    SetActiveWindow(1)
    +    SetActiveTimeSlider(dbs[1])
    +    SetTimeSliderState(15)
    +
    +    SetActiveWindow(3)
    +    Test("CurvesFromDynamic_04")
    +
    +    SetActiveWindow(1)
    +    SetActiveTimeSlider(dbs[0])
    +    SetTimeSliderState(3)
    +
    +
    +    SetActiveWindow(3)
    +    Test("CurvesFromDynamic_05")
    +
    +    SetActiveWindow(2)
    +    SetTimeSliderState(29)
    +
    +    SetActiveWindow(3)
    +    Test("CurvesFromDynamic_06")
    +
    +    ResetLineoutColor()
    +    ResetPickLetter()
    +    # delete window 3
    +    DeleteWindow()
    +    # delete window 2
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +    # clear all plots from window 1
    +    DeleteAllPlots()
    +
    +def TestDynamic2():
    +    # VisIt00006006 -- ensure  that 'ClearRefLines' will 'disconnect' the lineout 
    +    # from its originating plot, and won't update when orig plot changes time.
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    ResetView()
    +    SetTimeSliderState(0)
    +    Lineout((0, 0.5, 2.5), (10, 0.5, 2.5))
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("Dynamic2_01")
    +
    +    SetActiveWindow(1)
    +    gla = GetGlobalLineoutAttributes()
    +    gla.Dynamic = 1
    +    gla.curveOption = gla.UpdateCurve
    +    SetGlobalLineoutAttributes(gla)
    +
    +    SetTimeSliderState(27)
    +
    +    SetActiveWindow(2)
    +    Test("Dynamic2_02")
    +
    +    SetActiveWindow(1)
    +    gla.Dynamic = 0
    +    SetGlobalLineoutAttributes(gla)
    +
    +    SetTimeSliderState(52)
    +
    +    SetActiveWindow(2)
    +    Test("Dynamic2_03")
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +
    +def TestTecPlot():
    +    # VisIt00006243 -- curve generated from Lineout looks reversed in X
    +    OpenDatabase(data_path("tecplot_test_data/T3L3CLS17u.plt"))
    +
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Pseudocolor", "k")
    +    DrawPlots()
    +    ResetView()
    +
    +    v = GetView2D()
    +    v.windowCoords = (0.340063, 0.340868, 0.00512584, 0.00572613 )
    +    SetView2D(v)
    +
    +    Lineout((0.340505, 0.00565604, 0), (0.340291, 0.00514717, 0))
    +
    +    InitAnnotation()
    +    Test("LineoutTecPlot_01")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("CurvesFromTecPlot_01")
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    DeleteAllPlots()
    +
    +def TestOperatorCreatedVariables():
    +    def SetCurveAtts():
    +        c = CurveAttributes(1)
    +        c.lineWidth = 2
    +        c.curveColor = (255,0,0,255)
    +        c.curveColorSource = c.Custom
    +        c.showLabels = 0
    +        SetPlotOptions(c)
    +
    +    TestSection("Operator-Created Variables")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    # Do lineout on a data binning variable.
    +    AddPlot("Pseudocolor", "operators/DataBinning/2D/Mesh", 1, 1)
    +    DataBinningAtts = DataBinningAttributes()
    +    DataBinningAtts.numDimensions = DataBinningAtts.Two  # One, Two, Three
    +    DataBinningAtts.dim1BinBasedOn = DataBinningAtts.X  # X, Y, Z, Variable
    +    DataBinningAtts.dim1Var = "default"
    +    DataBinningAtts.dim1SpecifyRange = 0
    +    DataBinningAtts.dim1MinRange = 0
    +    DataBinningAtts.dim1MaxRange = 1
    +    DataBinningAtts.dim1NumBins = 50
    +    DataBinningAtts.dim2BinBasedOn = DataBinningAtts.Y  # X, Y, Z, Variable
    +    DataBinningAtts.dim2Var = "default"
    +    DataBinningAtts.dim2SpecifyRange = 0
    +    DataBinningAtts.dim2MinRange = 0
    +    DataBinningAtts.dim2MaxRange = 1
    +    DataBinningAtts.dim2NumBins = 50
    +    DataBinningAtts.dim3BinBasedOn = DataBinningAtts.Variable  # X, Y, Z, Variable
    +    DataBinningAtts.dim3Var = "default"
    +    DataBinningAtts.dim3SpecifyRange = 0
    +    DataBinningAtts.dim3MinRange = 0
    +    DataBinningAtts.dim3MaxRange = 1
    +    DataBinningAtts.dim3NumBins = 50
    +    DataBinningAtts.outOfBoundsBehavior = DataBinningAtts.Clamp  # Clamp, Discard
    +    DataBinningAtts.reductionOperator = DataBinningAtts.Maximum  # Average, Minimum, Maximum, StandardDeviation, Variance, Sum, Count, RMS, PDF
    +    DataBinningAtts.varForReduction = "hardyglobal"
    +    DataBinningAtts.emptyVal = 0
    +    DataBinningAtts.outputType = DataBinningAtts.OutputOnBins  # OutputOnBins, OutputOnInputMesh
    +    DataBinningAtts.removeEmptyValFromCurve = 1
    +    SetOperatorOptions(DataBinningAtts, 1)
    +    DrawPlots()
    +    Lineout((9, 9), (4.5, -9))
    +    SetActiveWindow(1)
    +    ResetView()
    +    Test("lineout_op_vars_00")
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    ResetView()
    +    SetCurveAtts()
    +    Test("lineout_op_vars_01")
    +
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    DeleteAllPlots()
    +
    +    # Do lineout on a data binning variable that had other operators
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Pseudocolor", "operators/DataBinning/2D/Mesh", 1, 1)
    +    SetOperatorOptions(DataBinningAtts, 1)
    +    AddOperator("Transform")
    +    AddOperator("Project")
    +    DrawPlots()
    +    Lineout((9, 9), (4.5, -9))
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    SetCurveAtts()
    +    Test("lineout_op_vars_02")
    +
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    DeleteAllPlots()
    +
    +
    +def DoTests(t,s):
    +    TestLineout2D(t,s)
    +    TestLineout3D(t,s)
    +    TestMultiVarLineout2D(t,s)
    +    TestSAMRAI(t,s)
    +    TestSpecifyLineoutWindow(t,s)
    +    TestDynamicLineout(t,s)
    +
    +def LineoutMain():
    +    InitAnnotation()
    +    la = GetGlobalLineoutAttributes()
    +    la.samplingOn = 1
    +    SetGlobalLineoutAttributes(la)
    +
    +    DoTests(1, "_withSampling")
    +
    +    la.samplingOn = 0
    +    SetGlobalLineoutAttributes(la)
    +
    +    DoTests(2, "_noSampling")
    +
    +    TestDynamic2()
    +    TestTecPlot()
    +    TestOperatorCreatedVariables()
    +
    +# Call the main function
    +LineoutMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locktime.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locktime.html new file mode 100644 index 000000000..7c5784aff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locktime.html @@ -0,0 +1,124 @@ + +Results for hybrid/locktime.py + +

    Results of VisIt Regression Test - hybrid/locktime

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    locktime_000.000.00
    locktime_010 modifications totalling 0 lines
    locktime_020.000.00
    locktime_030 modifications totalling 0 lines
    locktime_040 modifications totalling 0 lines
    locktime_050.000.00
    locktime_060 modifications totalling 0 lines
    locktime_070.000.00
    locktime_080 modifications totalling 0 lines
    locktime_090.000.00
    locktime_100 modifications totalling 0 lines
    locktime_110.000.00
    locktime_120 modifications totalling 0 lines
    locktime_130 modifications totalling 0 lines
    locktime_140.000.00
    locktime_150 modifications totalling 0 lines
    locktime_160.000.00
    locktime_170 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locktime_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locktime_py.html new file mode 100644 index 000000000..0ec61e2bf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locktime_py.html @@ -0,0 +1,125 @@ +hybrid/locktime.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multiwindowcorrelation.py 
    +#
    +#  Tests:      Tests database correlations when there are multiple windows.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Mar 22 15:59:24 PST 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Fri Apr 1 15:01:13 PST 2005
    +#    Added a function to check the database correlation list.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def GetTruncatedWindowInformationString():
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    return s
    +
    +def TestLength(testname):
    +    tsLength = TimeSliderGetNStates()
    +    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    testString = testString + GetTruncatedWindowInformationString()
    +    TestText(testname, testString)
    +
    +#
    +# Tests the time slider length and the correlation list.
    +#
    +def TestLengthAndCorrelationList(testname):
    +    tsLength = TimeSliderGetNStates()
    +    s = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    s = s + GetTruncatedWindowInformationString() + "\n\n"
    +
    +    names = GetDatabaseCorrelationNames()
    +    for name in names:
    +        c = GetDatabaseCorrelation(name)
    +        s = s + str(c) + "\n"
    +    TestText(testname, s)
    +
    +# Create a plot of DB A.
    +OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("locktime_00")
    +TestLength("locktime_01")
    +
    +# Create a second window and create plot of DB B.
    +CloneWindow()
    +DeleteAllPlots()
    +OpenDatabase(data_path("pdb_test_data/dbB00.pdb"))
    +
    +AddPlot("FilledBoundary", "material(mesh)")
    +InvertBackgroundColor()
    +DrawPlots()
    +Test("locktime_02")
    +TestLength("locktime_03")
    +
    +#
    +# Set the database correlation options to control how we create automatic
    +# correlations. When we lock the windows together, VisIt will create a
    +# correlation for the databases in both windows because the windows do not
    +# have a common database. I'm setting the correlation options here because 
    +# I want a StretchedIndexCorrelation correlation to be created.
    +#
    +StretchedIndexCorrelation = 1
    +SetDatabaseCorrelationOptions(StretchedIndexCorrelation, 0)
    +
    +#
    +# Lock time for window 2 and window 1. This will create a correlation between
    +# the databases in both windows.
    +#
    +ToggleLockTime()
    +SetActiveWindow(1)
    +ToggleLockTime()
    +TestLengthAndCorrelationList("locktime_04")
    +
    +SetTimeSliderState(17)
    +Test("locktime_05")
    +TestLength("locktime_06")
    +
    +SetActiveWindow(2)
    +Test("locktime_07")
    +TestLength("locktime_08")
    +
    +SetActiveWindow(1)
    +SetTimeSliderState(7)
    +Test("locktime_09")
    +TestLength("locktime_10")
    +
    +SetActiveWindow(2)
    +Test("locktime_11")
    +TestLength("locktime_12")
    +
    +#
    +# Now let's delete the correlation that was created. It will be have the same
    +# name as the active time slider.
    +#
    +DeleteDatabaseCorrelation(GetActiveTimeSlider())
    +TestLengthAndCorrelationList("locktime_13")
    +
    +# Now try moving the time slider state for DB B, since that's the active time
    +# slider for window 2, which is the active window right now.
    +SetTimeSliderState(15)
    +Test("locktime_14")
    +TestLength("locktime_15")
    +
    +# Make sure that window 1 did not change.
    +SetActiveWindow(1)
    +Test("locktime_16")
    +TestLength("locktime_17")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locus.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locus.html new file mode 100644 index 000000000..f5bf97d71 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locus.html @@ -0,0 +1,36 @@ + +Results for hybrid/locus.py + +

    Results of VisIt Regression Test - hybrid/locus

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 121

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locus_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locus_py.html new file mode 100644 index 000000000..665ec134c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_locus_py.html @@ -0,0 +1,148 @@ +hybrid/locus.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  locus.py
    +#
    +#  Purpose:
    +#      Identifies the locus of points of maximum value from inside a sphere.
    +#      Tests repeated lineout capabilities, as well as the VisIt writer.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       April 4, 2005
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Jul 14 10:28:41 PDT 2005
    +#    Save tmp.ultra to 'current' directory.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Jeremy Meredith, Wed Jan 20 12:50:34 EST 2010
    +#    Added src/lib to python path so we can find the visit writer module.
    +#
    +#    Mark C. Miller, Mon Apr 12 15:40:16 PDT 2010
    +#    Gracefully skip if we're in scalable mode.
    +#
    +#    Mark C. Miller, Tue Jun 29 16:51:46 PDT 2010
    +#    Changed exit code if we're in scalable mode from 116 (skip) to
    +#    121 (not applicable)
    +#
    +#    Kathleen Biagas, Tue Jul 15 11:10:27 MST 2014 
    +#    Don't need VISITARCHHOME on Windows, but do need 'outputToCurrentDirectory'
    +#
    +# ----------------------------------------------------------------------------
    +
    +import sys
    +import os
    +import platform
    +from os.path import join as pjoin
    +if not platform.system() == "Windows":
    +    sys.path.append(pjoin(os.environ['VISITARCHHOME'],"lib"))
    +
    +import visit_writer
    +
    +
    +# We can't run this test while in SR mode
    +# So, exit and indicate the test was skipped.
    +# 'scalable' is defined in Testing.py
    +if TestEnv.params["scalable"] != 0:
    +    Exit(121)
    +
    +# BEGIN USER MODIFIABLE SECTION
    +
    +database = silo_data_path("globe.silo")
    +origin = (0,0,0)
    +radius = 10
    +variable = "recenter(t) + 10*u"
    +isExpression = 1
    +startTheta = 0
    +thetaStep = 36
    +nThetaSteps = 11
    +startPhi = 0
    +phiStep = 18
    +nPhiSteps = 11
    +
    +# END USER MODIFIABLE SECTION
    +
    +if (isExpression):
    +   DefineScalarExpression("locus", variable)
    +OpenDatabase(database)
    +AddPlot("Pseudocolor", "locus")
    +DrawPlots()
    +
    +import math
    +
    +sw = GetSaveWindowAttributes()
    +sw.format = sw.ULTRA
    +sw.family = 0
    +sw.fileName = "tmp"
    +sw.outputToCurrentDirectory = 1
    +SetSaveWindowAttributes(sw)
    +
    +import locale
    +def GetNum(line):
    +   a = line.split(' ')
    +   pos = locale.atof(a[0])
    +   max = locale.atof(a[1])
    +   return [pos, max]
    +
    +
    +# Opens up the file "tmp.ultra" and gets the maximum position.
    +def GetMaximumPosition():
    +   uf = open("tmp.ultra", "r")
    +   line = uf.readline()  # Remove header
    +   line = uf.readline()
    +   num = GetNum(line)
    +   pos = num[0]
    +   max = num[1]
    +   while(1):
    +      line = uf.readline()
    +      if (line == ""):
    +          break
    +      num = GetNum(line)
    +      if (num[1] > max):
    +         pos = num[0]
    +         max = num[1]
    +   return [pos, max]
    +
    +
    +vals = []
    +pos = []
    +points = []
    +for j in range(nPhiSteps):
    +    phi = startPhi + j*phiStep
    +    phi_rads = phi*2.*math.pi / 360.
    +    for i in range(nThetaSteps):
    +        theta = startTheta + i*thetaStep
    +        theta_rads = theta*2.*math.pi / 360.
    +        PX = radius * math.cos(theta_rads) * math.sin(phi_rads)
    +        PY = radius * math.sin(theta_rads) * math.sin(phi_rads)
    +        PZ = radius * math.cos(phi_rads)
    +        PX2 = PX + origin[0]
    +        PY2 = PY + origin[1]
    +        PZ2 = PZ + origin[2]
    +        Lineout(origin, (PX2, PY2, PZ2))
    +        SetActiveWindow(2)
    +        SaveWindow()
    +        rv = GetMaximumPosition()
    +        pos = pos + [rv[0]]
    +        vals = vals + [rv[1]]
    +        prop = rv[0] / radius
    +        FX = origin[0] + (PX)*prop
    +        FY = origin[1] + (PY)*prop
    +        FZ = origin[2] + (PZ)*prop
    +        points = points + [FX, FY, FZ]
    +        DeleteAllPlots()
    +        SetActiveWindow(1)
    +
    +dims = (nThetaSteps, nPhiSteps, 1)
    +
    +visit_writer.WriteCurvilinearMesh("locus", 0, dims, points, [["max", 1, 1, vals]])
    +DeleteAllPlots()
    +OpenDatabase("locus.vtk")
    +AddPlot("Pseudocolor", "max")
    +DrawPlots()
    +Test("locus_01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_math_expr.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_math_expr.html new file mode 100644 index 000000000..699cdbfee --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_math_expr.html @@ -0,0 +1,60 @@ + +Results for hybrid/math_expr.py + +

    Results of VisIt Regression Test - hybrid/math_expr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    math_expr_010.000.00
    math_expr_020.000.00
    math_expr_030.000.00
    math_expr_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_math_expr_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_math_expr_py.html new file mode 100644 index 000000000..3e2bc8900 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_math_expr_py.html @@ -0,0 +1,44 @@ +hybrid/math_expr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  math_expr.py
    +#
    +#  Tests:      mesh      - 3D unstructured, multi- domain
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  '6115
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 30, 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +
    +DefineScalarExpression("mod", "mod(t, 10)")
    +AddPlot("Pseudocolor", "mod")
    +DrawPlots()
    +Test("math_expr_01")
    +
    +DefineScalarExpression("round", "round(u/10)")
    +ChangeActivePlotsVar("round")
    +Test("math_expr_02")
    +
    +DefineScalarExpression("ceil", "ceil(u/10)")
    +ChangeActivePlotsVar("ceil")
    +Test("math_expr_03")
    +
    +DefineScalarExpression("floor", "floor(u/10)")
    +ChangeActivePlotsVar("floor")
    +Test("math_expr_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matsel.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matsel.html new file mode 100644 index 000000000..4b2146f6d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matsel.html @@ -0,0 +1,54 @@ + +Results for hybrid/matsel.py + +

    Results of VisIt Regression Test - hybrid/matsel

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    hybrid_matsel_010.000.00
    hybrid_matsel_020.000.00
    hybrid_matsel_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matsel_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matsel_py.html new file mode 100644 index 000000000..ea92d8969 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matsel_py.html @@ -0,0 +1,96 @@ +hybrid/matsel.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  matsel.py
    +#
    +#  Tests:      plots     - contour,pseudocolor
    +#
    +#  Defect ID:  '4353
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       June 24, 2004
    +#
    +#    Jeremy Meredith, Tue Jul 13 18:03:11 PDT 2004
    +#    Added curvilinear case.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +#
    +# Do a test of 2D nodal interpolation on material-selected rectilinear meshes
    +#
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u");
    +
    +sil = SILRestriction()
    +sets = sil.SetsInCategory("mat1")
    +sil.TurnOnAll()
    +sil.TurnOffSet(sets[4])
    +SetPlotSILRestriction(sil)
    +DrawPlots()
    +
    +Test("hybrid_matsel_01")
    +
    +DeleteAllPlots();
    +
    +#
    +# Do a test of 3D nodal interpolation on material-selected rectilinear meshes
    +# Ths is easiest to see when doing a contour plot of a matsel variable
    +#
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +AddPlot("Contour", "u");
    +
    +sil = SILRestriction()
    +sets = sil.SetsInCategory("mat1")
    +sil.TurnOnAll()
    +sil.TurnOffSet(sets[4])
    +SetPlotSILRestriction(sil)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.624401, -0.368813, -0.688549)
    +focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.768963, 0.135421, 0.624786)
    +SetView3D(v)
    +
    +Test("hybrid_matsel_02")
    +
    +DeleteAllPlots();
    +
    +#
    +# Do a test of 2D nodal interpolation on material-selected curvilinear meshes
    +#
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u");
    +
    +sil = SILRestriction()
    +sets = sil.SetsInCategory("mat1")
    +sil.TurnOnAll()
    +sil.TurnOffSet(sets[0])
    +SetPlotSILRestriction(sil)
    +DrawPlots()
    +v = GetView2D()
    +v.windowCoords = (0.1, 2.0, 2.8, 3.8)
    +SetView2D(v)
    +p = PseudocolorAttributes()
    +p.min = 0
    +p.max = .5
    +p.minFlag = 1
    +p.maxFlag = 1
    +SetPlotOptions(p)
    +
    +Test("hybrid_matsel_03")
    +
    +DeleteAllPlots();
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matvf.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matvf.html new file mode 100644 index 000000000..4296a8759 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matvf.html @@ -0,0 +1,120 @@ + +Results for hybrid/matvf.py + +

    Results of VisIt Regression Test - hybrid/matvf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    matvf_010.000.00
    matvf_020.000.00
    matvf_030.000.00
    matvf_040.000.00
    matvf_050.000.00
    matvf_060.000.00
    matvf_070.000.00
    matvf_080.000.00
    matvf_090.000.00
    matvf_100.000.00
    matvf_post_ghost_10.000.00
    matvf_post_ghost_20.000.00
    matvf_post_ghost_30.000.00
    matvf_post_ghost_40.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matvf_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matvf_py.html new file mode 100644 index 000000000..b9dd10599 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_matvf_py.html @@ -0,0 +1,249 @@ +hybrid/matvf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expressions.py
    +#
    +#  Tests:      mesh      - 3D unstructured, multi- domain
    +#                          3D rectilinear, single domain
    +#              plots     - Pseudocolor
    +#              operators - Threshold
    +#              selection - Material
    +#
    +#  Defect ID:  '2415 '3939 '5521
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 13, 2003
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Mon Oct 20 16:32:46 PDT 2003
    +#    Added bigsil portion to test '3939 (matvf with databases that create
    +#    ghost zones).
    +#
    +#    Hank Childs, Mon Jan  3 09:28:39 PST 2005
    +#    Added tests for materror.
    +#
    +#    Cyrus Harrison, Tue Feb 12 15:16:36 PST 2008
    +#    Added explicit tests for matvf w/ ghost zones. 
    +#
    +#    Cyrus Harrison, Wed Apr  9 11:17:22 PDT 2008
    +#    Added new test for post ghost info.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +
    +DefineScalarExpression("m1", 'matvf(mat1, ["1", "3"])')
    +AddPlot("Pseudocolor", "m1")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.17, 0.74, 0.64)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.31, 0.65, -0.68)
    +v.parallelScale = 0.866
    +v.nearPlane = -1.73
    +v.farPlane = 1.73
    +SetView3D(v)
    +
    +Test("matvf_01")
    +
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.01)
    +t.upperBounds = (0.99)
    +SetDefaultOperatorOptions(t)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("matvf_02")
    +
    +sil = SILRestriction()
    +matsets = sil.SetsInCategory("mat1")
    +sil.TurnOffAll()
    +sil.TurnOnSet(matsets[1])
    +SetPlotSILRestriction(sil)
    +
    +Test("matvf_03")
    +
    +DeleteAllPlots()
    +
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "m1")
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (-0.82, 0.44, 0.37)
    +v.focus = (0, 3.3, 10)
    +v.viewUp = (0.13, 0.76, -0.62)
    +v.parallelScale = 7.32
    +v.nearPlane = -14.65
    +v.farPlane = 14.65
    +SetView3D(v)
    +
    +Test("matvf_04")
    +
    +sil = SILRestriction()
    +matsets = sil.SetsInCategory("mat1")
    +sil.TurnOffAll()
    +sil.TurnOnSet(matsets[1])
    +SetPlotSILRestriction(sil)
    +
    +Test("matvf_05")
    +
    +DeleteAllPlots()
    +
    +DefineScalarExpression("mbs", 'matvf(mat, 1)')
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("Pseudocolor", "mbs")
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.5)
    +t.upperBounds = (1.1)
    +SetDefaultOperatorOptions(t)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (-0.59, 0.33, 0.74)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (0.18, 0.94, -0.28)
    +v.parallelScale = 0.866
    +v.nearPlane = -1.73
    +v.farPlane = 1.73
    +SetView3D(v)
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.17, 0.74, 0.64)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.31, 0.65, -0.68)
    +v.parallelScale = 0.866
    +v.nearPlane = -1.73
    +v.farPlane = 1.73
    +SetView3D(v)
    +
    +Test("matvf_06")
    +
    +#NOTE: the fix for '3939 included disabling the communication of ghost zones. 
    +# As a result, the matvf_07 picture will contain internal surfaces that should
    +# not be there.  If this ever gets fixed, then the baseline picture will need
    +# to be reset.
    +v.nearPlane = -0.1
    +SetView3D(v)
    +
    +Test("matvf_07")
    +
    +# Now test the materror expression.
    +DeleteAllPlots()
    +DefineScalarExpression("materror1", 'materror(mat1, 1)')
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "materror1")
    +sil = SILRestriction()
    +sil.TurnOnAll()
    +SetPlotSILRestriction(sil)
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.17, 0.74, 0.64)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.31, 0.65, -0.68)
    +v.parallelScale = 0.866
    +v.nearPlane = -1.73
    +v.farPlane = 1.73
    +SetView3D(v)
    +
    +Test("matvf_08")
    +
    +DefineScalarExpression("abs_materror1", 'abs(materror1)')
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.01)
    +t.upperBounds = (1.01)
    +t.listedVarNames = ("abs_materror1")
    +SetDefaultOperatorOptions(t)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("matvf_09")
    +
    +# Now test that it can calculate "volume fractions" using areas.
    +ReplaceDatabase(silo_data_path("rect2d.silo"))
    +
    +RemoveLastOperator()
    +Test("matvf_10")
    +
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("rect2d.silo"))
    +
    +OpenDatabase(silo_data_path("thinplane.silo"))
    +
    +
    +# tests for matvf w/ ghost zones
    +
    +# test standard
    +DefineScalarExpression("mvf_2", "matvf(mat,2)")
    +AddPlot("Pseudocolor", "mvf_2")
    +atts = PseudocolorAttributes(1)
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 1.0
    +atts.centering = atts.Natural
    +SetPlotOptions(atts)
    +DrawPlots()
    +Test("matvf_post_ghost_1")
    +
    +# test with ghosts
    +atts = PseudocolorAttributes(1)
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 1.0
    +atts.centering = atts.Nodal
    +SetPlotOptions(atts)
    +DrawPlots()
    +Test("matvf_post_ghost_2")
    +
    +# switch back to ensure w/ ghost case caching does not alter w/o ghosts
    +atts = PseudocolorAttributes(1)
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 1.0
    +atts.centering = atts.Zonal
    +SetPlotOptions(atts)
    +DrawPlots()
    +Test("matvf_post_ghost_3")
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("thinplane.silo"))
    +
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +
    +# test for gradient w/ matvf, to check if post ghosts were correctly 
    +# requested. 
    +
    +DefineScalarExpression("gate", "agrad(dist)[0] * matvf(mat,1)")
    +AddPlot("Pseudocolor", "gate")
    +DrawPlots()
    +Test("matvf_post_ghost_4")
    +DeleteAllPlots()
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_merge_tree.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_merge_tree.html new file mode 100644 index 000000000..b20999b6a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_merge_tree.html @@ -0,0 +1,108 @@ + +Results for hybrid/merge_tree.py + +

    Results of VisIt Regression Test - hybrid/merge_tree

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    rect2d_mtree0.000.00
    rect2d_stree0.000.00
    rect2d_localt_mt0.000.00
    rect2d_localt_st0.000.00
    noise2d_mtree0.000.00
    noise2d_stree0.000.00
    noise2d_localt_mt0.000.00
    noise2d_localt_st0.000.00
    noise3d_mtree0.000.00
    noise3d_stree0.000.00
    noise3d_localt_mt0.000.00
    noise3d_localt_st0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_merge_tree_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_merge_tree_py.html new file mode 100644 index 000000000..70678449d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_merge_tree_py.html @@ -0,0 +1,64 @@ +hybrid/merge_tree.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  merge_tree.py
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Friday October 28, 2016
    +#
    +#  Modifiations:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +test_dbs = { "rect2d" : {"var":  "d",
    +                         "path": silo_data_path("rect2d.silo")} ,
    +             "noise2d" : {"var": "shepardglobal",
    +                          "path" :silo_data_path("noise2d.silo")} ,
    +
    +             "noise3d" : {"var": "shepardglobal",
    +                          "path": silo_data_path("noise.silo")}
    +           }
    +
    +for db_name,db_info in list(test_dbs.items()):
    +    test_db_file = db_info["path"]
    +    OpenDatabase(test_db_file)
    +
    +    # test merge tree, split tree and local threshold exprs
    +
    +    DefineScalarExpression("mtree", "merge_tree(%s)" % db_info["var"])
    +    AddPlot("Pseudocolor", "mtree")
    +    DrawPlots()
    +
    +    Test(db_name + "_mtree")
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression("stree", "split_tree(%s)" % db_info["var"])
    +    AddPlot("Pseudocolor", "stree")
    +    DrawPlots()
    +
    +    Test(db_name + "_stree")
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression("localt_mt", "local_threshold(%s,mtree)" % db_info["var"])
    +
    +    AddPlot("Pseudocolor", "localt_mt")
    +    DrawPlots()
    +
    +    Test(db_name + "_localt_mt")
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression("localt_st", "local_threshold(%s,stree)" % db_info["var"])
    +
    +    AddPlot("Pseudocolor", "localt_st")
    +    DrawPlots()
    +
    +    Test(db_name + "_localt_st")
    +    DeleteAllPlots()
    +
    +
    +    CloseDatabase(test_db_file)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mesh_quality.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mesh_quality.html new file mode 100644 index 000000000..000ef76d9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mesh_quality.html @@ -0,0 +1,95 @@ + +Results for hybrid/mesh_quality.py + +

    Results of VisIt Regression Test - hybrid/mesh_quality

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mesh_quality_010.000.00
    mesh_quality_020.000.00
    mesh_quality_030.000.00
    mesh_quality_040.000.00
    mesh_quality_050.010.00
    mesh_quality_060.000.00
    mesh_quality_070.000.00
    Side Volume
    min_side_volume_000.000.00
    max_side_volume_000.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mesh_quality_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mesh_quality_py.html new file mode 100644 index 000000000..557dbc406 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mesh_quality_py.html @@ -0,0 +1,160 @@ +hybrid/mesh_quality.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mesh_quality.py
    +#
    +#  Tests:      mesh      - 3D unstructured
    +#              plots     - Pseudocolor
    +#
    +#  Programmer: Hank Childs
    +#  Date:       November 25, 2003
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri Jun 25 07:58:32 PDT 2004
    +#    The name of the mesh quality variables for ucd3d changed, since there are
    +#    now multiple meshes in that file.  Use the new names.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Matthew Wheeler, Thu Feb 06 12:00:00 GMT 2014
    +#    Added two new AWE mesh quality tests
    +#
    +#    Alister Maguire, Wed Apr 21 13:26:01 PDT 2021
    +#    Added TestSideVolume.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def TestSideVolume():
    +    #
    +    # This ensures that a bug fix is still working well.
    +    #
    +    TestSection("Side Volume")
    +
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "mesh_quality/min_side_volume")
    +    DrawPlots()
    +
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0.3, 0.8, 0.6)
    +    SetView3D(v)
    +    SetTimeSliderState(10)
    +
    +    Test("min_side_volume_00")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "mesh_quality/max_side_volume")
    +    DrawPlots()
    +
    +    Test("max_side_volume_00")
    +    DeleteAllPlots()
    +
    +    CloseDatabase(silo_data_path("wave.visit"))
    +
    +
    +OpenDatabase(silo_data_path("ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "mesh_quality/ucdmesh3d/volume")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (-0.178, -0.29, 0.94)
    +v.focus = (0, 2.5, 10)
    +v.viewUp = (-0.11, 0.95, 0.26)
    +v.parallelScale = 11.45
    +v.nearPlane = -22.9
    +v.farPlane = 22.9
    +v.imageZoom = 1.46
    +SetView3D(v)
    +
    +Test("mesh_quality_01")
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "mesh_quality/ucdmesh3d/skew")
    +DrawPlots()
    +
    +Test("mesh_quality_02")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("tire.silo"))
    +
    +AddPlot("Pseudocolor", "mesh_quality/aspect")
    +DrawPlots()
    +v = View3DAttributes()
    +v.viewNormal = (-0.128, 0.26, 0.958)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0.31, 0.92, -0.21)
    +v.parallelScale = 83
    +v.nearPlane = -165
    +v.farPlane = 165
    +SetView3D(v)
    +
    +pc = PseudocolorAttributes()
    +pc.minFlag = 1
    +pc.maxFlag = 1
    +pc.min=11
    +pc.max=22
    +SetPlotOptions(pc)
    +
    +Test("mesh_quality_03")
    +
    +pc.minFlag=0
    +pc.maxFlag=0
    +SetPlotOptions(pc)
    +Test("mesh_quality_04")
    +
    +AddOperator("Threshold")
    +thres = ThresholdAttributes()
    +thres.lowerBounds = (0.5)
    +thres.upperBounds = (0.55)
    +thres.listedVarNames = ("mesh_quality/skew")
    +SetOperatorOptions(thres)
    +DrawPlots()
    +Test("mesh_quality_05")
    +
    +
    +
    +DeleteAllPlots()
    +
    +CloseDatabase(silo_data_path("ucd3d.silo"))
    +CloseDatabase(silo_data_path("tire.silo"))
    +
    +# Add AWE Mesh-Quality tests
    +
    +OpenDatabase(silo_data_path("specmix_ucd.silo"))
    +
    +AddPlot("Mesh", "Mesh")
    +AddPlot("Pseudocolor", "mesh_quality/Mesh/min_corner_area")
    +pc = PseudocolorAttributes()
    +pc.invertColorTable = 1
    +SetPlotOptions(pc)
    +DrawPlots()
    +Test("mesh_quality_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Mesh", "Mesh")
    +AddPlot("Pseudocolor", "mesh_quality/Mesh/min_sin_corner")
    +pc = PseudocolorAttributes()
    +pc.invertColorTable = 1
    +SetPlotOptions(pc)
    +DrawPlots()
    +Test("mesh_quality_07")
    +
    +DeleteAllPlots()
    +
    +CloseDatabase(silo_data_path("specmix_ucd.silo"))
    +
    +TestSideVolume()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir.html new file mode 100644 index 000000000..68e3e8134 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir.html @@ -0,0 +1,168 @@ + +Results for hybrid/mir.py + +

    Results of VisIt Regression Test - hybrid/mir

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Curvilinear, 2D
    mir_curv2d_equi_t0.000.00
    mir_curv2d_equi_z0.000.00
    mir_curv2d_equi_z_i50.000.00
    mir_curv2d_plic0.000.00
    mir_curv2d_isovol0.000.00
    Unstructured, 2D
    mir_ucd2d_equi_t0.000.00
    mir_ucd2d_equi_z0.000.00
    mir_ucd2d_equi_z_i50.000.00
    mir_ucd2d_plic0.000.00
    mir_ucd2d_isovol0.000.00
    Rectilinear, 2D
    mir_rect2d_equi_t0.000.00
    mir_rect2d_equi_z0.000.00
    mir_rect2d_equi_z_i50.000.00
    mir_rect2d_plic0.000.00
    mir_rect2d_isovol0.000.00
    Rectilinear, 3D
    mir_rect3d_equi_t0.000.00
    mir_rect3d_equi_z0.000.00
    mir_rect3d_equi_z_i50.000.00
    mir_rect3d_plic0.000.00
    mir_rect3d_isovol0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_cache.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_cache.html new file mode 100644 index 000000000..810834827 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_cache.html @@ -0,0 +1,48 @@ + +Results for hybrid/mir_cache.py + +

    Results of VisIt Regression Test - hybrid/mir_cache

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mir_cache10.000.00
    mir_cache20.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_cache_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_cache_py.html new file mode 100644 index 000000000..541fe9e44 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_cache_py.html @@ -0,0 +1,65 @@ +hybrid/mir_cache.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mir_cache.py
    +#
    +#  Tests:      mesh      - 3D curvilinear,multi-domain,ghost zones replicated.
    +#              plots     - volume, PC
    +#
    +#  Defect ID:  '3542
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 22, 2003
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +view = View3DAttributes()
    +view.viewNormal = (0.557976, 0.651128, 0.514485)
    +view.focus = (0.5, 0.5, 0.5)
    +view.viewUp = (-0.0955897, 0.666272, -0.739557)
    +view.viewAngle = 30
    +view.parallelScale = 0.866025
    +view.nearPlane = -1.73205
    +view.farPlane = 1.73205
    +view.perspective = 1
    +SetView3D(view)
    +
    +#
    +# The volume plot does not need ghost zones, so this will create one
    +# set of MIRs.
    +#
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("Volume", "dist")
    +sil = SILRestriction()
    +sets = sil.SetsInCategory("mat")
    +sil.TurnOffAll()
    +sil.TurnOnSet(sets[0])
    +SetPlotSILRestriction(sil)
    +DrawPlots()
    +
    +DeleteAllPlots()
    +
    +#
    +# The PC plot will need ghost zones.  If it does not create a new set of MIRs,
    +# we will get garbled data.
    +#
    +AddPlot("Pseudocolor", "dist")
    +DrawPlots()
    +
    +Test("mir_cache1")
    +
    +#
    +# Make extra sure that there aren't garbled zones in the interior.
    +#
    +view.nearPlane = -0.3
    +SetView3D(view)
    +Test("mir_cache2")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_py.html new file mode 100644 index 000000000..62a8a3c63 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_mir_py.html @@ -0,0 +1,73 @@ +hybrid/mir.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mir.py
    +#
    +#  Tests:      mesh      - 2D, 3D, structured, unstructured, single domain
    +#              plots     - FilledBoundary
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       March 24, 2010
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestOneMode(file, mat, name):
    +    SetMaterialAttributes(mat)
    +    ReOpenDatabase(file)
    +    Test(name)
    +
    +
    +def TestOneFile(isRectilinear, file, matname, prefix):
    +    OpenDatabase(file)
    +
    +    AddPlot("FilledBoundary", matname)
    +    DrawPlots()
    +
    +    v3 = GetView3D()
    +    v3.viewNormal = (0.3, 0.4, 0.8)
    +    SetView3D(v3)
    +
    +    m = MaterialAttributes()
    +
    +    m.algorithm = m.EquiT
    +    TestOneMode(file, m, prefix + "_equi_t")
    +
    +    m.algorithm = m.EquiZ
    +    m.iterationEnabled = False
    +    TestOneMode(file, m, prefix + "_equi_z")
    +
    +    m.algorithm = m.EquiZ
    +    m.iterationEnabled = True
    +    m.numIterations = 5
    +    m.iterationDamping = 0.4
    +    TestOneMode(file, m, prefix + "_equi_z_i5")
    +    m.iterationEnabled = False
    +
    +    m.algorithm = m.PLIC
    +    TestOneMode(file, m, prefix + "_plic")
    +
    +    m.algorithm = m.Isovolume
    +    TestOneMode(file, m, prefix + "_isovol")
    +
    +    # Discrete currently only works on rectilinear
    +    if isRectilinear:
    +        m.algorithm = m.Discrete
    +        # Discrete is stochastic, we can't test it reliably
    +        #TestOneMode(file, m, prefix + "_discrete")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(file)
    +
    +TestSection("Curvilinear, 2D")
    +TestOneFile(False,silo_data_path("specmix_quad.silo") , "Material", "mir_curv2d")
    +TestSection("Unstructured, 2D")
    +TestOneFile(False,silo_data_path("specmix_ucd.silo") , "Material", "mir_ucd2d")
    +TestSection("Rectilinear, 2D")
    +TestOneFile(True,silo_data_path("rect2d.silo") , "mat1", "mir_rect2d")
    +TestSection("Rectilinear, 3D")
    +TestOneFile(True,silo_data_path("rect3d.silo") , "mat1", "mir_rect3d")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_missingdata.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_missingdata.html new file mode 100644 index 000000000..02d4257af --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_missingdata.html @@ -0,0 +1,100 @@ + +Results for hybrid/missingdata.py + +

    Results of VisIt Regression Test - hybrid/missingdata

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Missing data
    missingdata_0_000.000.00
    missingdata_0_010.030.00
    missingdata_0_020.040.00
    missingdata_0_030.000.00
    missingdata_0_041 modifications totalling 8 lines
    Expressions and missing data
    missingdata_1_000.010.00
    missingdata_1_010.010.00
    missingdata_1_020.000.00
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_missingdata_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_missingdata_py.html new file mode 100644 index 000000000..79decdebb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_missingdata_py.html @@ -0,0 +1,72 @@ +hybrid/missingdata.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  missingdata.py
    +#
    +#  Tests:      missing data
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jan 19 09:49:15 PST 2012
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def SetTheView():
    +    v = GetView2D()
    +    v.viewportCoords = (0.02, 0.98, 0.25, 1)
    +    SetView2D(v)
    +
    +def test0(datapath):
    +    TestSection("Missing data")
    +    OpenDatabase(pjoin(datapath,"earth.nc"))
    +    AddPlot("Pseudocolor", "height")
    +    DrawPlots()
    +    SetTheView()
    +    Test("missingdata_0_00")
    +    ChangeActivePlotsVar("carbon_particulates")
    +    Test("missingdata_0_01")
    +    ChangeActivePlotsVar("seatemp")
    +    Test("missingdata_0_02")
    +    ChangeActivePlotsVar("population")
    +    Test("missingdata_0_03")
    +
    +    # Pick on higher zone numbers to make sure pick works.
    +    PickByNode(domain=0, element=833621)
    +    TestText("missingdata_0_04", GetPickOutput())
    +
    +    DeleteAllPlots()
    +
    +def test1(datapath):
    +    TestSection("Expressions and missing data")
    +    OpenDatabase(pjoin(datapath,"earth.nc"))
    +    DefineScalarExpression("meaningless", "carbon_particulates + seatemp")
    +    AddPlot("Pseudocolor", "meaningless")
    +    DrawPlots()
    +    SetTheView()
    +    Test("missingdata_1_00")
    +    DeleteAllPlots()
    +
    +    DefineVectorExpression("color", "color(red,green,blue)")
    +    AddPlot("Truecolor", "color")
    +    DrawPlots()
    +    ResetView()
    +    SetTheView()
    +    Test("missingdata_1_01")
    +
    +    DefineVectorExpression("color2", "color(population*0.364,green,blue)")
    +    ChangeActivePlotsVar("color2")
    +    v1 = GetView2D()
    +    v1.viewportCoords = (0.02, 0.98, 0.02, 0.98)
    +    v1.windowCoords = (259.439, 513.299, 288.93, 540) #25.466)
    +    SetView2D(v1)
    +    Test("missingdata_1_02")
    +
    +def main():
    +    datapath = data_path("netcdf_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_multivar.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_multivar.html new file mode 100644 index 000000000..01a936f75 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_multivar.html @@ -0,0 +1,60 @@ + +Results for hybrid/multivar.py + +

    Results of VisIt Regression Test - hybrid/multivar

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    multivar_010.000.00
    multivar_020.000.00
    multivar_030.000.00
    multivar_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_multivar_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_multivar_py.html new file mode 100644 index 000000000..6f9c8dd21 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_multivar_py.html @@ -0,0 +1,108 @@ +hybrid/multivar.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multivar.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc, vector, filledboundary 
    +#              operators - isosurface
    +#
    +#  Defect ID:  '7843
    +#
    +#  Programmer: Hank Childs
    +#  Date:       April 24, 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
    +#    Changed the variable format for SubsetPlots, to reflect new interface
    +#    which allows subsets of groups.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
    +#    Set the vector origin explicitly for some cases because I changed the
    +#    default to Tail.
    +#
    +#    Hank Childs, Tue Mar 13 09:42:24 PDT 2007
    +#    Add new test for mixed centering multiple variables and expressions.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +
    +# Set up the isosurface operators attributes
    +
    +atts = IsosurfaceAttributes()
    +atts.contourMethod = atts.Value
    +atts.contourValue = 500
    +atts.variable = "t"
    +SetDefaultOperatorOptions(atts)
    +
    +
    +# Test the PC plot with the isosurface operator.
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetParallelScale(17.3205)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +Test("multivar_01")
    +DeleteAllPlots()
    +
    +
    +# Test the subset plot with the isosurface operator.
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Isosurface")
    +DrawPlots()
    +Test("multivar_02")
    +DeleteAllPlots()
    +
    +
    +# Test the subset plot with the isosurface operator.
    +
    +AddPlot("Vector", "vel")
    +vec=VectorAttributes()
    +vec.useStride = 1
    +vec.stride = 1
    +vec.vectorOrigin = vec.Middle
    +SetPlotOptions(vec)
    +AddOperator("Isosurface")
    +DrawPlots()
    +Test("multivar_03")
    +DeleteAllPlots()
    +
    +# Test multiple variables with different centerings with expressions ('7843)
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +DefineScalarExpression("x", "coord(curvmesh3d)[0]")
    +DefineScalarExpression("y", "coord(curvmesh3d)[1]")
    +DefineScalarExpression("z", "coord(curvmesh3d)[2]")
    +DefineScalarExpression("myvar", "if(and(lt(x,0),gt(z,0)), abs(x*z), -abs(x*z))")
    +AddPlot("Pseudocolor", "myvar")
    +AddOperator("Isosurface")
    +atts.variable = "d"
    +atts.contourValue = 3
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("multivar_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_pos_cmfe.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_pos_cmfe.html new file mode 100644 index 000000000..1d069b3dd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_pos_cmfe.html @@ -0,0 +1,108 @@ + +Results for hybrid/pos_cmfe.py + +

    Results of VisIt Regression Test - hybrid/pos_cmfe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pos_cmfe_010.000.00
    pos_cmfe_020.000.00
    pos_cmfe_030.000.00
    pos_cmfe_040.000.00
    pos_cmfe_050 modifications totalling 0 lines
    pos_cmfe_060 modifications totalling 0 lines
    pos_cmfe_070 modifications totalling 0 lines
    pos_cmfe_080 modifications totalling 0 lines
    pos_cmfe_090 modifications totalling 0 lines
    pos_cmfe_100 modifications totalling 0 lines
    pos_cmfe_110.000.00
    pos_cmfe_120.000.00
    pos_cmfe_130.000.00
    pos_cmfe_140.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_pos_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_pos_cmfe_py.html new file mode 100644 index 000000000..96924a05c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_pos_cmfe_py.html @@ -0,0 +1,149 @@ +hybrid/pos_cmfe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pos_cmfe.py
    +#
    +#  Defect ID:  '5528, '5677
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 9, 2006
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +
    +# Test general capability.
    +DefineScalarExpression("cmfe", "pos_cmfe(<%s:d>, curvmesh2d, -1.)" % cmfe_silo_data_path("ucd2d.silo"))
    +AddPlot("Pseudocolor", "cmfe")
    +DrawPlots()
    +Test("pos_cmfe_01")
    +
    +# Zonal vars
    +DefineScalarExpression("cmfeZ", "pos_cmfe(<%s:p>, curvmesh2d, -1.)" %  cmfe_silo_data_path("ucd2d.silo"))
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "cmfeZ")
    +DrawPlots()
    +Test("pos_cmfe_02")
    +
    +# Test using the expression as a secondary variable.
    +ChangeActivePlotsVar("d")
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.1)
    +t.listedVarNames = ("cmfe")
    +SetOperatorOptions(t)
    +DrawPlots()
    +Test("pos_cmfe_03")
    +
    +# Test using cmfe in another expression.
    +DefineVectorExpression("disp", "{0, 3*cmfe}")
    +RemoveLastOperator()
    +d = DisplaceAttributes()
    +d.variable = "disp"
    +SetDefaultOperatorOptions(d)
    +AddOperator("Displace")
    +DrawPlots()
    +Test("pos_cmfe_04")
    +
    +RemoveLastOperator()
    +ChangeActivePlotsVar("cmfe")
    +DrawPlots()
    +
    +Query("MinMax")
    +t = GetQueryOutputString()
    +TestText("pos_cmfe_05", t)
    +
    +# Now test error conditions.
    +DefineScalarExpression("cmfe2", "pos_cmfe(pressure, quadmesh)")
    +ChangeActivePlotsVar("cmfe2")
    +DrawPlots()
    +t = GetLastError()
    +TestText("pos_cmfe_06", t)
    +
    +DefineScalarExpression("cmfe3", "pos_cmfe(<bad_file.silo:a_var>, curvmesh2d, 0.)")
    +ChangeActivePlotsVar("cmfe3")
    +DrawPlots()
    +t = GetLastError()
    +TestText("pos_cmfe_07", t)
    +
    +DefineScalarExpression("cmfe4", "pos_cmfe(<%s:pressure>, curvmesh2d)" %  cmfe_silo_data_path("wave0100.silo"))
    +ChangeActivePlotsVar("cmfe4")
    +DrawPlots()
    +t = GetLastError()
    +TestText("pos_cmfe_08", t)
    +
    +DefineScalarExpression("cmfe5", "pos_cmfe(<%s:pressure>)" % cmfe_silo_data_path("wave0100.silo"))
    +ChangeActivePlotsVar("cmfe5")
    +DrawPlots()
    +t = GetLastError()
    +TestText("pos_cmfe_09", t)
    +
    +# Invalid variable in new database.
    +DefineScalarExpression("cmfe6", "pos_cmfe(<%s:xyz>, curvmesh2d, 0.)" % cmfe_silo_data_path("ucd2d.silo"))
    +ChangeActivePlotsVar("cmfe6")
    +DrawPlots()
    +t = GetLastError()
    +TestText("pos_cmfe_10", t)
    +
    +# Enough error checking, let's do some more testing when it works.
    +
    +# 3D, multi-block to multi-block.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +DefineScalarExpression("cmfe7", "pos_cmfe(<%s:d>, mesh1, 0.)" %  cmfe_silo_data_path("multi_curv3d.silo"))
    +AddPlot("Pseudocolor", "cmfe7")
    +DrawPlots()
    +Test("pos_cmfe_11")
    +
    +DeleteAllPlots()
    +
    +# multi-block to single-block.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +DefineScalarExpression("cmfe8", "pos_cmfe(<%s:d>, curvmesh3d, 0.)" %  cmfe_silo_data_path("multi_curv3d.silo"))
    +AddPlot("Pseudocolor", "cmfe8")
    +DrawPlots()
    +Test("pos_cmfe_12")
    +
    +# single-block to multi-block.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +DefineScalarExpression("cmfe9", "pos_cmfe(<%s:d>, mesh1, 0.)" % cmfe_silo_data_path("curv3d.silo"))
    +AddPlot("Pseudocolor", "cmfe9")
    +DrawPlots()
    +Test("pos_cmfe_13")
    +
    +# single-block to multi-block -- vector
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +DefineVectorExpression("cmfe10", "pos_cmfe(gradient(<%s:d>), mesh1, {0,0,0})"% cmfe_silo_data_path("curv3d.silo"))
    +AddPlot("Vector", "cmfe10")
    +vec = VectorAttributes()
    +vec.nVectors = 400*36
    +SetPlotOptions(vec)
    +DrawPlots()
    +Test("pos_cmfe_14")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_py_exprs.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_py_exprs.html new file mode 100644 index 000000000..38e994290 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_py_exprs.html @@ -0,0 +1,78 @@ + +Results for hybrid/py_exprs.py + +

    Results of VisIt Regression Test - hybrid/py_exprs

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    py_exprs_000.000.00
    py_exprs_010.000.00
    py_exprs_020.000.00
    py_exprs_030.000.00
    py_exprs_040.000.00
    py_exprs_050.000.00
    py_exprs_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_py_exprs_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_py_exprs_py.html new file mode 100644 index 000000000..3f5bc005e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_py_exprs_py.html @@ -0,0 +1,106 @@ +hybrid/py_exprs.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  py_exprs.py
    +#
    +#  Tests:      python filters / python expressions
    +#              plots     - Pseudocolor
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Fri May 21 09:14:07 PDT 2010
    +#
    +#  Modifications:
    +#
    +#  Eddie Rusu - Tue Jul 30 13:22:17 PDT 2019
    +#  Added testing for python expressions with numpy mixed with simple
    +#  expressions.
    +#
    +#  Kathleen Biagas Fri Mar 12, 2021
    +#  Rename xx_simple_xx.py expression scripts to prevent them being run when
    +#  passing file globs to test suite (eg tests/hybrid/*.py) 
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +from os.path import join as pjoin
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"py_expr_script_00.vpe")
    +
    +DefinePythonExpression("d_wave",("d"),file=script_file)
    +AddPlot("Pseudocolor", "d_wave")
    +AddOperator("Elevate")
    +v = View3DAttributes()
    +v.viewNormal = (0.724969, -0.544156, 0.422273)
    +v.focus = (0.5, 0.666667, 0.526085)
    +v.viewUp = (-0.377473, 0.198927, 0.904401)
    +v.viewAngle = 30
    +v.parallelScale = 0.981769
    +v.nearPlane = -1.96354
    +v.farPlane = 1.96354
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.5, 0.666667, 0.526085)
    +SetView3D(v)
    +DrawPlots()
    +Test("py_exprs_00")
    +DeleteAllPlots()
    +
    +
    +# Test simple expressions mixed with python expressions using numpy
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"simple_numpy_expr.vpe")
    +DefinePythonExpression("python_multiply", ['d','p'], file=script_file)
    +AddPlot("Pseudocolor", "python_multiply", 1, 1)
    +DrawPlots()
    +Test("py_exprs_01")
    +DeleteAllPlots()
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"python_simple_mix_01.vpe")
    +DefineScalarExpression("my_expr", "d*p")
    +DefinePythonExpression("python_with_simple", ['d','p', 'my_expr'], file=script_file)
    +AddPlot("Pseudocolor", "python_with_simple", 1, 1)
    +DrawPlots()
    +Test("py_exprs_02")
    +DeleteAllPlots()
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"python_simple_mix_02.vpe")
    +DefinePythonExpression("python_with_python", ['d','p', 'python_multiply'], file=script_file)
    +AddPlot("Pseudocolor", "python_with_python", 1, 1)
    +DrawPlots()
    +Test("py_exprs_03")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("simple_with_python", "python_multiply-p+d+p*p")
    +AddPlot("Pseudocolor", "simple_with_python", 1, 1)
    +DrawPlots()
    +Test("py_exprs_04")
    +DeleteAllPlots()
    +
    +CloseDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"python_example_1.vpe")
    +DefinePythonExpression("MyExpression", ['d', 'p'], file=script_file)
    +AddPlot("Pseudocolor", "MyExpression")
    +DrawPlots()
    +Test("py_exprs_05")
    +DeleteAllPlots()
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"python_example_2.vpe")
    +DefinePythonExpression("MyExpression", ("d"), file=script_file)
    +AddPlot("Pseudocolor", "MyExpression")
    +DrawPlots()
    +Test("py_exprs_06")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_qcrit.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_qcrit.html new file mode 100644 index 000000000..ee1f91a83 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_qcrit.html @@ -0,0 +1,54 @@ + +Results for hybrid/qcrit.py + +

    Results of VisIt Regression Test - hybrid/qcrit

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    iso_qcrit0.000.00
    contour_qcrit0.000.00
    pseudo_qcrit0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_qcrit_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_qcrit_py.html new file mode 100644 index 000000000..a62cf897c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_qcrit_py.html @@ -0,0 +1,54 @@ +hybrid/qcrit.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  qcrit.py
    +#
    +#  Tests:#     plots   - pseudocolor, contour
    +#  Defect ID:  1829
    +#
    +#  Programmer: Kevin Griffin
    +#  Date:       Thu Jul 31 14:21:02 PDT 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +ds = data_path("miranda_test_data/TG_vortex/plot.raw")
    +#ds = "/g/g14/kgriffin/trunk/build_debug/data/miranda_test_data/TG_vortex/plot.raw"
    +OpenDatabase(ds)
    +DefineScalarExpression("qcrit", "q_criterion(gradient(velocity[0]), gradient(velocity[1]), gradient(velocity[2]))")
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +#
    +# Test 1
    +#
    +AddPlot("Pseudocolor", "qcrit")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = 0.2
    +IsovolumeAtts.ubound = 5.0
    +IsovolumeAtts.variable = "default"
    +SetOperatorOptions(IsovolumeAtts)
    +
    +DrawPlots()
    +Test("iso_qcrit")
    +DeleteAllPlots()
    +
    +#
    +# Test 2
    +#
    +AddPlot("Contour", "qcrit")
    +DrawPlots()
    +Test("contour_qcrit")
    +DeleteAllPlots()
    +
    +#
    +# Test 3
    +#
    +AddPlot("Pseudocolor", "qcrit")
    +DrawPlots()
    +Test("pseudo_qcrit")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_replace.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_replace.html new file mode 100644 index 000000000..cc4bc0558 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_replace.html @@ -0,0 +1,72 @@ + +Results for hybrid/replace.py + +

    Results of VisIt Regression Test - hybrid/replace

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    AllMaterials0.000.00
    Material2Off0.000.00
    Replace10.000.00
    Replace20.000.00
    Replace30.000.00
    Replace40.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_replace_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_replace_py.html new file mode 100644 index 000000000..aac545bb6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_replace_py.html @@ -0,0 +1,97 @@ +hybrid/replace.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  replace.py
    +#
    +#  Tests:      the ReplaceDatabase function.
    +#
    +#  Defect ID:  VisIt00003002
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Jan 22 11:06:49 PDT 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +# 
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Turn off annotation
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +a.axes2D.visible = 1
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 0
    +a.axes2D.xAxis.title.visible = 0
    +a.axes2D.yAxis.title.visible = 0
    +SetAnnotationAttributes(a)
    +
    +# Set up the plots.
    +OpenDatabase(silo_data_path("wave0110.silo"))
    +
    +AddPlot("FilledBoundary", "Material")
    +DrawPlots()
    +v = View3DAttributes()
    +v.viewNormal = (-0.427729, 0.776091, 0.463391)
    +v.focus = (4.37669, 0.376992, 2.57924)
    +v.viewUp = (0.67875, 0.614328, -0.402368)
    +v.viewAngle = 30.
    +v.parallelScale = 5.03337
    +v.nearPlane = -11.2758
    +v.farPlane = 11.2758
    +v.perspective = 1
    +SetView3D(v)
    +
    +# Show what it looks like with all materials
    +Test("AllMaterials")
    +# Turn off the green material
    +TurnMaterialsOff("2 water")
    +Test("Material2Off")
    +
    +# Try replacing with a later time step and see if the SIL selection
    +# still is applied. It should be still applied since the files have
    +# equivalent SILs.
    +ReplaceDatabase(silo_data_path("wave0340.silo"))
    +
    +Test("Replace1")
    +
    +# Make different materials active and replace again.
    +TurnMaterialsOn()
    +TurnMaterialsOff("1 barrier")
    +ReplaceDatabase(silo_data_path("wave0470.silo"))
    +
    +Test("Replace2")
    +
    +# Open one of our simple databases, do a plot and then replace it with
    +# an unrelated database.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +ReplaceDatabase(silo_data_path("curv3d.silo"))
    +
    +v2 = View3DAttributes()
    +v2.viewNormal = (-0.499092, 0.420388, 0.757747)
    +v2.focus = (0,2.5,15)
    +v2.viewUp = (0.195607, 0.906528, -0.374093)
    +v2.viewAngle = 30.
    +v2.parallelScale = 16.0078
    +v2.nearPlane = -32.0156
    +v2.farPlane = 32.0156
    +v2.perspective = 1
    +SetView3D(v2)
    +Test("Replace3")
    +
    +# Replace it with a 2d database.
    +ReplaceDatabase(silo_data_path("curv2d.silo"))
    +
    +Test("Replace4")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_sil.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_sil.html new file mode 100644 index 000000000..116b76394 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_sil.html @@ -0,0 +1,70 @@ + +Results for hybrid/sil.py + +

    Results of VisIt Regression Test - hybrid/sil

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sil10.000.00
    sil20.000.00
    sil30.000.00
    sil40.000.00
    sil50.000.00
    sil60 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_sil_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_sil_py.html new file mode 100644 index 000000000..adc17f5fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_sil_py.html @@ -0,0 +1,87 @@ +hybrid/sil.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  sil.py
    +#
    +#  Tests:      mesh      - 3D curvilinear,multi-domain,ghost zones replicated.
    +#              plots     - mat subset, domain subset
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Hank Childs
    +#  Date:       December 5, 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Fri Feb 24 15:45:41 PST 2012
    +#    Add test for preserving SILs across time slice changes.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +view = View3DAttributes()
    +view.viewNormal = (0.557976, 0.651128, 0.514485)
    +view.focus = (0.5, 0.5, 0.5)
    +view.viewUp = (-0.0955897, 0.666272, -0.739557)
    +view.viewAngle = 30
    +view.parallelScale = 0.866025
    +view.nearPlane = -1.73205
    +view.farPlane = 1.73205
    +view.perspective = 1
    +SetView3D(view)
    +
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("FilledBoundary", "mat")
    +DrawPlots()
    +
    +# Test the normal material plot.
    +Test("sil1")
    +
    +# Make sure that the ghost zones were generated correctly.
    +view.nearPlane = -0.3
    +SetView3D(view)
    +Test("sil2")
    +
    +view.nearPlane = -1.73205
    +SetView3D(view)
    +
    +TurnMaterialsOff("1")
    +Test("sil3")
    +
    +TurnMaterialsOff()
    +TurnMaterialsOn("1")
    +Test("sil4")
    +
    +DeleteAllPlots()
    +
    +# Test that the SIL from the previous plot is preserved.
    +AddPlot("Subset", "domains")
    +DrawPlots()
    +Test("sil5")
    +
    +OpenDatabase(data_path("Chombo_test_data/chombo.visit"))
    +
    +AddPlot("Pseudocolor", "Density")
    +s = SILRestriction()
    +s.TurnOffSet(s.SetsInCategory("materials")[1])
    +SetPlotSILRestriction(s)
    +DrawPlots()
    +TimeSliderSetState(4)
    +s = SILRestriction()
    +if (s.UsesData(s.SetsInCategory("materials")[1])):
    +   text="Material 1 got turned back on!  (incorrect)\n"
    +else:
    +   text="Material 1 was correctly left off.\n"
    +
    +TestText("sil6", text)
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_simplify_mixed.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_simplify_mixed.html new file mode 100644 index 000000000..41edaaea9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_simplify_mixed.html @@ -0,0 +1,74 @@ + +Results for hybrid/simplify_mixed.py + +

    Results of VisIt Regression Test - hybrid/simplify_mixed

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    simplify_mixed010.000.00
    simplify_mixed020.000.00
    simplify_mixed030.000.00
    simplify_mixed040.000.00
    simplify_mixed050.000.00
    simplify_mixed060.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_simplify_mixed_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_simplify_mixed_py.html new file mode 100644 index 000000000..11bdd4817 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_simplify_mixed_py.html @@ -0,0 +1,90 @@ +hybrid/simplify_mixed.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  simplify_mixed.py
    +#
    +#  Tests:      plots     - filled boundary
    +#
    +#  Defect ID:  '4363, '6464, '6504, '8082
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 19, 2005
    +#
    +#  Modifications:
    +# 
    +#    Hank Childs, Fri Sep 28 12:48:54 PDT 2007
    +#    Add testing for mixvars with simplify heavily mixed ['8082].
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#    Changed Pseudocolor CurrentPlot to ActualData.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +
    +AddPlot("FilledBoundary", "materials")
    +DrawPlots()
    +
    +v = GetView2D()
    +v.windowCoords = (0.0084, 0.0215, 0.0920, 0.1034)
    +v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +SetView2D(v)
    +
    +Test("simplify_mixed01")
    +
    +m = MaterialAttributes()
    +m.simplifyHeavilyMixedZones = 1
    +m.maxMaterialsPerZone = 2
    +SetMaterialAttributes(m)
    +
    +AddPlot("Boundary", "materials")
    +b = BoundaryAttributes()
    +b.colorType = b.ColorBySingleColor
    +SetPlotOptions(b)
    +
    +DrawPlots()
    +
    +Test("simplify_mixed02")
    +
    +DeleteAllPlots()
    +m.maxMaterialsPerZone = 1
    +SetMaterialAttributes(m)
    +
    +AddPlot("FilledBoundary", "materials")
    +DrawPlots()
    +
    +Test("simplify_mixed03")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("thinplane.silo"))
    +
    +
    +m.forceMIR = 1
    +SetMaterialAttributes(m)
    +AddPlot("Pseudocolor", "den")
    +p = PseudocolorAttributes()
    +p.limitsMode = p.ActualData
    +SetPlotOptions(p)
    +DrawPlots()
    +Test("simplify_mixed04")
    +
    +m.maxMaterialsPerZone = 2
    +SetMaterialAttributes(m)
    +ReOpenDatabase(silo_data_path("thinplane.silo"))
    +
    +Test("simplify_mixed05")
    +
    +m.maxMaterialsPerZone = 3
    +SetMaterialAttributes(m)
    +ReOpenDatabase(silo_data_path("thinplane.silo"))
    +
    +Test("simplify_mixed06")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_specmf.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_specmf.html new file mode 100644 index 000000000..73ea0f751 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_specmf.html @@ -0,0 +1,48 @@ + +Results for hybrid/specmf.py + +

    Results of VisIt Regression Test - hybrid/specmf

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    specmf_00.000.00
    specmf_10.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_specmf_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_specmf_py.html new file mode 100644 index 000000000..f5e3964fb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_specmf_py.html @@ -0,0 +1,42 @@ +hybrid/specmf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  val4mat.py
    +#
    +#  Tests:      mesh      - 2d structured
    +#              plots     - pc
    +#
    +#  Notes
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Tuesday 12, 2008
    +#
    +#  Modifiations:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("specmix_quad.silo"))
    +
    +atts = PseudocolorAttributes()
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 1.0
    +SetDefaultPlotOptions(atts)
    +
    +# view the per material values for each of the 3 materials
    +
    +DefineScalarExpression("spec_mix", "specmf(Species,1,1)")
    +AddPlot("Pseudocolor", "spec_mix")
    +DrawPlots()
    +Test("specmf_0")
    +
    +OpenDatabase(silo_data_path("specmix_double_quad.silo"))
    +
    +AddPlot("Pseudocolor", "spec_mix")
    +DrawPlots()
    +Test("specmf_1")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_symm.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_symm.html new file mode 100644 index 000000000..a899f5cf8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_symm.html @@ -0,0 +1,100 @@ + +Results for hybrid/symm.py + +

    Results of VisIt Regression Test - hybrid/symm

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    symm_010 modifications totalling 0 lines
    symm_020.000.00
    symm_030.000.00
    symm_040.000.00
    symm_050.000.00
    symm_060.000.00
    symm_070.000.00
    symm_080.000.00
    symm_090.000.00
    symm_100.000.00
    symm_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_symm_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_symm_py.html new file mode 100644 index 000000000..19de4c689 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_symm_py.html @@ -0,0 +1,114 @@ +hybrid/symm.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  symm.py
    +#
    +#  Defect ID:  '6913, '7644, '7650
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 23, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri Dec 22 11:01:09 PST 2006
    +#    Add testing for symm_point
    +#
    +#    Hank Childs, Fri Jan  5 11:14:59 PST 2007
    +#    Add testing for non-rectilinear mesh types, since they use a different
    +#    code path (which broke).
    +#
    +#    Hank Childs, Mon Jan  8 11:04:50 PST 2007
    +#    Add testing for non-scalar variable types with symmetry CMFE expressions.
    +#
    +#    Brad Whitlock, Thu May 10 09:06:46 PDT 2007
    +#    Changed the name of an expression.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +
    +# Test errors.
    +DefineScalarExpression("sp1", "symm_plane(d, [0, 0, 0, 1, 0, 0])")
    +AddPlot("Pseudocolor", "sp1")
    +DrawPlots()
    +t = GetLastError()
    +TestText("symm_01", t)
    +
    +# Now test it working...
    +DeleteAllPlots()
    +DefineScalarExpression("sp2", "symm_plane(d, [1, 0, 0, 0.3, 0, 0])")
    +AddPlot("Pseudocolor", "sp2")
    +DrawPlots()
    +Test("symm_02")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("sp3", "symm_plane(d, [1, -1, 0, 0.1, 0, 0])")
    +AddPlot("Pseudocolor", "sp3")
    +DrawPlots()
    +Test("symm_03")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("sp4", "symm_plane(d, [2, -1, 0, 0.1, 0, 0])")
    +AddPlot("Pseudocolor", "sp4")
    +DrawPlots()
    +Test("symm_04")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("st1", "symm_transform(d, [0,1,0,1,0,0,0,0,0])")
    +AddPlot("Pseudocolor", "st1")
    +DrawPlots()
    +Test("symm_05")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +DefineScalarExpression("sp5", "symm_plane(hardyglobal, [1, 0, 0, 0, 0, 0])")
    +AddPlot("Contour", "sp5")
    +DrawPlots()
    +Test("symm_06")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +DefineScalarExpression("st2", "symm_transform(hardyglobal, [0.707, 0.707, 0, -0.707, 0.707, 0, 0, 0, 1])")
    +AddPlot("Contour", "st2")
    +DrawPlots()
    +Test("symm_07")
    +
    +ActivateDatabase(silo_data_path("rect2d.silo"))
    +
    +DeleteAllPlots()
    +DefineScalarExpression("sp4_2", "symm_point(d, [0.4, 0.6, 0])")
    +AddPlot("Pseudocolor", "sp4_2")
    +DrawPlots()
    +Test("symm_08")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +DefineScalarExpression("sp6", "symm_plane(d, [1, 0, 0, 0.2, 0, 0])")
    +AddPlot("Pseudocolor", "sp6")
    +DrawPlots()
    +Test("symm_09")
    +
    +DeleteAllPlots()
    +DefineVectorExpression("sp7", "symm_plane(vel, [1, 0, 0, 0.2, 0, 0])")
    +AddPlot("Vector", "sp7")
    +DrawPlots()
    +Test("symm_10")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("sp8", "magnitude(symm_plane(vel, [1, 0, 0, 0.2, 0, 0]))")
    +AddPlot("Pseudocolor", "sp8")
    +DrawPlots()
    +Test("symm_11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_cmfe.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_cmfe.html new file mode 100644 index 000000000..11e6c2176 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_cmfe.html @@ -0,0 +1,108 @@ + +Results for hybrid/time_cmfe.py + +

    Results of VisIt Regression Test - hybrid/time_cmfe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    time_cmfe_010.000.00
    time_cmfe_020.000.00
    time_cmfe_030.000.00
    time_cmfe_040.000.00
    time_cmfe_050.000.00
    time_cmfe_060.000.00
    time_cmfe_070.000.00
    time_cmfe_080.000.00
    time_cmfe_090.000.00
    time_cmfe_100.000.00
    time_cmfe_110.000.00
    time_cmfe_120.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_cmfe_py.html new file mode 100644 index 000000000..a26fc1119 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_cmfe_py.html @@ -0,0 +1,93 @@ +hybrid/time_cmfe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  time_cmfe.py
    +#
    +#  Defect ID:  None
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 30, 2005
    +#
    +#  Modifications:
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Brad Whitlock, Thu Apr 19 14:35:20 PDT 2012
    +#    I changed the last couple of tests so we can directly compare the
    +#    data at a time step with what time deltas should give us.
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +
    +# Test general capability.
    +DefineScalarExpression("cmfe", "conn_cmfe(<%s[10]i:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +AddPlot("Pseudocolor", "cmfe")
    +DrawPlots()
    +Test("time_cmfe_01")
    +
    +# Should be same pressure, since we aren't doing deltas
    +SetTimeSliderState(20)
    +Test("time_cmfe_02")
    +
    +DefineScalarExpression("cmfe2", "conn_cmfe(<%s[-10]id:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +ChangeActivePlotsVar("cmfe2")
    +Test("time_cmfe_03")
    +
    +SetTimeSliderState(40)
    +Test("time_cmfe_04")
    +
    +DefineScalarExpression("cmfe3", "conn_cmfe(<%s[200]c:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +ChangeActivePlotsVar("cmfe3")
    +Test("time_cmfe_05")
    +
    +SetTimeSliderState(20)
    +Test("time_cmfe_06")
    +
    +DefineScalarExpression("cmfe4", "conn_cmfe(<%s[200]cd:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +ChangeActivePlotsVar("cmfe4")
    +Test("time_cmfe_07")
    +
    +SetTimeSliderState(40)
    +Test("time_cmfe_08")
    +
    +DefineScalarExpression("cmfe5", "conn_cmfe(<%s[-0.9]t:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +ChangeActivePlotsVar("cmfe5")
    +Test("time_cmfe_09")
    +
    +SetTimeSliderState(20)
    +Test("time_cmfe_10")
    +
    +# Get rid of the wave in the mesh and slice it. I'm slicing it because I was 
    +# originally doing lineouts but those didn't line up for some reason.
    +DefineScalarExpression("i", "mod(nodeid(quadmesh), 101.)")
    +DefineScalarExpression("j", "floor((nodeid(quadmesh) - (k*101.*11.) - i) / 101.)")
    +DefineScalarExpression("k", "floor(nodeid(quadmesh) / (101.*11.))")
    +DefineVectorExpression("offset", "{coords(quadmesh)[0], j * 0.06, coords(quadmesh)[2]} - coords(quadmesh)")
    +AddOperator("Displace")
    +disp = DisplaceAttributes()
    +disp.variable = "offset"
    +disp.factor = 1
    +SetOperatorOptions(disp)
    +AddOperator("Slice")
    +DrawPlots()
    +
    +ChangeActivePlotsVar("pressure")
    +# Do a plot of pressure at time state 25 since the time there is 3. 
    +SetTimeSliderState(25)
    +Test("time_cmfe_11")
    +
    +# Now create a time delta expression where we want to get the data that trails
    +# the current time step by 0.8. We'll set the time slider to state 29 where the 
    +# time is 3.8 and we'll use the cmfe time delta to obtain data from 0.8 time
    +# units before, or in other words, time state 25. Then we'll do a plot to see
    +# if the data matches the previous test.
    +DefineScalarExpression("cmfe6", "conn_cmfe(<%s[-0.8]td:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +SetTimeSliderState(29)
    +ChangeActivePlotsVar("cmfe6")
    +Test("time_cmfe_12")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_deriv_cmfe.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_deriv_cmfe.html new file mode 100644 index 000000000..1a0c0de8b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_deriv_cmfe.html @@ -0,0 +1,54 @@ + +Results for hybrid/time_deriv_cmfe.py + +

    Results of VisIt Regression Test - hybrid/time_deriv_cmfe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    time_deriv_cmfe_010.000.00
    time_deriv_cmfe_020.000.00
    time_deriv_cmfe_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_deriv_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_deriv_cmfe_py.html new file mode 100644 index 000000000..cdfe188c9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_deriv_cmfe_py.html @@ -0,0 +1,35 @@ +hybrid/time_deriv_cmfe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  time_deriv_cmfe.py
    +#
    +#  Defect ID:  '2715, '6897
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 12, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +
    +# Test general capability.
    +AddPlot("Pseudocolor", "time_derivative/conn_based/pressure")
    +DrawPlots()
    +Test("time_deriv_cmfe_01")
    +
    +TimeSliderSetState(50)
    +Test("time_deriv_cmfe_02")
    +
    +ChangeActivePlotsVar("time_derivative/pos_based/pressure")
    +Test("time_deriv_cmfe_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_iteration.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_iteration.html new file mode 100644 index 000000000..be6326e0c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_iteration.html @@ -0,0 +1,54 @@ + +Results for hybrid/time_iteration.py + +

    Results of VisIt Regression Test - hybrid/time_iteration

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    time_iteration_010.000.00
    time_iteration_020.000.00
    time_iteration_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_iteration_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_iteration_py.html new file mode 100644 index 000000000..a1a0b9fa9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_time_iteration_py.html @@ -0,0 +1,41 @@ +hybrid/time_iteration.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  time_iteration.py
    +#
    +#  Defect ID:  None
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 27, 2010
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +
    +DefineScalarExpression("ave1", "average_over_time(pressure, 1, 10, 1)")
    +AddPlot("Pseudocolor", "ave1")
    +DrawPlots()
    +v = GetView3D()
    +v.viewNormal = (0.607716, 0.507406, 0.610918)
    +v.viewUp = (-0.342711, 0.861513, -0.374627)
    +SetView3D(v)
    +Test("time_iteration_01")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("ave2", "average_over_time(pressure, 10, 20, 1)")
    +AddPlot("Pseudocolor", "ave2")
    +DrawPlots()
    +Test("time_iteration_02")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("pressure_big", "ge(pressure, 0.8)")
    +DefineScalarExpression("first_time", "first_time_when_condition_is_true(pressure_big, 100, 1, 71, 1)")
    +AddPlot("Pseudocolor", "first_time")
    +DrawPlots()
    +Test("time_iteration_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_timelock.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_timelock.html new file mode 100644 index 000000000..fa9ae6cbf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_timelock.html @@ -0,0 +1,189 @@ + +Results for hybrid/timelock.py + +

    Results of VisIt Regression Test - hybrid/timelock

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Make sure we get a time slider when locking a window causes the most suitable correlation to be altered.
    timelock_000.000.00
    timelock_010 modifications totalling 0 lines
    timelock_020.000.00
    timelock_030 modifications totalling 0 lines
    timelock_040.000.00
    timelock_050 modifications totalling 0 lines
    timelock_060 modifications totalling 0 lines
    timelock_070 modifications totalling 0 lines
    timelock_080.000.00
    timelock_090 modifications totalling 0 lines
    timelock_100.000.00
    timelock_110 modifications totalling 0 lines
    timelock_120.000.00
    timelock_130 modifications totalling 0 lines
    Test that the time slider works when time locking multiple windows
    timelock_140.000.00
    timelock_150 modifications totalling 0 lines
    timelock_160.000.00
    Make sure replacing into a time-locked window updates the database correlation.
    timelock_210.000.00
    timelock_220.000.00
    timelock_230 modifications totalling 0 lines
    timelock_240 modifications totalling 0 lines
    timelock_250 modifications totalling 0 lines
    timelock_260 modifications totalling 0 lines
    timelock_270.000.00
    timelock_280.000.00
    timelock_290.000.00
    timelock_300 modifications totalling 0 lines
    timelock_310.000.00
    timelock_320 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_timelock_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_timelock_py.html new file mode 100644 index 000000000..b74bd9ab7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_timelock_py.html @@ -0,0 +1,374 @@ +hybrid/timelock.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  timelock.py
    +#
    +#  Tests:      mesh      - 2D, 3D, curvilinear, single domain
    +#              plots     - FilledBoundary, Pseudocolor
    +#              databases - PDB, Silo
    +#
    +#  Purpose:    This test case tests out locking windows in time with multiple
    +#              databases in multiple windows. It makes sure that we get the
    +#              right database correlations and the right time sliders.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Mar 17 09:58:35 PDT 2005
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 23 09:23:53 PDT 2005
    +#    I made it truncate the window information so the scalable rendering flag
    +#    is not included. This way, I don't need mode-specific baselines. I also
    +#    added 2 new test cases to check the window information because one of
    +#    the baseline images in test case 2 was incorrect. Finally, I added code
    +#    in the CleanSlate function to make sure that time locking is off. That
    +#    was what caused the incorrect test case image.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Eric Brugger, Fri Jul 30 13:53:48 PDT 2010
    +#    I increased the number of lines of information it prints to 18.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 18 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(18):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    # Get the window information and convert it to a string.
    +    TestText(testname, s)
    +
    +
    +#
    +# Tests that the database correlations look a certain way.
    +#
    +def TestCorrelations(testname):
    +    names = GetDatabaseCorrelationNames()
    +    s = ""
    +    for name in names:
    +        c = GetDatabaseCorrelation(name)
    +        s = s + str(c) + "\n"
    +    TestText(testname, s)
    +
    +def CleanSlate():
    +    # Delete all but the first window.
    +    windows = list(GetGlobalAttributes().windows)
    +    windows.sort()
    +    for win in windows[1:]:
    +        SetActiveWindow(win)
    +        DeleteWindow()
    +
    +    # Delete all of the plots.
    +    DeleteAllPlots()
    +
    +    # Delete all of the database correlations:
    +    sources = GetGlobalAttributes().sources
    +    cL = GetDatabaseCorrelationNames()
    +    for name in cL:
    +        if name not in sources:
    +            DeleteDatabaseCorrelation(name)
    +
    +    # Close all of the sources.
    +    for src in sources:
    +        CloseDatabase(src)
    +
    +    # Make sure clone window on first reference is off.
    +    SetCloneWindowOnFirstRef(0)
    +
    +    # Make sure that window 1 is not locked in time!
    +    if GetWindowInformation().lockTime == 1:
    +        ToggleLockTime()
    +
    +#
    +# Returns whether all files in the list are in the current directory.
    +#
    +def FilesPresent(files):
    +    currentFileList = os.listdir(".")
    +    count = 0
    +    retval = 0
    +    if type(files) == type(()) or type(files) == type([]):
    +        for file in files:
    +            if file in currentFileList:
    +                count = count + 1
    +        retval = count == len(files)
    +    else:
    +        # We got here because the files argument was 
    +        # a single value instead of a tuple or list.
    +        if files in currentFileList:
    +            retval = 1
    +
    +    return retval
    +
    +#
    +# Waits for all files in the list to be present in the current directory.
    +#
    +def WaitForFilesToBePresent(files):
    +    while(FilesPresent(files) == 0): sleep(1)
    +
    +#
    +# Remove all .visit files from the current directory.
    +#
    +def RemoveAllVisItFiles():
    +    currentFileList = os.listdir(".")
    +    for file in currentFileList:
    +        if file[-5:] == ".silo" or file[-6:] == ".visit":
    +            try:
    +                os.unlink(file)
    +            except:
    +                # Ignore any exceptions
    +                pass
    +
    +#
    +# Set a better view for wave.
    +#
    +def SetWaveDatabaseView():
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.735926, 0.562657, 0.376604)
    +    v0.focus = (5, 0.753448, 2.5)
    +    v0.viewUp = (0.454745, 0.822858, -0.340752)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 5.6398
    +    v0.nearPlane = -11.2796
    +    v0.farPlane = 11.2796
    +    v0.imagePan = (0.0589778, 0.0898255)
    +    v0.imageZoom = 1.32552
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    SetView3D(v0)
    +
    +#
    +# Set the active window and also set the window's background color so it's
    +# easy to tell which window we're looking at.
    +#
    +def GotoWindow(win):
    +    SetActiveWindow(win)
    +
    +    a = GetAnnotationAttributes()
    +    if win == 1:
    +        a.backgroundColor = (255,200,200,255)
    +    elif win == 2:
    +        a.backgroundColor = (200,255,200,255)
    +    else:
    +        a.backgroundColor = (200,200,255,255)
    +    SetAnnotationAttributes(a)
    +
    +#
    +# Test that we get an active time slider when a correlation is modified
    +# as a result of locking the window in time.
    +#
    +def test1(testindex):
    +    TestSection("Make sure we get a time slider when locking a window "
    +                "causes the most suitable correlation to be altered.")
    +    SetWindowLayout(4)
    +
    +    # Turn on "CloneWindowOnFirstRef"
    +    SetCloneWindowOnFirstRef(1)
    +
    +    # Copy wave.visit to this directory a few times.
    +    f = open(silo_data_path("wave.visit") , "rt")
    +    lines = f.readlines()
    +    f.close()
    +    f0 = open("wave.visit","wt")
    +    f1 = open("wave1.visit","wt")
    +    f2 = open("wave2.visit","wt")
    +    for line in lines:
    +        f0.write(silo_data_path(line))
    +        f1.write(silo_data_path(line))
    +        f2.write(silo_data_path(line))
    +    f0.close()
    +    f1.close()
    +    f2.close()
    +
    +    GotoWindow(1)
    +    OpenDatabase("wave.visit")
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    SetWaveDatabaseView()
    +    Test("timelock_%02d" % testindex)
    +    TestWindowInformation("timelock_%02d" % (testindex+1))
    +
    +    # Go to the next window. The plot should be copied. Replace the database
    +    # before we draw the plots so we'll be using a different database.
    +    GotoWindow(2)
    +    ReplaceDatabase("wave1.visit")
    +    DrawPlots()
    +    Test("timelock_%02d" % (testindex+2))
    +    TestWindowInformation("timelock_%02d" % (testindex+3))
    +
    +    # Go to the next window. The plot should be copied. Replace the database
    +    # before we draw the plots so we'll be using a different database.
    +    GotoWindow(3)
    +    ReplaceDatabase("wave2.visit")
    +    DrawPlots()
    +    Test("timelock_%02d" % (testindex+4))
    +    TestWindowInformation("timelock_%02d" % (testindex+5))
    +
    +    # Lock window 1 and 2. This should result in a database correlation.
    +    GotoWindow(1)
    +    ToggleLockTime()
    +    GotoWindow(2)
    +    ToggleLockTime()
    +    TestCorrelations("timelock_%02d" % (testindex+6))
    +
    +    # Lock window 3 in time now also. This should result in the new database
    +    # correlation being modified to accomodate window 3's database.
    +    GotoWindow(3)
    +    ToggleLockTime()
    +    TestCorrelations("timelock_%02d" % (testindex+7))
    +
    +    # Change time states and make sure all windows look the same.
    +    SetTimeSliderState(36)
    +    Test("timelock_%02d" % (testindex+8))
    +    TestWindowInformation("timelock_%02d" % (testindex+9))
    +    GotoWindow(2)
    +    Test("timelock_%02d" % (testindex+10))
    +    TestWindowInformation("timelock_%02d" % (testindex+11))
    +    GotoWindow(1)
    +    Test("timelock_%02d" % (testindex+12))
    +    TestWindowInformation("timelock_%02d" % (testindex+13))
    +
    +    # Get ready for the next test.
    +    CleanSlate()
    +    RemoveAllVisItFiles()
    +
    +    return testindex + 14
    +
    +#
    +# Test that time locking works for multiple windows. What we're really
    +# testing is that the database is copied to the newly referenced window
    +# even though we have "CloneWindowOnFirstRef" set to off. Defect '6053.
    +#
    +def test2(testindex):
    +    TestSection("Test that the time slider works when time locking multiple windows")
    +
    +    a = GetAnnotationAttributes()
    +    b = GetAnnotationAttributes()
    +    SetAnnotationAttributes(b)
    +
    +    SetCloneWindowOnFirstRef(0)
    +    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +    AddPlot("FilledBoundary", "material(mesh)")
    +    DrawPlots()
    +    Test("timelock_%02d" % testindex)
    +
    +    SetWindowLayout(2)
    +    GotoWindow(2)
    +    SetAnnotationAttributes(b)
    +    TestWindowInformation("timelock_%02d" % (testindex+1))
    +    AddPlot("Pseudocolor", "mesh/nummm")
    +    DrawPlots()
    +    Test("timelock_%02d" % (testindex+2))
    +
    +    # Turn on time locking in both windows.
    +    GotoWindow(1)
    +    ToggleLockTime()
    +    GotoWindow(2)
    +    ToggleLockTime()
    +
    +    # See if both windows updated when we changed the time in window 2.
    +    SetTimeSliderState(5)
    +    # This crashes in scalable,parallel,icet.
    +    if TestEnv.params["scalable"] == False:
    +        Test("timelock_%02d" % (testindex+3))
    +        TestWindowInformation("timelock_%02d" % (testindex+4))
    +        GotoWindow(1)
    +        ResetView()
    +        Test("timelock_%02d" % (testindex+5))
    +        TestWindowInformation("timelock_%02d" % (testindex+6))
    +
    +    # Get ready for the next test.
    +    CleanSlate()
    +    SetAnnotationAttributes(a)
    +
    +    return testindex + 7
    +
    +#
    +# Make sure that replacing into a time-locked window updates the database
    +# correlation.
    +#
    +def test3(testindex):
    +    TestSection("Make sure replacing into a time-locked window updates "
    +                "the database correlation.")
    +    SetWindowLayout(4)
    +
    +    # Turn on "CloneWindowOnFirstRef"
    +    SetCloneWindowOnFirstRef(1)
    +
    +    dbs = (silo_data_path("wave.visit") ,
    +           silo_data_path("wave_tv.visit") )
    +    OpenDatabase(dbs[0])
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    SetWaveDatabaseView()
    +    Test("timelock_%02d" % testindex)
    +
    +    GotoWindow(2)
    +    DeleteAllPlots()
    +    AddPlot("FilledBoundary", "Material")
    +    DrawPlots()
    +    Test("timelock_%02d" % (testindex+1))
    +    ToggleLockTime()
    +    TestWindowInformation("timelock_%02d" % (testindex+2))
    +    GotoWindow(1)
    +    ToggleLockTime()
    +    TestWindowInformation("timelock_%02d" % (testindex+3))
    +
    +    # Go to window 3 and make sure that certain fields were copied.
    +    # Window 3 should already be locked in time and it should contain
    +    # a Pseudocolor plot.
    +    GotoWindow(3)
    +    TestWindowInformation("timelock_%02d" % (testindex+4))
    +
    +    # Replace the database with wave_tv so we can make sure that VisIt can
    +    # create correlations when it needs to during a replace. Note that we
    +    # also replace with a later time state. This should cause the time states
    +    # for the other windows to be updated.
    +    ReplaceDatabase(dbs[1], 36)
    +    TestCorrelations("timelock_%02d" % (testindex+5))
    +    DrawPlots()
    +    Test("timelock_%02d" % (testindex+6))
    +
    +    # Test that we change change to the transient variable.
    +    ChangeActivePlotsVar("transient")
    +    Test("timelock_%02d" % (testindex+7))
    +
    +    # Make sure that the time state changed in windows 1,2.
    +    GotoWindow(2)
    +    Test("timelock_%02d" % (testindex+8))
    +    TestWindowInformation("timelock_%02d" % (testindex+9))
    +    GotoWindow(1)
    +    Test("timelock_%02d" % (testindex+10))
    +    TestWindowInformation("timelock_%02d" % (testindex+11))
    +
    +    # Get ready for the next test.
    +    CleanSlate()
    +
    +    return testindex + 12
    +
    +#
    +# Run the tests
    +#
    +try:
    +    testindex = 0
    +    testindex = test1(testindex)
    +    testindex = test2(testindex)
    +    testindex = test3(testindex)
    +except:
    +    RemoveAllVisItFiles()
    +    raise
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_val4mat.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_val4mat.html new file mode 100644 index 000000000..e690cc95b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_val4mat.html @@ -0,0 +1,66 @@ + +Results for hybrid/val4mat.py + +

    Results of VisIt Regression Test - hybrid/val4mat

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    value_for_mat_10.000.00
    value_for_mat_20.000.00
    value_for_mat_30.000.00
    value_for_mat_post_ghost_10.000.00
    value_for_mat_post_ghost_20.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_val4mat_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_val4mat_py.html new file mode 100644 index 000000000..c98bbf0b0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_val4mat_py.html @@ -0,0 +1,76 @@ +hybrid/val4mat.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  val4mat.py
    +#
    +#  Tests:      mesh      - 3D structured, multi domain
    +#              plots     - pc
    +#
    +#  Notes:      Migrated value_for_material tests from expressions.py
    +#              and added post ghost test cases. 
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Tuesday 12, 2008
    +#
    +#  Modifiations:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("thinplane.silo"))
    +
    +atts = PseudocolorAttributes()
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 10.0
    +SetDefaultPlotOptions(atts)
    +
    +# view the per material values for each of the 3 materials
    +
    +DefineScalarExpression("vfm_1", "value_for_material(den,1)")
    +AddPlot("Pseudocolor", "vfm_1")
    +DrawPlots()
    +Test("value_for_mat_1")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("vfm_2", "value_for_material(den,2)")
    +AddPlot("Pseudocolor", "vfm_2")
    +DrawPlots()
    +Test("value_for_mat_2")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("vfm_3", "value_for_material(den,\"3\")")
    +AddPlot("Pseudocolor", "vfm_3")
    +DrawPlots()
    +Test("value_for_mat_3")
    +
    +
    +ChangeActivePlotsVar("vfm_2")
    +
    +# test w/ ghost zones (switch vfm_2 to nodal)
    +atts = PseudocolorAttributes(1)
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 10.0
    +atts.centering = atts.Nodal
    +SetPlotOptions(atts)
    +DrawPlots()
    +Test("value_for_mat_post_ghost_1")
    +
    +# make sure post ghost caching doesn't tank non ghost results
    +atts = PseudocolorAttributes(1)
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 10.0
    +atts.centering = atts.Zonal
    +SetPlotOptions(atts)
    +DrawPlots()
    +Test("value_for_mat_post_ghost_2")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_vtkm.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_vtkm.html new file mode 100644 index 000000000..17df8ef0b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_vtkm.html @@ -0,0 +1,372 @@ + +Results for hybrid/vtkm.py + +

    Results of VisIt Regression Test - hybrid/vtkm

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    vtkm_rect2d_010.000.00
    vtkm_rect2d_020.000.00
    vtkm_rect3d_010.000.00
    vtkm_rect3d_01a0.000.00
    vtkm_rect3d_020.000.00
    vtkm_rect3d_030.000.00
    vtkm_rect3d_040.000.00
    vtkm_rect3d_050.000.00
    vtkm_rect3d_060.000.00
    vtkm_rect3d_070.000.00
    vtkm_rect3d_080.000.00
    vtkm_rect3d_090.000.00
    vtkm_rect3d_100.000.00
    vtkm_curv2d_010.000.00
    vtkm_curv2d_020.000.00
    vtkm_curv3d_010.000.00
    vtkm_curv3d_01a0.000.00
    vtkm_curv3d_020.000.00
    vtkm_curv3d_030.000.00
    vtkm_curv3d_040.000.00
    vtkm_curv3d_050.000.00
    vtkm_curv3d_060.000.00
    vtkm_curv3d_070.000.00
    vtkm_curv3d_080.000.00
    vtkm_curv3d_090.000.00
    vtkm_curv3d_100.000.00
    vtkm_ucd2d_010.000.00
    vtkm_ucd2d_020.000.00
    vtkm_ucd3d_010.000.00
    vtkm_ucd3d_01a0.000.00
    vtkm_ucd3d_020.000.00
    vtkm_ucd3d_030.000.00
    vtkm_ucd3d_040.000.00
    vtkm_ucd3d_050.000.00
    vtkm_ucd3d_060.000.00
    vtkm_ucd3d_070.000.00
    vtkm_ucd3d_080.000.00
    vtkm_globe_010.000.00
    vtkm_globe_020.000.00
    vtkm_globe_030.000.00
    vtkm_globe_040.000.00
    vtkm_globe_050.000.00
    vtkm_globe_060.000.00
    vtkm_globe_070.000.00
    vtkm_globe_080.000.00
    vtkm_globe_090.000.00
    vtkm_globe_100.000.00
    vtkm_globe_110.000.00
    vtkm_multi_ucd3d_010.000.00
    vtkm_multi_ucd3d_020.000.00
    vtkm_multi_ucd3d_030.000.00
    vtkm_multi_ucd3d_040.000.00
    vtkm_multi_ucd3d_050.000.00
    vtkm_multi_ucd3d_060.000.00
    vtkm_multi_ucd3d_070.000.00
    vtkm_multi_ucd3d_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_vtkm_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_vtkm_py.html new file mode 100644 index 000000000..7421ae946 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/hybrid_vtkm_py.html @@ -0,0 +1,779 @@ +hybrid/vtkm.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  vtkm.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#                          3D curvilinear, single domain
    +#                          3D unstructured, single domain
    +#                          3D unstructured, multi domain
    +#              plots     - Contour, Pseudocolor
    +#              operators - Isosurface, Isovolume, Slice, Threshold
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Wed Sep 19 12:18:14 PDT 2018
    +#
    +#  Modifications:
    +#    James Kress, Tue Oct  5 14:00:28 PST 2021
    +#    Adding additional threshold tests.
    +#
    +#    Eric Brugger, Fri Feb 24 14:57:15 PST 2023
    +#    Added additional tests.
    +#
    +# ----------------------------------------------------------------------------
    +
    +SetBackendType("vtkm")
    +
    +#
    +# Test a 2d rectilinear mesh.
    +#
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +Test("vtkm_rect2d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_rect2d_02")
    +
    +#
    +# Test a 3d rectilinear mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.4854, 0.3984, 0.7782)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.1209, 0.9122, -0.3916)
    +v.parallelScale = 0.8660
    +v.nearPlane = -1.7321
    +v.farPlane = 1.7321
    +SetView3D(v)
    +
    +Test("vtkm_rect3d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_rect3d_01a")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0.5, 0.5, 0.5)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0.5, 0.5, 0.5)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (0.2)
    +ThresholdAtts.upperBounds = (0.59)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (-0.2)
    +ThresholdAtts.upperBounds = (0.39)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_07")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (-0.2)
    +ThresholdAtts.upperBounds = (0.39)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_08")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -0.2
    +IsovolumeAtts.ubound = 0.39
    +IsovolumeAtts.variable = "u"
    +SetOperatorOptions(IsovolumeAtts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_09")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -0.2
    +IsovolumeAtts.ubound = 0.39
    +IsovolumeAtts.variable = "default"
    +SetOperatorOptions(IsovolumeAtts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_10")
    +
    +#
    +# Test a 2d curvilinear mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +Test("vtkm_curv2d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_curv2d_02")
    +
    +#
    +# Test a 3d curvilinear mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.4854, 0.3984, 0.7782)
    +v.focus = (0., 2.5, 15.)
    +v.viewUp = (-0.1209, 0.9122, -0.3916)
    +v.parallelScale = 16.0078
    +v.nearPlane = -32.0156
    +v.farPlane = 32.0156
    +SetView3D(v)
    +
    +Test("vtkm_curv3d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_curv3d_01a")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 15.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 15.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (1)
    +ThresholdAtts.upperBounds = (3)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (-0.5)
    +ThresholdAtts.upperBounds = (0.5)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_07")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (-0.5)
    +ThresholdAtts.upperBounds = (0.5)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_08")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -0.5
    +IsovolumeAtts.ubound = 0.5
    +IsovolumeAtts.variable = "u"
    +SetOperatorOptions(IsovolumeAtts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_09")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -0.5
    +IsovolumeAtts.ubound = 0.5
    +IsovolumeAtts.variable = "default"
    +SetOperatorOptions(IsovolumeAtts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_10")
    +
    +#
    +# Test a 2d unstructured mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +Test("vtkm_ucd2d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_ucd2d_02")
    +
    +#
    +# Test a 3d unstructured mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("ucd3d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.4854, 0.3984, 0.7782)
    +v.focus = (0., 2.5, 10.)
    +v.viewUp = (-0.1209, 0.9122, -0.3916)
    +v.parallelScale = 11.4564
    +v.nearPlane = -22.9129
    +v.farPlane = 22.9129
    +SetView3D(v)
    +
    +Test("vtkm_ucd3d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_01a")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 10.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 10.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (2.5)
    +ThresholdAtts.upperBounds = (4.0)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (0.8)
    +ThresholdAtts.upperBounds = (0.95)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_07")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (0.8)
    +ThresholdAtts.upperBounds = (0.95)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_08")
    +
    +#
    +# Test 3d unstructured with zoo elements.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (-0.3057, 0.7186, 0.6247)
    +v.focus = (0., 0., 0.)
    +v.viewUp = (0.5003, 0.6794, -0.5367)
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +SetView3D(v)
    +
    +Test("vtkm_globe_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "dx")
    +DrawPlots()
    +
    +Test("vtkm_globe_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "v")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 0., 0.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "dx")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 0., 0.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "dx")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "dx")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (-2.0)
    +ThresholdAtts.upperBounds = (2.0)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_globe_07")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (-5.0)
    +ThresholdAtts.upperBounds = (5.0)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_globe_08")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (-5.0)
    +ThresholdAtts.upperBounds = (5.0)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_globe_09")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "dx")
    +AddOperator("Isovolume")
    +atts = IsovolumeAttributes()
    +atts.lbound = -5.0
    +atts.ubound = 5.0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_10")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isovolume")
    +atts = IsovolumeAttributes()
    +atts.lbound = -5.0
    +atts.ubound = 5.0
    +atts.variable = "default"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_11")
    +
    +#
    +# Test a multi-domain unstructured mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.4854, 0.3984, 0.7782)
    +v.focus = (0., 2.5, 10.)
    +v.viewUp = (-0.1209, 0.9122, -0.3916)
    +v.parallelScale = 11.4564
    +v.nearPlane = -22.9129
    +v.farPlane = 22.9129
    +SetView3D(v)
    +
    +Test("vtkm_multi_ucd3d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 10.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 10.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (2.5)
    +ThresholdAtts.upperBounds = (4.0)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (0.995)
    +ThresholdAtts.upperBounds = (0.9985)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_07")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (0.995)
    +ThresholdAtts.upperBounds = (0.9985)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/index.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/index.html new file mode 100644 index 000000000..18a8cd0e7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/index.html @@ -0,0 +1,2416 @@ + + + + + VisIt Regression Results ( pascal,trunk,scalable,parallel,icet ) - 2023:11:09:01:55:54 + + + + + + + + + + +

    Results of VisIt Regression Test ( pascal,trunk,scalable,parallel,icet )

    +Test suite run started at 2023:11:09:01:55:54.
    +(Click on table header to sort) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    IndexCategory Test File Status Runtime (sec)
    0databasesANSYS.pySucceeded With Skips15
    1databasesCGNS.pySucceeded With Skips25
    43databasessilo.pyAcceptable With Skips53
    2databasesCale.pySucceeded8
    3databasesFITS.pySucceeded10
    44databasessilo_altdriver.pyAcceptable50
    45databasessilo_datatypes.pySucceeded28
    46databasessinglemulti.pySucceeded9
    47databasessw4.pySucceeded11
    48databasestimesliders.pySucceeded11
    4databasesFMS.pySucceeded131
    49databasesuintah.pySucceeded9
    5databasesGDAL.pyDatabase plugin requirements not met6
    50databasesunv.pySucceeded With Skips20
    6databasesRAW.pySucceeded8
    7databasesSPCTH.pySucceeded7
    51databasesvtk.pyAcceptable24
    8databasesWData.pySucceeded8
    9databasesXmdv.pySucceeded8
    52databasesxdmf.pyAcceptable17
    53databasesxyz.pySucceeded10
    10databasesbov.pyAcceptable With Skips32
    54databasesANALYZE.pySucceeded10
    11databasesclaw.pySucceeded9
    55databasesChombo.pyAcceptable10
    12databasescurve.pyAcceptable7
    56databasesFluent.pySucceeded8
    57databasesNASTRAN.pySucceeded With Skips23
    13databasesddcMD.pyAcceptable29
    14databasesdiff.pySkipped(skipped)
    15databasesffp.pySucceeded9
    58databasesOpenFOAM.pySucceeded21
    16databasesflash.pySucceeded6
    59databasesPATRAN.pySucceeded With Skips14
    17databasesimage.pySucceeded7
    18databaseslata.pyAcceptable14
    19databasesleos.pyAcceptable18
    20databaseslines.pySucceeded8
    60databasesPLOT3D.pySucceeded76
    21databasesmetadata.pySucceeded14
    61databasesProteinDataBank.pySucceeded19
    62databasesVelodyne.pySucceeded9
    63databasesXolotl.pySucceeded9
    64databasesactivesource.pySucceeded8
    65databasesadios2.pySucceeded8
    66databasesavsucd.pySucceeded8
    67databasesboxlib.pyAcceptable With Skips11
    68databasesblueprint_export.pyAcceptable88
    69databaseschgcar.pyAcceptable13
    70databasesclosedatabase.pySucceeded8
    71databasescorrelation.pySucceeded24
    72databasesempty_db.pySucceeded7
    73databasesexodus.pyAcceptable With Skips17
    74databasesexport_db.pyAcceptable86
    22databasesmfem.pyAcceptable456
    75databasesglobal_node_ids.pySucceeded12
    76databasesh5part.pySucceeded8
    23databasesmili.pySucceeded24
    77databaseshistory.pySucceeded7
    24databasesmiranda.pySucceeded13
    78databasesimgvol.pySucceeded8
    79databaseskulllite.pyAcceptable9
    25databasesmoab.pyAcceptable16
    80databaseswave_tv.pySucceeded8
    26databasesmulti_format.pySucceeded7
    81databasesxform_precision.pySucceeded8
    82databaseszipwrapper.pySkipped(skipped)
    27databasesmulti_format2.pySucceeded7
    28databasesnetcdf.pyAcceptable18
    83databasesblueprint_axom_klee.pySucceeded28
    29databasesobj.pySucceeded9
    84databasesEnSight.pySucceeded10
    30databasesoldsilo.pyAcceptable7
    85databasestecplot.pyAcceptable15
    31databasesopenPMD.pyAcceptable7
    32databasesopenexr.pySucceeded9
    33databasesoverlink.pySucceeded10
    34databasespdbdatabase.pySucceeded38
    35databasespixie.pyAcceptable With Skips11
    36databasesplaintext.pySucceeded8
    86databasesblueprint.pyAcceptable With Skips130
    37databasesrect.pyAcceptable8
    87expressionsghost_zoneid_expr.pySucceeded7
    38databasesreopen.pySucceeded13
    88expressionstensor_expr.pySucceeded11
    39databasessami.pySucceeded8
    89faulttolerancebadfile.pySucceeded6
    90faulttolerancecheckmode.pySucceeded6
    40databasessamrai.pySucceeded18
    91faulttolerancesavewindow.pySucceeded11
    41databasesscale_mesh.pySucceeded7
    92hybridddf.pyAcceptable9
    42databasesshapefile.pyAcceptable18
    93hybridlocus.pyNot Applicable5
    94hybridmatvf.pySucceeded12
    129hybridlineout.pyAcceptable With Skips28
    95hybridmir.pySucceeded15
    96hybridmovie.pySkipped(skipped)
    130hybridlocktime.pySucceeded8
    97hybridqcrit.pySucceeded8
    131hybridmath_expr.pySucceeded7
    98hybridsil.pySucceeded8
    132hybridmatsel.pySucceeded7
    99hybridsimplify_mixed.pyAcceptable9
    133hybridmerge_tree.pySucceeded11
    100hybridspecmf.pySucceeded7
    134hybridmesh_quality.pyAcceptable9
    101hybridsymm.pySucceeded10
    135hybridmir_cache.pySucceeded7
    102hybridtime_cmfe.pySucceeded9
    136hybridmissingdata.pyAcceptable With Skips10
    103hybridtime_deriv_cmfe.pySucceeded7
    137hybridmultivar.pySucceeded7
    104hybridtime_iteration.pySucceeded9
    138hybridpos_cmfe.pySucceeded11
    105hybridval4mat.pySucceeded7
    139hybridpy_exprs.pySucceeded9
    140hybridreplace.pySucceeded9
    141hybridselections.pySkipped(skipped)
    142hybridselections_pp.pySkipped(skipped)
    106hybridvtkm.pySucceeded20
    107hybridtimelock.pySucceeded16
    143meshtypecsg.pyAcceptable28
    144meshtypeglobe.pySucceeded9
    108hybridcinema-a.pySucceeded28
    145meshtypepoint.pyAcceptable9
    146meshtypearbpoly.pySucceeded9
    147meshtypedegen_mesh.pySucceeded12
    109hybridcinema-c.pySucceeded55
    148meshtypeemptydomains.pySucceeded9
    110hybridcleanzonesonly.pySucceeded8
    111hybridclonecopy.pySkipped(skipped)
    149meshtyperect3d.pyAcceptable With Skips7
    112hybridclonefirstref.pySucceeded7
    150operatorsbox.pySucceeded8
    113hybridconditional.pySucceeded8
    151operatorsclip.pySucceeded11
    114hybridconn_cmfe.pySucceeded9
    115hybridcoord_expr.pySucceeded9
    116hybridcurve_anim.pyAcceptable8
    117hybridcurve_expressions.pySucceeded8
    118hybridcylindrical_radius.pySucceeded11
    119hybriddefvar_anim.pySucceeded7
    120hybridexpr2engine.pySucceeded7
    121hybridexprList.pySucceeded7
    122hybridexpr_cmfe.pySucceeded8
    123hybridexpressions.pySucceeded20
    124hybridfield_operators.pySucceeded13
    125hybridghost_node.pySucceeded With Skips7
    126hybridimage_proc.pySucceeded8
    127hybridkeyframe.pySucceeded27
    152operatorslcs.pyAcceptable282
    128hybridlambda2.pySucceeded8
    153operatorsremap.pySucceeded71
    154operatorsslice.pySucceeded18
    155operatorstube.pySucceeded8
    156operatorsamr_stitch.pySucceeded9
    157operatorscart_proj.pySucceeded With Skips8
    172operatorslcs_ic_1.pySucceeded144
    173operatorslcs_ic_2.pySkipped(skipped)
    158operatorscracksclipper.pySucceeded9
    159operatorsdefer_expr.pySucceeded12
    160operatorsdisplace.pySucceeded10
    161operatorsdual_mesh.pyAcceptable With Skips10
    162operatorselevate.pySucceeded11
    163operatorsex_surf.pySucceeded8
    164operatorsexplode.pyAcceptable25
    174operatorslcs_lc_1.pySucceeded143
    175operatorslcs_lc_2.pySkipped(skipped)
    165operatorsic_integration.pyAcceptable11
    176operatorsmoveoperators.pyAcceptable With Skips11
    166operatorsic_pathlines.pySucceeded8
    177operatorsmultires.pySucceeded7
    178operatorsonionpeel.pySucceeded32
    179operatorsoperators.pySucceeded9
    180operatorspersistent_particles.pySucceeded14
    167operatorsic_pics.pySucceeded89
    181operatorsradial_resample.pySucceeded8
    168operatorsic_termination.pySucceeded8
    182operatorsresample.pyAcceptable8
    169operatorsindexselect.pySucceeded16
    183operatorsrevolve.pySucceeded7
    184operatorssph_resample.pyAcceptable7
    170operatorsinverse_ghost_zone.pyAcceptable8
    171operatorsisovolume.pySucceeded10
    185operatorstessellate.pyAcceptable13
    186operatorsthreeslice.pySucceeded7
    187operatorsthreshold.pySucceeded11
    188operatorstransform.pyAcceptable With Skips10
    215queriespick.pySucceeded With Skips78
    189operatorsextrudeStacked.pySucceeded17
    216queriesscf.pySucceeded10
    217queriesIntegralCurveInfo.pySkipped(skipped)
    190operatorsic_geometry.pyAcceptable21
    218queriesavg_value.pySucceeded With Skips9
    219queriesbestfitline.pyAcceptable14
    220queriescasetest.pySucceeded7
    191operatorsic_streamlines.pyAcceptable51
    221queriescentroid.pySucceeded8
    192operatorsreflect.pyAcceptable With Skips13
    222queriesconncomp.pySucceeded10
    223queriesconsistencyChecks.pySucceeded9
    193plotscurve.pyAcceptable14
    224queriescurvature.pySucceeded7
    225queriesdatabase.pySucceeded27
    226queriesflatten.pySucceeded79
    227queriesgridinformation.pySucceeded8
    194plotslabel.pyAcceptable177
    228querieshohlraum.pyAcceptable20
    229querieskurtosis.pySucceeded8
    195plotsmesh.pyAcceptable15
    196plotscontour.pySucceeded With Skips14
    197plotsfilledboundary.pySucceeded With Skips9
    230queriesl2norm.pySucceeded40
    231querieslength.pySucceeded9
    198plotsmesh_c.pyAcceptable15
    199plotsmolecule.pySucceeded12
    200plotsmulticolor.pySucceeded With Skips13
    232queriesline_scan.pyAcceptable56
    201plotsparcoords.pySucceeded11
    233queriespickNamedArgs.pySucceeded13
    202plotspseudocolor.pySucceeded With Skips21
    234queriespickarray.pyAcceptable8
    203plotsray_trace.pyAcceptable11
    235queriespickcleanzonesonly.pySucceeded6
    236queriespy_queries.pySucceeded8
    204plotsscatter.pyAcceptable14
    205plotssinglecolor.pySucceeded With Skips8
    206plotssubset.pyAcceptable11
    207plotssurface.pySucceeded10
    208plotstensor.pySucceeded12
    209plotstruecolor.pySucceeded7
    237queriesqueriesOverTime.pySucceeded95
    210plotsvector.pyAcceptable11
    238queriesqueryMultiWindow.pySucceeded9
    239queriesrevolved_surface_area.pySucceeded8
    211plotsvolumePlot.pySucceeded With Skips15
    240queriessurface_area_over_time.pySucceeded69
    212pluginsdatabasesVsInstall.pyUnacceptable75
    241queriesvariable_sum_volume.pySucceeded8
    242querieswatertight.pySucceeded7
    243querieserror_queries.pySucceeded7
    213pluginsoperatorsVsInstall.pyUnacceptable37
    214pluginsplotsVsInstall.pyUnacceptable33
    258renderingimage.pySucceeded7
    259renderingview.pyAcceptable25
    260renderingannotation.pySucceeded13
    261renderingaxislabels.pySucceeded9
    262renderingaxistitles.pySucceeded9
    263renderingbigdata.pySucceeded With Skips8
    244queriesxrayimage.pyAcceptable With Skips186
    264renderingcolortexture.pySucceeded7
    245quickrecipesview.pySucceeded8
    265renderingcompositing.pySucceeded With Skips7
    246quickrecipescl_args.pySucceeded5
    266renderingevalcubic.pySucceeded8
    247quickrecipescolortables.pySucceeded7
    248quickrecipesexpressions.pySucceeded7
    249quickrecipeshow_to_start.pySkipped(skipped)
    250quickrecipesopening_compute_engine.pySkipped(skipped)
    267renderinglegends.pySucceeded With Skips19
    268renderinglighting.pySucceeded8
    251quickrecipesoperators.pySucceeded18
    269renderingline2d.pySucceeded11
    252quickrecipessaving_images.pySucceeded6
    253quickrecipessubsetting.pySucceeded8
    270renderingline3d.pySucceeded With Skips9
    271renderingospray.pySkipped(skipped)
    254quickrecipesworking_with_annotations.pySucceeded7
    272renderingpixeldata.pySucceeded With Skips14
    255quickrecipesworking_with_dbs.pySucceeded7
    256quickrecipesworking_with_plots.pySucceeded10
    273renderingrenderpoints.pySucceeded22
    274renderingsaveformats.pySucceeded12
    257quickrecipesquantitative_operations.pySucceeded21
    275renderingscalable2.pySucceeded11
    301simulationcsg.pySucceeded31
    276renderingscalable_c.pySucceeded31
    302simulationcurve.pySucceeded With Skips9
    277renderingshadows.pySucceeded7
    303simulationlife.pySucceeded With Skips9
    278renderingspecular.pySucceeded8
    304simulationmesh.pySucceeded10
    279renderingtext2d.pySucceeded8
    305simulationpoint.pySucceeded9
    280renderingtext3d.pyAcceptable9
    306simulationvar.pyAcceptable9
    281renderingtimeslider.pySucceeded10
    282renderingtransparency.pySkipped(skipped)
    307simulationaresamr.pySucceeded9
    283renderingviewChange.pySucceeded14
    308simulationdomainbounds.pySucceeded9
    284renderingvolume.pySucceeded With Skips8
    309simulationdomainlist.pySucceeded15
    310simulationghostcells.pySucceeded13
    285renderingscalable.pySucceeded31
    311simulationglobalids.pySucceeded18
    286renderingoffscreensave.pySucceeded28
    312simulationinterleave.pySucceeded13
    287sessioncolortable.pySucceeded7
    288sessioncorrelationsession.pySucceeded With Skips9
    313simulationmandelbrot.pySucceeded26
    289sessionlegendproperties.pySucceeded With Skips7
    314simulationmaterial.pySucceeded9
    290sessionrect3d-contour.pySucceeded With Skips6
    315simulationmaterialvar.pyAcceptable10
    291sessionrestorewithsources.pySucceeded7
    316simulationmultiblock.pyAcceptable9
    292sessionselection.pySucceeded7
    317simulationpolyhedral.pySucceeded9
    293sessionsessionexpression.pySucceeded7
    318simulationscalar.pyAcceptable9
    294sessionsessionview.pySucceeded13
    295sessionsimplekeyframe.pySkipped(skipped)
    319simulationspecies.pySucceeded10
    296sessiontextannot.pySucceeded7
    297sessionview3d.pySucceeded6
    320simulationucdcurve.pySucceeded24
    298sessionwavecontour.pySucceeded7
    321simulationunstructured.pySucceeded8
    299simulationamr.pyAcceptable9
    322simulationupdateplots.pySucceeded11
    300simulationbatch.pySucceeded34
    323simulationupdateplots_session.pySucceeded52
    324simulationzerocopy.pySucceeded With Skips30
    325unitannotation_objects.pySucceeded5
    326unitatts_assign.pySucceeded10
    327unitcompiler_warnings.pySkipped(skipped)
    328unitconvert2to3.pySucceeded6
    329unitdefault_methods.pySucceeded6
    330unitlauncher.pySucceeded18
    331unitmrucache.pySucceeded6
    332unitnamescheme.pySucceeded5
    333unitprotocol.pySucceeded6
    334unitstringhelpers.pySucceeded5
    335unittest_value_simple.pySucceeded6
    336unitutility.pySucceeded5
    +Test suite run complete at 2023:11:09:03:19:22 (5009 seconds). + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/js/jquery-3.6.1.min.js b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/js/jquery-3.6.1.min.js new file mode 100644 index 000000000..2c69bc908 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/js/jquery-3.6.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 1) { + arr = arr.concat(checkCellColSpan(table, headerArr, row++)); + } else { + if (table.tHead.length == 1 || (cell.rowSpan > 1 || !r[row + 1])) { + arr.push(cell); + } + // headerArr[row] = (i+row); + } + } + return arr; + }; + + function checkHeaderMetadata(cell) { + if (($.metadata) && ($(cell).metadata().sorter === false)) { + return true; + }; + return false; + } + + function checkHeaderOptions(table, i) { + if ((table.config.headers[i]) && (table.config.headers[i].sorter === false)) { + return true; + }; + return false; + } + + function checkHeaderOptionsSortingLocked(table, i) { + if ((table.config.headers[i]) && (table.config.headers[i].lockedOrder)) return table.config.headers[i].lockedOrder; + return false; + } + + function applyWidget(table) { + var c = table.config.widgets; + var l = c.length; + for (var i = 0; i < l; i++) { + + getWidgetById(c[i]).format(table); + } + + } + + function getWidgetById(name) { + var l = widgets.length; + for (var i = 0; i < l; i++) { + if (widgets[i].id.toLowerCase() == name.toLowerCase()) { + return widgets[i]; + } + } + }; + + function formatSortingOrder(v) { + if (typeof(v) != "Number") { + return (v.toLowerCase() == "desc") ? 1 : 0; + } else { + return (v == 1) ? 1 : 0; + } + } + + function isValueInArray(v, a) { + var l = a.length; + for (var i = 0; i < l; i++) { + if (a[i][0] == v) { + return true; + } + } + return false; + } + + function setHeadersCss(table, $headers, list, css) { + // remove all header information + $headers.removeClass(css[0]).removeClass(css[1]); + + var h = []; + $headers.each(function (offset) { + if (!this.sortDisabled) { + h[this.column] = $(this); + } + }); + + var l = list.length; + for (var i = 0; i < l; i++) { + h[list[i][0]].addClass(css[list[i][1]]); + } + } + + function fixColumnWidth(table, $headers) { + var c = table.config; + if (c.widthFixed) { + var colgroup = $(''); + $("tr:first td", table.tBodies[0]).each(function () { + colgroup.append($('').css('width', $(this).width())); + }); + $(table).prepend(colgroup); + }; + } + + function updateHeaderSortCount(table, sortList) { + var c = table.config, + l = sortList.length; + for (var i = 0; i < l; i++) { + var s = sortList[i], + o = c.headerList[s[0]]; + o.count = s[1]; + o.count++; + } + } + + /* sorting methods */ + + var sortWrapper; + + function multisort(table, sortList, cache) { + + if (table.config.debug) { + var sortTime = new Date(); + } + + var dynamicExp = "sortWrapper = function(a,b) {", + l = sortList.length; + + // TODO: inline functions. + for (var i = 0; i < l; i++) { + + var c = sortList[i][0]; + var order = sortList[i][1]; + // var s = (getCachedSortType(table.config.parsers,c) == "text") ? + // ((order == 0) ? "sortText" : "sortTextDesc") : ((order == 0) ? + // "sortNumeric" : "sortNumericDesc"); + // var s = (table.config.parsers[c].type == "text") ? ((order == 0) + // ? makeSortText(c) : makeSortTextDesc(c)) : ((order == 0) ? + // makeSortNumeric(c) : makeSortNumericDesc(c)); + var s = (table.config.parsers[c].type == "text") ? ((order == 0) ? makeSortFunction("text", "asc", c) : makeSortFunction("text", "desc", c)) : ((order == 0) ? makeSortFunction("numeric", "asc", c) : makeSortFunction("numeric", "desc", c)); + var e = "e" + i; + + dynamicExp += "var " + e + " = " + s; // + "(a[" + c + "],b[" + c + // + "]); "; + dynamicExp += "if(" + e + ") { return " + e + "; } "; + dynamicExp += "else { "; + + } + + // if value is the same keep orignal order + var orgOrderCol = cache.normalized[0].length - 1; + dynamicExp += "return a[" + orgOrderCol + "]-b[" + orgOrderCol + "];"; + + for (var i = 0; i < l; i++) { + dynamicExp += "}; "; + } + + dynamicExp += "return 0; "; + dynamicExp += "}; "; + + if (table.config.debug) { + benchmark("Evaling expression:" + dynamicExp, new Date()); + } + + eval(dynamicExp); + + cache.normalized.sort(sortWrapper); + + if (table.config.debug) { + benchmark("Sorting on " + sortList.toString() + " and dir " + order + " time:", sortTime); + } + + return cache; + }; + + function makeSortFunction(type, direction, index) { + var a = "a[" + index + "]", + b = "b[" + index + "]"; + if (type == 'text' && direction == 'asc') { + return "(" + a + " == " + b + " ? 0 : (" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : (" + a + " < " + b + ") ? -1 : 1 )));"; + } else if (type == 'text' && direction == 'desc') { + return "(" + a + " == " + b + " ? 0 : (" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : (" + b + " < " + a + ") ? -1 : 1 )));"; + } else if (type == 'numeric' && direction == 'asc') { + return "(" + a + " === null && " + b + " === null) ? 0 :(" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : " + a + " - " + b + "));"; + } else if (type == 'numeric' && direction == 'desc') { + return "(" + a + " === null && " + b + " === null) ? 0 :(" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : " + b + " - " + a + "));"; + } + }; + + function makeSortText(i) { + return "((a[" + i + "] < b[" + i + "]) ? -1 : ((a[" + i + "] > b[" + i + "]) ? 1 : 0));"; + }; + + function makeSortTextDesc(i) { + return "((b[" + i + "] < a[" + i + "]) ? -1 : ((b[" + i + "] > a[" + i + "]) ? 1 : 0));"; + }; + + function makeSortNumeric(i) { + return "a[" + i + "]-b[" + i + "];"; + }; + + function makeSortNumericDesc(i) { + return "b[" + i + "]-a[" + i + "];"; + }; + + function sortText(a, b) { + if (table.config.sortLocaleCompare) return a.localeCompare(b); + return ((a < b) ? -1 : ((a > b) ? 1 : 0)); + }; + + function sortTextDesc(a, b) { + if (table.config.sortLocaleCompare) return b.localeCompare(a); + return ((b < a) ? -1 : ((b > a) ? 1 : 0)); + }; + + function sortNumeric(a, b) { + return a - b; + }; + + function sortNumericDesc(a, b) { + return b - a; + }; + + function getCachedSortType(parsers, i) { + return parsers[i].type; + }; /* public methods */ + this.construct = function (settings) { + return this.each(function () { + // if no thead or tbody quit. + if (!this.tHead || !this.tBodies) return; + // declare + var $this, $document, $headers, cache, config, shiftDown = 0, + sortOrder; + // new blank config object + this.config = {}; + // merge and extend. + config = $.extend(this.config, $.tablesorter.defaults, settings); + // store common expression for speed + $this = $(this); + // save the settings where they read + $.data(this, "tablesorter", config); + // build headers + $headers = buildHeaders(this); + // try to auto detect column type, and store in tables config + this.config.parsers = buildParserCache(this, $headers); + // build the cache for the tbody cells + cache = buildCache(this); + // get the css class names, could be done else where. + var sortCSS = [config.cssDesc, config.cssAsc]; + // fixate columns if the users supplies the fixedWidth option + fixColumnWidth(this); + // apply event handling to headers + // this is to big, perhaps break it out? + $headers.click( + + function (e) { + var totalRows = ($this[0].tBodies[0] && $this[0].tBodies[0].rows.length) || 0; + if (!this.sortDisabled && totalRows > 0) { + // Only call sortStart if sorting is + // enabled. + $this.trigger("sortStart"); + // store exp, for speed + var $cell = $(this); + // get current column index + var i = this.column; + // get current column sort order + this.order = this.count++ % 2; + // always sort on the locked order. + if(this.lockedOrder) this.order = this.lockedOrder; + + // user only whants to sort on one + // column + if (!e[config.sortMultiSortKey]) { + // flush the sort list + config.sortList = []; + if (config.sortForce != null) { + var a = config.sortForce; + for (var j = 0; j < a.length; j++) { + if (a[j][0] != i) { + config.sortList.push(a[j]); + } + } + } + // add column to sort list + config.sortList.push([i, this.order]); + // multi column sorting + } else { + // the user has clicked on an all + // ready sortet column. + if (isValueInArray(i, config.sortList)) { + // revers the sorting direction + // for all tables. + for (var j = 0; j < config.sortList.length; j++) { + var s = config.sortList[j], + o = config.headerList[s[0]]; + if (s[0] == i) { + o.count = s[1]; + o.count++; + s[1] = o.count % 2; + } + } + } else { + // add column to sort list array + config.sortList.push([i, this.order]); + } + }; + setTimeout(function () { + // set css for headers + setHeadersCss($this[0], $headers, config.sortList, sortCSS); + appendToTable( + $this[0], multisort( + $this[0], config.sortList, cache) + ); + }, 1); + // stop normal event by returning false + return false; + } + // cancel selection + }).mousedown(function () { + if (config.cancelSelection) { + this.onselectstart = function () { + return false + }; + return false; + } + }); + // apply easy methods that trigger binded events + $this.bind("update", function () { + var me = this; + setTimeout(function () { + // rebuild parsers. + me.config.parsers = buildParserCache( + me, $headers); + // rebuild the cache map + cache = buildCache(me); + }, 1); + }).bind("updateCell", function (e, cell) { + var config = this.config; + // get position from the dom. + var pos = [(cell.parentNode.rowIndex - 1), cell.cellIndex]; + // update cache + cache.normalized[pos[0]][pos[1]] = config.parsers[pos[1]].format( + getElementText(config, cell), cell); + }).bind("sorton", function (e, list) { + $(this).trigger("sortStart"); + config.sortList = list; + // update and store the sortlist + var sortList = config.sortList; + // update header count index + updateHeaderSortCount(this, sortList); + // set css for headers + setHeadersCss(this, $headers, sortList, sortCSS); + // sort the table and append it to the dom + appendToTable(this, multisort(this, sortList, cache)); + }).bind("appendCache", function () { + appendToTable(this, cache); + }).bind("applyWidgetId", function (e, id) { + getWidgetById(id).format(this); + }).bind("applyWidgets", function () { + // apply widgets + applyWidget(this); + }); + if ($.metadata && ($(this).metadata() && $(this).metadata().sortlist)) { + config.sortList = $(this).metadata().sortlist; + } + // if user has supplied a sort list to constructor. + if (config.sortList.length > 0) { + $this.trigger("sorton", [config.sortList]); + } + // apply widgets + applyWidget(this); + }); + }; + this.addParser = function (parser) { + var l = parsers.length, + a = true; + for (var i = 0; i < l; i++) { + if (parsers[i].id.toLowerCase() == parser.id.toLowerCase()) { + a = false; + } + } + if (a) { + parsers.push(parser); + }; + }; + this.addWidget = function (widget) { + widgets.push(widget); + }; + this.formatFloat = function (s) { + var i = parseFloat(s); + return (isNaN(i)) ? 0 : i; + }; + this.formatInt = function (s) { + var i = parseInt(s); + return (isNaN(i)) ? 0 : i; + }; + this.isDigit = function (s, config) { + // replace all an wanted chars and match. + return /^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g, ''))); + }; + this.clearTableBody = function (table) { + if ($.browser.msie) { + while (table.tBodies[0].firstChild) { + table.tBodies[0].removeChild(table.tBodies[0].firstChild); + } + } else { + table.tBodies[0].innerHTML = ""; + } + }; + } + }); + + // extend plugin scope + $.fn.extend({ + tablesorter: $.tablesorter.construct + }); + + // make shortcut + var ts = $.tablesorter; + + // add default parsers + ts.addParser({ + id: "text", + is: function (s) { + return true; + }, format: function (s) { + return $.trim(s.toLocaleLowerCase()); + }, type: "text" + }); + + ts.addParser({ + id: "digit", + is: function (s, table) { + var c = table.config; + return $.tablesorter.isDigit(s, c); + }, format: function (s) { + return $.tablesorter.formatFloat(s); + }, type: "numeric" + }); + + ts.addParser({ + id: "currency", + is: function (s) { + return /^[£$€?.]/.test(s); + }, format: function (s) { + return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g), "")); + }, type: "numeric" + }); + + ts.addParser({ + id: "ipAddress", + is: function (s) { + return /^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s); + }, format: function (s) { + var a = s.split("."), + r = "", + l = a.length; + for (var i = 0; i < l; i++) { + var item = a[i]; + if (item.length == 2) { + r += "0" + item; + } else { + r += item; + } + } + return $.tablesorter.formatFloat(r); + }, type: "numeric" + }); + + ts.addParser({ + id: "url", + is: function (s) { + return /^(https?|ftp|file):\/\/$/.test(s); + }, format: function (s) { + return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//), '')); + }, type: "text" + }); + + ts.addParser({ + id: "isoDate", + is: function (s) { + return /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s); + }, format: function (s) { + return $.tablesorter.formatFloat((s != "") ? new Date(s.replace( + new RegExp(/-/g), "/")).getTime() : "0"); + }, type: "numeric" + }); + + ts.addParser({ + id: "percent", + is: function (s) { + return /\%$/.test($.trim(s)); + }, format: function (s) { + return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g), "")); + }, type: "numeric" + }); + + ts.addParser({ + id: "usLongDate", + is: function (s) { + return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/)); + }, format: function (s) { + return $.tablesorter.formatFloat(new Date(s).getTime()); + }, type: "numeric" + }); + + ts.addParser({ + id: "shortDate", + is: function (s) { + return /\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s); + }, format: function (s, table) { + var c = table.config; + s = s.replace(/\-/g, "/"); + if (c.dateFormat == "us") { + // reformat the string in ISO format + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$1/$2"); + } + if (c.dateFormat == "pt") { + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1"); + } else if (c.dateFormat == "uk") { + // reformat the string in ISO format + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1"); + } else if (c.dateFormat == "dd/mm/yy" || c.dateFormat == "dd-mm-yy") { + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/, "$1/$2/$3"); + } + return $.tablesorter.formatFloat(new Date(s).getTime()); + }, type: "numeric" + }); + ts.addParser({ + id: "time", + is: function (s) { + return /^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s); + }, format: function (s) { + return $.tablesorter.formatFloat(new Date("2000/01/01 " + s).getTime()); + }, type: "numeric" + }); + ts.addParser({ + id: "metadata", + is: function (s) { + return false; + }, format: function (s, table, cell) { + var c = table.config, + p = (!c.parserMetadataName) ? 'sortValue' : c.parserMetadataName; + return $(cell).metadata()[p]; + }, type: "numeric" + }); + // add default widgets + ts.addWidget({ + id: "zebra", + format: function (table) { + if (table.config.debug) { + var time = new Date(); + } + var $tr, row = -1, + odd; + // loop through the visible rows + $("tr:visible", table.tBodies[0]).each(function (i) { + $tr = $(this); + // style children rows the same way the parent + // row was styled + if (!$tr.hasClass(table.config.cssChildRow)) row++; + odd = (row % 2 == 0); + $tr.removeClass( + table.config.widgetZebra.css[odd ? 0 : 1]).addClass( + table.config.widgetZebra.css[odd ? 1 : 0]) + }); + if (table.config.debug) { + $.tablesorter.benchmark("Applying Zebra widget", time); + } + } + }); +})(jQuery); diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/js/purl.js b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/js/purl.js new file mode 100644 index 000000000..d25ca4c00 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/js/purl.js @@ -0,0 +1,271 @@ +/* + * JQuery URL Parser plugin, v2.2.1 + * Developed and maintanined by Mark Perkins, mark@allmarkedup.com + * Source repository: https://github.com/allmarkedup/jQuery-URL-Parser + * Licensed under an MIT-style license. See https://github.com/allmarkedup/jQuery-URL-Parser/blob/master/LICENSE for details. + */ + +;(function(factory) { + if (typeof define === 'function' && define.amd) { + // AMD available; use anonymous module + if ( typeof jQuery !== 'undefined' ) { + define(['jquery'], factory); + } else { + define([], factory); + } + } else { + // No AMD available; mutate global vars + if ( typeof jQuery !== 'undefined' ) { + factory(jQuery); + } else { + factory(); + } + } +})(function($, undefined) { + + var tag2attr = { + a : 'href', + img : 'src', + form : 'action', + base : 'href', + script : 'src', + iframe : 'src', + link : 'href' + }, + + key = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'], // keys available to query + + aliases = { 'anchor' : 'fragment' }, // aliases for backwards compatability + + parser = { + strict : /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, //less intuitive, more accurate to the specs + loose : /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // more intuitive, fails on relative paths and deviates from specs + }, + + toString = Object.prototype.toString, + + isint = /^[0-9]+$/; + + function parseUri( url, strictMode ) { + var str = decodeURI( url ), + res = parser[ strictMode || false ? 'strict' : 'loose' ].exec( str ), + uri = { attr : {}, param : {}, seg : {} }, + i = 14; + + while ( i-- ) { + uri.attr[ key[i] ] = res[i] || ''; + } + + // build query and fragment parameters + uri.param['query'] = parseString(uri.attr['query']); + uri.param['fragment'] = parseString(uri.attr['fragment']); + + // split path and fragement into segments + uri.seg['path'] = uri.attr.path.replace(/^\/+|\/+$/g,'').split('/'); + uri.seg['fragment'] = uri.attr.fragment.replace(/^\/+|\/+$/g,'').split('/'); + + // compile a 'base' domain attribute + uri.attr['base'] = uri.attr.host ? (uri.attr.protocol ? uri.attr.protocol+'://'+uri.attr.host : uri.attr.host) + (uri.attr.port ? ':'+uri.attr.port : '') : ''; + + return uri; + }; + + function getAttrName( elm ) { + var tn = elm.tagName; + if ( typeof tn !== 'undefined' ) return tag2attr[tn.toLowerCase()]; + return tn; + } + + function promote(parent, key) { + if (parent[key].length == 0) return parent[key] = {}; + var t = {}; + for (var i in parent[key]) t[i] = parent[key][i]; + parent[key] = t; + return t; + } + + function parse(parts, parent, key, val) { + var part = parts.shift(); + if (!part) { + if (isArray(parent[key])) { + parent[key].push(val); + } else if ('object' == typeof parent[key]) { + parent[key] = val; + } else if ('undefined' == typeof parent[key]) { + parent[key] = val; + } else { + parent[key] = [parent[key], val]; + } + } else { + var obj = parent[key] = parent[key] || []; + if (']' == part) { + if (isArray(obj)) { + if ('' != val) obj.push(val); + } else if ('object' == typeof obj) { + obj[keys(obj).length] = val; + } else { + obj = parent[key] = [parent[key], val]; + } + } else if (~part.indexOf(']')) { + part = part.substr(0, part.length - 1); + if (!isint.test(part) && isArray(obj)) obj = promote(parent, key); + parse(parts, obj, part, val); + // key + } else { + if (!isint.test(part) && isArray(obj)) obj = promote(parent, key); + parse(parts, obj, part, val); + } + } + } + + function merge(parent, key, val) { + if (~key.indexOf(']')) { + var parts = key.split('['), + len = parts.length, + last = len - 1; + parse(parts, parent, 'base', val); + } else { + if (!isint.test(key) && isArray(parent.base)) { + var t = {}; + for (var k in parent.base) t[k] = parent.base[k]; + parent.base = t; + } + set(parent.base, key, val); + } + return parent; + } + + function parseString(str) { + return reduce(String(str).split(/&|;/), function(ret, pair) { + try { + pair = decodeURIComponent(pair.replace(/\+/g, ' ')); + } catch(e) { + // ignore + } + var eql = pair.indexOf('='), + brace = lastBraceInKey(pair), + key = pair.substr(0, brace || eql), + val = pair.substr(brace || eql, pair.length), + val = val.substr(val.indexOf('=') + 1, val.length); + + if ('' == key) key = pair, val = ''; + + return merge(ret, key, val); + }, { base: {} }).base; + } + + function set(obj, key, val) { + var v = obj[key]; + if (undefined === v) { + obj[key] = val; + } else if (isArray(v)) { + v.push(val); + } else { + obj[key] = [v, val]; + } + } + + function lastBraceInKey(str) { + var len = str.length, + brace, c; + for (var i = 0; i < len; ++i) { + c = str[i]; + if (']' == c) brace = false; + if ('[' == c) brace = true; + if ('=' == c && !brace) return i; + } + } + + function reduce(obj, accumulator){ + var i = 0, + l = obj.length >> 0, + curr = arguments[2]; + while (i < l) { + if (i in obj) curr = accumulator.call(undefined, curr, obj[i], i, obj); + ++i; + } + return curr; + } + + function isArray(vArg) { + return Object.prototype.toString.call(vArg) === "[object Array]"; + } + + function keys(obj) { + var keys = []; + for ( prop in obj ) { + if ( obj.hasOwnProperty(prop) ) keys.push(prop); + } + return keys; + } + + function purl( url, strictMode ) { + if ( arguments.length === 1 && url === true ) { + strictMode = true; + url = undefined; + } + strictMode = strictMode || false; + url = url || window.location.toString(); + + return { + + data : parseUri(url, strictMode), + + // get various attributes from the URI + attr : function( attr ) { + attr = aliases[attr] || attr; + return typeof attr !== 'undefined' ? this.data.attr[attr] : this.data.attr; + }, + + // return query string parameters + param : function( param ) { + return typeof param !== 'undefined' ? this.data.param.query[param] : this.data.param.query; + }, + + // return fragment parameters + fparam : function( param ) { + return typeof param !== 'undefined' ? this.data.param.fragment[param] : this.data.param.fragment; + }, + + // return path segments + segment : function( seg ) { + if ( typeof seg === 'undefined' ) { + return this.data.seg.path; + } else { + seg = seg < 0 ? this.data.seg.path.length + seg : seg - 1; // negative segments count from the end + return this.data.seg.path[seg]; + } + }, + + // return fragment segments + fsegment : function( seg ) { + if ( typeof seg === 'undefined' ) { + return this.data.seg.fragment; + } else { + seg = seg < 0 ? this.data.seg.fragment.length + seg : seg - 1; // negative segments count from the end + return this.data.seg.fragment[seg]; + } + } + + }; + + }; + + if ( typeof $ !== 'undefined' ) { + + $.fn.url = function( strictMode ) { + var url = ''; + if ( this.length ) { + url = $(this).attr( getAttrName(this[0]) ) || ''; + } + return purl( url, strictMode ); + }; + + $.url = purl; + + } else { + window.purl = purl; + } + +}); + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_arbpoly.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_arbpoly.html new file mode 100644 index 000000000..a9b6482a3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_arbpoly.html @@ -0,0 +1,90 @@ + +Results for meshtype/arbpoly.py + +

    Results of VisIt Regression Test - meshtype/arbpoly

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    arbpoly_010.000.00
    arbpoly_020.000.00
    arbpoly_030.000.00
    arbpoly_040.000.00
    arbpoly_050.000.00
    arbpoly_060.000.00
    arbpoly_070.000.00
    arbpoly_080.000.00
    arbpoly_090.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_arbpoly_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_arbpoly_py.html new file mode 100644 index 000000000..801a934f6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_arbpoly_py.html @@ -0,0 +1,124 @@ +meshtype/arbpoly.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  arbpoly.py
    +#
    +#  Tests:      mesh      - a ucd mesh with arbitrary polyhedral zones
    +#              plots     - pc, contour, mat subset, mesh
    +#              operators - OnionPeel
    +#              selection - material
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       October 24, 2004
    +#
    +#  Modifications
    +#    Mark C. Miller, Tue Oct 20 16:30:31 PDT 2009
    +#    Added tests for fully arbitrary mesh
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Aug 26 08:55:04 PDT 2010
    +#    Update set index after SIL generation changes.
    +#
    +#    Kathleen Biagas, Wed Sep 10 14:15:44 PDT 2014
    +#    Added tests for OnionPeel'd arb poly, and a single-zone arb-poly set.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'backgroundFlag' with opaqueColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("poly3d.silo"))
    +
    +
    +AddPlot("Mesh", "ucdmesh3d")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.0356529, 0.010858, 0.999305)
    +v.SetViewUp(0.0100239, 0.999895, -0.0105068)
    +v.SetImageZoom(2.75)
    +SetView3D(v)
    +
    +Test("arbpoly_01")
    +
    +#
    +# See if we can handle a zone centered variable correctly
    +#
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("arbpoly_02")
    +
    +DeleteActivePlots()
    +
    +#
    +# See if we can handle a material correctly
    +# Turn off alternate materials.
    +AddPlot("FilledBoundary", "mat1")
    +silr=SILRestriction()
    +silr.TurnOffSet(2)
    +SetPlotSILRestriction(silr)
    +DrawPlots()
    +
    +Test("arbpoly_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("poly3d.silo"))
    +
    +
    +OpenDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
    +
    +AddPlot("Mesh","MMESH")
    +DrawPlots()
    +ma = MeshAttributes()
    +ma.opaqueColor = (0, 200, 200, 255)
    +ma.opaqueMode = ma.On
    +ma.opaqueColorSource = ma.OpaqueCustom
    +SetPlotOptions(ma)
    +ResetView()
    +Test("arbpoly_04")
    +v = GetView3D()
    +v.SetViewNormal(-0.433013, 0.5, 0.75)
    +v.SetViewUp(0.25, 0.866025, -0.433013)
    +SetView3D(v)
    +Test("arbpoly_05")
    +ma.opaqueMode = ma.Off
    +SetPlotOptions(ma)
    +
    +AddPlot("Pseudocolor","nvar0")
    +DrawPlots()
    +Test("arbpoly_06")
    +DeleteActivePlots()
    +
    +AddPlot("Pseudocolor","zvar3")
    +DrawPlots()
    +Test("arbpoly_07")
    +
    +DeleteActivePlots()
    +ma.lineWidth = 3
    +SetPlotOptions(ma)
    +AddPlot("FilledBoundary", "MMATERIAL")
    +AddPlot("Subset", "domains")
    +AddOperator("OnionPeel", 1)
    +op = OnionPeelAttributes()
    +op.index = 99
    +SetOperatorOptions(op,0,1)
    +DrawPlots()
    +Test("arbpoly_08")
    +DeleteAllPlots()
    +CloseDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
    +
    +OpenDatabase(silo_data_path("arbpoly.silo"))
    +AddPlot("Mesh", "clipped_hex")
    +ma.opaqueMode = ma.On
    +SetPlotOptions(ma)
    +DrawPlots()
    +Test("arbpoly_09")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_csg.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_csg.html new file mode 100644 index 000000000..89e5fbde3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_csg.html @@ -0,0 +1,80 @@ + +Results for meshtype/csg.py + +

    Results of VisIt Regression Test - meshtype/csg

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    csg_010.000.00
    csg_021.570.00
    csg_030.000.00
    csg_040.000.00
    csg_050.000.00
    csg_070.000.00
    csg_080.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_csg_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_csg_py.html new file mode 100644 index 000000000..51f3212a8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_csg_py.html @@ -0,0 +1,177 @@ +meshtype/csg.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  csg.py
    +#
    +#  Tests:      mesh      - a csg mesh
    +#              subset plot
    +#              selection - subset
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       August 16, 2005
    +#
    +#  Mofications:
    +#
    +#    Mark C. Miller, Sun Dec  3 12:20:11 PST 2006
    +#    Added tests for materials, variables and Matt's csg data
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Fri Apr  2 17:31:28 PDT 2010
    +#    Replaced first two tests with subset plot instead of mesh plot.
    +#    Used MultiPass instead of uniform for first test.
    +# ----------------------------------------------------------------------------
    +
    +mma=MeshManagementAttributes()
    +mma.discretizationMode = mma.Adaptive
    +mma.discretizationTolerance=(0.01, 0.25)
    +SetMeshManagementAttributes(mma)
    +OpenDatabase(silo_data_path("csg.silo"))
    +
    +
    +#
    +# the mesh named "csgmesh" uses just spheres, cylinder and plane
    +# primitives
    +#
    +AddPlot("Subset", "csgmesh")
    +DrawPlots()
    +v = GetView3D()
    +v.SetViewNormal(0.650274, -0.646958, 0.398232)
    +v.SetViewUp(-0.290226, 0.272881, 0.917227)
    +SetView3D(v)
    +Test("csg_01")
    +
    +#
    +# Change the discretization tolerance and mode
    +#
    +mma.discretizationMode = mma.MultiPass
    +mma.discretizationTolerance=(0.02, 0.25)
    +SetMeshManagementAttributes(mma)
    +ReOpenDatabase(silo_data_path("csg.silo"))
    +
    +ClearWindow()
    +DrawPlots()
    +Test("csg_02")
    +DeleteAllPlots()
    +ResetView()
    +
    +#
    +# Ok, lets try Greg Greenman's example mesh. It uses
    +# all general quadrics and planes
    +#
    +mma.discretizationTolerance=(0.005, 0.25)
    +mma.discretizationMode = mma.Adaptive
    +SetMeshManagementAttributes(mma)
    +ReOpenDatabase(silo_data_path("csg.silo"))
    +
    +AddPlot("Subset", "regions(greenman_mesh)")
    +DrawPlots()
    +v = GetView3D()
    +v.SetViewNormal(-0.496376, -0.386195, -0.777473)
    +v.SetViewUp(0.865609, -0.152286, -0.477001)
    +SetView3D(v)
    +Test("csg_03")
    +
    +#
    +# Find set ids using their names
    +#
    +voidSetId = -1
    +uraniumSetId = -1
    +airSetId = -1
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "void":
    +        voidSetId = i
    +    elif silr.SetName(i) == "uranium":
    +        uraniumSetId = i
    +    elif silr.SetName(i) == "air":
    +        airSetId = i
    +
    +#
    +# Turn off the air
    +#
    +silr.TurnOffSet(airSetId)
    +SetPlotSILRestriction(silr)
    +Test("csg_04")
    +
    +#
    +# Turn on air, but turn void and uranium off
    +#
    +silr.TurnOnSet(airSetId)
    +silr.TurnOffSet(voidSetId)
    +silr.TurnOffSet(uraniumSetId)
    +SetPlotSILRestriction(silr)
    +Test("csg_05")
    +
    +#
    +# Try a material plot
    +#
    +#DeleteAllPlots()
    +#AddPlot("FilledBoundary","mat")
    +#AddPlot("Mesh","csgmesh")
    +#DrawPlots()
    +#ResetView()
    +#v = GetView3D()
    +#v.SetViewNormal(0.650274, -0.646958, 0.398232)
    +#v.SetViewUp(-0.290226, 0.272881, 0.917227)
    +#SetView3D(v)
    +#Test("csg_06")
    +
    +#
    +# Try plotting a variable
    +#
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","var1")
    +AddPlot("Mesh","csgmesh")
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.SetViewNormal(0.650274, -0.646958, 0.398232)
    +v.SetViewUp(-0.290226, 0.272881, 0.917227)
    +SetView3D(v)
    +Test("csg_07")
    +
    +#
    +# Try various other objects in this file 
    +#
    +DeleteAllPlots()
    +
    +#
    +# Now use Matt's Fusion data
    +#
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("csg.silo"))
    +
    +mma.discretizationTolerance=(0.05, 0.25)
    +mma.discretizationMode = mma.Adaptive
    +SetMeshManagementAttributes(mma)
    +OpenDatabase(data_path("csg_test_data/Fusion_000001_root.gra"))
    +
    +AddPlot("FilledBoundary","MC_Material(MC_ThreeD_Structured)")
    +DrawPlots()
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "2 Concrete_B":
    +        silr.TurnOffSet(i)
    +    if silr.SetName(i) == "6 Concrete_F":
    +        silr.TurnOffSet(i)
    +    if silr.SetName(i) == "7 Concrete_G":
    +        silr.TurnOffSet(i)
    +    if silr.SetName(i) == "8 Air_A":
    +        silr.TurnOffSet(i)
    +    if silr.SetName(i) == "9 Air_B":
    +        silr.TurnOffSet(i)
    +    if silr.SetName(i) == "10 Air_C":
    +        silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +ResetView()
    +v = GetView3D()
    +v.SetViewNormal(-0.5, -0.852869, -0.150384)
    +v.SetViewUp(0.0, -0.173648, 0.984808)
    +v.imageZoom = 1.5
    +SetView3D(v)
    +Test("csg_08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_degen_mesh.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_degen_mesh.html new file mode 100644 index 000000000..43b449918 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_degen_mesh.html @@ -0,0 +1,84 @@ + +Results for meshtype/degen_mesh.py + +

    Results of VisIt Regression Test - meshtype/degen_mesh

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    degen_mesh_010.000.00
    degen_mesh_020.000.00
    degen_mesh_030.000.00
    degen_mesh_040.000.00
    degen_mesh_050.000.00
    degen_mesh_060.000.00
    degen_mesh_070.000.00
    degen_mesh_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_degen_mesh_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_degen_mesh_py.html new file mode 100644 index 000000000..5dcbdba87 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_degen_mesh_py.html @@ -0,0 +1,260 @@ +meshtype/degen_mesh.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  degenerate.py
    +#
    +#  Tests:      mesh      - 3D curvilinear, rectilinear
    +#              plots     - pc, contour, mesh
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  '5333 & '5335
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 26, 2004
    +#
    +#
    +#  Modifications:
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# Define some expressions that will be handy for later.
    +DefineVectorExpression("coords_plus1", "coords(mesh)")
    +DefineVectorExpression("coords", "{coords_plus1[0]-1., coords_plus1[1]-1., coords_plus1[2]-1. }")
    +DefineVectorExpression("i_disp", "{ -sqrt(coords[1]*coords[1] + coords[2]*coords[2]), 0, 0 }")
    +DefineVectorExpression("j_disp", "{ 0, -sqrt(coords[0]*coords[0] + coords[2]*coords[2]), 0 }")
    +DefineVectorExpression("k_disp", "{ 0, 0, -sqrt(coords[0]*coords[0] + coords[1]*coords[1]) }")
    +DefineScalarExpression("pos", "sqrt(coords[0]*coords[0]+coords[1]*coords[1]+coords[2]*coords[2])")
    +
    +#
    +# Start off by testing curvilinear meshes.
    +#
    +
    +# Test that we can make the meshes with no modification.
    +OpenDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +# If you do a DrawPlots now, you will exhibit '5337
    +OpenDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +OpenDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("degen_mesh_01")
    +
    +# Test that we can handle displacing them and operating on them with
    +# expressions.
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(0)
    +AddOperator("Displace")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(1)
    +AddOperator("Displace")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(2)
    +AddOperator("Displace")
    +DrawPlots()
    +
    +v= GetView3D()
    +v.viewNormal = (0.449864, 0.604932, 0.657023)
    +v.focus = (0.801178, 0.801178, 0.801178)
    +v.viewUp = (0.377875, 0.537649, -0.753753)
    +v.viewAngle = 30
    +v.parallelScale = 2.00714
    +v.nearPlane = -4.01428
    +v.farPlane = 4.01428
    +v.imagePan = (0, 0)
    +v.imageZoom = 0.873008
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +Test("degen_mesh_02")
    +
    +# Test that we can do PC plots ('5335)
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +DrawPlots()
    +Test("degen_mesh_03")
    +
    +SetActivePlots(5)
    +DeleteActivePlots()
    +SetActivePlots(4)
    +DeleteActivePlots()
    +SetActivePlots(3)
    +DeleteActivePlots()
    +
    +
    +# Test that we can do contours ('5333)
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +DrawPlots()
    +Test("degen_mesh_04")
    +
    +
    +#
    +# Now do the same thing over again with rectilinear meshes.
    +#
    +DeleteAllPlots()
    +
    +# Test that we can make the meshes with no modification.
    +OpenDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +# If you do a DrawPlots now, you will exhibit '5337
    +OpenDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +OpenDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("degen_mesh_05")
    +
    +# Test that we can handle displacing them and operating on them with
    +# expressions.
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(0)
    +AddOperator("Displace")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(1)
    +AddOperator("Displace")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(2)
    +AddOperator("Displace")
    +DrawPlots()
    +v= GetView3D()
    +v.viewNormal = (0.449864, 0.604932, 0.657023)
    +v.focus = (0.801178, 0.801178, 0.801178)
    +v.viewUp = (0.377875, 0.537649, -0.753753)
    +v.viewAngle = 30
    +v.parallelScale = 2.00714
    +v.nearPlane = -4.01428
    +v.farPlane = 4.01428
    +v.imagePan = (0, 0)
    +v.imageZoom = 0.873008
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +Test("degen_mesh_06")
    +
    +# Test that we can do PC plots ('5335)
    +ActivateDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +DrawPlots()
    +Test("degen_mesh_07")
    +
    +SetActivePlots(5)
    +DeleteActivePlots()
    +SetActivePlots(4)
    +DeleteActivePlots()
    +SetActivePlots(3)
    +DeleteActivePlots()
    +
    +
    +# Test that we can do contours ('5333)
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +DrawPlots()
    +Test("degen_mesh_08")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_emptydomains.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_emptydomains.html new file mode 100644 index 000000000..8efcd0fa3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_emptydomains.html @@ -0,0 +1,104 @@ + +Results for meshtype/emptydomains.py + +

    Results of VisIt Regression Test - meshtype/emptydomains

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    meshtype_emptydomains_010.000.00
    meshtype_emptydomains_020.000.00
    meshtype_emptydomains_030.000.00
    meshtype_emptydomains_040.000.00
    meshtype_emptydomains_050.000.00
    meshtype_emptydomains_060.000.00
    meshtype_emptydomains_070.000.00
    meshtype_emptydomains_080.000.00
    meshtype_emptydomains_090.000.00
    meshtype_emptydomains_100.000.00
    meshtype_emptydomains_110 modifications totalling 0 lines
    meshtype_emptydomains_120 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_emptydomains_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_emptydomains_py.html new file mode 100644 index 000000000..fb0fb3b98 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_emptydomains_py.html @@ -0,0 +1,132 @@ +meshtype/emptydomains.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  emptydomains.py
    +#
    +#  Tests:      multi-objects with empty domains
    +#
    +#  Defect ID:  VisIt00005226
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       June  7, 2005
    +#
    +#  Modificatons:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Wed Sep 23 16:28:27 PDT 2020
    +#    Force to run on only PDB driver
    +# ----------------------------------------------------------------------------
    +OpenDatabase(data_path("silo_pdb_test_data/emptydomains.silo"))
    +
    +# Test the multi-mesh support
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +Test("meshtype_emptydomains_01")
    +
    +# Test the multi-var support
    +AddPlot("Pseudocolor", "density")
    +DrawPlots()
    +Test("meshtype_emptydomains_02")
    +
    +# Test material selection support
    +TurnMaterialsOff("5")
    +Test("meshtype_emptydomains_03")
    +
    +# Test multi-material support
    +TurnMaterialsOn()
    +DeleteAllPlots()
    +AddPlot("FilledBoundary", "mat")
    +DrawPlots()
    +Test("meshtype_emptydomains_04")
    +
    +# Test multi-species/species selection support
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","spec")
    +silr=SILRestriction()
    +silr.TurnOffSet(6)
    +SetPlotSILRestriction(silr)
    +DrawPlots()
    +Test("meshtype_emptydomains_05")
    +
    +silr.TurnOffSet(5)
    +SetPlotSILRestriction(silr)
    +Test("meshtype_emptydomains_06")
    +
    +# Test domain selection support
    +DeleteAllPlots()
    +silr.TurnOnAll()
    +silr.TurnOffSet(1)
    +SetPlotSILRestriction(silr)
    +AddPlot("Mesh", "mesh")
    +AddPlot("Pseudocolor", "density")
    +DrawPlots()
    +Test("meshtype_emptydomains_07")
    +
    +# Test slice-by-zone
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "density")
    +AddOperator("Slice")
    +s1 = SliceAttributes()
    +s1.originType = s1.Zone
    +s1.project2d = 0
    +s1.originZone = 170
    +s1.originZoneDomain = 2
    +SetOperatorOptions(s1)
    +DrawPlots()
    +Test("meshtype_emptydomains_08")
    +
    +# Test slice-by-node
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "density")
    +AddOperator("Slice")
    +s2 = SliceAttributes()
    +s2.originType = s2.Node
    +s2.project2d = 0
    +s2.originNode = 11
    +s2.originNodeDomain = 2
    +SetOperatorOptions(s2)
    +DrawPlots()
    +Test("meshtype_emptydomains_09")
    +
    +# Test onion peel
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "density")
    +AddOperator("OnionPeel")
    +o = OnionPeelAttributes()
    +o.categoryName = "domains"
    +o.subsetName = "domain2"
    +o.index = (210)
    +o.requestedLayer = 3
    +DrawPlots()
    +SetOperatorOptions(o)
    +Test("meshtype_emptydomains_10")
    +
    +# Test zone pick
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "density")
    +DrawPlots()
    +PickByZone(120, 2, "density")
    +TestText("meshtype_emptydomains_11", GetPickOutput())
    +
    +# Test node pick
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "density")
    +DrawPlots()
    +PickByNode(100, 2, "density")
    +TestText("meshtype_emptydomains_12", GetPickOutput())
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_globe.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_globe.html new file mode 100644 index 000000000..7c93c977c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_globe.html @@ -0,0 +1,72 @@ + +Results for meshtype/globe.py + +

    Results of VisIt Regression Test - meshtype/globe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    globe_010.000.00
    globe_020.000.00
    globe_030.000.00
    globe_040.000.00
    globe_050.000.00
    globe_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_globe_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_globe_py.html new file mode 100644 index 000000000..5f6c8d39c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_globe_py.html @@ -0,0 +1,85 @@ +meshtype/globe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  globe.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc, contour, mat subset, mesh, vector
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       April 17, 2002
    +#
    +#  Modificatons:
    +#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
    +#    Changed the variable format for SubsetPlots, to reflect new interface
    +#    which allows subsets of groups.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Kathleen Bonnell, Wed Sep  3 09:31:25 PDT 2003
    +#    Opaque mode for MeshPlot is ON by default now, so turn it off
    +#    for this test.
    +#
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetParallelScale(17.3205)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +Test("globe_01")
    +
    +DeleteAllPlots()
    +AddPlot("Contour", "t")
    +DrawPlots()
    +Test("globe_02")
    +
    +DeleteAllPlots()
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +Test("globe_03")
    +
    +DeleteAllPlots()
    +AddPlot("Volume", "u")
    +DrawPlots()
    +Test("globe_04")
    +
    +#Test MeshPlot with OpaqueFlag ON
    +DeleteAllPlots()
    +AddPlot("Mesh", "mesh1")
    +m = MeshAttributes()
    +m.opaqueMode = m.Off
    +SetPlotOptions(m)
    +DrawPlots()
    +Test("globe_05")
    +
    +DeleteAllPlots()
    +AddPlot("Vector", "vel")
    +DrawPlots()
    +Test("globe_06")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_point.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_point.html new file mode 100644 index 000000000..703b7dbb6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_point.html @@ -0,0 +1,142 @@ + +Results for meshtype/point.py + +

    Results of VisIt Regression Test - meshtype/point

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    meshtype_point_010.000.00
    meshtype_point_020.000.00
    meshtype_point_030.000.00
    meshtype_point_040.000.00
    meshtype_point_050.080.01
    meshtype_point_060.000.00
    meshtype_point_070.010.00
    meshtype_point_080.000.00
    meshtype_point_090.000.00
    meshtype_point_100.000.00
    meshtype_point_110.000.00
    meshtype_point_120.000.00
    meshtype_point_130.000.00
    meshtype_point_140.000.00
    meshtype_point_150.000.00
    meshtype_point_160.000.00
    meshtype_point_170.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_point_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_point_py.html new file mode 100644 index 000000000..0d9be08da --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_point_py.html @@ -0,0 +1,174 @@ +meshtype/point.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  point.py
    +#
    +#  Tests:      mesh      - 3D point
    +#              plots     - pseudocolor, subset, mesh
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       May  4, 2004
    +#
    +#  Modificatons:
    +#    Kathleen Bonnell, Thu Aug 19 15:07:23 PDT 2004
    +#    Added tests 4-7.
    +#
    +#    Kathleen Bonnell, Thu Nov 11 17:28:15 PST 2004
    +#    Added tests 8-17.
    +#
    +#    Brad Whitlock, Thu Jul 21 15:44:05 PST 2005
    +#    Added tests for setting the point size for points rendered as pixels.
    +#
    +#    Brad Whitlock, Fri Aug 26 13:59:08 PST 2005
    +#    Needed to add more rendering tests so I moved the point rendering
    +#    stuff to renderpoint.py.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +v = GetView3D()
    +v.viewNormal = (0.3, 0.5, 0.8)
    +SetView3D(v)
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +
    +AddPlot("Pseudocolor", "PointVar")
    +DrawPlots()
    +
    +p=PseudocolorAttributes()
    +p.pointType = p.Axis
    +p.pointSize = 0.2
    +SetPlotOptions(p)
    +Test("meshtype_point_01")
    +
    +p.pointSizeVarEnabled = 1
    +p.pointSize = 0.5
    +SetPlotOptions(p)
    +Test("meshtype_point_02")
    +
    +p.pointType = p.Point
    +p.pointSizePixels = 1
    +SetPlotOptions(p)
    +Test("meshtype_point_03")
    +
    +DeleteAllPlots()
    +
    +
    +#Test some more of the point-related atts for the pc plot.
    +OpenDatabase(silo_data_path("multi_point2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +p = PseudocolorAttributes()
    +SetPlotOptions(p)
    +DrawPlots()
    +ResetView()
    +
    +Test("meshtype_point_04")
    +
    +p.pointSize = 0.05
    +p.pointType = p.Axis
    +p.pointSizeVarEnabled = 1
    +p.pointSizeVar = "d"
    +SetPlotOptions(p)
    +Test("meshtype_point_05")
    +
    +p.pointSize = 0.25
    +p.pointType = p.Box
    +p.pointSizeVar = "p"
    +SetPlotOptions(p)
    +Test("meshtype_point_06")
    +
    +p.pointSize = 0.25
    +p.pointType = p.Icosahedron
    +p.pointSizeVar = "u"
    +SetPlotOptions(p)
    +Test("meshtype_point_07")
    +
    +DeleteAllPlots()
    +
    +#Test Subsets of point meshes
    +AddPlot("Subset", "domains")
    +s = SubsetAttributes()
    +s.pointSizePixels = 1
    +SetPlotOptions(s)
    +DrawPlots()
    +ResetView()
    +Test("meshtype_point_08")
    +
    +s.pointSizeVarEnabled = 1
    +s.pointSizeVar = "d"
    +s.pointType = s.Icosahedron
    +SetPlotOptions(s)
    +Test("meshtype_point_09")
    +
    +s.pointSizeVar = "u"
    +s.pointType = s.Box
    +SetPlotOptions(s)
    +Test("meshtype_point_10")
    +
    +s.pointSizeVar = "v"
    +SetPlotOptions(s)
    +Test("meshtype_point_11")
    +
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (255, 0, 0, 255)
    +SetPlotOptions(s)
    +Test("meshtype_point_12")
    +
    +DeleteAllPlots()
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "PointVar")
    +p.pointSize = 0.5
    +p.pointSizeVarEnabled = 0
    +SetPlotOptions(p)
    +DrawPlots()
    +Test("meshtype_point_13")
    +
    +# the next two not only test using poingSizeVar, but also DataSetVerifier which
    +# will reduce the number of values in the var array to match the actual number
    +# of points in the point mesh
    +p.pointSize = 0.5
    +p.pointSizeVarEnabled = 1
    +p.pointSizeVar = "hardyglobal"
    +p.pointType = p.Box
    +SetPlotOptions(p)
    +Test("meshtype_point_14")
    +
    +#can we scale by a a vector variable?
    +p.pointSizeVar = "grad"
    +SetPlotOptions(p)
    +Test("meshtype_point_15")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Mesh", "PointMesh")
    +m = MeshAttributes()
    +m.meshColorSource = m.MeshCustom
    +m.meshColor = (0, 122, 200, 255)
    +m.pointType = m.Box
    +m.pointSize = 0.5
    +SetPlotOptions(m)
    +DrawPlots()
    +Test("meshtype_point_16")
    +
    +m.pointSizeVarEnabled = 1
    +m.pointSizeVar = "PointVar"
    +SetPlotOptions(m)
    +Test("meshtype_point_17")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_rect3d.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_rect3d.html new file mode 100644 index 000000000..45baf9de5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_rect3d.html @@ -0,0 +1,52 @@ + +Results for meshtype/rect3d.py + +

    Results of VisIt Regression Test - meshtype/rect3d

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    rect3d_0154.490.83
    rect3d_0250.941.14
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_rect3d_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_rect3d_py.html new file mode 100644 index 000000000..57922c3fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/meshtype_rect3d_py.html @@ -0,0 +1,80 @@ +meshtype/rect3d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  rect3d.py
    +#
    +#  Tests:      mesh      - 3D regular, single domain
    +#              plots     - pc, contour, mat subset, mesh
    +#              operators - none
    +#              selection - material
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       April 17, 2002
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Apr 24 10:04:35 PDT 2002
    +#    Turn off opaque mesh.
    +#
    +#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
    +#    Changed the variable format for SubsetPlots, to reflect new interface
    +#    which allows subsets of groups.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "d")
    +pc=PseudocolorAttributes()
    +pc.SetOpacityType(pc.Constant)
    +pc.opacity=0.2
    +SetPlotOptions(pc)
    +
    +AddPlot("Mesh", "quadmesh3d")
    +m1=MeshAttributes()
    +m1.opaqueMode=m1.Off
    +SetPlotOptions(m1)
    +
    +AddPlot("Contour", "u")
    +
    +# Turn off alternate materials.
    +silr=SILRestriction()
    +onoff = 0
    +for sets in silr.SetsInCategory('mat1'):
    +    if(onoff == 0):
    +        silr.TurnOffSet(sets)
    +        onoff = 1
    +    else:
    +        onoff = 0
    +
    +AddPlot("FilledBoundary", "mat1")
    +SetPlotSILRestriction(silr)
    +
    +DrawPlots()
    +
    +Test("rect3d_01")
    +
    +v = GetView3D()
    +v.SetViewNormal(.7,.6,.5)
    +SetView3D(v)
    +
    +Test("rect3d_02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/missingdata_0_04.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/missingdata_0_04.html new file mode 100644 index 000000000..657868e57 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/missingdata_0_04.html @@ -0,0 +1,66 @@ +Results for test case missingdata_0_04 + +

    Results for test case missingdata_0_04

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    8 Lines Changed

    +

    1 modifications, totalling 8 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1:  1: Pick could not retrieve the requested information, possibly due to a bad expression in its variables list. Please check the requested variables list and try again.
    2: A: earth.nc
    3: mesh1350x675
    4: Point: <671, 617>
    5: Node: 833621
    6: Incident Zones: 833004 831655 833005 831656
    7: population: <nodal> = 0
    8:  
    diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operatorsVsInstall.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operatorsVsInstall.html new file mode 100644 index 000000000..96b190ee4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operatorsVsInstall.html @@ -0,0 +1,51 @@ +Results for test case operatorsVsInstall + +

    Results for test case operatorsVsInstall

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    5 Lines Changed

    +

    1 modifications, totalling 5 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1: { 'CartographicProjection': 'success',1: { 'CartographicProjection': 'cmake configure failed',
    2:     'CracksClipper': 'success',2:     'CracksClipper': 'make failed',
    3:     'RadialResample': 'success',3:     'RadialResample': 'make failed',
    4:     'Slice': 'success',4:     'Slice': 'make failed',
    5:     'Threshold': 'success'}5:     'Threshold': 'make failed'}
    diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_amr_stitch.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_amr_stitch.html new file mode 100644 index 000000000..dc5bcf6df --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_amr_stitch.html @@ -0,0 +1,84 @@ + +Results for operators/amr_stitch.py + +

    Results of VisIt Regression Test - operators/amr_stitch

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    amr_stitch_010.000.00
    amr_stitch_020.000.00
    amr_stitch_030.000.00
    amr_stitch_040.000.00
    amr_stitch_050.000.00
    amr_stitch_060.000.00
    amr_stitch_070.000.00
    amr_stitch_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_amr_stitch_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_amr_stitch_py.html new file mode 100644 index 000000000..babfba63f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_amr_stitch_py.html @@ -0,0 +1,49 @@ +operators/amr_stitch.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  amr_stitch.py
    +#
    +#  Programmer: Gunther H. Weber
    +#  Date:       April 29, 2014
    +#
    +#  Modifications:
    +#
    +#      Alister Maguire, Wed Jan  6 08:31:05 PST 2021
    +#      Added the -enable-ghosts-for-t-intersections flag, as it
    +#      is now disabled by default.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# NOTE: the comment below tells visit to use the
    +# 'enable-ghosts-for-t-intersections' flag when running this test.
    +# This flag must be enabled for this test to succeed.
    +
    +#VARGS: "-enable-ghosts-for-t-intersections"
    +
    +# Turn off all annotation
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +
    +# Files used for tests
    +filename_template = "AMRStitchCell_test_data/AMRStitchCellTest.%d.no_ghost.phi.%dd.hdf5"
    +test_case_filenames = [ data_path(filename_template % ( case, dim )) for dim in range(2,4) for case in range(1,5) ]
    +
    +# Setup plots and run first test
    +OpenDatabase(test_case_filenames[0])
    +AddPlot("Contour", "phi")
    +AddOperator("AMRStitchCell")
    +DrawPlots()
    +Test("amr_stitch_01")
    +
    +# Perform remaining tests
    +for test_no, ds in enumerate(test_case_filenames[1:], 2):
    +    ReplaceDatabase(ds)
    +    Test("amr_stitch_%02d" % test_no)
    +
    +# Clean-up
    +DeleteAllPlots()
    +for ds in test_case_filenames:
    +    CloseDatabase(ds)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_box.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_box.html new file mode 100644 index 000000000..4a5fab90e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_box.html @@ -0,0 +1,84 @@ + +Results for operators/box.py + +

    Results of VisIt Regression Test - operators/box

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_box010.000.00
    ops_box020.000.00
    ops_box030.000.00
    ops_box040.000.00
    ops_box050.000.00
    ops_box060.000.00
    ops_box070.000.00
    ops_box080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_box_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_box_py.html new file mode 100644 index 000000000..f37396bfc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_box_py.html @@ -0,0 +1,155 @@ +operators/box.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  box.py
    +#
    +#  Tests:      mesh      - 3D point, single domain,
    +#                          3D rectilinear, multiple domain.
    +#                          3D unstructured, single domain.
    +#              plots     - pc, vector, contour, vector
    +#
    +#  Defect ID:  3160
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 26, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Hank Childs, Wed Jun  4 08:56:08 PDT 2008
    +#    Test facelist filter after applying a box.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# 3D, rectilinear.  Multi-block  Tests ghost zones as well.
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +
    +atts = BoxAttributes()
    +atts.amount = 0
    +atts.minx = 0.4
    +atts.maxx = 0.7
    +atts.miny = 0.1
    +atts.maxy = 0.9
    +atts.minz = 0.4
    +atts.maxz = 1.7
    +
    +AddPlot("Pseudocolor", "dist")
    +AddOperator("Box")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +view = GetView3D()
    +view.viewNormal = (0.79, -0.035, 0.61)
    +view.focus = (0.5, 0.5, 0.5)
    +view.viewUp = (0, 1, 0)
    +view.parallelScale = 0.765
    +view.nearPlane = -0.25
    +view.farPlane = 1.73
    +SetView3D(view)
    +Test("ops_box01")
    +DeleteAllPlots()
    +
    +
    +# 3D, unstructured
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Box")
    +atts.minx = -5
    +atts.maxx = +5
    +atts.miny = -5
    +atts.maxy = +5
    +atts.minz = -5
    +atts.maxz = +5
    +SetOperatorOptions(atts)
    +DrawPlots()
    +view.viewNormal = (0.56, 0.81, -0.14)
    +view.focus = (0, 0, 0)
    +view.viewUp = (-0.66, 0.55, 0.49)
    +view.parallelScale = 11
    +view.nearPlane = -34
    +view.farPlane = 34
    +SetView3D(view)
    +Test("ops_box02")
    +
    +
    +atts.amount = 1
    +SetOperatorOptions(atts)
    +Test("ops_box03")
    +
    +DeleteAllPlots()
    +
    +view.parallelScale = 14
    +SetView3D(view)
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Vector", "airVfGradient")
    +vec = VectorAttributes()
    +SetPlotOptions(vec)
    +atts.minx = -5
    +atts.maxx = +5
    +atts.miny = -10
    +atts.maxy = +10
    +atts.minz = -10
    +atts.maxz = +10
    +AddOperator("Box")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_box04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "hardyglobal")
    +AddOperator("Box")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_box05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Mesh", "PointMesh")
    +mesh = MeshAttributes()
    +mesh.pointType = mesh.Box
    +mesh.pointSizeVar = "PointVar"
    +mesh.pointSizeVarEnabled = 1
    +SetPlotOptions(mesh)
    +AddOperator("Box")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_box06")
    +
    +# This final test should be blank.  The box operator was crashing with
    +# point meshes that fell outside the box previously.  ('3160)
    +atts.minx = -30
    +atts.maxx = -20
    +SetOperatorOptions(atts)
    +Test("ops_box07")
    +
    +# If we apply the box operator to a rectilinear grid, it can change
    +# the "Extents", which can screw up the facelist filter.  Test that
    +# no one has undone the fix from Paul Selby.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Box")
    +atts.minx = 0.2
    +atts.maxx = 1.0
    +SetOperatorOptions(atts)
    +DrawPlots()
    +view.focus = (0.5, 0.5, 0.5)
    +view.parallelScale = 1.4
    +SetView3D(view)
    +Test("ops_box08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cart_proj.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cart_proj.html new file mode 100644 index 000000000..0af5763c4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cart_proj.html @@ -0,0 +1,64 @@ + +Results for operators/cart_proj.py + +

    Results of VisIt Regression Test - operators/cart_proj

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_cart_proj_00.000.00
    ops_cart_proj_161.4012.57
    ops_cart_proj_20.000.00
    ops_cart_proj_3118.9612.31
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cart_proj_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cart_proj_py.html new file mode 100644 index 000000000..363734905 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cart_proj_py.html @@ -0,0 +1,60 @@ +operators/cart_proj.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cart_proj.py
    +#
    +#  Tests:
    +#              plots     - pc
    +#              operators - CartographicProjection
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:      Tue Sep 25 08:41:19 PDT 2012
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# Test 2D Case
    +
    +OpenDatabase(data_path("netcdf_test_data/NASA_vegetation_lai.cdf"))
    +
    +v = View2DAttributes()
    +v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +SetView2D(v)
    +
    +
    +AddPlot("Pseudocolor", "lai")
    +DrawPlots()
    +ResetView()
    +Test("ops_cart_proj_0")
    +
    +AddOperator("CartographicProjection")
    +cart_proj_atts = CartographicProjectionAttributes()
    +cart_proj_atts.projectionID = cart_proj_atts.hammer
    +SetOperatorOptions(cart_proj_atts)
    +DrawPlots()
    +ResetView()
    +Test("ops_cart_proj_1")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("netcdf_test_data/tas_mean_T63.nc"))
    +
    +AddPlot("Pseudocolor", "tas")
    +DrawPlots()
    +ResetView()
    +Test("ops_cart_proj_2")
    +
    +AddOperator("CartographicProjection")
    +cart_proj_atts = CartographicProjectionAttributes()
    +cart_proj_atts.projectionID = cart_proj_atts.hammer
    +SetOperatorOptions(cart_proj_atts)
    +DrawPlots()
    +ResetView()
    +Test("ops_cart_proj_3")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_clip.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_clip.html new file mode 100644 index 000000000..aed1502a1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_clip.html @@ -0,0 +1,180 @@ + +Results for operators/clip.py + +

    Results of VisIt Regression Test - operators/clip

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    clip000.000.00
    clip010.000.00
    clip020.000.00
    clip030.000.00
    clip040.000.00
    clip050.000.00
    clip060.000.00
    clip070.000.00
    clip080.000.00
    clip090.000.00
    clip100.000.00
    clip110.000.00
    clip120.000.00
    clip130.000.00
    clip140.000.00
    clip150.000.00
    clip160.000.00
    clip170.000.00
    clip180.000.00
    clip190.000.00
    clip200.000.00
    clip_globe_fast0.000.00
    clip_globe_accurate0.000.00
    crinkle_clip_globe0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_clip_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_clip_py.html new file mode 100644 index 000000000..8f38441ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_clip_py.html @@ -0,0 +1,143 @@ +operators/clip.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  clip.py
    +#
    +#  Tests:      mesh      - 2D rectilinear, 2D curvilinear,
    +#                          3D rectilinear, 3D curvilinear,
    +#                          3D unstructured
    +#
    +#  Defect ID:  7470, 7195
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 1, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Sep  6 16:56:27 PDT 2006
    +#    Test clip operator with no plane and no sphere (this was crashing the
    +#    engine due to a memory problem) ['7195]
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Alister Maguire, Fri Nov 13 14:07:54 PST 2020
    +#    Added a test for the crinkle clip.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestOne(filename, index, zonal_var, nodal_var, radius):
    +   OpenDatabase(filename)
    +   c = ClipAttributes()
    +   c.funcType = c.Sphere
    +   c.radius = radius
    +   c.sphereInverse = 1
    +   AddPlot("Pseudocolor", zonal_var)
    +   AddOperator("Clip")
    +   SetOperatorOptions(c)
    +   DrawPlots()
    +   name = "clip%02d" %(index+0)
    +   Test(name)
    +   ChangeActivePlotsVar(nodal_var)
    +   name = "clip%02d" %(index+1)
    +   Test(name)
    +   c.funcType = c.Plane
    +   c.plane1Origin = (0.5, 0.5, 0)
    +   c.plane1Normal = (1, 1, 0)
    +   SetOperatorOptions(c)
    +   name = "clip%02d" %(index+2)
    +   Test(name)
    +   ChangeActivePlotsVar(zonal_var)
    +   name = "clip%02d" %(index+3)
    +   Test(name)
    +   DeleteAllPlots()
    +
    +TestOne(silo_data_path("rect2d.silo"), 4*0, "d", "u", 0.5)
    +TestOne(silo_data_path("rect3d.silo"), 4*1, "d", "u", 0.5)
    +TestOne(silo_data_path("curv2d.silo"), 4*2, "d", "u", 3)
    +TestOne(silo_data_path("curv3d.silo"), 4*3, "d", "u", 4)
    +TestOne(silo_data_path("globe.silo"), 4*4, "t", "u", 5)
    +
    +# Test doing a clip where there are no planes selected.  This has caused
    +# a crash ['7195].
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor" , "d")
    +AddOperator("Clip")
    +c = ClipAttributes()
    +c.funcType = c.Plane
    +c.plane1Status = 0
    +c.plane2Status = 0
    +c.plane3Status = 0
    +SetOperatorOptions(c)
    +DrawPlots()
    +
    +test_idx = 20
    +name = "clip%02d" %(test_idx)
    +Test(name)
    +test_idx += 1
    +
    +# Test accurate vs. fast.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Mesh", "mesh1")
    +c = ClipAttributes()
    +c.funcType = c.Plane  # Plane, Sphere
    +c.plane1Status = 1
    +c.plane2Status = 1
    +c.plane3Status = 0
    +c.plane1Origin = (0, 2.37883, 0)
    +c.plane2Origin = (0, 2.37883, 0)
    +c.plane3Origin = (0, 2.37883, 0)
    +c.plane1Normal = (1, 0, 0)
    +c.plane2Normal = (0, 1, 0)
    +c.plane3Normal = (0, 0, 1)
    +c.planeInverse = 0
    +c.center = (0, 0, 0)
    +c.radius = 1
    +c.sphereInverse = 0
    +AddOperator("Clip")
    +SetOperatorOptions(c)
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.0548192, 0.0422395, 0.997602)
    +v.focus = (0.427242, 3.08232, -0.155563)
    +v.viewUp = (0.195041, 0.979406, -0.0521867)
    +v.viewAngle = 30
    +v.parallelScale = 4.21585
    +v.nearPlane = -34.5981
    +v.farPlane = 34.5981
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, -0.0372553, 0)
    +
    +DrawPlots()
    +SetView3D(v)
    +
    +Test("clip_globe_fast")
    +
    +c.quality = c.Accurate
    +SetOperatorOptions(c)
    +Test("clip_globe_accurate")
    +
    +DeleteAllPlots()
    +ResetView()
    +
    +#
    +# Test the crinkle clip.
    +#
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Clip")
    +c = ClipAttributes()
    +c.crinkleClip = 1
    +SetOperatorOptions(c)
    +DrawPlots()
    +Test("crinkle_clip_globe")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cracksclipper.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cracksclipper.html new file mode 100644 index 000000000..daca38234 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cracksclipper.html @@ -0,0 +1,72 @@ + +Results for operators/cracksclipper.py + +

    Results of VisIt Regression Test - operators/cracksclipper

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    CracksClipper_000.000.00
    CracksClipper_010.000.00
    CracksClipper_020.000.00
    CracksClipper_030.000.00
    CracksClipper_040.000.00
    CracksClipper_050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cracksclipper_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cracksclipper_py.html new file mode 100644 index 000000000..417c1044a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_cracksclipper_py.html @@ -0,0 +1,54 @@ +operators/cracksclipper.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cracksclipper.py
    +#
    +#  Tests:      operators - CracksClipper
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       August 14, 2012
    +#
    +#  Modifications:
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("vtk_cracked_test_data/cracked_*.vtk database"))
    +AddPlot("Pseudocolor", "operators/CracksClipper/mesh/den")
    +pcAtts = PseudocolorAttributes()
    +pcAtts.minFlag = 1
    +pcAtts.maxFlag = 1
    +pcAtts.min = 1.9
    +pcAtts.max = 3.853
    +SetPlotOptions(pcAtts)
    +
    +
    +v = GetView3D()
    +v.viewNormal = (-0.507948, 0.663707, 0.549074)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (0.388198, 0.745409, -0.541911)
    +v.parallelScale = 0.866025
    +v.nearPlane = -1.73205
    +v.farPlane = 1.73205
    +SetView3D(v)
    +
    +DrawPlots()
    +
    +# Changing time states shows the cracks developing, and demonstrates
    +# the density calculation
    +Test("CracksClipper_00")
    +SetTimeSliderState(1)
    +Test("CracksClipper_01")
    +SetTimeSliderState(3)
    +Test("CracksClipper_02")
    +SetTimeSliderState(5)
    +Test("CracksClipper_03")
    +SetTimeSliderState(12)
    +Test("CracksClipper_04")
    +
    +SetTimeSliderState(14)
    +# Show that normal vars can be used.
    +ChangeActivePlotsVar("ems")
    +# 
    +Test("CracksClipper_05")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_defer_expr.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_defer_expr.html new file mode 100644 index 000000000..436bae2ec --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_defer_expr.html @@ -0,0 +1,114 @@ + +Results for operators/defer_expr.py + +

    Results of VisIt Regression Test - operators/defer_expr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    defer_expr_010.000.00
    defer_expr_020.000.00
    defer_expr_030.000.00
    defer_expr_040.000.00
    defer_expr_050.000.00
    defer_expr_060.000.00
    defer_expr_070.000.00
    defer_expr_080.000.00
    defer_expr_090.000.00
    defer_expr_100.000.00
    defer_expr_110.000.00
    defer_expr_120.000.00
    defer_expr_130.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_defer_expr_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_defer_expr_py.html new file mode 100644 index 000000000..567558782 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_defer_expr_py.html @@ -0,0 +1,248 @@ +operators/defer_expr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  defer_expr.py
    +#
    +#  Defect ID:  '2433, '1527, '6630, '6631, '6676, '6637
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 21, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Thu Dec 29 11:29:08 PST 2005
    +#    Widen color range of vector plot to sidestep precision issues between
    +#    optimized and non-optimized binaries.
    +#
    +#    Hank Childs, Thu Jan 17 15:44:06 PST 2008
    +#    Explicitly specify the color table for the vector plot.  This is an issue
    +#    because this test runs with "-config" (*not* "-noconfig") and the default
    +#    color table can get confused if the user has a color table in his .visit
    +#    directory that collides with the normal default ("hot").  So we're
    +#    skirting that issue by explicitly specifying the color table.
    +#
    +#    Jeremy Meredith, Mon Jul 14 12:28:50 EDT 2008
    +#    Allow the vector plot to show all vectors (even ones not from
    +#    from original cells/nodes) to match the old behavior.
    +#
    +#    Hank Childs, Wed Dec 31 14:32:34 PST 2008
    +#    Rename ResamplePluginAtts to ResampleAtts.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Brad Whitlock, Wed Apr 18 15:40:47 PDT 2012
    +#    Make vectors constant color for test 8.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Remove obsolete 'colorByMag' vector att with 'colorByMagnitude'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +DefineScalarExpression("en", "external_node(mesh1)")
    +AddPlot("Pseudocolor", "en")
    +AddOperator("Isovolume")
    +iso_atts = IsovolumeAttributes()
    +iso_atts.variable = "t"
    +iso_atts.lbound = 500
    +SetOperatorOptions(iso_atts)
    +AddOperator("Slice")
    +DrawPlots()
    +
    +# Save a picture before deferring the expression evaluation.
    +Test("defer_expr_01")
    +
    +# Test that the external node operator can find the external nodes
    +# on a 2D slice.
    +d = DeferExpressionAttributes()
    +d.exprs = ("en")
    +SetDefaultOperatorOptions(d)
    +AddOperator("DeferExpression")
    +DrawPlots()
    +Test("defer_expr_02")
    +
    +# Now test that the external node expression can find the external nodes
    +# on a 3D dataset (before the slice).  This should be an identical picture
    +# to what's above (bar interpolation from the slice).
    +DemoteOperator(2)
    +DrawPlots()
    +Test("defer_expr_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isovolume")
    +iso_atts = IsovolumeAttributes()
    +iso_atts.variable = "t"
    +iso_atts.ubound = 500
    +SetOperatorOptions(iso_atts)
    +AddOperator("DeferExpression")
    +AddOperator("Threshold")
    +thres_atts = ThresholdAttributes()
    +thres_atts.upperBounds = (0.5)
    +thres_atts.outputMeshType = 1
    +thres_atts.listedVarNames = ("en")
    +SetOperatorOptions(thres_atts)
    +DrawPlots()
    +Test("defer_expr_04")
    +
    +DeleteAllPlots()
    +
    +DefineScalarExpression("X1", "coord(mesh1)[0]")
    +DefineScalarExpression("X2", "coord(mesh1)[0]")
    +DefineScalarExpression("X3", "coord(mesh1)[0]")
    +
    +AddPlot("Pseudocolor", "X1")
    +
    +# Transform by 45 degrees.
    +t = TransformAttributes()
    +t.doRotate = 1
    +t.rotateAxis = (0, 1, 0)
    +t.rotateAmount = 45
    +SetDefaultOperatorOptions(t)
    +AddOperator("Transform")
    +
    +# Now evaluate X2 after transforming
    +d.exprs = ("X2")
    +SetDefaultOperatorOptions(d)
    +AddOperator("DeferExpression")
    +
    +# Now threshold out where X2 is bigger than 0 (after the transform)
    +thres_atts.listedVarNames = ("X2")
    +thres_atts.lowerBounds = (0.0)
    +thres_atts.upperBounds = (1000.0)
    +SetDefaultOperatorOptions(thres_atts)
    +AddOperator("Threshold")
    +
    +# Now transform by another 45 degrees
    +AddOperator("Transform")
    +
    +# Evaluate X3 after the new transform.
    +d.exprs = ("X3")
    +SetDefaultOperatorOptions(d)
    +AddOperator("DeferExpression")
    +
    +# Now threshold out where X3 is bigger than 0 (after the new transform)
    +thres_atts.listedVarNames = ("X3")
    +SetDefaultOperatorOptions(thres_atts)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("defer_expr_05")
    +
    +# Now do the same thing, but defer X1 until the end of the transforms.
    +d.exprs = ("X1")
    +SetDefaultOperatorOptions(d)
    +AddOperator("DeferExpression")
    +DrawPlots()
    +# This should be the same geometry as '05, but the color should be different.
    +Test("defer_expr_06")
    +
    +DeleteAllPlots()
    +DefineVectorExpression("normals", "cell_surface_normal(mesh1)")
    +AddPlot("Vector", "normals")
    +v = VectorAttributes()
    +v.origOnly = 0
    +v.min = 0.5
    +v.max = 1.5
    +v.minFlag = 1
    +v.maxFlag = 1
    +v.colorTableName = "hot"
    +v.useStride = 0
    +v.stride = 1
    +SetPlotOptions(v)
    +
    +AddOperator("ExternalSurface")
    +AddOperator("DeferExpression")
    +d.exprs = "normals"
    +SetOperatorOptions(d)
    +DrawPlots()
    +Test("defer_expr_07")
    +
    +DeleteAllPlots()
    +AddPlot("Contour", "t")
    +c = ContourAttributes()
    +c.contourMethod = c.Value
    +c.contourValue = (500)
    +SetPlotOptions(c)
    +AddPlot("Vector", "normals")
    +v = VectorAttributes()
    +v.origOnly = 0
    +v.colorByMagnitude = 0
    +v.vectorColor = (255,255,0,255)
    +SetPlotOptions(v)
    +AddOperator("Isosurface")
    +i = IsosurfaceAttributes()
    +i.contourMethod = i.Value
    +i.contourValue = (500)
    +i.variable = "t"
    +SetOperatorOptions(i)
    +AddOperator("DeferExpression")
    +d.exprs = "normals"
    +SetOperatorOptions(d)
    +DrawPlots()
    +Test("defer_expr_08")
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "mesh_quality/max_edge_length")
    +AddOperator("Slice")
    +DrawPlots()
    +Test("defer_expr_09")
    +
    +d.exprs = ("mesh_quality/max_edge_length")
    +AddOperator("DeferExpression")
    +SetOperatorOptions(d)
    +DrawPlots()
    +Test("defer_expr_10")
    +
    +DeleteAllPlots()
    +r = ResampleAttributes()
    +r.samplesX = 50
    +r.samplesY = 50
    +r.samplesZ = 50
    +r.defaultValue = -100
    +r.distributedResample = 0
    +DefineScalarExpression("procid", "procid(mesh1)")
    +AddPlot("Pseudocolor", "procid")
    +AddOperator("Resample")
    +SetOperatorOptions(r)
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.lowerBounds = (-10.0)
    +t.listedVarNames = ("u")
    +t.outputMeshType = 1
    +SetOperatorOptions(t)
    +AddOperator("DeferExpression")
    +d.exprs = "procid"
    +SetOperatorOptions(d)
    +DrawPlots()
    +
    +Test("defer_expr_11")
    +
    +r.distributedResample = 1
    +SetOperatorOptions(r)
    +Test("defer_expr_12")
    +
    +DeleteAllPlots()
    +DefineVectorExpression("sn", "recenter(-cell_surface_normal(mesh1))")
    +AddPlot("Vector", "sn")
    +v = VectorAttributes()
    +v.origOnly = 0
    +v.colorTableName = "hot"
    +SetPlotOptions(v)
    +AddOperator("ExternalSurface")
    +AddOperator("DeferExpression")
    +d.exprs = "sn"
    +SetOperatorOptions(d)
    +DrawPlots()
    +Test("defer_expr_13")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_displace.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_displace.html new file mode 100644 index 000000000..7384680fb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_displace.html @@ -0,0 +1,94 @@ + +Results for operators/displace.py + +

    Results of VisIt Regression Test - operators/displace

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_disp010.000.00
    ops_disp020.000.00
    ops_disp030.000.00
    ops_disp040.000.00
    ops_disp050.000.00
    ops_disp060.000.00
    ops_disp070.000.00
    ops_disp080 modifications totalling 0 lines
    ops_disp090.000.00
    ops_disp100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_displace_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_displace_py.html new file mode 100644 index 000000000..fdf8beaf5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_displace_py.html @@ -0,0 +1,129 @@ +operators/displace.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  displace.py
    +#
    +#  Tests:      mesh      - 2D/3D rectilinear, single domain.
    +#                          3D unstructured, single domain.
    +#                          2D/3D curvilinear, single domain.
    +#              plots     - pc, mesh
    +#
    +#  Defect ID:  '5921, '7486, '8160, '8259, '8265
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 6, 2004
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Jun  7 09:47:58 PDT 2005
    +#    Added tests for filled boundary with cell-based vectors ['5921].
    +#
    +#    Hank Childs, Tue Sep  5 16:39:40 PDT 2006
    +#    Added test for when users put in non-vectors ['7486].
    +#
    +#    Hank Childs, Fri Sep 28 12:28:30 PDT 2007
    +#    Add tests for three recent bugs ['8160, '8259, '8265]
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +disp = DisplaceAttributes()
    +disp.variable = "vel"
    +SetDefaultOperatorOptions(disp)
    +
    +# 2D, rectilinear.
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Displace")
    +AddPlot("Mesh", "quadmesh2d")
    +AddOperator("Displace")
    +DrawPlots()
    +
    +Test("ops_disp01")
    +
    +SetActivePlots(1)
    +DeleteActivePlots()
    +ReplaceDatabase(silo_data_path("curv2d.silo"))
    +
    +ResetView()
    +
    +Test("ops_disp02")
    +
    +ReplaceDatabase(silo_data_path("curv3d.silo"))
    +
    +v = GetView3D()
    +v.viewNormal = (0.61, -0.61, 0.61)
    +SetView3D(v)
    +
    +Test("ops_disp03")
    +
    +ReplaceDatabase(silo_data_path("rect3d.silo"))
    +
    +Test("ops_disp04")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("ucd3d.silo"))
    +
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Displace")
    +disp.factor = 5
    +SetOperatorOptions(disp)
    +DrawPlots()
    +
    +Test("ops_disp05")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Displace")
    +disp.variable = "vel"
    +disp.factor = 1
    +SetOperatorOptions(disp)
    +DrawPlots()
    +Test("ops_disp06")
    +
    +disp.variable = "disp"
    +SetOperatorOptions(disp)
    +Test("ops_disp07")
    +
    +disp.variable = "t"
    +SetOperatorOptions(disp)
    +error = GetLastError()
    +TestText("ops_disp08", error)
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +
    +#   8265: cell-centered vector with rectilinear mesh 
    +# + 8259: file format the declares itself having 2D vectors + displace
    +AddPlot("Pseudocolor", "density")
    +AddOperator("Displace")
    +disp.variable = "mom"
    +disp.factor = 1e-12 # this way the quads won't overlap each other.
    +SetOperatorOptions(disp)
    +DrawPlots()
    +Test("ops_disp09")
    +
    +DeleteAllPlots()
    +
    +# '8160: subset plot displaced by a vector
    +AddPlot("Subset", "patches")
    +AddOperator("Displace")
    +SetOperatorOptions(disp)
    +DrawPlots()
    +Test("ops_disp10")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_dual_mesh.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_dual_mesh.html new file mode 100644 index 000000000..e24b90160 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_dual_mesh.html @@ -0,0 +1,114 @@ + +Results for operators/dual_mesh.py + +

    Results of VisIt Regression Test - operators/dual_mesh

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_dualmesh_pc_plot_2d_d_000.000.00
    ops_dualmesh_pc_plot_2d_d_010.000.00
    ops_dualmesh_pc_plot_2d_d_020.000.00
    ops_dualmesh_mesh_plot_2d_001.360.51
    ops_dualmesh_mesh_plot_2d_0189.7733.58
    ops_dualmesh_mesh_plot_2d_021.360.51
    ops_dual_mesh_pc_plot_3d_d_000.000.00
    ops_dual_mesh_pc_plot_3d_d_010.000.00
    ops_dual_mesh_pc_plot_3d_d_020.000.00
    ops_dual_mesh_pc_plot_3d_t_000.000.00
    ops_dual_mesh_pc_plot_3d_t_010.000.00
    ops_dual_mesh_pc_plot_3d_t_020.000.00
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_dual_mesh_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_dual_mesh_py.html new file mode 100644 index 000000000..52347620b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_dual_mesh_py.html @@ -0,0 +1,111 @@ +operators/dual_mesh.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  dual_mesh.py
    +#
    +#  Tests:      mesh      - 2D rectilinear, single domain.
    +#                          3D rectilinear, single domain.
    +#              plots     - pc, mesh
    +#              operators - DualMesh
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       May 13, 2008
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# Test 2D Case
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("ops_dualmesh_pc_plot_2d_d_00")
    +
    +# test auto, Zones to Nodes
    +AddOperator("DualMesh")
    +DrawPlots()
    +Test("ops_dualmesh_pc_plot_2d_d_01")
    +
    +# test auto, Nodes to Zones
    +AddOperator("DualMesh")
    +DrawPlots()
    +Test("ops_dualmesh_pc_plot_2d_d_02")
    +
    +DeleteAllPlots()
    +
    +# Test Mesh Plot auto
    +AddPlot("Mesh", "quadmesh2d")
    +DrawPlots()
    +Test("ops_dualmesh_mesh_plot_2d_00")
    +
    +AddOperator("DualMesh")
    +DrawPlots()
    +Test("ops_dualmesh_mesh_plot_2d_01")
    +
    +AddOperator("DualMesh")
    +DrawPlots()
    +Test("ops_dualmesh_mesh_plot_2d_02")
    +DeleteAllPlots()
    +
    +# Test 3D Case
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +view = GetView3D()
    +view.viewNormal = (-0.5, 0.5, 0.7172)
    +SetView3D(view)
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_d_00")
    +
    +# Test explicit Zones to Nodes
    +AddOperator("DualMesh")
    +DualMeshAtts = DualMeshAttributes()
    +DualMeshAtts.mode = DualMeshAtts.ZonesToNodes
    +SetOperatorOptions(DualMeshAtts)
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_d_01")
    +
    +# Test explicit Nodes to Zones (round trip)
    +AddOperator("DualMesh")
    +DualMeshAtts = DualMeshAttributes()
    +DualMeshAtts.mode = DualMeshAtts.NodesToZones
    +SetOperatorOptions(DualMeshAtts)
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_d_02")
    +
    +DeleteAllPlots()
    +
    +# Test Nodes to Zones <-> Zones to Nodes Round Trip
    +AddPlot("Pseudocolor", "t")
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_t_00")
    +
    +AddOperator("DualMesh")
    +DualMeshAtts = DualMeshAttributes()
    +DualMeshAtts.mode = DualMeshAtts.NodesToZones
    +SetOperatorOptions(DualMeshAtts)
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_t_01")
    +
    +AddOperator("DualMesh")
    +DualMeshAtts = DualMeshAttributes()
    +DualMeshAtts.mode = DualMeshAtts.ZonesToNodes
    +SetOperatorOptions(DualMeshAtts)
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_t_02")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_elevate.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_elevate.html new file mode 100644 index 000000000..d9c93b5f2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_elevate.html @@ -0,0 +1,132 @@ + +Results for operators/elevate.py + +

    Results of VisIt Regression Test - operators/elevate

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    elevate010.000.00
    elevate020.000.00
    elevate030.000.00
    elevate040.000.00
    elevate050.000.00
    elevate060.000.00
    elevate070.000.00
    elevate080.000.00
    elevate090.000.00
    elevate100.000.00
    elevate110.000.00
    elevate120.000.00
    elevate130.000.00
    elevate140.000.00
    elevate150.000.00
    elevate160.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_elevate_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_elevate_py.html new file mode 100644 index 000000000..a9dde97aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_elevate_py.html @@ -0,0 +1,164 @@ +operators/elevate.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  elevate.py
    +#
    +#  Tests:      mesh      - 2D rectilinear
    +#                          3D rectilinear, multiple domain,
    +#                          2D curvilinear, multiple domain
    +#              plots     - pc, mesh, filled boundary
    +#              operators - elevate
    +#              selection - none
    +#
    +#  Defect ID:  '5379, '5934 '6260, '6768
    +#
    +#  Programmer: Hank Childs
    +#  Date:       February 3, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Jun  7 14:16:02 PDT 2005
    +#    Add tests for lighting of slices after elevation.
    +#
    +#    Hank Childs, Tue Nov 15 07:17:22 PST 2005
    +#    Add tests for macro expressions as secondary variables.
    +#
    +#    Hank Childs, Thu Jan 10 15:52:00 PST 2008
    +#    Add test for recenter expression with material plot.
    +#
    +#    Hank Childs, Wed Jan 16 17:26:03 PST 2008
    +#    Add testing for the "zeroFlag".
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +#One zonal variable
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Elevate")
    +DrawPlots()
    +v = GetView3D()
    +v.viewNormal = (-0.707, 0, 0.707)
    +SetView3D(v)
    +Test("elevate01")
    +
    +#One nodal variable
    +ChangeActivePlotsVar("d")
    +Test("elevate02")
    +
    +elevate_atts = ElevateAttributes()
    +DefineScalarExpression("d_mod", "0.1*d")
    +elevate_atts.variable = "d_mod"
    +elevate_atts.useXYLimits = elevate_atts.Never
    +SetOperatorOptions(elevate_atts)
    +Test("elevate03")
    +
    +elevate_atts.useXYLimits = elevate_atts.Auto
    +SetOperatorOptions(elevate_atts)
    +Test("elevate04")
    +
    +#Primary variable zonal, Secondary variable zonal 
    +ChangeActivePlotsVar("p")
    +elevate_atts.variable = "d"
    +SetOperatorOptions(elevate_atts)
    +Test("elevate05")
    +
    +#Primary variable zonal, secondary nodal.
    +elevate_atts.variable = "u"
    +SetOperatorOptions(elevate_atts)
    +Test("elevate06")
    +
    +#Primary variable nodal, secondary nodal.
    +ChangeActivePlotsVar("v")
    +Test("elevate07")
    +
    +#Primary variable nodal, secondary zonal.
    +elevate_atts.variable = "p"
    +SetOperatorOptions(elevate_atts)
    +Test("elevate08")
    +
    +elevate_atts.useXYLimits = elevate_atts.Never
    +SetOperatorOptions(elevate_atts)
    +Test("elevate09")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Mesh", "quadmesh2d")
    +AddOperator("Elevate")
    +elevate_atts.variable = "p"
    +elevate_atts.useXYLimits = elevate_atts.Always
    +SetOperatorOptions(elevate_atts)
    +DrawPlots()
    +Test("elevate10")
    +
    +DeleteAllPlots()
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Elevate")
    +elevate_atts.variable = "u"
    +elevate_atts.useXYLimits = elevate_atts.Always
    +SetOperatorOptions(elevate_atts)
    +DrawPlots()
    +Test("elevate11")
    +
    +elevate_atts.useXYLimits = elevate_atts.Never
    +SetOperatorOptions(elevate_atts)
    +DrawPlots()
    +Test("elevate12")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +AddOperator("Elevate")
    +DrawPlots()
    +Test("elevate13")
    +
    +# Testing expressions.  Test that macro expressions work as secondary
    +# variables ('6768).
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +DefineScalarExpression("vv", "hgslice+polar_radius(Mesh2D)")
    +AddPlot("Pseudocolor", "hgslice")
    +AddOperator("Elevate")
    +elevate_atts.variable = "vv"
    +elevate_atts.useXYLimits = elevate_atts.Always
    +SetOperatorOptions(elevate_atts)
    +DrawPlots()
    +Test("elevate14")
    +
    +# Filled boundary with recentered expression
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +DefineScalarExpression("d2", "recenter(d)")
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Elevate")
    +elevate_atts.variable = "d2"
    +elevate_atts.useXYLimits = elevate_atts.Always
    +SetOperatorOptions(elevate_atts)
    +DrawPlots()
    +Test("elevate15")
    +
    +# Boundary plots that are elevated by zero height (no variable). '8346.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +AddPlot("Boundary", "mat1")
    +AddOperator("Elevate")
    +e = ElevateAttributes()
    +e.zeroFlag = 1
    +SetOperatorOptions(e)
    +DrawPlots()
    +v = GetView3D()
    +v.viewNormal = (0.5, 0.5, 0.5)
    +SetView3D(v)
    +Test("elevate16")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ex_surf.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ex_surf.html new file mode 100644 index 000000000..905d964ed --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ex_surf.html @@ -0,0 +1,56 @@ + +Results for operators/ex_surf.py + +

    Results of VisIt Regression Test - operators/ex_surf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_ex_surf_010.000.00
    ops_ex_surf_020 modifications totalling 0 lines
    ops_ex_surf_030 modifications totalling 0 lines
    ops_ex_surf_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ex_surf_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ex_surf_py.html new file mode 100644 index 000000000..b4a8eb41d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ex_surf_py.html @@ -0,0 +1,51 @@ +operators/ex_surf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  external_surface.py
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 24, 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("ExternalSurface")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.707, 0, 0.707)
    +v.nearPlane = 0
    +SetView3D(v)
    +
    +Test("ops_ex_surf_01")
    +
    +Query("NumZones", "actual")
    +t = GetQueryOutputString()
    +TestText("ops_ex_surf_02", t)
    +
    +es = ExternalSurfaceAttributes()
    +es.removeGhosts = 1
    +SetOperatorOptions(es)
    +
    +Query("NumZones", "actual")
    +t = GetQueryOutputString()
    +TestText("ops_ex_surf_03", t)
    +
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("ExternalSurface")
    +DrawPlots()
    +Test("ops_ex_surf_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_explode.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_explode.html new file mode 100644 index 000000000..1539317fb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_explode.html @@ -0,0 +1,184 @@ + +Results for operators/explode.py + +

    Results of VisIt Regression Test - operators/explode

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    explode_globe_000.000.00
    explode_globe_010.000.00
    explode_globe_020.000.00
    explode_globe_030.000.00
    explode_ucd3d_000.000.00
    explode_ucd3d_020.000.00
    explode_ucd3d_030.000.00
    explode_ucd3d_040.000.00
    explode_ucd3d_050.000.00
    explode_ucd3d_060.000.00
    explode_ucd3d_070.000.00
    explode_ucd3d_080.000.00
    explode_rect3d_000.000.00
    explode_multi_rect3d_000.000.00
    explode_tire_000.000.00
    explode_tire_010.000.00
    explode_tire_020.000.00
    explode_quad_disk_000.000.00
    recenter_000.000.00
    recenter_010.000.00
    recenter_020.000.00
    explode_domains_000.000.00
    explode_domains_010.000.00
    explode_repeat_labels_000.010.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_explode_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_explode_py.html new file mode 100644 index 000000000..e36fa3454 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_explode_py.html @@ -0,0 +1,580 @@ +operators/explode.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  explode.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain, 
    +#                           multi domain
    +#                          3D unstructured, single domain
    +#                          3D curvilinear, single domain
    +#                          2D unstructured, single domain
    +#              plots     - filled boundary, pseudocolor
    +#              operators - explode
    +#
    +#  Programmer: Alister Maguire
    +#  Date: Tue Jan  2 15:07:06 PST 2018
    +#
    +#  Modifications:
    +#
    +#      Alister Maguire, Wed Jan 17 15:28:46 PST 2018
    +#      Added tests of multi-domain data.    
    +#
    +#      Alister Maguire, Mon Jan 22 11:00:51 PST 2018
    +#      Changed explosion factors to account of scale update. 
    +#
    +#      Alister Maguire, Wed Feb 14 16:07:51 PST 2018
    +#      Updated tests with multiple explosions to be perfomed
    +#      by a single operator.   
    +#
    +#      Alister Maguire, Tue Feb 20 16:22:05 PST 2018
    +#      Added a 2d test with no materials. 
    +#
    +#      Alister Maguire, Wed May  2 12:54:43 PDT 2018
    +#      Added tests for recentering. 
    +#
    +#      Alister Maguire, Tue Sep 18 14:57:03 PDT 2018
    +#      Added tests for exploding domains. 
    +#
    +#      Alister Maguire, Mon Sep 24 13:32:04 PDT 2018
    +#      Added a test for handling repeat labels. 
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def unstructured_explosions():
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("FilledBoundary", "mat1", 1, 1)
    +    DrawPlots()
    +
    +    ResetView()
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.0758172, -0.984828, -0.156097)
    +    View3DAtts.focus = (0, 0, 0)
    +    View3DAtts.viewUp = (-0.01047, 0.155753, -0.987741)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 17.3205
    +    View3DAtts.nearPlane = -34.641
    +    View3DAtts.farPlane = 34.641
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 0.826446
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, 0, 0)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +    AddOperator("Explode")
    +    mainAtts = ExplodeAttributes()
    +
    +    # Explode one material by a plane
    +    atts1 = ExplodeAttributes()
    +    atts1.explosionType = atts1.Plane
    +    atts1.planePoint = (0, 0, 0)
    +    atts1.planeNorm = (1, 0, 0)
    +    atts1.materialExplosionFactor = 1
    +    atts1.material = "4"
    +    atts1.explodeMaterialCells = 1
    +    atts1.cellExplosionFactor = .8
    +    atts1.explosionPattern = atts1.Impact
    +    mainAtts.AddExplosions(atts1)
    +    SetOperatorOptions(mainAtts, 1)
    +    DrawPlots()
    +
    +    Test("explode_globe_00")
    +
    +    # Explode second material by plane
    +    atts2 = ExplodeAttributes()
    +    atts2.explosionType = atts2.Plane
    +    atts2.planePoint = (0, 0, 0)
    +    atts2.planeNorm = (0, 0, 1)
    +    atts2.materialExplosionFactor = 1
    +    atts2.material = "3"
    +    atts2.explodeMaterialCells = 1
    +    atts2.cellExplosionFactor = .8
    +    atts2.explosionPattern = atts2.Impact
    +    mainAtts.AddExplosions(atts2)
    +    SetOperatorOptions(mainAtts, 1)
    +    DrawPlots()
    +
    +    Test("explode_globe_01")
    +
    +    # Explode third material by plane
    +    atts3 = ExplodeAttributes()
    +    atts3.explosionType = atts3.Plane
    +    atts3.planePoint = (0, 0, 0)
    +    atts3.planeNorm = (0, 0, 1)
    +    atts3.materialExplosionFactor = 1
    +    atts3.material = "1"
    +    atts3.explodeMaterialCells = 1
    +    atts3.cellExplosionFactor = .3
    +    atts3.explosionPattern = atts3.Impact
    +    mainAtts.AddExplosions(atts3)
    +    SetOperatorOptions(mainAtts, 1)
    +    DrawPlots()
    +
    +    Test("explode_globe_02")
    +
    +    # Explode material by point
    +    atts4 = ExplodeAttributes()
    +    atts4.explosionType = atts4.Point
    +    atts4.explosionPoint = (0, 0, 0)
    +    atts4.materialExplosionFactor = 1
    +    atts4.material = "2"
    +    atts4.explodeMaterialCells = 1
    +    atts4.cellExplosionFactor = .1
    +    atts4.explosionPattern = atts4.Impact  # Impact, Scatter
    +    mainAtts.AddExplosions(atts4)
    +    SetOperatorOptions(mainAtts, 1)
    +    DrawPlots()
    +    Test("explode_globe_03")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def curvilinear_explosions():
    +    OpenDatabase(silo_data_path("ucd3d.silo"))
    +    AddPlot("Pseudocolor", "v", 1, 1)
    +    AddOperator("Explode", 1)
    +    DrawPlots()
    +
    +    ResetView()
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (-0.706303, 0.44773, 0.548338)
    +    View3DAtts.focus = (0, 3.41092, 10)
    +    View3DAtts.viewUp = (0.262178, 0.884949, -0.384874)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 17.0459
    +    View3DAtts.nearPlane = -34.641
    +    View3DAtts.farPlane = 34.641
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 0.926446
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, 3.41092, 10)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +    # Explode by cylinder without radius 
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Cylinder
    +    ExplodeAtts.cylinderPoint1 = (-5, 0, 20)
    +    ExplodeAtts.cylinderPoint2 = (5, 5, 0)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.cylinderRadius = 0
    +    ExplodeAtts.explodeMaterialCells = 1
    +    ExplodeAtts.cellExplosionFactor = 1
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
    +    ExplodeAtts.explodeAllCells = 0
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_00")
    +
    +    # Explode by plane
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Plane
    +    ExplodeAtts.explodeMaterialCells = 0
    +    ExplodeAtts.planePoint = (0, 2, 20)
    +    ExplodeAtts.planeNorm = (0, 1, 0)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "4"
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
    +    ExplodeAtts.explodeAllCells = 0
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_02")
    +
    +    # Explode all cells by point (impact)
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Point
    +    ExplodeAtts.explosionPoint = (0, 0, 0)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.cellExplosionFactor = 1
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
    +    ExplodeAtts.explodeAllCells = 1
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_03")
    +
    +    # Explode all cells by point (impact)
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Point
    +    ExplodeAtts.explosionPoint = (0, 3, 10)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.cellExplosionFactor = 1
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
    +    ExplodeAtts.explodeAllCells = 1
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_04")
    +
    +    # Explode all cells by point (scatter)
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Point
    +    ExplodeAtts.explosionPoint = (0, 3, 10)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.cellExplosionFactor = 3
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Scatter
    +    ExplodeAtts.explodeAllCells = 1
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_05")
    +
    +    # Explode material by point (scatter)
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Point
    +    ExplodeAtts.explosionPoint = (0, 0, 0)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.explodeMaterialCells = 1
    +    ExplodeAtts.cellExplosionFactor = 1.5
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Scatter
    +    ExplodeAtts.explodeAllCells = 0
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_06")
    +
    +    # Explode material by point
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Point
    +    ExplodeAtts.explosionPoint = (0, 3, 10)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.cylinderRadius = 0
    +    ExplodeAtts.explodeMaterialCells = 1
    +    ExplodeAtts.cellExplosionFactor = 1.5
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Scatter
    +    ExplodeAtts.explodeAllCells = 0
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_07")
    +
    +    # Explode all cells by cylinder with radius
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Cylinder
    +    ExplodeAtts.cylinderPoint1 = (0, 1, 10)
    +    ExplodeAtts.cylinderPoint2 = (0, 0, 10)
    +    ExplodeAtts.cylinderRadius = 4
    +    ExplodeAtts.cellExplosionFactor = .4
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
    +    ExplodeAtts.explodeAllCells = 1
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_08")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def rectilinear_explosions():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +    AddPlot("FilledBoundary", "mat1")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    AddOperator("Explode")
    +    mainAtts = ExplodeAttributes()
    +    DrawPlots()
    +
    +    atts1 = ExplodeAttributes()
    +    atts1.explosionPoint = (1, 0, 0)
    +    atts1.materialExplosionFactor = 2
    +    atts1.material = "7"
    +    mainAtts.AddExplosions(atts1)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    atts2 = ExplodeAttributes()
    +    atts2.explosionPoint = (0, 0, 1)
    +    atts2.materialExplosionFactor = 2
    +    atts2.material = "5"
    +    mainAtts.AddExplosions(atts2)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    Test("explode_rect3d_00")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def multi_rectilinear_explosions():
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +    AddPlot("FilledBoundary", "mat1")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    AddOperator("Explode")
    +    DrawPlots()
    +    mainAtts = ExplodeAttributes()
    +
    +    atts1 = ExplodeAttributes()
    +    atts1.explosionPoint = (1, 0, 0)
    +    atts1.materialExplosionFactor = 2
    +    atts1.material = "2"
    +    mainAtts.AddExplosions(atts1)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    atts2 = ExplodeAttributes()
    +    atts2.explosionPoint = (0, 0, 1)
    +    atts2.materialExplosionFactor = 2
    +    atts2.material = "3"
    +    mainAtts.AddExplosions(atts2)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    Test("explode_multi_rect3d_00")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def multi_tire():
    +    OpenDatabase(silo_data_path("tire.silo"))
    +    AddPlot("FilledBoundary", "Materials")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (1.0, 0.0, 0.0)
    +    View3DAtts.focus = (0, 0, 0)
    +    View3DAtts.viewUp = (0, 1, 0)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 8.0
    +    View3DAtts.nearPlane = -0.5
    +    View3DAtts.farPlane = 0.5
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 0.826446
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, 0, 0)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +
    +    AddOperator("Explode")
    +    DrawPlots()
    +    mainAtts = ExplodeAttributes()
    +
    +    # If domains are being treated correctly, this
    +    # should not produce an explosion. 
    +    atts1 = ExplodeAttributes()
    +    atts1.materialExplosionFactor = 500
    +    atts1.material = "1 Rubber"
    +    mainAtts.AddExplosions(atts1)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    Test("explode_tire_00")
    +
    +    atts2 = ExplodeAttributes()
    +    atts2.materialExplosionFactor = 0
    +    atts2.explodeMaterialCells = 1
    +    atts2.cellExplosionFactor = 1
    +    atts2.explosionType = atts2.Plane
    +    atts2.planePoint = (0, 0, 0)
    +    atts2.planeNorm = (0, 1, 0)
    +    atts2.material = "1 Rubber"
    +    mainAtts.AddExplosions(atts2)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    Test("explode_tire_01")
    +
    +    atts3 = ExplodeAttributes()
    +    atts3.materialExplosionFactor = 1
    +    atts3.explodeMaterialCells = 0
    +    atts3.cellExplosionFactor = 0
    +    atts3.explosionType = atts3.Point
    +    atts3.explosionPoint = (0, 0, 60)
    +    atts3.material = "2 Steel"
    +    mainAtts.AddExplosions(atts3)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    Test("explode_tire_02")
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def TwoDimNoMat():
    +    OpenDatabase(silo_data_path("quad_disk.silo"))
    +    AddPlot("Pseudocolor", "sphElevD_on_mesh")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    AddOperator("Explode")
    +    DrawPlots()
    +
    +    atts = ExplodeAttributes()
    +    atts.explodeAllCells  = 1
    +    atts.explosionPattern = atts.Scatter
    +    SetOperatorOptions(atts)
    +
    +    Test("explode_quad_disk_00")
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def TestRecenter():
    +    #
    +    # Recentering is enabled when exploding all cells,
    +    # and it allows a cell to be displaced even when 
    +    # its center lies on an explode origin. 
    +    #
    +    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +    AddPlot("Pseudocolor", "3D/z1")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    AddOperator("Explode")
    +    DrawPlots()
    +
    +    #
    +    # Test when a cell center lies on an explode
    +    # cylinder with radius 0. 
    +    #
    +    atts = ExplodeAttributes()
    +    atts.explodeAllCells = 1
    +    atts.explosionType   = atts.Cylinder
    +    atts.cylinderPoint1  = (0, .5, .5)
    +    atts.cylinderPoint2  = (1, .5, .5)
    +    SetOperatorOptions(atts)
    +
    +    Test("recenter_00")
    +
    +    #
    +    # Test when a cell center lies on an explode
    +    # point.
    +    #
    +    atts = ExplodeAttributes()
    +    atts.explodeAllCells = 1
    +    atts.explosionType   = atts.Point
    +    atts.explosionPoint  = (.5, .5, .5)
    +    SetOperatorOptions(atts)
    +
    +    Test("recenter_01")
    +
    +    #
    +    # Test when a cell center lies on an explode
    +    # plane.
    +    #
    +    atts = ExplodeAttributes()
    +    atts.explodeAllCells = 1
    +    atts.explosionType   = atts.Plane
    +    atts.planePoint      = (1.5, 0, 0)
    +    atts.planeNorm       = (1, 0, 0)
    +    SetOperatorOptions(atts)
    +
    +    Test("recenter_02")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +
    +def TestDomainExplode():
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +    AddPlot("Subset", "domains(mesh1)")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    #
    +    # Test exploding full mesh domains. 
    +    #
    +    AddOperator("Explode")
    +    expAtts = ExplodeAttributes()
    +    expAtts.explosionType = expAtts.Point
    +    expAtts.explosionPoint = (0, 0, 0)
    +    expAtts.materialExplosionFactor = 1.2
    +    expAtts.material = "15"
    +    expAtts.explodeMaterialCells = 0
    +    expAtts.explosionPattern = expAtts.Impact
    +    SetOperatorOptions(expAtts, 1)
    +    DrawPlots()
    +    Test("explode_domains_00")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +    AddPlot("Subset", "domains(mesh1_front)")
    +
    +    #
    +    # Test exploding a subset of mesh domains. 
    +    #
    +    AddOperator("Explode")
    +    expAtts = ExplodeAttributes()
    +    expAtts.explosionType = expAtts.Point
    +    expAtts.explosionPoint = (0, 0, 0)
    +    expAtts.materialExplosionFactor = 1.2
    +    expAtts.material = "8"
    +    expAtts.explodeMaterialCells = 0
    +    expAtts.explosionPattern = expAtts.Impact
    +    SetOperatorOptions(expAtts, 1)
    +    DrawPlots()
    +    Test("explode_domains_01")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def TestRepeatMatLabels():
    +    #
    +    # Under certain circumstances, the explode operator
    +    # will recieve repeat labels that need to be condensed. 
    +    # Make sure we can handle this. 
    +    #
    +    OpenDatabase(silo_data_path("tire.silo"))
    +    AddPlot("FilledBoundary", "Materials")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    #
    +    # First, add a reflect operator, which will create
    +    # repeat labels if used on multi domain data.  
    +    #
    +    AddOperator("Reflect")
    +
    +    #
    +    # Test exploding full mesh domains. 
    +    #
    +    AddOperator("Explode")
    +    expAtts = ExplodeAttributes()
    +    expAtts.explosionType = expAtts.Point
    +    expAtts.explosionPoint = (0, 0, 10)
    +    expAtts.materialExplosionFactor = 1.2
    +    expAtts.material = "1 Rubber"
    +    expAtts.explodeMaterialCells = 1
    +    expAtts.explosionPattern = expAtts.Impact
    +    SetOperatorOptions(expAtts, 1)
    +    DrawPlots()
    +    Test("explode_repeat_labels_00")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +
    +def Main():
    +    unstructured_explosions()
    +    curvilinear_explosions()
    +    rectilinear_explosions()
    +    multi_rectilinear_explosions()
    +    multi_tire()
    +    TwoDimNoMat()
    +    TestRecenter()
    +    TestDomainExplode()
    +    TestRepeatMatLabels()
    +
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_extrudeStacked.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_extrudeStacked.html new file mode 100644 index 000000000..1a0c546bb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_extrudeStacked.html @@ -0,0 +1,339 @@ + +Results for operators/extrudeStacked.py + +

    Results of VisIt Regression Test - operators/extrudeStacked

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Extrude stacked function
    Testing database = lines.vtk
    extrude_lines_v0_node_height0.000.00
    extrude_lines_v1_node_height0.000.00
    extrude_lines_v1_cell_height0.000.00
    extrude_lines_v2_node_height0.000.00
    extrude_lines_v2_cell_height0.000.00
    extrude_lines_v2_index0.000.00
    extrude_lines_v3_node_height0.000.00
    extrude_lines_v3_cell_height0.000.00
    extrude_lines_v3_index0.000.00
    extrude_lines_v4_node_height0.000.00
    extrude_lines_v4_cell_height0.000.00
    extrude_lines_v4_index0.000.00
    Testing database = polygons.vtk
    extrude_polygons_v0_node_height0.000.00
    extrude_polygons_v1_node_height0.000.00
    extrude_polygons_v1_cell_height0.000.00
    extrude_polygons_v2_node_height0.000.00
    extrude_polygons_v2_cell_height0.000.00
    extrude_polygons_v2_index0.000.00
    extrude_polygons_v3_node_height0.000.00
    extrude_polygons_v3_cell_height0.000.00
    extrude_polygons_v3_index0.000.00
    extrude_polygons_v4_node_height0.000.00
    extrude_polygons_v4_cell_height0.000.00
    extrude_polygons_v4_index0.000.00
    Testing database = rectilinear.vtk
    extrude_rectilinear_v0_node_height0.000.00
    extrude_rectilinear_v1_node_height0.000.00
    extrude_rectilinear_v1_cell_height0.000.00
    extrude_rectilinear_v2_node_height0.000.00
    extrude_rectilinear_v2_cell_height0.000.00
    extrude_rectilinear_v2_index0.000.00
    extrude_rectilinear_v3_node_height0.000.00
    extrude_rectilinear_v3_cell_height0.000.00
    extrude_rectilinear_v3_index0.000.00
    extrude_rectilinear_v4_node_height0.000.00
    extrude_rectilinear_v4_cell_height0.000.00
    extrude_rectilinear_v4_index0.000.00
    Testing database = structured.vtk
    extrude_structured_v0_node_height0.000.00
    extrude_structured_v1_node_height0.000.00
    extrude_structured_v1_cell_height0.000.00
    extrude_structured_v2_node_height0.000.00
    extrude_structured_v2_cell_height0.000.00
    extrude_structured_v2_index0.000.00
    extrude_structured_v3_node_height0.000.00
    extrude_structured_v3_cell_height0.000.00
    extrude_structured_v3_index0.000.00
    extrude_structured_v4_node_height0.000.00
    extrude_structured_v4_cell_height0.000.00
    extrude_structured_v4_index0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_extrudeStacked_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_extrudeStacked_py.html new file mode 100644 index 000000000..c19e83806 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_extrudeStacked_py.html @@ -0,0 +1,283 @@ +operators/extrudeStacked.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  extrudeStacked.py
    +#
    +#  Tests:      operator   - Extrude Stacked
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       30 August 2023
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Sep 20, 2023
    +#    Changed SetLocalView to retrieve the view via GetView3D() and only
    +#    change the viewNormal and viewUp, so that test images are larger.
    +#
    +# ----------------------------------------------------------------------------
    +
    +RequiredDatabasePlugin("VTK")
    +
    +# For local testing using the CLI
    +
    +#def data_path( db_name ):
    +#  db="/Users/allen/Projects/VisIt/git/visit/data/%s" %(db_name)
    +#  return db
    +
    +#def Test(case_name):
    +#   swatts = SaveWindowAttributes()
    +#   swatts.family = 0
    +#   swatts.fileName = "/Users/allen/Projects/VisIt/git/visit/data/%s" %(case_name)
    +#   SetSaveWindowAttributes(swatts)
    +#   SaveWindow()
    +#   return
    +
    +#def TestSection(tmpstr):
    +#   return
    +
    +#def Exit():
    +#   return
    +
    +# Set the local view
    +def SetLocalView():
    +  ResetView()
    +  #
    +  View3DAtts = GetView3D()
    +  View3DAtts.viewNormal = (0, -1, 0)
    +  View3DAtts.viewUp = (0, 0, 1)
    +  SetView3D(View3DAtts)
    +
    +# Open the database here and add a plot.
    +db=data_path("extrude_test_data/extrude_structured.vtk")
    +OpenDatabase(db)
    +
    +AddPlot("Pseudocolor", "V1", 1, 0)
    +AddOperator("ExtrudeStacked", 0)
    +SetActivePlots(0)
    +DrawPlots()
    +
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.renderSurfaces = 1
    +PseudocolorAtts.renderWireframe = 1
    +SetPlotOptions(PseudocolorAtts)
    +
    +SetLocalView()
    +
    +# Loop through all of the databases
    +databases=["lines", "polygons", "rectilinear", "structured" ]
    +
    +TestSection("Extrude stacked function")
    +for i in range(len(databases)):
    +  db=data_path("extrude_test_data/extrude_%s.vtk") %(databases[i])
    +  tmpstr="Testing database = %s.vtk" %(databases[i])
    +  TestSection(tmpstr)
    +  OpenDatabase(db)
    +  #
    +  # Replace the database from before with the one just openned.
    +  ReplaceDatabase(db)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("default")
    +  ExtrudeStackedAtts.visualVariableNames = ("default")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37)
    +  ExtrudeStackedAtts.extentScale = (1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.OriginalData
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v0_node_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37)
    +  ExtrudeStackedAtts.extentScale = (1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v1_node_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37)
    +  ExtrudeStackedAtts.extentScale = (1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v1_cell_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v2_node_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v2_cell_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.VariableIndex
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v2_index" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v3_node_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v3_cell_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.VariableIndex
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v3_index" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v4_node_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v4_cell_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.VariableIndex
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v4_index" %(databases[i])
    +  Test(tmpstr)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_geometry.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_geometry.html new file mode 100644 index 000000000..f57738371 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_geometry.html @@ -0,0 +1,166 @@ + +Results for operators/ic_geometry.py + +

    Results of VisIt Regression Test - operators/ic_geometry

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ic_geometry_010.040.00
    ic_geometry_020.030.00
    ic_geometry_030.030.00
    ic_geometry_040.030.00
    ic_geometry_050.090.00
    ic_geometry_060.090.00
    ic_geometry_070.120.00
    ic_geometry_080.120.00
    ic_geometry_090.230.00
    ic_geometry_104.790.07
    ic_geometry_114.790.07
    ic_geometry_124.790.07
    ic_geometry_137.260.05
    ic_geometry_149.080.06
    ic_geometry_crop_10.000.00
    ic_geometry_crop_20.000.00
    ic_geometry_crop_30.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_geometry_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_geometry_py.html new file mode 100644 index 000000000..f0bed1b5f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_geometry_py.html @@ -0,0 +1,379 @@ +operators/ic_geometry.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_geometry.py
    +#
    +#  Tests:      operator      - integralcurve
    +#              plot          - pseudocolor
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Sep 29 09:17:57 PDT 2020
    +#    Turned off IC warnings.
    +#
    +#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#    Changed Pseudocolor CurrentPlot to ActualData.
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAtts.focus = (0.496062, 0.99603, 0.496062)
    +View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 12.1829
    +View3DAtts.nearPlane = -24.3658
    +View3DAtts.farPlane = 24.3658
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.maxFlag = 0
    +PseudocolorAtts.max = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.colorTableName = "hot"
    +PseudocolorAtts.invertColorTable = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    +PseudocolorAtts.opacityVariable = ""
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.opacityVarMin = 0
    +PseudocolorAtts.opacityVarMax = 1
    +PseudocolorAtts.opacityVarMinFlag = 0
    +PseudocolorAtts.opacityVarMaxFlag = 0
    +PseudocolorAtts.pointSize = 0.05
    +PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineType = PseudocolorAtts.Tube  # Line, Tube, Ribbon
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.tubeResolution = 100
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
    +PseudocolorAtts.tubeRadiusAbsolute = 0.1
    +PseudocolorAtts.tubeRadiusBBox = 0.005
    +PseudocolorAtts.tubeRadiusVarEnabled = 0
    +PseudocolorAtts.tubeRadiusVar = ""
    +PseudocolorAtts.tubeRadiusVarRatio = 10
    +PseudocolorAtts.tailStyle = PseudocolorAtts.Spheres  # None, Spheres, Cones
    +PseudocolorAtts.headStyle = PseudocolorAtts.NONE  # None, Spheres, Cones
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
    +PseudocolorAtts.endPointRadiusAbsolute = 0.3
    +PseudocolorAtts.endPointRadiusBBox = 0.005
    +PseudocolorAtts.endPointResolution = 100
    +PseudocolorAtts.endPointRatio = 2
    +PseudocolorAtts.endPointRadiusVarEnabled = 0
    +PseudocolorAtts.endPointRadiusVar = ""
    +PseudocolorAtts.endPointRadiusVarRatio = 10
    +PseudocolorAtts.renderSurfaces = 1
    +PseudocolorAtts.renderWireframe = 0
    +PseudocolorAtts.renderPoints = 0
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.wireframeColor = (0, 0, 0, 0)
    +PseudocolorAtts.pointColor = (0, 0, 0, 0)
    +SetPlotOptions(PseudocolorAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, PointList, SpecifiedLine, Circle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox, Selection, FieldData
    +IntegralCurveAtts.pointSource = (0, 0, 0)
    +IntegralCurveAtts.lineStart = (0, 0, 0)
    +IntegralCurveAtts.lineEnd = (1, 0, 0)
    +IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
    +IntegralCurveAtts.planeNormal = (0, 1, 0)
    +IntegralCurveAtts.planeUpAxis = (1, 0, 0)
    +IntegralCurveAtts.radius = 1
    +IntegralCurveAtts.sphereOrigin = (0, 0, 0)
    +IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
    +IntegralCurveAtts.useWholeBox = 1
    +IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
    +IntegralCurveAtts.fieldData = ()
    +IntegralCurveAtts.sampleDensity0 = 5
    +IntegralCurveAtts.sampleDensity1 = 5
    +IntegralCurveAtts.sampleDensity2 = 2
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute  # Solid, SeedPointID, Speed, Vorticity, ArcLength, TimeAbsolute, TimeRelative, AverageDistanceFromSeed, CorrelationDistance, Difference, Variable
    +IntegralCurveAtts.dataVariable = ""
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both, ForwardDirectionless, BackwardDirectionless, BothDirectionless
    +IntegralCurveAtts.maxSteps = 100000
    +IntegralCurveAtts.terminateByDistance = 0
    +IntegralCurveAtts.termDistance = 10
    +IntegralCurveAtts.terminateByTime = 1
    +IntegralCurveAtts.termTime = 200
    +IntegralCurveAtts.maxStepLength = 0.1
    +IntegralCurveAtts.limitMaximumTimestep = 1
    +IntegralCurveAtts.maxTimeStep = 0.02
    +IntegralCurveAtts.relTol = 1e-06
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.absTolAbsolute = 1e-06
    +IntegralCurveAtts.absTolBBox = 1e-07
    +IntegralCurveAtts.fieldType = IntegralCurveAtts.Default  # Default, FlashField, M3DC12DField, M3DC13DField, Nek5000Field, NektarPPField
    +IntegralCurveAtts.fieldConstant = 1
    +IntegralCurveAtts.velocitySource = (0, 0, 0)
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.AdamsBashforth  # Euler, Leapfrog, DormandPrince, AdamsBashforth, RK4, M3DC12DIntegrator
    +IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects  # LoadOnDemand, ParallelStaticDomains, ManagerWorker, VisItSelects
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.pathlines = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTime = 0
    +IntegralCurveAtts.pathlinesPeriod = 0
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE  # CONN_CMFE, POS_CMFE
    +IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines  # Lines, Tubes, Ribbons
    +IntegralCurveAtts.cropBeginFlag = 0
    +IntegralCurveAtts.cropBegin = 0
    +IntegralCurveAtts.cropEndFlag = 0
    +IntegralCurveAtts.cropEnd = 0
    +IntegralCurveAtts.cropValue = IntegralCurveAtts.Time  # Distance, Time, StepNumber
    +IntegralCurveAtts.sampleDistance0 = 18
    +IntegralCurveAtts.sampleDistance1 = 18
    +IntegralCurveAtts.sampleDistance2 = 10
    +IntegralCurveAtts.fillInterior = 1
    +IntegralCurveAtts.randomSamples = 0
    +IntegralCurveAtts.randomSeed = 0
    +IntegralCurveAtts.numberOfRandomSamples = 1
    +IntegralCurveAtts.issueAdvectionWarnings = 1
    +IntegralCurveAtts.issueBoundaryWarnings = 1
    +IntegralCurveAtts.issueTerminationWarnings = 1
    +IntegralCurveAtts.issueStepsizeWarnings = 1
    +IntegralCurveAtts.issueStiffnessWarnings = 1
    +IntegralCurveAtts.issueCriticalPointsWarnings = 1
    +IntegralCurveAtts.criticalPointThreshold = 0.001
    +IntegralCurveAtts.correlationDistanceAngTol = 5
    +IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
    +IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
    +IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.selection = ""
    +
    +# Test coloring options
    +
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test( "ic_geometry_01" )
    +
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.FractionOfBBox
    +PseudocolorAtts.endPointRadiusBBox = 0.03
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_02" )
    +
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute
    +PseudocolorAtts.endPointRadiusAbsolute = 0.6
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_03" )
    +
    +PseudocolorAtts.lineType = PseudocolorAtts.Tube
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_04" )
    +
    +PseudocolorAtts.tubeRadiusBBox = 0.01
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_05" )
    +
    +PseudocolorAtts.tubeRadiusAbsolute = 0.2
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_06" )
    +
    +PseudocolorAtts.lineType = PseudocolorAtts.Ribbon
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_07" )
    +
    +PseudocolorAtts.tubeRadiusBBox = 0.01
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_08" )
    +
    +PseudocolorAtts.tubeRadiusAbsolute = 0.4
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_09" )
    +
    +PseudocolorAtts.lineType = PseudocolorAtts.Line
    +PseudocolorAtts.headStyle = PseudocolorAtts.Spheres  # None, Spheres, Cones
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_10" )
    +
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.FractionOfBBox
    +PseudocolorAtts.endPointRadiusBBox = 0.03
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_11" )
    +
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute
    +PseudocolorAtts.endPointRadiusAbsolute = 0.6
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_12" )
    +
    +PseudocolorAtts.tailStyle = PseudocolorAtts.Cones  # None, Spheres, Cones
    +PseudocolorAtts.headStyle = PseudocolorAtts.Cones  # None, Spheres, Cones
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_13" )
    +
    +PseudocolorAtts.endPointRatio = 3
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_14" )
    +
    +#
    +# Test crop w/ head (cone) location
    +#
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("noise.silo"))
    +AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
    +
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.maxFlag = 0
    +PseudocolorAtts.max = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.colorTableName = "hot"
    +PseudocolorAtts.invertColorTable = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    +PseudocolorAtts.opacityVariable = ""
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.opacityVarMin = 0
    +PseudocolorAtts.opacityVarMax = 1
    +PseudocolorAtts.opacityVarMinFlag = 0
    +PseudocolorAtts.opacityVarMaxFlag = 0
    +PseudocolorAtts.pointSize = 0.05
    +PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineType = PseudocolorAtts.Line  # Line, Tube, Ribbon
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.tubeResolution = 10
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +PseudocolorAtts.tubeRadiusAbsolute = 0.4
    +PseudocolorAtts.tubeRadiusBBox = 0.02
    +PseudocolorAtts.tubeRadiusVarEnabled = 0
    +PseudocolorAtts.tubeRadiusVar = ""
    +PseudocolorAtts.tubeRadiusVarRatio = 10
    +PseudocolorAtts.tailStyle = PseudocolorAtts.NONE  # None, Spheres, Cones
    +PseudocolorAtts.headStyle = PseudocolorAtts.Cones  # None, Spheres, Cones
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
    +PseudocolorAtts.endPointRadiusAbsolute = 0.8
    +PseudocolorAtts.endPointRadiusBBox = 0.04
    +PseudocolorAtts.endPointResolution = 10
    +PseudocolorAtts.endPointRatio = 2
    +PseudocolorAtts.endPointRadiusVarEnabled = 0
    +PseudocolorAtts.endPointRadiusVar = ""
    +PseudocolorAtts.endPointRadiusVarRatio = 10
    +PseudocolorAtts.renderSurfaces = 1
    +PseudocolorAtts.renderWireframe = 0
    +PseudocolorAtts.renderPoints = 0
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.wireframeColor = (0, 0, 0, 0)
    +PseudocolorAtts.pointColor = (0, 0, 0, 0)
    +SetPlotOptions(PseudocolorAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPoint  # SpecifiedPoint, PointList, SpecifiedLine, Circle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox, Selection, FieldData
    +IntegralCurveAtts.pointSource = (0, 0, 0)
    +IntegralCurveAtts.lineStart = (0, 0, 0)
    +IntegralCurveAtts.lineEnd = (1, 0, 0)
    +IntegralCurveAtts.planeOrigin = (0, 0, 0)
    +IntegralCurveAtts.planeNormal = (0, 0, 1)
    +IntegralCurveAtts.planeUpAxis = (0, 1, 0)
    +IntegralCurveAtts.radius = 1
    +IntegralCurveAtts.sphereOrigin = (0, 0, 0)
    +IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
    +IntegralCurveAtts.useWholeBox = 1
    +IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
    +IntegralCurveAtts.fieldData = ()
    +IntegralCurveAtts.sampleDensity0 = 2
    +IntegralCurveAtts.sampleDensity1 = 2
    +IntegralCurveAtts.sampleDensity2 = 2
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute  # Solid, SeedPointID, Speed, Vorticity, ArcLength, TimeAbsolute, TimeRelative, AverageDistanceFromSeed, CorrelationDistance, Difference, Variable
    +IntegralCurveAtts.dataVariable = ""
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward  # Forward, Backward, Both, ForwardDirectionless, BackwardDirectionless, BothDirectionless
    +IntegralCurveAtts.maxSteps = 1000
    +IntegralCurveAtts.terminateByDistance = 0
    +IntegralCurveAtts.termDistance = 10
    +IntegralCurveAtts.terminateByTime = 0
    +IntegralCurveAtts.termTime = 10
    +IntegralCurveAtts.maxStepLength = 0.1
    +IntegralCurveAtts.limitMaximumTimestep = 0
    +IntegralCurveAtts.maxTimeStep = 0.1
    +IntegralCurveAtts.relTol = 0.0001
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.absTolAbsolute = 1e-06
    +IntegralCurveAtts.absTolBBox = 1e-06
    +IntegralCurveAtts.fieldType = IntegralCurveAtts.Default  # Default, FlashField, M3DC12DField, M3DC13DField, Nek5000Field, NektarPPField
    +IntegralCurveAtts.fieldConstant = 1
    +IntegralCurveAtts.velocitySource = (0, 0, 0)
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.AdamsBashforth  # Euler, Leapfrog, DormandPrince, AdamsBashforth, RK4, M3DC12DIntegrator
    +IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects  # LoadOnDemand, ParallelStaticDomains, ManagerWorker, VisItSelects
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.pathlines = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTime = 0
    +IntegralCurveAtts.pathlinesPeriod = 0
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE  # CONN_CMFE, POS_CMFE
    +IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines  # Lines, Tubes, Ribbons
    +IntegralCurveAtts.cropBeginFlag = 0
    +IntegralCurveAtts.cropBegin = 0
    +IntegralCurveAtts.cropEndFlag = 0
    +IntegralCurveAtts.cropEnd = 0
    +IntegralCurveAtts.cropValue = IntegralCurveAtts.Time  # Distance, Time, StepNumber
    +IntegralCurveAtts.sampleDistance0 = 10
    +IntegralCurveAtts.sampleDistance1 = 10
    +IntegralCurveAtts.sampleDistance2 = 10
    +IntegralCurveAtts.fillInterior = 1
    +IntegralCurveAtts.randomSamples = 0
    +IntegralCurveAtts.randomSeed = 0
    +IntegralCurveAtts.numberOfRandomSamples = 1
    +IntegralCurveAtts.issueAdvectionWarnings = 0
    +IntegralCurveAtts.issueBoundaryWarnings = 0
    +IntegralCurveAtts.issueTerminationWarnings = 0
    +IntegralCurveAtts.issueStepsizeWarnings = 0
    +IntegralCurveAtts.issueStiffnessWarnings = 0
    +IntegralCurveAtts.issueCriticalPointsWarnings = 0
    +IntegralCurveAtts.criticalPointThreshold = 0.001
    +IntegralCurveAtts.correlationDistanceAngTol = 5
    +IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
    +IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
    +IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.selection = ""
    +
    +IntegralCurveAtts.cropEndFlag  = 1
    +IntegralCurveAtts.cropEnd = 2
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test( "ic_geometry_crop_1")
    +
    +IntegralCurveAtts.cropEnd = 5
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_geometry_crop_2")
    +
    +IntegralCurveAtts.cropBeginFlag  = 1
    +IntegralCurveAtts.cropBegin = 2
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_geometry_crop_3")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_integration.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_integration.html new file mode 100644 index 000000000..ffacfa108 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_integration.html @@ -0,0 +1,106 @@ + +Results for operators/ic_integration.py + +

    Results of VisIt Regression Test - operators/ic_integration

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ic_integration_010.000.00
    ic_integration_020.000.00
    ic_integration_030.000.00
    ic_integration_040.000.00
    ic_integration_050.000.00
    ic_integration_060.000.00
    ic_integration_070.000.00
    ic_integration_080.000.00
    ic_integration_090.090.00
    ic_integration_100.240.00
    ic_integration_110.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_integration_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_integration_py.html new file mode 100644 index 000000000..d03b99f47 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_integration_py.html @@ -0,0 +1,115 @@ +operators/ic_integration.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_integration.py
    +#
    +#  Tests:      operator      - integralcurve
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Sep 29 11:01:37 PDT 2020
    +#    Turn off IC warnings.
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAtts.focus = (0.496062, 0.99603, 0.496062)
    +View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 12.1829
    +View3DAtts.nearPlane = -24.3658
    +View3DAtts.farPlane = 24.3658
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, SpecifiedPointList, SpecifiedLine, SpecifiedCircle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox
    +IntegralCurveAtts.limitMaximumTimestep = 1
    +IntegralCurveAtts.maxTimeStep = 0.02
    +IntegralCurveAtts.terminateByTime = 1
    +IntegralCurveAtts.termTime = 200
    +IntegralCurveAtts.maxSteps = 100000
    +IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
    +IntegralCurveAtts.planeNormal = (0, 1, 0)
    +IntegralCurveAtts.planeUpAxis = (1, 0, 0)
    +IntegralCurveAtts.sampleDensity0 = 5
    +IntegralCurveAtts.sampleDensity1 = 5
    +IntegralCurveAtts.sampleDistance0 = 18
    +IntegralCurveAtts.sampleDistance1 = 18
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both
    +IntegralCurveAtts.relTol = 1e-06
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.Absolute
    +IntegralCurveAtts.absTolAbsolute = 1e-07
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.DormandPrince  # DormandPrince, AdamsBashforth, M3DC1Integrator
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
    +# turn off warnings
    +IntegralCurveAtts.issueAdvectionWarnings = 0
    +IntegralCurveAtts.issueBoundaryWarnings = 0
    +IntegralCurveAtts.issueTerminationWarnings = 0
    +IntegralCurveAtts.issueStepsizeWarnings = 0
    +IntegralCurveAtts.issueStiffnessWarnings = 0
    +IntegralCurveAtts.issueCriticalPointsWarnings = 0
    +
    +
    +# test defaults
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test( "ic_integration_01" )
    +
    +IntegralCurveAtts.maxTimeStep = 0.05
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_02" )
    +
    +IntegralCurveAtts.limitMaximumTimestep = 0
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_03" )
    +
    +IntegralCurveAtts.absTolAbsolute = 1e-03
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_04" )
    +
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_05" )
    +
    +IntegralCurveAtts.absTolBBox = 1e-09
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_06" )
    +
    +IntegralCurveAtts.absTolBBox = 1e-04
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_07" )
    +
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.AdamsBashforth
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_08" )
    +
    +IntegralCurveAtts.maxStepLength = 0.2
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_09" )
    +
    +IntegralCurveAtts.maxStepLength = 1.0
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_10" )
    +
    +IntegralCurveAtts.maxStepLength = 0.01
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_11" )
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pathlines.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pathlines.html new file mode 100644 index 000000000..72c83ab1a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pathlines.html @@ -0,0 +1,86 @@ + +Results for operators/ic_pathlines.py + +

    Results of VisIt Regression Test - operators/ic_pathlines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ic_pathlines_010.000.00
    ic_pathlines_020.000.00
    ic_pathlines_030 modifications totalling 0 lines
    ic_pathlines_040.000.00
    ic_pathlines_050.000.00
    ic_pathlines_060.000.00
    ic_pathlines_070.000.00
    ic_pathlines_080.000.00
    ic_pathlines_090 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pathlines_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pathlines_py.html new file mode 100644 index 000000000..f03b11612 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pathlines_py.html @@ -0,0 +1,160 @@ +operators/ic_pathlines.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_pathlines.py
    +#
    +#  Tests:      operator      - integralcurve
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Thu Sep 17 11:35:47 PDT 2020
    +#    Turn off IC warnings. Set larger linewidth so for better images.
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("PICS_Tester")
    +
    +OpenDatabase(data_path("pics_test_data/pathline_test.pics"))
    +AddPlot("Pseudocolor", "operators/IntegralCurve/velocity", 1, 0)
    +pcAtts = PseudocolorAttributes();
    +pcAtts.lineWidth = 3
    +SetPlotOptions(pcAtts)
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAtts.focus = (0.496062, 0.99603, 0.496062)
    +View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 12.1829
    +View3DAtts.nearPlane = -24.3658
    +View3DAtts.farPlane = 24.3658
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPoint
    +IntegralCurveAtts.pointSource = (0.5, 0.1, 0.1)
    +IntegralCurveAtts.lineStart = (0, 0, 0)
    +IntegralCurveAtts.lineEnd = (1, 0, 0)
    +IntegralCurveAtts.planeOrigin = (0, 0, 0)
    +IntegralCurveAtts.planeNormal = (0, 0, 1)
    +IntegralCurveAtts.planeUpAxis = (0, 1, 0)
    +IntegralCurveAtts.radius = 1
    +IntegralCurveAtts.sphereOrigin = (0, 0, 0)
    +IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
    +IntegralCurveAtts.useWholeBox = 1
    +IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
    +IntegralCurveAtts.fieldData = ()
    +IntegralCurveAtts.sampleDensity0 = 2
    +IntegralCurveAtts.sampleDensity1 = 2
    +IntegralCurveAtts.sampleDensity2 = 2
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
    +IntegralCurveAtts.dataVariable = ""
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward
    +IntegralCurveAtts.maxSteps = 1000
    +IntegralCurveAtts.terminateByDistance = 0
    +IntegralCurveAtts.termDistance = 10
    +IntegralCurveAtts.terminateByTime = 0
    +IntegralCurveAtts.termTime = 10
    +IntegralCurveAtts.maxStepLength = 0.01
    +IntegralCurveAtts.limitMaximumTimestep = 0
    +IntegralCurveAtts.maxTimeStep = 0.1
    +IntegralCurveAtts.relTol = 0.0001
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox
    +IntegralCurveAtts.absTolAbsolute = 1e-06
    +IntegralCurveAtts.absTolBBox = 1e-06
    +IntegralCurveAtts.fieldType = IntegralCurveAtts.Default
    +IntegralCurveAtts.fieldConstant = 1
    +IntegralCurveAtts.velocitySource = (0, 0, 0)
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.Euler
    +IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.pathlines = 1
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTime = 0
    +IntegralCurveAtts.pathlinesPeriod = 0
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.CONN_CMFE
    +IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines
    +IntegralCurveAtts.cropBeginFlag = 0
    +IntegralCurveAtts.cropBegin = 0
    +IntegralCurveAtts.cropEndFlag = 0
    +IntegralCurveAtts.cropEnd = 0
    +IntegralCurveAtts.cropValue = IntegralCurveAtts.Time
    +IntegralCurveAtts.sampleDistance0 = 10
    +IntegralCurveAtts.sampleDistance1 = 10
    +IntegralCurveAtts.sampleDistance2 = 10
    +IntegralCurveAtts.fillInterior = 1
    +IntegralCurveAtts.randomSamples = 0
    +IntegralCurveAtts.randomSeed = 0
    +IntegralCurveAtts.numberOfRandomSamples = 1
    +IntegralCurveAtts.issueAdvectionWarnings = 1
    +IntegralCurveAtts.issueBoundaryWarnings = 1
    +IntegralCurveAtts.issueTerminationWarnings = 1
    +IntegralCurveAtts.issueStepsizeWarnings = 1
    +IntegralCurveAtts.issueStiffnessWarnings = 1
    +IntegralCurveAtts.issueCriticalPointsWarnings = 1
    +IntegralCurveAtts.criticalPointThreshold = 0.001
    +IntegralCurveAtts.correlationDistanceAngTol = 5
    +IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
    +IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
    +IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox
    +IntegralCurveAtts.selection = ""
    +IntegralCurveAtts.issueAdvectionWarnings = 0
    +IntegralCurveAtts.issueBoundaryWarnings = 0
    +IntegralCurveAtts.issueTerminationWarnings = 0
    +IntegralCurveAtts.issueStepsizeWarnings = 0
    +IntegralCurveAtts.issueStiffnessWarnings = 0
    +IntegralCurveAtts.issueCriticalPointsWarnings = 0
    +
    +SetOperatorOptions(IntegralCurveAtts, 0)
    +DrawPlots()
    +Test("ic_pathlines_01")
    +
    +IntegralCurveAtts.terminateByTime = 1
    +IntegralCurveAtts.termTime = 3
    +SetOperatorOptions(IntegralCurveAtts)
    +Test("ic_pathlines_02")
    +
    +TimeSliderSetState(6)
    +e = GetLastError()
    +TestText("ic_pathlines_03", e)
    +
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Backward
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test("ic_pathlines_04")
    +
    +IntegralCurveAtts.terminateByTime = 0
    +SetOperatorOptions(IntegralCurveAtts)
    +Test("ic_pathlines_05")
    +
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 1
    +IntegralCurveAtts.pathlinesOverrideStartingTime = 3.5
    +SetOperatorOptions(IntegralCurveAtts)
    +Test("ic_pathlines_06")
    +
    +TimeSliderSetState(0)
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE
    +SetOperatorOptions(IntegralCurveAtts)
    +Test("ic_pathlines_07")
    +
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE
    +SetOperatorOptions(IntegralCurveAtts)
    +Test("ic_pathlines_08")
    +
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
    +SetOperatorOptions(IntegralCurveAtts)
    +e = GetLastError()
    +TestText("ic_pathlines_09", e)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pics.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pics.html new file mode 100644 index 000000000..11f8d1d64 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pics.html @@ -0,0 +1,1392 @@ + +Results for operators/ic_pics.py + +

    Results of VisIt Regression Test - operators/ic_pics

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    MB_2D_rect
    Varying time type with parallelization algorithm = POS
    Varying integrator = Euler (0)
    ic_pics_MB_2D_rect_POS_Euler_path_forward0.000.00
    ic_pics_MB_2D_rect_POS_Euler_path_backward0.000.00
    ic_pics_MB_2D_rect_POS_Euler_stream_forward0.000.00
    ic_pics_MB_2D_rect_POS_Euler_stream_backward0.000.00
    ic_pics_MB_2D_rect_POS_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_2D_rect_POS_Leapfrog_path_forward0.000.00
    ic_pics_MB_2D_rect_POS_Leapfrog_path_backward0.000.00
    ic_pics_MB_2D_rect_POS_Leapfrog_stream_forward0.000.00
    ic_pics_MB_2D_rect_POS_Leapfrog_stream_backward0.000.00
    ic_pics_MB_2D_rect_POS_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_2D_rect_POS_DormandPrince_path_forward0.000.00
    ic_pics_MB_2D_rect_POS_DormandPrince_path_backward0.000.00
    ic_pics_MB_2D_rect_POS_DormandPrince_stream_forward0.000.00
    ic_pics_MB_2D_rect_POS_DormandPrince_stream_backward0.000.00
    ic_pics_MB_2D_rect_POS_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_2D_rect_POS_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_2D_rect_POS_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_2D_rect_POS_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_2D_rect_POS_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_2D_rect_POS_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_2D_rect_POS_RK4_path_forward0.000.00
    ic_pics_MB_2D_rect_POS_RK4_path_backward0.000.00
    ic_pics_MB_2D_rect_POS_RK4_stream_forward0.000.00
    ic_pics_MB_2D_rect_POS_RK4_stream_backward0.000.00
    ic_pics_MB_2D_rect_POS_RK4_stream_both0.000.00
    Varying time type with parallelization algorithm = POD
    Varying integrator = Euler (0)
    ic_pics_MB_2D_rect_POD_Euler_path_forward0.000.00
    ic_pics_MB_2D_rect_POD_Euler_path_backward0.000.00
    ic_pics_MB_2D_rect_POD_Euler_stream_forward0.000.00
    ic_pics_MB_2D_rect_POD_Euler_stream_backward0.000.00
    ic_pics_MB_2D_rect_POD_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_2D_rect_POD_Leapfrog_path_forward0.000.00
    ic_pics_MB_2D_rect_POD_Leapfrog_path_backward0.000.00
    ic_pics_MB_2D_rect_POD_Leapfrog_stream_forward0.000.00
    ic_pics_MB_2D_rect_POD_Leapfrog_stream_backward0.000.00
    ic_pics_MB_2D_rect_POD_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_2D_rect_POD_DormandPrince_path_forward0.000.00
    ic_pics_MB_2D_rect_POD_DormandPrince_path_backward0.000.00
    ic_pics_MB_2D_rect_POD_DormandPrince_stream_forward0.000.00
    ic_pics_MB_2D_rect_POD_DormandPrince_stream_backward0.000.00
    ic_pics_MB_2D_rect_POD_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_2D_rect_POD_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_2D_rect_POD_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_2D_rect_POD_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_2D_rect_POD_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_2D_rect_POD_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_2D_rect_POD_RK4_path_forward0.000.00
    ic_pics_MB_2D_rect_POD_RK4_path_backward0.000.00
    ic_pics_MB_2D_rect_POD_RK4_stream_forward0.000.00
    ic_pics_MB_2D_rect_POD_RK4_stream_backward0.000.00
    ic_pics_MB_2D_rect_POD_RK4_stream_both0.000.00
    MB_2D_ugrid
    Varying time type with parallelization algorithm = POS
    Varying integrator = Euler (0)
    ic_pics_MB_2D_ugrid_POS_Euler_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_Euler_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_Euler_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_Euler_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_2D_ugrid_POS_Leapfrog_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_Leapfrog_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_Leapfrog_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_Leapfrog_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_2D_ugrid_POS_DormandPrince_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_DormandPrince_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_DormandPrince_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_DormandPrince_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_2D_ugrid_POS_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_2D_ugrid_POS_RK4_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_RK4_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_RK4_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_RK4_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_RK4_stream_both0.000.00
    Varying time type with parallelization algorithm = POD
    Varying integrator = Euler (0)
    ic_pics_MB_2D_ugrid_POD_Euler_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_Euler_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_Euler_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_Euler_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_2D_ugrid_POD_Leapfrog_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_Leapfrog_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_Leapfrog_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_Leapfrog_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_2D_ugrid_POD_DormandPrince_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_DormandPrince_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_DormandPrince_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_DormandPrince_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_2D_ugrid_POD_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_2D_ugrid_POD_RK4_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_RK4_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_RK4_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_RK4_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_RK4_stream_both0.000.00
    MB_3D_rect
    Varying time type with parallelization algorithm = POS
    Varying integrator = Euler (0)
    ic_pics_MB_3D_rect_POS_Euler_path_forward0.000.00
    ic_pics_MB_3D_rect_POS_Euler_path_backward0.000.00
    ic_pics_MB_3D_rect_POS_Euler_stream_forward0.000.00
    ic_pics_MB_3D_rect_POS_Euler_stream_backward0.000.00
    ic_pics_MB_3D_rect_POS_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_3D_rect_POS_Leapfrog_path_forward0.000.00
    ic_pics_MB_3D_rect_POS_Leapfrog_path_backward0.000.00
    ic_pics_MB_3D_rect_POS_Leapfrog_stream_forward0.000.00
    ic_pics_MB_3D_rect_POS_Leapfrog_stream_backward0.000.00
    ic_pics_MB_3D_rect_POS_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_3D_rect_POS_DormandPrince_path_forward0.000.00
    ic_pics_MB_3D_rect_POS_DormandPrince_path_backward0.000.00
    ic_pics_MB_3D_rect_POS_DormandPrince_stream_forward0.000.00
    ic_pics_MB_3D_rect_POS_DormandPrince_stream_backward0.000.00
    ic_pics_MB_3D_rect_POS_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_3D_rect_POS_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_3D_rect_POS_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_3D_rect_POS_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_3D_rect_POS_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_3D_rect_POS_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_3D_rect_POS_RK4_path_forward0.000.00
    ic_pics_MB_3D_rect_POS_RK4_path_backward0.000.00
    ic_pics_MB_3D_rect_POS_RK4_stream_forward0.000.00
    ic_pics_MB_3D_rect_POS_RK4_stream_backward0.000.00
    ic_pics_MB_3D_rect_POS_RK4_stream_both0.000.00
    Varying time type with parallelization algorithm = POD
    Varying integrator = Euler (0)
    ic_pics_MB_3D_rect_POD_Euler_path_forward0.000.00
    ic_pics_MB_3D_rect_POD_Euler_path_backward0.000.00
    ic_pics_MB_3D_rect_POD_Euler_stream_forward0.000.00
    ic_pics_MB_3D_rect_POD_Euler_stream_backward0.000.00
    ic_pics_MB_3D_rect_POD_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_3D_rect_POD_Leapfrog_path_forward0.000.00
    ic_pics_MB_3D_rect_POD_Leapfrog_path_backward0.000.00
    ic_pics_MB_3D_rect_POD_Leapfrog_stream_forward0.000.00
    ic_pics_MB_3D_rect_POD_Leapfrog_stream_backward0.000.00
    ic_pics_MB_3D_rect_POD_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_3D_rect_POD_DormandPrince_path_forward0.000.00
    ic_pics_MB_3D_rect_POD_DormandPrince_path_backward0.000.00
    ic_pics_MB_3D_rect_POD_DormandPrince_stream_forward0.000.00
    ic_pics_MB_3D_rect_POD_DormandPrince_stream_backward0.000.00
    ic_pics_MB_3D_rect_POD_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_3D_rect_POD_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_3D_rect_POD_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_3D_rect_POD_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_3D_rect_POD_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_3D_rect_POD_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_3D_rect_POD_RK4_path_forward0.000.00
    ic_pics_MB_3D_rect_POD_RK4_path_backward0.000.00
    ic_pics_MB_3D_rect_POD_RK4_stream_forward0.000.00
    ic_pics_MB_3D_rect_POD_RK4_stream_backward0.000.00
    ic_pics_MB_3D_rect_POD_RK4_stream_both0.000.00
    MB_3D_ugrid
    Varying time type with parallelization algorithm = POS
    Varying integrator = Euler (0)
    ic_pics_MB_3D_ugrid_POS_Euler_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_Euler_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_Euler_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_Euler_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_3D_ugrid_POS_Leapfrog_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_Leapfrog_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_Leapfrog_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_Leapfrog_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_3D_ugrid_POS_DormandPrince_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_DormandPrince_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_DormandPrince_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_DormandPrince_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_3D_ugrid_POS_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_3D_ugrid_POS_RK4_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_RK4_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_RK4_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_RK4_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_RK4_stream_both0.000.00
    Varying time type with parallelization algorithm = POD
    Varying integrator = Euler (0)
    ic_pics_MB_3D_ugrid_POD_Euler_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_Euler_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_Euler_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_Euler_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_3D_ugrid_POD_Leapfrog_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_Leapfrog_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_Leapfrog_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_Leapfrog_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_3D_ugrid_POD_DormandPrince_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_DormandPrince_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_DormandPrince_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_DormandPrince_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_3D_ugrid_POD_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_3D_ugrid_POD_RK4_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_RK4_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_RK4_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_RK4_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_RK4_stream_both0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pics_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pics_py.html new file mode 100644 index 000000000..5597a4e34 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_pics_py.html @@ -0,0 +1,114 @@ +operators/ic_pics.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_pics.py
    +#
    +#  Tests:      operator      - integralcurve
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Thu Sep 17 11:35:47 PDT 2020
    +#    Turn off IC warnings. Set larger linewidth so for better images.
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("PICS_Tester")
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +databases=["MB_2D_rect", "MB_2D_ugrid", "MB_3D_rect", "MB_3D_ugrid"]
    +is2D=[1,1,0,0]
    +isUgrid=[0,1,0,1]
    +algs=[IntegralCurveAtts.LoadOnDemand, IntegralCurveAtts.ParallelStaticDomains]
    +algs_strings=["POS", "POD", "MS", "BestAlg"]
    +time_strings=["path_forward", "path_backward", "stream_forward", "stream_backward", "stream_both"]
    +intg=[IntegralCurveAtts.Euler, IntegralCurveAtts.Leapfrog, IntegralCurveAtts.DormandPrince, IntegralCurveAtts.AdamsBashforth, IntegralCurveAtts.RK4]
    +intg_strings=["Euler", "Leapfrog", "DormandPrince", "AdamsBashforth", "RK4"]
    +
    +View3DAtts = View3DAttributes()
    +View3DAttIntegralCurveAttsviewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAttIntegralCurveAttsfocus = (0.496062, 0.99603, 0.496062)
    +View3DAttIntegralCurveAttsviewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAttIntegralCurveAttsviewAngle = 30
    +View3DAttIntegralCurveAttsparallelScale = 12.1829
    +View3DAttIntegralCurveAttsnearPlane = -24.3658
    +View3DAttIntegralCurveAttsfarPlane = 24.3658
    +View3DAttIntegralCurveAttsimagePan = (0, 0)
    +View3DAttIntegralCurveAttsimageZoom = 1
    +View3DAttIntegralCurveAttsperspective = 1
    +View3DAttIntegralCurveAttseyeAngle = 2
    +View3DAttIntegralCurveAttsaxis3DScaleFlag = 0
    +View3DAttIntegralCurveAttsaxis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +for i in range(len(databases)):
    +  TestSection(databases[i])
    +  db=data_path("pics_test_data/%s.pics") %(databases[i])
    +  for j in range(len(algs)):
    +     tmpstr="Varying time type with parallelization algorithm = %s" %(algs_strings[j])
    +     TestSection(tmpstr)
    +
    +     for integrator_i in range(len(intg)) :
    +       tmpstr="Varying integrator = %s (%d)" %(intg_strings[integrator_i], integrator_i)
    +       TestSection(tmpstr)
    +
    +       for k in range(len(time_strings)):
    +         DeleteAllPlots()
    +         OpenDatabase(db)
    +         AddPlot("Pseudocolor", "operators/IntegralCurve/velocity", 1, 0)
    +         pcAtts = PseudocolorAttributes();
    +         pcAtts.lineWidth = 3
    +         SetPlotOptions(pcAtts)
    +         IntegralCurveAtts = IntegralCurveAttributes()
    +         IntegralCurveAtts.parallelizationAlgorithmType = algs[j]
    +         IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPoint
    +         IntegralCurveAtts.issueAdvectionWarnings = 0
    +         IntegralCurveAtts.issueBoundaryWarnings = 0
    +         IntegralCurveAtts.issueTerminationWarnings = 0
    +         IntegralCurveAtts.issueStepsizeWarnings = 0
    +         IntegralCurveAtts.issueStiffnessWarnings = 0
    +         IntegralCurveAtts.issueCriticalPointsWarnings = 0
    +         if (is2D[i]):
    +           if (intg[integrator_i] in [IntegralCurveAtts.RK4, IntegralCurveAtts.DormandPrince, IntegralCurveAtts.AdamsBashforth]) :
    +             IntegralCurveAtts.pointSource = (0.51, 0.1, 0)
    +           else:
    +             IntegralCurveAtts.pointSource = (0.5, 0.1, 0)
    +         else:
    +           if (isUgrid[i]):
    +             IntegralCurveAtts.pointSource = (0.2, 0.6, 0.6)
    +           else:
    +             if (intg[integrator_i] in [IntegralCurveAtts.RK4, IntegralCurveAtts.DormandPrince, IntegralCurveAtts.AdamsBashforth]) :
    +               IntegralCurveAtts.pointSource = (0.51, 0.1, 0.1)
    +             else:
    +               IntegralCurveAtts.pointSource = (0.5, 0.1, 0.1)
    +         if (time_strings[k] == "path_forward"):
    +           TimeSliderSetState(0)
    +           IntegralCurveAtts.pathlines = 1
    +           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward
    +         if (time_strings[k] == "path_backward"):
    +           TimeSliderSetState(TimeSliderGetNStates()-1)
    +           IntegralCurveAtts.pathlines = 1
    +           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Backward
    +         if (time_strings[k] == "stream_forward"):
    +           TimeSliderSetState(0)
    +           IntegralCurveAtts.pathlines = 0
    +           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward
    +         if (time_strings[k] == "stream_backward"):
    +           TimeSliderSetState(0)
    +           IntegralCurveAtts.pathlines = 0
    +           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Backward
    +         if (time_strings[k] == "stream_both"):
    +           TimeSliderSetState(0)
    +           IntegralCurveAtts.pathlines = 0
    +           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both
    +         IntegralCurveAtts.maxStepLength = 0.01
    +         IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE
    +         IntegralCurveAtts.integrationType = intg[integrator_i]
    +         SetOperatorOptions(IntegralCurveAtts)
    +         DrawPlots()
    +         tmpstr="ic_pics_%s_%s_%s_%s" %(databases[i], algs_strings[j], intg_strings[integrator_i], time_strings[k])
    +         Test(tmpstr)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_streamlines.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_streamlines.html new file mode 100644 index 000000000..ef84ab8b0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_streamlines.html @@ -0,0 +1,110 @@ + +Results for operators/ic_streamlines.py + +

    Results of VisIt Regression Test - operators/ic_streamlines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ic_streamlines_010.000.00
    ic_streamlines_020.000.00
    ic_streamlines_030.040.00
    ic_streamlines_040.040.00
    ic_streamlines_053.700.01
    ic_streamlines_060.000.00
    ic_streamlines_070.000.00
    ic_streamlines_080.040.00
    ic_streamlines_090.000.00
    ic_streamlines_100.000.00
    ic_streamlines_110.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_streamlines_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_streamlines_py.html new file mode 100644 index 000000000..9ea556921 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_streamlines_py.html @@ -0,0 +1,220 @@ +operators/ic_streamlines.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_streamlines.py
    +#
    +#  Tests:      operator      - integralcurve
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Sep 29 11:29:33 PDT 2020
    +#    Turn off IC warnings.
    +#
    +#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#    Changed Pseudocolor CurrentPlot to ActualData.
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAtts.focus = (0.496062, 0.99603, 0.496062)
    +View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 12.1829
    +View3DAtts.nearPlane = -24.3658
    +View3DAtts.farPlane = 24.3658
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.maxFlag = 0
    +PseudocolorAtts.max = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.colorTableName = "hot"
    +PseudocolorAtts.invertColorTable = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    +PseudocolorAtts.opacityVariable = ""
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.opacityVarMin = 0
    +PseudocolorAtts.opacityVarMax = 1
    +PseudocolorAtts.opacityVarMinFlag = 0
    +PseudocolorAtts.opacityVarMaxFlag = 0
    +PseudocolorAtts.pointSize = 0.05
    +PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineType = PseudocolorAtts.Tube  # Line, Tube, Ribbon
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.tubeResolution = 100
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
    +PseudocolorAtts.tubeRadiusAbsolute = 0.25
    +PseudocolorAtts.tubeRadiusBBox = 0.005
    +PseudocolorAtts.tubeRadiusVarEnabled = 0
    +PseudocolorAtts.tubeRadiusVar = ""
    +PseudocolorAtts.tubeRadiusVarRatio = 10
    +PseudocolorAtts.tailStyle = PseudocolorAtts.Spheres  # None, Spheres, Cones
    +PseudocolorAtts.headStyle = PseudocolorAtts.NONE  # None, Spheres, Cones
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
    +PseudocolorAtts.endPointRadiusAbsolute = 0.8
    +PseudocolorAtts.endPointRadiusBBox = 0.005
    +PseudocolorAtts.endPointResolution = 100
    +PseudocolorAtts.endPointRatio = 2
    +PseudocolorAtts.endPointRadiusVarEnabled = 0
    +PseudocolorAtts.endPointRadiusVar = ""
    +PseudocolorAtts.endPointRadiusVarRatio = 10
    +PseudocolorAtts.renderSurfaces = 1
    +PseudocolorAtts.renderWireframe = 0
    +PseudocolorAtts.renderPoints = 0
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.wireframeColor = (0, 0, 0, 0)
    +PseudocolorAtts.pointColor = (0, 0, 0, 0)
    +SetPlotOptions(PseudocolorAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, PointList, SpecifiedLine, Circle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox, Selection, FieldData
    +IntegralCurveAtts.pointSource = (0, 0, 0)
    +IntegralCurveAtts.lineStart = (0, 0, 0)
    +IntegralCurveAtts.lineEnd = (1, 0, 0)
    +IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
    +IntegralCurveAtts.planeNormal = (0, 1, 0)
    +IntegralCurveAtts.planeUpAxis = (1, 0, 0)
    +IntegralCurveAtts.radius = 1
    +IntegralCurveAtts.sphereOrigin = (0, 0, 0)
    +IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
    +IntegralCurveAtts.useWholeBox = 1
    +IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
    +IntegralCurveAtts.fieldData = ()
    +IntegralCurveAtts.sampleDensity0 = 5
    +IntegralCurveAtts.sampleDensity1 = 5
    +IntegralCurveAtts.sampleDensity2 = 2
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.Speed  # Solid, SeedPointID, Speed, Vorticity, ArcLength, TimeAbsolute, TimeRelative, AverageDistanceFromSeed, CorrelationDistance, Difference, Variable
    +IntegralCurveAtts.dataVariable = ""
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both, ForwardDirectionless, BackwardDirectionless, BothDirectionless
    +IntegralCurveAtts.maxSteps = 100000
    +IntegralCurveAtts.terminateByDistance = 0
    +IntegralCurveAtts.termDistance = 10
    +IntegralCurveAtts.terminateByTime = 1
    +IntegralCurveAtts.termTime = 200
    +IntegralCurveAtts.maxStepLength = 0.1
    +IntegralCurveAtts.limitMaximumTimestep = 1
    +IntegralCurveAtts.maxTimeStep = 0.02
    +IntegralCurveAtts.relTol = 1e-06
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.absTolAbsolute = 1e-06
    +IntegralCurveAtts.absTolBBox = 1e-07
    +IntegralCurveAtts.fieldType = IntegralCurveAtts.Default  # Default, FlashField, M3DC12DField, M3DC13DField, Nek5000Field, NektarPPField
    +IntegralCurveAtts.fieldConstant = 1
    +IntegralCurveAtts.velocitySource = (0, 0, 0)
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.DormandPrince  # Euler, Leapfrog, DormandPrince, AdamsBashforth, RK4, M3DC12DIntegrator
    +IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects  # LoadOnDemand, ParallelStaticDomains, ManagerWorker, VisItSelects
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.pathlines = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTime = 0
    +IntegralCurveAtts.pathlinesPeriod = 0
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE  # CONN_CMFE, POS_CMFE
    +IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines  # Lines, Tubes, Ribbons
    +IntegralCurveAtts.cropBeginFlag = 0
    +IntegralCurveAtts.cropBegin = 0
    +IntegralCurveAtts.cropEndFlag = 0
    +IntegralCurveAtts.cropEnd = 0
    +IntegralCurveAtts.cropValue = IntegralCurveAtts.Time  # Distance, Time, StepNumber
    +IntegralCurveAtts.sampleDistance0 = 18
    +IntegralCurveAtts.sampleDistance1 = 18
    +IntegralCurveAtts.sampleDistance2 = 10
    +IntegralCurveAtts.fillInterior = 1
    +IntegralCurveAtts.randomSamples = 0
    +IntegralCurveAtts.randomSeed = 0
    +IntegralCurveAtts.numberOfRandomSamples = 1
    +IntegralCurveAtts.issueAdvectionWarnings = 0
    +IntegralCurveAtts.issueBoundaryWarnings = 0
    +IntegralCurveAtts.issueTerminationWarnings = 0
    +IntegralCurveAtts.issueStepsizeWarnings = 0
    +IntegralCurveAtts.issueStiffnessWarnings = 0
    +IntegralCurveAtts.issueCriticalPointsWarnings = 0
    +IntegralCurveAtts.criticalPointThreshold = 0.001
    +IntegralCurveAtts.correlationDistanceAngTol = 5
    +IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
    +IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
    +IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.selection = ""
    +
    +# Test coloring options
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.Speed
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test( "ic_streamlines_01" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.Vorticity
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_02" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.ArcLength
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_03" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_04" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.SeedPointID
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_05" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.Variable
    +IntegralCurveAtts.dataVariable = "hardyglobal"
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_06" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.Solid
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_07" )
    +
    +# test termination modes (termination by time implied in previous tests)
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.ArcLength
    +
    +IntegralCurveAtts.terminateByTime = 0
    +IntegralCurveAtts.terminateByDistance = 1
    +IntegralCurveAtts.termDistance = 10
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_08" )
    +
    +IntegralCurveAtts.termDistance = 5
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_09" )
    +
    +IntegralCurveAtts.terminateByDistance = 0
    +IntegralCurveAtts.maxSteps = 500
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_10" )
    +
    +IntegralCurveAtts.maxSteps = 250
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_11" )
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_termination.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_termination.html new file mode 100644 index 000000000..7b027964e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_termination.html @@ -0,0 +1,84 @@ + +Results for operators/ic_termination.py + +

    Results of VisIt Regression Test - operators/ic_termination

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ic_termination_010.000.00
    ic_termination_020.000.00
    ic_termination_030.000.00
    ic_termination_040.000.00
    ic_termination_050.000.00
    ic_termination_060.000.00
    ic_termination_070.000.00
    ic_termination_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_termination_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_termination_py.html new file mode 100644 index 000000000..82ac40880 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_ic_termination_py.html @@ -0,0 +1,91 @@ +operators/ic_termination.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_termination.py
    +#
    +#  Tests:      operator      - integralcurve
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAtts.focus = (0.496062, 0.99603, 0.496062)
    +View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 12.1829
    +View3DAtts.nearPlane = -24.3658
    +View3DAtts.farPlane = 24.3658
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, SpecifiedPointList, SpecifiedLine, SpecifiedCircle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox
    +IntegralCurveAtts.terminateByTime = 1
    +IntegralCurveAtts.termTime = 200
    +IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
    +IntegralCurveAtts.planeNormal = (0, 1, 0)
    +IntegralCurveAtts.planeUpAxis = (1, 0, 0)
    +IntegralCurveAtts.sampleDensity0 = 5
    +IntegralCurveAtts.sampleDensity1 = 5
    +IntegralCurveAtts.sampleDistance0 = 18
    +IntegralCurveAtts.sampleDistance1 = 18
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both
    +IntegralCurveAtts.relTol = 1e-06
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.Absolute
    +IntegralCurveAtts.absTolAbsolute = 1e-07
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.DormandPrince  # DormandPrince, AdamsBashforth, M3DC1Integrator
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
    +
    +# test defaults
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test( "ic_termination_01" )
    +
    +IntegralCurveAtts.termTime = 50
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_02" )
    +
    +IntegralCurveAtts.terminateByDistance = 1
    +IntegralCurveAtts.termDistance = 4
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_03" )
    +
    +IntegralCurveAtts.terminateByDistance = 1
    +IntegralCurveAtts.termDistance = 12
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_04" )
    +
    +IntegralCurveAtts.terminateByTime = 0
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_05" )
    +
    +IntegralCurveAtts.maxSteps = 40
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_06" )
    +
    +IntegralCurveAtts.termDistance = 25
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_07" )
    +
    +IntegralCurveAtts.maxSteps = 10000
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_08" )
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_indexselect.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_indexselect.html new file mode 100644 index 000000000..aab4e6bfb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_indexselect.html @@ -0,0 +1,273 @@ + +Results for operators/indexselect.py + +

    Results of VisIt Regression Test - operators/indexselect

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_indexselect010.000.00
    ops_indexselect020.000.00
    ops_indexselect030.000.00
    ops_indexselect040.000.00
    ops_indexselect050.000.00
    ops_indexselect060.000.00
    ops_indexselect070.000.00
    ops_indexselect080.000.00
    ops_indexselect090.000.00
    ops_indexselect100.000.00
    ops_indexselect110.000.00
    ops_indexselect120.000.00
    ops_indexselect130.000.00
    ops_indexselect140.000.00
    ops_indexselect150.000.00
    ops_indexselect160.000.00
    ops_indexselect170.000.00
    ops_indexselect180.000.00
    ops_indexselect190.000.00
    ops_indexselect200.000.00
    ops_indexselect210.000.00
    ops_indexselect220.000.00
    ops_indexselect230.000.00
    ops_indexselect240.000.00
    ops_indexselect250.000.00
    ops_indexselect260.000.00
    ops_indexselect270.000.00
    ops_indexselect280.000.00
    ops_indexselect290.000.00
    ops_indexselect300.000.00
    ops_indexselect310.000.00
    ops_indexselect320.000.00
    IndexSelect on Point meshes.
    ops_indexselect330.000.00
    ops_indexselect340.000.00
    ops_indexselect350.000.00
    ops_indexselect360.000.00
    ops_indexselect370.000.00
    ops_indexselect380.000.00
    ops_indexselect390.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_indexselect_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_indexselect_py.html new file mode 100644 index 000000000..ef87cbe59 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_indexselect_py.html @@ -0,0 +1,621 @@ +operators/indexselect.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  indexselect.py
    +#
    +#  Tests:      mesh      - 3D curvilinear, single domain,
    +#                          3D rectilinear, single domain.
    +#                          2D rectilinear, single domain.
    +#                          3D rectilinear, single domain.
    +#              plots     - pc, mesh, subset, vector, surface
    +#              operators - index select (with threshold and sphere slice)
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Hank Childs
    +#  Date:       October 2, 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Kathleen Bonnell, Wed Sep  3 09:31:25 PDT 2003
    +#    Opaque mode for MeshPlot is ON by default now, so turn it off
    +#    for this test.
    +#
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
    +#
    +#    Kathleen Bonnell, Wed Sep  8 11:29:10 PDT 2004 
    +#    Add two new tests, testing 'modulo' problems. ('3308).
    +#
    +#    Kathleen Bonnell, Wed Jul 20 13:32:44 PDT 2005 
    +#    Add two new tests, testing 'group' problems. ('6386).
    +#
    +#    Kathleen Bonnell, Wed Aug 10 10:13:56 PDT 2005 
    +#    Add tests 27-30 which tests extracting faces along maximum and minimum
    +#    boundaries of 3d data. ('6106).
    +#
    +#    Kathleen Bonnell, Fri Aug 19 15:45:46 PDT 2005 
    +#    Add tests 31-32 which tests domain boundaries w/i a group that coincide
    +#    with external boundaries of the index-selection. ('6428)  
    +#
    +#    Kathleen Bonnell, Mon Jan 30 16:40:30 PST 2006 
    +#    Add tests 33-38 which tests point meshes.
    +#
    +#    Kathleen Bonnell, Thu Jun  7 14:43:32 PDT 2007 
    +#    IndexSelect atts have changed, make corrections. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Wed Jan 11 13:57:00 PST 2012
    +#    Added test for Index Select of point meshes with Box operator applied.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#    Changed Pseudocolor CurrentPlot to ActualData.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +atts = IndexSelectAttributes()
    +# Dim is an enumerated type.  0 -> 1D, 1 -> 2D, 2 -> 3D.
    +atts.dim = 2
    +atts.xMin = 5
    +atts.xMax = 23
    +atts.xIncr = 2
    +atts.yMin = 0
    +atts.yMax = 20
    +atts.yIncr = 1
    +atts.zMin = 10
    +atts.zMax = -1
    +atts.zIncr = 2
    +
    +# 3D, rectilinear, zonal var.
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +view = GetView3D()
    +view.viewNormal = (-0.5, 0.5, 0.7172)
    +SetView3D(view)
    +Test("ops_indexselect01")
    +DeleteAllPlots()
    +
    +# 3D, rectilinear, nodal var.
    +AddPlot("Pseudocolor", "u")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect02")
    +DeleteAllPlots()
    +
    +# 3D, rectilinear, mesh.
    +m = MeshAttributes()
    +m.opaqueMode = m.Off
    +SetDefaultPlotOptions(m)
    +AddPlot("Mesh", "quadmesh3d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect03")
    +DeleteAllPlots()
    +
    +# 3D, rectilinear, subset.
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("IndexSelect")
    +atts.xIncr = 1
    +atts.yIncr = 1
    +atts.zIncr = 1
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect04")
    +DeleteAllPlots()
    +
    +# 3D, rectilinear, after a threshold
    +AddPlot("Pseudocolor", "p")
    +a2 = ThresholdAttributes()
    +a2.listedVarNames = ("u")
    +a2.lowerBounds = (0.25)
    +a2.upperBounds = (1.0)
    +AddOperator("Threshold")
    +SetOperatorOptions(a2)
    +atts.zMin = 5
    +atts.zMax = 20
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect05")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +
    +# 3D, curvilinear, mesh plot
    +AddPlot("Mesh", "curvmesh3d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +view = GetView3D()
    +view.viewNormal = (-0.5, 0.5, 0.7172)
    +SetView3D(view)
    +Test("ops_indexselect06")
    +DeleteAllPlots()
    +
    +# 3D, curvilinear, PC plot
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect07")
    +DeleteAllPlots()
    +
    +# 3D, curvilinear, with sphere slice
    +AddPlot("Pseudocolor", "d")
    +AddOperator("SphereSlice")
    +a3 = SphereSliceAttributes()
    +a3.origin = (2.5, -0.5, 13)
    +a3.radius = 7
    +SetOperatorOptions(a3)
    +AddOperator("IndexSelect")
    +atts.xMin = 0
    +atts.xMax = -1
    +atts.yMin = 0
    +atts.yMax = -1
    +atts.zMin = 5
    +atts.zMax = 18
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect08")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +# 2D, rectilinear, mesh plot
    +AddPlot("Mesh", "quadmesh2d")
    +AddOperator("IndexSelect")
    +# Dim is an enumerated type.  0 -> 1D, 1 -> 2D, 2 -> 3D.
    +atts.dim = 1
    +atts.xMin = 5
    +atts.xMax = 25
    +atts.yMin = 5
    +atts.yMax = 30
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +Test("ops_indexselect09")
    +DeleteAllPlots()
    +
    +# 2D, rectilinear, PC plot
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect10")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +# 2D, curvilinear, mesh plot
    +AddPlot("Mesh", "curvmesh2d")
    +AddOperator("IndexSelect")
    +atts.yMax = 25
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +Test("ops_indexselect11")
    +DeleteAllPlots()
    +
    +# 2D, curv, PC plot
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect12")
    +DeleteAllPlots()
    +
    +# 2D, curv, with threshold.
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Threshold")
    +a2.listedVarNames = ("p")
    +a2.lowerBounds = (0.34)
    +a2.upperBounds = (0.5)
    +SetOperatorOptions(a2)
    +AddOperator("IndexSelect")
    +atts.xMin = 10
    +atts.xMax = -1
    +atts.yMin = 0
    +atts.yMin = -1
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect13")
    +DeleteAllPlots()
    +
    +# 2D, curv of vector
    +AddPlot("Vector", "vel")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect14")
    +DeleteAllPlots()
    +
    +# 2D surface of curvilinear
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +AddOperator("Elevate")
    +DrawPlots()
    +ResetView()
    +Test("ops_indexselect15")
    +DeleteAllPlots()
    +
    +# 3D multi-rect 
    +# test 'modulo' problems, bug: VisIt00003308
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +atts.dim = 2
    +atts.xMin = 0
    +atts.xMax = 1000
    +atts.yMin = 0
    +atts.yMax = 1000
    +atts.zMin = 0
    +atts.zMax = 1000
    +atts.xIncr = 3
    +atts.yIncr = 3
    +atts.zIncr = 3
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +Test("ops_indexselect16")
    +
    +atts.xMin = 1
    +atts.xMax = 8
    +atts.yMin = 1
    +atts.yMax = 8
    +atts.zMin = 1
    +atts.zMax = 8
    +atts.xIncr = 5
    +atts.yIncr = 5
    +atts.zIncr = 5
    +SetOperatorOptions(atts)
    +
    +Test("ops_indexselect17")
    +DeleteAllPlots()
    +
    +# bigsil 
    +# test 'domainIndex' problems, bug: VisIt00005559
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("Subset", "domains")
    +AddPlot("Mesh", "mesh")
    +AddOperator("IndexSelect")
    +atts.dim = atts.ThreeD
    +atts.xMin = 0
    +atts.xMax = 1000
    +atts.yMin = 0
    +atts.yMax = 1000
    +atts.zMin = 0
    +atts.zMax = 1000
    +atts.xIncr = 1
    +atts.yIncr = 1
    +atts.zIncr = 1
    +atts.useWholeCollection = 0
    +atts.categoryName = "domains"
    +atts.subsetName = "domain2"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +
    +v = GetView3D()
    +v.viewNormal = (0.653901, -0.39603, -0.64465)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.251385, -0.917378, 0.308584)
    +v.viewAngle = 30
    +v.parallelScale = 0.866025
    +v.nearPlane = -1.73205
    +v.farPlane = 1.73205
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("ops_indexselect18")
    +
    +# smallest domainIndex should be 1
    +atts.subsetName = "domain1"
    +SetOperatorOptions(atts)
    +Test("ops_indexselect19")
    +
    +atts.subsetName = "domain27"
    +SetOperatorOptions(atts)
    +Test("ops_indexselect20")
    +
    +DeleteAllPlots()
    +
    +#test whichData = OneGroup
    +AddPlot("Subset", "blocks")
    +s = SubsetAttributes()
    +s.wireframe = 1
    +s.lineWidth = 3
    +SetPlotOptions(s)
    +AddPlot("Mesh", "mesh")
    +AddPlot("Pseudocolor", "dist")
    +AddOperator("IndexSelect")
    +atts.dim = atts.ThreeD
    +atts.xMin = 1
    +atts.xMax = 2
    +atts.yMin = 1
    +atts.yMax = 2
    +atts.zMin = 0
    +atts.zMax = -1
    +atts.categoryName = "blocks"
    +atts.subsetName = "block0"
    +SetOperatorOptions(atts)
    +
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (0, 0, -1)
    +v.focus = (0.5, 0.5, 0.5)
    +v.parallelScale = 0.866025
    +v.viewUp = (0, 1, 0)
    +v.nearPlane = -1.73205
    +v.farPlane  = 1.73205
    +v.perspective = 0
    +SetView3D(v)
    +v.imageZoom = 5.39496
    +SetView3D(v)
    +v.imagePan = (-0.23029, 0.259159)
    +SetView3D(v)
    +Test("ops_indexselect21")
    +
    +atts.categoryName = "domains"
    +atts.subsetName = "domain1"
    +SetOperatorOptions(atts)
    +Test("ops_indexselect22")
    +
    +SetActivePlots(1)
    +DeleteActivePlots()
    +
    +SetActivePlots(1)
    +atts.categoryName = "blocks"
    +atts.subsetName = "block2"
    +atts.xMin = 0
    +atts.xMax = -1
    +atts.yMin = 5
    +atts.yMax = 19
    +atts.zMin = 7
    +atts.zMax = 8
    +SetOperatorOptions(atts)
    +ResetView()
    +Test("ops_indexselect23")
    +
    +TurnMaterialsOff(("1", "5", "8"))
    +Test("ops_indexselect24")
    +
    +TurnMaterialsOn()
    +TurnDomainsOff(("domain23"))
    +Test("ops_indexselect25")
    +
    +TurnMaterialsOff(("1", "5", "8"))
    +Test("ops_indexselect26")
    +
    +TurnMaterialsOn()
    +TurnDomainsOn()
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +# 3D, rectilinear, zonal var, index-selected at max/min boundaries.
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +atts.dim = atts.ThreeD
    +atts.xMin = 0
    +atts.xMax = -1 # maximum
    +atts.yMin = 40 # maximum boundary
    +atts.yMax = 40 # maximum boundary
    +atts.zMin = 0
    +atts.zMax = -1
    +atts.xIncr = 1
    +atts.yIncr = 1
    +atts.zIncr = 1
    +atts.useWholeCollection = 1
    +SetOperatorOptions(atts)
    +pc = PseudocolorAttributes()
    +pc.limitsMode = pc.ActualData
    +SetPlotOptions(pc)
    +DrawPlots()
    +ResetView()
    +view = GetView3D()
    +view.viewNormal = (0, 1, 0)
    +view.viewUp = (0, 0, -1)
    +view.perspective = 0
    +SetView3D(view)
    +Test("ops_indexselect27")
    +
    +atts.yMin = 0
    +atts.yMax = 0
    +SetOperatorOptions(atts)
    +Test("ops_indexselect28")
    +
    +DeleteAllPlots()
    +
    +
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +# 3D, curvilinear, zonal var, index-selected at max/min boundaries.
    +AddPlot("Pseudocolor", "p")
    +AddOperator("IndexSelect")
    +atts.dim = atts.ThreeD
    +atts.xMin = 30
    +atts.xMax = 30
    +atts.yMin = 0
    +atts.yMax = -1
    +atts.zMin = 0
    +atts.zMax = -1
    +atts.xIncr = 1
    +atts.yIncr = 1
    +atts.zIncr = 1
    +SetOperatorOptions(atts)
    +pc = PseudocolorAttributes()
    +pc.limitsMode = pc.ActualData
    +SetPlotOptions(pc)
    +DrawPlots()
    +ResetView()
    +view = GetView3D()
    +view.viewNormal = (0, 1, 0)
    +view.viewUp = (0, 0, -1)
    +view.perspective = 0
    +SetView3D(view)
    +Test("ops_indexselect29")
    +
    +atts.xMin = 0
    +atts.xMax = 0
    +SetOperatorOptions(atts)
    +Test("ops_indexselect30")
    +
    +DeleteAllPlots()
    +
    +#'6428, boundary between domains disappear when on edge of
    +# index-selected plot 
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("Pseudocolor", "dist")
    +atts.dim = atts.ThreeD
    +atts.xMin = 0
    +atts.xMax = -1 #max
    +atts.yMin = 8
    +atts.yMax = 17
    +atts.zMin = 0
    +atts.zMax = -1 #max
    +atts.xIncr = 1
    +atts.yIncr = 1
    +atts.zIncr = 1
    +atts.useWholeCollection = 0
    +atts.categoryName = "blocks"
    +# middle group for this dataset, has group boundaries and internal
    +# domain boundaries
    +atts.subsetName = "block1"
    +
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (0.437142, -0.719538, -0.539603)
    +v.viewUp = (-0.309012, -0.683599, 0.661214)
    +v.perspective = 0
    +SetView3D(v)
    +Test("ops_indexselect31")
    +
    +DeleteAllPlots()
    +
    +# Filled boundary takes different path through IndexSelect than
    +# does PC, so test it too. 
    +AddPlot("FilledBoundary", "mat")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +SetView3D(v)
    +Test("ops_indexselect32")
    +DeleteAllPlots()
    +
    +
    +# Test point meshes
    +TestSection("IndexSelect on Point meshes.")
    +OpenDatabase(data_path("vtk_test_data/ugrid_points.vtk"))
    +
    +AddPlot("Pseudocolor", "u")
    +p = PseudocolorAttributes()
    +p.pointType = p.Box
    +p.pointSize = 0.2
    +SetPlotOptions(p)
    +DrawPlots()
    +
    +v = GetView2D()
    +v.windowCoords = (-0.4, 9.4, -0.4, 9.4)
    +SetView2D(v)
    +
    +Test("ops_indexselect33")
    +
    +AddOperator("IndexSelect")
    +isa = IndexSelectAttributes()
    +isa.dim = isa.OneD
    +isa.xMin = 60
    +isa.xMax = 70
    +isa.xIncr = 1
    +SetOperatorOptions(isa)
    +DrawPlots()
    +Test("ops_indexselect34")
    +
    +isa.xMin = 0
    +isa.xMax = -1
    +isa.xIncr = 2
    +SetOperatorOptions(isa)
    +
    +Test("ops_indexselect35")
    +
    +isa.xIncr = 3
    +SetOperatorOptions(isa)
    +Test("ops_indexselect36")
    +
    +isa.xMin = 4
    +isa.xMax = -1
    +isa.xIncr = 2
    +SetOperatorOptions(isa)
    +
    +Test("ops_indexselect37")
    +
    +isa.xMin = 10
    +isa.xMax = 89
    +isa.xIncr = 7
    +SetOperatorOptions(isa)
    +
    +Test("ops_indexselect38")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "PointVar")
    +AddOperator("IndexSelect")
    +# make sure we are using default atts
    +isa = IndexSelectAttributes()
    +SetOperatorOptions(isa)
    +box = BoxAttributes()
    +box.minx = -5
    +box.maxx = 5
    +box.miny = -5
    +box.maxy = 5
    +box.minz = -5
    +box.maxz = 5
    +AddOperator("Box")
    +SetOperatorOptions(box)
    +DrawPlots()
    +
    +Test("ops_indexselect39")
    +
    +DeleteAllPlots()
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_inverse_ghost_zone.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_inverse_ghost_zone.html new file mode 100644 index 000000000..73ba2f27e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_inverse_ghost_zone.html @@ -0,0 +1,74 @@ + +Results for operators/inverse_ghost_zone.py + +

    Results of VisIt Regression Test - operators/inverse_ghost_zone

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_inverse_ghost_zone010.000.00
    ops_inverse_ghost_zone020.000.00
    ops_inverse_ghost_zone030.000.00
    ops_inverse_ghost_zone040.000.00
    ops_inverse_ghost_zone0525.710.01
    ops_inverse_ghost_zone060.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_inverse_ghost_zone_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_inverse_ghost_zone_py.html new file mode 100644 index 000000000..3a7eceda0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_inverse_ghost_zone_py.html @@ -0,0 +1,76 @@ +operators/inverse_ghost_zone.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  inverse_ghost_zone.py
    +#
    +#  Defect ID:  '6724
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 3, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Sun Jan  2 10:45:22 PST 2011
    +#    Add tests for new features.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("Pseudocolor", "dist")
    +# By default, we won't create ghost zones, because we don't need them
    +# for this case.  Do something that makes us need them.
    +pc = PseudocolorAttributes()
    +pc.centering = pc.Zonal
    +SetPlotOptions(pc)
    +AddOperator("InverseGhostZone")
    +DrawPlots()
    +Test("ops_inverse_ghost_zone01")
    +
    +sil = SILRestriction()
    +sil.TurnOffSet(1)
    +SetPlotSILRestriction(sil)
    +Test("ops_inverse_ghost_zone02")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("InverseGhostZone")
    +DrawPlots()
    +Test("ops_inverse_ghost_zone03")
    +
    +sil = SILRestriction()
    +sil.TurnOffSet(1)
    +SetPlotSILRestriction(sil)
    +Test("ops_inverse_ghost_zone04")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +AddPlot("Pseudocolor", "density")
    +AddOperator("InverseGhostZone")
    +i = InverseGhostZoneAttributes()
    +i.requestGhostZones = 1
    +i.showDuplicated = 1
    +i.showEnhancedConnectivity = 0
    +i.showReducedConnectivity = 0
    +i.showAMRRefined = 0
    +i.showExterior = 0
    +i.showNotApplicable = 0
    +SetOperatorOptions(i)
    +DrawPlots()
    +Test("ops_inverse_ghost_zone05")
    +
    +i.showDuplicated = 0
    +i.showAMRRefined = 1
    +SetOperatorOptions(i)
    +Test("ops_inverse_ghost_zone06")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_isovolume.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_isovolume.html new file mode 100644 index 000000000..6edda6cc3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_isovolume.html @@ -0,0 +1,78 @@ + +Results for operators/isovolume.py + +

    Results of VisIt Regression Test - operators/isovolume

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_isovol010.000.00
    ops_isovol020.000.00
    ops_isovol030.000.00
    ops_isovol040.000.00
    ops_isovol050.000.00
    ops_isovol060.000.00
    ops_isovol070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_isovolume_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_isovolume_py.html new file mode 100644 index 000000000..df29283b4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_isovolume_py.html @@ -0,0 +1,160 @@ +operators/isovolume.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  isovolume.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain,
    +#                          3D rectilinear, multiple domain,
    +#                          2D curvilinear, multiple domain
    +#              plots     - pc, mesh, filledboundary, contour
    +#              operators - isovolume
    +#              selection - none
    +#
    +#  Defect ID:  '5640
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 27, 2004
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Nov 17 15:38:37 PST 2004
    +#    Added test for isovolumes of poly-data where the poly-data is totally
    +#    within the data range. ['5640]
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetParallelScale(17.3205)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +#
    +# Normal PC isovolume for globe.
    +#
    +isovol = IsovolumeAttributes()
    +
    +isovol.lbound = -4
    +isovol.ubound =  4
    +SetDefaultOperatorOptions(isovol)
    +AddOperator("Isovolume")
    +DrawPlots()
    +Test("ops_isovol01")
    +
    +
    +#
    +# Normal PC plot of globe, isovolumeing by a different variable than what we
    +# are coloring by.
    +#
    +RemoveAllOperators()
    +isovol.lbound = 140
    +isovol.ubound = 340
    +isovol.variable = "t"
    +SetDefaultOperatorOptions(isovol)
    +AddOperator("Isovolume")
    +DrawPlots()
    +Test("ops_isovol02")
    +
    +DeleteAllPlots()
    +
    +#
    +# Contour lines by one variable, isovolumeing by another.  Multi-block,
    +# curvilinear, 2D.
    +#
    +OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +isovol.lbound = 0.7
    +isovol.ubound = 0.9
    +isovol.variable = "v"
    +SetDefaultOperatorOptions(isovol)
    +AddOperator("Isovolume")
    +DrawPlots()
    +
    +Test("ops_isovol03")
    +
    +DeleteAllPlots()
    +
    +#
    +# Material plot, isovolumeed by a scalar variable.  Multi-block,
    +# curvilinear, 2D.
    +#
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +
    +isovol.lbound = -0.4
    +isovol.ubound = 1.0
    +isovol.variable = "u"
    +SetDefaultOperatorOptions(isovol)
    +AddOperator("Isovolume")
    +DrawPlots()
    +
    +Test("ops_isovol04")
    +
    +DeleteAllPlots()
    +
    +#
    +# Mesh plot and PC plot, both isovolumeed by the same variable, criteria.
    +# Multi-block, rectilinear, 3D.
    +#
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +
    +isovol.lbound = 0.4
    +isovol.ubound = 1.0
    +isovol.variable = "u"
    +SetDefaultOperatorOptions(isovol)
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isovolume")
    +AddPlot("Mesh", "mesh1")
    +AddOperator("Isovolume")
    +DrawPlots()
    +
    +Test("ops_isovol05")
    +
    +#
    +# Test that we can slice poly-data correctly.
    +#
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +isovol.lbound = -1.0
    +isovol.ubound = 1.0
    +isovol.variable = "default"
    +SetDefaultOperatorOptions(isovol)
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +AddOperator("Isovolume")
    +DrawPlots()
    +
    +Test("ops_isovol06")
    +
    +isovol.lbound = 0.5
    +SetOperatorOptions(isovol)
    +Test("ops_isovol07")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs.html new file mode 100644 index 000000000..4767c85d7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs.html @@ -0,0 +1,149 @@ + +Results for operators/lcs.py + +

    Results of VisIt Regression Test - operators/lcs

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Basic FTLE function
    Testing database = ftle_double_gyre_1_domain.pics
    Testing sample source = RegularGrid
    Testing auxiliary grid = NoAuxGrid
    lcs_ftle_double_gyre_1_domain_RegularGrid_NoAuxGrid0.000.00
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_RegularGrid_2DAuxGrid0.000.00
    Testing sample source = NativeMesh
    Testing auxiliary grid = NoAuxGrid
    lcs_ftle_double_gyre_1_domain_NativeMesh_NoAuxGrid0.000.00
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_NativeMesh_2DAuxGrid0.000.00
    Testing database = ftle_double_gyre_2_domains.pics
    Testing sample source = RegularGrid
    Testing auxiliary grid = NoAuxGrid
    lcs_ftle_double_gyre_2_domains_RegularGrid_NoAuxGrid0.000.00
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_2_domains_RegularGrid_2DAuxGrid0.000.00
    Testing sample source = NativeMesh
    Testing auxiliary grid = NoAuxGrid
    lcs_ftle_double_gyre_2_domains_NativeMesh_NoAuxGrid0.000.00
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid50.380.30
    lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_Smallest0.000.00
    lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_Left0.000.00
    lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_EigenValue0.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_ic_1.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_ic_1.html new file mode 100644 index 000000000..f3e62f0b9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_ic_1.html @@ -0,0 +1,66 @@ + +Results for operators/lcs_ic_1.py + +

    Results of VisIt Regression Test - operators/lcs_ic_1

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Basic FTLE function with IntegralCurve operator
    Testing database = ftle_double_gyre_1_domain.pics
    Testing sample source = RegularGrid
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_RegularGrid_2DAuxGrid_IntegralCurve0.000.00
    Testing sample source = NativeMesh
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_NativeMesh_2DAuxGrid_IntegralCurve0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_ic_1_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_ic_1_py.html new file mode 100644 index 000000000..7825b97b8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_ic_1_py.html @@ -0,0 +1,17 @@ +operators/lcs_ic_1.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lcs_ic_1.py
    +#
    +#  Tests:      operator   - LCS, IntegralCurve
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       August 25, 2015
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("operators", "lcs_operator_main"))
    +
    +LCS_operator("IntegralCurve", "ftle_double_gyre_1_domain")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_lc_1.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_lc_1.html new file mode 100644 index 000000000..4666deb59 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_lc_1.html @@ -0,0 +1,66 @@ + +Results for operators/lcs_lc_1.py + +

    Results of VisIt Regression Test - operators/lcs_lc_1

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Basic FTLE function with LimitCycle operator
    Testing database = ftle_double_gyre_1_domain.pics
    Testing sample source = RegularGrid
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_RegularGrid_2DAuxGrid_LimitCycle0.000.00
    Testing sample source = NativeMesh
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_NativeMesh_2DAuxGrid_LimitCycle0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_lc_1_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_lc_1_py.html new file mode 100644 index 000000000..cfca817fc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_lc_1_py.html @@ -0,0 +1,17 @@ +operators/lcs_lc_1.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lcs_lc_1.py
    +#
    +#  Tests:      operator   - LCS
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       August 25, 2015
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("operators", "lcs_operator_main"))
    +
    +LCS_operator("LimitCycle", "ftle_double_gyre_1_domain")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_py.html new file mode 100644 index 000000000..14f9317b4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_lcs_py.html @@ -0,0 +1,182 @@ +operators/lcs.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  LCS.py
    +#
    +#  Tests:      operator   - LCS
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       August 25, 2015
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Thur Sep 17, 2020
    +#    Shorten name used for 'Testing database' TestSection. Turn of warnings.
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("PICS_Tester")
    +
    +#-vargs="-debug 5"
    +
    +# For testing using the CLI
    +
    +#def data_path( db_name ):
    +#  db="/Projects/VisIt/trunk/build/data/%s" %(db_name)
    +#  return db
    +
    +#def Test(case_name):
    +#   swatts = SaveWindowAttributes()
    +#   swatts.family = 0
    +#   swatts.fileName = "/Projects/tmp/lcs/ser/%s" %(case_name)
    +#   SetSaveWindowAttributes(swatts)
    +#   SaveWindow()
    +#   return
    +
    +#def TestSection(tmpstr):
    +#   return
    +
    +#def Exit():
    +#   return   
    +
    +
    +# Open the database here and add a plot as for some reason it fails
    +# within a loop. It only happens with all-in-one plots with an operator
    +# such as with "Pseudocolor" and "operators/LCS/velocity"
    +db=data_path("pics_test_data/ftle_double_gyre_1_domain.pics")
    +OpenDatabase(db)
    +AddPlot("Pseudocolor", "operators/LCS/velocity")
    +
    +
    +LCSAtts = LCSAttributes()
    +LCSAtts.Resolution = (101, 51, 1)
    +LCSAtts.integrationDirection = LCSAtts.Forward
    +LCSAtts.auxiliaryGridSpacing = 0.005
    +LCSAtts.maxSteps = 1000000
    +LCSAtts.operationType = LCSAtts.Lyapunov
    +LCSAtts.cauchyGreenTensor = LCSAtts.Right
    +LCSAtts.eigenComponent = LCSAtts.Largest
    +LCSAtts.operatorType = LCSAtts.BaseValue
    +LCSAtts.terminationType = LCSAtts.Time
    +LCSAtts.terminateByTime = 1
    +LCSAtts.termTime = 4
    +LCSAtts.maxStepLength = 0.001
    +LCSAtts.integrationType = LCSAtts.AdamsBashforth
    +LCSAtts.parallelizationAlgorithmType = LCSAtts.ParallelStaticDomains
    +LCSAtts.pathlines = 1
    +LCSAtts.pathlinesCMFE = LCSAtts.CONN_CMFE
    +LCSAtts.issueAdvectionWarnings = 0
    +LCSAtts.issueBoundaryWarnings = 0
    +LCSAtts.issueTerminationWarnings = 0
    +LCSAtts.issueStepsizeWarnings = 0
    +LCSAtts.issueStiffnessWarnings = 0
    +LCSAtts.issueCriticalPointsWarnings = 0
    +
    +SetOperatorOptions(LCSAtts, 0)
    +
    +
    +databases=["ftle_double_gyre_1_domain", "ftle_double_gyre_2_domains"]
    +
    +src_type=[LCSAtts.RegularGrid, LCSAtts.NativeMesh]
    +src_type_str=["RegularGrid", "NativeMesh"]
    +
    +aux_grid=[LCSAtts.NONE, LCSAtts.TwoDim]
    +aux_grid_str=["NoAuxGrid", "2DAuxGrid"]
    +
    +TestSection("Basic FTLE function")
    +for i in range(len(databases)):
    +  db=data_path("pics_test_data/%s.pics") %(databases[i])
    +  tmpstr="Testing database = %s.pics" %(databases[i])
    +  TestSection(tmpstr)
    +  OpenDatabase(db)
    +  # Replace the database from before with this one as a new plot can
    +  # not be opened within the loop when using runtest. This issue is a
    +  # bug.
    +  ReplaceDatabase(db)
    +  #  DeleteAllPlots()
    +  #  AddPlot("Pseudocolor", "operators/LCS/velocity")
    +  for j in range(len(src_type)):
    +     tmpstr="Testing sample source = %s" %(src_type_str[j])
    +     TestSection(tmpstr)
    +     LCSAtts.sourceType = src_type[j]  # NativeMesh, RegularGrid
    +     for k in range(len(aux_grid)):
    +        tmpstr="Testing auxiliary grid = %s" %(aux_grid_str[k])
    +        TestSection(tmpstr)
    +        LCSAtts.auxiliaryGrid = aux_grid[k]  # None, TwoDim
    +        SetOperatorOptions(LCSAtts, 0)
    +        DrawPlots()
    +        tmpstr="lcs_%s_%s_%s" %(databases[i], src_type_str[j], aux_grid_str[k])
    +        Test(tmpstr)
    +
    +
    +
    +# FTLE with smallest exponent
    +LCSAtts.eigenComponent = LCSAtts.Smallest  # Smallest, Intermediate, Largest, PosShearVector, NegShearVector, PosLambdaShearVector, NegLambdaShearVector
    +SetOperatorOptions(LCSAtts, 0)
    +DrawPlots()
    +tmpstr="lcs_%s_%s_%s_Smallest" %(databases[i], src_type_str[j], aux_grid_str[k])
    +Test(tmpstr)
    +
    +
    +
    +# FTLE with left Cauchy Green Tensor
    +LCSAtts.cauchyGreenTensor = LCSAtts.Left  # Left, Right
    +LCSAtts.eigenComponent = LCSAtts.Largest  # Smallest, Intermediate, Largest, PosShearVector, NegShearVector, PosLambdaShearVector, NegLambdaShearVector
    +SetOperatorOptions(LCSAtts, 0)
    +DrawPlots()
    +tmpstr="lcs_%s_%s_%s_Left" %(databases[i], src_type_str[j], aux_grid_str[k])
    +Test(tmpstr)
    +
    +
    +
    +# FTLE with eigen value
    +LCSAtts.operationType = LCSAtts.EigenValue  # IntegrationTime, ArcLength, AverageDistanceFromSeed, EigenValue, EigenVector, Lyapunov
    +LCSAtts.cauchyGreenTensor = LCSAtts.Right  # Left, Right
    +LCSAtts.eigenComponent = LCSAtts.Largest  # Smallest, Intermediate, Largest, PosShearVector, NegShearVector, PosLambdaShearVector, NegLambdaShearVector
    +SetOperatorOptions(LCSAtts, 0)
    +DrawPlots()
    +tmpstr="lcs_%s_%s_%s_EigenValue" %(databases[i], src_type_str[j], aux_grid_str[k])
    +Test(tmpstr)
    +
    +
    +Exit()
    +
    +
    +# 1 processor:
    +
    +#wo/aux grid
    +
    +# Native 1  -0.04343 - 1.066   190 zeros # Match
    +# Rect   1  -0.04343 - 1.066   190 zeros #
    +
    +# Native 2  -0.04343 - 1.066   193 zeros # Match
    +# Rect   2  -0.04343 - 1.233   190 zeros # Match with ghost cells but for a few cells.
    +
    +# Errors in the domain boundary gradients 
    +
    +
    +#w/aux grid
    +
    +# Native 1  0.004539 - 1.396   304 exited / 680 zeros # Match
    +# Rect   1  0.004539 - 1.396   304 exited / 680 zeros # 
    +
    +# Native 2  0.004539 - 1.396   308 exited / 690 zeros # Match
    +# Rect   2  0.004539 - 1.396   304 exited / 680 zeros #
    +
    +
    +# 4 processors:
    +
    +#wo/aux grid
    +
    +# Native 1  -0.04343 - 1.066   190 zeros # Match
    +# Rect   1  -0.04343 - 1.066   190 zeros #
    +
    +# Native 2  -0.04343 - 1.066   193 zeros # Match
    +# Rect   2  -0.04343 - 1.233   190 zeros # Match with ghost cells but for a few cells.
    +
    +#w/aux grid
    +
    +# Native 1  0.004539 - 1.396   304 exited / 680 zeros # Match
    +# Rect   1  0.004539 - 1.396   304 exited / 680 zeros # 
    +
    +# Native 2  0.004539 - 1.396   308 exited / 690 zeros # Match
    +# Rect   2  0.004539 - 1.396   304 exited / 680 zeros #
    +
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_moveoperators.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_moveoperators.html new file mode 100644 index 000000000..30981e577 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_moveoperators.html @@ -0,0 +1,120 @@ + +Results for operators/moveoperators.py + +

    Results of VisIt Regression Test - operators/moveoperators

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    moveoperator_00.020.00
    moveoperator_10.000.00
    moveoperator_20.000.00
    moveoperator_30.000.00
    moveoperator_40.000.00
    moveoperator_50.000.00
    moveoperator_60.000.00
    moveoperator_70.000.00
    moveoperator_839.615.70
    moveoperator_981.539.32
    moveoperator_100.000.00
    moveoperator_110.000.00
    moveoperator_120.000.00
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_moveoperators_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_moveoperators_py.html new file mode 100644 index 000000000..924e7f9dc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_moveoperators_py.html @@ -0,0 +1,226 @@ +operators/moveoperators.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  moveoperators.py
    +#
    +#  Tests:      plots     - Pseudocolor, Mesh, FilledBoundary
    +#              operators - Erase, Isosurface, Reflect, Slice, Transform
    +#
    +#  Defect ID:  '1837
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Apr 17 16:45:46 PST 2003
    +#
    +#  Modifications:
    +#    Eric Brugger, Thu May  8 12:57:56 PDT 2003
    +#    Remove a call to ToggleAutoCenterMode since it no longer exists.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Kathleen Bonnell, Wed Mar 17 07:33:40 PST 2004 
    +#    Set default Slice atts, as these have changed. 
    +#
    +#    Kathleen Bonnell, Wed May  5 08:13:22 PDT 2004 
    +#    Modified Slice atts to get same picture as defaults have changed. 
    +#
    +#    Brad Whitlock, Tue Jan 17 12:14:21 PDT 2006
    +#    Added runTest4.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 11 08:18:42 PDT 2013
    +#    Removed legacy sytle annotation setting.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def InitAnnotation():
    +    # Turn off all annotation except for the bounding box.
    +    a = AnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +    a.axes2D.visible = 1
    +    a.axes2D.xAxis.label.visible = 0
    +    a.axes2D.yAxis.label.visible = 0
    +    a.axes2D.xAxis.title.visible = 0
    +    a.axes2D.yAxis.title.visible = 0
    +    a.axes3D.bboxFlag = 1
    +    SetAnnotationAttributes(a)
    +
    +def InitDefaults():
    +    # Set the default reflect operator attributes.
    +    reflect = ReflectAttributes()
    +    reflect.SetReflections(1, 1, 0, 0, 0, 0, 0, 0)
    +    SetDefaultOperatorOptions(reflect)
    +    slice = SliceAttributes()
    +    slice.project2d = 0
    +    slice.SetAxisType(slice.XAxis)
    +    slice.SetFlip(1)
    +    SetDefaultOperatorOptions(slice)
    +
    +def setTheFirstView():
    +    # Set the view
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.695118, 0.351385, 0.627168)
    +    v.focus = (-10, 0, 0)
    +    v.viewUp = (0.22962, 0.935229, -0.269484)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -70
    +    v.farPlane = 70
    +    v.perspective = 1
    +    SetView3D(v)
    +
    +#
    +# Test operator promotion, demotion, and removal.
    +#
    +def runTest1():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +
    +    # Set up a plot with a few operators.
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    AddOperator("Isosurface")
    +    AddOperator("Slice")
    +    AddOperator("Reflect")
    +    DrawPlots()
    +    setTheFirstView()
    +
    +    # Take a picture of the initial setup.
    +    Test("moveoperator_0")
    +
    +    # Move the reflect so that it is before the slice in the pipeline.
    +    # The pipeline will be: Isosurface, Reflect, Slice
    +    DemoteOperator(2)
    +    DrawPlots()
    +    Test("moveoperator_1")
    +
    +    # Move the reflect operator back so that the pipeline matches the
    +    # initial configuration: Isosurface, Slice, Reflect
    +    PromoteOperator(1)
    +    DrawPlots()
    +    Test("moveoperator_2")
    +
    +    # Remove the slice operator from the middle, resulting in:
    +    # Isosurface, Reflect
    +    RemoveOperator(1)
    +    DrawPlots()
    +    Test("moveoperator_3")
    +
    +    # Remove the Isosurface operator, resulting in: Reflect
    +    RemoveOperator(0)
    +    DrawPlots()
    +    Test("moveoperator_4")
    +
    +    # Remove the Reflect operator
    +    RemoveOperator(0)
    +    DrawPlots()
    +    Test("moveoperator_5")
    +
    +    DeleteAllPlots()
    +
    +#
    +# Test removing an operator from more than one plot at the same time.
    +#
    +def runTest2():
    +    all = 1
    +    # Set up a couple plots of globe
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    AddPlot("Mesh", "mesh1")
    +    # Add a reflect operator to both plots.
    +    AddOperator("Reflect", all)
    +    DrawPlots()
    +    Test("moveoperator_6")
    +
    +    # Remove the operator from both plots.
    +    RemoveOperator(0, all)
    +    DrawPlots()
    +    Test("moveoperator_7")
    +    DeleteAllPlots()
    +
    +#
    +# Test setting attributes for multiple operators of the same type.
    +#
    +def runTest3():
    +    # Set up a couple plots of globe
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    pc = PseudocolorAttributes()
    +    pc.SetOpacityType(pc.Constant)
    +    pc.opacity = 0.2
    +    SetPlotOptions(pc)
    +    AddPlot("FilledBoundary", "mat1")
    +
    +    # The subset plot is the active plot, add a couple transform
    +    # operators to it.
    +    AddOperator("Transform")
    +    AddOperator("Transform")
    +
    +    # Set the attributes for the *first* transform operator.
    +    # This results in a full size globe translated up in Y.
    +    t0 = TransformAttributes()
    +    t0.doTranslate = 1
    +    t0.translateY = 15
    +    SetOperatorOptions(t0, 0)
    +    DrawPlots()
    +    Test("moveoperator_8")
    +
    +    # Set the attributes for the *second* transform operator.
    +    # The plot has been translated, now scale it. Since it has already
    +    # been translated, this will also translate it a little in Y.
    +    t1 = TransformAttributes()
    +    t1.doScale = 1
    +    t1.scaleX = 0.5
    +    t1.scaleY = 0.5
    +    t1.scaleZ = 0.5
    +    SetOperatorOptions(t1, 1)
    +    Test("moveoperator_9")
    +
    +    # Demote the last operator to reverse the order of the transformations.
    +    DemoteOperator(1)
    +    # Make the pc plot opaque again
    +    SetActivePlots(0)
    +    pc.SetOpacityType(pc.FullyOpaque)
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    Test("moveoperator_10")
    +
    +    DeleteAllPlots()
    +
    +#
    +# Test that removing an operator using the RemoveOperator(i) method causes
    +# the vis window to get redrawn.
    +#
    +def runTest4():
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Isosurface")
    +    DrawPlots()
    +    Test("moveoperator_11")
    +
    +    RemoveOperator(0)
    +    Test("moveoperator_12")
    +    DeleteAllPlots()
    +
    +#
    +# Set up the environment and run all of the tests.
    +#
    +def runTests():
    +    InitAnnotation()
    +    InitDefaults()
    +    runTest1()
    +    runTest2()
    +    runTest3()
    +    runTest4()
    +
    +# Run the tests.
    +runTests()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_multires.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_multires.html new file mode 100644 index 000000000..263765b98 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_multires.html @@ -0,0 +1,48 @@ + +Results for operators/multires.py + +

    Results of VisIt Regression Test - operators/multires

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    multires_00.000.00
    multires_10.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_multires_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_multires_py.html new file mode 100644 index 000000000..9e2df5bd6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_multires_py.html @@ -0,0 +1,34 @@ +operators/multires.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multires.py
    +#
    +#  Programmer: Tom Fogal
    +#  Date:       August 6, 2010
    +#
    +# ----------------------------------------------------------------------------
    +
    +ds = data_path("Chombo_test_data/chombo.visit")
    +OpenDatabase(ds)
    +
    +AddPlot("Pseudocolor", "Scalar_1")
    +AddOperator("MultiresControl")
    +
    +att = MultiresControlAttributes()
    +att.resolution = 0
    +SetOperatorOptions(att)
    +
    +DrawPlots()
    +Test("multires_0")
    +
    +att.resolution = 1
    +SetOperatorOptions(att)
    +DrawPlots()
    +Test("multires_1")
    +
    +DeleteAllPlots()
    +
    +CloseDatabase(ds)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_onionpeel.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_onionpeel.html new file mode 100644 index 000000000..0cfdf018f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_onionpeel.html @@ -0,0 +1,486 @@ + +Results for operators/onionpeel.py + +

    Results of VisIt Regression Test - operators/onionpeel

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_onionpeel_010.000.00
    ops_onionpeel_020.000.00
    ops_onionpeel_030.000.00
    ops_onionpeel_040.000.00
    ops_onionpeel_050.000.00
    ops_onionpeel_060.000.00
    ops_onionpeel_070.000.00
    ops_onionpeel_080.000.00
    ops_onionpeel_090.000.00
    ops_onionpeel_100.000.00
    ops_onionpeel_110.000.00
    ops_onionpeel_120.000.00
    ops_onionpeel_130.000.00
    ops_onionpeel_140.000.00
    ops_onionpeel_150.000.00
    ops_onionpeel_160.000.00
    ops_onionpeel_170.000.00
    ops_onionpeel_180.000.00
    ops_onionpeel_190.000.00
    ops_onionpeel_200.000.00
    ops_onionpeel_210.000.00
    ops_onionpeel_220.000.00
    ops_onionpeel_230.000.00
    ops_onionpeel_240.000.00
    ops_onionpeel_250.000.00
    ops_onionpeel_260.000.00
    Arbitrary Polyhedra, honor original mesh
    poly_originalMesh_000.000.00
    poly_originalMesh_010.000.00
    poly_originalMesh_020.000.00
    poly_originalMesh_030.000.00
    poly_originalMesh_040.000.00
    poly_originalMesh_050.000.00
    poly_originalMesh_060.000.00
    poly_originalMesh_070.000.00
    poly_originalMesh_080.000.00
    poly_originalMesh_090.000.00
    poly_originalMesh_100.000.00
    Arbitrary Polyhedra, honor actual mesh
    poly_actualMesh000.000.00
    poly_actualMesh010.000.00
    poly_actualMesh020.000.00
    poly_actualMesh030.000.00
    poly_actualMesh040.000.00
    poly_actualMesh050.000.00
    poly_actualMesh060.000.00
    poly_actualMesh070.000.00
    poly_actualMesh080.000.00
    poly_actualMesh090.000.00
    poly_actualMesh100.000.00
    poly_actualMesh110.000.00
    poly_actualMesh120.000.00
    poly_actualMesh130.000.00
    poly_actualMesh140.000.00
    poly_actualMesh150.000.00
    poly_actualMesh160.000.00
    poly_actualMesh170.000.00
    poly_actualMesh180.000.00
    poly_actualMesh190.000.00
    poly_actualMesh200.000.00
    poly_actualMesh210.000.00
    poly_actualMesh220.000.00
    poly_actualMesh230.000.00
    poly_actualMesh240.000.00
    poly_actualMesh250.000.00
    poly_actualMesh260.000.00
    bigsil_mesh_010.000.00
    bigsil_mesh_020.000.00
    bigsil_mesh_030.000.00
    bigsil_mesh_040.000.00
    amr_3d_010.000.00
    amr_3d_020.000.00
    amr_3d_030.000.00
    amr_3d_040.000.00
    amr_2d_010.000.00
    amr_2d_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_onionpeel_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_onionpeel_py.html new file mode 100644 index 000000000..7b7c48ca7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_onionpeel_py.html @@ -0,0 +1,643 @@ +operators/onionpeel.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  onionpeel.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, mulitple domain, mulitple groups
    +#              plots     - subset
    +#              operators - onionpeel
    +#              selection - none
    +#
    +#  Defect ID:  
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       December 23, 2003 
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Feb 26 15:31:31 PST 2004
    +#    Added TestUCD.
    +#
    +#    Kathleen Bonnell, Wed Dec 15 15:24:50 PST 2004 
    +#    Added TestGlobalZoneId.
    +#
    +#    Kathleen Bonnell, Tue Jan 18 19:34:41 PST 2005 
    +#    Added TestMatSelect.
    +#
    +#    Kathleen Bonnell, Wed Jan 19 15:45:38 PST 2005 
    +#    Added TestNodeId.
    +#
    +#    Kathleen Bonnell, Tue Jun 14 11:33:39 PDT 2005 
    +#    Added TestFilledBoundary.
    +#
    +#    Kathleen Bonnell, Thu Jul 21 09:09:26 PDT 2005 
    +#    Modified indices used in TestBigSil, to match corrsponding changes
    +#    to bigsil.silo. 
    +#
    +#    Kathleen Bonnell, Fri Aug 19 16:23:45 PDT 2005 
    +#    Modified indices used in TestBigSil, more changes to bigsil.silo. 
    +#
    +#    Kathleen Bonnell, Thu Sep 22 11:59:42 PDT 2005 
    +#    Added TestBoundary. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Fri Jul 25 15:10:11 MST 2014
    +#    Added ArbPoly test, which demonstrates use of new att: honorOriginalMesh.
    +#
    +#    Kathleen Biagas, Mon Mar 23 17:25:07 PDT 2015
    +#    Modified AMR test to include the default Subset plot, now that it
    +#    is fixed.
    +#
    +#    Kathleen Biagas, Tue Nov 29 10:40:50 PST 2022
    +#    Change use of obosolete text settings to new textFont settings.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestBigSil():
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +
    +    AddPlot("Subset", "domains")
    +    AddPlot("Subset", "blocks")
    +    s = SubsetAttributes()
    +    s.legendFlag = 0
    +    s.wireframe = 1
    +    s.colorType = s.ColorBySingleColor
    +    s.singleColor = (100,100,100,255)
    +    SetPlotOptions(s)
    +
    +    SetActivePlots(0)
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.categoryName = "blocks"
    +    op.subsetName = "block0"
    +    op.index = (4, 11, 5)
    +    op.logical = 1
    +    op.adjacencyType = op.Face
    +    op.requestedLayer = 3
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +
    +    Test("ops_onionpeel_01")
    +
    +    op.subsetName = "block1"
    +    op.index = (18, 4, 5)
    +    SetOperatorOptions(op)
    +
    +    Test("ops_onionpeel_02")
    +
    +    op.subsetName = "block2"
    +    op.index = (11, 18, 5)
    +    SetOperatorOptions(op)
    +
    +    Test("ops_onionpeel_03")
    +
    +    DeleteAllPlots()
    +
    +def TestUCD():
    +    # This is to test that onion peel will work (by default)
    +    # on the first "On" set -- in this case "domain4".
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    domains = ("domain4", "domain5", "domain6")
    +    TurnDomainsOff()
    +    TurnDomainsOn(domains)
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("actual")
    +    AddOperator("OnionPeel")
    +    DrawPlots()
    +    Test("ops_onionpeel_04")
    +
    +    DeleteAllPlots()
    +
    +def TestGlobalZoneId():
    +    # This is to test that onion peel will work when 
    +    # a global cell number is specified. 
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +
    +    TurnDomainsOn()
    +    AddPlot("Subset", "domains")
    +    s = SubsetAttributes()
    +    s.legendFlag = 0
    +    s.wireframe = 1
    +    s.colorType = s.ColorBySingleColor
    +    s.singleColor = (100,100,100,255)
    +    SetPlotOptions(s)
    +    AddPlot("Pseudocolor", "dist")
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.categoryName = "domains"
    +    op.subsetName = "domain5"
    +    op.index = 372
    +    op.logical = 0
    +    op.adjacencyType = op.Face
    +    op.requestedLayer = 7
    +    SetOperatorOptions(op)
    +
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("original")
    +
    +    Test("ops_onionpeel_05")
    +
    +    #only change is to specify that seed cell is global
    +    op.useGlobalId = 1
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_06")
    +
    +    DeleteAllPlots()
    +
    +def TestMatSelect():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("FilledBoundary", "mat1")
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.index = 8
    +    op.requestedLayer = 5
    +    op.adjacencyType = op.Face
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    SetViewExtentsType("actual")
    +    Test("ops_onionpeel_07")
    +
    +    TurnMaterialsOff("1")
    +    Test("ops_onionpeel_08")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    TurnMaterialsOff("4")
    +    AddOperator("OnionPeel")
    +    op.requestedLayer = 2
    +    op.index = 27
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    Test("ops_onionpeel_09")
    +    TurnMaterialsOn()
    +    DeleteAllPlots()
    +
    +def TestNodeId():
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Mesh", "ucdmesh2d")
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.index = 0
    +    op.seedType = op.SeedCell
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    Test("ops_onionpeel_10")
    +
    +    op.seedType = op.SeedNode
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_11")
    +
    +    op.requestedLayer = 2
    +    op.adjacencyType = op.Face
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_12")
    +
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddPlot("Pseudocolor", "d")
    +    SetActivePlots((0, 1))
    +    TurnMaterialsOff("1")
    +    AddOperator("OnionPeel")
    +    op.index = 44
    +    op.requestedLayer = 0
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    SetViewExtentsType("actual")
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, -1)
    +    SetView3D(v)
    +    Test("ops_onionpeel_13")
    +    op.requestedLayer = 12
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_14")
    +    TurnMaterialsOn()
    +    DeleteAllPlots()
    +
    +def TestFilledBoundary():
    +    # need to test index on high-side
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddPlot("FilledBoundary", "mat1")
    +    SetActivePlots((0,1))
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.index = 15735
    +    op.requestedLayer = 5
    +    op.adjacencyType = op.Face
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("actual")
    +    Test("ops_onionpeel_15")
    +
    +    op.seedType = op.SeedNode
    +    op.index = 32713
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_16")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("FilledBoundary", "mat1")
    +    SetActivePlots((0,1))
    +    AddOperator("OnionPeel")
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 2
    +    op.index = 742
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    Test("ops_onionpeel_17")
    +    op.index = 1117
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    Test("ops_onionpeel_18")
    +
    +    op.seedType = op.SeedNode
    +    op.requestedLayer = 6
    +    op.index = 965
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_19")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh3d")
    +    AddPlot("FilledBoundary", "mat1")
    +    SetActivePlots((0, 1))
    +    AddOperator("OnionPeel")
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 5
    +    op.index = 19412
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (-2.29977, 0.966088, 16.5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 5.61745
    +    v.nearPlane = -11.2349
    +    v.farPlane = 11.2349
    +    v.imagePan = (-0.00484124, 0.00104964)
    +    v.imageZoom = 4.08886
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (-2.29977, 0.966088, 16.5)
    +    SetView3D(v)
    +    Test("ops_onionpeel_20")
    +    DeleteAllPlots()
    +
    +
    +def TestBoundary():
    +    # need to test index on high-side
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddPlot("Boundary", "mat1")
    +    SetActivePlots((0,1))
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.index = 15735
    +    op.requestedLayer = 5
    +    op.adjacencyType = op.Face
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("actual")
    +    Test("ops_onionpeel_21")
    +
    +    op.seedType = op.SeedNode
    +    op.index = 1370
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_22")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Boundary", "mat1")
    +    SetActivePlots((0,1))
    +    AddOperator("OnionPeel")
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 2
    +    op.index = 17
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (1, 0, 0)
    +    v.viewUp = (0, 1, 0)
    +    SetView3D(v)
    +    Test("ops_onionpeel_23")
    +    op.index = 117
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    Test("ops_onionpeel_24")
    +
    +    op.seedType = op.SeedNode
    +    op.requestedLayer = 6
    +    op.index = 13
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_25")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh3d")
    +    AddPlot("Boundary", "mat1")
    +    SetActivePlots((0, 1))
    +    AddOperator("OnionPeel")
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 5
    +    op.index = 19472
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (-2.29977, 0.966088, 16.5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 5.61745
    +    v.nearPlane = -11.2349
    +    v.farPlane = 11.2349
    +    v.imagePan = (-0.00484124, 0.00104964)
    +    v.imageZoom = 4.08886
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (-2.29977, 0.966088, 16.5)
    +    SetView3D(v)
    +    Test("ops_onionpeel_26")
    +    DeleteAllPlots()
    +
    +def TestArbPoly():
    +    TestSection("Arbitrary Polyhedra, honor original mesh")
    +    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +    DefineScalarExpression("gzid", "global_zoneid(<3D/mesh1>)")
    +    AddPlot("Mesh", "3D/mesh1")
    +    AddPlot("Pseudocolor", "gzid")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName="levels"
    +    SetPlotOptions(pc)
    +    AddOperator("OnionPeel")
    +    DrawPlots()
    +    ResetView()
    +    op = OnionPeelAttributes()
    +
    +    SetQueryOutputToObject()
    +    # there are only 11 zones in original mesh
    +    # when NumZonesQuery is fixed, can use it instead
    +    # SetActivePlots(0)
    +    # numZones = Query("NumZones", use_actual_data=0)['num_zones']
    +    # SetActivePlots(1)
    +    numZones = 11
    +    for i in range(numZones):
    +        op.index = i
    +        SetOperatorOptions(op)
    +        DrawPlots()
    +        Test("poly_originalMesh_%02d"%i)
    +
    +    TestSection("Arbitrary Polyhedra, honor actual mesh")
    +    op.honorOriginalMesh = 0
    +    SetActivePlots(0)
    +    numZones = Query("NumZones", use_actual_data=1)['num_zones']
    +    print("numZones: ", numZones)
    +    SetActivePlots(1)
    +    for i in range (numZones):
    +        op.index = i
    +        SetOperatorOptions(op)
    +        DrawPlots()
    +        Test("poly_actualMesh%02d"%i)
    +
    +    DeleteAllPlots()
    +
    +def TestBigSilMesh():
    +    # use actual spatial extents
    +    SetViewExtentsType(1)
    +
    +    # non-logical index
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +    AddPlot("Mesh", "mesh")
    +    mesh = MeshAttributes()
    +    mesh.showInternal = 1
    +    SetPlotOptions(mesh)
    +
    +    AddPlot("Label", "mesh")
    +    label = LabelAttributes()
    +    label.showNodes = 1
    +    label.showCells = 1
    +    label.drawLabelsFacing = label.FrontAndBack
    +    label.labelDisplayFormat = label.Index
    +    label.textFont1.useForegroundColor = 0
    +    label.textFont1.color = (255, 0, 0, 0)
    +    label.textFont2.useForegroundColor = 0
    +    label.textFont2.color = (0, 0, 255, 0)
    +    label.depthTestMode = label.LABEL_DT_NEVER
    +    SetPlotOptions(label)
    +
    +    AddOperator("OnionPeel", 1)
    +    op = OnionPeelAttributes()
    +    op.categoryName = "domains"
    +    op.subsetName = "domain14"
    +    op.logical = 0
    +    op.index = (211)
    +    op.requestedLayer = 0
    +    op.seedType = op.SeedNode
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("bigsil_mesh_01")
    +
    +    op.seedType = op.SeedCell
    +    op.index = (223)
    +    op.requestedLayer = 1
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("bigsil_mesh_02")
    +
    +    # Blocks/Domains, logical index
    +    op.logical = 1
    +    op.index = (3, 2, 3)
    +    op.requestedLayer = 0
    +    op.seedType = op.SeedNode
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("bigsil_mesh_03")
    +
    +    op.seedType = op.SeedCell
    +    op.index = (6, 3, 4)
    +    op.requestedLayer = 1
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("bigsil_mesh_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("bigsil.silo"))
    +    # use original spatial extents
    +    SetViewExtentsType(0)
    +
    +def TestAMR():
    +    # AMR Mesh
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +    # use actual spatial extents
    +    SetViewExtentsType(1)
    +
    +    AddPlot("Mesh", "amr_mesh")
    +    mesh = MeshAttributes()
    +    mesh.showInternal = 1
    +    SetPlotOptions(mesh)
    +
    +    AddPlot("Label", "amr_mesh")
    +    label = LabelAttributes()
    +    label.showNodes = 1
    +    label.showCells = 1
    +    label.drawLabelsFacing = label.FrontAndBack
    +    label.labelDisplayFormat = label.Index
    +    label.textFont1.useForegroundColor = 0
    +    label.textFont1.color = (255, 0, 0, 0)
    +    label.textFont2.useForegroundColor = 0
    +    label.textFont2.color = (0, 0, 255, 0)
    +    label.depthTestMode = label.LABEL_DT_NEVER
    +    SetPlotOptions(label)
    +
    +    AddOperator("OnionPeel", 1)
    +    op = OnionPeelAttributes()
    +    op.categoryName = "levels"
    +    op.subsetName = "level2"
    +    op.logical = 1
    +    op.index = (11, 15, 8)
    +    op.seedType = op.SeedNode
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("amr_3d_01")
    +
    +    op.seedType = op.SeedCell
    +    op.index = (10, 15, 8)
    +    op.requestedLayer = 1
    +    SetOperatorOptions(op,0, 1);
    +    Test("amr_3d_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    # Test Vector plot
    +    OpenDatabase(data_path("samrai_test_data/mats-par3/dumps.visit"))
    +
    +    AddPlot("Mesh", "amr_mesh")
    +    AddPlot("Vector", "Velocity")
    +    TimeSliderNextState()
    +    AddOperator("OnionPeel", 1)
    +    op = OnionPeelAttributes()
    +    op.categoryName = "levels"
    +    op.subsetName = "level1"
    +    op.logical = 1
    +    op.index = (12, 15, 10)
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 1
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("amr_3d_03")
    +
    +    op.seedType = op.SeedNode
    +    op.index = (13, 15, 10)
    +    op.requestedLayer = 0
    +    SetOperatorOptions(op,0, 1);
    +    Test("amr_3d_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("samrai_test_data/mats-par3/dumps.visit"))
    +
    +    # 2D AMR Mesh
    +    OpenDatabase(data_path("samrai_test_data/ale2d/dumps.visit"))
    +
    +    # use actual spatial extents
    +    SetViewExtentsType(1)
    +
    +    AddPlot("Mesh", "amr_mesh")
    +    AddPlot("Contour", "Density")
    +
    +    AddOperator("OnionPeel", 1)
    +    op = OnionPeelAttributes()
    +    op.categoryName = "levels"
    +    op.subsetName = "level2"
    +    op.logical = 1
    +    op.index = (384, 490)
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 1
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("amr_2d_01")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("samrai_test_data/ale2d/dumps.visit"))
    +
    +    OpenDatabase(data_path("AMRStitchCell_test_data/AMRStitchCellTest.1.no_ghost.phi.2d.hdf5"))
    +    AddPlot("Subset", "levels")
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Contour", "phi")
    +    AddPlot("Label", "Mesh")
    +    label = LabelAttributes()
    +    label.showNodes = 1
    +    label.showCells = 1
    +    label.drawLabelsFacing = label.FrontAndBack
    +    label.labelDisplayFormat = label.Index
    +    label.textFont1.useForegroundColor = 0
    +    label.textFont1.color = (255, 0, 0, 0)
    +    label.textFont2.useForegroundColor = 0
    +    label.textFont2.color = (0, 0, 255, 0)
    +    label.depthTestMode = label.LABEL_DT_NEVER
    +    SetPlotOptions(label)
    +
    +    AddOperator("OnionPeel", 1)
    +    op = OnionPeelAttributes()
    +    op.categoryName = "levels"
    +    op.subsetName = "level2"
    +    op.logical = 1
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 1
    +    op.index = (24, 35)
    +    SetOperatorOptions(op, 0, 1)
    +    DrawPlots()
    +    Test("amr_2d_02")
    +    # use original spatial extents
    +    SetViewExtentsType(0)
    +
    +def Main():
    +    TestBigSil()
    +    TestUCD()
    +    TestGlobalZoneId()
    +    TestMatSelect()
    +    TestNodeId()
    +    TestFilledBoundary()
    +    TestBoundary()
    +    TestArbPoly()
    +    TestBigSilMesh()
    +    TestAMR()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_operators.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_operators.html new file mode 100644 index 000000000..dec0b67d0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_operators.html @@ -0,0 +1,78 @@ + +Results for operators/operators.py + +

    Results of VisIt Regression Test - operators/operators

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_sliceop010.000.00
    ops_sliceop020.000.00
    ops_clip010.000.00
    ops_clip020.000.00
    ops_clip030.000.00
    ops_onion010.000.00
    ops_onion020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_operators_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_operators_py.html new file mode 100644 index 000000000..1c7d31426 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_operators_py.html @@ -0,0 +1,141 @@ +operators/operators.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  operators.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc
    +#              operators - slice, clip, onionpeel
    +#              selection - none
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       April 17, 2002
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Jul 24 10:21:07 PDT 2002
    +#    Remove threshold tests in favor of its own file.
    +#
    +#    Hank Childs. Tue Nov 19 15:45:12 PST 2002
    +#    Change Aslice to Slice for slicing interface change.
    +#
    +#    Eric Brugger, Fri Jan 17 16:53:32 PST 2003
    +#    Change Erase to Clip for interface change.
    +#
    +#    Eric Brugger, Thu May  8 12:47:54 PDT 2003
    +#    Change the setting of one of the Slice attributes because of an
    +#    interface change.
    +#
    +#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004 
    +#    Default slice atts have changed, update accordingly. 
    +#    
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetParallelScale(17.3205)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +# Slice
    +slice = SliceAttributes()
    +
    +RemoveAllOperators()
    +slice.originType = slice.Point
    +slice.SetOriginPoint(1,2,3)
    +slice.SetNormal(1,-1,0)
    +slice.SetUpAxis(0,0,1)
    +slice.project2d = 1
    +SetDefaultOperatorOptions(slice)
    +AddOperator("Slice")
    +DrawPlots()
    +
    +Test("ops_sliceop01")
    +
    +RemoveAllOperators()
    +slice.project2d = 0
    +SetDefaultOperatorOptions(slice)
    +AddOperator("Slice")
    +DrawPlots()
    +
    +Test("ops_sliceop02")
    +
    +# Clip
    +clip = ClipAttributes()
    +
    +RemoveAllOperators()
    +clip.plane1Status = 1
    +clip.SetPlane1Origin(1,2,3)
    +clip.SetPlane1Normal(-1,1,0)
    +clip.funcType = 0
    +SetDefaultOperatorOptions(clip)
    +AddOperator("Clip")
    +DrawPlots()
    +
    +Test("ops_clip01")
    +
    +RemoveAllOperators()
    +clip.SetCenter(0,0,10)
    +clip.radius = 9
    +clip.funcType = 1
    +SetDefaultOperatorOptions(clip)
    +AddOperator("Clip")
    +DrawPlots()
    +
    +Test("ops_clip02")
    +
    +clip = ClipAttributes()
    +clip.plane1Status = 1
    +clip.SetPlane1Origin(1,2,3)
    +clip.SetPlane1Normal(-1,1,0)
    +clip.plane2Status = 1
    +clip.SetPlane2Origin(0,0,0)
    +clip.SetPlane2Normal(-1,0,0)
    +clip.funcType = 0
    +SetDefaultOperatorOptions(clip)
    +AddOperator("Clip")
    +DrawPlots()
    +
    +Test("ops_clip03")
    +
    +# OnionPeel
    +onion = OnionPeelAttributes()
    +
    +RemoveAllOperators()
    +onion.adjacencyType = 0
    +onion.index = 30
    +onion.requestedLayer = 3
    +SetDefaultOperatorOptions(onion)
    +AddOperator("OnionPeel")
    +DrawPlots()
    +
    +Test("ops_onion01")
    +
    +RemoveAllOperators()
    +onion.adjacencyType = 1
    +onion.requestedLayer = 7
    +SetDefaultOperatorOptions(onion)
    +AddOperator("OnionPeel")
    +DrawPlots()
    +
    +Test("ops_onion02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_persistent_particles.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_persistent_particles.html new file mode 100644 index 000000000..8f215702e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_persistent_particles.html @@ -0,0 +1,72 @@ + +Results for operators/persistent_particles.py + +

    Results of VisIt Regression Test - operators/persistent_particles

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    persistent_particles_010.000.00
    persistent_particles_020.000.00
    persistent_particles_030.000.00
    persistent_particles_040.000.00
    persistent_particles_050.000.00
    persistent_particles_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_persistent_particles_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_persistent_particles_py.html new file mode 100644 index 000000000..a1057e874 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_persistent_particles_py.html @@ -0,0 +1,173 @@ +operators/persistent_particles.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  persistent_particles.py
    +#
    +#  Programmer: Hank Childs
    +#  Date:       October 15, 2010
    +#
    +#  Modifications:
    +#     Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#     Changed Pseudocolor CurrentPlot to ActualData.
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("synergia_test_data/vis_particles_* database"),0, "Vs")
    +
    +AddPlot("Pseudocolor", "particles_6")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.outputMeshType = 0
    +ThresholdAtts.listedVarNames = ("default")
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (-1e+37)
    +ThresholdAtts.upperBounds = (20)
    +ThresholdAtts.defaultVarName = "particles_6"
    +ThresholdAtts.defaultVarIsScalar = 1
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.282153, 0.56578, 0.774779)
    +View3DAtts.focus = (-0.000283548, -1.60497e-05, -0.00167359)
    +View3DAtts.viewUp = (-0.173662, 0.824371, -0.538752)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 0.0560412
    +View3DAtts.nearPlane = -0.112082
    +View3DAtts.farPlane = 0.112082
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 3
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (-0.000283548, -1.60497e-05, -0.00167359)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +SetView3D(View3DAtts)
    +
    +Test("persistent_particles_01")
    +
    +CreateNamedSelection("selection1")
    +a = GetAnnotationAttributes()
    +SetWindowLayout(2)
    +SetActiveWindow(2)
    +SetAnnotationAttributes(a)
    +AddPlot("Pseudocolor", "particles_6", 1, 1)
    +silr = SILRestriction()
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr ,1)
    +ApplyNamedSelection("selection1")
    +DrawPlots()
    +SetView3D(View3DAtts)
    +Test("persistent_particles_02")
    +
    +AddOperator("PersistentParticles", 1)
    +PersistentParticlesAtts = PersistentParticlesAttributes()
    +PersistentParticlesAtts.startIndex = 0
    +PersistentParticlesAtts.stopIndex = 5
    +PersistentParticlesAtts.stride = 1
    +PersistentParticlesAtts.startPathType = PersistentParticlesAtts.Absolute  # Absolute, Relative
    +PersistentParticlesAtts.stopPathType = PersistentParticlesAtts.Absolute  # Absolute, Relative
    +PersistentParticlesAtts.traceVariableX = "default"
    +PersistentParticlesAtts.traceVariableY = "default"
    +PersistentParticlesAtts.traceVariableZ = "default"
    +PersistentParticlesAtts.connectParticles = 0
    +PersistentParticlesAtts.indexVariable = "default"
    +SetOperatorOptions(PersistentParticlesAtts, 1)
    +DrawPlots()
    +Test("persistent_particles_03")
    +
    +PersistentParticlesAtts.connectParticles = 1
    +SetOperatorOptions(PersistentParticlesAtts, 1)
    +Test("persistent_particles_04")
    +
    +AddOperator("Tube", 1)
    +TubeAtts = TubeAttributes()
    +TubeAtts.scaleByVarFlag = 0
    +TubeAtts.tubeRadiusType = TubeAtts.Absolute
    +TubeAtts.radiusAbsolute = 0.0005
    +TubeAtts.scaleVariable = "default"
    +TubeAtts.fineness = 10
    +TubeAtts.capping = 0
    +SetOperatorOptions(TubeAtts, 1)
    +DrawPlots()
    +Test("persistent_particles_05")
    +
    +
    +AddPlot("Pseudocolor", "particles_6", 1, 0)
    +ApplyNamedSelection("selection1")
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.maxFlag = 0
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.max = 1
    +PseudocolorAtts.pointSize = 0.001
    +PseudocolorAtts.pointType = PseudocolorAtts.Icosahedron  # Box, Axis, Icosahedron, Point, Sphere
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.colorTableName = "orangehot"
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
    +SetPlotOptions(PseudocolorAtts)
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.maxFlag = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.max = 20
    +PseudocolorAtts.pointSize = 0.001
    +PseudocolorAtts.pointType = PseudocolorAtts.Icosahedron  # Box, Axis, Icosahedron, Point, Sphere
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.colorTableName = "orangehot"
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
    +SetPlotOptions(PseudocolorAtts)
    +SetActivePlots((0, 1))
    +SetActivePlots(0)
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.maxFlag = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.max = 20
    +PseudocolorAtts.pointSize = 0.05
    +PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Point, Sphere
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.colorTableName = "orangehot"
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
    +SetPlotOptions(PseudocolorAtts)
    +DrawPlots()
    +Test("persistent_particles_06")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_radial_resample.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_radial_resample.html new file mode 100644 index 000000000..c0a877899 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_radial_resample.html @@ -0,0 +1,60 @@ + +Results for operators/radial_resample.py + +

    Results of VisIt Regression Test - operators/radial_resample

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_radialresampleop_rect2d0.000.00
    ops_radialresampleop_rect3d0.000.00
    ops_radialresampleop_multi_rect2d0.000.00
    ops_radialresampleop_multi_rect3d0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_radial_resample_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_radial_resample_py.html new file mode 100644 index 000000000..abeec54ce --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_radial_resample_py.html @@ -0,0 +1,135 @@ +operators/radial_resample.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  radial_resample.py
    +#
    +#  Tests:      mesh    - 2D rectilinear, single domain,
    +#                        3D rectilinear, single domain
    +#                        3D unstructured, multiple domain
    +#              plots   - pseudocolor
    +#
    +#  Defect ID:  1827 
    +#
    +#  Programmer: Kevin Griffin
    +#  Date:       Tue Jun  3 11:00:41 EST 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# 2D, Rectilinear
    +ds = silo_data_path("rect2d.silo")
    +OpenDatabase(ds)
    +
    +# clean-up 1's
    +AddPlot("Mesh", "quadmesh2d", 1, 1)
    +AddOperator("RadialResample")
    +
    +RadialResampleAttrs = RadialResampleAttributes()
    +RadialResampleAttrs.isFast = 0
    +RadialResampleAttrs.minTheta = -45
    +RadialResampleAttrs.maxTheta = 90
    +RadialResampleAttrs.deltaTheta = 5
    +RadialResampleAttrs.radius = 0.5
    +RadialResampleAttrs.deltaRadius = 0.05
    +RadialResampleAttrs.center = (0.5, 0.5, 0.5)
    +RadialResampleAttrs.is3D = 0
    +
    +SetOperatorOptions(RadialResampleAttrs)
    +
    +AddPlot("Pseudocolor", "t", 1, 1)
    +DrawPlots()
    +Test("ops_radialresampleop_rect2d")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds)
    +
    +#3D, Rectilinear
    +ds = silo_data_path("rect3d.silo")
    +OpenDatabase(ds)
    +
    +AddPlot("Mesh", "quadmesh3d", 1, 1)
    +AddOperator("RadialResample")
    +
    +RadialResampleAtts = RadialResampleAttributes()
    +RadialResampleAtts.isFast = 0
    +RadialResampleAtts.minTheta = -90
    +RadialResampleAtts.maxTheta = 90
    +RadialResampleAtts.deltaTheta = 5
    +RadialResampleAtts.radius = 0.5
    +RadialResampleAtts.deltaRadius = 0.05
    +RadialResampleAtts.center = (0.5, 0.5, 0.5)
    +RadialResampleAtts.is3D = 1
    +RadialResampleAtts.minAzimuth = 0
    +RadialResampleAtts.maxAzimuth = 360
    +RadialResampleAtts.deltaAzimuth = 5
    +
    +SetOperatorOptions(RadialResampleAtts, 1)
    +
    +AddPlot("Pseudocolor", "w", 1, 1)
    +DrawPlots()
    +Test("ops_radialresampleop_rect3d")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds)
    +
    +#2D, Rectilinear, Multiple Domains
    +ds = silo_data_path("multi_rect2d.silo")
    +OpenDatabase(ds)
    +
    +AddPlot("Mesh", "mesh1", 1, 1)
    +AddOperator("RadialResample", 1)
    +
    +RadialResampleAtts = RadialResampleAttributes()
    +RadialResampleAtts.isFast = 0
    +RadialResampleAtts.minTheta = 0
    +RadialResampleAtts.maxTheta = 360
    +RadialResampleAtts.deltaTheta = 5
    +RadialResampleAtts.radius = 1
    +RadialResampleAtts.deltaRadius = 0.05
    +RadialResampleAtts.center = (0.3, 0, 0)
    +RadialResampleAtts.is3D = 0
    +RadialResampleAtts.minAzimuth = 0
    +RadialResampleAtts.maxAzimuth = 180
    +RadialResampleAtts.deltaAzimuth = 5
    +
    +SetOperatorOptions(RadialResampleAtts, 1)
    +AddPlot("Pseudocolor", "vec_magnitude", 1, 1)
    +
    +DrawPlots()
    +Test("ops_radialresampleop_multi_rect2d")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds)
    +
    +# 3D, Rectilinear, Multiple Domains
    +ds = silo_data_path("multi_rect3d.silo")
    +OpenDatabase(ds)
    +
    +AddPlot("Mesh", "mesh1", 1, 1)
    +AddOperator("RadialResample", 1)
    +
    +RadialResampleAtts = RadialResampleAttributes()
    +RadialResampleAtts.isFast = 0
    +RadialResampleAtts.minTheta = -90
    +RadialResampleAtts.maxTheta = 90
    +RadialResampleAtts.deltaTheta = 5
    +RadialResampleAtts.radius = 0.5
    +RadialResampleAtts.deltaRadius = 0.05
    +RadialResampleAtts.center = (0.5, 0.5, 0.5)
    +RadialResampleAtts.is3D = 1
    +RadialResampleAtts.minAzimuth = 0
    +RadialResampleAtts.maxAzimuth = 360
    +RadialResampleAtts.deltaAzimuth = 5
    +
    +SetOperatorOptions(RadialResampleAtts)
    +
    +AddPlot("Pseudocolor", "w")
    +DrawPlots()
    +Test("ops_radialresampleop_multi_rect3d")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_reflect.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_reflect.html new file mode 100644 index 000000000..b6fe4508c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_reflect.html @@ -0,0 +1,152 @@ + +Results for operators/reflect.py + +

    Results of VisIt Regression Test - operators/reflect

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_refl010.000.00
    ops_refl020.290.25
    ops_refl030.000.00
    ops_refl040.000.00
    ops_refl050.000.00
    ops_refl060.000.00
    ops_refl070.000.00
    ops_refl080.000.00
    ops_refl090.000.00
    ops_refl10100.0035.10
    ops_refl11100.0034.67
    ops_refl12100.0025.98
    ops_refl130.000.00
    arb_plane000.000.00
    arb_plane010.000.00
    arb_plane020.000.00
    arb_plane030.000.00
    arb_plane040.000.00
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_reflect_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_reflect_py.html new file mode 100644 index 000000000..da135e8d9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_reflect_py.html @@ -0,0 +1,345 @@ +operators/reflect.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  reflect.py
    +#
    +#  Tests:      mesh      - 3D curvilinear, single domain,
    +#                          3D rectilinear, single domain.
    +#                          3D unstructured, single domain.
    +#              plots     - pc, vector, subset
    +#
    +#  Defect ID:  '5079, '5872, '6321
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 24, 2004
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri Aug 13 09:52:28 PDT 2004
    +#    Test ghost nodes along the reflection plane.
    +#
    +#    Hank Childs, Thu Aug 19 16:37:35 PDT 2004
    +#    Do not test ops_refl12 since that is done in reflect2.py (and will be
    +#    until SR mode plays well with transparency).
    +#
    +#    Jeremy Meredith, Thu Oct 21 11:56:05 PDT 2004
    +#    Reintegrated ops_refl12 since SR/transparency works now.
    +#
    +#    Hank Childs, Thu Jan 20 11:31:43 PST 2005
    +#    Test projecting then reflecting ['5872].
    +#
    +#    Hank Childs, Tue Jul  5 09:29:40 PDT 2005
    +#    Test that reflected plots are not degenerate by using the volume plot
    +#    ['6321].
    +#
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +#    Alister Maguire, Wed Apr 25 15:56:47 PDT 2018
    +#    Added tests for reflecting across an arbitrary plane. 
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# 3D, rectilinear.  Multi-block  Tests ghost zones as well.
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +atts = ReflectAttributes()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Reflect")
    +atts.reflections = (1, 0, 1, 0, 0, 0, 0, 0)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_refl01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Mesh", "quadmesh2d")
    +AddPlot("FilledBoundary", "mat1")
    +SetActivePlots((0,1))
    +AddOperator("Reflect")
    +DrawPlots()
    +atts.reflections = (0, 1, 1, 1, 0, 0, 0, 0)
    +atts.useXBoundary = 0
    +atts.specifiedX = -0.1
    +atts.useYBoundary = 0
    +atts.specifiedY = -0.05
    +SetOperatorOptions(atts)
    +Test("ops_refl02")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Reflect")
    +DrawPlots()
    +Test("ops_refl03")
    +
    +AddOperator("Isosurface")
    +DrawPlots()
    +Test("ops_refl04")
    +
    +# Move the isosurface operator before the reflect.  This tests whether
    +# or not we can reflect polydata.
    +PromoteOperator(0)
    +DrawPlots()
    +Test("ops_refl05")
    +DeleteAllPlots()
    +
    +# Test unstructured mesh -- plus test vectors.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Vector", "vel")
    +v = VectorAttributes()
    +v.vectorOrigin = v.Head
    +v.nVectors = 400*4
    +SetPlotOptions(v)
    +
    +AddOperator("Reflect")
    +atts.reflections = (1, 0, 1, 0, 1, 0, 0, 1)
    +atts.useXBoundary = 1
    +atts.useYBoundary = 1
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.324974, 0.839345, 0.435765)
    +v.focus = (-10, -10, -10)
    +v.viewUp = (-0.252067, 0.367233, -0.895322)
    +v.viewAngle = 30
    +v.parallelScale = 34.641
    +v.nearPlane = -69.282
    +v.farPlane = 69.282
    +v.imagePan = (0, 0)
    +v.imageZoom = 1.56244
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("ops_refl06")
    +
    +
    +# Now test a zonal vector variable (different code in the reflect operator).
    +ChangeActivePlotsVar("disp")
    +Test("ops_refl07")
    +
    +disp_atts = DisplaceAttributes()
    +disp_atts.variable = "vel"
    +SetDefaultOperatorOptions(disp_atts)
    +AddOperator("Displace")
    +DrawPlots()
    +Test("ops_refl08")
    +
    +PromoteOperator(0)
    +disp_atts.variable = "disp"
    +disp_atts.factor = 4
    +SetOperatorOptions(disp_atts)
    +ChangeActivePlotsVar("vel")
    +DrawPlots()
    +Test("ops_refl09")
    +DeleteAllPlots()
    +
    +
    +# Test that we properly put ghost nodes along the reflection plane.
    +
    +# There is a lot of code dedicated to creating the ghost nodes for a 
    +# rectilinear grid.  Use the PXPYPZ and NXNYNZ octants to flex all of that 
    +# code.
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +pc = PseudocolorAttributes()
    +pc.SetOpacityType(pc.Constant)
    +pc.opacity = 0.3
    +SetPlotOptions(pc)
    +
    +AddOperator("Reflect")
    +r = ReflectAttributes()
    +r.reflections = (1,1,1,1,1,1,1,1)
    +SetOperatorOptions(r)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.390471, 0.546441, 0.740901)
    +v.focus = (-10, -10, -10)
    +v.viewUp = (0.00925777, 0.807079, -0.590371)
    +v.viewAngle = 30
    +v.parallelScale = 34.641
    +v.nearPlane = -69.282
    +v.farPlane = 69.282
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("ops_refl10")
    +
    +r.octant = r.NXNYNZ
    +SetOperatorOptions(r)
    +
    +v.viewNormal = (0.576101, 0.343493, 0.741701)
    +v.focus = (10, 10, 10)
    +v.viewUp = (-0.15522, 0.936877, -0.313318)
    +SetView3D(v)
    +
    +Test("ops_refl11")
    +
    +
    +# Now make sure that this works well with an everyday vtkPointSet as well.
    +# Also test that we can handle the presence of both ghost nodes (from the
    +# reflect) and ghost zones (from the multi_ucd3d file).
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +SetPlotOptions(pc)
    +AddOperator("Reflect")
    +r = ReflectAttributes()
    +r.reflections = (1,0,0,0,1,0,0,0)
    +SetOperatorOptions(r)
    +DrawPlots()
    +
    +v.viewNormal = (0.328912, 0.896692, 0.296244)
    +v.focus = (0, 2.5, 20)
    +v.viewUp = (-0.710536, 0.441617, -0.547826)
    +v.viewAngle = 30
    +v.parallelScale = 20.7666
    +v.nearPlane = -41.5331
    +v.farPlane = 41.5331
    +v.imagePan = (-0.237006, -0.229008)
    +v.imageZoom = 1.25605
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("ops_refl12")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Boundary", "mat1")
    +AddOperator("Project")
    +AddOperator("Reflect")
    +DrawPlots()
    +Test("ops_refl13")
    +
    +# This test hangs in parallel.
    +if TestEnv.params["serial"]:
    +    # The "mass volume extractor" of the volume renderer depends on the
    +    # rectilinear grid not being inverted.  Test that here ('6321).
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Volume", "d")
    +    AddOperator("Reflect")
    +    DrawPlots()
    +    Test("ops_refl14")
    +
    +#
    +# Now test reflecting different datasets over arbitrary planes.
    +#
    +
    +# Test 3D rectilinear over arbitrary plane.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +AddPlot("Pseudocolor" ,"d")
    +AddOperator("Reflect")
    +
    +atts = ReflectAttributes()
    +atts.reflectType = atts.Plane
    +atts.planePoint = (1, 1, 1)
    +atts.planeNormal = (4, 5, 6)
    +SetOperatorOptions(atts)
    +
    +DrawPlots()
    +
    +Test("arb_plane00")
    +
    +# Test 3D curvilinear over arbitrary plane. 
    +DeleteAllPlots()
    +ResetView()
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor" ,"v")
    +AddOperator("Reflect")
    +
    +atts = ReflectAttributes()
    +atts.reflectType = atts.Plane
    +atts.planePoint = (-8, -3, -4)
    +atts.planeNormal = (4.5, 3, 2)
    +SetOperatorOptions(atts)
    +
    +DrawPlots()
    +
    +Test("arb_plane01")
    +
    +# Test 2D curvilinear
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor" ,"v")
    +AddOperator("Reflect")
    +
    +atts = ReflectAttributes()
    +atts.reflectType = atts.Plane
    +atts.planePoint = (-8, -3, 0)
    +atts.planeNormal = (4.5, 3, 0)
    +SetOperatorOptions(atts)
    +
    +DrawPlots()
    +
    +Test("arb_plane02")
    +
    +# Test 3D unstructured
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor" ,"v")
    +AddOperator("Reflect")
    +
    +atts = ReflectAttributes()
    +atts.reflectType = atts.Plane
    +atts.planePoint = (-8, -3, 0)
    +atts.planeNormal = (7, 9, 1)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("arb_plane03")
    +
    +AddOperator("Reflect")
    +
    +atts = ReflectAttributes()
    +atts.reflectType = atts.Plane
    +atts.planePoint = (20, 15, 19)
    +atts.planeNormal = (3, 2, 4)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("arb_plane04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_remap.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_remap.html new file mode 100644 index 000000000..0447d16ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_remap.html @@ -0,0 +1,264 @@ + +Results for operators/remap.py + +

    Results of VisIt Regression Test - operators/remap

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ghost_zvar_int0.000.00
    ghost_zvar_ext0.000.00
    globalNode_p_int0.000.00
    globalNode_p_ext0.000.00
    mCurve2_d_int0.000.00
    mCurve2_d_ext0.000.00
    mCurve2_d_dup_int0.000.00
    mCurve2_d_dup_ext0.000.00
    mCurve2_nmats_int0.000.00
    mCurve2_nmats_ext0.000.00
    mCurve2_p_int0.000.00
    mCurve2_p_ext0.000.00
    mCurve3_d_int0.000.00
    mCurve3_d_ext0.000.00
    mCurve3_d_dup_int0.000.00
    mCurve3_d_dup_ext0.000.00
    mCurve3_nmats_int0.000.00
    mCurve3_nmats_ext0.000.00
    mCurve3_p_int0.000.00
    mCurve3_p_ext0.000.00
    mRect2_d_int0.000.00
    mRect2_d_ext0.000.00
    mRect2_d_dup_int0.000.00
    mRect2_d_dup_ext0.000.00
    mRect2_nmats_int0.000.00
    mRect2_nmats_ext0.000.00
    mRect2_p_int0.000.00
    mRect2_p_ext0.000.00
    mRect3_d_int0.000.00
    mRect3_d_ext0.000.00
    mRect3_d_dup_int0.000.00
    mRect3_d_dup_ext0.000.00
    mRect3_nmats_int0.000.00
    mRect3_nmats_ext0.000.00
    mRect3_p_int0.000.00
    mRect3_p_ext0.000.00
    ucd2_p_int0.000.00
    ucd2_p_ext0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_remap_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_remap_py.html new file mode 100644 index 000000000..213073ef7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_remap_py.html @@ -0,0 +1,133 @@ +operators/remap.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  remap.py
    +#
    +#  Tests:      remap operator
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Eddie Rusu
    +#  Date:       Fri Feb  1 11:16:24 PST 2019
    +#
    +#  Modifications:
    +#     Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#     Changed Pseudocolor CurrentPlot to ActualData.
    +# ----------------------------------------------------------------------------
    +
    +def remap(cells, type = 0):
    +    AddOperator("Remap", 1)
    +    RemapAtts = RemapAttributes()
    +    RemapAtts.cellsX = cells
    +    RemapAtts.cellsY = cells
    +    RemapAtts.cellsZ = cells
    +    if type == 1:
    +        RemapAtts.variableType = RemapAtts.extrinsic
    +        setPseudoOptions()
    +    SetOperatorOptions(RemapAtts, 1)
    +    DrawPlots()
    +
    +def setPseudoOptions():
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.limitsMode = PseudocolorAtts.ActualData
    +    SetPlotOptions(PseudocolorAtts)
    +
    +def set3DView():
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.5, 0.5, 0.7)
    +    View3DAtts.focus = (1.5, 1.5, 0.5)
    +    View3DAtts.viewUp = (-0.0429563, 0.998733, -0.0262205)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 2.17945
    +    View3DAtts.nearPlane = -4.3589
    +    View3DAtts.farPlane = 4.3589
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (1.5, 1.5, 0.5)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +def plotVariables(varName, saveName, cells = 10):
    +    AddPlot("Pseudocolor", varName, 1, 1)
    +    DrawPlots()
    +
    +    remap(cells)
    +    Test(saveName + "_int")
    +
    +    RemoveOperator(0, 1)
    +    remap(cells, 1)
    +    Test(saveName + "_ext")
    +
    +    DeleteAllPlots()
    +
    +def ghost1():
    +    OpenDatabase(silo_data_path("ghost1.silo"))
    +    plotVariables("zvar", "ghost_zvar")
    +    CloseDatabase(silo_data_path("ghost1.silo"))
    +
    +def globalNode():
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +    set3DView()
    +    plotVariables("p", "globalNode_p", 4) # Wrong results.
    +    ResetView()
    +    CloseDatabase(silo_data_path("global_node.silo"))
    +
    +def mCurve2():
    +    OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +    plotVariables("d", "mCurve2_d")
    +    plotVariables("d_dup", "mCurve2_d_dup")
    +    plotVariables("nmats", "mCurve2_nmats")
    +    plotVariables("p", "mCurve2_p")
    +    CloseDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +def mCurve3():
    +    OpenDatabase(silo_data_path("multi_curv3d.silo"))
    +    set3DView()
    +    plotVariables("d", "mCurve3_d", 4)
    +    plotVariables("d_dup", "mCurve3_d_dup", 4)
    +    plotVariables("nmats", "mCurve3_nmats", 4)
    +    plotVariables("p", "mCurve3_p", 4)
    +    ResetView()
    +    CloseDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +def mRect2():
    +    OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +    plotVariables("d", "mRect2_d")
    +    plotVariables("d_dup", "mRect2_d_dup")
    +    plotVariables("nmats", "mRect2_nmats")
    +    plotVariables("p", "mRect2_p")
    +    CloseDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +def mRect3():
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +    set3DView()
    +    plotVariables("d", "mRect3_d", 4)
    +    plotVariables("d_dup", "mRect3_d_dup", 4)
    +    plotVariables("nmats", "mRect3_nmats", 4)
    +    plotVariables("p", "mRect3_p", 4)
    +    ResetView()
    +    CloseDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +def ucd2():
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +    plotVariables("p", "ucd2_p")
    +    CloseDatabase(silo_data_path("ucd2d.silo"))
    +
    +def Main():
    +    ghost1()
    +    globalNode()
    +    mCurve2()
    +    mCurve3()
    +    mRect2()
    +    mRect3()
    +    ucd2()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_resample.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_resample.html new file mode 100644 index 000000000..ac1fe2bbf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_resample.html @@ -0,0 +1,74 @@ + +Results for operators/resample.py + +

    Results of VisIt Regression Test - operators/resample

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_resampleop_noise_point_small0.000.00
    ops_resampleop_noise_point_large0.000.00
    ops_resampleop_noise_point_explicit0.000.00
    ops_resampleop_noise_point_backfull0.000.00
    ops_resampleop_noise_hardy_small0.000.00
    ops_resampleop_curv2d0.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_resample_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_resample_py.html new file mode 100644 index 000000000..684ae9488 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_resample_py.html @@ -0,0 +1,124 @@ +operators/resample.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  resample.py
    +#
    +#  Tests:      resample operator
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Sean Ahern
    +#  Date:       Thu Jan  3 11:00:41 EST 2008
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Dec 31 14:32:34 PST 2008
    +#    Rename ResamplePluginAtts to ResampleAtts.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Alister Maguire, Fri Jan 29 08:17:27 PST 2021
    +#    Set useExtents = 0 where appropriate as setting the start/end
    +#    values no longer overrides useExtents.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "PointVar")
    +AddOperator("Resample")
    +
    +resample = ResampleAttributes()
    +resample.samplesX = 5
    +resample.samplesY = 6
    +resample.samplesZ = 7
    +SetOperatorOptions(resample)
    +
    +DrawPlots()
    +
    +bigView = GetView3D()
    +bigView.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +bigView.SetViewUp(0.176641, 0.929226, -0.324558)
    +bigView.SetParallelScale(17.3205)
    +bigView.SetPerspective(1)
    +SetView3D(bigView)
    +
    +Test("ops_resampleop_noise_point_small")
    +
    +resample = ResampleAttributes()
    +resample.samplesX = 20
    +resample.samplesY = 30
    +resample.samplesZ = 40
    +SetOperatorOptions(resample)
    +
    +Test("ops_resampleop_noise_point_large")
    +
    +resample = ResampleAttributes()
    +resample.useExtents = 0
    +resample.startX = 5.25
    +resample.endX = 9.57
    +resample.samplesX = 10
    +resample.startY = -5.9
    +resample.endY = 0
    +resample.samplesY = 20
    +resample.startZ = -6
    +resample.endZ = 0
    +resample.samplesZ = 30
    +SetOperatorOptions(resample)
    +
    +ResetView()
    +v = GetView3D()
    +v.SetViewNormal(-0.41557,-0.758094,0.502588)
    +v.SetFocus(6.862131,4.91535,-9.08261)
    +v.SetViewUp(-0.720258,0.611719,0.327153)
    +v.SetParallelScale(10)
    +v.SetImagePan(-0.21812, 0.210298)
    +v.SetImageZoom(1.6527)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +Test("ops_resampleop_noise_point_explicit")
    +
    +resample.useExtents = 1
    +SetOperatorOptions(resample)
    +SetView3D(bigView)
    +
    +Test("ops_resampleop_noise_point_backfull")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +AddOperator("Resample")
    +
    +resample = ResampleAttributes()
    +resample.samplesX = 3
    +resample.samplesY = 3
    +resample.samplesZ = 3
    +SetOperatorOptions(resample)
    +
    +SetView3D(bigView)
    +DrawPlots()
    +
    +Test("ops_resampleop_noise_hardy_small")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "v")
    +AddOperator("Resample")
    +
    +resample = ResampleAttributes()
    +resample.samplesX = 10
    +resample.samplesY = 20
    +resample.is3D = 0
    +SetOperatorOptions(resample)
    +
    +DrawPlots()
    +
    +Test("ops_resampleop_curv2d")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_revolve.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_revolve.html new file mode 100644 index 000000000..fb451836b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_revolve.html @@ -0,0 +1,42 @@ + +Results for operators/revolve.py + +

    Results of VisIt Regression Test - operators/revolve

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    revolve_points_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_revolve_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_revolve_py.html new file mode 100644 index 000000000..4f077c022 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_revolve_py.html @@ -0,0 +1,35 @@ +operators/revolve.py
    # ---------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  revolve.py
    +#
    +#  Tests:      mesh      - 2D unstructured, single domain, 
    +#              plots     - pseudocolor
    +#              operators - revolve
    +#
    +#  Programmer: Alister Maguire
    +#  Date: Fri Jun 19 13:30:11 PDT 2020
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def TestRevolvingPoints():
    +    #
    +    # Make sure that we can revolve points. We weren't always able to do this.
    +    #
    +    OpenDatabase(silo_data_path("multi_point2d.silo"))
    +    AddPlot("Pseudocolor", "v", 1, 1)
    +    AddOperator("Revolve", 1)
    +    DrawPlots()
    +    Test("revolve_points_00")
    +    DeleteActivePlots()
    +    CloseDatabase(silo_data_path("multi_point2d.silo"))
    +
    +def Main():
    +    TestRevolvingPoints()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_slice.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_slice.html new file mode 100644 index 000000000..827ff4c62 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_slice.html @@ -0,0 +1,297 @@ + +Results for operators/slice.py + +

    Results of VisIt Regression Test - operators/slice

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Slice through a point
    ops_Slice010.000.00
    Slice through a zone
    ops_Slice020.000.00
    ops_Slice030.000.00
    Slice FilledBoundary plot
    ops_Slice040.000.00
    ops_Slice050.000.00
    ops_Slice060.000.00
    Slice Mesh plot
    ops_Slice070.000.00
    ops_Slice080.000.00
    ops_Slice090.000.00
    ops_Slice100.000.00
    ops_Slice110.000.00
    ops_Slice120.000.00
    ops_Slice130.000.00
    ops_Slice140.000.00
    ops_Slice150.000.00
    ops_Slice160.000.00
    ops_Slice170.000.00
    ops_Slice180.000.00
    Slice point mesh
    ops_Slice190.000.00
    Slice through a point
    ops_Slice200.000.00
    ops_Slice210.000.00
    ops_Slice220.000.00
    ops_Slice230.000.00
    ops_Slice240.000.00
    ops_Slice250.000.00
    ops_Slice260.000.00
    ops_Slice270.000.00
    ops_Slice280.000.00
    ops_Slice290.000.00
    ops_Slice300.000.00
    ops_Slice310.000.00
    ops_Slice320.000.00
    ops_Slice330.000.00
    ops_Slice340.000.00
    ops_Slice350.000.00
    Slice polyhedral cells
    ops_Slice360.000.00
    ops_Slice370.000.00
    ops_Slice380.000.00
    ops_Slice390.000.00
    ops_Slice400.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_slice_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_slice_py.html new file mode 100644 index 000000000..21a9f6881 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_slice_py.html @@ -0,0 +1,590 @@ +operators/slice.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  slice.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain,
    +#                          3D unstructured single domain
    +#                          3D curvilinear multi-domain
    +#                          3D unstructured multi-domain
    +#              plots     - pc, filled boundary, mesh
    +#              operators - slice, onion peel, threshold, index select
    +#
    +#  Defect ID:  '3950 (for tests 16,17,18).  '4662 (test 19).
    +#              '4706 (tests 20-27).  '4913 (test 28), '4975 (test 29).
    +#              '5157 (test 31-2). '5794 (test 33), '7630 (test 35)
    +#
    +#  Known problems:   (1) Slicing of plots that have had material interface
    +#                    reconstruction can often have holes.  This is a problem
    +#                    with the interface reconstruction routines.  When those
    +#                    are fixed, the holes should go away.
    +#                    Tests affected: 4, 5, 6, 15
    +#                    (2) The mesh lines are being shifted towards the camera.
    +#                    For one test, the line actually gets shifted too far and
    +#                    slightly intersects a cell.
    +#                    Tests affected: 7, 8, 9
    +#                    (3) The zonal center for the slice is not consistently
    +#                    determined (see defect '3437).  This means that test 2
    +#                    and 5 do not have the same origin for their slice.
    +#                    This is a known problem.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 19, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset and boundary plots.
    +#
    +#    Hank Childs, Fri Oct 31 14:35:14 PST 2003
    +#    Added test for getting extents right when projecting to 2D and setting
    +#    the origin based on a percent.  From '3950.
    +#
    +#    Hank Childs, Tue Mar 30 08:42:02 PST 2004
    +#    Added test for slicing point meshes. ['4662]
    +#
    +#    Hank Childs, Tue Apr 13 09:53:21 PDT 2004
    +#    Test slicing extremes with percent (0%, 100%) ['4706]
    +#
    +#    Hank Childs, Mon May 24 16:20:49 PDT 2004
    +#    Test slicing point meshes in conjunction with the displace operator
    +#    when the points are all on a plane. ['4913]
    +#
    +#    Hank Childs, Fri Jun 18 08:45:11 PDT 2004
    +#    Test that we can slice boundary plots. ['4975]
    +#
    +#    Hank Childs, Tue Jul 20 16:53:16 PDT 2004
    +#    Test the projection to 2D when the normal and up-axis are not orthogonal
    +#    ['5157].
    +#
    +#    Eric Brugger, Wed Dec 29 15:04:04 PST 2004
    +#    Added a test for changing the time state for a plot that has been
    +#    sliced through a zone.  This tests visit00005794.
    +#
    +#    Kathleen Bonnell, Tue Jan 25 17:27:16 PST 2005 
    +#    Added a test for specifying the meshname with domain/zone type of slice. 
    +#
    +#    Hank Childs, Sat Jan 27 12:45:03 PST 2007
    +#    Added a test for slicing 1xJxK and Ix1xK meshes.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, June 19, 2023
    +#    Add call to RequiredDatabasePlugin.
    +#
    +# ----------------------------------------------------------------------------
    +
    +RequiredDatabasePlugin(("Silo", "EnSight"))
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +TestSection("Slice through a point")
    +# Test 1 -- a slice through a point
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (-0.1, 0.8, -0.6)
    +atts.originType = atts.Point
    +atts.originPoint = (0.3333, 0.094, 0.081)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +view = GetView3D()
    +view.viewNormal = (-0.53, -0.07, -0.84)
    +view.focus = (0.5, 0.5, 0.5)
    +view.viewUp = (0, 1, 0)
    +view.viewAngle = 30
    +view.parallelScale = 0.866
    +view.nearPlane = -1.73
    +view.farPlane = 1.73
    +view.imagePan = (0.058, 0.26)
    +view.imageZoom = 12.6
    +view.perspective = 1
    +SetView3D(view)
    +
    +Test("ops_Slice01")
    +
    +TestSection("Slice through a zone")
    +# Test 2 -- A slice through a zone.  Add an onion peel of that zone to show
    +# that the slice is in the right spot.
    +atts.originType = atts.Zone
    +atts.originZone = 2500
    +atts.originZoneDomain = 0
    +SetOperatorOptions(atts)
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("OnionPeel")
    +op_atts = OnionPeelAttributes()
    +op_atts.index = 2500
    +SetOperatorOptions(op_atts)
    +DrawPlots()
    +SetView3D(view)
    +
    +Test("ops_Slice02")
    +
    +# Test 3 -- A slice through a node.  The node (2645) is incident to the zone
    +# from before (2500).
    +SetActivePlots(0)
    +atts.originType = atts.Node
    +atts.originNode = 2645
    +atts.originNodeDomain = 0
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice03")
    +
    +# Now repeat the three tests with a filled boundary plot.
    +TestSection("Slice FilledBoundary plot")
    +DeleteActivePlots()
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Slice")
    +atts.originType = atts.Point
    +atts.originPoint = (0.3333, 0.094, 0.081)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice04")
    +
    +atts.originType = atts.Zone
    +atts.originZone = 2500
    +atts.originZoneDomain = 0
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice05")
    +
    +atts.originType = atts.Node
    +atts.originNode = 2645
    +atts.originNodeDomain = 0
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice06")
    +
    +# Slice a mesh plot.
    +TestSection("Slice Mesh plot")
    +DeleteActivePlots()
    +
    +AddPlot("Mesh", "quadmesh3d")
    +AddOperator("Slice")
    +atts.originType = atts.Zone
    +atts.originZone = 2500
    +atts.originZoneDomain = 0
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice07")
    +
    +t_atts = ThresholdAttributes()
    +t_atts.listedVarNames = ("d")
    +t_atts.lowerBounds = (0.6)
    +t_atts.upperBounds = (1.0)
    +SetDefaultOperatorOptions(t_atts)
    +AddOperator("Threshold")
    +DemoteOperator(1, 0)
    +DrawPlots()
    +
    +Test("ops_Slice08")
    +
    +RemoveOperator(0, 0)
    +
    +insel_atts = IndexSelectAttributes()
    +insel_atts.dim = insel_atts.ThreeD
    +insel_atts.xMin = 10
    +insel_atts.xMax = 18
    +insel_atts.yMin = 3
    +insel_atts.yMax = 4
    +insel_atts.zMin = 0
    +insel_atts.zMax = 3
    +SetDefaultOperatorOptions(insel_atts)
    +AddOperator("IndexSelect")
    +DemoteOperator(1, 0)
    +DrawPlots()
    +
    +Test("ops_Slice09")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("sid97.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.originType = atts.Point
    +atts.originPoint = (7400, -1300, 1000)
    +atts.normal = (0, 1, 0)
    +atts.project2d = 1
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice10")
    +
    +DeleteAllPlots()
    +
    +
    +OpenDatabase(silo_data_path("tire.silo"))
    +
    +AddPlot("Subset", "domains")
    +AddOperator("Slice")
    +atts.originType = atts.Zone
    +atts.originZone = 100
    +atts.originZoneDomain = 2
    +atts.normal = (0.707, -0.707, 0)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice11")
    +
    +
    +atts.normal = (0.707, 0.707, 0)
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice12")
    +
    +
    +atts.originType = atts.Node
    +atts.originNode = 55
    +atts.originNodeDomain = 3
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice13")
    +
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts.originType = atts.Zone
    +atts.originZone = 1005
    +atts.originZoneDomain = 18
    +atts.normal = (0.707, 0, -0.707)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice14")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Slice")
    +atts.originType = atts.Zone
    +atts.originZone = 1005
    +atts.originZoneDomain = 18
    +atts.normal = (0.707, 0, -0.707)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice15")
    +
    +
    +atts.originType = atts.Percent
    +atts.originPercent = 69
    +atts.axisType = atts.YAxis
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice16")
    +
    +atts.originType = atts.Percent
    +atts.originPercent = 50
    +atts.axisType = atts.ZAxis
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice17")
    +
    +atts.originType = atts.Percent
    +atts.originPercent = 10
    +atts.axisType = atts.XAxis
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice18")
    +
    +DeleteAllPlots()
    +
    +TestSection("Slice point mesh")
    +# Test that we can slice point meshes.  The points must be exactly on the
    +# plane (or at least within some tolerance).  To guarantee the point positions,
    +# take a 2D plot and put it into 3D.  Then slice it.
    +OpenDatabase(silo_data_path("noise2d.silo"))
    +
    +AddPlot("Pseudocolor", "PointVar")
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointType = pc_atts.Box
    +pc_atts.pointSize = 0.4
    +SetPlotOptions(pc_atts)
    +AddOperator("Transform")
    +trans_atts = TransformAttributes()
    +trans_atts.doRotate = 1
    +trans_atts.rotateAxis = (0, 1, 0)
    +SetOperatorOptions(trans_atts)
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.axisType = atts.ZAxis
    +atts.originType = atts.Intercept
    +atts.originIntercept = 0
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice19")
    +
    +DeleteAllPlots()
    +ActivateDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +# Test 1 -- a slice through a point
    +TestSection("Slice through a point")
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts.originType = atts.Percent
    +atts.project2d = 0
    +atts.originPercent = 0
    +atts.axisType=atts.XAxis
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +view = GetView3D()
    +view.viewNormal = (0.565246, 0.332, 0.755)
    +view.focus = (0.5, 0.0, 0.5)
    +view.viewUp = (-0.08, 0.933, -0.35)
    +view.viewAngle = 30
    +view.parallelScale = 0.707
    +view.nearPlane = -1.41421
    +view.farPlane = 1.41421
    +view.imagePan = (0.1, -0.181)
    +view.imageZoom = 0.7
    +view.perspective = 1
    +SetView3D(view)
    +
    +Test("ops_Slice20")
    +
    +atts.originPercent = 100
    +SetOperatorOptions(atts)
    +Test("ops_Slice21")
    +
    +atts.axisType=atts.YAxis
    +atts.originPercent = 0
    +SetOperatorOptions(atts)
    +Test("ops_Slice22")
    +
    +atts.axisType=atts.YAxis
    +atts.originPercent = 100
    +SetOperatorOptions(atts)
    +Test("ops_Slice23")
    +
    +atts.axisType=atts.ZAxis
    +atts.originPercent = 0
    +SetOperatorOptions(atts)
    +Test("ops_Slice24")
    +
    +atts.axisType=atts.ZAxis
    +atts.originPercent = 100
    +SetOperatorOptions(atts)
    +Test("ops_Slice25")
    +
    +# The X-axis for orthogonal slices is -1,0,0.  Try 1,0,0.
    +atts.axisType=atts.Arbitrary
    +atts.normal=(1,0,0)
    +atts.originPercent = 0
    +SetOperatorOptions(atts)
    +Test("ops_Slice26")
    +
    +# The Y-axis for orthogonal slices is 0,-1,0.  Try 0,1,0.
    +atts.axisType=atts.Arbitrary
    +atts.normal=(0,1,0)
    +atts.originPercent = 0
    +SetOperatorOptions(atts)
    +Test("ops_Slice27")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "PointVar")
    +pc_atts.pointSize = 1.0
    +SetPlotOptions(pc_atts)
    +DefineVectorExpression("disp", "{0,0,-coord(PointMesh)[2]}")
    +AddOperator("Displace")
    +disp = DisplaceAttributes()
    +disp.variable = "disp"
    +SetOperatorOptions(disp)
    +AddOperator("Slice")
    +slice = SliceAttributes()
    +slice.axisType = slice.ZAxis
    +SetOperatorOptions(slice)
    +DrawPlots()
    +Test("ops_Slice28")
    +
    +# First, test slice by a zone with a boundary plot where the zone is along
    +# a material boundary.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Boundary", "mat1")
    +AddOperator("Slice")
    +slice = SliceAttributes()
    +slice.originType = atts.Zone
    +slice.originZone = 10000
    +slice.originZoneDomain = 0
    +slice.axisType = slice.ZAxis
    +SetOperatorOptions(slice)
    +DrawPlots()
    +Test("ops_Slice29")
    +
    +# Now, test slice by a zone where the zone is not along a material boundary.
    +slice.originZone = 9998
    +SetOperatorOptions(slice)
    +Test("ops_Slice30")
    +
    +DeleteAllPlots()
    +
    +# Test what happens when the up axis is not orthogonal to the normal.
    +# Start off with the two being orthogonal, though.
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +AddOperator("Slice")
    +slice = SliceAttributes()
    +slice.normal = (1, -1, 0)
    +slice.upAxis = (0, 0, 1)
    +slice.project2d = 1
    +slice.originType = slice.Point
    +slice.originPoint = (0,0,0)
    +SetOperatorOptions(slice)
    +DrawPlots()
    +Test("ops_Slice31")
    +
    +# Now make them be non-orthogonal.
    +slice.upAxis = (0,1,0)
    +SetOperatorOptions(slice)
    +Test("ops_Slice32")
    +
    +# Open a multi time state database, create a pseudocolor plot slicing
    +# through a zone and then change the time state.
    +DeleteAllPlots()
    +ResetView()
    +OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +
    +AddPlot("Pseudocolor", "pressure")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 1
    +atts.axisType = atts.YAxis
    +atts.originType = atts.Zone
    +atts.originZone = 100
    +atts.originZoneDomain = 0
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +TimeSliderNextState()
    +Test("ops_Slice33")
    +
    +
    +DeleteAllPlots()
    +ResetView()
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d_dup")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 1
    +atts.axisType = atts.YAxis
    +atts.originType = atts.Zone
    +atts.originZone = 27
    +atts.originZoneDomain = 2
    +atts.meshName = "mesh1"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice34")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +iatts = IndexSelectAttributes()
    +iatts.dim = iatts.ThreeD
    +iatts.xMin = 0
    +iatts.xMax = 1000
    +iatts.yMin = 10
    +iatts.yMax = 10
    +iatts.zMin = 0
    +iatts.zMax = 1000
    +iatts.xIncr = 1
    +iatts.yIncr = 1
    +iatts.zIncr = 1
    +SetOperatorOptions(iatts)
    +AddOperator("Slice")
    +DrawPlots()
    +ResetView()
    +Test("ops_Slice35")
    +DeleteAllPlots()
    +
    +TestSection("Slice polyhedral cells")
    +OpenDatabase(data_path("EnSight_test_data/small.case"))
    +
    +DefineScalarExpression("zid", "zoneid(mesh) * 1.")
    +DefineScalarExpression("nid", "nodeid(mesh) * 1.")
    +AddPlot("Pseudocolor", "zid")
    +DrawPlots()
    +v = GetView3D()
    +v.viewNormal = (-0.597184, 0.364571, 0.714464)
    +v.focus = (1, 1.75, 1)
    +v.viewUp = (0.222007, 0.931066, -0.289533)
    +v.viewAngle = 30
    +v.parallelScale = 4.58939
    +v.nearPlane = -9.17878
    +v.farPlane = 9.17878
    +v.imagePan = (-0.0112992, 0.0560752)
    +v.imageZoom = 1.77156
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (1, 1.75, 1)
    +v.axis3DScaleFlag = 0
    +v.axis3DScales = (1, 1, 1)
    +v.shear = (0, 0, 1)
    +SetView3D(v)
    +Test("ops_Slice36")
    +
    +AddOperator("Slice")
    +s = SliceAttributes()
    +s.originType = s.Percent  # Point, Intercept, Percent, Zone, Node
    +s.originPoint = (0, 0, 0)
    +s.originIntercept = 0
    +s.originPercent = 50
    +s.originZone = 0
    +s.originNode = 0
    +s.normal = (0, 0, 1)
    +s.axisType = s.XAxis  # XAxis, YAxis, ZAxis, Arbitrary, ThetaPhi
    +s.upAxis = (0, 1, 0)
    +s.project2d = 0
    +s.interactive = 1
    +s.flip = 0
    +s.originZoneDomain = 0
    +s.originNodeDomain = 0
    +s.meshName = "mesh"
    +s.theta = 0
    +s.phi = 90
    +SetOperatorOptions(s)
    +DrawPlots()
    +Test("ops_Slice37")
    +
    +ChangeActivePlotsVar("nid")
    +Test("ops_Slice38")
    +
    +ChangeActivePlotsVar("zid")
    +s.axisType = s.ZAxis
    +SetOperatorOptions(s)
    +DrawPlots()
    +Test("ops_Slice39")
    +
    +ChangeActivePlotsVar("nid")
    +Test("ops_Slice40")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_sph_resample.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_sph_resample.html new file mode 100644 index 000000000..80ca29134 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_sph_resample.html @@ -0,0 +1,44 @@ + +Results for operators/sph_resample.py + +

    Results of VisIt Regression Test - operators/sph_resample

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sph_2d19.530.11
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_sph_resample_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_sph_resample_py.html new file mode 100644 index 000000000..db703f10d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_sph_resample_py.html @@ -0,0 +1,51 @@ +operators/sph_resample.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  sph_resample.py
    +#
    +#  Tests:      mesh    - 2D rectilinear, single domain,
    +#              plots   - pseudocolor
    +#
    +#  Defect ID:  2338 
    +#
    +#  Programmer: Kevin Griffin
    +#  Date:       Wed Jul 22 17:36:55 PDT 2015
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# 2D, Rectilinear
    +ds = data_path("silo_sph_test_data/KelvinHelmholtz-2d_McNally.visit")
    +OpenDatabase(ds)
    +
    +AddPlot("Pseudocolor", "mass_density")
    +pc = PseudocolorAttributes()
    +pc.centering = pc.Nodal
    +SetPlotOptions(pc)
    +
    +AddOperator("SPHResample")
    +SPHResampleAtts = SPHResampleAttributes()
    +SPHResampleAtts.minX = 0
    +SPHResampleAtts.maxX = 1
    +SPHResampleAtts.xnum = 100
    +SPHResampleAtts.minY = 0
    +SPHResampleAtts.maxY = 1
    +SPHResampleAtts.ynum = 100
    +SPHResampleAtts.minZ = 0
    +SPHResampleAtts.maxZ = 1
    +SPHResampleAtts.znum = 1
    +SPHResampleAtts.tensorSupportVariable = "H"
    +SPHResampleAtts.weightVariable = "mass"
    +SPHResampleAtts.RK = 1
    +SetOperatorOptions(SPHResampleAtts, 1)
    +
    +DrawPlots()
    +
    +Test("sph_2d")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tessellate.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tessellate.html new file mode 100644 index 000000000..fc9a48c97 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tessellate.html @@ -0,0 +1,168 @@ + +Results for operators/tessellate.py + +

    Results of VisIt Regression Test - operators/tessellate

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    quadratic_triangle_010.000.00
    quadratic_triangle_020.000.00
    quadratic_triangle_030.000.00
    biquadratic_quad_010.000.00
    biquadratic_quad_020.000.00
    biquadratic_quad_030.000.00
    biquadratic_quad_field_010.440.63
    biquadratic_quad_field_020.440.63
    biquadratic_quad_field_030.440.63
    quadratic_linear_quad_010.000.00
    quadratic_quad_010.000.00
    quadratic_quad_020.000.00
    quadratic_quad_030.000.00
    quadratic_mixed_010.000.00
    quadratic_mixed_020.000.00
    quadratic_mixed_030.000.00
    quadratic_hex_010.000.00
    quadratic_hex_020.000.00
    quadratic_hex_030.000.00
    quadratic_hex_040.000.00
    triquadratic_hex_010.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tessellate_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tessellate_py.html new file mode 100644 index 000000000..5669adcbf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tessellate_py.html @@ -0,0 +1,286 @@ +operators/tessellate.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  tessellate.py
    +#
    +#  Tests:      mesh      - quadratic_triangle
    +#                          biquadratic_quad
    +#                          quadratic_linear_quad
    +#                          quadratic_quad
    +#                          quadratic_hex
    +#                          triquadratic_hex
    +#              plots     - pc, mesh
    +#              operators - tessellate, clip
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       July 24, 2020
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Quadratic_triangle
    +OpenDatabase(data_path("vtk_test_data/quadratic_triangle.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.200511, 0.543812, 0.814901)
    +v.focus = (0, 0.5, 1)
    +v.viewUp = (-0.232184, 0.834474, -0.499744)
    +v.viewAngle = 30
    +v.parallelScale = 1.5
    +v.nearPlane = -3
    +v.farPlane = 3
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("quadratic_triangle_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("quadratic_triangle_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("quadratic_triangle_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/quadratic_triangle.vtk"))
    +
    +# Biquadratic_quad
    +OpenDatabase(data_path("vtk_test_data/biquadratic_quad.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.200511, 0.543812, 0.814901)
    +v.focus = (0, 0.5, 1)
    +v.viewUp = (-0.232184, 0.834474, -0.499744)
    +v.viewAngle = 30
    +v.parallelScale = 1.5
    +v.nearPlane = -3
    +v.farPlane = 3
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("biquadratic_quad_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("biquadratic_quad_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("biquadratic_quad_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/biquadratic_quad.vtk"))
    +
    +# Biquadratic_quad_field
    +OpenDatabase(data_path("vtk_test_data/biquadratic_quad_field.vtk"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +Test("biquadratic_quad_field_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("biquadratic_quad_field_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +tess.fieldCriterion = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("biquadratic_quad_field_03")
    +
    +CloseDatabase(data_path("vtk_test_data/biquadratic_quad_field.vtk"))
    +DeleteAllPlots()
    +
    +# Quadratic_linear_quad
    +OpenDatabase(data_path("vtk_test_data/quadratic_linear_quad.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.200511, 0.543812, 0.814901)
    +v.focus = (0, 0.5, 1)
    +v.viewUp = (-0.232184, 0.834474, -0.499744)
    +v.viewAngle = 30
    +v.parallelScale = 1.5
    +v.nearPlane = -3
    +v.farPlane = 3
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("quadratic_linear_quad_01")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/quadratic_linear_quad.vtk"))
    +
    +# Quadratic_quad
    +OpenDatabase(data_path("vtk_test_data/quadratic_quad.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.200511, 0.543812, 0.814901)
    +v.focus = (0, 0.5, 1)
    +v.viewUp = (-0.232184, 0.834474, -0.499744)
    +v.viewAngle = 30
    +v.parallelScale = 1.5
    +v.nearPlane = -3
    +v.farPlane = 3
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("quadratic_quad_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("quadratic_quad_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("quadratic_quad_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/quadratic_quad.vtk"))
    +
    +# Mixed biquadratic_quad and quadratic_triangle
    +OpenDatabase(data_path("vtk_test_data/quadratic_mixed.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.200511, 0.543812, 0.814901)
    +v.focus = (0, 0.5, 1)
    +v.viewUp = (-0.232184, 0.834474, -0.499744)
    +v.viewAngle = 30
    +v.parallelScale = 1.5
    +v.nearPlane = -3
    +v.farPlane = 3
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("quadratic_mixed_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("quadratic_mixed_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("quadratic_mixed_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/quadratic_mixed.vtk"))
    +
    +# Quadratic_hex
    +OpenDatabase(data_path("vtk_test_data/quadratic_hex.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.491097, 0.334402, 0.804363)
    +v.focus = (0.7, 0.7, 0.5)
    +v.viewUp = (-0.0787305, 0.936642, -0.341326)
    +v.viewAngle = 30
    +v.parallelScale = 1.10905
    +v.nearPlane = -2.21811
    +v.farPlane = 2.21811
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("quadratic_hex_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("quadratic_hex_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("quadratic_hex_03")
    +
    +AddOperator("Clip", 1)
    +clip = ClipAttributes()
    +clip.plane1Origin = (0.5, 0.5, 0.5)
    +SetOperatorOptions(clip, 0, 1)
    +
    +DrawPlots()
    +
    +Test("quadratic_hex_04")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/quadratic_hex.vtk"))
    +
    +# Triquadratic_hex
    +OpenDatabase(data_path("vtk_test_data/triquadratic_hex.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.491097, 0.334402, 0.804363)
    +v.focus = (0.7, 0.7, 0.5)
    +v.viewUp = (-0.0787305, 0.936642, -0.341326)
    +v.viewAngle = 30
    +v.parallelScale = 1.10905
    +v.nearPlane = -2.21811
    +v.farPlane = 2.21811
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("triquadratic_hex_01")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/triquadratic_hex.vtk"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threeslice.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threeslice.html new file mode 100644 index 000000000..9b25213c7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threeslice.html @@ -0,0 +1,54 @@ + +Results for operators/threeslice.py + +

    Results of VisIt Regression Test - operators/threeslice

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ThreeSlice_010.000.00
    ThreeSlice_020.000.00
    ThreeSlice_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threeslice_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threeslice_py.html new file mode 100644 index 000000000..2aeb3f6cd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threeslice_py.html @@ -0,0 +1,49 @@ +operators/threeslice.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  threeslice.py
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       July 6, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +def Test1():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    AddOperator("ThreeSlice")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0.456241, 0.47741, 0.750949)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.0855449, 0.863521, -0.497004)
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    SetView3D(v)
    +
    +    Test("ThreeSlice_01")
    +
    +    slice = ThreeSliceAttributes()
    +    slice.x = -10
    +    SetOperatorOptions(slice)
    +    Test("ThreeSlice_02")
    +
    +    slice.y = -10
    +    SetOperatorOptions(slice)
    +    Test("ThreeSlice_03")
    +
    +
    +Test1()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threshold.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threshold.html new file mode 100644 index 000000000..13473632b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threshold.html @@ -0,0 +1,108 @@ + +Results for operators/threshold.py + +

    Results of VisIt Regression Test - operators/threshold

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_thresh010.000.00
    ops_thresh020.000.00
    ops_thresh030.000.00
    ops_thresh040.000.00
    ops_thresh050.000.00
    ops_thresh060.000.00
    ops_thresh070.000.00
    ops_thresh080.000.00
    ops_thresh090.000.00
    ops_thresh100.000.00
    ops_thresh110.000.00
    ops_thresh120.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threshold_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threshold_py.html new file mode 100644 index 000000000..3be127e29 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_threshold_py.html @@ -0,0 +1,275 @@ +operators/threshold.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  threshold.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain,
    +#                          3D rectilinear, multiple domain,
    +#                          2D curvilinear, multiple domain
    +#              plots     - pc, mesh, subset, contour
    +#              operators - threshold
    +#              selection - none
    +#
    +#  Defect ID:  '6590, '7631
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 24, 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
    +#    Changed the variable format for SubsetPlots, to reflect new interface
    +#    which allows subsets of groups.
    +#
    +#    Eric Brugger, Thu May  8 12:50:50 PDT 2003
    +#    Remove some code for setting the view when changing to a new data set
    +#    since visit should automatically adjust the view by default.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Hank Childs, Thu Sep 15 16:31:31 PDT 2005
    +#    Added testing for points only mode ('6590).
    +#
    +#    Mark Blair, Fri May 19 17:36:00 PDT 2006
    +#    Modified all tests, added new tests, for multi-variable mode.
    +#
    +#    Hank Childs, Sat Jan 27 13:03:55 PST 2007
    +#    Test points only with material selection on ('7631).
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetParallelScale(17.3205)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +#
    +# Normal PC threshold for globe.
    +#
    +thresh = ThresholdAttributes()
    +
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1)
    +thresh.lowerBounds = (-4)
    +thresh.upperBounds = (4)
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh01")
    +
    +#
    +# Normal PC threshold for globe, but now change the zone inclusion criteria.
    +#
    +RemoveAllOperators()
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (0)
    +thresh.lowerBounds = (-4)
    +thresh.upperBounds = (4)
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh02")
    +
    +#
    +# Normal PC plot of globe, thresholding by a variable different than the
    +# PC coloring variable.
    +#
    +RemoveAllOperators()
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1)
    +thresh.lowerBounds = (140)
    +thresh.upperBounds = (340)
    +thresh.listedVarNames = ("t")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh03")
    +
    +DeleteAllPlots()
    +
    +#
    +# Contour lines by one variable, thresholding by another.  Multi-block,
    +# curvilinear, 2D.
    +#
    +OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1)
    +thresh.lowerBounds = (0.7)
    +thresh.upperBounds = (0.9)
    +thresh.listedVarNames = ("v")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh04")
    +
    +DeleteAllPlots()
    +
    +#
    +# Material plot, thresholded by a scalar variable.  Multi-block,
    +# curvilinear, 2D.
    +#
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1)
    +thresh.lowerBounds = (-0.4)
    +thresh.upperBounds = (1.0)
    +thresh.listedVarNames = ("u")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh05")
    +
    +DeleteAllPlots()
    +
    +#
    +# Mesh plot and PC plot, both thresholded by the same variable and zone
    +# inclusion criteria.  Then change the output mesh type to a point mesh.
    +# Multi-block, rectilinear, 3D.
    +#
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1)
    +thresh.lowerBounds = (0.4)
    +thresh.upperBounds = (1.0)
    +thresh.listedVarNames = ("u")
    +SetDefaultOperatorOptions(thresh)
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +AddPlot("Mesh", "mesh1")
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh06")
    +
    +DeleteActivePlots()
    +
    +thresh.outputMeshType = 1
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh07")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +#
    +# Normal PC plot of globe, thresholding by two variables different than the
    +# PC coloring variable.
    +#
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1, 1)
    +thresh.lowerBounds = (140, 0)
    +thresh.upperBounds = (340, 1)
    +thresh.listedVarNames = ("t", "dx")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh08")
    +
    +DeleteAllPlots()
    +
    +#
    +# Contour lines by one variable, thresholding by that variable and another,
    +# using two different zone inclusion criteria.  Multi-block, curvilinear, 2D.
    +#
    +OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +thresh.zonePortions = (0, 1)
    +thresh.lowerBounds = (-0.7, 0.7)
    +thresh.upperBounds = (0.7, 0.9)
    +thresh.listedVarNames = ("u", "v")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh09")
    +
    +DeleteAllPlots()
    +
    +#
    +# Material plot, thresholded by two scalar variables.  Multi-block,
    +# curvilinear, 2D.
    +#
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +
    +thresh.zonePortions = (0, 0)
    +thresh.lowerBounds = (-0.4, 0.25)
    +thresh.upperBounds = (1.0, 0.45)
    +thresh.listedVarNames = ("u", "p")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh10")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.outputMeshType = 1
    +ThresholdAtts.listedVarNames = ("u")
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (0)
    +ThresholdAtts.upperBounds = (1e+37)
    +ThresholdAtts.defaultVarName = "u"
    +ThresholdAtts.defaultVarIsScalar = 1
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +ResetView()
    +Test("ops_thresh11")
    +
    +# See that the points go away when you turn off the materials.
    +sil = SILRestriction()
    +m = sil.SetsInCategory("mat1")
    +sil.TurnOffSet(m[2])
    +sil.TurnOffSet(m[3])
    +SetPlotSILRestriction(sil)
    +Test("ops_thresh12")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_transform.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_transform.html new file mode 100644 index 000000000..e9ab6fbac --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_transform.html @@ -0,0 +1,100 @@ + +Results for operators/transform.py + +

    Results of VisIt Regression Test - operators/transform

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_transform010.000.00
    ops_transform020.000.00
    ops_transform030.000.00
    ops_transform040.000.00
    ops_transform0581.8015.67
    ops_transform060.000.00
    ops_transform073.710.05
    ops_transform080.000.00
    ops_transform090.000.00
    ops_transform100.000.00
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_transform_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_transform_py.html new file mode 100644 index 000000000..1ae800982 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_transform_py.html @@ -0,0 +1,228 @@ +operators/transform.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  transform.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain,
    +#                          3D rectilinear, single domain.
    +#              plots     - pc, mesh, contour, vector
    +#              operators - transform
    +#              selection - none
    +#
    +#  Defect ID:  '6310, '6694, '6699
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 24, 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Wed Sep  3 09:31:25 PDT 2003
    +#    Opaque mode for MeshPlot is ON by default now, so turn it off
    +#    for this test.
    +#
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
    +#
    +#    Hank Childs, Wed Jun  8 15:36:22 PDT 2005
    +#    Added tests for coordinate system conversion.  ['6310]
    +#
    +#    Hank Childs, Tue Nov 15 15:59:00 PST 2005
    +#    Added tests for 2D transformations.  ['6694 '6699]
    +#
    +#    Kathleen Bonnell,  Fri Mar 28 15:24:18 PDT 2008
    +#    Added test for curve transformation.  ['8277]
    +#
    +#    Jeremy Meredith
    +#    Added test for linear transforms.
    +#
    +#    Jeremy Meredith, Mon Jul 14 11:17:29 EDT 2008
    +#    Allow the clipped vector plot to show all vectors (even ones not from
    +#    from original cells/nodes) to match the old behavior.
    +#
    +#    Jeremy Meredith, Thu Aug 13 13:34:42 EDT 2009
    +#    Made transform04 test be explicit about the coord sys it chooses.
    +#    Made transform05 use Cyl instead of Spher coords; it's a 2D problem!
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 11 08:20:24 PDT 2013
    +#    Removed legacy style annotation setting.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Turn off all annotation
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +clip = ClipAttributes()
    +clip.plane1Status = 1
    +clip.SetPlane1Origin(0,0,0)
    +clip.SetPlane1Normal(-1,1,0)
    +clip.funcType = 0
    +SetDefaultOperatorOptions(clip)
    +AddOperator("Clip")
    +
    +trans = TransformAttributes()
    +trans.doTranslate = 1
    +trans.translateX = -3
    +SetDefaultOperatorOptions(trans)
    +AddOperator("Transform")
    +DrawPlots()
    +
    +AddPlot("Vector", "vel")
    +vec = VectorAttributes()
    +vec.origOnly = 0
    +SetPlotOptions(vec)
    +
    +clip.SetPlane1Normal(1,-1,0)
    +SetDefaultOperatorOptions(clip)
    +AddOperator("Clip")
    +
    +trans.translateX = -6
    +SetDefaultOperatorOptions(trans)
    +AddOperator("Transform")
    +
    +DrawPlots()
    +
    +Test("ops_transform01")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +AddPlot("Mesh", "quadmesh3d")
    +m = MeshAttributes()
    +m.opaqueMode = m.Off
    +SetPlotOptions(m)
    +trans.doTranslate = 0
    +trans.translateX = 0
    +trans.doScale = 1
    +trans.scaleX = 4
    +trans.scaleZ = 3
    +SetDefaultOperatorOptions(trans)
    +AddOperator("Transform")
    +DrawPlots()
    +
    +ResetView()
    +Test("ops_transform02")
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +trans.doRotate = 1
    +trans.rotateAmount = 45
    +SetDefaultOperatorOptions(trans)
    +AddOperator("Transform")
    +DrawPlots()
    +
    +ResetView()
    +Test("ops_transform03")
    +
    +DeleteAllPlots()
    +
    +a.axes3D.visible = 1
    +a.axes3D.bboxFlag = 1
    +SetAnnotationAttributes(a)
    +
    +AddPlot("Contour", "d")
    +AddOperator("Transform")
    +trans = TransformAttributes() # Get reset version.
    +trans.transformType = trans.Coordinate
    +trans.inputCoordSys = trans.Cartesian
    +trans.outputCoordSys = trans.Spherical
    +SetOperatorOptions(trans)
    +DrawPlots()
    +SetViewExtentsType("actual")
    +ResetView()
    +
    +Test("ops_transform04")
    +
    +# '6699
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Transform")
    +trans.transformType = trans.Coordinate
    +trans.inputCoordSys = trans.Cartesian
    +trans.outputCoordSys = trans.Cylindrical
    +SetOperatorOptions(trans)
    +DrawPlots()
    +Test("ops_transform05")
    +
    +# '6694
    +DeleteAllPlots()
    +DefineVectorExpression("polar", "polar(quadmesh2d) - coord(quadmesh2d)")
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Displace")
    +disp = DisplaceAttributes()
    +disp.variable = "polar"
    +SetOperatorOptions(disp)
    +DrawPlots()
    +Test("ops_transform06")
    +
    +# '8277
    +DeleteAllPlots()
    +OpenDatabase(data_path("curve_test_data/zonecent.ultra"))
    +
    +AddPlot("Curve", "curve2")
    +curveAtts = CurveAttributes()
    +curveAtts.curveColorSource = curveAtts.Custom
    +curveAtts.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("ops_transform07")
    +
    +AddOperator("Transform")
    +trans.transformType = trans.Similarity
    +trans.doRotate = 0
    +trans.doTranslate = 0
    +trans.doScale = 1
    +trans.scaleX = 1
    +trans.scaleZ = 1
    +trans.scaleY = -3
    +SetOperatorOptions(trans)
    +DrawPlots()
    +Test("ops_transform08")
    +
    +# Test linear transform
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Transform")
    +
    +trans.transformType = trans.Linear
    +trans.m00 = .8
    +trans.m01 = .3
    +trans.m02 = 0
    +
    +trans.m10 = 0
    +trans.m11 = 1
    +trans.m12 = 0
    +
    +trans.m20 = .5
    +trans.m21 = .5
    +trans.m22 = 1
    +
    +trans.invertLinearTransform = 0
    +
    +SetOperatorOptions(trans)
    +DrawPlots()
    +ResetView()
    +
    +Test("ops_transform09")
    +
    +trans.invertLinearTransform = 1
    +SetOperatorOptions(trans)
    +Test("ops_transform10")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tube.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tube.html new file mode 100644 index 000000000..059b0905e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tube.html @@ -0,0 +1,72 @@ + +Results for operators/tube.py + +

    Results of VisIt Regression Test - operators/tube

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    tube_010.000.00
    tube_020.000.00
    tube_030.000.00
    tube_040.000.00
    tube_050.000.00
    tube_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tube_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tube_py.html new file mode 100644 index 000000000..d054d944f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/operators_tube_py.html @@ -0,0 +1,64 @@ +operators/tube.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  tube.py
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       August 7, 2012
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("vtk_test_data/lines.vtk"))
    +
    +AddPlot("Pseudocolor", "var1")
    +AddOperator("Tube")
    +tube = TubeAttributes()
    +tube.tubeRadiusType = tube.Absolute
    +tube.radiusAbsolute = 0.5
    +tube.fineness = 20
    +SetOperatorOptions(tube)
    +
    +view = GetView3D()
    +view.viewNormal = (-0.429483, -0.499742, 0.752198)
    +view.focus = (0, 0, 0)
    +view.viewUp = (-0.296677, 0.864778, 0.405144)
    +view.viewAngle = 30
    +view.parallelScale = 8.66025
    +view.nearPlane = -17.3205
    +view.farPlane = 17.3205
    +SetView3D(view)
    +
    +DrawPlots()
    +
    +Test("tube_01")
    +
    +tube.scaleByVarFlag = 1
    +SetOperatorOptions(tube)
    +Test("tube_02")
    +
    +tube.scaleVariable = "var2"
    +SetOperatorOptions(tube)
    +Test("tube_03")
    +
    +# get the default again
    +tube = TubeAttributes()
    +
    +ChangeActivePlotsVar("var2")
    +tube.tubeRadiusType = tube.Absolute
    +tube.radiusAbsolute = 0.5
    +tube.fineness = 20
    +SetOperatorOptions(tube)
    +Test("tube_04")
    +
    +tube.scaleByVarFlag = 1
    +SetOperatorOptions(tube)
    +Test("tube_05")
    +
    +tube.scaleVariable = "var1"
    +SetOperatorOptions(tube)
    +Test("tube_06")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plotsVsInstall.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plotsVsInstall.html new file mode 100644 index 000000000..99692d399 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plotsVsInstall.html @@ -0,0 +1,46 @@ +Results for test case plotsVsInstall + +

    Results for test case plotsVsInstall

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    4 Lines Changed

    +

    1 modifications, totalling 4 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1: { 'Contour': 'success',1: { 'Contour': 'make failed',
    2:     'Label': 'success',2:     'Label': 'make failed',
    3:     'Tensor': 'success',3:     'Tensor': 'make failed',
    4:     'Volume': 'success'}4:     'Volume': 'cmake configure failed'}
    diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_contour.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_contour.html new file mode 100644 index 000000000..9945c3704 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_contour.html @@ -0,0 +1,262 @@ + +Results for plots/contour.py + +

    Results of VisIt Regression Test - plots/contour

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    contour_contourMethod_000.000.00
    contour_contourMethod_010.000.00
    contour_contourMethod_020.000.00
    contour_wireframe_000.000.00
    contour_minMax_000.000.00
    contour_minMax_010.000.00
    contour_minMax_020.000.00
    contour_minMax_030.000.00
    contour_minMax_040.000.00
    contour_lineWidth_000.000.00
    contour_lineWidth_010.000.00
    contour_lineWidth_020.000.00
    contour_lineWidth_030.000.00
    contour_lineWidth_040.000.00
    contour_lineWidth_050.000.00
    contour_lineWidth_060.000.00
    contour_lineWidth_070.000.00
    contour_lineWidth_080.000.00
    contour_lineWidth_090.000.00
    contour_colorMethod_000.000.00
    contour_colorMethod_010.000.00
    contour_colorMethod_020.000.00
    contour_colorMethod_03100.0239.88
    contour_colorMethod_040.000.00
    contour_colorMethod_0514.951.05
    contour_colorMethod_0684.4622.31
    contour_colorMethod_0799.9728.77
    contour_colorMethod_08100.0030.88
    contour_colorMethod_09100.0230.79
    contour_linearScale0.000.00
    contour_logScale0.000.00
    contour_multicolor_0060.1613.59
    contour_multicolor_0160.1613.59
    contour_multicolor_0260.474.30
    contour_bad_value0 modifications totalling 0 lines
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_contour_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_contour_py.html new file mode 100644 index 000000000..f66983131 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_contour_py.html @@ -0,0 +1,183 @@ +plots/contour.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  contour.py
    +#
    +#  Tests:      mesh      - 3D structured, single domain
    +#                        - 3D rectilinear, multiple domain
    +#                        - 2D curvilinear, single domain
    +#              plots     - Contour
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       October 15, 2014
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Sep 23 17:06:37 PDT 2015
    +#    Add a test for bad contour values to make sure the plot can handle it.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def ExerciseAtts():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Contour", "hardyglobal")
    +    c = ContourAttributes()
    +    c.contourMethod = c.Percent
    +    c.contourPercent = (5, 78, 52, 13, 36, 42)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("contour_contourMethod_00")
    +    c.contourMethod = c.Value
    +    c.contourValue= (2.0, 3.3, 5.01)
    +    SetPlotOptions(c)
    +    Test("contour_contourMethod_01")
    +    c.contourMethod = c.Level
    +    c.contourNLevels = 7
    +    SetPlotOptions(c)
    +    Test("contour_contourMethod_02")
    +
    +    c.wireframe = 1
    +    c.lineWidth = 3
    +    SetPlotOptions(c)
    +    Test("contour_wireframe_00")
    +    ChangeActivePlotsVar("shepardglobal")
    +    # Get new default atts
    +    c = ContourAttributes()
    +    c.contourNLevels = 3
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("contour_minMax_00")
    +    c.minFlag = 1
    +    c.maxFlag = 1
    +    c.max = 5
    +    for i in range(1,5):
    +        c.min = i
    +        SetPlotOptions(c)
    +        Test("contour_minMax_%02d"%i)
    +
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +    AddPlot("Contour", "d")
    +    c = ContourAttributes()
    +    c.contourNLevels = 4
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    for i in range(10):
    +        c.lineWidth = i
    +        SetPlotOptions(c)
    +        Test("contour_lineWidth_%02d"%i)
    +
    +    c.lineWidth = 4
    +
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +    AddPlot("Contour", "d")
    +    c = ContourAttributes()
    +    c.contourNLevels = 5
    +    c.colorType = c.ColorByColorTable
    +    c.colorTableName = "rainbow"
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("contour_colorMethod_00")
    +    c.invertColorTable = 1
    +    SetPlotOptions(c)
    +    Test("contour_colorMethod_01")
    +
    +    c.colorType = c.ColorBySingleColor
    +    c.singleColor = (87, 170, 0, 255)
    +    SetPlotOptions(c)
    +    Test("contour_colorMethod_02")
    +    c.singleColor = (87, 170, 0, 120)
    +    SetPlotOptions(c)
    +    Test("contour_colorMethod_03")
    +
    +    c.colorType = c.ColorByMultipleColors
    +    SetPlotOptions(c)
    +    Test("contour_colorMethod_04")
    +    for i in range(5,0,-1):
    +        levelColor = list(c.GetMultiColor(i-1))
    +        levelColor[3] = 65
    +        c.SetMultiColor((i-1),tuple(levelColor))
    +        SetPlotOptions(c)
    +        Test("contour_colorMethod_%02d"%(10-i))
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("wave.visit"))
    +    AddPlot("Contour", "pressure")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.561907, 0.653269, 0.507444)
    +    v.viewUp = (0.388352, 0.749975, -0.535463)
    +    SetView3D(v)
    +    Test("contour_linearScale")
    +    c = ContourAttributes()
    +    c.scaling = c.Log
    +    SetPlotOptions(c)
    +    Test("contour_logScale")
    +
    +    DeleteAllPlots()
    +
    +def TestMultiColor():
    +    # Bug 2013, indexing issues with SetMultiColor when num levels reduces.
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Contour", "hardyglobal")
    +    DrawPlots()
    +
    +    Sets = [[1,5.5,11],[1,5.5,11],[1,5.5,8]]
    +    testNum = 0
    +    for r in Sets:
    +        # the next comment and similar below bracket code to be 'literalincluded' in quickrecipes.rst
    +        # contourAtts {
    +        p = ContourAttributes()
    +        p.contourMethod = p.Level
    +        p.contourNLevels=r[2]
    +        p.colorType = p.ColorByMultipleColors
    +        p.singleColor = (255, 0, 0, 25)
    +        p.SetMultiColor(0, (255,0,255,64))
    +        p.SetMultiColor(1, (0,255,0,64))
    +        p.SetMultiColor(2, (255, 135, 0, 255))
    +        p.SetMultiColor(3, (255,255,0,64))
    +        p.SetMultiColor(4, (255, 0, 135, 255))
    +        p.SetMultiColor(5, (0,0,255,64))
    +        p.SetMultiColor(6, (0,255,255,64))
    +        p.SetMultiColor(7, (255,0,0,64))
    +        if r[2] > 8 :
    +            p.SetMultiColor(8, (99, 255, 99, 255))
    +            p.SetMultiColor(9, (168, 168, 168, 255))
    +            p.SetMultiColor(10, (255, 68, 68, 255))
    +
    +        p.minFlag=1
    +        p.maxFlag=1
    +        p.min=r[0]
    +        p.max=r[1]
    +        SetPlotOptions(p)
    +        # contourAtts }
    +        Test("contour_multicolor_%02d"%testNum)
    +        testNum = testNum + 1
    +    DeleteAllPlots()
    +
    +def TestBadValue():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Contour", "hardyglobal")
    +    ContourAtts = ContourAttributes()
    +    ContourAtts.contourValue = (0)
    +    ContourAtts.contourMethod = ContourAtts.Value  # Level, Value, Percent
    +    ContourAtts.minFlag = 0
    +    ContourAtts.maxFlag = 0
    +    SetPlotOptions(ContourAtts)
    +    DrawPlots()
    +
    +    # Test that the plot is not in the error state and that we have an engine. (i.e. the engine did not crash)
    +    pl = GetPlotList()
    +    txt = "Plot Completed: " + str(pl.GetPlots(0).stateType == pl.GetPlots(0).Completed) + "\n"
    +    txt = txt + "Number of compute engines: " + str(len(GetEngineList())) + "\n"
    +    TestText("contour_bad_value", txt)
    +
    +ExerciseAtts()
    +TestMultiColor()
    +TestBadValue()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_curve.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_curve.html new file mode 100644 index 000000000..8b4321928 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_curve.html @@ -0,0 +1,361 @@ + +Results for plots/curve.py + +

    Results of VisIt Regression Test - plots/curve

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    curve_1_010.000.00
    curve_1_020.000.00
    curve_1_030.000.00
    curve_1_040.000.00
    curve_1_050.000.00
    curve_1_060.000.00
    curve_1_070.000.00
    Overlay curves on 2D plots
    curve_2_010.000.00
    curve_2_020.000.00
    curve_2_030.000.00
    curve_2_050.000.00
    curve_2_060.000.00
    curve_2_070.000.00
    curve_2_080.000.00
    curve_2_090.000.00
    curve_2_100.000.00
    Points and Symbols
    curve_3_010.000.00
    curve_3_020.000.00
    curve_3_030.000.00
    curve_3_040.000.00
    curve_3_050.000.00
    curve_3_060.000.00
    curve_3_070.000.00
    curve_3_080.000.00
    curve_3_090.000.00
    curve_3_100.000.00
    curve_3_110.000.00
    curve_3_120.000.00
    curve_3_130.000.00
    Time Cue
    curve_4_000.000.00
    curve_4_010.000.00
    curve_4_020.000.00
    curve_4_030.000.00
    curve_4_040.000.00
    curve_4_050.000.00
    curve_4_060.000.00
    curve_4_070.000.00
    curve_4_080.000.00
    Polar
    polar_curve_010.670.02
    polar_curve_020.000.00
    polar_curve_030.000.00
    polar_curve_040.000.00
    polar_curve_050.000.00
    polar_curve_060.000.00
    polar_curve_070.000.00
    polar_curve_080.000.00
    Scale
    curve_scale_000.590.00
    curve_scale_010.470.00
    curve_scale_020.450.00
    curve_scale_030.450.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_curve_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_curve_py.html new file mode 100644 index 000000000..329415ced --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_curve_py.html @@ -0,0 +1,488 @@ +plots/curve.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial, parallel, scalable
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curve.py 
    +#
    +#  Tests:      Tests the curve plot
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       August 3, 2006 
    +#
    +#  Modifications:
    +#    Brad Whitlock, Tue Nov 21 10:55:24 PDT 2006
    +#    Made it use enums for line style.
    +#
    +#    Mark C. Miller, Thu Jun 21 11:05:58 PDT 2007
    +#    Added tests for overlaying curves on 2D plots
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Bonnell, Fri Aug 13 16:10:56 MST 2010 
    +#    Added TestPointsAndSymbols to test various points/symbol settings.
    +#    Added TestTimeCue to test time-cue functionality
    +#
    +#    Kathleen Biagas, Thu Sep 12 09:08:00 PDT 2013
    +#    Added TestPolar to test new polar conversion capability.
    +#
    +#    Kathleen Biagas, Tue Jul 15 14:16:33 MST 2014
    +#    Added TestScale, which demonstrates the need to scale curves with values
    +#    greater than 1e37 or less than 1e-37.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all tests.  Set the colors individually
    +#    to match current baseline results.
    +#
    +#    Kathleen Biagas, Thu Feb 17 07:40:34 PST 2022
    +#    Replace 'color' with 'curveColor' for CurveAttributes.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def Test1():
    +    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +    DefineCurveExpression("logED", "log10(<Exponential Distribution>)")
    +    DefineCurveExpression("logLap", "log10(<Laplace Distribution>)")
    +    AddPlot("Curve", "Exponential Distribution")
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (255, 0, 0, 255)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("curve_1_01")
    +
    +    ChangeActivePlotsVar("logED")
    +    c.curveColor = (0, 0, 0, 255)
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("curve_1_02")
    +
    +    ChangeActivePlotsVar("Laplace Distribution")
    +    c.curveColor = (0, 255, 0, 255)
    +    c.lineWidth = 2
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("curve_1_03")
    +
    +    ChangeActivePlotsVar("logLap")
    +    c.lineWidth = 0
    +    c.curveColor = (0, 255, 255, 255)
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("curve_1_04")
    +
    +    v = GetViewCurve()
    +    v.domainCoords = (-19.3832, -19.3626)
    +    v.rangeCoords = (-8.71826, -8.71234)
    +    SetViewCurve(v)
    +    Test("curve_1_05")
    +
    +    ChangeActivePlotsVar("Log Normal Distribution")
    +    ResetView()
    +    Test("curve_1_06")
    +
    +    c.curveColor = (120, 10, 150, 255)
    +    SetPlotOptions(c)
    +
    +    v.domainCoords = (1.13181, 1.14079)
    +    v.rangeCoords = (0.346122, 0.350033)
    +    SetViewCurve(v)
    +    Test("curve_1_07")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +
    +def TestOverlayCurves():
    +    TestSection("Overlay curves on 2D plots")
    +
    +    # put up some 2D plots
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Pseudocolor","d")    # id=0
    +    AddPlot("Mesh","ucdmesh2d")   # id=1
    +    SetActivePlots((1))
    +    AddOperator("Transform")
    +    ta=TransformAttributes()
    +    ta.doTranslate=1
    +    ta.translateY=2
    +    SetOperatorOptions(ta)
    +    DrawPlots()
    +
    +    OpenDatabase(data_path("curve_test_data/ol_curveA.curve"))
    +
    +    AddPlot("Curve","ol_curveA")  # id=2
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (0, 255, 0, 0)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("curve_2_01")
    +
    +    OpenDatabase(data_path("curve_test_data/ol_curveB.curve"))
    +
    +    AddPlot("Curve","ol_curveB")  # id=3
    +    c.curveColor = (0, 0, 255, 0)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("curve_2_02")
    +
    +    OpenDatabase(data_path("curve_test_data/ol_curveC.curve"))
    +
    +    AddPlot("Curve","ol_curveC")  # id=4
    +    c.curveColor = (0, 255, 255, 0)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("curve_2_03")
    +
    +    # testing hiding/unhiding the 2D plots
    +    SetActivePlots(())
    +    SetActivePlots((0,1))
    +    HideActivePlots()
    +    #Test("curve_2_04")
    +    HideActivePlots()
    +    Test("curve_2_05")
    +    SetActivePlots((1))
    +    HideActivePlots()
    +    Test("curve_2_06")
    +    HideActivePlots()
    +
    +    # test hiding some curves
    +    SetActivePlots((2,3,4))
    +    HideActivePlots()
    +    Test("curve_2_07")
    +    HideActivePlots()
    +    SetActivePlots((2))
    +    HideActivePlots()
    +    Test("curve_2_08")
    +    HideActivePlots()
    +    SetActivePlots((3))
    +    HideActivePlots()
    +    Test("curve_2_09")
    +    HideActivePlots()
    +    SetActivePlots((4))
    +    HideActivePlots()
    +    Test("curve_2_10")
    +    HideActivePlots()
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("ucd2d.silo"))
    +
    +    CloseDatabase(data_path("curve_test_data/ol_curveA.curve"))
    +
    +    CloseDatabase(data_path("curve_test_data/ol_curveB.curve"))
    +
    +    CloseDatabase(data_path("curve_test_data/ol_curveC.curve"))
    +
    +
    +def TestPointsAndSymbols():
    +    TestSection("Points and Symbols")
    +    OpenDatabase(data_path("curve_test_data/ol_curveA.curve"))
    +
    +    AddPlot("Curve","ol_curveA")
    +    #points and lines
    +    curve = CurveAttributes()
    +    curve.showLabels = 0
    +    curve.showPoints = 1
    +    curve.curveColorSource = curve.Custom
    +    curve.curveColor = (0, 0, 0, 255)
    +    SetPlotOptions(curve)
    +    DrawPlots()
    +    ResetView()
    +    v = GetViewCurve()
    +    v.domainCoords = (-0.5, 5.5)
    +    v.rangeCoords = (-0.5, 3.5)
    +    SetViewCurve(v)
    +    Test("curve_3_01")
    +
    +    #stride the points
    +    curve.pointStride = 3
    +    SetPlotOptions(curve)
    +    Test("curve_3_02")
    +
    +    #Dynamic fill 
    +    curve.pointFillMode = curve.Dynamic
    +    SetPlotOptions(curve)
    +    Test("curve_3_03")
    +
    +    #change density
    +    curve.symbolDensity = 10
    +    SetPlotOptions(curve)
    +    Test("curve_3_04")
    +
    +    #Symbol 
    +    curve.symbol = curve.TriangleDown
    +    SetPlotOptions(curve)
    +    Test("curve_3_05")
    +
    +    #Zoom 
    +    v.domainCoords = (2, 5)
    +    v.rangeCoords = (2, 4)
    +    SetViewCurve(v)
    +    Test("curve_3_06")
    +
    +    #Symbol 
    +    v.domainCoords = (-0.5, 5.5)
    +    v.rangeCoords = (-0.5, 3.5)
    +    SetViewCurve(v)
    +    curve.symbol = curve.Plus
    +    SetPlotOptions(curve)
    +    Test("curve_3_07")
    +
    +    #Static with symbols
    +    curve.pointFillMode = curve.Static
    +    curve.pointStride = 1
    +    curve.symbol = curve.Circle
    +    SetPlotOptions(curve)
    +    Test("curve_3_08")
    +
    +    #Remove lines
    +    curve.showLines = 0
    +    curve.symbol = curve.X
    +    SetPlotOptions(curve)
    +    Test("curve_3_09")
    +
    +    #Remove lines
    +    curve.pointFillMode = curve.Dynamic
    +    curve.symbolDensity = 30
    +    curve.symbol = curve.TriangleUp
    +    SetPlotOptions(curve)
    +    Test("curve_3_10")
    +
    +    OpenDatabase(data_path("curve_test_data/ol_curveB.curve"))
    +
    +    AddPlot("Curve", "ol_curveB")
    +    DrawPlots()
    +    c2 = CurveAttributes()
    +    c2.showLabels = 0
    +    c2.curveColorSource = c2.Custom
    +    c2.curveColor = (255, 0, 0, 255)
    +    SetPlotOptions(c2)
    +    AddOperator("Transform")
    +    ta2=TransformAttributes()
    +    ta2.doTranslate=1
    +    ta2.translateX=-0.35
    +    SetOperatorOptions(ta2)
    +    DrawPlots()
    +    DrawPlots()
    +    Test("curve_3_11")
    +
    +    c2.showLines = 0
    +    c2.showPoints = 1
    +    c2.pointFillMode = c2.Dynamic
    +    c2.symbol = c2.Circle
    +    c2.symbolDensity = 30
    +    SetPlotOptions(c2)
    +    DrawPlots()
    +    Test("curve_3_12")
    +
    +
    +    OpenDatabase(data_path("curve_test_data/ol_curveC.curve"))
    +
    +    AddPlot("Curve", "ol_curveC")
    +    DrawPlots()
    +    c3 = CurveAttributes()
    +    c3.showLabels = 0
    +    c3.showPoints = 1
    +    c3.curveColorSource = c2.Custom
    +    c3.curveColor = (0, 255, 0, 255)
    +    SetPlotOptions(c3)
    +    AddOperator("Transform")
    +    ta3=TransformAttributes()
    +    ta3.doTranslate=1
    +    ta3.translateX=0.25
    +    SetOperatorOptions(ta3)
    +    DrawPlots()
    +    Test("curve_3_13")
    +
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/ol_curveA.curve"))
    +
    +    CloseDatabase(data_path("curve_test_data/ol_curveB.curve"))
    +
    +    CloseDatabase(data_path("curve_test_data/ol_curveB.curve"))
    +
    +
    +def TestTimeCue():
    +    TestSection("Time Cue")
    +    OpenDatabase(data_path("curve_test_data/ol_curveC.curve"))
    +
    +    AddPlot("Curve", "ol_curveC")
    +    c = CurveAttributes()
    +    c.showLabels = 0
    +    c.showPoints = 1
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (0, 0, 0, 255)
    +    c.doBallTimeCue = 1
    +    c.timeCueBallSize = 1
    +    c.ballTimeCueColor = (0, 255, 0, 255)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +
    +    v = GetViewCurve()
    +    v.domainCoords = (-0.25, 10.25)
    +    v.rangeCoords = (-0.25, 15.25)
    +    SetViewCurve(v)
    +
    +    SuppressQueryOutputOn()
    +    Query("NumNodes")
    +    n = int(GetQueryOutputValue())
    +    for i in range(n-1):
    +        c.timeForTimeCue = i
    +        SetPlotOptions(c)
    +        s = "curve_4_%02d" % i
    +        Test(s)
    +
    +    c.doLineTimeCue = 1
    +    c.lineTimeCueColor = c.ballTimeCueColor
    +    SetPlotOptions(c)
    +    s = "curve_4_%02d" % (n-1)
    +    Test(s)
    +
    +    c.lineTimeCueWidth = 3
    +    SetPlotOptions(c)
    +    s = "curve_4_%02d" % n
    +    Test(s)
    +    n = n+ 1
    +
    +    c.doCropTimeCue = 1
    +    SetPlotOptions(c)
    +    s = "curve_4_%02d" % n
    +    Test(s)
    +
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/ol_curveC.curve"))
    +
    +def TestPolar():
    +    TestSection("Polar")
    +    OpenDatabase(data_path("curve_test_data/rose_theta_r_rads.ultra"))
    +    AddPlot("Curve", "rose")
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (255, 0, 0, 255)
    +    c.showLabels = 0
    +    c.doLineTimeCue = 0
    +    c.doCropTimeCue = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    ResetView()
    +    Test("polar_curve_01")
    +    c.polarToCartesian = 1
    +    c.polarCoordinateOrder = c.Theta_R
    +    c.angleUnits = c.Radians
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("polar_curve_02")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/rose_theta_r_rads.ultra"))
    +
    +    OpenDatabase(data_path("curve_test_data/rose_r_theta_rads.ultra"))
    +    AddPlot("Curve", "rose")
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (0, 0, 255, 255)
    +    c.showLabels = 0
    +    c.doLineTimeCue = 0
    +    c.doCropTimeCue = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    ResetView()
    +    Test("polar_curve_03")
    +    c.polarToCartesian = 1
    +    c.polarCoordinateOrder = c.R_Theta
    +    c.angleUnits = c.Radians
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("polar_curve_04")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/rose_r_theta_rads.ultra"))
    +
    +    OpenDatabase(data_path("curve_test_data/spiral_r_theta_deg.ultra"))
    +    AddPlot("Curve", "spiral")
    +    c.curveColor = (0, 255, 0, 255)
    +    c.polarToCartesian = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("polar_curve_05")
    +    c.polarToCartesian = 1
    +    c.polarCoordinateOrder = c.R_Theta
    +    c.angleUnits = c.Degrees
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("polar_curve_06")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/spiral_r_theta_deg.ultra"))
    +
    +    OpenDatabase(data_path("curve_test_data/circle.ultra"))
    +    AddPlot("Curve", "circle")
    +    c.curveColor = (255, 0, 255, 255)
    +    c.polarToCartesian = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("polar_curve_07")
    +    c.polarToCartesian = 1
    +    c.polarCoordinateOrder = c.Theta_R
    +    c.angleUnits = c.Degrees
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("polar_curve_08")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/circle.ultra"))
    +
    +def TestScale():
    +    TestSection("Scale")
    +    OpenDatabase(data_path("curve_test_data/need_scale.ultra"))
    +    AddPlot("Curve", "toobig")
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (40, 165, 165, 255)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("curve_scale_00")
    +
    +    t = TransformAttributes()
    +    t.doScale =1
    +    t.scaleX=1e-15
    +    t.scaleY=1e-15
    +    t.scaleZ=1e-15
    +    AddOperator("Transform")
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("curve_scale_01")
    +
    +    RemoveLastOperator()
    +    ChangeActivePlotsVar("toosmall")
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("curve_scale_02")
    +
    +    t.scaleX=1e+15
    +    t.scaleY=1e+15
    +    t.scaleZ=1e+15
    +    AddOperator("Transform")
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("curve_scale_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/need_scale.ultra"))
    +
    +def Main():
    +    Test1()
    +    TestOverlayCurves()
    +    TestPointsAndSymbols()
    +    TestTimeCue()
    +    TestPolar()
    +    TestScale()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_filledboundary.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_filledboundary.html new file mode 100644 index 000000000..80dcf886b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_filledboundary.html @@ -0,0 +1,86 @@ + +Results for plots/filledboundary.py + +

    Results of VisIt Regression Test - plots/filledboundary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    fb_wireframe_010.000.00
    fb_wireframe_020.000.00
    fb_lines_010.000.00
    fb_lines_020.000.00
    fb_lines_03100.0039.95
    fb_lines_040.000.00
    fb_points_010.000.00
    fb_points_020.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_filledboundary_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_filledboundary_py.html new file mode 100644 index 000000000..63c0ed5f7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_filledboundary_py.html @@ -0,0 +1,110 @@ +plots/filledboundary.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  filledboundary.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#              plots     - FilledBoundary
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 11, 2020 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# singlecolor.py and multicolor.py test the coloring functionality of FB plots,
    +# so those aspects won't be heavily tested here.
    +
    +TurnOffAllAnnotations()
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +AddPlot("FilledBoundary", "mat1")
    +fb = FilledBoundaryAttributes()
    +
    +# test line settings, first with wireframe mode:
    +fb.wireframe = 1
    +SetPlotOptions(fb)
    +DrawPlots()
    +
    +# want to rotate the view to verify the lines are unlit
    +v = GetView3D()
    +viewNormal = (0, 0, -1)
    +SetView3D(v)
    +Test("fb_wireframe_01")
    +
    +fb.lineWidth = 3
    +SetPlotOptions(fb)
    +Test("fb_wireframe_02")
    +
    +# now with lines created by an operator/operator sequence
    +fb.lineWidth = 1
    +fb.wireframe = 0
    +SetPlotOptions(fb)
    +AddOperator("ThreeSlice")
    +ts = ThreeSliceAttributes()
    +ts.x = 0.5;
    +ts.y = 0.5;
    +ts.z = 0.5;
    +SetOperatorOptions(ts)
    +
    +AddOperator("ExternalSurface")
    +DrawPlots()
    +Test("fb_lines_01")
    +
    +# move ExternalSurface to before ThreeSlice
    +DemoteOperator(1)
    +fb.lineWidth = 4
    +SetPlotOptions(fb)
    +DrawPlots()
    +Test("fb_lines_02")
    +
    +# add another FB plot and play with opacity
    +AddPlot("FilledBoundary", "mat1")
    +fb2 = FilledBoundaryAttributes()
    +fb2.colorType = fb.ColorBySingleColor
    +fb2.singleColor=(255, 153, 0, 255)
    +fb2.opacity = 0.5
    +SetPlotOptions(fb2)
    +
    +DrawPlots()
    +Test("fb_lines_03")
    +DeleteAllPlots()
    +
    +
    +CloseDatabase(silo_data_path("rect3d.silo"))
    +
    +# Another way of producing lines in a FB plot: Add Edge operator
    +OpenDatabase(silo_data_path("noise.silo"))
    +AddPlot("FilledBoundary", "mat1")
    +fb2.opacity = 1
    +SetPlotOptions(fb2)
    +AddOperator("Edge")
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (0.0368258, 0.737081, -0.674801)
    +v.viewUp = (0.0382946, 0.673722, -0.737992)
    +SetView3D(v)
    +Test("fb_lines_04")
    +
    +# perhaps a bit contrived, but adding Edge and ThreeSlice operators together
    +# will generate points and allow testing of point glyphing functionality
    +AddOperator("ThreeSlice")
    +SetOperatorOptions(ts)
    +DrawPlots()
    +Test("fb_points_01")
    +
    +fb2.pointType = fb.Tetrahedron
    +fb2.pointSize = 1
    +SetPlotOptions(fb2)
    +Test("fb_points_02")
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("noise.silo"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_label.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_label.html new file mode 100644 index 000000000..6cbac5f54 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_label.html @@ -0,0 +1,550 @@ + +Results for plots/label.py + +

    Results of VisIt Regression Test - plots/label

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    General label plot features
    label_0_000.000.00
    label_0_010.000.00
    label_0_020.000.00
    label_0_030.000.00
    label_0_040.000.00
    label_0_050.000.00
    label_0_060.000.00
    label_0_070.000.00
    label_0_080.000.00
    label_0_090.000.00
    label_0_100.000.00
    label_0_110.000.00
    label_0_120.000.00
    label_0_130.000.00
    label_0_140.000.00
    label_0_150.000.00
    label_0_160.000.00
    label_0_170.000.00
    label_0_180.000.00
    label_0_190.000.00
    label_0_200.000.00
    Curvilinear 2D
    label_1_000.000.00
    label_1_010.000.00
    label_1_020.000.00
    label_1_030.000.00
    label_1_040.000.00
    label_1_050.000.00
    label_1_060.000.00
    Rectilinear 2D
    label_2_000.000.00
    label_2_010.000.00
    label_2_020.000.00
    label_2_030.000.00
    label_2_040.000.00
    label_2_050.000.00
    Unstructured 2D
    label_3_000.000.00
    label_3_010.000.00
    label_3_020.000.00
    label_3_030.000.00
    Testing slicing 3D data to 2D
    label_4_000.000.00
    label_4_010.000.00
    label_4_020.000.00
    label_4_030.000.00
    VTK with labels
    label_5_010.000.00
    Labelling subsets
    label_6_000.000.00
    label_6_010.000.00
    label_6_020.000.00
    label_6_030.000.00
    label_6_040.250.10
    label_6_050.000.00
    Labelling tensors
    label_7_000.000.00
    label_7_010.000.00
    label_7_020.000.00
    label_7_030.000.00
    label_7_040.000.00
    label_7_050.000.00
    Labelling in 3D with Z buffer
    label_8_000.000.00
    label_8_010.000.00
    label_8_020.000.00
    label_8_030.000.00
    label_8_040.000.00
    label_8_050.000.00
    label_8_060.000.00
    label_8_070.000.00
    label_8_080.000.00
    label_8_090.000.00
    label_8_100.000.00
    label_8_113.860.79
    Labelling sliced vectors
    label_9_000.000.00
    label_9_010.000.00
    label_9_020.000.00
    Test 3D zooming and logical mesh display
    label_10_000.000.00
    label_10_010.000.00
    label_10_020.000.00
    label_10_030.000.00
    label_10_040.000.00
    label_10_050.000.00
    label_10_060.000.00
    Test datasets with mixed variables
    label_11_000.000.00
    label_11_010.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_label_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_label_py.html new file mode 100644 index 000000000..c01cf41f5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_label_py.html @@ -0,0 +1,1005 @@ +plots/label.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  label.py
    +#
    +#  Tests:      Tests the label plot
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Oct 22 15:50:06 PST 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Oct 27 15:08:27 PST 2004
    +#    I made the baseline images larger.
    +#
    +#    Mark C. Miller, Mon Apr 25 21:35:54 PDT 2005
    +#    I added tests for different data types
    +#
    +#    Kathleen Bonnell, Thu Jul 14 07:53:46 PDT 2005
    +#    Added TestLabeledVTK, to test reading and use of char data from VTK.
    +#
    +#    Brad Whitlock, Thu Aug 4 14:25:22 PST 2005
    +#    Added tests for labelling subsets and I also removed the single cell/node
    +#    stuff and replaced it with tests for setting individual cell/node
    +#    colors and text heights.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Brad Whitlock, Tue Nov 15 09:56:44 PDT 2005
    +#    Added another test for sliced vectors.
    +#
    +#    Brad Whitlock, Tue Apr 25 15:47:21 PST 2006
    +#    I added tests for making sure that Label plots of structured meshes
    +#    actually show their logical index nature by default. The tests also
    +#    show the Label plot with zooms that used to make the labels be incorrectly
    +#    offset from the other plots.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Alister Maguire, Mon Feb 26 10:22:04 PST 2018
    +#    Added TestMixedVariables for testing datasets with mixed variables.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin(("Boxlib2D", "SAMRAI", "VTK"))
    +
    +
    +# Create label attributes with somewhat larger text.
    +def CreateLabelAttributes():
    +    L = LabelAttributes()
    +    L.textFont1.scale = 5
    +    L.textFont2.scale = 5
    +    return L
    +
    +def SaveTestImage(name):
    +    # Save these images somewhat larger than a regular test case image
    +    # since the images contain a lot of text.
    +    swa = SaveWindowAttributes()
    +    swa.width = 500
    +    swa.height = 500
    +    swa.screenCapture = 0
    +    Test(name, swa)
    +
    +def TestGeneralFeatures():
    +    TestSection("General label plot features")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Label", "curvmesh2d")
    +    DrawPlots()
    +    SaveTestImage("label_0_00")
    +
    +    # Change the zoom a few times to see the number of labels adaptively change.
    +    v0 = View2DAttributes()
    +    v0.windowCoords = (-11.6154, 11.8294, -3.18886, 8.33075)
    +    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v0.fullFrameActivationMode = v0.Off
    +    SetView2D(v0)
    +    SaveTestImage("label_0_01")
    +
    +    v1 = View2DAttributes()
    +    v1.windowCoords = (-1.0815, 1.29556, 1.98696, 3.15493)
    +    v1.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v1.fullFrameActivationMode = v1.Off
    +    SetView2D(v1)
    +    SaveTestImage("label_0_02")
    +
    +    v2 = View2DAttributes()
    +    v2.windowCoords = (1.78125, 3.00819, 0.209532, 0.812385)
    +    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v2.fullFrameActivationMode = v2.Off
    +    AddPlot("Mesh", "curvmesh2d")
    +    DrawPlots()
    +    SetActivePlots(0)
    +    SetView2D(v2)
    +    SaveTestImage("label_0_03")
    +
    +    # Turn on nodes
    +    L = CreateLabelAttributes()
    +    L.showNodes = 1
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_04")
    +
    +    # Turn off cells
    +    L.showCells = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_05")
    +
    +    # Try showing nodes and cells and alter their respective sizes
    +    L.showCells = 1
    +    L.showNodes = 1
    +    L.textFont1.scale = 6
    +    L.textFont2.scale = 5
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_06")
    +
    +    # Change the cell color.
    +    L.textFont1.color = (0,255,0,255)
    +    L.textFont1.useForegroundColor = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_07")
    +
    +    # Change the node color
    +    L.textFont2.color = (100,10,255,255)
    +    L.textFont2.useForegroundColor = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_08")
    +    L.textFont1.color = (0,255,0,255)
    +    L.textFont2.color = (0,255,0,255)
    +
    +    # Change the structured indices to regular indices
    +    L.showCells = 1
    +    L.labelDisplayFormat = L.Index
    +    L.textFont1.scale = 5
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_09")
    +
    +    # Make the text a little bigger
    +    L.textFont1.scale = 8
    +    L.textFont2.scale = 8
    +    L.showCells = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_10")
    +
    +    # Test different text alignments
    +    L.textFont1.scale = 6
    +    L.textFont2.scale = 6
    +    L.horizontalJustification = L.Left
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_11")
    +    L.horizontalJustification = L.Right
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_12")
    +    L.horizontalJustification = L.HCenter
    +    L.verticalJustification = L.Top
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_13")
    +    L.verticalJustification = L.Bottom
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_14")
    +
    +    # Test changing the number of labels.
    +    L.verticalJustification = L.VCenter
    +    SetPlotOptions(L)
    +    ResetView()
    +    SaveTestImage("label_0_15")
    +    L.numberOfLabels = 40
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_16")
    +
    +    # Turn off restricting the number of labels.
    +    L.restrictNumberOfLabels = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_17")
    +    DeleteAllPlots()
    +
    +    # test different data types from the file
    +    OpenDatabase(silo_data_path("wave0000.silo"))
    +
    +    AddPlot("Label", "chars")
    +    DrawPlots()
    +    v3d=GetView3D()
    +    v3d.viewNormal=(0, 1, 0)
    +    v3d.viewUp=(0, 0, -1)
    +    SetView3D(v3d)
    +    SaveTestImage("label_0_18")
    +    DeleteAllPlots()
    +
    +    AddPlot("Label", "shorts")
    +    DrawPlots()
    +    SaveTestImage("label_0_19")
    +    DeleteAllPlots()
    +
    +    AddPlot("Label", "ints")
    +    DrawPlots()
    +    SaveTestImage("label_0_20")
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def TestCurvilinear2D():
    +    TestSection("Curvilinear 2D")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    AddPlot("Mesh", "curvmesh2d")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    SetPlotOptions(m)
    +    # Do a point variable
    +    AddPlot("Label", "u")
    +    DrawPlots()
    +    ResetView()
    +    SaveTestImage("label_1_00")
    +
    +    # Make the labels a little larger and zoom in on the cells
    +    v0 = View2DAttributes()
    +    v0.windowCoords = (-0.632297, 0.483674, 3.38963, 4.57713)
    +    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v0.fullFrameActivationMode = v0.Off
    +    SetView2D(v0)
    +    L = CreateLabelAttributes()
    +    L.textFont1.scale = 5
    +    L.textFont2.scale = 5
    +    SetPlotOptions(L)
    +    SaveTestImage("label_1_01")
    +
    +    # Change the a cell centered variable
    +    ChangeActivePlotsVar("d")
    +    SaveTestImage("label_1_02")
    +
    +    # Change to a node centered vector variable
    +    v0.windowCoords = (-0.662647, 0.179177, 3.52611, 4.4219)
    +    SetView2D(v0)
    +    ChangeActivePlotsVar("vel")
    +    SaveTestImage("label_1_03")
    +
    +    # Change to a mesh variable
    +    ChangeActivePlotsVar("curvmesh2d")
    +    L.showNodes = 1
    +    SetPlotOptions(L)
    +    SaveTestImage("label_1_04")
    +
    +    # Turn off a material
    +    v0.windowCoords = (-1.73904, -0.385797, 2.20216, 3.64214)
    +    SetView2D(v0)
    +    SaveTestImage("label_1_05")
    +    SetActivePlots((0,1,2))
    +    TurnMaterialsOff("2")
    +    SaveTestImage("label_1_06")
    +    DeleteAllPlots()
    +
    +def TestRectilinear2D():
    +    TestSection("Rectilinear 2D")
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "ascii")
    +    AddPlot("Mesh", "quadmesh2d")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    SetPlotOptions(m)
    +    AddPlot("Label", "ascii")
    +    DrawPlots()
    +    ResetView()
    +    v0 = View2DAttributes()
    +    v0.windowCoords = (0.425121, 0.574879, 0.566829, 0.766505)
    +    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v0.fullFrameActivationMode = v0.Off
    +    SetView2D(v0)
    +    L = CreateLabelAttributes()
    +    L.textFont1.scale = 5
    +    L.textFont2.scale = 5
    +    SetPlotOptions(L)
    +    SaveTestImage("label_2_00")
    +
    +    # Change to a cell centered float variable.
    +    ChangeActivePlotsVar("d")
    +    SaveTestImage("label_2_01")
    +
    +    # Change to a node centered variable
    +    ChangeActivePlotsVar("u")
    +    SaveTestImage("label_2_02")
    +
    +    # Change to a node centered vector variable
    +    ChangeActivePlotsVar("vel")
    +    v1 = View2DAttributes()
    +    v1.windowCoords = (0.478575, 0.543393, 0.650721, 0.737145)
    +    SetView2D(v1)
    +    SaveTestImage("label_2_03")
    +
    +    # Change to the mesh variable
    +    SetActivePlots((0,2))
    +    DeleteActivePlots()
    +    AddPlot("FilledBoundary", "mat1")
    +    AddPlot("Label", "quadmesh2d")
    +    DrawPlots()
    +    L.showNodes = 1
    +    L.textFont1.scale = 5
    +    L.textFont2.scale = 5
    +    SetPlotOptions(L)
    +    SaveTestImage("label_2_04")
    +
    +    # Turn off a material
    +    SetActivePlots((0,1,2))
    +    TurnMaterialsOff("16")
    +    SaveTestImage("label_2_05")
    +    DeleteAllPlots()
    +
    +
    +def TestUnstructured2D():
    +    TestSection("Unstructured 2D")
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Mesh", "ucdmesh2d")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    SetPlotOptions(m)
    +    AddPlot("Label", "ucdmesh2d")
    +    L = CreateLabelAttributes()
    +    L.showNodes = 1
    +    L.textFont1.scale = 6
    +    L.textFont2.scale = 6
    +    L.textFont1.color = (255,0,0,255)
    +    L.textFont2.color = (255,0,0,255)
    +    L.textFont1.useForegroundColor = 0
    +    L.textFont2.useForegroundColor = 0
    +    L.restrictNumberOfLabels = 0
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    v0 = View2DAttributes()
    +    v0.windowCoords = (-0.154956, 4.15496, -0.154956, 4.15496)
    +    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v0.fullFrameActivationMode = v0.Off
    +    SetView2D(v0)
    +    SaveTestImage("label_3_00")
    +
    +    # Change to a nodal variable
    +    ChangeActivePlotsVar("d")
    +    SaveTestImage("label_3_01")
    +
    +    # Change to a cell centered variable
    +    ChangeActivePlotsVar("p")
    +    SaveTestImage("label_3_02")
    +
    +    # Change to a mesh variable and remove a material.
    +    ChangeActivePlotsVar("ucdmesh2d")
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +    L.textFont1.useForegroundColor = 1
    +    L.textFont2.useForegroundColor = 1
    +    SetPlotOptions(L)
    +    SetActivePlots((0,1,2))
    +    TurnMaterialsOff("2")
    +    SaveTestImage("label_3_03")
    +    DeleteAllPlots()
    +
    +def TestSlice():
    +    TestSection("Testing slicing 3D data to 2D")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    SetPlotOptions(m)
    +    AddPlot("Pseudocolor", "chromeVf")
    +    AddPlot("Label", "chromeVf")
    +    SetActivePlots((0,1,2))
    +    # Add a slice operator to all of the plots
    +    AddOperator("Slice")
    +    s = SliceAttributes()
    +    s.normal = (0,0,1)
    +    s.upAxis = (0,1,0)
    +    s.project2d = 0
    +    SetOperatorOptions(s)
    +    # Make the labels a little bigger
    +    L = CreateLabelAttributes()
    +    L.textFont1.scale = 7
    +    L.textFont2.scale = 7
    +    L.depthTestMode = L.LABEL_DT_NEVER
    +    SetPlotOptions(L)
    +    DrawPlots()
    +
    +    # Look at the slice from the front
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.550782, 0.318825, 0.771355)
    +    v0.focus = (0, 0, 0)
    +    v0.viewUp = (0.200365, 0.94765, -0.248624)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 17.3205
    +    v0.nearPlane = -34.641
    +    v0.farPlane = 34.641
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.82449
    +    v0.perspective = 0
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0, 0, 0)
    +    SetView3D(v0)
    +    SaveTestImage("label_4_00")
    +
    +    # Look at the slice from the back. It will only be visible if the
    +    # quantized normals were thrown out.
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (-0.681715, 0.349442, -0.642771)
    +    v1.focus = (0, 0, 0)
    +    v1.viewUp = (0.26946, 0.936726, 0.223465)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 17.3205
    +    v1.nearPlane = -34.641
    +    v1.farPlane = 34.641
    +    v1.imagePan = (0, 0)
    +    v1.imageZoom = 1.82449
    +    v1.perspective = 0
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (0, 0, 0)
    +    SetView3D(v1)
    +    SaveTestImage("label_4_01")
    +
    +    # Project the slice to 2D
    +    s.project2d = 1
    +    SetOperatorOptions(s)
    +    v2 = View2DAttributes()
    +    v2.windowCoords = (-8.64231, -5.11567, 2.53613, 6.24948)
    +    SetView2D(v2)
    +    SaveTestImage("label_4_02")
    +
    +    # Set the slice normal so it does not line up with an axis.
    +    s.normal = (1,2,3)
    +    SetOperatorOptions(s)
    +    SaveTestImage("label_4_03")
    +    DeleteAllPlots()
    +
    +def TestLabeledVTK():
    +    TestSection("VTK with labels")
    +    OpenDatabase(data_path("vtk_test_data/labeledBox.vtk"))
    +
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Label", "cellLabel")
    +    AddPlot("Label", "nodeLabels")
    +    DrawPlots()
    +    SetActivePlots((1, 2))
    +    l = LabelAttributes()
    +    l.textFont1.scale = 8
    +    l.textFont2.scale = 8
    +    l.depthTestMode = l.LABEL_DT_NEVER
    +    SetPlotOptions(l)
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.826308, 0.365749, 0.428303)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.262408, 0.92288, -0.28184)
    +    v.parallelScale = 1.55885
    +    v.nearPlane = -3.11769
    +    v.farPlane  =  3.11769
    +    v.imageZoom = 0.941919
    +    SetView3D(v)
    +
    +    SaveTestImage("label_5_01")
    +    DeleteAllPlots()
    +
    +def TestLabellingSubsets():
    +    TestSection("Labelling subsets")
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Subset", "blocks")
    +    AddPlot("Label", "blocks")
    +    l = LabelAttributes()
    +    l.restrictNumberOfLabels = 0
    +    l.textFont1.scale = 5
    +    l.depthTestMode = l.LABEL_DT_NEVER
    +    SetPlotOptions(l)
    +    SetActivePlots((0,1,2))
    +    TurnDomainsOff()
    +    TurnDomainsOn(("domain1","domain10","domain19"))
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0.465057, -0.448026, -0.763541)
    +    v.focus = (0.166667, 0.166667, 0.5)
    +    v.viewUp = (-0.243345, -0.893956, 0.376333)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.552771
    +    v.nearPlane = -1.10554
    +    v.farPlane = 1.10554
    +    v.imagePan = (0.0545619, 0.050939)
    +    v.imageZoom = 1.32578
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.166667, 0.166667, 0.5)
    +    SetView3D(v)
    +    SaveTestImage("label_6_00")
    +
    +    SetActivePlots((1,2))
    +    ChangeActivePlotsVar("domains")
    +    SaveTestImage("label_6_01")
    +
    +    SetActivePlots(1)
    +    DeleteActivePlots()
    +    AddPlot("FilledBoundary", "mat")
    +    SetActivePlots(1)
    +    DrawPlots()
    +    ChangeActivePlotsVar("mat")
    +    SaveTestImage("label_6_02")
    +
    +    # Try an AMR dataset
    +    DeleteAllPlots()
    +    OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Subset", "patches")
    +    s = SubsetAttributes()
    +    s.legendFlag = 0
    +    SetPlotOptions(s)
    +    AddPlot("Label", "patches")
    +    l = LabelAttributes()
    +    l.restrictNumberOfLabels = 0
    +    l.textFont1.scale = 4.7
    +    SetPlotOptions(l)
    +    DrawPlots()
    +    v = View2DAttributes()
    +    v.windowCoords = (0.0126663, 0.0146908, 0.115281, 0.117298)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_6_03")
    +
    +    SetActivePlots((1,2))
    +    ChangeActivePlotsVar("levels")
    +    v = View2DAttributes()
    +    v.windowCoords = (0.0250949, 0.0437515, 0.11359, 0.132218)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SetActivePlots(2)
    +    l.textFont1.scale = 4
    +    SetPlotOptions(l)
    +    SaveTestImage("label_6_04")
    +    DeleteAllPlots()
    +
    +    # Try a dataset with real material names.
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("FilledBoundary", "mat1")
    +    AddPlot("Label", "mat1")
    +    l = LabelAttributes()
    +    l.textFont1.scale = 5
    +    SetPlotOptions(l)
    +    SetActivePlots((0,1,2))
    +    AddOperator("Slice")
    +    DrawPlots()
    +    v = View2DAttributes()
    +    v.windowCoords = (-9.37363, -6.58974, -2.85531, -0.327839)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_6_05")
    +    DeleteAllPlots()
    +
    +
    +def TestLabellingTensors():
    +    TestSection("Labelling tensors")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Tensor", "grad_tensor")
    +    t = TensorAttributes()
    +    t.useStride = 1
    +    SetPlotOptions(t)
    +    AddPlot("Label", "grad_tensor")
    +    SetActivePlots((0,1,2))
    +    AddOperator("Slice")
    +    DrawPlots()
    +    ResetView()
    +    SaveTestImage("label_7_00")
    +
    +    v = View2DAttributes()
    +    v.windowCoords = (-9.13799, -4.37695, -7.71782, -2.97379)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_7_01")
    +
    +    v.windowCoords = (-8.50106, -7.83502, -6.43747, -5.77381)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_7_02")
    +
    +    # Now see how changing the text height affects binning
    +    ResetView()
    +    l = LabelAttributes()
    +    l.textFont1.scale = 3
    +    SetActivePlots(2)
    +    SetPlotOptions(l)
    +    SaveTestImage("label_7_03")
    +
    +    l.textFont1.scale = 6
    +    SetPlotOptions(l)
    +    SaveTestImage("label_7_04")
    +
    +    SetView2D(v)
    +    SaveTestImage("label_7_05")
    +
    +    DeleteAllPlots()
    +
    +def TestLabelling3D():
    +    TestSection("Labelling in 3D with Z buffer")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "airVf")
    +    AddPlot("Label", "airVf")
    +    L = LabelAttributes()
    +    L.restrictNumberOfLabels = 0
    +    L.depthTestMode = L.LABEL_DT_NEVER
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    ResetView()
    +    SaveTestImage("label_8_00")
    +
    +    # Turn on depth testing
    +    L.depthTestMode = L.LABEL_DT_AUTO
    +    SetPlotOptions(L)
    +    SaveTestImage("label_8_01")
    +
    +    # Apply an Isosurface operator to make things really convoluted
    +    SetActivePlots((0,1))
    +    AddOperator("Isosurface")
    +    iso = IsosurfaceAttributes()
    +    iso.contourNLevels = 1
    +    iso.variable="hardyglobal"
    +    SetOperatorOptions(iso)
    +    v = View3DAttributes()
    +    v.viewNormal = (0.883239, -0.244693, -0.400019)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.435303, 0.745036, 0.505404)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0.022398, -0.134568)
    +    v.imageZoom = 3.35882
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +    DrawPlots()
    +    SaveTestImage("label_8_02")
    +
    +    #
    +    # Try labelling a mesh that has interior stuff
    +    #
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "speed")
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Label", "mesh1")
    +    L = CreateLabelAttributes()
    +    L.restrictNumberOfLabels = 0
    +    L.drawLabelsFacing = L.FrontAndBack
    +    L.depthTestMode = L.LABEL_DT_AUTO
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    ResetView()
    +    v.viewNormal = (-0.735192, 0.371514, 0.566984)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.2695, 0.927683, -0.258407)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.60959
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +    SaveTestImage("label_8_03")
    +
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (0, 0, 1)
    +    v1.focus = (0, 0, 0)
    +    v1.viewUp = (0, 1, 0)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 17.3205
    +    v1.nearPlane = -34.641
    +    v1.farPlane = 34.641
    +    v1.imagePan = (0, 0)
    +    v1.imageZoom = 5.06081
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (0, 0, 0)
    +    SetView3D(v1)
    +    SaveTestImage("label_8_04")
    +
    +    # Turn on node labels
    +    L.showNodes = 1
    +    SetPlotOptions(L)
    +    SaveTestImage("label_8_05")
    +
    +    # Label a variable that would normally have labels that protrude into
    +    # the dataset
    +    ChangeActivePlotsVar("speed")
    +    ResetView()
    +    SaveTestImage("label_8_06")
    +
    +    SetView3D(v)
    +    SaveTestImage("label_8_07")
    +    DeleteAllPlots()
    +
    +    #
    +    # Try labelling a 3D AMR dataset
    +    #
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    AddPlot("Pseudocolor", "Primitive Var _number_0")
    +    AddPlot("Mesh", "amr_mesh")
    +    AddPlot("Label", "levels")
    +    L = CreateLabelAttributes()
    +    L.showNodes = 1
    +    L.showCells = 0
    +    L.restrictNumberOfLabels = 0
    +    L.depthTestMode = L.LABEL_DT_NEVER
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.643521, -0.624962, -0.441931)
    +    v2.focus = (15, 10, 10)
    +    v2.viewUp = (0.320552, 0.304253, -0.897038)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 20.6155
    +    v2.nearPlane = -41.2311
    +    v2.farPlane = 41.2311
    +    v2.imagePan = (-0.0412674, 0.141248)
    +    v2.imageZoom = 1.871
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (15, 10, 10)
    +    SetView3D(v2)
    +    SaveTestImage("label_8_08")
    +
    +    # Turn on zbuffering
    +    L.depthTestMode = L.LABEL_DT_AUTO
    +    SetPlotOptions(L)
    +    SaveTestImage("label_8_09")
    +
    +    # Restrict the number of labels
    +    L.restrictNumberOfLabels = 1
    +    L.numberOfLabels = 900
    +    L.depthTestMode = L.LABEL_DT_NEVER
    +    SetPlotOptions(L)
    +    SaveTestImage("label_8_10")
    +
    +    # Turn on zbuffering
    +    L.depthTestMode = L.LABEL_DT_AUTO
    +    SetPlotOptions(L)
    +    SaveTestImage("label_8_11")
    +    DeleteAllPlots()
    +
    +def TestSlicedVectors():
    +    TestSection("Labelling sliced vectors")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Label", "grad")
    +    L = CreateLabelAttributes()
    +    L.depthTestMode = L.LABEL_DT_NEVER
    +    SetPlotOptions(L)
    +    SetActivePlots((0,1))
    +    AddOperator("Slice")
    +    DrawPlots()
    +
    +    v = View2DAttributes()
    +    v.windowCoords = (-0.370383, 0.566874, -0.275836, 0.66177)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_9_00")
    +
    +    AddPlot("Vector", "grad")
    +    vec = VectorAttributes()
    +    vec.useStride = 1
    +    vec.scale = 0.5
    +    SetPlotOptions(vec)
    +    AddOperator("Slice")
    +    SetActivePlots((0,1,2))
    +    s = SliceAttributes()
    +    s.project2d = 0
    +    SetOperatorOptions(s)
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.332304, 0.933436, 0.135169)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.353747, 0.00950422, -0.935293)
    +    v.viewAngle = 30
    +    v.parallelScale = 14.1421
    +    v.nearPlane = -28.2843
    +    v.farPlane = 28.2843
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 17.3567
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +    SaveTestImage("label_9_01")
    +
    +    # Test a case where having the vector be an expression was causing
    +    # VisIt to mess up.
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddPlot("Label", "vel")
    +    L = LabelAttributes()
    +    L.textFont1.scale = 6
    +    L.textFont1.color = (255,0,0,255)
    +    L.textFont1.useForegroundColor = 0
    +    SetPlotOptions(L)
    +    SetActivePlots((0,1))
    +    AddOperator("Slice")
    +    s = SliceAttributes()
    +    s.originType = s.Intercept
    +    s.originIntercept = 0
    +    s.axisType = s.YAxis
    +    s.project2d = 1
    +    SetOperatorOptions(s)
    +    DrawPlots()
    +    v = View2DAttributes()
    +    v.windowCoords = (0.0476715, 0.155784, 0.874164, 0.991825)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_9_02")
    +
    +def TestRectilinearLogicalDisplay():
    +    TestSection("Test 3D zooming and logical mesh display")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Label", "Mesh")
    +    L = CreateLabelAttributes()
    +    SetPlotOptions(L)
    +    DrawPlots()
    +
    +    # Also zoom in using some views obtained from rubber-band style
    +    # views that would have made the labels migrate from their
    +    # correct locations in older versions of VisIt.
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.566084, -0.288713, 0.772135)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.357175, 0.930078, 0.0859103)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0.104981, 0.174394)
    +    v.imageZoom = 12.8916
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +    SaveTestImage("label_10_00")
    +
    +    # Make it be displayed using index style numbers.
    +    L.labelDisplayFormat = L.Index
    +    SetPlotOptions(L)
    +    SaveTestImage("label_10_01")
    +
    +    # Make sure the labels are in the right place when we tell VisIt
    +    # to draw them all instead of binning.
    +    L.restrictNumberOfLabels = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_10_02")
    +
    +    # Try a nodal variable.
    +    ChangeActivePlotsVar("hardyglobal")
    +    SaveTestImage("label_10_03")
    +
    +    # Try a 2D rectilinear mesh
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "hgslice")
    +    AddPlot("Mesh", "Mesh2D")
    +    AddPlot("Label", "Mesh2D")
    +    L = CreateLabelAttributes()
    +    SetPlotOptions(L)
    +    DrawPlots()
    +
    +    v1 = GetView2D()
    +    v1.windowCoords = (-7.52178, -5.09684, -8.8535, -6.43779)
    +    v1.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v1)
    +    SaveTestImage("label_10_04")
    +
    +    # Try a 3D curvilinear mesh
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh3d")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.On
    +    SetPlotOptions(m)
    +    AddPlot("Label", "curvmesh3d")
    +    L = CreateLabelAttributes()
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    v2 = GetView3D()
    +    v2.viewNormal = (0.405434, 0.494827, 0.768615)
    +    v2.focus = (0, 2.5, 15)
    +    v2.viewUp = (-0.296176, 0.866572, -0.401662)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 16.0078
    +    v2.nearPlane = -32.0156
    +    v2.farPlane = 32.0156
    +    v2.imagePan = (0.129303, 0.36944)
    +    v2.imageZoom = 43.2454
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 2.5, 15)
    +    SetView3D(v2)
    +    SaveTestImage("label_10_05")
    +
    +    ChangeActivePlotsVar("u")
    +    SaveTestImage("label_10_06")
    +    DeleteAllPlots()
    +
    +def TestMixedVariables():
    +    TestSection("Test datasets with mixed variables")
    +    DeleteAllPlots()
    +
    +    ma = GetMaterialAttributes()
    +    ma.forceMIR = 1
    +    SetMaterialAttributes(ma)
    +
    +    OpenDatabase(silo_data_path("specmix_ucd.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Label", "d")
    +    L = CreateLabelAttributes()
    +    SetPlotOptions(L)
    +    DrawPlots()
    +
    +    View2DAtts = View2DAttributes()
    +    View2DAtts.windowCoords = (-10.9988, -8.83259, 1.01139, 3.18029)
    +    View2DAtts.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(View2DAtts)
    +
    +    SaveTestImage("label_11_00")
    +
    +    View2DAtts = View2DAttributes()
    +    View2DAtts.windowCoords = (0.474811, 3.09596, 1.20289, 3.82726)
    +    View2DAtts.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(View2DAtts)
    +
    +    SaveTestImage("label_11_01")
    +
    +    DeleteAllPlots()
    +
    +def main():
    +    TestGeneralFeatures()
    +    TestCurvilinear2D()
    +    TestRectilinear2D()
    +    TestUnstructured2D()
    +    TestSlice()
    +    TestLabeledVTK()
    +    TestLabellingSubsets()
    +    TestLabellingTensors()
    +    TestLabelling3D()
    +    TestSlicedVectors()
    +    TestRectilinearLogicalDisplay()
    +    TestMixedVariables()
    +
    +# Run all of the tests
    +main()
    +
    +# Exit the test
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh.html new file mode 100644 index 000000000..67893e919 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh.html @@ -0,0 +1,251 @@ + +Results for plots/mesh.py + +

    Results of VisIt Regression Test - plots/mesh

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing random color mode
    mesh_random_color_010.000.00
    mesh_random_color_020.000.00
    mesh_random_color_030.000.00
    Mesh plot of a 3D curvilinear mesh
    mesh_curve_010.000.00
    mesh_curve_020.000.00
    mesh_curve_030.000.00
    Mesh plot of a point mesh
    mesh_point_010.000.00
    mesh_point_020.000.00
    mesh_point_030.000.00
    mesh_point_040.000.00
    mesh_point_050.310.00
    mesh_point_060.000.00
    mesh_point_070.000.00
    mesh_point_080.000.00
    mesh_point_090.000.00
    mesh_point_100.000.00
    mesh_point_110.000.00
    mesh_point_120.000.00
    Mesh plot of a 3D unstructured mesh
    mesh_globe_010.000.00
    mesh_globe_020.000.00
    mesh_globe_030.000.00
    mesh_globe_040.000.00
    Mesh plot of a 3D rectilinear mesh
    mesh_rect3d_010.000.00
    Testing Mesh plot's opaque flag
    mesh_opaque_010.000.00
    mesh_opaque_020.000.00
    mesh_opaque_030.000.00
    mesh_opaque_040.000.00
    mesh_opaque_050.000.00
    mesh_opaque_060.000.00
    mesh_opaque_070.000.00
    mesh_opaque_080.000.00
    Testing custom color mode
    mesh_custom_color_010.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_c.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_c.html new file mode 100644 index 000000000..47ae8ea2a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_c.html @@ -0,0 +1,251 @@ + +Results for plots/mesh_c.py + +

    Results of VisIt Regression Test - plots/mesh_c

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing random color mode
    mesh_random_color_010.000.00
    mesh_random_color_020.000.00
    mesh_random_color_030.000.00
    Mesh plot of a 3D curvilinear mesh
    mesh_curve_010.000.00
    mesh_curve_020.000.00
    mesh_curve_030.000.00
    Mesh plot of a point mesh
    mesh_point_010.000.00
    mesh_point_020.000.00
    mesh_point_030.000.00
    mesh_point_040.000.00
    mesh_point_050.310.00
    mesh_point_060.000.00
    mesh_point_070.000.00
    mesh_point_080.000.00
    mesh_point_090.000.00
    mesh_point_100.000.00
    mesh_point_110.000.00
    mesh_point_120.000.00
    Mesh plot of a 3D unstructured mesh
    mesh_globe_010.000.00
    mesh_globe_020.000.00
    mesh_globe_030.000.00
    mesh_globe_040.000.00
    Mesh plot of a 3D rectilinear mesh
    mesh_rect3d_010.000.00
    Testing Mesh plot's opaque flag
    mesh_opaque_010.000.00
    mesh_opaque_020.000.00
    mesh_opaque_030.000.00
    mesh_opaque_040.000.00
    mesh_opaque_050.000.00
    mesh_opaque_060.000.00
    mesh_opaque_070.000.00
    mesh_opaque_080.000.00
    Testing custom color mode
    mesh_custom_color_010.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_c_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_c_py.html new file mode 100644 index 000000000..a0ac1b937 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_c_py.html @@ -0,0 +1,21 @@ +plots/mesh_c.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mesh_c.py
    +#
    +#  Tests:      Runs the mesh.py test but with compression turned on.
    +#              mesh.py tests for existence of 'useCompression' variable
    +#              and turns on compression if it exists. We expect identical
    +#              output from the tests but because this py file has a different
    +#              name, it will generate them a subdir by the name 'mesh_c'
    +#              and look for baselines likewise. So, in baseline dir,
    +#              the mesh_c dir is a symlink to scalable.
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       19Aug08
    +#
    +# ----------------------------------------------------------------------------
    +
    +useCompression = 1
    +Source(tests_path("plots","mesh.py"))
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_py.html new file mode 100644 index 000000000..56185edf5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_mesh_py.html @@ -0,0 +1,446 @@ +plots/mesh.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mesh.py
    +#
    +#  Tests:      mesh      - 3D structured, single domain
    +#                        - 3D point, single domain
    +#                        - 2D point, single domain
    +#                        - 3D unstructured, single domain
    +#              plots     - mesh, pseudocolor
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Bonnell
    +#  Date:       September 03, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
    +#
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Added two test for new MeshAttribute 'showInternal':  mesh_globe_04
    +#    and mesh_rect3d_01.
    +#
    +#    Brad Whitlock, Thu Apr 8 12:50:21 PDT 2004
    +#    Added tests to test the auto mesh opacity flag.
    +#
    +#    Jeremy Meredith, Tue May  4 12:41:49 PDT 2004
    +#    Added test for unglyphed (i.e. GL_POINT) point meshes.
    +#
    +#    Kathleen Bonnell, Tue Nov  2 16:20:55 PST 2004
    +#    Removed opaque-mode portion of mesh_point_01, as opaque-mode no longer
    +#    applies to Mesh plots of Point meshes.
    +#
    +#    Mark C. Miller, Tue Aug 19 17:31:29 PDT 2008
    +#    Add code to permit the test to be run with compression as well.
    +#
    +#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
    +#    Removed silly comment regarding global annotation object 'a'
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Wed Jun 10 17:39:23 PDT 2020
    +#    Move RandomColor test to be first test run so that changes in mesh plot
    +#    instances don't randomly make the test fail.
    +#
    +#    Kathleen Biagas, Thu Jun 11 07:57:10 PDT 2020
    +#    Add more data files to PointMesh test, to ensure data that doesnt' set
    +#    topological dimension to 0, and data with mixed topology can still do
    +#    point glyphing and changes point size.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag', 'backgroundFlag' with
    +#    'meshColorSource' and 'opaqueColorSource' respectively.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Remove obsolete mesh att 'lineStyle'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def TestCurve():
    +    TestSection("Mesh plot of a 3D curvilinear mesh")
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh3d")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0.37, 0.48, 0.79)
    +    v.focus = (0, 2.5, 15)
    +    v.viewUp = (-0.18, 0.87, -0.45)
    +    v.imagePan = (0.08, 0.08)
    +    v.imageZoom = 2.0
    +    SetView3D(v)
    +
    +    Test("mesh_curve_01")
    +
    +    # Change color
    +    # and add a PC Plot.
    +    m = MeshAttributes()
    +    m.opaqueColorSource = m.OpaqueCustom
    +    m.opaqueColor = (0, 122, 200, 255)
    +    SetPlotOptions(m)
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Test("mesh_curve_02")
    +
    +    SetActivePlots(0)
    +    SetPlotOptions(m)
    +    SetActivePlots(1)
    +    HideActivePlots()
    +    Test("mesh_curve_03")
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("curv3d.silo"))
    +
    +def TestPointMesh():
    +    TestSection("Mesh plot of a point mesh")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "PointVar")
    +    p = PseudocolorAttributes()
    +    p.pointType = p.Box
    +    p.pointSize = 1.0
    +    SetPlotOptions(p)
    +
    +    DrawPlots()
    +    Test("mesh_point_01")
    +
    +    p.pointType = p.Icosahedron
    +    p.pointSize = 1.5
    +    SetPlotOptions(p)
    +    DrawPlots()
    +    Test("mesh_point_02")
    +
    +    DeleteActivePlots()
    +
    +    AddPlot("Mesh", "PointMesh")
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (0, 122, 200, 255)
    +    m.pointSize = 1.5
    +    m.pointType = m.Axis
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("mesh_point_03")
    +
    +    m.pointType = m.Point
    +    m.pointSizePixels = 1
    +    SetPlotOptions(m)
    +    Test("mesh_point_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("noise.silo"))
    +
    +    OpenDatabase(silo_data_path("noise2d.silo"))
    +
    +    AddPlot("Mesh", "PointMesh")
    +    ResetView()
    +    DrawPlots()
    +    m.pointType = m.Axis
    +    m.pointSizeVarEnabled = 1
    +    m.pointSizeVar = "PointVar"
    +    m.pointSize = 0.05
    +    SetPlotOptions(m)
    +    Test("mesh_point_05")
    +
    +    m.pointType = m.Point
    +    m.pointSizePixels = 1
    +    m.pointSizeVarEnabled = 0
    +    SetPlotOptions(m)
    +    Test("mesh_point_06")
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("noise2d.silo"))
    +
    +    OpenDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
    +
    +    AddPlot("Mesh", "points_mesh")
    +
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (0, 170, 255, 255)
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.605449, 0.469667, 0.642529)
    +    v.viewUp = (0.169201, 0.864818, -0.472716)
    +    SetView3D(v)
    +    Test("mesh_point_07")
    +
    +    m.pointSizePixels = 5
    +    SetPlotOptions(m)
    +    Test("mesh_point_08")
    +
    +    m.pointType = m.Tetrahedron
    +    m.pointSize = 3
    +    SetPlotOptions(m)
    +    Test("mesh_point_09")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
    +
    +    OpenDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +
    +    AddPlot("Mesh", "mesh")
    +    m.lineWidth = 3
    +    m.pointType = m.Point
    +    m.pointSizePixels = 2
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("mesh_point_10")
    +
    +    m.pointSizePixels = 5
    +    SetPlotOptions(m)
    +    Test("mesh_point_11")
    +
    +    m.pointType = m.Icosahedron
    +    m.pointSize = 0.5
    +    SetPlotOptions(m)
    +    Test("mesh_point_12")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +
    +
    +def TestGlobe():
    +    TestSection("Mesh plot of a 3D unstructured mesh")
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (1, 0, 0)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0, 1, 0)
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.0
    +    SetView3D(v)
    +
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Off
    +    SetPlotOptions(m)
    +    Test("mesh_globe_01")
    +
    +    m.smoothingLevel = m.Fast
    +    SetPlotOptions(m)
    +    Test("mesh_globe_02")
    +
    +    m.smoothingLevel = m.High
    +    SetPlotOptions(m)
    +    Test("mesh_globe_03")
    +
    +    print(m.NONE)
    +    m.smoothingLevel = m.NONE
    +    m.opaqueMode = m.Auto
    +    m.showInternal = 1
    +    SetPlotOptions(m)
    +    ResetView()
    +
    +    TurnMaterialsOff(("1", "2", "4"))
    +
    +    AddOperator("Clip")
    +    clip = ClipAttributes()
    +    clip.plane1Status = 0
    +    clip.plane3Status = 1
    +    SetOperatorOptions(clip)
    +
    +    AddOperator("Transform")
    +    t = TransformAttributes()
    +    t.doRotate = 1
    +    t.rotateAxis = (1, 0, 0)
    +    t.rotateAmount = 112
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +
    +    SetViewExtentsType("actual")
    +    Test("mesh_globe_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("globe.silo"))
    +
    +def TestRect3d():
    +    TestSection("Mesh plot of a 3D rectilinear mesh")
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    m.showInternal = 1
    +    SetPlotOptions(m)
    +
    +    #Show a small area that contains the boundary
    +    #between domains 1 & 2 by using the box operator
    +    AddOperator("Box")
    +    box = BoxAttributes();
    +    box.minx = 0.3
    +    box.maxx = 0.4
    +    box.miny = 0.1
    +    box.maxy = 0.2
    +    box.minz = 0.1
    +    box.maxz = 0.2
    +    SetOperatorOptions(box)
    +
    +    DrawPlots()
    +
    +    SetViewExtentsType("actual")
    +    v = GetView3D()
    +    v.viewNormal = (0.27, 0.27, 0.93)
    +    v.focus = (0.35, 0.15, 0.15)
    +    v.viewUp = (-0.06, 0.96, -0.26)
    +    v.parallelScale = 0.139692
    +    v.nearPlane = -0.28
    +    v.farPlane = 0.28
    +    SetView3D(v)
    +
    +    Test("mesh_rect3d_01")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +def TestAutoOpaqueFlag():
    +    TestSection("Testing Mesh plot's opaque flag")
    +
    +    # Set up a mesh plot with the auto opaque flag.
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    SetPlotOptions(m)
    +    ResetView()
    +    TurnMaterialsOn()
    +    DrawPlots()
    +    Test("mesh_opaque_01")
    +
    +    # Add a Pseudocolor plot and make sure that the mesh plot
    +    # is not drawn in opaque mode.
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Test("mesh_opaque_02")
    +
    +    # Hide the Pseudocolor plot and make sure that the mesh plot
    +    # goes opaque.
    +    HideActivePlots()
    +    Test("mesh_opaque_03")
    +
    +    # Unhide the Pseudocolor plot and then delete it. Make sure that the
    +    # mesh plot goes opaque.
    +    HideActivePlots()
    +    Test("mesh_opaque_04")
    +    DeleteActivePlots()
    +    Test("mesh_opaque_05")
    +    DeleteAllPlots()
    +
    +    # Restore a session file that has a keyframe animation where the mesh
    +    # plot exists over all frames but the Pseudocolor plot does not.
    +    RestoreSessionWithDifferentSources(tests_path("plots","mesh_opaque.session"), 0,
    +                                       silo_data_path("wave*.silo database"))
    +    # Turn off all annotations but preserve the background colors.
    +    TurnOffAllAnnotations(GetAnnotationAttributes())
    +    Test("mesh_opaque_06")
    +    SetTimeSliderState(4)
    +    Test("mesh_opaque_07")
    +    SetTimeSliderState(9)
    +    Test("mesh_opaque_08")
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("globe.silo"))
    +
    +def TestRandomColor():
    +    TestSection("Testing random color mode")
    +    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +    # Randomization of mesh colors is possible only at plot *creation* time.
    +    # Therefore, we need to adjust Mesh plot default attributes to set
    +    # the behavior *before* the plot is even created.
    +    m = MeshAttributes()
    +    savedMeshAttrs = m
    +    m.meshColorSource = m.MeshRandom
    +    SetDefaultPlotOptions(m)
    +    AddPlot("Mesh", "2D/mesh1_phzl")
    +    ResetView()
    +    DrawPlots()
    +    Test("mesh_random_color_01")
    +    DeleteActivePlots()
    +
    +    m.meshColorSource = m.Foreground
    +    SetDefaultPlotOptions(m)
    +    AddPlot("Mesh", "2D/mesh1_phzl")
    +    DrawPlots()
    +    Test("mesh_random_color_02")
    +    DeleteAllPlots()
    +
    +    # Add a series of mesh plots with random opaque color
    +    m = MeshAttributes()
    +    m.opaqueColorSource = m.OpaqueRandom
    +    SetDefaultPlotOptions(m)
    +    meshnames = ["2D/mesh1_phzl", "2D/mesh1_phzl2", "2D/mesh1_zl1", "2D/mesh1_zl2"]
    +    for i in range(len(meshnames)):
    +        mname = meshnames[i]
    +        AddPlot("Mesh", mname)
    +        AddOperator("Transform")
    +        ta = TransformAttributes()
    +        ta.doTranslate = 1
    +        ta.translateY = 3*i
    +        SetOperatorOptions(ta)
    +    DrawPlots()
    +    Test("mesh_random_color_03")
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +    SetDefaultPlotOptions(savedMeshAttrs)
    +
    +def TestCustomColor():
    +    TestSection("Testing custom color mode")
    +    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +    meshnames = ["2D/mesh1_phzl", "2D/mesh1_phzl2", "2D/mesh1_zl1", "2D/mesh1_zl2"]
    +    colors = [(255,0,0,255),(0,255,0,255),(0,0,255,255),(0,255,255,255)]
    +    for i in range(len(meshnames)):
    +        mname = meshnames[i]
    +        AddPlot("Mesh", mname)
    +        m = MeshAttributes()
    +        m.opaqueColorSource = m.OpaqueCustom
    +        m.opaqueColor = colors[i]
    +        m.meshColorSource = m.MeshCustom
    +        m.meshColor = (255,255,255,255)
    +        SetPlotOptions(m)
    +        AddOperator("Transform")
    +        ta = TransformAttributes()
    +        ta.doTranslate = 1
    +        ta.translateY = 3*i
    +        SetOperatorOptions(ta)
    +        DrawPlots()
    +    Test("mesh_custom_color_01")
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +def Main():
    +    TurnOffAllAnnotations()
    +    TestRandomColor()
    +    TestCurve()
    +    TestPointMesh()
    +    TestGlobe()
    +    TestRect3d()
    +    TestAutoOpaqueFlag()
    +    TestCustomColor()
    +
    +# Added to allow this test to be run with compression too.
    +# Another .py file sources this file with 'useCompression'
    +# defined.
    +if "useCompression" in dir():
    +    ra = GetRenderingAttributes()
    +    ra.compressionActivationMode = ra.Always
    +    SetRenderingAttributes(ra)
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_molecule.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_molecule.html new file mode 100644 index 000000000..1d6067634 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_molecule.html @@ -0,0 +1,123 @@ + +Results for plots/molecule.py + +

    Results of VisIt Regression Test - plots/molecule

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    molecule_010.000.00
    molecule_020.000.00
    molecule_030.000.00
    molecule_040.000.00
    molecule_050.000.00
    molecule_060.000.00
    molecule_070.000.00
    Replicate and CreateBonds operators with Molecule plot
    mol_rep_bonds_010.000.00
    mol_rep_bonds_020.000.00
    mol_rep_bonds_030.000.00
    mol_rep_bonds_040.000.00
    mol_rep_bonds_050.000.00
    mol_rep_bonds_060.000.00
    mol_rep_bonds_070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_molecule_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_molecule_py.html new file mode 100644 index 000000000..86cbf1bf0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_molecule_py.html @@ -0,0 +1,242 @@ +plots/molecule.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  molecule.py
    +#
    +#  Tests:      mesh      - 3D points
    +#              plots     - Molecule
    +#              operators - CreateBonds, Replicate
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 15, 2021 
    +#
    +#  Modifications:
    +#
    +#    Kathleen Biagas, Tue Jul 13 09:51:58 PDT 2021
    +#    Changed retrieval of renAtts from 'RenderingAttributes' to
    +#    'GetRenderingAttributes' when turning off specular highlighting. This
    +#    fixes a bug in scalable,parallel,icet mode where molecule_04 test would
    +#    fail to plot.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def SetGradientBackground():
    +    annot = GetAnnotationAttributes()
    +    annot.backgroundMode = annot.Gradient
    +    annot.gradientBackgroundStyle = annot.Radial
    +    annot.gradientColor1 = (102, 102, 153, 255)
    +    annot.gradientColor2 = (0, 0, 0, 255)
    +    annot.backgroundColor = (0, 0, 0, 255)
    +    annot.foregroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(annot)
    +
    +def SetWhiteBackground():
    +    annot = GetAnnotationAttributes()
    +    annot.backgroundMode = annot.Solid
    +    annot.foregroundColor = (0, 0, 0, 255)
    +    annot.backgroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(annot)
    +
    +def Test500x500(name):
    +    # Save these images somewhat larger than a regular test case image
    +    # to better see the molecules 
    +    backup = GetSaveWindowAttributes()
    +    swa = SaveWindowAttributes()
    +    swa.width = 500
    +    swa.height = 500
    +    swa.screenCapture = 1
    +    Test(name, swa)
    +    SetSaveWindowAttributes(backup)
    +
    +
    +def MoleculeOnly():
    +    # images similar to those in Molecule Plot docs
    +
    +    SetGradientBackground()
    +
    +    # add specular highlighting
    +    renAtts = GetRenderingAttributes()
    +    renAtts.specularFlag = 1
    +    SetRenderingAttributes(renAtts)
    +
    +    OpenDatabase(data_path("ProteinDataBank_test_data/crotamine.pdb"))
    +
    +    # color by element, Covalent radius, no bonds
    +    AddPlot("Molecule", "element")
    +    mol = MoleculeAttributes()
    +    mol.drawAtomsAs   = mol.SphereAtoms
    +    mol.scaleRadiusBy = mol.Covalent
    +    mol.drawBondsAs   = mol.NoBonds
    +    SetPlotOptions(mol)
    +
    +    DrawPlots()
    +
    +    v3d = GetView3D()
    +    v3d.viewNormal = (0.784142, -0.592494, -0.184587)
    +    v3d.viewUp = (-0.554863, -0.536159, -0.636129)
    +    v3d.imageZoom = 1.77156
    +    SetView3D(v3d)
    +
    +    Test500x500("molecule_01")
    +
    +    # color by residue, cylinder bonds, radius proportional to covalent radius
    +    ChangeActivePlotsVar("restype")
    +    mol.drawBondsAs = mol.CylinderBonds
    +    mol.radiusScaleFactor = 0.5
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    Test500x500("molecule_02")
    +
    +    # color by scalar (x-coord), no bonds
    +    DefineScalarExpression("x", "coord(mesh)[0]")
    +    ChangeActivePlotsVar("x")
    +    mol.drawAtomsAs = mol.NoAtoms
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    Test500x500("molecule_03")
    +
    +    # Create a blue-purple color table
    +    ccpl = ColorControlPointList()
    +    ccpl.discreteFlag=1
    +    ccpl.smoothing=ccpl.NONE
    +    ccpl.equalSpacingFlag=1
    +    p1 = ColorControlPoint()
    +    p1.colors = (51, 51, 153, 255)
    +    p1.position =  0
    +    ccpl.AddControlPoints(p1)
    +    p2 = ColorControlPoint()
    +    p2.colors = (204,153, 255, 255)
    +    p2.position =  1
    +    ccpl.AddControlPoints(p2)
    +    AddColorTable("BluePurp2", ccpl)
    +
    +    # color by backbone, atom and cylinder-bonds same fixed radius
    +    # special color table
    +    ChangeActivePlotsVar("backbone")
    +    mol.continuousColorTable="BluePurp2"
    +    mol.drawAtomsAs = mol.SphereAtoms
    +    mol.drawBondsAs = mol.CylinderBonds
    +    mol.scaleRadiusBy = mol.Fixed
    +    mol.radiusFixed = 0.2
    +    mol.bondRadius = 0.2
    +    SetPlotOptions(mol)
    +
    +    DrawPlots()
    +    # turn off specular highlighting
    +    renAtts = GetRenderingAttributes()
    +    renAtts.specularFlag = 0
    +    SetRenderingAttributes(renAtts)
    +    Test500x500("molecule_04")
    +
    +    DeleteAllPlots()
    +
    +    # ensure engine/viewer doesn't crash when using ImposterAtoms and scaleRadiusBy option is changed
    +    AddPlot("Molecule", "element")
    +    # get Fresh atts
    +    mol = MoleculeAttributes()
    +    # set up sphere imposters
    +    mol.drawAtomsAs = mol.ImposterAtoms
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    Test500x500("molecule_05")
    +    # now change scaleRadiusBy
    +    mol.scaleRadiusBy = mol.Covalent
    +    mol.radiusScaleFactor=4
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    Test500x500("molecule_06")
    +
    +    # changing radiusScaleFactor while using Imposter atoms used to crash the viewer
    +    mol.radiusScaleFactor=0.002
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    Test500x500("molecule_07")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("ProteinDataBank_test_data/crotamine.pdb"))
    +
    +def ReplicateAddBonds():
    +    TestSection("Replicate and CreateBonds operators with Molecule plot")
    +    SetWhiteBackground()
    +    OpenDatabase(data_path("vasp_test_data", "GaO40W12", "OUTCAR"))
    +    AddPlot("Mesh", "unitCell")
    +    AddPlot("Molecule", "element")
    +    mol = MoleculeAttributes()
    +    mol.radiusFixed=0.5
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    ResetView()
    +
    +    v3D = GetView3D()
    +    v3D.viewNormal = (0.0378647, -0.776117, -0.62945) #(-0.465303, -0.758273, 0.456634)
    +    v3D.viewUp = (0.839533, -0.366352, -0.401212) #(-0.0844518, 0.55156, 0.829849)
    +    v3D.imageZoom=2.177156
    +    v3D.imagePan=(0.0217552, 0.0165363)
    +    SetView3D(v3D)
    +
    +    Test500x500("mol_rep_bonds_01")
    +
    +    # Add replicate operator 
    +    SetActivePlots((0,1))
    +    AddOperator("Replicate", 1)
    +    repl = ReplicateAttributes()
    +    repl.useUnitCellVectors = 1
    +    repl.mergeResults = 1
    +    # replicate along unit cell boundaries
    +    repl.replicateUnitCellAtoms = 1
    +    SetOperatorOptions(repl, 0, 1)
    +    DrawPlots()
    +    Test500x500("mol_rep_bonds_02")
    +
    +    # create a replication along y
    +    repl.yReplications=2
    +    SetOperatorOptions(repl, 1, 1)
    +    DrawPlots()
    +
    +    Test500x500("mol_rep_bonds_03")
    +
    +    # Create bonds 
    +    SetActivePlots(1)
    +    AddOperator("CreateBonds")
    +    cb = CreateBondsAttributes()
    +    cb.atomicNumber1 = (31, 74)
    +    cb.atomicNumber2 = (8, 8)
    +    cb.minDist = (0.4, 0.4)
    +    cb.maxDist = (1.9, 2.4)
    +    SetOperatorOptions(cb)
    +    DrawPlots()
    +
    +    Test500x500("mol_rep_bonds_04")
    +
    +    # have the CreateBonds operator create periodic bonds
    +    cb.addPeriodicBonds = 1
    +    cb.useUnitCellVectors = 1
    +    SetOperatorOptions(cb)
    +    DrawPlots()
    +
    +    Test500x500("mol_rep_bonds_05")
    +
    +    # Change bond style to lines
    +    mol.drawBondsAs = mol.LineBonds
    +    mol.bondLineWidth = 5
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +
    +    Test500x500("mol_rep_bonds_06")
    +
    +    # Change atom radius
    +    mol.drawBondsAs = mol.CylinderBonds
    +    mol.scaleRadiusBy = mol.Atomic
    +    mol.radiusScaleFactor = 0.7
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +
    +    Test500x500("mol_rep_bonds_07")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vasp_test_data", "GaO40W12", "OUTCAR"))
    +
    +MoleculeOnly()
    +ReplicateAddBonds()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_multicolor.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_multicolor.html new file mode 100644 index 000000000..9649aa296 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_multicolor.html @@ -0,0 +1,207 @@ + +Results for plots/multicolor.py + +

    Results of VisIt Regression Test - plots/multicolor

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing setting of multiColor in Boundary plot
    multicolor_0_000.000.00
    multicolor_0_010.000.00
    multicolor_0_020 modifications totalling 0 lines
    multicolor_0_030.000.00
    multicolor_0_040 modifications totalling 0 lines
    multicolor_0_050.000.00
    multicolor_0_060 modifications totalling 0 lines
    Testing setting of multiColor in Contour plot
    multicolor_1_000.000.00
    multicolor_1_010.000.00
    multicolor_1_020 modifications totalling 0 lines
    multicolor_1_030.000.00
    multicolor_1_040 modifications totalling 0 lines
    multicolor_1_0599.9977.45
    multicolor_1_060 modifications totalling 0 lines
    Testing setting of multiColor in FilledBoundary plot
    multicolor_2_000.000.00
    multicolor_2_010.000.00
    multicolor_2_020 modifications totalling 0 lines
    multicolor_2_030.000.00
    multicolor_2_040 modifications totalling 0 lines
    multicolor_2_0587.1042.68
    multicolor_2_060 modifications totalling 0 lines
    Testing setting of multiColor in Subset plot
    multicolor_3_000.000.00
    multicolor_3_010.000.00
    multicolor_3_020 modifications totalling 0 lines
    multicolor_3_030.000.00
    multicolor_3_040 modifications totalling 0 lines
    multicolor_3_0599.1869.85
    multicolor_3_060 modifications totalling 0 lines
    Testing user defined colors for FilledBoundary
    multicolor_matcolors0.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_multicolor_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_multicolor_py.html new file mode 100644 index 000000000..0e3351ac3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_multicolor_py.html @@ -0,0 +1,229 @@ +plots/multicolor.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multicolor.py
    +#
    +#  Tests:      Tests setting colors using the multiColor field in some of
    +#              our plots.
    +#              Plots     - Boundary, Contour, FilledBoundary, Subset
    +#              Operators - Transform
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Apr 6 17:52:12 PST 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Thu Jul 13 22:41:56 PDT 2006
    +#    Added test of user-specified material colors
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +def TestColorDefinitions(testname, colors):
    +    s = ""
    +    for c in colors:
    +        s = s + str(c) + "\n"
    +    TestText(testname, s)
    +
    +def TestMultiColor(section, plotAtts, decreasingOpacity):
    +    # Get the current colors.
    +    m = plotAtts.GetMultiColor()
    +
    +    # Test what the image currently looks like.
    +    Test("multicolor_%d_00" % section)
    +
    +    # Change the colors all at once. We should have red->blue
    +    for i in range(len(m)):
    +        t = float(i) / float(len(m) - 1)
    +        c = int(t * 255.)
    +        m[i] = (255-c, 0, c, 255)
    +    plotAtts.SetMultiColor(m)
    +    SetPlotOptions(plotAtts)
    +    Test("multicolor_%d_01" % section)
    +    TestColorDefinitions("multicolor_%d_02" % section, plotAtts.GetMultiColor())
    +
    +    # Change the colors another way. We should get green to blue
    +    for i in range(len(m)):
    +        t = float(i) / float(len(m) - 1)
    +        c = int(t * 255.)
    +        plotAtts.SetMultiColor(i, 0, 255-c, c)
    +    SetPlotOptions(plotAtts)
    +    Test("multicolor_%d_03" % section)
    +    TestColorDefinitions("multicolor_%d_04" % section, plotAtts.GetMultiColor())
    +
    +    # Change the colors another way. We should get yellow to red but
    +    # the redder it gets, the more transparent it should also get.
    +    for i in range(len(m)):
    +        t = float(i) / float(len(m) - 1)
    +        c = int(t * 255.)
    +        if decreasingOpacity:
    +            plotAtts.SetMultiColor(i, (255, 255-c, 0, 255 - c))
    +        else:
    +            plotAtts.SetMultiColor(i, (255, 255-c, 0, c))
    +    SetPlotOptions(plotAtts)
    +    Test("multicolor_%d_05" % section)
    +    TestColorDefinitions("multicolor_%d_06" % section, plotAtts.GetMultiColor())
    +
    +def test1():
    +    TestSection("Testing setting of multiColor in Boundary plot")
    +    # Set up the plot
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Boundary", "mat1")
    +    b = BoundaryAttributes()
    +    b.lineWidth = 4
    +    DrawPlots()
    +
    +    # Test the plot
    +    TestMultiColor(0, b, 0)
    +
    +    # Delete the plots
    +    DeleteAllPlots()
    +
    +def test2():
    +    TestSection("Testing setting of multiColor in Contour plot")
    +    # Set up the plot
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Contour", "hardyglobal")
    +    c = ContourAttributes()
    +    c.contourNLevels = 20
    +    SetPlotOptions(c)
    +    DrawPlots()
    +
    +    # Set the view.
    +    v = GetView3D()
    +    v.viewNormal = (-0.400348, -0.676472, 0.618148)
    +    v.focus = (0,0,0)
    +    v.viewUp = (-0.916338, 0.300483, -0.264639)
    +    v.parallelScale = 17.3205
    +    v.imagePan = (0, 0.0397866)
    +    v.imageZoom = 1.07998
    +    SetView3D(v)
    +
    +    # Test the plot
    +    TestMultiColor(1, c, 0)
    +
    +    # Delete the plots
    +    DeleteAllPlots()
    +
    +def test3():
    +    TestSection("Testing setting of multiColor in FilledBoundary plot")
    +    # Set up the plots. First we want globe so we can see something inside
    +    # of the Subset plot to make sure that setting alpha works.
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "w")
    +    p = PseudocolorAttributes()
    +    p.legendFlag = 0
    +    p.colorTableName = "xray"
    +    SetPlotOptions(p)
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("FilledBoundary", "mat")
    +    f = FilledBoundaryAttributes()
    +    f.legendFlag = 0
    +    SetPlotOptions(f)
    +
    +    # Add an operator to globe to make it small.
    +    SetActivePlots(0)
    +    AddOperator("Transform", 0)
    +    t = TransformAttributes()
    +    t.doScale = 1
    +    t.scaleX, t.scaleY, t.scaleZ = 0.04, 0.04, 0.04
    +    t.doTranslate = 1
    +    t.translateX, t.translateY, t.translateZ = 0.5, 0.5, 0.5
    +    SetOperatorOptions(t)
    +    SetActivePlots(1)
    +    DrawPlots()
    +
    +    # Set the view.
    +    v = GetView3D()
    +    v.viewNormal = (-0.385083, -0.737931, -0.554229)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (-0.922871, 0.310902, 0.227267)
    +    v.parallelScale = 0.866025
    +    v.imagePan = (-0.0165315, 0.0489375)
    +    v.imageZoom = 1.13247
    +    SetView3D(v)
    +
    +    # Test the plot
    +    TestMultiColor(2, f, 1)
    +
    +    # Delete the plots
    +    DeleteAllPlots()
    +
    +def test4():
    +    TestSection("Testing setting of multiColor in Subset plot")
    +    # Set up the plots. First we want globe so we can see something inside
    +    # of the Subset plot to make sure that setting alpha works.
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "w")
    +    p = PseudocolorAttributes()
    +    p.legendFlag = 0
    +    p.colorTableName = "xray"
    +    SetPlotOptions(p)
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("Subset", "domains")
    +    s = SubsetAttributes()
    +    s.legendFlag = 0
    +    SetPlotOptions(s)
    +
    +    # Add an operator to globe to make it small.
    +    SetActivePlots(0)
    +    AddOperator("Transform", 0)
    +    t = TransformAttributes()
    +    t.doScale = 1
    +    t.scaleX, t.scaleY, t.scaleZ = 0.04, 0.04, 0.04
    +    t.doTranslate = 1
    +    t.translateX, t.translateY, t.translateZ = 0.5, 0.5, 0.5
    +    SetOperatorOptions(t)
    +    SetActivePlots(1)
    +    DrawPlots()
    +
    +    # Set the view.
    +    v = GetView3D()
    +    v.viewNormal = (-0.385083, -0.737931, -0.554229)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (-0.922871, 0.310902, 0.227267)
    +    v.parallelScale = 0.866025
    +    v.imagePan = (-0.0165315, 0.0489375)
    +    v.imageZoom = 1.13247
    +    SetView3D(v)
    +
    +    # Test the plot
    +    TestMultiColor(3, s, 1)
    +
    +    # Delete the plots
    +    DeleteAllPlots()
    +
    +def test5():
    +    TestSection("Testing user defined colors for FilledBoundary")
    +
    +    ResetView()
    +    OpenDatabase(silo_data_path("globe_matcolors.silo"))
    +
    +    AddPlot("FilledBoundary","mat1")
    +    AddOperator("Slice")
    +    DrawPlots()
    +
    +    Test("multicolor_matcolors")
    +
    +    DeleteAllPlots()
    +
    +def main():
    +    test1()
    +    test2()
    +    test3()
    +    test4()
    +    test5()
    +
    +# Run the tests
    +main()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_parcoords.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_parcoords.html new file mode 100644 index 000000000..8c3670c7a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_parcoords.html @@ -0,0 +1,129 @@ + +Results for plots/parcoords.py + +

    Results of VisIt Regression Test - plots/parcoords

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Test scalar collection sources
    parcoords_010.000.00
    parcoords_020.000.00
    parcoords_030.000.00
    parcoords_040.000.00
    parcoords_050.000.00
    parcoords_060.000.00
    Test array expression sources
    parcoords_070.000.00
    parcoords_080.000.00
    parcoords_090.000.00
    parcoords_100.000.00
    Test raw database array sources
    parcoords_110.000.00
    parcoords_120.000.00
    parcoords_130.000.00
    parcoords_140.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_parcoords_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_parcoords_py.html new file mode 100644 index 000000000..1bc836538 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_parcoords_py.html @@ -0,0 +1,196 @@ +plots/parcoords.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  parcoords.py
    +#
    +#  Tests:      Tests the parallel coordinates plot
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       January 31, 2008
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Mon Feb  4 16:11:21 EST 2008
    +#    Removed axis extents from plot attributes since they were unused.
    +#
    +#    Jeremy Meredith, Fri Feb  8 13:49:58 EST 2008
    +#    Added support for array variable expressions, raw database array
    +#    variables, clamping plot limits, and changing viewports.
    +#
    +#    Jeremy Meredith, Mon Feb 18 16:50:02 EST 2008
    +#    Renamed orderedAxisNames to scalarAxisNames.
    +#    Added setting of visualAxisNames in one of the places we create the plot
    +#    from a list of scalar.  This isn't strictly necessary, since the
    +#    plot can do this for us, but the GUI Wizard knows to do this, and so
    +#    setting visualAxisNames matches the GUI behavior more closely.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Mon Nov 22 11:12:28 PST 2010
    +#    Add tests that include the Threshold operator, which test whether or not
    +#    extents are maintained.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +#
    +# Trying out collections of scalars as a source
    +#
    +TestSection("Test scalar collection sources")
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +
    +# Set default plot variables
    +p = ParallelCoordinatesAttributes()
    +p.drawLines = 1
    +p.linesColor = (128, 0, 0, 255)
    +p.drawContext = 1
    +p.contextGamma = 2
    +p.contextNumPartitions = 512
    +p.contextColor = (0, 220, 0, 255)
    +p.drawLinesOnlyIfExtentsOn = 1
    +SetDefaultPlotOptions(p)
    +
    +# Set up a simple 3 variable parallel coordinates plot.
    +AddPlot("ParallelCoordinates", "hardyglobal")
    +p.scalarAxisNames = ("hardyglobal", "shepardglobal", "chromeVf")
    +p.visualAxisNames = p.scalarAxisNames # unnecessary, but strictly correct
    +p.extentMinima = (-1e+37, -1e+37, -1e+37)
    +p.extentMaxima = (+1e+37, +1e+37, +1e+37)
    +SetPlotOptions(p)
    +DrawPlots()
    +Test("parcoords_01")
    +
    +# Try setting some appearance-related attributes
    +p.contextGamma = 2.9
    +p.contextNumPartitions = 128
    +p.contextColor = (200, 0, 255, 255)
    +SetPlotOptions(p)
    +Test("parcoords_02")
    +
    +p.contextGamma = 2.9
    +p.contextNumPartitions = 32
    +p.contextColor = (200, 0, 255, 255)
    +p.drawLinesOnlyIfExtentsOn = 0
    +SetPlotOptions(p)
    +Test("parcoords_03")
    +
    +# Add an axis and make sure it works
    +p.scalarAxisNames = ("hardyglobal", "shepardglobal", "chromeVf", "radial")
    +p.visualAxisNames = () # test to make sure it works without setting this
    +p.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
    +p.extentMaxima = (+1e+37, +1e+37, +1e+37, +1e+37)
    +p.drawLinesOnlyIfExtentsOn = 1
    +SetPlotOptions(p)
    +Test("parcoords_04")
    +
    +# Make sure the extents work for limiting the lines
    +p.extentMinima = (5.7, -1e+37, -1e+37, -1e+37)
    +p.extentMaxima = (5.8, +1e+37, +1e+37, +1e+37)
    +SetPlotOptions(p)
    +Test("parcoords_05")
    +
    +# Try unifying the extents across all axes
    +p.unifyAxisExtents = 1
    +SetPlotOptions(p)
    +Test("parcoords_06")
    +
    +
    +#
    +# Trying out array variables as a source
    +#
    +TestSection("Test array expression sources")
    +
    +# Try an array variable
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("okc_test_data/astronomy.okc"))
    +
    +
    +DefineArrayExpression("arrayvar1",
    +                      "array_compose(d, b, b/2, b+l)")
    +DefineArrayExpression("arrayvar2",
    +                      "array_compose(d+200, l, l-2, b+l)")
    +DefineArrayExpression("arrayvar2wb",
    +                      "array_compose_with_bins(d+200, l, l-2, b+l, [0,1,4,15,20])")
    +
    +AddPlot("ParallelCoordinates", "arrayvar1")
    +p = ParallelCoordinatesAttributes()
    +p.contextColor = (100, 100, 255, 255)
    +p.contextNumPartitions = 32
    +SetPlotOptions(p)
    +DrawPlots()
    +Test("parcoords_07")
    +
    +# Try changing the array variable
    +ChangeActivePlotsVar("arrayvar2")
    +Test("parcoords_08")
    +
    +# Now change to one with bin-width defined axis x positions
    +ChangeActivePlotsVar("arrayvar2wb")
    +Test("parcoords_09")
    +
    +# Now clamp the axis array limits
    +p.unifyAxisExtents = 1
    +SetPlotOptions(p)
    +Test("parcoords_10")
    +
    +#
    +# Trying out raw database-generated array as a source
    +#
    +TestSection("Test raw database array sources")
    +
    +
    +# Now change to a raw database-generated array variable
    +ChangeActivePlotsVar("all_vars")
    +p.unifyAxisExtents = 0;
    +p.contextColor = (255,150,50,255)
    +SetPlotOptions(p)
    +
    +# Try changing the viewport so it looks a little more normal
    +v = GetViewAxisArray()
    +v.viewportCoords = (0.15,0.9, 0.3,0.7)
    +SetViewAxisArray(v)
    +Test("parcoords_11")
    +
    +# Now clamp the axis array limits again
    +p.unifyAxisExtents = 1
    +SetPlotOptions(p)
    +Test("parcoords_12")
    +
    +DeleteAllPlots()
    +ActivateDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("ParallelCoordinates", "hardyglobal")
    +p = ParallelCoordinatesAttributes()
    +p.scalarAxisNames = ("hardyglobal", "shepardglobal")
    +p.visualAxisNames = p.scalarAxisNames # unnecessary, but strictly correct
    +p.extentMinima = (-1e+37, -1e+37)
    +p.extentMaxima = (+1e+37, +1e+37)
    +p.drawFocusAs = p.IndividualLines
    +p.drawContext = 0
    +p.drawLinesOnlyIfExtentsOn = 0
    +SetPlotOptions(p)
    +DefineScalarExpression("zoneid", "zoneid(Mesh)")
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.listedVarNames = ("zoneid")
    +t.zonePortions = (1)
    +t.lowerBounds = (100000.5)
    +t.upperBounds = (100001.5)
    +t.defaultVarName = "hardyglobal"
    +t.defaultVarIsScalar = 1
    +SetOperatorOptions(t)
    +DrawPlots()
    +ResetView()
    +Test("parcoords_13")
    +
    +# Now have multiple cells
    +t.upperBounds = (100005.5)
    +SetOperatorOptions(t)
    +Test("parcoords_14")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_pseudocolor.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_pseudocolor.html new file mode 100644 index 000000000..a9f823ec9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_pseudocolor.html @@ -0,0 +1,431 @@ + +Results for plots/pseudocolor.py + +

    Results of VisIt Regression Test - plots/pseudocolor

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pseudocolor_010.000.00
    pseudocolor_domain_bounds_010.000.00
    pseudocolor_domain_bounds_0299.9925.05
    pseudocolor_domain_bounds_030.000.00
    Point Glyphing: Topological dimension not set to 0
    pseudocolor_point_glyphs_010.000.00
    pseudocolor_point_glyphs_020.000.00
    pseudocolor_point_glyphs_030.000.00
    pseudocolor_point_glyphs_040.000.00
    pseudocolor_point_glyphs_050.000.00
    pseudocolor_point_glyphs_060.000.00
    Point Glyphing: Lighting
    pseudocolor_point_glyphs_070.000.00
    pseudocolor_point_glyphs_080.000.00
    Point Glyphing: Changing Opacity
    pseudocolor_point_glyphs_090.000.00
    pseudocolor_point_glyphs_100.000.00
    Unstructured grid, cell-centered data, poly-vertex cells
    pseudocolor_point_glyphs_110.000.00
    pseudocolor_point_glyphs_120.000.00
    pseudocolor_point_glyphs_130.000.00
    scaling point glyphs by variable
    pseudocolor_point_glyphs_140.000.00
    pseudocolor_point_glyphs_150.000.00
    pseudocolor_point_glyphs_160.000.00
    pseudocolor_point_glyphs_170.000.00
    ugrid, vertex and poly vertex, line and polyline
    pseudocolor_mixed_cells_010.000.00
    pseudocolor_mixed_cells_020.000.00
    pseudocolor_mixed_cells_030.000.00
    pseudocolor_mixed_cells_040.000.00
    pseudocolor_mixed_cells_050.000.00
    Line Tubes
    pseudocolor_line_tube_010.000.00
    pseudocolor_line_tube_020.000.00
    pseudocolor_line_tube_030.000.00
    pseudocolor_line_tube_040.000.00
    pseudocolor_line_tube_050.000.00
    pseudocolor_line_tube_060.000.00
    pseudocolor_line_tube_070.000.00
    pseudocolor_line_tube_080.000.00
    pseudocolor_line_tube_090.000.00
    Line Ribbons
    pseudocolor_line_ribbon_010.000.00
    pseudocolor_line_ribbon_020.000.00
    pseudocolor_line_ribbon_030.000.00
    pseudocolor_line_ribbon_040.000.00
    pseudocolor_line_ribbon_050.000.00
    pseudocolor_line_ribbon_060.000.00
    line endpoints
    pseudocolor_line_endpoints_010.000.00
    pseudocolor_line_endpoints_020.000.00
    pseudocolor_line_endpoints_030.000.00
    pseudocolor_line_endpoints_040.000.00
    pseudocolor_line_endpoints_050.000.00
    pseudocolor_line_endpoints_060.000.00
    pseudocolor_line_endpoints_070.000.00
    pseudocolor_line_endpoints_080.000.00
    pseudocolor_line_endpoints_090.000.00
    pseudocolor_line_endpoints_100.000.00
    Object rendering options
    pseudocolor_rendering_options_010.000.00
    pseudocolor_rendering_options_020.000.00
    pseudocolor_rendering_options_030.000.00
    pseudocolor_rendering_options_040.000.00
    pseudocolor_rendering_options_050.000.00
    pseudocolor_rendering_options_060.000.00
    pseudocolor_rendering_options_070.000.00
    pseudocolor_rendering_options_080.000.00
    External Surface
    pseudocolor_external_surface0.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_pseudocolor_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_pseudocolor_py.html new file mode 100644 index 000000000..d14a5aeb4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_pseudocolor_py.html @@ -0,0 +1,556 @@ +plots/pseudocolor.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case: pseudocolor.py 
    +#
    +#  Tests:      meshes    - 2D rectilinear, 3D curvilinear. 
    +#              plots     - pseudocolor 
    +#
    +#  Defect ID:  '1016, '987
    +#
    +#  Programmer: Kevin Griffin
    +#  Date:       March 19, 2015
    +#
    +#  Modifications:
    +#
    +#    Kevin Griffin, Thu Mar 19 12:00:23 PDT 2015
    +#    Add test for drawing pseudocolor plot using a log scaling
    +#    and very small min value.
    +#
    +#    Alister Maguire, Wed Jul 17 08:24:37 PDT 2019
    +#    Wrapped the first test in a function and added 
    +#    TestDomainBoundaries. 
    +#
    +#    Kathleen Biagas, Wed Nov  6 18:29:29 PST 2019
    +#    Add new tests: PointGlyphing MixedTopology Lines ObjectRenderingOptions
    +#
    +#    Kevin Griffin, Tue Aug  4 11:31:09 PDT 2020
    +#    Added ExternalSurface test
    +#
    +# ----------------------------------------------------------------------------
    +
    +import itertools
    +
    +def TestScale():
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +
    +    pc = PseudocolorAttributes()
    +    pc.minFlag = 1
    +    pc.min = 1e-5
    +    pc.maxFlag = 1
    +    pc.max = 1
    +    pc.centering = pc.Nodal
    +    pc.scaling = pc.Log
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +
    +    Test("pseudocolor_01")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("rect2d.silo"))
    +
    +def TestDomainBoundaries():
    +    #
    +    # First, let's remove some domains and make sure that the 
    +    # faces are rendered. 
    +    #
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    silr = SILRestriction()
    +    silr.SuspendCorrectnessChecking()
    +    silr.TurnOnAll()
    +    for silSet in (41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,61,
    +                   62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,
    +                   82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,
    +                   102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,
    +                   118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,
    +                   133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,
    +                   148,149,150,151,152,153,154,236,237,238,239,240,241,242,243,
    +                   244):
    +        silr.TurnOffSet(silSet)
    +    silr.EnableCorrectnessChecking()
    +    SetPlotSILRestriction(silr ,1)
    +
    +    Test("pseudocolor_domain_bounds_01")
    +
    +    #
    +    # Next, we need to make sure that the processer boundaries are not
    +    # rendered when we enable transparency. 
    +    #
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.883086, 0.11282, 0.455446)
    +    View3DAtts.focus = (0, 2.5, 10)
    +    View3DAtts.viewUp = (-0.0918142, 0.993447, -0.068068)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 11.4564
    +    View3DAtts.nearPlane = -22.9129
    +    View3DAtts.farPlane = 22.9129
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, 2.5, 10)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +    silr = SILRestriction()
    +    silr.SuspendCorrectnessChecking()
    +    silr.TurnOnAll()
    +    for silSet in (41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,61,
    +                   62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,
    +                   82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,
    +                   102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,
    +                   118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,
    +                   133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,
    +                   148,149,150,151,152,153,154):
    +        silr.TurnOffSet(silSet)
    +    silr.EnableCorrectnessChecking()
    +    SetPlotSILRestriction(silr ,1)
    +
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.opacityType = PseudocolorAtts.Constant
    +    PseudocolorAtts.opacity = 0.462745
    +    SetPlotOptions(PseudocolorAtts)
    +
    +    Test("pseudocolor_domain_bounds_02")
    +
    +    #
    +    # Now let's make sure that the ghost/face removal has been 
    +    # reversed back to its original order when we turn transparency
    +    # back off. 
    +    #
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
    +    SetPlotOptions(PseudocolorAtts)
    +
    +    silr = SILRestriction()
    +    silr.SuspendCorrectnessChecking()
    +    silr.TurnOnAll()
    +    for silSet in (41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,61,
    +                   62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,
    +                   82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,
    +                   102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,
    +                   118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,
    +                   133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,
    +                   148,149,150,151,152,153,154,236,237,238,239,240,241,242,243,
    +                   244):
    +        silr.TurnOffSet(silSet)
    +    silr.EnableCorrectnessChecking()
    +    SetPlotSILRestriction(silr ,1)
    +
    +    Test("pseudocolor_domain_bounds_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +def PointGlyphing():
    +    # github issue 3390
    +    TestSection("Point Glyphing: Topological dimension not set to 0")
    +    idx = itertools.count(1)
    +    # Reader not reporting topodim 0
    +    OpenDatabase(data_path("blueprint_v0.3.1_test_data/braid_2d_examples.blueprint_root_hdf5"))
    +    AddPlot("Pseudocolor", "points_mesh/braid")
    +    DrawPlots()
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    # glyph the points with Tets
    +    pc = PseudocolorAttributes()
    +    pc.pointType = pc.Tetrahedron
    +    pc.pointSize = 0.5
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    # transition back to point
    +    pc.pointType = pc.Point
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    # glyph the points with Sphere 
    +    pc.pointType = pc.Sphere
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("blueprint_v0.3.1_test_data/braid_2d_examples.blueprint_root_hdf5"))
    +
    +    OpenDatabase(data_path("synergia_test_data/vis_particles_* database"), 0, "Vs")
    +    AddPlot("Pseudocolor", "particles_0")
    +    pc.pointType = pc.Tetrahedron
    +    pc.pointSize = 0.005
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.882869, -0.011028, 0.469489)
    +    v.focus = (-0.000169306, 0.000401067, -0.00167359)
    +    v.viewUp = (-0.118292, 0.972711, -0.199599)
    +    v.imageZoom = 1.77
    +    SetView3D(v);
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    # PsersistentParticles sets the topological dimension incorrectly,
    +    # but the points should still be glyphable
    +    AddOperator("PersistentParticles")
    +    pp = PersistentParticlesAttributes()
    +    pp.connectParticles = 0
    +    SetOperatorOptions(pp)
    +    DrawPlots()
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("synergia_test_data/vis_particles_* database"))
    +
    +    TestSection("Point Glyphing: Lighting")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Pseudocolor", "PointVar")
    +    pc.pointType = pc.Icosahedron
    +    pc.pointSize = 3
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0.272848, 0.209847, 0.938892)
    +    v.focus = (-0.0242615, -0.170417, -0.0304632)
    +    v.viewUp = (0.134518, 0.958013, -0.253212)
    +    v.imageZoom=1.5
    +    SetView3D(v)
    +    # standard lighting
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    # turn off lighting, points should still be glyphed
    +    pc.lightingFlag = 0
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    pc.lightingFlag = 1
    +
    +    # github issue 1461, 1800
    +    TestSection("Point Glyphing: Changing Opacity")
    +    pc.opacityType = pc.Constant
    +    pc.opacity = 0.25
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    # change glyph type while transparent
    +    pc.pointType = pc.Box
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    pc.opacityType = pc.FullyOpaque
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("noise.silo"))
    +
    +    TestSection("Unstructured grid, cell-centered data, poly-vertex cells")
    +    OpenDatabase(data_path("vtk_test_data/ugrid_polyvertex_points.vtk"))
    +    AddPlot("Pseudocolor", "foo_cells")
    +    DrawPlots()
    +    v2 = GetView2D()
    +    v2.windowCoords = (-0.945, 9.945, -0.945, 9.945)
    +    SetView2D(v2)
    +    pc.pointType = pc.Axis
    +    pc.pointSize = 0.6
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    pc.pointType = pc.Box
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    ChangeActivePlotsVar("u")
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    TestSection("scaling point glyphs by variable")
    +    pc.pointSizeVarEnabled = 1
    +    pc.pointSize = 0.1
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    pc.pointSizeVar = "foo_cells"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    ChangeActivePlotsVar("foo_cells")
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    pc.pointSizeVar = "u"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/ugrid_polyvertex_points.vtk"))
    +
    +
    +def MixedTopology():
    +    TestSection("ugrid, vertex and poly vertex, line and polyline")
    +    OpenDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +    AddPlot("Pseudocolor","foo_cells")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "rainbow"
    +    pc.invertColorTable = 1
    +    pc.lineWidth = 2
    +    pc.pointSizePixels = 10
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.195485, 0.629643, 0.751888)
    +    v.focus = (1.5, 0.5, 0.5)
    +    v.viewUp = (0.158378, 0.776885, -0.609398)
    +    SetView3D(v)
    +
    +    idx = itertools.count(1)
    +    Test("pseudocolor_mixed_cells_%02d"%next(idx))
    +
    +    pc.pointType = pc.Tetrahedron
    +    pc.pointSize = 0.4
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_mixed_cells_%02d"%next(idx))
    +
    +    pc.lineType = pc.Tube
    +    pc.tubeRadiusBBox = 0.05
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_mixed_cells_%02d"%next(idx))
    +
    +    pc.tubeRadiusSizeType = pc.Absolute
    +    pc.tubeRadiusAbsolute = 0.125
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_mixed_cells_%02d"%next(idx))
    +
    +    pc.tubeRadiusSizeType = pc.FractionOfBBox
    +    pc.tailStyle = pc.Spheres
    +    pc.headStyle = pc.Cones
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_mixed_cells_%02d"%next(idx))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +
    +def DoLines(ltype):
    +    pc = PseudocolorAttributes()
    +    idx =  itertools.count(1)
    +    if ltype == "tube":
    +        TestSection("Line Tubes")
    +        pc.lineType = pc.Tube
    +    else:
    +        TestSection("Line Ribbons")
    +        pc.lineType = pc.Ribbon
    +
    +    pc.tubeRadiusSizeType = pc.FractionOfBBox
    +    pc.tubeRadiusBBox = 0.2
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    if ltype == "tube":
    +        # test tube resolution
    +        pc.tubeResolution = 3
    +        SetPlotOptions(pc)
    +        Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +        pc.tubeResolution = 4
    +        SetPlotOptions(pc)
    +        Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +        pc.tubeResolution = 20
    +        SetPlotOptions(pc)
    +        Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    pc.tubeRadiusSizeType = pc.Absolute
    +    pc.tubeRadiusAbsolute = 0.6
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    pc.tubeRadiusVarEnabled = 1
    +    pc.tubeRadiusVar = "var2"
    +    pc.tubeRadiusVarRatio = 2
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    pc.tubeRadiusVar = "var1"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    ChangeActivePlotsVar("var1")
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    pc.tubeRadiusVar = "var2"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +def DoEndpoints():
    +    TestSection("line endpoints")
    +    ChangeActivePlotsVar("var2")
    +    idx = itertools.count(1)
    +    pc = PseudocolorAttributes()
    +    pc.lineType = pc.Tube
    +    pc.tubeRadiusSizeType = pc.Absolute
    +    pc.tubeRadiusAbsolute = 0.1
    +    pc.tailStyle = pc.Spheres
    +    pc.headStyle = pc.Cones
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRadiusSizeType = pc.Absolute
    +    pc.endPointRadiusAbsolute = 0.5
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointResolution = 3
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointResolution = 20
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRadiusVarEnabled = 1
    +    pc.endPointRadiusVar = "var2"
    +    pc.endPointRadiusVarRatio = 2
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRadiusVar = "var1"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    ChangeActivePlotsVar("var2")
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRadiusVar = "var2"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRatio = 1
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRatio = 10
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +
    +def Lines():
    +    OpenDatabase(data_path("vtk_test_data/lines.vtk"))
    +    AddPlot("Pseudocolor", "var2")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0.508199, 0.390103, 0.767824)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.065159, 0.906394, -0.417379)
    +    v.imageZoom = 1.4641
    +    SetView3D(v)
    +
    +    DoLines("tube")
    +    DoLines("ribbon")
    +    DoEndpoints()
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/lines.vtk"))
    +
    +
    +def ObjectRenderingOptions():
    +    TestSection("Object rendering options")
    +    idx = itertools.count(1)
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +    AddPlot("Pseudocolor", "p")
    +    DrawPlots()
    +
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0.30955, 0.438716, 0.843627)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.00113002, 0.887033, -0.461704)
    +    SetView3D(v)
    +
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc = PseudocolorAttributes()
    +    pc.renderWireframe = 1
    +    pc.wireframeColor = (255, 0, 0)
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.renderPoints = 1
    +    pc.pointColor = (255, 255, 0)
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.renderSurfaces = 0
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.renderPoints = 0
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.renderWireframe = 0
    +    pc.renderPoints = 1
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.pointType = pc.Sphere
    +    pc.pointSize = 0.02
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.renderSurfaces = 1
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("rect3d.silo"))
    +
    +def ExternalSurface():
    +    TestSection("External Surface")
    +    OpenDatabase(data_path("external_surface_test_data/data.nv0_step00000.root"))
    +
    +    DefineScalarExpression("dUdy", "gradient(UVelC)[1]")
    +
    +    AddPlot("Pseudocolor", "UVelC")
    +
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.centering = PseudocolorAtts.Nodal  # Natural, Nodal, Zonal
    +    SetPlotOptions(PseudocolorAtts)
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.90786, 0.176706, 0.380217)
    +    View3DAtts.focus = (3.14159, 0, 1.5708)
    +    View3DAtts.viewUp = (-0.166194, 0.98423, -0.0605927)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 3.65199
    +    View3DAtts.nearPlane = -7.30397
    +    View3DAtts.farPlane = 7.30397
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (3.14159, 0, 1.5708)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +    ChangeActivePlotsVar("dUdy")
    +    Test("pseudocolor_external_surface")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("external_surface_test_data/data.nv0_step00000.root"))
    +
    +def Main():
    +    TestScale()
    +    TestDomainBoundaries()
    +    PointGlyphing()
    +    MixedTopology()
    +    Lines()
    +    ObjectRenderingOptions()
    +    ExternalSurface()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_ray_trace.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_ray_trace.html new file mode 100644 index 000000000..ca530d112 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_ray_trace.html @@ -0,0 +1,112 @@ + +Results for plots/ray_trace.py + +

    Results of VisIt Regression Test - plots/ray_trace

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ray_trace_010.000.00
    ray_trace_01_pan0.000.00
    ray_trace_020.000.00
    ray_trace_030.000.00
    ray_trace_040.000.00
    ray_trace_050.000.00
    ray_trace_05_pan0.000.00
    ray_trace_061.630.13
    ray_trace_073.040.77
    ray_trace_080.000.00
    ray_trace_090.000.00
    ray_trace_100.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_ray_trace_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_ray_trace_py.html new file mode 100644 index 000000000..0ab6e3ef4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_ray_trace_py.html @@ -0,0 +1,220 @@ +plots/ray_trace.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ray_trace.py
    +#
    +#  Tests:      ray tracing with the volume plot
    +#
    +#  Defect ID:  '1949, '5699, '6916
    +#
    +#  Programmer: Hank Childs
    +#  Date:       December 3, 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Dec 15 09:36:51 PDT 2004
    +#    I changed the flag that's used to make it do software rendering.
    +#
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Hank Childs, Fri Mar  3 09:09:04 PST 2006
    +#    Add testing for ray-tracing in multiple windows.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Fri Nov 18 08:51:58 PST 2011
    +#    Add regression tests for panning while ray tracing.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def test1(a):
    +    #
    +    # Start off by testing that we can bring up a normal volume plot and smooth
    +    # the data.  Also test that it can interact with the bounding box correctly.
    +    # 
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Volume", "d")
    +    vol_atts = VolumeAttributes()
    +    vol_atts.rendererType = vol_atts.RayCasting
    +    vol_atts.smoothData = 1
    +    SetPlotOptions(vol_atts)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.369824, 0.535308, 0.759391)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (-0.022009, 0.812062, -0.583155)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Test("ray_trace_01")
    +
    +    v.imagePan = (0.1, -0.1)
    +    SetView3D(v)
    +    Test("ray_trace_01_pan")
    +    v.imagePan = (0, 0)
    +    SetView3D(v)
    +
    +    #
    +    # Now test that it can play with other plots.
    +    #
    +    AddPlot("Pseudocolor", "d")
    +    pc_atts = PseudocolorAttributes()
    +    pc_atts.colorTableName = "gray"
    +    SetPlotOptions(pc_atts)
    +    AddOperator("Slice")
    +    slice_atts = SliceAttributes()
    +    slice_atts.originPercent = 90
    +    slice_atts.axisType = slice_atts.ZAxis
    +    slice_atts.originType = slice_atts.Percent
    +    slice_atts.project2d = 0
    +    SetOperatorOptions(slice_atts)
    +    DrawPlots()
    +
    +    Test("ray_trace_02")
    +
    +    #
    +    # Test that it can play well with other plots when doin orthographic 
    +    # projection.
    +    #
    +    v.perspective = 0
    +    SetView3D(v)
    +
    +    Test("ray_trace_03")
    +
    +    #
    +    # Now test that we handle it well when the near and far clipping planes
    +    # intersect the dataset.
    +    #
    +    v.perspective = 1
    +    v.nearPlane = -0.5
    +    v.farPlane = 0.5
    +    SetView3D(v)
    +
    +    Test("ray_trace_04")
    +
    +    DeleteAllPlots()
    +
    +def test2(a):
    +    #
    +    # Test that we can do curvilinear/unstructured meshes, which do an entirely
    +    # different sort of sampling.
    +    #
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Volume", "d")
    +    vol_atts = VolumeAttributes()
    +    vol_atts.rendererType = vol_atts.RayCasting
    +    vol_atts.smoothData = 0
    +    SetPlotOptions(vol_atts)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.369824, 0.535308, 0.759391)
    +    v.viewUp = (-0.022009, 0.812062, -0.583155)
    +    SetView3D(v)
    +
    +    Test("ray_trace_05")
    +
    +    v.imagePan = (0.1, -0.1)
    +    SetView3D(v)
    +    Test("ray_trace_05_pan")
    +    v.imagePan = (0, 0)
    +    SetView3D(v)
    +
    +    DeleteAllPlots()
    +
    +def test3(a):
    +    #
    +    # Test a multi-block rectilinear problem with ghost zones.  Use an AMR problem,
    +    # because that will test the best if we are removing ghost zones correctly
    +    # (ghost zone values in AMR meshes don't necessarily agree with the values of
    +    #  the zones that refine them).
    +    #
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    AddPlot("Volume", "Primitive Var _number_0")
    +    vol_atts = VolumeAttributes()
    +    vol_atts.rendererType = vol_atts.RayCasting
    +    vol_atts.smoothData = 0
    +    vol_atts.useColorVarMin = 1
    +    vol_atts.colorVarMin = 22
    +    SetPlotOptions(vol_atts)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.369824, 0.535308, 0.759391)
    +    v.viewUp = (-0.022009, 0.812062, -0.583155)
    +    SetView3D(v)
    +
    +    Test("ray_trace_06")
    +
    +    #
    +    # Now do it again for another timestep.
    +    #
    +    SetTimeSliderState(7)
    +    Test("ray_trace_07")
    +
    +    # 
    +    # Now go to window #2 and do some more raytracing.
    +    #
    +    AddWindow()
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    SetAnnotationAttributes(a)
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Volume", "d")
    +    vol_atts = VolumeAttributes()
    +    vol_atts.rendererType = vol_atts.RayCasting
    +    SetPlotOptions(vol_atts)
    +    DrawPlots()
    +    Test("ray_trace_08")
    +
    +    #
    +    # There was a bug where adding a new plot with a different variable
    +    # would cause the ray tracing to fail.  Test that the fix still works.
    +    #
    +    AddPlot("Contour", "u")
    +    DrawPlots()
    +    Test("ray_trace_09")
    +
    +    # And make sure everything is okay in window #1.
    +    SetActiveWindow(1)
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    Test("ray_trace_10")
    +
    +def main():
    +    # Turn off all annotation
    +    a = AnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +
    +    # Turn bbox on.  This tests:
    +    # - interaction with geometry
    +    # - that image based plots still get added to the vis window, causing a 
    +    #   bounding box to get generated.
    +    a.axes3D.bboxFlag = 1
    +    SetAnnotationAttributes(a)
    +
    +    test1(a)
    +    test2(a)
    +    test3(a)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_scatter.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_scatter.html new file mode 100644 index 000000000..64b27a196 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_scatter.html @@ -0,0 +1,209 @@ + +Results for plots/scatter.py + +

    Results of VisIt Regression Test - plots/scatter

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Test plot options
    scatter_000.000.00
    scatter_010.000.00
    scatter_020.000.00
    scatter_030.000.00
    scatter_040.000.00
    scatter_050.000.00
    scatter_060.000.00
    scatter_070.000.00
    scatter_080.000.00
    scatter_090.000.00
    scatter_100.000.00
    scatter_110.000.00
    scatter_120.000.00
    scatter_130.000.00
    scatter_140.000.00
    scatter_150.000.00
    scatter_160.000.00
    Multiblock and scale to cube
    scatter_170.000.00
    scatter_180.000.00
    scatter_190.000.00
    scatter_200.000.00
    Set min and max values, make sure colors and extents are right
    scatter_210.740.01
    scatter_220.000.00
    scatter_230.000.00
    scatter_240.000.00
    scatter_250.000.00
    scatter_260.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_scatter_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_scatter_py.html new file mode 100644 index 000000000..ea5355b8b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_scatter_py.html @@ -0,0 +1,343 @@ +plots/scatter.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scatter.py 
    +#
    +#  Tests:      Tests the scatter plot
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Dec 14 16:58:04 PST 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Mon Jul 18 17:19:04 PST 2005
    +#    Added tests for multiblock data and "scale to cube" that make sure that
    +#    the extents are gotten correctly beforehand. If the extents are not
    +#    gathered beforehand for a multi-block dataset when "scale to cube" is
    +#    on then each domain will use its local extents to map its values to
    +#    a cube and none of the cubes from the different domains will match,
    +#    causing an incorrect picture.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +# Set up some annotation settings.
    +a = AnnotationAttributes()
    +a.backgroundColor = (0,0,0,255)
    +a.foregroundColor = (255,255,255,255)
    +TurnOffAllAnnotations(a)
    +
    +TestSection("Test plot options")
    +
    +#
    +# Set up a simple 2 variable scatter plot.
    +#
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Scatter", "hardyglobal")
    +s = ScatterAttributes()
    +s.var2 = "shepardglobal"
    +s.scaleCube = 0
    +SetPlotOptions(s)
    +DrawPlots()
    +Test("scatter_00")
    +
    +v0 = GetView2D()
    +
    +
    +#
    +# Try setting x min and max
    +#
    +s.var1MinFlag = 1
    +s.var1MaxFlag = 1
    +s.var1Min = 2
    +s.var1Max = 4
    +SetPlotOptions(s)
    +SetView2D(v0)
    +Test("scatter_01")
    +
    +#
    +# Try setting some scaling options for x
    +#
    +s.var1MinFlag = 0
    +s.var1MaxFlag = 0
    +s.var1Scaling = s.Log
    +s.scaleCube = 1
    +SetPlotOptions(s)
    +ResetView()
    +v1 = GetView2D()
    +Test("scatter_02")
    +
    +s.var1Scaling = s.Skew
    +s.var1SkewFactor = 10
    +SetPlotOptions(s)
    +Test("scatter_03")
    +s.var1SkewFactor = 0.01
    +SetPlotOptions(s)
    +Test("scatter_04")
    +
    +#
    +# Add a 3rd dimension
    +#
    +s.var1Scaling = s.Linear
    +s.var3 = "radial"
    +s.var3Role = s.Coordinate2
    +SetPlotOptions(s)
    +v2 = View3DAttributes()
    +v2.viewNormal = (-0.70917, 0.324761, 0.625787)
    +v2.focus = (0.5, 0.5, 0.5)
    +v2.viewUp = (0.218647, 0.945137, -0.242712)
    +v2.viewAngle = 30
    +v2.parallelScale = 0.866025
    +v2.nearPlane = -1.73205
    +v2.farPlane = 1.73205
    +v2.imagePan = (0.00504899, 0.0411036)
    +v2.imageZoom = 1.44477
    +v2.perspective = 1
    +v2.eyeAngle = 2
    +SetView3D(v2)
    +Test("scatter_05")
    +
    +#
    +# Add a color dimension
    +#
    +s.var4 = "default"
    +s.var4Role = s.Color
    +SetPlotOptions(s)
    +Test("scatter_06")
    +
    +
    +#
    +# Try the min, max for the color
    +#
    +s.var4MinFlag = 1
    +s.var4Min = 2.5
    +SetPlotOptions(s)
    +Test("scatter_07")
    +
    +s.var4MinFlag = 0
    +s.var4MaxFlag = 1
    +s.var4Max = 3.4
    +SetPlotOptions(s)
    +Test("scatter_08")
    +
    +#
    +# Try scaling the color
    +#
    +s.var4MinFlag = 0
    +s.var4MaxFlag = 0
    +s.var4Scaling = s.Log
    +SetPlotOptions(s)
    +Test("scatter_09")
    +
    +s.var4Scaling = s.Skew
    +s.var4SkewFactor = 10
    +SetPlotOptions(s)
    +Test("scatter_10")
    +
    +s.var4SkewFactor = 0.01
    +SetPlotOptions(s)
    +Test("scatter_11")
    +
    +
    +#
    +# Try changing color variables
    +#
    +s.var4Scaling = s.Linear
    +s.var4 = "chromeVf"
    +SetPlotOptions(s)
    +Test("scatter_12")
    +
    +
    +#
    +# Try changing roles of color and Z.
    +#
    +s.var4Role = s.Coordinate2
    +s.var3Role = s.Color
    +SetPlotOptions(s)
    +Test("scatter_13")
    +
    +#
    +# Change the roles back and change the color table.
    +#
    +s.var4Role = s.Color
    +s.var3Role = s.Coordinate2
    +s.var4 = "hardyglobal"
    +s.colorTableName = "gray"
    +SetPlotOptions(s)
    +Test("scatter_14")
    +
    +#
    +# Make it use a single color
    +#
    +s.var4Role = s.NONE
    +s.colorType = 1
    +s.singleColor = (0,255,0,255)
    +SetPlotOptions(s)
    +Test("scatter_15")
    +
    +#
    +# Turn off the legend
    +#
    +s.legendFlag = 0
    +SetPlotOptions(s)
    +Test("scatter_16")
    +DeleteActivePlots()
    +
    +#
    +# Try a Scatter plot with multi-block data
    +#
    +TestSection("Multiblock and scale to cube")
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +AddPlot("Scatter", "d")
    +s = ScatterAttributes()
    +s.var2 = "u"
    +s.var2Role = s.Coordinate1
    +s.var3 = "v"
    +s.var3Role = s.Coordinate2
    +s.var4 = "u"
    +s.var4Role = s.Color
    +s.scaleCube = 1
    +s.pointSize = 0.01
    +s.pointType = s.Box
    +SetPlotOptions(s)
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.482571, 0.41728, 0.770066)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.269481, 0.907303, -0.322772)
    +v.viewAngle = 30
    +v.parallelScale = 0.864825
    +v.nearPlane = -1.72965
    +v.farPlane = 1.72965
    +v.imagePan = (0.0547107, 0.0441637)
    +v.imageZoom = 1.08726
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.5, 0.5, 0.5)
    +SetView3D(v)
    +Test("scatter_17")
    +
    +# Try different scalings.
    +s.var1Scaling = s.Log
    +SetPlotOptions(s)
    +Test("scatter_18")
    +
    +s.var1Scaling = s.Skew
    +s.var1SkewFactor = 50.
    +SetPlotOptions(s)
    +Test("scatter_19")
    +DeleteActivePlots()
    +
    +#
    +# Do different variables.
    +#
    +DefineScalarExpression("xc", "coord(mesh1)[0]")
    +DefineScalarExpression("yc", "coord(mesh1)[1]")
    +DefineScalarExpression("zc", "coord(mesh1)[2]")
    +DefineScalarExpression("uvw_prod", "u*v*w")
    +AddPlot("Scatter", "xc")
    +s = ScatterAttributes()
    +s.var2 = "yc"
    +s.var2Role = s.Coordinate1
    +s.var3 = "zc"
    +s.var3Role = s.Coordinate2
    +s.var4 = "uvw_prod"
    +s.var4Role = s.Color
    +s.scaleCube = 1
    +s.pointSize = 0.01
    +s.pointType = s.Box
    +SetPlotOptions(s)
    +DrawPlots()
    +
    +v.viewNormal = (0.799291, 0.383343, 0.462798)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.325714, 0.92354, -0.202447)
    +v.viewAngle = 30
    +v.parallelScale = 0.866025
    +v.nearPlane = -1.73205
    +v.farPlane = 1.73205
    +v.imagePan = (0.000204097, 0.0398577)
    +v.imageZoom = 1.07422
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.5, 0.5, 0.5)
    +SetView3D(v)
    +Test("scatter_20")
    +DeleteActivePlots()
    +
    +#
    +# Set min/max values in X,Y,Z and make sure that the points are the right
    +# color and the extents are right.
    +#
    +TestSection("Set min and max values, make sure colors and extents are right")
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Scatter", "d")
    +s = ScatterAttributes()
    +s.var2 = "p"
    +s.var2Role = s.Coordinate1
    +s.var3 = "default"
    +s.var3Role = s.Color
    +s.pointType = s.Axis
    +SetPlotOptions(s)
    +DrawPlots()
    +ResetView()
    +
    +Test("scatter_21")
    +
    +# Set a min in X and make sure the points are still the right color.
    +s.var1MinFlag = 1
    +s.var1Min = 3.5
    +SetPlotOptions(s)
    +Test("scatter_22")
    +
    +# Set min max in X and Y
    +s.var1MinFlag = 1
    +s.var1MaxFlag = 1
    +s.var1Min = 2.
    +s.var1Max = 4.
    +s.var2MinFlag = 1
    +s.var2MaxFlag = 1
    +s.var2Min = 0.3
    +s.var2Max = 0.4
    +SetPlotOptions(s)
    +Test("scatter_23")
    +
    +DeleteActivePlots()
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Scatter", "hardyglobal")
    +s = ScatterAttributes()
    +s.var2 = "shepardglobal"
    +s.var2Role = s.Coordinate1
    +s.var3 = "radial"
    +s.var3Role = s.Coordinate2
    +s.var4 = "radial"
    +s.var4Role = s.Color
    +s.scaleCube = 1
    +SetPlotOptions(s)
    +DrawPlots()
    +SetView3D(v2)
    +Test("scatter_24")
    +
    +# Set a min in Z.
    +s.var3MinFlag = 1
    +s.var3Min = 15.
    +SetPlotOptions(s)
    +Test("scatter_25")
    +
    +# Set a max in Z.
    +s.var3MaxFlag = 1
    +s.var3Max = 22.
    +SetPlotOptions(s)
    +Test("scatter_26")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_singlecolor.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_singlecolor.html new file mode 100644 index 000000000..1d1c8de9a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_singlecolor.html @@ -0,0 +1,60 @@ + +Results for plots/singlecolor.py + +

    Results of VisIt Regression Test - plots/singlecolor

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    singlecolor00100.0047.47
    singlecolor01100.0063.73
    singlecolor02100.0063.73
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_singlecolor_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_singlecolor_py.html new file mode 100644 index 000000000..6c22d8289 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_singlecolor_py.html @@ -0,0 +1,77 @@ +plots/singlecolor.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  singlecolor.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#              plots     - Boundary, FilledBoundary, Subset
    +#
    +#  Defect ID:  VisIt00002372
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Oct 23 15:36:30 PST 2003
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use domains var for Subset plot test instead of materials.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set the single color to light blue and partially transparent using the
    +# plot's global opacity setting.
    +def SetSingleColor(atts):
    +    atts.singleColor = (153, 204, 255, 255)
    +    atts.colorType = b.ColorBySingleColor
    +    atts.opacity = 0.4
    +    SetPlotOptions(atts)
    +
    +# Set the view that we want to use.
    +def InitializeView():
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.428395 ,0.549517, 0.717293)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.186332, 0.830487, -0.52495)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0.0183269, -0.0257188)
    +    v.imageZoom = 1.17591
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    SetView3D(v)
    +
    +# Open the database.
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +# Test the single color opacity for the Boundary plot
    +AddPlot("Boundary", "mat1")
    +b = BoundaryAttributes()
    +SetSingleColor(b)
    +DrawPlots()
    +InitializeView()
    +Test("singlecolor00")
    +
    +# Test the single color opacity for the FilledBoundary plot
    +DeleteAllPlots()
    +AddPlot("FilledBoundary", "mat1")
    +f = FilledBoundaryAttributes()
    +SetSingleColor(f)
    +DrawPlots()
    +Test("singlecolor01")
    +
    +# Test the single color opacity for the Subset plot
    +DeleteAllPlots()
    +AddPlot("Subset", "domains")
    +s = SubsetAttributes()
    +SetSingleColor(s)
    +DrawPlots()
    +Test("singlecolor02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_subset.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_subset.html new file mode 100644 index 000000000..532f914aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_subset.html @@ -0,0 +1,139 @@ + +Results for plots/subset.py + +

    Results of VisIt Regression Test - plots/subset

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    subset_010.000.00
    subset_029.490.08
    subset_034.140.02
    subset_040.000.00
    subset_050.000.00
    subset_060.000.00
    subset_070.000.00
    subset_080.000.00
    subset_090.000.00
    subset_100.000.00
    point mesh
    subset_110.000.00
    subset_120.000.00
    subset_130.000.00
    subset_140.000.00
    subset_150.000.00
    subset_160.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_subset_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_subset_py.html new file mode 100644 index 000000000..461bdcd25 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_subset_py.html @@ -0,0 +1,190 @@ +plots/subset.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  subset.py
    +#
    +#  Tests:      meshes    - 2D curvilinear, multiple domain
    +#              plots     - subset
    +#
    +#  Defect ID:  '6105, '6762
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 31, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Nov 15 07:28:43 PST 2005
    +#    Added test for subset plus macro expression.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Hank Childs, Mon Mar 26 12:00:23 PDT 2012
    +#    Add test for Subset plot + material selection
    +#
    +#    Kathleen Biagas, Fri Jun  5 08:35:31 PDT 2020
    +#    Added tests for point glyhphing/sizing for data that doesn't declare
    +#    itself a point mesh and for data with mixed topology.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +AddPlot("Subset", "domains")
    +DrawPlots()
    +
    +v = GetView2D()
    +v.viewportCoords = (0, 1, 0, 1)
    +v.windowCoords = (-5, 5, 0, 5)
    +SetView2D(v)
    +
    +Test("subset_01")
    +
    +s = SubsetAttributes()
    +s.wireframe = 1
    +SetPlotOptions(s)
    +Test("subset_02")
    +
    +i = IsovolumeAttributes()
    +i.variable = "d"
    +i.lbound = 2.7
    +i.ubound = 3.6
    +SetDefaultOperatorOptions(i)
    +AddOperator("Isovolume")
    +DrawPlots()
    +Test("subset_03")
    +
    +s.wireframe = 0
    +SetPlotOptions(s)
    +Test("subset_04")
    +
    +RemoveLastOperator()
    +op = OnionPeelAttributes()
    +op.categoryName = "domains"
    +op.subsetName = "domain3"
    +op.index = (100)
    +SetDefaultOperatorOptions(op)
    +AddOperator("OnionPeel")
    +DrawPlots()
    +
    +v.windowCoords = (-0.7, -0.3, 3.1, 3.25)
    +SetView2D(v)
    +
    +Test("subset_05")
    +
    +# This is a different wireframe path than the other tests, because
    +# we have special handling for single cell wireframes.
    +# This corresponds to ticket '6105.
    +s.wireframe = 1
    +SetPlotOptions(s)
    +Test("subset_06")
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +AddPlot("Subset", "levels")
    +AddOperator("Isovolume")
    +DefineScalarExpression("vort", "curl(vel)")
    +iso_atts = IsovolumeAttributes()
    +iso_atts.variable = "vort"
    +iso_atts.lbound = -10000000
    +iso_atts.ubound = 0
    +SetOperatorOptions(iso_atts)
    +DrawPlots()
    +ResetView()
    +Test("subset_07")
    +
    +RemoveLastOperator()
    +s = SILRestriction()
    +mats = s.SetsInCategory("materials")
    +s.TurnOffSet(mats[0])
    +s.TurnOffSet(mats[1])
    +SetPlotSILRestriction(s)
    +Test("subset_08")
    +
    +ChangeActivePlotsVar("patches")
    +Test("subset_09")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +OpenDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
    +
    +AddPlot("Subset", "blocks(amr_mesh)")
    +DrawPlots()
    +
    +s = SubsetAttributes()
    +s.wireframe = 1
    +SetPlotOptions(s)
    +
    +Test("subset_10")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
    +
    +TestSection("point mesh")
    +OpenDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
    +AddPlot("Subset", "domains(points_mesh)")
    +
    +s = SubsetAttributes()
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (0, 170, 255, 255)
    +SetPlotOptions(s)
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (-0.605449, 0.469667, 0.642529)
    +v.viewUp = (0.169201, 0.864818, -0.472716)
    +SetView3D(v)
    +Test("subset_11")
    +
    +s.pointSizePixels = 5
    +SetPlotOptions(s)
    +Test("subset_12")
    +
    +
    +s.pointType = s.Tetrahedron
    +s.pointSize = 3
    +SetPlotOptions(s)
    +Test("subset_13")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
    +
    +
    +OpenDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +
    +AddPlot("Subset", "mesh")
    +s = SubsetAttributes()
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (0, 170, 255, 255)
    +s.lineWidth = 3
    +s.pointType = s.Point
    +s.pointSizePixels = 2
    +SetPlotOptions(s)
    +DrawPlots()
    +ResetView()
    +
    +Test("subset_14")
    +
    +s.pointSizePixels = 5
    +SetPlotOptions(s)
    +Test("subset_15")
    +
    +s.pointType = s.Icosahedron
    +s.pointSize = 0.5
    +SetPlotOptions(s)
    +Test("subset_16")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_surface.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_surface.html new file mode 100644 index 000000000..078d9e886 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_surface.html @@ -0,0 +1,96 @@ + +Results for plots/surface.py + +

    Results of VisIt Regression Test - plots/surface

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    surface_010.000.00
    surface_020.000.00
    surface_030.000.00
    surface_040.000.00
    surface_050.000.00
    surface_060.000.00
    surface_070.000.00
    surface_080.000.00
    surface_090.000.00
    surface_100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_surface_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_surface_py.html new file mode 100644 index 000000000..30f36c733 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_surface_py.html @@ -0,0 +1,101 @@ +plots/surface.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  surface.py
    +#
    +#  Tests:      mesh      - 2D structured, single domain
    +#                        - 2D rectilinear, single domain
    +#              plots     - surface
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       August 22, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Wed Sep  3 17:21:44 PDT 2003
    +#    Add tests 4-10, testing more options of the Surface plot. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +#Test default surface plot (surface on, wireframe off)
    +AddPlot("Surface", "u")
    +DrawPlots()
    +Test("surface_01")
    +
    +#Turn on  Wireframe
    +s = SurfaceAttributes()
    +s.wireframeFlag=1
    +SetPlotOptions(s)
    +Test("surface_02")
    +
    +#Turn off surface, leaving only wireframe
    +s.surfaceFlag=0
    +SetPlotOptions(s)
    +Test("surface_03")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("noise2d.silo"))
    +
    +AddPlot("Surface", "shepardglobal")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.25, -0.95, -0.2)
    +v.focus = (0, 0, 10)
    +v.viewUp = (0.04, 0.2, -0.98)
    +v.imageZoom = 1.001
    +SetView3D(v)
    +Test("surface_04")
    +
    +# Turn off lighting
    +s = SurfaceAttributes()
    +s.lightingFlag = 0
    +SetPlotOptions(s)
    +Test("surface_05")
    +
    +# Lighting on, wireframe on, log scaling 
    +s.lightingFlag = 1
    +s.wireframeFlag = 1
    +s.scaling = s.Log
    +SetPlotOptions(s)
    +Test("surface_06")
    +
    +# Skew scaling, skew factor = 100
    +s.scaling = s.Skew
    +s.skewFactor = 100
    +SetPlotOptions(s)
    +Test("surface_07")
    +
    +# Skew scaling, skew factor = 0.001
    +s.skewFactor = 0.001
    +SetPlotOptions(s)
    +Test("surface_08")
    +
    +# Solid color for surface
    +s.colorByZFlag = 0
    +s.surfaceColor = (0, 200, 122, 255)
    +SetPlotOptions(s)
    +Test("surface_09")
    +
    +# change wire color, style, turn off surface
    +s.wireframeColor = (0, 0, 255, 255)
    +s.surfaceFlag = 0
    +SetPlotOptions(s)
    +Test("surface_10")
    +
    +
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_tensor.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_tensor.html new file mode 100644 index 000000000..7202bb238 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_tensor.html @@ -0,0 +1,84 @@ + +Results for plots/tensor.py + +

    Results of VisIt Regression Test - plots/tensor

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    tensor_010.000.00
    tensor_020.000.00
    tensor_030.000.00
    tensor_040.000.00
    tensor_050.000.00
    tensor_060.000.00
    tensor_070.000.00
    tensor_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_tensor_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_tensor_py.html new file mode 100644 index 000000000..bdcd601aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_tensor_py.html @@ -0,0 +1,161 @@ +plots/tensor.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  tensor.py
    +#
    +#  Tests:      tensor    - 3D rectilinear, single domain
    +#              plots     - tensor + some more exhibiting tensor functionality.
    +#
    +#  Defect ID:  '4165
    +#
    +#  Programmer: Hank Childs
    +#  Date:       December 1, 2003
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri May  7 08:12:41 PDT 2004
    +#    Re-enable test for decomposing tensors that now works.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +
    +AddPlot("Tensor", "grad_tensor")
    +t = TensorAttributes()
    +t.autoScale = 0
    +t.nTensors = 55
    +t.scale = 5
    +SetPlotOptions(t)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.312459, 0.334641, 0.889036)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0.198376, 0.938247, -0.283443)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.imagePan = (0, 0)
    +v.imageZoom = 1.18209
    +v.perspective = 1
    +v.eyeAngle = 2
    +SetView3D(v)
    +
    +# Test the general tensor plot.
    +Test("tensor_01")
    +
    +AddOperator("Slice")
    +a = SliceAttributes()
    +a.project2d = 0
    +a.normal = (0.667, 0.333, -0.667)
    +SetOperatorOptions(a)
    +DrawPlots()
    +
    +# Test the interaction of the tensor plot with the slice operator.
    +Test("tensor_02")
    +
    +RemoveLastOperator()
    +
    +b = BoxAttributes()
    +b.minx = -2
    +b.maxx = 5
    +b.miny = -3
    +b.maxy = 0
    +b.minz = -8
    +b.maxz = -4
    +SetDefaultOperatorOptions(b)
    +AddOperator("Box")
    +
    +t.nTensors = 20
    +SetPlotOptions(t)
    +DrawPlots()
    +
    +# Test the interaction of the tensor plot with the box operator.
    +Test("tensor_03")
    +
    +DeleteAllPlots()
    +
    +
    +# Test decomposing tensors and creating vectors.  The decomposition of
    +# the XX, YY, and ZZ components of the tensor is the standard gradient --
    +# so if we subtract the gradient from it, we should get all zeros.
    +DefineVectorExpression("major_comps", "{ grad_tensor[0][0], grad_tensor[1][1], grad_tensor[2][2] }")
    +
    +DefineVectorExpression("diff", "major_comps-grad")
    +DefineScalarExpression("mag_diff", "magnitude(diff)")
    +
    +AddPlot("Pseudocolor", "mag_diff")
    +DrawPlots()
    +Test("tensor_04")
    +
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("det", "determinant(grad_tensor)")
    +AddPlot("Pseudocolor", "det")
    +p = PseudocolorAttributes()
    +p.maxFlag = 1
    +p.max = 0.4
    +SetPlotOptions(p)
    +t = ThresholdAttributes()
    +t.listedVarNames = ("det")
    +t.lowerBounds = (0.0)
    +SetDefaultOperatorOptions(t)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +v.viewNormal = (-0.568609, -0.669889, 0.477424)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0.792201, -0.289591, 0.537172)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +
    +Test("tensor_05")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("ident", "determinant(grad_tensor*inverse(grad_tensor))")
    +AddPlot("Pseudocolor", "ident")
    +DrawPlots()
    +
    +Test("tensor_06")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("trace", "trace(grad_tensor)")
    +AddPlot("Contour", "trace")
    +DrawPlots()
    +
    +Test("tensor_07")
    +
    +DeleteAllPlots()
    +DefineVectorExpression("ev", "eigenvalue(grad_tensor)")
    +AddPlot("Vector", "ev")
    +v = VectorAttributes()
    +v.autoScale = 0
    +v.scale = 6
    +v.nVectors = 55
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +Test("tensor_08")
    +
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_truecolor.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_truecolor.html new file mode 100644 index 000000000..bffcec3dd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_truecolor.html @@ -0,0 +1,42 @@ + +Results for plots/truecolor.py + +

    Results of VisIt Regression Test - plots/truecolor

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    truecolor_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_truecolor_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_truecolor_py.html new file mode 100644 index 000000000..27e0a505f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_truecolor_py.html @@ -0,0 +1,21 @@ +plots/truecolor.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  truecolor.py
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       June 29, 2005 
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(data_path("Image_test_data/manhattan.jpg"))
    +
    +
    +AddPlot("Truecolor","color");
    +DrawPlots()
    +
    +Test("truecolor_01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_vector.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_vector.html new file mode 100644 index 000000000..7fb04f1a4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_vector.html @@ -0,0 +1,158 @@ + +Results for plots/vector.py + +

    Results of VisIt Regression Test - plots/vector

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    vector_010.000.00
    vector_020.000.00
    vector_030.000.00
    vector_040.000.00
    vector_050.000.00
    vector_060.000.00
    vector_070.000.00
    vector_080.000.00
    vector_090.000.00
    vector_100.000.00
    vector_110.000.00
    vector_120.000.00
    vector_130.000.00
    vector_140.000.00
    vector_150.000.00
    vector_163.210.64
    vector_173.770.64
    vector_183.110.64
    vector_193.510.64
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_vector_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_vector_py.html new file mode 100644 index 000000000..2646e8957 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_vector_py.html @@ -0,0 +1,244 @@ +plots/vector.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  vector.py
    +#
    +#  Tests:      vector    - 3D rectilinear, unstructured single domain
    +#              plots     - vector, plus interactions with some operators.
    +#
    +#  Defect ID:  '4954
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 2, 2004
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
    +#    Set the vector origin explicitly for some cases because I changed the
    +#    default to Tail.
    +#
    +#    Jeremy Meredith, Tue Jul  8 12:54:58 EDT 2008
    +#    Added test for new limit to original cells/nodes only.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Tue Nov 29 10:41:39 PST 2022
    +#    Replace obsolte 'colorByMag' vector att with 'colorByMagnitude'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Vector", "vel")
    +vector_atts = VectorAttributes()
    +vector_atts.autoScale = 0
    +SetPlotOptions(vector_atts)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.453335, 0.442704, 0.773628)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0.256972, 0.895999, -0.362148)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.imagePan = (0, 0)
    +v.imageZoom = 1.3354
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("vector_01")
    +
    +#
    +# Test that we can thin the vector field correctly.
    +#
    +vector_atts.vectorOrigin = vector_atts.Middle
    +vector_atts.nVectors = 1005
    +SetPlotOptions(vector_atts)
    +Test("vector_02")
    +
    +vector_atts.nVectors = 50
    +SetPlotOptions(vector_atts)
    +Test("vector_03")
    +
    +vector_atts.useStride = 1
    +vector_atts.stride = 5
    +SetPlotOptions(vector_atts)
    +Test("vector_04")
    +
    +vector_atts.stride = 1
    +SetPlotOptions(vector_atts)
    +Test("vector_05")
    +
    +vector_atts.stride = 50
    +SetPlotOptions(vector_atts)
    +Test("vector_06")
    +
    +#
    +# Test some rendering portions of the vector plot.
    +#
    +vector_atts.useStride = 0
    +vector_atts.nVectors = 400
    +vector_atts.scale = 0.5
    +SetPlotOptions(vector_atts)
    +Test("vector_07")
    +
    +vector_atts.headOn = 0
    +SetPlotOptions(vector_atts)
    +Test("vector_08")
    +
    +vector_atts.headOn = 1
    +vector_atts.colorByMagnitude = 0
    +vector_atts.vectorColor = (255, 0, 255, 255)
    +SetPlotOptions(vector_atts)
    +Test("vector_09")
    +
    +
    +#
    +# Test zonal vectors.
    +#
    +vector_atts.colorByMagnitude = 1
    +SetPlotOptions(vector_atts)
    +ChangeActivePlotsVar("disp")
    +Test("vector_10")
    +
    +
    +#
    +# Test that we can have other plots in the same window as the vector plot.
    +#
    +DefineScalarExpression("mag", "magnitude(disp)")
    +AddPlot("Pseudocolor", "mag")
    +AddOperator("Isovolume")
    +iso_atts = IsovolumeAttributes()
    +iso_atts.lbound = 3
    +SetOperatorOptions(iso_atts)
    +DrawPlots()
    +Test("vector_11")
    +
    +
    +#
    +# Test that vector plots still work when restricted to a slice, etc.
    +#
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +DefineVectorExpression("v1", "{ vel[0]*coord(quadmesh3d)[0], vel[1]*coord(quadmesh3d)[1], vel[2]*coord(quadmesh3d)[2] }")
    +DefineScalarExpression("mag2", "magnitude(v1)")
    +
    +AddPlot("Vector", "v1")
    +vector_atts = VectorAttributes()
    +vector_atts.autoScale = 0
    +SetPlotOptions(vector_atts)
    +DrawPlots()
    +
    +v.viewNormal = (-0.450822, 0.819923, -0.352824)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (0.868253, 0.311093, -0.386468)
    +v.viewAngle = 30
    +v.parallelScale = 0.866025
    +v.nearPlane = -1.73205
    +v.farPlane = 1.73205
    +v.imagePan = (0, 0)
    +v.imageZoom = 1.3354
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +Test("vector_12")
    +
    +iso_surf_atts = IsosurfaceAttributes()
    +iso_surf_atts.variable = "mag2"
    +iso_surf_atts.contourMethod = iso_surf_atts.Value
    +iso_surf_atts.contourValue = (0.2)
    +SetDefaultOperatorOptions(iso_surf_atts)
    +AddOperator("Isosurface")
    +DrawPlots()
    +Test("vector_13")
    +
    +RemoveLastOperator()
    +
    +slice_atts = SliceAttributes()
    +slice_atts.originType = slice_atts.Point
    +slice_atts.originPoint = (0.5, 0.5, 0.5)
    +slice_atts.normal = (1, 1, 1)
    +SetDefaultOperatorOptions(slice_atts)
    +AddOperator("Slice")
    +DrawPlots()
    +Test("vector_14")
    +
    +slice_atts.project2d = 0
    +slice_atts.normal = (1, -0.5, 0.5)
    +SetOperatorOptions(slice_atts)
    +v.viewNormal = (-0.00395109, 0.999884, -0.0147199)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (0.987418, 0.00157403, -0.158122)
    +v.viewAngle = 30
    +v.parallelScale = 0.866025
    +v.nearPlane = -1.73205
    +v.farPlane = 1.73205
    +v.imagePan = (0, 0)
    +v.imageZoom = 1.3354
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("vector_15")
    +
    +#
    +# Test the "limit vectors to original node/cell" option
    +#
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +DefineVectorExpression("cvel","recenter(vel)")
    +AddPlot("Vector", "vel", 1, 0)
    +AddPlot("Boundary", "mat1", 1, 0)
    +AddPlot("Mesh", "quadmesh2d", 1, 0)
    +SetActivePlots(0)
    +vec=VectorAttributes()
    +vec.useStride=1
    +vec.stride=1
    +vec.scale=0.1
    +v = GetView2D()
    +v.windowCoords=(0,.3,1,1.3)
    +SetView2D(v)
    +SetPlotOptions(vec)
    +TurnMaterialsOff(("3","7","8"))
    +DrawPlots()
    +
    +vec.origOnly = 0
    +SetPlotOptions(vec)
    +Test("vector_16")
    +
    +vec.origOnly = 1
    +SetPlotOptions(vec)
    +Test("vector_17")
    +
    +ChangeActivePlotsVar("cvel")
    +
    +vec.origOnly = 0
    +SetPlotOptions(vec)
    +Test("vector_18")
    +
    +vec.origOnly = 1
    +SetPlotOptions(vec)
    +Test("vector_19")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_volumePlot.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_volumePlot.html new file mode 100644 index 000000000..4d22a411e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_volumePlot.html @@ -0,0 +1,227 @@ + +Results for plots/volumePlot.py + +

    Results of VisIt Regression Test - plots/volumePlot

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Volume Plot color control points
    volumePlot_volume_colors_00.000.00
    volumePlot_volume_colors_10.000.00
    volumePlot_volume_colors_20.000.00
    volumePlot_volume_colors_30.000.00
    volumeGaussian_010.000.00
    volumeOpacity_010.000.00
    volumeOpacity_020.000.00
    volumeOpacity_030.000.00
    volumeOpacity_040.000.00
    volumeOpacity_0598.2640.17
    vol_commandRecorded0.000.00
    volumeScaling_010.000.00
    volumeScaling_020.000.00
    volumeScaling_030.000.00
    volumeScaling_040.000.00
    volumeScaling_050.000.00
    volumeScaling_060.000.00
    volumeScaling_070.000.00
    volumeScaling_080.000.00
    volumeScaling_090.000.00
    volumeScaling_100.000.00
    volumeScaling_110.000.00
    volumeScaling_120.000.00
    volumeSampling_010.000.00
    volumeSampling_020.000.00
    volumeSampling_030.000.00
    opacityAttenuation_010.000.00
    opacityAttenuation_020.000.00
    graidentLighting_000.000.00
    graidentLighting_010.000.00
    graidentLighting_020.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_volumePlot_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_volumePlot_py.html new file mode 100644 index 000000000..8e83f3d3a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plots_volumePlot_py.html @@ -0,0 +1,665 @@ +plots/volumePlot.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  volumePlot.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, one domain
    +#              plots     - volume
    +#              operators - none
    +#              selection - no
    +#
    +#  Programmer: Kathleen Bonnell
    +#  Date:       March 4, 2005
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Fri Oct 14 10:12:06 PDT 2005
    +#    Added InitAnnotationsLegendOn and TestVolumeOpacity per '6670.
    +#
    +#    Hank Childs, Fri May 26 10:11:52 PDT 2006
    +#    Add test for extremely high aspect ratio meshes.  ['7250]
    +#
    +#    Brad Whitlock, Wed Mar 14 17:18:05 PST 2007
    +#    Added tests for color control points and gaussian control points.
    +#
    +#    Brad Whitlock, Thu Mar 12 09:17:57 PDT 2009
    +#    I changed freeformFlag to opacityMode to reflect changes to the plot
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Sun Aug 29 16:07:56 PDT 2010
    +#    Change Log10 to Log, to reflect change in naming.
    +#
    +#    Brad Whitlock, Thu May 10 15:21:51 PDT 2018
    +#    Add test case for sampling types.
    +#
    +#    Alister Maguire, Tue Feb  5 14:17:13 PST 2019
    +#    Updated the aspect test to use a larger multiplier and no shading for
    +#    better visibility. Updated the scaling test to not use shading (again
    +#    for better visibility).
    +#
    +#    Alister Maguire, Mon Mar 25 11:19:54 PDT 2019
    +#    Added an opacity test that changes the opacity variable.
    +#
    +#    Alister Maguire, Wed Jun  5 11:01:31 PDT 2019
    +#    Added opacity attenuation test.
    +#
    +#    Alister Maguire, Fri Mar 20 15:36:37 PDT 2020
    +#    Added gradient lighting reduction test.
    +#
    +#    Kathleen Biagas, Wed May 25, 2022
    +#    Added test for command-recorded volume atts.
    +#
    +#    Kathleen Biagas, Fri June 3, 2022
    +#    Renamed TestVolumeColorControlPoints to volume_colors, use new
    +#    TestAutoName funcationality. Modified TestVolumeSampling to set the
    +#    ColorControlPoints directly from the retrieved color table rather than
    +#    calling AddControlPoints (it is now a quick recipe).
    +#
    +# ----------------------------------------------------------------------------
    +
    +def InitAnnotations():
    +    # Turn off all annotation
    +    TurnOffAllAnnotations()
    +
    +def InitAnnotationsLegendOn():
    +    # Turn off all annotation
    +    a = AnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +    a.legendInfoFlag = 1
    +    SetAnnotationAttributes(a)
    +
    +def TestVolumeScaling():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Volume", "t")
    +    volAtts = VolumeAttributes()
    +    volAtts.lightingFlag = 0
    +    SetPlotOptions(volAtts)
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (1, 0, 0)
    +    SetView3D(v)
    +
    +    Test("volumeScaling_01")
    +
    +    volAtts.scaling = volAtts.Log
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_02")
    +
    +    volAtts.scaling = volAtts.Skew
    +    volAtts.skewFactor = 0.0001
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_03")
    +
    +    volAtts.skewFactor = 1000
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_04")
    +
    +    volAtts.scaling = volAtts.Linear
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_05")
    +
    +    volAtts.scaling = volAtts.Log
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_06")
    +
    +    volAtts.scaling = volAtts.Skew
    +    volAtts.skewFactor = 0.0001
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_07")
    +
    +    volAtts.skewFactor = 1000
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_08")
    +
    +    volAtts.rendererType = volAtts.RayCasting
    +    volAtts.scaling = volAtts.Linear
    +    volAtts.lightingFlag = 0
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_09")
    +
    +    volAtts.scaling = volAtts.Log
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_10")
    +
    +    volAtts.scaling = volAtts.Skew
    +    volAtts.skewFactor = 0.0001
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_11")
    +
    +    volAtts.skewFactor = 1000
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_12")
    +
    +    DeleteAllPlots()
    +
    +def TestVolumeOpacity():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Volume", "hardyglobal")
    +    volAtts = VolumeAttributes()
    +    SetPlotOptions(volAtts)
    +    DrawPlots()
    +    ResetView()
    +    # default opacity
    +    Test("volumeOpacity_01")
    +
    +    # setting opacity via individual index and value
    +    for i in range(150):
    +        volAtts.SetFreeformOpacity(i, 0)
    +
    +    SetPlotOptions(volAtts)
    +    Test("volumeOpacity_02")
    +
    +    # setting opacity via creation of a tuple
    +    opac1 = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 255, 248, 240, 232, 224, 216, 208, 200, 192, 184, 176, 168, 160, 152, 144, 136, 128, 120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 255, 248, 240, 232, 224, 216, 208, 200, 192, 184, 176, 168, 160, 152, 144, 136, 128, 120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
    +
    +    volAtts.SetFreeformOpacity(*opac1)
    +    SetPlotOptions(volAtts)
    +    Test("volumeOpacity_03")
    +
    +    # setting opacity via creation of a list
    +    opac2 = []
    +    for j in range(32):
    +        opac2 = opac2 + [j*8]
    +    for j in range(32):
    +        opac2 = opac2 + [255-(j*8)]
    +    for j in range(128):
    +        opac2 = opac2 + [0]
    +    for j in range(32):
    +        opac2 = opac2 + [j*8]
    +    for j in range(32):
    +        opac2 = opac2 + [255-(j*8)]
    +
    +    volAtts.SetFreeformOpacity(opac2)
    +    SetPlotOptions(volAtts)
    +    Test("volumeOpacity_04")
    +
    +    #
    +    # Make sure we can change out opacity variable.
    +    #
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Volume", "dz")
    +    volAtts = VolumeAttributes()
    +    volAtts.opacityVariable = "v"
    +    volAtts.lightingFlag = 0
    +    SetPlotOptions(volAtts)
    +    DrawPlots()
    +    Test("volumeOpacity_05")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestOpacityAttenuation():
    +
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    ResetView()
    +
    +    #
    +    # First, test the ray caster without reduced attenuation.
    +    #
    +    AddPlot("Volume", "hardyglobal")
    +    volAtts = VolumeAttributes()
    +    volAtts.lightingFlag = 0
    +    volAtts.opacityAttenuation = 1
    +    volAtts.rendererType = volAtts.RayCasting
    +    SetPlotOptions(volAtts)
    +    DrawPlots()
    +    Test("opacityAttenuation_01")
    +
    +    #
    +    # Now reduce attenutation.
    +    #
    +    volAtts = VolumeAttributes()
    +    volAtts.lightingFlag = 0
    +    volAtts.rendererType = volAtts.RayCasting
    +    volAtts.opacityAttenuation = .12
    +    SetPlotOptions(volAtts)
    +    DrawPlots()
    +    Test("opacityAttenuation_02")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestVolumeAspect():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    orig_atts = VolumeAttributes()
    +    new_atts  = VolumeAttributes()
    +    new_atts.lightingFlag = 0
    +
    +    AddPlot("Volume", "hardyglobal")
    +    SetPlotOptions(new_atts)
    +
    +    DefineVectorExpression("disp", "{0,0,-0.9*coord(Mesh)[2]}")
    +    AddOperator("Displace")
    +    d = DisplaceAttributes()
    +    d.variable = "disp"
    +    SetOperatorOptions(d)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.324974, 0.839345, 0.435765)
    +    SetView3D(v)
    +    Test("volumeAspect_01")
    +    DeleteAllPlots()
    +    SetPlotOptions(orig_atts)
    +
    +def volume_colors():
    +    """Volume Plot color control points"""
    +    # the next comment and similar below bracket code to be 'literalincluded' in quickrecipes.rst
    +    # removeControlPoints {
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Volume", "hardyglobal")
    +
    +    # Modify colors. The default color table has 5 control points. Delete
    +    # all but 2 of them and then change their colors.
    +    v = VolumeAttributes()
    +    v.colorControlPoints.RemoveControlPoints(4)
    +    v.colorControlPoints.RemoveControlPoints(3)
    +    v.colorControlPoints.RemoveControlPoints(2)
    +    v.colorControlPoints.GetControlPoints(0).colors = (255,0,0,255)
    +    v.colorControlPoints.GetControlPoints(0).position = 0.
    +    v.colorControlPoints.GetControlPoints(1).colors = (0,0,255,255)
    +    v.colorControlPoints.GetControlPoints(1).position = 1.
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    ResetView()
    +    # removeControlPoints }
    +    TestAutoName()
    +
    +    # addControlPoints {
    +    # there are a default of 5 control points, add 3 more and change
    +    # positions of original  so everything is evenly spaced
    +    v = VolumeAttributes()
    +    v.colorControlPoints.GetControlPoints(0).position = 0
    +    v.colorControlPoints.GetControlPoints(1).position = 0.142857
    +    v.colorControlPoints.GetControlPoints(2).position = 0.285714
    +    v.colorControlPoints.GetControlPoints(3).position = 0.428571
    +    v.colorControlPoints.GetControlPoints(4).position = 0.571429
    +    tmp = ColorControlPoint()
    +    tmp.colors = (255,255,0,255)
    +    tmp.position = 0.714286
    +    v.GetColorControlPoints().AddControlPoints(tmp)
    +    tmp.colors = (0,255,0,255)
    +    tmp.position = 0.857143
    +    v.GetColorControlPoints().AddControlPoints(tmp)
    +    tmp.colors = (0,255,255,255)
    +    tmp.position = 1
    +    v.GetColorControlPoints().AddControlPoints(tmp)
    +    SetPlotOptions(v)
    +    # addControlPoints }
    +    TestAutoName()
    +
    +    # setNumControlPoints {
    +    v = VolumeAttributes()
    +    # there are a default of 5, this resizes to 6
    +    v.colorControlPoints.SetNumControlPoints(6)
    +    v.colorControlPoints.GetControlPoints(4).position = 0.92
    +    # GetControlPoints(5) will cause a segfault without the call to SetNumControlPoints
    +    v.colorControlPoints.GetControlPoints(5).position = 1
    +    v.colorControlPoints.GetControlPoints(5).colors = (128,0,128,255)
    +    SetPlotOptions(v)
    +    # setNumControlPoints }
    +    TestAutoName()
    +
    +    # Start over with the colors.
    +    v.GetColorControlPoints().ClearControlPoints()
    +    tmp = ColorControlPoint()
    +    npts = 10
    +    for i in range(npts):
    +        t = 0.
    +        if i < npts/2:
    +            t = float(i) / float(npts/2 - 1)
    +            r = 255
    +            g = int(t * 255.)
    +            b = 0
    +        else:
    +            t = 1. - (float(i-(npts/2)) / float(npts/2 - 1))
    +            r = int((1-t) * 255.)
    +            g = int((1-t) * 255.)
    +            b = int(t * 255.)
    +        tmp.colors = (r,g,b,255)
    +        tmp.position = float(i) / float(npts-1)
    +        v.GetColorControlPoints().AddControlPoints(tmp)
    +    SetPlotOptions(v)
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +def TestVolumeGaussianControlPoints():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Volume", "hardyglobal")
    +
    +    v = VolumeAttributes()
    +    v.opacityMode = v.GaussianMode
    +    v.opacityControlPoints.ClearControlPoints()
    +    tmp = GaussianControlPoint()
    +    # Design gaussians
    +    tmp.x = 0.818182
    +    tmp.height = 0.787879
    +    tmp.width = 0.147059
    +    tmp.xBias = 0
    +    tmp.yBias = 0
    +    v.GetOpacityControlPoints().AddControlPoints(tmp)
    +
    +    tmp.x = 0.203209
    +    tmp.height = 0.590909
    +    tmp.width = 0.0588235
    +    tmp.xBias = 0.0026738
    +    tmp.yBias = 2
    +    v.GetOpacityControlPoints().AddControlPoints(tmp)
    +
    +    tmp.x = 0.47861
    +    tmp.height = 0.19697
    +    tmp.width = 0.0721925
    +    tmp.xBias = -0.00802138
    +    tmp.yBias = 0
    +    v.GetOpacityControlPoints().AddControlPoints(tmp)
    +
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    ResetView()
    +    Test("volumeGaussian_01")
    +    DeleteAllPlots()
    +
    +def TestVolumeSampling():
    +    # setFromColorTable {
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Volume", "hardyglobal")
    +    v = VolumeAttributes()
    +    v.lightingFlag = 0
    +    v.rendererType = v.RayCasting
    +    v.sampling = v.KernelBased
    +    ct = GetColorTable("hot_desaturated")
    +    v.SetColorControlPoints(ct)
    +    SetPlotOptions(v)
    +    # setFromColorTable }
    +
    +    view = GetView3D()
    +    view.viewNormal = (-1, 0, 0)
    +    view.focus = (0, 0, 0)
    +    view.viewUp = (0, 1, 0)
    +    view.viewAngle = 30
    +    view.parallelScale = 17.3205
    +    view.nearPlane = -34.641
    +    view.farPlane = 34.641
    +    view.imagePan = (0.0720459, -0.00108509)
    +    view.imageZoom = 1.85429
    +    view.perspective = 1
    +    view.eyeAngle = 2
    +    view.centerOfRotationSet = 0
    +    view.centerOfRotation = (0, 0, 0)
    +    view.axis3DScaleFlag = 0
    +    view.axis3DScales = (1, 1, 1)
    +    view.shear = (0, 0, 1)
    +    view.windowValid = 1
    +    DrawPlots()
    +    SetView3D(view)
    +    Test("volumeSampling_01")
    +
    +    v.sampling = v.Rasterization
    +    SetPlotOptions(v)
    +    Test("volumeSampling_02")
    +
    +    v.sampling = v.Trilinear
    +    SetPlotOptions(v)
    +    Test("volumeSampling_03")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestGradientLightingReduction():
    +
    +    view = GetView3D()
    +    view.viewNormal = (0.746662961825451, 0.1647201021100829, 0.6444856161303283)
    +    SetView3D(view)
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Volume", "v")
    +    DrawPlots()
    +
    +    #
    +    # Trilinear ray casting used to have very harsh results with
    +    # gradient lighting reduction. Let's make sure they're better
    +    # now.
    +    #
    +    v = VolumeAttributes()
    +    v.lightingFlag = 1
    +    v.rendererType = v.RayCasting
    +    v.sampling     = v.Trilinear
    +
    +    v.lowGradientLightingReduction = v.Lower
    +    SetPlotOptions(v)
    +    Test("graidentLighting_00")
    +
    +    v.lowGradientLightingReduction = v.Medium
    +    SetPlotOptions(v)
    +    Test("graidentLighting_01")
    +
    +    v.lowGradientLightingReduction = v.Higher
    +    SetPlotOptions(v)
    +    Test("graidentLighting_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("globe.silo"))
    +
    +def TestCommandRecording():
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Volume", "u")
    +    DrawPlots()
    +    view3D = GetView3D()
    +    view3D.viewNormal = (0.0173089, 0.999712, 0.0165968)
    +    view3D.viewUp = (0.230674, 0.0121587, -0.972955)
    +    SetView3D(view3D)
    +
    +    # Setting up of Volume plot atts from command recording
    +    VolumeAtts = VolumeAttributes()
    +    VolumeAtts.osprayShadowsEnabledFlag = 0
    +    VolumeAtts.osprayUseGridAcceleratorFlag = 0
    +    VolumeAtts.osprayPreIntegrationFlag = 0
    +    VolumeAtts.ospraySingleShadeFlag = 0
    +    VolumeAtts.osprayOneSidedLightingFlag = 0
    +    VolumeAtts.osprayAoTransparencyEnabledFlag = 0
    +    VolumeAtts.ospraySpp = 1
    +    VolumeAtts.osprayAoSamples = 0
    +    VolumeAtts.osprayAoDistance = 100000
    +    VolumeAtts.osprayMinContribution = 0.001
    +    VolumeAtts.legendFlag = 1
    +    VolumeAtts.lightingFlag = 1
    +    VolumeAtts.colorControlPoints.SetNumControlPoints(14)
    +    VolumeAtts.colorControlPoints.GetControlPoints(0).colors = (0, 0, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(0).position = 0
    +    VolumeAtts.colorControlPoints.GetControlPoints(1).colors = (0, 255, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(1).position = 0.0769231
    +    VolumeAtts.colorControlPoints.GetControlPoints(2).colors = (0, 255, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(2).position = 0.153846
    +    VolumeAtts.colorControlPoints.GetControlPoints(3).colors = (255, 255, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(3).position = 0.230769
    +    VolumeAtts.colorControlPoints.GetControlPoints(4).colors = (255, 255, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(4).position = 0.307692
    +    VolumeAtts.colorControlPoints.GetControlPoints(5).colors = (0, 255, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(5).position = 0.384615
    +    VolumeAtts.colorControlPoints.GetControlPoints(6).colors = (0, 255, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(6).position = 0.461538
    +    VolumeAtts.colorControlPoints.GetControlPoints(7).colors = (0, 0, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(7).position = 0.538462
    +    VolumeAtts.colorControlPoints.GetControlPoints(8).colors = (255, 0, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(8).position = 0.615385
    +    VolumeAtts.colorControlPoints.GetControlPoints(9).colors = (0, 0, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(9).position = 0.692308
    +    VolumeAtts.colorControlPoints.GetControlPoints(10).colors = (255, 255, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(10).position = 0.769231
    +    VolumeAtts.colorControlPoints.GetControlPoints(11).colors = (255, 0, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(11).position = 0.846154
    +    VolumeAtts.colorControlPoints.GetControlPoints(12).colors = (255, 255, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(12).position = 0.923077
    +    VolumeAtts.colorControlPoints.GetControlPoints(13).colors = (255, 0, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(13).position = 1
    +    VolumeAtts.colorControlPoints.smoothing = VolumeAtts.colorControlPoints.Linear
    +    VolumeAtts.colorControlPoints.equalSpacingFlag = 0
    +    VolumeAtts.colorControlPoints.discreteFlag = 0
    +    VolumeAtts.colorControlPoints.categoryName = ""
    +    VolumeAtts.opacityAttenuation = 1
    +    VolumeAtts.opacityMode = VolumeAtts.GaussianMode
    +    VolumeAtts.opacityControlPoints.SetNumControlPoints(20)
    +    VolumeAtts.opacityControlPoints.GetControlPoints(0).x = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(0).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(0).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(0).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(0).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(1).x = 0.075
    +    VolumeAtts.opacityControlPoints.GetControlPoints(1).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(1).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(1).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(1).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(2).x = 0.125
    +    VolumeAtts.opacityControlPoints.GetControlPoints(2).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(2).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(2).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(2).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(3).x = 0.175
    +    VolumeAtts.opacityControlPoints.GetControlPoints(3).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(3).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(3).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(3).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(4).x = 0.225
    +    VolumeAtts.opacityControlPoints.GetControlPoints(4).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(4).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(4).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(4).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(5).x = 0.275
    +    VolumeAtts.opacityControlPoints.GetControlPoints(5).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(5).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(5).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(5).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(6).x = 0.325
    +    VolumeAtts.opacityControlPoints.GetControlPoints(6).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(6).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(6).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(6).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(7).x = 0.375
    +    VolumeAtts.opacityControlPoints.GetControlPoints(7).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(7).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(7).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(7).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(8).x = 0.425
    +    VolumeAtts.opacityControlPoints.GetControlPoints(8).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(8).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(8).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(8).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(9).x = 0.475
    +    VolumeAtts.opacityControlPoints.GetControlPoints(9).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(9).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(9).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(9).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(10).x = 0.525
    +    VolumeAtts.opacityControlPoints.GetControlPoints(10).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(10).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(10).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(10).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(11).x = 0.575
    +    VolumeAtts.opacityControlPoints.GetControlPoints(11).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(11).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(11).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(11).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(12).x = 0.625
    +    VolumeAtts.opacityControlPoints.GetControlPoints(12).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(12).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(12).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(12).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(13).x = 0.675
    +    VolumeAtts.opacityControlPoints.GetControlPoints(13).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(13).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(13).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(13).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(14).x = 0.725
    +    VolumeAtts.opacityControlPoints.GetControlPoints(14).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(14).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(14).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(14).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(15).x = 0.775
    +    VolumeAtts.opacityControlPoints.GetControlPoints(15).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(15).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(15).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(15).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(16).x = 0.825
    +    VolumeAtts.opacityControlPoints.GetControlPoints(16).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(16).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(16).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(16).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(17).x = 0.875
    +    VolumeAtts.opacityControlPoints.GetControlPoints(17).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(17).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(17).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(17).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(18).x = 0.925
    +    VolumeAtts.opacityControlPoints.GetControlPoints(18).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(18).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(18).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(18).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(19).x = 0.975
    +    VolumeAtts.opacityControlPoints.GetControlPoints(19).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(19).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(19).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(19).yBias = 0
    +    VolumeAtts.resampleFlag = 1
    +    VolumeAtts.resampleTarget = 1000000
    +    VolumeAtts.opacityVariable = "default"
    +    VolumeAtts.compactVariable = "default"
    +    VolumeAtts.freeformOpacity = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255)
    +    VolumeAtts.useColorVarMin = 0
    +    VolumeAtts.colorVarMin = 0
    +    VolumeAtts.useColorVarMax = 0
    +    VolumeAtts.colorVarMax = 0
    +    VolumeAtts.useOpacityVarMin = 0
    +    VolumeAtts.opacityVarMin = 0
    +    VolumeAtts.useOpacityVarMax = 0
    +    VolumeAtts.opacityVarMax = 0
    +    VolumeAtts.smoothData = 0
    +    VolumeAtts.samplesPerRay = 500
    +    VolumeAtts.rendererType = VolumeAtts.Default
    +    VolumeAtts.gradientType = VolumeAtts.SobelOperator
    +    VolumeAtts.scaling = VolumeAtts.Linear
    +    VolumeAtts.skewFactor = 1
    +    VolumeAtts.limitsMode = VolumeAtts.OriginalData
    +    VolumeAtts.sampling = VolumeAtts.Rasterization
    +    VolumeAtts.rendererSamples = 3
    +    VolumeAtts.lowGradientLightingReduction = VolumeAtts.Lower
    +    VolumeAtts.lowGradientLightingClampFlag = 0
    +    VolumeAtts.lowGradientLightingClampValue = 1
    +    VolumeAtts.materialProperties = (0.4, 0.75, 0, 15)
    +    SetPlotOptions(VolumeAtts)
    +
    +    Test("vol_commandRecorded")
    +    ResetView()
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("globe.silo"))
    +
    +
    +#FIXME: For some reason, if you render using the ray caster,
    +#       attempting to render using the default renderer afterwards
    +#       will result in a blank test result. I have not been able
    +#       to reproduce this outside of the test suite. I created
    +#       issue #3608 to track this.
    +
    +InitAnnotationsLegendOn()
    +volume_colors()
    +TestVolumeGaussianControlPoints()
    +# This test hangs in parallel.
    +if TestEnv.params["serial"]:
    +    TestVolumeAspect()
    +TestVolumeOpacity()
    +TestCommandRecording()
    +InitAnnotations()
    +TestVolumeScaling()
    +TestVolumeSampling()
    +TestOpacityAttenuation()
    +TestGradientLightingReduction()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_databasesVsInstall.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_databasesVsInstall.html new file mode 100644 index 000000000..03672813d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_databasesVsInstall.html @@ -0,0 +1,40 @@ + +Results for plugins/databasesVsInstall.py + +

    Results of VisIt Regression Test - plugins/databasesVsInstall

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    databasesVsInstall1 modifications totalling 12 lines
    +

    Final Return Code: 113

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_databasesVsInstall_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_databasesVsInstall_py.html new file mode 100644 index 000000000..8025793a7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_databasesVsInstall_py.html @@ -0,0 +1,31 @@ +plugins/databasesVsInstall.py
    # ----------------------------------------------------------------------------
    +#  CLASSES:    nightly
    +#
    +#  Test Case:  databasesVsInstall.py 
    +#
    +#  Tests:      Building database plugins against an installed version of VisIt
    +#              
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       November 8, 2018 
    +#
    +#  Modifications:
    +#    Eric Brugger, Wed Jun 26 09:32:06 PDT 2019
    +#    Removed the ccm readler.
    +#
    +#    Kathleen Biagas, Tue Nov 26 10:23:31 PST 2019
    +#    Modified to pass a 'test-this' list instead of a 'skip-this' list.
    +#    Plugins chosen based on third-party dependence, ability to auto-regen
    +#    their CMakeLists.txt and tests currently available to run against the
    +#    version built (to be added at a future time).
    +#
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("plugins", "pluginVsInstallHelpers"))
    +
    +do_plugin_type("databases", ["BOV", "Blueprint", "CGNS", "Cale", "Claw", "Exodus", "FITS", "H5Part", "MFEM", "Mili", "SAMRAI", "VTK"])
    +# for future use
    +#do_tests("database", ["bov.py", "blueprint.py", "CGNS.py", "Cale.py", "claw.py", "exodus.py", "FITS.py", "h5part.py", "mfem.py", "mili.py", "samrai.py", "vtk.py"])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_operatorsVsInstall.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_operatorsVsInstall.html new file mode 100644 index 000000000..ece8fd0b5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_operatorsVsInstall.html @@ -0,0 +1,40 @@ + +Results for plugins/operatorsVsInstall.py + +

    Results of VisIt Regression Test - plugins/operatorsVsInstall

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    operatorsVsInstall1 modifications totalling 5 lines
    +

    Final Return Code: 113

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_operatorsVsInstall_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_operatorsVsInstall_py.html new file mode 100644 index 000000000..fd9db5ab1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_operatorsVsInstall_py.html @@ -0,0 +1,29 @@ +plugins/operatorsVsInstall.py
    # ----------------------------------------------------------------------------
    +#  CLASSES:    nightly
    +#
    +#  Test Case:  operatorsVsInstall.py 
    +#
    +#  Tests:      Building operator plugins against an installed version of VisIt
    +#              
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       November 8, 2018 
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Nov 26 10:23:31 PST 2019
    +#    Modified to pass a 'test-this' list instead of a 'skip-this' list.
    +#    Plugins chosen based on external dependence, expression creation, or a
    +#    a simple operator, the ability to auto-regen their CMakeLists.txt and
    +#    tests currently available to run against the version built (to be added
    +#    at a future time).
    +#
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("plugins", "pluginVsInstallHelpers"))
    +
    +do_plugin_type("operators", ["CartographicProjection", "CracksClipper", "RadialResample", "Slice", "Threshold"])
    +# for future use
    +#do_tests("operators", ["cart_proj.py", "cracksclipper.py", "radial_resample.py", "slice.py", "threshold.py"])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_plotsVsInstall.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_plotsVsInstall.html new file mode 100644 index 000000000..d9969d4f4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_plotsVsInstall.html @@ -0,0 +1,40 @@ + +Results for plugins/plotsVsInstall.py + +

    Results of VisIt Regression Test - plugins/plotsVsInstall

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    plotsVsInstall1 modifications totalling 4 lines
    +

    Final Return Code: 113

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_plotsVsInstall_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_plotsVsInstall_py.html new file mode 100644 index 000000000..969a12045 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/plugins_plotsVsInstall_py.html @@ -0,0 +1,23 @@ +plugins/plotsVsInstall.py
    # ----------------------------------------------------------------------------
    +#  CLASSES:    nightly
    +#
    +#  Test Case:  plotsVsInstall.py 
    +#
    +#  Tests:      Building plot plugins against an installed version of VisIt
    +#              
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       November 8, 2018 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("plugins", "pluginVsInstallHelpers"))
    +
    +do_plugin_type("plots", ["Contour", "Label", "Tensor", "Volume"])
    +# for future use
    +#do_tests("plots", ["contour.py", "label.py", "tensor.py", "ray_trace.py or volumePlot.py"])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_avg_value.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_avg_value.html new file mode 100644 index 000000000..8c97af907 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_avg_value.html @@ -0,0 +1,58 @@ + +Results for queries/avg_value.py + +

    Results of VisIt Regression Test - queries/avg_value

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    avg_value_010 modifications totalling 0 lines
    avg_value_021 modifications totalling 1 lines
    avg_value_030 modifications totalling 0 lines
    avg_value_040 modifications totalling 0 lines
    avg_value_050.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_avg_value_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_avg_value_py.html new file mode 100644 index 000000000..a1b8e4e0b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_avg_value_py.html @@ -0,0 +1,63 @@ +queries/avg_value.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  avg_value.py
    +#  Tests:      queries     - average value 
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 11, 2011
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOffAllAnnotations()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "t")
    +DrawPlots()
    +Query("Average Value")
    +t = GetQueryOutputString()
    +TestText("avg_value_01", t)
    +
    +DeleteAllPlots()
    +AddPlot("Vector", "vel")
    +DrawPlots()
    +Query("Average Value")
    +t = GetQueryOutputString()
    +TestText("avg_value_02", t)
    +
    +DefineVectorExpression("vel2", "{1, t, 0}")
    +ChangeActivePlotsVar("vel2")
    +Query("Average Value")
    +t = GetQueryOutputString()
    +TestText("avg_value_03", t)
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +Query("Average Value")
    +t = GetQueryOutputString()
    +TestText("avg_value_04", t)
    +
    +c = CurveAttributes()
    +c.curveColorSource = c.Custom
    +c.curveColor = (255, 0, 0, 255)
    +SetDefaultPlotOptions(c)
    +
    +QueryOverTime("Average Value")
    +SetActiveWindow(2)
    +TurnOffAllAnnotations()
    +c = CurveAttributes()
    +c.curveColorSource = c.Custom
    +c.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(c)
    +Test("avg_value_05")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_bestfitline.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_bestfitline.html new file mode 100644 index 000000000..ef13818cc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_bestfitline.html @@ -0,0 +1,100 @@ + +Results for queries/bestfitline.py + +

    Results of VisIt Regression Test - queries/bestfitline

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    bestline_1_000 modifications totalling 0 lines
    bestline_2_000.000.00
    bestline_2_010 modifications totalling 0 lines
    bestline_2_020.000.00
    bestline_2_030 modifications totalling 0 lines
    bestline_2_040.000.00
    bestline_2_050 modifications totalling 0 lines
    bestline_3_0021.980.65
    bestline_3_010.000.00
    bestline_3_0230.650.18
    bestline_3_0331.790.32
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_bestfitline_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_bestfitline_py.html new file mode 100644 index 000000000..e4ff6b224 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_bestfitline_py.html @@ -0,0 +1,204 @@ +queries/bestfitline.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  bestfit.py
    +#
    +#  Tests:      queries     - "Best Fit Line"
    +#              expressions - distance_to_best_fit_line
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Nov 18 16:43:42 PST 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Tue Mar 14 07:54:20 PST 2006
    +#    Changed how full-frame is turned on
    +#    
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Matt Larsen Wed May 09 08:31:00 PST 2018
    +#    Adding view reset so image actual shows a line 
    +# ----------------------------------------------------------------------------
    +
    +import math
    +
    +def writeDataSet():
    +    nts = 100
    +    nsamples = 100
    +    x0 = -5.
    +    y0 = -5.
    +    x1 = 5.
    +    y1 = 5.
    +
    +    names = []
    +    coefficients = []
    +    for i in range(nts):
    +        t = float(i) / float(nts - 1)
    +        y_left = t * y1 + (1. - t) * y0
    +        y_right = t * y0 + (1. - t) * y1
    +        filename = data_path("curve_test_data/line%04d.curve") % i
    +        names = names + [filename]
    +        try:
    +            f = open(filename, "w")
    +
    +            f.write("#TIME %g\n" % t)
    +            f.write("#line\n")
    +
    +            m = (y_right - y_left) / (x1 - x0)
    +            angle = t * 3.14159 * 2.
    +            b  = math.sin(angle)
    +
    +            #print "Y = %gX + %g" % (m, b)
    +            coefficients = coefficients + [(m, b)]
    +
    +            for j in range(nsamples):
    +                t2 = float(j) / float(nsamples - 1)
    +                x = t2 * x1 + (1. - t2) * x0
    +                y = t2 * y_right + (1. - t2) * y_left + b
    +                f.write("%g %g\n" % (x, y))
    +
    +            f.close()
    +        except:
    +            break
    +
    +    return (names, coefficients)
    +
    +def removeFiles(ds):
    +    for d in ds:
    +        try:
    +            os.unlink(d)
    +        except:
    +            print("Could not remove ", d)
    +
    +#
    +# Test best fit line of known lines from Curve plots
    +#
    +def test1():
    +    data = writeDataSet()
    +    filenames = data[0]
    +    coefficients = data[1]
    +
    +    OpenDatabase(data_path("curve_test_data/line*.curve database"))
    +
    +    AddPlot("Curve", "line")
    +    DrawPlots()
    +
    +    s = ""
    +    try:
    +        for state in range(0, len(coefficients), 2):
    +            SetTimeSliderState(state)
    +            Query("Best Fit Line")
    +            values = GetQueryOutputValue()
    +            s = s + "Original (m=%g, b=%g)\t\t\tCalculated (m=%g, b=%g, r=%g)\n" %\
    +            (coefficients[state][0], coefficients[state][1], values[0], \
    +            values[1], values[2])
    +    except:
    +        pass
    +
    +    TestText("bestline_1_00", s)
    +    removeFiles(data[0])
    +    DeleteAllPlots()
    +
    +#
    +# Test best fit line of 2D Scatter plots
    +#
    +def test2():
    +    # Do Scatter plot of d vs d since we know that it will make Y=X
    +    OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +    AddPlot("Scatter", "d")
    +    s = ScatterAttributes()
    +    s.var2 = "d"
    +    s.var2Role = s.Coordinate1
    +    s.var3Role = s.NONE
    +    s.var4Role = s.NONE
    +    s.scaleCube = 0
    +    s.pointSizePixels = 5
    +    SetPlotOptions(s)
    +    DrawPlots()
    +
    +    # Turn on Fullframe
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.On
    +    SetView2D(v)
    +    Test("bestline_2_00")
    +    Query("Best Fit Line")
    +    TestText("bestline_2_01", GetQueryOutputString())
    +
    +    # Check the best fit with another known line eq.
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    DefineScalarExpression("t", "zoneid(curvmesh2d)")
    +    DefineScalarExpression("line", "t * 0.33333 + 10.")
    +    AddPlot("Scatter", "t")
    +    s.var2 = "line"
    +    SetPlotOptions(s)
    +    DrawPlots()
    +    ResetView()
    +    Test("bestline_2_02")
    +    Query("Best Fit Line")
    +    TestText("bestline_2_03", GetQueryOutputString())
    +
    +    # Make the scatter plot be d vs. dpu
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +    AddPlot("Scatter", "d")
    +    DefineScalarExpression("dpu", "d + u / 3.")
    +    s.var2 = "dpu"
    +    SetPlotOptions(s)
    +    DrawPlots()
    +    Test("bestline_2_04")
    +    Query("Best Fit Line")
    +    TestText("bestline_2_05", GetQueryOutputString())
    +
    +    return s
    +
    +#
    +# Test distance to best fit line expression. The colors should appear
    +# to be banded about the best fit line.
    +#
    +def test3(s):
    +    # We still have the Scatter plot from the previous test. Color it
    +    # by the distance from the best fit line.
    +    DefineScalarExpression("DBFL", "distance_to_best_fit_line(d, dpu)")
    +    DefineScalarExpression("DBFL2", "distance_to_best_fit_line2(d, dpu)")
    +    s.var3 = "DBFL"
    +    s.var3Role = s.Color
    +    s.colorTableName = "difference"
    +    s.pointSizePixels = 10
    +    SetPlotOptions(s)
    +    Test("bestline_3_00")
    +
    +    s.var3 = "DBFL2"
    +    SetPlotOptions(s)
    +    Test("bestline_3_01")
    +
    +    DefineScalarExpression("dpus", "d + u / 2. + sin(d * 5.) * 2.")
    +    DefineScalarExpression("DBFL3", "distance_to_best_fit_line(d, dpus)")
    +    DefineScalarExpression("DBFL4", "distance_to_best_fit_line2(d, dpus)")
    +    s.var2 = "dpus"
    +    s.var3 = "DBFL3"
    +    SetPlotOptions(s)
    +    Test("bestline_3_02")
    +
    +    s.var3 = "DBFL4"
    +    SetPlotOptions(s)
    +    Test("bestline_3_03")
    +
    +    return
    +
    +
    +def main():
    +    test1()
    +    s = test2()
    +    test3(s)
    +
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_casetest.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_casetest.html new file mode 100644 index 000000000..d19a94dee --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_casetest.html @@ -0,0 +1,40 @@ + +Results for queries/casetest.py + +

    Results of VisIt Regression Test - queries/casetest

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    CaseQueryRect2dTest0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_casetest_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_casetest_py.html new file mode 100644 index 000000000..e4fbaa714 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_casetest_py.html @@ -0,0 +1,69 @@ +queries/casetest.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  casetest.py #
    +#  Tests:      queries     - Database
    +#
    +#  Description: Tests case insensitive name dispatch of queries.
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Mon Sep 19 15:09:02 PDT 2011 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def QueryRect2d():
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +    s = ""
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("2D area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("revolved volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("2D AREA")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("mINmAX", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("spatialextents", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NUMNODES", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NUMZONES", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    TestText("CaseQueryRect2dTest", s)
    +    DeleteAllPlots()
    +
    +
    +def QueryMain():
    +    QueryRect2d()
    +
    +# Call the main function
    +TurnOnAllAnnotations()
    +QueryMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_centroid.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_centroid.html new file mode 100644 index 000000000..ca049e885 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_centroid.html @@ -0,0 +1,88 @@ + +Results for queries/centroid.py + +

    Results of VisIt Regression Test - queries/centroid

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    centroid_010 modifications totalling 0 lines
    centroid_020 modifications totalling 0 lines
    centroid_030 modifications totalling 0 lines
    centroid_040 modifications totalling 0 lines
    centroid_050 modifications totalling 0 lines
    centroid_060 modifications totalling 0 lines
    centroid_070 modifications totalling 0 lines
    centroid_080 modifications totalling 0 lines
    centroid_090 modifications totalling 0 lines
    centroid_100 modifications totalling 0 lines
    centroid_110 modifications totalling 0 lines
    centroid_120 modifications totalling 0 lines
    centroid_130 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_centroid_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_centroid_py.html new file mode 100644 index 000000000..9e9e45111 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_centroid_py.html @@ -0,0 +1,130 @@ +queries/centroid.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  centroid.py
    +#  Tests:      queries     - centroid and moment of inertia.
    +#
    +#  Defect ID:  VisIt00006273, '6588
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 19, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Thu Sep 15 16:33:48 PDT 2005
    +#    Added tests for centroids of surfaces.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Test that we can do an l2norm of a degenerate ultra file.
    +TurnOnAllAnnotations()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +
    +Query("Moment of Inertia")
    +text = GetQueryOutputString()
    +# The answer should be ~167,547 along the diagonals.  But we are off ~10%
    +# because of mesh granularity.
    +TestText("centroid_01", text)
    +
    +# The sphere is perfectly symmetric, so we should get the same answer,
    +# even if we rotate it.
    +AddOperator("Transform")
    +trans = TransformAttributes()
    +trans.doRotate = 1
    +trans.rotateAxis = (0.707, 0, -0.707)
    +trans.rotateAmount = 150
    +SetOperatorOptions(trans)
    +DrawPlots()
    +Query("Moment of Inertia")
    +text = GetQueryOutputString()
    +TestText("centroid_02", text)
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_03", text)
    +
    +# Translate and see that the centroid moves.
    +trans.doTranslate = 1
    +trans.translateX = 0.5
    +SetOperatorOptions(trans)
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_04", text)
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_05", text)
    +
    +Query("Moment of Inertia")
    +text = GetQueryOutputString()
    +TestText("centroid_06", text)
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Mesh", "quadmesh2d")
    +DrawPlots()
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_07", text)
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_08", text)
    +
    +AddOperator("Revolve")
    +DrawPlots()
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_09", text)
    +Query("Moment of Inertia")
    +text = GetQueryOutputString()
    +TestText("centroid_10", text)
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Mesh", "quadmesh3d")
    +DrawPlots()
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_11", text)
    +Query("Moment of Inertia")
    +text = GetQueryOutputString()
    +TestText("centroid_12", text)
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Elevate")
    +DrawPlots()
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_13", text)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_conncomp.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_conncomp.html new file mode 100644 index 000000000..55e81f20d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_conncomp.html @@ -0,0 +1,162 @@ + +Results for queries/conncomp.py + +

    Results of VisIt Regression Test - queries/conncomp

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    conncomp_1d_lbl0.000.00
    conncomp_1d_count0 modifications totalling 0 lines
    conncomp_1d_centroid0 modifications totalling 0 lines
    conncomp_1d_length0 modifications totalling 0 lines
    conncomp_1d_var_sum0 modifications totalling 0 lines
    conncomp_1d_weighted_var_sum0 modifications totalling 0 lines
    conncomp_1d_summary0 modifications totalling 0 lines
    conncomp_2d_lbl0.000.00
    conncomp_2d_count0 modifications totalling 0 lines
    conncomp_2d_centroid0 modifications totalling 0 lines
    conncomp_2d_area0 modifications totalling 0 lines
    conncomp_2d_var_sum0 modifications totalling 0 lines
    conncomp_2d_weighted_var_sum0 modifications totalling 0 lines
    conncomp_2d_summary0 modifications totalling 0 lines
    conncomp_3d_t10.000.00
    conncomp_3d_count_t10 modifications totalling 0 lines
    conncomp_3d_centroid_t10 modifications totalling 0 lines
    conncomp_3d_volume_t10 modifications totalling 0 lines
    conncomp_3d_summary_t10 modifications totalling 0 lines
    conncomp_3d_t20.000.00
    conncomp_3d_count_t20 modifications totalling 0 lines
    conncomp_3d_centroid_t20 modifications totalling 0 lines
    conncomp_3d_volume_t20 modifications totalling 0 lines
    conncomp_3d_summary_t20 modifications totalling 0 lines
    conncomp_3d_t30.000.00
    conncomp_3d_count_t30 modifications totalling 0 lines
    conncomp_3d_centroid_t30 modifications totalling 0 lines
    conncomp_3d_volume_t30 modifications totalling 0 lines
    conncomp_3d_summary_t30 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_conncomp_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_conncomp_py.html new file mode 100644 index 000000000..e6a88f7be --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_conncomp_py.html @@ -0,0 +1,240 @@ +queries/conncomp.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  conncomp.py
    +#  Tests:      queries     - connected components related 
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       February 22, 2006
    +#
    +#  Modifications:
    +#    Cyrus Harrison, Thu Aug 23 09:42:43 PDT 2007
    +#    Turned off ghost neighbors optimization for exodus balls dataset.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Wed Jun 15 14:21:10 PDT 2011
    +#    Added tests for line meshes.
    +#
    +#    Kathleen Biagas, Fri Feb  7 08:00:38 PST 2014
    +#    Changed sil selection for Exodus.
    +# ----------------------------------------------------------------------------
    +
    +import json
    +
    +OpenDatabase(silo_data_path("rect2d.silo"), 0)
    +
    +
    +DefineScalarExpression("_ccl_test_1d", "conn_components(quadmesh2d)")
    +
    +#Add an iso surface
    +AddPlot("Pseudocolor", "_ccl_test_1d")
    +AddOperator("Isosurface")
    +
    +isatts = IsosurfaceAttributes()
    +isatts .variable = "d"
    +SetOperatorOptions(isatts)
    +
    +#Add Defer Exp Op
    +AddOperator("DeferExpression")
    +DeferExpressionAtts = DeferExpressionAttributes()
    +DeferExpressionAtts.exprs = ("_ccl_test_1d")
    +SetOperatorOptions(DeferExpressionAtts)
    +
    +DrawPlots()
    +
    +Test("conncomp_1d_lbl")
    +
    +ChangeActivePlotsVar("d")
    +
    +Query("Number of Connected Components")
    +res = GetQueryOutputString()
    +TestText("conncomp_1d_count",res)
    +
    +Query("Connected Component Centroids")
    +res = GetQueryOutputString()
    +TestText("conncomp_1d_centroid",res)
    +
    +Query("Connected Component Length")
    +res = GetQueryOutputString()
    +TestText("conncomp_1d_length",res)
    +
    +Query("Connected Component Variable Sum")
    +res = GetQueryOutputString()
    +TestText("conncomp_1d_var_sum",res)
    +
    +Query("Connected Component Weighted Variable Sum")
    +res = GetQueryOutputString()
    +TestText("conncomp_1d_weighted_var_sum",res)
    +
    +Query("Connected Components Summary")
    +res = GetQueryOutputObject()
    +TestText("conncomp_1d_summary",json.dumps(res,indent=2))
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_rect2d.silo"), 0)
    +
    +DefineScalarExpression("_rand_test_2d", "rand(mesh1)")
    +DefineScalarExpression("_ccl_test_2d", "conn_components(mesh1)")
    +
    +AddPlot("Pseudocolor", "_ccl_test_2d")
    +# Add isovolume op to create components
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -1e+37
    +IsovolumeAtts.ubound = 0.3
    +IsovolumeAtts.variable = "_rand_test_2d"
    +SetOperatorOptions(IsovolumeAtts)
    +
    +#Add Defer Exp Op
    +AddOperator("DeferExpression")
    +DeferExpressionAtts = DeferExpressionAttributes()
    +DeferExpressionAtts.exprs = ("_ccl_test_2d")
    +SetOperatorOptions(DeferExpressionAtts)
    +
    +DrawPlots()
    +
    +Test("conncomp_2d_lbl")
    +
    +# test the connected components related queries
    +Query("Number of Connected Components")
    +res = GetQueryOutputString()
    +TestText("conncomp_2d_count",res)
    +
    +Query("Connected Component Centroids")
    +res = GetQueryOutputString()
    +TestText("conncomp_2d_centroid",res)
    +
    +Query("Connected Component Area")
    +res = GetQueryOutputString()
    +TestText("conncomp_2d_area",res)
    +
    +Query("Connected Component Variable Sum")
    +res = GetQueryOutputString()
    +TestText("conncomp_2d_var_sum",res)
    +
    +Query("Connected Component Weighted Variable Sum")
    +res = GetQueryOutputString()
    +TestText("conncomp_2d_weighted_var_sum",res)
    +
    +Query("Connected Components Summary")
    +res = GetQueryOutputObject()
    +TestText("conncomp_2d_summary",json.dumps(res,indent=2))
    +
    +DeleteAllPlots()
    +
    +DefineScalarExpression("_ccl_test_3d", "conn_components(Mesh,1)")
    +# exodus test
    +OpenDatabase(data_path("exodus_test_data/balls.e.4.* database"))
    +
    +
    +AddPlot("Pseudocolor", "_ccl_test_3d")
    +silr = SILRestriction()
    +silr.TurnOnAll()
    +for silSet in (5,6,7):
    +    silr.TurnOffSet(silSet)
    +SetPlotSILRestriction(silr)
    +
    +AddOperator("Displace")
    +DisplaceAtts = DisplaceAttributes()
    +DisplaceAtts.factor = 1
    +DisplaceAtts.variable = "DISPL"
    +SetOperatorOptions(DisplaceAtts)
    +DisplaceAtts = DisplaceAttributes()
    +DisplaceAtts.factor = 1
    +DisplaceAtts.variable = "DISPL"
    +SetOperatorOptions(DisplaceAtts)
    +
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleX = 100
    +t.scaleY = 100
    +t.scaleZ = 100
    +SetOperatorOptions(t)
    +
    +d = DeferExpressionAttributes()
    +d.exprs = ("_ccl_test_3d")
    +SetDefaultOperatorOptions(d)
    +AddOperator("DeferExpression")
    +
    +
    +v=GetView3D()
    +v.viewNormal=(.1,.1, 0)
    +v.viewUp=(0, 0, 1 )
    +SetView3D(v)
    +
    +DrawPlots()
    +
    +# test as displacement evolves
    +Test("conncomp_3d_t1");
    +
    +# test the connected components related queries
    +Query("Number of Connected Components")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_count_t1",res)
    +
    +Query("Connected Component Centroids")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_centroid_t1",res)
    +
    +
    +Query("Connected Component Volume")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_volume_t1",res)
    +
    +Query("Connected Components Summary")
    +res = GetQueryOutputObject()
    +TestText("conncomp_3d_summary_t1",json.dumps(res,indent=2))
    +
    +
    +SetTimeSliderState(11);
    +# test as displacement evolves
    +Test("conncomp_3d_t2");
    +
    +Query("Number of Connected Components")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_count_t2",res)
    +
    +Query("Connected Component Centroids")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_centroid_t2",res)
    +
    +
    +Query("Connected Component Volume")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_volume_t2",res)
    +
    +Query("Connected Components Summary")
    +res = GetQueryOutputObject()
    +TestText("conncomp_3d_summary_t2",json.dumps(res,indent=2))
    +
    +
    +SetTimeSliderState(20);
    +Test("conncomp_3d_t3");
    +
    +Query("Number of Connected Components")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_count_t3",res)
    +
    +Query("Connected Component Centroids")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_centroid_t3",res)
    +
    +
    +Query("Connected Component Volume")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_volume_t3",res)
    +
    +
    +Query("Connected Components Summary")
    +res = GetQueryOutputObject()
    +TestText("conncomp_3d_summary_t3",json.dumps(res,indent=2))
    +
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_consistencyChecks.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_consistencyChecks.html new file mode 100644 index 000000000..9c2be8bba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_consistencyChecks.html @@ -0,0 +1,64 @@ + +Results for queries/consistencyChecks.py + +

    Results of VisIt Regression Test - queries/consistencyChecks

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    consistencyChecks_000.000.00
    consistencyChecks_010.000.00
    consistencyChecks_020.000.00
    consistencyChecks_030.000.00
    consistencyChecks_040 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_consistencyChecks_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_consistencyChecks_py.html new file mode 100644 index 000000000..779fc302d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_consistencyChecks_py.html @@ -0,0 +1,114 @@ +queries/consistencyChecks.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pickQueryCombo.py #
    +#  Tests:      queries     - Pick, Zone Center, Node Coords,
    +#              operators   - OnionPeel
    +#
    +#  Notes:
    +#     Tests consistency between Pick/Query/OnionPeel when using the same
    +#     node/zone ids for each.
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       September 9, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +testNum = 0
    +
    +def PickCurv2D():
    +    # Ensures that Pick/Query/OnionPeel operator correctly and consistently
    +    # with the ghost data from this ds, which affects the numbering of zones
    +    global testNum
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +    AddPlot("Mesh", "curvmesh2d")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +    zoneID = 482
    +    #do a pick before Onion peel
    +    p1 = PickByZone(zoneID)
    +    nodeID = p1["incident_nodes"][0]
    +    #Add Onion peel of same zone, see if it ends up under the pick letter
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.index = zoneID
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    v = GetView2D()
    +    v.windowCoords =(1.33, 4.89, 0.18, 3.43)
    +    SetView2D(v)
    +    Test("consistencyChecks_%02d"%testNum)
    +    testNum = testNum+1
    +
    +    ClearPickPoints()
    +
    +    #Now add a Boundary plot, do the same pick, see if get same results.
    +    AddPlot("Boundary", "mat1")
    +    DrawPlots()
    +    p2 = PickByZone(zoneID)
    +    s = ""
    +    if p2['point'] == p1['point']:
    +        s = s + "PickByZone on Pseudcolor and Boundary plots yielded same point.\n"
    +    else:
    +        s = s + "PickByZone on Pseudcolor and Boundary plots DID NOT yield same point.\n"
    +    SetQueryOutputToObject()
    +    q = Query("Zone Center", element=zoneID)
    +    if (q['center'] == p1['point']):
    +        s = s + "Zone Center query returned same coords as Pick.\n"
    +    else:
    +        s = s + "Zone Center query returned different coords than Pick.\n"
    +
    +    #Now feed the zone center as coordinates into a pick:
    +    p3 = ZonePick(coord = q['center'])
    +    s = s + "Pick using coord from Zone Center query returned zone: %d, (should be: %d).\n" %(p3['zone_id'], zoneID)
    +
    +    Test("consistencyChecks_%02d"%testNum)
    +    testNum = testNum+1
    +    ClearPickPoints()
    +
    +    # Now do the same type of tests for Node Pick
    +    DeleteActivePlots()
    +    SetActivePlots(1)
    +    RemoveLastOperator()
    +
    +    p1n = PickByNode(nodeID)
    +    AddOperator("OnionPeel")
    +    op.seedType = op.SeedNode
    +    op.index = nodeID
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    Test("consistencyChecks_%02d"%testNum)
    +    testNum = testNum+1
    +
    +    ClearPickPoints()
    +    #Now add a Boundary plot, do the same pick, see if get same results.
    +    AddPlot("Boundary", "mat1")
    +    DrawPlots()
    +
    +    p2n = PickByNode(nodeID)
    +    if p2n['point'] == p1n['point']:
    +        s = s + "PickByNode on Pseudcolor and Boundary plots yielded same point.\n"
    +    else:
    +        s = s + "PickByNode on Pseudcolor and Boundary plots DID NOT yield same point.\n"
    +    qn = Query("Node Coords", element=nodeID)
    +    if (qn['coord'] == p1n['point']):
    +        s = s + "Node Coords query returned same coords as Pick.\n"
    +    else:
    +        s = s + "Node Coords query returned different coords than Pick.\n"
    +
    +    p3n = NodePick(coord = qn['coord'])
    +    s = s + "Pick using coord from Node Coord query returned node: %d, (should be: %d).\n" %(p3n['node_id'], nodeID)
    +
    +    Test("consistencyChecks_%02d"%testNum)
    +    testNum = testNum+1
    +
    +    TestText("consistencyChecks_%02d"%testNum, s)
    +    testNum = testNum+1
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("curv2d.silo"))
    +
    +PickCurv2D()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_curvature.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_curvature.html new file mode 100644 index 000000000..7ba06faa4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_curvature.html @@ -0,0 +1,54 @@ + +Results for queries/curvature.py + +

    Results of VisIt Regression Test - queries/curvature

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    curvature_010 modifications totalling 0 lines
    curvature_020.000.00
    curvature_030 modifications totalling 0 lines
    curvature_040 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_curvature_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_curvature_py.html new file mode 100644 index 000000000..c5f72b282 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_curvature_py.html @@ -0,0 +1,63 @@ +queries/curvature.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curvature.py
    +#  Tests:      queries     - curvature 
    +#
    +#  Defect ID:  VisIt00006746
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 16, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +DefineScalarExpression("curvature", "mean_curvature(quadmesh3d)")
    +AddPlot("Pseudocolor", "curvature")
    +AddOperator("Isosurface")
    +i = IsosurfaceAttributes()
    +i.contourMethod = i.Value
    +i.contourValue = 0.5
    +i.variable = "d"
    +SetOperatorOptions(i)
    +DrawPlots()
    +
    +error = GetLastError()
    +TestText("curvature_01", error)
    +
    +d = DeferExpressionAttributes()
    +d.exprs = ("curvature")
    +AddOperator("DeferExpression")
    +SetOperatorOptions(d)
    +DrawPlots()
    +Test("curvature_02")
    +
    +Query("Weighted Variable Sum")
    +s = GetQueryOutputValue()
    +
    +Query("3D surface area")
    +a = GetQueryOutputValue()
    +
    +text = "The average mean curvature (manual) is %f\n" %(s/a)
    +TestText("curvature_03", text)
    +
    +DeleteAllPlots()
    +AddPlot("Contour", "d")
    +c = ContourAttributes()
    +c.contourMethod = c.Value
    +c.contourValue = 0.5
    +SetPlotOptions(c)
    +DrawPlots()
    +
    +Query("Average Mean Curvature")
    +t = GetQueryOutputString()
    +TestText("curvature_04", t)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_database.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_database.html new file mode 100644 index 000000000..e968ec228 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_database.html @@ -0,0 +1,100 @@ + +Results for queries/database.py + +

    Results of VisIt Regression Test - queries/database

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    QueryBigSil0 modifications totalling 0 lines
    QueryContours0 modifications totalling 0 lines
    QueryCurv2d0 modifications totalling 0 lines
    QueryCurv3d0 modifications totalling 0 lines
    QueryGlobe0 modifications totalling 0 lines
    QueryMultiUcd3d0 modifications totalling 0 lines
    QueryNoise0 modifications totalling 0 lines
    QueryRect2d0 modifications totalling 0 lines
    QuerySid970 modifications totalling 0 lines
    QueryMinMaxCurve0 modifications totalling 0 lines
    QuerySAMRAI0 modifications totalling 0 lines
    QueryCurves0 modifications totalling 0 lines
    QueryHistogram0 modifications totalling 0 lines
    QueryGlobalId0 modifications totalling 0 lines
    QueryZR_RZ0 modifications totalling 0 lines
    QueryArbPoly0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_database_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_database_py.html new file mode 100644 index 000000000..0eab44d8c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_database_py.html @@ -0,0 +1,1083 @@ +queries/database.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  database.py #
    +#  Tests:      queries     - Database
    +#
    +#  Defect ID:  '6356
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       July 11, 2003 
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from FilledBoundary plots.
    +#
    +#    Kathleen Bonnell, Wed Oct 29 16:06:23 PST 2003 
    +#    Add PlotMinMax query. 
    +#
    +#    Kathleen Bonnell, Wed Dec  3 11:05:51 PST 2003 
    +#    Add SpatialExtents query. 
    +#
    +#    Kathleen Bonnell, Wed Dec  3 13:20:04 PST 2003 
    +#    Test SpatialExtents query with 'actual' and 'original' as args. 
    +#
    +#    Kathleen Bonnell, Mon Dec 22 16:46:27 PST 2003 
    +#    Added test for SAMRAI data.
    +#
    +#    Kathleen Bonnell, Fri Feb  6 10:56:25 PST 2004 
    +#    Test MinMax query with 'actual' and 'original' as args. 
    +#
    +#    Kathleen Bonnell, Fri Feb 20 17:05:04 PST 2004 
    +#    Added NumNodes and NumZones tests.
    +#
    +#    Kathleen Bonnell, Fri Mar  5 15:41:54 PST 2004 
    +#    Added QueryCurves tests, testing "Area Between Curves" queries. 
    +#
    +#    Jeremy Meredith, Mon Apr  5 14:19:47 PDT 2004
    +#    The Curv2D query was not getting boundary data.  I added code to remove
    +#    a couple materials so that it reflected the actual usage of this query.
    +#
    +#    Hank Childs, Tue Apr 13 12:58:04 PDT 2004
    +#    Rename surface area query.
    +#
    +#    Kathleen Bonnell, Tue Apr 20 09:42:30 PDT 2004 
    +#    Added QueryMultiWindow. 
    +#
    +#    Kathleen Bonnell, Wed May 19 16:31:04 PDT 2004
    +#    Moved QueryMultiWindow to its own .py file. 
    +#
    +#    Kathleen Bonnell, Thu Aug 12 13:32:35 PDT 2004 
    +#    Added QueryHistogram. 
    +#
    +#    Kathleen Bonnell, Wed Dec 29 07:57:35 PST 2004 
    +#    Added QueryGlobalId. 
    +#
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Hank Childs, Fri Jul  1 08:53:41 PDT 2005
    +#    Test getting a vector from the spatial extents query. ['6356]
    +#
    +#    Kathleen Bonnell, Wed Aug 10 15:07:50 PDT 2005 
    +#    Test Weighted Variable Sum Query with a postive-values variable and
    +#    a negative-values variable.  ('6453).
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Kathleen Bonnell, Wed Feb  8 11:08:01 PST 2006 
    +#    Added QueryZR_RZ. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
    +#    behavior when an operator is added.
    +#
    +#    Cyrus Harrison, Mon Aug 16 15:51:46 PDT 2010
    +#    Added test for var & wvar sum of an array variable.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Use named arguments. 
    +#
    +#    Kathleen Biagas, Thu Sep 11 11:40:25 PDT 2014
    +#    Add QueryArbPoly.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin(("SAMRAI", "Silo", "VTK"))
    +
    +def QueryRect2d():
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Compactness")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Eulerian")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("2D area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    AddOperator("Transform")
    +    transform = TransformAttributes()
    +    transform.doScale = 1
    +    transform.scaleX = 10
    +    SetOperatorOptions(transform)
    +    DrawPlots()
    +
    +    Query("SpatialExtents", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    DeleteAllPlots()
    +
    +    DefineArrayExpression("array_var","array_compose(d,p,d,p)")
    +    AddPlot("Label","array_var")
    +    DrawPlots()
    +    Query("Variable Sum")
    +    s += GetQueryOutputString() + "\n"
    +    Query("Weighted Variable Sum")
    +    s += GetQueryOutputString() + "\n"
    +
    +    TestText("QueryRect2d", s)
    +    DeleteAllPlots()
    +
    +
    +def QueryMultiUcd3d():
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Eulerian")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    v = GetQueryOutputValue()
    +    estr = "Exts from vector are [%f-%f, %f-%f, %f-%f]\n" %(v[0], v[1], v[2], v[3], v[4], v[5])
    +    s = s + estr
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    silr= SILRestriction();
    +    silr.TurnOffAll()
    +    silr.TurnOnSet(1)
    +    silr.TurnOnSet(3)
    +    silr.TurnOnSet(5)
    +    silr.TurnOnSet(10)
    +    SetPlotSILRestriction(silr)
    +    DrawPlots()
    +
    +    s = s + "\nAFTER APPLYING SIL RESTRICTION:\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +
    +    TestText("QueryMultiUcd3d", s)
    +    DeleteAllPlots()
    +
    +def QueryContours():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Contour", "hardyglobal")
    +    c = ContourAttributes()
    +    c.contourNLevels = 10
    +    SetPlotOptions(c)
    +    DrawPlots()
    +
    +    s = "For 10 contours of noise.silo (hardyglobal)\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n\nMinMax Actual:"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    c.contourNLevels = 4
    +    SetPlotOptions(c)
    +    s  = s + "\nFor 4 contours of noise.silo (hardyglobal)\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n\nMinMax Actual:"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Contour", "d")
    +    c.contourNLevels = 10
    +    SetPlotOptions(c)
    +    DrawPlots()
    +
    +    s =  s + "\nFor 10 contours of rect3d.silo (d)\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    c.contourNLevels = 4
    +    SetPlotOptions(c)
    +    s  = s + "\nFor 4 contours of rect3d.silo (d)\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QueryContours", s)
    +
    +    DeleteAllPlots()
    +
    +
    +def QueryCurv2d():
    +    # Testing database queries on curv2d.
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    TurnMaterialsOff("2")
    +    TurnMaterialsOff("3")
    +    Query("Compactness")
    +    TurnMaterialsOn()
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Eulerian")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("2D area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    DeleteAllPlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = s + "\nMinMax Actual:" + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +
    +    TestText("QueryCurv2d", s)
    +    DeleteAllPlots()
    +
    +def QueryCurv3d():
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Pseudocolor", "p")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Eulerian")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QueryCurv3d", s)
    +    DeleteAllPlots()
    +
    +def QueryGlobe():
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Eulerian")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    AddOperator("Clip")
    +    clip = ClipAttributes()
    +    clip.plane1Origin = (0.2, 0.3, 0.4)
    +    clip.plane1Normal = (1, 1, 1)
    +    SetOperatorOptions(clip)
    +    DrawPlots()
    +
    +    s = s + "\nAFTER CLIPPING:\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +
    +    DeleteAllPlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = s + "\nMinMax Actual:" + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +
    +    ChangeActivePlotsVar("disp")
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = s + "MinMAx Actual:" + GetQueryOutputString()
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "t")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + "\n" + GetQueryOutputString()
    +    DefineScalarExpression("neg_t", "-t")
    +    ChangeActivePlotsVar("neg_t")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + "\n" + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QueryGlobe", s)
    +    DeleteAllPlots()
    +
    +def QueryNoise():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    s = "For noise.silo(haryglobal)\n"
    +    Query("Eulerian")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    ChangeActivePlotsVar("hgslice")
    +    DrawPlots()
    +    # Do some database queries.
    +    s = s + "\nFor noise.silo(hgslice)\n"
    +    Query("Compactness")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Eulerian")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    DeleteAllPlots()
    +    AddPlot("Vector", "airVfGradient")
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = s + "\nMinMax Actual:" + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +
    +    ChangeActivePlotsVar("grad")
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = s + "MinMax Actual:" + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +
    +    TestText("QueryNoise", s)
    +    DeleteAllPlots()
    +
    +def QuerySid97():
    +    OpenDatabase(silo_data_path("sid97.silo"))
    +
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("3D surface area")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QuerySid97", s)
    +    DeleteAllPlots()
    +
    +def QueryBigSil():
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Eulerian")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s+GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QueryBigSil", s)
    +    DeleteAllPlots()
    +
    +def QueryMinMaxCurve():
    +    OpenDatabase(data_path("curve_test_data/curve.visit"))
    +
    +    AddPlot("Curve", "parabolic");
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = "\n"
    +    frames = (0, 27, 56, 73, 91);
    +    for frame in frames:
    +        SetTimeSliderState(frame)
    +        s = s + "For entire curve at frame %d:" %frame
    +        Query("MinMax", use_actual_data=1)
    +        s = s + GetQueryOutputString()
    +
    +    AddOperator("Clip")
    +    clip = ClipAttributes()
    +    clip.planeInverse = 1
    +    clip.plane1Origin = (0.5, 0, 0)
    +    SetOperatorOptions(clip)
    +    DrawPlots()
    +    for frame in frames:
    +        SetTimeSliderState(frame)
    +        s = s + "For clipped curve at frame %d:" %frame
    +        Query("MinMax", use_actual_data=1)
    +        s = s + GetQueryOutputString()
    +
    +    TestText("QueryMinMaxCurve", s)
    +    DeleteAllPlots()
    +
    +def QuerySAMRAI():
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    AddPlot("Pseudocolor", "Primitive Var _number_0")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Eulerian")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QuerySAMRAI", s)
    +    DeleteAllPlots()
    +
    +def QueryCurves():
    +    # in responses to VisIt00004449, Area between 2 curves query crashes
    +    # viewer if curves not from same database.
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    # do some lineouts so we can test curves from same database.
    +    Lineout((0.4, 1.04, 0), (0.4, 0.1, 0))
    +    SetActiveWindow(1)
    +    Lineout((0.02, 0.49, 0), (0.77, 0.49, 0))
    +
    +    SetActiveWindow(2)
    +    SetActivePlots((0, 1))
    +    Query("Area Between Curves")
    +    s = GetQueryOutputString() + "\n"
    +    Query("L2Norm Between Curves")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    # now add a curve from a different database, and test against 
    +    # previous curves.
    +    OpenDatabase(data_path("curve_test_data/c000.curve"))
    +
    +    AddPlot("Curve", "going_up")
    +    DrawPlots()
    +
    +    SetActivePlots((0, 2))
    +    Query("Area Between Curves")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("L2Norm Between Curves")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    SetActivePlots((1, 2))
    +    Query("Area Between Curves")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("L2Norm Between Curves")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    TestText("QueryCurves", s)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +def QueryHistogram():
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Histogram", "d")
    +    DrawPlots()
    +
    +    Query("Integrate")
    +    s = "Histogram(d):  " + GetQueryOutputString() + "\n"
    +
    +    ChangeActivePlotsVar("p")
    +    Query("Integrate")
    +    s = s + "Histogram(p):  " + GetQueryOutputString() + "\n"
    +
    +    ChangeActivePlotsVar("u")
    +    Query("Integrate")
    +    s = s + "Histogram(u):  " + GetQueryOutputString() + "\n"
    +
    +    ChangeActivePlotsVar("v")
    +    Query("Integrate")
    +    s = s + "Histogram(v):  " + GetQueryOutputString() + "\n\n"
    +
    +    TestText("QueryHistogram", s)
    +    DeleteAllPlots()
    +
    +def QueryGlobalId():
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +
    +    Query("Global Zone Center", element=15);
    +    s = GetQueryOutputString() + "\n"
    +
    +    Query("Zone Center", element=0, domain=2)
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    Query("Global Node Coords", element=16)
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    Query("Node Coords", element=1, domain=2)
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    TestText("QueryGlobalId", s)
    +    DeleteAllPlots()
    +
    +def QueryZR_RZ():
    +    s = "RZ UGRID:\n    "
    +    OpenDatabase(data_path("vtk_cylindrical_test_data/ugrid_RZ.vtk"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "ZR UGRID:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_ZR.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "XY UGRID:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_XY.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    AddOperator("Transform")
    +    translate = TransformAttributes()
    +    translate.doTranslate = 1
    +    translate.translateX = 5
    +    translate.translateY = 17
    +    SetOperatorOptions(translate)
    +    DrawPlots()
    +
    +    s = s + "XY UGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_ZR.vtk"))
    +
    +    DrawPlots()
    +
    +    s = s + "ZR UGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_RZ.vtk"))
    +
    +    DrawPlots()
    +
    +    s = s + "RZ UGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    DeleteAllPlots()
    +
    +    s = s + "RZ RGRID:\n    "
    +    OpenDatabase(data_path("vtk_cylindrical_test_data/rect_RZ.vtk"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "ZR RGRID:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_ZR.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "XY RGRID:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_XY.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    AddOperator("Transform")
    +    translate = TransformAttributes()
    +    translate.doTranslate = 1
    +    translate.translateX = 5
    +    translate.translateY = 17
    +    SetOperatorOptions(translate)
    +    DrawPlots()
    +
    +    s = s + "XY RGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_ZR.vtk"))
    +
    +    DrawPlots()
    +    s = s + "ZR RGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_RZ.vtk"))
    +
    +    DrawPlots()
    +
    +    s = s + "RZ RGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    DeleteAllPlots()
    +
    +    s = s + "RZ POLY:\n    "
    +    OpenDatabase(data_path("vtk_cylindrical_test_data/poly_RZ.vtk"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "ZR POLY:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_ZR.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "XY POLY:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_XY.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    AddOperator("Transform")
    +    translate = TransformAttributes()
    +    translate.doTranslate = 1
    +    translate.translateX = 5
    +    translate.translateY = 17
    +    SetOperatorOptions(translate)
    +    DrawPlots()
    +    s = s + "XY POLY TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_ZR.vtk"))
    +
    +    DrawPlots()
    +    s = s + "ZR POLY TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_RZ.vtk"))
    +
    +    DrawPlots()
    +
    +    s = s + "RZ POLY TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    TestText("QueryZR_RZ", s)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_cylindrical_test_data/poly_RZ.vtk"))
    +
    +def QueryArbPoly():
    +    SetQueryOutputToString()
    +
    +    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +    AddPlot("Mesh", "3D/mesh1")
    +    DrawPlots()
    +    s = "arbpoly-zoohybrid:\n"
    +    s = s + Query("NumZones", use_actual_data=1) + "\n"
    +    s = s + Query("NumZones", use_actual_data=0) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=1) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=0) + "\n"
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +    OpenDatabase(silo_data_path("poly3d.silo"))
    +    AddPlot("Mesh", "ucdmesh3d")
    +    DrawPlots()
    +    s = s + "\npoly3d:\n"
    +    s = s + Query("NumZones", use_actual_data=1) + "\n"
    +    s = s + Query("NumZones", use_actual_data=0) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=1) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=0) + "\n"
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("poly3d.silo"))
    +
    +    OpenDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
    +    AddPlot("Mesh","MMESH")
    +    DrawPlots()
    +    s = s + "\nOvlTop:" + "\n"
    +    s = s + Query("NumZones", use_actual_data=1) + "\n"
    +    s = s + Query("NumZones", use_actual_data=0) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=1) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=0) + "\n"
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
    +
    +    OpenDatabase(silo_data_path("arbpoly.silo"))
    +    AddPlot("Mesh", "clipped_hex")
    +    DrawPlots()
    +    s = s + "\narbpoly:" + "\n"
    +    s = s + Query("NumZones", use_actual_data=1) + "\n"
    +    s = s + Query("NumZones", use_actual_data=0) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=1) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=0) + "\n"
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("arbpoly.silo"))
    +    TestText("QueryArbPoly", s)
    +
    +
    +def QueryMain():
    +    QueryBigSil()
    +    QueryContours()
    +    QueryCurv2d()
    +    QueryCurv3d()
    +    QueryGlobe()
    +    QueryMultiUcd3d()
    +    QueryNoise()
    +    QueryRect2d()
    +    QuerySid97()
    +    QueryMinMaxCurve()
    +    QuerySAMRAI()
    +    QueryCurves()
    +    QueryHistogram()
    +    QueryGlobalId()
    +    QueryZR_RZ()
    +    QueryArbPoly()
    +
    +# Call the main function
    +TurnOnAllAnnotations()
    +QueryMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_error_queries.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_error_queries.html new file mode 100644 index 000000000..4342c3316 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_error_queries.html @@ -0,0 +1,100 @@ + +Results for queries/error_queries.py + +

    Results of VisIt Regression Test - queries/error_queries

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Zone_Center_Curv2d_Valid_Str
     "The center of  zone 10 is (0.923738, 1.81294)." .eq. "The center of  zone 10 is (0.923738, 1.81294)." : True
    Zone_Center_Curv2d_Valid_Val
     (0.9237379878759384, 1.8129377663135529) .eq. (0.9237379878759384, 1.8129377663135529)
     (prec=5) : True
    Zone_Center_Curv2d_Invalid_Str
     "The center of zone 1000000 could not be determined." .eq. "The center of zone 1000000 could not be determined." : True
    Zone_Center_Curv2d_Invalid_Val
     "None" .eq. "None" : True
    Node_Coords_Curv2d_Valid_Str
     "The coords of  node 10 are (1, 1.73205)." .eq. "The coords of  node 10 are (1, 1.73205)." : True
    None_Coords_Curv2d_Valid_Val
     (1.0, 1.7320507764816284) .eq. (1.0, 1.7320507764816284)
     (prec=5) : True
    Node_Coords_Curv2d_Invalid_Str
     "The coords of node 1000000 could not be determined." .eq. "The coords of node 1000000 could not be determined." : True
    Node_Coords_Curv2d_Invalid_Val
     "None" .eq. "None" : True
    Zone_Center_Multi_Ucd3d_Valid_Str
     "The center of zone 10 (domain 5) is (0.463913, 3.91959, 6.33333)." .eq. "The center of zone 10 (domain 5) is (0.463913, 3.91959, 6.33333)." : True
    Zone_Center_Multi_Ucd3d_Valid_Val
     (0.4639131799340248, 3.9195945262908936, 6.333332777023315) .eq. (0.4639131799340248, 3.9195945262908936, 6.333332777023315)
     (prec=5) : True
    Zone_Center_Multi_Ucd3d_Invalid_Str
     "The center of zone 1000000 (domain 5) could not be determined." .eq. "The center of zone 1000000 (domain 5) could not be determined." : True
    Zone_Center_Multi_Ucd3d_Invalid_Val
     "None" .eq. "None" : True
    Node_Coords_Multi_Ucd3d_Valid_Str
     "The coords of node 10 (domain 5) are (2.96558, 2.53285, 0)." .eq. "The coords of node 10 (domain 5) are (2.96558, 2.53285, 0)." : True
    None_Coords_Multi_Ucd3d_Valid_Val
     (2.9655816555023193, 2.532846450805664, 0.0) .eq. (2.9655816555023193, 2.532846450805664, 0.0)
     (prec=5) : True
    Node_Coords_Multi_Ucd3d_Invalid_Str
     "The coords of node 1000000 (domain 5) could not be determined." .eq. "The coords of node 1000000 (domain 5) could not be determined." : True
    Node_Coords_Multi_Ucd3d_Invalid_Val
     "None" .eq. "None" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_error_queries_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_error_queries_py.html new file mode 100644 index 000000000..52519466f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_error_queries_py.html @@ -0,0 +1,89 @@ +queries/error_queries.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  error_quries.py
    +#  Tests:      queries     - zone center, node coords
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       August 3, 2023
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Test with a single domain 2d curvilinear mesh
    +#
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +Query("Zone Center", domain=0, element=10)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Zone_Center_Curv2d_Valid_Str", s, "The center of  zone 10 is (0.923738, 1.81294).")
    +TestValueEQ("Zone_Center_Curv2d_Valid_Val", v, (0.9237379878759384, 1.8129377663135529))
    +
    +Query("Zone Center", domain=0, element=1000000)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Zone_Center_Curv2d_Invalid_Str", s, "The center of zone 1000000 could not be determined.")
    +TestValueEQ("Zone_Center_Curv2d_Invalid_Val", v, None)
    +
    +Query("Node Coords", domain=0, element=10)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Node_Coords_Curv2d_Valid_Str", s, "The coords of  node 10 are (1, 1.73205).")
    +TestValueEQ("None_Coords_Curv2d_Valid_Val", v, (1.0, 1.7320507764816284))
    +
    +Query("Node Coords", domain=0, element=1000000)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Node_Coords_Curv2d_Invalid_Str", s, "The coords of node 1000000 could not be determined.")
    +TestValueEQ("Node_Coords_Curv2d_Invalid_Val", v, None)
    +
    +DeleteAllPlots()
    +
    +#
    +# Test with a multi domain 3d unstructured mesh
    +#
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +Query("Zone Center", domain=5, element=10)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Zone_Center_Multi_Ucd3d_Valid_Str", s, "The center of zone 10 (domain 5) is (0.463913, 3.91959, 6.33333).")
    +TestValueEQ("Zone_Center_Multi_Ucd3d_Valid_Val", v, (0.4639131799340248, 3.9195945262908936, 6.333332777023315))
    +
    +Query("Zone Center", domain=5, element=1000000)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Zone_Center_Multi_Ucd3d_Invalid_Str", s, "The center of zone 1000000 (domain 5) could not be determined.")
    +TestValueEQ("Zone_Center_Multi_Ucd3d_Invalid_Val", v, None)
    +
    +Query("Node Coords", domain=5, element=10)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Node_Coords_Multi_Ucd3d_Valid_Str", s, "The coords of node 10 (domain 5) are (2.96558, 2.53285, 0).")
    +TestValueEQ("None_Coords_Multi_Ucd3d_Valid_Val", v, (2.9655816555023193, 2.532846450805664, 0.0))
    +
    +Query("Node Coords", domain=5, element=1000000)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Node_Coords_Multi_Ucd3d_Invalid_Str", s, "The coords of node 1000000 (domain 5) could not be determined.")
    +TestValueEQ("Node_Coords_Multi_Ucd3d_Invalid_Val", v, None)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_flatten.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_flatten.html new file mode 100644 index 000000000..a2632163f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_flatten.html @@ -0,0 +1,1605 @@ + +Results for queries/flatten.py + +

    Results of VisIt Regression Test - queries/flatten

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect2d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect3d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv2d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv3d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd2d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd3d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect2d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect3d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv2d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv3d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd2d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd3d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect2d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect3d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv2d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv3d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd2d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd3d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    BoxSelection
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ShouldHaveNodeTable
     nodeTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=0) : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ShouldHaveZoneTable
     zoneTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=2) : True
    multi_rect2d_box_nodes0 modifications totalling 0 lines
    multi_rect2d_box_zones0 modifications totalling 0 lines
    BoxSelectionNoSharedMemory
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ShouldHaveNodeTable
     nodeTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=0) : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ShouldHaveZoneTable
     zoneTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=2) : True
    multi_rect2d_box_nodes0 modifications totalling 0 lines
    multi_rect2d_box_zones0 modifications totalling 0 lines
    NoiseWithTensor
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('hardyglobal', 'grad_tensor/c0', 'grad_tensor/c1', 'grad_tensor/c2', 'grad_tensor/c3', 'grad_tensor/c4', 'grad_tensor/c5', 'grad_tensor/c6', 'grad_tensor/c7', 'grad_tensor/c8', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    ShouldHaveNodeTable
     nodeTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('hardyglobal', 'grad_tensor/c0', 'grad_tensor/c1', 'grad_tensor/c2', 'grad_tensor/c3', 'grad_tensor/c4', 'grad_tensor/c5', 'grad_tensor/c6', 'grad_tensor/c7', 'grad_tensor/c8', 'nodeIds', 'nodeDomains')} (prec=5, at=0) : True
    noise_nodes0 modifications totalling 0 lines
    IJKs2D
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=1) : True
    ShouldHaveNodeTable
     nodeTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=0) : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=3) : True
    ShouldHaveZoneTable
     zoneTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=2) : True
    NodeInvalidRow
     -1 .eq. -1 (prec=5) : True
    ZoneInvalidRow
     -1 .eq. -1 (prec=5) : True
    IJKs3D
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=1) : True
    ShouldHaveNodeTable
     nodeTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=0) : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=3) : True
    ShouldHaveZoneTable
     zoneTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=2) : True
    NodeInvalidRow
     -1 .eq. -1 (prec=5) : True
    ZoneInvalidRow
     -1 .eq. -1 (prec=5) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_flatten_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_flatten_py.html new file mode 100644 index 000000000..e6910fea4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_flatten_py.html @@ -0,0 +1,349 @@ +queries/flatten.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial parallel
    +#  CLASSES: nightly
    +#
    +#  Test Case:  flatten.py
    +#
    +#  Tests:      Tests CLI Flatten() function
    +#              (which is avtFlattenQuery underneath)
    +#
    +#  Programmer: Christopher Laganella
    +#  Date:       Fri Feb  4 17:07:24 EST 2022
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +try:
    +    import numpy as np
    +    haveNumpy = True
    +except:
    +    haveNumpy = False
    +
    +import os
    +
    +# NOTE: The following few functions are useful for running this test
    +#  script through the regular visit CLI
    +# def silo_data_path(name):
    +#     return os.path.join("/home/cdl/Development/visit/visit/data/silo_hdf5_test_data",
    +#         name)
    +
    +# def Exit():
    +#     exit()
    +
    +# def TestSection(name):
    +#     print(name)
    +
    +# def TestText(baseline_file, value):
    +#     print("Loading up baseline file %s" % os.path.abspath(baseline_file))
    +
    +# def TestValueEQ(name, v0, v1):
    +#     assert v0 == v1, str(name) + ": " + str(v0) + " != " + str(v1)
    +
    +# def TestValueIN(name, d, k):
    +#     assert k in d, str(name) + ": " + str(v0) + " !in " + str(v1)
    +
    +n = 0
    +basicTestCases = (
    +    (silo_data_path('rect2d.silo'), 'quadmesh2d'),
    +    (silo_data_path('rect3d.silo'), 'quadmesh3d'),
    +    (silo_data_path('curv2d.silo'), 'curvmesh2d'),
    +    (silo_data_path('curv3d.silo'), 'curvmesh3d'),
    +    (silo_data_path('ucd2d.silo'), 'ucdmesh2d'),
    +    (silo_data_path('ucd3d.silo'), 'ucdmesh3d'),
    +)
    +
    +
    +def load_text(name):
    +    fname = name + '.txt'
    +    print("Loading up current file %s" % os.path.abspath(fname))
    +    with open(fname) as f:
    +        return f.read()
    +
    +def define_mesh_expressions(mesh_name):
    +    DefineScalarExpression("nid", "nodeid({})".format(mesh_name))
    +    DefineScalarExpression("zid", "zoneid({})".format(mesh_name))
    +    DefineVectorExpression("vec_nid", "{-nid,nid,-nid}")
    +    DefineVectorExpression("vec_zid", "{-zid,zid,-zid}")
    +
    +def test_basic_table(table):
    +    data = np.asarray(table)
    +    ncol = data.shape[1]
    +    TestValueEQ("NumCols", ncol, 6)
    +
    +    badCol0 = -1
    +    badCol1 = -1
    +    badCol2 = -1
    +    badCol3 = -1
    +    badCol4 = -1
    +    badCol5 = -1
    +    nrow = data.shape[0]
    +    for i in range(0, nrow):
    +        badCol0 = -1 if np.isclose(data[i, 0],  i) and badCol0 < 0 else i
    +        badCol1 = -1 if np.isclose(data[i, 1], -i) and badCol1 < 0 else i
    +        badCol2 = -1 if np.isclose(data[i, 2],  i) and badCol2 < 0 else i
    +        badCol3 = -1 if np.isclose(data[i, 3], -i) and badCol3 < 0 else i
    +        badCol4 = -1 if np.isclose(data[i, 4],  i) and badCol4 < 0 else i
    +        # All the of the basic tests should be 1 domain
    +        badCol5 = -1 if np.isclose(data[i, 5], 0) and badCol5 < 0 else i
    +
    +    if badCol0 > -1:
    +        global n
    +        np.savetxt("table%d.csv" % n, data, delimiter=',')
    +        n = n + 1
    +
    +    TestValueEQ("TestDataCol0", -1, badCol0)
    +    TestValueEQ("TestDataCol1", -1, badCol1)
    +    TestValueEQ("TestDataCol2", -1, badCol2)
    +    TestValueEQ("TestDataCol3", -1, badCol3)
    +    TestValueEQ("TestDataCol4", -1, badCol4)
    +
    +def run_basic_test(db_name, mesh_name, test_type):
    +    OpenDatabase(db_name)
    +    define_mesh_expressions(mesh_name)
    +    AddPlot('Mesh', mesh_name)
    +    DrawPlots()
    +
    +    vars = tuple()
    +    if test_type == 'nz' or test_type == 'zn':
    +        vars = ('nid', 'zid', 'vec_nid', 'vec_zid')
    +    elif 'n' in test_type:
    +        vars = ('nid', 'vec_nid')
    +    elif 'z' in test_type:
    +        vars = ('zid', 'vec_zid')
    +
    +    expect_node_table = 'n' in test_type
    +    expect_zone_table = 'z' in test_type
    +
    +    tables = Flatten(vars, nodeIds=expect_node_table,
    +        zoneIds=expect_zone_table, nodeIJK=False, zoneIJK=False)
    +
    +    have_node_table = 'nodeTable' in tables
    +    if expect_node_table:
    +        TestValueEQ("ShouldHaveNodeTable", have_node_table, True)
    +        TestValueIN("ShouldHaveNodeColumnNames", tables, 'nodeColumnNames')
    +        column_names = tables['nodeColumnNames']
    +        # print(column_names)
    +        TestValueEQ('NodeCol0Name', column_names[0], 'nid')
    +        TestValueEQ('NodeCol1Name', column_names[1], 'vec_nid/c0')
    +        TestValueEQ('NodeCol2Name', column_names[2], 'vec_nid/c1')
    +        TestValueEQ('NodeCol3Name', column_names[3], 'vec_nid/c2')
    +        TestValueEQ('NodeCol4Name', column_names[4], 'nodeIds')
    +        TestValueEQ('NodeCol5Name', column_names[5], 'nodeDomains')
    +        test_basic_table(tables['nodeTable'])
    +    else:
    +        TestValueEQ("ShouldNotHaveNodeTable", have_node_table, False)
    +
    +    have_zone_table = 'zoneTable' in tables
    +    if expect_zone_table:
    +        TestValueEQ("ShouldHaveZoneTable", have_zone_table, True)
    +        TestValueIN("ShouldHaveZoneColumnNames", tables, 'zoneColumnNames')
    +        column_names = tables['zoneColumnNames']
    +        # print(column_names)
    +        TestValueEQ('ZoneCol0Name', column_names[0], 'zid')
    +        TestValueEQ('ZoneCol1Name', column_names[1], 'vec_zid/c0')
    +        TestValueEQ('ZoneCol2Name', column_names[2], 'vec_zid/c1')
    +        TestValueEQ('ZoneCol3Name', column_names[3], 'vec_zid/c2')
    +        TestValueEQ('ZoneCol4Name', column_names[4], 'zoneIds')
    +        TestValueEQ('ZoneCol5Name', column_names[5], 'zoneDomains')
    +        test_basic_table(tables['zoneTable'])
    +    else:
    +        TestValueEQ("ShouldNotHaveZoneTable", have_zone_table, False)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db_name)
    +
    +def test_box(forceNoShm):
    +    db_name = silo_data_path('multi_rect2d.silo')
    +    mesh_name = 'mesh1'
    +
    +    OpenDatabase(db_name)
    +    define_mesh_expressions(mesh_name)
    +    AddPlot('Mesh', mesh_name)
    +    AddOperator('Box')
    +    opts = GetOperatorOptions(0)
    +    opts.maxy = 0.1
    +    SetOperatorOptions(opts)
    +    DrawPlots()
    +
    +    vars = ('vec_nid', 'vec_zid')
    +    tables = Flatten(vars, nodeIds=True,
    +        zoneIds=True, nodeIJK=False, zoneIJK=False,
    +        forceNoSharedMemory=forceNoShm)
    +
    +    TestValueIN('ShouldHaveNodeColumnNames', tables, 'nodeColumnNames')
    +    TestValueIN('ShouldHaveNodeTable', tables, 'nodeTable')
    +    nodeTable = np.asarray(tables['nodeTable'])
    +
    +    TestValueIN('ShouldHaveZoneColumnNames', tables, 'zoneColumnNames')
    +    TestValueIN('ShouldHaveZoneTable', tables, 'zoneTable')
    +    zoneTable = np.asarray(tables['zoneTable'])
    +
    +    ntName = 'multi_rect2d_box_nodes'
    +    ztName = 'multi_rect2d_box_zones'
    +    np.savetxt(ntName+'.txt', nodeTable, delimiter=',',
    +        header=','.join(tables['nodeColumnNames']))
    +    np.savetxt(ztName+'.txt', zoneTable, delimiter=',',
    +        header=','.join(tables['zoneColumnNames']))
    +    TestText(ntName, load_text(ntName))
    +    TestText(ztName, load_text(ztName))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db_name)
    +
    +def test_tensor():
    +    TestSection('NoiseWithTensor')
    +    db_name = silo_data_path('noise.silo')
    +    mesh_name = 'Mesh'
    +
    +    OpenDatabase(db_name)
    +    AddPlot('Mesh', mesh_name)
    +
    +    # Only want a small section for the csv file
    +    AddOperator('Box')
    +    opts = GetOperatorOptions(0)
    +    opts.minx = -10.0
    +    opts.maxx = -9.0
    +    opts.miny = -10.0
    +    opts.maxy = -9.0
    +    opts.minz = -10.0
    +    opts.maxz = -9.0
    +    SetOperatorOptions(opts)
    +    DrawPlots()
    +
    +    vars = ('hardyglobal', 'grad_tensor')
    +    tables = Flatten(vars, nodeIds=True, zoneIds=False,
    +                        nodeIJK=False, zoneIJK=False)
    +
    +    TestValueIN('ShouldHaveNodeColumnNames', tables, 'nodeColumnNames')
    +    TestValueIN('ShouldHaveNodeTable', tables, 'nodeTable')
    +    nodeTable = np.asarray(tables['nodeTable'])
    +
    +    ntName = 'noise_nodes'
    +    np.savetxt(ntName+'.txt', nodeTable, delimiter=',',
    +        header=','.join(tables['nodeColumnNames']))
    +    TestText(ntName, load_text(ntName))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db_name)
    +
    +def test_ijk(do3d):
    +    db_name = silo_data_path('rect3d.silo') if do3d else silo_data_path('rect2d.silo')
    +    mesh_name = 'quadmesh3d' if do3d else 'quadmesh2d'
    +
    +    OpenDatabase(db_name)
    +    AddPlot('Mesh', mesh_name)
    +    DrawPlots()
    +
    +    vars = ('d',)
    +    tables = Flatten(vars, nodeIds=False, zoneIds=False, nodeIJK=True, zoneIJK=True)
    +
    +    TestValueIN('ShouldHaveNodeColumnNames', tables, 'nodeColumnNames')
    +    TestValueIN('ShouldHaveNodeTable', tables, 'nodeTable')
    +    TestValueIN('ShouldHaveZoneColumnNames', tables, 'zoneColumnNames')
    +    TestValueIN('ShouldHaveZoneTable', tables, 'zoneTable')
    +
    +    # Test rect2D and rect3D nodes
    +    nodeTable = np.asarray(tables['nodeTable'])
    +    row = -1
    +    dims = (31, 41, 31) if do3d else (31, 41, 1)
    +    for k in range(0, dims[2]):
    +        knxny = k * dims[0] * dims[1]
    +        for j in range(0, dims[1]):
    +            jnx = j * dims[0]
    +            for i in range(0, dims[0]):
    +                id = knxny + jnx + i
    +                iok = np.isclose(nodeTable[id, 0], i)
    +                jok = np.isclose(nodeTable[id, 1], j)
    +                kok = np.isclose(nodeTable[id, 2], k)
    +                if not (iok and jok and kok):
    +                    print('(%d,%d,%d)' % (i, j, k))
    +                    print('(%g,%g,%g)' % (nodeTable[id,0], nodeTable[id,1], nodeTable[id,2]))
    +                    row = id
    +                    break
    +            if row > -1:
    +                break
    +        if row > -1:
    +            break
    +
    +    if row > -1:
    +        baseline_name = 'NodeIJK3D' if do3d else 'NodeIJK2D'
    +        np.savetxt(baseline_name + '.txt', nodeTable, delimiter=',',
    +            header=','.join(tables['nodeColumnNames']))
    +    TestValueEQ('NodeInvalidRow', row, -1)
    +
    +    # Test rect2D and rect3D zones
    +    zoneTable = np.asarray(tables['zoneTable'])
    +    row = -1
    +    dims = (30, 40, 30) if do3d else (30, 40, 1)
    +    for k in range(0, dims[2]):
    +        knxny = k * dims[0] * dims[1]
    +        for j in range(0, dims[1]):
    +            jnx = j * dims[0]
    +            for i in range(0, dims[0]):
    +                id = knxny + jnx + i
    +                # NOTE: Column 0 is 'd'
    +                iok = np.isclose(zoneTable[id, 1], i)
    +                jok = np.isclose(zoneTable[id, 2], j)
    +                kok = np.isclose(zoneTable[id, 3], k)
    +                if not (iok and jok and kok):
    +                    print('(%d,%d,%d)' % (i, j, k))
    +                    print('(%g,%g,%g)' % (zoneTable[id,1], zoneTable[id,2], zoneTable[id,3]))
    +                    row = id
    +                    break
    +            if row > -1:
    +                break
    +        if row > -1:
    +            break
    +
    +    if row > -1:
    +        baseline_name = 'ZoneIJK3D' if do3d else 'ZoneIJK2D'
    +        np.savetxt(baseline_name + '.txt', zoneTable, delimiter=',',
    +            header=','.join(tables['zoneColumnNames']))
    +    TestValueEQ('ZoneInvalidRow', row, -1)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db_name)
    +
    +def test_node_data():
    +    for case in basicTestCases:
    +        TestSection(case[0] + '_' + 'NodeData')
    +        run_basic_test(case[0], case[1], 'n')
    +
    +def test_zone_data():
    +    for case in basicTestCases:
    +        TestSection(case[0] + '_' + 'ZoneData')
    +        run_basic_test(case[0], case[1], 'z')
    +
    +def test_both():
    +    for case in basicTestCases:
    +        TestSection(case[0] + '_' + 'BothData')
    +        run_basic_test(case[0], case[1], 'nz')
    +
    +def test_box_selection():
    +    # These test verify that the Query operates on
    +    #   the actual data and not the original
    +    # A second test is used to test the non shared
    +    #   memory implementation since the data is small.
    +    TestSection('BoxSelection')
    +    test_box(False)
    +    TestSection('BoxSelectionNoSharedMemory')
    +    test_box(True)
    +
    +def test_ijks():
    +    TestSection('IJKs2D')
    +    test_ijk(False)
    +    TestSection('IJKs3D')
    +    test_ijk(True)
    +
    +def test_all():
    +    test_node_data()
    +    test_zone_data()
    +    test_both()
    +    test_box_selection()
    +    test_tensor()
    +    test_ijks()
    +
    +if haveNumpy:
    +    test_all()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_gridinformation.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_gridinformation.html new file mode 100644 index 000000000..79a61539e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_gridinformation.html @@ -0,0 +1,56 @@ + +Results for queries/gridinformation.py + +

    Results of VisIt Regression Test - queries/gridinformation

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    gridinformation_000 modifications totalling 0 lines
    gridinformation_010 modifications totalling 0 lines
    gridinformation_020 modifications totalling 0 lines
    gridinformation_030 modifications totalling 0 lines
    gridinformation_040 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_gridinformation_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_gridinformation_py.html new file mode 100644 index 000000000..84093d9ba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_gridinformation_py.html @@ -0,0 +1,43 @@ +queries/gridinformation.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  database.py #
    +#  Tests:      Grid Information
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Jan  3 16:38:02 PST 2018
    +#
    +#  Modifications:
    +#
    +# ---------------------------------------------------------------------------- 
    +
    +newline = "=================================================\n"
    +
    +tests = (
    +    ("gridinformation_00", silo_data_path("noise.silo"), "Pseudocolor", "radial"),
    +    ("gridinformation_01", silo_data_path("globe.silo"), "Pseudocolor", "speed"),
    +    ("gridinformation_02", silo_data_path("multi_rect3d.silo"), "Pseudocolor", "d"),
    +    ("gridinformation_03", silo_data_path("multi_curv3d.silo"), "Pseudocolor", "d"),
    +    ("gridinformation_04", silo_data_path("multi_ucd3d.silo"), "Pseudocolor", "d"))
    +
    +for t in tests:
    +    OpenDatabase(t[1])
    +    AddPlot(t[2], t[3])
    +    DrawPlots()
    +    Query("Grid Information")
    +    s = GetQueryOutputString()
    +    s = s + newline
    +
    +    Query("Grid Information", get_extents=1)
    +    s = s + GetQueryOutputString()
    +    s = s + newline
    +
    +    Query("Grid Information", get_extents=1, get_ghosttypes=1)
    +    s = s + GetQueryOutputString()
    +
    +    TestText(t[0], s)
    +    DeleteAllPlots()
    +    CloseDatabase(t[1])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_hohlraum.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_hohlraum.html new file mode 100644 index 000000000..59cc22208 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_hohlraum.html @@ -0,0 +1,90 @@ + +Results for queries/hohlraum.py + +

    Results of VisIt Regression Test - queries/hohlraum

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    hf_0_00 modifications totalling 0 lines
    hf_0_10.000.00
    hf_1_00 modifications totalling 0 lines
    hf_1_10.000.00
    hf_2_00 modifications totalling 0 lines
    hf_2_131.820.32
    hf_3_00 modifications totalling 0 lines
    hf_3_10.000.00
    hf_4_00 modifications totalling 0 lines
    hf_4_131.820.32
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_hohlraum_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_hohlraum_py.html new file mode 100644 index 000000000..2bfbadd3f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_hohlraum_py.html @@ -0,0 +1,112 @@ +queries/hohlraum.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  line_scan.py
    +#  Tests:      queries     - mass distribution, chord length distribution
    +#
    +#  Defect ID:  '7474 + '7476
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 23, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Sun Aug 27 16:52:07 PDT 2006
    +#    Added testing for expected value, mass from boundary.
    +#
    +#    Dave Bremer, Fri Sep  8 11:44:22 PDT 2006
    +#    Added testing for the line scan transform.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Use named arguments.
    +#
    +#    Kathleen Biagas, Wed Feb 16 13:11:57 PST 2022
    +#    Replaced Curve atts 'cycleColors' with 'curveColorSource'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +
    +
    +ca=CurveAttributes()
    +ca.curveColorSource = ca.Custom
    +SetDefaultPlotOptions(ca)
    +
    +def TestOne(index, filename, varname, meshname, absvar, emisvar, numlines, x, y, z, radius, theta, phi):
    +    # Because the queries we are testing output to the file system, we need to
    +    # delete previous outputs before running.  If we don't do this, then the
    +    # queries will output files to names that are continuously incrementing.
    +    list = os.listdir(".")
    +    for i in range(len(list)):
    +        if (list[i] == "hf0.ult"):
    +            os.unlink("hf0.ult")
    +
    +    # Do the queries...
    +    OpenDatabase(filename)
    +    AddPlot("Pseudocolor", varname)
    +    DrawPlots()
    +    params = dict(num_lines=numlines, ray_center=(x, y, z), radius=radius, theta=theta, phi=phi, vars=(absvar, emisvar))
    +    Query("Hohlraum Flux", params)
    +    s = GetQueryOutputString()
    +    #v = GetQueryOutputValue()
    +    test_name = "hf_%d_%d" %(index,0)
    +    TestText(test_name, s)
    +    DeleteAllPlots()
    +
    +    # Now test the outputs
    +    OpenDatabase("hf0.ult")
    +    ReOpenDatabase("hf0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Hohlraum Flux")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "hf_%d_%d" %(index,1)
    +    Test(test1)
    +    DeleteAllPlots()
    +
    +
    +DefineArrayExpression("a0", "array_compose(recenter(u), recenter(v), d)")
    +DefineArrayExpression("e0", "array_compose(recenter(gradient(u)[0]), recenter(gradient(u)[1]), p)")
    +TestOne(0, silo_data_path("rect2d.silo"), "d", "quadmesh2d", "a0", "e0", 100, 0.5,0.5,0, 0.1,0,0)
    +DeleteExpression("a0")
    +DeleteExpression("e0")
    +
    +DefineArrayExpression("a1", "array_compose(<mesh_quality/volume>, <mesh_quality/taper>,  <mesh_quality/oddy>)")
    +DefineArrayExpression("e1", "array_compose(<mesh_quality/aspect>, <mesh_quality/shape>, <mesh_quality/skew>)")
    +TestOne(1, data_path("KullLite_test_data/T.pdb"),
    +        "mesh_quality/volume", "mesh",
    +        "a1", "e1", 100, 0,0,0, 0.25,90,90)
    +DeleteExpression("a1")
    +DeleteExpression("e1")
    +
    +DefineArrayExpression("a2", "array_compose(<mesh_quality/mesh/jacobian>, \
    +                      <mesh_quality/mesh/area>, <mesh_quality/mesh/oddy>)")
    +DefineArrayExpression("e2", "array_compose(<mesh_quality/mesh/aspect>, \
    +                      <mesh_quality/mesh/shape>, <mesh_quality/mesh/skew>)")
    +TestOne(2, data_path("KullLite_test_data/tagtest_rz_3.pdb"),
    +        "mesh_quality/mesh/area", "mesh",
    +        "a2", "e2", 333, 0,0,1, 0.5,0,0)
    +DeleteExpression("a2")
    +DeleteExpression("e2")
    +
    +TestOne(3, silo_data_path("multi_rect2d.silo"), "d", "mesh1", "d", "p", 500, 0.5,0.5,0, 1,45,45)
    +
    +
    +DefineArrayExpression("a3", "array_compose_with_bins(<mesh_quality/mesh/jacobian>,"
    +                            "<mesh_quality/mesh/area>, <mesh_quality/mesh/oddy>,  [0, 2, 4, 8])")
    +DefineArrayExpression("e3", "array_compose_with_bins(<mesh_quality/mesh/aspect>,"
    +                            "<mesh_quality/mesh/shape>, <mesh_quality/mesh/skew>, [0, 2, 4, 8])")
    +TestOne(4, data_path("KullLite_test_data/tagtest_rz_3.pdb"), "mesh_quality/mesh/area", "mesh",
    +        "a3", "e3", 333, 0,0,1, 0.5,0,0)
    +DeleteExpression("a3")
    +DeleteExpression("e3")
    +
    +
    +
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_kurtosis.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_kurtosis.html new file mode 100644 index 000000000..36f6554eb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_kurtosis.html @@ -0,0 +1,60 @@ + +Results for queries/kurtosis.py + +

    Results of VisIt Regression Test - queries/kurtosis

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    kurtosis_010 modifications totalling 0 lines
    kurtosis_020 modifications totalling 0 lines
    kurtosis_030 modifications totalling 0 lines
    kurtosis_040 modifications totalling 0 lines
    kurtosis_050 modifications totalling 0 lines
    kurtosis_060 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_kurtosis_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_kurtosis_py.html new file mode 100644 index 000000000..a0897847c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_kurtosis_py.html @@ -0,0 +1,49 @@ +queries/kurtosis.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  kurtosis.py
    +#  Tests:      queries     - kurtosis and skewness
    +#
    +#  Defect ID:  VisIt00006466, '6269.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 5, 2005
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +OpenDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +AddPlot("Curve", "Laplace Distribution")
    +DrawPlots()
    +
    +Query("Kurtosis")
    +text = GetQueryOutputString()
    +TestText("kurtosis_01", text)
    +
    +Query("Skewness")
    +text = GetQueryOutputString()
    +TestText("kurtosis_02", text)
    +
    +ChangeActivePlotsVar("Log Normal Distribution")
    +Query("Kurtosis")
    +text = GetQueryOutputString()
    +TestText("kurtosis_03", text)
    +
    +Query("Skewness")
    +text = GetQueryOutputString()
    +TestText("kurtosis_04", text)
    +
    +ChangeActivePlotsVar("Exponential Distribution")
    +Query("Kurtosis")
    +text = GetQueryOutputString()
    +TestText("kurtosis_05", text)
    +
    +Query("Skewness")
    +text = GetQueryOutputString()
    +TestText("kurtosis_06", text)
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_l2norm.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_l2norm.html new file mode 100644 index 000000000..e443eda1e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_l2norm.html @@ -0,0 +1,56 @@ + +Results for queries/l2norm.py + +

    Results of VisIt Regression Test - queries/l2norm

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    l2norm_010 modifications totalling 0 lines
    l2norm_020 modifications totalling 0 lines
    l2norm_030 modifications totalling 0 lines
    l2norm_040 modifications totalling 0 lines
    l2norm_050 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_l2norm_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_l2norm_py.html new file mode 100644 index 000000000..25026fff9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_l2norm_py.html @@ -0,0 +1,107 @@ +queries/l2norm.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  l2norm.py
    +#  Tests:      queries     - l2norms of various curves
    +#
    +#  Defect ID:  VisIt00006077
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 15, 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +# Test that we can do an l2norm of a degenerate ultra file.
    +TurnOnAllAnnotations()
    +OpenDatabase(data_path("curve_test_data/degenerate.ultra"))
    +
    +AddPlot("Curve", "This is a degenerate ultra file.")
    +DrawPlots()
    +
    +Query("L2Norm")
    +text = GetQueryOutputString()
    +TestText("l2norm_01", text)
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +DefineScalarExpression("d_mod", "d+0.4*coord(quadmesh2d)[1]")
    +AddWindow()
    +SetActiveWindow(2)
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "d_mod")
    +DrawPlots()
    +
    +start_angle = 0
    +stop_angle = 90
    +
    +import math
    +nsteps = 10
    +center=(0,0)
    +radius = 1
    +step = (stop_angle-start_angle) / (nsteps-1)
    +rel_diff = []
    +for i in range(nsteps):
    +   angle = start_angle + i*step
    +   rad_angle = angle*2*math.pi/360.
    +   P2=(radius*math.cos(rad_angle), radius*math.sin(rad_angle))
    +   SetActiveWindow(1)
    +   time.sleep(1)
    +   Lineout(center, P2)
    +   SetActiveWindow(2)
    +   time.sleep(1)
    +   Lineout(center, P2)
    +   SetActiveWindow(3)
    +   SetActivePlots(0)
    +   Query("L2Norm")
    +   norm = GetQueryOutputValue()
    +   SetActivePlots((0,1))
    +   time.sleep(1)
    +   Query("L2Norm Between Curves")
    +   diff = GetQueryOutputValue()
    +   rel_diff = rel_diff + [1.-diff/norm]
    +   DeleteAllPlots()
    +
    +ave=0
    +for i in range(nsteps):
    +   ave += rel_diff[i]
    +ave /= nsteps
    +
    +text = "The average difference is %f" %(ave)
    +TestText("l2norm_02", text)
    +
    +min=1
    +max=0
    +for i in range(nsteps):
    +   if (rel_diff[i]<min):
    +       min=rel_diff[i]
    +   if (rel_diff[i]>max):
    +       max=rel_diff[i]
    +
    +
    +text = "The minimum relative difference is %f" %(min)
    +TestText("l2norm_03", text)
    +text = "The maximum relative difference is %f" %(max)
    +TestText("l2norm_04", text)
    +
    +
    +variance = 0
    +for i in range(nsteps):
    +   variance += (rel_diff[i]-ave)*(rel_diff[i]-ave)
    +variance /= (nsteps-1)
    +stddev = math.sqrt(variance)
    +
    +text = "The standard deviation of the relative difference is %f" %(stddev)
    +TestText("l2norm_05", text)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_length.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_length.html new file mode 100644 index 000000000..635c24c0f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_length.html @@ -0,0 +1,50 @@ + +Results for queries/length.py + +

    Results of VisIt Regression Test - queries/length

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    length_010 modifications totalling 0 lines
    length_020 modifications totalling 0 lines
    length_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_length_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_length_py.html new file mode 100644 index 000000000..d77c4db26 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_length_py.html @@ -0,0 +1,58 @@ +queries/length.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  length.py
    +#  Tests:      queries     - total length
    +#
    +#  Defect ID:  VisIt00007530
    +#
    +#  Programmer: Hank Childs
    +#  Date:       November 8, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Mon Nov 27 09:27:06 PST 2006
    +#    Forgot to remove annotations.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Test that we can do an l2norm of a degenerate ultra file.
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +Query("Total Length")
    +text = GetQueryOutputString()
    +TestText("length_01", text)
    +
    +DeleteAllPlots()
    +OpenDatabase(data_path("curve_test_data/curve.visit"))
    +
    +AddPlot("Curve", "going_up")
    +DrawPlots()
    +
    +Query("Total Length")
    +text = GetQueryOutputString()
    +TestText("length_02", text)
    +
    +q = GetQueryOverTimeAttributes()
    +q.timeType = q.Timestep
    +SetQueryOverTimeAttributes(q)
    +QueryOverTime("Total Length")
    +SetActiveWindow(2)
    +TurnOffAllAnnotations()
    +c = CurveAttributes()
    +c.curveColorSource = c.Custom
    +c.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(c)
    +Test("length_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_line_scan.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_line_scan.html new file mode 100644 index 000000000..192cd38f3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_line_scan.html @@ -0,0 +1,474 @@ + +Results for queries/line_scan.py + +

    Results of VisIt Regression Test - queries/line_scan

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ls_0_10.190.01
    ls_0_20 modifications totalling 0 lines
    ls_0_30 modifications totalling 0 lines
    ls_0_40.210.01
    ls_0_50 modifications totalling 0 lines
    ls_0_60 modifications totalling 0 lines
    ls_0_70.330.01
    ls_0_80 modifications totalling 0 lines
    ls_0_90 modifications totalling 0 lines
    ls_0_100.100.01
    ls_0_110 modifications totalling 0 lines
    ls_0_120 modifications totalling 0 lines
    ls_0_130.300.01
    ls_0_140 modifications totalling 0 lines
    ls_0_150 modifications totalling 0 lines
    ls_0_160.240.01
    ls_0_170 modifications totalling 0 lines
    ls_0_180 modifications totalling 0 lines
    ls_0_190.000.00
    ls_0_200 modifications totalling 0 lines
    ls_0_210 modifications totalling 0 lines
    ls_1_10.300.01
    ls_1_20 modifications totalling 0 lines
    ls_1_30 modifications totalling 0 lines
    ls_1_40.220.01
    ls_1_50 modifications totalling 0 lines
    ls_1_60 modifications totalling 0 lines
    ls_1_70.330.01
    ls_1_80 modifications totalling 0 lines
    ls_1_90 modifications totalling 0 lines
    ls_1_100.090.01
    ls_1_110 modifications totalling 0 lines
    ls_1_120 modifications totalling 0 lines
    ls_1_130.280.01
    ls_1_140 modifications totalling 0 lines
    ls_1_150 modifications totalling 0 lines
    ls_1_160.230.01
    ls_1_170 modifications totalling 0 lines
    ls_1_180 modifications totalling 0 lines
    ls_1_190.000.00
    ls_1_200 modifications totalling 0 lines
    ls_1_210 modifications totalling 0 lines
    ls_2_10.220.01
    ls_2_20 modifications totalling 0 lines
    ls_2_30 modifications totalling 0 lines
    ls_2_40.110.01
    ls_2_50 modifications totalling 0 lines
    ls_2_60 modifications totalling 0 lines
    ls_2_70.000.00
    ls_2_80 modifications totalling 0 lines
    ls_2_90 modifications totalling 0 lines
    ls_2_100.140.01
    ls_2_110 modifications totalling 0 lines
    ls_2_120 modifications totalling 0 lines
    ls_2_130.380.01
    ls_2_140 modifications totalling 0 lines
    ls_2_150 modifications totalling 0 lines
    ls_2_160.370.01
    ls_2_170 modifications totalling 0 lines
    ls_2_180 modifications totalling 0 lines
    ls_2_190.000.00
    ls_2_200 modifications totalling 0 lines
    ls_2_210 modifications totalling 0 lines
    ls_3_10.180.01
    ls_3_20 modifications totalling 0 lines
    ls_3_30 modifications totalling 0 lines
    ls_3_40.220.01
    ls_3_50 modifications totalling 0 lines
    ls_3_60 modifications totalling 0 lines
    ls_3_70.310.01
    ls_3_80 modifications totalling 0 lines
    ls_3_90 modifications totalling 0 lines
    ls_3_100.200.01
    ls_3_110 modifications totalling 0 lines
    ls_3_120 modifications totalling 0 lines
    ls_3_130.300.01
    ls_3_140 modifications totalling 0 lines
    ls_3_150 modifications totalling 0 lines
    ls_3_160.270.01
    ls_3_170 modifications totalling 0 lines
    ls_3_180 modifications totalling 0 lines
    ls_3_190.000.00
    ls_3_200 modifications totalling 0 lines
    ls_3_210 modifications totalling 0 lines
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_line_scan_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_line_scan_py.html new file mode 100644 index 000000000..17fa38ea8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_line_scan_py.html @@ -0,0 +1,203 @@ +queries/line_scan.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  line_scan.py
    +#  Tests:      queries     - mass distribution, chord length distribution
    +#
    +#  Defect ID:  '7474 + '7476
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 23, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Sun Aug 27 16:52:07 PDT 2006
    +#    Added testing for expected value, mass from boundary.
    +#
    +#    Dave Bremer, Fri Sep  8 11:44:22 PDT 2006
    +#    Added testing for the line scan transform.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Use named arguments.
    +#
    +#    Kathleen Biagas, Wed Feb 16 13:11:57 PST 2022
    +#    Replaced Curve atts 'cycleColors' with 'curveColorSource'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +
    +
    +ca=CurveAttributes()
    +ca.curveColorSource = ca.Custom
    +SetDefaultPlotOptions(ca)
    +
    +def TestOne(index, filename, varname, meshname, limit):
    +    # Because the queries we are testing output to the file system, we need to
    +    # delete previous outputs before running.  If we don't do this, then the
    +    # queries will output files to names that are continuously incrementing.
    +    list = os.listdir(".")
    +    for i in range(len(list)):
    +        if (list[i] == "cld_i0.ult"):
    +            os.unlink("cld_i0.ult")
    +        if (list[i] == "cld_a0.ult"):
    +            os.unlink("cld_a0.ult")
    +        if (list[i] == "rld_i0.ult"):
    +            os.unlink("rld_i0.ult")
    +        if (list[i] == "rld_a0.ult"):
    +            os.unlink("rld_a0.ult")
    +        if (list[i] == "md0.ult"):
    +            os.unlink("md0.ult")
    +        if (list[i] == "dfb0.ult"):
    +            os.unlink("dfb0.ult")
    +        if (list[i] == "lst0.ult"):
    +            os.unlink("lst0.ult")
    +
    +    # Set up a purely 2D data set...
    +    randname = "rand%d" %(index)
    +    defn = "rand(%s)" %(meshname)
    +    DefineScalarExpression(randname, defn)
    +    OpenDatabase(filename)
    +    AddPlot("Pseudocolor", varname)
    +    AddOperator("Isovolume")
    +    iso_atts = IsovolumeAttributes()
    +    iso_atts.ubound = 0.3
    +    iso_atts.variable = randname
    +    SetOperatorOptions(iso_atts)
    +    DrawPlots()
    +
    +    # Do the queries...
    +    Query("Chord Length Distribution - individual", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Chord Length Distribution - aggregate", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Ray Length Distribution - individual", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Ray Length Distribution - aggregate", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Mass Distribution", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Distance From Boundary", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Line Scan Transform", num_lines=15000, num_bins=100, min=0, max=limit)
    +    DeleteAllPlots()
    +
    +    # Now test the outputs
    +    OpenDatabase("cld_i0.ult")
    +    ReOpenDatabase("cld_i0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Chord length distribution - individual")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "ls_%d_%d" %(index,1)
    +    Test(test1)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test2 = "ls_%d_%d" %(index,2)
    +    TestText(test2, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test3 = "ls_%d_%d" %(index,3)
    +    TestText(test3, text)
    +    DeleteAllPlots()
    +    OpenDatabase("md0.ult")
    +    ReOpenDatabase("md0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Mass distribution")
    +    DrawPlots()
    +    ResetView()
    +    test4 = "ls_%d_%d" %(index,4)
    +    Test(test4)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test5 = "ls_%d_%d" %(index,5)
    +    TestText(test5, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test6 = "ls_%d_%d" %(index,6)
    +    TestText(test6, text)
    +    DeleteAllPlots()
    +    OpenDatabase("dfb0.ult")
    +    ReOpenDatabase("dfb0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Mass distribution")
    +    DrawPlots()
    +    ResetView()
    +    test7 = "ls_%d_%d" %(index,7)
    +    Test(test7)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test8 = "ls_%d_%d" %(index,8)
    +    TestText(test8, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test9 = "ls_%d_%d" %(index,9)
    +    TestText(test9, text)
    +    DeleteAllPlots()
    +    OpenDatabase("cld_a0.ult")
    +    ReOpenDatabase("cld_a0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Chord length distribution - aggregate")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "ls_%d_%d" %(index,10)
    +    Test(test1)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test2 = "ls_%d_%d" %(index,11)
    +    TestText(test2, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test3 = "ls_%d_%d" %(index,12)
    +    TestText(test3, text)
    +    DeleteAllPlots()
    +    OpenDatabase("rld_i0.ult")
    +    ReOpenDatabase("rld_i0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Ray length distribution - individual")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "ls_%d_%d" %(index,13)
    +    Test(test1)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test2 = "ls_%d_%d" %(index,14)
    +    TestText(test2, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test3 = "ls_%d_%d" %(index,15)
    +    TestText(test3, text)
    +    DeleteAllPlots()
    +    OpenDatabase("rld_a0.ult")
    +    ReOpenDatabase("rld_a0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Ray length distribution - aggregate")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "ls_%d_%d" %(index,16)
    +    Test(test1)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test2 = "ls_%d_%d" %(index,17)
    +    TestText(test2, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test3 = "ls_%d_%d" %(index,18)
    +    TestText(test3, text)
    +    DeleteAllPlots()
    +    OpenDatabase("lst0.ult")
    +    ReOpenDatabase("lst0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Line Scan Transform")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "ls_%d_%d" %(index,19)
    +    Test(test1)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test2 = "ls_%d_%d" %(index,20)
    +    TestText(test2, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test3 = "ls_%d_%d" %(index,21)
    +    TestText(test3, text)
    +    DeleteAllPlots()
    +
    +
    +TestOne(0, silo_data_path("rect2d.silo") , "d", "quadmesh2d", 0.5)
    +TestOne(1, silo_data_path("multi_rect2d.silo") , "d", "mesh1", 0.5)
    +TestOne(2, data_path("KullLite_test_data/T.pdb"), "mesh_quality/volume", "mesh", 0.2)
    +TestOne(3, data_path("KullLite_test_data/tagtest_rz_3.pdb"), "mesh_quality/mesh/area", "mesh", 4.0)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pick.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pick.html new file mode 100644 index 000000000..35c2a39a3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pick.html @@ -0,0 +1,284 @@ + +Results for queries/pick.py + +

    Results of VisIt Regression Test - queries/pick

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Pick3DTo2D10 modifications totalling 143 lines
    Pick2D1 modifications totalling 100 lines
    PickOnionPeel0 modifications totalling 0 lines
    PickSubset0 modifications totalling 0 lines
    PickMatFracsThreshold0 modifications totalling 0 lines
    PickReflect0 modifications totalling 0 lines
    PickFilledBoundary0 modifications totalling 0 lines
    PickMultiBlock0 modifications totalling 0 lines
    PickSurface0 modifications totalling 0 lines
    PickBigSilMat0 modifications totalling 0 lines
    PickOnionPeel20 modifications totalling 0 lines
    PickSpecMix0 modifications totalling 0 lines
    PickCurve0 modifications totalling 0 lines
    PickMultiWindow0 modifications totalling 0 lines
    PickAfterEngineClose0 modifications totalling 0 lines
    PickAfterEngineCrash0 modifications totalling 0 lines
    PickBoundary0 modifications totalling 0 lines
    PickVectorPlot0 modifications totalling 0 lines
    PickPointMeshes0 modifications totalling 0 lines
    PickGlobalIds0 modifications totalling 0 lines
    PickExpressions0 modifications totalling 0 lines
    PickAMR15 modifications totalling 113 lines
    PickSamrai_0116 modifications totalling 180 lines
    PickSamrai_020 modifications totalling 0 lines
    PickSamrai_030 modifications totalling 0 lines
    PickSamrai_040 modifications totalling 0 lines
    PickSamrai_056 modifications totalling 95 lines
    PickIndexSelect13 modifications totalling 124 lines
    PickTensors0 modifications totalling 0 lines
    PickMili0 modifications totalling 0 lines
    PickContour0 modifications totalling 0 lines
    PickBox5 modifications totalling 61 lines
    PickScatter0 modifications totalling 0 lines
    PickHighlight_010.000.00
    GlobalHighlight_000.000.00
    PickHighlightColor_010.000.00
    PickRange_010.000.00
    RemovePicks_010.000.00
    RemovePicks_020.000.00
    Removed expected picks
     "A, C, D" .eq. "A, C, D" : True
    RemovePicks_030.000.00
    RemovePicks_040.000.00
    Removed expected picks 2
     "E" .eq. "E" : True
    RemoveLabeledPicks_000.000.00
    RemoveLabeledPicks_010.000.00
    Removed expected shell
     "shell 1, shell 2" .eq. "shell 1, shell 2" : True
    PickLines3D0 modifications totalling 0 lines
    PickByZoneLabel0 modifications totalling 0 lines
    PickByNodeLabel0 modifications totalling 0 lines
    PickRangeByZoneLabel0 modifications totalling 0 lines
    SwivelFocus_000.000.00
    SwivelHighlight_000.000.00
    NodeHighlight_000.000.00
    TranslatedHighlight_000.000.00
    TestPickingExpression_000 modifications totalling 0 lines
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickNamedArgs.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickNamedArgs.html new file mode 100644 index 000000000..6b7f33bf7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickNamedArgs.html @@ -0,0 +1,74 @@ + +Results for queries/pickNamedArgs.py + +

    Results of VisIt Regression Test - queries/pickNamedArgs

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    TimePick_NamedArgs_000.000.00
    TimePick_NamedArgs_010.000.00
    TimePick_NamedArgs_020.000.00
    TimePick_NamedArgs_030.000.00
    TimePick_NamedArgs_040.000.00
    Pick_UsingQueryResults0 modifications totalling 0 lines
    Pick_ByGlobalElement0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickNamedArgs_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickNamedArgs_py.html new file mode 100644 index 000000000..4261293fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickNamedArgs_py.html @@ -0,0 +1,227 @@ +queries/pickNamedArgs.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pickNamedArgs.py #
    +#  Tests:      queries     - Pick using named-arguments
    +#                            Pick using query results as arguments
    +#
    +#  Defect ID:  1781
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       July 11, 2014 
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Jul 22 11:51:27 MST 2014
    +#    Added Pick_ByGlobalId.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ---------------------------------------------------------------------------- 
    +
    +def TimePick():
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    # to demonstrate the effect of changing time options, use timestep for x axis.
    +    q = GetQueryOverTimeAttributes()
    +    q.timeType = q.Timestep
    +    SetQueryOverTimeAttributes(q)
    +
    +    # Controlling which time steps are queried, showing defaults used
    +    #     stride     => int    default: 1
    +    #     start_time => int    default: 0 (min time index)
    +    #     end_time   => int    default: max time index, as determined from DB
    +
    +    # Controlling the plot type when multiple vars are queried
    +    #     curve_plot_type: 0 (Single Y Axis), or  1 (Multiple Y Axes) default: 0
    +
    +    # Which is used for subsequent timesteps, the coordinate or the element?
    +    #     preserve_coord:  0 (use the element)  or 1 (use the coordinate)
    +
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (255, 0, 0, 255)
    +    SetDefaultPlotOptions(c)
    +
    +    vars =("pressure", "v", "direction_magnitude")
    +    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=0)
    +    SetActiveWindow(2);
    +    Test("TimePick_NamedArgs_00")
    +    DeleteAllPlots()
    +
    +    c.curveColor = (0, 255, 0, 255)
    +    SetDefaultPlotOptions(c)
    +
    +    SetActiveWindow(1)
    +    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=0,start_time=15, end_time=50, stride=7)
    +    SetActiveWindow(2);
    +    Test("TimePick_NamedArgs_01")
    +    DeleteAllPlots()
    +
    +    c.curveColor = (0, 0, 255, 255)
    +    SetDefaultPlotOptions(c)
    +    SetActiveWindow(1)
    +
    +    # different way for specifying time options, result should be same as previopus:
    +    time_opt = {'stride':7, 'start_time': 15, 'end_time':50}
    +    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0, time_options=time_opt)
    +    SetActiveWindow(2);
    +    Test("TimePick_NamedArgs_02")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=1)
    +    SetActiveWindow(2);
    +    Test("TimePick_NamedArgs_03")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1);
    +    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=1,stride=10)
    +    SetActiveWindow(2);
    +    Test("TimePick_NamedArgs_04")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("wave.visit"))
    +
    +def PickUsingQueryResults():
    +    ResetPickLetter()
    +    OpenDatabase(silo_data_path("wave.visit"))
    +    AddPlot("FilledBoundary", "Material")
    +    SetTimeSliderState(31)
    +    DrawPlots()
    +
    +    # Make it easier to get coordinate values
    +    SetQueryOutputToValue()
    +    s = "Pick using results of Node Coords query:\n"
    +
    +    node_8837_coords = Query("Node Coords", element=8837)
    +
    +    # Now test that NodePick using those coords will return the correct node id
    +    # Utilizes named args: coord (a tuple containing spatial coordinates)
    +
    +    pick_out = NodePick(coord=node_8837_coords)
    +    if pick_out['node_id'] == 8837:
    +        s = s + "    NodePick with coordinate succeeded.\n"
    +    else:
    +        s = s + "    NodePick with coordinate failed to return correct node id.\n"
    +
    +
    +    s = "Pick using results of Zone Center query:\n"
    +    # select a zone that is incident to node 8837
    +    adjacent_zone = pick_out['incident_zones'][0]
    +    # Get it's coords and try a pick
    +    adjacent_zone_coords = Query("Zone Center", element=adjacent_zone)
    +    pick_out = ZonePick(coord=adjacent_zone_coords)
    +    if pick_out['zone_id'] == adjacent_zone:
    +        s = s + "    ZonePick with coordinate succeeded.\n"
    +    else:
    +        s = s + "    ZonePick with coordinate failed to return correct node id\n"
    +
    +    # Now, does Pick report that our original node id is incident to the picked zone?
    +    if 8837 in pick_out['incident_nodes']:
    +        s = s + "    ZonePick correctly reported incident node\n"
    +    else:
    +        s = s + "    ZonePick failed to correctly report incident node\n"
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("wave.visit"))
    +
    +
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +    # d is zonal quantity, so picks will be by-zone
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    # Change query output type for parse-ability of MinMax results
    +    SetQueryOutputToObject()
    +
    +    # Do a MinMax query, and use the results to drive a pick.
    +    res = Query("MinMax")
    +    s = s + "\nQuery for MinMax of 'd': \n" + GetQueryOutputString()
    +
    +    s = s + "Pick using results of MinMax Query:\n\n"
    +
    +    # Pick using MinMax results
    +    # Utilizes named args: 
    +    #     domain (an integer), 
    +    #     element (an integer representing node id or zone id depending on the type of Pick)
    +    pick_out = PickByZone(domain=res['min_domain'], element=res['min_element_num'])
    +    s = s + "Pick for zone at 'd' minimum: \n" + GetPickOutput()
    +    pick_out = PickByZone(domain=res['max_domain'], element=res['max_element_num'])
    +    s = s + "Pick for zone at 'd' maximum: \n" + GetPickOutput()
    +    TestText("Pick_UsingQueryResults", s)
    +    ResetPickLetter()
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +
    +
    +def doGlobalPicks(centering):
    +    s = "Global node pick on %s_centered data:\n\n" %centering
    +    d = PickByGlobalNode(element=246827)
    +    # use json.dumps for dictionary object, makes for easier parsing
    +    # of diffs when there are errors
    +    s = s + "dictionary output:\n" + json.dumps(d,indent=2) + "\n\n"
    +    s = s + "string output: " + GetPickOutput() + "\n\n"
    +
    +    s = s + "\nGlobal zone pick on %s_centered data:\n\n" %centering
    +    d = PickByGlobalZone(element=237394)
    +    s = s + "dictionary output:\n" + json.dumps(d,indent=2) + "\n\n"
    +    s = s + "string output: " + GetPickOutput() + "\n\n"
    +
    +    return s
    +
    +def PickByGlobalElement():
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +    ResetView()
    +    p = GetPickAttributes()
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +
    +    s = "NOT SHOWING GLOBAL IDS\n\n"
    +    s = s + doGlobalPicks("node")
    +
    +    #  Repeat, showing global ids
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    s = s + "SHOWING GLOBAL IDS\n\n"
    +    s = s + doGlobalPicks("node")
    +
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +
    +    # now use a zone-centered var
    +    ChangeActivePlotsVar("p")
    +
    +    s = s + "NOT SHOWING GLOBAL IDS\n\n"
    +    s = s + doGlobalPicks("zone")
    +
    +    #  Repeat, showing global ids
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    s = s + "SHOWING GLOBAL IDS\n\n"
    +    s = s + doGlobalPicks("zone")
    +
    +    TestText("Pick_ByGlobalElement", s)
    +    # cleanup
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +TimePick()
    +PickUsingQueryResults()
    +PickByGlobalElement()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pick_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pick_py.html new file mode 100644 index 000000000..75b568b52 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pick_py.html @@ -0,0 +1,3268 @@ +queries/pick.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pick.py #
    +#  Tests:      queries     - Pick
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Bonnell
    +#  Date:       May 13, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Fri Jun 27 16:03:57 PDT 2003
    +#    Modified PickFilledBoundary (removed MeshPlot) so that test is preformed
    +#    on FilledBoundaryPlot and not MeshPlot.
    +#
    +#    Kathleen Bonnell, Tue Jul  8 21:17:17 PDT 2003
    +#    Modified PickFilledBoundary to use flip of slice so that it still works
    +#    with recent slice changes.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from Subset and FilledBoundary plots.
    +#
    +#    Kathleen Bonnell, Wed Sep 10 11:36:32 PDT 2003
    +#    Added test for multi-block meshes.
    +#
    +#    Kathleen Bonnell, Fri Oct 10 17:43:46 PDT 2003
    +#    Added test for surface plots.
    +#
    +#    Kathleen Bonnell, Fri Oct 24 16:09:33 PDT 2003
    +#    Added test for PC of BigSil, and pickvar = material.
    +#
    +#    Kathleen Bonnell, Wed Nov  5 14:30:35 PST 2003
    +#    Per VisIt000033891, add another onion peel test, where there is only
    +#    1 cell, and window is set to use Actual extents.
    +#
    +#    Kathleen Bonnell, Thu Nov 13 12:07:20 PST 2003
    +#    Use SetOperatorOptions instead of SetDefaultOperatorOption in OnionPeel, so
    +#    that OnionPeel2 will work correctly.  Added vars to OnionPeel2.
    +#
    +#    Kathleen Bonnell, Tue Nov 18 17:23:43 PST 2003
    +#    Added use of PickAtts' useNodeCoords, logicalCoords and logicalZone for
    +#    a few tests.
    +#
    +#    Kathleen Bonnell, Thu Nov 20 16:29:45 PST 2003
    +#    Added PicSpecMix tests, for species vars, (VisIt '3864).
    +#    Added a 'vel' only test to PickMatFracsThreshold (VisIt '4103).
    +#
    +#    Kathleen Bonnell, Wed Nov 26 11:26:04 PST 2003
    +#    Added calls to ResetPickLetter after each test, so that each test's
    +#    pick letter starts out with 'A'.  This will prevent the necessity of
    +#    updating all pick baselines when modifications are made to only one test.
    +#    Added tests for new pick methods: PickByZone, PickByNode. ('4123)
    +#
    +#    Kathleen Bonnell, Wed Dec  3 07:51:52 PST 2003
    +#    Added PickCurve tests, for curve plots. (VisIt '3832).
    +#
    +#    Kathleen Bonnell, Mon Mar  8 15:47:52 PST 2004
    +#    Added more tests  to TestSpecMix, to verify that we get same results
    +#    regardless of whether 'species' is the active variable, or some other
    +#    scalar is the active variale.
    +#
    +#    Kathleen Bonnell, Tue Mar 16 16:26:17 PST 2004
    +#    Added bad variables and expression variable tests to PickMultiBlock,
    +#    from bug '4571.
    +#
    +#    Kathleen Bonnell, Thu Apr  1 09:21:22 PST 2004
    +#    Added  a "Variable by Zone" and "Variable by Node" Query to PickSpecMix
    +#    in order to test that these queries return the same values as their
    +#    Pick counterparts.
    +#
    +#    Kathleen Bonnell, Tue Apr 20 09:42:30 PDT 2004
    +#    Added PickMultiWindow.
    +#
    +#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004
    +#    Slice defaults atts have changed, update accordingly.
    +#
    +#    Brad Whitlock, Mon May 3 15:31:40 PST 2004
    +#    I added a couple of tests that test how pick works if an engine is closed
    +#    or if one crashes.
    +#
    +#    Kathleen Bonnell, Tue May  4 14:35:08 PDT 2004
    +#    Changed a couple of screen coordinates for PickBigSilMat that were
    +#    invalid.
    +#
    +#    Kathleen Bonnell, Wed Jun  2 10:14:58 PDT 2004
    +#    Added tests to Pick2D to tests PickByNode and PickByZone on a dataset
    +#    with ghost zones.  Added test to PickSurface, tests various flavors
    +#    of pick to see if they are returning the same info for the same input.
    +#
    +#    Kathleen Bonnell, Thu Jul  8 16:30:07 PDT 2004
    +#    Added  PickedBoundary, to test picking on 2D Boundary plots and
    +#    3D Sliced-to-2D Boundary plots with unstructured, rectilinear and
    +#    curvilinear data.
    +#
    +#    Jeremy Meredith, Wed Jul 21 08:59:24 PDT 2004
    +#    Making print output go to stderr.
    +#
    +#    Kathleen Bonnell, Thu Jul 22 08:35:45 PDT 2004
    +#    Added test of data designated as 'ascii' to Pick2D (using rect2d).
    +#
    +#    Kathleen Bonnell, Wed Aug 11 09:04:56 PDT 2004
    +#    Added to Pick3DTo2D, a test of data sliced along boundary between zones,
    +#    to verify that picking with all materials ON returns same results as
    +#    with some materials OFF. ('5279)
    +#
    +#    Brad Whitlock, Wed Aug 25 12:30:45 PDT 2004
    +#    Added TurnMaterialsOn to PickMultiBlock since it was remembering the
    +#    material selection for mulit_rect3d.silo from an earlier pick test.
    +#
    +#    Kathleen Bonnell, Wed Sep  8 09:36:30 PDT 2004
    +#    Renamed 'WorldPick' to 'Pick' and 'WorldNodePick' to 'NodePick'.
    +#
    +#    Kathleen Bonnell, Fri Oct 22 16:11:41 PDT 2004
    +#    Added PickVectorPlots.
    +#
    +#    Kathleen Bonnell, Tue Nov  2 10:16:36 PST 2004
    +#    Added PickPointMeshes.
    +#
    +#    Kathleen Bonnell, Wed Dec 15 15:38:41 PST 2004
    +#    Added PickGlobalIds.
    +#
    +#    Kathleen Bonnell, Thu Dec 16 17:16:33 PST 2004
    +#    Added PickByNode and PickByZone to PickGlobalIds.
    +#
    +#    Kathleen Bonnell, Mon Dec 20 10:49:59 PST 2004
    +#    Removed  "Variable by Zone" and "Variable by Node" Query from PickSpecMix
    +#    as they are no longer supported.
    +#
    +#    Kathleen Bonnell, Thu Feb  3 09:27:22 PST 2005
    +#    Added PickExpressions, testing matvf and mirvf per '5799.
    +#
    +#    Kathleen Bonnell, Tue Mar  1 13:11:31 PST 2005
    +#    Added couple more tests to PickExpressions, testing Expression that
    +#    has not been plotted, per '5418.
    +#
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Kathleen Bonnell, Wed May 11 18:04:12 PDT 2005
    +#    Per ticket '6097, added tests to 'PickGlobalIds' to ensure global ids
    +#    returned correctly for global zone/node picks.
    +#
    +#    Kathleen Bonnell, Mon May 23 13:41:50 PDT 2005
    +#    Per ticket '6217, added tests to 'PickFilledBoundary' to ensure node
    +#    pick of sliced FB plot returns correct coords.
    +#
    +#    Kathleen Bonnell, Fri Jun 10 14:38:27 PDT 2005
    +#    Per ticket '6296 -- added tests to PickVectorPlots to ensure that
    +#    pick of vector expression won't causes crash
    +#
    +#    Kathleen Bonnell, Thu Jun 30 15:39:03 PDT 2005
    +#    Added tests for AMR data.
    +#
    +#    Kathleen Bonnell, Fri Jul  8 14:12:03 PDT 2005
    +#    Added more tests for AMR data: PickSamrai.
    +#
    +#    Kathleen Bonnell, Wed Aug 10 17:12:50 PDT 2005
    +#    Added PickIndexSelect.
    +#
    +#    Kathleen Bonnell, Tue Aug 30 15:19:34 PDT 2005
    +#    Added PickTensors.  '6410
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Kathleen Bonnell, Tue May  2 08:38:28 PDT 2006
    +#    Added PickMili ('7144, '7145).
    +#
    +#    Kathleen Bonnell, Tue Aug 29 09:34:17 PDT 2006
    +#    Added Pickcontour ('7220).
    +#
    +#    Kathleen Bonnell, Thu Oct 26 14:24:45 PDT 2006
    +#    Added PickBox ('7566).
    +#
    +#    Jeremy Meredith, Mon Jul 14 11:17:29 EDT 2008
    +#    Allow the sliced vector plot to show all vectors (even ones not from
    +#    from original cells/nodes) to match the old behavior.
    +#
    +#    Kathleen Bonnell, Wed Jul 15 10:22:54 PDT 2009
    +#    Changed some zone picks to Node picks for PickPointMeshes, should yield
    +#    same results.  Added Subset plot test for PickPointMeshes.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Wed Mar  7 19:33:48 PST 2012
    +#    'displayXXX' attributes have been changed to 'showXXX'.
    +#
    +#    Kathleen Biagas, Thu Mar  8 13:52:37 PST 2012
    +#    Added test for picking scatter plots.
    +#
    +#    Matt Larsen, Mon Sep 19 10:20:11 PDT 2016
    +#    Added a test for zone pick highlighting
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    For PickSubset, change plot var to 'domains' as Subset plots shouldn't
    +#    work for materials.  Change pick var to 'mat1' to preserve baselines.
    +#
    +#    Matt Larsen, Wed Sep 6 16:23:12 PST 2017
    +#    Adding tests for pick by label for mili files.
    +#
    +#    Alister Maguire, Tue Sep 26 14:23:09 PDT 2017
    +#    Added test for pick highlight color.
    +#
    +#    Alister Maguire, Mon Oct 23 10:34:28 PDT 2017
    +#    Added tests for removing a list of picks.
    +#
    +#    Alister Maguire, Mon Oct 30 15:54:30 PDT 2017
    +#    Added test for removing a list of labeled picks.
    +#
    +#    Matt Larsen, Wed Feb 28 08:24:31 PDT 2018
    +#    Turning off all anotations for pick highlight tests
    +#
    +#    Alister Maguire, Thu Aug 16 10:18:56 PDT 2018
    +#    Added a test for swivel highlight.
    +#
    +#    Alister Maguire, Mon Aug 20 12:45:25 PDT 2018
    +#    Added a test for node highlight.
    +#
    +#    Alister Maguire, Tue May 21 13:10:05 PDT 2019
    +#    Updated tests that use mili to adhere to the plugin changes.
    +#
    +#    Alister Maguire, Thu Sep 12 15:54:36 PDT 2019
    +#    Add test for highlighting a zone picked by global id.
    +#
    +#    Alister Maguire, Thu Jan  2 15:16:53 PST 2020
    +#    Added test for translated zone highlights.
    +#
    +#    Mark C. Miller, Mon Jan 11 10:38:03 PST 2021
    +#    Replace Assert-style with TestValue-style tests
    +#
    +#    Alister Maguire, Fri Jul 16 07:27:44 PDT 2021
    +#    Added a test for Picking an expression variable.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +from __future__ import print_function
    +
    +
    +RequiredDatabasePlugin(("Boxlib2D","SAMRAI","Mili"))
    +defaultAtts = GetPickAttributes()
    +
    +def Pick3DTo2D():
    +    # Testing pick on 3d plots projected to 2d via Slice and Cone operators
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.SetOriginPoint(0, 0, 0)
    +    slice.SetNormal(1, 0, 0)
    +    slice.SetUpAxis(0, 1, 0)
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    # Create the variable list.
    +    vars = ("default")
    +
    +    # Do some picks.
    +    Pick(128, 107, vars)
    +    s = GetPickOutput()
    +    Pick(200, 207, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick methods
    +    PickByZone(554, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(945, vars)
    +    s = s + GetPickOutput()
    +
    +    # Turn off some materials, and verify we get
    +    #  same results
    +    TurnMaterialsOff("1")
    +    Pick(128, 107, vars)
    +    s = s + GetPickOutput()
    +    Pick(200, 207, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(554, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(945, vars)
    +    s = s + GetPickOutput()
    +
    +    TurnMaterialsOn("1")
    +    RemoveLastOperator()
    +
    +    AddOperator("Cone")
    +    DrawPlots()
    +    ResetView()
    +    Pick(165, 170, vars)
    +    s  = s + GetPickOutput()
    +    Pick(137, 100, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new Pick methods.
    +    PickByZone(503, vars)
    +    s  = s + GetPickOutput()
    +    PickByZone(596, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    # VisIt00005279
    +    #  When sliced along boundary between zones,
    +    #  pick with all materials returns different output than
    +    #  pick with some materials turned off.
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.axisType = slice.XAxis
    +    #set the slice plane on a boundary between zones
    +    slice.originIntercept = 0.2
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    s = s + "\nPick with all materials turned on:\n"
    +    Pick(80, 60)
    +    s = s + GetPickOutput()
    +    PickByZone(226, 1)
    +    s = s + GetPickOutput()
    +    Pick(185, 160)
    +    s = s + GetPickOutput()
    +    PickByZone(606, 19)
    +    s = s + GetPickOutput()
    +    NodePick(80, 60)
    +    s = s + GetPickOutput()
    +    PickByNode(402, 1)
    +    s = s + GetPickOutput()
    +    NodePick(185, 160)
    +    s = s + GetPickOutput()
    +    PickByNode(853, 19)
    +    s = s + GetPickOutput()
    +    TurnMaterialsOff("2")
    +    s = s + "\nPick with material 2 turned off:\n"
    +    Pick(80, 60)
    +    s = s + GetPickOutput()
    +    PickByZone(226, 1)
    +    s = s + GetPickOutput()
    +    Pick(185, 160)
    +    s = s + GetPickOutput()
    +    PickByZone(606, 19)
    +    s = s + GetPickOutput()
    +    NodePick(80, 60)
    +    s = s + GetPickOutput()
    +    PickByNode(402, 1)
    +    s = s + GetPickOutput()
    +    NodePick(185, 160)
    +    s = s + GetPickOutput()
    +    PickByNode(853, 19)
    +    s = s + GetPickOutput()
    +    TurnMaterialsOn("2")
    +    TestText("Pick3DTo2D", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def Pick2D():
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    ResetView()
    +    vars = ("d", "p", "u")
    +    Pick(170, 65, vars)
    +    s = GetPickOutput()
    +    Pick(140, 161, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick method
    +    PickByZone(5, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(4, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    # Test PickByZone and PickByNode on data with ghost zones.
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    ResetView()
    +
    +    v = GetView2D()
    +    v.windowCoords = (-0.70073, 0.9927, 1.75365, 2.63085)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v)
    +
    +    vars = ("default")
    +    Pick(177, 90, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(13)
    +    s = s + GetPickOutput()
    +    NodePick(177, 90, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(13)
    +    s = s + GetPickOutput()
    +
    +    ResetView()
    +
    +    Pick(164, 136)
    +    s = s + GetPickOutput()
    +    PickByZone(716)
    +    s = s + GetPickOutput()
    +
    +    NodePick(164, 136)
    +    s = s + GetPickOutput()
    +    PickByNode(744)
    +    s = s + GetPickOutput()
    +
    +    Pick(113, 84)
    +    s = s + GetPickOutput()
    +    PickByZone(360)
    +    s = s + GetPickOutput()
    +
    +    NodePick(113, 84)
    +    s = s + GetPickOutput()
    +    PickByNode(374)
    +    s = s + GetPickOutput()
    +
    +    Pick(218, 65)
    +    s = s + GetPickOutput()
    +    PickByZone(81)
    +    s = s + GetPickOutput()
    +
    +    NodePick(218, 65)
    +    s = s + GetPickOutput()
    +    PickByNode(85)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    # bug '5152, ascii data not reported as such.
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "ascii")
    +    DrawPlots()
    +
    +    ResetView()
    +
    +    Pick(104, 224)
    +    s = s + GetPickOutput()
    +    Pick(155, 140)
    +    s = s + GetPickOutput()
    +    Pick(234, 278)
    +    s = s + GetPickOutput()
    +    Pick(151, 266)
    +    s = s + GetPickOutput()
    +    Pick(187, 106)
    +    s = s + GetPickOutput()
    +
    +    NodePick(104, 224)
    +    s = s + GetPickOutput()
    +    NodePick(155, 140)
    +    s = s + GetPickOutput()
    +    NodePick(234, 278)
    +    s = s + GetPickOutput()
    +    NodePick(151, 266)
    +    s = s + GetPickOutput()
    +    NodePick(187, 106)
    +    s = s + GetPickOutput()
    +
    +    TestText("Pick2D", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickOnionPeel():
    +    # Testing pick on 3d plots with OnionPeel operator
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.adjacencyType = 0
    +    op.categoryName = "domains"
    +    op.subsetName = "domain4"
    +    op.index = 15
    +    op.requestedLayer = 0
    +    SetOperatorOptions(op)
    +
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0.0199972, -0.0176736, 0.999644)
    +    v.focus = (1.05702, 2.19945, 3.66667)
    +    v.viewUp = (-0.0156863, 0.999715, 0.0179886)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.794807
    +    v.nearPlane = -7.9865
    +    v.farPlane = 7.9865
    +    v.perspective = 0
    +    SetView3D(v)
    +
    +    #From defect VisIt00002762, pick shouldn't report repeated vars
    +    vars = ("default", "d", "p", "u", "p", "v")
    +    pa = GetPickAttributes()
    +    pa.showNodePhysicalCoords = 1
    +    SetPickAttributes(pa)
    +    Pick(271, 64, vars)
    +    s = GetPickOutput()
    +    Pick(282, 53, vars)
    +    s = s + GetPickOutput()
    +
    +    PickByZone(15, 4, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickOnionPeel", s)
    +    pa.showNodePhysicalCoords = 0
    +    SetPickAttributes(pa)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickSubset():
    +    #Testing Pick's accuracy on a sil-restricted plot.
    +    #All the picks in this test should return zone 30.
    +    #From defect VisIt00003348
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Subset", "domains")
    +    TurnMaterialsOff()
    +    TurnMaterialsOn("1")
    +
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.997376, 0.0429928, 0.058241)
    +    v.focus = (-0.0906961, 0.0532744, -1.5925)
    +    v.viewUp = (0.0448435, 0.998518, 0.0308499)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.598088
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.perspective = 0
    +    SetView3D(v)
    +
    +    vars = ("mat1")
    +    Pick(173, 111, vars)
    +    s = GetPickOutput()
    +    Pick(191, 116, vars)
    +    s = s + GetPickOutput()
    +    Pick(294, 125, vars)
    +    s = s + GetPickOutput()
    +    Pick(156, 128, vars)
    +    s = s + GetPickOutput()
    +    Pick(147, 112, vars)
    +    s = s + GetPickOutput()
    +    TestText("PickSubset", s)
    +    TurnMaterialsOn()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +
    +def PickMatFracsThreshold():
    +    # Testing pick on 3d plot with Threshold operator, returning
    +    # material var (mat fracs) and vector var.
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Pseudocolor", "p")
    +    thresh = ThresholdAttributes()
    +    thresh.upperBounds = (37.0)
    +    thresh.lowerBounds = (10.0)
    +    SetDefaultOperatorOptions(thresh)
    +    AddOperator("Threshold")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.181485
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.perspective = 0
    +    SetView3D(v)
    +
    +    pa = GetPickAttributes()
    +    pa.showNodeDomainLogicalCoords = 1
    +    pa.showZoneDomainLogicalCoords = 1
    +    SetPickAttributes(pa)
    +    vars = ("mat1", "vel")
    +    Pick(151, 172, vars)
    +    s = GetPickOutput()
    +    Pick(211, 185, vars)
    +    s = s + GetPickOutput()
    +    Pick(78, 153, vars)
    +    s = s + GetPickOutput()
    +    Pick(150, 124, vars)
    +    s = s + GetPickOutput()
    +
    +    #Test new pick method
    +    PickByZone(21045, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(18647, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(19812, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(20954, vars)
    +    s = s + GetPickOutput()
    +
    +    pa.showNodeDomainLogicalCoords = 0
    +    pa.showZoneDomainLogicalCoords = 0
    +    SetPickAttributes(pa)
    +
    +    # Add a few with only vel as the var
    +    # From bug: VisIt00004103
    +    RemoveLastOperator()
    +    vars = ("vel")
    +    Pick(78, 153, vars)
    +    s = s + GetPickOutput()
    +    Pick(150, 124, vars)
    +    s = s + GetPickOutput()
    +
    +    #Test new pick method
    +    PickByZone(35412, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(35354, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickMatFracsThreshold", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickReflect():
    +    # Testing pick on plot with Reflect operator.
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("Reflect")
    +    DrawPlots()
    +    ResetView()
    +    vars = ("default")
    +    Pick(149, 206, vars)
    +    s = GetPickOutput()
    +    Pick(149, 94, vars)
    +    s = s + GetPickOutput()
    +    NodePick(coord=(0, 3, 0))
    +    s = s + GetPickOutput()
    +    NodePick(coord=(0, -3, 0))
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    # Try a rectilinear grid
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Subset", "Mesh")
    +    AddOperator("Reflect")
    +    DrawPlots()
    +    ResetView()
    +
    +    Pick(coord=(-5, 5, 10))
    +    s = s + GetPickOutput()
    +    NodePick(coord=(-5, 5, 10))
    +    s = s + GetPickOutput()
    +    Pick(coord=(-5, -25, 10))
    +    s = s + GetPickOutput()
    +    NodePick(coord=(-5, -25, 10))
    +    s = s + GetPickOutput()
    +
    +
    +    TestText("PickReflect", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +
    +def PickFilledBoundary():
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("FilledBoundary", "mat1")
    +
    +    AddOperator("Slice")
    +    s= SliceAttributes()
    +    s.originIntercept = 2.89833
    +    s.originType = s.Intercept
    +    s.normal = (0, 1, 0)
    +    s.upAxis = (1, 0, 0)
    +    s.axisType = s.YAxis
    +    s.flip = 1
    +    s.project2d = 1
    +    SetOperatorOptions(s)
    +
    +    v = GetView2D()
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.windowCoords = (7.07307, 8.30598, 2.26402, 2.88047)
    +    SetView2D(v)
    +    DrawPlots()
    +
    +    vars = ("default")
    +    Pick(153, 69, vars)
    +    p = GetPickOutput()
    +    Pick(222, 56, vars)
    +    p += GetPickOutput()
    +    Pick(118, 77, vars)
    +    p += GetPickOutput()
    +    Pick(141, 74, vars)
    +    p += GetPickOutput()
    +    Pick(180, 68, vars)
    +    p += GetPickOutput()
    +    Pick(224, 75, vars)
    +    p += GetPickOutput()
    +    Pick(198, 56, vars)
    +    p += GetPickOutput()
    +    Pick(113, 70, vars)
    +    p += GetPickOutput()
    +    Pick(119, 57, vars)
    +    p += GetPickOutput()
    +    Pick(157, 66, vars)
    +    p += GetPickOutput()
    +    Pick(199, 66, vars)
    +    p += GetPickOutput()
    +    Pick(227, 79, vars)
    +    p += GetPickOutput()
    +
    +    # Test new pick method
    +    PickByZone(320, 17, vars)
    +    p += GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    # bug 6217 -- NodePick on Sliced FB returning wrong coords.
    +    # will test with Mesh, OnionPeeled Mesh and FB to verify
    +    # they all return the same nodes/zones and coords.
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Mesh", "mesh1")
    +    m = MeshAttributes()
    +    m.meshColor = (255, 255, 0, 255)
    +    m.meshColorSource = m.MeshCustom
    +    m.lineWidth = 2
    +    SetPlotOptions(m)
    +    AddOperator("OnionPeel", 0)
    +    op = OnionPeelAttributes()
    +    op.index = 679
    +    SetOperatorOptions(op)
    +
    +    AddPlot("FilledBoundary","mat1")
    +    AddOperator("Slice", 1)
    +    DrawPlots()
    +    ResetView()
    +
    +    SetActivePlots(0)
    +    Pick(247, 188, vars)
    +    p = p + GetPickOutput()
    +    NodePick(247, 188, vars)
    +    p = p + GetPickOutput()
    +
    +    SetActivePlots(1)
    +    Pick(247, 188, vars)
    +    p = p + GetPickOutput()
    +    NodePick(247, 188, vars)
    +    p = p + GetPickOutput()
    +    SetActivePlots(2)
    +    Pick(247, 188, vars)
    +    p = p + GetPickOutput()
    +    NodePick(247, 188, vars)
    +    p = p + GetPickOutput()
    +    TestText("PickFilledBoundary", p)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickMultiBlock():
    +    # Testing pick on 3d multi-domain plots
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.perspective = 1
    +    SetView3D(v)
    +
    +    vars = ("default", "d", "p")
    +    Pick(109, 113, vars)
    +    s = GetPickOutput()
    +    Pick(74, 114, vars)
    +    s = s + GetPickOutput()
    +    Pick(192, 114, vars)
    +    s = s + GetPickOutput()
    +    Pick(230, 114, vars)
    +    s = s + GetPickOutput()
    +    Pick(155, 148, vars)
    +    s = s + GetPickOutput()
    +    Pick(153, 185, vars)
    +    s = s + GetPickOutput()
    +    Pick(106, 149, vars)
    +    s = s + GetPickOutput()
    +    Pick(196, 144, vars)
    +    s = s + GetPickOutput()
    +    Pick(119, 157, vars)
    +    s = s + GetPickOutput()
    +    Pick(180, 160, vars)
    +    s = s + GetPickOutput()
    +    Pick(97, 130, vars)
    +    s = s + GetPickOutput()
    +    Pick(212, 129, vars)
    +    s = s + GetPickOutput()
    +
    +
    +    # Test new pick method
    +    PickByZone(15, 34, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(15, 36, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(75, 25, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(83, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(15, 28, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(4, 30, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(94, 35, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(15, 26, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(25, 32, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(64, 29, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(56, 35, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(51, 26, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    TurnMaterialsOn()
    +    DrawPlots()
    +    ResetView()
    +    vars = ("default", "u", "d", "p")
    +    Pick(61, 61, vars)
    +    s = s + GetPickOutput()
    +    Pick(61, 188, vars)
    +    s = s + GetPickOutput()
    +    Pick(79, 233, vars)
    +    s = s + GetPickOutput()
    +    Pick(80, 64, vars)
    +    s = s + GetPickOutput()
    +    Pick(99, 120, vars)
    +    s = s + GetPickOutput()
    +    Pick(115, 236, vars)
    +    s = s + GetPickOutput()
    +    Pick(154, 194, vars)
    +    s = s + GetPickOutput()
    +    Pick(155, 150, vars)
    +    s = s + GetPickOutput()
    +    Pick(174, 72, vars)
    +    s = s + GetPickOutput()
    +    Pick(192, 115, vars)
    +    s = s + GetPickOutput()
    +    Pick(229, 235, vars)
    +    s = s + GetPickOutput()
    +    Pick(236, 59, vars)
    +    s = s + GetPickOutput()
    +    Pick(246, 157, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick method
    +    PickByZone(921, 25, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(971, 31, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(964, 34, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(934, 25, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(947, 28, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(969, 34, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(985, 32, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(995, 29, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(948, 26, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(931, 30, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(966, 36, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(927, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(919, 33, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal= (1, 0, 0)
    +    SetView3D(v)
    +
    +    vars = ("default")
    +    Pick(250, 64, vars)
    +    s = s + GetPickOutput()
    +    Pick(149, 135, vars)
    +    s = s + GetPickOutput()
    +    Pick(227, 72, vars)
    +    s = s + GetPickOutput()
    +    Pick(65, 65, vars)
    +    s = s + GetPickOutput()
    +    Pick(67, 228, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick method
    +    PickByZone(13, 3, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(1, 15, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(118, 3, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(258, 21, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(279, 27, vars)
    +    s = s + GetPickOutput()
    +
    +    #Bug '4571, pick crashing when bad vars specified
    +    vars = ("aspect")
    +    Pick(67, 228, vars)
    +    s = s + GetPickOutput()
    +    vars = ("mesh_quality/aspect", "spurious")
    +    Pick(67, 228, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickMultiBlock", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickSurface():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Surface", "d")
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.originIntercept = 0.5
    +    slice.project2d = 1
    +    slice.axisType = slice.YAxis
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0, 1, 0)
    +    v.viewUp = (0, 0, -1)
    +    SetView3D(v)
    +
    +    pa = GetPickAttributes()
    +    pa.variables = ("default")
    +    SetPickAttributes(pa)
    +
    +    Pick(141, 178)
    +    s = GetPickOutput()
    +    NodePick(141, 178)
    +    s = s + GetPickOutput()
    +    Pick(194, 144)
    +    s = s + GetPickOutput()
    +    NodePick(194, 144)
    +    s = s + GetPickOutput()
    +    Pick(149, 197)
    +    s = s + GetPickOutput()
    +    NodePick(149, 197)
    +    s = s + GetPickOutput()
    +    Pick(64, 102)
    +    s = s + GetPickOutput()
    +    NodePick(64, 102)
    +    s = s + GetPickOutput()
    +    Pick(138, 126)
    +    s = s + GetPickOutput()
    +    NodePick(138, 126)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Surface", "p")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0, 1, 0)
    +    v.viewUp = (0, 0, -1)
    +    SetView3D(v)
    +
    +    Pick(103, 227)
    +    s = s + GetPickOutput()
    +    NodePick(103, 227)
    +    s = s + GetPickOutput()
    +    Pick(171, 86)
    +    s = s + GetPickOutput()
    +    NodePick(171, 86)
    +    s = s + GetPickOutput()
    +    Pick(129, 63)
    +    s = s + GetPickOutput()
    +    NodePick(129, 63)
    +    s = s + GetPickOutput()
    +    Pick(153, 177)
    +    s = s + GetPickOutput()
    +    NodePick(153, 177)
    +    s = s + GetPickOutput()
    +    Pick(188, 167)
    +    s = s + GetPickOutput()
    +    NodePick(188, 167)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Surface", "d")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0.329152, -0.014518, -0.944165)
    +    v.focus = (2, 2, 2)
    +    v.viewUp = (-0.944025, -0.0281555, -0.32867)
    +    SetView3D(v)
    +
    +    s = s + "\nThe next three results should be the same.\n"
    +    Pick(118, 112)
    +    s = s + GetPickOutput()
    +    PickByZone(3)
    +    s = s + GetPickOutput()
    +    Pick((2.74917, 2.79753, 2.82784))
    +
    +    s = s + GetPickOutput()
    +
    +    s = s + "\nThe next three results should be the same.\n"
    +    NodePick(118, 112)
    +    s = s + GetPickOutput()
    +    PickByNode(11)
    +    s = s + GetPickOutput()
    +    NodePick((2.5, 2.5, 1.41421))
    +    s = s + GetPickOutput()
    +
    +    s = s + "\nThe next three results should be the same.\n"
    +    NodePick(139, 73)
    +    s = s + GetPickOutput()
    +    PickByNode(4)
    +    s = s + GetPickOutput()
    +    NodePick((4.0, 2.0, 4.0))
    +    s = s + GetPickOutput()
    +
    +    TestText("PickSurface", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickBigSilMat():
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +    ResetView()
    +    pa = GetPickAttributes()
    +    pa.showNodePhysicalCoords = 1
    +    SetPickAttributes(pa)
    +    vars = "mat"
    +    Pick(87, 215, vars)
    +    s = GetPickOutput()
    +    NodePick(87, 215, vars)
    +    s = s + GetPickOutput()
    +    Pick(149, 146, vars)
    +    s = s + GetPickOutput()
    +    NodePick(149, 146, vars)
    +    s = s + GetPickOutput()
    +    Pick(89, 54, vars)
    +    s = s + GetPickOutput()
    +    NodePick(89, 54, vars)
    +    s = s + GetPickOutput()
    +    Pick(217, 74, vars)
    +    s = s + GetPickOutput()
    +    NodePick(217, 74, vars)
    +    s = s + GetPickOutput()
    +    Pick(215, 233, vars)
    +    s = s + GetPickOutput()
    +    NodePick(215, 233, vars)
    +    s = s + GetPickOutput()
    +    Pick(186, 193, vars)
    +    s = s + GetPickOutput()
    +    NodePick(186, 193, vars)
    +    s = s + GetPickOutput()
    +    Pick(190, 106, vars)
    +    s = s + GetPickOutput()
    +    NodePick(190, 106, vars)
    +    s = s + GetPickOutput()
    +    Pick(117, 173, vars)
    +    s = s + GetPickOutput()
    +    NodePick(117, 173, vars)
    +    s = s + GetPickOutput()
    +    Pick(98, 86, vars)
    +    s = s + GetPickOutput()
    +    NodePick(98, 86, vars)
    +    s = s + GetPickOutput()
    +    Pick(185, 116, vars)
    +    s = s + GetPickOutput()
    +    NodePick(185, 116, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick methods
    +    PickByZone(319, 25, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(476, 25, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(318, 23, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(475, 23, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(311, 21, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(475, 21, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(332, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(491, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(294, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(456, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(329, 21, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(497, 21, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(329, 23, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(496, 23, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(329, 19, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(485, 19, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(294, 24, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(448, 24, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickBigSilMat", s)
    +    DeleteAllPlots()
    +    pa.showNodePhysicalCoords = 0
    +    SetPickAttributes(pa)
    +    ResetPickLetter()
    +
    +def PickOnionPeel2():
    +    #From defect VisIt00003981, onionpeel and window ACTUAL_EXTENTS
    +    #pick not working
    +    print(tests_path("queries","pickonionpeel.session"), 0,silo_data_path("curv3d.silo"))
    +    RestoreSessionWithDifferentSources(tests_path("queries","pickonionpeel.session"), 0,
    +                                       silo_data_path("curv3d.silo"))
    +    vars = "default"
    +    Pick(196, 194, vars)
    +    s = GetPickOutput()
    +    Pick(59, 73, vars)
    +    s = s + GetPickOutput()
    +    Pick(128, 111, vars)
    +    s = s + GetPickOutput()
    +    Pick(50, 90, vars)
    +    s = s + GetPickOutput()
    +    Pick(275, 203, vars)
    +    s = s + GetPickOutput()
    +    Pick(277, 225, vars)
    +    s = s + GetPickOutput()
    +    Pick(52, 109, vars)
    +    s = s + GetPickOutput()
    +
    +    op = OnionPeelAttributes()
    +    op.adjacencyType = op.Face
    +    op.requestedLayer = 1
    +    op.index = 1
    +    SetOperatorOptions(op)
    +
    +    Pick(52, 105, vars)
    +    s = s + GetPickOutput()
    +    Pick(67, 65, vars)
    +    s = s + GetPickOutput()
    +    Pick(51, 86, vars)
    +    s = s + GetPickOutput()
    +    Pick(265, 210, vars)
    +    s = s + GetPickOutput()
    +    Pick(172, 165, vars)
    +    s = s + GetPickOutput()
    +
    +    op.index = 317
    +    op.requestedLayer = 0
    +    SetOperatorOptions(op)
    +
    +    Pick(76, 70, vars)
    +    s = s + GetPickOutput()
    +    Pick(37, 120, vars)
    +    s = s + GetPickOutput()
    +    Pick(119, 174, vars)
    +    s = s + GetPickOutput()
    +    Pick(273, 188, vars)
    +    s = s + GetPickOutput()
    +
    +    op.adjacencyType = op.Node
    +    op.requestedLayer = 3
    +    SetOperatorOptions(op)
    +
    +    Pick(96, 72, vars)
    +    s = s + GetPickOutput()
    +    Pick(27, 144, vars)
    +    s = s + GetPickOutput()
    +    Pick(115, 102, vars)
    +    s = s + GetPickOutput()
    +    Pick(134, 140, vars)
    +    s = s + GetPickOutput()
    +    Pick(288, 185, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickOnionPeel2", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickSpecMix():
    +    #VisIt '3864
    +    OpenDatabase(silo_data_path("specmix_quad.silo"))
    +
    +    AddPlot("Pseudocolor", "Species")
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.windowCoords = (0, 1, 0, 1)
    +    SetView2D(v)
    +
    +    vars = ("default")
    +    Pick(69, 137, vars)
    +    s = GetPickOutput()
    +    NodePick(90, 119, vars)
    +    s = s + GetPickOutput()
    +    Pick(139, 142, vars)
    +    s = s + GetPickOutput()
    +    NodePick(170, 126, vars)
    +    s = s + GetPickOutput()
    +    Pick(201, 95, vars)
    +    s = s + GetPickOutput()
    +    Pick(78, 75, vars)
    +    s = s + GetPickOutput()
    +    Pick(256, 169, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick method
    +    PickByZone(233, vars)
    +    s = s +GetPickOutput()
    +    PickByNode(266, vars)
    +    s = s +GetPickOutput()
    +
    +    silr = SILRestriction()
    +    onoff = 0
    +    for sets in silr.SetsInCategory('Species'):
    +        if(onoff == 0):
    +            silr.TurnOffSet(sets)
    +            onoff = 1
    +        else:
    +            onoff = 0
    +    SetPlotSILRestriction(silr)
    +
    +    NodePick(140, 197, vars)
    +    s = s + GetPickOutput()
    +    Pick(249, 112, vars)
    +    s = s + GetPickOutput()
    +    NodePick(125, 137, vars)
    +    s = s + GetPickOutput()
    +    Pick(191, 136, vars)
    +    s = s + GetPickOutput()
    +    vars = ("d", "Species")
    +    NodePick(204, 135, vars)
    +    s = s + GetPickOutput()
    +    Pick(138, 118, vars)
    +    s = s + GetPickOutput()
    +    NodePick(104, 139, vars)
    +    s = s + GetPickOutput()
    +    Pick(94, 151, vars)
    +    s = s + GetPickOutput()
    +    NodePick(182, 99, vars)
    +    s = s + GetPickOutput()
    +    # now test with 'd' as the active plot variable, should
    +    # get the same results.
    +    ChangeActivePlotsVar("d")
    +    NodePick(204, 135, vars)
    +    s = s + GetPickOutput()
    +    Pick(138, 118, vars)
    +    s = s + GetPickOutput()
    +    NodePick(104, 139, vars)
    +    s = s + GetPickOutput()
    +    Pick(94, 151, vars)
    +    s = s + GetPickOutput()
    +
    +    NodePick(182, 99, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickSpecMix", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickCurve():
    +    OpenDatabase(data_path("curve_test_data/curve.visit"))
    +
    +    AddPlot("Curve", "parabolic")
    +    SetTimeSliderState(72)
    +    DrawPlots()
    +
    +    v = GetViewCurve()
    +    v.rangeCoords = (0, 1)
    +    SetViewCurve(v)
    +
    +    pa = GetPickAttributes()
    +    pa.variables = ("default")
    +    SetPickAttributes(pa)
    +
    +    Pick(72, 53)
    +    p = GetPickOutput()
    +    Pick(156, 22)
    +    p = p + GetPickOutput()
    +    Pick(15, 128)
    +    p = p + GetPickOutput()
    +    Pick(212, 200)
    +    p = p + GetPickOutput()
    +    Pick((0.2, 0.7))
    +    p = p + GetPickOutput()
    +    Pick((0.8, 0.35))
    +    p = p + GetPickOutput()
    +    Pick((0.6, 0.6))
    +    p = p + GetPickOutput()
    +    Pick((0.3, 0.5))
    +    p = p + GetPickOutput()
    +
    +    TestText("PickCurve", p)
    +    ResetPickLetter()
    +    DeleteAllPlots()
    +
    +def PickMultiWindow():
    +    OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +    AddPlot("FilledBoundary", "Material")
    +    SetTimeSliderState(31)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, -1, 0)
    +    v.viewUp = (0, 0, 1)
    +    SetView3D(v)
    +
    +    CloneWindow()
    +    SetTimeSliderState(64)
    +    DrawPlots()
    +
    +    pt1a = (7.20585, 0.099664, 2.5)
    +    pt1b = (5.867554, 0.264801,  3.566963)
    +
    +    pt2a = (7.20585, 0.099664, 2.378386)
    +    pt2b = (5.867554, 0.039652,  3.566963)
    +
    +
    +    # Same DB, same plot, same var, different ts
    +    SetActiveWindow(1)
    +    Pick(pt1a)
    +    s = GetPickOutput()
    +
    +    SetActiveWindow(2)
    +    Pick(pt2a)
    +    s = s + GetPickOutput()
    +
    +    SetActiveWindow(1)
    +    Pick(pt1b)
    +    s = s + GetPickOutput()
    +
    +    SetActiveWindow(2)
    +    Pick(pt2b)
    +    s = s + GetPickOutput()
    +
    +    # Same DB, same plot, different var, different ts
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "v")
    +    DrawPlots()
    +
    +    Pick(pt1a)
    +    s = s + GetPickOutput()
    +    Pick(pt1b)
    +    s = s + GetPickOutput()
    +
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    Pick(pt2a)
    +    s = s + GetPickOutput()
    +    Pick(pt2b)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickMultiWindow", s)
    +    ResetPickLetter()
    +
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    DeleteAllPlots()
    +
    +#
    +# Sets up a couple test cases that test how pick interacts with the engine
    +# being gone.
    +#
    +def PickBadEngineSetup(testName, GetRidOfEngineCallback):
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.423782, 0.331476, 0.842931)
    +    v.focus = (0, 2.5, 15)
    +    v.viewUp = (0.111716, 0.942652, -0.314525)
    +    v.viewAngle = 30
    +    v.parallelScale = 16.0078
    +    v.nearPlane = -32.0156
    +    v.farPlane = 32.0156
    +    v.imagePan = (-0.0549008, 0.0570848)
    +    v.imageZoom = 1.35304
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    ptA = (0.115986, 4.290420, 29.9)
    +    Pick(ptA)
    +    s = ""
    +    s = s + GetPickOutput()
    +    ptB = (0.040697, 2.250070, 29.9)
    +    Pick(ptB)
    +    s = s + GetPickOutput()
    +
    +    # Get rid of the compute engine running on localhost.
    +    s = s + GetRidOfEngineCallback()
    +
    +    # Create plots in a new window before returning to window 1 to
    +    # pick again. This will force the network ids in window 1 to be
    +    # invalid in case they do not get reset. (But they do get reset now)
    +    AddWindow()
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    SetActiveWindow(1)
    +
    +    # Resume picking in window 1 now that there are networks in window 2.
    +    ptC = (0.15, 3.250070, 26.9)
    +    Pick(ptC)
    +    s = s + GetPickOutput()
    +    ptD = (0.19, 3.75, 26.9)
    +    Pick(ptD)
    +    s = s + GetPickOutput()
    +
    +    TestText(testName, s)
    +    ResetPickLetter()
    +    DeleteAllPlots()
    +    # Delete window 2.
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +
    +#
    +# Tests that pick works after an engine has been closed by the user.
    +#
    +def PickAfterEngineClosed():
    +    def CloseCB():
    +        CloseComputeEngine("localhost")
    +        return "***\n*** Closed engine on localhost.\n***\n"
    +    PickBadEngineSetup("PickAfterEngineClose", CloseCB)
    +
    +#
    +# Tests that pick works after an engine has crashed.
    +#
    +def PickAfterEngineCrashed():
    +    #TODO: THIS WONT WORK ON WINDOWs
    +    def CrashCB():
    +        try:
    +            # Read the output of ps
    +            f = os.popen("ps")
    +            lines = f.readlines()
    +            f.close()
    +
    +            # Get a list of engine pids from the ps output.
    +            pids = []
    +            for line in lines:
    +                if string.find(line, "engine_") == -1:
    +                    continue
    +                tokens = string.split(line, " ")
    +                lv = []
    +                for t in tokens:
    +                    if t != "":
    +                        lv = lv + [t]
    +                if len(lv) > 0:
    +                   pids = pids + [lv[0]]
    +
    +            # Kill all of the engines in the pid list.
    +            if len(pids) < 1:
    +                print("Killing all engines because we could not get a list of pids", file=sys.stderr)
    +                # TODO_WINDOWS THIS WONT WORK ON WINDOWS
    +                os.system("killall engine_ser")
    +                os.system("killall engine_par")
    +            else:
    +                for pid in pids:
    +                    print("Killing engine %s" % pid, file=sys.stderr)
    +                    # TODO_WINDOWS THIS WONT WORK ON WINDOWS
    +                    os.system("kill -9 %s" % pid)
    +        except:
    +            # There was an error. Just close the engine instead of killing it.
    +            CloseComputeEngine("localhost")
    +        return "***\n*** Killed compute engine(s).\n***\n"
    +    PickBadEngineSetup("PickAfterEngineCrash", CrashCB)
    +
    +def PickBoundary():
    +    # VisIt00004807
    +    # Test Pick on a 2D Boundary plot.
    +
    +    ResetPickAttributes()
    +
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Boundary", "mat1")
    +    DrawPlots()
    +
    +    ResetView()
    +    SetViewExtentsType("original")
    +
    +    Pick(164, 136)
    +    s = GetPickOutput()
    +    PickByZone(482)
    +    s = s + GetPickOutput()
    +
    +    NodePick(164, 136)
    +    s = s + GetPickOutput()
    +    PickByNode(528)
    +    s = s + GetPickOutput()
    +
    +    Pick(113, 84)
    +    s = s + GetPickOutput()
    +    PickByZone(230)
    +    s = s + GetPickOutput()
    +
    +    NodePick(113, 84)
    +    s = s + GetPickOutput()
    +    PickByNode(239)
    +    s = s + GetPickOutput()
    +
    +    Pick(218, 65)
    +    s = s + GetPickOutput()
    +    PickByZone(211)
    +    s = s + GetPickOutput()
    +
    +    NodePick(218, 65)
    +    s = s + GetPickOutput()
    +    PickByNode(220)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +
    +    OpenDatabase(silo_data_path("specmix_quad.silo"))
    +
    +    AddPlot("Boundary", "Material")
    +    DrawPlots()
    +    ResetView()
    +
    +    Pick(107, 131)
    +    s = s + GetPickOutput()
    +    PickByZone(86)
    +    s = s + GetPickOutput()
    +
    +    NodePick(107, 131)
    +    s = s + GetPickOutput()
    +    PickByNode(89)
    +    s = s + GetPickOutput()
    +
    +    Pick(207, 145)
    +    s = s + GetPickOutput()
    +    PickByZone(297)
    +    s = s + GetPickOutput()
    +
    +    NodePick(207, 145)
    +    s = s + GetPickOutput()
    +    PickByNode(333)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("specmix_ucd.silo"))
    +
    +    AddPlot("Boundary", "Material")
    +    DrawPlots()
    +    ResetView()
    +
    +    vars = "p"
    +    Pick(107, 131, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(86, vars)
    +    s = s + GetPickOutput()
    +
    +    NodePick(107, 131, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(89, vars)
    +    s = s + GetPickOutput()
    +
    +    Pick(207, 145, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(297, vars)
    +    s = s + GetPickOutput()
    +
    +    NodePick(207, 145, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(333, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    #Test Sliced Boundary plots
    +    ResetOperatorOptions("Slice")
    +
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Boundary", "mat1")
    +    AddOperator("Slice")
    +
    +    slice = SliceAttributes()
    +    slice.normal = (0, -1, 0)
    +    slice.upAxis = (0, 0, 1)
    +    SetOperatorOptions(slice)
    +
    +    DrawPlots()
    +    ResetView()
    +
    +    Pick(83, 223, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(26670, vars)
    +    s = s + GetPickOutput()
    +
    +    NodePick(83, 223, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(28272, vars)
    +    s = s + GetPickOutput()
    +
    +    Pick(127, 84, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(5399, vars)
    +    s = s + GetPickOutput()
    +
    +    NodePick(127, 84, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(7005, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("sid97.silo"))
    +
    +    AddPlot("Boundary", "mat1")
    +
    +    AddOperator("Slice")
    +
    +    slice = SliceAttributes()
    +    slice.originType = slice.Point
    +    slice.originPoint = (7400, -1300, 1000)
    +    slice.normal  = (0, 1, 0)
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("actual")
    +
    +    pick = GetPickAttributes()
    +    pick.variables = ("default")
    +    SetPickAttributes(pick)
    +
    +    Pick(128, 140)
    +    s = s + GetPickOutput()
    +    PickByZone(1269)
    +    s = s + GetPickOutput()
    +
    +    NodePick(128, 140)
    +    s = s + GetPickOutput()
    +    PickByNode(1356)
    +    s = s + GetPickOutput()
    +
    +    Pick(120, 89)
    +    s = s + GetPickOutput()
    +    PickByZone(10438)
    +    s = s + GetPickOutput()
    +
    +    NodePick(120, 89)
    +    s = s + GetPickOutput()
    +    PickByNode(12836)
    +    s = s + GetPickOutput()
    +
    +    Pick(154, 50)
    +    s = s + GetPickOutput()
    +    PickByZone(10455)
    +    s = s + GetPickOutput()
    +
    +    NodePick(154, 50)
    +    s = s + GetPickOutput()
    +    PickByNode(12842)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Boundary", "mat1")
    +
    +    AddOperator("Slice")
    +
    +    slice.originType = slice.Intercept
    +    slice.originIntercept = 0.5
    +    slice.normal  = (0, 1, 1)
    +    slice.upAxis  = (0, 1, 0)
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("original")
    +
    +    Pick(75, 258)
    +    s = s + GetPickOutput()
    +    PickByZone(810)
    +    s = s + GetPickOutput()
    +
    +    NodePick(75, 258)
    +    s = s + GetPickOutput()
    +    PickByNode(869)
    +    s = s + GetPickOutput()
    +
    +    Pick(121, 108)
    +    s = s + GetPickOutput()
    +    PickByZone(18217)
    +    s = s + GetPickOutput()
    +
    +    NodePick(121, 108)
    +    s = s + GetPickOutput()
    +    PickByNode(20561)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickBoundary", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickVectorPlots():
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Vector", "vel")
    +    vector = VectorAttributes()
    +    vector.autoScale = 0
    +    SetPlotOptions(vector)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 2.02836
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    p = GetPickAttributes()
    +    p.variables = ("default")
    +    SetPickAttributes(p)
    +    Pick(274, 259)
    +    s = GetPickOutput()
    +    Pick(269, 258)
    +    s = s + GetPickOutput()
    +    Pick(86, 37)
    +    s = s + GetPickOutput()
    +    Pick(83, 28)
    +    s = s + GetPickOutput()
    +
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.axisType = slice.ZAxis
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    Pick(96, 244)
    +    s = s + GetPickOutput()
    +    Pick(204, 88)
    +    s = s + GetPickOutput()
    +
    +    RemoveLastOperator()
    +
    +    ChangeActivePlotsVar("disp")
    +    vector = VectorAttributes()
    +    vector.autoScale = 0
    +    vector.scale = 1.
    +    vector.origOnly = 0
    +    SetPlotOptions(vector)
    +
    +    v.viewNormal = (-0.8775, 0.112599, 0.46617)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.120127, 0.992665, -0.0136456)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 2.3515
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Pick(119, 87)
    +    s = s + GetPickOutput();
    +    Pick(148, 230)
    +    s = s + GetPickOutput();
    +    Pick(22, 97)
    +    s = s + GetPickOutput();
    +
    +    AddOperator("Slice")
    +    DrawPlots()
    +
    +    Pick(76, 113)
    +    s = s + GetPickOutput();
    +    Pick(244, 67)
    +    s = s + GetPickOutput();
    +    Pick(127, 217)
    +    s = s + GetPickOutput();
    +
    +    DeleteAllPlots()
    +
    +    # VisIt00006296 -- pick of vector expression causes crash
    +    DefineVectorExpression("polarVector", "polar(mesh1)")
    +    DefineVectorExpression("xyzVector", "coord(mesh1)")
    +    AddPlot("Vector", "polarVector")
    +    DrawPlots()
    +    ResetView()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (-0.0369757, 0.0171359)
    +    v.imageZoom = 4.66857
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Pick(233, 241)
    +    s = s + GetPickOutput()
    +    Pick(226, 30)
    +    s = s + GetPickOutput()
    +
    +    ChangeActivePlotsVar("xyzVector")
    +
    +    v. imagePan = (0.0220781, -0.0509109)
    +    v. imageZoom = 9.89113
    +    SetView3D(v)
    +    Pick(149, 209)
    +    s = s + GetPickOutput()
    +    Pick(214, 6)
    +    s = s + GetPickOutput()
    +
    +
    +    TestText("PickVectorPlot", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickPointMeshes():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "PointVar")
    +    pc = PseudocolorAttributes()
    +    pc.pointSize = 1
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    ResetView()
    +
    +    NodePick(100, 240)
    +    s = GetPickOutput()
    +    Pick(223, 197)
    +    s = s + GetPickOutput()
    +    NodePick(138, 66)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    AddPlot("Mesh", "PointMesh")
    +    mesh = MeshAttributes()
    +    mesh.pointSize = 1
    +    mesh.pointType = mesh.Box
    +    SetPlotOptions(mesh)
    +    DrawPlots()
    +
    +    NodePick(100, 240)
    +    s = s + GetPickOutput()
    +    Pick(223, 197)
    +    s = s + GetPickOutput()
    +    NodePick(138, 66)
    +    s = s + GetPickOutput()
    +
    +    mesh.pointType = mesh.Point
    +    SetPlotOptions(mesh)
    +
    +    NodePick(100, 240)
    +    s = s + GetPickOutput()
    +    Pick(223, 197)
    +    s = s + GetPickOutput()
    +    NodePick(138, 66)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("multi_point2d.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    m = MeshAttributes()
    +    m.meshColor = (255, 0, 255, 255)
    +    m.meshColorSource = m.MeshCustom
    +    m.pointSize = 0.05
    +    m.pointType = m.Box
    +    SetPlotOptions(m)
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.On
    +    v.windowCoords = (-2.05391, -0.442661, 1.02233, 2.43681)
    +    SetView2D(v)
    +
    +    vars = ("d", "p", "u", "v")
    +
    +    NodePick(122, 72, vars)
    +    s = s + GetPickOutput()
    +    Pick(134, 229, vars)
    +    s = s + GetPickOutput()
    +    NodePick(278, 266, vars)
    +    s = s + GetPickOutput()
    +
    +    m.pointType = mesh.Point
    +    SetPlotOptions(m)
    +
    +    NodePick(122, 72, vars)
    +    s = s + GetPickOutput()
    +    Pick(134, 229, vars)
    +    s = s + GetPickOutput()
    +    NodePick(278, 266, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Subset", "PointMesh")
    +    DrawPlots()
    +    ResetView()
    +
    +    NodePick(100, 240)
    +    s = s+ GetPickOutput()
    +    Pick(223, 197)
    +    s = s + GetPickOutput()
    +    NodePick(138, 66)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickPointMeshes", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickGlobalIds():
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +    ResetView()
    +    p = GetPickAttributes()
    +    p.showGlobalIds = 0
    +    p.variables = ("default")
    +    SetPickAttributes(p)
    +
    +    Pick(82, 225)
    +    s = GetPickOutput()
    +
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    Pick(82, 225)
    +    s = s + GetPickOutput()
    +
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +
    +    NodePick(195, 101)
    +    s = s + GetPickOutput()
    +
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    NodePick(195, 101)
    +    s = s + GetPickOutput()
    +
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +
    +    Pick(175, 162)
    +    s = s + GetPickOutput()
    +    NodePick(175, 162)
    +    s = s + GetPickOutput()
    +
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    Pick(175, 162)
    +    s = s + GetPickOutput()
    +    NodePick(175, 162)
    +    s = s + GetPickOutput()
    +
    +    PickByGlobalZone(3250)
    +    s = s + GetPickOutput()
    +    PickByGlobalZone(237394)
    +    s = s + GetPickOutput()
    +    PickByGlobalNode(3869)
    +    s = s + GetPickOutput()
    +    PickByGlobalNode(246827)
    +    s = s + GetPickOutput()
    +
    +    # bug '6097 -- global ids not displayed correctly with global picks.
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    PickByGlobalZone(236919)
    +    s = s + GetPickOutput()
    +    PickByGlobalNode(244455)
    +    s = s + GetPickOutput()
    +
    +    ChangeActivePlotsVar("p")
    +    PickByGlobalZone(236919)
    +    s = s + GetPickOutput()
    +    PickByGlobalNode(244455)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickGlobalIds", s)
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickExpressions():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    DefineScalarExpression("m1", 'matvf(mat1, ["1", "3"])')
    +    DefineScalarExpression("mir1", 'mirvf(mat1, zoneid(quadmesh3d), volume(quadmesh3d), 1)')
    +
    +    AddPlot("Pseudocolor", "m1")
    +    DrawPlots()
    +    ResetView()
    +
    +    Pick(151, 172)
    +    s = GetPickOutput()
    +    Pick(68, 239)
    +    s = s + GetPickOutput()
    +    Pick(237, 86)
    +    s = s + GetPickOutput()
    +    NodePick(151, 172)
    +    s = s + GetPickOutput()
    +    NodePick(68, 239)
    +    s = s + GetPickOutput()
    +    NodePick(237, 86)
    +    s = s + GetPickOutput()
    +
    +    ChangeActivePlotsVar("mir1")
    +    Pick(151, 172)
    +    s = s + GetPickOutput()
    +    Pick(68, 239)
    +    s = s + GetPickOutput()
    +    Pick(237, 86)
    +    s = s + GetPickOutput()
    +    NodePick(151, 172)
    +    s = s + GetPickOutput()
    +    NodePick(68, 239)
    +    s = s + GetPickOutput()
    +    NodePick(237, 86)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "t")
    +    DrawPlots()
    +    ResetView()
    +    DefineScalarExpression("polar", "polar(mesh1)")
    +
    +    # pick with default var -- 't'
    +    Pick(128, 107)
    +    s = s + GetPickOutput()
    +    # pick again, adding new expression var -- 'polar'
    +    vars = ("default", "polar")
    +    Pick(128, 107, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickExpressions", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickAMR():
    +    OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Pseudocolor", "density")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.Off
    +    v.windowCoords = (0.0232322, 0.0302984, 0.11825, 0.123807)
    +    SetView2D(v)
    +
    +    s = "Testing boxlib 2D, pseudocolor\n"
    +    vars = "default"
    +    NodePick(226, 179, vars)
    +    s = s + GetPickOutput()
    +    ZonePick(226, 179, vars)
    +    s = s + GetPickOutput()
    +    NodePick(215, 168, vars)
    +    s = s + GetPickOutput()
    +    ZonePick(215, 168, vars)
    +    s = s + GetPickOutput()
    +    NodePick(114, 94, vars)
    +    s = s + GetPickOutput()
    +    ZonePick(114, 94, vars)
    +    s = s + GetPickOutput()
    +    NodePick(189, 197, vars)
    +    s = s + GetPickOutput()
    +    ZonePick(189, 197, vars)
    +    s = s + GetPickOutput()
    +    NodePick(242, 72, vars)
    +    s = s + GetPickOutput()
    +    ZonePick(242, 72, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    s = s + "\nTesting boxlib 2D, contour\n"
    +    AddPlot("Contour", "density")
    +    DrawPlots()
    +    v.windowCoords = (0.00408394, 0.0401985, 0.109754, 0.138135)
    +    SetView2D(v)
    +
    +    Pick(161, 137)
    +    s = s + GetPickOutput()
    +    NodePick(161, 137)
    +    s = s + GetPickOutput()
    +    Pick(176, 139)
    +    s = s + GetPickOutput()
    +    NodePick(176, 139)
    +    s = s + GetPickOutput()
    +    Pick(228, 71)
    +    s = s + GetPickOutput()
    +    NodePick(228, 71)
    +    s = s + GetPickOutput()
    +    Pick(255, 196)
    +    s = s + GetPickOutput()
    +    NodePick(255, 196)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    s = s + "\nTesting boxlib 2D, Boundary\n"
    +    AddPlot("Boundary", "materials")
    +    DrawPlots()
    +    v.windowCoords = (0.00226909, 0.0378978, 0.0908832, 0.121254)
    +    SetView2D(v)
    +    Pick(161, 137)
    +    s = s + GetPickOutput()
    +    NodePick(161, 137)
    +    s = s + GetPickOutput()
    +    Pick(228, 71)
    +    s = s + GetPickOutput()
    +    NodePick(228, 71)
    +    s = s + GetPickOutput()
    +    Pick(139, 196)
    +    s = s + GetPickOutput()
    +    NodePick(139, 196)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickAMR", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickSamrai():
    +
    +    def doPicks1():
    +        def pickList(index):
    +            if index == 0 :
    +                ZonePick(172, 178)
    +                return GetPickOutput()
    +            elif index == 1 :
    +                NodePick(191, 188)
    +                return GetPickOutput()
    +            elif index == 2:
    +                NodePick(145, 157)
    +                return GetPickOutput()
    +            elif index == 3:
    +                PickByZone(1863, 2)
    +                return GetPickOutput()
    +            elif index == 4:
    +                PickByNode(2442, 2)
    +                return GetPickOutput()
    +            elif index == 5:
    +                PickByNode(2422, 2)
    +                return GetPickOutput()
    +            else :
    +                return ""
    +
    +        s = ""
    +        for j in range(6):
    +            for i in range(4):
    +                SetActivePlots(i)
    +                s = s + pickList(j)
    +        return s
    +
    +    def doPicks2():
    +        def pickList2(index):
    +            if index == 0 :
    +                ZonePick(239, 141)
    +                return GetPickOutput()
    +            elif index == 1 :
    +                NodePick(246, 108)
    +                return GetPickOutput()
    +            else :
    +                return ""
    +
    +        s = ""
    +        for j in range(2):
    +            for i in range(4):
    +                SetActivePlots(i)
    +                s = s + pickList2(j)
    +        return s
    +
    +    def doPicks3():
    +        def pickList3(index):
    +            if index == 0 :
    +                ZonePick(210, 148)
    +                return GetPickOutput()
    +            elif index == 1 :
    +                NodePick(200, 148)
    +                return GetPickOutput()
    +            elif index == 2 :
    +                ZonePick(210, 168)
    +                return GetPickOutput()
    +            elif index == 3 :
    +                NodePick(210, 168)
    +                return GetPickOutput()
    +            else :
    +                return ""
    +
    +        s = ""
    +        for j in range(4):
    +            for i in range(4):
    +                SetActivePlots(i)
    +                s = s + pickList3(j)
    +        return s
    +
    +
    +    # Open SAMRAI (add default subset plot)
    +    # Add PC, Mesh, and Contour Plots
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    slice = SliceAttributes()
    +    slice.axisType = slice.ZAxis
    +    slice.originType = slice.Percent
    +    slice.originPercent = 20
    +    slice.project2d = 1
    +
    +    AddPlot("Pseudocolor", "Primitive Var _number_0")
    +    AddPlot("Mesh", "amr_mesh")
    +    AddPlot("Contour", "Primitive Var _number_0")
    +
    +    SetActivePlots((0, 1, 2, 3))
    +    AddOperator("Slice")
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.windowCoords = (4.89115, 6.43144, 6.80336, 8.63983)
    +    SetView2D(v)
    +    s = "\nTesting sliced SAMRAI:\n"
    +    s = s + doPicks1()
    +    TestText("PickSamrai_01", s)
    +
    +    SetActivePlots((0, 1, 2, 3))
    +    clip = ClipAttributes()
    +    clip.plane1Origin = (5.1, 0, 0)
    +    clip.plane1Normal = (-1, 0, 0)
    +
    +    AddOperator("Clip")
    +    SetOperatorOptions(clip)
    +    DrawPlots()
    +    ResetPickLetter()
    +    s = "\nTesting clipped sliced SAMRAI:\n"
    +    s = s + doPicks1()
    +    TestText("PickSamrai_02", s)
    +
    +    SetActivePlots((0, 1, 2, 3))
    +    DemoteOperator(1)
    +    DrawPlots()
    +    ResetPickLetter()
    +    s = "\nTesting sliced clipped SAMRAI:\n"
    +    s = s + doPicks1()
    +    TestText("PickSamrai_03", s)
    +
    +    SetActivePlots((0, 1, 2, 3))
    +    RemoveLastOperator()
    +    clip.plane1Origin = (4.3, 0, 0)
    +    SetOperatorOptions(clip)
    +
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, -1)
    +    v.focus = (15, 10, 10)
    +    v.viewUp = (0, 1, 0)
    +    v.parallelScale = 20.6155
    +    v.nearPlane = -41.2311
    +    v.farPlane = 41.2311
    +    v.perspective = 0
    +    SetView3D(v)
    +    v.imageZoom = 8
    +    SetView3D(v)
    +    v.imagePan = (-0.2, 0.1)
    +    SetView3D(v)
    +    ResetPickLetter()
    +    s = "\nTesting clipped SAMRAI (3D):\n"
    +    s = s + doPicks2()
    +    TestText("PickSamrai_04", s)
    +
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +
    +    OpenDatabase(data_path("samrai_test_data/front/dumps.visit"))
    +
    +    AddPlot("Mesh", "amr_mesh")
    +    AddPlot("Pseudocolor", "Distance to front")
    +    AddPlot("Contour", "Distance to front")
    +
    +    DrawPlots()
    +    v = GetView2D()
    +    v.windowCoords = (0.678228, 0.865969, 0.467317, 0.650137)
    +
    +    SetView2D(v)
    +    s = "\nTesting front:\n"
    +    s = s + doPicks3()
    +    TestText("PickSamrai_05", s)
    +
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickIndexSelect():
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh2d")
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("IndexSelect")
    +    isAtts = IndexSelectAttributes()
    +    isAtts.dim = isAtts.TwoD
    +    isAtts.xMin = 1
    +    isAtts.xMax = 2
    +    isAtts.yMin = 1
    +    isAtts.yMax = 2
    +    SetOperatorOptions(isAtts)
    +
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.windowCoords = (-0.0583437, 0.254323, -0.0576062, 0.220944)
    +    SetView2D(v)
    +
    +    SetActivePlots(0)
    +    s = "Pick on Index-selected 2D Mesh Plot\n"
    +    Pick(132, 117)
    +    s = s + GetPickOutput()
    +    NodePick(132, 117)
    +    s = s + GetPickOutput()
    +
    +    SetActivePlots(1)
    +    s = s + "\nSame Picks on Index-selected 2D Pseudocolor Plot\n"
    +    Pick(132, 117)
    +    s = s + GetPickOutput()
    +    NodePick(132, 117)
    +    s = s + GetPickOutput()
    +
    +    isAtts.xIncr = 5
    +    isAtts.yIncr = 5
    +    SetOperatorOptions(isAtts)
    +
    +    s = s+ "\nChanged stride of IndexSelect, 2D Mesh Plot picks\n"
    +    SetActivePlots(0)
    +    Pick(132, 117)
    +    s = s + GetPickOutput()
    +    NodePick(132, 117)
    +    s = s + GetPickOutput()
    +
    +    s = s + "\nSame picks 2D Pseudocolor Plot \n"
    +    SetActivePlots(1)
    +    Pick(132, 117)
    +    s = s + GetPickOutput()
    +    NodePick(132, 117)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddPlot("Pseudocolor", "d")
    +    SetActivePlots((0, 1))
    +    AddOperator("IndexSelect")
    +    isAtts = IndexSelectAttributes()
    +    isAtts.dim = isAtts.ThreeD
    +    isAtts.xIncr = 4
    +    isAtts.yIncr = 4
    +    SetOperatorOptions(isAtts)
    +
    +    DrawPlots()
    +
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-1, 0, 0)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0, 1, 0)
    +    v.parallelScale = 0.866025
    +    v.perspective = 1
    +    SetView3D(v)
    +    v.imagePan = (0.0552434, 0.225336)
    +    SetView3D(v)
    +    v.imageZoom = 5.01124
    +    SetView3D(v)
    +
    +    s = s + "\nIndex selected 3D Mesh Plot\n"
    +    SetActivePlots(0)
    +    Pick(143, 144)
    +    s = s + GetPickOutput()
    +    NodePick(143, 144)
    +    s = s + GetPickOutput()
    +    s = s + "\nSame picks on 3D Pseudocolor Plot\n"
    +    SetActivePlots(1)
    +    Pick(143, 144)
    +    s = s + GetPickOutput()
    +    NodePick(143, 144)
    +    s = s + GetPickOutput()
    +
    +    SetActivePlots((0, 1))
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.normal = (0, 0, 1)
    +    slice.originType = slice.Intercept
    +    slice.originIntercept = 0.5
    +    slice.upAxis = (0, 1, 0)
    +    slice.axisType = slice.ZAxis
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.windowCoords = (0.226685, 0.501966, 0.147753, 0.423034)
    +    SetView2D(v)
    +
    +    s = s + "\nSliced, Index-selected 3D Mesh Plot\n"
    +    SetActivePlots(0)
    +    Pick(184, 234)
    +    s = s + GetPickOutput()
    +    NodePick(184, 234)
    +    s = s + GetPickOutput()
    +
    +
    +    s = s + "\nSame pickes on Sliced, Index-selected 3D Pseudocolor Plot\n"
    +    SetActivePlots(1)
    +    Pick(184, 234)
    +    s = s + GetPickOutput()
    +    NodePick(184, 234)
    +    s = s + GetPickOutput()
    +
    +    AddPlot("FilledBoundary", "mat1")
    +    AddOperator("IndexSelect")
    +    SetOperatorOptions(isAtts)
    +    AddOperator("Slice")
    +    SetOperatorOptions(slice)
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddOperator("Slice")
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    s = s + "\nSame picks on Sliced, Index-selected 3D FilledBoundary Plot\n"
    +    s = s + "Stride changes back to 1 due to MIR, so should match Mesh results below\n"
    +    SetActivePlots(2)
    +    Pick(184, 234)
    +    s = s + GetPickOutput()
    +    NodePick(184, 234)
    +    s = s + GetPickOutput()
    +
    +    s = s + "\nSame picks on Sliced, 3D Mesh Plot\n"
    +    SetActivePlots(3)
    +    Pick(184, 234)
    +    s = s + GetPickOutput()
    +    NodePick(184, 234)
    +    s = s + GetPickOutput()
    +
    +
    +    TestText("PickIndexSelect", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickTensors():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    DrawPlots()
    +    vars = ("grad_tensor")
    +    Pick(133 , 178, vars)
    +    s = GetPickOutput()
    +    NodePick(133 ,178 , vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    AddPlot("Tensor", "grad_tensor")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +    v.imagePan = (-0.181384, 0.137462)
    +    SetView3D(v)
    +    v.imageZoom = 4.86765
    +    SetView3D(v)
    +
    +    Pick(127, 59)
    +    s = s + GetPickOutput()
    +    Pick(269, 166)
    +    s = s + GetPickOutput()
    +    TestText("PickTensors", s)
    +    ResetView()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickMili():
    +    #'7144
    +    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
    +
    +    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
    +    AddOperator("Threshold")
    +    thresh = ThresholdAttributes()
    +    thresh.lowerBounds = (1.0)
    +    thresh.upperBounds = (1.0)
    +    thresh.listedVarNames = ("Primal/Shared/sand")
    +    SetOperatorOptions(thresh)
    +    SetTimeSliderState(77)
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0.761946, 0.114249, -0.637483)
    +    v.focus = (2, -4.76837e-07, -1.43051e-06)
    +    v.viewUp = (-.133671, -.990866, 0.0178134)
    +    v.viewAngle = 30
    +    v.parallelScale = 15.7797
    +    v.nearPlane = -31.5595
    +    v.farPlane = 31.5595
    +    SetView3D(v)
    +
    +    vars = "default"
    +    Pick(100, 150, vars)
    +    s = GetPickOutput()
    +    NodePick(100, 150, vars)
    +    s = s + GetPickOutput()
    +
    +    RemoveLastOperator()
    +
    +    #'7145
    +    AddPlot("Mesh", "mesh1")
    +    SetActivePlots((0, 1))
    +    AddOperator("Clip")
    +    clip = ClipAttributes()
    +    clip.plane1Status = 1
    +    clip.plane1Origin = (8, 7.77778, -10)
    +    clip.plane1Normal = (1, 0, 0)
    +    SetOperatorOptions(clip)
    +    SetTimeSliderState(77)
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (1, 0, 6.12307e-17)
    +    v.focus = (10.5296, -0.00138283, -0.000236511)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 19.0748
    +    v.nearPlane = -38.1495
    +    v.farPlane = 38.1495
    +    SetView3D(v)
    +
    +    Pick(204, 215, vars)
    +    s = s + GetPickOutput()
    +    NodePick(204, 215, vars)
    +    s = s + GetPickOutput()
    +    TestText("PickMili", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickContour():
    +    #'7144
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +    AddPlot("Contour", "d")
    +    contour = ContourAttributes()
    +    contour.contourNLevels = 4
    +    SetPlotOptions(contour)
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.582341, 0.658239, 0.477075)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.402453, 0.743318, -0.534331)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    SetView3D(v)
    +
    +    vars = "default"
    +    Pick(166, 138, vars)
    +    s = GetPickOutput()
    +    NodePick(166, 138, vars)
    +    s = s + GetPickOutput()
    +    Pick(160, 175, vars)
    +    s = s + GetPickOutput()
    +    NodePick(160, 175, vars)
    +    s = s + GetPickOutput()
    +    Pick(158, 210, vars)
    +    s = s + GetPickOutput()
    +    NodePick(158, 210, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickContour", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickBox():
    +    #'7566
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Box")
    +    box = BoxAttributes()
    +    box.minx = 0.2
    +    box.maxx = 0.8
    +    box.miny = 0.2
    +    box.maxy = 0.8
    +    SetOperatorOptions(box)
    +    AddPlot("Mesh", "quadmesh2d")
    +    DrawPlots()
    +
    +    vars = "default"
    +    SetActivePlots(0)
    +
    +    Pick(155, 140)
    +    s = GetPickOutput()
    +    NodePick(155, 140)
    +    s = s + GetPickOutput()
    +
    +    SetActivePlots(1)
    +    Pick(155, 140)
    +    s = s + GetPickOutput()
    +    NodePick(155, 140)
    +    s = s + GetPickOutput()
    +
    +
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Box")
    +    box.minx = 0.3
    +    box.maxx = 0.83
    +    box.miny = 0.3
    +    box.maxy = 0.83
    +    box.minz = 0
    +    box.maxz = 1
    +    SetOperatorOptions(box)
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.axisType = slice.YAxis
    +    slice.originType = slice.Intercept
    +    slice.originIntercept = 0.5
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddOperator("Slice")
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +    SetActivePlots(0)
    +    TurnMaterialsOff("8")
    +
    +    Pick(221, 230)
    +    s = s + GetPickOutput()
    +    Pick(206, 67)
    +    s = s + GetPickOutput()
    +    NodePick(221, 230)
    +    s = s + GetPickOutput()
    +    NodePick(206, 67)
    +    s = s + GetPickOutput()
    +
    +    SetActivePlots(1)
    +    Pick(221, 230)
    +    s = s + GetPickOutput()
    +    Pick(206, 67)
    +    s = s + GetPickOutput()
    +    NodePick(221, 230)
    +    s = s + GetPickOutput()
    +    NodePick(206, 67)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickBox", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickScatter():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Scatter", "hardyglobal")
    +    scatter = ScatterAttributes()
    +    scatter.var1= "hardyglobal"
    +    scatter.var2= "shepardglobal"
    +    scatter.var3= "radial"
    +    scatter.var3Role = scatter.Color
    +    scatter.scaleCube = 1
    +    SetPlotOptions(scatter)
    +    DrawPlots()
    +    Pick(124, 174)
    +    s = GetPickOutput()
    +
    +    scatter.scaleCube = 0
    +    SetPlotOptions(scatter)
    +    DrawPlots()
    +    ResetView()
    +    Pick(124, 174)
    +    s = s + GetPickOutput()
    +
    +
    +    DeleteAllPlots()
    +
    +    s = s + "Expressions used in Scatter\n";
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +    DefineScalarExpression("xc", "coord(mesh1)[0]")
    +    DefineScalarExpression("yc", "coord(mesh1)[1]")
    +    DefineScalarExpression("zc", "coord(mesh1)[2]")
    +    DefineScalarExpression("uvw_prod", "u*v*w")
    +    AddPlot("Scatter", "xc")
    +    scatter.var1 = "xc"
    +    scatter.var1Role = scatter.Coordinate0
    +    scatter.var2 = "yc"
    +    scatter.var2Role = scatter.Coordinate1
    +    scatter.var3 = "zc"
    +    scatter.var3Role = scatter.Coordinate2
    +    scatter.var4 = "uvw_prod"
    +    scatter.var4Role = scatter.Color
    +    SetPlotOptions(scatter)
    +    DrawPlots()
    +    ResetView()
    +
    +    Pick(100, 200)
    +    s = s + GetPickOutput()
    +
    +    s = s + "Mix up the coordinates\n";
    +    scatter.var1Role = scatter.Coordinate1
    +    scatter.var2Role = scatter.Coordinate0
    +    SetPlotOptions(scatter)
    +    DrawPlots()
    +    Pick(100, 200)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickScatter", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickHighlight():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    pickAtts = GetPickAttributes()
    +    pickAtts.showPickHighlight = 1
    +    SetPickAttributes(pickAtts)
    +    DrawPlots()
    +    PickByZone(116242)
    +    Test("PickHighlight_01")
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +    AddPlot("Pseudocolor", "p")
    +    DrawPlots()
    +
    +    # bug '3880 -- global id highlights incorrect cell.
    +    origAtts = GetPickAttributes()
    +    pickAtts = origAtts
    +    pickAtts.showPickHighlight = 1
    +    pickAtts.showPickLetter = 1
    +    SetPickAttributes(pickAtts)
    +
    +    PickByGlobalZone(236919)
    +    Test("GlobalHighlight_00")
    +
    +    SetPickAttributes(origAtts)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +    #restore the attributes
    +    annotAtts  = GetAnnotationAttributes()
    +    annotAtts.userInfoFlag = 1
    +    annotAtts.axes3D.xAxis.title.visible = 1
    +    annotAtts.axes3D.yAxis.title.visible = 1
    +    annotAtts.axes3D.zAxis.title.visible = 1
    +    annotAtts.axes3D.bboxFlag = 1;
    +    annotAtts.axes3D.triadFlag = 1;
    +    SetAnnotationAttributes(annotAtts)
    +
    +def PickHighlightColor():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    pickAtts = GetPickAttributes()
    +    pickAtts.showPickHighlight  = 1
    +    pickAtts.pickHighlightColor = (0, 0, 255)
    +    SetPickAttributes(pickAtts)
    +    DrawPlots()
    +    PickByZone(116242)
    +    Test("PickHighlightColor_01")
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    #restore the attributes
    +    pickAtts.pickHighlightColor = (255, 0, 0)
    +    SetPickAttributes(pickAtts)
    +    annotAtts  = GetAnnotationAttributes()
    +    annotAtts.userInfoFlag = 1
    +    annotAtts.axes3D.xAxis.title.visible = 1
    +    annotAtts.axes3D.yAxis.title.visible = 1
    +    annotAtts.axes3D.zAxis.title.visible = 1
    +    annotAtts.axes3D.bboxFlag = 1;
    +    annotAtts.axes3D.triadFlag = 1;
    +    SetAnnotationAttributes(annotAtts)
    +
    +def PickRange():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    pickAtts = GetPickAttributes()
    +    pickAtts.showPickHighlight = 1
    +    SetPickAttributes(pickAtts)
    +    DrawPlots()
    +    options = {}
    +    options["pick_range"] = "116242-116300, 116350,1"
    +    PickByZone(options)
    +    Test("PickRange_01")
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickLines3D():
    +    OpenDatabase(silo_data_path("ucd_lines3d.silo"))
    +    AddPlot("Mesh", "ucd_linesmesh3d")
    +    DrawPlots()
    +
    +    ZonePick(113,182)
    +    s = GetPickOutput();
    +    ZonePick(134,107)
    +    s = s + GetPickOutput();
    +    ZonePick(177,151)
    +    s = s + GetPickOutput();
    +
    +    NodePick(126,161)
    +    s = s + GetPickOutput();
    +    NodePick(203,130)
    +    s = s + GetPickOutput();
    +    NodePick(150,193)
    +    s = s + GetPickOutput();
    +
    +    # rotate, so lines closer to camera are reversed.
    +    v = GetView3D()
    +    v.viewNormal=(0,0,-1)
    +    SetView3D(v)
    +
    +    ZonePick(149,168)
    +    s = s + GetPickOutput();
    +    ZonePick(139,97)
    +    s = s + GetPickOutput();
    +    ZonePick(191,206)
    +    s = s + GetPickOutput();
    +
    +    NodePick(161,73)
    +    s = s + GetPickOutput();
    +    NodePick(173,159)
    +    s = s + GetPickOutput();
    +    NodePick(54,153)
    +    s = s + GetPickOutput();
    +
    +    TestText("PickLines3D", s)
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickZoneLabel():
    +    OpenDatabase(data_path("mili_test_data/single_proc/sslide14ball_l.plt.mili"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
    +    DrawPlots()
    +    options = {}
    +    options["element_label"] = "shell 9"
    +    options["vars"] = "OriginalZoneLabels"
    +    PickByZoneLabel(options)
    +    s = GetPickOutput()
    +    TestText("PickByZoneLabel",s)
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickNodeLabel():
    +    OpenDatabase(data_path("mili_test_data/single_proc/sslide14ball_l.plt.mili"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
    +    DrawPlots()
    +    options = {}
    +    options["element_label"] = "node 93"
    +    options["vars"] = "OriginalNodeLabels"
    +    PickByNodeLabel(options)
    +    s = GetPickOutput()
    +    TestText("PickByNodeLabel",s)
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickRangeLabel():
    +    OpenDatabase(data_path("mili_test_data/single_proc/d3samp6.plt.mili"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
    +    DrawPlots()
    +
    +    SetPickAttributes(defaultAtts)
    +
    +    options = {}
    +    options["element_label"] = "shell"
    +    options["return_curves"] = 1
    +    options["start_time"] = 0
    +    options["end_time"] = 2
    +    options["pick_range"] = "4-5,9"
    +    options["vars"] = "OriginalZoneLabels"
    +
    +    output_dict = PickByZoneLabel(options)
    +    # use json.dumps for dictionary object, makes for easier parsing
    +    # of diffs when there are errors
    +    TestText("PickRangeByZoneLabel",json.dumps(output_dict, indent=2))
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestRemovePicks():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    pickAtts = GetPickAttributes()
    +    pickAtts.showPickHighlight = 1
    +    SetPickAttributes(pickAtts)
    +    DrawPlots()
    +
    +    PickByZone(0)
    +    PickByZone(5)
    +    PickByZone(35)
    +    PickByZone(18)
    +    Test("RemovePicks_01")
    +    to_remove = "A, C, D"
    +    expected  = to_remove
    +    removed   = RemovePicks(to_remove)
    +    Test("RemovePicks_02")
    +
    +    #check that the returned list matches
    +    #what we expect
    +    TestValueEQ("Removed expected picks", removed, expected)
    +    ClearPickPoints()
    +
    +    PickByZone(0)
    +    PickByZone(18)
    +    Test("RemovePicks_03")
    +    to_remove = "A, C, D, E"
    +    expected  = "E"
    +    removed   = RemovePicks(to_remove)
    +    Test("RemovePicks_04")
    +
    +    TestValueEQ("Removed expected picks 2", removed, expected)
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestRemoveLabeledPicks():
    +    OpenDatabase(data_path("mili_test_data/single_proc/sslide14ball_l.plt.mili"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
    +    pickAtts = GetPickAttributes()
    +    pickAtts.showPickHighlight = 1
    +    SetPickAttributes(pickAtts)
    +    DrawPlots()
    +
    +    options = {}
    +    options["element_label"] = "shell 1"
    +    PickByZoneLabel(options)
    +    options["element_label"] = "shell 2"
    +    PickByZoneLabel(options)
    +    options["element_label"] = "shell 5"
    +    PickByZoneLabel(options)
    +
    +    Test("RemoveLabeledPicks_00")
    +    to_remove = "shell 1, shell 2, shell 19"
    +    removed   = RemovePicks(to_remove)
    +    Test("RemoveLabeledPicks_01")
    +
    +    expected = "shell 1, shell 2"
    +    TestValueEQ("Removed expected shell", expected, removed)
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestSwivelFocus():
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetView()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Mesh", "mesh1")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.461806, -0.673199, 0.577526)
    +    v.focus = (0., 0., 0.)
    +    v.viewUp = (-0.243052, 0.722237, 0.647532)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0.341463, 0.234840)
    +    v.imageZoom = 1.21
    +    SetView3D(v)
    +
    +    orig_atts = GetPickAttributes()
    +    fh_atts   = GetPickAttributes()
    +    fh_atts.swivelFocusToPick = 1
    +    SetPickAttributes(fh_atts)
    +
    +    PickByNode(element=707)
    +    Test("SwivelFocus_00")
    +
    +    SetPickAttributes(orig_atts)
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestSwivelHighlight():
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetView()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "v")
    +    DrawPlots()
    +    orig_atts = GetPickAttributes()
    +    fh_atts   = GetPickAttributes()
    +    fh_atts.overridePickLabel = 1
    +    fh_atts.forcedPickLabel   = "fhpick"
    +    fh_atts.showPickHighlight = 1
    +    fh_atts.swivelFocusToPick = 1
    +    fh_atts.showPickLetter    = 0
    +    SetPickAttributes(fh_atts)
    +
    +    PickByZone(element=580)
    +    Test("SwivelHighlight_00")
    +
    +    SetPickAttributes(orig_atts)
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestNodeHighlight():
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetView()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "v")
    +    DrawPlots()
    +
    +    pAtts = GetPickAttributes()
    +    pAtts.showPickHighlight = 1
    +    pAtts.pickHighlightColor = (230, 100, 0)
    +    SetPickAttributes(pAtts)
    +    PickByNode(800)
    +    pAtts.pickHighlightColor = (0, 0, 255)
    +    SetPickAttributes(pAtts)
    +    PickByNode(600)
    +    pAtts.pickHighlightColor = (255, 0, 0)
    +    SetPickAttributes(pAtts)
    +    PickByNode(1000)
    +    Test("NodeHighlight_00")
    +
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +
    +def TestTranslatedHighlight():
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetView()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "v")
    +    AddOperator("Transform")
    +
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doScale = 1
    +    TransformAtts.scaleOrigin = (0, 0, 0)
    +    TransformAtts.scaleX = 1
    +    TransformAtts.scaleY = 2
    +    TransformAtts.scaleZ = 1
    +    TransformAtts.doTranslate = 1
    +    TransformAtts.translateX = 100
    +    SetOperatorOptions(TransformAtts)
    +
    +    DrawPlots()
    +
    +    pAtts = GetPickAttributes()
    +    pAtts.showPickHighlight = 1
    +    SetPickAttributes(pAtts)
    +
    +    PickByZone(element=580)
    +    Test("TranslatedHighlight_00")
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +
    +def TestPickingExpression():
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetView()
    +
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "mesh_quality/jacobian")
    +
    +    DrawPlots()
    +
    +    PickByZone(element=100)
    +    result = GetPickOutput()
    +    PickByNode(element=100)
    +    result += GetPickOutput()
    +    TestText("TestPickingExpression_00", result)
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    CloseDatabase(silo_data_path("curv3d.silo"))
    +
    +
    +def PickMain():
    +    Pick3DTo2D()
    +    Pick2D()
    +    PickOnionPeel()
    +    PickSubset()
    +    PickMatFracsThreshold()
    +    PickReflect()
    +    PickFilledBoundary()
    +    PickMultiBlock()
    +    PickSurface()
    +    PickBigSilMat()
    +    PickOnionPeel2()
    +    PickSpecMix()
    +    PickCurve()
    +    PickMultiWindow()
    +    PickAfterEngineClosed()
    +    PickAfterEngineCrashed()
    +    PickBoundary()
    +    PickVectorPlots()
    +    PickPointMeshes()
    +    PickGlobalIds()
    +    PickExpressions()
    +    PickAMR()
    +    PickSamrai()
    +    PickIndexSelect()
    +    PickTensors()
    +    PickMili()
    +    PickContour()
    +    PickBox()
    +    PickScatter()
    +    PickHighlight()
    +    PickHighlightColor()
    +    PickRange()
    +    TestRemovePicks()
    +    TestRemoveLabeledPicks()
    +    PickLines3D()
    +    PickZoneLabel()
    +    PickNodeLabel()
    +    PickRangeLabel()
    +    TestSwivelFocus()
    +    TestSwivelHighlight()
    +    TestNodeHighlight()
    +    TestTranslatedHighlight()
    +    TestPickingExpression()
    +
    +# Call the main function
    +TurnOnAllAnnotations()
    +PickMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickarray.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickarray.html new file mode 100644 index 000000000..aee41d7b2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickarray.html @@ -0,0 +1,96 @@ + +Results for queries/pickarray.py + +

    Results of VisIt Regression Test - queries/pickarray

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pickarray_010 modifications totalling 0 lines
    pickarray_020.410.19
    pickarray_030 modifications totalling 0 lines
    pickarray_040.340.19
    pickarray_050 modifications totalling 0 lines
    pickarray_060 modifications totalling 0 lines
    pickarray_070.410.19
    pickarray_080 modifications totalling 0 lines
    pickarray_091.230.37
    pickarray_100.410.18
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickarray_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickarray_py.html new file mode 100644 index 000000000..a20293f50 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickarray_py.html @@ -0,0 +1,137 @@ +queries/pickarray.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pickarray.py
    +#  Tests:      queries     - Pick on array variables
    +#
    +#  Defect ID:  '6862, '3191, '7323, '7324
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 25, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Sep  5 17:08:59 PDT 2006
    +#    Add more tests for indexing bug ['7324].
    +#
    +#    Kathleen Bonnell, Wed Oct 18 11:43:27 PDT 2006 
    +#    Add more tests for bug '7498.
    +#
    +#    Hank Childs, Fri Jan  5 13:51:41 PST 2007
    +#    Add tests for time varying databases ['7323].
    +#
    +#    Hank Childs, Fri Jan 12 17:31:15 PST 2007
    +#    Added tests for array variables with bin widths.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor","d")
    +DrawPlots()
    +
    +DefineArrayExpression("arr", "array_compose(d, p)")
    +Pick((0.5, 0.5), "arr")
    +text = GetPickOutput()
    +TestText("pickarray_01", text)
    +
    +SetActiveWindow(2)
    +SetAnnotationAttributes(a)
    +
    +Test("pickarray_02")
    +
    +# Now make sure future picks cause the window to update.
    +SetActiveWindow(1)
    +Pick((0.5, 1.0), "arr")
    +text = GetPickOutput()
    +TestText("pickarray_03", text)
    +
    +SetActiveWindow(2)
    +Test("pickarray_04")
    +
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +DefineArrayExpression("arr2", "array_compose(u, v)")
    +ZonePick((0.29, 0.47, 5.0), "arr2")
    +text = GetPickOutput()
    +TestText("pickarray_05", text)
    +
    +#  bug '7498.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +DefineArrayExpression("arr3", "array_compose(dx, dy, dz)")
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +vars = ("u", "arr3")
    +Pick(128, 107, vars)
    +text = GetPickOutput() + "\n"
    +
    +e = ExportDBAttributes()
    +e.db_type = "VTK"
    +e.filename = "globe_temp"
    +e.variables = ("u", "dx", "dy")
    +ExportDatabase(e)
    +ReplaceDatabase("globe_temp.vtk")
    +Pick(128, 107, vars)
    +text += GetPickOutput()
    +text += "\n"
    +
    +DeleteExpression("arr3")
    +DefineArrayExpression("arr3", "array_compose(dx, dy)")
    +Pick(128, 107, vars)
    +text += GetPickOutput()
    +TestText("pickarray_06", text)
    +
    +#  bug '7323
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +SetActiveWindow(2)
    +DeleteAllPlots()
    +SetActiveWindow(1)
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor", "pressure")
    +TimeSliderSetState(34)
    +DrawPlots()
    +ZonePick((0.29, 0.47, 5.0), "arr2")
    +SetActiveWindow(2)
    +Test("pickarray_07")
    +Query("Cycle")
    +output = GetQueryOutputString()
    +TestText("pickarray_08", output)
    +
    +DeleteAllPlots()
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +DefineArrayExpression("arr4", "array_compose_with_bins(dx, dy, [0, 0.5, 1.5])")
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +vars = ("u", "arr4")
    +Pick(128, 107, vars)
    +SetActiveWindow(2)
    +ResetView()
    +Test("pickarray_09")
    +
    +h = HistogramAttributes()
    +h.useBinWidths = 0
    +h.basedOn = h.ManyVarsForSingleZone
    +SetPlotOptions(h)
    +ResetView()
    +Test("pickarray_10")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickcleanzonesonly.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickcleanzonesonly.html new file mode 100644 index 000000000..3a1add4df --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickcleanzonesonly.html @@ -0,0 +1,48 @@ + +Results for queries/pickcleanzonesonly.py + +

    Results of VisIt Regression Test - queries/pickcleanzonesonly

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    PickCleanZonesOnly10 modifications totalling 0 lines
    PickCleanZonesOnly20 modifications totalling 0 lines
    PickCleanZonesOnly30 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickcleanzonesonly_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickcleanzonesonly_py.html new file mode 100644 index 000000000..1a65881fc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_pickcleanzonesonly_py.html @@ -0,0 +1,57 @@ +queries/pickcleanzonesonly.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pickcleanzonesonly.py
    +#  Tests:      queries     - Pick on mixed zones of clean zones only
    +#
    +#  Defect ID:  VisIt00003894
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       October 30, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004 
    +#    Slice defaults atts have changed, update accordingly. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +# Make a sliced filled boundary plot with clean zones only enabled
    +TurnOnAllAnnotations()
    +OpenDatabase(silo_data_path("ucd3d.silo"))
    +
    +AddPlot("FilledBoundary","mat1")
    +f=FilledBoundaryAttributes()
    +f.cleanZonesOnly=1
    +SetPlotOptions(f)
    +AddOperator("Slice")
    +s=SliceAttributes()
    +s.axisType=s.YAxis
    +s.originIntercept = .01
    +s.project2d=1
    +SetOperatorOptions(s)
    +DrawPlots()
    +
    +# Pick on one of the mixed zones
    +Pick((-3.5,10.1))
    +text = GetPickOutput()
    +TestText("PickCleanZonesOnly1", text)
    +
    +# Change the slice position and do it again
    +s.axisType=s.ZAxis
    +s.originIntercept=3.
    +SetOperatorOptions(s)
    +Pick((-1,3.2))
    +text = GetPickOutput()
    +TestText("PickCleanZonesOnly2", text)
    +
    +# Remove the slice and do it again
    +RemoveAllOperators()
    +Pick((3,2,19))
    +text = GetPickOutput()
    +TestText("PickCleanZonesOnly3", text)
    +
    +# All done!
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_py_queries.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_py_queries.html new file mode 100644 index 000000000..1198f8cdb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_py_queries.html @@ -0,0 +1,44 @@ + +Results for queries/py_queries.py + +

    Results of VisIt Regression Test - queries/py_queries

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    py_queries_000 modifications totalling 0 lines
    py_queries_010 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_py_queries_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_py_queries_py.html new file mode 100644 index 000000000..75481378b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_py_queries_py.html @@ -0,0 +1,40 @@ +queries/py_queries.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  py_queires.py
    +#
    +#  Tests:      python filters / python queries
    +#              plots     - Pseudocolor
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Fri May 21 09:14:07 PDT 2010
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +from os.path import join as pjoin
    +
    +def script_path(sname):
    +    return pjoin(os.path.split(TestScriptPath())[0],sname)
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +
    +PythonQuery(file=script_path("py_query_script_00.vpq"))
    +res = GetQueryOutputString()
    +TestText("py_queries_00",res + "\n")
    +
    +PythonQuery(file=script_path("py_query_script_01.vpq"),vars=["default","p"],args=["test",0.0,[1,2.0,3]])
    +res = GetQueryOutputString()
    +TestText("py_queries_01",res + "\n")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queriesOverTime.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queriesOverTime.html new file mode 100644 index 000000000..80b5a2bb1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queriesOverTime.html @@ -0,0 +1,324 @@ + +Results for queries/queriesOverTime.py + +

    Results of VisIt Regression Test - queries/queriesOverTime

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    AllTimeQueries_010.000.00
    AllTimeQueries_020.000.00
    AllTimeQueries_030.000.00
    AllTimeQueries_040.000.00
    AllTimeQueries_050.000.00
    AllTimeQueries_060.000.00
    AllTimeQueries_070.000.00
    FBTimeQuery_010.000.00
    FBTimeQuery_020.000.00
    TimeQuery_ops_010.000.00
    TimeQuery_ops_020.000.00
    TimeQuery_expr_010.000.00
    TimeQuery_expr_020.000.00
    TimeQuery_expr_030.000.00
    TimeQuery_trans_010.000.00
    TimeQuery_trans_020.000.00
    SpecifyTimeQueryWindow_010.000.00
    SpecifyTimeQueryWindow_020.000.00
    SpecifyTimeQueryWindow_030.000.00
    TimeQuery_sil_010.000.00
    QueryAfterQueryOverTime0 modifications totalling 0 lines
    TimeQuery_mili_010.000.00
    TimeQuery_mili_020.000.00
    TimeQuery_mili_030.000.00
    TimeQuery_mili_040.000.00
    TimePick_MultiVar_010.000.00
    TimePick_MultiVar_020.000.00
    TimePick_MultiVar_030.000.00
    TimePick_MultiVar_040.000.00
    TimePickRange_000.000.00
    TimePickRangeDict_000 modifications totalling 0 lines
    TimePickRange_010.000.00
    TimePickRangeDict_010 modifications totalling 0 lines
    TimePickRange_020.000.00
    TimePickRangeDict_020 modifications totalling 0 lines
    Pick Updated
     "" .eq. "" : True
    Timing Direct Database Query
     0.3218345642089844 .le. 10 (prec=5) : True
    Direct_Database_Route_000.000.00
    Direct_Database_Route_010.000.00
    Direct_Database_Route_020.000.00
    Direct_Database_Route_030.000.00
    Direct_Database_Route_040.000.00
    Direct_Database_Route_050.000.00
    Direct_Database_Route_060.000.00
    Direct_Database_Route_070.000.00
    Direct_Database_Route_080.000.00
    Direct_Database_Route_090.000.00
    Direct_Database_Route_100.000.00
    Direct_Database_Route_110.000.00
    OperatorCreatedVar_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queriesOverTime_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queriesOverTime_py.html new file mode 100644 index 000000000..45663c656 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queriesOverTime_py.html @@ -0,0 +1,1065 @@ +queries/queriesOverTime.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  queriesOverTime.py #
    +#  Tests:      queries     - Database
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Bonnell
    +#  Date:       March 31, 2004
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Apr 13 13:00:15 PDT 2004
    +#    Rename surface area query.
    +#
    +#    Kathleen Bonnell, Tue Apr 20 09:42:30 PDT 2004
    +#    Added TestFilledBoundary.
    +#
    +#    Kathleen Bonnell, Tue Apr 27 12:10:44 PDT 2004
    +#    Added TestExpressions, TestOperators.
    +#
    +#    Kathleen Bonnell, Thu Jun 24 09:49:35 PDT 2004
    +#    Added TestTransientVariable.
    +#
    +#    Kathleen Bonnell, Wed Jul 21 16:51:31 PDT 2004
    +#    Added TestSpecifyTimeQueryWindow.
    +#
    +#    Kathleen Bonnell, Wed Sep  8 10:53:58 PDT 2004
    +#    Renamed 'WorldPick' as 'Pick'.
    +#
    +#    Kathleen Bonnell, Mon Dec 20 15:54:04 PST 2004
    +#    Changed 'Variable by Node' to 'PickByNode'.
    +#
    +#    Kathleen Bonnell, Thu Jan  6 11:06:29 PST 2005
    +#    Added TestTimeVaryingSIL.
    +#
    +#    Kathleen Bonnell, Wed Mar 16 11:13:40 PST 2005
    +#    Added TestQueryAfterQueryOverTime.
    +#
    +#    Kathleen Bonnell, Wed Jul  6 16:21:34 PDT 2005
    +#    Added TestMili.
    +#
    +#    Kathleen Bonnell, Thu Nov 10 08:21:54 PST 2005
    +#    Added TrajectoryByZone to TestMili.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Fri Feb  5 09:27:37 PST 2010
    +#    Turn off color cycling to avoid possible propagation of error from
    +#    one failed test to several.
    +#
    +#    Kathleen Bonnell, Thu Mar  3 11:47:09 PST 2011
    +#    Added MultiVarTimePick tests.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Use named arguments.
    +#
    +#    Alister Maguire, Tue Oct 17 16:54:48 PDT 2017
    +#    Added TestPickRangeTimeQuery
    +#
    +#    Alister Maguire, Wed May  9 10:13:26 PDT 2018
    +#    Added TestReturnValue.
    +#
    +#    Alister Maguire, Wed May 30 14:16:28 PDT 2018
    +#    Added tests for performing pick ranges over time with and
    +#    without plotting and returning the curves.
    +#
    +#    Alister Maguire, Wed May 22 08:49:30 PDT 2019
    +#    Updated mili tests to reflect new plugin changes.
    +#
    +#    Alister Maguire, Tue Oct  1 11:48:15 MST 2019
    +#    Make sure to set use_actual_data to true when we want
    +#    to use data from the pipeline output.
    +#
    +#    Alister Maguire, Fri Oct 11 13:12:36 PDT 2019
    +#    Added TestDirectDatabaseRoute. I also updated several tests to
    +#    use actual data so that they continue to test the old QOT route.
    +#
    +#    Kathleen Biagas, Thu Jan 30 13:37:50 MST 2020
    +#    Added TestOperatorCreatedVar. (github bugs #2842, #3489).
    +#
    +#    Alister Maguire, Tue Feb 25 13:46:24 PST 2020
    +#    Added tests for handling vectors in the direct database route.
    +#
    +#    Alister Maguire, Mon Mar  9 15:16:36 PDT 2020
    +#    I've removed the use_actual_data flag for Pick queries as this
    +#    is now handled internally.
    +#
    +#    Alister Maguire, Thu Nov  5 08:22:15 PST 2020
    +#    Updated the multi-domain DDQOT test to ensure that the selected
    +#    element is not on processor 0 when run in parallel.
    +#
    +#    Alister Maguire, Fri Nov  6 10:06:22 PST 2020
    +#    Added more DirectDatabaseQOT tests that ensure verdict metrics
    +#    are able to be queried using this route.
    +#
    +#    Mark C. Miller, Mon Jan 11 10:37:07 PST 2021
    +#    Replace Assert-style with TestValue-style tests
    +#
    +#    Kathleen Biagas, Wed Feb 16 13:11:57 PST 2022
    +#    Replaced Curve atts 'cycleColors' with 'curveColorSource', 'color' with
    +#    'curveColor', and 'renderMode=RenderAsLines' with 'showLines'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +RequiredDatabasePlugin(("PDB", "Mili", "SAMRAI"))
    +
    +def InitAnnotation():
    +    # Turn off most annotations
    +    a = AnnotationAttributes()
    +    a.axes2D.visible = 1
    +    a.axes2D.xAxis.label.visible = 1
    +    a.axes2D.yAxis.label.visible = 1
    +    a.axes2D.xAxis.title.visible = 1
    +    a.axes2D.yAxis.title.visible = 1
    +    a.axes3D.triadFlag = 0
    +    a.axes3D.bboxFlag = 0
    +    a.userInfoFlag = 0
    +    a.databaseInfoFlag = 0
    +    a.legendInfoFlag = 0
    +    a.backgroundMode = a.Solid
    +    a.foregroundColor = (0, 0, 0, 255)
    +    a.backgroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(a)
    +
    +def SetCurvePlotDefaults():
    +    # Disable Color Cycling, default to a blue curve.
    +    catts = CurveAttributes()
    +    catts.lineWidth = 0
    +    catts.curveColor = (0, 0, 255, 255)
    +    catts.showLabels = 1
    +    catts.designator = ""
    +    catts.showPoints = 0
    +    catts.showLegend = 1
    +    catts.curveColorSource = catts.Custom
    +    catts.showLines = 1
    +    SetDefaultPlotOptions(catts)
    +
    +
    +
    +def TestAllTimeQueries():
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    QueryOverTime("3D surface area")
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("AllTimeQueries_01")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Volume")
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_02")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Min")
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_03")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Max")
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_04")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Variable Sum")
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_05")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Weighted Variable Sum")
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_06")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    pa = GetPickAttributes()
    +    pa.doTimeCurve = 1
    +    pa.timePreserveCoord = 0
    +    SetPickAttributes(pa)
    +    PickByNode(15947)
    +    # reset some defaults
    +    pa.doTimeCurve = 0
    +    pa.timePreserveCoord = 1
    +    SetPickAttributes(pa)
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_07")
    +
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    DeleteAllPlots()
    +
    +def TestFilledBoundary():
    +    #  bug '4708
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("FilledBoundary", "Material")
    +    DrawPlots()
    +    TurnMaterialsOff(("1 barrier", "2 water"))
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("3D surface area")
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +
    +    Test("FBTimeQuery_01")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    TurnMaterialsOff(("1 barrier", "2 water"))
    +    QueryOverTime("3D surface area")
    +    SetActiveWindow(2)
    +    Test("FBTimeQuery_02")
    +
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    TurnMaterialsOn()
    +    DeleteAllPlots()
    +
    +def TestOperators():
    +    #  bug '4818
    +    OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    AddOperator("Isovolume")
    +    iso = IsovolumeAttributes()
    +    iso.lbound = 0.1
    +    iso.ubound = 1.0
    +    SetOperatorOptions(iso)
    +    DrawPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Volume", stride=10, use_actual_data=1)
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_ops_01")
    +
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "mesh_quality/jacobian")
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.axisType = slice.Arbitrary
    +    slice.normal = (-0.689, -0.0416, 0.7233)
    +    slice.originType = slice.Point
    +    slice.originPoint = (2.0011, -0.4084, -1.1279)
    +    slice.upAxis = (-0.08584, 0.996007, -0.0245)
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +
    +    DrawPlots()
    +    QueryOverTime("2D area", stride=10, use_actual_data=1)
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_ops_02")
    +
    +    # prepare for next test-set
    +    # delete plots from window 2 & l
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestExpressions():
    +    #bug '4784
    +    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    pa = PseudocolorAttributes()
    +    pa.minFlag = 1
    +    pa.maxFlag = 1
    +    pa.min = 1
    +    pa.max = 4
    +    SetPlotOptions(pa)
    +    DrawPlots()
    +
    +    pt = (4., 3., 0.)
    +    pick = GetPickAttributes()
    +    pick.doTimeCurve = 1
    +    SetPickAttributes(pick)
    +    Pick(pt)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_expr_01")
    +
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    # test a scalar expression
    +    OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +    DefineScalarExpression("p2", "pressure*pressure")
    +    AddPlot("Pseudocolor", "p2")
    +    DrawPlots()
    +
    +    QueryOverTime("Variable Sum", stride=10)
    +    SetActiveWindow(2)
    +    Test("TimeQuery_expr_02")
    +
    +    # prepare for next test-set
    +    # delete plots from window 2 & l
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +    DefineScalarExpression("m", "matvf(material, 1)")
    +    AddPlot("Pseudocolor", "m")
    +    DrawPlots()
    +
    +    QueryOverTime("Variable Sum")
    +    SetActiveWindow(2)
    +    Test("TimeQuery_expr_03")
    +
    +    # prepare for next test-set
    +    # delete plots from window 2 & l
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +
    +
    +def TestTransientVariable():
    +    #bug '4906
    +
    +    # Do what is necessary to get access to the transient variable,
    +    # because QueryOverTime requires an active drawn plot.
    +    db = silo_data_path("wave_tv*.silo database")
    +    OpenDatabase(db)
    +    SetTimeSliderState(17)
    +    ReOpenDatabase(db)
    +    AddPlot("Pseudocolor", "transient")
    +    DrawPlots()
    +
    +    qt = GetQueryOverTimeAttributes()
    +    qt.timeType = qt.Timestep
    +    SetQueryOverTimeAttributes(qt)
    +
    +    QueryOverTime("Variable Sum")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_trans_01")
    +
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    pick = GetPickAttributes()
    +    pick.doTimeCurve = 1
    +    pick.timePreserveCoord = 0
    +    SetPickAttributes(pick)
    +    PickByNode(327)
    +
    +    pick.doTimeCurve = 0
    +    pick.timePreserveCoord = 1
    +    SetPickAttributes(pick)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_trans_02")
    +
    +    # Prepare for next test
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestSpecifyTimeQueryWindow():
    +    # bug '5163
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    qt = GetQueryOverTimeAttributes()
    +    qt.timeType = qt.Timestep
    +    SetQueryOverTimeAttributes(qt)
    +
    +    QueryOverTime("3D surface area")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("SpecifyTimeQueryWindow_01")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    TurnMaterialsOff(("1 barrier"))
    +    DrawPlots()
    +
    +    qot = GetQueryOverTimeAttributes()
    +    qot.createWindow = 0
    +    qot.windowId = 3
    +    SetQueryOverTimeAttributes(qot)
    +
    +    QueryOverTime("3D surface area")
    +
    +    SetActiveWindow(3)
    +    InitAnnotation()
    +    Test("SpecifyTimeQueryWindow_02")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    TurnMaterialsOff(("2 water"))
    +    DrawPlots()
    +
    +    qot.windowId = 2
    +    SetQueryOverTimeAttributes(qot)
    +
    +    QueryOverTime("3D surface area")
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("SpecifyTimeQueryWindow_03")
    +
    +    # Prepare for next test
    +    DeleteAllPlots()
    +    DeleteWindow()
    +    SetActiveWindow(3)
    +    DeleteWindow()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestTimeVaryingSIL():
    +    #bug '5473
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +
    +    cfileName = "./temp.curve"
    +    curveFile = open(cfileName, "wt")
    +    curveFile.write("#3D surface area\n")
    +    nframes = TimeSliderGetNStates()
    +    for i in range(nframes):
    +        Query("3D surface area")
    +        val = GetQueryOutputValue()
    +        curveFile.write("%g %g\n" % (i, val))
    +        TimeSliderNextState()
    +
    +    curveFile.close()
    +
    +    AddWindow()
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    OpenDatabase(cfileName)
    +    AddPlot("Curve", "3D surface area")
    +    DrawPlots()
    +
    +    SetActiveWindow(1)
    +
    +    # Go ahead and use default plot for now.
    +    qt = GetQueryOverTimeAttributes()
    +    qt.timeType = qt.Timestep
    +    qt.createWindow = 0
    +    qt.windowId = 2
    +    SetQueryOverTimeAttributes(qt)
    +
    +    QueryOverTime("3D surface area")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    cv = GetViewCurve();
    +    cv.domainCoords = (-0.534115, 10.5341)
    +    cv.rangeCoords = (4029.87, 5856.13)
    +    SetViewCurve(cv)
    +
    +    SetActivePlots((0, 1))
    +    c = CurveAttributes()
    +    c.showPoints = 1
    +    SetPlotOptions(c)
    +
    +    Query("Area Between Curves")
    +    s = GetQueryOutputString()
    +    text = CreateAnnotationObject("Text2D")
    +    text.text =  s
    +    text.height = 0.02
    +    text.position = (0.55, 0.4)
    +
    +    Test("TimeQuery_sil_01")
    +
    +    text.Delete()
    +    os.unlink(cfileName)
    +
    +    # Prepare for next test
    +    DeleteAllPlots()
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestQueryAfterQueryOverTime():
    +    # bug '5823
    +    OpenDatabase(silo_data_path("wave_tv.visit"))
    +
    +    SetTimeSliderState(17)
    +    ReOpenDatabase(silo_data_path("wave_tv.visit"))
    +
    +    AddPlot("Pseudocolor", "transient")
    +    DrawPlots()
    +
    +    QueryOverTime("Volume")
    +    Query("Volume")
    +    s = GetQueryOutputString()
    +    QueryOverTime("Max")
    +    Query("Max")
    +    s = s + GetQueryOutputString()
    +
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    # bug '6042
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    TurnMaterialsOn()
    +    QueryOverTime("3D surface area", stride=10)
    +
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    TestText("QueryAfterQueryOverTime", s)
    +
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestMili():
    +    # bug '6430
    +    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
    +
    +    AddPlot("Pseudocolor", "Primal/node/nodvel/vz")
    +    DrawPlots()
    +
    +    ResetQueryOverTimeAttributes()
    +
    +    QueryOverTime("Volume")
    +    SetActiveWindow(2)
    +    ResetView()
    +    InitAnnotation()
    +    Test("TimeQuery_mili_01")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    QueryOverTime("Max")
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_mili_02")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    p = GetPickAttributes()
    +    p.doTimeCurve = 1
    +    p.timePreserveCoord = 0
    +    SetPickAttributes(p)
    +    NodePick(122, 161)
    +
    +    p.doTimeCurve = 0
    +    SetPickAttributes(p)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_mili_03")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    qvars = ("Primal/shell/edv1", "Primal/shell/edv2")
    +    QueryOverTime("TrajectoryByZone", element=242, vars=qvars)
    +    SetActiveWindow(2)
    +    ResetView()
    +    InitAnnotation()
    +    Test("TimeQuery_mili_04")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def MultiVarTimePick():
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    pa = GetPickAttributes()
    +    pa.doTimeCurve = 1
    +    pa.timeCurveType = pa.Single_Y_Axis
    +    SetPickAttributes(pa)
    +
    +    vars =("pressure", "v", "direction_magnitude")
    +    PickByNode(8837, vars)
    +
    +    SetActiveWindow(2);
    +    InitAnnotation()
    +    Test("TimePick_MultiVar_01")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    pa.timeCurveType = pa.Multiple_Y_Axes
    +    SetPickAttributes(pa)
    +    PickByNode(8837, vars)
    +
    +    SetActiveWindow(2);
    +    Test("TimePick_MultiVar_02")
    +    DeleteAllPlots()
    +
    +    # remove plots from window 1
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
    +
    +    AddPlot("Pseudocolor", "Primal/shell/inteng")
    +    DrawPlots()
    +
    +    pa.timePreserveCoord = 0
    +    pa.timeCurveType = pa.Single_Y_Axis
    +    SetPickAttributes(pa)
    +
    +    vars = ("default", "Primal/shell/normal_magnitude")
    +    PickByZone(233, vars)
    +
    +    SetActiveWindow(2);
    +    Test("TimePick_MultiVar_03")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    pa.timeCurveType = pa.Multiple_Y_Axes
    +    SetPickAttributes(pa)
    +    PickByZone(233, vars)
    +
    +    SetActiveWindow(2);
    +    Test("TimePick_MultiVar_04")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestPickRangeTimeQuery():
    +
    +    OpenDatabase(silo_data_path("wave_tv.visit"))
    +    SetTimeSliderState(17)
    +
    +    AddPlot("Pseudocolor", "v")
    +    DrawPlots()
    +
    +    pickAtts = GetPickAttributes()
    +    pickAtts.doTimeCurve = 0
    +    pickAtts.variables = ("default", "v")
    +    pickAtts.timeCurveType =  pickAtts.Single_Y_Axis
    +    SetPickAttributes(pickAtts)
    +
    +    #
    +    # Return the curves without plotting, and show
    +    # highlights.
    +    #
    +    pickAtts.showPickHighlight = 1
    +    SetPickAttributes(pickAtts)
    +    options = {}
    +    options["pick_range"] = "100-105, 100, 1"
    +    options["do_time"] = 0
    +    options["return_curves"] = 1
    +    output_dict = PickByZone(options)
    +
    +    Test("TimePickRange_00")
    +    # use json.dumps for dictionary object, makes for easier parsing
    +    # of diffs when there are errors
    +    TestText("TimePickRangeDict_00",json.dumps(output_dict, indent=2))
    +    ClearPickPoints()
    +
    +    #
    +    # Plot the curves, but don't return them.
    +    #
    +    pickAtts.showPickHighlight = 0
    +    SetPickAttributes(pickAtts)
    +    options = {}
    +    options["pick_range"] = "100-105, 100, 1"
    +    options["do_time"] = 1
    +    options["return_curves"] = 0
    +    options["start_time"] = 10
    +    options["end_time"] = 14
    +    options["stride"] = 2
    +    output_dict = PickByNode(options)
    +    SetActiveWindow(2)
    +    Test("TimePickRange_01")
    +    TestText("TimePickRangeDict_01",json.dumps(output_dict, indent=2))
    +    ClearPickPoints()
    +    SetActiveWindow(1)
    +
    +    #
    +    # Plot the curves, and return them.
    +    #
    +    pickAtts.showPickHighlight = 0
    +    SetPickAttributes(pickAtts)
    +    options = {}
    +    options["pick_range"] = "100-105"
    +    options["do_time"] = 1
    +    options["return_curves"] = 1
    +    options["start_time"] = 20
    +    options["end_time"] = 60
    +    options["stride"] = 2
    +    output_dict = PickByNode(options)
    +
    +    SetActiveWindow(2)
    +    Test("TimePickRange_02")
    +    TestText("TimePickRangeDict_02",json.dumps(output_dict, indent=2))
    +    SetActiveWindow(1)
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +    SetActiveWindow(1)
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestReturnValue():
    +    #
    +    # There used to be a bug where the return value
    +    # from previous picks would propagate to the following
    +    # time query. Let's make sure this isn't re-introduced.
    +    #
    +    OpenDatabase(silo_data_path("wave.visit"))
    +    AddPlot("Pseudocolor", "v")
    +    DrawPlots()
    +
    +    pickAtts = GetPickAttributes()
    +    pickAtts.doTimeCurve = 0
    +    pickAtts.variables = ("default", "v")
    +    pickAtts.timeCurveType =  pickAtts.Single_Y_Axis
    +    SetPickAttributes(pickAtts)
    +
    +    time1   = NodePick(coord=(3, .5, 3), do_time=1, start_time=0, end_time=70)
    +    no_time = NodePick(coord=(2, .2, 2), do_time=0)
    +    time2   = NodePick(coord=(3, .5, 3), do_time=1, start_time=0, end_time=70)
    +
    +    TestValueEQ("Pick Updated", type(time1), type(time2))
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestDirectDatabaseRoute():
    +
    +    #
    +    # Cleanup any plots that haven't been deleted yet.
    +    #
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("mili_test_data/single_proc/d3samp6_10_longrun.plt.mili"))
    +    AddPlot("Pseudocolor", "Primal/Shared/edrate")
    +    DrawPlots()
    +
    +    element    = 116
    +    domain     = 0
    +    element    = 116
    +    preserve   = 0
    +    start      = 0
    +    stride     = 1
    +    stop       = 10000
    +    vars       = ("default")
    +
    +    #
    +    # First, let's time the query. This hard to predict because of it being dependent
    +    # on the machine's architecture, but we can make an educated guess. The direct
    +    # route should take under a second, and the old route should take at least
    +    # 30 seconds. We'll give ourselves a threshold of 10 seconds to be safe.
    +    #
    +    import time
    +    thresh = 10
    +    timer_start = time.time()
    +
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +
    +    timer_stop = time.time()
    +    res = timer_stop - timer_start
    +
    +    TestValueLE("Timing Direct Database Query", res, thresh)
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_00")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    #
    +    # Like the original QOT, the direct route creates a clone, but this clone
    +    # differs in that its resulting dataset will NOT match the original dataset.
    +    # Let's make sure the active dataset is being updated to the old plot by
    +    # performing a new pick (not through time).
    +    #
    +    PickByZone(do_time=0, domain=domain, element=element)
    +    Test("Direct_Database_Route_01")
    +
    +    #
    +    # Test basic range settings.
    +    #
    +    start  = 100
    +    stop   = 900
    +    stride = 10
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +    stride = 1
    +    start  = 0
    +    stop   = 10000
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_02")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "Primal/node/nodacc/ax")
    +    DrawPlots()
    +
    +    # This tests two things:
    +    #    1. Plotting a node pick curve.
    +    #    2. Using a direct route query on magnitude expression.
    +    #
    +    vars=("Primal/node/nodacc_magnitude")
    +    PickByNode(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_03")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    DeleteAllPlots()
    +    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
    +    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
    +    DrawPlots()
    +
    +    #
    +    # Test plotting multiple variables at once.
    +    #
    +    element = 489
    +    vars=("Primal/brick/stress/sz", "Primal/brick/stress/sx")
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_04")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    #
    +    # Testing the multi curve plot.
    +    #
    +    PickByZone(curve_plot_type=1, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_05")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    #
    +    # Test multi-domain data.
    +    #
    +    DeleteAllPlots()
    +    OpenDatabase(data_path("mili_test_data/multi_proc/d3samp6.plt.mili"))
    +    AddPlot("Pseudocolor", "Primal/Shared/edrate")
    +    DrawPlots()
    +    domain = 5
    +    element = 14
    +    vars = ("default")
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_06")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    DeleteAllPlots()
    +
    +    #
    +    # Now let's test a variable that is not defined on all
    +    # timesteps.
    +    #
    +    db = silo_data_path("wave_tv*.silo database")
    +    OpenDatabase(db)
    +    SetTimeSliderState(17)
    +    ReOpenDatabase(db)
    +    AddPlot("Pseudocolor", "transient")
    +    DrawPlots()
    +
    +    pick = GetPickAttributes()
    +    pick.doTimeCurve = 1
    +    pick.timePreserveCoord = 0
    +    SetPickAttributes(pick)
    +    PickByNode(element=327)
    +
    +    pick.doTimeCurve = 0
    +    pick.timePreserveCoord = 1
    +    SetPickAttributes(pick)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("Direct_Database_Route_07")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    #
    +    # Next, let's test a vector plot. The vectors should be reduced
    +    # to their magnitudes.
    +    #
    +    AddPlot("Vector", "direction")
    +    DrawPlots()
    +
    +    pick = GetPickAttributes()
    +    pick.doTimeCurve = 1
    +    pick.timePreserveCoord = 0
    +    SetPickAttributes(pick)
    +    PickByNode(element=10)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("Direct_Database_Route_08")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    #
    +    # Next, let's test using the direct database route on verdict metrics.
    +    #
    +    OpenDatabase(data_path("mili_test_data/single_proc/d3samp6.plt.mili"))
    +    AddPlot("Pseudocolor", "mesh_quality/mesh1/skew")
    +    DrawPlots()
    +
    +    domain     = 0
    +    element    = 116
    +    preserve   = 0
    +    start      = 0
    +    stride     = 1
    +    stop       = 10000
    +
    +    vars=("default")
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_09")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    #
    +    # This is a continuation of testing verdicts, but this is an edge case that should
    +    # be handled when plotting multiple variables. The case occurs when our active
    +    # variable does not depend on mesh coodinates, but we also request a variable that
    +    # requires mesh coordinates (like verdict). There is a re-ordering that needs to
    +    # take place during the request retrieval process.
    +    #
    +    AddPlot("Pseudocolor", "Primal/Shared/strain/ezx")
    +    DrawPlots()
    +
    +    vars=("default", "mesh_quality/mesh1/face_planarity")
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_10")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    vars=("default", "mesh_quality/mesh1/face_planarity")
    +    PickByZone(curve_plot_type=1, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_11")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +
    +def TestOperatorCreatedVar():
    +    OpenDatabase(silo_data_path("wave.visit"))
    +    DefineVectorExpression("normals", "cell_surface_normal(quadmesh)")
    +
    +    AddPlot("Pseudocolor", "operators/Flux/quadmesh")
    +
    +    fluxAtts = FluxAttributes()
    +    fluxAtts.flowField = "direction"
    +    SetOperatorOptions(fluxAtts)
    +
    +    AddOperator("Slice")
    +    sliceAtts = SliceAttributes()
    +    sliceAtts.axisType = sliceAtts.Arbitrary
    +    sliceAtts.normal = (0, 1, 0)
    +    sliceAtts.originType = sliceAtts.Percent
    +    sliceAtts.originPercent = 50
    +    sliceAtts.project2d = 0
    +    SetOperatorOptions(sliceAtts)
    +
    +    AddOperator("DeferExpression")
    +    deferAtts = DeferExpressionAttributes()
    +    deferAtts.exprs = ("normals")
    +    SetOperatorOptions(deferAtts)
    +
    +    # we want slice before flux, so demote it
    +    DemoteOperator(1)
    +
    +    DrawPlots()
    +
    +    qt = GetQueryOverTimeAttributes()
    +    qt.timeType = qt.Cycle
    +    SetQueryOverTimeAttributes(qt)
    +
    +    QueryOverTime("Weighted Variable Sum")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("OperatorCreatedVar_01")
    +
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    DeleteExpression("normals")
    +    CloseDatabase(silo_data_path("wave.visit"))
    +
    +def TimeQueryMain():
    +    TestAllTimeQueries()
    +    TestFilledBoundary()
    +    TestOperators()
    +    TestExpressions()
    +    TestTransientVariable()
    +    TestSpecifyTimeQueryWindow()
    +    TestTimeVaryingSIL()
    +    TestQueryAfterQueryOverTime()
    +    TestMili()
    +    MultiVarTimePick()
    +    TestPickRangeTimeQuery()
    +    TestReturnValue()
    +    TestDirectDatabaseRoute()
    +    TestOperatorCreatedVar()
    +
    +# main
    +InitAnnotation()
    +SetCurvePlotDefaults()
    +TimeQueryMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queryMultiWindow.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queryMultiWindow.html new file mode 100644 index 000000000..db8303572 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queryMultiWindow.html @@ -0,0 +1,40 @@ + +Results for queries/queryMultiWindow.py + +

    Results of VisIt Regression Test - queries/queryMultiWindow

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    QueryMultiWindow0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queryMultiWindow_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queryMultiWindow_py.html new file mode 100644 index 000000000..0e4088f4c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_queryMultiWindow_py.html @@ -0,0 +1,154 @@ +queries/queryMultiWindow.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  queryMultiWindow.py #
    +#  Tests:      queries     - Database
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       May 19, 2004 
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Mon Dec 20 15:54:04 PST 2004
    +#    Changed 'Variable by Zone' to 'PickByZone' and 'Variable by Node' to
    +#    'PickByNode'.
    +#
    +#    Kathleen Bonnell, Thu Apr  3 10:00:48 PDT 2008 
    +#    Added tests from bug 8425. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Clean up unused / unnecessary query arguments. 
    +#
    +# ----------------------------------------------------------------------------
    +
    +def QueryMultiWindow():
    +    OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    SetTimeSliderState(31)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, -1, 0)
    +    v.viewUp = (0, 0, 1)
    +    SetView3D(v)
    +
    +    CloneWindow()
    +    SetTimeSliderState(64)
    +    DrawPlots()
    +    ChangeActivePlotsVar("v")
    +
    +    s = "Window 1 queries:\n"
    +    SetActiveWindow(1)
    +    Query("MinMax")
    +    s = s + GetQueryOutputString()
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString() + "\n"
    +    PickByZone(7072)
    +    s = s + GetPickOutput() + "\n"
    +    PickByNode(11168)
    +    s = s + GetPickOutput() + "\n"
    +    Query("Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString() + "\n"
    +
    +
    +    s = s + "\nWindow 2 queries:\n"
    +    SetActiveWindow(2)
    +    Query("MinMax")
    +    s = s + GetQueryOutputString()
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString() + "\n"
    +    PickByZone(7072)
    +    s = s + GetPickOutput() + "\n"
    +    PickByNode(11168)
    +    s = s + GetPickOutput() + "\n"
    +    Query("Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    #Delete window 2
    +    DeleteWindow()
    +    #Delete plots in window 1
    +    DeleteAllPlots()
    +
    +    #bug 8425 (multiple windows, same db, same timestate)
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    DefineScalarExpression("X", "coord(quadmesh3d)[0]")
    +    DefineScalarExpression("unnamed1", "X-1")
    +    DefineScalarExpression("unnamed2", "X-2")
    +    DefineScalarExpression("unnamed3", "X-3")
    +    SetWindowLayout(4)
    +    AddPlot("Pseudocolor", "unnamed1")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + "\n" + GetQueryOutputString() + "\n"
    +    SetActiveWindow(2)
    +    AddPlot("Pseudocolor", "unnamed2")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    SetActiveWindow(3)
    +    AddPlot("Pseudocolor", "unnamed3")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    SetActiveWindow(2)
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    SetActiveWindow(4)
    +    DeleteWindow()
    +    SetActiveWindow(3)
    +    DeleteWindow()
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +    #bug 8425 (multiple plots, same window, same db, same root var)
    +    OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +    DefineScalarExpression("p2", "p*p")
    +    DefineScalarExpression("p3", "p*p*p")
    +    AddPlot("Pseudocolor", "p")
    +    AddPlot("Pseudocolor", "p2")
    +    AddPlot("Pseudocolor", "p3")
    +    DrawPlots()
    +    SetActivePlots(0)
    +    Query("Weighted Variable Sum")
    +    s = s + "\n" + GetQueryOutputString() + "\n"
    +    SetActivePlots(1)
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    SetActivePlots(2)
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    TestText("QueryMultiWindow", s)
    +
    +    DeleteAllPlots()
    +
    +# Call the main function
    +TurnOnAllAnnotations()
    +QueryMultiWindow()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_revolved_surface_area.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_revolved_surface_area.html new file mode 100644 index 000000000..c9908fdbb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_revolved_surface_area.html @@ -0,0 +1,56 @@ + +Results for queries/revolved_surface_area.py + +

    Results of VisIt Regression Test - queries/revolved_surface_area

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    revolved_surface_area_010 modifications totalling 0 lines
    revolved_surface_area_020 modifications totalling 0 lines
    revolved_surface_area_030 modifications totalling 0 lines
    revolved_surface_area_040 modifications totalling 0 lines
    revolved_surface_area_050 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_revolved_surface_area_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_revolved_surface_area_py.html new file mode 100644 index 000000000..f50fbb437 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_revolved_surface_area_py.html @@ -0,0 +1,85 @@ +queries/revolved_surface_area.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  revolved_surface_area.py
    +#  Tests:      queries     - Revolved surface area of 2D plot.
    +#
    +#  Defect ID:  VisIt00004666, '3260, '3261
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 30, 2004
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004 
    +#    Slice defaults atts have changed, update accordingly. 
    +#
    +#    Hank Childs, Thu Jan 12 15:57:52 PST 2006
    +#    Added additional tests ('3260, '3261).
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +# Test for topological dimension 2.
    +TurnOnAllAnnotations()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +Query("Revolved surface area")
    +text = GetQueryOutputString()
    +TestText("revolved_surface_area_01", text)
    +
    +
    +# Test with isosurface operator.
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +iso_atts = IsosurfaceAttributes();
    +iso_atts.contourValue = (.25)
    +iso_atts.contourMethod = iso_atts.Value
    +SetOperatorOptions(iso_atts)
    +DrawPlots()
    +
    +Query("Revolved surface area")
    +text = GetQueryOutputString()
    +TestText("revolved_surface_area_02", text)
    +
    +
    +# Test for boundary plot.
    +DeleteAllPlots()
    +AddPlot("Boundary", "mat1")
    +DrawPlots()
    +
    +Query("Revolved surface area")
    +text = GetQueryOutputString()
    +TestText("revolved_surface_area_03", text)
    +
    +
    +# Test with 3D, isosurface, slice.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +SetOperatorOptions(iso_atts)
    +AddOperator("Slice")
    +s = SliceAttributes()
    +s.originIntercept = 0.5
    +s.axisType = s.YAxis
    +SetOperatorOptions(s)
    +DrawPlots()
    +
    +Query("Revolved surface area")
    +text = GetQueryOutputString()
    +TestText("revolved_surface_area_04", text)
    +
    +RemoveLastOperator()
    +Query("Revolved surface area")
    +text = GetLastError()
    +TestText("revolved_surface_area_05", text)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_scf.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_scf.html new file mode 100644 index 000000000..9f57aedf7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_scf.html @@ -0,0 +1,96 @@ + +Results for queries/scf.py + +

    Results of VisIt Regression Test - queries/scf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    scf_010 modifications totalling 0 lines
    scf_01_obj0 modifications totalling 0 lines
    scf_01_default_txt0 modifications totalling 0 lines
    scf_01_default_obj0 modifications totalling 0 lines
    scf_01_override_txt0 modifications totalling 0 lines
    scf_01_override_obj0 modifications totalling 0 lines
    scf_020 modifications totalling 0 lines
    scf_030.000.00
    scf_03_override0.000.00
    scf_050 modifications totalling 0 lines
    scf_05_obj0 modifications totalling 0 lines
    scf_05_override_txt0 modifications totalling 0 lines
    scf_05_override_obj0 modifications totalling 0 lines
    scf_070 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_scf_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_scf_py.html new file mode 100644 index 000000000..4462b4633 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_scf_py.html @@ -0,0 +1,150 @@ +queries/scf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scf.py
    +#  Tests:      queries     - spherical compactness factor
    +#
    +#  Defect ID:  VisIt00006385
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 14, 2005
    +#
    +#  Modifications:
    +#    Mark C. Miller, Fri Nov 17 22:03:34 PST 2006
    +#    Accounted for fact that threshold operator no longer has a default var
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Use named arguments. 
    +#
    +#    Cyrus Harrison, Wed Jul 16 15:58:54 PDT 2014
    +#    Added test cases to exercise centroid override
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +import json
    +
    +# Turn off all annotation
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isovolume")
    +iso_atts = IsovolumeAttributes()
    +iso_atts.ubound = 0.7
    +SetOperatorOptions(iso_atts)
    +DrawPlots()
    +
    +Query("Spherical Compactness Factor")
    +text = GetQueryOutputString()
    +TestText("scf_01", text)
    +
    +res = GetQueryOutputObject()
    +TestText("scf_01_obj", json.dumps(res,indent=2))
    +
    +Query("Spherical Compactness Factor",centroid="default")
    +text = GetQueryOutputString()
    +TestText("scf_01_default_txt", text)
    +
    +res = GetQueryOutputObject()
    +TestText("scf_01_default_obj", json.dumps(res,indent=2))
    +
    +Query("Spherical Compactness Factor",centroid=[1.0,0.0,0.0])
    +text = GetQueryOutputString()
    +TestText("scf_01_override_txt", text)
    +
    +res = GetQueryOutputObject()
    +TestText("scf_01_override_obj", json.dumps(res,indent=2))
    +
    +
    +AddOperator("Revolve")
    +DrawPlots()
    +Query("Spherical Compactness Factor")
    +text = GetQueryOutputString()
    +TestText("scf_02", text)
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +
    +c = CurveAttributes()
    +c.curveColorSource = c.Custom
    +c.curveColor = (255, 0, 0, 255)
    +SetDefaultPlotOptions(c)
    +
    +QueryOverTime("Spherical Compactness Factor", stride=10)
    +
    +c = CurveAttributes()
    +c.curveColorSource = c.Custom
    +c.curveColor = (255, 0, 0, 255)
    +SetDefaultPlotOptions(c)
    +
    +SetActiveWindow(2)
    +SetAnnotationAttributes(a)
    +Test("scf_03")
    +
    +c.curveColor = (0, 255, 0, 255)
    +SetDefaultPlotOptions(c)
    +
    +SetActiveWindow(1)
    +QueryOverTime("Spherical Compactness Factor", stride=10,centroid=[1.0,0.0,0.0])
    +
    +SetActiveWindow(2)
    +SetAnnotationAttributes(a)
    +Test("scf_03_override")
    +
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +i = ThresholdAttributes()
    +i.lowerBounds = (0.0)
    +i.upperBounds = (0.5)
    +i.listedVarNames = ("d")
    +SetDefaultOperatorOptions(i)
    +AddOperator("Threshold")
    +DrawPlots()
    +# Don't test localized compactness factor until radii is sorted out.
    +#Query("Localized Compactness Factor")
    +#t = GetQueryOutputString()
    +#TestText("scf_04", t)
    +Query("Elliptical Compactness Factor")
    +t = GetQueryOutputString()
    +TestText("scf_05", t)
    +
    +res = GetQueryOutputObject()
    +TestText("scf_05_obj", json.dumps(res,indent=2))
    +
    +Query("Elliptical Compactness Factor",centroid=[1.0,0.0,0.0])
    +text = GetQueryOutputString()
    +TestText("scf_05_override_txt", text)
    +
    +res = GetQueryOutputObject()
    +TestText("scf_05_override_obj", json.dumps(res,indent=2))
    +
    +AddOperator("Revolve")
    +DrawPlots()
    +#Query("Localized Compactness Factor")
    +#t = GetQueryOutputString()
    +#TestText("scf_06", t)
    +Query("Elliptical Compactness Factor")
    +t = GetQueryOutputString()
    +TestText("scf_07", t)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_surface_area_over_time.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_surface_area_over_time.html new file mode 100644 index 000000000..cbb5ca0b3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_surface_area_over_time.html @@ -0,0 +1,66 @@ + +Results for queries/surface_area_over_time.py + +

    Results of VisIt Regression Test - queries/surface_area_over_time

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    SA_OverTime_00000.000.00
    SA_OverTime_00010.000.00
    SA_OverTime_00020.000.00
    SA_OverTime_00030.000.00
    SA_OverTime_00040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_surface_area_over_time_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_surface_area_over_time_py.html new file mode 100644 index 000000000..f0281ea21 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_surface_area_over_time_py.html @@ -0,0 +1,144 @@ +queries/surface_area_over_time.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  surface_area_over_time.py
    +#  Tests:      queries     - surface area over time
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Fri May 19 10:04:46 PDT 2017
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Sep 22 13:24:42 PDT 2020
    +#    Use custom color for curves, as the color-cycling is non-deterministic
    +#    across runs.
    +#
    +# ----------------------------------------------------------------------------
    +
    +from visit_utils import *
    +
    +
    +def query_sa_stepwise(s, nts, qname):
    +    c_vals = []
    +    s_vals = []
    +    for ts in range(s, nts):
    +        TimeSliderSetState(ts)
    +        c_vals.append(query("Cycle"))
    +        s_vals.append(query(qname))
    +    f = open("_out_query_sa_stepwise.ult","w")
    +    f.write("# sa vs cycle\n")
    +    for i in range(len(c_vals)):
    +        f.write("%s %s\n" % (c_vals[i],s_vals[i]))
    +    f.close()
    +
    +def query_sa_q_over_time(s, nts, qname):
    +    TimeSliderSetState(0)
    +    QueryOverTime(qname, start_time=s, end_time=nts-1, stride=1)
    +
    +
    +def setup_PC_Iso_plot():
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "pressure")
    +    AddOperator("Isosurface")
    +    DrawPlots()
    +
    +def setup_boundary_plot():
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +    AddPlot("Boundary", "Material")
    +    DrawPlots()
    +
    +def setup_data_binning():
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    # We *Should* be using data binning like this, but there is 
    +    # a bug with query-over-time, so we add the operator separately.
    +    #AddPlot("Pseudocolor", "operators/DataBinning/2D/quadmesh")
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    AddOperator("DataBinning")
    +    DataBinningAtts = DataBinningAttributes()
    +    DataBinningAtts.numDimensions = DataBinningAtts.Two
    +    DataBinningAtts.dim1BinBasedOn = DataBinningAtts.X
    +    DataBinningAtts.dim2BinBasedOn = DataBinningAtts.Y
    +    DataBinningAtts.reductionOperator = DataBinningAtts.Maximum
    +    DataBinningAtts.varForReduction = "pressure"
    +    SetOperatorOptions(DataBinningAtts, 1)
    +
    +    DrawPlots()
    +
    +
    +def run_queries(s, numSteps, qname = "3D Surface area"):
    +    query_sa_stepwise(s, numSteps, qname)
    +    query_sa_q_over_time(s, numSteps, qname)
    +    SetActiveWindow(2)
    +    ca1 = CurveAttributes(1)
    +    ca1.curveColorSource = ca1.Custom
    +    ca1.curveColor=(255, 0, 0)
    +    SetPlotOptions(ca1)
    +    OpenDatabase("_out_query_sa_stepwise.ult")
    +    AddPlot("Curve","sa vs cycle")
    +    DrawPlots()
    +    ca2 = CurveAttributes(1)
    +    ca2.curveColorSource = ca2.Custom
    +    ca2.curveColor=(0, 255, 0)
    +    SetPlotOptions(ca2)
    +
    +
    +def open_db():
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +def clear_qot():
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    CloseDatabase("_out_query_sa_stepwise.ult")
    +    SetActiveWindow(1)
    +    TurnMaterialsOn()
    +
    +def main():
    +    open_db()
    +    setup_PC_Iso_plot()
    +    numSteps = TimeSliderGetNStates()
    +    run_queries(0, numSteps)
    +
    +    Test("SA_OverTime_0000")
    +
    +    clear_qot()
    +
    +    setup_boundary_plot()
    +    run_queries(0, numSteps)
    +    Test("SA_OverTime_0001")
    +
    +    clear_qot()
    +
    +    numSteps = 45
    +    m2 = "2 water"
    +    m1 = "1 barrier"
    +    TurnMaterialsOff(m2)
    +    run_queries(0, numSteps)
    +    Test("SA_OverTime_0002")
    +
    +    clear_qot()
    +
    +    TimeSliderSetState(1)
    +    TurnMaterialsOff(m1)
    +    run_queries(1, numSteps)
    +    Test("SA_OverTime_0003")
    +
    +
    +    clear_qot()
    +
    +    setup_data_binning()
    +    numSteps = TimeSliderGetNStates()
    +    run_queries(0, numSteps, "2D area")
    +    Test("SA_OverTime_0004")
    +
    +
    +
    +# Call the main function
    +TurnOnAllAnnotations()
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_variable_sum_volume.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_variable_sum_volume.html new file mode 100644 index 000000000..1d34faa8d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_variable_sum_volume.html @@ -0,0 +1,68 @@ + +Results for queries/variable_sum_volume.py + +

    Results of VisIt Regression Test - queries/variable_sum_volume

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mat_10 modifications totalling 0 lines
    mat_40 modifications totalling 0 lines
    mat_90 modifications totalling 0 lines
    mat_140 modifications totalling 0 lines
    mat_190 modifications totalling 0 lines
    mat_490 modifications totalling 0 lines
    mat_1490 modifications totalling 0 lines
    vws_mult_dim0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_variable_sum_volume_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_variable_sum_volume_py.html new file mode 100644 index 000000000..c432ef05a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_variable_sum_volume_py.html @@ -0,0 +1,69 @@ +queries/variable_sum_volume.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  volume.py
    +#  Tests:      queries     - volumes of various material selected regions
    +#                          - weighted volume of dataset with cells of different
    +#                               dimension.
    +#
    +#  Programmer: Eddie Rusu
    +#  Date:       January 14, 2020
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("silo_pdb_test_data/ucd3d.silo"))
    +AddPlot("Pseudocolor", "mesh_quality/ucdmesh3d/volume", 1, 1)
    +DrawPlots()
    +
    +SetQueryFloatFormat("%g")
    +# Material 1
    +TurnMaterialsOff(("4", "9"))
    +text = Query("Variable Sum")
    +TestText("mat_1", text)
    +
    +# Material 4
    +TurnMaterialsOff("1")
    +TurnMaterialsOn("4")
    +text = Query("Variable Sum")
    +TestText("mat_4", text)
    +
    +# Material 9
    +TurnMaterialsOff("4")
    +TurnMaterialsOn("9")
    +text = Query("Variable Sum")
    +TestText("mat_9", text)
    +
    +# Material 14
    +TurnMaterialsOff("9")
    +TurnMaterialsOn(("1", "4"))
    +text = Query("Variable Sum")
    +TestText("mat_14", text)
    +
    +# Material 19
    +TurnMaterialsOff("4")
    +TurnMaterialsOn("9")
    +text = Query("Variable Sum")
    +TestText("mat_19", text)
    +
    +# Material 49
    +TurnMaterialsOff("1")
    +TurnMaterialsOn("4")
    +text = Query("Variable Sum")
    +TestText("mat_49", text)
    +
    +# Material 149
    +TurnMaterialsOn()
    +text = Query("Variable Sum")
    +TestText("mat_149", text)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_pdb_test_data/ucd3d.silo"))
    +
    +# Weighted volume query on cells of different dimension
    +OpenDatabase(data_path("silo_pdb_test_data/multi_dim_cells.silo"))
    +AddPlot("Pseudocolor", "coordx", 1, 1)
    +DrawPlots()
    +text = Query("Weighted Variable Sum")
    +TestText("vws_mult_dim", text)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_watertight.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_watertight.html new file mode 100644 index 000000000..ae52de800 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_watertight.html @@ -0,0 +1,44 @@ + +Results for queries/watertight.py + +

    Results of VisIt Regression Test - queries/watertight

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    watertight_010 modifications totalling 0 lines
    watertight_020 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_watertight_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_watertight_py.html new file mode 100644 index 000000000..1239faf4b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_watertight_py.html @@ -0,0 +1,40 @@ +queries/watertight.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  watertight.py
    +#  Tests:      queries     - watertight 
    +#
    +#  Defect ID:  VisIt00006632
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 23, 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +i = IsosurfaceAttributes()
    +i.contourMethod = i.Value
    +i.contourValue = 0.48
    +SetOperatorOptions(i)
    +DrawPlots()
    +
    +Query("Watertight")
    +text = GetQueryOutputString()
    +TestText("watertight_01", text)
    +
    +i.contourValue = 0.5
    +SetOperatorOptions(i)
    +Query("Watertight")
    +text = GetQueryOutputString()
    +TestText("watertight_02", text)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_xrayimage.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_xrayimage.html new file mode 100644 index 000000000..f230f931b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_xrayimage.html @@ -0,0 +1,1910 @@ + +Results for queries/xrayimage.py + +

    Results of VisIt Regression Test - queries/xrayimage

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    xrayimage000.000.00
    xrayimage010 modifications totalling 0 lines
    xrayimage020.000.00
    xrayimage030.000.00
    xrayimage040 modifications totalling 0 lines
    xrayimage050.000.00
    xrayimage060 modifications totalling 0 lines
    xrayimage070.000.00
    xrayimage080 modifications totalling 0 lines
    xrayimage090.000.00
    xrayimage100 modifications totalling 0 lines
    xrayimage110.000.00
    xrayimage120 modifications totalling 0 lines
    xrayimage130.000.00
    xrayimage140 modifications totalling 0 lines
    xrayimage150.000.00
    xrayimage160 modifications totalling 0 lines
    xrayimage170.000.00
    xrayimage180 modifications totalling 0 lines
    xrayimage190.000.00
    xrayimage200 modifications totalling 0 lines
    xrayimage210.000.00
    xrayimage220 modifications totalling 0 lines
    xrayimage230.000.00
    xrayimage240 modifications totalling 0 lines
    xrayimage250.000.00
    xrayimage260 modifications totalling 0 lines
    xrayimage270.000.00
    xrayimage280.000.00
    xrayimage290 modifications totalling 0 lines
    xrayimage300.000.00
    xrayimage310 modifications totalling 0 lines
    xrayimage320 modifications totalling 0 lines
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_intensities_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_path_length_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy9.620.11
    Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy13.280.21
    xrayimage330 modifications totalling 0 lines
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_intensities_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_path_length_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern9.620.11
    Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern13.280.11
    Blueprint_HDF5_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_IntensityUnits
     "intensity units" .eq. "intensity units" : True
    Blueprint_HDF5_X_Ray_Output1_PathLengthUnits
     "path length metadata" .eq. "path length metadata" : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupBounds
     [0. 2. 6. 8.] .eq. [0, 2, 6, 8]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_HDF5_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_HDF5_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_HDF5_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." .eq. "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." : True
    Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_HDF5_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_HDF5_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_HDF5_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds not provided." .eq. "Energy group bounds not provided." : True
    Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_HDF5_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    xrayimage340 modifications totalling 0 lines
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy_slice00.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy_slice10.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy_slice20.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy_slice00.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy_slice10.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy_slice00.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy_slice10.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy_slice00.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy_slice10.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_intensities_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_path_length_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy9.620.05
    Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy13.280.11
    xrayimage350 modifications totalling 0 lines
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern0.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern_slice00.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern_slice10.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern_slice20.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern0.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern_slice00.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern_slice10.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern_slice00.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern_slice10.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern_slice00.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern_slice10.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_intensities_modern0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_path_length_modern0.000.00
    Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern9.620.08
    Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern13.280.16
    Blueprint_JSON_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_IntensityUnits
     "intensity units" .eq. "intensity units" : True
    Blueprint_JSON_X_Ray_Output1_PathLengthUnits
     "path length metadata" .eq. "path length metadata" : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_EnergyGroupBounds
     [0. 2. 6. 8.] .eq. [0, 2, 6, 8]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_JSON_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_JSON_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_JSON_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." .eq. "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." : True
    Blueprint_JSON_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_JSON_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_JSON_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_JSON_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds not provided." .eq. "Energy group bounds not provided." : True
    Blueprint_JSON_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_JSON_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    xrayimage360 modifications totalling 0 lines
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy_slice00.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy_slice10.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy_slice20.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy_slice00.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy_slice10.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy_slice00.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy_slice10.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy_slice00.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy_slice10.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_intensities_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_path_length_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy9.620.05
    Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy13.280.16
    xrayimage370 modifications totalling 0 lines
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern0.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern_slice00.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern_slice10.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern_slice20.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern0.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern_slice00.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern_slice10.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern_slice00.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern_slice10.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern_slice00.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern_slice10.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_intensities_modern0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_path_length_modern0.000.00
    Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern9.620.06
    Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern13.280.13
    Blueprint_YAML_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_IntensityUnits
     "intensity units" .eq. "intensity units" : True
    Blueprint_YAML_X_Ray_Output1_PathLengthUnits
     "path length metadata" .eq. "path length metadata" : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_EnergyGroupBounds
     [0. 2. 6. 8.] .eq. [0, 2, 6, 8]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_YAML_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_YAML_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_YAML_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." .eq. "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." : True
    Blueprint_YAML_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_YAML_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_YAML_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_YAML_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds not provided." .eq. "Energy group bounds not provided." : True
    Blueprint_YAML_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_YAML_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_Positive_Detector_width
     22.393226323783825 .eq. 22.3932263237838 (prec=5) : True
    Blueprint_Positive_Detector_height
     16.79491924231027 .eq. 16.7949192423103 (prec=5) : True
    Blueprint_HDF5_Imaging_Planes00.000.00
    Blueprint_HDF5_Imaging_Planes10.000.00
    NonSquare_Pixels_Ray_trace_setup_130.572.23
    NonSquare_Pixels_Ray_trace_setup_228.462.04
    NonSquare_Pixels_Ray_trace_setup_330.572.23
    NonSquare_Pixels_Ray_trace_setup_428.462.04
    NonSquare_Pixels_Ray_trace_setup_533.352.56
    NonSquare_Pixels_Ray_trace_setup_631.572.41
    NonSquare_Pixels_Ray_trace_setup_720.410.63
    NonSquare_Pixels_Ray_trace_setup_820.191.19
    NonSquare_Pixels_hi_res_images10.000.00
    NonSquare_Pixels_hi_res_images20.000.00
    NonSquare_Pixels_hi_res_images30.000.00
    NonSquare_Pixels_hi_res_images40.000.00
    NonSquare_Pixels_hi_res_images50.000.00
    NonSquare_Pixels_hi_res_images60.000.00
    NonSquare_Pixels_hi_res_images70.000.00
    NonSquare_Pixels_hi_res_images80.000.00
    NonSquare_Pixels_low_res_mesh_plots10.000.00
    NonSquare_Pixels_low_res_mesh_plots20.000.00
    NonSquare_Pixels_low_res_mesh_plots30.000.00
    NonSquare_Pixels_low_res_mesh_plots40.000.00
    NonSquare_Pixels_low_res_mesh_plots50.000.00
    NonSquare_Pixels_low_res_mesh_plots60.000.00
    NonSquare_Pixels_low_res_mesh_plots70.000.00
    NonSquare_Pixels_low_res_mesh_plots80.000.00
    xrayimage38
     "None" .eq. "None" : True
    xrayimage39
     "None" .eq. "None" : True
    Test_filenames_for_jpeg_outputs0 modifications totalling 0 lines
    Test_filenames_for_png_outputs0 modifications totalling 0 lines
    Test_filenames_for_tif_outputs0 modifications totalling 0 lines
    Test_filenames_for_bof_outputs0 modifications totalling 0 lines
    Test_filenames_for_bov_outputs0 modifications totalling 0 lines
    Test_filenames_for_json_outputs0 modifications totalling 0 lines
    Test_filenames_for_hdf5_outputs0 modifications totalling 0 lines
    Test_filenames_for_yaml_outputs0 modifications totalling 0 lines
    Test_filenames_for_family0_outputs0 modifications totalling 0 lines
    Test_filenames_for_family1_outputs0 modifications totalling 0 lines
    detect and warn numpy array as query param
     "True" .eq. "True" : True
    numpy array converted to list works as query param
     "True" .eq. "True" : True
    +

    Final Return Code: 120

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_xrayimage_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_xrayimage_py.html new file mode 100644 index 000000000..6ebe2124e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/queries_xrayimage_py.html @@ -0,0 +1,1337 @@ +queries/xrayimage.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  xrayimage.py
    +#  Tests:      queries     - xray imagel
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       July 13, 2010
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Jul 14 10:44:55 PDT 2011
    +#    Change most of code to use python dictionary to pass query parameters.
    +#    First call to 'Query' still tests old-style argument passing.
    +#    Second call to 'Query' creates a Python dictionary from scratch and
    +#    uses that.  Prior to third call to Query, retrieve default dictionary via
    +#    GetQueryParameters.  All subsequent calls to Query modify that dictionary 
    +#    object as necessary and pass it.
    +#
    +#    Kathleen Biagas, Wed Oct 17 14:25:05 PDT 2012
    +#    Show usage of new 'up_vector' parameter.
    +# 
    +#    Justin Privitera, Tue Jun 14 10:02:21 PDT 2022
    +#    Change tests to reflect new ability to send output directory to query.
    +# 
    +#    Justin Privitera, Wed Jun 15 16:43:34 PDT 2022
    +#    Added tests for new blueprint output.
    +# 
    +#    Justin Privitera, Wed Jul 20 13:54:06 PDT 2022
    +#    Added query output msg tests and tests for query errors.
    +# 
    +#    Justin Privitera, Thu Sep  8 16:29:06 PDT 2022
    +#    Added new tests for blueprint output metadata.
    +# 
    +#    Justin Privitera, Tue Sep 27 10:52:59 PDT 2022
    +#    Changed names of most output files to reflect new naming conventions.
    +#    Added tests for filenames, all output types, and result messages.
    +# 
    +#    Justin Privitera, Fri Sep 30 15:54:40 PDT 2022
    +#    Changed location of temp output files.
    +#    os.remove is gone.
    +#    tmp/baddir is gone, replaced.
    +#    These changes were made so the tests no longer crash on windows.
    +# 
    +#    Justin Privitera, Tue Nov 15 14:54:35 PST 2022
    +#    Added new tests for additional blueprint output metadata as well as
    +#    imaging plane topologies.
    +# 
    +#    Justin Privitera, Tue Nov 22 14:56:04 PST 2022
    +#    Updated numbering on later tests.
    +#    Reorganized blueprint tests so they use a function. That function also
    +#    uses new and old query calls, doubling the number of blueprint tests.
    +#    It also tests energy group bin output for hdf5.
    +# 
    +#    Justin Privitera, Mon Nov 28 15:38:25 PST 2022
    +#    Renamed energy group bins to energy group bounds.
    +# 
    +#    Justin Privitera, Wed Nov 30 10:41:17 PST 2022
    +#    Added tests for always positive detector height and width in blueprint
    +#    metadata.
    +# 
    +#    Justin Privitera, Wed Nov 30 17:43:48 PST 2022
    +#    Added tests for piping the units through the query.
    +# 
    +#    Justin Privitera, Thu Dec  1 15:29:48 PST 2022
    +#    Tests for new location of units in blueprint output.
    +# 
    +#    Justin Privitera, Wed Dec  7 16:16:16 PST 2022
    +#    Added tests for the blueprint ray output.
    +# 
    +#    Justin Privitera, Mon Dec 12 13:28:55 PST 2022
    +#    Reworked some of the blueprint output tests to reflect changes in 
    +#    output metadata.
    +#    Added new tests for path length and spatial extent images.
    +# 
    +#    Justin Privitera, Tue Feb 14 17:02:43 PST 2023
    +#    Change all metadata to use pot_hole_case instead of camelCase.
    +#    Add test for image_topo_order_of_domain_variables.
    +#
    +#    Justin Privitera, Wed Oct 12 11:38:11 PDT 2022
    +#    Changed output type for many tests since bmp output type is removed.
    +# 
    +#    Justin Privitera, Fri Mar 10 19:06:49 PST 2023
    +#    Added tests for new spatial energy reduced topo and fields.
    +# 
    +#    Justin Privitera, Wed Mar 15 17:51:13 PDT 2023
    +#    Added tests for new spectra topo and fields.
    +# 
    +#    Justin Privitera, Wed Mar 22 16:09:52 PDT 2023
    +#     - Added logic for setting up and tearing down blueprint output type 
    +#    tests.
    +#     - Added new query choices for blueprint output that can be passed down 
    +#    into the various blueprint tests.
    +#     - Created a new class for storing these query options and passing them 
    +#    around.
    +#     - Added a new function for making slices of plots to test specific 
    +#    energy group bins.
    +#     - More consistent query args for blueprint tests
    +#     - Added slice tests for specific energy group bins.
    +# 
    +#    Justin Privitera, Wed Apr 26 14:07:01 PDT 2023
    +#    The new conduit we are using for VisIt (0.8.7) can read in simple yaml
    +#    and json (w/o bp index?) (bug was fixed) so I am updating the x ray query
    +#    tests to take advantage of this and add tests back in for yaml and json
    +#    cases.
    +#
    +#    Justin Privitera, Fri Jun 16 17:17:14 PDT 2023
    +#    Added tests for the new view width override and non square pixels 
    +#    settings.
    +# 
    +#    Justin Privitera, Fri Jul 14 17:33:07 PDT 2023
    +#    Updated tests to reflect the new reality that the complete camera spec
    +#    is now the default.
    +# 
    +#    Justin Privitera, Tue Aug 22 12:30:01 PDT 2023
    +#    Sort filename list produced by os.listdir to prevent test suite failures.
    +# 
    +#    Justin Privitera, Mon Oct 30 14:45:55 PDT 2023
    +#    Use conduit node diff to compare query results to baselines.
    +# 
    +#    Justin Privitera, Tue Oct 31 13:20:23 PDT 2023
    +#    All output folders are created at the top of the file now.
    +#    Several visit expressions have been cleaned up or removed entirely.
    +#    Code cleanup for readability.
    +#    Lowered pixel resolution for query results where we are not testing the
    +#    images.
    +#    Use the python dictionary returned by the query to tell if the query was
    +#    successful or not.
    +# ----------------------------------------------------------------------------
    +
    +import os
    +import conduit
    +
    +if not os.path.isdir(out_path("current","queries")):
    +    os.mkdir(out_path("current","queries"))
    +out_base = out_path("current","queries","xrayimage")
    +if not os.path.isdir(out_base):
    +    os.mkdir(out_base)
    +
    +outdir_set = pjoin(TestEnv.params["run_dir"], "testdir")
    +if not os.path.isdir(outdir_set):
    +    os.mkdir(outdir_set)
    +
    +conduit_dir_hdf5 = pjoin(outdir_set, "hdf5")
    +if not os.path.isdir(conduit_dir_hdf5):
    +    os.mkdir(conduit_dir_hdf5)
    +conduit_dir_json = pjoin(outdir_set, "json")
    +if not os.path.isdir(conduit_dir_json):
    +    os.mkdir(conduit_dir_json)
    +conduit_dir_yaml = pjoin(outdir_set, "yaml")
    +if not os.path.isdir(conduit_dir_yaml):
    +    os.mkdir(conduit_dir_yaml)
    +conduit_dir_imaging_planes0 = pjoin(outdir_set, "imaging_planes0")
    +if not os.path.isdir(conduit_dir_imaging_planes0):
    +    os.mkdir(conduit_dir_imaging_planes0)
    +conduit_dir_imaging_planes1 = pjoin(outdir_set, "imaging_planes1")
    +if not os.path.isdir(conduit_dir_imaging_planes1):
    +    os.mkdir(conduit_dir_imaging_planes1)
    +conduit_dir_detector_dims = pjoin(outdir_set, "detector_dims")
    +if not os.path.isdir(conduit_dir_detector_dims):
    +    os.mkdir(conduit_dir_detector_dims)
    +conduit_dir_nonsquare_pixels = pjoin(outdir_set, "nonsquare_pix")
    +if not os.path.isdir(conduit_dir_nonsquare_pixels):
    +    os.mkdir(conduit_dir_nonsquare_pixels)
    +
    +dir_dne = pjoin(outdir_set, "doesnotexist")
    +if os.path.isdir(dir_dne):
    +    os.rmdir(dir_dne)
    +
    +# os.chmod does not work on windows
    +if not platform.system() == "Windows":
    +    outdir_bad = pjoin(outdir_set, "baddir")
    +    if not os.path.isdir(outdir_bad):
    +        os.mkdir(outdir_bad)
    +    os.chmod(outdir_bad, 0o444)
    +
    +output_types = ["jpeg", "png", "tif", "bof", "bov", "json", "hdf5", "yaml"]
    +for i in range(0, len(output_types)):
    +    outdir_set_otype = outdir_set + "_" + output_types[i]
    +    if not os.path.isdir(outdir_set_otype):
    +        os.mkdir(outdir_set_otype)
    +
    +family_options = [0, 1]
    +for i in range(0, len(family_options)):
    +    outdir_set_family = outdir_set + "_family_" + str(family_options[i])
    +    if not os.path.isdir(outdir_set_family):
    +        os.mkdir(outdir_set_family)
    +
    +#
    +# Test a single block structured grid with scalars.
    +#
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +# old style argument passing
    +Query("XRay Image", 1, ".", 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
    +
    +os.rename("output.png", out_path(out_base,"xrayimage00.png"))
    +Test("xrayimage00", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage01", s)
    +
    +#
    +# Test a multi block structured grid with an array variable.
    +#
    +DefineArrayExpression("da", "array_compose(d,d)")
    +DefineArrayExpression("pa", "array_compose(p,p)")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +# create our own dictionary
    +params = dict(output_type=1,
    +              output_dir=".",
    +              divide_emis_by_absorb=1,
    +              origin=(0.0, 2.5, 10.0),
    +              up_vector=(0, 1, 0),
    +              theta=0,
    +              phi=0,
    +              width = 10.,
    +              height=10.,
    +              image_size=(300, 300),
    +              vars=("da", "pa"))
    +Query("XRay Image", params)
    +
    +os.rename("output.00.png", out_path(out_base,"xrayimage02.png"))
    +os.rename("output.01.png", out_path(out_base,"xrayimage03.png"))
    +
    +Test("xrayimage02", 0, 1)
    +Test("xrayimage03", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage04", s)
    +
    +#
    +# Test a 2d structured grid with scalars.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +params = dict()
    +params['image_size'] = (300, 300)
    +params['divide_emis_by_absorb'] = 1
    +params['width'] = 10.
    +params['height'] = 10.
    +params['vars'] = ("d", "p")
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage05.png"))
    +Test("xrayimage05", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage06", s)
    +
    +params['theta'] = 90
    +params['phi'] =  0
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage07.png"))
    +Test("xrayimage07", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage08", s)
    +
    +#
    +# Test an unstructured grid with scalars.
    +#
    +DefineScalarExpression("u1", 'recenter(((u+10.)*0.01), "zonal")')
    +DefineScalarExpression("v1", 'recenter(((v+10.)*0.01*matvf(mat1,1)), "zonal")')
    +DefineScalarExpression("v2", 'recenter(((v+10.)*0.01*matvf(mat1,2)), "zonal")')
    +DefineScalarExpression("v3", 'recenter(((v+10.)*0.01*matvf(mat1,3)), "zonal")')
    +DefineScalarExpression("v4", 'recenter(((v+10.)*0.01*matvf(mat1,4)), "zonal")')
    +DefineScalarExpression("w1", 'recenter(((w+10.)*0.01), "zonal")')
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Do tets.
    +params['theta'] = 0
    +params['phi'] = 0
    +params['width'] = 1.
    +params['height'] = 1.
    +params['vars'] = ("w1", "v1")
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage09.png"))
    +Test("xrayimage09", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage10", s)
    +
    +params['theta'] = 90
    +params['width'] = 4.
    +params['height'] = 4.
    +
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage11.png"))
    +Test("xrayimage11", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage12", s)
    +
    +# Do pyramids.
    +params['theta'] = 0
    +params['vars'] = ("w1", "v2")
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage13.png"))
    +Test("xrayimage13", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage14", s)
    +
    +params['theta'] = 90
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage15.png"))
    +Test("xrayimage15", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage16", s)
    +
    +# Do wedges.
    +params['theta'] = 0
    +params['width'] = 8.
    +params['height'] = 8.
    +params['vars'] = ("w1", "v3")
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage17.png"))
    +Test("xrayimage17", 0, 1)
    +
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage18", s)
    +
    +params['theta'] = 90
    +params['width'] = 20.
    +params['height'] = 20.
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage19.png"))
    +Test("xrayimage19", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage20", s)
    +
    +# Do hexes.
    +params['theta'] = 0
    +params['vars'] = ("w1", "v4")
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage21.png"))
    +Test("xrayimage21", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage22", s)
    +
    +params['theta'] = 90
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage23.png"))
    +Test("xrayimage23", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage24", s)
    +
    +#
    +# Test with perspective.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +params = dict(output_type="png",
    +              output_dir=".",
    +              divide_emis_by_absorb=1,
    +              focus=(0.0, 2.5, 15.0),
    +              view_up=(0., 1., 0.),
    +              normal=(0., 0., 1.),
    +              view_angle=30.,
    +              parallel_scale = 16.0078,
    +              near_plane = -32.0156,
    +              far_plane = 32.0156,
    +              image_pan=(0., 0.),
    +              image_zoom = 2.4,
    +              perspective = 1,
    +              image_size=(300, 300),
    +              vars=("d", "p"))
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage25.png"))
    +
    +Test("xrayimage25", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage26", s)
    +
    +#
    +# Test with background intensities.
    +#
    +DefineArrayExpression("wa", "array_compose(w1,w1)")
    +DefineArrayExpression("va", "array_compose(v4,v4)")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +params = dict(output_type="png",
    +              output_dir=".",
    +              divide_emis_by_absorb=1,
    +              theta=90.,
    +              phi=0.,
    +              width=20.,
    +              height=20.,
    +              image_size=(300, 300),
    +              vars=("wa", "va"),
    +              background_intensities=(0.05, 0.1))
    +Query("XRay Image", params)
    +
    +os.rename("output.00.png", out_path(out_base,"xrayimage27.png"))
    +os.rename("output.01.png", out_path(out_base,"xrayimage28.png"))
    +
    +Test("xrayimage27", 0, 1)
    +Test("xrayimage28", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage29", s)
    +
    +DeleteAllPlots()
    +
    +# 
    +# test setting output directory
    +# 
    +
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +# old style argument passing
    +Query("XRay Image", "png", outdir_set, 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
    +os.rename(outdir_set + "/output.png", out_path(out_base, "xrayimage30.png"))
    +Test("xrayimage30", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage31", s)
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("curv3d.silo"))
    +
    +#
    +# test blueprint output
    +#
    +
    +def setup_bp_test():
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +    DefineScalarExpression("d1", 'd')
    +    DefineScalarExpression("p1", 'p')
    +    DefineScalarExpression("d2", 'd * 6')
    +    DefineScalarExpression("p2", 'p * 6')
    +    DefineScalarExpression("d3", 'd * 3')
    +    DefineScalarExpression("p3", 'p * 3')
    +    DefineArrayExpression("darr", "array_compose(d1,d2,d3)")
    +    DefineArrayExpression("parr", "array_compose(p1,p2,d3)")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +def teardown_bp_test(lite = False):
    +    DeleteAllPlots()
    +    if not lite:
    +        DeleteExpression("d1")
    +        DeleteExpression("p1")
    +        DeleteExpression("d2")
    +        DeleteExpression("p2")
    +        DeleteExpression("d3")
    +        DeleteExpression("p3")
    +        DeleteExpression("darr")
    +        DeleteExpression("parr")
    +    CloseDatabase(silo_data_path("curv3d.silo"))
    +
    +# In conduit python, int types are assumed to be int64
    +# The xray query saves bools out as int32s
    +# So the diff fails unless we take the int32 type and 
    +# cast it to int64.
    +def cast_to_wide_int_type_conduit(node, leafname):
    +    val = int(node[leafname])
    +    node.remove_child(leafname)
    +    node[leafname] = val
    +
    +def test_bp_state_xray_view(testname, xray_view):
    +    yaml_text = """normal:
    +  x: 0.0
    +  y: 0.0
    +  z: 1.0
    +focus:
    +  x: 0.0
    +  y: 2.5
    +  z: 10.0
    +view_up:
    +  x: 0.0
    +  y: 1.0
    +  z: 0.0
    +view_angle: 30.0
    +parallel_scale: 5.0
    +view_width: 7.5
    +non_square_pixels: \"yes\"
    +near_plane: -100.0
    +far_plane: 100.0
    +image_pan:
    +  x: 0.0
    +  y: 0.0
    +image_zoom: 1.0
    +perspective: 0
    +perspective_str: \"parallel\""""
    +
    +    xray_view_base = conduit.Node()
    +    xray_view_base.parse(yaml_text, "yaml")
    +
    +    # We must make changes so that the diff will pass:
    +    cast_to_wide_int_type_conduit(xray_view, "perspective")
    +
    +    info = conduit.Node()
    +    diffval = xray_view.diff(xray_view_base, info)
    +    diff_str = info.to_yaml() if diffval else ""
    +    TestValueEQ(testname + "_xray_view", diff_str, "");
    +
    +UNITS_OFF = 0
    +UNITS_ON = 1
    +
    +def test_bp_state_xray_query(testname, xray_query, num_bins, abs_name, emis_name, units):
    +    yaml_text = f"""divide_emis_by_absorb: 1
    +divide_emis_by_absorb_str: \"yes\"
    +num_x_pixels: 300
    +num_y_pixels: 200
    +num_bins: {num_bins}
    +abs_var_name: {abs_name}
    +emis_var_name: {emis_name}
    +abs_units: {"abs units" if units == UNITS_ON else "no units provided"}
    +emis_units: {"emis units" if units == UNITS_ON else "no units provided"}"""
    +
    +    xray_query_base = conduit.Node()
    +    xray_query_base.parse(yaml_text, "yaml")
    +
    +    # We must make changes so that the diff will pass:
    +    cast_to_wide_int_type_conduit(xray_query, "divide_emis_by_absorb")
    +    cast_to_wide_int_type_conduit(xray_query, "num_x_pixels")
    +    cast_to_wide_int_type_conduit(xray_query, "num_y_pixels")
    +    cast_to_wide_int_type_conduit(xray_query, "num_bins")
    +
    +    info = conduit.Node()
    +    diffval = xray_query.diff(xray_query_base, info)
    +    diff_str = info.to_yaml() if diffval else ""
    +    TestValueEQ(testname + "_xray_query", diff_str, "");
    +
    +def test_bp_state_xray_data(testname, xray_data, int_max, pl_max):
    +    yaml_text = f"""detector_width: 15.0
    +detector_height: 10.0
    +intensity_max: {int_max}
    +intensity_min: 0.0
    +path_length_max: {pl_max}
    +path_length_min: 0.0
    +image_topo_order_of_domain_variables: \"xyz\""""
    +
    +    xray_data_base = conduit.Node()
    +    xray_data_base.parse(yaml_text, "yaml")
    +
    +    info = conduit.Node()
    +    diffval = xray_data.diff(xray_data_base, info)
    +    diff_str = info.to_yaml() if diffval else ""
    +    TestValueEQ(testname + "_xray_data", diff_str, "");
    +
    +NO_ENERGY_GROUP_BOUNDS = 0
    +ENERGY_GROUP_BOUNDS_MISMATCH = 1
    +ENERGY_GROUP_BOUNDS = 2
    +
    +class query_result_options:
    +    def __init__(self, num_bins, abs_name, emis_name, bin_state, units, int_max, pl_max):
    +        self.num_bins = num_bins
    +        self.abs_name = abs_name
    +        self.emis_name = emis_name
    +        self.bin_state = bin_state
    +        self.units = units
    +        self.int_max = int_max
    +        self.pl_max = pl_max
    +
    +def test_bp_data(testname, conduit_db, qro):
    +    xrayout = conduit.Node()
    +    conduit.relay.io.blueprint.load_mesh(xrayout, conduit_db)
    +
    +    # test metadata
    +    xray_state = xrayout["domain_000000/state"]
    +
    +    time = xray_state["time"]
    +    TestValueEQ(testname + "_Time", time, 4.8)
    +
    +    cycle = xray_state["cycle"]
    +    TestValueEQ(testname + "_Cycle", cycle, 48)
    +
    +    test_bp_state_xray_view(testname, xray_state["xray_view"])
    +    test_bp_state_xray_query(testname, xray_state["xray_query"],
    +        qro.num_bins, qro.abs_name, qro.emis_name, qro.units)
    +    test_bp_state_xray_data(testname, xray_state["xray_data"], qro.int_max, qro.pl_max)
    +
    +    # test data embedded within the fields
    +
    +    xray_fields = xrayout["domain_000000/fields"]
    +
    +    intensityUnits = xray_fields["intensities/units"]
    +    pathLengthUnits = xray_fields["path_length/units"]
    +
    +    if (qro.units == UNITS_ON):
    +        TestValueEQ(testname + "_IntensityUnits", intensityUnits, "intensity units")
    +        TestValueEQ(testname + "_PathLengthUnits", pathLengthUnits, "path length metadata")
    +    else:
    +        TestValueEQ(testname + "_IntensityUnits", intensityUnits, "no units provided")
    +        TestValueEQ(testname + "_PathLengthUnits", pathLengthUnits, "no info provided")
    +
    +    # test data embedded within the coordsets
    +
    +    xray_coordsets = xrayout["domain_000000/coordsets"]
    +
    +    spatial_coords_x = xray_coordsets["spatial_coords/values/x"]
    +    spatial_coords_y = xray_coordsets["spatial_coords/values/y"]
    +    energy_group_bounds = xray_coordsets["spatial_coords/values/z"]
    +    energy_group_info = xray_coordsets["spatial_coords/info"]
    +    TestValueEQ(testname + "_data_SpatialExtents0", [spatial_coords_x[0], spatial_coords_y[0]], [0.0, 0.0])
    +    TestValueEQ(testname + "_data_SpatialExtents1", [spatial_coords_x[1], spatial_coords_y[1]], [0.05, 0.05])
    +    TestValueEQ(testname + "_data_SpatialExtents2", [spatial_coords_x[2], spatial_coords_y[2]], [0.1, 0.1])
    +    TestValueEQ(testname + "_data_SpatialExtents3", [spatial_coords_x[-1], spatial_coords_y[-1]], [15.0, 10.0])
    +
    +    if (qro.bin_state == NO_ENERGY_GROUP_BOUNDS):
    +        TestValueEQ(testname + "_data_EnergyGroupInfo", energy_group_info, "Energy group bounds not provided.")
    +        TestValueEQ(testname + "_data_EnergyGroupBounds", [energy_group_bounds[0], energy_group_bounds[1]], [0, 1])
    +    elif (qro.bin_state == ENERGY_GROUP_BOUNDS_MISMATCH):
    +        baseline_string = "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results."
    +        TestValueEQ(testname + "_data_EnergyGroupInfo", energy_group_info, baseline_string)
    +        TestValueEQ(testname + "_data_EnergyGroupBounds", [energy_group_bounds[0], energy_group_bounds[1]], [0, 1])
    +    elif (qro.bin_state == ENERGY_GROUP_BOUNDS):
    +        TestValueEQ(testname + "_data_EnergyGroupBounds", energy_group_bounds, [0, 2, 6, 8])
    +
    +    yaml_text = f"""x: {"cm" if qro.units == UNITS_ON else "no units provided"}
    +y: {"cm" if qro.units == UNITS_ON else "no units provided"}
    +z: {"kev" if qro.units == UNITS_ON else "no units provided"}"""
    +
    +    spatial_units_base = conduit.Node()
    +    spatial_units_base.parse(yaml_text, "yaml")
    +    spatial_units = xray_coordsets["spatial_coords/units"]
    +
    +    info = conduit.Node()
    +    diffval = spatial_units.diff(spatial_units_base, info)
    +    TestValueEQ(testname + "_spatial_units", diffval, False);
    +    if diffval:
    +        print(info.to_yaml())
    +
    +    xlabel = xray_coordsets["spatial_coords/labels/x"];
    +    ylabel = xray_coordsets["spatial_coords/labels/y"];
    +    zlabel = xray_coordsets["spatial_coords/labels/z"];
    +    TestValueEQ(testname + "_data_XLabels", xlabel, "width")
    +    TestValueEQ(testname + "_data_YLabels", ylabel, "height")
    +    TestValueEQ(testname + "_data_ZLabels", zlabel, "energy_group")
    +
    +    xlabel = xray_coordsets["spatial_energy_reduced_coords/labels/x"];
    +    ylabel = xray_coordsets["spatial_energy_reduced_coords/labels/y"];
    +    TestValueEQ(testname + "_data_ser_XLabels", xlabel, "width")
    +    TestValueEQ(testname + "_data_ser_YLabels", ylabel, "height")
    +
    +    xlabel = xray_coordsets["spectra_coords/labels/x"];
    +    TestValueEQ(testname + "_data_spectra_XLabels", xlabel, "energy_group")
    +
    +def calc_midpoints(arr):
    +    midpts = []
    +    for i in range(0, len(arr) - 1):
    +        midpts.append((arr[i] + arr[i + 1]) / 2)
    +    return midpts
    +
    +def z_slice(zval, mesh_name):
    +    AddOperator("Slice", 1)
    +    SetActivePlots(0)
    +    SliceAtts = SliceAttributes()
    +    SliceAtts.originType = SliceAtts.Point  # Point, Intercept, Percent, Zone, Node
    +    SliceAtts.originPoint = (0, 0, zval)
    +    SliceAtts.axisType = SliceAtts.ZAxis  # XAxis, YAxis, ZAxis, Arbitrary, ThetaPhi
    +    SliceAtts.project2d = 1
    +    SliceAtts.interactive = 1
    +    SliceAtts.meshName = mesh_name
    +    SetOperatorOptions(SliceAtts, 0, 1)
    +
    +def blueprint_test(output_type, outdir, testtextnumber, testname):
    +    for i in range(0, 2):
    +        setup_bp_test()
    +
    +        # common place for args
    +        divide_emis_by_absorb = 1
    +        origin = (0.0, 2.5, 10.0)
    +        theta = 0
    +        phi = 0
    +        width = 15
    +        height = 10
    +        image_size = (300, 200)
    +
    +        energy_group_bounds      = [0, 2, 6, 8]
    +        fake_energy_group_bounds = [0, 1, 2, 3]
    +
    +        energy_group_midpts      = calc_midpoints(energy_group_bounds)
    +        fake_energy_group_midpts = calc_midpoints(fake_energy_group_bounds)
    +
    +        calltype = "legacy" if i == 0 else "modern"
    +
    +        # run query
    +        if (i == 0):
    +            # test legacy call
    +            Query("XRay Image",
    +                  output_type,
    +                  outdir,
    +                  divide_emis_by_absorb,
    +                  origin[0],
    +                  origin[1],
    +                  origin[2],
    +                  theta,
    +                  phi,
    +                  width,
    +                  height,
    +                  image_size[0],
    +                  image_size[1],
    +                  ("darr", "parr"),
    +                  energy_group_bounds)
    +        elif (i == 1):
    +            # test modern call
    +            params = dict()
    +            params["output_type"] = output_type
    +            params["output_dir"] = outdir
    +            params["divide_emis_by_absorb"] = divide_emis_by_absorb
    +            params["origin"] = origin
    +            params["theta"] = theta
    +            params["phi"] = phi
    +            params["width"] = width
    +            params["height"] = height
    +            params["image_size"] = image_size
    +            params["vars"] = ("darr", "parr")
    +            params["energy_group_bounds"] = energy_group_bounds
    +            params["spatial_units"] = "cm"
    +            params["energy_units"] = "kev"
    +            params["abs_units"] = "abs units"
    +            params["emis_units"] = "emis units"
    +            params["intensity_units"] = "intensity units"
    +            params["path_length_info"] = "path length metadata"
    +            Query("XRay Image", params)
    +
    +        # test output message
    +        s = GetQueryOutputString()
    +        TestText("xrayimage" + str(testtextnumber + i), s)
    +        teardown_bp_test()
    +
    +        # test opening the bp output and visualizing in visit
    +        conduit_db = pjoin(outdir, "output.root")
    +        OpenDatabase(conduit_db)
    +
    +        # 
    +        # image topo
    +        # 
    +
    +        AddPlot("Pseudocolor", "mesh_image_topo/intensities")
    +        DrawPlots()
    +        Test(testname + "_image_topo_intensities_" + calltype)
    +        DeleteAllPlots()
    +
    +        # test some slices
    +        for j in range(0, len(fake_energy_group_midpts)):
    +            AddPlot("Pseudocolor", "mesh_image_topo/intensities")
    +            z_slice(fake_energy_group_midpts[j], "mesh_image_topo")
    +            DrawPlots()
    +            Test(testname + "_image_topo_intensities_" + calltype + "_slice" + str(j))
    +            DeleteAllPlots()
    +
    +        AddPlot("Pseudocolor", "mesh_image_topo/path_length")
    +        DrawPlots()
    +        Test(testname + "_image_topo_path_length_" + calltype)
    +        DeleteAllPlots()
    +
    +        # test some slices
    +        for j in range(0, len(fake_energy_group_midpts)):
    +            AddPlot("Pseudocolor", "mesh_image_topo/path_length")
    +            z_slice(fake_energy_group_midpts[j], "mesh_image_topo")
    +            DrawPlots()
    +            Test(testname + "_image_topo_path_length_" + calltype + "_slice" + str(j))
    +            DeleteAllPlots()
    +
    +        # 
    +        # spatial topo
    +        # 
    +
    +        AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial")
    +        DrawPlots()
    +        Test(testname + "_spatial_topo_intensities_" + calltype)
    +        DeleteAllPlots()
    +
    +        # test some slices
    +        for j in range(0, len(energy_group_midpts)):
    +            AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial")
    +            z_slice(energy_group_midpts[j], "mesh_spatial_topo")
    +            DrawPlots()
    +            Test(testname + "_spatial_topo_intensities_" + calltype + "_slice" + str(j))
    +            DeleteAllPlots()
    +
    +        AddPlot("Pseudocolor", "mesh_spatial_topo/path_length_spatial")
    +        DrawPlots()
    +        Test(testname + "_spatial_topo_path_length_" + calltype)
    +        DeleteAllPlots()
    +
    +        # test some slices
    +        for j in range(0, len(energy_group_midpts)):
    +            AddPlot("Pseudocolor", "mesh_spatial_topo/path_length_spatial")
    +            z_slice(energy_group_midpts[j], "mesh_spatial_topo")
    +            DrawPlots()
    +            Test(testname + "_spatial_topo_path_length_" + calltype + "_slice" + str(j))
    +            DeleteAllPlots()
    +
    +        # 
    +        # spatial energy reduced topo
    +        # 
    +
    +        AddPlot("Pseudocolor", "mesh_spatial_energy_reduced_topo/intensities_spatial_energy_reduced")
    +        DrawPlots()
    +        Test(testname + "_spatial_energy_reduced_topo_intensities_" + calltype)
    +        DeleteAllPlots()
    +
    +        AddPlot("Pseudocolor", "mesh_spatial_energy_reduced_topo/path_length_spatial_energy_reduced")
    +        DrawPlots()
    +        Test(testname + "_spatial_energy_reduced_topo_path_length_" + calltype)
    +        DeleteAllPlots()
    +
    +        # 
    +        # spectra topo
    +        # 
    +
    +        AddPlot("Curve", "mesh_spectra_topo/intensities_spectra")
    +        DrawPlots()
    +        Test(testname + "_spectra_topo_intensities_" + calltype)
    +        DeleteAllPlots()
    +
    +        AddPlot("Curve", "mesh_spectra_topo/path_length_spectra")
    +        DrawPlots()
    +        Test(testname + "_spectra_topo_path_length_" + calltype)
    +        DeleteAllPlots()
    +
    +        CloseDatabase(conduit_db)
    +
    +    units = UNITS_OFF if i == 0 else UNITS_ON
    +
    +    qro = query_result_options(num_bins=3, abs_name="darr", emis_name="parr", \
    +        bin_state=ENERGY_GROUP_BOUNDS, units=units, \
    +        int_max=1.0, pl_max=892.02587890625)
    +    test_bp_data(testname + str(i), conduit_db, qro) # bounds
    +
    +    setup_bp_test()
    +
    +    Query("XRay Image", output_type, outdir, 1, 0.0, 2.5, 10.0, 0, 0, 15., 10., 300, 200, ("d", "p"), [1,2,3])
    +    qro = query_result_options(num_bins=1, abs_name="d", emis_name="p", \
    +        bin_state=ENERGY_GROUP_BOUNDS_MISMATCH, units=UNITS_OFF, \
    +        int_max=0.241531997919083, pl_max=148.670989990234)
    +    test_bp_data(testname + str(i), conduit_db, qro) # bounds mismatch
    +
    +    Query("XRay Image", output_type, outdir, 1, 0.0, 2.5, 10.0, 0, 0, 15., 10., 300, 200, ("d", "p"))
    +    qro = query_result_options(num_bins=1, abs_name="d", emis_name="p", \
    +        bin_state=NO_ENERGY_GROUP_BOUNDS, units=UNITS_OFF, \
    +        int_max=0.241531997919083, pl_max=148.670989990234)
    +    test_bp_data(testname + str(i), conduit_db, qro) # no bounds
    +
    +    teardown_bp_test()
    +
    +blueprint_test("hdf5", conduit_dir_hdf5, 32, "Blueprint_HDF5_X_Ray_Output")
    +blueprint_test("json", conduit_dir_json, 34, "Blueprint_JSON_X_Ray_Output")
    +blueprint_test("yaml", conduit_dir_yaml, 36, "Blueprint_YAML_X_Ray_Output")
    +
    +#
    +# test detector height and width are always positive in blueprint output
    +#
    +
    +setup_bp_test()
    +
    +params = GetQueryParameters("XRay Image")
    +params["image_size"] = (4, 3)
    +params["output_type"] = "hdf5"
    +params["output_dir"] = conduit_dir_detector_dims
    +params["focus"] = (0., 2.5, 10.)
    +params["perspective"] = 1
    +params["near_plane"] = -50.
    +params["far_plane"] = 50.
    +params["vars"] = ("d", "p")
    +params["energy_group_bounds"] = [3.7, 4.2];
    +params["parallel_scale"] = 5.
    +Query("XRay Image", params)
    +
    +teardown_bp_test()
    +
    +conduit_db = pjoin(conduit_dir_detector_dims, "output.root")
    +xrayout = conduit.Node()
    +conduit.relay.io.blueprint.load_mesh(xrayout, conduit_db)
    +
    +detector_width = xrayout["domain_000000/state/xray_data/detector_width"]
    +TestValueEQ("Blueprint_Positive_Detector_width", detector_width, 22.3932263237838)
    +
    +detector_height = xrayout["domain_000000/state/xray_data/detector_height"]
    +TestValueEQ("Blueprint_Positive_Detector_height", detector_height, 16.7949192423103)
    +
    +#
    +# test imaging plane topos and ray output
    +#
    +
    +def test_imaging_planes_and_rays():
    +    for i in range(0, 2):
    +        setup_bp_test()
    +
    +        params = GetQueryParameters("XRay Image")
    +        params["image_size"] = (400, 300)
    +        params["output_dir"] = conduit_dir_imaging_planes0 if i == 0 else conduit_dir_imaging_planes1
    +        params["output_type"] = "hdf5"
    +        params["focus"] = (0., 2.5, 10.)
    +        params["perspective"] = 1
    +        params["near_plane"] = -50.
    +        params["far_plane"] = 50.
    +        params["vars"] = ("d", "p")
    +        params["parallel_scale"] = 5.
    +        Query("XRay Image", params)
    +
    +        conduit_db = pjoin(conduit_dir_imaging_planes0 if i == 0 else conduit_dir_imaging_planes1, "output.root")
    +
    +        OpenDatabase(conduit_db)
    +
    +        AddPlot("Pseudocolor", "mesh_far_plane_topo/far_plane_field", 1, 1)
    +        AddPlot("Pseudocolor", "mesh_view_plane_topo/view_plane_field", 1, 1)
    +        AddPlot("Pseudocolor", "mesh_near_plane_topo/near_plane_field", 1, 1)
    +        if i == 0:
    +            AddPlot("Pseudocolor", "mesh_ray_corners_topo/ray_corners_field", 1, 1)
    +        else:
    +            AddPlot("Pseudocolor", "mesh_ray_topo/ray_field", 1, 1)
    +        DrawPlots()
    +
    +        SetActivePlots(4)
    +        PseudocolorAtts = PseudocolorAttributes()
    +        PseudocolorAtts.invertColorTable = 1
    +        SetPlotOptions(PseudocolorAtts)
    +
    +        View3DAtts = View3DAttributes()
    +        View3DAtts.viewNormal = (-0.519145, 0.199692, -0.831031)
    +        View3DAtts.focus = (0, 2.5, 10)
    +        View3DAtts.viewUp = (-0.0954901, 0.952683, 0.288577)
    +        View3DAtts.viewAngle = 30
    +        View3DAtts.parallelScale = 58.6531
    +        View3DAtts.nearPlane = -117.306
    +        View3DAtts.farPlane = 117.306
    +        SetView3D(View3DAtts)
    +
    +        Test("Blueprint_HDF5_Imaging_Planes" + str(i))
    +
    +        teardown_bp_test()
    +        CloseDatabase(conduit_db)
    +
    +test_imaging_planes_and_rays()
    +
    +def test_non_square_pixels():
    +    DeleteAllPlots()
    +    setup_bp_test()
    +
    +    params = GetQueryParameters("XRay Image")
    +
    +    params["vars"] = ("d", "p")
    +    params["image_size"] = (300, 300)
    +    params["energy_group_bounds"] = [2.7, 6.2]
    +
    +    # filename, directory, and output type choices
    +    params["output_dir"] = conduit_dir_nonsquare_pixels
    +    params["filename_scheme"] = "family" # "none", "family", or "cycle" 
    +    params["output_type"] = "hdf5"
    +
    +    params["focus"] = (0., 2.5, 10.)
    +    params["parallel_scale"] = 10.
    +    params["near_plane"] = -25.
    +    params["far_plane"] = 25.
    +    params["view_angle"] = 30
    +    params["perspective"] = 1 # 0 parallel, 1 perspective
    +
    +    # default
    +    Query("XRay Image", params)
    +    params["image_size"] = (4, 4)
    +    Query("XRay Image", params)
    +    params["image_size"] = (300, 300)
    +
    +    # view width is set but is equal to what it would have been if it were calculated
    +    params["view_width"] = 10.
    +    Query("XRay Image", params)
    +    params["image_size"] = (4, 4)
    +    Query("XRay Image", params)
    +    params["image_size"] = (300, 300)
    +
    +    # view width is twice the length of the parallel scale
    +    params["view_width"] = 20.
    +    Query("XRay Image", params)
    +    params["image_size"] = (4, 4)
    +    Query("XRay Image", params)
    +    params["image_size"] = (300, 300)
    +
    +    # view width is half the length of the parallel scale
    +    params["view_width"] = 5.
    +    Query("XRay Image", params)
    +    params["image_size"] = (4, 4)
    +    Query("XRay Image", params)
    +
    +    conduit_db = pjoin(conduit_dir_nonsquare_pixels, "output.*.root database")
    +    OpenDatabase(conduit_db)
    +
    +    # first we test the imaging planes and rays look as we expect
    +    AddPlot("Pseudocolor", "mesh_near_plane_topo/near_plane_field")
    +    AddPlot("Pseudocolor", "mesh_view_plane_topo/view_plane_field")
    +    AddPlot("Pseudocolor", "mesh_far_plane_topo/far_plane_field")
    +    DrawPlots()
    +
    +    # Make the plot of the near plane active
    +    SetActivePlots(1)
    +    PseudocolorAtts = PseudocolorAttributes()
    +    # We invert the color table so that it is a different color from the far plane
    +    PseudocolorAtts.invertColorTable = 1
    +    SetPlotOptions(PseudocolorAtts)
    +
    +    # Make the plot of the view plane active
    +    SetActivePlots(2)
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.colorTableName = "hot_and_cold"
    +    PseudocolorAtts.invertColorTable = 1
    +    PseudocolorAtts.opacityType = PseudocolorAtts.Constant  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    +    # We lower the opacity so that the view plane does not obstruct our view of anything.
    +    PseudocolorAtts.opacity = 0.7
    +    SetPlotOptions(PseudocolorAtts)
    +
    +    # leave the far plane as is
    +
    +    # add ray corners topo
    +    AddPlot("Mesh", "mesh_ray_corners_topo")
    +    DrawPlots()
    +    MeshAtts = MeshAttributes()
    +    MeshAtts.lineWidth = 1
    +    SetPlotOptions(MeshAtts)
    +
    +    # set view
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (-0.350116, 0.224905, -0.909306)
    +    View3DAtts.focus = (0, 2.5, 10)
    +    View3DAtts.viewUp = (0.0306245, 0.972977, 0.228862)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 34.3903
    +    View3DAtts.nearPlane = -68.7807
    +    View3DAtts.farPlane = 68.7807
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, 2.5, 10)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +    # take pictures of all the ray setups
    +    Test("NonSquare_Pixels_Ray_trace_setup_1")
    +    TimeSliderNextState()
    +    AddPlot("Pseudocolor", "mesh_ray_topo/ray_field")
    +    DrawPlots()
    +    Test("NonSquare_Pixels_Ray_trace_setup_2")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_Ray_trace_setup_3")
    +    TimeSliderNextState()
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_Ray_trace_setup_4")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_Ray_trace_setup_5")
    +    TimeSliderNextState()
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_Ray_trace_setup_6")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_Ray_trace_setup_7")
    +    TimeSliderNextState()
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_Ray_trace_setup_8")
    +    HideActivePlots()
    +
    +    # cleanup
    +    TimeSliderNextState()
    +    DeleteAllPlots()
    +
    +    # take pictures of the hi-res images
    +    AddPlot("Pseudocolor", "mesh_image_topo/intensities", 1, 1)
    +    DrawPlots()
    +    ResetView()
    +    AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial", 1, 1)
    +    DrawPlots()
    +    HideActivePlots()
    +    SetActivePlots((0, 1))
    +    Test("NonSquare_Pixels_hi_res_images1")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_hi_res_images2")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_hi_res_images3")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_hi_res_images4")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_hi_res_images5")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_hi_res_images6")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_hi_res_images7")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_hi_res_images8")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +
    +    # cleanup
    +    TimeSliderNextState()
    +    DeleteAllPlots()
    +
    +    # take pictures of the low res images
    +    AddPlot("Pseudocolor", "mesh_image_topo/intensities", 1, 1)
    +    DrawPlots()
    +    AddPlot("Mesh", "mesh_image_topo", 1, 1)
    +    DrawPlots()
    +    AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial", 1, 1)
    +    DrawPlots()
    +    AddPlot("Mesh", "mesh_spatial_topo", 1, 1)
    +    DrawPlots()
    +    SetActivePlots((2, 3))
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    ResetView()
    +    SetActivePlots((0, 2, 3))
    +    SetActivePlots((0, 1, 2, 3))
    +    Test("NonSquare_Pixels_low_res_mesh_plots1")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_low_res_mesh_plots2")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    ResetView()
    +    Test("NonSquare_Pixels_low_res_mesh_plots3")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_low_res_mesh_plots4")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    ResetView()
    +    Test("NonSquare_Pixels_low_res_mesh_plots5")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_low_res_mesh_plots6")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    ResetView()
    +    Test("NonSquare_Pixels_low_res_mesh_plots7")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_low_res_mesh_plots8")
    +    HideActivePlots()
    +
    +    teardown_bp_test()
    +    CloseDatabase(conduit_db)
    +
    +test_non_square_pixels()
    +
    +# 
    +# test catching failures
    +# 
    +
    +# write to dir that does not exist
    +
    +setup_bp_test()
    +Query("XRay Image", "hdf5", dir_dne, 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
    +output_obj = GetQueryOutputObject()
    +TestValueEQ("xrayimage38", output_obj, None)
    +teardown_bp_test(True)
    +
    +# os.chmod does not work on windows
    +if not platform.system() == "Windows":
    +    # write to dir w/ read only permissions
    +    setup_bp_test()
    +    Query("XRay Image", "hdf5", outdir_bad, 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
    +    output_obj = GetQueryOutputObject()
    +    TestValueEQ("xrayimage39", output_obj, None)
    +    teardown_bp_test()
    +
    +# 
    +# Test filenames and output types
    +# 
    +
    +setup_bp_test()
    +
    +DefineArrayExpression("da", "array_compose(d,d)")
    +DefineArrayExpression("pa", "array_compose(p,p)")
    +
    +def query_variety(otype, scheme, thevars, outdir):
    +    SetQueryFloatFormat("%g")
    +    Query("XRay Image",
    +        background_intensity=0,
    +        divide_emis_by_absorb=0,
    +        far_plane=20,
    +        filename_scheme=scheme,
    +        family_files=0, # this is to test that family_files is ignored when filename_scheme is set
    +        focus=(0, 0, 0),
    +        image_pan=(0, 0),
    +        image_size=(3, 3),
    +        image_zoom=1,
    +        near_plane=-20,
    +        normal=(0, 0, 1),
    +        output_dir=outdir,
    +        output_ray_bounds=0,
    +        output_type=otype,
    +        parallel_scale=10,
    +        perspective=0,
    +        view_angle=30,
    +        view_up=(0, 1, 0),
    +        vars=thevars)
    +    return GetQueryOutputObject()
    +
    +def query_family_backwards_compat(family, thevars, outdir):
    +    SetQueryFloatFormat("%g")
    +    Query("XRay Image",
    +        background_intensity=0,
    +        divide_emis_by_absorb=0,
    +        far_plane=20,
    +        family_files=family,
    +        focus=(0, 0, 0),
    +        image_pan=(0, 0),
    +        image_size=(3, 3),
    +        image_zoom=1,
    +        near_plane=-20,
    +        normal=(0, 0, 1),
    +        output_dir=outdir,
    +        output_ray_bounds=0,
    +        output_type="png",
    +        parallel_scale=10,
    +        perspective=0,
    +        view_angle=30,
    +        view_up=(0, 1, 0),
    +        vars=thevars)
    +    return GetQueryOutputObject()
    +
    +filename_schemes = ["family", "family", "cycle", "none"]
    +vars_options = [("d", "p"), ("da", "pa")]
    +
    +for i in range(0, len(output_types)):
    +    outdir_set_otype = outdir_set + "_" + output_types[i]
    +    if output_types[i] == "jpeg":
    +        # create a dummy file to test the file familying
    +        open(outdir_set_otype + "/output.0000.jpg", 'w').close()
    +    info = ""
    +    for j in range(0, len(filename_schemes)):
    +        for k in range(0, len(vars_options)):
    +            info += str(query_variety(output_types[i],
    +                                      filename_schemes[j],
    +                                      vars_options[k],
    +                                      outdir_set_otype)) + "\n"
    +    info += str(sorted(os.listdir(outdir_set_otype))) + "\n"
    +    TestText("Test_filenames_for_" + output_types[i] + "_outputs", info)
    +
    +# test backwards compatibility with family_files option
    +for i in range(0, len(family_options)):
    +    outdir_set_family = outdir_set + "_family_" + str(family_options[i])
    +    info = ""
    +    for j in range(0, len(vars_options)):
    +        info += str(query_family_backwards_compat(family_options[i],
    +                                                  vars_options[j],
    +                                                  outdir_set_family)) + "\n"
    +    info += str(sorted(os.listdir(outdir_set_family))) + "\n"
    +    TestText("Test_filenames_for_family" + str(family_options[i]) + "_outputs", info)
    +
    +#
    +# Test that we get decent error messages for common cases
    +#
    +import numpy
    +
    +nporig = numpy.array([0.0, 2.5, 10.0])
    +
    +params = dict(output_type=1, output_dir=".", divide_emis_by_absorb=1, \
    +    origin=nporig, up_vector=(0, 1, 0), theta=0, phi=0, \
    +    width = 10., height=10., image_size=(300, 300), vars=("da", "pa"))
    +try:
    +    Query("XRay Image", params)
    +except (visit.VisItException, VisItException) as e:
    +    if '"origin"' in e.args[0] and "position 4" in e.args[0] and "type numpy.ndarray" in e.args[0]:
    +        TestPOA('detect and warn numpy array as query param')
    +    else:
    +        TestFOA('detect and warn numpy array as query param', LINE())
    +    pass
    +except:
    +    TestFOA('detect and warn numpy array as query param', LINE())
    +    pass
    +
    +params = dict(output_type=1, output_dir=".", divide_emis_by_absorb=1, \
    +    origin=nporig.tolist(), up_vector=(0, 1, 0), theta=0, phi=0, \
    +    width = 10., height=10., image_size=(300, 300), vars=("da", "pa"))
    +try:
    +    Query("XRay Image", params)
    +    TestPOA('numpy array converted to list works as query param')
    +except:
    +    TestFOA('numpy array converted to list works as query param', LINE())
    +    pass
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_cl_args.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_cl_args.html new file mode 100644 index 000000000..ccc30cb5e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_cl_args.html @@ -0,0 +1,44 @@ + +Results for quickrecipes/cl_args.py + +

    Results of VisIt Regression Test - quickrecipes/cl_args

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    handling command line arguments errors
     "" .eq. "" : True
    handling command line arguments no exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_cl_args_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_cl_args_py.html new file mode 100644 index 000000000..87c81f68c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_cl_args_py.html @@ -0,0 +1,30 @@ +quickrecipes/cl_args.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def handling_command_line_arguments():
    +
    +  try:
    +    # handling command line arguments {
    +    import sys
    +    print(Argv)
    +    print(sys.argv)
    +    # handling command line arguments }
    +    TestValueEQ('handling command line arguments errors',GetLastError(),'')
    +    TestPOA('handling command line arguments no exceptions')
    +  except Exception as inst:
    +    TestFOA('handling command line argumentts exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +handling_command_line_arguments()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_colortables.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_colortables.html new file mode 100644 index 000000000..079c31d4d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_colortables.html @@ -0,0 +1,72 @@ + +Results for quickrecipes/colortables.py + +

    Results of VisIt Regression Test - quickrecipes/colortables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    standard_hot_table0.000.00
    modified_hot_table_10.000.00
    modified_hot_table_20.000.00
    hot20.000.00
    hot30.000.00
    rainbow_continuous0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_colortables_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_colortables_py.html new file mode 100644 index 000000000..6f9694d5a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_colortables_py.html @@ -0,0 +1,217 @@ +quickrecipes/colortables.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  colortables.py
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       March 30, 2022
    +#
    +#  Modificatons:
    +#    Justin Privitera, Wed Aug  3 19:46:13 PDT 2022
    +#    Made changes to reflect the fact that built-in tables cannot be edited.
    +#
    +#    Mark C. Miller, Mon Dec 12 19:02:35 PST 2022
    +#    Add introspecting block
    +# ----------------------------------------------------------------------------
    +
    +
    +# NOTE: Sections of this test file are 'literalinclude'd in quickrecipes.rst.
    +# After modifying this file, ensure the proper content is still displayed in the doc.
    +
    +# comments of the form '# sometext {' and '# sometext }' bracket the sections
    +# that are 'literalinclude'd in quickrecipes.rst.
    +
    +def introspectingColorTable():
    +
    +    # introspectingColorTable {
    +    hotCT = GetColorTable("hot")
    +    print(hotCT)
    +    # results of print
    +    #    GetControlPoints(0).colors = (0, 0, 255, 255)
    +    #    GetControlPoints(0).position = 0
    +    #    GetControlPoints(1).colors = (0, 255, 255, 255)
    +    #    GetControlPoints(1).position = 0.25
    +    #    GetControlPoints(2).colors = (0, 255, 0, 255)
    +    #    GetControlPoints(2).position = 0.5
    +    #    GetControlPoints(3).colors = (255, 255, 0, 255)
    +    #    GetControlPoints(3).position = 0.75
    +    #    GetControlPoints(4).colors = (255, 0, 0, 255)
    +    #    GetControlPoints(4).position = 1
    +    #    smoothing = Linear  # NONE, Linear, CubicSpline
    +    #    equalSpacingFlag = 0
    +    #    discreteFlag = 0
    +    # introspectingColorTable }
    +
    +def modifyExistingColorTable():
    +
    +    # modifyTable1 {
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +    AddPlot("Pseudocolor", "d")
    +
    +    pc = PseudocolorAttributes()
    +    pc.centering=pc.Nodal
    +    # set color table name
    +    pc.colorTableName = "hot"
    +    SetPlotOptions(pc)
    +
    +    DrawPlots()
    +    # put the plot in full-frame mode
    +    v = GetView2D()
    +    v.fullFrameActivationMode= v.On
    +    SetView2D(v)
    +    # modifyTable1 } 
    +
    +    Test("standard_hot_table")
    +
    +    hotCTorig = GetColorTable("hot")
    +
    +    # modifyTable2 {
    +    hotCT = GetColorTable("hot")
    +
    +    # Remove a couple of control points
    +    hotCT.RemoveControlPoints(4)
    +    hotCT.RemoveControlPoints(3)
    +
    +    # We must use a different name, as VisIt will not allow overwriting of built-in color tables
    +    SetColorTable("hot_edited", hotCT)
    +
    +    # set color table name so changes to it will be reflected in plot
    +    pc.colorTableName = "hot_edited"
    +    SetPlotOptions(pc)
    +    # modifyTable2 }
    +
    +    Test("modified_hot_table_1")
    +
    +    # modifyTable3 {
    +    # Change colors
    +    hotCT.GetControlPoints(0).colors = (255,0,0,255)
    +    hotCT.GetControlPoints(1).colors = (255, 0, 255, 255)
    +    SetColorTable("hot_edited", hotCT)
    +    # modifyTable3 }
    +
    +    Test("modified_hot_table_2")
    +
    +    # modifyTable4 {
    +    # Turn on equal spacing
    +    hotCT.equalSpacingFlag = 1
    +    # Create a new color table by providing a different name
    +    SetColorTable("hot2", hotCT)
    +
    +    # tell the Pseudocolor plot to use the new color table
    +    pc.colorTableName = "hot2"
    +    SetPlotOptions(pc)
    +    # modifyTable4 }
    +
    +    Test("hot2")
    +
    +    # modifyTable5 {
    +    # Change positions so that the first and last are at the endpoints
    +    hotCT.equalSpacingFlag=0
    +    hotCT.GetControlPoints(0).position = 0
    +    hotCT.GetControlPoints(1).position =0.5
    +    hotCT.GetControlPoints(2).position = 1
    +    SetColorTable("hot3", hotCT)
    +
    +    pc.colorTableName = "hot3"
    +    SetPlotOptions(pc)
    +    # modifyTable5 }
    +
    +    Test("hot3")
    +
    +    # remove the added color tables
    +    RemoveColorTable("hot_edited")
    +    RemoveColorTable("hot2")
    +    RemoveColorTable("hot3")
    +    DeleteAllPlots()
    +
    +def createContinuous():
    +    # based on http://visitusers.org/index.php?title=Creating_a_color_table
    +
    +    # continuous1 {
    +    # create control points (red, green, blue, position).
    +    ct = ((1,0,0,0.), (1,0.8,0.,0.166), (1,1,0,0.333), (0,1,0,0.5),
    +          (0,1,1,0.666), (0,0,1,0.8333), (0.8,0.1,1,1))
    +
    +    ccpl = ColorControlPointList()
    +
    +    # add the control points to the list 
    +    for pt in ct:
    +        p = ColorControlPoint()
    +        # colors is RGBA and must be in range 0...255
    +        p.colors = (pt[0] * 255, pt[1] * 255, pt[2] * 255, 255)
    +        p.position = pt[3]
    +        ccpl.AddControlPoints(p)
    +    AddColorTable("myrainbow", ccpl)
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Pseudocolor", "speed")
    +
    +    # Make the plot use the new color table
    +    pc = PseudocolorAttributes(1)
    +    pc.colorTableName = "myrainbow"
    +    SetPlotOptions(pc)
    +
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.693476, 0.212776, 0.688344)
    +    v. viewUp = (0.161927, 0.976983, -0.138864)
    +    SetView3D(v)
    +    # continuous1 }
    +
    +    Test("rainbow_continuous")
    +
    +    RemoveColorTable("myrainbow")
    +    DeleteAllPlots()
    +
    +
    +def createDiscreteUsingVTKNamedColors():
    +    # discrete1 {
    +    try:
    +        import vtk # for vtk.vtkNamedColors
    +    except:
    +        return
    +
    +    # to see list of all color names available: 
    +    # print(vtk.vtkNamedColors.GetColorNames())
    +
    +    # choose some colors from vtk.vtkNamedColors
    +    colorNames = ["tomato", "turquoise", "van_dyke_brown", "carrot",
    +                  "royalblue", "naples_yellow_deep", "cerulean", "warm_grey",
    +                  "venetian_red", "seagreen", "sky_blue", "pink"]
    +    # Create a color control point list
    +    ccpl = ColorControlPointList()
    +    # Make it discrete
    +    ccpl.discreteFlag=1
    +    # Add color control points corresponding to color names
    +    for name in colorNames:
    +        p = ColorControlPoint()
    +        p.colors=vtk.vtkNamedColors().GetColor4ub(name)
    +        ccpl.AddControlPoints(p)
    +    # add a color table based on the color control points
    +    AddColorTable("mylevels", ccpl)
    +
    +    OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +    AddPlot("Subset", "domains")
    +    s = SubsetAttributes()
    +    s.colorType = s.ColorByColorTable
    +    s.colorTableName = "mylevels"
    +    SetPlotOptions(s)
    +    DrawPlots()
    +    # discrete1 }
    +
    +    Test("discrete_using_vtk")
    +
    +    # remove the added color tables
    +    RemoveColorTable("mylevels")
    +    DeleteAllPlots()
    +
    +def main():
    +    introspectingColorTable()
    +    modifyExistingColorTable()
    +    createContinuous()
    +    createDiscreteUsingVTKNamedColors()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_expressions.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_expressions.html new file mode 100644 index 000000000..2ddb6ad82 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_expressions.html @@ -0,0 +1,42 @@ + +Results for quickrecipes/expressions.py + +

    Results of VisIt Regression Test - quickrecipes/expressions

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    materials_to_values0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_expressions_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_expressions_py.html new file mode 100644 index 000000000..cc1bafbcd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_expressions_py.html @@ -0,0 +1,62 @@ +quickrecipes/expressions.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expressions.py
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       August 26, 2022
    +#
    +#  Modificatons:
    +#    Kathleen Biagas, Mon Sep 12, 2022
    +#    Change OpenDatabase call to use 'silo_data_path' so that the test can
    +#    run on Windows.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# NOTE: Sections of this test file are 'literalinclude'd in quickrecipes.rst.
    +# After modifying this file, ensure the proper content is still displayed in the doc.
    +
    +# comments of the form '# sometext {' and '# sometext }' bracket the sections
    +# that are 'literalinclude'd in quickrecipes.rst.
    +
    +# mapMaterialsToValues {
    +# Create an expression that maps material numbers to scalar values.
    +#
    +# var is the name of the expression.
    +# mat is the name of the material variable.
    +# mesh is the name of the mesh variable.
    +# pairs is a list of tuples of material number and scalar value.
    +# The material number of the last tuple of the list is ignored and the value
    +# will be used for all the remaining materials.
    +
    +def create_mat_value_expr(var, mat, mesh, pairs):
    +    expr=""
    +    parens=""
    +    nlist = len(pairs)
    +    ilist = 0
    +    for pair in pairs:
    +        ilist = ilist + 1
    +        parens = parens + ")"
    +        if (ilist == nlist):
    +            expr = expr + "zonal_constant(%s,%f" % (mesh, pair[1]) + parens
    +        else:
    +            expr=expr + "if(eq(dominant_mat(%s),zonal_constant(%s,%d)),zonal_constant(%s,%f)," % (mat, mesh, pair[0], mesh, pair[1])
    +
    +    DefineScalarExpression(var, expr)
    +
    +# Call the function to create the expression.
    +mat_val_pairs = [(1, 0.75), (3, 1.2), (6, 0.2), (7, 1.6), (8, 1.8), (11, 2.2), (-1, 2.5)]
    +
    +create_mat_value_expr("myvar", "mat1", "quadmesh2d", mat_val_pairs)
    +
    +# Create a pseudocolor plot of the expression.
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +AddPlot("Pseudocolor", "myvar")
    +DrawPlots()
    +# mapMaterialsToValues }
    +
    +Test("materials_to_values")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_operators.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_operators.html new file mode 100644 index 000000000..371526a48 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_operators.html @@ -0,0 +1,52 @@ + +Results for quickrecipes/operators.py + +

    Results of VisIt Regression Test - quickrecipes/operators

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    adding operators error message
     "" .eq. "" : True
    adding operators exceptions
     "True" .eq. "True" : True
    setting operator attributes error message
     "" .eq. "" : True
    setting operator attributes exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_operators_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_operators_py.html new file mode 100644 index 000000000..b27dbfd69 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_operators_py.html @@ -0,0 +1,80 @@ +quickrecipes/operators.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def adding_operators():
    +
    +  OpenDatabase(silo_data_path("globe.silo"))
    +  try:
    +    # adding operators {
    +    # Names of all available operator plugins as a python tuple
    +    x = OperatorPlugins()
    +
    +    print(x)
    +    # will produce output something like...
    +    # ('AMRStitchCell', 'AxisAlignedSlice4D', 'BoundaryOp', 'Box', 'CartographicProjection',
    +    #  'Clip', 'Cone', 'ConnectedComponents', 'CoordSwap', 'CreateBonds', 'Cylinder',
    +    #  'DataBinning', 'DeferExpression', 'Displace', 'DualMesh', 'Edge', 'Elevate',
    +    #  'EllipsoidSlice', 'Explode', 'ExternalSurface', ...
    +    #  ..., 'TriangulateRegularPoints', 'Tube')
    +
    +    # We need at least one plot that we can add operators to
    +    AddPlot("Pseudocolor", "dx")
    +    AddPlot("Mesh","mesh1")
    +
    +    # Add Isovolume and Slice operators using whatever their default attributes are.
    +    # The non-zero 2nd arg means to add the operator to all plots. If the 2nd argument
    +    # is not present or zero, it means to add the operator only to the *active* plots
    +    # (by default, the *active* plots are just the last plot added).
    +    AddOperator("Isovolume", 1)
    +    AddOperator("Slice", 1)
    +    DrawPlots()
    +    # adding operators }
    +    TestValueEQ('adding operators error message',GetLastError(),'')
    +    TestPOA('adding operators exceptions')
    +  except Exception as inst:
    +    TestFOA('adding operators exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def setting_operator_attributes():
    +
    +  try:
    +    # setting operator attributes {
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    AddOperator("Slice")
    +    s = SliceAttributes()
    +    s.originType = s.Percent
    +    s.project2d = 0
    +    SetOperatorOptions(s)
    +    DrawPlots()
    +
    +    nSteps = 20
    +    for axis in (0,1,2):
    +      s.axisType = axis
    +      for step in range(nSteps):
    +        t = float(step) / float(nSteps - 1)
    +        s.originPercent = t * 100.
    +        SetOperatorOptions(s)
    +        SaveWindow()
    +    # setting operator attributes }
    +    TestValueEQ('setting operator attributes error message',GetLastError(),'')
    +    TestPOA('setting operator attributes exceptions')
    +  except Exception as inst:
    +    TestFOA('setting operator attributes exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +adding_operators()
    +setting_operator_attributes()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_quantitative_operations.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_quantitative_operations.html new file mode 100644 index 000000000..cd9d6222f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_quantitative_operations.html @@ -0,0 +1,116 @@ + +Results for quickrecipes/quantitative_operations.py + +

    Results of VisIt Regression Test - quickrecipes/quantitative_operations

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    defining expressions error message
     "" .eq. "" : True
    defining expressions exceptions
     "True" .eq. "True" : True
    pick string
     hgslice:   = 2.472 .in. 
    +A: noise.silo +Mesh2D +Point: <-10, -7.55102> +Node: 300 +Incident Zones: 294 245 +hgslice: = 2.47203 + + (prec=5, at=86) : True
    pick string
     hgslice:   = 4.043 .in. 
    +D: noise.silo +Mesh2D +Point: <-1.83673, 1.83673> +Node: 1470 +Incident Zones: 1440 1391 1441 1392 +hgslice: = 4.04322 + + (prec=5, at=105) : True
    pick error message
     "" .eq. "" : True
    pick exceptions
     "True" .eq. "True" : True
    lineout 1 error message
     "" .eq. "" : True
    lineout 1 exceptions
     "True" .eq. "True" : True
    lineout 2 error message
     "" .eq. "" : True
    lineout 2 exceptions
     "True" .eq. "True" : True
    query error message
     "" .eq. "" : True
    query exceptions
     "True" .eq. "True" : True
    finding the min and max error message
     "" .eq. "" : True
    finding the min and max exceptions
     "True" .eq. "True" : True
    csv query over time error message
     "" .eq. "" : True
    csv query over time exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_quantitative_operations_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_quantitative_operations_py.html new file mode 100644 index 000000000..78164d36f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_quantitative_operations_py.html @@ -0,0 +1,219 @@ +quickrecipes/quantitative_operations.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def defining_expressions():
    +
    +  try:
    +    # defining expressions {
    +    # Creating a new expression
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +    DefineScalarExpression("newvar", "sin(hardyglobal) + cos(shepardglobal)")
    +    ChangeActivePlotsVar("newvar")
    +    # defining expressions }
    +    TestValueEQ('defining expressions error message',GetLastError(),'')
    +    TestPOA('defining expressions exceptions')
    +  except Exception as inst:
    +    TestFOA('defining expressions exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def pick():
    +
    +  try:
    +    # pick {
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hgslice")
    +    DrawPlots()
    +    s = []
    +    # Pick by a node id
    +    PickByNode(300)
    +    s = s + [GetPickOutput()]
    +    # Pick by a cell id
    +    PickByZone(250)
    +    s = s + [GetPickOutput()]
    +    # Pick on a cell using a 3d point
    +    Pick((-2., 2., 0.))
    +    s = s + [GetPickOutput()]
    +    # Pick on the node closest to (-2,2,0)
    +    NodePick((-2,2,0))
    +    s = s + [GetPickOutput()]
    +    # Print all pick results
    +    print(s)
    +    # Will produce output somewhat like...
    +    # ['\nA:  noise.silo\nMesh2D \nPoint: <-10, -7.55102>\nNode:...
    +    #  '\nD:  noise.silo\nMesh2D \nPoint: <-1.83673, 1.83673>\nNode:...
    +    #  ...\nhgslice:  <nodal> = 4.04322\n\n']
    +    # pick }
    +    TestValueIN('pick string',s[0],'hgslice:  <nodal> = 2.472')
    +    TestValueIN('pick string',s[3],'hgslice:  <nodal> = 4.043')
    +    TestValueEQ('pick error message',GetLastError(),'')
    +    TestPOA('pick exceptions')
    +  except Exception as inst:
    +    TestFOA('pick exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def lineout1():
    +
    +  try:
    +    # lineout 1 {
    +    p0 = (-5,-3, 0)
    +    p1 = ( 5, 8, 0)
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +    Lineout(p0, p1)
    +    # Specify 65 sample points
    +    Lineout(p0, p1, 65)
    +    # Do three variables ("default" is "hardyglobal")
    +    Lineout(p0, p1, ("default", "airVf", "radial"))
    +    # lineout 1 }
    +    TestValueEQ('lineout 1 error message',GetLastError(),'')
    +    TestPOA('lineout 1 exceptions')
    +  except Exception as inst:
    +    TestFOA('lineout 1 exception "%s"'%str(inst), LINE())
    +    pass
    +  # No cleanup because next method uses results from this
    +  # DeleteWindow()
    +  # vqr_cleanup()
    +
    +def lineout2():
    +
    +  try:
    +    # lineout 2 {
    +    # Set active window to one containing Lineout curve plots (typically #2)
    +    SetActiveWindow(2)
    +    # Get array of x,y pairs for first curve plot in window
    +    SetActivePlots(0)
    +    hg_vals = GetPlotInformation()["Curve"]
    +    # Get array of x,y pairs for second curve plot in window
    +    SetActivePlots(1)
    +    avf_vals = GetPlotInformation()["Curve"]
    +    # Get array of x,y pairs for third curve plot in window
    +    SetActivePlots(2)
    +    rad_vals = GetPlotInformation()["Curve"]
    +
    +    # Write it as CSV data to a file
    +    for i in range(int(len(hg_vals) / 2)):
    +        idx = i*2+1 # take only y-values in each array
    +        print("%g,%g,%g" % (hg_vals[idx], avf_vals[idx], rad_vals[idx]))
    +    # lineout 2 }
    +    TestValueEQ('lineout 2 error message',GetLastError(),'')
    +    TestPOA('lineout 2 exceptions')
    +  except Exception as inst:
    +    TestFOA('lineout 2 exception "%s"'%str(inst), LINE())
    +    pass
    +  DeleteWindow()
    +  vqr_cleanup()
    +
    +def query():
    +
    +  try:
    +    # query {
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +    Query("NumNodes")
    +    print("The float value is: %g" % GetQueryOutputValue())
    +    Query("NumNodes")
    +    # query }
    +    TestValueEQ('query error message',GetLastError(),'')
    +    TestPOA('query exceptions')
    +  except Exception as inst:
    +    TestFOA('query exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def finding_the_min_and_max():
    +
    +  try:
    +    # finding the min and max {
    +    # Define a helper function to get node/zone id's from query string.
    +    def GetMinMaxIds(qstr):
    +        import string
    +        s = qstr.split(' ')
    +        retval = []
    +        nextGood = 0
    +        idType = 0
    +        for token in s:
    +            if token == "(zone" or token == "(cell":
    +                idType = 1
    +                nextGood = 1
    +                continue
    +            elif token == "(node":
    +                idType = 0
    +                nextGood = 1
    +                continue
    +            if nextGood == 1:
    +                nextGood = 0
    +                retval = retval + [(idType, int(token))]
    +        return retval
    +
    +    # Set up a plot
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hgslice")
    +    DrawPlots()
    +    Query("MinMax")
    +
    +    # Do picks on the ids that were returned by MinMax.
    +    for ids in GetMinMaxIds(GetQueryOutputString()):
    +        idType = ids[0]
    +        id = ids[1]
    +        if idType == 0:
    +            PickByNode(id)
    +        else:
    +            PickByZone(id)
    +    # finding the min and max }
    +    TestValueEQ('finding the min and max error message',GetLastError(),'')
    +    TestPOA('finding the min and max exceptions')
    +  except Exception as inst:
    +    TestFOA('finding the min and max exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def csv_query_over_time():
    +
    +  try:
    +    # csv query over time {
    +    OpenDatabase("~juanita/silo/stuff/wave.visit")
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    n_time_steps = TimeSliderGetNStates()
    +    f = open('points.txt', 'w', encoding='utf-8')
    +    f.write('time, x, y, z, u, v, w\n')
    +    for time_step in range(0, n_time_steps):
    +        TimeSliderSetState(time_step)
    +        pick = PickByNode(domain=0, element=3726, vars=["u", "v", "w"])
    +        Query("Time")
    +        time = GetQueryOutputValue()
    +        f.write('%g, %g, %g, %g, %g, %g, %g\n' % (time, pick['point'][0], pick['point'][1], pick['point'][2], pick['u'], pick['v'], pick['w']))
    +    f.close()
    +    # csv query over time }
    +    TestValueEQ('csv query over time error message',GetLastError(),'')
    +    TestPOA('csv query over time exceptions')
    +  except Exception as inst:
    +    TestFOA('csv query over time exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +defining_expressions()
    +pick()
    +lineout1()
    +lineout2()
    +query()
    +finding_the_min_and_max()
    +csv_query_over_time()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_saving_images.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_saving_images.html new file mode 100644 index 000000000..99a7a7f2e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_saving_images.html @@ -0,0 +1,52 @@ + +Results for quickrecipes/saving_images.py + +

    Results of VisIt Regression Test - quickrecipes/saving_images

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    setting output image characteristics error message
     "" .eq. "" : True
    setting output image characteristics no exceptions
     "True" .eq. "True" : True
    saving an image error message
     "" .eq. "" : True
    saving an image no exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_saving_images_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_saving_images_py.html new file mode 100644 index 000000000..901f6d47b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_saving_images_py.html @@ -0,0 +1,56 @@ +quickrecipes/saving_images.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def setting_output_image_characteristics():
    +
    +  try:
    +    # setting output image characteristics {
    +    # Prepare to save a BMP file at 1024x768 resolution 
    +    s = SaveWindowAttributes()
    +    s.format = s.BMP
    +    s.fileName = 'mybmpfile'
    +    s.width, s.height = 1024,768
    +    s.screenCapture = 0
    +    SetSaveWindowAttributes(s)
    +    # Subsequent calls to SaveWindow() will use these settings
    +    # setting output image characteristics }
    +    TestValueEQ('setting output image characteristics error message',GetLastError(),'')
    +    TestPOA('setting output image characteristics no exceptions')
    +  except Exception as inst:
    +    TestFOA('setting output image characteristics exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def saving_an_image():
    +
    +  try:
    +    # saving an image {
    +    # Save images of all timesteps and add each image filename to a list.
    +    names = []
    +    for state in range(TimeSliderGetNStates()):
    +      SetTimeSliderState(state)
    +      # Save the image
    +      n = SaveWindow()
    +      names = names + [n]
    +    print(names)
    +    # saving an image }
    +    TestValueEQ('saving an image error message',GetLastError(),'')
    +    TestPOA('saving an image no exceptions')
    +  except Exception as inst:
    +    TestFOA('saving an image exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +setting_output_image_characteristics()
    +saving_an_image()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_subsetting.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_subsetting.html new file mode 100644 index 000000000..7b84087ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_subsetting.html @@ -0,0 +1,52 @@ + +Results for quickrecipes/subsetting.py + +

    Results of VisIt Regression Test - quickrecipes/subsetting

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    turning off domains error message
     "" .eq. "" : True
    turning off domains exceptions
     "True" .eq. "True" : True
    turning off materials error message
     "" .eq. "" : True
    turning off materials exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_subsetting_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_subsetting_py.html new file mode 100644 index 000000000..9ae01e78b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_subsetting_py.html @@ -0,0 +1,67 @@ +quickrecipes/subsetting.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def turning_off_domains():
    +
    +  try:
    +    # turning off domains {
    +    OpenDatabase("~juanita/silo/stuff/multi_rect2d.silo")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    # Turning off every other domain
    +    d = GetDomains()
    +    i = 0
    +    for dom in d:
    +        if i%2:
    +            TurnDomainsOff(dom)
    +        i += 1
    +
    +    # Turn all domains off
    +    TurnDomainsOff()
    +
    +    # Turn on domains 3,5,7
    +    TurnDomainsOn((d[3], d[5], d[7]))
    +
    +    # turning off domains }
    +    TestValueEQ('turning off domains error message',GetLastError(),'')
    +    TestPOA('turning off domains exceptions')
    +  except Exception as inst:
    +    TestFOA('turning off domains exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def turning_off_materials():
    +
    +  try:
    +    # turning off materials {
    +    OpenDatabase("~juanita/silo/stuff/multi_rect2d.silo")
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +    # Get the material names 
    +    GetMaterials()
    +    # GetMaterials() will return a tuple of material names such as
    +    #     ('1', '2', '3')
    +    # Turn off material with name "2"
    +    TurnMaterialsOff("2")
    +    # turning off materials }
    +    TestValueEQ('turning off materials error message',GetLastError(),'')
    +    TestPOA('turning off materials exceptions')
    +  except Exception as inst:
    +    TestFOA('turning off domains exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +turning_off_domains()
    +turning_off_materials()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_view.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_view.html new file mode 100644 index 000000000..14e751912 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_view.html @@ -0,0 +1,60 @@ + +Results for quickrecipes/view.py + +

    Results of VisIt Regression Test - quickrecipes/view

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    setting the 2d view error message
     "" .eq. "" : True
    setting the 2d view exceptions
     "True" .eq. "True" : True
    setting the 3d view error message
     "" .eq. "" : True
    setting the 3d view exceptions
     "True" .eq. "True" : True
    flying around plots error message
     "" .eq. "" : True
    flying around plots exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_view_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_view_py.html new file mode 100644 index 000000000..c06ecaff9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_view_py.html @@ -0,0 +1,159 @@ +quickrecipes/view.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def setting_the_2d_view():
    +
    +  try:
    +    # setting the 2d view {
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hgslice")
    +    AddPlot("Mesh", "Mesh2D")
    +    AddPlot("Label", "hgslice")
    +    DrawPlots()
    +    print("The current view is:", GetView2D())
    +    # Get an initialized 2D view object.
    +    # Note that DrawPlots() must be executed prior to getting
    +    # the view to ensure current view parameters are obtained
    +    v = GetView2D()
    +    v.windowCoords = (-7.67964, -3.21856, 2.66766, 7.87724)
    +    SetView2D(v)
    +    # setting the 2d view }
    +    TestValueEQ('setting the 2d view error message',GetLastError(),'')
    +    TestPOA('setting the 2d view exceptions')
    +  except Exception as inst:
    +    TestFOA('setting the 2d view exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def setting_the_3d_view():
    +
    +  try:
    +    # setting the 3d view {
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    AddPlot("Mesh", "Mesh")
    +    DrawPlots()
    +    # Note that DrawPlots() must be executed prior to getting
    +    # the view to ensure current view parameters are obtained
    +    v = GetView3D()
    +    print("The view is: ", v)
    +    v.viewNormal = (-0.571619, 0.405393, 0.713378)
    +    v.viewUp = (0.308049, 0.911853, -0.271346)
    +    SetView3D(v)
    +    # setting the 3d view }
    +    TestValueEQ('setting the 3d view error message',GetLastError(),'')
    +    TestPOA('setting the 3d view exceptions')
    +  except Exception as inst:
    +    TestFOA('setting the 3d view exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def flying_around_plots():
    +
    +  try:
    +    # flying around plots {
    +    OpenDatabase("~juanita/silo/stuff/globe.silo")
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    # Create the control points for the views.
    +    c0 = View3DAttributes()
    +    c0.viewNormal = (0, 0, 1)
    +    c0.focus = (0, 0, 0)
    +    c0.viewUp = (0, 1, 0)
    +    c0.viewAngle = 30
    +    c0.parallelScale = 17.3205
    +    c0.nearPlane = 17.3205
    +    c0.farPlane = 81.9615
    +    c0.perspective = 1
    +
    +    c1 = View3DAttributes()
    +    c1.viewNormal = (-0.499159, 0.475135, 0.724629)
    +    c1.focus = (0, 0, 0)
    +    c1.viewUp = (0.196284, 0.876524, -0.439521)
    +    c1.viewAngle = 30
    +    c1.parallelScale = 14.0932
    +    c1.nearPlane = 15.276
    +    c1.farPlane = 69.917
    +    c1.perspective = 1
    +
    +    c2 = View3DAttributes()
    +    c2.viewNormal = (-0.522881, 0.831168, -0.189092)
    +    c2.focus = (0, 0, 0)
    +    c2.viewUp = (0.783763, 0.556011, 0.27671)
    +    c2.viewAngle = 30
    +    c2.parallelScale = 11.3107
    +    c2.nearPlane = 14.8914
    +    c2.farPlane = 59.5324
    +    c2.perspective = 1
    +
    +    c3 = View3DAttributes()
    +    c3.viewNormal = (-0.438771, 0.523661, -0.730246)
    +    c3.focus = (0, 0, 0)
    +    c3.viewUp = (-0.0199911, 0.80676, 0.590541)
    +    c3.viewAngle = 30
    +    c3.parallelScale = 8.28257
    +    c3.nearPlane = 3.5905
    +    c3.farPlane = 48.2315
    +    c3.perspective = 1
    +
    +    c4 = View3DAttributes()
    +    c4.viewNormal = (0.286142, -0.342802, -0.894768)
    +    c4.focus = (0, 0, 0)
    +    c4.viewUp = (-0.0382056, 0.928989, -0.36813)
    +    c4.viewAngle = 30
    +    c4.parallelScale = 10.4152
    +    c4.nearPlane = 1.5495
    +    c4.farPlane = 56.1905
    +    c4.perspective = 1
    +
    +    c5 = View3DAttributes()
    +    c5.viewNormal = (0.974296, -0.223599, -0.0274086)
    +    c5.focus = (0, 0, 0)
    +    c5.viewUp = (0.222245, 0.97394, -0.0452541)
    +    c5.viewAngle = 30
    +    c5.parallelScale = 1.1052
    +    c5.nearPlane = 24.1248
    +    c5.farPlane = 58.7658
    +    c5.perspective = 1
    +
    +    # Make the last point loop around to the first
    +    c6 = c0
    +
    +    # Create a tuple of camera values and x values. The x values
    +    # determine where in [0,1] the control points occur.
    +    cpts = (c0, c1, c2, c3, c4, c5, c6)
    +    x=[]
    +    for i in range(7):
    +        x = x + [float(i) / float(6.)]
    +
    +    # Animate the view using EvalCubicSpline.
    +    nsteps = 100
    +    for i in range(nsteps):
    +        t = float(i) / float(nsteps - 1)
    +        c = EvalCubicSpline(t, x, cpts)
    +        c.nearPlane = -34.461
    +        c.farPlane = 34.461
    +        SetView3D(c)
    +    # flying around plots }
    +    TestValueEQ('flying around plots error message',GetLastError(),'')
    +    TestPOA('flying around plots exceptions')
    +  except Exception as inst:
    +    TestFOA('flying around plots exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +setting_the_2d_view()
    +setting_the_3d_view()
    +flying_around_plots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_annotations.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_annotations.html new file mode 100644 index 000000000..01b188fcd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_annotations.html @@ -0,0 +1,76 @@ + +Results for quickrecipes/working_with_annotations.py + +

    Results of VisIt Regression Test - quickrecipes/working_with_annotations

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    using gradient background colors error message
     "" .eq. "" : True
    using gradient background colors exceptions
     "True" .eq. "True" : True
    adding a banner error message
     "" .eq. "" : True
    adding a banner exceptions
     "True" .eq. "True" : True
    adding a time slider error message
     "" .eq. "" : True
    adding a time slider exceptions
     "True" .eq. "True" : True
    adding a logo error message
     "" .eq. "" : True
    adding a logo exceptions
     "True" .eq. "True" : True
    modifying a legend error message
     "" .eq. "" : True
    modifying a legend exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_annotations_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_annotations_py.html new file mode 100644 index 000000000..492151b39 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_annotations_py.html @@ -0,0 +1,195 @@ +quickrecipes/working_with_annotations.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def using_gradient_background_colors():
    +
    +  try:
    +    # using gradient background colors {
    +    # Set a blue/black, radial, gradient background.
    +    a = AnnotationAttributes()
    +    a.backgroundMode = a.Gradient
    +    a.gradientBackgroundStyle = a.Radial
    +    a.gradientColor1 = (0,0,255,255) # Blue
    +    a.gradientColor2 = (0,0,0,255) # Black
    +    SetAnnotationAttributes(a)
    +    # using gradient background colors }
    +    TestValueEQ('using gradient background colors error message',GetLastError(),'')
    +    TestPOA('using gradient background colors exceptions')
    +  except Exception as inst:
    +    TestFOA('using gradient background colors exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def adding_a_banner():
    +
    +  try:
    +    # adding a banner {
    +    # Create a Text2D object to indicate the visualization is unclassified.
    +
    +    # Note the annoation object is added to the viewer window the moment it is created.
    +    banner = CreateAnnotationObject("Text2D")
    +
    +    # Note text is updated in the viewer window the moment it is changed.
    +    banner.text = "Unclassified"
    +
    +    banner.position = (0.37, 0.95)
    +    banner.fontBold = 1
    +
    +    # print the attributes to see what you can set in the Text2D object.
    +    print(banner)
    +    # print(banner) will print something like...
    +    #    visible = 1
    +    #    position = (0.5, 0.5)
    +    #    height = 0.03
    +    #    textColor = (0, 0, 0, 255)
    +    #    useForegroundForTextColor = 1
    +    #    text = "2D text annotation"
    +    #    fontFamily = Arial  # Arial, Courier, Times
    +    #    fontBold = 0
    +    #    fontItalic = 0
    +    #    fontShadow = 0
    +    # adding a banner }
    +    TestValueEQ('adding a banner error message',GetLastError(),'')
    +    TestPOA('adding a banner exceptions')
    +  except Exception as inst:
    +    TestFOA('adding a banner exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def adding_a_time_slider():
    +
    +  try:
    +    # adding a time slider {
    +    # Add a time slider in the lower left corner
    +    slider = CreateAnnotationObject("TimeSlider")
    +
    +    # Adjust the height. Takes effect immediately as the value is assigned.
    +    slider.height = 0.07
    +
    +    # Print members that are available in the time slider object
    +    print(slider)
    +    # will produce something like...
    +    #    visible = 1
    +    #    active = 1
    +    #    position = (0.01, 0.01)
    +    #    width = 0.4
    +    #    height = 0.05
    +    #    textColor = (0, 0, 0, 255)
    +    #    useForegroundForTextColor = 1
    +    #    startColor = (0, 255, 255, 255)
    +    #    endColor = (255, 255, 255, 153)
    +    #    text = "Time=$time"
    +    #    timeFormatString = "%g"
    +    #    timeDisplay = AllFrames  # AllFrames, FramesForPlot, StatesForPlot, UserSpecified
    +    #    percentComplete = 0
    +    #    rounded = 1
    +    #    shaded = 1
    +    # adding a time slider }
    +    TestValueEQ('adding a time slider error message',GetLastError(),'')
    +    TestPOA('adding a time slider exceptions')
    +  except Exception as inst:
    +    TestFOA('adding a time slider exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def adding_a_logo():
    +
    +  try:
    +    # adding a logo {
    +    # Incorporate LLNL logo image (llnl.jpeg) as an annotation
    +    image = CreateAnnotationObject("Image")
    +    image.image = "llnl.jpeg"
    +    image.position = (0.02, 0.02)
    +
    +    # Print the other image annotation options
    +    print(image)
    +    # Will print something like...
    +    #    visible = 1
    +    #    active = 1
    +    #    position = (0, 0)
    +    #    transparencyColor = (0, 0, 0, 255)
    +    #    useTransparencyColor = 0
    +    #    width = 100.000000
    +    #    height = 100.000000
    +    #    maintainAspectRatio = 1
    +    #    image = ("")
    +    # adding a logo }
    +    TestValueEQ('adding a logo error message',GetLastError(),'')
    +    TestPOA('adding a logo exceptions')
    +  except Exception as inst:
    +    TestFOA('adding a logo exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def modifying_a_legend():
    +
    +  try:
    +    # modifying a legend {
    +    # Open a file and make a plot
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +    # Get the legend annotation object for the Pseudocolor plot, the second
    +    # plot in the list (0-indexed).
    +    plotName = GetPlotList().GetPlots(1).plotName
    +    legend = GetAnnotationObject(plotName)
    +    # See if we can scale the legend.
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +    # the bounding box.
    +    legend.drawBoundingBox = 1
    +    legend.boundingBoxColor = (180,180,180,230)
    +    # Make it horizontal
    +    legend.orientation = legend.HorizontalBottom
    +    # moving the legend
    +    legend.managePosition = 0
    +    legend.position = (0.7,0.15)
    +    # text color
    +    InvertBackgroundColor()
    +    legend.useForegroundForTextColor = 0
    +    legend.textColor = (255, 0, 0, 255)
    +    # number format
    +    legend.numberFormat = "%1.4e"
    +    # the font.
    +    legend.fontFamily = legend.Arial
    +    legend.fontBold = 1
    +    legend.fontItalic = 1
    +    # turning off the labels.
    +    legend.fontItalic = 0
    +    legend.drawLabels = 0
    +    legend.drawMinMax = 0
    +    # turning off the title.
    +    legend.drawTitle = 0
    +    # Use user-supplied labels, rather than numeric values.
    +    legend.controlTicks=0
    +    legend.drawLabels = legend.Labels
    +    # suppliedLabels must be strings, only valid when controlTicks is 0
    +    legend.suppliedLabels=("A", "B", "C", "D", "E")
    +    # Give the legend a custom title
    +    legend.useCustomTitle=1
    +    legend.customTitle="my custom title"
    +    # modifying a legend }
    +    TestValueEQ('modifying a legend error message',GetLastError(),'')
    +    TestPOA('modifying a legend exceptions')
    +  except Exception as inst:
    +    TestFOA('modifying a legend exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +using_gradient_background_colors()
    +adding_a_banner()
    +adding_a_time_slider()
    +adding_a_logo()
    +modifying_a_legend()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_dbs.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_dbs.html new file mode 100644 index 000000000..30e7d96b6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_dbs.html @@ -0,0 +1,68 @@ + +Results for quickrecipes/working_with_dbs.py + +

    Results of VisIt Regression Test - quickrecipes/working_with_dbs

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    opening a database error message
     "" .eq. "" : True
    opening a database no exceptions
     "True" .eq. "True" : True
    opening a database at specific time error message
     "" .eq. "" : True
    opening a database at specific time no exceptions
     "True" .eq. "True" : True
    opening a virtual database error message
     "" .eq. "" : True
    opening a virtual database no exceptions
     "True" .eq. "True" : True
    opening a remote database error message
     "" .eq. "" : True
    opening a remote database no exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_dbs_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_dbs_py.html new file mode 100644 index 000000000..04f452a30 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_dbs_py.html @@ -0,0 +1,78 @@ +quickrecipes/working_with_dbs.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def opening_a_database():
    +
    +  try:
    +    # opening a database {
    +    # Open a database (no time specified defaults to time state 0)
    +    OpenDatabase("/Users/amina/data/pdb_test_data/allinone00.pdb")
    +    # opening a database }
    +    TestValueEQ('opening a database error message',GetLastError(),'')
    +    TestPOA('opening a database no exceptions')
    +  except Exception as inst:
    +    TestFOA('opening a database exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def opening_a_database_at_specific_time():
    +
    +  try:
    +    # opening a database at specific time {
    +    # Open a database at a specific time state to pick up transient variables
    +    OpenDatabase("/Users/amina/data/pdb_test_data/allinone00.pdb", 17)
    +    # opening a database at specific time }
    +    TestValueEQ('opening a database at specific time error message',GetLastError(),'')
    +    TestPOA('opening a database at specific time no exceptions')
    +  except Exception as inst:
    +    TestFOA('opening a database at specific time exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def opening_a_virtual_database():
    +
    +  try:
    +    # opening a virtual database {
    +    # Opening just one file, the first, in series wave0000.silo, wave0010.silo, ...
    +    OpenDatabase("~juanita/silo/stuff/wave0000.silo")
    +
    +    # Opening a virtual database representing all available states.
    +    OpenDatabase("~juanita/silo/stuff/wave*.silo database")
    +    # opening a virtual database }
    +    TestValueEQ('opening a virtual database error message',GetLastError(),'')
    +    TestPOA('opening a virtual database no exceptions')
    +  except Exception as inst:
    +    TestFOA('opening a virtual database exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def opening_a_remote_database():
    +
    +  try:
    +    # opening a remote database {
    +    # Opening a file on a remote computer by giving a host name
    +    # Also, open the database to a later time slice (17)
    +    OpenDatabase("thunder:~juanita/silo/stuff/wave.visit", 17)
    +    # opening a remote database }
    +    TestValueEQ('opening a remote database error message',GetLastError(),'')
    +    TestPOA('opening a remote database no exceptions')
    +  except Exception as inst:
    +    TestFOA('opening a remote database exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +opening_a_database()
    +opening_a_database_at_specific_time()
    +opening_a_virtual_database()
    +opening_a_remote_database()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_plots.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_plots.html new file mode 100644 index 000000000..49cc6a071 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_plots.html @@ -0,0 +1,76 @@ + +Results for quickrecipes/working_with_plots.py + +

    Results of VisIt Regression Test - quickrecipes/working_with_plots

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    creating a plot error message
     "" .eq. "" : True
    creating a plot exceptions
     "True" .eq. "True" : True
    plotting materials error message
     "" .eq. "" : True
    plotting materials exceptions
     "True" .eq. "True" : True
    setting plot attributes message
     "" .eq. "" : True
    setting plot attributes exceptions
     "True" .eq. "True" : True
    working with multiple plots error message
     "" .eq. "" : True
    working with multiple plots exceptions
     "True" .eq. "True" : True
    plots in the error state error message
     "" .eq. "" : True
    plots in the error state exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_plots_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_plots_py.html new file mode 100644 index 000000000..b3af10775 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/quickrecipes_working_with_plots_py.html @@ -0,0 +1,196 @@ +quickrecipes/working_with_plots.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def creating_a_plot():
    +
    +  OpenDatabase(silo_data_path("wave.visit"))
    +  try:
    +    # creating a plot {
    +    # Names of all available plot plugins as a python tuple
    +    x = PlotPlugins()
    +
    +    # print(x) will produce something like...
    +    #     ('Boundary', 'Contour', 'Curve', 'FilledBoundary', 'Histogram',
    +    #     'Label', 'Mesh', 'Molecule', 'MultiCurve', 'ParallelCoordinates',
    +    #     'Pseudocolor', 'Scatter', 'Spreadsheet', 'Subset', 'Tensor',
    +    #     'Truecolor', 'Vector', 'Volume')
    +    print(x)
    +
    +    # Create plots with AddPlot(<plot-plugin-name>,<database-variable-name>)
    +    AddPlot("Pseudocolor", "pressure")
    +    AddPlot("Mesh", "quadmesh")
    +
    +    # Draw the plots
    +    DrawPlots()
    +    # creating a plot }
    +    TestValueEQ('creating a plot error message',GetLastError(),'')
    +    TestPOA('creating a plot exceptions')
    +  except Exception as inst:
    +    TestFOA('creating a plot exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def plotting_materials():
    +
    +  OpenDatabase(silo_data_path("globe.silo"))
    +  try:
    +    # plotting materials {
    +    # Plot material boundaries
    +    AddPlot("Boundary", "mat1")
    +    # Plot materials
    +    AddPlot("FilledBoundary", "mat1")
    +    # plotting materials }
    +    TestValueEQ('plotting materials error message',GetLastError(),'')
    +    TestPOA('plotting materials exceptions')
    +  except Exception as inst:
    +    TestFOA('plotting materials exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def setting_plot_attributes():
    +
    +  OpenDatabase(silo_data_path("wave.visit"))
    +  try:
    +    # setting plot attributes {
    +    # Creating a Pseudocolor plot and setting min/max values.
    +    AddPlot("Pseudocolor", "pressure")
    +    p = PseudocolorAttributes()
    +
    +    # print p to find the names of members you want to change
    +    #
    +    # print(p) will produce output somewhat like...
    +    #     scaling = Linear  # Linear, Log, Skew
    +    #     skewFactor = 1
    +    #     limitsMode = OriginalData  # OriginalData, ActualData
    +    #     minFlag = 0
    +    #     min = 0
    +    #     useBelowMinColor = 0
    +    #     belowMinColor = (0, 0, 0, 255)
    +    #     maxFlag = 0
    +    #     max = 1
    +    #     .
    +    #     .
    +    #     .
    +    print(p)
    +
    +    # Set the min/max values
    +    p.min, p.minFlag = 0.0, 1
    +    p.max, p.maxFlag = 10.0, 1
    +    SetPlotOptions(p)
    +    # setting plot attributes }
    +    TestValueEQ('setting plot attributes message',GetLastError(),'')
    +    TestPOA('setting plot attributes exceptions')
    +  except Exception as inst:
    +    TestFOA('setting plot attributes exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def working_with_multiple_plots():
    +
    +  OpenDatabase(silo_data_path("tire.silo"))
    +  try:
    +    # working with multiple plots {
    +
    +    # Create more than 1 plot of the same type
    +    AddPlot("Pseudocolor", "pressure")
    +    AddPlot("Pseudocolor", "temperature")
    +
    +    # List the plots. The second plot should be active.
    +    ListPlots()
    +
    +    # The output from ListPlots() will look something like...
    +    #     Plot[0]|id=5;type="Pseudocolor";database="localhost:/Users/miller86/visit/visit/data/silo_hdf5_test_data/tire.silo";
    +    #         var=pressure;active=0;hidden=0;framerange=(0, 0);keyframes={0};database keyframes={0};operators={};
    +    #         activeOperator=-1
    +    #     Plot[1]|id=6;type="Pseudocolor";database="localhost:/Users/miller86/visit/visit/data/silo_hdf5_test_data/tire.silo";
    +    #         var=temperature;active=1;hidden=0;framerange=(0, 0);keyframes={0};database keyframes={0};operators={};
    +    #         activeOperator=-1
    +    # Note that active=1 for Plot[1] meaning plot #1 is the active plot
    +
    +    # Draw the plots
    +    DrawPlots()
    +
    +    # Hide the first plot
    +    SetActivePlots(0) # makes plot 0 the active plot
    +    HideActivePlots()
    +
    +    # Set both plots' color table to "hot"
    +    p = PseudocolorAttributes()
    +    p.colorTableName = "hot"
    +    SetActivePlots((0,1)) # makes both plots active
    +    SetPlotOptions(p)
    +
    +    # Show the first plot again.
    +    SetActivePlots(0)
    +    HideActivePlots()
    +
    +    # Delete the second plot
    +    SetActivePlots(1)
    +    DeleteActivePlots()
    +    ListPlots()
    +
    +    # working with multiple plots }
    +    TestValueEQ('working with multiple plots error message',GetLastError(),'')
    +    TestPOA('working with multiple plots exceptions')
    +  except Exception as inst:
    +    TestFOA('working with multiple plots exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +  CloseDatabase(silo_data_path("tire.silo"))
    +
    +def plots_in_the_error_state():
    +
    +  try:
    +    # plots in the error state {
    +
    +    # Open the database at state 20 and add plots for "pressure" and "transient".
    +    # "transient" variable exists only in states 18...51.
    +    OpenDatabase(silo_data_path("wave.visit"),20)
    +    AddPlot("Pseudocolor","pressure")
    +    AddPlot("Pseudocolor","transient")
    +    DrawPlots()
    +
    +    # Start saving images from every 10th state starting at state 20 
    +    # but take care to clean up when we get an error.
    +    for state in range(20,TimeSliderGetNStates(),10):
    +
    +        TimeSliderSetState(state)
    +
    +        if DrawPlots() == 0:
    +
    +            # Find plot(s) in error state and remove them
    +            pl = GetPlotList()
    +            for i in range(pl.GetNumPlots()):
    +                if pl.GetPlots(i).stateType == pl.GetPlots(i).Error:
    +                    SetActivePlots((i,))
    +                    DeleteActivePlots()
    +
    +            # Clear the last error message
    +            GetLastError(1)
    +
    +        SaveWindow()
    +
    +    # plots in the error state }
    +    TestValueEQ('plots in the error state error message',GetLastError(),'')
    +    TestPOA('plots in the error state exceptions')
    +  except Exception as inst:
    +    TestFOA('plots in the error state exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +creating_a_plot()
    +plotting_materials()
    +setting_plot_attributes()
    +working_with_multiple_plots()
    +plots_in_the_error_state()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_annotation.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_annotation.html new file mode 100644 index 000000000..537bc6606 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_annotation.html @@ -0,0 +1,294 @@ + +Results for rendering/annotation.py + +

    Results of VisIt Regression Test - rendering/annotation

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    annot_010.000.00
    annot_020.000.00
    annot_030.000.00
    annot_040.000.00
    annot_050.000.00
    annot2d_010.000.00
    annot2d_020.000.00
    annot2d_030.000.00
    annot2d_040.000.00
    annot2d_050.000.00
    annot2d_060.000.00
    annot2d_070.000.00
    annot2d_080.000.00
    annot2d_090.000.00
    annot2d_100.000.00
    annot2d_110.000.00
    annot2d_120.000.00
    annot2d_130.000.00
    annot2d_140.000.00
    annot2d_150.000.00
    annot2d_160.000.00
    annot2d_170.000.00
    annot2d_180.000.00
    annot2d_190.000.00
    annot2d_200.000.00
    annot2d_210.000.00
    annot2d_220.000.00
    annot2d_230.000.00
    annot2d_240.000.00
    annot2d_250.000.00
    annot2d_260.000.00
    annot2d_270.000.00
    annot3d_010.000.00
    annot3d_020.000.00
    annot3d_030.000.00
    annot3d_040.000.00
    annot3d_050.000.00
    annot3d_060.000.00
    annot3d_070.000.00
    annot3d_080.000.00
    annot3d_090.000.00
    annot3d_100.000.00
    annot3d_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_annotation_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_annotation_py.html new file mode 100644 index 000000000..730386160 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_annotation_py.html @@ -0,0 +1,464 @@ +rendering/annotation.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  annotation.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc, subset
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Jun 3 13:25:18 PST 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Jul 18 10:33:07 PDT 2002
    +#    Added test for combinations of ticks/labels/gridlines to ensure
    +#    that they all play together nicely.  Removed test of userInfo, as it will
    +#    always have a different timestamp than the baseline image.
    +#
    +#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002 
    +#    Changed the variable format for SubsetPlots, to reflect new interface
    +#    which allows subsets of groups. 
    +#
    +#    Eric Brugger, Mon Nov 11 14:09:08 PST 2002
    +#    Changed the test suite extensively since the 2d annotations were
    +#    enhanced significantly and the 3d annotation field names were changed
    +#    to match.
    +#
    +#    Hank Childs, Tue Nov 19 15:45:12 PST 2002
    +#    Changed Aslice to Slice to account for interface change in slicing.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from Subset plots.
    +#
    +#    Eric Brugger, Tue Nov 25 15:12:15 PST 2003
    +#    Added tests for axis labeling with narrow 2d windows.
    +#
    +#    Kathleen Bonnell, Wed May  5 08:11:53 PDT 2004
    +#    Modified slice atts to get same picture since defaults have changed. 
    +#
    +#    Kathleen Bonnell, Mon Sep 14 15:01:25 PDT 2009
    +#    Removed deprecated annotation settings.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Wed Jan  8 13:39:46 PST 2014
    +#    Added 2d tests 26 & 27, gridlines with a different saved window size.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +#    Alister Maguire, Mon Mar  5 14:10:23 PST 2018
    +#    Added a test for manipulating the triad attributes. 
    +#
    +#    Alister Maguire, Fri Mar  9 10:21:50 PST 2018
    +#    Now using a 'set manually' flag for the triad attribtues. 
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Slice")
    +slice = SliceAttributes()
    +slice.project2d = 1
    +slice.SetAxisType(slice.XAxis)
    +slice.SetFlip(1)
    +SetOperatorOptions(slice)
    +DrawPlots()
    +
    +# Test gradient backgrounds
    +a = GetAnnotationAttributes()
    +a.gradientColor1 = (0, 255, 255)
    +a.gradientColor2 = (0, 0, 255)
    +a.gradientBackgroundStyle = 0 # TopToBottom
    +a.backgroundMode = 1 # Gradient
    +SetAnnotationAttributes(a)
    +Test("annot_01")
    +a.gradientBackgroundStyle = 4 # Radial
    +SetAnnotationAttributes(a)
    +Test("annot_02")
    +
    +# Test setting background/foreground colors
    +a.backgroundColor = (0, 0, 0)
    +a.foregroundColor = (255, 255, 255)
    +a.backgroundMode = 0 # Solid
    +SetAnnotationAttributes(a)
    +Test("annot_03")
    +
    +# Turn off the database
    +a.databaseInfoFlag = 0
    +SetAnnotationAttributes(a)
    +Test("annot_04")
    +
    +a.databaseInfoFlag = 1
    +
    +# Turn off the legend
    +a.legendInfoFlag = 0
    +SetAnnotationAttributes(a)
    +Test("annot_05")
    +
    +a.legendInfoFlag = 1
    +
    +##
    +## Test 2D options
    +##
    +
    +# Turn off the 2D axes
    +a.axes2D.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_01")
    +
    +a.axes2D.visible = 1
    +
    +# Test 2D axis labels
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_02")
    +
    +a.axes2D.xAxis.label.visible = 1
    +a.axes2D.yAxis.label.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_03")
    +
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_04")
    +
    +a.axes2D.xAxis.label.visible = 1
    +a.axes2D.yAxis.label.visible = 1
    +
    +# Test 2D axis titles
    +a.axes2D.xAxis.title.visible = 0
    +a.axes2D.yAxis.title.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_05")
    +
    +a.axes2D.xAxis.title.visible = 1
    +a.axes2D.yAxis.title.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_06")
    +
    +a.axes2D.xAxis.title.visible = 0
    +a.axes2D.yAxis.title.visible = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_07")
    +
    +a.axes2D.xAxis.title.visible = 1
    +a.axes2D.yAxis.title.visible = 1
    +
    +# Test 2D gridlines
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_08")
    +
    +a.axes2D.xAxis.grid = 0
    +a.axes2D.yAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_09")
    +
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_10")
    +
    +a.axes2D.xAxis.grid = 0
    +a.axes2D.yAxis.grid = 0
    +
    +# Test auto set ticks off
    +a.axes2D.autoSetTicks = 0
    +a.axes2D.xAxis.tickMarks.majorMinimum = -8.
    +a.axes2D.xAxis.tickMarks.majorMaximum = 8.
    +a.axes2D.xAxis.tickMarks.majorSpacing = 4.
    +a.axes2D.xAxis.tickMarks.minorSpacing = 1.
    +a.axes2D.yAxis.tickMarks.majorMinimum = -9.
    +a.axes2D.yAxis.tickMarks.majorMaximum = 9.
    +a.axes2D.yAxis.tickMarks.majorSpacing = 3.
    +a.axes2D.yAxis.tickMarks.minorSpacing = 1.
    +a.axes2D.tickAxes = a.axes2D.All  # All
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_11")
    +
    +a.axes2D.autoSetTicks = 1
    +a.axes2D.tickAxes = a.axes2D.BottomLeft # BottomLeft
    +a.axes2D.xAxis.grid = 0
    +a.axes2D.yAxis.grid = 0
    +
    +# Test tick locations
    +a.axes2D.tickLocation = a.axes2D.Inside # Inside
    +SetAnnotationAttributes(a)
    +Test("annot2d_12")
    +
    +a.axes2D.tickLocation = a.axes2D.Both # Both
    +SetAnnotationAttributes(a)
    +Test("annot2d_13")
    +
    +a.axes2D.tickLocation = 1 # Outside
    +
    +# Test font sizes
    +a.axes2D.xAxis.label.font.scale = 1.5
    +a.axes2D.yAxis.label.font.scale = 1.5
    +a.axes2D.xAxis.title.font.scale = 1.5
    +a.axes2D.yAxis.title.font.scale = 1.5
    +SetAnnotationAttributes(a)
    +Test("annot2d_14")
    +
    +a.axes2D.xAxis.label.font.scale = 2
    +a.axes2D.yAxis.label.font.scale = 2
    +a.axes2D.xAxis.title.font.scale = 2
    +a.axes2D.yAxis.title.font.scale = 2
    +SetAnnotationAttributes(a)
    +Test("annot2d_15")
    +
    +a.axes2D.xAxis.label.font.scale = 1
    +a.axes2D.yAxis.label.font.scale = 1
    +a.axes2D.xAxis.title.font.scale = 1
    +a.axes2D.yAxis.title.font.scale = 1
    +
    +# Test labeling locations
    +a.axes2D.tickAxes = a.axes2D.Off
    +SetAnnotationAttributes(a)
    +Test("annot2d_16")
    +
    +a.axes2D.tickAxes = a.axes2D.Bottom
    +SetAnnotationAttributes(a)
    +Test("annot2d_17")
    +
    +a.axes2D.tickAxes = a.axes2D.Left
    +SetAnnotationAttributes(a)
    +Test("annot2d_18")
    +
    +a.axes2D.tickAxes = a.axes2D.All
    +SetAnnotationAttributes(a)
    +Test("annot2d_19")
    +
    +a.axes2D.tickAxes = a.axes2D.BottomLeft
    +
    +# Test how the 2D flags play together
    +# Especially with gridlines on.  Changing
    +# databases so can also test that gridline
    +# length is correct in each direction.
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +ResetView()
    +
    +# Turn on y axis labels, x grid lines
    +# and turn off ticks.
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 1
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 0
    +a.axes2D.tickAxes = a.axes2D.Off
    +SetAnnotationAttributes(a)
    +Test("annot2d_20")
    +
    +# Turn on y axis labels, bottom ticks marks,
    +# and x and y gridlines 
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 1
    +a.axes2D.tickAxes = a.axes2D.Bottom
    +a.axes2D.tickLocation = a.axes2D.Outside
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_21")
    +
    +# Test how the gridlines work by themselves 
    +# Turn off labels and ticks, 
    +a.axes2D.tickAxes = a.axes2D.Off
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_22")
    +
    +# Test the 2d axes line width.
    +a.axes2D.tickAxes = a.axes2D.BottomLeft
    +a.axes2D.tickLocation = a.axes2D.Outside
    +a.axes2D.lineWidth = 2
    +SetAnnotationAttributes(a)
    +Test("annot2d_23")
    +
    +# Test axis labeling with a narrow window.
    +a.axes2D.xAxis.label.visible = 1
    +a.axes2D.yAxis.label.visible = 1
    +a.axes2D.xAxis.grid = 0
    +a.axes2D.yAxis.grid = 0
    +a.axes2D.lineWidth = 0
    +SetAnnotationAttributes(a)
    +
    +v = View2DAttributes()
    +v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +v.windowCoords = (-4.68395, 4.89802, 2.5, 2.5001)
    +SetView2D(v)
    +Test("annot2d_24")
    +
    +v.windowCoords = (0., 0.0001, 0.216897, 4.925)
    +SetView2D(v)
    +Test("annot2d_25")
    +
    +##
    +## Gridlines with a changed window size (#1676)
    +##
    +ResetView()
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_26")
    +swa_orig = SaveWindowAttributes()
    +swa = SaveWindowAttributes()
    +swa.height = 800
    +swa.width = 600
    +swa.resConstraint = swa.NoConstraint
    +Test("annot2d_27", swa)
    +
    +##
    +## Test 3D options
    +##
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +v = View3DAttributes()
    +v.viewNormal = (-0.527602, 0.329431, 0.783014)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0.115312, 0.940986, -0.318195)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.perspective = 1
    +SetView3D(v)
    +
    +# Turn off the triad.
    +a.axes3D.visible = 1
    +a.axes3D.bboxFlag = 1
    +a.axes3D.triadFlag = 0
    +SetAnnotationAttributes(a)
    +Test("annot3d_01")
    +
    +# Turn off the bounding box
    +a.axes3D.triadFlag = 1
    +a.axes3D.bboxFlag = 0
    +SetAnnotationAttributes(a)
    +Test("annot3d_02")
    +
    +# Turn some axes off
    +a.axes3D.bboxFlag = 1
    +a.axes3D.xAxis.label.visible = 0
    +a.axes3D.yAxis.label.visible = 1
    +a.axes3D.zAxis.label.visible = 0
    +a.axes3D.xAxis.tickMarks.visible = 0
    +a.axes3D.yAxis.tickMarks.visible = 1
    +a.axes3D.zAxis.tickMarks.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot3d_03")
    +
    +# Turn on all gridlines
    +a.axes3D.xAxis.label.visible = 1
    +a.axes3D.yAxis.label.visible = 1
    +a.axes3D.zAxis.label.visible = 1
    +a.axes3D.xAxis.tickMarks.visible = 1
    +a.axes3D.yAxis.tickMarks.visible = 1
    +a.axes3D.zAxis.tickMarks.visible = 1
    +a.axes3D.xAxis.grid = 1
    +a.axes3D.yAxis.grid = 1
    +a.axes3D.zAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot3d_04")
    +
    +# Turn off titles, labels and ticks
    +# want to ensure gridlines work alone
    +a.axes3D.xAxis.label.visible = 0
    +a.axes3D.yAxis.label.visible = 0
    +a.axes3D.zAxis.label.visible = 0
    +a.axes3D.xAxis.title.visible = 0
    +a.axes3D.yAxis.title.visible = 0
    +a.axes3D.zAxis.title.visible = 0
    +a.axes3D.xAxis.tickMarks.visible = 0
    +a.axes3D.yAxis.tickMarks.visible = 0
    +a.axes3D.zAxis.tickMarks.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot3d_05")
    +
    +# Mix up which ticks, titles, labels, 
    +# or gridlines are turned on
    +a.axes3D.xAxis.label.visible = 1
    +a.axes3D.yAxis.label.visible = 0
    +a.axes3D.zAxis.label.visible = 0
    +a.axes3D.xAxis.title.visible = 0
    +a.axes3D.yAxis.title.visible = 0
    +a.axes3D.zAxis.title.visible = 1
    +a.axes3D.xAxis.tickMarks.visible = 0
    +a.axes3D.yAxis.tickMarks.visible = 1
    +a.axes3D.zAxis.tickMarks.visible = 0
    +a.axes3D.xAxis.grid = 0
    +a.axes3D.yAxis.grid = 0
    +a.axes3D.zAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot3d_06")
    +
    +a.axes3D.xAxis.label.visible = 1
    +a.axes3D.yAxis.label.visible = 1
    +a.axes3D.zAxis.label.visible = 1
    +a.axes3D.xAxis.title.visible = 1
    +a.axes3D.yAxis.title.visible = 1
    +a.axes3D.zAxis.title.visible = 1
    +a.axes3D.xAxis.tickMarks.visible = 1
    +a.axes3D.yAxis.tickMarks.visible = 1
    +a.axes3D.zAxis.tickMarks.visible = 1
    +a.axes3D.xAxis.grid = 0
    +a.axes3D.yAxis.grid = 0
    +a.axes3D.zAxis.grid = 0
    +
    +# Change the 3D axis type
    +a.axes3D.axesType = a.axes3D.StaticEdges
    +SetAnnotationAttributes(a)
    +Test("annot3d_07")
    +
    +# Change the 3D axis type
    +a.axes3D.axesType = a.axes3D.FurthestTriad
    +SetAnnotationAttributes(a)
    +Test("annot3d_08")
    +
    +# Change the 3D axis type
    +a.axes3D.axesType = a.axes3D.OutsideEdges
    +SetAnnotationAttributes(a)
    +Test("annot3d_09")
    +
    +# Change the 3D axis type
    +a.axes3D.axesType = a.axes3D.StaticTriad
    +SetAnnotationAttributes(a)
    +Test("annot3d_10")
    +
    +# Change the triad attribtues manually
    +a.axes3D.triadSetManually = 1
    +a.axes3D.triadColor = (66, 244, 215)
    +a.axes3D.triadLineWidth = 3
    +a.axes3D.triadFont = 1
    +a.axes3D.triadBold = 0
    +a.axes3D.triadItalic = 0
    +SetAnnotationAttributes(a)
    +Test("annot3d_11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axislabels.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axislabels.html new file mode 100644 index 000000000..991f0887c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axislabels.html @@ -0,0 +1,150 @@ + +Results for rendering/axislabels.py + +

    Results of VisIt Regression Test - rendering/axislabels

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    AxisLabelsLog2D_000.000.00
    AxisLabelsLog2D_010.000.00
    AxisLabelsLog2D_020.000.00
    AxisLabelsLog2D_030.000.00
    AxisLabelsLog2D_040.000.00
    AxisLabelsLog2D_050.000.00
    AxisLabelsLog2D_060.000.00
    AxisLabelsLog2D_070.000.00
    AxisLabelsLog2D_080.000.00
    AxisLabelsLog2D_090.000.00
    AxisLabelsLog2D_100.000.00
    AxisLabelsLog2D_110.000.00
    AxisLabelsLog2D_120.000.00
    AxisLabelsLog2D_130.000.00
    AxisLabelsLog2D_140.000.00
    AxisLabelsLog2D_150.000.00
    AxisLabelsLog2D_160.000.00
    AxisLabelsLog2D_170.000.00
    AxisLabelsLog2D_180.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axislabels_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axislabels_py.html new file mode 100644 index 000000000..6f17e9152 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axislabels_py.html @@ -0,0 +1,141 @@ +rendering/axislabels.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial, parallel, scalable
    +#  CLASSES: nightly
    +#
    +#  Test Case:  axislabels.py 
    +#
    +#  Tests:      Tests the axis labels
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Fri Dec 17 16:19:49 PST 2021
    +#
    +#  Modifications
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestLog2D():
    +    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +    swa = SaveWindowAttributes()
    +    swa.width = 600
    +    swa.height = 600
    +    swa.screenCapture = 0
    +
    +    a = GetAnnotationAttributes()
    +    a.axes2D.visible = 1
    +    SetAnnotationAttributes(a)
    +
    +    v = GetViewCurve()
    +    v.domainScale = v.LINEAR
    +    v.rangeScale = v.LOG
    +    SetViewCurve(v)
    +
    +    AddPlot("Curve", "Exponential Distribution")
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (255, 0, 0, 255)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("AxisLabelsLog2D_00", swa)
    +
    +    v.domainCoords = (1.601123657864678, 18.12971869918699)
    +    v.rangeCoords = (-7.130672752885499, 0.04760456234965804)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_01", swa)
    +
    +    v.domainCoords = (0.638075437299828, 17.16667047862213)
    +    v.rangeCoords = (-10.48436074884018, -3.306083433605024)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_02", swa)
    +
    +    v.domainCoords = (-8.812882729839023, 26.61762864576098)
    +    v.rangeCoords = (-14.58885955523007, 0.7984153727848649)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_03", swa)
    +
    +    v.domainCoords = (-37.04643791101395, 54.85118382693591)
    +    v.rangeCoords = (-26.85053625423488, 13.06009207178967)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_04", swa)
    +
    +    v.domainCoords = (-72.49874837389116, 90.30349428981312)
    +    v.rangeCoords = (-42.2472784051628, 28.4568342227176)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_05", swa)
    +
    +    v.domainCoords = (-135.3046789498164, 153.1094248657384)
    +    v.rangeCoords = (-69.52354632680284, 55.73310214435764)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_06", swa)
    +
    +    v.domainCoords = (2.563824255463072, 8.936313157343124)
    +    v.rangeCoords = (-4.113141545611167, -1.345604897058017)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_07", swa)
    +
    +    v.domainCoords = (2.581093873083343, 8.953582774963396)
    +    v.rangeCoords = (-3.296916569328953, -0.5293799207758031)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_08", swa)
    +
    +    v.domainCoords = (0.4742005234102636, 6.846689425290313)
    +    v.rangeCoords = (-3.235890402877946, -0.4683537543247966)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_09", swa)
    +
    +    v.domainCoords = (0.6728011260433816, 7.045290027923435)
    +    v.rangeCoords = (-2.461620916030798, 0.3059157325223497)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_10", swa)
    +
    +    v.domainCoords = (-3.883839369631302, 7.405413441872227)
    +    v.rangeCoords = (-2.289688582041886, 2.613171410605579)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_11", swa)
    +
    +    v.domainCoords = (-5.087720394381069, 8.572275507538203)
    +    v.rangeCoords = (-2.632794183897802, 3.299666407205631)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_12", swa)
    +
    +    v.domainCoords = (-4.680511844459359, 8.979484057459912)
    +    v.rangeCoords = (-1.569922247785004, 4.362538343318429)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_13", swa)
    +
    +    # The curve doesn't intersect the window.
    +    v.domainCoords = (-1.565282256005422, 0.4651890936507914)
    +    v.rangeCoords = (1.046155226469858, 1.927977691841728)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_14", swa)
    +
    +    # The curve doesn't intersect the window.
    +    v.domainCoords = (0.7831595313488587, 2.813630881005071)
    +    v.rangeCoords = (0.07581375463087496, 0.9576362200027442)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_15", swa)
    +
    +    v.domainCoords = (0.1079984801721102, 1.494837732720581)
    +    v.rangeCoords = (-0.7549194057961169, -0.1526227967039314)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_16", swa)
    +
    +    v.domainCoords = (7.150150811017356, 9.18062216067357)
    +    v.rangeCoords = (-3.893382901287159, -3.01156043591529)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_17", swa)
    +
    +    v.domainCoords = (8.915537392097869, 10.94600874175408)
    +    v.rangeCoords = (-4.898933596142739, -4.017111130770868)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_18", swa)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +def Main():
    +    TestLog2D()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axistitles.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axistitles.html new file mode 100644 index 000000000..d830d63f6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axistitles.html @@ -0,0 +1,120 @@ + +Results for rendering/axistitles.py + +

    Results of VisIt Regression Test - rendering/axistitles

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Setting axis titles in 2D
    axistitles_0_000.000.00
    axistitles_0_010.000.00
    axistitles_0_020.000.00
    axistitles_0_030.000.00
    axistitles_0_040.000.00
    axistitles_0_050.000.00
    Setting axis titles in 3D
    axistitles_1_000.000.00
    axistitles_1_010.000.00
    axistitles_1_020.000.00
    axistitles_1_030.000.00
    axistitles_1_040.000.00
    axistitles_1_050.000.00
    axistitles_1_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axistitles_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axistitles_py.html new file mode 100644 index 000000000..37c03212c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_axistitles_py.html @@ -0,0 +1,170 @@ +rendering/axistitles.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  axistitles.py 
    +#
    +#  Tests:      Tests setting axis titles and units.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jul 28 11:07:57 PDT 2005
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Apr 2 16:44:26 PST 2008
    +#    Modified the 3D test since setting the 3D font scale now actually works.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 11 08:36:38 PDT 2013
    +#    Remove legacy style annotation settings.
    +#
    +#    Kathleen Biagas, Wed Jul  1 17:37:57 PDT 2015
    +#    Added title color test to 2D.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def SaveTestImage(name):
    +    # Save these images somewhat larger than a regular test case image
    +    # since the images contain a lot of text.
    +    swa = SaveWindowAttributes()
    +    swa.width = 500
    +    swa.height = 500
    +    swa.screenCapture = 0
    +    Test(name, swa)
    +
    +#
    +# Test replacing 2D titles and units.
    +#
    +def Test2D():
    +    TestSection("Setting axis titles in 2D")
    +    OpenDatabase(silo_data_path("noise2d.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.viewportCoords = (0.35, 0.95, 0.15, 0.95)
    +    SetView2D(v)
    +
    +    a = GetAnnotationAttributes()
    +    a.axes2D.visible = 1
    +    a.axes2D.xAxis.label.visible = 0
    +    a.axes2D.yAxis.label.visible = 0
    +    a.axes2D.xAxis.title.visible = 1
    +    a.axes2D.yAxis.title.visible = 1
    +    a.axes2D.xAxis.title.font.scale = 2 #TitleFontHeight2D = 0.04
    +    a.axes2D.yAxis.title.font.scale = 2 #TitleFontHeight2D = 0.04
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_00")
    +
    +    a.axes2D.xAxis.title.title = "New X Title"
    +    a.axes2D.xAxis.title.userTitle = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_01")
    +
    +    a.axes2D.yAxis.title.title = "New Y Title"
    +    a.axes2D.yAxis.title.userTitle = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_02")
    +
    +    a.axes2D.xAxis.title.units = "New X Units"
    +    a.axes2D.xAxis.title.userUnits = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_03")
    +
    +    a.axes2D.yAxis.title.units = "New Y Units"
    +    a.axes2D.yAxis.title.userUnits = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_04")
    +
    +    # Test colors for title
    +
    +    a.axes2D.xAxis.title.font.useForegroundColor = 0
    +    a.axes2D.xAxis.title.font.color =(255,0,0,255)
    +    a.axes2D.yAxis.title.font.useForegroundColor = 0
    +    a.axes2D.yAxis.title.font.color =(255,0,255,255)
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_05")
    +
    +    DeleteAllPlots()
    +
    +
    +#
    +# Test replacing 3D titles and units.
    +#
    +def Test3D():
    +    TestSection("Setting axis titles in 3D")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.749133, -0.494511, 0.440747)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.588718, 0.802033, -0.10077)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    a = GetAnnotationAttributes()
    +    a.axes3D.visible = 1
    +    a.axes3D.xAxis.title.visible = 1
    +    a.axes3D.yAxis.title.visible = 1
    +    a.axes3D.zAxis.title.visible = 1
    +    a.axes3D.xAxis.title.font.scale = 2
    +    a.axes3D.yAxis.title.font.scale = 2
    +    a.axes3D.zAxis.title.font.scale = 2
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_00")
    +
    +    a.axes3D.xAxis.title.title = "New X Title"
    +    a.axes3D.xAxis.title.userTitle = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_01")
    +
    +    a.axes3D.yAxis.title.title = "New Y Title"
    +    a.axes3D.yAxis.title.userTitle = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_02")
    +
    +    a.axes3D.zAxis.title.title = "New Z Title"
    +    a.axes3D.zAxis.title.userTitle = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_03")
    +
    +    a.axes3D.xAxis.title.units = "New X Units"
    +    a.axes3D.xAxis.title.userUnits = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_04")
    +
    +    a.axes3D.yAxis.title.units = "New Y Units"
    +    a.axes3D.yAxis.title.userUnits = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_05")
    +
    +    a.axes3D.zAxis.title.units = "New Z Units"
    +    a.axes3D.zAxis.title.userUnits = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_06")
    +    DeleteAllPlots()
    +
    +def main():
    +    Test2D()
    +    Test3D()
    +
    +# Run all of the tests
    +main()
    +
    +# Exit the test
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_bigdata.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_bigdata.html new file mode 100644 index 000000000..76753e0a3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_bigdata.html @@ -0,0 +1,56 @@ + +Results for rendering/bigdata.py + +

    Results of VisIt Regression Test - rendering/bigdata

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    bigdata_01100.0057.61
    bigdata_020.000.00
    bigdata_030.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_bigdata_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_bigdata_py.html new file mode 100644 index 000000000..233eb9f32 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_bigdata_py.html @@ -0,0 +1,36 @@ +rendering/bigdata.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  bigdata.py
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 27, 2010
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleX= 1e+20
    +t.scaleY= 1e+20
    +t.scaleZ= 1e+20
    +SetOperatorOptions(t)
    +DrawPlots()
    +Test("bigdata_01")
    +
    +AddOperator("Isosurface")
    +DrawPlots()
    +Test("bigdata_02")
    +
    +v = GetView3D()
    +v.axis3DScaleFlag = 1
    +v.axis3DScales = (2,1,1)
    +SetView3D(v)
    +Test("bigdata_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_colortexture.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_colortexture.html new file mode 100644 index 000000000..47a98913c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_colortexture.html @@ -0,0 +1,66 @@ + +Results for rendering/colortexture.py + +

    Results of VisIt Regression Test - rendering/colortexture

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    colortexture_000.000.00
    colortexture_010.000.00
    colortexture_020.000.00
    colortexture_030.000.00
    colortexture_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_colortexture_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_colortexture_py.html new file mode 100644 index 000000000..56ea4b44a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_colortexture_py.html @@ -0,0 +1,86 @@ +rendering/colortexture.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  colortexture.py
    +#
    +#  Tests:      mesh      - 3D UCD
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Sep 18 13:44:14 PST 2006
    +#
    +#  Modificatons:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +def main():
    +    a = AnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +    a.foregroundColor = (255, 255, 255, 255)
    +    a.backgroundColor = (0, 0, 0, 255)
    +    SetAnnotationAttributes(a)
    +
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddPlot("Mesh", "ucdmesh2d")
    +    DrawPlots()
    +    Test("colortexture_00")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "speed")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "levels"
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +
    +    L = GetLight(0)
    +    L.enabledFlag = 1
    +    L.type = L.Camera  # Ambient, Object, Camera
    +    L.direction = (-0.131, -0.685, -0.716)
    +    L.color = (255, 255, 255, 255)
    +    L.brightness = 1
    +    SetLight(0, L)
    +
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.615147, 0.425906, 0.663475)
    +    v0.focus = (0, 0, 0)
    +    v0.viewUp = (0.235983, 0.902416, -0.360497)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 17.3205
    +    v0.nearPlane = -34.641
    +    v0.farPlane = 34.641
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.56642
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0, 0, 0)
    +    SetView3D(v0)
    +    Test("colortexture_01")
    +
    +    # Turn off color texturing
    +    SetColorTexturingEnabled(0)
    +    Test("colortexture_02")
    +
    +    # Turn color texturing back on.
    +    SetColorTexturingEnabled(1)
    +    pc.colorTableName = "hot"
    +    SetPlotOptions(pc)
    +    Test("colortexture_03")
    +
    +    # Make sure that it works with specular highlights.
    +    r = GetRenderingAttributes()
    +    r.specularFlag = 1
    +    SetRenderingAttributes(r)
    +    Test("colortexture_04")
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_compositing.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_compositing.html new file mode 100644 index 000000000..97a2c5aa6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_compositing.html @@ -0,0 +1,44 @@ + +Results for rendering/compositing.py + +

    Results of VisIt Regression Test - rendering/compositing

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    compositing_01100.0030.61
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_compositing_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_compositing_py.html new file mode 100644 index 000000000..85835739b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_compositing_py.html @@ -0,0 +1,40 @@ +rendering/compositing.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  compositing.py
    +#
    +#  Tests: postprocessing of transparent images in SR mode.
    +#
    +#  Programmer: Tom Fogal
    +#  Date:       June 3, 2009
    +#
    +# Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +ds_noise = silo_data_path("noise.silo")
    +OpenDatabase(ds_noise)
    +
    +ra = GetRenderingAttributes()
    +ra.scalableActivationMode = ra.Always
    +ra.doShadowing = 1
    +SetRenderingAttributes(ra)
    +
    +AddPlot("Contour", "hardyglobal")
    +
    +ca = ContourAttributes()
    +ca.contourNLevels = 1
    +ca.contourPercent = (0.5, 0.5)
    +ca.SetMultiColor(0, 255,0,255,128)
    +SetPlotOptions(ca)
    +
    +DrawPlots()
    +Test("compositing_01")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds_noise)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_evalcubic.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_evalcubic.html new file mode 100644 index 000000000..646f70752 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_evalcubic.html @@ -0,0 +1,66 @@ + +Results for rendering/evalcubic.py + +

    Results of VisIt Regression Test - rendering/evalcubic

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    evalcubic_00.000.00
    evalcubic_10.000.00
    evalcubic_20.000.00
    evalcubic_30.000.00
    evalcubic_40.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_evalcubic_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_evalcubic_py.html new file mode 100644 index 000000000..e2cfa0a3f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_evalcubic_py.html @@ -0,0 +1,123 @@ +rendering/evalcubic.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  evalcubic.py
    +#
    +#  Tests:      mesh      - 3D structured, single domain
    +#              plots     - pseudocolor
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Mon Feb  7 15:52:37 PST 2011
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Example from:
    +# https://visit-sphinx-github-user-manual.readthedocs.io/en/develop/tutorials/Scripting.html#animating-the-camera
    +#
    +
    +def fly():
    +    # Do a pseudocolor plot of u.
    +    DeleteAllPlots()
    +    AddPlot('Pseudocolor', 'hardyglobal')
    +    AddOperator("Clip")
    +    c = ClipAttributes()
    +    c.funcType = c.Sphere  # Plane, Sphere
    +    c.center = (0, 0, 0)
    +    c.radius = 10
    +    c.sphereInverse = 1
    +    SetOperatorOptions(c)
    +    DrawPlots()
    +    # Create the control points for the views.
    +    c0 = View3DAttributes()
    +    c0.viewNormal = (0, 0, 1)
    +    c0.focus = (0, 0, 0)
    +    c0.viewUp = (0, 1, 0)
    +    c0.viewAngle = 30
    +    c0.parallelScale = 17.3205
    +    c0.nearPlane = 17.3205
    +    c0.farPlane = 81.9615
    +    c0.perspective = 1
    +    c1 = View3DAttributes()
    +    c1.viewNormal = (-0.499159, 0.475135, 0.724629)
    +    c1.focus = (0, 0, 0)
    +    c1.viewUp = (0.196284, 0.876524, -0.439521)
    +    c1.viewAngle = 30
    +    c1.parallelScale = 14.0932
    +    c1.nearPlane = 15.276
    +    c1.farPlane = 69.917
    +    c1.perspective = 1
    +    c2 = View3DAttributes()
    +    c2.viewNormal = (-0.522881, 0.831168, -0.189092)
    +    c2.focus = (0, 0, 0)
    +    c2.viewUp = (0.783763, 0.556011, 0.27671)
    +    c2.viewAngle = 30
    +    c2.parallelScale = 11.3107
    +    c2.nearPlane = 14.8914
    +    c2.farPlane = 59.5324
    +    c2.perspective = 1
    +    c3 = View3DAttributes()
    +    c3.viewNormal = (-0.438771, 0.523661, -0.730246)
    +    c3.focus = (0, 0, 0)
    +    c3.viewUp = (-0.0199911, 0.80676, 0.590541)
    +    c3.viewAngle = 30
    +    c3.parallelScale = 8.28257
    +    c3.nearPlane = 3.5905
    +    c3.farPlane = 48.2315
    +    c3.perspective = 1
    +    c4 = View3DAttributes()
    +    c4.viewNormal = (0.286142, -0.342802, -0.894768)
    +    c4.focus = (0, 0, 0)
    +    c4.viewUp = (-0.0382056, 0.928989, -0.36813)
    +    c4.viewAngle = 30
    +    c4.parallelScale = 10.4152
    +    c4.nearPlane = 1.5495
    +    c4.farPlane = 56.1905
    +    c4.perspective = 1
    +    c5 = View3DAttributes()
    +    c5.viewNormal = (0.974296, -0.223599, -0.0274086)
    +    c5.focus = (0, 0, 0)
    +    c5.viewUp = (0.222245, 0.97394, -0.0452541)
    +    c5.viewAngle = 30
    +    c5.parallelScale = 1.1052
    +    c5.nearPlane = 24.1248
    +    c5.farPlane = 58.7658
    +    c5.perspective = 1
    +    c6 = c0
    +    # Create a tuple of camera values and x values. The x values are weights
    +    # that help to determine where in [0,1] the control points occur.
    +    cpts = (c0, c1, c2, c3, c4, c5, c6)
    +    x=[]
    +    for i in range(7):
    +        x = x + [float(i) / float(6.)]
    +    # Animate the camera. Note that we use the new built-in EvalCubicSpline
    +    # function which takes a t value from [0,1] a tuple of t values and a tuple
    +    # of control points. In this case, the control points are View3DAttributes
    +    # objects that we are using to animate the camera but they can be any object
    +    # that supports +, * operators.
    +    nsteps = 100
    +    for i in range(nsteps):
    +        t = float(i) / float(nsteps - 1)
    +        c = EvalCubicSpline(t, x, cpts)
    +        c.nearPlane = -34.461
    +        c.farPlane = 34.461
    +        SetView3D(c)
    +        if i == 0:
    +            Test("evalcubic_0")
    +        elif i == 24:
    +            Test("evalcubic_1")
    +        elif i == 49:
    +            Test("evalcubic_2")
    +        elif i == 74:
    +            Test("evalcubic_3")
    +        elif i == 99:
    +            Test("evalcubic_4")
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +fly()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_image.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_image.html new file mode 100644 index 000000000..62446a12c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_image.html @@ -0,0 +1,54 @@ + +Results for rendering/image.py + +

    Results of VisIt Regression Test - rendering/image

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    image000.000.00
    image010.000.00
    image020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_image_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_image_py.html new file mode 100644 index 000000000..0a83fcbf4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_image_py.html @@ -0,0 +1,46 @@ +rendering/image.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  image.py
    +#
    +#  Tests:      mesh        - 2D curvilinear, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Image
    +#
    +#  Defect ID:  None 
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       July 1, 2015
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (255, 255, 255, 255)
    +a.foregroundColor = (0, 0, 0, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and do a plot.
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Create an Image object
    +img = CreateAnnotationObject("Image")
    +img.image = data_path("Image_test_data/manhattan.jpg")
    +img.position = (0.34, 0.12)
    +Test("image00")
    +
    +img.width = 50
    +Test("image01")
    +
    +img.width = 10
    +img.position = (0.5, 0.6)
    +Test("image02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_legends.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_legends.html new file mode 100644 index 000000000..9fd064fb7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_legends.html @@ -0,0 +1,437 @@ + +Results for rendering/legends.py + +

    Results of VisIt Regression Test - rendering/legends

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Test levels legend
    legends_010.000.00
    legends_020.000.00
    legends_030.000.00
    Test legend default sizing and positioning
    legends_040.000.00
    legends_050.000.00
    legends_060.000.00
    legends_07612.0154.64
    legends_080.000.00
    Test Curve plot legend
    legends_090.000.00
    legends_100.000.00
    legends_110.000.00
    legends_120.000.00
    legends_130.000.00
    Test setting legend properties
    legends_140.000.00
    legends_150.000.00
    legends_160.000.00
    legends_170.000.00
    legends_180.000.00
    legends_190.000.00
    legends_200.000.00
    legends_210.000.00
    legends_220.000.00
    legends_230.000.00
    legends_240.000.00
    legends_250.000.00
    legends_260.000.00
    legends_270.000.00
    legends_280.000.00
    legends_290 modifications totalling 0 lines
    Test legend copying
    legends_300.000.00
    legends_310.000.00
    legends_320.000.00
    legends_330 modifications totalling 0 lines
    legends_340.000.00
    legends_350 modifications totalling 0 lines
    legends_360.000.00
    legends_370.000.00
    Test setting legend tics
    legends_380.000.00
    legends_390.000.00
    legends_400.000.00
    legends_410.000.00
    legends_420.000.00
    legends_430.000.00
    legends_440.000.00
    legends_450.000.00
    legends_460.000.00
    legends_470.000.00
    legends_480.000.00
    legends_490.000.00
    legends_500.000.00
    legends_510.000.00
    legends_520.000.00
    legends_530.000.00
    legends_540.000.00
    legends_550.000.00
    legends_560.000.00
    legends_570.000.00
    legends_580.000.00
    legends_590.000.00
    legends_600.000.00
    Test Variable legend
    legends_610.000.00
    legends_620.000.00
    legends_630.000.00
    legends_640.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_legends_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_legends_py.html new file mode 100644 index 000000000..3757172a3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_legends_py.html @@ -0,0 +1,597 @@ +rendering/legends.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  legends.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain 
    +#              plots     - subset, boundary, filledboundary
    +#              operators - none
    +#              selection - material
    +#
    +#  Defect ID:  VisIt00002740, VisIt00002737
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       December 2, 2002 
    +#
    +#  Modifications:
    +#    Brad Whitlock, Thu Dec 12 09:50:31 PDT 2002
    +#    I fixed the test so it uses the new interface for the SubsetAttributes.
    +#
    +#    Kathleen Bonnell, Fri Jul 18 14:04:19 PDT 2003 
    +#    I added tests for Boundary, FilledBoundary.
    +#
    +#    Eric Brugger, Mon Jul 21 12:14:52 PDT 2003
    +#    I added legend sizing and positioning tests.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from Subset, Boundary and Filled Boundary plots.
    +#
    +#    Kathleen Bonnell, Fri Oct 28 10:00:30 PDT 2005 
    +#    Add tests for curve plots (legends_09 ... legends_11). 
    +#
    +#    Kathleen Bonnell, Fri Oct 28 15:54:37 PDT 2005 
    +#    Add more tests for curve plots, for testing reading of TIME 
    +#    (legends_12 & legends_13). 
    +#
    +#    Brad Whitlock, Tue Nov 21 10:54:18 PDT 2006
    +#    I made it use line style enum values instead of ints so the intent
    +#    is more clear.
    +#
    +#    Brad Whitlock, Mon Mar 26 08:54:40 PDT 2007
    +#    Organized different parts of the test into functions and added a new
    +#    function that sets the properties for a legend.
    +#
    +#    Hank Childs, Sun Jan 25 15:07:31 PST 2009
    +#    Turn off minmaxLabels as well.
    +#
    +#    Kathleen Bonnell, Wed Sep 23 10:13:13 PDT 2009
    +#    Add TestLegendProperties2, to test new capability of modifiying num tics,
    +#    and setting numeric values and text labels for tics in liu of the 
    +#    automatically generated ones.
    +#
    +#    Kathleen Bonnell, Tue Oct 6 11:36:41 PDT 2009
    +#    Added test for constant variable legend. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Brad Whitlock, Mon Jan 25 15:34:23 PST 2010
    +#    I fixed a bug that made small baselines. I also increased the legend size
    +#    in some tests so it's more prominent.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset, and Subset for 
    +#    domains instead of FilledBoundary.
    +#
    +#    Eric Brugger, Wed Mar  8 16:50:08 PST 2023
    +#    Added TestVariableLegend.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Test the Filled Boundary plot with some subsets turned off, and
    +# single-color on.
    +# This test ensures that correct labels are applied to the legend.
    +def TestLevelsLegend(a):
    +    TestSection("Test levels legend")
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +    AddPlot("FilledBoundary", "mat1")
    +    TurnMaterialsOff(("2", "4"))
    +    fbAtts = FilledBoundaryAttributes()
    +    fbAtts.colorType = fbAtts.ColorBySingleColor
    +    fbAtts.singleColor = (0, 255, 255, 255)
    +    SetPlotOptions(fbAtts)
    +    DrawPlots()
    +
    +    Test("legends_01")
    +    DeleteAllPlots()
    +
    +    # Test the FilledBoundary and Boundary plots, to ensure that setting
    +    # their atts works.
    +    AddPlot("FilledBoundary", "mat1")
    +    fba = FilledBoundaryAttributes()
    +    fba.colorType = fba.ColorByMultipleColors
    +    SetPlotOptions(fba)
    +    DrawPlots()
    +    Test("legends_02")
    +    DeleteAllPlots()
    +
    +    AddPlot("Boundary", "mat1")
    +    ba = BoundaryAttributes()
    +    ba.colorType = ba.ColorByColorTable
    +    ba.colorTableName = "rainbow"
    +    SetPlotOptions(ba)
    +    DrawPlots()
    +    Test("legends_03")
    +    DeleteAllPlots()
    +
    +#
    +# Test legend sizing and positioning.
    +#
    +def TestSizeAndPosition(a):
    +    TestSection("Test legend default sizing and positioning")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +    AddPlot("Boundary", "mat1")
    +    bndAtts = BoundaryAttributes()
    +    bndAtts.colorType = bndAtts.ColorBySingleColor
    +    bndAtts.singleColor = (0, 0, 0, 255)
    +    SetPlotOptions(bndAtts)
    +    AddPlot("Contour", "p")
    +    AddPlot("Mesh", "curvmesh2d")
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +    Test("legends_04")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddPlot("Vector", "vel")
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +    Test("legends_05")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Elevate")
    +    AddPlot("Pseudocolor", "p")
    +    AddOperator("Elevate")
    +    elevate_atts = ElevateAttributes()
    +    elevate_atts.useXYLimits = elevate_atts.Never
    +    SetOperatorOptions(elevate_atts)
    +
    +    DrawPlots()
    +    Test("legends_06")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +    AddPlot("Volume", "u")
    +    DrawPlots()
    +    Test("legends_07")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +    AddPlot("Contour", "d")
    +    contourAtts = ContourAttributes()
    +    contourAtts.contourNLevels = 15
    +    SetPlotOptions(contourAtts)
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("legends_08")
    +    DeleteAllPlots()
    +
    +#
    +# TEST LEGEND FOR CURVE PLOTS
    +#
    +def TestCurveLegend(a):
    +    TestSection("Test Curve plot legend")
    +    OpenDatabase(data_path("curve_test_data/c033.curve"))
    +
    +    # Test legend on
    +    AddPlot("Curve", "parabolic")
    +    curveAtts = CurveAttributes()
    +    curveAtts.curveColorSource = curveAtts.Custom
    +    curveAtts.curveColor = (255, 0, 0, 255)
    +    curveAtts.lineWidth = 1
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    Test("legends_09")
    +
    +    # Test legend off
    +    curveAtts.showLegend = 0
    +    SetPlotOptions(curveAtts)
    +    Test("legends_10")
    +
    +    curveAtts.showLegend = 1
    +    SetPlotOptions(curveAtts)
    +
    +    # Tests multiple plots
    +    OpenDatabase(data_path("curve_test_data/c044.curve"))
    +
    +    AddPlot("Curve", "parabolic")
    +    curveAtts.curveColor = (0, 255, 0, 255)
    +    curveAtts.lineWidth = 5
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +
    +    OpenDatabase(data_path("curve_test_data/c055.curve"))
    +
    +    AddPlot("Curve", "parabolic")
    +    curveAtts.curveColor = (0, 0, 255, 255)
    +    curveAtts.lineWidth = 2
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +
    +    Test("legends_11")
    +
    +    # Add DatabaseInfo
    +    a.databaseInfoFlag = 1
    +    SetAnnotationAttributes(a)
    +    Test("legends_12")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +    AddPlot("Curve", "Laplace Distribution")
    +    curveAtts.curveColor = (0, 255, 255, 255)
    +    curveAtts.lineWidth = 0
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    Test("legends_13")
    +    DeleteAllPlots()
    +
    +    # Remove DatabaseInfo
    +    a.databaseInfoFlag = 0
    +    SetAnnotationAttributes(a)
    +
    +#
    +# Test setting legend properties. Note that we currently just test the
    +# avtVariableLegend but others work pretty much the same way.
    +#
    +def TestLegendProperties(a):
    +    TestSection("Test setting legend properties")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.778207, 0.3577, 0.516183)
    +    v0.focus = (0, 0, 0)
    +    v0.viewUp = (0.283417, 0.933512, -0.219613)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 17.3205
    +    v0.nearPlane = -34.641
    +    v0.farPlane = 34.641
    +    v0.imagePan = (0.0768749, 0.057219)
    +    v0.imageZoom = 0.863307
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0, 0, 0)
    +    SetView3D(v0)
    +    Test("legends_14")
    +
    +    # Get the plot's legend
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +
    +    # See if we can scale the legend.
    +    legend.xScale = 3.
    +    Test("legends_15")
    +    legend.yScale = 3.
    +    Test("legends_16")
    +
    +    # Test the bounding box.
    +    legend.drawBoundingBox = 1
    +    Test("legends_17")
    +    legend.boundingBoxColor = (180,180,180,230)
    +    Test("legends_18")
    +
    +    # Test moving the legend
    +    legend.managePosition = 0
    +    legend.position = (0.55,0.9)
    +    Test("legends_19")
    +
    +    # Test text color
    +    InvertBackgroundColor()
    +    Test("legends_20")
    +    InvertBackgroundColor()
    +    legend.useForegroundForTextColor = 0
    +    legend.textColor = (255, 0, 0, 255)
    +    Test("legends_21")
    +
    +    # Test number format
    +    legend.numberFormat = "%1.4e"
    +    Test("legends_22")
    +
    +    # Test the font.
    +    legend.fontFamily = legend.Courier
    +    Test("legends_23")
    +    legend.fontFamily = legend.Times
    +    Test("legends_24")
    +    legend.fontFamily = legend.Arial
    +    legend.fontBold = 1
    +    Test("legends_25")
    +    legend.fontBold = 0
    +    legend.fontItalic = 1
    +    Test("legends_26")
    +
    +    # Test turning off the labels.
    +    legend.fontItalic = 0
    +    legend.drawLabels = 0
    +    legend.drawMinMax = 0
    +    Test("legends_27")
    +
    +    # Test turning off the title.
    +    legend.drawTitle = 0
    +    Test("legends_28")
    +
    +    # Add a plot and then delete plot 0 to see that the legend disappears
    +    # in the list of annotation objects. Note that plot names are created
    +    # using an increasing integer. If this test is executed out of the order
    +    # from when it was baselined then the number will change and the test
    +    # will need to be rebaselined.
    +    text = "Before: " + str(GetAnnotationObjectNames()) + "\n"
    +    AddPlot("Mesh", "Mesh")
    +    DrawPlots()
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    text = text + "After: " + str(GetAnnotationObjectNames()) + "\n"
    +    TestText("legends_29", text)
    +    DeleteAllPlots()
    +
    +#
    +# Test how legends get copied to new windows.
    +#
    +def TestLegendCopying(a):
    +    TestSection("Test legend copying")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    # Customize the legend.
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +    legend.drawBoundingBox = 1
    +    legend.boundingBoxColor = (50,50,100,255)
    +
    +    # Create another annotation object.
    +    text2d = CreateAnnotationObject("Text2D", "text_obj")
    +    text2d.position = (0.45, 0.5)
    +    text2d.height = 0.05
    +    text2d.textColor = (255, 0, 0, 255)
    +    text2d.useForegroundForTextColor = 0
    +    text2d.text = "Text annotation"
    +    Test("legends_30")
    +
    +    # Clone the window and make sure that it has the right annotation objects
    +    # and that their properties have been inherited from window 1.
    +    CloneWindow()
    +    SetActiveWindow(2)
    +    DrawPlots()
    +    Test("legends_31")
    +    DeleteWindow()
    +
    +    # Test clone on first reference.
    +    SetCloneWindowOnFirstRef(1)
    +    AddWindow()
    +    DrawPlots()
    +    Test("legends_32")
    +    TestText("legends_33", str(GetAnnotationObjectNames()))
    +
    +    # Test it clone on first reference again via SetActiveWindow
    +    DeleteWindow()
    +    AddWindow()
    +    SetActiveWindow(2)
    +    DrawPlots()
    +    Test("legends_34")
    +    TestText("legends_35", str(GetAnnotationObjectNames()))
    +
    +    # Now that we're in window 2, delete the text object.
    +    w2text = GetAnnotationObject("text_obj")
    +    w2text.Delete()
    +    # Customize the legend in window 2 so we'll know if copying window 1's
    +    # attributes over to window 2 messed it up.
    +    legend2 = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend2.boundingBoxColor = (200,0,0,255)
    +    Test("legends_36")
    +    CopyAnnotationsToWindow(1, 2)
    +    RedrawWindow()
    +    Test("legends_37")
    +
    +    # Clean up
    +    DeleteAllPlots()
    +    DeleteWindow()
    +    text2d.Delete()
    +    GetAnnotationObject("text_obj").Delete()
    +    DeleteAllPlots()
    +
    +def TestLegendTics():
    +    TestSection("Test setting legend tics")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +
    +    # change number of ticks
    +    legend.numTicks = 3
    +    Test("legends_38")
    +
    +    # turn off use of min and max as tick values
    +    legend.minMaxInclusive = 0
    +    Test("legends_39")
    +
    +    legend.numTicks = 1
    +    Test("legends_40")
    +
    +    legend.minMaxInclusive = 1
    +    Test("legends_41")
    +
    +    legend.numTicks = 2
    +    Test("legends_42")
    +
    +    legend.minMaxInclusive = 0
    +    Test("legends_43")
    +
    +    legend.minMaxInclusive = 1
    +    # turn off automatic control of ticks so labels can be added
    +    legend.controlTicks = 0
    +    # default values should be what was calculated
    +    Test("legends_44")
    +
    +    # supply some labels
    +    legend.suppliedLabels = ("", "second", "", "fourth", "")
    +    # Turn on drawing of text labels
    +    legend.drawLabels = legend.Both
    +    Test("legends_45")
    +
    +    # only labels, no values
    +    legend.drawLabels = legend.Labels
    +    Test("legends_46")
    +
    +    # supply different values -- don't need to be in order
    +    # show that values out-of-range won't be used
    +    legend.suppliedValues = (2.2, 4.5, 3.8, 1.0, 5.7)
    +    legend.suppliedLabels = ("this", "that", "the other", "noshow1", "noshow2")
    +    legend.drawLabels = legend.Values
    +    Test("legends_47")
    +    legend.drawLabels = legend.Both
    +    Test("legends_48")
    +    legend.drawLabels = legend.Labels
    +    Test("legends_49")
    +
    +    legend.orientation = legend.HorizontalTop
    +    Test("legends_50")
    +    legend.orientation = legend.HorizontalBottom
    +    Test("legends_51")
    +    legend.orientation = legend.VerticalLeft
    +    Test("legends_52")
    +
    +    DeleteAllPlots()
    +
    +    # demonstrate adding labels to 'levels' type legends
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +
    +    legend.controlTicks = 0
    +    Test("legends_53")
    +    legend.drawLabels = legend.Both
    +    legend.suppliedLabels = ("red", "green", "blue");
    +    Test("legends_54")
    +    legend.drawLabels = legend.Labels
    +    Test("legends_55")
    +
    +    DeleteAllPlots()
    +    AddPlot("Contour", "p")
    +    contourAtts = ContourAttributes()
    +    contourAtts.contourNLevels = 6
    +    SetPlotOptions(contourAtts)
    +    DrawPlots()
    +
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +    Test("legends_56")
    +    nf = legend.numberFormat
    +    legend.numberFormat = "%# -0.2e"
    +    Test("legends_57")
    +    legend.numberFormat = nf
    +    legend.controlTicks = 0
    +    legend.drawLabels = legend.Both
    +    legend.suppliedLabels = ("one", "", "two", "", "three")
    +    Test("legends_58")
    +    legend.drawLabels = legend.Labels
    +    Test("legends_59")
    +
    +    DeleteAllPlots()
    +
    +    # test constant legend
    +    DefineScalarExpression("one", "cell_constant(<curvmesh2d>, 1)")
    +    AddPlot("Pseudocolor", "one")
    +    DrawPlots()
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +    Test("legends_60")
    +
    +    #clean up
    +    DeleteAllPlots()
    +
    +# Test the pseudocolor plot with original and actual limits.
    +# This test ensures that correct limits are displayed.
    +def TestVariableLegend():
    +    TestSection("Test Variable legend")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    pc = PseudocolorAttributes()
    +    pc.limitsMode = pc.OriginalData
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    TurnMaterialsOff("1")
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 2.0
    +    legend.yScale = 2.0
    +    Test("legends_61")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "d")
    +    pc = PseudocolorAttributes()
    +    pc.limitsMode = pc.OriginalData
    +    pc.minFlag = 1
    +    pc.min = 2.8
    +    pc.maxFlag = 1
    +    pc.max = 4.2
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    TurnMaterialsOff("1")
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 2.0
    +    legend.yScale = 2.0
    +    Test("legends_62")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "d")
    +    pc = PseudocolorAttributes()
    +    pc.limitsMode = pc.ActualData
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    TurnMaterialsOff("1")
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 2.0
    +    legend.yScale = 2.0
    +    Test("legends_63")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "d")
    +    pc = PseudocolorAttributes()
    +    pc.limitsMode = pc.ActualData
    +    pc.minFlag = 1
    +    pc.min = 2.8
    +    pc.maxFlag = 1
    +    pc.max = 4.2
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    TurnMaterialsOff("1")
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 2.0
    +    legend.yScale = 2.0
    +    Test("legends_64")
    +    DeleteAllPlots()
    +
    +def main():
    +    # Turn off all annotation except the legend.
    +    a = GetAnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +    a.legendInfoFlag = 1
    +    SetAnnotationAttributes(a)
    +
    +    TestLevelsLegend(a)
    +    TestSizeAndPosition(a)
    +    TestCurveLegend(a)
    +    TestLegendProperties(a)
    +    TestLegendCopying(a)
    +    TestLegendTics()
    +    TestVariableLegend()
    +
    +    # reset DatabaseInfo for future tests.
    +    a.databaseInfoFlag = 0
    +    SetAnnotationAttributes(a)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_lighting.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_lighting.html new file mode 100644 index 000000000..e6873e9f5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_lighting.html @@ -0,0 +1,54 @@ + +Results for rendering/lighting.py + +

    Results of VisIt Regression Test - rendering/lighting

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    lighting_010.000.00
    lighting_020.000.00
    normals_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_lighting_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_lighting_py.html new file mode 100644 index 000000000..e5df22ffb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_lighting_py.html @@ -0,0 +1,113 @@ +rendering/lighting.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lighting.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, one domain
    +#              plots     - pseudocolor
    +#              operators - slicing, elevation
    +#              selection - no
    +#
    +#  Defect ID:  8017
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 6, 2007
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Alister Maguire, Wed Mar 18 16:45:02 PDT 2020
    +#    Moved previous two tests into a function called TestBasicLighting and
    +#    added TestNormals.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def TestBasicLighting():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Slice")
    +    AddOperator("Elevate")
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (-0.58136, 0.782415, -0.223267)
    +    View3DAtts.focus = (0.5, 0.5, 0.66382)
    +    View3DAtts.viewUp = (0.259676, -0.0816327, -0.962239)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 0.728621
    +    View3DAtts.nearPlane = -1.45724
    +    View3DAtts.farPlane = 1.45724
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0.5, 0.5, 0.66382)
    +    SetView3D(View3DAtts)
    +
    +    light0 = GetLight(0)
    +    light0.enabledFlag = 1
    +    light0.type = light0.Camera  # Ambient, Object, Camera
    +    light0.direction = (0, 0, -1)
    +    light0.color = (255, 255, 255, 255)
    +    light0.brightness = 1
    +    SetLight(0, light0)
    +    light1 = GetLight(1)
    +    light1.enabledFlag = 1
    +    light1.type = light1.Ambient  # Ambient, Object, Camera
    +    light1.direction = (0, 0, -1)
    +    light1.color = (255, 255, 255, 255)
    +    light1.brightness = 0.47
    +    SetLight(1, light1)
    +
    +    # In SR mode, bug '8017 was that the ambient would get turned off on
    +    # the second save.
    +    Test("lighting_01")
    +    Test("lighting_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +def TestNormals():
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.03622833898009251, 0.7402344653499199, 0.6713720606063838)
    +    SetView3D(v)
    +
    +    light0 = GetLight(0)
    +    light0.enabledFlag = 1
    +    light0.type = light0.Camera  # Ambient, Object, Camera
    +    light0.direction = (0, 0, -1)
    +    light0.brightness = .65
    +    SetLight(0, light0)
    +    light1 = GetLight(1)
    +    light1.enabledFlag = 1
    +    light1.type = light1.Ambient  # Ambient, Object, Camera
    +    light1.direction = (0, 0, -1)
    +    light0.brightness = .65
    +    SetLight(1, light1)
    +
    +    #
    +    # In the past, our normals filter wasn't able to handle triangle strips.
    +    # This test ensures that we now can.
    +    #
    +    OpenDatabase(data_path("vtk_test_data/polyWithStrips.vtk"))
    +    AddPlot("Pseudocolor", "fooData")
    +    DrawPlots()
    +    Test("normals_00")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/polyWithStrips.vtk"))
    +
    +
    +def main():
    +    TestBasicLighting()
    +    TestNormals()
    +    Exit()
    +
    +main()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line2d.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line2d.html new file mode 100644 index 000000000..0aae7379d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line2d.html @@ -0,0 +1,102 @@ + +Results for rendering/line2d.py + +

    Results of VisIt Regression Test - rendering/line2d

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    line2d000.000.00
    line2d010.000.00
    line2d020.000.00
    line2d030.000.00
    line2d040.000.00
    line2d050.000.00
    line2d060.000.00
    line2d070.000.00
    line2d080.000.00
    line2d090.000.00
    line2d100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line2d_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line2d_py.html new file mode 100644 index 000000000..dd5be7a13 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line2d_py.html @@ -0,0 +1,101 @@ +rendering/line2d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  line2d.py
    +#
    +#  Tests:      mesh        - 2D curvilinear, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Line2D
    +#
    +#  Defect ID:  #1724 (arrowheads for 2D Line annotations broke in 2.7) 
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       July 1, 2015
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Aug  3 17:35:13 PDT 2015
    +#    Uncomment test line2d01, also set nextLine.useForegroundForLineColor.
    +#    Change line width values so that they yield previous results, line
    +#    annotation object now uses a lineWidth gui widget that allows values 
    +#    from 0 to 9.
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (255, 255, 255, 255)
    +a.foregroundColor = (0, 0, 0, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and do a plot.
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Create a Line2D object
    +line = CreateAnnotationObject("Line2D")
    +line.position = (0.62, 0.83)
    +line.position2 = (0.43, 0.7)
    +Test("line2d00")
    +
    +# Set the foreground color to see if it changes
    +a.foregroundColor = (0, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +Test("line2d01")
    +
    +# Test line color
    +a.foregroundColor = (255, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +line.useForegroundForLineColor = 0
    +line.color = (0, 255, 255, 255)
    +Test("line2d02")
    +
    +# Test line width
    +line.width = 3
    +Test("line2d03")
    +
    +
    +# Test line arrow at start
    +line.color = (0,0,0,255)
    +line.width = 0
    +line.beginArrow = 1
    +Test("line2d04")
    +
    +# Test solid arrow at end
    +line.endArrow = 2
    +Test("line2d05")
    +
    +# Switch arrows
    +line.beginArrow = 2
    +line.endArrow = 1
    +Test("line2d06")
    +
    +# Test line opacity
    +line.position = (0.25, 0.32)
    +line.position2 = (0.85, 0.71)
    +line.width = 4
    +line.beginArrow = 0
    +line.endArrow = 0
    +line.color = (0,0,0,150)
    +Test("line2d07")
    +
    +# Create more line objects
    +nextLine = CreateAnnotationObject("Line2D")
    +nextLine.useForegroundForLineColor = 0
    +nextLine.color=(255, 0, 0, 255)
    +nextLine.position=(0.41, 0.86)
    +nextLine.position2=(0.75, 0.6)
    +nextLine.width=1
    +nextLine.endArrow=2
    +Test("line2d08")
    +
    +# Start Removing text
    +line.Delete()
    +Test("line2d09")
    +nextLine.Delete()
    +Test("line2d10")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line3d.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line3d.html new file mode 100644 index 000000000..010b578bb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line3d.html @@ -0,0 +1,114 @@ + +Results for rendering/line3d.py + +

    Results of VisIt Regression Test - rendering/line3d

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    line3d000.000.00
    Line3d010.000.00
    line3d050.000.00
    line3d060.000.00
    line3d072.580.60
    line3d082.580.60
    line3d095.041.19
    line3d100.940.32
    line3d111.830.69
    line3d120.930.37
    line3d130.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line3d_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line3d_py.html new file mode 100644 index 000000000..9a5a47e48 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_line3d_py.html @@ -0,0 +1,104 @@ +rendering/line3d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  line3d.py
    +#
    +#  Tests:      mesh        - 3D unstructured, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Line3D
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       August 27, 2015
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Thu Apr 19 12:02:22 PDT 2018
    +#    Remove lineStyle tests, no longer available.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (255, 255, 255, 255)
    +a.foregroundColor = (0, 0, 0, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and do a plot.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Create a Line3D object
    +line = CreateAnnotationObject("Line3D")
    +line.point1 = (0, -15, 0)
    +line.point2 = (0, 15, 0)
    +Test("line3d00")
    +
    +line.width = 7
    +Test("Line3d01")
    +
    +# Set the foreground color to see if it changes
    +a.foregroundColor = (0, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +Test("line3d05")
    +
    +# Test line color
    +a.foregroundColor = (255, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +line.useForegroundForLineColor = 0
    +line.color = (255, 0, 255, 255)
    +Test("line3d06")
    +
    +# Test arrow at start (flat)
    +line.arrow1Resolution = 1
    +line.arrow2Resolution = 1
    +line.arrow1Radius = 2
    +line.arrow2Radius = 2
    +line.arrow1Height = 5.6
    +line.arrow2Height = 5.6
    +line.arrow1 = 1
    +Test("line3d07")
    +# Test arrow at end
    +line.arrow1 = 0
    +line.arrow2 = 1
    +Test("line3d08")
    +
    +# Test both arrows 
    +line.arrow1 = 1
    +Test("line3d09")
    +
    +# Tubes
    +line.arrow1 = 0
    +line.lineType = line.TUBE
    +line.tubeRadius = 0.3
    +# make the arrow a cone
    +line.arrow2Resolution = 15
    +line.arrow2Radius = 1
    +line.arrow2Height = 2.8
    +Test("line3d10")
    +
    +
    +# Create more line objects
    +nextLine = CreateAnnotationObject("Line3D")
    +nextLine.useForegroundForLineColor = 0
    +nextLine.color=(0, 255, 0, 255)
    +nextLine.point1=(-15, 0, 0)
    +nextLine.point2=(15, 0, 0)
    +nextLine.arrow2 = 1
    +nextLine.lineType = line.TUBE
    +nextLine.tubeRadius = 0.3
    +nextLine.arrow2Resolution = 15
    +nextLine.arrow2Radius = 1
    +nextLine.arrow2Height = 2.8
    +Test("line3d11")
    +
    +# Start Removing lines
    +line.Delete()
    +Test("line3d12")
    +nextLine.Delete()
    +Test("line3d13")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_offscreensave.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_offscreensave.html new file mode 100644 index 000000000..fbb4bbd34 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_offscreensave.html @@ -0,0 +1,106 @@ + +Results for rendering/offscreensave.py + +

    Results of VisIt Regression Test - rendering/offscreensave

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    offscreen_010.000.00
    offscreen_020.000.00
    offscreen_030.000.00
    offscreen_040.000.00
    offscreen_050.000.00
    offscreen_060.000.00
    offscreen_070.000.00
    offscreen_080.000.00
    offscreen_090.000.00
    offscreen_100.000.00
    offscreen_110.000.00
    md5 hash for 16384x16384 image
     "3ec309acbd64eb52f8d7bf4c1f9e9628" .eq. "3ec309acbd64eb52f8d7bf4c1f9e9628" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_offscreensave_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_offscreensave_py.html new file mode 100644 index 000000000..3f329a238 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_offscreensave_py.html @@ -0,0 +1,177 @@ +rendering/offscreensave.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  offscreensave.py
    +#
    +#  Tests:      save window options
    +#              mesh      - 3D unstructured, multiple domains
    +#              plots     - pc, mesh 
    +#              operators - slice 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       29Mar04 
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Tue May 11 20:21:24 PDT 2004
    +#    Changed scalable rendering controls to use activation mode
    +#
    +#    Mark C. Miller, Thu Jan  6 15:09:06 PST 2005
    +#    Added a test that involves annotation objects
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Eric Brugger, Mon Aug  2 09:42:50 PDT 2021
    +#    Added test of 16384 x 16384 image save.
    +#
    +#    Kathleen Biagas, Fri Aug 27, 2021
    +#    Put tests into functions. Skip the large image test on Windows as it
    +#    doesn't yield the correct size image. Ensure the large image is saved
    +#    to run_dir so the test will execute on Windows properly once it can
    +#    be enabled.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import hashlib
    +
    +def GeneralTests():
    +    TurnOnAllAnnotations()
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    view=GetView3D()
    +    view.viewNormal=(-0.528567, 0.374238, 0.761946)
    +    view.viewUp=(0.200044, 0.927212, -0.316639)
    +    SetView3D(view)
    +    Test("offscreen_01")
    +
    +    # build some savewindow attributes that DO NOT
    +    # use screen capture
    +    swa=SaveWindowAttributes()
    +    swa.screenCapture=0
    +    swa.width=400
    +    swa.height=400
    +
    +    # simple test to make sure we get all the annoations
    +    # when we save window using off-screen save
    +    Test("offscreen_02",swa)
    +
    +    # now, test saving at a different size
    +    swa.width=600
    +    swa.height=600
    +    Test("offscreen_03",swa)
    +
    +    # Ok, now diddle with annoations a bit and do some
    +    # more saves
    +    swa.width=300
    +    swa.height=300
    +    a = AnnotationAttributes()
    +    a.userInfoFlag = 0
    +    a.databaseInfoFlag = 0
    +    SetAnnotationAttributes(a)
    +    Test("offscreen_04",swa)
    +    a.legendInfoFlag = 0
    +    SetAnnotationAttributes(a)
    +    Test("offscreen_05",swa)
    +
    +    # Ok, now put the window into SR mode
    +    ra = GetRenderingAttributes()
    +    ra.scalableActivationMode = ra.Always
    +    SetRenderingAttributes(ra)
    +    Test("offscreen_06",swa)
    +
    +    # diddle some more with annoations
    +    a.databaseInfoFlag = 1
    +    a.legendInfoFlag = 1
    +    SetAnnotationAttributes(a)
    +    Test("offscreen_07",swa)
    +
    +    # Now, use screen capture mode to save the window
    +    Test("offscreen_08")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +    # Test off screen save of a 2D window
    +    AddPlot("Mesh", "curvmesh2d")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +    swa.width=400
    +    swa.height=400
    +    Test("offscreen_09",swa)
    +
    +    # Test off screen save of a full frame 2D window
    +    view2=GetView2D()
    +    view2.fullFrameActivationMode=view2.On
    +    SetView2D(view2)
    +    swa.width=500
    +    swa.height=500
    +    Test("offscreen_10",swa)
    +
    +    # Now test some annotation objects
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    view=GetView3D()
    +    view.viewNormal=(-0.528567, 0.374238, 0.761946)
    +    view.viewUp=(0.200044, 0.927212, -0.316639)
    +    SetView3D(view)
    +
    +    # Create a time slider
    +    slider = CreateAnnotationObject("TimeSlider")
    +    slider.position = (0.5, 0.5)
    +    swa.width=300
    +    swa.height=300
    +    Test("offscreen_11",swa)
    +
    +    slider.Delete()
    +    DeleteAllPlots()
    +
    +def TestLargeImage():
    +    # Test saving a 16384 x 16384 image
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    view2=GetView2D()
    +    view2.fullFrameActivationMode=view2.Off
    +    SetView2D(view2)
    +
    +    swa=SaveWindowAttributes()
    +    # ensure the image is written to the run_dir by providing full path
    +    imgOutName=pjoin(TestEnv.params["run_dir"], "image_16384x16384.png")
    +    swa.width = 16384
    +    swa.height = 16384
    +    swa.fileName = imgOutName
    +    swa.family = 0
    +    SetSaveWindowAttributes(swa)
    +    SaveWindow()
    +
    +    # Comparing md5 sum instead of image, since the image is large.
    +    md5_hash = hashlib.md5()
    +    with open(imgOutName, "rb") as f:
    +        # Read and update hash in chunks of 4K
    +        for byte_block in iter(lambda: f.read(4096),b""):
    +            md5_hash.update(byte_block)
    +    TestValueEQ("md5 hash for 16384x16384 image", md5_hash.hexdigest(), "3ec309acbd64eb52f8d7bf4c1f9e9628")
    +
    +GeneralTests()
    +
    +if not sys.platform.startswith("win"):
    +    # Cannot perform this test on Windows as image size is limited
    +    TestLargeImage()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_pixeldata.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_pixeldata.html new file mode 100644 index 000000000..e880ddf8a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_pixeldata.html @@ -0,0 +1,186 @@ + +Results for rendering/pixeldata.py + +

    Results of VisIt Regression Test - rendering/pixeldata

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Save transparent background image
    pixeldata_0_0086.5934.72
    pixeldata_0_0183.9434.13
    pixeldata_0_0286.5920.35
    pixeldata_0_0384.1920.19
    pixeldata_0_0427.0831.82
    pixeldata_0_0553.0219.07
    pixeldata_0_0626.9531.64
    pixeldata_0_0752.4918.75
    pixeldata_0_0861.19107.97
    pixeldata_0_0991.8667.02
    pixeldata_0_1062.34109.85
    pixeldata_0_1191.7265.76
    Save image plus depth
    pixeldata_1_000.000.00
    pixeldata_1_010.000.00
    pixeldata_1_020.000.00
    pixeldata_1_030.000.00
    pixeldata_1_040.000.00
    pixeldata_1_050.000.00
    pixeldata_1_060.000.00
    pixeldata_1_070.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_pixeldata_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_pixeldata_py.html new file mode 100644 index 000000000..696ea3ca1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_pixeldata_py.html @@ -0,0 +1,215 @@ +rendering/pixeldata.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  openexr.py 
    +#
    +#  Tests:      saving pixel data, transparent backgrounds in saved images.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Feb 15 14:16:45 PST 2018
    +#
    +#  Modifications:
    +# 
    +# ----------------------------------------------------------------------------
    +
    +# Saves pixel data.
    +def SavePixelData(filename, alpha, depth, luminance, value):
    +    s = GetSaveWindowAttributes()
    +    s.outputToCurrentDirectory = 1
    +    s.family = 0
    +    s.fileName = filename
    +    s.width  = TestEnv.params["width"]
    +    s.height = TestEnv.params["height"]
    +    s.screenCapture = 0
    +    s.format = s.PNG
    +    s.pixelData = 1
    +    if alpha:
    +        s.pixelData = s.pixelData | 2
    +    if luminance:
    +        s.pixelData = s.pixelData | 4
    +    if value:
    +        s.pixelData = s.pixelData | 8
    +    if depth:
    +        s.pixelData = s.pixelData | 16
    +    SetSaveWindowAttributes(s)
    +    SaveWindow()
    +
    +def test0():
    +    TestSection("Save transparent background image")
    +    db = silo_data_path("noise.silo")
    +    OpenDatabase(db)
    +    AddPlot("Contour", "hardyglobal")
    +    c = GetPlotOptions()
    +    c.SetMultiColor(2, (0, 0, 255, 100))
    +    c.SetMultiColor(3, (0, 255, 255, 100))
    +    c.SetMultiColor(4, (255, 0, 255, 100))
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    v3 = GetView3D()
    +    v3.viewNormal = (-0.569008, 0.313204, 0.760351)
    +    v3.focus = (0, 0, 0)
    +    v3.viewUp = (0.185488, 0.949682, -0.252384)
    +    v3.viewAngle = 30
    +    v3.parallelScale = 17.3205
    +    v3.nearPlane = -34.641
    +    v3.farPlane = 34.641
    +    v3.imagePan = (-0.0120947, 0.0574413)
    +    v3.imageZoom = 1.13829
    +    v3.perspective = 1
    +    v3.eyeAngle = 2
    +    v3.centerOfRotationSet = 0
    +    v3.centerOfRotation = (0, 0, 0)
    +    v3.axis3DScaleFlag = 0
    +    v3.axis3DScales = (1, 1, 1)
    +    v3.shear = (0, 0, 1)
    +    v3.windowValid = 1
    +    SetView3D(v3)
    +    Test("pixeldata_0_00")
    +    # Save a partially transparent Contour plot on a transparent background.
    +    SavePixelData("pd0", 1, 0, 0, 0)
    +
    +    # Save a partially transparent Contour plot on a transparent background -- with axes
    +    a = GetAnnotationAttributes()
    +    a.axes3D.bboxFlag = 1
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_0_01")
    +    SavePixelData("pd1", 1, 0, 0, 0)
    +
    +    # Test that we get the transparent background when we have a gradient bg.
    +    a = GetAnnotationAttributes()
    +    a.backgroundMode = a.Gradient
    +    a.gradientColor1 = (180, 100, 180, 255)
    +    a.gradientColor2 = (0, 0, 0, 255)
    +    a.axes3D.bboxFlag = 0
    +    a.foregroundColor = (255,255,255,255)
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_0_02")
    +    SavePixelData("pd2", 1, 0, 0, 0)
    +
    +    # Test that we get the transparent background when we have a gradient bg. with axes
    +    a.axes3D.bboxFlag = 1
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_0_03")
    +    SavePixelData("pd3", 1, 0, 0, 0)
    +
    +    # Restore solid bg, no axes
    +    a.backgroundMode = a.Solid
    +    a.axes3D.bboxFlag = 0
    +    a.foregroundColor = (0,0,0,255)
    +    SetAnnotationAttributes(a)
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    # Make some expressions that let us plot a transparent image with a checker background.
    +    DefineScalarExpression("i", "floor(coords(ImageMesh)[0] / 20)")
    +    DefineScalarExpression("j", "floor(coords(ImageMesh)[1] / 20)")
    +    DefineScalarExpression("checker", "mod(i+j, 2)")
    +    DefineScalarExpression("gray", "100+checker*80")
    +    DefineScalarExpression("t", "alpha / 255.")
    +    DefineScalarExpression("omt", "1 - t")
    +    DefineVectorExpression("blend", "color4(t*red + omt*gray,t*green + omt*gray,t*blue + omt*gray, 255)")
    +    DefineVectorExpression("comp", "if(lt(alpha, 255), blend, color4(red, green, blue, 255))")
    +
    +    # Open the files we made.
    +    idx = 4
    +    for db in ("pd0.png", "pd1.png", "pd2.png", "pd3.png"):
    +        OpenDatabase(db)
    +        AddPlot("Pseudocolor", "alpha")
    +        DrawPlots()
    +        v = GetView2D()
    +        v.viewportCoords = (0, 1, 0, 1)
    +        SetView2D(v)
    +        Test("pixeldata_0_%02d" % idx)
    +        DeleteAllPlots()
    +        AddPlot("Truecolor", "comp")
    +        DrawPlots()
    +        Test("pixeldata_0_%02d" % (idx+1))
    +        DeleteAllPlots()
    +        CloseDatabase(db)
    +        idx = idx + 2
    +
    +def test1():
    +    TestSection("Save image plus depth")
    +    db = silo_data_path("multi_rect3d.silo")
    +    OpenDatabase(db)
    +    AddPlot("Contour", "u")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.483301, 0.412135, 0.772376)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.218992, 0.911123, -0.349139)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    # Save against a solid background.
    +    Test("pixeldata_1_00")
    +    SavePixelData("pdz0", 0, 1, 0, 0)
    +
    +    # Save against a solid background adding axes
    +    a = GetAnnotationAttributes()
    +    a.axes3D.bboxFlag = 1
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_1_01")
    +    SavePixelData("pdz1", 0, 1, 0, 0)
    +
    +    # Save against a gradient background 
    +    a.backgroundMode = a.Gradient
    +    a.gradientColor1 = (180, 100, 180, 255)
    +    a.gradientColor2 = (0, 0, 0, 255)
    +    a.axes3D.bboxFlag = 0
    +    a.foregroundColor = (255,255,255,255)
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_1_02")
    +    SavePixelData("pdz2", 0, 1, 0, 0)
    +
    +    # Save against a gradient background adding axes
    +    a.backgroundMode = a.Gradient
    +    a.gradientColor1 = (180, 100, 180, 255)
    +    a.gradientColor2 = (0, 0, 0, 255)
    +    a.axes3D.bboxFlag = 1
    +    a.foregroundColor = (255,255,255,255)
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_1_03")
    +    SavePixelData("pdz3", 0, 1, 0, 0)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    # Open the files we made.
    +    idx = 4
    +    for db in ("pdz0.png", "pdz1.png", "pdz2.png", "pdz3.png"):
    +        OpenDatabase(db)
    +        AddPlot("Pseudocolor", "depth")
    +        pc = GetPlotOptions()
    +        pc.max = 220.
    +        pc.maxFlag = 1
    +        SetPlotOptions(pc)
    +        DrawPlots()
    +        v = GetView2D()
    +        v.viewportCoords = (0, 1, 0, 1)
    +        SetView2D(v)
    +        Test("pixeldata_1_%02d" % idx)
    +        DeleteAllPlots()
    +        CloseDatabase(db)
    +        idx = idx + 1
    +
    +def main():
    +    test0()
    +    test1()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_renderpoints.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_renderpoints.html new file mode 100644 index 000000000..ef0e2d9e7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_renderpoints.html @@ -0,0 +1,444 @@ + +Results for rendering/renderpoints.py + +

    Results of VisIt Regression Test - rendering/renderpoints

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Set pointSizePixels for plots that support it
    renderpoint_0_000.000.00
    renderpoint_0_010.000.00
    renderpoint_0_020.000.00
    renderpoint_0_030.000.00
    renderpoint_0_040.000.00
    renderpoint_0_050.000.00
    renderpoint_0_060.000.00
    renderpoint_0_070.000.00
    renderpoint_0_080.000.00
    renderpoint_0_090.000.00
    renderpoint_0_100.000.00
    renderpoint_0_110.000.00
    renderpoint_0_120.000.00
    renderpoint_0_130.000.00
    renderpoint_0_140.000.00
    Check points to glyph transition
    renderpoint_1_000.000.00
    renderpoint_1_010.000.00
    renderpoint_1_020.000.00
    renderpoint_1_030.000.00
    Check points drawn as spheres
    renderpoint_2_000.000.00
    renderpoint_2_010.000.00
    renderpoint_2_020.000.00
    renderpoint_2_030.000.00
    renderpoint_2_040.000.00
    renderpoint_2_050.000.00
    renderpoint_2_060.000.00
    renderpoint_2_070.000.00
    renderpoint_2_080.000.00
    renderpoint_2_090.000.00
    Check glyph types for Mesh plot
    renderpoint_3_000.000.00
    renderpoint_3_010.000.00
    renderpoint_3_020.000.00
    renderpoint_3_030.000.00
    renderpoint_3_040.000.00
    Check glyph types for Pseudocolor plot
    renderpoint_3_050.000.00
    renderpoint_3_060.000.00
    renderpoint_3_070.000.00
    renderpoint_3_080.000.00
    renderpoint_3_090.000.00
    Check glyph types for Scatter plot
    renderpoint_3_100.000.00
    renderpoint_3_110.000.00
    renderpoint_3_120.000.00
    renderpoint_3_130.000.00
    renderpoint_3_140.000.00
    Check glyph types for FilledBoundary plot
    renderpoint_3_150.000.00
    renderpoint_3_160.000.00
    renderpoint_3_170.000.00
    renderpoint_3_180.000.00
    renderpoint_3_190.000.00
    Check all glyph types for Subset plot
    renderpoint_3_200.000.00
    renderpoint_3_210.000.00
    renderpoint_3_220.000.00
    renderpoint_3_230.000.00
    renderpoint_3_240.000.00
    Check scaling glyphs by a variable
    renderpoint_4_000.000.00
    renderpoint_4_010.000.00
    renderpoint_4_020.000.00
    renderpoint_4_030.000.00
    Check glyphed plots restored from session files
    renderpoint_5_000.000.00
    renderpoint_5_010.000.00
    renderpoint_5_020.000.00
    renderpoint_5_030.000.00
    renderpoint_5_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_renderpoints_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_renderpoints_py.html new file mode 100644 index 000000000..b5046710c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_renderpoints_py.html @@ -0,0 +1,347 @@ +rendering/renderpoints.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  renderpoints.py
    +#
    +#  Tests:      mesh      - 3D point
    +#              plots     - pseudocolor, subset, mesh
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Aug 26 13:39:07 PST 2005
    +#
    +#  Modificatons:
    +#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
    +#    Removed silly comment regarding global annotation object 'a'
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Dec 15 09:16:39 PST 2016
    +#    Added tests for other glyph types, scaling by variable and restoring
    +#    session files.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# General testing function
    +#
    +def TestPlot(plotName, plotVar, atts, cases):
    +    AddPlot(plotName, plotVar)
    +    if atts == None:
    +        atts = eval(plotName + "Attributes()")
    +    atts.pointType = atts.Point
    +    atts.pointSizePixels = 1
    +    SetPlotOptions(atts)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.51943, 0.317321, 0.79341)
    +    v.focus = (0.499552, 0.500362, 0.499909)
    +    v.viewUp = (0.172325, 0.948317, -0.266458)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.865387
    +    v.nearPlane = -1.73077
    +    v.farPlane = 1.73077
    +    v.imagePan = (-0.0139929, 0.0505193)
    +    v.imageZoom = 1.25645
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.499552, 0.500362, 0.499909)
    +    SetView3D(v)
    +    Test("renderpoint" + cases[0])
    +
    +    atts.pointSizePixels = 5
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[1])
    +
    +    # Make sure that it remains set after regenerating the plot.
    +    TurnDomainsOff(("domain3", "domain4", "domain7", "domain8"))
    +    Test("renderpoint" + cases[2])
    +    TurnDomainsOn()
    +    DeleteActivePlots()
    +
    +#
    +# Test plots that can render their points using GL points.
    +#
    +def test0():
    +    TestSection("Set pointSizePixels for plots that support it")
    +    # Test Mesh
    +    atts = MeshAttributes()
    +    atts.meshColor = (100,150,255)
    +    atts.meshColorSource = atts.MeshCustom
    +    TestPlot("Mesh", "StarMesh", atts, ("_0_00", "_0_01", "_0_02"))
    +
    +    # Test Pseudocolor
    +    TestPlot("Pseudocolor", "Matnos", None, ("_0_03", "_0_04", "_0_05"))
    +
    +    # Test Scatter
    +    atts = ScatterAttributes()
    +    atts.var2 = "vy"
    +    atts.var3 = "vz"
    +    atts.var3Role = atts.Coordinate2
    +    atts.var4 = "Matnos"
    +    atts.var4Role = atts.Color
    +    TestPlot("Scatter", "vx", atts, ("_0_06", "_0_07", "_0_08"))
    +
    +    # Test FilledBoundary
    +    TestPlot("FilledBoundary", "stars", None, ("_0_09", "_0_10", "_0_11"))
    +
    +    # Test Subset
    +    TestPlot("Subset", "domains", None, ("_0_12", "_0_13", "_0_14"))
    +
    +#
    +# General testing function #2
    +#
    +def TestPlot1(plotName, plotVar, atts, cases):
    +    AddPlot(plotName, plotVar)
    +    if atts == None:
    +        atts = eval(plotName + "Attributes()")
    +    atts.pointType = atts.Point
    +    atts.pointSizePixels = 5
    +    SetPlotOptions(atts)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.51943, 0.317321, 0.79341)
    +    v.focus = (0.499552, 0.500362, 0.499909)
    +    v.viewUp = (0.172325, 0.948317, -0.266458)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.865387
    +    v.nearPlane = -1.73077
    +    v.farPlane = 1.73077
    +    v.imagePan = (-0.0139929, 0.0505193)
    +    v.imageZoom = 1.25645
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.499552, 0.500362, 0.499909)
    +    SetView3D(v)
    +    Test("renderpoint" + cases[0])
    +
    +    atts.pointType = atts.Box
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[1])
    +    DeleteActivePlots()
    +
    +#
    +# Test that we can switch to other glyph types after starting up
    +# in point glyph mode, which does not use the glyph filters.
    +#
    +def test1():
    +    TestSection("Check points to glyph transition")
    +    # Test Pseudocolor
    +    TestPlot1("Pseudocolor", "Matnos", None, ("_1_00", "_1_01"))
    +    # Test FilledBoundary
    +    TestPlot1("FilledBoundary", "stars", None, ("_1_02", "_1_03"))
    +
    +#
    +# General testing function #3
    +#
    +def TestPlot2(plotName, plotVar, atts, cases):
    +    AddPlot(plotName, plotVar)
    +    if atts == None:
    +        atts = eval(plotName + "Attributes()")
    +    atts.pointType = atts.Sphere
    +    atts.pointSizePixels = 10
    +    SetPlotOptions(atts)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.51943, 0.317321, 0.79341)
    +    v.focus = (0.499552, 0.500362, 0.499909)
    +    v.viewUp = (0.172325, 0.948317, -0.266458)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.865387
    +    v.nearPlane = -1.73077
    +    v.farPlane = 1.73077
    +    v.imagePan = (-0.0139929, 0.0505193)
    +    v.imageZoom = 1.25645
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.499552, 0.500362, 0.499909)
    +    SetView3D(v)
    +    Test("renderpoint" + cases[0])
    +
    +    atts.pointSizePixels = 20
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[1])
    +    DeleteActivePlots()
    +
    +#
    +# Test that all plots that support sphere point texturing can do it.
    +#
    +def test2():
    +    TestSection("Check points drawn as spheres")
    +
    +    # Test Mesh
    +    atts = MeshAttributes()
    +    atts.meshColor = (100,150,255)
    +    atts.meshColorSource = atts.MeshCustom
    +    TestPlot2("Mesh", "StarMesh", atts, ("_2_00", "_2_01"))
    +
    +    # Test Pseudocolor
    +    TestPlot2("Pseudocolor", "Matnos", None, ("_2_02", "_2_03"))
    +
    +    # Test Scatter
    +    atts = ScatterAttributes()
    +    atts.var2 = "vy"
    +    atts.var3 = "vz"
    +    atts.var3Role = atts.Coordinate2
    +    atts.var4 = "Matnos"
    +    atts.var4Role = atts.Color
    +    TestPlot2("Scatter", "vx", atts, ("_2_04", "_2_05"))
    +
    +    # Test FilledBoundary
    +    TestPlot2("FilledBoundary", "stars", None, ("_2_06", "_2_07"))
    +
    +    # Test Subset
    +    TestPlot2("Subset", "domains", None, ("_2_08", "_2_09"))
    +
    +def TestPlot3(plotName, plotVar, atts, cases):
    +    AddPlot(plotName, plotVar)
    +    if atts == None:
    +        atts = eval(plotName + "Attributes()")
    +    atts.pointType = atts.Axis
    +    SetPlotOptions(atts)
    +    DrawPlots()
    +
    +    Test("renderpoint" + cases[0])
    +
    +    atts.pointType = atts.Icosahedron
    +    atts.pointSize = 0.1
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[1])
    +
    +    atts.pointType = atts.Octahedron
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[2])
    +
    +    atts.pointSize = 0.05
    +    atts.pointType = atts.Tetrahedron
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[3])
    +
    +    atts.pointType = atts.SphereGeometry
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[4])
    +
    +    DeleteActivePlots()
    +
    +#
    +# Test that all plots that support sphere point texturing can do it.
    +#
    +def test3():
    +    TestSection("Check glyph types for Mesh plot")
    +    atts = MeshAttributes()
    +    atts.meshColor = (152,203,0)
    +    atts.meshColorSource = atts.MeshCustom
    +    TestPlot3("Mesh", "StarMesh", atts, ("_3_00", "_3_01", "_3_02", "_3_03", "_3_04"))
    +
    +    TestSection("Check glyph types for Pseudocolor plot")
    +    # Test Pseudocolor
    +    TestPlot3("Pseudocolor", "Matnos", None, ("_3_05", "_3_06", "_3_07", "_3_08", "_3_09"))
    +
    +    TestSection("Check glyph types for Scatter plot")
    +    # Test Scatter
    +    atts = ScatterAttributes()
    +    atts.var2 = "vy"
    +    atts.var3 = "vz"
    +    atts.var3Role = atts.Coordinate2
    +    atts.var4 = "Matnos"
    +    atts.var4Role = atts.Color
    +    TestPlot3("Scatter", "vx", atts, ("_3_10", "_3_11", "_3_12", "_3_13", "_3_14"))
    +
    +    TestSection("Check glyph types for FilledBoundary plot")
    +    # Test FilledBoundary
    +    TestPlot3("FilledBoundary", "stars", None, ("_3_15", "_3_16", "_3_17", "_3_18", "_3_19"))
    +
    +    # Test Subset
    +    TestSection("Check all glyph types for Subset plot")
    +    TestPlot3("Subset", "domains", None, ("_3_20", "_3_21", "_3_22", "_3_23", "_3_24"))
    +
    +def TestPlot4(plotName, plotVar, atts, case):
    +    AddPlot(plotName, plotVar)
    +    if atts == None:
    +        atts = eval(plotName + "Attributes()")
    +    atts.pointType = atts.SphereGeometry
    +    atts.pointSize = 0.007
    +    atts.pointSizeVarEnabled = 1
    +    atts.pointSizeVar = "Matnos"
    +    SetPlotOptions(atts)
    +    DrawPlots()
    +
    +    Test("renderpoint" + case)
    +
    +    DeleteActivePlots()
    +
    +#
    +# Test that all plots that support scaling glyphs by a variable can do it.
    +#
    +def test4():
    +    TestSection("Check scaling glyphs by a variable")
    +    atts = MeshAttributes()
    +    atts.meshColor = (152,203,0)
    +    atts.meshColorSource = atts.MeshCustom
    +    TestPlot4("Mesh", "StarMesh", atts, "_4_00")
    +
    +    # Test Pseudocolor
    +    TestPlot4("Pseudocolor", "Matnos", None, "_4_01")
    +
    +    # Test FilledBoundary
    +    TestPlot4("FilledBoundary", "stars", None, "_4_02")
    +
    +    # Test Subset
    +    TestPlot4("Subset", "domains", None, "_4_03")
    +
    +#
    +# Test that glyphed plots can be restored from session files
    +#
    +def test5():
    +    TestSection("Check glyphed plots restored from session files")
    +    DeleteAllPlots()
    +    RestoreSessionWithDifferentSources(tests_path("rendering", "filledBoundaryStars.session"), 0, silo_data_path("galaxy0000.silo"))
    +    Test("renderpoint_5_00")
    +
    +    DeleteAllPlots()
    +    RestoreSessionWithDifferentSources(tests_path("rendering", "meshNoisePoint.session"), 0, silo_data_path("noise.silo"))
    +    Test("renderpoint_5_01")
    +
    +    DeleteAllPlots()
    +    RestoreSessionWithDifferentSources(tests_path("rendering", "pcNoisePoint.session"), 0, silo_data_path("noise.silo"))
    +    Test("renderpoint_5_02")
    +
    +    DeleteAllPlots()
    +    RestoreSessionWithDifferentSources(tests_path("rendering", "scatterNoiseHG.session"), 0, silo_data_path("noise.silo"))
    +    Test("renderpoint_5_03")
    +
    +    DeleteAllPlots()
    +    RestoreSessionWithDifferentSources(tests_path("rendering", "subsetNoisePoint.session"), 0, silo_data_path("noise.silo"))
    +    Test("renderpoint_5_04")
    +
    +
    +def main():
    +    # Turn off all annotation
    +    TurnOffAllAnnotations()
    +
    +    OpenDatabase(silo_data_path("galaxy0000.silo"))
    +
    +    test0()
    +    test1()
    +    test2()
    +    test3()
    +    test4()
    +
    +    CloseDatabase(silo_data_path("galaxy0000.silo"))
    +
    +    test5()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_saveformats.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_saveformats.html new file mode 100644 index 000000000..55f767087 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_saveformats.html @@ -0,0 +1,120 @@ + +Results for rendering/saveformats.py + +

    Results of VisIt Regression Test - rendering/saveformats

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Curve Formats
    saveformat_curve0 modifications totalling 0 lines
    saveformat_ps0 modifications totalling 0 lines
    saveformat_ultra0 modifications totalling 0 lines
    Image Formats via Screen Capture
    saveformat_bmp0 modifications totalling 0 lines
    saveformat_jpeg0 modifications totalling 0 lines
    saveformat_png0 modifications totalling 0 lines
    saveformat_ppm0 modifications totalling 0 lines
    saveformat_rgb0 modifications totalling 0 lines
    saveformat_tif0 modifications totalling 0 lines
    Image Formats via Off Screen
    saveformat_offscreen_bmp0 modifications totalling 0 lines
    saveformat_offscreen_jpeg0 modifications totalling 0 lines
    saveformat_offscreen_png0 modifications totalling 0 lines
    saveformat_offscreen_ppm0 modifications totalling 0 lines
    saveformat_offscreen_rgb0 modifications totalling 0 lines
    saveformat_offscreen_tif0 modifications totalling 0 lines
    Geometry Formats
    saveformat_stl0 modifications totalling 0 lines
    saveformat_obj0 modifications totalling 0 lines
    saveformat_vtk0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_saveformats_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_saveformats_py.html new file mode 100644 index 000000000..33993017b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_saveformats_py.html @@ -0,0 +1,272 @@ +rendering/saveformats.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  saveformats.py
    +#
    +#  Tests:      save window formats 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       September 20, 2005 
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Mon Apr 23 14:07:35 EDT 2007
    +#    Don't create a mesh plot when we're saving geometry formats, since
    +#    the new behavior is to separate plots into different files (as they
    +#    typically have different variables and geometry types).
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Tue Feb  2 10:55:43 PST 2010
    +#    Fixed problem w/ setting active window that allowed errors to propagate
    +#    between test cases.
    +#
    +#    Mark C. Miller, Wed Apr  7 19:02:29 PDT 2010
    +#    Be smarter about testing curve formats while in scalable mode.
    +# ----------------------------------------------------------------------------
    +
    +# ----------------------------------------------------------------------------
    +# Function: FileExists 
    +#
    +# Purpose:
    +#   Tests if a file exists and, if the file is being written, waits
    +#   until the file size does not change for growthInterval seconds. If the
    +#   file exists but is of zero size, that is the same as it NOT existing
    +#
    +# waitToAppear: number of seconds to wait for the file to first appear
    +# growhtInterval: number of seconds between successive stats on the file 
    +#
    +# Programmer: Mark C. Miller
    +#             September 20, 2005
    +#
    +# ----------------------------------------------------------------------------
    +
    +from PIL import Image
    +
    +def FileExists(name, waitToAppear, growthInterval):
    +    if os.path.isfile(name) == 0:
    +        time.sleep(waitToAppear)
    +    if os.path.isfile(name) == 0:
    +        return 0
    +    curSize = os.stat(name)[ST_SIZE]
    +    if growthInterval == 0:
    +        if curSize == 0:
    +            return 0
    +    else:
    +            return 1
    +    while 1:
    +        time.sleep(growthInterval)
    +        size = os.stat(name)[ST_SIZE]
    +        if size == curSize:
    +            if curSize == 0:
    +                return 0
    +            else:
    +                return 1
    +            curSize = size
    +
    +# ----------------------------------------------------------------------------
    +# Function: SaveFileInfo
    +#
    +# Purpose:
    +#   Return a string representing the appropriate extension for the
    +#   given file format and return bools indicating if the format supports
    +#   curves, images and/or geometry.
    +#
    +# Programmer: Mark C. Miller
    +#             September 20, 2005
    +#
    +# ----------------------------------------------------------------------------
    +def SaveFileInfo(fmt):
    +    swa = SaveWindowAttributes()
    +    if (fmt == swa.POSTSCRIPT):
    +        return ("ps", 1, 0, 0)
    +    elif (fmt == swa.CURVE):
    +        return ("curve", 1, 0, 0)
    +    elif (fmt == swa.ULTRA):
    +        return ("ultra", 1, 0, 0)
    +    elif (fmt == swa.BMP):
    +        return ("bmp", 0, 1, 0)
    +    elif (fmt == swa.JPEG):
    +        return ("jpeg", 0, 1, 0)
    +    elif (fmt == swa.PNG):
    +        return ("png", 0, 1, 0)
    +    elif (fmt == swa.PPM):
    +        return ("ppm", 0, 1, 0)
    +    elif (fmt == swa.RGB):
    +        return ("rgb", 0, 1, 0)
    +    elif (fmt == swa.TIFF):
    +        return ("tif", 0, 1, 0)
    +    elif (fmt == swa.STL):
    +        return ("stl", 0, 0, 1)
    +    elif (fmt == swa.OBJ):
    +        return ("obj", 0, 0, 1)
    +    elif (fmt == swa.VTK):
    +        return ("vtk", 0, 0, 1)
    +    else:
    +        return ("unknown", 0, 0, 0)
    +
    +
    +swa=SaveWindowAttributes()
    +swa.family = 0
    +
    +AddWindow()
    +SetActiveWindow(1)
    +
    +# I=Image, G=Geometry, C=Curve formats
    +CFormats=[swa.CURVE, swa.POSTSCRIPT, swa.ULTRA]
    +IFormats=[swa.BMP, swa.JPEG, swa.PNG, swa.PPM, swa.RGB, swa.TIFF]
    +GFormats=[swa.STL, swa.OBJ, swa.VTK]
    +
    +a = AnnotationAttributes()
    +a.userInfoFlag = 0
    +a.databaseInfoFlag = 0
    +a.legendInfoFlag = 0
    +SetAnnotationAttributes(a)
    +
    +# ----------------------------------------------------------------------------
    +# Function: TestSaveFormat
    +#
    +# Modifications:
    +#   Kathleen Biagas, Thu Feb 11 2021
    +#   For Image formats, only convert RGB to TIFF, as all other formats tested
    +#   here should be readable and plottable by VisIt. Use PIL::Image for
    +#   conversion instead of 'convert'.
    +# ----------------------------------------------------------------------------
    +
    +def TestSaveFormat(fmt):
    +    SetActiveWindow(1)
    +    mode = ""
    +    result = "Failed\n"
    +    (ext, isC, isI, isG) = SaveFileInfo(fmt)
    +    swatmp = swa
    +    swatmp.format = fmt
    +    swatmp.outputToCurrentDirectory = 1
    +    if isI:
    +        swatmp.fileName = "saveformat_tmp.%s"%ext
    +    else:
    +        swatmp.fileName = "saveformat_tmp"
    +    SetSaveWindowAttributes(swatmp)
    +    try:
    +        SaveWindow()
    +    except:
    +        if TestEnv.params["scalable"]:
    +            if GetLastError() == "You cannot save non-image formats (e.g. ultra, curve, stl, etc.)" \
    +                                 " from a window that is currently in scalable rendering mode. You" \
    +                                 " may force scalable rendering to Never but if the resulting data" \
    +                                 " is too big for the viewer to handle, it will likely crash" \
    +                                 " VisIt. For 3D formats, try an export database operation instead." :
    +                TestText("saveformat_%s%s"%(mode,ext), "Passed\n")
    +                return
    +        TestText("saveformat_%s%s"%(mode,ext), result)
    +        return
    +
    +    # depending on the type of format this is, try to
    +    # read the file we just created back into VisIt and
    +    # put up a plot in window 2. If that succeeds, we'll
    +    # say this format's save actually worked
    +    if isC:
    +        if FileExists(swatmp.fileName+"."+ext, 1, 0):
    +            if ext == "ps":
    +                result = "Passed\n" # can only test existence for ps
    +            else:
    +                SetActiveWindow(2)
    +                if OpenDatabase(swatmp.fileName+"."+ext):
    +                    AddPlot("Curve","curve")
    +                    if DrawPlots():
    +                        result = "Passed\n"
    +                    DeleteAllPlots()
    +                    CloseDatabase(swatmp.fileName+"."+ext)
    +    elif isI:
    +        if swatmp.screenCapture == 0:
    +            mode = "offscreen_"
    +        imageFileExists = FileExists(swatmp.fileName, 1, 0)
    +        if imageFileExists:
    +            # visit should be able to read all but the RGB format, so only convert RGB to TIFF
    +            if fmt != swa.RGB:
    +                SetActiveWindow(2)
    +                if OpenDatabase(swatmp.fileName):
    +                    AddPlot("Pseudocolor","red")
    +                    if DrawPlots():
    +                        result = "Passed\n"
    +                    DeleteAllPlots()
    +                    CloseDatabase(swatmp.fileName)
    +            else:
    +                tiffFileName = "%s/saveformat_tmp.tif"%TestEnv.params["run_dir"]
    +                tiffFileExists = 0
    +                try:
    +                    im1=Image.open(swatmp.fileName)
    +                    im1.save(tiffFileName, 'tiff')
    +                    tiffFileExists = FileExists(tiffFileName, 1, 0)
    +                except ValueError:
    +                    result="Format type could not be determined"
    +                except OSError:
    +                    result="Could not convert"
    +                if tiffFileExists:
    +                    SetActiveWindow(2)
    +                    if OpenDatabase(tiffFileName):
    +                        AddPlot("Pseudocolor","red")
    +                        if DrawPlots():
    +                            result = "Passed\n"
    +                        DeleteAllPlots()
    +                        CloseDatabase(tiffFileName)
    +    elif isG:
    +        if FileExists(swatmp.fileName+"."+ext, 1, 0):
    +            if ext == "stl":
    +                meshName = "STL_mesh"
    +            elif ext == "obj":
    +                meshName = "OBJMesh"
    +            elif ext == "vtk":
    +                meshName = "mesh"
    +            SetActiveWindow(2)
    +            if OpenDatabase(swatmp.fileName+"."+ext):
    +                AddPlot("Mesh",meshName)
    +                if DrawPlots():
    +                    result = "Passed\n"
    +                DeleteAllPlots()
    +                CloseDatabase(swatmp.fileName+"."+ext)
    +    TestText("saveformat_%s%s"%(mode,ext), result)
    +    SetActiveWindow(1)
    +
    +
    +TestSection("Curve Formats")
    +OpenDatabase(data_path("curve_test_data","c062.curve"))
    +
    +AddPlot("Curve", "going_down")
    +DrawPlots()
    +for f in CFormats:
    +    TestSaveFormat(f)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("curve_test_data","c062.curve"))
    +
    +TestSection("Image Formats via Screen Capture")
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +AddPlot("Mesh", "mesh1")
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +slider = CreateAnnotationObject("TimeSlider")
    +# make sure screenCapture is on
    +swa.screenCapture = 1
    +for f in IFormats:
    +    TestSaveFormat(f)
    +
    +TestSection("Image Formats via Off Screen")
    +swa.screenCapture = 0
    +for f in IFormats:
    +    TestSaveFormat(f)
    +swa.screenCapture = 1
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +TestSection("Geometry Formats")
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "dx")
    +DrawPlots()
    +for f in GFormats:
    +    TestSaveFormat(f)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable.html new file mode 100644 index 000000000..5329d3ab1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable.html @@ -0,0 +1,117 @@ + +Results for rendering/scalable.py + +

    Results of VisIt Regression Test - rendering/scalable

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    scalable_010.000.00
    scalable_020.000.00
    scalable_030.000.00
    scalable_040.000.00
    scalable_050.000.00
    scalable_060.000.00
    SRModeHistory0 modifications totalling 0 lines
    Multiple Windows
    multiWindow_SRModeHistory0 modifications totalling 0 lines
    scalable_070.000.00
    Testing Mesh plot's opaque flag in SR mode
    scalable_080.000.00
    scalable_090.000.00
    scalable_100.000.00
    Glyphed Plot Causing SR Transitions
    glyphedPlot_SRModeHistory0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable2.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable2.html new file mode 100644 index 000000000..7e070dcdd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable2.html @@ -0,0 +1,53 @@ + +Results for rendering/scalable2.py + +

    Results of VisIt Regression Test - rendering/scalable2

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing that plots of single-timestep are requested in SR after engine loss
    scalable2_0_000.000.00
    scalable2_0_010 modifications totalling 0 lines
    scalable2_0_020 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable2_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable2_py.html new file mode 100644 index 000000000..7e2879db0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable2_py.html @@ -0,0 +1,113 @@ +rendering/scalable2.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scalable2.py
    +#
    +#  Tests:      mesh      - 2D curvilinear
    +#              plots     - Pseudocolor, Contour
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri May 12 15:55:22 PST 2006
    +#
    +#  Modifications:
    +#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
    +#    Removed silly comment regarding global annotation object 'a'
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +import os, sys
    +
    +#
    +# Test that single-timestep plots have their networks reset in the
    +# viewer when we lose the compute engine.
    +#
    +def TestNetworkReset():
    +    TestSection("Testing that plots of single-timestep are "\
    +                "requested in SR after engine loss")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh2d")
    +
    +    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +    AddPlot("Contour", "mesh/nummm")
    +    DrawPlots()
    +
    +    # Use scalable rendering always
    +    r = GetRenderingAttributes()
    +    r.scalableActivationMode = r.Always
    +    SetRenderingAttributes(r)
    +
    +    Test("scalable2_0_00")
    +
    +    # Turn off screen capture
    +    base = "TestNetworkReset"
    +    s = GetSaveWindowAttributes()
    +    s.screenCapture = 0
    +    s.width = 400
    +    s.height = 400
    +    s.format = s.PNG
    +    s.fileName = base
    +    s.outputToCurrentDirectory = 1
    +    s.family = 1
    +    SetSaveWindowAttributes(s)
    +
    +    # Save out images, killing the compute engine halfway through
    +    usingSR = ""
    +    for i in range(TimeSliderGetNStates()):
    +        SetTimeSliderState(i)
    +        # TODO_WINDOWS THIS WONT WORK ON WINDOWS
    +        # Kill the compute engine partway through to simulate it getting
    +        # booted out of the batch queue.
    +        if(i == 5):
    +            pinfo = GetProcessAttributes("engine")
    +            for pid in pinfo.pids:
    +                os.system("kill -9 %d" % pid)
    +
    +        DrawPlots()
    +        SaveWindow()
    +        if(GetWindowInformation().usingScalableRendering == 1):
    +            usingSR = usingSR + "Using scalable rendering on frame %d: true\n" % i
    +        else:
    +            usingSR = usingSR + "Using scalable rendering on frame %d: false\n" % i
    +
    +    # Look at the file sizes to make sure that all are non-zero
    +    files = os.listdir(".")
    +    pngs = []
    +    for f in files:
    +        if(len(f) > len(base) and f[:len(base)] == base):
    +            pngs = pngs + [f]
    +    pngs.sort()
    +
    +    # Iterate through the png files and look at their sizes. Remove them too.
    +    pngSize = ""
    +    for png in pngs:
    +        filesize = os.stat(png)[6]
    +        if filesize > 0:
    +            pngSize = pngSize + "File size for %s greater than zero.\n" % png
    +        else:
    +            pngSize = pngSize + "File size for %s is zero.\n" % png
    +        # remove the png file.
    +        os.unlink(png)
    +
    +    TestText("scalable2_0_01", usingSR)
    +    TestText("scalable2_0_02", pngSize)
    +
    +    DeleteAllPlots()
    +
    +#
    +# Call all of the subtests.
    +#
    +def main():
    +    # Turn off all annotation
    +    TurnOffAllAnnotations()
    +
    +    TestNetworkReset()
    +
    +#
    +# Call main
    +#
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_c.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_c.html new file mode 100644 index 000000000..5aefb38a7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_c.html @@ -0,0 +1,117 @@ + +Results for rendering/scalable_c.py + +

    Results of VisIt Regression Test - rendering/scalable_c

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    scalable_010.000.00
    scalable_020.000.00
    scalable_030.000.00
    scalable_040.000.00
    scalable_050.000.00
    scalable_060.000.00
    SRModeHistory0 modifications totalling 0 lines
    Multiple Windows
    multiWindow_SRModeHistory0 modifications totalling 0 lines
    scalable_070.000.00
    Testing Mesh plot's opaque flag in SR mode
    scalable_080.000.00
    scalable_090.000.00
    scalable_100.000.00
    Glyphed Plot Causing SR Transitions
    glyphedPlot_SRModeHistory0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_c_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_c_py.html new file mode 100644 index 000000000..3be73d7c0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_c_py.html @@ -0,0 +1,21 @@ +rendering/scalable_c.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scalable_c.py
    +#
    +#  Tests:      Runs the scalable.py test but with compression turned on 
    +#              scalable.py tests for existence of 'useCompression' variable
    +#              and turns on compression if it exists. We expect identical
    +#              output from the tests but because this py file has a different
    +#              name, it will generate them a subdir by the name 'scalable_c'
    +#              and look for baselines likewise. So, in baseline dir,
    +#              the scalable_c dir is a symlink to scalable.
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       19Aug08 
    +#
    +# ----------------------------------------------------------------------------
    +
    +useCompression = 1
    +Source(tests_path("rendering","scalable.py"))
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_py.html new file mode 100644 index 000000000..5aad55a3e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_scalable_py.html @@ -0,0 +1,392 @@ +rendering/scalable.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scalable.py
    +#
    +#  Tests:      mesh      - 3D unstructured, multiple domains
    +#              plots     - pc, mesh 
    +#              operators - slice 
    +#              selection - some of the domains 
    +#
    +#  Defect ID:  '3359
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       01Jul03
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Tue May 11 20:21:24 PDT 2004
    +#    Changed scalable rendering controls to use activation mode
    +#
    +#    Mark C. Miller, Tue May 25 14:29:40 PDT 2004
    +#    Added code to test automatic tranitions into and out of SR mode
    +#
    +#    Mark C. Miller, Thu Jan  6 14:23:01 PST 2005
    +#    Added code to test multiple windows and auto SR transitions
    +#
    +#    Kathleen Bonnell, Mon Jan 23 21:02:56 PST 2006 
    +#    Added tests '08-10, testing auto-opaque mesh and sr mode.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +#
    +#    Eric Brugger, Fri Aug 15 10:19:33 PDT 2014
    +#    Modified the script to use srun to launch the parallel engine on edge.
    +#
    +#    Eric Brugger, Wed Oct 29 12:08:54 PDT 2014
    +#    Changed the parallel job launching logic to use srun on surface instead
    +#    of edge.
    +#
    +#    Brad Whitlock, Mon Dec 15 17:22:38 PST 2014
    +#    Only close the compute engine if it is not parallel.
    +#
    +#    Kathleen Biagas, Fri Jul  7 13:41:36 PDT 2017
    +#    Don't run this test if the parallel engine doesn't exist.
    +#
    +#    Kathleen Biagas, Tue Feb 8 2022
    +#    Use run_dir for location of saving windows, it is cleaned up on exit.
    +#
    +#    Eric Brugger, Wed Nov  1 13:46:08 PDT 2023
    +#    Updated the list of hosts where srun was used to launch a parallel
    +#    compute engine.
    +#
    +# ----------------------------------------------------------------------------
    +
    +if not sys.platform.startswith("win"):
    +    if not os.path.exists(visit_bin_path("..", "exe", "engine_par")):
    +        Exit(121)
    +else:
    +    if not os.path.exists(visit_bin_path("engine_par.exe")):
    +        Exit(121)
    +
    +# sleep is needed to allow viewer to complete update of window information
    +# before it is queried here
    +import time
    +sleepTime=1
    +
    +# Turn on scalable rendering
    +ra = GetRenderingAttributes()
    +ra.scalableActivationMode = ra.Always
    +if "useCompression" in dir():
    +    ra.compressionActivationMode = ra.Always
    +SetRenderingAttributes(ra)
    +
    +# Close the compute engine, if it is not already parallel.
    +engines = GetEngineList()
    +if len(engines) > 0:
    +    props = GetEngineProperties(engines[0])
    +    if props.numProcessors < 2:
    +        CloseComputeEngine()
    +        # explicitly open a parallel engine, if possible
    +        # if it fails, the OpenDatabase will start a serial engine
    +        import socket
    +        if "quartz" in socket.gethostname() or \
    +           "pascal"  in socket.gethostname() or \
    +           "poodle"  in socket.gethostname() or \
    +           "syrah"   in socket.gethostname():
    +            haveParallelEngine = OpenComputeEngine("localhost", ("-l", "srun", "-np", "2"))
    +        else:
    +            haveParallelEngine = OpenComputeEngine("localhost", ("-np", "2"))
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Mesh", "mesh1")
    +silr=SILRestriction()
    +silr.TurnOffAll()
    +silr.TurnOnSet(1)
    +silr.TurnOnSet(3)
    +silr.TurnOnSet(5)
    +silr.TurnOnSet(10)
    +SetPlotSILRestriction(silr)
    +AddPlot("Pseudocolor", "d")
    +SetPlotSILRestriction(silr)
    +
    +DrawPlots()
    +
    +view=GetView3D()
    +view.viewNormal=(0,1,0)
    +view.viewUp=(0,0,-1)
    +SetView3D(view)
    +
    +Test("scalable_01")
    +
    +# rotate and draw them again
    +view.viewNormal=(0,1,0)
    +view.viewUp=(1,0,0)
    +SetView3D(view)
    +
    +# Make sure mesh plot doesn't dissappear after a rotate
    +# ('3359)
    +Test("scalable_02")
    +
    +# Pan and zoom
    +view.imageZoom = 0.75
    +view.imagePan = (0.25, 0.25)
    +SetView3D(view)
    +Test("scalable_03")
    +
    +# Make sure hide behavior still works
    +SetActivePlots(1)
    +HideActivePlots()
    +Test("scalable_04")
    +
    +HideActivePlots()
    +SetActivePlots(0)
    +DeleteActivePlots()
    +Test("scalable_05")
    +
    +# reset the SIL restriction for the succeeding SR auto mode tests
    +# tests to make sure the ERI actor doesn't leave stale image data around
    +ResetView()
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +Test("scalable_06")
    +
    +# accumulate results of SR mode changes here
    +srModeHistory=""
    +
    +# function to save temporary windows used to force renders
    +def MySaveWindow():
    +    swa = GetSaveWindowAttributes()
    +    swa.fileName = pjoin(TestEnv.params["run_dir"], "scalable_tmp.png")
    +    swa.format = swa.PNG
    +    swa.family = 0
    +    SetSaveWindowAttributes(swa)
    +    SaveWindow() # required to force render
    +
    +# function to examine current SR mode of window
    +def CheckSRMode(winID):
    +   global srModeHistory
    +   DrawPlots()
    +   MySaveWindow() # required to force render
    +   time.sleep(sleepTime)
    +   wi=GetWindowInformation()
    +   if wi.usingScalableRendering == 1:
    +       srModeHistory+="window %d:SR is ON\n"%winID
    +   else:
    +       srModeHistory+="window %d:SR is off\n"%winID
    +
    +# function to force window into specified SR mode and confirm it 
    +def ForceSRMode(mode):
    +   global srModeHistory
    +   if mode:
    +       ra.scalableActivationMode = ra.Always
    +   else:
    +       ra.scalableActivationMode = ra.Never
    +   SetRenderingAttributes(ra)
    +   DrawPlots()
    +   time.sleep(sleepTime)
    +   wi=GetWindowInformation()
    +   srModeHistory+="force SR mode %d\n"%wi.usingScalableRendering
    +
    +ForceSRMode(0)
    +
    +# test an individual plot taking poly count above threshold
    +# with proc 0's data alone
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 2000
    +SetRenderingAttributes(ra)
    +DrawPlots()
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="single plot, proc 0 >threshold %d\n"%wi.usingScalableRendering
    +DeleteAllPlots()
    +
    +ForceSRMode(0)
    +
    +# test an individual plot taking poly count above threshold with
    +# data from proc 2 (or above)
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 5000
    +SetRenderingAttributes(ra)
    +DrawPlots()
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="single plot, proc >0 >threshold %d\n"%wi.usingScalableRendering
    +DeleteAllPlots()
    +
    +ForceSRMode(0)
    +
    +# test a addition and deletion causing to go above threshold and then
    +# back below
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 15000
    +SetRenderingAttributes(ra)
    +DrawPlots()
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="two plots, first <threshold %d\n"%wi.usingScalableRendering
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="two plots, second >threshold %d\n"%wi.usingScalableRendering
    +DeleteActivePlots()
    +DrawPlots()
    +MySaveWindow() # force engine to render
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="delete 2nd, <threshold %d\n"%wi.usingScalableRendering
    +
    +ForceSRMode(0)
    +
    +# test setting auto threshold below current count
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 3000
    +SetRenderingAttributes(ra)
    +DrawPlots()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="auto threshold set < plot %d\n"%wi.usingScalableRendering
    +
    +ForceSRMode(1)
    +
    +# test setting auto threshold above current count
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 30000
    +SetRenderingAttributes(ra)
    +DrawPlots()
    +# save window is required to force the re-draw that causes engine to
    +# decide SR mode is no longer necessary
    +MySaveWindow()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="auto threshold set > plot %d\n"%wi.usingScalableRendering
    +
    +TestText("SRModeHistory",srModeHistory)
    +
    +DeleteAllPlots()
    +srModeHistory=""
    +
    +#
    +# Do some testing with multiple windows
    +#
    +TestSection("Multiple Windows")
    +
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 14000
    +SetRenderingAttributes(ra)
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +CheckSRMode(1)
    +
    +CloneWindow()
    +SetActiveWindow(2)
    +DrawPlots()
    +CheckSRMode(2)
    +
    +SetActiveWindow(1)
    +AddPlot("Pseudocolor", "p")
    +AddPlot("Pseudocolor", "u")
    +AddPlot("Pseudocolor", "w")
    +DrawPlots()
    +CheckSRMode(1)
    +SetActiveWindow(2)
    +AddPlot("Pseudocolor", "p")
    +DrawPlots()
    +CheckSRMode(2)
    +
    +SetActiveWindow(1)
    +SetActivePlots((1,2,3))
    +DeleteActivePlots()
    +DrawPlots()
    +CheckSRMode(1)
    +SetActiveWindow(2)
    +CheckSRMode(2)
    +
    +TestText("multiWindow_SRModeHistory",srModeHistory)
    +
    +#
    +# test unhiding mesh to make sure it doesn't go opaque ('5947)
    +#
    +DeleteWindow()
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +ra.scalableActivationMode = ra.Always
    +SetRenderingAttributes(ra)
    +AddPlot("Mesh","mesh1")
    +AddPlot("Pseudocolor","dx")
    +DrawPlots()
    +MySaveWindow() # force a render
    +SetActivePlots((0))
    +HideActivePlots()
    +DrawPlots()
    +MySaveWindow() # force a render
    +HideActivePlots()
    +DrawPlots()
    +Test("scalable_07")
    +
    +DeleteAllPlots()
    +
    +TestSection("Testing Mesh plot's opaque flag in SR mode")
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddPlot("Mesh", "curvmesh2d")
    +m = MeshAttributes()
    +m.opaqueMode = m.Auto
    +SetPlotOptions(m)
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("scalable_08")
    +SetActivePlots(1)
    +Test("scalable_09")
    +Pick(164, 136)
    +Test("scalable_10")
    +DeleteAllPlots()
    +
    +
    +TestSection("Glyphed Plot Causing SR Transitions")
    +
    +srModeHistory=""
    +ForceSRMode(0)
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 30000
    +SetRenderingAttributes(ra)
    +
    +OpenDatabase(silo_data_path("galaxy0000.silo"))
    +
    +AddPlot("Pseudocolor", "vx")
    +DrawPlots()
    +CheckSRMode(1)
    +TestText("glyphedPlot_SRModeHistory",srModeHistory)
    +
    +DeleteAllPlots()
    +
    +# this section causes a crash, comment out until fixed.
    +#TestSection("Stereo Modes")
    +
    +#ra.scalableActivationMode = ra.Always
    +#ra.stereoRendering = 1
    +#ra.stereoType = ra.RedBlue
    +#SetRenderingAttributes(ra)
    +
    +#OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +#AddPlot("Mesh","mesh1")
    +
    +# make the eye separation as noticable as possible
    +#ResetView()
    +#v = GetView3D()
    +#v.eyeAngle = 5
    +#v.viewNormal=(0.707, 0, 0.707)
    +#SetView3D(v)
    +#DrawPlots()
    +
    +#Test("scalable_11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_shadows.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_shadows.html new file mode 100644 index 000000000..b50e1f82b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_shadows.html @@ -0,0 +1,54 @@ + +Results for rendering/shadows.py + +

    Results of VisIt Regression Test - rendering/shadows

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    shadows_010.000.00
    shadows_020.000.00
    shadows_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_shadows_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_shadows_py.html new file mode 100644 index 000000000..179c94a93 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_shadows_py.html @@ -0,0 +1,55 @@ +rendering/shadows.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  shadows.py
    +#
    +#  Tests:      mesh      - 2D/3D rectilinear, one domain
    +#              plots     - pseudocolor, surface
    +#              operators - isosurface
    +#              selection - no
    +#
    +#  Defect ID:  5539, 7068
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 3, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +
    +AddOperator("Isosurface")
    +i = IsosurfaceAttributes()
    +i.contourNLevels = 1
    +SetOperatorOptions(i)
    +
    +r = RenderingAttributes()
    +r.scalableActivationMode = r.Always
    +r.doShadowing = 1
    +SetRenderingAttributes(r)
    +l = GetLight(0)
    +l.direction = (-0.707, 0, -0.707)
    +SetLight(0, l)
    +DrawPlots()
    +Test("shadows_01")
    +
    +r.shadowStrength = 0.9
    +SetRenderingAttributes(r)
    +Test("shadows_02")
    +
    +# Now test that we don't crash with 2D.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("shadows_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_specular.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_specular.html new file mode 100644 index 000000000..67f260e0e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_specular.html @@ -0,0 +1,102 @@ + +Results for rendering/specular.py + +

    Results of VisIt Regression Test - rendering/specular

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    specular_010.000.00
    specular_020.000.00
    specular_030.000.00
    specular_040.000.00
    specular_050.000.00
    specular_060.000.00
    specular_070.000.00
    specular_080.000.00
    specular_090.000.00
    specular_100.000.00
    specular_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_specular_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_specular_py.html new file mode 100644 index 000000000..5d3318baa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_specular_py.html @@ -0,0 +1,124 @@ +rendering/specular.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  specular.py
    +#
    +#  Tests:      mesh      - 2D/3D rectilinear, one domain
    +#              plots     - pseudocolor
    +#              operators - isosurface
    +#              selection - no
    +#
    +#  Defect ID:  5555, 5580
    +#
    +#  Programmer: Hank Childs
    +#  Date:       November 2, 2004
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Nov  3 16:41:56 PST 2004
    +#    Commented out specular_11, since it was failing in SR mode.  Submitted
    +#    new ticket, '5580 to address this.
    +#
    +#    Hank Childs, Fri Dec  9 08:01:46 PST 2005
    +#    Uncomment specular_11.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +
    +AddOperator("Isosurface")
    +i = IsosurfaceAttributes()
    +i.contourNLevels = 1
    +SetOperatorOptions(i)
    +
    +DrawPlots()
    +Test("specular_01")
    +
    +r = GetRenderingAttributes()
    +r.specularFlag = 1
    +SetRenderingAttributes(r)
    +Test("specular_02")
    +
    +# Highly concentrated, low power
    +r.specularCoeff = 0.9
    +r.specularPower = 100
    +SetRenderingAttributes(r)
    +Test("specular_03")
    +
    +# Poorly concentrated, high power
    +r.specularCoeff = 0.1
    +r.specularPower = 1
    +SetRenderingAttributes(r)
    +Test("specular_04")
    +
    +# Test that specular is properly turned off when PC's lighting is turned off.
    +pc_atts = PseudocolorAttributes()
    +pc_atts.lightingFlag = 0
    +SetPlotOptions(pc_atts)
    +Test("specular_05")
    +
    +# Make sure that specular is not affecting 2D plots.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("specular_06")
    +
    +# Now do the same things over again with Pseudocolor + Elevate
    +
    +DeleteAllPlots()
    +r.specularFlag = 0
    +SetRenderingAttributes(r)
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hgslice")
    +AddOperator("Elevate")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.35795, -0.730451, 0.581647)
    +v.focus = (0, 0, 10)
    +v.viewUp = (0.0642975, 0.60216, 0.795782)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +Test("specular_07")
    +
    +r = GetRenderingAttributes()
    +r.specularCoeff = 0.6
    +r.specularPower = 10
    +r.specularFlag = 1
    +SetRenderingAttributes(r)
    +Test("specular_08")
    +
    +# Highly concentrated, low power
    +r.specularCoeff = 0.9
    +r.specularPower = 100
    +SetRenderingAttributes(r)
    +Test("specular_09")
    +
    +# Poorly concentrated, high power
    +r.specularCoeff = 0.1
    +r.specularPower = 1
    +SetRenderingAttributes(r)
    +Test("specular_10")
    +
    +# Test that specular is properly turned off when PC's lighting is turned off.
    +pc_atts = PseudocolorAttributes()
    +pc_atts.lightingFlag = 0
    +SetPlotOptions(pc_atts)
    +Test("specular_11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text2d.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text2d.html new file mode 100644 index 000000000..b1418aab7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text2d.html @@ -0,0 +1,108 @@ + +Results for rendering/text2d.py + +

    Results of VisIt Regression Test - rendering/text2d

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    text2d000.000.00
    text2d010.000.00
    text2d020.000.00
    text2d030.000.00
    text2d040.000.00
    text2d050.000.00
    text2d060.000.00
    text2d070.000.00
    text2d080.000.00
    text2d090.000.00
    text2d100.000.00
    text2d110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text2d_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text2d_py.html new file mode 100644 index 000000000..72a908dee --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text2d_py.html @@ -0,0 +1,123 @@ +rendering/text2d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  text2d.py
    +#
    +#  Tests:      mesh        - 2D curvilinear, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Text2D
    +#
    +#  Defect ID:  None
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Dec 4 14:39:21 PST 2003
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Brad Whitlock, Tue Feb 28 12:00:21 PST 2012
    +#    Add test for words that used to get truncated.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (80, 0, 100, 255)
    +a.foregroundColor = (255, 255, 255, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and do a plot.
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Create a Text2D object
    +text = CreateAnnotationObject("Text2D")
    +text.text = "Pseudocolor plot!"
    +text.height = 0.05
    +text.position = (0.25, 0.45)
    +Test("text2d00")
    +
    +# Set the foreground color to see if it changes
    +a.foregroundColor = (255, 255, 0, 255)
    +SetAnnotationAttributes(a)
    +Test("text2d01")
    +
    +# Test solid text color
    +a.foregroundColor = (255, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +text.useForegroundForTextColor = 0
    +text.textColor = (0, 255, 0, 255)
    +Test("text2d02")
    +
    +# Test text opacity
    +text.height = 0.18
    +text.position = (0.25, 0.45)
    +text.textColor = (255,255,255,150)
    +Test("text2d03")
    +
    +# Set the text atts
    +text.textColor = (255,255,255,255)
    +text.useForegroundForTextColor = 1
    +text.height = 0.05
    +
    +# Create more text objects
    +courier = CreateAnnotationObject("Text2D")
    +courier.text = "Courier"
    +courier.fontFamily = courier.Courier
    +courier.position = (0.25, 0.35)
    +courier.height = 0.06
    +times = CreateAnnotationObject("Text2D")
    +times.text = "Times"
    +times.fontFamily = courier.Times
    +times.position = (0.25, 0.25)
    +times.height = 0.07
    +Test("text2d04")
    +
    +# Set the bold flag
    +text.fontBold = 1
    +courier.fontBold = 1
    +times.fontBold = 1
    +Test("text2d05")
    +
    +# Set the italic flag
    +text.fontItalic = 1
    +courier.fontItalic = 1
    +times.fontItalic = 1
    +Test("text2d06")
    +
    +# Set the shadow flag
    +text.fontShadow = 1
    +courier.fontShadow = 1
    +times.fontShadow = 1
    +Test("text2d07")
    +
    +# Start Removing text
    +courier.Delete()
    +Test("text2d08")
    +times.Delete()
    +Test("text2d09")
    +text.Delete()
    +Test("text2d10")
    +
    +# Test for words that used to get truncated
    +erg = CreateAnnotationObject("Text2D")
    +erg.position = (0.5, 0.3)
    +erg.text = "Erg"
    +erg.height = 0.08
    +erg.useForegroundForTextColor = 0
    +erg.textColor = (255, 255, 255, 255)
    +era = CreateAnnotationObject("Text2D")
    +era.position = (0.5, 0.2)
    +era.text = "    Era"
    +era.height = 0.12
    +era.useForegroundForTextColor = 0
    +era.textColor = (255, 255, 255, 255)
    +Test("text2d11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text3d.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text3d.html new file mode 100644 index 000000000..7b085ee73 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text3d.html @@ -0,0 +1,104 @@ + +Results for rendering/text3d.py + +

    Results of VisIt Regression Test - rendering/text3d

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    text3d000.000.00
    text3d010.000.00
    text3d020.000.00
    text3d032.220.37
    text3d040.000.00
    text3d050.000.00
    text3d060.000.00
    text3d070.000.00
    text3d080.000.00
    text3d090.000.00
    text3d100.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text3d_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text3d_py.html new file mode 100644 index 000000000..9878095a6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_text3d_py.html @@ -0,0 +1,103 @@ +rendering/text3d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  text3d.py
    +#
    +#  Tests:      mesh        - 2D curvilinear, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Text2D
    +#
    +#  Defect ID:  None
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       August 31, 2015
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (80, 0, 100, 255)
    +a.foregroundColor = (255, 255, 255, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and do a plot.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Create a Text2D object
    +text = CreateAnnotationObject("Text3D")
    +text.text = "Pseudocolor plot!"
    +text.position = (-10,10,10)
    +Test("text3d00")
    +
    +# Set the foreground color to see if it changes
    +a.foregroundColor = (51, 204, 204, 255)
    +SetAnnotationAttributes(a)
    +Test("text3d01")
    +
    +# Test solid text color
    +a.foregroundColor = (255, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +text.useForegroundForTextColor = 0
    +text.textColor = (255, 102, 0, 255)
    +Test("text3d02")
    +
    +# Test text opacity
    +text.position = (-5,0,9)
    +text.textColor = (255,102,0,150)
    +text.relativeHeight = 0.05
    +Test("text3d03")
    +
    +# Test Height mode
    +text.textColor = (255,102,0,255)
    +text.heightMode = text.Fixed
    +text.fixedHeight = 2
    +Test("text3d04")
    +
    +# Test preserveOrientation
    +text.position = (-10, 0, 12)
    +v = GetView3D()
    +v.viewNormal = (0, 0.707107, 0.707107)
    +v.viewUp = (0, 0.707107, -0.707107)
    +SetView3D(v)
    +Test("text3d05")
    +
    +text.preserveOrientation = 1
    +Test("text3d06")
    +
    +
    +# Test rotations
    +
    +# Create more text objects
    +AddOperator("Reflect")
    +reflect = ReflectAttributes()
    +reflect.reflections=(1, 1, 0, 0, 0, 0, 0, 0)
    +SetOperatorOptions(reflect)
    +text.text="Left"
    +text.position=(-20, -5, 10)
    +text.rotations=(0,0,90)
    +text.heightMode = text.Relative
    +DrawPlots()
    +ResetView()
    +Test("text3d07")
    +
    +right = CreateAnnotationObject("Text3D")
    +right.position = (-5, 0, 10)
    +right.text = "Right"
    +right.relativeHeight = 0.05
    +right.rotations=(0,0, -45)
    +Test("text3d08")
    +
    +text.Delete()
    +Test("text3d09")
    +right.Delete()
    +Test("text3d10")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_timeslider.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_timeslider.html new file mode 100644 index 000000000..26e50d88a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_timeslider.html @@ -0,0 +1,174 @@ + +Results for rendering/timeslider.py + +

    Results of VisIt Regression Test - rendering/timeslider

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    timeslider000.000.00
    timeslider010.000.00
    timeslider020.000.00
    timeslider030.000.00
    timeslider040.000.00
    timeslider050.000.00
    timeslider060.000.00
    timeslider070.000.00
    timeslider080.000.00
    timeslider090.000.00
    timeslider100.000.00
    timeslider110.000.00
    timeslider120.000.00
    timeslider130.000.00
    timeslider140.000.00
    timeslider150.000.00
    timeslider160.000.00
    timeslider170.000.00
    timeslider180.000.00
    timeslider190.000.00
    timeslider200.000.00
    timeslider210.000.00
    timeslider220.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_timeslider_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_timeslider_py.html new file mode 100644 index 000000000..6ee6b28d4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_timeslider_py.html @@ -0,0 +1,162 @@ +rendering/timeslider.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  timeslider.py
    +#
    +#  Tests:      mesh        - 2D curvilinear, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Time slider
    +#
    +#  Defect ID:  VisIt00003746
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Dec 4 14:39:21 PST 2003
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Update due to change 
    +#
    +#    Brad Whitlock, Wed Sep 28 14:12:00 PDT 2011
    +#    Move the time slider around a couple times.
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (0, 0, 0, 255)
    +a.foregroundColor = (255, 255, 255, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and create a plot.
    +OpenDatabase(data_path("pdb_test_data/allinone00.pdb"))
    +
    +AddPlot("Pseudocolor", "mesh/a")
    +SetTimeSliderState(4)
    +DrawPlots()
    +
    +# Create a time slider
    +slider = CreateAnnotationObject("TimeSlider")
    +Test("timeslider00")
    +
    +# Turn it off
    +slider.visible = 0
    +Test("timeslider01")
    +
    +# Turn it back on and move and resize it
    +slider.visible = 1
    +slider.width = 0.60
    +slider.height = 0.1
    +slider.position = (0.2, 0.03)
    +Test("timeslider02")
    +
    +# Change the colors
    +slider.startColor = (255, 0, 0, 255)
    +slider.endColor = (255, 255, 0, 255)
    +Test("timeslider03")
    +
    +# Change the rounding mode
    +slider.rounded = 0
    +Test("timeslider04")
    +
    +# Change the shading mode
    +slider.shaded = 0
    +Test("timeslider05")
    +
    +# Change the text
    +slider.text = "The time is: $time"
    +Test("timeslider06")
    +SetTimeSliderState(14)
    +Test("timeslider07")
    +
    +# Change the text color
    +slider.shaded = 1
    +slider.rounded = 1
    +slider.useForegroundForTextColor = 0
    +slider.textColor = (0, 0, 255, 255)
    +Test("timeslider08")
    +
    +# Create a new slider
    +SetTimeSliderState(18)
    +slider2 = CreateAnnotationObject("TimeSlider","slider_obj")
    +slider2.position = (0.3, 0.8)
    +slider2.height = 0.15
    +Test("timeslider09")
    +
    +# Delete the first slider.
    +slider.Delete()
    +Test("timeslider10")
    +
    +# Create an alias to the second slider using the GetAnnotationObject call.
    +foo = GetAnnotationObject("slider_obj")
    +foo.startColor = (255, 0, 255, 255)
    +foo.endColor = (0, 255, 255, 100)
    +Test("timeslider11")
    +
    +# Delete the annotation using the alias.
    +foo.Delete()
    +Test("timeslider12")
    +
    +# Delete all plots and open a new database
    +SetTimeSliderState(0)
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "speed")
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +v0 = View3DAttributes()
    +v0.viewNormal = (-0.556371, 0.348221, 0.754449)
    +v0.focus = (0, 0, 0)
    +v0.viewUp = (0.185162, 0.93708, -0.295968)
    +v0.viewAngle = 30
    +v0.parallelScale = 17.3205
    +v0.nearPlane = -34.641
    +v0.farPlane = 34.641
    +v0.imagePan = (0, 0)
    +v0.imageZoom = 1.20945
    +v0.perspective = 1
    +v0.eyeAngle = 2
    +
    +v1 = View3DAttributes()
    +v1.viewNormal = (0.501427, 0.560716, 0.658915)
    +v1.focus = (0, 0, 0)
    +v1.viewUp = (-0.272851, 0.825194, -0.494577)
    +v1.viewAngle = 30
    +v1.parallelScale = 17.3205
    +v1.nearPlane = -34.641
    +v1.farPlane = 34.641
    +v1.imagePan = (0, 0)
    +v1.imageZoom = 1.52784
    +v1.perspective = 1
    +v1.eyeAngle = 2
    +
    +# Create a new slider
    +slider = CreateAnnotationObject("TimeSlider")
    +slider.position = (0.2, 0.02)
    +slider.width = 0.6
    +slider.height = 0.08
    +slider.percentComplete = 0
    +slider.timeDisplay = slider.UserSpecified
    +slider.text = "Using percentComplete manually"
    +testnum = 13
    +nsteps = 10
    +moves = {4 : (0.02, 0.5), 8 : (0.2, 0.9)}
    +# Set the percentComplete manually
    +for i in range(nsteps):
    +    t = float(i) / float(nsteps - 1)
    +    slider.percentComplete = t * 100.
    +    if i in list(moves.keys()):
    +        slider.position = moves[i]
    +    v = v0 * (1. - t) + v1 * t
    +    SetView3D(v)
    +    Test("timeslider%02d" % testnum)
    +    testnum = testnum + 1
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_view.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_view.html new file mode 100644 index 000000000..0c5f7ebcb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_view.html @@ -0,0 +1,251 @@ + +Results for rendering/view.py + +

    Results of VisIt Regression Test - rendering/view

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    view_010.000.00
    Test degenerate 2D views
    view_020.000.00
    view_030.000.00
    view_040.000.00
    view_050.000.00
    Test degenerate curve views
    view_060.000.00
    view_070.000.00
    view_080.000.00
    view_090.190.00
    Test zoom in on mesh lines
    view_100.000.00
    view_110.000.00
    view_120.000.00
    view_130.000.00
    Test actual extents
    view_140.000.00
    view_150.000.00
    view_160.000.00
    view_170.000.00
    view_180.000.00
    view_190.000.00
    Test 3D plots with degenerate extents
    view_200.000.00
    view_210.000.00
    view_220.000.00
    Test interpolation of View3DAttributes
    view_230.000.00
    view_240.000.00
    view_250.000.00
    view_260.000.00
    view_270.000.00
    Test interpolation of View2DAttributes
    view_280.000.00
    view_290.000.00
    view_300.000.00
    view_310.000.00
    view_320.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_viewChange.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_viewChange.html new file mode 100644 index 000000000..c3540214f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_viewChange.html @@ -0,0 +1,222 @@ + +Results for rendering/viewChange.py + +

    Results of VisIt Regression Test - rendering/viewChange

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing view changes with slice flip
    ViewChangeSliceFlip0.000.00
    Testing view changes with fullframe
    ViewChangeFullFrame_010.000.00
    ViewChangeFullFrame_020.000.00
    ViewChangeFullFrame_030.000.00
    ViewChangeFullFrame_040.000.00
    ViewChangeFullFrame_050.000.00
    ViewChangeFullFrame_060.000.00
    ViewChangeFullFrame_070.000.00
    Testing view changes with fullframe and glyphed plots
    ViewChangeAutoFF_000.000.00
    ViewChangeAutoFF_010.000.00
    ViewChangeAutoFF_020.000.00
    ViewChangeAutoFF_030.000.00
    ViewChangeAutoFF_040.000.00
    ViewChangeAutoFF_050.000.00
    Testing view changes with log scaling of 2D plots
    ViewChangeLogScale2D_000.000.00
    ViewChangeLogScale2D_010.000.00
    ViewChangeLogScale2D_020.000.00
    Testing view changes with log scaling of curves
    ViewChangeLogScaleCurves_000.000.00
    ViewChangeLogScaleCurves_010.000.00
    ViewChangeLogScaleCurves_020.000.00
    ViewChangeLogScaleCurves_030.000.00
    ViewChangeLogScaleCurves_040.000.00
    ViewChangeLogScaleCurves_050.000.00
    largeValueLineout0.000.00
    largeValueLineout_logScaling0.000.00
    largeValueMeshCurve0.000.00
    largeValueMeshCurve_logScaling0.000.00
    Testing view changes with fullframe and label plots
    ViewChangeFullFrameWithLabels_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_viewChange_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_viewChange_py.html new file mode 100644 index 000000000..7b5143ff9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_viewChange_py.html @@ -0,0 +1,450 @@ +rendering/viewChange.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  viewChange.py
    +#
    +#  Tests:      mesh      - structured grid 
    +#              plots     - pc
    +#              operators - slice
    +#              selection - none
    +#
    +#  Defect ID:  VisIt00003350, VisIt000032263
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       May 14, 2003 
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Tue Jul  8 21:04:45 PDT 2003 
    +#    Changed ViewChangeSliceFlip, to use Flip, then change so that
    +#    image remains the same .. necessary do to slice changes.
    +#
    +#    Kathleen Bonnell, Wed Jul 16 18:07:33 PDT 2003 
    +#    Added more full-frame tests: for Histogram plot, transparent plot,
    +#    and plots with ViewExtentsType set to 'actual'.
    +#
    +#    Mark C. Miller, Tue Mar 14 07:54:20 PST 2006
    +#    Changed how full-frame is turned on/off
    +#
    +#    Brad Whitlock, Wed Jul 26 14:31:57 PST 2006
    +#    Added testing for auto fullframe of some glyphed plots.
    +#
    +#    Kathleen Bonnell, Tue Mar  3 13:20:57 PST 2009
    +#    Added testing for log-scaling of curves and 2d plots.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Wed Oct 21 11:19:52 PDT 2020
    +#    Added TestLargeValueLineoutWithLogScaling
    +#
    +#    Alister Maguire, Mon May 24 12:50:20 PDT 2021
    +#    Added TestViewChangeFullFrameWithLabels.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def InitAnnotation():
    +    # Turn off most annotation
    +    a = GetAnnotationAttributes()
    +    a.axes2D.visible = 1
    +    a.axes2D.xAxis.label.visible = 0
    +    a.axes2D.yAxis.label.visible = 0
    +    a.axes2D.xAxis.title.visible = 0
    +    a.axes2D.yAxis.title.visible = 0
    +    a.axes3D.visible = 0
    +    a.axes3D.triadFlag = 0
    +    a.axes3D.bboxFlag = 0
    +    a.userInfoFlag = 0
    +    a.databaseInfoFlag = 0
    +    a.legendInfoFlag = 0
    +    a.backgroundMode = 0
    +    a.foregroundColor = (0, 0, 0, 255)
    +    a.backgroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(a)
    +
    +
    +def TestViewChangeSliceFlip():
    +    TestSection("Testing view changes with slice flip")
    +    OpenDatabase(silo_data_path("wave0000.silo"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.project2d = 1
    +    slice.axisType = slice.ZAxis
    +    slice.flip = 1
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    # We want to capture the image after the flip, to ensure
    +    # the frame and axes are still drawn correctly.
    +    slice.flip = 0
    +    SetOperatorOptions(slice)
    +
    +    Test("ViewChangeSliceFlip")
    +    DeleteAllPlots()
    +
    +def TestViewChangeFullFrame():
    +    TestSection("Testing view changes with fullframe")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    # We want to capture the image after toggling full frame mode, 
    +    # to ensure frame and axes are still drawn correctly.
    +
    +    # Turn full frame mode ON
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.On
    +    SetView2D(v)
    +    Test("ViewChangeFullFrame_01")
    +
    +    # Does a transparent actor maintain the full frame mode? 
    +    p = PseudocolorAttributes()
    +    p.SetOpacityType(p.Constant)
    +    p.opacity = 0.5;
    +    SetPlotOptions(p);
    +    Test("ViewChangeFullFrame_02")
    +
    +
    +    p.SetOpacityType(p.FullyOpaque)
    +    SetPlotOptions(p)
    +    # Turn full frame mode OFF
    +    ToggleFullFrameMode()
    +    AddOperator("Clip")
    +    c = ClipAttributes()
    +    c.plane1Origin = (0, 3, 0)
    +    c.plane1Normal = (0, -1, 0)
    +    SetOperatorOptions(c)
    +    DrawPlots()
    +    SetViewExtentsType("actual")
    +    # Turn full frame mode ON
    +    ToggleFullFrameMode()
    +    Test("ViewChangeFullFrame_03")
    +    # Turn full frame mode OFF
    +    ToggleFullFrameMode()
    +    Test("ViewChangeFullFrame_04")
    +    # Turn full frame mode ON
    +    ToggleFullFrameMode()
    +    SetViewExtentsType("original")
    +    Test("ViewChangeFullFrame_05")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Histogram", "u")
    +    DrawPlots()
    +    ResetView()
    +    Test("ViewChangeFullFrame_06")
    +    h = HistogramAttributes()
    +    h.numBins = 5
    +    SetPlotOptions(h)
    +    Test("ViewChangeFullFrame_07")
    +
    +    # cleanup for next test
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.Auto
    +    SetView2D(v)
    +
    +    DeleteAllPlots()
    +
    +def TestViewChangeFullFrameWithGlyphs():
    +    TestSection("Testing view changes with fullframe and glyphed plots")
    +    OpenDatabase(silo_data_path("fullframe.silo"))
    +
    +    AddPlot("Mesh", "fullframe")
    +    DrawPlots()
    +    ResetView()
    +    Test("ViewChangeAutoFF_00")
    +
    +    AddPlot("Vector", "vec")
    +    v = VectorAttributes()
    +    v.nVectors = 800
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    Test("ViewChangeAutoFF_01")
    +
    +    DeleteAllPlots()
    +
    +    # Make sure it kicks in when the vector plot is the only plot.
    +    AddPlot("Vector", "vec")
    +    v = VectorAttributes()
    +    v.nVectors = 800
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    Test("ViewChangeAutoFF_02")
    +
    +    DeleteAllPlots()
    +
    +    # Test a Pseudocolor plot of point mesh data
    +    AddPlot("Pseudocolor", "rad")
    +    p = PseudocolorAttributes()
    +    p.pointType = p.Box
    +    p.pointSize = 5e+8
    +    SetPlotOptions(p)
    +    DrawPlots()
    +    Test("ViewChangeAutoFF_03")
    +
    +    p.pointType = p.Axis
    +    SetPlotOptions(p)
    +    Test("ViewChangeAutoFF_04")
    +
    +    DeleteAllPlots()
    +
    +    # Test a Mesh plot of a point mesh
    +    AddPlot("Mesh", "pointmesh")
    +    m = MeshAttributes()
    +    m.pointType = m.Box
    +    m.pointSize = 5e+8
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("ViewChangeAutoFF_05")
    +    DeleteAllPlots()
    +
    +def TestViewChangeLogScaling2D():
    +    TestSection("Testing view changes with log scaling of 2D plots")
    +
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    ResetView()
    +
    +    #7944  ensure that changing curve view scaling does not affect 2D.
    +    v = GetViewCurve()
    +    v.domainScale = v.LOG
    +    v.rangeScale = v.LOG
    +    SetViewCurve(v)
    +
    +    Test("ViewChangeLogScale2D_00")
    +
    +    #8563  using view window coords to put a plot into a range suitable 
    +    #      for log-scaling
    +
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.Off
    +    wc = v.windowCoords
    +    v.windowCoords = (1e-13, 0.25, wc[2], wc[3])
    +    SetView2D(v)
    +
    +    Test("ViewChangeLogScale2D_01")
    +    v.xScale = v.LOG
    +    SetView2D(v)
    +    Test("ViewChangeLogScale2D_02")
    +
    +    #clean up for next test
    +    v = GetView2D()
    +    v.xScale = v.LINEAR
    +    v.yScale = v.LINEAR
    +    SetView2D(v)
    +    ResetView()
    +
    +    v = GetViewCurve()
    +    v.domainScale = v.LINEAR
    +    v.rangeScale = v.LINEAR
    +    SetViewCurve(v)
    +    DeleteAllPlots()
    +
    +def TestViewChangeLogScalingCurves():
    +    TestSection("Testing view changes with log scaling of curves")
    +    # '8880:  Add curve plot.  Set scaling to log-log.  Add another curve plot.
    +    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +    AddPlot("Curve", "Laplace Distribution")
    +    curveAtts = CurveAttributes()
    +    curveAtts.curveColorSource = curveAtts.Custom
    +    curveAtts.curveColor = (255, 0, 0, 255)
    +    SetPlotOptions(curveAtts)
    +
    +    # For log scaling to work with these curves, we need to transform
    +    # first.
    +
    +    trans = TransformAttributes()
    +    trans.doTranslate = 1
    +    trans.translateX = 30
    +    trans.translateY = 10
    +    SetDefaultOperatorOptions(trans)
    +    AddOperator("Transform")
    +    DrawPlots()
    +    ResetView()
    +    Test("ViewChangeLogScaleCurves_00")
    +
    +    v = GetViewCurve()
    +    v.domainScale = v.LOG
    +    v.rangeScale  = v.LOG
    +    SetViewCurve(v)
    +
    +    Test("ViewChangeLogScaleCurves_01")
    +
    +    AddPlot("Curve", "Log Normal Distribution")
    +    curveAtts.curveColor = (0, 255, 0, 255)
    +    SetPlotOptions(curveAtts)
    +    AddOperator("Transform")
    +    DrawPlots()
    +    Test("ViewChangeLogScaleCurves_02")
    +
    +    AddPlot("Curve", "Exponential Distribution")
    +    curveAtts.curveColor = (0, 0, 255, 255)
    +    SetPlotOptions(curveAtts)
    +    AddOperator("Transform")
    +    DrawPlots()
    +    Test("ViewChangeLogScaleCurves_03")
    +
    +    v = GetViewCurve()
    +    v.domainScale = v.LINEAR
    +    v.rangeScale  = v.LINEAR
    +    SetViewCurve(v)
    +
    +    DeleteAllPlots()
    +
    +    #8660  add log scaling to a curve put in an appropriate range via the
    +    #      box operator
    +    OpenDatabase(data_path("curve_test_data/c063.curve"))
    +
    +    AddPlot("Curve", "flat")
    +    curveAtts.curveColor = (0, 255, 255, 255)
    +    SetPlotOptions(curveAtts)
    +    AddPlot("Curve", "going_down")
    +    curveAtts.curveColor = (255, 0, 255, 255)
    +    SetPlotOptions(curveAtts)
    +    AddPlot("Curve", "going_up")
    +    curveAtts.curveColor = (255, 255, 0, 255)
    +    SetPlotOptions(curveAtts)
    +    AddPlot("Curve", "parabolic")
    +    curveAtts.curveColor = (255, 135, 0, 255)
    +    SetPlotOptions(curveAtts)
    +
    +    DrawPlots()
    +
    +    SetActivePlots((0, 1, 2, 3))
    +    AddOperator("Box")
    +    b = BoxAttributes()
    +    b.minx = 0.4
    +    b.maxx = 0.8
    +    b.miny = 0.000001
    +    b.maxy = 10000
    +    SetOperatorOptions(b)
    +    DrawPlots()
    +
    +    SetViewExtentsType("actual")
    +
    +    Test("ViewChangeLogScaleCurves_04")
    +
    +    v = GetViewCurve()
    +    v.domainScale = v.LOG
    +    v.rangeScale  = v.LOG
    +    SetViewCurve(v)
    +
    +    Test("ViewChangeLogScaleCurves_05")
    +
    +    #clean up for next test
    +    v = GetViewCurve()
    +    v.domainScale = v.LINEAR
    +    v.rangeScale  = v.LINEAR
    +    SetViewCurve(v)
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def TestLargeValueLineoutWithLogScaling():
    +    # github bug #5066
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +    DefineScalarExpression("tlarge", "t*1e19")
    +    AddPlot("Pseudocolor", "tlarge")
    +    DrawPlots()
    +    Lineout((0.5, 1.5, 0), (0.5, 0, 0))
    +    SetActiveWindow(2)
    +    # Instead of getting *default* curve plot atts,
    +    # get *current* plot's atts using `1` arg. This
    +    # is to change *only* the attrs we want to change.
    +    curveAtts = CurveAttributes(1)
    +    curveAtts.lineWidth = 3
    +    SetPlotOptions(curveAtts)
    +    Test("largeValueLineout")
    +
    +    # save the curve as VTK so Mesh plot and 2D view can be tested.
    +    oldSwa = SaveWindowAttributes()
    +    swa = SaveWindowAttributes()
    +    swa.fileName="lineoutRes"
    +    swa.family=0
    +    swa.format=swa.VTK
    +    # need to ensure this is set (not the default on Windows)
    +    swa.outputToCurrentDirectory=1
    +    SetSaveWindowAttributes(swa)
    +    if TestEnv.params["scalable"] == 0:
    +        SaveWindow()
    +    else:
    +        # Turn of SR mode for the saveWindow, then turn it back on
    +        ra = GetRenderingAttributes()
    +        srm = ra.scalableActivationMode
    +        ra.scalableActivationMode = ra.Never
    +        SetRenderingAttributes(ra)
    +        SaveWindow()
    +        ra = GetRenderingAttributes()
    +        ra.scalableActivationMode = srm
    +        SetRenderingAttributes(ra)
    +    # restore previous settings
    +    SetSaveWindowAttributes(oldSwa)
    +
    +    v = GetViewCurve()
    +    v.rangeScale  = v.LOG
    +    SetViewCurve(v)
    +    Test("largeValueLineout_logScaling")
    +
    +    v = GetViewCurve()
    +    v.rangeScale  = v.LINEAR
    +    SetViewCurve(v)
    +
    +    DeleteAllPlots()
    +    OpenDatabase("lineoutRes.vtk")
    +    AddPlot("Mesh", "mesh")
    +    meshAtts = MeshAttributes()
    +    meshAtts.lineWidth=3
    +    SetPlotOptions(meshAtts)
    +    DrawPlots()
    +    Test("largeValueMeshCurve")
    +
    +    v = GetView2D()
    +    v.yScale = v.LOG
    +    SetView2D(v)
    +    Test("largeValueMeshCurve_logScaling")
    +    v.yScale = v.LINEAR
    +    SetView2D(v)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +def TestViewChangeFullFrameWithLabels():
    +    TestSection("Testing view changes with fullframe and label plots")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh2d")
    +    AddPlot("Label", "curvmesh2d")
    +
    +    View2DAtts = View2DAttributes()
    +    View2DAtts.windowCoords = (-4.69855, 4.88342, 0.225185, 4.93329)
    +    View2DAtts.fullFrameActivationMode = View2DAtts.On
    +    SetView2D(View2DAtts)
    +
    +    DrawPlots()
    +
    +    Test("ViewChangeFullFrameWithLabels_00")
    +
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +
    +def ViewChangeMain():
    +    InitAnnotation()
    +    TestViewChangeSliceFlip()
    +    TestViewChangeFullFrame()
    +    TestViewChangeFullFrameWithGlyphs()
    +    TestViewChangeLogScaling2D()
    +    TestViewChangeLogScalingCurves()
    +    TestLargeValueLineoutWithLogScaling()
    +    TestViewChangeFullFrameWithLabels()
    +
    +# Call the main function
    +ViewChangeMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_view_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_view_py.html new file mode 100644 index 000000000..5d6297072 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_view_py.html @@ -0,0 +1,382 @@ +rendering/view.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  view.py
    +#
    +#  Tests:      mesh      - 2D structured, single domain 
    +#                        - 3D unstructured, multiple domains
    +#                        - 3D rectilinear, single domain
    +#                        - Curve
    +#              plots     - pseudocolor, curve, mesh
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  VisIt00003915, VisIt00004247, VisIt00003398, VisIt00004896,
    +#              VisIt00005337
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       November 18, 2003 
    +#
    +#  Modifications:
    +#    Eric Brugger, Fri Apr 23 08:54:22 PDT 2004
    +#    Add a test to make sure that we can set the 3d view before any plots
    +#    are created.  Add tests to make sure that we can reset and recenter
    +#    the view when no plots are present.
    +#
    +#    Eric Brugger, Thu May 13 10:26:02 PDT 2004
    +#    Add a test to make sure switching view extents type to actual results
    +#    in new plots being centered after deleting all the existing plots.
    +#
    +#    Eric Brugger, Mon May 24 11:21:04 PDT 2004
    +#    Add a test with small extents.
    +#
    +#    Eric Brugger, Tue May 25 15:17:18 PDT 2004
    +#    Modify the test for small extents, and add more small and large extents
    +#    tests.
    +#
    +#    Eric Brugger, Mon Sep 20 13:37:52 PDT 2004
    +#    Add several tests for combining 3d plots with degenerate extents.
    +#
    +#    Brad Whitlock, Thu Mar 15 11:31:26 PDT 2007
    +#    Test that the bindings for 2D,3D views can still interpolate.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +# Test setting the 3d view before creating the first plot.
    +v = View3DAttributes()
    +v.imagePan = (0.2, 0.2)
    +v.imageZoom = 1.2
    +v.viewNormal = (-0.5, 0.707107, 0.5)
    +v.viewUp = (0.5, 0.707107, -0.5)
    +SetView3D(v)
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("view_01")
    +
    +DeleteAllPlots()
    +
    +# Create a psuedocolor plot and test various degenerate 2d views.
    +TestSection("Test degenerate 2D views")
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +v = View2DAttributes()
    +v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +
    +v.windowCoords = (-4.68395, 4.89802, 2.5, 2.5)
    +SetView2D(v)
    +Test("view_02")
    +
    +v.windowCoords = (0.5, 0.5, 0.216897, 4.925)
    +SetView2D(v)
    +Test("view_03")
    +
    +v.windowCoords = (0.5, 0.5, 2.5, 2.5)
    +SetView2D(v)
    +Test("view_04")
    +
    +v.windowCoords = (0, 0, 0, 0)
    +SetView2D(v)
    +Test("view_05")
    +
    +DeleteAllPlots()
    +
    +# Create several curve plots and test various degenerate curve views.
    +TestSection("Test degenerate curve views")
    +OpenDatabase(data_path("curve_test_data/c051.curve"))
    +
    +
    +AddPlot("Curve", "flat")
    +curveAtts = CurveAttributes()
    +curveAtts.curveColorSource = curveAtts.Custom
    +curveAtts.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "going_up")
    +curveAtts.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "going_down")
    +curveAtts.curveColor = (0, 0, 255, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "parabolic")
    +curveAtts.curveColor = (0, 255, 255, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +
    +v = ViewCurveAttributes()
    +v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +
    +v.domainCoords = (0., 1.)
    +v.rangeCoords = (0.3, 0.3)
    +SetViewCurve(v)
    +Test("view_06")
    +
    +v.domainCoords = (0.6, 0.6)
    +v.rangeCoords = (0., 1.)
    +SetViewCurve(v)
    +Test("view_07")
    +
    +v.domainCoords = (0.6, 0.6)
    +v.rangeCoords = (0.3, 0.3)
    +SetViewCurve(v)
    +Test("view_08")
    +
    +v.domainCoords = (0., 0.)
    +v.rangeCoords = (0., 0.)
    +SetViewCurve(v)
    +Test("view_09")
    +
    +DeleteAllPlots()
    +
    +# Create a pseudocolor and mesh plot and zoom in on a sharp edge to
    +# verify that the mesh lines are not bleeding through the surface.
    +TestSection("Test zoom in on mesh lines")
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.335187, -0.557088, 0.759804)
    +v.focus = (0, 2.5, 10)
    +v.viewUp = (-0.327416, 0.825068, 0.460501)
    +v.viewAngle = 30
    +v.parallelScale = 11.4564
    +v.nearPlane = -22.9129
    +v.farPlane = 22.9129
    +v.imagePan = (-0.136785, -0.172112)
    +v.imageZoom = 20.125
    +v.perspective = 1
    +SetView3D(v)
    +Test("view_10")
    +
    +# Test resetting and recentering the view when no plot is present.
    +DeleteAllPlots()
    +
    +ResetView()
    +
    +AddPlot("Pseudocolor", "u")
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +Test("view_11")
    +
    +v.viewNormal = (0.393726, -0.416942, 0.819231)
    +v.focus = (0, 5., 10)
    +v.viewUp = (-0.603958, 0.554522, 0.572486)
    +v.viewAngle = 30
    +v.parallelScale = 11.4564
    +v.nearPlane = -22.9129
    +v.farPlane = 22.9129
    +v.imagePan = (0.05, 0.)
    +v.imageZoom = 2.
    +v.perspective = 1
    +SetView3D(v)
    +Test("view_12")
    +
    +DeleteAllPlots()
    +
    +RecenterView()
    +
    +AddPlot("Pseudocolor", "u")
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +Test("view_13")
    +
    +# Test that setting view extents type to actual works.  Test that
    +# switching view extents type to actual results in new plots being
    +# centered after deleting all the existing plots.
    +TestSection("Test actual extents")
    +DeleteAllPlots()
    +
    +ResetView()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Clip")
    +DrawPlots()
    +SetViewExtentsType("actual")
    +Test("view_14")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "p")
    +DrawPlots()
    +Test("view_15")
    +
    +# Test setting the view with small extents.
    +DeleteAllPlots()
    +
    +ResetView()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Transform")
    +scale = TransformAttributes()
    +scale.doScale = 1
    +scale.scaleX = 1.0e-21
    +scale.scaleY = 1.0e-21
    +scale.scaleZ = 1.0e-21
    +SetOperatorOptions(scale)
    +DrawPlots()
    +Test("view_16")
    +
    +ChangeActivePlotsVar("t")
    +Test("view_17")
    +
    +# Test setting the view with large extents.
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Transform")
    +scale = TransformAttributes()
    +scale.doScale = 1
    +scale.scaleX = 1.0e17
    +scale.scaleY = 1.0e17
    +scale.scaleZ = 1.0e17
    +SetOperatorOptions(scale)
    +DrawPlots()
    +Test("view_18")
    +
    +ChangeActivePlotsVar("t")
    +Test("view_19")
    +
    +# Test various combinations of 3d plots with degenerate extents.
    +TestSection("Test 3D plots with degenerate extents")
    +DeleteAllPlots()
    +
    +ResetView()
    +
    +OpenDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +OpenDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("view_20")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +OpenDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("view_21")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +OpenDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("view_22")
    +DeleteAllPlots()
    +
    +
    +#
    +# Test that the View3DAttributes object's Python binding still has the
    +# ability to interpolate the view.
    +#
    +TestSection("Test interpolation of View3DAttributes")
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "speed")
    +DrawPlots()
    +
    +v0 = View3DAttributes()
    +v0.viewNormal = (0.416973, 0.447113, 0.791343)
    +v0.focus = (0, 0, 0)
    +v0.viewUp = (-0.23799, 0.893974, -0.379699)
    +v0.viewAngle = 30
    +v0.parallelScale = 17.3205
    +v0.nearPlane = -34.641
    +v0.farPlane = 34.641
    +v0.imagePan = (0, 0)
    +v0.imageZoom = 1
    +v0.perspective = 1
    +v0.eyeAngle = 2
    +v0.centerOfRotationSet = 0
    +v0.centerOfRotation = (0, 0, 0)
    +
    +v1 = View3DAttributes()
    +v1.viewNormal = (0.416973, 0.447113, 0.791343)
    +v1.focus = (0, 0, 0)
    +v1.viewUp = (-0.23799, 0.893974, -0.379699)
    +v1.viewAngle = 30
    +v1.parallelScale = 17.3205
    +v1.nearPlane = -34.641
    +v1.farPlane = 34.641
    +v1.imagePan = (0.160832, 0.126504)
    +v1.imageZoom = 3.95662
    +v1.perspective = 1
    +v1.eyeAngle = 2
    +v1.centerOfRotationSet = 0
    +v1.centerOfRotation = (0, 0, 0)
    +
    +idx = 23
    +nsteps = 5
    +for i in range(nsteps):
    +    t = float(i) / float(nsteps - 1)
    +    v = (1. - t) * v0 + t * v1
    +    SetView3D(v)
    +    Test("view_%d" % idx)
    +    idx = idx + 1
    +DeleteAllPlots()
    +
    +#
    +# Test that the View2DAttributes object's Python binding still has the
    +# ability to interpolate the view.
    +#
    +TestSection("Test interpolation of View2DAttributes")
    +OpenDatabase(data_path("shapefile_test_data/prism0p020/prism0p020.shp"))
    +
    +AddPlot("Pseudocolor", "RANGE")
    +DrawPlots()
    +
    +v0 = View2DAttributes()
    +v0.windowCoords = (-124.756, -66.954, 24.5183, 49.3856)
    +v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +v0.fullFrameActivationMode = v0.Off  # On, Off, Auto
    +v0.fullFrameAutoThreshold = 100
    +
    +v1 = View2DAttributes()
    +v1.windowCoords = (-77.667, -74.881, 36.6969, 39.662)
    +v1.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +v1.fullFrameActivationMode = v1.Off  # On, Off, Auto
    +v1.fullFrameAutoThreshold = 100
    +
    +nsteps = 5
    +for i in range(nsteps):
    +    t = float(i) / float(nsteps - 1)
    +    v = (1. - t) * v0 + t * v1
    +    SetView2D(v)
    +    Test("view_%d" % idx)
    +    idx = idx + 1
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_volume.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_volume.html new file mode 100644 index 000000000..0d94b18cf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_volume.html @@ -0,0 +1,58 @@ + +Results for rendering/volume.py + +

    Results of VisIt Regression Test - rendering/volume

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    volume_030.000.00
    volume_01393.52178.82
    volume_02406.40203.36
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_volume_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_volume_py.html new file mode 100644 index 000000000..48bf03722 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/rendering_volume_py.html @@ -0,0 +1,95 @@ +rendering/volume.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  volume.py
    +#
    +#  Tests:      mesh      - 3D unstructured, one domain 
    +#              plots     - volume 
    +#              operators - none
    +#              selection - yes 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       01Jul03
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Dec 15 09:36:51 PDT 2004
    +#    I changed the flag that's used to make it do software rendering.
    +#
    +#    Hank Childs, Mon Jul 11 14:07:16 PDT 2005
    +#    Added test for rectilinear grids with ghost zones and hardware rendering
    +#    ['5712].
    +#
    +#    Hank Childs, Wed Jul 13 10:31:08 PDT 2005
    +#    Delete wireframe plot, since that exposes '6380.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Wed Aug 25 14:25:13 PDT 2010
    +#    SIL id shift (from 4 to 5) due to changes in SIL generation.
    +#
    +#    Brad Whitlock, Wed Sep 28 11:48:16 PDT 2011
    +#    Zoom in a little so we have more pixels covered.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +#START SECTION TO BE MOVED
    +
    +DeleteAllPlots()
    +OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +
    +# '6380.  The wireframe is not composited correctly when in SR mode.
    +# So delete the wireframe and we should get the same picture in SR and
    +# non-SR.  When '6380 is fixed, the DeleteAllPlots() call below should be
    +# removed and the baseline should be reset.
    +DeleteAllPlots()
    +
    +AddPlot("Volume", "Primitive Var _number_0")
    +vol_atts = VolumeAttributes()
    +vol_atts.smoothData = 0
    +vol_atts.useColorVarMin = 1
    +vol_atts.colorVarMin = 22
    +SetPlotOptions(vol_atts)
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (-0.369824, 0.535308, 0.759391)
    +v.viewUp = (-0.022009, 0.812062, -0.583155)
    +SetView3D(v)
    +
    +Test("volume_03")
    +DeleteAllPlots()
    +
    +# END SECTION TO BE MOVED
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Volume", "t")
    +silr=SILRestriction()
    +silr.TurnOffSet(5)
    +SetPlotSILRestriction(silr)
    +
    +DrawPlots()
    +
    +v=GetView3D()
    +v.viewNormal=(0.507832, -0.301407, -0.807007)
    +v.viewUp=(-0.831783, -0.415313, -0.368309)
    +v.imageZoom = 2.
    +SetView3D(v)
    +
    +# test fast volume render
    +Test("volume_01")
    +
    +# test software volume render
    +volAtts=VolumeAttributes()
    +volAtts.rendererType = volAtts.RayCasting
    +SetPlotOptions(volAtts)
    +Test("volume_02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_colortable.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_colortable.html new file mode 100644 index 000000000..b1deffd4e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_colortable.html @@ -0,0 +1,42 @@ + +Results for session/colortable.py + +

    Results of VisIt Regression Test - session/colortable

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    colortable000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_colortable_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_colortable_py.html new file mode 100644 index 000000000..6f5a82b0f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_colortable_py.html @@ -0,0 +1,34 @@ +session/colortable.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  colortable.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Pseudocolor, Mesh
    +#
    +#  Notes:      This test case uses a session file to create a plot that uses
    +#              a specific built-in color table. This makes sure that choice
    +#              of color tables is preserved with session files.
    +# 
    +# OUTDATED
    +#  Notes:      This test case uses a session file to create a plot that uses
    +#              a user defined color table. This makes sure that user defined
    +#              color tables can be used from session files. VisIt00004000.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Nov 13 17:10:35 PST 2003
    +#
    +#  Modifications:
    +#      Justin Privitera, Wed Aug  3 15:04:31 PDT 2022
    +#      Changed the session file and the purpose of the test to reflect that
    +#      we no longer save info about color tables to or read info about color 
    +#      tables from session files.
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","colortable.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +Test("colortable00")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_correlationsession.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_correlationsession.html new file mode 100644 index 000000000..195df9d4c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_correlationsession.html @@ -0,0 +1,94 @@ + +Results for session/correlationsession.py + +

    Results of VisIt Regression Test - session/correlationsession

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    correlationsession000.000.00
    correlationsession010 modifications totalling 0 lines
    correlationsession020.000.00
    correlationsession030.000.00
    correlationsession040 modifications totalling 0 lines
    correlationsession050.000.00
    correlationsession060 modifications totalling 0 lines
    correlationsession070.000.00
    correlationsession080 modifications totalling 0 lines
    correlationsession090.000.00
    correlationsession100 modifications totalling 0 lines
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_correlationsession_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_correlationsession_py.html new file mode 100644 index 000000000..f7c93fa4a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_correlationsession_py.html @@ -0,0 +1,95 @@ +session/correlationsession.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  correlationsession.py
    +#
    +#  Tests:      mesh      - 2D curvilinear, single domain
    +#              plots     - Boundary, FilledBoundary
    +#
    +#  Notes:      This test case makes sure that VisIt sessions that made heavy
    +#              use of database correlations can have that information
    +#              correctly captured in a session file.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Mar 25 11:32:09 PDT 2004
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +import string
    +
    +def GetTruncatedWindowInformationString():
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    return s
    +
    +def TestLength(testname):
    +    tsLength = TimeSliderGetNStates()
    +    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    testString = testString + GetTruncatedWindowInformationString()
    +    TestText(testname, testString)
    +
    +TurnOnAllAnnotations()
    +
    +ra1 = GetRenderingAttributes()
    +
    +#
    +# Restore the session file and make sure that it at the right time step
    +# and has the right time slider.
    +#
    +RestoreSessionWithDifferentSources(tests_path("session","correlationsession.session"), 0,
    +                                   [data_path("pdb_test_data","dbA00.pdb"),
    +                                    data_path("pdb_test_data","dbB00.pdb"),
    +                                    data_path("pdb_test_data","dbC00.pdb")])
    +
    +# Restore the scalable rendering mode for the tests.
    +ra2 = GetRenderingAttributes()
    +ra2.scalableActivationMode = ra1.scalableActivationMode
    +ra2.scalableAutoThreshold = ra1.scalableActivationMode
    +SetRenderingAttributes(ra2)
    +
    +Test("correlationsession00")
    +TestLength("correlationsession01")
    +
    +#
    +# Make sure we have the right active source by making a new plot. The active
    +# source should be dbA00.pdb
    +#
    +AddPlot("Boundary", "material(mesh)")
    +b = BoundaryAttributes()
    +b.colorType = b.ColorBySingleColor
    +b.singleColor = (255,255,0,255)
    +b.lineWidth = 2
    +SetPlotOptions(b)
    +DrawPlots()
    +Test("correlationsession02")
    +
    +#
    +# Make sure that we can advance to the end of the time slider. Save some
    +# test images along the way though.
    +#
    +timeSliders = GetTimeSliders()
    +currentState = timeSliders[GetActiveTimeSlider()]
    +endState = TimeSliderGetNStates() - 1
    +nSteps = 4
    +start = currentState + int(float(endState - currentState) / float(nSteps))
    +testIndex = 3
    +for i in range(nSteps):
    +    t = float(i) / float(nSteps - 1)
    +    omt = 1. - t
    +    state = int(omt * float(start) + t * float(endState))
    +    SetTimeSliderState(state)
    +    Test("correlationsession%02d" % testIndex)
    +    TestLength("correlationsession%02d" % (testIndex + 1))
    +    testIndex = testIndex + 2
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_legendproperties.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_legendproperties.html new file mode 100644 index 000000000..232ffc2fa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_legendproperties.html @@ -0,0 +1,50 @@ + +Results for session/legendproperties.py + +

    Results of VisIt Regression Test - session/legendproperties

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    legendproperties000.000.00
    legendproperties010.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_legendproperties_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_legendproperties_py.html new file mode 100644 index 000000000..d0f12caff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_legendproperties_py.html @@ -0,0 +1,48 @@ +session/legendproperties.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  legendproperties.py
    +#
    +#  Notes:      This test case sets legend properties and makes sure that they
    +#              can be accessed via uses a session file to create a plot that uses
    +#              a user defined color table. This makes sure that user defined
    +#              color tables can be used from session files. VisIt00004000.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Mar 26 10:48:25 PDT 2007
    +#
    +#  Modifications:
    +#    Brad Whitlock, Thu Jul 22 11:03:42 PDT 2010
    +#    Force some save window settings so testing routines don't mess up in
    +#    the scalable,parallel,icet mode. VisIt itself, outside of testing doesn't
    +#    have problems as far as I can tell so we're working around "issues" with
    +#    our testing routines.
    +#    
    +# ----------------------------------------------------------------------------
    +
    +# Get the save window atts and force a few settings.
    +sa = GetSaveWindowAttributes()
    +sa.screenCapture = 0
    +sa.width,sa.height = 300,300
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","legendproperties.session"), 0,
    +                                   silo_data_path("bigsil.silo"))
    +
    +
    +Test("legendproperties00", altSWA=sa)
    +
    +# Now that we've restored the session, see if we can get the legend objects
    +# and change them.
    +subsetLegend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +pcLegend = GetAnnotationObject(GetPlotList().GetPlots(1).plotName)
    +
    +subsetLegend.drawBoundingBox = 0
    +pcLegend.drawBoundingBox = 0
    +Test("legendproperties01", altSWA=sa)
    +
    +# Make sure that the plots are deleted
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_rect3d-contour.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_rect3d-contour.html new file mode 100644 index 000000000..9f2235ed5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_rect3d-contour.html @@ -0,0 +1,44 @@ + +Results for session/rect3d-contour.py + +

    Results of VisIt Regression Test - session/rect3d-contour

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    rect3d-contour0053.8419.45
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_rect3d-contour_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_rect3d-contour_py.html new file mode 100644 index 000000000..866eb0e35 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_rect3d-contour_py.html @@ -0,0 +1,25 @@ +session/rect3d-contour.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  rect3d-contour.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#              plots     - Contour, with transparent contours
    +#
    +#  Notes:      This test case uses a session file to ensure that the Contour
    +#              plot can be restored from a session file and have its correct
    +#              colors and opacities, from  a bug reported in VisIt00004115.
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       January 13, 2005 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","rect3d-contour.session"), 0,
    +                                   silo_data_path("rect3d.silo"))
    +Test("rect3d-contour00")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_restorewithsources.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_restorewithsources.html new file mode 100644 index 000000000..8ebf30d62 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_restorewithsources.html @@ -0,0 +1,48 @@ + +Results for session/restorewithsources.py + +

    Results of VisIt Regression Test - session/restorewithsources

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    restorewithsources000.000.00
    restorewithsources010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_restorewithsources_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_restorewithsources_py.html new file mode 100644 index 000000000..0c065b791 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_restorewithsources_py.html @@ -0,0 +1,42 @@ +session/restorewithsources.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  restorewithsources.py
    +#
    +#  Notes:      This test case tests restoring sessions with different sources.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Mar 28 10:36:04 PDT 2007
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +
    +tpath = tests_path("session","restorewithsources.session")
    +dpath = silo_data_path("rect3d.silo")
    +print(repr(tpath))
    +print(repr(silo_data_path("rect3d.silo") ))
    +
    +RestoreSessionWithDifferentSources(tests_path("session","restorewithsources.session"),
    +                                   0,
    +                                   silo_data_path("rect3d.silo") )
    +
    +
    +Test("restorewithsources00")
    +
    +# Now, try restoring the session with a different data file. Note that since
    +# there's just one source, we pass a string instead of a tuple of strings.
    +RestoreSessionWithDifferentSources(tests_path("session","restorewithsources.session"),
    +                                   0,
    +                                   silo_data_path("rect2d.silo") )
    +Test("restorewithsources01")
    +
    +# Make sure that the plots are deleted
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_selection.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_selection.html new file mode 100644 index 000000000..8fab0052b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_selection.html @@ -0,0 +1,42 @@ + +Results for session/selection.py + +

    Results of VisIt Regression Test - session/selection

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    selection_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_selection_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_selection_py.html new file mode 100644 index 000000000..e0b5e07c5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_selection_py.html @@ -0,0 +1,29 @@ +session/selection.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  selection.py
    +#
    +#  Tests:      mesh      - 2D curvilinear, multiple domain
    +#              plots     - FilledBoundary, Mesh, Pseudocolor
    +#
    +#  Notes:      This test case makes sure that VisIt can read session files
    +#              that have subset selection. Session files from before 1.3 and
    +#              from version 1.3 are tested.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Mar 25 08:34:37 PDT 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Tue Jan 6 09:17:15 PDT 2009
    +#    I removed support for pre-1.3 session files.
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","selection.session"), 0,
    +                                   silo_data_path("multi_curv2d.silo"))
    +
    +Test("selection_00")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionexpression.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionexpression.html new file mode 100644 index 000000000..e09d1ed49 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionexpression.html @@ -0,0 +1,42 @@ + +Results for session/sessionexpression.py + +

    Results of VisIt Regression Test - session/sessionexpression

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sessionexpression000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionexpression_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionexpression_py.html new file mode 100644 index 000000000..c3899a5f3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionexpression_py.html @@ -0,0 +1,27 @@ +session/sessionexpression.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  sessionexpression.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Pseudocolor
    +#
    +#  Notes:      This test case creates a plot of a user-defined expression
    +#              using a session file to ensure that session files containing
    +#              plots of user-defined expressions work. This test case tests
    +#              for a bug reported in VisIt00006070.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Apr 5 14:26:56 PST 2005
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","sessionexpression.session"), 0,
    +                                   ( silo_data_path("wave.visit"),
    +                                     silo_data_path("globe.silo")))
    +Test("sessionexpression00")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionview.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionview.html new file mode 100644 index 000000000..01b71f195 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionview.html @@ -0,0 +1,66 @@ + +Results for session/sessionview.py + +

    Results of VisIt Regression Test - session/sessionview

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sessionview000.000.00
    sessionview010.000.00
    sessionview020.000.00
    sessionview030.000.00
    sessionview040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionview_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionview_py.html new file mode 100644 index 000000000..36b5c8e67 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_sessionview_py.html @@ -0,0 +1,55 @@ +session/sessionview.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  sessionview.py
    +#
    +#  Tests:      mesh      - 3D unstructured, 3D rectilinear, single domain
    +#              plots     - Pseudocolor, Mesh
    +#              operators - Reflect
    +#
    +#  Notes:      This test case makes sure that we can switch back and forth
    +#              between session files that use expressions.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 31 15:21:23 PST 2003
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +
    +# Open the first session file
    +RestoreSessionWithDifferentSources(tests_path("session","sessionview1.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +
    +Test("sessionview00")
    +
    +# Open the second session file
    +RestoreSession("tests/session/sessionview2.session", 0)
    +RestoreSessionWithDifferentSources(tests_path("session","sessionview2.session"), 0,
    +                                   data_path("ANALYZE_test_data",
    +                                             "s01_anatomy_stripped.hdr"))
    +
    +
    +Test("sessionview01")
    +
    +# Open the first session file again. This used to crash VisIt
    +RestoreSessionWithDifferentSources(tests_path("session","sessionview1.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +
    +Test("sessionview02")
    +
    +# Open the second session file again.
    +RestoreSessionWithDifferentSources(tests_path("session","sessionview2.session"), 0,
    +                                   data_path("ANALYZE_test_data",
    +                                             "s01_anatomy_stripped.hdr"))
    +Test("sessionview03")
    +
    +# Open the first session file
    +RestoreSessionWithDifferentSources(tests_path("session","sessionview1.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +Test("sessionview04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_textannot.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_textannot.html new file mode 100644 index 000000000..3e625a271 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_textannot.html @@ -0,0 +1,66 @@ + +Results for session/textannot.py + +

    Results of VisIt Regression Test - session/textannot

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    textannot000.000.00
    textannot010.000.00
    textannot020.000.00
    textannot030.000.00
    textannot040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_textannot_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_textannot_py.html new file mode 100644 index 000000000..8a1d42ed4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_textannot_py.html @@ -0,0 +1,38 @@ +session/textannot.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  textanot.py
    +#
    +#  Tests:      mesh      - 2D curvilinear, single domain
    +#              plots     - Pseudocolor
    +#
    +#  Notes:      This test case uses a session file to set up a plot and create
    +#              several text annotations and a time slider annotation.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Dec 4 14:17:46 PST 2003
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +
    +# Set up the visualization by restoring a session file.
    +RestoreSessionWithDifferentSources(tests_path("session","textannot.session"), 0,
    +                                   data_path("pdb_test_data","allinone00.pdb"))
    +
    +# Save a test frame for some of the frames in the animation so we can see
    +# if the time slider is working.
    +testindex = 0
    +ntests = 5
    +for i in range(ntests):
    +    frame = int(float(i) / float(ntests - 1) * (TimeSliderGetNStates() - 1))
    +    SetTimeSliderState(frame)
    +    Test("textannot%02d" % testindex)
    +    testindex = testindex + 1
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_view3d.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_view3d.html new file mode 100644 index 000000000..5dd35f7ad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_view3d.html @@ -0,0 +1,42 @@ + +Results for session/view3d.py + +

    Results of VisIt Regression Test - session/view3d

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    view3d000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_view3d_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_view3d_py.html new file mode 100644 index 000000000..eb82e6127 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_view3d_py.html @@ -0,0 +1,29 @@ +session/view3d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  view3d.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  visit00004724
    +#
    +#  Notes:      This test case makes sure that all the 3d view parameters
    +#              are properly restored from a session.  In particular the
    +#              focus, parallelScale, nearPlane and farPlane.
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Thu Apr 22 15:05:59 PDT 2004
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +
    +# Open the session file
    +RestoreSessionWithDifferentSources(tests_path("session","view3d.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +
    +Test("view3d00")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_wavecontour.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_wavecontour.html new file mode 100644 index 000000000..6bbbeec96 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_wavecontour.html @@ -0,0 +1,42 @@ + +Results for session/wavecontour.py + +

    Results of VisIt Regression Test - session/wavecontour

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    wavecontour000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_wavecontour_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_wavecontour_py.html new file mode 100644 index 000000000..865b39aff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/session_wavecontour_py.html @@ -0,0 +1,29 @@ +session/wavecontour.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  wavecontour.py
    +#
    +#  Tests:      mesh      - 3D curvilinear, single domain
    +#              plots     - Contour, Mesh
    +#              operators - Reflect
    +#
    +#  Notes:      This test case uses a session file to ensure that the Contour
    +#              plot can be restored from a session file and have its correct
    +#              colors and number of contour levels. This test case tests
    +#              for a bug reported in VisIt00003883.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Oct 22 15:14:20 PST 2003
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","wavecontour.session"), 0,
    +                                   silo_data_path("wave.visit"))
    +# tslider state is lost w/ restore with sources
    +TimeSliderSetState(28)
    +Test("wavecontour00")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_amr.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_amr.html new file mode 100644 index 000000000..0b2f2f69b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_amr.html @@ -0,0 +1,72 @@ + +Results for simulation/amr.py + +

    Results of VisIt Regression Test - simulation/amr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    amr000 modifications totalling 0 lines
    amr010 modifications totalling 0 lines
    amr020.430.62
    amr030.430.62
    amr040.000.00
    amr050.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_amr_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_amr_py.html new file mode 100644 index 000000000..9cf4e1672 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_amr_py.html @@ -0,0 +1,58 @@ +simulation/amr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  amr.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D amr mesh
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("amr", "amr.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("amr00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("amr01", sim.metadata())
    +
    +    AddPlot("Mesh", "amr")
    +    AddPlot("Subset", "Levels")
    +    DrawPlots()
    +    Test("amr02")
    +
    +    SetActivePlots(1)
    +    ChangeActivePlotsVar("Patches")
    +    Test("amr03")
    +
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    silr = SILRestriction()
    +    silr.TurnOffSet(8)
    +    SetPlotSILRestriction(silr, 0)
    +    DrawPlots()
    +    Test("amr04")
    +
    +    silr.TurnOnAll()
    +    silr.TurnOffSet(6)
    +    silr.TurnOffSet(8)
    +    SetPlotSILRestriction(silr, 0)
    +    DrawPlots()
    +    Test("amr05")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_aresamr.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_aresamr.html new file mode 100644 index 000000000..943e46cb7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_aresamr.html @@ -0,0 +1,62 @@ + +Results for simulation/aresamr.py + +

    Results of VisIt Regression Test - simulation/aresamr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    aresamr000 modifications totalling 0 lines
    aresamr010 modifications totalling 0 lines
    aresamr020.000.00
    aresamr030.000.00
    aresamr040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_aresamr_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_aresamr_py.html new file mode 100644 index 000000000..fd9818151 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_aresamr_py.html @@ -0,0 +1,48 @@ +simulation/aresamr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  aresamr.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D aresamr mesh
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("aresamr", "aresamr.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("aresamr00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("aresamr01", sim.metadata())
    +
    +    AddPlot("Pseudocolor", "zonal_scalar")
    +    DrawPlots()
    +    Test("aresamr02")
    +
    +    silr = SILRestriction()
    +    silr.TurnOnAll()
    +    silr.TurnOffSet(4)
    +    SetPlotSILRestriction(silr, 1)
    +    Test("aresamr03")
    +    silr.TurnOnAll()
    +    silr.TurnOffSet(3)
    +    SetPlotSILRestriction(silr, 1)
    +    Test("aresamr04")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_batch.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_batch.html new file mode 100644 index 000000000..49b3430e3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_batch.html @@ -0,0 +1,426 @@ + +Results for simulation/batch.py + +

    Results of VisIt Regression Test - simulation/batch

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Slice Export with 3 vertices
    batch_0_000.000.00
    batch_0_010.000.00
    batch_0_020.000.00
    batch_0_030.000.00
    batch_0_040.000.00
    batch_0_050.000.00
    Slice Export with Origin+Normal
    batch_1_000.000.00
    batch_1_010.000.00
    batch_1_020.000.00
    batch_1_030.000.00
    batch_1_040.000.00
    batch_1_050.000.00
    Slice Export of X
    batch_2_000.000.00
    batch_2_010.000.00
    batch_2_020.000.00
    batch_2_030.000.00
    batch_2_040.000.00
    batch_2_050.000.00
    Slice Export of Y
    batch_3_000.000.00
    batch_3_010.000.00
    batch_3_020.000.00
    batch_3_030.000.00
    batch_3_040.000.00
    batch_3_050.000.00
    Slice Export of Z
    batch_4_000.000.00
    batch_4_010.000.00
    batch_4_020.000.00
    batch_4_030.000.00
    batch_4_040.000.00
    batch_4_050.000.00
    Iso Export
    batch_5_000.000.00
    batch_5_010.000.00
    batch_5_020.000.00
    batch_5_030.000.00
    batch_5_040.000.00
    batch_5_050.000.00
    batch_5_060.000.00
    batch_5_070.000.00
    batch_5_080.000.00
    batch_5_090.000.00
    batch_5_100.000.00
    batch_5_110.000.00
    batch_5_120.000.00
    batch_5_130.000.00
    batch_5_140.000.00
    batch_5_150.000.00
    batch_5_160.000.00
    batch_5_170.000.00
    batch_5_180.000.00
    batch_5_190.000.00
    Image Rendering
    batch_6_000.000.00
    batch_6_010.000.00
    batch_6_020.000.00
    batch_6_030.000.00
    batch_6_040.000.00
    Streamline Export
    batch_7_000.000.00
    batch_7_010.000.00
    batch_7_020.000.00
    batch_7_030.000.00
    batch_7_040.000.00
    batch_7_050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_batch_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_batch_py.html new file mode 100644 index 000000000..5ab4f2163 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_batch_py.html @@ -0,0 +1,393 @@ +simulation/batch.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  batch.py
    +#
    +#  Tests:      libsim - batch mode.
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 18, 2014 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def test0():
    +    TestSection("Slice Export with 3 vertices")
    +    db = "slice3v_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "dom")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.0556426, 0.707794, 0.704224)
    +    v.focus = (5, 1.53846, 5)
    +    v.viewUp = (0.048696, 0.706401, -0.706134)
    +    v.viewAngle = 30
    +    v.parallelScale = 7.12383
    +    v.nearPlane = -14.2477
    +    v.farPlane = 14.2477
    +    v.imagePan = (-0.021177, 0.0636043)
    +    v.imageZoom = 1.09666
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (5, 1.53846, 5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    Test("batch_0_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_0_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_0_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_0_03")
    +
    +    TimeSliderSetState(2)
    +    Test("batch_0_04")
    +    TimeSliderSetState(4)
    +    Test("batch_0_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test1():
    +    TestSection("Slice Export with Origin+Normal")
    +    db = "sliceON_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "dom")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (5, 5, 5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 8.66025
    +    v.nearPlane = -17.3205
    +    v.farPlane = 17.3205
    +    v.imagePan = (-0.00113806, 0.0530002)
    +    v.imageZoom = 1.33438
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (5, 5, 5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    Test("batch_1_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_1_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_1_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_1_03")
    +
    +    TimeSliderSetState(2)
    +    Test("batch_1_04")
    +    TimeSliderSetState(4)
    +    Test("batch_1_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test2():
    +    TestSection("Slice Export of X")
    +    db = "sliceX_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "dom")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (1, 0, 6.12323e-17)
    +    v.focus = (0.5, 5, 5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 7.07107
    +    v.nearPlane = -14.1421
    +    v.farPlane = 14.1421
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.27205
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 5, 5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    Test("batch_2_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_2_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_2_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_2_03")
    +
    +    ChangeActivePlotsVar("radius")
    +    TimeSliderSetState(2)
    +    Test("batch_2_04")
    +    TimeSliderSetState(4)
    +    Test("batch_2_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test3():
    +    TestSection("Slice Export of Y")
    +    db = "sliceY_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "dom")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 1, 6.12323e-17)
    +    v.focus = (5, 2.5, 5)
    +    v.viewUp = (0, 6.12323e-17, -1)
    +    v.viewAngle = 30
    +    v.parallelScale = 7.07107
    +    v.nearPlane = -14.1421
    +    v.farPlane = 14.1421
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.32859
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (5, 2.5, 5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    Test("batch_3_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_3_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_3_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_3_03")
    +
    +    TimeSliderSetState(2)
    +    Test("batch_3_04")
    +    TimeSliderSetState(4)
    +    Test("batch_3_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test4():
    +    TestSection("Slice Export of Z")
    +    db = "sliceZ_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "dom")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (5, 5, 5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 7.07107
    +    v.nearPlane = -14.1421
    +    v.farPlane = 14.1421
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.2647
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (5, 5, 5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    Test("batch_4_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_4_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_4_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_4_03")
    +
    +    TimeSliderSetState(2)
    +    Test("batch_4_04")
    +    TimeSliderSetState(4)
    +    Test("batch_4_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test5():
    +    TestSection("Iso Export")
    +    dbs = ("iso_0000.visit","iso_0001.visit","iso_0002.visit","iso_0003.visit","iso_0004.visit")
    +    index = 0
    +    for db in dbs:
    +        OpenDatabase(db)
    +        AddPlot("Pseudocolor", "dom")
    +        DrawPlots()
    +
    +        v = GetView3D()
    +        v.viewNormal = (-0.433402, 0.101212, 0.895499)
    +        v.focus = (5, 5, 5)
    +        v.viewUp = (0.0882645, 0.993663, -0.0695889)
    +        v.viewAngle = 30
    +        v.parallelScale = 8.66025
    +        v.nearPlane = -17.3205
    +        v.farPlane = 17.3205
    +        v.imagePan = (0.00394299, 0.0327202)
    +        v.imageZoom = 1.34799
    +        v.perspective = 1
    +        v.eyeAngle = 2
    +        v.centerOfRotationSet = 0
    +        v.centerOfRotation = (5, 5, 5)
    +        v.axis3DScaleFlag = 0
    +        v.axis3DScales = (1, 1, 1)
    +        v.shear = (0, 0, 1)
    +        v.windowValid = 1
    +        SetView3D(v)
    +
    +        Test("batch_5_%02d" % index)
    +
    +        ChangeActivePlotsVar("xc")
    +        Test("batch_5_%02d" % (index+1))
    +        ChangeActivePlotsVar("radius")
    +        Test("batch_5_%02d" % (index+2))
    +        ChangeActivePlotsVar("q")
    +        Test("batch_5_%02d" % (index+3))
    +        index = index + 4
    +
    +        DeleteAllPlots()
    +        CloseDatabase(db)
    +
    +def test6():
    +    TestSection("Image Rendering")
    +    db = "batch*.png database"
    +    OpenDatabase(db)
    +    AddPlot("Truecolor", "color")
    +    AddOperator("Box")
    +    box = BoxAttributes()
    +    box.amount = box.Some  # Some, All
    +    box.minx = 230
    +    box.maxx = 1000
    +    box.miny = 45
    +    box.maxy = 1000
    +    box.minz = 0
    +    box.maxz = 1
    +    box.inverse = 0
    +    SetOperatorOptions(box)
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.windowCoords = (0, 960, 0, 540)
    +    v.viewportCoords = (0.01, 0.99, 0.22, 0.99)
    +    v.fullFrameActivationMode = v.Auto  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    v.xScale = v.LINEAR  # LINEAR, LOG
    +    v.yScale = v.LINEAR  # LINEAR, LOG
    +    v.windowValid = 1
    +    SetView2D(v)
    +
    +    Test("batch_6_00")
    +    TimeSliderSetState(1)
    +    Test("batch_6_01")
    +    TimeSliderSetState(2)
    +    Test("batch_6_02")
    +    TimeSliderSetState(3)
    +    Test("batch_6_03")
    +    TimeSliderSetState(4)
    +    Test("batch_6_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test7():
    +    TestSection("Streamline Export")
    +    db = "streamline_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "colorVar")
    +    pc = PseudocolorAttributes(1)
    +    pc.lineWidth = 3
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (5.2835, 5.2835, 5.2562)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 8.26953
    +    v.nearPlane = -16.5391
    +    v.farPlane = 16.5391
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.33131
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (5.2835, 5.2835, 5.2562)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +    Test("batch_7_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_7_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_7_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_7_03")
    +
    +    TimeSliderSetState(2)
    +    Test("batch_7_04")
    +    TimeSliderSetState(4)
    +    Test("batch_7_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def main():
    +    # Create our simulation object.
    +    sim = TestBatchSimulation("batch")
    +    sim.addargument("-format")
    +    sim.addargument("VTK_1.0")
    +    sim.addargument("-maxcycles")
    +    sim.addargument("5")
    +    sim.addargument("-render")
    +    sim.addargument("1")
    +    sim.addargument("-export")
    +    sim.addargument("1")
    +
    +    # Test that we can start the simulation.
    +    sim.startsim()
    +    # This will wait for the simulation to complete.
    +    sim.endsim()
    +
    +    # Test the simulation outputs.
    +    test0()
    +    test1()
    +    test2()
    +    test3()
    +    test4()
    +    test5()
    +    test6()
    +    test7()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_csg.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_csg.html new file mode 100644 index 000000000..60595b2e9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_csg.html @@ -0,0 +1,114 @@ + +Results for simulation/csg.py + +

    Results of VisIt Regression Test - simulation/csg

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    csg000 modifications totalling 0 lines
    csg010 modifications totalling 0 lines
    csg020.000.00
    csg030.000.00
    csg040.000.00
    csg050.000.00
    csg060.000.00
    csg070.000.00
    csg080.000.00
    csg090.000.00
    csg100.000.00
    csg110.000.00
    csg120.000.00
    csg130 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_csg_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_csg_py.html new file mode 100644 index 000000000..03cb8df8b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_csg_py.html @@ -0,0 +1,64 @@ +simulation/csg.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  csg.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              csg   - 3D csg mesh .
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 27, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("csg", "csg.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("csg00", sim)
    +
    +def simcommand(sim, com):
    +    sim.consolecommand(com)
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command '%s'"%com in buf:
    +            keepGoing = False
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("csg01", sim.metadata())
    +
    +    AddPlot("Subset", "Regions")
    +    s = SubsetAttributes()
    +    s.smoothingLevel = 2
    +    SetPlotOptions(s)
    +    DrawPlots()
    +    Test("csg02")
    +
    +    times = "Times:\n"
    +    SetQueryOutputToValue();
    +    times = times + str(Query("Time")) + "\n"
    +    for i in range(10):
    +        simcommand(sim, 'step')
    +        simcommand(sim, 'step')
    +        simcommand(sim, 'update')
    +        Test("csg%02d" % (i+3))
    +        times = times + str(Query("Time")) + "\n"
    +
    +    TestText("csg13", times)
    +    DeleteAllPlots()
    +    SetQueryOutputToString()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_curve.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_curve.html new file mode 100644 index 000000000..1a9b0d35c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_curve.html @@ -0,0 +1,66 @@ + +Results for simulation/curve.py + +

    Results of VisIt Regression Test - simulation/curve

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    curve000 modifications totalling 0 lines
    curve010 modifications totalling 0 lines
    curve020.000.00
    curve030.000.00
    curve040.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_curve_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_curve_py.html new file mode 100644 index 000000000..7ab5c7371 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_curve_py.html @@ -0,0 +1,61 @@ +simulation/curve.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curve.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - curve
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       Jun 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("curve", "curve.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("curve00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("curve01", sim.metadata())
    +
    +    AddPlot("Curve", "sine")
    +    curveAtts = CurveAttributes(1)
    +    curveAtts.showLabels = 0
    +    curveAtts.lineWidth = 2
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    Test("curve02")
    +
    +    # Read the 'VisIt connected' message
    +    buf = sim.p.stderr.readline()
    +    for i in range(25):
    +        sim.consolecommand("step")
    +        # Read from stderr to look for the echoed command.
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        sim.consolecommand("update")
    +
    +    Test("curve03")
    +
    +    for i in range(25):
    +        sim.consolecommand("step")
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        sim.consolecommand("update")
    +    Test("curve04")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainbounds.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainbounds.html new file mode 100644 index 000000000..49eeaeffc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainbounds.html @@ -0,0 +1,56 @@ + +Results for simulation/domainbounds.py + +

    Results of VisIt Regression Test - simulation/domainbounds

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    domainbounds000 modifications totalling 0 lines
    domainbounds010 modifications totalling 0 lines
    domainbounds020.000.00
    domainbounds030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainbounds_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainbounds_py.html new file mode 100644 index 000000000..58a24ff73 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainbounds_py.html @@ -0,0 +1,47 @@ +simulation/domainbounds.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  domainbounds.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 3D rectilinear mesh
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("domainbounds", "domainbounds.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("domainbounds00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("domainbounds01", sim.metadata())
    +
    +    AddPlot("Subset", "Domains")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0.672727, 0.569817, 0.471961)
    +    v.viewUp = (-0.252634, 0.776445, -0.57733)
    +    SetView3D(v)
    +    Test("domainbounds02")
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "zonal")
    +    DrawPlots()
    +    Test("domainbounds03")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainlist.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainlist.html new file mode 100644 index 000000000..3ec9772d9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainlist.html @@ -0,0 +1,108 @@ + +Results for simulation/domainlist.py + +

    Results of VisIt Regression Test - simulation/domainlist

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    domainlist000 modifications totalling 0 lines
    domainlist010 modifications totalling 0 lines
    domainlist020.000.00
    domainlist030.000.00
    domainlist040.000.00
    domainlist050.000.00
    domainlist060.000.00
    domainlist070.000.00
    domainlist080.000.00
    domainlist090.000.00
    domainlist100.000.00
    domainlist110.000.00
    domainlist120 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainlist_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainlist_py.html new file mode 100644 index 000000000..f1203890c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_domainlist_py.html @@ -0,0 +1,125 @@ +simulation/domainlist.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  domainlist.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D,3D unstructured mesh.
    +#
    +#              Tests that VisIt's load balancer can accept different domain
    +#              lists from simulations and distribute work accordingly. If it
    +#              was to mess up then we would not get all domains for at least
    +#              one of the meshes.
    +#
    +#              This test must run in parallel.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jun 26 17:19:08 PDT 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def step(sim):
    +    sim.consolecommand("step")
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command step" in buf:
    +            keepGoing = False
    +
    +def set_the_view():
    +    v = GetView3D()
    +    v.viewNormal = (0.48257, -0.684101, 0.54693)
    +    v.focus = (0.95, 1.5, 0.5)
    +    v.viewUp = (-0.352936, 0.419625, 0.836272)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.84459
    +    v.nearPlane = -3.68917
    +    v.farPlane = 3.68917
    +    v.imagePan = (0.0637817, 0.0407714)
    +    v.imageZoom = 1.04766
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.95, 1.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def add_time(times):
    +    Query("Time")
    +    t2 = times + str(GetQueryOutputValue()) + "\n"
    +    return t2
    +
    +def start_time():
    +    return add_time("Times:\n")
    +
    +def test0(sim):
    +    AddPlot("Subset", "Domains(mesh)")
    +    AddPlot("Subset", "Domains(surface)")
    +    SetActivePlots((0,1))
    +    AddOperator("Reflect")
    +    r = ReflectAttributes()
    +    r.octant = r.PXPYPZ  # PXPYPZ, NXPYPZ, PXNYPZ, NXNYPZ, PXPYNZ, NXPYNZ, PXNYNZ, NXNYNZ
    +    r.useXBoundary = 1
    +    r.specifiedX = 0
    +    r.useYBoundary = 0
    +    r.specifiedY = 1.5
    +    r.useZBoundary = 1
    +    r.specifiedZ = 0
    +    r.reflections = (1, 0, 1, 0, 0, 0, 0, 0)
    +    SetOperatorOptions(r)
    +
    +    SetActivePlots(1)
    +    AddOperator("Transform", 0)
    +    trans = TransformAttributes()
    +    trans.doTranslate = 1
    +    trans.translateX = 1
    +    SetOperatorOptions(trans)
    +    DrawPlots()
    +    set_the_view()
    +
    +    # Advance some steps and make sure that we get all domains for each mesh
    +    times = start_time()
    +    idx = 2
    +    for i in range(10):
    +        Test("domainlist%02d" % idx)
    +        times = add_time(times)
    +        step(sim)
    +        idx = idx + 1
    +
    +    # Get the number of processors.
    +    e,s = GetEngineList(1)[0]
    +    text = "Engine Properties:\n" + str(GetEngineProperties(e,s)) + "\n" + times
    +    TestText("domainlist%02d" % idx, text)
    +    idx = idx + 1
    +    DeleteAllPlots()
    +
    +
    +
    +def main():
    +    # Create our simulation object.
    +    sim = TestParallelSimulation("globalids_par", "globalids_par.sim2", 4)
    +    sim.addargument("-echo")
    +
    +    # Test that we can start and connect to the simulation.
    +    started, connected = TestSimStartAndConnect("domainlist00", sim)
    +
    +    # Perform our tests.
    +    if connected:
    +        # Make sure the metadata is right.
    +        TestSimMetaData("domainlist01", sim.metadata())
    +        test0(sim)
    +
    +    # Close down the simulation.
    +    if started:
    +        sim.endsim()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ghostcells.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ghostcells.html new file mode 100644 index 000000000..d70899411 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ghostcells.html @@ -0,0 +1,194 @@ + +Results for simulation/ghostcells.py + +

    Results of VisIt Regression Test - simulation/ghostcells

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ghostcells000 modifications totalling 0 lines
    ghostcells010 modifications totalling 0 lines
    Ghosting with meshes
    ghostcells020.000.00
    ghostcells030.000.00
    ghostcells040.000.00
    ghostcells050.000.00
    ghostcells060.000.00
    ghostcells070.000.00
    ghostcells080.000.00
    ghostcells090.000.00
    ghostcells100.000.00
    ghostcells110.000.00
    ghostcells120.000.00
    ghostcells130.000.00
    Ghosting with scalars
    ghostcells140.000.00
    ghostcells150.000.00
    ghostcells160.000.00
    ghostcells170.000.00
    ghostcells180.000.00
    ghostcells190.000.00
    ghostcells200.000.00
    ghostcells210.000.00
    ghostcells220.000.00
    ghostcells230.000.00
    ghostcells240.000.00
    ghostcells250.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ghostcells_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ghostcells_py.html new file mode 100644 index 000000000..4041b1f27 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ghostcells_py.html @@ -0,0 +1,84 @@ +simulation/ghostcells.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ghostcells.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D structured mesh.
    +#              scalars defined on material sub regions.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#
    +#  NOTES: #3, #17 do not look correct.
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("ghostcells", "ghostcells.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("ghostcells00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("ghostcells01", sim.metadata())
    +
    +    meshes = ("rect_blank", "curv_blank", "ucd_blank",
    +              "multi_domain_index", "multi_domain", "multi_types")
    +    scalars= ("rect_var", "curv_var", "ucd_var",
    +              "multi_var", "multi_var_index", "multi_types_var")
    +
    +    i = 2
    +    TestSection("Ghosting with meshes")
    +    for m in meshes:
    +        AddPlot("Subset", m)
    +        s = SubsetAttributes(1)
    +        if "multi" in m:
    +            s.opacity = 0.4
    +            SetPlotOptions(s)
    +        DrawPlots()
    +        ResetView()
    +        Test("ghostcells%02d" % i)
    +
    +        s.colorType = s.ColorBySingleColor
    +        s.singleColor = (0,0,255,255)
    +        SetPlotOptions(s)
    +        AddOperator("InverseGhostZone")
    +        s.opacity = 1.
    +        SetPlotOptions(s)
    +        DrawPlots()
    +        Test("ghostcells%02d" % (i+1))
    +        DeleteAllPlots()
    +        i = i + 2
    +
    +    TestSection("Ghosting with scalars")
    +    for s in scalars:
    +        AddPlot("Pseudocolor", s)
    +        pc = PseudocolorAttributes(1)
    +        if "multi" in s:
    +            pc.opacityType = pc.Constant
    +            pc.opacity = 0.4
    +            SetPlotOptions(pc)
    +        DrawPlots()
    +        ResetView()
    +        Test("ghostcells%02d" % i)
    +
    +        AddOperator("InverseGhostZone")
    +        pc.opacity = 1.0
    +        SetPlotOptions(pc)
    +        DrawPlots()
    +        Test("ghostcells%02d" % (i+1))
    +        DeleteAllPlots()
    +        i = i + 2
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_globalids.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_globalids.html new file mode 100644 index 000000000..679b85afd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_globalids.html @@ -0,0 +1,196 @@ + +Results for simulation/globalids.py + +

    Results of VisIt Regression Test - simulation/globalids

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    globalids000 modifications totalling 0 lines
    globalids010 modifications totalling 0 lines
    Topologically 3D meshes in 3D
    globalids020.000.00
    globalids030.000.00
    globalids040.000.00
    globalids050.000.00
    globalids060.000.00
    globalids070.000.00
    globalids080.000.00
    globalids090.000.00
    globalids100.000.00
    globalids110.000.00
    globalids120.000.00
    globalids130 modifications totalling 0 lines
    Topologically 2D meshes in 3D
    globalids_1_000.000.00
    globalids_1_010.000.00
    globalids_1_020.000.00
    globalids_1_030.000.00
    globalids_1_040.000.00
    globalids_1_050.000.00
    globalids_1_060.000.00
    globalids_1_070.000.00
    globalids_1_080.000.00
    globalids_1_090.000.00
    globalids_1_100.000.00
    globalids_1_110.000.00
    globalids_1_120 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_globalids_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_globalids_py.html new file mode 100644 index 000000000..52f4b4828 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_globalids_py.html @@ -0,0 +1,218 @@ +simulation/globalids.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  globalids.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 3D unstructured mesh.
    +#              global node and cell ids
    +#              unstructured ghost cell generation from global ids
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Jun 17 16:32:51 PDT 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def step(sim):
    +    sim.consolecommand("step")
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command step" in buf:
    +            keepGoing = False
    +
    +def set_the_view():
    +    v = GetView3D()
    +    v.viewNormal = (-0.707418, 0.404282, 0.579755)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.294715, 0.914272, -0.27794)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0, 0.0589478)
    +    v.imageZoom = 1.0963
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def set_the_view2():
    +    v = GetView3D()
    +    v.viewNormal = (-0.542717, -0.70433, 0.457578)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.252732, 0.3826, 0.888675)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.722842
    +    v.nearPlane = -1.44568
    +    v.farPlane = 1.44568
    +    v.imagePan = (-0.00135472, 0.013532)
    +    v.imageZoom = 1.12868
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def add_time(times):
    +    Query("Time")
    +    t2 = times + str(GetQueryOutputValue()) + "\n"
    +    return t2
    +
    +def start_time():
    +    return add_time("Times:\n")
    +
    +def test0(sim):
    +    TestSection("Topologically 3D meshes in 3D")
    +    DefineScalarExpression("gnid", "global_nodeid(mesh)")
    +    DefineScalarExpression("gzid", "global_zoneid(mesh)")
    +    DefineScalarExpression("nid",  "nodeid(mesh)")
    +
    +    AddPlot("Pseudocolor", "nid")
    +    DrawPlots()
    +    set_the_view()
    +    Test("globalids02")
    +
    +    ChangeActivePlotsVar("gzid")
    +    DrawPlots()
    +    Test("globalids03")
    +
    +    ChangeActivePlotsVar("gnid")
    +    DrawPlots()
    +    Test("globalids04")
    +    DeleteAllPlots()
    +
    +    AddPlot("Subset", "Domains")
    +    DrawPlots()
    +    Test("globalids05")
    +
    +    # Make sure that the plot is hollow
    +    s = SubsetAttributes(1)
    +    s_clear = SubsetAttributes(1)
    +    s_clear.opacity = 0.25
    +    s_clear.colorType = s_clear.ColorBySingleColor
    +    s_clear.singleColor = (200,200,200,255)
    +    SetPlotOptions(s_clear)
    +    DrawPlots()
    +    Test("globalids06")
    +
    +    # Advance some steps and make sure that the plot
    +    # stays transparent. We're changing the size of the
    +    # domains at each time step and thus the global ids.
    +    times = start_time()
    +    idx = 7
    +    for i in range(3):
    +        # Advance some steps. This should make the plots update.
    +        nsteps = 5
    +        for j in range(nsteps):
    +            step(sim)
    +            DrawPlots()
    +        times = add_time(times)
    +        SetPlotOptions(s)
    +        Test("globalids%02d" % idx)
    +        idx = idx + 1
    +        SetPlotOptions(s_clear)
    +        Test("globalids%02d" % idx)
    +        idx = idx + 1
    +
    +    TestText("globalids%02d" % idx, times)
    +    idx = idx + 1
    +    DeleteAllPlots()
    +
    +def hideplot(id):
    +    pl = GetPlotList()
    +    if pl.GetPlots(id).hiddenFlag == 0:
    +        SetActivePlots(id)
    +        HideActivePlots()
    +
    +def showplot(id):
    +    pl = GetPlotList()
    +    if pl.GetPlots(id).hiddenFlag == 1:
    +        SetActivePlots(id)
    +        HideActivePlots()
    +
    +def test1(sim):
    +    TestSection("Topologically 2D meshes in 3D")
    +    DefineScalarExpression("gnid2d", "global_nodeid(surface)")
    +    DefineScalarExpression("gzid2d", "global_zoneid(surface)")
    +    DefineScalarExpression("nid2d",  "nodeid(surface)")
    +
    +    AddPlot("FilledBoundary", "surfacemat")
    +    fb = FilledBoundaryAttributes(1)
    +    fb.colorType = fb.ColorBySingleColor
    +    fb.singleColor = (0,0,0,255)
    +    fb.wireframe = 1
    +    fb.lineWidth = 3
    +    SetPlotOptions(fb)
    +    AddPlot("Subset", "Domains(surface)")
    +    AddPlot("Pseudocolor", "nid2d")
    +    DrawPlots()
    +    set_the_view2()
    +
    +    idx = 0
    +    times = start_time()
    +    ntests = 4
    +    for i in range(3):
    +        ids = [idx+j for j in range(ntests)]
    +        # Show the Subset plot
    +        showplot(1)
    +        hideplot(2)
    +        Test("globalids_1_%02d" % ids[0])
    +
    +        # Show the Pseudocolor plot
    +        hideplot(1)
    +        showplot(2)
    +        ChangeActivePlotsVar("nid2d")
    +        Test("globalids_1_%02d" % ids[1])
    +
    +        ChangeActivePlotsVar("gnid2d")
    +        Test("globalids_1_%02d" % ids[2])
    +
    +        ChangeActivePlotsVar("gzid2d")
    +        Test("globalids_1_%02d" % ids[3])
    +        SetActivePlots(0)
    +        times = add_time(times)
    +
    +        # Take a step.
    +        showplot(1)
    +        step(sim)
    +        idx = idx + ntests
    +
    +    TestText("globalids_1_%02d" % idx, times)
    +    DeleteAllPlots()
    +
    +def main():
    +    # Create our simulation object.
    +    sim = TestSimulation("globalids", "globalids.sim2")
    +    sim.addargument("-echo")
    +
    +    # Test that we can start and connect to the simulation.
    +    started, connected = TestSimStartAndConnect("globalids00", sim)
    +
    +    # Perform our tests.
    +    if connected:
    +        # Make sure the metadata is right.
    +        TestSimMetaData("globalids01", sim.metadata())
    +        test0(sim)
    +        test1(sim)
    +
    +    # Close down the simulation.
    +    if started:
    +        sim.endsim()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_interleave.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_interleave.html new file mode 100644 index 000000000..d558816a0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_interleave.html @@ -0,0 +1,188 @@ + +Results for simulation/interleave.py + +

    Results of VisIt Regression Test - simulation/interleave

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    interleave000 modifications totalling 0 lines
    interleave010 modifications totalling 0 lines
    interleave020.000.00
    interleave030.000.00
    interleave040.000.00
    interleave050.000.00
    interleave060.000.00
    interleave070.000.00
    interleave080.000.00
    interleave090.000.00
    interleave100.000.00
    interleave110.000.00
    interleave120.000.00
    interleave130.000.00
    interleave140.000.00
    interleave150.000.00
    interleave160.000.00
    interleave170.000.00
    interleave180.000.00
    interleave190.000.00
    interleave200.000.00
    interleave210.000.00
    interleave220.000.00
    interleave230.000.00
    interleave240.000.00
    interleave250.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_interleave_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_interleave_py.html new file mode 100644 index 000000000..9f31cddf9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_interleave_py.html @@ -0,0 +1,86 @@ +simulation/interleave.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  interleave.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       June 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("interleave", "interleave.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("interleave00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("interleave01", sim.metadata())
    +
    +    meshes2d = ("curv2d_static_float", "curv2d_static_double",
    +                "curv2d_dynamic_float", "curv2d_dynamic_double",
    +
    +                "point2d_static_float", "point2d_static_double",
    +                "point2d_dynamic_float", "point2d_dynamic_double",
    +
    +                "ucd2d_static_float", "ucd2d_static_double",
    +                "ucd2d_dynamic_float", "ucd2d_dynamic_double")
    +
    +    meshes3d = ("curv3d_static_float", "curv3d_static_double",
    +                "curv3d_dynamic_float", "curv3d_dynamic_double",
    +
    +                "point3d_static_float", "point3d_static_double",
    +                "point3d_dynamic_float", "point3d_dynamic_double",
    +
    +                "ucd3d_static_float", "ucd3d_static_double",
    +                "ucd3d_dynamic_float", "ucd3d_dynamic_double")
    +
    +    i = 2
    +    meshAtts = MeshAttributes()
    +    meshAtts.pointSizePixels = 10
    +    meshAtts.lineWidth = 2
    +    SetDefaultPlotOptions(meshAtts)
    +
    +    v2 = GetView2D()
    +    v2.windowCoords = (-0.104083, 4.10408, -0.369428, 3.36943)
    +    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    AddPlot("Mesh", "%s"%meshes2d[0])
    +    DrawPlots()
    +    SetView2D(v2)
    +    Test("interleave%02d" % i)
    +    i = i + 1
    +
    +    for m in meshes2d[1:]:
    +        ChangeActivePlotsVar(m)
    +        DrawPlots()
    +        Test("interleave%02d" % i)
    +        i = i + 1
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Mesh", "%s"%meshes3d[0])
    +    DrawPlots()
    +    ResetView()
    +    Test("interleave%02d" % i)
    +    i = i + 1
    +
    +    for m in meshes3d[1:]:
    +        ChangeActivePlotsVar(m)
    +        DrawPlots()
    +        Test("interleave%02d" % i)
    +        i = i + 1
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_life.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_life.html new file mode 100644 index 000000000..642b8419f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_life.html @@ -0,0 +1,58 @@ + +Results for simulation/life.py + +

    Results of VisIt Regression Test - simulation/life

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    life000 modifications totalling 0 lines
    life010 modifications totalling 0 lines
    life020.000.00
    life030.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_life_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_life_py.html new file mode 100644 index 000000000..25e3555d5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_life_py.html @@ -0,0 +1,43 @@ +simulation/life.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  life.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D rectilinear mesh
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("life", "life.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("life00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("life01", sim.metadata())
    +
    +    AddPlot("Pseudocolor", "life")
    +    DrawPlots()
    +    Test("life02")
    +
    +    # Run the simulation for awhile to get a different image
    +    for i in range(100):
    +        sim.consolecommand("step")
    +    Test("life03")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mandelbrot.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mandelbrot.html new file mode 100644 index 000000000..539580fc2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mandelbrot.html @@ -0,0 +1,78 @@ + +Results for simulation/mandelbrot.py + +

    Results of VisIt Regression Test - simulation/mandelbrot

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mandelbrot000 modifications totalling 0 lines
    mandelbrot010 modifications totalling 0 lines
    mandelbrot020.000.00
    mandelbrot030.000.00
    mandelbrot040 modifications totalling 0 lines
    mandelbrot050.000.00
    mandelbrot060.000.00
    mandelbrot070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mandelbrot_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mandelbrot_py.html new file mode 100644 index 000000000..45ab2a987 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mandelbrot_py.html @@ -0,0 +1,77 @@ +simulation/mandelbrot.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mandelbrot.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D structured mesh.
    +#              scalars
    +#              AMR
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +import time
    +
    +# Create our simulation object.
    +sim = TestSimulation("mandelbrot", "mandelbrot.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("mandelbrot00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("mandelbrot01", sim.metadata())
    +
    +    AddPlot("Pseudocolor", "mandelbrot")
    +    DrawPlots()
    +    v = GetView2D()
    +    v.viewportCoords = (0., 1., 0., 1.)
    +    SetView2D(v)
    +    Test("mandelbrot02")
    +
    +    # Advance some steps and update the plots.
    +
    +    # Read the "VisIt connected" message.
    +    buf = sim.p.stderr.readline()
    +    for i in range(12):
    +        sim.consolecommand("step")
    +        # Read from stderr to look for the echoed command.
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        time.sleep(1)
    +    # Update the data for the new time step.
    +    sim.consolecommand("update")
    +    Test("mandelbrot03")
    +
    +    # Make sure the metadata has updated.
    +    TestSimMetaData("mandelbrot04", sim.metadata())
    +
    +    # Test transparency to see if nesting is used.
    +    pc = PseudocolorAttributes(1)
    +    pc.opacityType = pc.Constant
    +    pc.opacity = 0.5
    +    SetPlotOptions(pc)
    +    Test("mandelbrot05")
    +
    +    DeleteActivePlots()
    +    AddPlot("Subset", "levels")
    +    DrawPlots()
    +    Test("mandelbrot06")
    +
    +    ChangeActivePlotsVar("patches")
    +    Test("mandelbrot07")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_material.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_material.html new file mode 100644 index 000000000..668104afd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_material.html @@ -0,0 +1,62 @@ + +Results for simulation/material.py + +

    Results of VisIt Regression Test - simulation/material

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    material000 modifications totalling 0 lines
    material010 modifications totalling 0 lines
    material020.000.00
    material030.000.00
    material040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_material_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_material_py.html new file mode 100644 index 000000000..924a4cec6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_material_py.html @@ -0,0 +1,59 @@ +simulation/material.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  material.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              material   - 2D structured/unstructured material.
    +#              materials
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Force MIR
    +m = GetMaterialAttributes()
    +m.forceMIR = 1
    +SetMaterialAttributes(m)
    +
    +# Create our simulation object.
    +sim = TestSimulation("material", "material.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("material00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("material01", sim.metadata())
    +
    +    AddPlot("Mesh", "mesh2d")
    +    m = MeshAttributes(1)
    +    m.lineWidth = 1
    +    SetPlotOptions(m)
    +    AddPlot("FilledBoundary", "Material")
    +    DrawPlots()
    +    Test("material02")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "scalar")
    +    DrawPlots()
    +    Test("material03")
    +    DeleteAllPlots()
    +
    +    # Make a new plot.
    +    AddPlot("Mesh", "ucdmesh")
    +    SetPlotOptions(m)
    +    AddPlot("FilledBoundary", "MaterialFromArrays")
    +    DrawPlots()
    +    Test("material04")
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_materialvar.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_materialvar.html new file mode 100644 index 000000000..f2bb89b02 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_materialvar.html @@ -0,0 +1,124 @@ + +Results for simulation/materialvar.py + +

    Results of VisIt Regression Test - simulation/materialvar

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    materialvar000 modifications totalling 0 lines
    materialvar010 modifications totalling 0 lines
    materialvar020.590.64
    materialvar030.590.64
    materialvar041.430.64
    materialvar053.080.64
    materialvar061.280.64
    materialvar071.030.64
    materialvar081.430.64
    materialvar093.080.64
    materialvar101.280.64
    materialvar110.950.64
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_materialvar_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_materialvar_py.html new file mode 100644 index 000000000..4d28edb12 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_materialvar_py.html @@ -0,0 +1,58 @@ +simulation/materialvar.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  materialvar.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D structured mesh.
    +#              scalars defined on material sub regions.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("materialvar", "materialvar.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("materialvar00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("materialvar01", sim.metadata())
    +
    +    AddPlot("Mesh", "mesh2d")
    +    AddPlot("FilledBoundary", "Material")
    +    DrawPlots()
    +    Test("materialvar02")
    +    DeleteActivePlots()
    +
    +    scalars = ("scalar",
    +               "zonal_scalar_on_mat1",
    +               "zonal_scalar_on_mat2",
    +               "zonal_scalar_on_mat3",
    +               "zonal_scalar_on_mats12",
    +               "nodal_scalar_on_mat1",
    +               "nodal_scalar_on_mat2",
    +               "nodal_scalar_on_mat3",
    +               "nodal_scalar_on_mats23")
    +    i = 3
    +    for s in scalars:
    +        AddPlot("Pseudocolor", s)
    +        DrawPlots()
    +        Test("materialvar%02d" % i)
    +        DeleteActivePlots()
    +        i = i + 1
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mesh.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mesh.html new file mode 100644 index 000000000..9fa2c87d2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mesh.html @@ -0,0 +1,62 @@ + +Results for simulation/mesh.py + +

    Results of VisIt Regression Test - simulation/mesh

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mesh000 modifications totalling 0 lines
    mesh010 modifications totalling 0 lines
    mesh020.000.00
    mesh030.000.00
    mesh040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mesh_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mesh_py.html new file mode 100644 index 000000000..350f563ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_mesh_py.html @@ -0,0 +1,53 @@ +simulation/mesh.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mesh.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D and 3D structured mesh.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("mesh", "mesh.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("mesh00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("mesh01", sim.metadata())
    +
    +    AddPlot("Mesh", "mesh2d")
    +    m = MeshAttributes(1)
    +    m.lineWidth = 1
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("mesh02")
    +
    +    ChangeActivePlotsVar("mesh3d")
    +    Test("mesh03")
    +    DeleteAllPlots()
    +
    +    # Disconnect and reconnect.
    +    sim.disconnect()
    +    sim.connect()
    +
    +    # Make a new plot.
    +    AddPlot("Mesh", "mesh2d")
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("mesh04")
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_multiblock.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_multiblock.html new file mode 100644 index 000000000..547a06e55 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_multiblock.html @@ -0,0 +1,76 @@ + +Results for simulation/multiblock.py + +

    Results of VisIt Regression Test - simulation/multiblock

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    multiblock000 modifications totalling 0 lines
    multiblock010 modifications totalling 0 lines
    multiblock020.500.64
    multiblock030.500.64
    multiblock040.500.64
    multiblock050.500.64
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_multiblock_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_multiblock_py.html new file mode 100644 index 000000000..22d248be8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_multiblock_py.html @@ -0,0 +1,56 @@ +simulation/multiblock.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multiblock.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D structured mesh.
    +#              scalars
    +#              domain boundaries
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("multiblock", "multiblock.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("multiblock00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("multiblock01", sim.metadata())
    +
    +    AddPlot("Mesh", "mesh2d")
    +    AddPlot("Pseudocolor", "domainID")
    +    DrawPlots()
    +    Test("multiblock02")
    +
    +    # Force nodal centering to test domain boundary information.
    +    pc = PseudocolorAttributes(1)
    +    pc.centering = pc.Nodal
    +    SetPlotOptions(pc)
    +    Test("multiblock03")
    +
    +    DeleteActivePlots()
    +
    +    AddPlot("Subset", "Domains")
    +    DrawPlots()
    +    Test("multiblock04")
    +
    +    ChangeActivePlotsVar("Blocks")
    +    Test("multiblock05")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_point.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_point.html new file mode 100644 index 000000000..d23fe35d1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_point.html @@ -0,0 +1,92 @@ + +Results for simulation/point.py + +

    Results of VisIt Regression Test - simulation/point

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    point000 modifications totalling 0 lines
    point010 modifications totalling 0 lines
    point020.000.00
    point030.000.00
    point040.000.00
    point050.000.00
    point060.000.00
    point070.000.00
    point080.000.00
    point090.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_point_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_point_py.html new file mode 100644 index 000000000..2bd113c00 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_point_py.html @@ -0,0 +1,79 @@ +simulation/point.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  point.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   -  point mesh
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 25, 2014 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("point", "point.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("point00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("point01", sim.metadata())
    +
    +    # 2d mesh and points
    +    AddPlot("Mesh", "point3d")
    +    meshAtts = MeshAttributes()
    +    meshAtts.pointSizePixels = 3
    +    SetPlotOptions(meshAtts)
    +    DrawPlots()
    +    Test("point02")
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 1, 0)
    +    v.viewUp     = (0, 0, -1)
    +    SetView3D(v)
    +
    +    Test("point03")
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "pointvar")
    +    pcAtts = PseudocolorAttributes()
    +    pcAtts.pointSizePixels = 3
    +    SetPlotOptions(pcAtts)
    +    DrawPlots()
    +    Test("point04")
    +
    +    ResetView()
    +    Test("point05")
    +
    +    AddOperator("Project")
    +    DrawPlots()
    +    Test("point06")
    +
    +    projAtts = ProjectAttributes()
    +    projAtts.projectionType = projAtts.ZYCartesian
    +    SetOperatorOptions(projAtts)
    +    Test("point07")
    +
    +    projAtts.projectionType = projAtts.XRCylindrical
    +    SetOperatorOptions(projAtts)
    +    Test("point08")
    +
    +    projAtts.projectionType = projAtts.ZRCylindrical
    +    SetOperatorOptions(projAtts)
    +    Test("point09")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_polyhedral.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_polyhedral.html new file mode 100644 index 000000000..536cd460b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_polyhedral.html @@ -0,0 +1,68 @@ + +Results for simulation/polyhedral.py + +

    Results of VisIt Regression Test - simulation/polyhedral

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    polyhedral000 modifications totalling 0 lines
    polyhedral010 modifications totalling 0 lines
    polyhedral020.000.00
    polyhedral030.000.00
    polyhedral040.000.00
    polyhedral050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_polyhedral_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_polyhedral_py.html new file mode 100644 index 000000000..1f0c59f57 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_polyhedral_py.html @@ -0,0 +1,64 @@ +simulation/polyhedral.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  polyhedral.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              polyhedral   - 3D polyhedral.
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 26, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("polyhedral", "polyhedral.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("polyhedral00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("polyhedral01", sim.metadata())
    +
    +    AddPlot("Mesh", "polyhedral")
    +    m = MeshAttributes(1)
    +    m.lineWidth = 2
    +    m.opaqueMode = m.Off
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0.04, 0.66, 0.74)
    +    v.viewUp = (-0.35, 0.71, -0.62)
    +    SetView3D(v)
    +    Test("polyhedral02")
    +
    +    AddPlot("Pseudocolor", "nodal")
    +    DrawPlots()
    +    Test("polyhedral03")
    +
    +    ChangeActivePlotsVar("zonal")
    +    SetActivePlots(0)
    +    # show the tesselation that occured on the polyhedral zone
    +    m.showInternal = 1
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("polyhedral04")
    +
    +    SetActivePlots(1)
    +    DeleteActivePlots()
    +
    +    Test("polyhedral05")
    +
    +    DeleteAllPlots()
    +
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_scalar.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_scalar.html new file mode 100644 index 000000000..37b05bb46 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_scalar.html @@ -0,0 +1,58 @@ + +Results for simulation/scalar.py + +

    Results of VisIt Regression Test - simulation/scalar

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    scalar000 modifications totalling 0 lines
    scalar010 modifications totalling 0 lines
    scalar020.440.64
    scalar030.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_scalar_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_scalar_py.html new file mode 100644 index 000000000..895d2eec6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_scalar_py.html @@ -0,0 +1,57 @@ +simulation/scalar.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scalar.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       June 18, 2014
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("scalar", "scalar.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("scalar00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("scalar01", sim.metadata())
    +
    +    # 2d mesh and scalars
    +    AddPlot("Mesh", "mesh2d")
    +    AddPlot("Pseudocolor", "zonal")
    +    AddPlot("Label", "zonal")
    +    LabelAtts = LabelAttributes()
    +    LabelAtts.textFont1.scale = 7
    +    SetPlotOptions(LabelAtts)
    +    DrawPlots()
    +    Test("scalar02")
    +
    +    DeleteAllPlots()
    +
    +    # 2d mesh and scalars
    +    AddPlot("Mesh", "mesh3d")
    +    AddPlot("Pseudocolor", "nodal")
    +    AddPlot("Label", "nodal")
    +    LabelAtts = LabelAttributes()
    +    LabelAtts.textFont1.scale = 7
    +    LabelAtts.depthTestMode = LabelAtts.LABEL_DT_NEVER
    +    SetPlotOptions(LabelAtts)
    +
    +    DrawPlots()
    +    Test("scalar03")
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_species.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_species.html new file mode 100644 index 000000000..a6e35383a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_species.html @@ -0,0 +1,137 @@ + +Results for simulation/species.py + +

    Results of VisIt Regression Test - simulation/species

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    species000 modifications totalling 0 lines
    species010 modifications totalling 0 lines
    species020.000.00
    species030.000.00
    Force MIR
    species040.000.00
    Turn off materials
    species050.000.00
    species060.000.00
    species070.000.00
    Turn off species
    species080.000.00
    species090.000.00
    species100.000.00
    species110.000.00
    species120.000.00
    species130.000.00
    species140.000.00
    species150.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_species_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_species_py.html new file mode 100644 index 000000000..199820581 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_species_py.html @@ -0,0 +1,83 @@ +simulation/species.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  species.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       July 9, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Force MIR
    +#m = GetMaterialAttributes()
    +#m.forceMIR = 1
    +#SetMaterialAttributes(m)
    +
    +# Create our simulation object.
    +sim = TestSimulation("species", "species.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("species00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("species01", sim.metadata())
    +
    +    AddPlot("FilledBoundary", "Material")
    +    DrawPlots()
    +    Test("species02")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "scalar")
    +    DrawPlots()
    +    Test("species03")
    +
    +    DeleteAllPlots()
    +    TestSection("Force MIR")
    +    # Force MIR
    +    m = GetMaterialAttributes()
    +    m.forceMIR = 1
    +    SetMaterialAttributes(m)
    +
    +    AddPlot("Pseudocolor", "scalar")
    +    DrawPlots()
    +    Test("species04")
    +
    +    TestSection("Turn off materials")
    +    TurnMaterialsOff("Water")
    +    DrawPlots()
    +    Test("species05")
    +
    +    TurnMaterialsOn("Water")
    +    TurnMaterialsOff("Membrane")
    +    DrawPlots()
    +    Test("species06")
    +
    +    TurnMaterialsOn("Membrane")
    +    TurnMaterialsOff("Air")
    +    DrawPlots()
    +    Test("species07")
    +
    +    TurnMaterialsOn("Air")
    +
    +    TestSection("Turn off species")
    +    s = SILRestriction()
    +    for i in range(8):
    +        s.TurnOffSet(s.SetsInCategory("Species")[i])
    +        SetPlotSILRestriction(s)
    +        s.TurnOnSet(s.SetsInCategory("Species")[i])
    +        Test("species%02d"%(i+8))
    +    DeleteAllPlots()
    +
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ucdcurve.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ucdcurve.html new file mode 100644 index 000000000..69d17040d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ucdcurve.html @@ -0,0 +1,66 @@ + +Results for simulation/ucdcurve.py + +

    Results of VisIt Regression Test - simulation/ucdcurve

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ucdcurve000 modifications totalling 0 lines
    ucdcurve010 modifications totalling 0 lines
    ucdcurve020.000.00
    ucdcurve030.000.00
    ucdcurve040.000.00
    ucdcurve050 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ucdcurve_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ucdcurve_py.html new file mode 100644 index 000000000..95330e313 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_ucdcurve_py.html @@ -0,0 +1,72 @@ +simulation/ucdcurve.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ucdcurve.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - ucdcurve
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       Jun 24, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +import time
    +
    +# Create our simulation object.
    +sim = TestSimulation("ucdcurve", "ucdcurve.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("ucdcurve00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("ucdcurve01", sim.metadata())
    +
    +    AddPlot("Pseudocolor", "nodal")
    +    pcAtts = PseudocolorAttributes()
    +    pcAtts.lineWidth = 4
    +    SetPlotOptions(pcAtts)
    +    DrawPlots()
    +    Test("ucdcurve02")
    +
    +    times = "Times:\n"
    +    Query("Time")
    +    times = times + str(GetQueryOutputValue()) + "\n"
    +
    +    # Read the 'VisIt connected' message
    +    buf = sim.p.stderr.readline()
    +    for i in range(4):
    +        sim.consolecommand("step")
    +        # Read from stderr to look for the echoed command.
    +        buf = sim.p.stderr.readline()
    +        time.sleep(1)
    +    Test("ucdcurve03")
    +
    +    Query("Time")
    +    times = times + str(GetQueryOutputValue()) + "\n"
    +
    +    ChangeActivePlotsVar("zonal")
    +
    +    for i in range(10):
    +        sim.consolecommand("step")
    +        buf = sim.p.stderr.readline()
    +        time.sleep(1)
    +    Test("ucdcurve04")
    +
    +    Query("Time")
    +    times = times + str(GetQueryOutputValue()) + "\n"
    +
    +    TestText("ucdcurve05", times)
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_unstructured.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_unstructured.html new file mode 100644 index 000000000..8b456b528 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_unstructured.html @@ -0,0 +1,50 @@ + +Results for simulation/unstructured.py + +

    Results of VisIt Regression Test - simulation/unstructured

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    unstructured000 modifications totalling 0 lines
    unstructured010 modifications totalling 0 lines
    unstructured020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_unstructured_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_unstructured_py.html new file mode 100644 index 000000000..65a0821be --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_unstructured_py.html @@ -0,0 +1,44 @@ +simulation/unstructured.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  unstructured.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              unstructured   - 3D unstructured.
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 18, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("unstructured", "unstructured.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("unstructured00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("unstructured01", sim.metadata())
    +
    +    AddPlot("Mesh", "unstructured3d")
    +    m = MeshAttributes(1)
    +    m.lineWidth = 1
    +    SetPlotOptions(m)
    +    AddPlot("Subset", "Domains")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0.707107, 0, 0.707107)
    +    SetView3D(v)
    +    Test("unstructured02")
    +
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots.html new file mode 100644 index 000000000..ad546f393 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots.html @@ -0,0 +1,90 @@ + +Results for simulation/updateplots.py + +

    Results of VisIt Regression Test - simulation/updateplots

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    updateplots000 modifications totalling 0 lines
    updateplots010 modifications totalling 0 lines
    updateplots020.000.00
    updateplots030.000.00
    updateplots040.000.00
    updateplots050.000.00
    updateplots060.000.00
    updateplots070.000.00
    updateplots080.000.00
    updateplots090 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_py.html new file mode 100644 index 000000000..aca239315 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_py.html @@ -0,0 +1,89 @@ +simulation/updateplots.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  updateplots.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 18, 2014 
    +#
    +#  Modifications:
    +#   Kathleen Biagas, Fri Sep 10 09:37:11 PDT 2021
    +#   Added test for exporting vtk.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("updateplots", "updateplots.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("updateplots00", sim)
    +
    +def step(sim):
    +    sim.consolecommand("step")
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command 'step'" in buf:
    +            keepGoing = False
    +
    +def testExportVTK(sim):
    +    # default export FileFormat for VTK is Legacy ascii (.vtk extension),
    +    # Test an export that sets the FileFormat to XML Binary (.vtr extension)
    +    sim.consolecommand("exportVTK")
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command 'exportVTK'" in buf:
    +            keepGoing = False
    +    TestValueEQ("updateplots_export0000.vtr exists",
    +         os.path.isfile(os.path.join(TestEnv.params["run_dir"], "updateplots_export0000.vtr")),
    +         True)
    +
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("updateplots01", sim.metadata())
    +
    +    # 2d mesh and updateplotss
    +    #AddPlot("Mesh", "mesh2d")
    +    AddPlot("Pseudocolor", "zonal")
    +    AddPlot("Vector", "zvec")
    +    VectorAtts = VectorAttributes()
    +    VectorAtts.scale = 0.5
    +    VectorAtts.colorByMagnitude = 0
    +    VectorAtts.vectorColor = (255, 255, 255, 255)
    +    SetPlotOptions(VectorAtts)
    +    DrawPlots()
    +    Test("updateplots02")
    +
    +    i = 3
    +    times = "Times:\n"
    +    Query("Time")
    +    times = times + str(GetQueryOutputValue()) + "\n"
    +    for outer in range(6):
    +        for inner in range(3):
    +            step(sim)
    +        Query("Time")
    +        times = times + str(GetQueryOutputValue()) + "\n"
    +        Test("updateplots%02d"%i)
    +        i = i+1
    +
    +    TestText("updateplots%02d"%i, times)
    +
    +    # Uncomment this when #17008 is fixed (crash when Logging ExportDBRPC)
    +    #testExportVTK(sim)
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_session.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_session.html new file mode 100644 index 000000000..8030fb910 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_session.html @@ -0,0 +1,99 @@ + +Results for simulation/updateplots_session.py + +

    Results of VisIt Regression Test - simulation/updateplots_session

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing batch simulation with session file
    updateplots_session_000.000.00
    updateplots_session_010.000.00
    updateplots_session_020.000.00
    updateplots_session_030.000.00
    updateplots_session_040.000.00
    updateplots_session_050.000.00
    updateplots_session_060.000.00
    updateplots_session_070.000.00
    updateplots_session_080.000.00
    updateplots_session_090.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_session_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_session_py.html new file mode 100644 index 000000000..1cde57183 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_updateplots_session_py.html @@ -0,0 +1,88 @@ +simulation/updateplots_session.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  updateplots_session.py
    +#
    +#  Tests:      libsim - batch simulations that make images via a session file.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Oct  2 15:18:56 PDT 2015
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +import string, time
    +
    +def WaitForFile(filename, starttime, timelimit):
    +    fileSize = 0
    +    lastFileSize = 0
    +    samecount = 0
    +    for iteration in range(1000):
    +        delay = 2
    +        try:
    +            # Get the size of the file.
    +            fileSize = os.stat(filename).st_size
    +
    +            # If the file grew, wait a little bit and check again.
    +            if fileSize > lastFileSize:
    +                samecount = 0
    +            elif fileSize == lastFileSize and fileSize > 0:
    +                delay = 1
    +                samecount = samecount + 1
    +                if samecount == 3:
    +                    break
    +
    +            lastFileSize = fileSize
    +        except:
    +            print("Problem stat'ing ", filename)
    +            pass
    +
    +        time.sleep(delay)
    +        if (time.time() - starttime) > timelimit:
    +            raise "Out of time"
    +
    +    return fileSize
    +
    +TestSection("Testing batch simulation with session file")
    +
    +# The name of the session file.
    +session = TestEnv.params["script"].replace("updateplots_session.py", "updateplots_session.session")
    +
    +# Create our simulation object.
    +sim = Simulation(SimVisItDir(), SimProgram("updateplots"), SimFile("dummy"))
    +sim.addargument("-batch")
    +sim.addargument("-sessionfile")
    +sim.addargument(session)
    +sim.addargument("-maxcycles")
    +sim.addargument("11")
    +sim.addargument("-width")
    +sim.addargument("%d" % TestEnv.params["width"])
    +sim.addargument("-height")
    +sim.addargument("%d" % TestEnv.params["height"])
    +
    +
    +# Start the sim.
    +sim.startsim()
    +
    +# Iterate through the images that we hoped the simulation would create.
    +timelimit = 300
    +starttime = time.time()
    +for testindex in range(10):
    +    filename = "updateplots%04d.png" % testindex
    +    if WaitForFile(filename, starttime, timelimit):
    +        OpenDatabase(filename)
    +        AddPlot("Truecolor", "color")
    +        DrawPlots()
    +        ResetView()
    +        v = GetView2D()
    +        v.viewportCoords = (0,1,0,1)
    +        SetView2D(v)
    +        testname = "updateplots_session_%02d" % testindex
    +        Test(testname)
    +        DeleteAllPlots()
    +        CloseDatabase(filename)
    +
    +sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_var.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_var.html new file mode 100644 index 000000000..b321f2a53 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_var.html @@ -0,0 +1,58 @@ + +Results for simulation/var.py + +

    Results of VisIt Regression Test - simulation/var

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    var000 modifications totalling 0 lines
    var010 modifications totalling 0 lines
    var020.440.64
    var030.000.00
    +

    Final Return Code: 112

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_var_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_var_py.html new file mode 100644 index 000000000..2f7673f2e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_var_py.html @@ -0,0 +1,62 @@ +simulation/var.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  var.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       June 6, 2014
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("var", "var.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("var00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("var01", sim.metadata())
    +
    +    # 2d mesh and vars
    +    AddPlot("Mesh", "mesh2d")
    +    AddPlot("Pseudocolor", "zonal_scalar")
    +    AddPlot("Vector", "zonal_vector")
    +    VectorAtts = VectorAttributes()
    +    VectorAtts.scale = 0.5
    +    VectorAtts.colorByMagnitude = 0
    +    VectorAtts.vectorColor = (255, 255, 255, 255)
    +    SetPlotOptions(VectorAtts)
    +    AddPlot("Label", "zonal_label")
    +    LabelAtts = LabelAttributes()
    +    LabelAtts.textFont1.scale = 6
    +    SetPlotOptions(LabelAtts)
    +    DrawPlots()
    +    Test("var02")
    +
    +    DeleteAllPlots()
    +
    +    # 2d mesh and vars
    +    AddPlot("Mesh", "mesh3d")
    +    AddPlot("Pseudocolor", "nodal_scalar")
    +    AddPlot("Vector", "nodal_vector")
    +    VectorAtts = VectorAttributes()
    +    VectorAtts.scale = 0.5
    +    SetPlotOptions(VectorAtts)
    +
    +    DrawPlots()
    +    Test("var03")
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_zerocopy.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_zerocopy.html new file mode 100644 index 000000000..cdfb54da8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_zerocopy.html @@ -0,0 +1,285 @@ + +Results for simulation/zerocopy.py + +

    Results of VisIt Regression Test - simulation/zerocopy

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    zerocopy000 modifications totalling 0 lines
    zerocopy010 modifications totalling 0 lines
    Mesh soa_s
    zerocopy_soa_s_000.000.00
    zerocopy_soa_s_010.000.00
    zerocopy_soa_s_020.000.00
    zerocopy_soa_s_030.000.00
    zerocopy_soa_s_040.000.00
    zerocopy_soa_s_050.000.00
    Mesh soa_m
    zerocopy_soa_m_000.000.00
    zerocopy_soa_m_010.000.00
    zerocopy_soa_m_020.000.00
    zerocopy_soa_m_030.000.00
    zerocopy_soa_m_040.000.00
    zerocopy_soa_m_050.000.00
    Mesh soa_i
    zerocopy_soa_i_000.000.00
    zerocopy_soa_i_010.000.00
    zerocopy_soa_i_020.000.00
    zerocopy_soa_i_030.000.00
    zerocopy_soa_i_040.000.00
    zerocopy_soa_i_050.000.00
    Mesh aos_s
    zerocopy_aos_s_000.000.00
    zerocopy_aos_s_010.000.00
    zerocopy_aos_s_020.000.00
    zerocopy_aos_s_030.000.00
    zerocopy_aos_s_040.000.00
    zerocopy_aos_s_050.000.00
    Mesh aos_m
    zerocopy_aos_m_000.000.00
    zerocopy_aos_m_010.000.00
    zerocopy_aos_m_020.000.00
    zerocopy_aos_m_030.000.00
    zerocopy_aos_m_040.000.00
    zerocopy_aos_m_050.000.00
    Mesh aos_c
    zerocopy_aos_c_000.000.00
    zerocopy_aos_c_010.000.00
    zerocopy_aos_c_020.000.00
    zerocopy_aos_c_030.000.00
    zerocopy_aos_c_040.000.00
    zerocopy_aos_c_050.000.00
    Memory usage
    zerocopy021 modifications totalling 1 lines
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_zerocopy_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_zerocopy_py.html new file mode 100644 index 000000000..2df862b9c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/simulation_zerocopy_py.html @@ -0,0 +1,178 @@ +simulation/zerocopy.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  zerocopy.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Jul 22 16:07:12 PDT 2015
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +import string
    +
    +def step(sim):
    +    sim.consolecommand("step")
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command 'step'" in buf:
    +            keepGoing = False
    +
    +def MemorySample(sim, label = ""):
    +    EL = GetEngineList(1)
    +    pa = GetProcessAttributes("engine", EL[0][0], EL[0][1])
    +    return (pa.memory[0], label)
    +
    +def sv():
    +    v = GetView3D()
    +    v.viewNormal = (0.284499, -0.766043, 0.576401)
    +    v.focus = (0, 0.499486, 0)
    +    v.viewUp = (-0.137723, 0.562352, 0.815348)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.49949
    +    v.nearPlane = -2.99897
    +    v.farPlane = 2.99897
    +    v.imagePan = (0.0351381, 0.0550703)
    +    v.imageZoom = 1.15316
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0.499486, 0)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def meshtest(sim, mesh):
    +    m = [MemorySample(sim, "Initial")]
    +    TestSection("Mesh " + mesh)
    +
    +    AddPlot("Pseudocolor", mesh + "/temperature")
    +    DrawPlots()
    +    sv()
    +    m = m + [MemorySample(sim, "Pseudocolor plot temperature")]
    +    Test("zerocopy_%s_00" % mesh)
    +
    +    ChangeActivePlotsVar(mesh + "/vx")
    +    Test("zerocopy_%s_01" % mesh)
    +    m = m + [MemorySample(sim, "Change to vx")]
    +
    +    ChangeActivePlotsVar(mesh + "/I")
    +    Test("zerocopy_%s_02" % mesh)
    +    m = m + [MemorySample(sim, "Change to I")]
    +
    +    ChangeActivePlotsVar(mesh + "/J")
    +    Test("zerocopy_%s_03" % mesh)
    +    m = m + [MemorySample(sim, "Change to J")]
    +
    +    ChangeActivePlotsVar(mesh + "/K")
    +    Test("zerocopy_%s_04" % mesh)
    +    m = m + [MemorySample(sim, "Change to K")]
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Vector", mesh + "/velocity")
    +    DrawPlots()
    +    Test("zerocopy_%s_05" % mesh)
    +    m = m + [MemorySample(sim, "Vector plot velocity")]
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", mesh + "/temperature")
    +    DrawPlots()
    +    for i in range(20):
    +        step(sim)
    +        m = m + [MemorySample(sim, "Pseudocolor plot temperature iteration %d" % i)]
    +    DeleteAllPlots()
    +    return m
    +
    +def SaveTestImage(name):
    +    # Save these images somewhat larger than a regular test case image
    +    # since the images contain a lot of text.
    +    swa = SaveWindowAttributes()
    +    swa.width = 800
    +    swa.height = 800
    +    swa.screenCapture = 0
    +    Test(name, swa)
    +
    +def MeshNames():
    +    return ("soa_s", "soa_m", "soa_i", "aos_s", "aos_m", "aos_c")
    +
    +def PlotMemoryCurve(filename, testname):
    +    OpenDatabase("simmem.curve")
    +    M = MeshNames()
    +    for mesh in M:
    +        AddPlot("Curve", mesh)
    +    DrawPlots()
    +    ResetView()
    +    SaveTestImage(testname)
    +
    +# Do a simple, reliable test without quantifying since that would not be
    +# portable and would require rebaselining as VisIt changes.
    +def TestMemoryUsage(memory, testname):
    +    def AllMethodsUseLessMemoryThanCopying(memory):
    +        numSamples = len(memory["aos_c"])
    +        for i in range(numSamples):
    +            copyMem = memory["aos_c"][i][0]
    +            for k in list(memory.keys()):
    +                if k != "aos_c":
    +                    if memory[k][i][0] > copyMem:
    +                        return False
    +        return True
    +    if AllMethodsUseLessMemoryThanCopying(memory):
    +        TestText(testname, "OK: All methods use less memory than copying.")
    +    else:
    +        TestText(testname, "ERROR: Some methods used more memory than copying.")
    +
    +def WriteData(filename, memory):
    +    print(memory)
    +    numSamples = len(memory["aos_c"])
    +    f = open(filename, "wt")
    +    M = MeshNames()
    +    f.write("event," + string.replace(str(M), "'", "")[1:-1] + "\n")
    +    for row in range(numSamples):
    +        s = memory["aos_c"][row][1]
    +        for m in M:
    +            s = s + ", " + str(memory[m][row][0])
    +        f.write(s + "\n")
    +    f.close()
    +
    +# Create our simulation object.
    +sim = TestSimulation("zerocopy", "zerocopy.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("zerocopy00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("zerocopy01", sim.metadata())
    +
    +    memorySamples = {}
    +    f = open("simmem.curve", "wt")
    +    M = MeshNames()
    +    for mesh in M:
    +        m = meshtest(sim, mesh)
    +        f.write("# " + mesh + "\n")
    +        for i in range(len(m)):
    +            f.write("%g %g\n" % (i,m[i][0]))
    +        memorySamples[mesh] = m
    +    f.close()
    +
    +    TestSection("Memory usage")
    +    TestMemoryUsage(memorySamples, "zerocopy02")
    +#    PlotMemoryCurve("simmem.curve", "zerocopy03")
    +#    WriteData("zerocopy.dat", memorySamples)
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_annotation_objects.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_annotation_objects.html new file mode 100644 index 000000000..2499e1397 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_annotation_objects.html @@ -0,0 +1,44 @@ + +Results for unit/annotation_objects.py + +

    Results of VisIt Regression Test - unit/annotation_objects

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ComparisonOperator_00
     "False" .eq. "False" : True
    ComparisonOperator_01
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_annotation_objects_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_annotation_objects_py.html new file mode 100644 index 000000000..17752536d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_annotation_objects_py.html @@ -0,0 +1,30 @@ +unit/annotation_objects.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  annotation_objects.py
    +#
    +#  Tests:      AnnotationObject unit test
    +#
    +#  Alister Maguire, Fri Jul 16 12:50:11 PDT 2021
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def CheckComparisonOperator():
    +    annot = CreateAnnotationObject("Text2D")
    +
    +    #
    +    # In the past, a bug caused a crash whenever we compared to a non-annotation
    +    # type object.
    +    #
    +    TestValueEQ("ComparisonOperator_00", annot == "", False)
    +    TestValueEQ("ComparisonOperator_01", annot == annot, True)
    +
    +def RunMain():
    +    CheckComparisonOperator()
    +
    +RunMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_atts_assign.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_atts_assign.html new file mode 100644 index 000000000..ddb84056a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_atts_assign.html @@ -0,0 +1,1806 @@ + +Results for unit/atts_assign.py + +

    Results of VisIt Regression Test - unit/atts_assign

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Assignment to bool member, "inverse", (of CylinderAttributes())
    ca.inverse=1,2
     "True" .eq. "True" : True
    ca.inverse='123'
     "True" .eq. "True" : True
    ca.inverse=(1+2j)
     "True" .eq. "True" : True
    ca.inverse=[2, 4, 6]
     "True" .eq. "True" : True
    ca.inverse=None
     "True" .eq. "True" : True
    ca.inverse=5
     "True" .eq. "True" : True
    ca.SetInverse('123')
     "True" .eq. "True" : True
    ca.SetInverse((1+2j))
     "True" .eq. "True" : True
    ca.SetInverse([2, 4, 6])
     "True" .eq. "True" : True
    ca.SetInverse(None)
     "True" .eq. "True" : True
    ca.SetInverse(5)
     "True" .eq. "True" : True
    ca.inverse=0
     "True" .eq. "True" : True
    ca.inverse=1
     "True" .eq. "True" : True
    ca.inverse=True
     "True" .eq. "True" : True
    ca.inverse=False
     "True" .eq. "True" : True
    ca.SetInverse(0)
     "True" .eq. "True" : True
    ca.SetInverse(1)
     "True" .eq. "True" : True
    ca.SetInverse(True)
     "True" .eq. "True" : True
    ca.SetInverse(False)
     "True" .eq. "True" : True
    Assignment to int member, "samplesPerRay", (of VolumeAttributes())
    va.samplesPerRay=1,2
     "True" .eq. "True" : True
    va.samplesPerRay='123'
     "True" .eq. "True" : True
    va.samplesPerRay=(1+2j)
     "True" .eq. "True" : True
    va.samplesPerRay=None
     "True" .eq. "True" : True
    va.samplesPerRay=[2, 4, 6]
     "True" .eq. "True" : True
    va.samplesPerRay=2147483648
     "True" .eq. "True" : True
    va.SetSamplesPerRay('123')
     "True" .eq. "True" : True
    va.SetSamplesPerRay((1+2j))
     "True" .eq. "True" : True
    va.SetSamplesPerRay(None)
     "True" .eq. "True" : True
    va.SetSamplesPerRay([2, 4, 6])
     "True" .eq. "True" : True
    va.SetSamplesPerRay(2147483648)
     "True" .eq. "True" : True
    va.samplesPerRay=0
     "True" .eq. "True" : True
    va.samplesPerRay=1
     "True" .eq. "True" : True
    va.samplesPerRay=-1
     "True" .eq. "True" : True
    va.samplesPerRay=5
     "True" .eq. "True" : True
    va.samplesPerRay=True
     "True" .eq. "True" : True
    va.samplesPerRay=False
     "True" .eq. "True" : True
    va.samplesPerRay=2147483647
     "True" .eq. "True" : True
    va.SetSamplesPerRay(0)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(1)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(-1)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(5)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(True)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(False)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(2147483647)
     "True" .eq. "True" : True
    Assignment to float member, "opacityAttenuation", (of VolumeAttributes())
    va.opacityAttenuation=1,2
     "True" .eq. "True" : True
    va.opacityAttenuation='123'
     "True" .eq. "True" : True
    va.opacityAttenuation=(1+2j)
     "True" .eq. "True" : True
    va.opacityAttenuation=None
     "True" .eq. "True" : True
    va.opacityAttenuation=[2, 4, 6]
     "True" .eq. "True" : True
    va.opacityAttenuation=3.402823e+39
     "True" .eq. "True" : True
    va.SetOpacityAttenuation('123')
     "True" .eq. "True" : True
    va.SetOpacityAttenuation((1+2j))
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(None)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation([2, 4, 6])
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(3.402823e+39)
     "True" .eq. "True" : True
    va.opacityAttenuation=0
     "True" .eq. "True" : True
    va.opacityAttenuation=1
     "True" .eq. "True" : True
    va.opacityAttenuation=-1
     "True" .eq. "True" : True
    va.opacityAttenuation=0.3
     "True" .eq. "True" : True
    va.opacityAttenuation=3.40282e+37
     "True" .eq. "True" : True
    va.opacityAttenuation=True
     "True" .eq. "True" : True
    va.opacityAttenuation=False
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(0)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(1)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(-1)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(0.3)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(3.40282e+37)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(True)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(False)
     "True" .eq. "True" : True
    Assignment to double member, "radius", (of CylinderAttributes())
    ca.radius=1,2
     "True" .eq. "True" : True
    ca.radius='123'
     "True" .eq. "True" : True
    ca.radius=(1+2j)
     "True" .eq. "True" : True
    ca.radius=None
     "True" .eq. "True" : True
    ca.radius=[2, 4, 6]
     "True" .eq. "True" : True
    ca.SetRadius('123')
     "True" .eq. "True" : True
    ca.SetRadius((1+2j))
     "True" .eq. "True" : True
    ca.SetRadius(None)
     "True" .eq. "True" : True
    ca.SetRadius([2, 4, 6])
     "True" .eq. "True" : True
    ca.radius=0
     "True" .eq. "True" : True
    ca.radius=1
     "True" .eq. "True" : True
    ca.radius=-1
     "True" .eq. "True" : True
    ca.radius=5.5
     "True" .eq. "True" : True
    ca.radius=0.0
     "True" .eq. "True" : True
    ca.radius=inf
     "True" .eq. "True" : True
    ca.radius=True
     "True" .eq. "True" : True
    ca.radius=False
     "True" .eq. "True" : True
    ca.SetRadius(0)
     "True" .eq. "True" : True
    ca.SetRadius(1)
     "True" .eq. "True" : True
    ca.SetRadius(-1)
     "True" .eq. "True" : True
    ca.SetRadius(5.5)
     "True" .eq. "True" : True
    ca.SetRadius(0.0)
     "True" .eq. "True" : True
    ca.SetRadius(inf)
     "True" .eq. "True" : True
    ca.SetRadius(True)
     "True" .eq. "True" : True
    ca.SetRadius(False)
     "True" .eq. "True" : True
    Assignment to string member, "designator", (of CurveAttributes())
    ca.designator="123","abc"
     "True" .eq. "True" : True
    ca.designator=0
     "True" .eq. "True" : True
    ca.designator=1
     "True" .eq. "True" : True
    ca.designator=1.1
     "True" .eq. "True" : True
    ca.designator=(1+2j)
     "True" .eq. "True" : True
    ca.designator=None
     "True" .eq. "True" : True
    ca.designator=[2, 4, 6]
     "True" .eq. "True" : True
    ca.SetDesignator(0)
     "True" .eq. "True" : True
    ca.SetDesignator(1)
     "True" .eq. "True" : True
    ca.SetDesignator(1.1)
     "True" .eq. "True" : True
    ca.SetDesignator((1+2j))
     "True" .eq. "True" : True
    ca.SetDesignator(None)
     "True" .eq. "True" : True
    ca.SetDesignator([2, 4, 6])
     "True" .eq. "True" : True
    ca.designator='123'
     "True" .eq. "True" : True
    ca.designator='abc'
     "True" .eq. "True" : True
    ca.designator=''
     "True" .eq. "True" : True
    ca.SetDesignator('123')
     "True" .eq. "True" : True
    ca.SetDesignator('abc')
     "True" .eq. "True" : True
    ca.SetDesignator('')
     "True" .eq. "True" : True
    Assignment to GlyphType member, "pointType", (of MeshAttributes())
    ma.pointType=1
     "True" .eq. "True" : True
    ma.pointType='123'
     "True" .eq. "True" : True
    ma.pointType=(1+2j)
     "True" .eq. "True" : True
    ma.pointType=None
     "True" .eq. "True" : True
    ma.pointType=[2, 4, 6]
     "True" .eq. "True" : True
    ma.pointType=-1
     "True" .eq. "True" : True
    ma.pointType=123123123123123123123123123123
     "True" .eq. "True" : True
    ma.SetPointType('123')
     "True" .eq. "True" : True
    ma.SetPointType((1+2j))
     "True" .eq. "True" : True
    ma.SetPointType(None)
     "True" .eq. "True" : True
    ma.SetPointType([2, 4, 6])
     "True" .eq. "True" : True
    ma.SetPointType(-1)
     "True" .eq. "True" : True
    ma.SetPointType(123123123123123123123123123123)
     "True" .eq. "True" : True
    ma.pointType=0
     "True" .eq. "True" : True
    ma.pointType=1
     "True" .eq. "True" : True
    ma.pointType=5
     "True" .eq. "True" : True
    ma.pointType=True
     "True" .eq. "True" : True
    ma.pointType=False
     "True" .eq. "True" : True
    ma.pointType=6
     "True" .eq. "True" : True
    ma.SetPointType(0)
     "True" .eq. "True" : True
    ma.SetPointType(1)
     "True" .eq. "True" : True
    ma.SetPointType(5)
     "True" .eq. "True" : True
    ma.SetPointType(True)
     "True" .eq. "True" : True
    ma.SetPointType(False)
     "True" .eq. "True" : True
    ma.SetPointType(6)
     "True" .eq. "True" : True
    Assignment to Enum member, "smoothingLevel", (of MeshAttributes())
    ma.smoothingLevel=1
     "True" .eq. "True" : True
    ma.smoothingLevel='123'
     "True" .eq. "True" : True
    ma.smoothingLevel=(1+2j)
     "True" .eq. "True" : True
    ma.smoothingLevel=None
     "True" .eq. "True" : True
    ma.smoothingLevel=[2, 4, 6]
     "True" .eq. "True" : True
    ma.smoothingLevel=-1
     "True" .eq. "True" : True
    ma.smoothingLevel=123123123
     "True" .eq. "True" : True
    ma.smoothingLevel=123123123123123123123123123123
     "True" .eq. "True" : True
    ma.SetSmoothingLevel('123')
     "True" .eq. "True" : True
    ma.SetSmoothingLevel((1+2j))
     "True" .eq. "True" : True
    ma.SetSmoothingLevel(None)
     "True" .eq. "True" : True
    ma.SetSmoothingLevel([2, 4, 6])
     "True" .eq. "True" : True
    ma.SetSmoothingLevel(-1)
     "True" .eq. "True" : True
    ma.SetSmoothingLevel(123123123)
     "True" .eq. "True" : True
    ma.SetSmoothingLevel(123123123123123123123123123123)
     "True" .eq. "True" : True
    ma.smoothingLevel=0
     "True" .eq. "True" : True
    ma.smoothingLevel=1
     "True" .eq. "True" : True
    ma.smoothingLevel=2
     "True" .eq. "True" : True
    ma.smoothingLevel=True
     "True" .eq. "True" : True
    ma.smoothingLevel=False
     "True" .eq. "True" : True
    ma.smoothingLevel=1
     "True" .eq. "True" : True
    ma.SmoothingLevel(0)
     "True" .eq. "True" : True
    ma.SmoothingLevel(1)
     "True" .eq. "True" : True
    ma.SmoothingLevel(2)
     "True" .eq. "True" : True
    ma.SmoothingLevel(True)
     "True" .eq. "True" : True
    ma.SmoothingLevel(False)
     "True" .eq. "True" : True
    ma.SmoothingLevel(1)
     "True" .eq. "True" : True
    Assignment to tuple, "point1", member (of CylinderAttributes())
    ca.point=1,2,3
     "True" .eq. "True" : True
    ca.SetPoint(1,2,3)
     "True" .eq. "True" : True
    ca.point1=1,2
     "True" .eq. "True" : True
    ca.point1=1,2,3,4
     "True" .eq. "True" : True
    ca.point1=1, 2
     "True" .eq. "True" : True
    ca.point1=1, 2, 3, 4
     "True" .eq. "True" : True
    ca.point1='123'
     "True" .eq. "True" : True
    ca.point1=1, (1+2j), 3
     "True" .eq. "True" : True
    ca.point1=1, [2, 4, 6], 3
     "True" .eq. "True" : True
    ca.point1=1, 'b', 3
     "True" .eq. "True" : True
    ca.point1=1, None, 3
     "True" .eq. "True" : True
    ca.point1=array([1.1, 2.2]
     "True" .eq. "True" : True
    ca.point1=array([1.1, 2.2, 3.3, 4.4]
     "True" .eq. "True" : True
    ca.SetPoint1(1, 2)
     "True" .eq. "True" : True
    ca.SetPoint1(1, 2, 3, 4)
     "True" .eq. "True" : True
    ca.SetPoint1('123')
     "True" .eq. "True" : True
    ca.SetPoint1(1, (1+2j), 3)
     "True" .eq. "True" : True
    ca.SetPoint1(1, [2, 4, 6], 3)
     "True" .eq. "True" : True
    ca.SetPoint1(1, 'b', 3)
     "True" .eq. "True" : True
    ca.SetPoint1(1, None, 3)
     "True" .eq. "True" : True
    ca.SetPoint1(array([1.1, 2.2])
     "True" .eq. "True" : True
    ca.SetPoint1(array([1.1, 2.2, 3.3, 4.4])
     "True" .eq. "True" : True
    ca.point1=1,2,3
     "True" .eq. "True" : True
    ca.point1=1, 2, 3
     "True" .eq. "True" : True
    ca.point1=1.1, 2.2, 3.3
     "True" .eq. "True" : True
    ca.point1=2, 4, 6
     "True" .eq. "True" : True
    ca.point1=array([1, 2, 3]
     "True" .eq. "True" : True
    ca.point1=array([1.1, 2.2, 3.3]
     "True" .eq. "True" : True
    ca.SetPoint1(1, 2, 3)
     "True" .eq. "True" : True
    ca.SetPoint1(1.1, 2.2, 3.3)
     "True" .eq. "True" : True
    ca.SetPoint1(2, 4, 6)
     "True" .eq. "True" : True
    ca.SetPoint1(array([1, 2, 3])
     "True" .eq. "True" : True
    ca.SetPoint1(array([1.1, 2.2, 3.3])
     "True" .eq. "True" : True
    Assignment to ucharVector member, "changedColors", (of MultiCurveAttributes())
    mca.changedColors=1,2,3
     "True" .eq. "True" : True
    mca.changedColors=1, 123123123123123123123123123123, 3
     "True" .eq. "True" : True
    mca.changedColors=1, (1+2j), 3
     "True" .eq. "True" : True
    mca.changedColors=1, [2, 4, 6], 3
     "True" .eq. "True" : True
    mca.changedColors=1, 'b', 3
     "True" .eq. "True" : True
    mca.changedColors=1, None, 3
     "True" .eq. "True" : True
    mca.changedColors='123',
     "True" .eq. "True" : True
    mca.SetChangedColors(1, 123123123123123123123123123123, 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, (1+2j), 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, [2, 4, 6], 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, 'b', 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, None, 3)
     "True" .eq. "True" : True
    mca.SetChangedColors('123',)
     "True" .eq. "True" : True
    mca.changedColors=1, 2, 3
     "True" .eq. "True" : True
    mca.changedColors=2, 4, 6
     "True" .eq. "True" : True
    mca.changedColors=1, True, 3
     "True" .eq. "True" : True
    mca.changedColors=1, False, 3
     "True" .eq. "True" : True
    mca.SetChangedColors(1, 2, 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(2, 4, 6)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, True, 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, False, 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(array([1, 2, 3])
     "True" .eq. "True" : True
    Assignment to intVector member, "index", (of OnionPeelAttributes())
    opa.index=1,2,3
     "True" .eq. "True" : True
    opa.index=2147483648,
     "True" .eq. "True" : True
    opa.index=1+2j),
     "True" .eq. "True" : True
    opa.index='b',
     "True" .eq. "True" : True
    opa.index=None,
     "True" .eq. "True" : True
    opa.index=1, 2147483648, 3
     "True" .eq. "True" : True
    opa.index=1, (1+2j), 3
     "True" .eq. "True" : True
    opa.index=1, [2, 4, 6], 3
     "True" .eq. "True" : True
    opa.index=1, 'b', 3
     "True" .eq. "True" : True
    opa.index=1, None, 3
     "True" .eq. "True" : True
    opa.SetIndex(2147483648,)
     "True" .eq. "True" : True
    opa.SetIndex(1+2j),)
     "True" .eq. "True" : True
    opa.SetIndex('b',)
     "True" .eq. "True" : True
    opa.SetIndex(None,)
     "True" .eq. "True" : True
    opa.SetIndex(1, 2147483648, 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, (1+2j), 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, [2, 4, 6], 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, 'b', 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, None, 3)
     "True" .eq. "True" : True
    opa.index=1, 2, 3
     "True" .eq. "True" : True
    opa.index=[2, 4, 6]
     "True" .eq. "True" : True
    opa.index=2, 4, 6
     "True" .eq. "True" : True
    opa.index=1, True, 3
     "True" .eq. "True" : True
    opa.index=1, False, 3
     "True" .eq. "True" : True
    opa.index=1, 2147483647, 3
     "True" .eq. "True" : True
    opa.SetIndex(1, 2, 3)
     "True" .eq. "True" : True
    opa.SetIndex([2, 4, 6])
     "True" .eq. "True" : True
    opa.SetIndex(2, 4, 6)
     "True" .eq. "True" : True
    opa.SetIndex(1, True, 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, False, 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, 2147483647, 3)
     "True" .eq. "True" : True
    opa.SetIndex(array([1, 2, 3])
     "True" .eq. "True" : True
    Assignment to doubleVector member, "values", (of ContourAttributes())
    ca.contourValue=1,2,3
     "True" .eq. "True" : True
    ca.contourValue=1+2j),
     "True" .eq. "True" : True
    ca.contourValue='b',
     "True" .eq. "True" : True
    ca.contourValue=None,
     "True" .eq. "True" : True
    ca.contourValue=1, (1+2j), 3
     "True" .eq. "True" : True
    ca.contourValue=1, [2, 4, 6], 3
     "True" .eq. "True" : True
    ca.contourValue=1, 'b', 3
     "True" .eq. "True" : True
    ca.contourValue=1, None, 3
     "True" .eq. "True" : True
    ca.SetContourValue(1+2j),)
     "True" .eq. "True" : True
    ca.SetContourValue('b',)
     "True" .eq. "True" : True
    ca.SetContourValue(None,)
     "True" .eq. "True" : True
    ca.SetContourValue(1, (1+2j), 3)
     "True" .eq. "True" : True
    ca.SetContourValue(1, [2, 4, 6], 3)
     "True" .eq. "True" : True
    ca.SetContourValue(1, 'b', 3)
     "True" .eq. "True" : True
    ca.SetContourValue(1, None, 3)
     "True" .eq. "True" : True
    ca.contourValue=1, 2, 3
     "True" .eq. "True" : True
    ca.contourValue=[2, 4, 6]
     "True" .eq. "True" : True
    ca.contourValue=2, 4, 6
     "True" .eq. "True" : True
    ca.contourValue=1, True, 3
     "True" .eq. "True" : True
    ca.contourValue=1, False, 3
     "True" .eq. "True" : True
    ca.SetContourValue(1, 2, 3)
     "True" .eq. "True" : True
    ca.SetContourValue([2, 4, 6])
     "True" .eq. "True" : True
    ca.SetContourValue(2, 4, 6)
     "True" .eq. "True" : True
    ca.SetContourValue(1, True, 3)
     "True" .eq. "True" : True
    ca.SetContourValue(1, False, 3)
     "True" .eq. "True" : True
    ca.SetContourValue(array([1.1, 2.2, 3.3])
     "True" .eq. "True" : True
    Assignment to ucharArray member, "freeformOpacity", (of VolumeAttributes())
    va.freeformOpacity=3,17
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,17)
     "True" .eq. "True" : True
    va.freeformOpacity=tuple(arr)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(*tuple(arr))
     "True" .eq. "True" : True
    va.freeformOpacity=3,None
     "True" .eq. "True" : True
    va.freeformOpacity=3,(1+2j)
     "True" .eq. "True" : True
    va.freeformOpacity=3,[2, 4, 6]
     "True" .eq. "True" : True
    va.freeformOpacity=3,'123'
     "True" .eq. "True" : True
    va.freeformOpacity=None,17
     "True" .eq. "True" : True
    va.freeformOpacity=(1+2j),17
     "True" .eq. "True" : True
    va.freeformOpacity=[2, 4, 6],17
     "True" .eq. "True" : True
    va.freeformOpacity='123',17
     "True" .eq. "True" : True
    va.freeformOpacity=-3,17
     "True" .eq. "True" : True
    va.freeformOpacity=3,1700
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,None)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,(1+2j))
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,[2, 4, 6])
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,'123')
     "True" .eq. "True" : True
    va.SetFreeformOpacity(None,17)
     "True" .eq. "True" : True
    va.SetFreeformOpacity((1+2j),17)
     "True" .eq. "True" : True
    va.SetFreeformOpacity([2, 4, 6],17)
     "True" .eq. "True" : True
    va.SetFreeformOpacity('123',17)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(-3,17)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,1700)
     "True" .eq. "True" : True
    va.freeformOpacity=(17,)*256
     "True" .eq. "True" : True
    va.SetFreeformOpacity((17,)*256)
     "True" .eq. "True" : True
    va.freeformOpacity=(17, 17, 17, None, 17, 17, 17, ...
     "True" .eq. "True" : True
    va.freeformOpacity=(17, 17, 17, (1+2j, ..., 17, 17, 17, ...
     "True" .eq. "True" : True
    va.freeformOpacity=(17, 17, 17, [2, 4, 6], 17, 17, 17, ...
     "True" .eq. "True" : True
    va.freeformOpacity=(17, 17, 17, (1, 2, 3, ..., 17, 17, 17, ...
     "True" .eq. "True" : True
    va.freeformOpacity=(17, 17, 17, '123', 17, 17, 17, ...
     "True" .eq. "True" : True
    va.SetFreeformOpacity(17, 17, 17, None, 17, 17, 17, ...)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(17, 17, 17, (1+2j, ...), 17, 17, 17, ...)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(17, 17, 17, [2, 4, 6], 17, 17, 17, ...)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(17, 17, 17, (1, 2, 3, ...), 17, 17, 17, ...)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(17, 17, 17, '123', 17, 17, 17, ...)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(fails[0])
     "True" .eq. "True" : True
    va.SetFreeformOpacity(fails[1])
     "True" .eq. "True" : True
    va.SetFreeformOpacity(fails[2])
     "True" .eq. "True" : True
    va.SetFreeformOpacity(fails[3])
     "True" .eq. "True" : True
    va.SetFreeformOpacity(fails[4])
     "True" .eq. "True" : True
    Assignment to intArray member, "reflections", (of ReflectAttributes())
    ra.reflections=0,1,0,1,0,1,0,1
     "True" .eq. "True" : True
    ra.reflections=0, 1, None, 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, (1+2j), 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, [2, 4, 6], 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, 2147483648, 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, '123', 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, 0, 1, 0, 1, 0, 1, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, 0, 1, 0, 1, 0
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, None, 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, (1+2j), 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, [2, 4, 6], 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, 2147483648, 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, '123', 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, 0, 1, 0, 1, 0, 1, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, 0, 1, 0, 1, 0)
     "True" .eq. "True" : True
    ra.reflections=0, 1, 0, 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=-1, 100, -1, 100, -1, 100, -1, 100
     "True" .eq. "True" : True
    ra.reflections=0, True, False, 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, 2147483647, 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=array([0, 1, 0, 1, 0, 1, 0, 1]
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, 0, 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(-1, 100, -1, 100, -1, 100, -1, 100)
     "True" .eq. "True" : True
    ra.SetReflections(0, True, False, 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, 2147483647, 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(array([0, 1, 0, 1, 0, 1, 0, 1])
     "True" .eq. "True" : True
    Assignment to floatArray member, "center", (of RadialResampleAttributes())
    rra.center=0,1,2
     "True" .eq. "True" : True
    rra.center=0,1
     "True" .eq. "True" : True
    rra.center=0,1,2,3
     "True" .eq. "True" : True
    rra.center=0, 1
     "True" .eq. "True" : True
    rra.center=0, 1, 2, 3
     "True" .eq. "True" : True
    rra.center=0, None, 2
     "True" .eq. "True" : True
    rra.center=0, (1+2j), 2
     "True" .eq. "True" : True
    rra.center=0, [2, 4, 6], 2
     "True" .eq. "True" : True
    rra.center=0, '123', 2
     "True" .eq. "True" : True
    rra.center=0, 3.402823e+39, 2
     "True" .eq. "True" : True
    rra.SetCenter(0, 1)
     "True" .eq. "True" : True
    rra.SetCenter(0, 1, 2, 3)
     "True" .eq. "True" : True
    rra.SetCenter(0, None, 2)
     "True" .eq. "True" : True
    rra.SetCenter(0, (1+2j), 2)
     "True" .eq. "True" : True
    rra.SetCenter(0, [2, 4, 6], 2)
     "True" .eq. "True" : True
    rra.SetCenter(0, '123', 2)
     "True" .eq. "True" : True
    rra.SetCenter(0, 3.402823e+39, 2)
     "True" .eq. "True" : True
    rra.center=1, 2, 3
     "True" .eq. "True" : True
    rra.center=1.1, 2.2, 3.3
     "True" .eq. "True" : True
    rra.center=2, 4, 6
     "True" .eq. "True" : True
    rra.center=1, True, 3
     "True" .eq. "True" : True
    rra.center=1, False, 3
     "True" .eq. "True" : True
    rra.center=1, 3.40282e+37, 3
     "True" .eq. "True" : True
    rra.center=array([1.1, 2.2, 3.3]
     "True" .eq. "True" : True
    rra.SetCenter(1, 2, 3)
     "True" .eq. "True" : True
    rra.SetCenter(1.1, 2.2, 3.3)
     "True" .eq. "True" : True
    rra.SetCenter(2, 4, 6)
     "True" .eq. "True" : True
    rra.SetCenter(1, True, 3)
     "True" .eq. "True" : True
    rra.SetCenter(1, False, 3)
     "True" .eq. "True" : True
    rra.SetCenter(1, 3.40282e+37, 3)
     "True" .eq. "True" : True
    rra.SetCenter(array([1.1, 2.2, 3.3])
     "True" .eq. "True" : True
    Assignment to doubleArray member, "materialProperties", (of VolumeAttributes())
    va.materialProperties=0,1,2,3
     "True" .eq. "True" : True
    va.materialProperties=0,1,2
     "True" .eq. "True" : True
    va.materialProperties=0,1,2,3,4
     "True" .eq. "True" : True
    va.materialProperties=0, 1
     "True" .eq. "True" : True
    va.materialProperties=0, 1, 2, 3, 4
     "True" .eq. "True" : True
    va.materialProperties=0, None, 2, 3
     "True" .eq. "True" : True
    va.materialProperties=0, (1+2j), 2, 3
     "True" .eq. "True" : True
    va.materialProperties=0, [2, 4, 6], 2, 3
     "True" .eq. "True" : True
    va.materialProperties=0, '123', 2, 3
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, 1)
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, 1, 2, 3, 4)
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, None, 2, 3)
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, (1+2j), 2, 3)
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, [2, 4, 6], 2, 3)
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, '123', 2, 3)
     "True" .eq. "True" : True
    va.materialProperties=1, 2, 3, 4
     "True" .eq. "True" : True
    va.materialProperties=1.1, 2.2, 3.3, 4.4
     "True" .eq. "True" : True
    va.materialProperties=1, True, 3, 4
     "True" .eq. "True" : True
    va.materialProperties=1, False, 3, 4
     "True" .eq. "True" : True
    va.SetMaterialProperties(1, 2, 3, 4)
     "True" .eq. "True" : True
    va.SetMaterialProperties(1.1, 2.2, 3.3, 4.4)
     "True" .eq. "True" : True
    va.SetMaterialProperties(1, True, 3, 4)
     "True" .eq. "True" : True
    va.SetMaterialProperties(1, False, 3, 4)
     "True" .eq. "True" : True
    va.SetMaterialProperties(array([1.1, 2.2, 3.3, 4.4])
     "True" .eq. "True" : True
    ColorAttribute stuff
    ca.color=0, 1, 2
     "True" .eq. "True" : True
    ca.color=0, 1, 2, 3, 4
     "True" .eq. "True" : True
    ca.color=0, None, 2, 3
     "True" .eq. "True" : True
    ca.color=0, (1+2j), 2, 3
     "True" .eq. "True" : True
    ca.color=0, [2, 4, 6], 2, 3
     "True" .eq. "True" : True
    ca.color=0, '123', 2, 3
     "True" .eq. "True" : True
    ca.color=0, -1, 2, 3
     "True" .eq. "True" : True
    ca.color=0, 256, 2, 3
     "True" .eq. "True" : True
    ca.SetColor(0, 1, 2)
     "True" .eq. "True" : True
    ca.SetColor(0, 1, 2, 3, 4)
     "True" .eq. "True" : True
    ca.SetColor(0, None, 2, 3)
     "True" .eq. "True" : True
    ca.SetColor(0, (1+2j), 2, 3)
     "True" .eq. "True" : True
    ca.SetColor(0, [2, 4, 6], 2, 3)
     "True" .eq. "True" : True
    ca.SetColor(0, '123', 2, 3)
     "True" .eq. "True" : True
    ca.SetColor(0, -1, 2, 3)
     "True" .eq. "True" : True
    ca.SetColor(0, 256, 2, 3)
     "True" .eq. "True" : True
    cla.AddColors
     "True" .eq. "True" : True
    cla.colors
     "True" .eq. "True" : True
    cla.GetColors(0)
     "True" .eq. "True" : True
    cla.GetColors(2)
     "True" .eq. "True" : True
    behavior of dir()
    dir()
     "True" .eq. "True" : True
    dir(SILRestriction)
     "True" .eq. "True" : True
    dir(scaling)
     "True" .eq. "True" : True
    dir(#colors)
     "True" .eq. "True" : True
    behavior of help()
    help(AddPlot)
     "True" .eq. "True" : True
    help(CreateDatabaseCorrelation)
     "True" .eq. "True" : True
    help(SILRestriction)
     "True" .eq. "True" : True
    help(SILRestriction)
     "True" .eq. "True" : True
    help('wholes')
     "True" .eq. "True" : True
    help('tensor')
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_atts_assign_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_atts_assign_py.html new file mode 100644 index 000000000..61f818e84 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_atts_assign_py.html @@ -0,0 +1,1193 @@ +unit/atts_assign.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  atts_assign.py
    +#
    +#  Tests: Behavior of assignment for attribute objects. Ensures good cases
    +#  succeed and bad cases fail with specific python exceptions. Tests variety
    +#  of types present in members of VisIt attribute objects. Tests both
    +#  assignment usage (e.g. atts.memberName=...) and setter function usage
    +#  (e.g. atts.SetMemberName(...))
    +#
    +#  Mark C. Miller, Tue Jun  8 15:51:59 PDT 2021
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue July 27, 2021
    +#    Assigning Max32BitInt+1 to int on Windows causes TypeError, not
    +#    ValueError, so change expected results in those cases.
    +#
    +# ----------------------------------------------------------------------------
    +import copy, io, numpy, sys
    +
    +# Some useful global variables
    +X = [2,4,6]
    +NumPy2Int = numpy.array([1,2])
    +NumPy2Flt = numpy.array([1.1,2.2])
    +NumPy3Int = numpy.array([1,2,3])
    +NumPy3Flt = numpy.array([1.1,2.2,3.3])
    +NumPy4Int = numpy.array([1,2,3,4])
    +NumPy4Flt = numpy.array([1.1,2.2,3.3,4.4])
    +Max32BitInt = 2147483647
    +Max32BitInt1 = Max32BitInt+1
    +MaxIntAs32BitFloat = 16777216
    +MaxIntAs32BitFloat1 = MaxIntAs32BitFloat+1
    +MaxIntAs64BitFloat = 9007199254740992
    +MaxIntAs64BitFloat1 = MaxIntAs64BitFloat+1
    +Max32BitFloat  = 3.402823E+38
    +Max32BitFloatA = 3.402820E+37 # One order mag down from Max
    +Max32BitFloatB = 3.402823E+39 # One order mag up from Max
    +Min32BitFloat = 1.175494E-38
    +
    +# version of repr that strips parens at end
    +def repr2(s):
    +    return repr(s).lstrip('(').rstrip(')')
    +
    +def TestAssignmentToTuple():
    +    TestSection('Assignment to tuple, "point1", member (of CylinderAttributes())')
    +
    +    ca = CylinderAttributes()
    +
    +    # Non-existent member name 'point'
    +    try:
    +        ca.point = 1,2,3
    +        TestFOA('ca.point=1,2,3', LINE())
    +    except NameError:
    +        TestPOA('ca.point=1,2,3')
    +        pass
    +    except:
    +        TestFOA('ca.point=1,2,3', LINE())
    +        pass
    +
    +    # Non-existent member name 'point'
    +    try:
    +        ca.SetPoint(1,2,3)
    +        TestFOA('ca.SetPoint(1,2,3)', LINE())
    +    except ValueError:
    +        TestPOA('ca.SetPoint(1,2,3)')
    +        pass
    +    except:
    +        TestFOA('ca.SetPoint(1,2,3)', LINE())
    +        pass
    +
    +    # CSV too short
    +    try:
    +        ca.point1 = 1,2
    +        TestFOA('ca.point1=1,2', LINE())
    +    except TypeError:
    +        TestPOA('ca.point1=1,2')
    +        pass
    +    except:
    +        TestFOA('ca.point1=1,2', LINE())
    +        pass
    +
    +    # CSV too long
    +    try:
    +        ca.point1 = 1,2,3,4
    +        TestFOA('ca.point1=1,2,3,4', LINE())
    +    except TypeError:
    +        TestPOA('ca.point1=1,2,3,4')
    +        pass
    +    except:
    +        TestFOA('ca.point1=1,2,3,4', LINE())
    +        pass
    +
    +    # The above cases can't be put in a loop. Put remaining cases in a loop
    +    fails = [(1,2), (1,2,3,4), '123', (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3), NumPy2Flt, NumPy4Flt]
    +    for i in range(len(fails)):
    +        try:
    +            ca.point1 = fails[i]
    +            TestFOA('ca.point1=%s'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.point1=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.point1=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetPoint1(fails[i])
    +            TestFOA('ca.SetPoint1(%s)'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.SetPoint1(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetPoint1(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    try:
    +        ca.point1 = 1,2,3
    +        TestPOA('ca.point1=1,2,3')
    +    except:
    +        TestFOA('ca.point1=1,2,3', LINE())
    +        pass
    +
    +    works = [(1,2,3), (1.1,2.2,3.3), tuple(X), NumPy3Int, NumPy3Flt]
    +    for i in range(len(works)):
    +        try:
    +            ca.point1 = works[i]
    +            TestPOA('ca.point1=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('ca.point1=%s'%repr2(works[i]), LINE())
    +            pass
    +
    +    for i in range(len(works)):
    +        try:
    +            ca.SetPoint1(*works[i])
    +            TestPOA('ca.SetPoint1(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('ca.SetPoint1(%s)'%repr2(works[i]), LINE())
    +            pass
    +
    +def TestAssignmentToBool():
    +    TestSection('Assignment to bool member, "inverse", (of CylinderAttributes())')
    +
    +    ca = CylinderAttributes()
    +
    +    try:
    +        ca.inverse = 1,2
    +        TestFOA('ca.inverse=1,2', LINE())
    +    except TypeError:
    +        TestPOA('ca.inverse=1,2')
    +        pass
    +    except:
    +        TestFOA('ca.inverse=1,2', LINE())
    +        pass
    +
    +    fails =  [    '123',      1+2j,         X,      None,          5]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            ca.inverse = fails[i]
    +            TestFOA('ca.inverse=%s'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ca.inverse=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.inverse=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetInverse(fails[i])
    +            TestFOA('ca.SetInverse(%s)'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ca.SetInverse(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetInverse(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, True, False]
    +    for i in range(len(works)):
    +        try:
    +            ca.inverse = works[i]
    +            TestPOA('ca.inverse=%s'%repr(works[i]))
    +        except:
    +            TestFOA('ca.inverse=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ca.SetInverse(works[i])
    +            TestPOA('ca.SetInverse(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('ca.SetInverse(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToInt():
    +    TestSection('Assignment to int member, "samplesPerRay", (of VolumeAttributes())')
    +
    +    va = VolumeAttributes()
    +
    +    try:
    +        va.samplesPerRay = 1,2
    +        TestFOA('va.samplesPerRay=1,2', LINE())
    +    except TypeError:
    +        TestPOA('va.samplesPerRay=1,2')
    +        pass
    +    except:
    +        TestFOA('va.samplesPerRay=1,2', LINE())
    +        pass
    +
    +    fails =  [    '123',      1+2j,      None,         X, Max32BitInt1]
    +    if sys.platform.startswith("win"):
    +        excpts = [TypeError, TypeError, TypeError, TypeError, TypeError]
    +    else:
    +        excpts = [TypeError, TypeError, TypeError, TypeError, ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            va.samplesPerRay = fails[i]
    +            TestFOA('va.samplesPerRay=%s'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('va.samplesPerRay=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.samplesPerRay=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            va.SetSamplesPerRay(fails[i])
    +            TestFOA('va.SetSamplesPerRay(%s)'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('va.SetSamplesPerRay(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.SetSamplesPerRay(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, -1, 5, True, False, Max32BitInt]
    +    for i in range(len(works)):
    +        try:
    +            va.samplesPerRay = works[i]
    +            TestPOA('va.samplesPerRay=%s'%repr(works[i]))
    +        except:
    +            TestFOA('va.samplesPerRay=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            va.SetSamplesPerRay(works[i])
    +            TestPOA('va.SetSamplesPerRay(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('va.SetSamplesPerRay(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToFloat():
    +    TestSection('Assignment to float member, "opacityAttenuation", (of VolumeAttributes())')
    +
    +    va = VolumeAttributes()
    +
    +    try:
    +        va.opacityAttenuation = 1,2
    +        TestFOA('va.opacityAttenuation=1,2', LINE())
    +    except TypeError:
    +        TestPOA('va.opacityAttenuation=1,2')
    +        pass
    +    except:
    +        TestFOA('va.opacityAttenuation=1,2', LINE())
    +        pass
    +
    +    fails =  [    '123',      1+2j,      None,         X, Max32BitFloatB]
    +    excpts = [TypeError, TypeError, TypeError, TypeError,       ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            va.opacityAttenuation = fails[i]
    +            TestFOA('va.opacityAttenuation=%s'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('va.opacityAttenuation=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.opacityAttenuation=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            va.SetOpacityAttenuation(fails[i])
    +            TestFOA('va.SetOpacityAttenuation(%s)'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('va.SetOpacityAttenuation(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.SetOpacityAttenuation(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, -1, 0.3, Max32BitFloatA, True, False]
    +    for i in range(len(works)):
    +        try:
    +            va.opacityAttenuation = works[i]
    +            TestPOA('va.opacityAttenuation=%s'%repr(works[i]))
    +        except:
    +            TestFOA('va.opacityAttenuation=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            va.SetOpacityAttenuation(works[i])
    +            TestPOA('va.SetOpacityAttenuation(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('va.SetOpacityAttenuation(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToDouble():
    +    TestSection('Assignment to double member, "radius", (of CylinderAttributes())')
    +
    +    ca = CylinderAttributes()
    +
    +    try:
    +        ca.radius = 1,2
    +        TestFOA('ca.radius=1,2', LINE())
    +    except TypeError:
    +        TestPOA('ca.radius=1,2')
    +        pass
    +    except:
    +        TestFOA('ca.radius=1,2', LINE())
    +        pass
    +
    +    fails = ['123', 1+2j, None, X]
    +    for i in range(len(fails)):
    +        try:
    +            ca.radius = fails[i]
    +            TestFOA('ca.radius=%s'%repr(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.radius=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.radius=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetRadius(fails[i])
    +            TestFOA('ca.SetRadius(%s)'%repr(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.SetRadius(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetRadius(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, -1, 5.5, 1.1E-479, 1.1E+479, True, False]
    +    for i in range(len(works)):
    +        try:
    +            ca.radius = works[i]
    +            TestPOA('ca.radius=%s'%repr(works[i]))
    +        except:
    +            TestFOA('ca.radius=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ca.SetRadius(works[i])
    +            TestPOA('ca.SetRadius(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('ca.SetRadius(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToString():
    +    TestSection('Assignment to string member, "designator", (of CurveAttributes())')
    +
    +    ca = CurveAttributes()
    +
    +    try:
    +        ca.designator = "123","abc"
    +        TestFOA('ca.designator="123","abc"', LINE())
    +    except TypeError:
    +        TestPOA('ca.designator="123","abc"')
    +        pass
    +    except:
    +        TestFOA('ca.designator="123","abc"', LINE())
    +        pass
    +
    +    fails = [0, 1, 1.1, 1+2j, None, X]
    +    for i in range(len(fails)):
    +        try:
    +            ca.designator = fails[i]
    +            TestFOA('ca.designator=%s'%repr(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.designator=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.designator=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetDesignator(fails[i])
    +            TestFOA('ca.SetDesignator(%s)'%repr(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.SetDesignator(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetDesignator(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = ['123', 'abc', '']
    +    for i in range(len(works)):
    +        try:
    +            ca.designator = works[i]
    +            TestPOA('ca.designator=%s'%repr(works[i]))
    +        except:
    +            TestFOA('ca.designator=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ca.SetDesignator(works[i])
    +            TestPOA('ca.SetDesignator(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('ca.SetDesignator(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToGlyphType():
    +    TestSection('Assignment to GlyphType member, "pointType", (of MeshAttributes())')
    +
    +    ma = MeshAttributes()
    +
    +    # Test direct assignment with = operator
    +    try:
    +        ma.pointType = 1
    +        TestPOA('ma.pointType=1')
    +    except:
    +        TestFOA('ma.pointType=1', LINE())
    +        pass
    +
    +    fails =  [    '123',      1+2j,      None,         X,         -1, 123123123123123123123123123123]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, ValueError,                      TypeError]
    +    for i in range(len(fails)):
    +        try:
    +            ma.pointType = fails[i]
    +            TestFOA('ma.pointType=%s'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ma.pointType=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ma.pointType=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ma.SetPointType(fails[i])
    +            TestFOA('ma.SetPointType(%s)'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ma.SetPointType(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ma.SetPointType(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, 5, True, False, ma.Point]
    +    for i in range(len(works)):
    +        try:
    +            ma.pointType = works[i]
    +            TestPOA('ma.pointType=%s'%repr(works[i]))
    +        except:
    +            TestFOA('ma.pointType=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ma.SetPointType(works[i])
    +            TestPOA('ma.SetPointType(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('ma.SetPointType(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToEnum():
    +    TestSection('Assignment to Enum member, "smoothingLevel", (of MeshAttributes())')
    +
    +    ma = MeshAttributes()
    +
    +    # Test direct assignment with = operator
    +    try:
    +        ma.smoothingLevel = 1
    +        TestPOA('ma.smoothingLevel=1')
    +    except:
    +        TestFOA('ma.smoothingLevel=1', LINE())
    +        pass
    +
    +    fails  = [    '123',      1+2j,      None,         X,         -1,  123123123, 123123123123123123123123123123]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, ValueError, ValueError,                      TypeError]
    +    for i in range(len(fails)):
    +        try:
    +            ma.smoothingLevel = fails[i]
    +            TestFOA('ma.smoothingLevel=%s'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ma.smoothingLevel=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ma.smoothingLevel=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ma.SetSmoothingLevel(fails[i])
    +            TestFOA('ma.SetSmoothingLevel(%s)'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ma.SetSmoothingLevel(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ma.SetSmoothingLevel(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, 2, True, False, ma.Fast]
    +    for i in range(len(works)):
    +        try:
    +            ma.smoothingLevel = works[i]
    +            TestPOA('ma.smoothingLevel=%s'%repr(works[i]))
    +        except:
    +            TestFOA('ma.smoothingLevel=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ma.SetSmoothingLevel(works[i])
    +            TestPOA('ma.SmoothingLevel(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('ma.SetSmoothingLevel(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToUCharVector():
    +    TestSection('Assignment to ucharVector member, "changedColors",  (of MultiCurveAttributes())')
    +
    +    mca = MultiCurveAttributes()
    +
    +    # Test direct assignment with = operator
    +    try:
    +        mca.changedColors = 1,2,3
    +        TestPOA('mca.changedColors=1,2,3')
    +    except:
    +        TestFOA('mca.changedColors=1,2,3', LINE())
    +        pass
    +
    +    fails = [(1,123123123123123123123123123123,3), (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3), ('123',)]
    +    for i in range(len(fails)):
    +        try:
    +            mca.changedColors = fails[i]
    +            TestFOA('mca.changedColors=%s'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('mca.changedColors=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('mca.changedColors=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            mca.SetChangedColors(*fails[i])
    +            TestFOA('mca.SetChangedColors(%s)'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('mca.SetChangedColors(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('mca.SetChangedColors(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    works = [(1,2,3), tuple(X), (1,True,3), (1,False,3)]
    +    for i in range(len(works)):
    +        try:
    +            mca.changedColors = works[i]
    +            TestPOA('mca.changedColors=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('mca.changedColors=%s'%repr2(works[i]), LINE())
    +
    +    works += [NumPy3Int] # NP arrays only work via deref operator
    +    for i in range(len(works)):
    +        try:
    +            mca.SetChangedColors(*works[i])
    +            TestPOA('mca.SetChangedColors(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('mca.SetChangedColors(%s)'%repr2(works[i]), LINE())
    +
    +def TestAssignmentToIntVector():
    +    TestSection('Assignment to intVector member, "index", (of OnionPeelAttributes())')
    +
    +    opa = OnionPeelAttributes()
    +
    +    # Test direct assignment with = operator
    +    try:
    +        opa.index = 1,2,3
    +        TestPOA('opa.index=1,2,3')
    +    except:
    +        TestFOA('opa.index=1,2,3', LINE())
    +        pass
    +
    +    fails =  [(Max32BitInt1,), (1+2j,), ('b',), (None,), (1,Max32BitInt1,3),
    +              (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3)]
    +    if sys.platform.startswith("win"):
    +        excpts = [TypeError, TypeError, TypeError, TypeError, TypeError,
    +                  TypeError, TypeError, TypeError, TypeError]
    +    else:
    +        excpts = [ValueError, TypeError, TypeError, TypeError, ValueError,
    +                  TypeError, TypeError, TypeError, TypeError]
    +    for i in range(len(fails)):
    +        try:
    +            opa.index = fails[i]
    +            TestFOA('opa.index=%s'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('opa.index=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('opa.index=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            opa.SetIndex(*fails[i])
    +            TestFOA('opa.SetIndex(%s)'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('opa.SetIndex(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('opa.SetIndex(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    works = [(1,2,3), X, tuple(X), (1,True,3), (1,False,3), (1,Max32BitInt,3)]
    +    for i in range(len(works)):
    +        try:
    +            opa.index = works[i]
    +            TestPOA('opa.index=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('opa.index=%s'%repr2(works[i]), LINE())
    +
    +    works += [NumPy3Int] # NP Arrays work only via deref operator
    +    for i in range(len(works)):
    +        try:
    +            opa.SetIndex(*works[i])
    +            TestPOA('opa.SetIndex(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('opa.SetIndex(%s)'%repr2(works[i]), LINE())
    +
    +def TestAssignmentToDoubleVector():
    +    TestSection('Assignment to doubleVector member, "values", (of ContourAttributes())')
    +
    +    ca = ContourAttributes()
    +
    +    # Test direct assignment with = operator
    +    try:
    +        ca.contourValue = 1,2,3
    +        TestPOA('ca.contourValue=1,2,3')
    +    except:
    +        TestFOA('ca.contourValue=1,2,3', LINE())
    +        pass
    +
    +    fails = [(1+2j,), ('b',), (None,), (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3)]
    +    for i in range(len(fails)):
    +        try:
    +            ca.contourValue = fails[i]
    +            TestFOA('ca.contourValue=%s'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.contourValue=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.contourValue=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetContourValue(*fails[i])
    +            TestFOA('ca.SetContourValue(%s)'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.SetContourValue(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetContourValue(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    works = [(1,2,3), X, tuple(X), (1,True,3), (1,False,3)]
    +    for i in range(len(works)):
    +        try:
    +            ca.contourValue = works[i]
    +            TestPOA('ca.contourValue=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('ca.contourValue=%s'%repr2(works[i]), LINE())
    +
    +    works += [NumPy3Flt] # NP Arrays work only via deref operator
    +    for i in range(len(works)):
    +        try:
    +            ca.SetContourValue(*works[i])
    +            TestPOA('ca.SetContourValue(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('ca.SetContourValue(%s)'%repr2(works[i]), LINE())
    +
    +def TestAssignmentToUCharArray():
    +    TestSection('Assignment to ucharArray member, "freeformOpacity", (of VolumeAttributes())')
    +    arr = [17,]*256
    +
    +    va = VolumeAttributes()
    +
    +    # Test assigning to individual entry via direct (operator =) assignment
    +    try:
    +        va.freeformOpacity = 3,17
    +        TestPOA('va.freeformOpacity=3,17')
    +    except:
    +        TestFOA('va.freeformOpacity=3,17', LINE())
    +        pass
    +
    +    # Test assigning to individual entry via Set method 
    +    try:
    +        va.SetFreeformOpacity(3,17)
    +        TestPOA('va.SetFreeformOpacity(3,17)')
    +    except:
    +        TestFOA('va.SetFreeformOpacity(3,17)', LINE())
    +        pass
    +
    +    # Test assigning to whole array via (operator =) assignment
    +    try:
    +        va.freeformOpacity = tuple(arr)
    +        TestPOA('va.freeformOpacity=tuple(arr)')
    +    except:
    +        TestFOA('va.freeformOpacity=tuple(arr)', LINE())
    +        pass
    +
    +    # Test assigning to whole array via Set method 
    +    try:
    +        va.SetFreeformOpacity(*tuple(arr))
    +        TestPOA('va.SetFreeformOpacity(*tuple(arr))')
    +    except:
    +        TestFOA('va.SetFreeformOpacity(*tuple(arr))', LINE())
    +        pass
    +
    +    # Test assigning to individual entry via direct (operator =) assignment
    +    # failures for type of second argument (color value)
    +    fails =  [ (3,None),  (3,1+2j),     (3,X), (3,'123'), (None,17), (1+2j,17),    (X,17),('123',17),    (-3,17),   (3,1700)]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, IndexError, ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            va.freeformOpacity = fails[i][0],fails[i][1]
    +            TestFOA('va.freeformOpacity=%s,%s'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
    +        except excpts[i]:
    +            TestPOA('va.freeformOpacity=%s,%s'%(repr(fails[i][0]),repr(fails[i][1])))
    +            pass
    +        except:
    +            TestFOA('va.freeformOpacity=%s,%s'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            va.SetFreeformOpacity(fails[i][0],fails[i][1])
    +            TestFOA('va.SetFreeformOpacity(%s,%s)'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
    +        except excpts[i]:
    +            TestPOA('va.SetFreeformOpacity(%s,%s)'%(repr(fails[i][0]),repr(fails[i][1])))
    +            pass
    +        except:
    +            TestFOA('va.SetFreeformOpacity(%s,%s)'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
    +            pass
    +
    +    # Test assigning to whole member via direct (operator =) assignment
    +    try:
    +        va.freeformOpacity = (17,)*256
    +        TestPOA('va.freeformOpacity=(17,)*256')
    +    except:
    +        TestFOA('va.freeformOpacity=(17,)*256', LINE())
    +        pass
    +
    +    # Test assigning to whole member via Set method 
    +    try:
    +        va.SetFreeformOpacity(*(17,)*256)
    +        TestPOA('va.SetFreeformOpacity((17,)*256)')
    +    except:
    +        TestFOA('va.SetFreeformOpacity((17,)*256)', LINE())
    +        pass
    +
    +    # Test assigning to whole member via direct (operator =) assignment
    +    # failures for type of first argument (index)
    +    arr1 = copy.deepcopy(arr)
    +    arr2 = copy.deepcopy(arr)
    +    arr3 = copy.deepcopy(arr)
    +    arr4 = copy.deepcopy(arr)
    +    arr5 = copy.deepcopy(arr)
    +    arr1[3] = None
    +    arr2[3] = 1+2j
    +    arr3[3] = X
    +    arr4[3] = (1,2,3)
    +    arr5[3] = '123'
    +    fails = [tuple(arr1), tuple(arr2), tuple(arr3), tuple(arr4), tuple(arr5)]
    +    for i in range(len(fails)):
    +        try:
    +            va.freeformOpacity = fails[i]
    +            TestFOA('va.freeformOpacity=%s'%repr(fails[i][:7]).replace(')',', ...'), LINE())
    +        except TypeError:
    +            TestPOA('va.freeformOpacity=%s'%repr(fails[i][:7]).replace(')',', ...'))
    +            pass
    +        except:
    +            TestFOA('va.freeformOpacity=%s'%repr(fails[i][:7]).replace(')',', ...'), LINE())
    +            pass
    +
    +    # Test star-deref of tuple
    +    for i in range(len(fails)):
    +        try:
    +            va.SetFreeformOpacity(*fails[i])
    +            TestFOA('va.SetFreeformOpacity%s'%repr(fails[i][:7]).replace(')',', ...)'), LINE())
    +        except TypeError:
    +            TestPOA('va.SetFreeformOpacity%s'%repr(fails[i][:7]).replace(')',', ...)'))
    +            pass
    +        except:
    +            TestFOA('va.SetFreeformOpacity%s'%repr(fails[i][:7]).replace(')',', ...)'), LINE())
    +            pass
    +
    +    # Test just passing the tuple
    +    for i in range(len(fails)):
    +        try:
    +            va.SetFreeformOpacity(fails[i])
    +            TestFOA('va.SetFreeformOpacity(fails[%d])'%i, LINE())
    +        except TypeError:
    +            TestPOA('va.SetFreeformOpacity(fails[%d])'%i)
    +            pass
    +        except:
    +            TestFOA('va.SetFreeformOpacity(fails[%d])'%i, LINE())
    +            pass
    +
    +def TestAssignmentToIntArray():
    +    TestSection('Assignment to intArray member, "reflections", (of ReflectAttributes())')
    +
    +    ra = ReflectAttributes()
    +
    +    # Test assigning via (operator =) assignment
    +    try:
    +        ra.reflections = 0,1,0,1,0,1,0,1
    +        TestPOA('ra.reflections=0,1,0,1,0,1,0,1')
    +    except:
    +        TestFOA('ra.reflections=0,1,0,1,0,1,0,1', LINE())
    +        pass
    +
    +    fails =  [(0,1,None,1,0,1,0,1), (0,1,1+2j,1,0,1,0,1), (0,1,X,1,0,1,0,1),
    +              (0,1,Max32BitInt1,1,0,1,0,1), (0,1,'123',1,0,1,0,1),
    +              (0,1,0,1,0,1,0,1,1), (0,1,0,1,0,1,0)]
    +    if sys.platform.startswith("win"):
    +        excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, TypeError]
    +    else:
    +        excpts = [TypeError, TypeError, TypeError, ValueError, TypeError, TypeError, TypeError]
    +    for i in range(len(fails)):
    +        try:
    +            ra.reflections = fails[i]
    +            TestFOA('ra.reflections=%s'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ra.reflections=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ra.reflections=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ra.SetReflections(*fails[i])
    +            TestFOA('ra.SetReflections(%s)'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ra.SetReflections(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ra.SetReflections(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    NumPyArray = numpy.array([0,1,0,1,0,1,0,1])
    +    works = [(0,1,0,1,0,1,0,1), (-1,100,-1,100,-1,100,-1,100), (0,True,False,1,0,1,0,1), (0,1,Max32BitInt,1,0,1,0,1), NumPyArray]
    +    for i in range(len(works)):
    +        try:
    +            ra.reflections = works[i]
    +            TestPOA('ra.reflections=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('ra.reflections=%s'%repr2(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ra.SetReflections(*works[i])
    +            TestPOA('ra.SetReflections(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('ra.SetReflections(%s)'%repr2(works[i]), LINE())
    +
    +def TestAssignmentToFloatArray():
    +    TestSection('Assignment to floatArray member, "center", (of RadialResampleAttributes())')
    +
    +    rra = RadialResampleAttributes()
    +
    +    # Test assigning via (operator =) assignment
    +    try:
    +        rra.center = 0,1,2
    +        TestPOA('rra.center=0,1,2')
    +    except:
    +        TestFOA('rra.center=0,1,2', LINE())
    +        pass
    +    try:
    +        rra.center = 0,1
    +        TestFOA('rra.center=0,1', LINE())
    +    except:
    +        TestPOA('rra.center=0,1')
    +        pass
    +    try:
    +        rra.center = 0,1,2,3
    +        TestFOA('rra.center=0,1,2,3', LINE())
    +    except:
    +        TestPOA('rra.center=0,1,2,3')
    +        pass
    +
    +    fails =  [(0,1), (0,1,2,3), (0,None,2), (0,1+2j,2), (0,X,2), (0,'123',2), (0, Max32BitFloatB,2)]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            rra.center = fails[i]
    +            TestFOA('rra.center=%s'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('rra.center=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('rra.center=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            rra.SetCenter(*fails[i])
    +            TestFOA('rra.SetCenter(%s)'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('rra.SetCenter(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('rra.SetCenter(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    works = [(1,2,3), (1.1,2.2,3.3), tuple(X), (1,True,3), (1,False,3), (1,Max32BitFloatA,3), NumPy3Flt]
    +    for i in range(len(works)):
    +        try:
    +            rra.center = works[i]
    +            TestPOA('rra.center=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('rra.center=%s'%repr2(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            rra.SetCenter(*works[i])
    +            TestPOA('rra.SetCenter(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('rra.SetCenter(%s)'%repr2(works[i]), LINE())
    +
    +def TestAssignmentToDoubleArray():
    +    TestSection('Assignment to doubleArray member, "materialProperties", (of VolumeAttributes())')
    +
    +    va = VolumeAttributes()
    +
    +    # Test assigning via (operator =) assignment
    +    try:
    +        va.materialProperties = 0,1,2,3
    +        TestPOA('va.materialProperties=0,1,2,3')
    +    except:
    +        TestFOA('va.materialProperites=0,1,2,3', LINE())
    +        pass
    +    try:
    +        va.materialProperties = 0,1,2
    +        TestFOA('va.materialProperties=0,1,2', LINE())
    +    except:
    +        TestPOA('va.materialProperties=0,1,2')
    +        pass
    +    try:
    +        va.materialProperties = 0,1,2,3,4
    +        TestFOA('va.materialProperties=0,1,2,3,4', LINE())
    +    except:
    +        TestPOA('va.materialProperties=0,1,2,3,4')
    +        pass
    +
    +    fails = [(0,1), (0,1,2,3,4), (0,None,2,3), (0,1+2j,2,3), (0,X,2,3), (0,'123',2,3)]
    +    for i in range(len(fails)):
    +        try:
    +            va.materialProperties = fails[i]
    +            TestFOA('va.materialProperties=%s'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('va.materialProperties=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.materialProperties=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            va.SetMaterialProperties(*fails[i])
    +            TestFOA('va.SetMaterialProperties(%s)'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('va.SetMaterialProperties(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.SetMaterialProperties(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    works = [(1,2,3,4), (1.1,2.2,3.3,4.4), (1,True,3,4), (1,False,3,4)]
    +    for i in range(len(works)):
    +        try:
    +            va.materialProperties = works[i]
    +            TestPOA('va.materialProperties=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('va.materialProperties=%s'%repr2(works[i]), LINE())
    +
    +    NumPyArray = numpy.array([1.1,2.2,3.3,4.4])
    +    works += [NumPyArray]
    +    for i in range(len(works)):
    +        try:
    +            va.SetMaterialProperties(*works[i])
    +            TestPOA('va.SetMaterialProperties(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('va.SetMaterialProperties(%s)'%repr2(works[i]), LINE())
    +
    +def TestColorAttributeStuff():
    +    TestSection('ColorAttribute stuff')
    +
    +    cla = ColorAttributeList()
    +    ca = ColorAttribute()
    +
    +    fails = [(0,1,2), (0,1,2,3,4), (0,None,2,3), (0,1+2j,2,3), (0,X,2,3),
    +             (0,'123',2,3), (0,-1,2,3), (0,256,2,3)]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, ValueError, ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            ca.color = fails[i]
    +            TestFOA('ca.color=%s'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ca.color=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.color=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetColor(*fails[i])
    +            TestFOA('ca.SetColor(%s)'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ca.SetColor(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetColor(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    try:
    +        ca.color = (5,5,5,5)
    +        cla.AddColors(ca)
    +        ca.color = (255,0,0,255)
    +        cla.AddColors(ca)
    +        TestPOA('cla.AddColors')
    +    except:
    +        TestFOA('cla.AddColors', LINE())
    +        pass
    +
    +    try:
    +        cla.colors
    +        TestFOA('cla.colors', LINE())
    +    except NameError:
    +        TestPOA('cla.colors')
    +    except:
    +        TestFOA('cla.colors', LINE())
    +        pass
    +
    +    try:
    +        if cla.GetColors(0).color != (5,5,5,5) or cla.GetColors(1).color != (255,0,0,255):
    +           raise ValueError
    +        TestPOA('cla.GetColors(0)')
    +    except:
    +        TestFOA('cla.Getcolors(0)', LINE())
    +        pass
    +
    +    try:
    +        cla.GetColors(2)
    +        TestFOA('cla.Getcolors(2)', LINE())
    +    except ValueError:
    +        TestPOA('cla.GetColors(2)')
    +    except:
    +        TestFOA('cla.Getcolors(2)', LINE())
    +        pass
    +
    +def TestDirOutput(obj, names):
    +    try:
    +        x = [f for f in dir(obj) if not (f.startswith('__') and f.endswith('__'))]
    +        y = [n for n in names if n in x]
    +        if len(y) != len(names):
    +            raise Exception
    +        x = repr(obj)
    +        if x.startswith('<built-in'):
    +            x = x.strip('<>').split()[2]
    +        else:
    +            x = x.strip('<>').split()[0]
    +        TestPOA('dir(%s)'%x)
    +    except:
    +        TestFOA('dir(%s)'%x, LINE())
    +
    +#
    +# Test that dir(x) appears to work
    +#
    +def TestDir(global_dir_result):
    +    TestSection('behavior of dir()')
    +
    +    #
    +    # Testing of global dir() behavior can't be done from within a func
    +    #
    +    global_dir_checks = ['AddPlot', 'DeleteAllPlots', 'Launch', 'GetMetaData']
    +    y = [n for n in global_dir_checks if n in global_dir_result]
    +    if len(y) != len(global_dir_checks):
    +        TestFOA('dir()', LINE())
    +    else:
    +        TestPOA('dir()')
    +
    +    #
    +    # Test a random handful of object level dirs
    +    #
    +    TestDirOutput(SILRestriction(), ['NumSets', 'TurnOnAll', 'Wholes'])
    +    TestDirOutput(PseudocolorAttributes(), ['GetCentering', 'GetColorTableName',
    +        'GetLightingFlag', 'GetLimitsMode', 'GetMax', 'SetCentering',
    +        'SetColorTableName', 'SetLegendFlag', 'SetLimitsMode'])
    +    TestDirOutput(ColorAttributeList(), ['AddColors', 'ClearColors', 'GetColors'])
    +
    +
    +# Class to facilitate stdout redirect for testing `help()`
    +class my_redirect_stdout(list):
    +    def __enter__(self):
    +        self._stdout = sys.stdout
    +        sys.stdout = self._stringio = io.StringIO()
    +        return self
    +    def __exit__(self, *args):
    +        self.extend(self._stringio.getvalue().splitlines())
    +        del self._stringio    # free up some memory
    +        sys.stdout = self._stdout
    +
    +# Below import works only for Python > 3.4
    +# So, we use the class def above
    +# from contextlib import redirect_stdout
    +def TestHelpOutput(thing, words = None):
    +    try:
    +        with my_redirect_stdout() as output:
    +            help(thing)
    +        x  = [w for w in words if w in str(output)]
    +        if len(x) != len(words):
    +            raise Exception
    +        x = repr(thing)
    +        if x.startswith('<built-in'):
    +            x = x.strip('<>').split()[2]
    +        else:
    +            x = x.strip('<>').split()[0]
    +        TestPOA('help(%s)'%x)
    +    except:
    +        TestFOA('help(%s)'%x, LINE())
    +
    +def TestHelp():
    +    TestSection('behavior of help()')
    +
    +    TestHelpOutput(AddPlot, ['plotType', 'variableName', 'inheritSIL'])
    +    TestHelpOutput(CreateDatabaseCorrelation,
    +        ['IndexForIndexCorrelation', 'CycleCorrelation', 'StretchedIndexCorrelation'])
    +    TestHelpOutput(SILRestriction(),[]) # should not except
    +    TestHelpOutput(SILRestriction, ['GlobalAttributes', 'SetPlotSILRestriction',
    +        'TurnDomainsOff', 'TurnDomainsOn', 'TurnMaterialsOff', 'TurnMaterialsOn'])
    +    TestHelpOutput('wholes', ['SILRestriction'])
    +    TestHelpOutput('tensor', ['DefineArrayExpression', 'DefineTensorExpression',
    +        'LCSAttributes', 'SPHResampleAttributes', 'TensorAttributes'])
    +
    +#
    +# Scalar assignments
    +#
    +# TestAssignmentToUChar() No instances in any .xml files
    +TestAssignmentToBool()
    +TestAssignmentToInt()
    +TestAssignmentToFloat()
    +TestAssignmentToDouble()
    +TestAssignmentToString()
    +TestAssignmentToGlyphType()
    +TestAssignmentToEnum()
    +TestAssignmentToTuple()
    +
    +#
    +# Vector assignments
    +#
    +TestAssignmentToUCharVector()
    +#TestAssignmentToBoolVector() No instances in any .xml files
    +TestAssignmentToIntVector()
    +#TestAssignmentToFloatVector() No instances in any .xml files
    +TestAssignmentToDoubleVector()
    +
    +#
    +# Array assignments
    +#
    +TestAssignmentToUCharArray()
    +#TestAssignmentToBoolArray() No instances in any .xml files
    +TestAssignmentToIntArray()
    +TestAssignmentToFloatArray()
    +TestAssignmentToDoubleArray()
    +
    +#
    +# Attribute Assignments
    +#
    +TestColorAttributeStuff()
    +
    +#
    +# Dir behavior
    +#
    +TestDir(dir())
    +
    +#
    +# Help() behavior
    +#
    +TestHelp()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_compiler_warnings.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_compiler_warnings.html new file mode 100644 index 000000000..2f8c1f36c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_compiler_warnings.html @@ -0,0 +1,36 @@ + +Results for unit/compiler_warnings.py + +

    Results of VisIt Regression Test - unit/compiler_warnings

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 116

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_compiler_warnings_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_compiler_warnings_py.html new file mode 100644 index 000000000..9df655a36 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_compiler_warnings_py.html @@ -0,0 +1,213 @@ +unit/compiler_warnings.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  compiler_warnings.py
    +#
    +#  Tests:      changes in compiler warnings
    +#
    +#  Mark C. Miller, Sun Jul 13 21:45:49 PDT 2014
    +# ----------------------------------------------------------------------------
    +import time, os.path, json, subprocess
    +
    +def ShouldSkip(srcfile, msg):
    +    srcfile_tmp = "global skip list"
    +    if srcfile in skip_list:
    +        srcfile_tmp = srcfile
    +    for skipmsg in skip_list[srcfile_tmp][0]:
    +        minlen = min(len(skipmsg),len(msg))
    +        if msg[0:minlen] == skipmsg[0:minlen]:
    +            return 1
    +    return 0
    +
    +data_dir = test_root_path("..","data")
    +src_dir = test_root_path("..","src")
    +tpb_dir = test_root_path("..","src","third_party_builtin")
    +qtssh_dir = test_root_path("..","src","tools","qtssh")
    +
    +# skip this test if we don't have the make.err file
    +if not os.path.exists(test_root_path("..","make.err")):
    +    Exit(116)
    +
    +# To reduce noise, only run this test on Sunday evenings
    +# regressiontest script stuffs a line of the form "DAY_OF_WEEK=Sunday"
    +# into first line of make.err
    +mfile = open(test_root_path("..","make.err"))
    +shouldSkip = 1
    +for line in mfile:
    +    if "DAY_OF_WEEK=Sunday" in line:
    +        shouldSkip = 0
    +        break
    +mfile.close()
    +if shouldSkip:
    +    Exit(116)
    +
    +#
    +# Read per-file skip list and zero any line numbers
    +# We allow line numbers there so that easy cut-n-paste
    +# can be used to populate skip list
    +#
    +skip_list = {}
    +try:
    +    skip_list = json.load(open(test_root_path("tests","unit","compiler_warnings_skips.json")))
    +except:
    +    pass
    +for s in skip_list:
    +    for l in skip_list[s]:
    +        for m in skip_list[s][l]:
    +            skip_list[s][l][m] = 0
    +        if l == 0:
    +            continue
    +        skip_list[s][0] = skip_list[s][l];
    +        del skip_list[s][l]
    +
    +
    +#
    +# Examine warning messages in make output, building a single, large dictionary
    +# spanning all source files that produced warnings.
    +#   
    +mfile = open(test_root_path("..","make.err"))
    +warning_counts ={}
    +warning_messages = {}
    +for line in mfile:
    +    if "warning" in line.lower():
    +
    +        # get name of file generating warning
    +        line = line[0:-1] # remove trailing newline
    +        warnline = line.partition(":")
    +        warnfile1 = warnline[0]
    +        warnfile2 = warnfile1.partition("]")
    +        if warnfile2[1] == "]":
    +            warnfile = warnfile2[2].replace(" ","")
    +        else:
    +            warnfile = warnfile2[0]
    +
    +        if warnfile[0:len(src_dir):1] != src_dir:
    +            continue # ignore files not in our src dir, not our code
    +        if warnfile[0:len(tpb_dir):1] == tpb_dir:
    +            continue # ignore files in third_party_builtin, not our code
    +        if warnfile[0:len(data_dir):1] == data_dir:
    +            continue # ignore files in data dir, not relevant to VisIt for users
    +        if warnfile[0:len(qtssh_dir):1] == qtssh_dir:
    +            continue # ignore files in qtssh dir, not our code 
    +
    +        src_file = warnfile[len(src_dir)+1::1]
    +        if warnline[1] == ":" and os.path.exists(warnfile):
    +            msginfo = warnline[2].partition(":")
    +            if not msginfo[0].isdigit():
    +                continue # probably a garbled message in make.err
    +            lineno = int(msginfo[0])
    +            rawmsg = msginfo[2]
    +            idx = rawmsg.find("warning")
    +            if idx > -1:
    +                msg = rawmsg[idx::1]
    +            else:
    +                msg = rawmsg
    +            if msg[0:len("warning: ")] == "warning: ":
    +                msg = msg[len("warning: ")::1]
    +            msg_ascii = msg.decode('unicode_escape').encode('ascii','ignore')
    +            msg = msg_ascii
    +
    +            if ShouldSkip(src_file, msg):
    +                continue
    +
    +            if src_file in warning_counts:
    +                warning_counts[src_file] += 1
    +                if lineno in warning_messages[src_file]:
    +                    if msg in warning_messages[src_file][lineno]:
    +                        warning_messages[src_file][lineno][msg] += 1
    +                    else:
    +                        warning_messages[src_file][lineno][msg] = 1
    +                else:
    +                    warning_messages[src_file][lineno] = {msg:1}
    +            else:
    +                warning_counts[src_file] = 1
    +                warning_messages[src_file] = {lineno:{msg:1}}
    +
    +mfile.close()
    +
    +#
    +# Load in current warning counts baseline data
    +#
    +baseline_counts = {}
    +try:
    +    baseline_counts = json.load(open(test_baseline_path("unit","compiler_warnings","warning_counts_by_file.txt")))
    +except:
    +    pass
    +
    +improved_counts = {}
    +worsened_counts = {}
    +for f in warning_counts:
    +    if f in baseline_counts:
    +        if warning_counts[f] > baseline_counts[f]:
    +            worsened_counts[f] = warning_counts[f]
    +        elif warning_counts[f] < baseline_counts[f]:
    +            improved_counts[f] = warning_counts[f]
    +            baseline_counts[f] = warning_counts[f]
    +    else:
    +        worsened_counts[f] = warning_counts[f]
    +for f in baseline_counts:
    +    if f not in warning_counts:
    +        improved_counts[f] = 0
    +for f in improved_counts:
    +    if improved_counts[f] == 0 and f in baseline_counts:
    +        del baseline_counts[f]
    +
    +#
    +# If there were improvements, re-baseline counts file
    +#
    +if len(improved_counts):
    +    bfilename = test_baseline_path("unit","compiler_warnings","warning_counts_by_file.txt")
    +    bfile = open(bfilename,"w+")
    +    json.dump(baseline_counts,bfile,indent=4,sort_keys=True)
    +    bfile.write("\n")
    +    bfile.close()
    +    retval = subprocess.call(["/usr/bin/svn","commit","-m","'Updating warning counts'","%s"%bfilename])
    +
    +#
    +# Generate the (sorted) warning counts data
    +#
    +counts_txt = "{\n"
    +keys = list(worsened_counts.keys())
    +keys.sort()
    +for k in keys:
    +    counts_txt += "\"%s\": %d,\n"%(k,worsened_counts[k])
    +counts_txt += "\"last line\": 0\n}\n"
    +TestText("worsened_counts_by_file", counts_txt)
    +
    +#
    +# Ok, tricky here. Append all the warning details to the html file
    +# so others can actually see it
    +#
    +uniq_msgs = {}
    +tot_files = len(warning_counts)
    +tot_cnt = 0
    +tot_uniq_cnt = 0
    +for srcfile in warning_messages:
    +    for lineno in warning_messages[srcfile]:
    +        for msg in warning_messages[srcfile][lineno]:
    +            if msg not in uniq_msgs:
    +                uniq_msgs[msg] = 1
    +            else:
    +                uniq_msgs[msg] += 1
    +            tot_uniq_cnt += 1
    +            tot_cnt += len(warning_messages[srcfile][lineno])
    +
    +
    +f = open(out_path("html","worsened_counts_by_file.html"),"a")
    +f.write("<pre>\n")
    +f.write("\n\n\nTotal warnings %d\n"%tot_cnt)
    +f.write("Total files with warnings %d\n"%tot_files)
    +f.write("Total unique warnings %d\n"%tot_uniq_cnt)
    +f.write("Unique warning messages by count...\n")
    +sorted_uniq_msgs = sorted(uniq_msgs, key=uniq_msgs.get, reverse=True)
    +for msg in sorted_uniq_msgs:
    +    f.write("%d: \"%s\"\n"%(uniq_msgs[msg],msg))
    +f.write("\n\n\nWarning message details by file and line number...\n");
    +f.write(json.dumps(warning_messages,indent=4))
    +f.write("\n\n\nWarning message strings currently being skipped if matched...\n")
    +f.write(json.dumps(skip_list,indent=4))
    +f.write("</pre>\n")
    +f.close()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_convert2to3.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_convert2to3.html new file mode 100644 index 000000000..aa40dd680 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_convert2to3.html @@ -0,0 +1,44 @@ + +Results for unit/convert2to3.py + +

    Results of VisIt Regression Test - unit/convert2to3

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    simple_2to3_input0 modifications totalling 0 lines
    simple_2to3_result0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_convert2to3_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_convert2to3_py.html new file mode 100644 index 000000000..e69c2b76c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_convert2to3_py.html @@ -0,0 +1,34 @@ +unit/convert2to3.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  convert2to3.py
    +#
    +#  Tests:      Tests methods that help with converting python 2 style scripts
    +#              to python 3. 
    +#
    +#  Cyrus Harrison, Mon Jul 20 11:32:42 PDT 2020
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +test_script_src = "print 'Old Style Print!'\n"
    +
    +TestText("simple_2to3_input",test_script_src)
    +TestText("simple_2to3_result",ConvertPy2to3(test_script_src))
    +
    +
    +#
    +# Test on-the-fly logic for visit.Source
    +#
    +
    +test_script_file = "tgen_test_py2_script.py";
    +open(test_script_file,"w").write(test_script_src)
    +
    +curr_val = visit_utils.builtin.GetAutoPy2to3()
    +
    +visit_utils.SetAutoPy2to3(True)
    +visit.Source(test_script_file)
    +visit_utils.SetAutoPy2to3(curr_val)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_default_methods.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_default_methods.html new file mode 100644 index 000000000..40107afb8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_default_methods.html @@ -0,0 +1,84 @@ + +Results for unit/default_methods.py + +

    Results of VisIt Regression Test - unit/default_methods

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    GetDebugLevel()
     0 .eq. 0 (prec=5) : True
    GetLastError()
     "Can't delete the last window." .eq. "Can't delete the last window." : True
    Clearing GetLastError()
     "" .eq. "" : True
    Version()
     340 .ge. 321 (prec=5) : True
    LocalNameSpace()
     "None" .eq. "None" : True
    WriteScript('foo.py') == WriteScript(f)
     "True" .eq. "True" : True
    WriteScript() file size
     4000 .gt. 3000 (prec=5) : True
    SetsInCategory in dir(SILAttributes())
     SetsInCategory .in. 
    ['Categories', 'EnableCorrectnessChecking', 'MapsOut', 'NumCategories', 'NumSets', 'SetIndex', 'SetName', 'SetsInCategory', 'SuspendCorrectnessChecking', 'TopSet', 'TurnOffAll', 'TurnOffSet', 'TurnOnAll', 'TurnOnSet', 'TurnSet', 'UsesAllData', 'UsesData', 'Wholes']
     (prec=5, at=7) : True
    SetIndex in dir(SILAttributes())
     SetIndex .in. 
    ['Categories', 'EnableCorrectnessChecking', 'MapsOut', 'NumCategories', 'NumSets', 'SetIndex', 'SetName', 'SetsInCategory', 'SuspendCorrectnessChecking', 'TopSet', 'TurnOffAll', 'TurnOffSet', 'TurnOnAll', 'TurnOnSet', 'TurnSet', 'UsesAllData', 'UsesData', 'Wholes']
     (prec=5, at=5) : True
    RotateAxis in dir(View3Dattributes())
     RotateAxis .in. 
    ['Add', 'GetAxis3DScaleFlag', 'GetAxis3DScales', 'GetCenterOfRotation', 'GetCenterOfRotationSet', 'GetEyeAngle', 'GetFarPlane', 'GetFocus', 'GetImagePan', 'GetImageZoom', 'GetNearPlane', 'GetParallelScale', 'GetPerspective', 'GetShear', 'GetViewAngle', 'GetViewNormal', 'GetViewUp', 'GetWindowValid', 'Mul', 'Notify', 'RotateAxis', 'SetAxis3DScaleFlag', 'SetAxis3DScales', 'SetCenterOfRotation', 'SetCenterOfRotationSet', 'SetEyeAngle', 'SetFarPlane', 'SetFocus', 'SetImagePan', 'SetImageZoom', 'SetNearPlane', 'SetParallelScale', 'SetPerspective', 'SetShear', 'SetViewAngle', 'SetViewNormal', 'SetViewUp', 'SetWindowValid']
     (prec=5, at=20) : True
    GetImageZoom in dir(View3Dattributes())
     GetImageZoom .in. 
    ['Add', 'GetAxis3DScaleFlag', 'GetAxis3DScales', 'GetCenterOfRotation', 'GetCenterOfRotationSet', 'GetEyeAngle', 'GetFarPlane', 'GetFocus', 'GetImagePan', 'GetImageZoom', 'GetNearPlane', 'GetParallelScale', 'GetPerspective', 'GetShear', 'GetViewAngle', 'GetViewNormal', 'GetViewUp', 'GetWindowValid', 'Mul', 'Notify', 'RotateAxis', 'SetAxis3DScaleFlag', 'SetAxis3DScales', 'SetCenterOfRotation', 'SetCenterOfRotationSet', 'SetEyeAngle', 'SetFarPlane', 'SetFocus', 'SetImagePan', 'SetImageZoom', 'SetNearPlane', 'SetParallelScale', 'SetPerspective', 'SetShear', 'SetViewAngle', 'SetViewNormal', 'SetViewUp', 'SetWindowValid']
     (prec=5, at=9) : True
    SetImagePan in dir(View3Dattributes())
     SetImagePan .in. 
    ['Add', 'GetAxis3DScaleFlag', 'GetAxis3DScales', 'GetCenterOfRotation', 'GetCenterOfRotationSet', 'GetEyeAngle', 'GetFarPlane', 'GetFocus', 'GetImagePan', 'GetImageZoom', 'GetNearPlane', 'GetParallelScale', 'GetPerspective', 'GetShear', 'GetViewAngle', 'GetViewNormal', 'GetViewUp', 'GetWindowValid', 'Mul', 'Notify', 'RotateAxis', 'SetAxis3DScaleFlag', 'SetAxis3DScales', 'SetCenterOfRotation', 'SetCenterOfRotationSet', 'SetEyeAngle', 'SetFarPlane', 'SetFocus', 'SetImagePan', 'SetImageZoom', 'SetNearPlane', 'SetParallelScale', 'SetPerspective', 'SetShear', 'SetViewAngle', 'SetViewNormal', 'SetViewUp', 'SetWindowValid']
     (prec=5, at=28) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_default_methods_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_default_methods_py.html new file mode 100644 index 000000000..6c882a104 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_default_methods_py.html @@ -0,0 +1,58 @@ +unit/default_methods.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  default_methods.py
    +#
    +#  Tests:      Tests default method interface of the visit module
    +#
    +#  Cyrus Harrison, Mon Jul 20 11:32:42 PDT 2020
    +#
    +#  Modifications
    +#    Mark C. Miller, Thu Dec 16 16:43:39 PST 2021
    +#    Wrap in TestValueXX calls so that we really do test behavior and not
    +#    just that something doesn't fail due to exception. Add tests for
    +#    WriteScript.
    +# ----------------------------------------------------------------------------
    +import os, sys, filecmp
    +
    +TestValueEQ("GetDebugLevel()", GetDebugLevel(), 0)
    +
    +# Do something to create an error (not a python exception) so that we
    +# can get something other than the empty string from GetLastError()
    +DeleteWindow()
    +TestValueEQ("GetLastError()", GetLastError(), "Can't delete the last window.")
    +
    +# Test that we can clear the last error too
    +GetLastError(1)
    +TestValueEQ("Clearing GetLastError()", GetLastError(), "")
    +
    +# This version number test assumes 3, single digits
    +TestValueGE("Version()", int(Version().replace('.','')), 321)
    +
    +TestValueEQ("LocalNameSpace()", LocalNameSpace(), None)
    +
    +# The long file name test is relevant only on Windows
    +# But, we should really have an example of a short file name
    +# there that LongFileName expands and we confirm matches expected
    +if sys.platform.startswith("win"):
    +    TestValueEQ("LongFileName()", LongFileName("myfile.txt"), "myfile.txt")
    +
    +# Test two ways of using WriteScript
    +f = open('foo.py', 'wt')
    +WriteScript(f)
    +f.close()
    +WriteScript('bar.py')
    +TestValueEQ("WriteScript('foo.py') == WriteScript(f)", filecmp.cmp('foo.py','bar.py'), True)
    +TestValueGT("WriteScript() file size", os.path.getsize('foo.py'), 3000)
    +
    +# Test dir() on some objects
    +dout = dir(SILRestriction())
    +TestValueIN("SetsInCategory in dir(SILAttributes())", dout, 'SetsInCategory')
    +TestValueIN("SetIndex in dir(SILAttributes())", dout, 'SetIndex')
    +dout = dir(View3DAttributes())
    +TestValueIN("RotateAxis in dir(View3Dattributes())", dout, 'RotateAxis')
    +TestValueIN("GetImageZoom in dir(View3Dattributes())", dout, 'GetImageZoom')
    +TestValueIN("SetImagePan in dir(View3Dattributes())", dout, 'SetImagePan')
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_launcher.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_launcher.html new file mode 100644 index 000000000..f55234759 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_launcher.html @@ -0,0 +1,120 @@ + +Results for unit/launcher.py + +

    Results of VisIt Regression Test - unit/launcher

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    aprun0 modifications totalling 0 lines
    bsub0 modifications totalling 0 lines
    bsub_mpirun0 modifications totalling 0 lines
    dmpirun0 modifications totalling 0 lines
    ibrun0 modifications totalling 0 lines
    mpirun0 modifications totalling 0 lines
    msub_aprun0 modifications totalling 0 lines
    msub_ibrun0 modifications totalling 0 lines
    msub_mpiexec0 modifications totalling 0 lines
    msub_mpirun0 modifications totalling 0 lines
    msub_srun0 modifications totalling 0 lines
    poe0 modifications totalling 0 lines
    prun0 modifications totalling 0 lines
    psub0 modifications totalling 0 lines
    psub_mpirun0 modifications totalling 0 lines
    psub_srun0 modifications totalling 0 lines
    salloc0 modifications totalling 0 lines
    sbatch0 modifications totalling 0 lines
    sbatch_aprun0 modifications totalling 0 lines
    srun0 modifications totalling 0 lines
    yod0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_launcher_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_launcher_py.html new file mode 100644 index 000000000..18151e599 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_launcher_py.html @@ -0,0 +1,196 @@ +unit/launcher.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  launcher.py
    +#
    +#  Tests:      This script tests internallauncher's transformation of visit
    +#              command line arguments into parallel launch arguments.
    +#
    +#  Brad Whitlock, Tue Sep 11 12:31:34 PDT 2012
    +#
    +# Modifications:
    +#   Brad Whitlock, Fri Dec  7 09:08:22 PST 2012
    +#   I added a little more filtering of the launcher output to replace the host
    +#   with $HOST now that the noloopback case will always use the real host
    +#   name instead of 127.0.0.1 for parallel engine launches.
    +#
    +# ----------------------------------------------------------------------------
    +import os
    +import socket
    +import subprocess
    +import getpass
    +
    +# The launch cases we want to test.
    +launch_cases = {
    +"aprun"          : ["-nn", "1"],
    +"bsub"           : ["-p", "pbatch", "-t", "30:00", "-la", "-arg1 -arg2"],
    +"bsub/mpirun"    : ["-p", "pbatch", "-t", "30:00", "-la", "-arg1 -arg2", "-sla", "-arg3 -arg4"],
    +"dmpirun"        : ["-b", "bdivp"],
    +"ibrun"          : [],
    +"mpirun"         : [],
    +"msub/aprun"     : ["-nn", "1", "-sla", "-arg1 -arg2", "-hw-pre", "startx", "-hw-post", "stopx"],
    +"msub/ibrun"     : ["-hw-pre", "startx", "-hw-post", "stopx"],
    +"msub/mpiexec"   : ["-slpre", "echo 'slprecommand'", "-slpost", "echo 'slpostcommand'", "-sla", "-arg1 -arg2", "-machinefile", "machine.txt", "-hw-pre", "startx", "-hw-post", "stopx"],
    +"msub/mpirun"    : ["-sla", "-arg1 -arg2", "-machinefile", "machine.txt", "-hw-pre", "startx", "-hw-post", "stopx"],
    +"msub/srun"      : ["-sla", "-arg1 -arg2", "-hw-pre", "startx", "-hw-post", "stopx"],
    +"poe"            : ["-nn", "1", "-p", "pbatch"],
    +"prun"           : ["-nn", "1", "-p", "pbatch"],
    +"psub"           : ["-n", "JOB_NAME", "-p", "pbatch", "-b", "bdivp", "-t", "30:00", "-expedite", "-slpre", "echo 'pre command'", "-slpost", "echo 'post command'"],
    +"psub/mpirun"    : ["-nn", "1", "-n", "JOB_NAME", "-p", "pbatch", "-b", "bdivp", "-t", "30:00", "-expedite", "-slpre", "echo 'pre command'", "-slpost", "echo 'post command'"],
    +"psub/srun"      : ["-nn", "1", "-n", "JOB_NAME", "-p", "pbatch", "-b", "bdivp", "-t", "30:00", "-expedite", "-slpre", "echo 'pre command'", "-slpost", "echo 'post command'"],
    +
    +
    +"salloc"         : ["-p", "pbatch", "-t", "30:00", "-nn", "1"],
    +"sbatch"         : ["-p", "pbatch", "-b", "bdivp", "-nn", "1"],
    +"sbatch/aprun"   : ["-p", "pbatch", "-b", "bdivp", "-nn", "1", "-sla", "-arg1 -arg2"],
    +"srun"           : ["-nn", "1", "-p", "pbatch", "-b", "bdivp", "-n", "JOB_NAME", "-t", "30:00"],
    +"yod"            : []}
    +
    +# Some debugger arguments.
    +debuggers = [[], ["-totalview", "engine_par"], ["-valgrind", "engine_par"], ["-strace", "engine_par"]]
    +
    +# Get the launcher command for new versions of VisIt.
    +def GetLauncherCommand(args):
    +    p = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
    +    stdout, stderr = p.communicate()
    +    ru = stdout.find("RUN USING")
    +    if ru != -1:
    +        cmd = stdout[ru + 11:-2]
    +    else:
    +        cmd = stdout
    +    return cmd
    +
    +def FilterLauncherOutput(text, replacements):
    +    for k in list(replacements.keys()):
    +        text = text.replace(k, replacements[k])
    +    return text
    +
    +def FilterHostName(text):
    +    host = text.find("-host")
    +    port = text.find("-port")
    +    if host != -1 and port != -1:
    +        return text[:host + 6] + "$HOST " + text[port:]
    +    return text
    +
    +def hostname():
    +    return socket.gethostname()
    +
    +def nodename():
    +    return hostname().split(".")[0]
    +
    +def sectorname():
    +    s = nodename()
    +    for d in "0123456789":
    +        s = s.replace(d, "")
    +    return s
    +
    +def FormatLauncherOutput(cmd):
    +    tmpvisit = cmd.find("/tmp/visit")
    +    text = ""
    +    if tmpvisit == -1:
    +        text = cmd
    +    else:
    +        # The launcher made a script. Get the contents of the script.
    +        index = tmpvisit
    +        try:
    +            while cmd[index] != '\n':
    +                index = index + 1
    +            filename = cmd[tmpvisit:index]
    +        except:
    +            filename = cmd[tmpvisit:]
    +
    +        cmd = cmd.replace(filename, "$LAUNCHSCRIPT")
    +        text = text + cmd
    +
    +        try:
    +            lines = open(filename, "rt").readlines()
    +            text = text + '\n\nContents of $LAUNCHSCRIPT:\n'
    +            for line in lines:
    +                text = text + line
    +            os.unlink(filename)
    +        except:
    +            pass
    +
    +    return text
    +
    +
    +# For each launcher
    +i = 0
    +keys = list(launch_cases.keys())
    +keys.sort()
    +for k in keys:
    +    # Test the launcher with each debugger.
    +    j = 0
    +    text = ""
    +    for j in range(len(debuggers)):
    +        np = []
    +        if not "-np" in launch_cases[k]:
    +            np = ["-np", "8"]
    +        args = ["-engine", "-norun", "engine_par", "-l", k] + np + launch_cases[k] + ["-host", "127.0.0.1", "-port", "5600"] + debuggers[j]
    +
    +        # Come up with a visit command
    +        cmd = ""
    +        for a in args:
    +            if " " in a:
    +                cmd = cmd + '"%s" ' % a
    +            else:
    +                cmd = cmd + a + ' '
    +
    +        # Run the launcher and get the output.
    +        visitdir = pjoin(TestEnv.params["top_dir"],"src")
    +        visittestdir = pjoin(TestEnv.params["top_dir"],"test")
    +        visit =  visit_bin_path("visit")
    +        output = FormatLauncherOutput(GetLauncherCommand([visit] + args))
    +        # filter the run dir, since there are multiple variants for nightly tests
    +        # (serial, par, etc)
    +        output = FilterLauncherOutput(output, {TestEnv.params["run_dir"]: "$VISIT_TEST_DIR"})
    +        output = FilterLauncherOutput(output, {TestEnv.params["result_dir"] : "$VISIT_TEST_DIR"})
    +        # Filter out visitdir and some related directories.
    +        output = FilterLauncherOutput(output, {visit_bin_path() : "$VISIT_EXE_DIR"})
    +        output = FilterLauncherOutput(output, {visit_bin_path("..","exe") : "$VISIT_EXE_DIR"})
    +        output = FilterLauncherOutput(output, {visittestdir : "$VISIT_TEST_DIR"})
    +        output = FilterLauncherOutput(output, {visit_bin_path("..") : "$VISITDIR"})
    +        output = FilterLauncherOutput(output, {visitdir : "$VISITDIR"})
    +        # special case filter to resolve csh vs bash env differences
    +        bash_case   = "ulimit -c 0 ;"
    +        bash_case  += " LIBPATH=$VISITDIR/lib ;"
    +        bash_case  += " export LIBPATH ;"
    +        bash_case  += " LD_LIBRARY_PATH=$VISITDIR/lib ;"
    +        bash_case  += " export LD_LIBRARY_PATH"
    +
    +        csh_case  = "limit coredumpsize 0 ;"
    +        csh_case += " setenv LIBPATH $VISITDIR/lib ;"
    +        csh_case += " setenv LD_LIBRARY_PATH $VISITDIR/lib"
    +        shell_filter = {bash_case : csh_case}
    +        output = FilterLauncherOutput(output, shell_filter)
    +        # Filter out $HOME.
    +        try:
    +            output = FilterLauncherOutput(output, {os.environ["HOME"] : "$HOME"})
    +        except:
    +            pass
    +
    +        cdcmd = "cd $VISIT_TEST_DIR"
    +
    +        # Filter out some other stuff.
    +        replacements = {getpass.getuser() : "$USER",
    +                        Version()         : "$VERSION",
    +                        "linux-intel"     : "$PLATFORM",
    +                        "linux-x86_64"    : "$PLATFORM",
    +                        "darwin-i386"     : "$PLATFORM",
    +                        "darwin-x86_64"   : "$PLATFORM"}
    +
    +        output = FilterLauncherOutput(output, replacements)
    +
    +        output = FilterHostName(output)
    +
    +        # Do the test
    +        text = text + "="*80 + "\n"
    +        text = text + "CASE: %s\n\nINPUT: visit %s\n\nRESULTS:\n" % (k + " " + " ".join(debuggers[j]), cmd[:-1])
    +        text = text + output + "\n"*2
    +
    +    name = k.replace("/", "_")
    +    TestText(name, text)
    +    i = i + 1
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_mrucache.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_mrucache.html new file mode 100644 index 000000000..5a3f3e5cc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_mrucache.html @@ -0,0 +1,40 @@ + +Results for unit/mrucache.py + +

    Results of VisIt Regression Test - unit/mrucache

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mrucache0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_mrucache_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_mrucache_py.html new file mode 100644 index 000000000..9b09eb16e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_mrucache_py.html @@ -0,0 +1,24 @@ +unit/mrucache.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mrucache.py
    +#
    +#  Tests:      MRUCache_test unit test
    +#
    +#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Oct 26, 2020
    +#    Retrieve the correct path on Windows.
    +#
    +# ----------------------------------------------------------------------------
    +import sys
    +
    +if sys.platform.startswith("win"):
    +    tapp = visit_bin_path("MRUCache_test.exe")
    +else:
    +    tapp = visit_bin_path("..","exe","MRUCache_test")
    +res = sexe(tapp,ret_output=True)
    +TestText("mrucache", res["output"])
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_namescheme.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_namescheme.html new file mode 100644 index 000000000..00fd70580 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_namescheme.html @@ -0,0 +1,36 @@ + +Results for unit/namescheme.py + +

    Results of VisIt Regression Test - unit/namescheme

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_namescheme_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_namescheme_py.html new file mode 100644 index 000000000..83cec4432 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_namescheme_py.html @@ -0,0 +1,27 @@ +unit/namescheme.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  namescheme.py
    +#
    +#  Tests:      Namescheme_test unit test
    +#
    +#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Oct 26, 2020
    +#    Retrieve correct path on Windows.
    +#
    +# ----------------------------------------------------------------------------
    +import sys
    +
    +if sys.platform.startswith("win"):
    +    tapp = visit_bin_path("Namescheme_test.exe")
    +else:
    +    tapp = visit_bin_path("..","exe","Namescheme_test")
    +res = sexe(tapp,ret_output=True)
    +if res["return_code"] == 0:
    +    excode = 111
    +else:
    +    excode = 113
    +Exit(excode)
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_protocol.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_protocol.html new file mode 100644 index 000000000..d76a7fe7f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_protocol.html @@ -0,0 +1,36 @@ + +Results for unit/protocol.py + +

    Results of VisIt Regression Test - unit/protocol

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_protocol_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_protocol_py.html new file mode 100644 index 000000000..4bdb01b09 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_protocol_py.html @@ -0,0 +1,17 @@ +unit/protocol.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  protocolo.py
    +#
    +#  Tests:      vistprotocol unit test
    +#
    +#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
    +# ----------------------------------------------------------------------------
    +tapp = visit_bin_path("visitprotocol")
    +res = sexe(tapp,ret_output=True)
    +if res["return_code"] == 0:
    +    excode = 111
    +else:
    +    excode = 113
    +Exit(excode)
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_stringhelpers.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_stringhelpers.html new file mode 100644 index 000000000..9a7b72614 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_stringhelpers.html @@ -0,0 +1,36 @@ + +Results for unit/stringhelpers.py + +

    Results of VisIt Regression Test - unit/stringhelpers

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_stringhelpers_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_stringhelpers_py.html new file mode 100644 index 000000000..bb4c42a06 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_stringhelpers_py.html @@ -0,0 +1,26 @@ +unit/stringhelpers.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  stringhelpers.py
    +#
    +#  Tests:      StringHelpers_test unit test
    +#
    +#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Thu Nov 12, 2020
    +#    Retrieve the correct path on Windows.
    +# ----------------------------------------------------------------------------
    +import sys
    +
    +if sys.platform.startswith("win"):
    +    tapp = visit_bin_path("StringHelpers_test.exe")
    +else:
    +    tapp = visit_bin_path("..","exe","StringHelpers_test")
    +res = sexe(tapp,ret_output=True)
    +if res["return_code"] == 0:
    +    excode = 111
    +else:
    +    excode = 113
    +Exit(excode)
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_test_value_simple.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_test_value_simple.html new file mode 100644 index 000000000..ac1c5c847 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_test_value_simple.html @@ -0,0 +1,120 @@ + +Results for unit/test_value_simple.py + +

    Results of VisIt Regression Test - unit/test_value_simple

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Basic
    test_value_basic_001
     100 .eq. 100 (prec=5) : True
    test_value_basic_002
     200 .ne. 100 (prec=5) : True
    test_value_basic_003
     100 .lt. 200 (prec=5) : True
    test_value_basic_004
     100 .le. 200 (prec=5) : True
    test_value_basic_005
     200 .le. 200 (prec=5) : True
    test_value_basic_006
     200 .gt. 100 (prec=5) : True
    test_value_basic_007
     200 .ge. 100 (prec=5) : True
    test_value_basic_008
     200 .ge. 200 (prec=5) : True
    test_value_basic_009
     100.0 .eq. 100 (prec=5) : True
    Precision
    test_value_prec_001
     200.0001 .eq. 200 (prec=3) : True
    test_value_prec_002
     200.0000000001 .eq. 200 (prec=9) : True
    test_value_prec_004
     200.0001 .ne. 200 (prec=9) : True
    In Operator
    test_value_in_001
     200 .in. 
    (100, 200, 300)
     (prec=5, at=1) : True
    test_value_in_001
     (1, -1) .in. 
    [(0, 0),
      (1, 0),
      (1, -1),
      (0, 1)]
     (prec=5, at=2) : True
    test_value_in_002
     35 .in. 
    (17, 18, 19, 20, 21)
     (prec=2, at=3) : True
    Objects
    test_value_object_001
     "[1, '2', 3]" .eq. "[1, '2', 3]" : True
    test_value_object_002
     "apple" .lt. "carrot" : True
    test_value_object_003
     (1, 1, 4.71e-06) .lt. (1, 1, 5.01e-06)
     (prec=5) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_test_value_simple_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_test_value_simple_py.html new file mode 100644 index 000000000..6af22d3aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_test_value_simple_py.html @@ -0,0 +1,56 @@ +unit/test_value_simple.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  test_value_simple.py
    +#
    +#  Tests:      VisIt Test Suite Test Value tests
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Mark C. Miller, Sun Jan 10 10:24:59 PST 2021
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Basic cases
    +TestSection("Basic")
    +TestValueEQ("test_value_basic_001",100,100)
    +TestValueNE("test_value_basic_002",200,100)
    +
    +TestValueLT("test_value_basic_003",100,200)
    +TestValueLE("test_value_basic_004",100,200)
    +TestValueLE("test_value_basic_005",200,200)
    +
    +TestValueGT("test_value_basic_006",200,100)
    +TestValueGE("test_value_basic_007",200,100)
    +TestValueGE("test_value_basic_008",200,200)
    +
    +TestValueEQ("test_value_basic_009",100.0,100)
    +
    +# Rounding cases
    +TestSection("Precision")
    +TestValueEQ("test_value_prec_001",200.0001,200,3)
    +TestValueEQ("test_value_prec_002",200.0000000001,200,9)
    +TestValueNE("test_value_prec_004",200.0001,200,9)
    +
    +# IN operator
    +TestSection("In Operator")
    +TestValueIN("test_value_in_001",(100,200,300),200)
    +TestValueIN("test_value_in_001",[(0,0), (1,0), (1,-1), (0,1)],(1,-1))
    +
    +# Custom equivalence operator for TestValueIN
    +def EqMod5(a,b):
    +    return a%5 == b%5
    +
    +# This tests that '35' is IN '(17,18,19,20,21)' by the EqMod5 operator
    +# which says two things are equal if their mod 5 values are equal. So,
    +# '35' is IN the list because 20%5==35%5 (0)
    +TestValueIN("test_value_in_002",(17,18,19,20,21),35,2,EqMod5)
    +
    +# General Python objects wind up being tested as strings
    +TestSection("Objects")
    +TestValueEQ("test_value_object_001",[1,'2',3],"[1, '2', 3]")
    +TestValueLT("test_value_object_002","apple","carrot")
    +TestValueLT("test_value_object_003",(1,1,0.00000471),(1,1,0.00000501))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_utility.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_utility.html new file mode 100644 index 000000000..6259f9415 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_utility.html @@ -0,0 +1,36 @@ + +Results for unit/utility.py + +

    Results of VisIt Regression Test - unit/utility

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_utility_py.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_utility_py.html new file mode 100644 index 000000000..cd40f750c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/unit_utility_py.html @@ -0,0 +1,27 @@ +unit/utility.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  utility.py
    +#
    +#  Tests:      Utility_test unit test
    +#
    +#  Mark C. Miller, Mon Dec  1 23:55:05 PST 2014
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Oct 26, 2020
    +#    Retrieve correct path on Windows.
    +#
    +# ----------------------------------------------------------------------------
    +import sys
    +
    +if sys.platform.startswith("win"):
    +    tapp = visit_bin_path("Utility_test.exe")
    +else:
    +    tapp = visit_bin_path("..","exe","Utility_test")
    +res = sexe(tapp,ret_output=True)
    +if res["return_code"] == 0:
    +    excode = 111
    +else:
    +    excode = 113
    +Exit(excode)
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/zerocopy02.html b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/zerocopy02.html new file mode 100644 index 000000000..1c3e18859 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/zerocopy02.html @@ -0,0 +1,31 @@ +Results for test case zerocopy02 + +

    Results for test case zerocopy02

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    1 Lines Changed

    +

    1 modifications, totalling 1 lines

    + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1: ERROR: Some methods used more memory than copying.1: ERROR: Some methods used more memory than copying.
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/Pick2D.html b/2023-11-08-22:00/pascal_trunk_serial/Pick2D.html new file mode 100644 index 000000000..9ffc1cc5d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/Pick2D.html @@ -0,0 +1,1706 @@ +Results for test case Pick2D + +

    Results for test case Pick2D

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    100 Lines Changed

    +

    1 modifications, totalling 100 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1:  1:  
    2: A: ucd2d.silo2: A: ucd2d.silo
    3: ucdmesh2d3: ucdmesh2d
    4: Point: <1.95556, 0.355556>4: Point: <1.95556, 0.355556>
    5: Zone: 55: Zone: 5
    6: Incident Nodes: 2 1 3 56: Incident Nodes: 2 1 3 5
    7: d: <nodal>7: d: <nodal>
    8:     (2) = 0.7071078:     (2) = 0.707107
    9:     (1) = 29:     (1) = 2
    10:     (3) = 0.70710710:     (3) = 0.707107
    11:     (5) = 0.511:     (5) = 0.5
    12:  12:  
    13: p: <zonal> = 0.87513: p: <zonal> = 0.875
    14:  14:  
    15: u: <nodal>15: u: <nodal>
    16:     (2) = -0.516:     (2) = -0.5
    17:     (1) = 017:     (1) = 0
    18:     (3) = 0.518:     (3) = 0.5
    19:     (5) = 019:     (5) = 0
    20:  20:  
    21:  21:  
    22: B: ucd2d.silo22: B: ucd2d.silo
    23: ucdmesh2d23: ucdmesh2d
    24: Point: <1.42222, 2.06222>24: Point: <1.42222, 2.06222>
    25: Zone: 425: Zone: 4
    26: Incident Nodes: 0 2 6 926: Incident Nodes: 0 2 6 9
    27: d: <nodal>27: d: <nodal>
    28:     (0) = 228:     (0) = 2
    29:     (2) = 0.70710729:     (2) = 0.707107
    30:     (6) = 0.530:     (6) = 0.5
    31:     (9) = 0.70710731:     (9) = 0.707107
    32:  32:  
    33: p: <zonal> = 0.87533: p: <zonal> = 0.875
    34:  34:  
    35: u: <nodal>35: u: <nodal>
    36:     (0) = -236:     (0) = -2
    37:     (2) = -0.537:     (2) = -0.5
    38:     (6) = -0.538:     (6) = -0.5
    39:     (9) = -0.539:     (9) = -0.5
    40:  40:  
    41:  41:  
    42: C: ucd2d.silo42: C: ucd2d.silo
    43: ucdmesh2d43: ucdmesh2d
    44: Point: <2, 1.125>44: Point: <2, 1.125>
    45: Zone: 545: Zone: 5
    46: Incident Nodes: 2 1 3 546: Incident Nodes: 2 1 3 5
    47: d: <nodal>47: d: <nodal>
    48:     (2) = 0.70710748:     (2) = 0.707107
    49:     (1) = 249:     (1) = 2
    50:     (3) = 0.70710750:     (3) = 0.707107
    51:     (5) = 0.551:     (5) = 0.5
    52:  52:  
    53: p: <zonal> = 0.87553: p: <zonal> = 0.875
    54:  54:  
    55: u: <nodal>55: u: <nodal>
    56:     (2) = -0.556:     (2) = -0.5
    57:     (1) = 057:     (1) = 0
    58:     (3) = 0.558:     (3) = 0.5
    59:     (5) = 059:     (5) = 0
    60:  60:  
    61:  61:  
    62: D: ucd2d.silo62: D: ucd2d.silo
    63: ucdmesh2d63: ucdmesh2d
    64: Point: <1.125, 2>64: Point: <1.125, 2>
    65: Zone: 465: Zone: 4
    66: Incident Nodes: 0 2 6 966: Incident Nodes: 0 2 6 9
    67: d: <nodal>67: d: <nodal>
    68:     (0) = 268:     (0) = 2
    69:     (2) = 0.70710769:     (2) = 0.707107
    70:     (6) = 0.570:     (6) = 0.5
    71:     (9) = 0.70710771:     (9) = 0.707107
    72:  72:  
    73: p: <zonal> = 0.87573: p: <zonal> = 0.875
    74:  74:  
    75: u: <nodal>75: u: <nodal>
    76:     (0) = -276:     (0) = -2
    77:     (2) = -0.577:     (2) = -0.5
    78:     (6) = -0.578:     (6) = -0.5
    79:     (9) = -0.579:     (9) = -0.5
    80:  80:  
    81:  81:  
    82: E: curv2d.silo82: E: curv2d.silo
    83: curvmesh2d83: curvmesh2d
    84: Point (Z,R): <0.179723, 2.09234>84: Point (Z,R): <0.179723, 2.09234>
    85: Zone: 4485: Zone: 44
    86: Incident Nodes: 45 46 77 7686: Incident Nodes: 45 46 77 76
    87: d: <zonal> = 2.109687: d: <zonal> = 2.1096
    88:  88:  
    89:  89:  
    90: F: curv2d.silo90: F: curv2d.silo
    91: curvmesh2d91: curvmesh2d
    92: Point (Z,R): <0.318298, 2.00966>92: Point (Z,R): <0.318298, 2.00966>
    93: Zone: 13(ghost)93: Zone: 13(ghost)
    94: Incident Nodes: 13(ghost) 14(ghost) 45 4494: Incident Nodes: 13(ghost) 14(ghost) 45 44
    95: d: <zonal> = 2.0347195: d: <zonal> = 2.03471
    96:  96:  
    97:  97:  
    98: G: curv2d.silo98: G: curv2d.silo
    99: curvmesh2d99: curvmesh2d
    100: Point (Z,R): <0.216897, 2.06363>100: Point (Z,R): <0.216897, 2.06363>
    101: Node: 45101: Node: 45
    102: Incident Zones: 43 13(ghost) 44 14(ghost)102: Incident Zones: 43 13(ghost) 44 14(ghost)
    103: d: <zonal>103: d: <zonal>
    104:     (43) = 2.1096104:     (43) = 2.1096
    105:     (13) = 2.03471105:     (13) = 2.03471
    106:     (44) = 2.1096106:     (44) = 2.1096
    107:     (14) = 2.03471107:     (14) = 2.03471
    108:  108:  
    109:  109:  
    110: H: curv2d.silo110: H: curv2d.silo
    111: curvmesh2d111: curvmesh2d
    112: Point (Z,R): <0.415823, 1.9563>112: Point (Z,R): <0.415823, 1.9563>
    113: Node: 13(ghost)113: Node: 13(ghost)
    114: Incident Zones: 12(ghost) 13(ghost)114: Incident Zones: 12(ghost) 13(ghost)
    115: d: <zonal>115: d: <zonal>
    116:     (12) = 2.03471116:     (12) = 2.03471
    117:     (13) = 2.03471117:     (13) = 2.03471
    118:  118:  
    119:  119:  
    120: I: curv2d.silo120: I: curv2d.silo
    121: curvmesh2d121: curvmesh2d
    122: Point (Z,R): <-0.253497, 4.09227>122: Point (Z,R): <-0.253497, 4.09227>
    123: Zone: 855123: Zone: 855
    124: Incident Nodes: 883 884 915 914124: Incident Nodes: 883 884 915 914
    125: d: <zonal> = 4.13183125: d: <zonal> = 4.13183
    126:  126:  
    127:  127:  
    128: J: curv2d.silo128: J: curv2d.silo
    129: curvmesh2d129: curvmesh2d
    130: Point (Z,R): <-3.50778, 1.34651>130: Point (Z,R): <-3.50778, 1.34651>
    131: Zone: 716131: Zone: 716
    132: Incident Nodes: 739 740 771 770132: Incident Nodes: 739 740 771 770
    133: d: <zonal> = 3.75734133: d: <zonal> = 3.75734
    134:  134:  
    135:  135:  
    136: K: curv2d.silo136: K: curv2d.silo
    137: curvmesh2d137: curvmesh2d
    138: Point (Z,R): <-0.428567, 4.07754>138: Point (Z,R): <-0.428567, 4.07754>
    139: Node: 884139: Node: 884
    140: Incident Zones: 855 825 856 826140: Incident Zones: 855 825 856 826
    141: d: <zonal>141: d: <zonal>
    142:     (855) = 4.13183142:     (855) = 4.13183
    143:     (825) = 4.05693143:     (825) = 4.05693
    144:     (856) = 4.13183144:     (856) = 4.13183
    145:     (826) = 4.05693145:     (826) = 4.05693
    146:  146:  
    147:  147:  
    148: L: curv2d.silo148: L: curv2d.silo
    149: curvmesh2d149: curvmesh2d
    150: Point (Z,R): <3.8, 0>150: Point (Z,R): <3.8, 0>
    151: Node: 744(ghost)151: Node: 744(ghost)
    152: Incident Zones: 720(ghost) 690(ghost)152: Incident Zones: 720(ghost) 690(ghost)
    153: d: <zonal>153: d: <zonal>
    154:     (720) = 3.83224154:     (720) = 3.83224
    155:     (690) = 3.75734155:     (690) = 3.75734
    156:  156:  
    157:  157:  
    158: M: curv2d.silo158: M: curv2d.silo
    159: curvmesh2d159: curvmesh2d
    160: Point (Z,R): <-2.41668, 1.87777>160: Point (Z,R): <-2.41668, 1.87777>
    161: Zone: 443161: Zone: 443
    162: Incident Nodes: 457 458 489 488162: Incident Nodes: 457 458 489 488
    163: d: <zonal> = 3.08327163: d: <zonal> = 3.08327
    164:  164:  
    165:  165:  
    166: N: curv2d.silo166: N: curv2d.silo
    167: curvmesh2d167: curvmesh2d
    168: Point (Z,R): <2.92945, 0.153526>168: Point (Z,R): <2.92945, 0.153526>
    169: Zone: 360(ghost)169: Zone: 360(ghost)
    170: Incident Nodes: 372(ghost) 373 404 403(ghost)170: Incident Nodes: 372(ghost) 373 404 403(ghost)
    171: d: <zonal> = 2.93347171: d: <zonal> = 2.93347
    172:  172:  
    173:  173:  
    174: O: curv2d.silo174: O: curv2d.silo
    175: curvmesh2d175: curvmesh2d
    176: Point (Z,R): <-2.4675, 1.79275>176: Point (Z,R): <-2.4675, 1.79275>
    177: Node: 458177: Node: 458
    178: Incident Zones: 443 413 444 414178: Incident Zones: 443 413 444 414
    179: d: <zonal>179: d: <zonal>
    180:     (443) = 3.08327180:     (443) = 3.08327
    181:     (413) = 3.00837181:     (413) = 3.00837
    182:     (444) = 3.08327182:     (444) = 3.08327
    183:     (414) = 3.00837183:     (414) = 3.00837
    184:  184:  
    185:  185:  
    186: P: curv2d.silo186: P: curv2d.silo
    187: curvmesh2d187: curvmesh2d
    188: Point (Z,R): <2.83663, 0.602944>188: Point (Z,R): <2.83663, 0.602944>
    189: Node: 374189: Node: 374
    190: Incident Zones: 361 331 362 332190: Incident Zones: 361 331 362 332
    191: d: <zonal>191: d: <zonal>
    192:     (361) = 2.93347192:     (361) = 2.93347
    193:     (331) = 2.85858193:     (331) = 2.85858
    194:     (362) = 2.93347194:     (362) = 2.93347
    195:     (332) = 2.85858195:     (332) = 2.85858
    196:  196:  
    197:  197:  
    198: Q: curv2d.silo198: Q: curv2d.silo
    199: curvmesh2d199: curvmesh2d
    200: Point (Z,R): <2.03693, 1.06863>200: Point (Z,R): <2.03693, 1.06863>
    201: Zone: 124201: Zone: 124
    202: Incident Nodes: 128 129 160 159202: Incident Nodes: 128 129 160 159
    203: d: <zonal> = 2.3343203: d: <zonal> = 2.3343
    204:  204:  
    205:  205:  
    206: R: curv2d.silo206: R: curv2d.silo
    207: curvmesh2d207: curvmesh2d
    208: Point (Z,R): <-1.37475, 1.69768>208: Point (Z,R): <-1.37475, 1.69768>
    209: Zone: 81209: Zone: 81
    210: Incident Nodes: 83 84 115 114210: Incident Nodes: 83 84 115 114
    211: d: <zonal> = 2.1845211: d: <zonal> = 2.1845
    212:  212:  
    213:  213:  
    214: S: curv2d.silo214: S: curv2d.silo
    215: curvmesh2d215: curvmesh2d
    216: Point (Z,R): <1.99186, 1.15>216: Point (Z,R): <1.99186, 1.15>
    217: Node: 129217: Node: 129
    218: Incident Zones: 124 94 125 95218: Incident Zones: 124 94 125 95
    219: d: <zonal>219: d: <zonal>
    220:     (124) = 2.3343220:     (124) = 2.3343
    221:     (94) = 2.2594221:     (94) = 2.2594
    222:     (125) = 2.3343222:     (125) = 2.3343
    223:     (95) = 2.2594223:     (95) = 2.2594
    224:  224:  
    225:  225:  
    226: T: curv2d.silo226: T: curv2d.silo
    227: curvmesh2d227: curvmesh2d
    228: Point (Z,R): <-1.59776, 1.43863>228: Point (Z,R): <-1.59776, 1.43863>
    229: Node: 85229: Node: 85
    230: Incident Zones: 82 52 83 53230: Incident Zones: 82 52 83 53
    231: d: <zonal>231: d: <zonal>
    232:     (82) = 2.1845232:     (82) = 2.1845
    233:     (52) = 2.1096233:     (52) = 2.1096
    234:     (83) = 2.1845234:     (83) = 2.1845
    235:     (53) = 2.1096235:     (53) = 2.1096
    236:  236:  
    237:  237: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    238: U: rect2d.silo
    239: quadmesh2d
    240: Point: <0.244444, 0.994444>
    241: Zone: 877
    242: Incident Nodes: 906 907 937 938
    243: ascii: <zonal> = O
    244:  
    245:  
    246: V: rect2d.silo
    247: quadmesh2d
    248: Point: <0.527778, 0.527778>
    249: Zone: 465
    250: Incident Nodes: 480 481 511 512
    251: ascii: <zonal> = A
    252:  
    253:  
    254: W: rect2d.silo
    255: quadmesh2d
    256: Point: <0.966667, 1.29444>
    257: Zone: 1169
    258: Incident Nodes: 1207 1208 1238 1239
    259: ascii: <zonal> = Y
    260:  
    261:  
    262: X: rect2d.silo
    263: quadmesh2d
    264: Point: <0.505556, 1.22778>
    265: Zone: 1095
    266: Incident Nodes: 1131 1132 1162 1163
    267: ascii: <zonal> = T
    268:  
    269:  
    270: Y: rect2d.silo
    271: quadmesh2d
    272: Point: <0.705556, 0.338889>
    273: Zone: 321
    274: Incident Nodes: 331 332 362 363
    275: ascii: <zonal> = H
    276:  
    277:  
    278: Z: rect2d.silo
    279: quadmesh2d
    280: Point: <0.233333, 1>
    281: Node: 937
    282: Incident Zones: 906 876 907 877
    283: ascii: <zonal>
    284:     (906) = Q
    285:     (876) = P
    286:     (907) = P
    287:     (877) = O
    288:  
    289:  
    290: a: rect2d.silo
    291: quadmesh2d
    292: Point: <0.533333, 0.533333>
    293: Node: 512
    294: Incident Zones: 495 465 496 466
    295: ascii: <zonal>
    296:     (495) = A
    297:     (465) = A
    298:     (496) = B
    299:     (466) = A
    300:  
    301:  
    302: b: rect2d.silo
    303: quadmesh2d
    304: Point: <0.966667, 1.3>
    305: Node: 1238
    306: Incident Zones: 1198 1168 1199 1169
    307: ascii: <zonal>
    308:     (1198) = Z
    309:     (1168) = Y
    310:     (1199) = Z
    311:     (1169) = Y
    312:  
    313:  
    314: c: rect2d.silo
    315: quadmesh2d
    316: Point: <0.5, 1.23333>
    317: Node: 1162
    318: Incident Zones: 1124 1094 1125 1095
    319: ascii: <zonal>
    320:     (1124) = U
    321:     (1094) = T
    322:     (1125) = U
    323:     (1095) = T
    324:  
    325:  
    326: d: rect2d.silo
    327: quadmesh2d
    328: Point: <0.7, 0.333333>
    329: Node: 331
    330: Incident Zones: 320 290 321 291
    331: ascii: <zonal>
    332:     (320) = G
    333:     (290) = H
    334:     (321) = H
    335:     (291) = H
    336:  
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/Pick3DTo2D.html b/2023-11-08-22:00/pascal_trunk_serial/Pick3DTo2D.html new file mode 100644 index 000000000..d20b443dc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/Pick3DTo2D.html @@ -0,0 +1,2126 @@ +Results for test case Pick3DTo2D + +

    Results for test case Pick3DTo2D

    + + + + + +
    Legend
    46 Lines Added
    66 Lines Deleted
    31 Lines Changed

    +

    10 modifications, totalling 143 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1:  1:  
    2: A: globe.silo2: A: globe.silo
    3: mesh13: mesh1
    4: Point: <0, -4.48889, 3.95556>4: Point: <0, -4.48889, 3.95556>
    5: Zone: 5545: Zone: 554
    6: Incident Nodes: 797 798 789 788 851 852 843 8426: Incident Nodes: 797 798 789 788 851 852 843 842
    7: u: <nodal>7: u: <nodal>
    8:     (797) = -3.726788:     (797) = -3.72678
    9:     (798) = -5.129479:     (798) = -5.12947
    10:     (789) = -3.847110:     (789) = -3.8471
    11:     (788) = -2.7950811:     (788) = -2.79508
    12:     (851) = -3.9185712:     (851) = -3.91857
    13:     (852) = -5.3934513:     (852) = -5.39345
    14:     (843) = -4.0450814:     (843) = -4.04508
    15:     (842) = -2.9389315:     (842) = -2.93893
    16:  16:  
    17:  17:  
    18: B: globe.silo18: B: globe.silo
    19: mesh119: mesh1
    20: Point: <0, 4.4, -2.44444>20: Point: <0, 4.4, -2.44444>
    21: Zone: 94521: Zone: 945
    22: Incident Nodes: 315 316 307 306 369 370 361 36022: Incident Nodes: 315 316 307 306 369 370 361 360
    23: u: <nodal>23: u: <nodal>
    24:     (315) = 6.3403824:     (315) = 6.34038
    25:     (316) = 5.3934525:     (316) = 5.39345
    26:     (307) = 4.0450826:     (307) = 4.04508
    27:     (306) = 4.7552827:     (306) = 4.75528
    28:     (369) = 6.0300628:     (369) = 6.03006
    29:     (370) = 5.1294729:     (370) = 5.12947
    30:     (361) = 3.847130:     (361) = 3.8471
    31:     (360) = 4.5225431:     (360) = 4.52254
    32:  32:  
    33:  33:  
    34: C: globe.silo34: C: globe.silo
    35: mesh135: mesh1
    36: Point: <-0.629469, -3.97431, 4.07401>36: Point: <-0.629469, -3.97431, 4.07401>
    37: Zone: 55437: Zone: 554
    38: Incident Nodes: 797 798 789 788 851 852 843 84238: Incident Nodes: 797 798 789 788 851 852 843 842
    39: u: <nodal>39: u: <nodal>
    40:     (797) = -3.7267840:     (797) = -3.72678
    41:     (798) = -5.1294741:     (798) = -5.12947
    42:     (789) = -3.847142:     (789) = -3.8471
    43:     (788) = -2.7950843:     (788) = -2.79508
    44:     (851) = -3.9185744:     (851) = -3.91857
    45:     (852) = -5.3934545:     (852) = -5.39345
    46:     (843) = -4.0450846:     (843) = -4.04508
    47:     (842) = -2.9389347:     (842) = -2.93893
    48:  48:  
    49:  49:  
    50: D: globe.silo50: D: globe.silo
    51: mesh151: mesh1
    52: Point: <-0.793176, 5.00792, -2.61567>52: Point: <-0.793176, 5.00792, -2.61567>
    53: Zone: 94553: Zone: 945
    54: Incident Nodes: 315 316 307 306 369 370 361 36054: Incident Nodes: 315 316 307 306 369 370 361 360
    55: u: <nodal>55: u: <nodal>
    56:     (315) = 6.3403856:     (315) = 6.34038
    57:     (316) = 5.3934557:     (316) = 5.39345
    58:     (307) = 4.0450858:     (307) = 4.04508
    59:     (306) = 4.7552859:     (306) = 4.75528
    60:     (369) = 6.0300660:     (369) = 6.03006
    61:     (370) = 5.1294761:     (370) = 5.12947
    62:     (361) = 3.847162:     (361) = 3.8471
    63:     (360) = 4.5225463:     (360) = 4.52254
    64:  64:  
    65:  65:  
    66: E: globe.silo66: E: globe.silo
    67: mesh167: mesh1
    68: Point: <0, -4.48889, 3.95556>68: Point: <0, -4.48889, 3.95556>
    69: Zone: 55469: Zone: 554
    70: Incident Nodes: 797 798 789 788 851 852 843 84270: Incident Nodes: 797 798 789 788 851 852 843 842
    71: u: <nodal>71: u: <nodal>
    72:     (797) = -3.7267872:     (797) = -3.72678
    73:     (798) = -5.1294773:     (798) = -5.12947
    74:     (789) = -3.847174:     (789) = -3.8471
    75:     (788) = -2.7950875:     (788) = -2.79508
    76:     (851) = -3.9185776:     (851) = -3.91857
    77:     (852) = -5.3934577:     (852) = -5.39345
    78:     (843) = -4.0450878:     (843) = -4.04508
    79:     (842) = -2.9389379:     (842) = -2.93893
    80:  80:  
    81:  81:  
    82: F: globe.silo82: F: globe.silo
    83: mesh183: mesh1
    84: Point: <0, 4.4, -2.44444>84: Point: <0, 4.4, -2.44444>
    85: Zone: 94585: Zone: 945
    86: Incident Nodes: 315 316 307 306 369 370 361 36086: Incident Nodes: 315 316 307 306 369 370 361 360
    87: u: <nodal>87: u: <nodal>
    88:     (315) = 6.3403888:     (315) = 6.34038
    89:     (316) = 5.3934589:     (316) = 5.39345
    90:     (307) = 4.0450890:     (307) = 4.04508
    91:     (306) = 4.7552891:     (306) = 4.75528
    92:     (369) = 6.0300692:     (369) = 6.03006
    93:     (370) = 5.1294793:     (370) = 5.12947
    94:     (361) = 3.847194:     (361) = 3.8471
    95:     (360) = 4.5225495:     (360) = 4.52254
    96:  96:  
    97:  97:  
    98: G: globe.silo98: G: globe.silo
    99: mesh199: mesh1
    100: Point: <-0.629469, -3.97431, 4.07401>100: Point: <-0.629469, -3.97431, 4.07401>
    101: Zone: 554101: Zone: 554
    102: Incident Nodes: 797 798 789 788 851 852 843 842102: Incident Nodes: 797 798 789 788 851 852 843 842
    103: u: <nodal>103: u: <nodal>
    104:     (797) = -3.72678104:     (797) = -3.72678
    105:     (798) = -5.12947105:     (798) = -5.12947
    106:     (789) = -3.8471106:     (789) = -3.8471
    107:     (788) = -2.79508107:     (788) = -2.79508
    108:     (851) = -3.91857108:     (851) = -3.91857
    109:     (852) = -5.39345109:     (852) = -5.39345
    110:     (843) = -4.04508110:     (843) = -4.04508
    111:     (842) = -2.93893111:     (842) = -2.93893
    112:  112:  
    113:  113:  
    114: H: globe.silo114: H: globe.silo
    115: mesh1115: mesh1
    116: Point: <-0.793176, 5.00792, -2.61567>116: Point: <-0.793176, 5.00792, -2.61567>
    117: Zone: 945117: Zone: 945
    118: Incident Nodes: 315 316 307 306 369 370 361 360118: Incident Nodes: 315 316 307 306 369 370 361 360
    119: u: <nodal>119: u: <nodal>
    120:     (315) = 6.34038120:     (315) = 6.34038
    121:     (316) = 5.39345121:     (316) = 5.39345
    122:     (307) = 4.04508122:     (307) = 4.04508
    123:     (306) = 4.75528123:     (306) = 4.75528
    124:     (369) = 6.03006124:     (369) = 6.03006
    125:     (370) = 5.12947125:     (370) = 5.12947
    126:     (361) = 3.8471126:     (361) = 3.8471
    127:     (360) = 4.52254127:     (360) = 4.52254
    128:  128:  
    129:  129:  
    130: I: globe.silo130: I: globe.silo
    131: mesh1131: mesh1
    132: Point: (in transformed space)132: Point: (in transformed space)
    133:        <-0.650387, 1.08398, 0>133:        <-0.650387, 1.08398, 0>
    134: Zone: 506134: Zone: 506
    135: Incident Nodes: 347 348 339 338 401 402 393 392135: Incident Nodes: 347 348 339 338 401 402 393 392
    136: u: <nodal>136: u: <nodal>
    137:     (347) = 1.86339137:     (347) = 1.86339
    138:     (348) = 2.56474138:     (348) = 2.56474
    139:     (339) = 1.28237139:     (339) = 1.28237
    140:     (338) = 0.931695140:     (338) = 0.931695
    141:     (401) = 1.58509141:     (401) = 1.58509
    142:     (402) = 2.18169142:     (402) = 2.18169
    143:     (393) = 1.09085143:     (393) = 1.09085
    144:     (392) = 0.792547144:     (392) = 0.792547
    145:  145:  
    146:  146:  
    147: J: globe.silo147: J: globe.silo
    148: mesh1148: mesh1
    149: Point: (in transformed space)149: Point: (in transformed space)
    150:        <-3.0785, -4.9863, 0>150:        <-3.0785, -4.9863, 0>
    151: Zone: 593151: Zone: 593
    152: Incident Nodes: 761 762 753 752 815 816 807 806152: Incident Nodes: 761 762 753 752 815 816 807 806
    153: u: <nodal>153: u: <nodal>
    154:     (761) = -4.75528154:     (761) = -4.75528
    155:     (762) = -6.54508155:     (762) = -6.54508
    156:     (753) = -5.45424156:     (753) = -5.45424
    157:     (752) = -3.96274157:     (752) = -3.96274
    158:     (815) = -5.59017158:     (815) = -5.59017
    159:     (816) = -7.69421159:     (816) = -7.69421
    160:     (807) = -6.41184160:     (807) = -6.41184
    161:     (806) = -4.65847161:     (806) = -4.65847
    162:  162:  
    163:  163:  
    164: K: globe.silo164: K: globe.silo
    165: mesh1165: mesh1
    166: Point: <0.782909, 1.53655, 1.746>166: Point: <0.782909, 1.53655, 1.746>
    167: Zone: 503167: Zone: 503
    168: Incident Nodes: 185 186 177 176 239 240 231 230168: Incident Nodes: 185 186 177 176 239 240 231 230
    169: u: <nodal>169: u: <nodal>
    170:     (185) = 1.58509170:     (185) = 1.58509
    171:     (186) = 2.18169171:     (186) = 2.18169
    172:     (177) = 1.09085172:     (177) = 1.09085
    173:     (176) = 0.792547173:     (176) = 0.792547
    174:     (239) = 1.86339174:     (239) = 1.86339
    175:     (240) = 2.56474175:     (240) = 2.56474
    176:     (231) = 1.28237176:     (231) = 1.28237
    177:     (230) = 0.931695177:     (230) = 0.931695
    178:  178:  
    179:  179:  
    180: L: globe.silo180: L: globe.silo
    181: mesh1181: mesh1
    182: Point: <2.87067, -5.634, 6.40201>182: Point: <2.87067, -5.634, 6.40201>
    183: Zone: 596183: Zone: 596
    184: Incident Nodes: 923 924 915 914 977 978 969 968184: Incident Nodes: 923 924 915 914 977 978 969 968
    185: u: <nodal>185: u: <nodal>
    186:     (923) = -5.59017186:     (923) = -5.59017
    187:     (924) = -7.69421187:     (924) = -7.69421
    188:     (915) = -6.41184188:     (915) = -6.41184
    189:     (914) = -4.65847189:     (914) = -4.65847
    190:     (977) = -4.75528190:     (977) = -4.75528
    191:     (978) = -6.54508191:     (978) = -6.54508
    192:     (969) = -5.45424192:     (969) = -5.45424
    193:     (968) = -3.96274193:     (968) = -3.96274
    194:  194:  
    195:  195:  
    196: Pick with all materials turned on:196: Pick with all materials turned on:
    197:  197: Chosen pick did not intersect surface.
    198: M: multi_rect3d.silo198: M: multi_rect3d.silo
    199: mesh1 domain 1
    200: Point: <0.2, 0.0666667, 0.0888889>
    201: Zone: 225
    202: Incident Nodes: 269 270 280 281 390 391 401 402
    203: d: <zonal> = 0.682125
    204:  
    205:  
    206: N: multi_rect3d.silo
    207: mesh1 domain 1199: mesh1 domain 1
    208: Point: <0.216667, 0.0625, 0.0833333>200: Point: <0.216667, 0.0625, 0.0833333>
    209: Zone: 226201: Zone: 226
    210: Incident Nodes: 270 271 281 282 391 392 402 403202: Incident Nodes: 270 271 281 282 391 392 402 403
    211: d: <zonal> = 0.667304203: d: <zonal> = 0.667304
    212:  204:  
    213:  205: Chosen pick did not intersect surface.
    214: O: multi_rect3d.silo206: N: multi_rect3d.silo
    215: mesh1 domain 19
    216: Point: <0.2, 0.511111, 0.555556>
    217: Zone: 605
    218: Incident Nodes: 731 732 742 743 852 853 863 864
    219: d: <zonal> = 0.320833
    220:  
    221:  
    222: P: multi_rect3d.silo
    223: mesh1 domain 19207: mesh1 domain 19
    224: Point: <0.216667, 0.5125, 0.55>208: Point: <0.216667, 0.5125, 0.55>
    225: Zone: 606209: Zone: 606
    226: Incident Nodes: 732 733 743 744 853 854 864 865210: Incident Nodes: 732 733 743 744 853 854 864 865
    227: d: <zonal> = 0.287983211: d: <zonal> = 0.287983
    228:  212:  
    229:  213: Chosen pick did not intersect surface.
    230: Q: multi_rect3d.silo214: O: multi_rect3d.silo
    231: mesh1 domain 1215: mesh1 domain 1
    232: Point: <0.2, 0.075, 0.1>216: Point: <0.2, 0.075, 0.1>
    233: Node: 402217: Node: 402
    234: Incident Zones: 335 325 225 235 336 326 226 236218: Incident Zones: 335 325 225 235 336 326 226 236
    235: d: <zonal>219: d: <zonal>
    236:     (335) = 0.646048220:     (335) = 0.646048
    237:     (325) = 0.66229221:     (325) = 0.66229
    238:     (225) = 0.682125222:     (225) = 0.682125
    239:     (235) = 0.666367223:     (235) = 0.666367
    240:     (336) = 0.63038224:     (336) = 0.63038
    241:     (326) = 0.647015225:     (326) = 0.647015
    242:     (226) = 0.667304226:     (226) = 0.667304
    243:     (236) = 0.651187227:     (236) = 0.651187
    244:  228:  
    229: Chosen pick did not intersect surface.
    230: P: multi_rect3d.silo
    231: mesh1 domain 19
    232: Point: <0.2, 0.5, 0.566667>
    233: Node: 853
    234: Incident Zones: 705 605 706 606
    235: d: <zonal>
    236:     (705) = 0.327687
    237:     (605) = 0.320833
    238:     (706) = 0.295599
    239:     (606) = 0.287983
    240:  
    241:  
    242: Pick with material 2 turned off:
    243:  
    244: Q: multi_rect3d.silo
    245: mesh1 domain 1
    246: Point: <0.2, 0.0666667, 0.0888889>
    247: Zone: 225
    248: Incident Nodes: 269 270 280 281 390 391 401 402
    249: d: <zonal> = 0.682125
    250:  
    245:  251:  
    246: R: multi_rect3d.silo252: R: multi_rect3d.silo
    253: mesh1 domain 1
    254: Point: <0.216667, 0.0625, 0.0833333>
    255: Zone: 226
    256: Incident Nodes: 270 271 281 282 391 392 402 403
    257: d: <zonal> = 0.667304
    258:  
    259:  
    260: S: multi_rect3d.silo
    261: mesh1 domain 19
    262: Point: <0.2, 0.511111, 0.555556>
    263: Zone: 605
    264: Incident Nodes: 731 732 742 743 852 853 863 864
    265: d: <zonal> = 0.320833
    266:  
    267:  
    268: T: multi_rect3d.silo
    269: mesh1 domain 19
    270: Point: <0.216667, 0.5125, 0.55>
    271: Zone: 606
    272: Incident Nodes: 732 733 743 744 853 854 864 865
    273: d: <zonal> = 0.287983
    274:  
    275:  
    276: U: multi_rect3d.silo
    247: mesh1 domain 1277: mesh1 domain 1
    248: Point: <0.2, 0.075, 0.1>278: Point: <0.2, 0.075, 0.1>
    249: Node: 402279: Node: 402
    250: Incident Zones: 335 325 225 235 336 326 226 236280: Incident Zones: 335 325 225 235 336 326 226 236
    251: d: <zonal>281: d: <zonal>
    252:     (335) = 0.646048282:     (335) = 0.646048
    253:     (325) = 0.66229283:     (325) = 0.66229
    254:     (225) = 0.682125284:     (225) = 0.682125
    255:     (235) = 0.666367285:     (235) = 0.666367
    256:     (336) = 0.63038286:     (336) = 0.63038
    257:     (326) = 0.647015287:     (326) = 0.647015
    258:     (226) = 0.667304288:     (226) = 0.667304
    259:     (236) = 0.651187289:     (236) = 0.651187
    260:  290:  
    261:  291:  
    262: S: multi_rect3d.silo
    263: mesh1 domain 19
    264: Point: <0.2, 0.5, 0.566667>
    265: Node: 853
    266: Incident Zones: 705 605 706 606
    267: d: <zonal>
    268:     (705) = 0.327687
    269:     (605) = 0.320833
    270:     (706) = 0.295599
    271:     (606) = 0.287983
    272:  
    273:  
    274: T: multi_rect3d.silo
    275: mesh1 domain 19
    276: Point: <0.2, 0.5, 0.566667>
    277: Node: 853
    278: Incident Zones: 705 605 706 606
    279: d: <zonal>
    280:     (705) = 0.327687
    281:     (605) = 0.320833
    282:     (706) = 0.295599
    283:     (606) = 0.287983
    284:  
    285:  
    286: Pick with material 2 turned off:
    287:  
    288: U: multi_rect3d.silo
    289: mesh1 domain 1
    290: Point: <0.2, 0.0666667, 0.0888889>
    291: Zone: 226
    292: Incident Nodes: 270 271 281 282 391 392 402 403
    293: d: <zonal> = 0.667304
    294:  
    295:  
    296: V: multi_rect3d.silo292: V: multi_rect3d.silo
    297: mesh1 domain 1
    298: Point: <0.216667, 0.0625, 0.0833333>
    299: Zone: 226
    300: Incident Nodes: 270 271 281 282 391 392 402 403
    301: d: <zonal> = 0.667304
    302:  
    303:  
    304: W: multi_rect3d.silo
    305: mesh1 domain 19
    306: Point: <0.2, 0.511111, 0.555556>
    307: Zone: 606
    308: Incident Nodes: 732 733 743 744 853 854 864 865
    309: d: <zonal> = 0.287983
    310:  
    311:  
    312: X: multi_rect3d.silo
    313: mesh1 domain 19
    314: Point: <0.216667, 0.5125, 0.55>
    315: Zone: 606
    316: Incident Nodes: 732 733 743 744 853 854 864 865
    317: d: <zonal> = 0.287983
    318:  
    319:  
    320: Y: multi_rect3d.silo
    321: mesh1 domain 1293: mesh1 domain 1
    322: Point: <0.2, 0.075, 0.1>294: Point: <0.2, 0.075, 0.1>
    323: Node: 402295: Node: 402
    324: Incident Zones: 335 325 225 235 336 326 226 236296: Incident Zones: 335 325 225 235 336 326 226 236
    325: d: <zonal>297: d: <zonal>
    326:     (335) = 0.646048298:     (335) = 0.646048
    327:     (325) = 0.66229299:     (325) = 0.66229
    328:     (225) = 0.682125300:     (225) = 0.682125
    329:     (235) = 0.666367301:     (235) = 0.666367
    330:     (336) = 0.63038302:     (336) = 0.63038
    331:     (326) = 0.647015303:     (326) = 0.647015
    332:     (226) = 0.667304304:     (226) = 0.667304
    333:     (236) = 0.651187305:     (236) = 0.651187
    334:  306:  
    335:  307:  
    336: Z: multi_rect3d.silo308: W: multi_rect3d.silo
    337: mesh1 domain 1
    338: Point: <0.2, 0.075, 0.1>
    339: Node: 402
    340: Incident Zones: 335 325 225 235 336 326 226 236
    341: d: <zonal>
    342:     (335) = 0.646048
    343:     (325) = 0.66229
    344:     (225) = 0.682125
    345:     (235) = 0.666367
    346:     (336) = 0.63038
    347:     (326) = 0.647015
    348:     (226) = 0.667304
    349:     (236) = 0.651187
    350:  
    351:  
    352: a: multi_rect3d.silo
    353: mesh1 domain 19309: mesh1 domain 19
    354: Point: <0.2, 0.5, 0.566667>310: Point: <0.2, 0.5, 0.566667>
    355: Node: 853311: Node: 853
    356: Incident Zones: 705 605 706 606312: Incident Zones: 705 605 706 606
    357: d: <zonal>313: d: <zonal>
    358:     (705) = 0.327687314:     (705) = 0.327687
    359:     (605) = 0.320833315:     (605) = 0.320833
    360:     (706) = 0.295599316:     (706) = 0.295599
    361:     (606) = 0.287983317:     (606) = 0.287983
    362:  318:  
    363:  319:  
    364: b: multi_rect3d.silo320: X: multi_rect3d.silo
    365: mesh1 domain 19321: mesh1 domain 19
    366: Point: <0.2, 0.5, 0.566667>322: Point: <0.2, 0.5, 0.566667>
    367: Node: 853323: Node: 853
    368: Incident Zones: 705 605 706 606324: Incident Zones: 705 605 706 606
    369: d: <zonal>325: d: <zonal>
    370:     (705) = 0.327687326:     (705) = 0.327687
    371:     (605) = 0.320833327:     (605) = 0.320833
    372:     (706) = 0.295599328:     (706) = 0.295599
    373:     (606) = 0.287983329:     (606) = 0.287983
    374:  330:  
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/PickAMR.html b/2023-11-08-22:00/pascal_trunk_serial/PickAMR.html new file mode 100644 index 000000000..0c0583804 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/PickAMR.html @@ -0,0 +1,1271 @@ +Results for test case PickAMR + +

    Results for test case PickAMR

    + + + + + +
    Legend
    2 Lines Added
    98 Lines Deleted
    13 Lines Changed

    +

    15 modifications, totalling 113 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1: Testing boxlib 2D, pseudocolor1: Testing boxlib 2D, pseudocolor
    2: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    3: Testing boxlib 2D, contour
    2:  4:  
    3: A: Header5: A: Header
    4: Mesh level 2 patch level2,patch2
    5: Point (R,Z): <0.0282891, 0.12232>
    6: Node: 654
    7: Incident Zones: 638 598 639 599
    8: density: <zonal>
    9:     (638) = 3.69789
    10:     (598) = 4.17764
    11:     (639) = 3.69759
    12:     (599) = 4.15408
    13:  
    14:  
    15: B: Header
    16: Mesh level 2 patch level2,patch2
    17: Point (R,Z): <0.028445, 0.122458>
    18: Zone: 639
    19: Incident Nodes: 654 655 695 696
    20: density: <zonal> = 3.69759
    21:  
    22:  
    23: C: Header
    24: Mesh level 2 patch level2,patch2
    25: Point (R,Z): <0.0282891, 0.121922>
    26: Node: 613
    27: Incident Zones: 598 558 599 559
    28: density: <zonal>
    29:     (598) = 4.17764
    30:     (558) = 4.16579
    31:     (599) = 4.15408
    32:     (559) = 4.1593
    33:  
    34:  
    35: D: Header
    36: Mesh level 2 patch level2,patch2
    37: Point (R,Z): <0.0280996, 0.122113>
    38: Zone: 598
    39: Incident Nodes: 612 613 653 654
    40: density: <zonal> = 4.17764
    41:  
    42:  
    43: E: Header
    44: Mesh level 2 patch level2,patch2
    45: Point (R,Z): <0.0251016, 0.11993>
    46: Node: 400
    47: Incident Zones: 390 350 391 351
    48: density: <zonal>
    49:     (390) = 5.09666
    50:     (350) = 5.20894
    51:     (391) = 5.11838
    52:     (351) = 5.0991
    53:  
    54:  
    55: F: Header
    56: Mesh level 2 patch level2,patch2
    57: Point (R,Z): <0.0249287, 0.119789>
    58: Zone: 350
    59: Incident Nodes: 358 359 399 400
    60: density: <zonal> = 5.20894
    61:  
    62:  
    63: G: Header
    64: Mesh level 1 patch level1,patch7
    65: Point (R,Z): <0.0270937, 0.122719>
    66: Node: 2840
    67: Incident Zones: 2793 2794
    68: density: <zonal>
    69:     (2793) = 3.29057
    70:     (2794) = 3.55829
    71:  
    72:  
    73: H: Header
    74: Mesh level 1 patch level1,patch7
    75: Point (R,Z): <0.0272833, 0.123024>
    76: Zone: 2794
    77: Incident Nodes: 2840 2841 2901 2902
    78: density: <zonal> = 3.55829
    79:  
    80:  
    81: I: Header
    82: Mesh level 1 patch level1,patch7
    83: Point (R,Z): <0.0286875, 0.118734>
    84: Node: 2537
    85: Incident Zones: 2496 2436
    86: density: <zonal>
    87:     (2496) = 4.62701
    88:     (2436) = 4.28138
    89:  
    90:  
    91: J: Header
    92: Mesh level 1 patch level1,patch7
    93: Point (R,Z): <0.0289473, 0.119098>
    94: Zone: 2496
    95: Incident Nodes: 2537 2538 2598 2599
    96: density: <zonal> = 4.62701
    97:  
    98:  
    99: Testing boxlib 2D, contour
    100:  
    101: K: Header
    102: Mesh level 1 patch level1,patch56: Mesh level 1 patch level1,patch5
    103: Point (R,Z): <0.0202973, 0.124521>7: Point (R,Z): <0.0202973, 0.124521>
    104: Zone: 258: Zone: 25
    105: Incident Nodes: 25 26 70 719: Incident Nodes: 25 26 70 71
    106: density: <zonal> = 2.8448110: density: <zonal> = 2.84481
    107:  11:  
    108:  12:  
    109: L: Header13: B: Header
    110: Mesh level 1 patch level1,patch514: Mesh level 1 patch level1,patch5
    111: Point (R,Z): <0.0199219, 0.124313>15: Point (R,Z): <0.0199219, 0.124313>
    112: Node: 2516: Node: 25
    113: Incident Zones: 24 2517: Incident Zones: 24 25
    114: density: <zonal>18: density: <zonal>
    115:     (24) = 2.9548619:     (24) = 2.95486
    116:     (25) = 2.8448120:     (25) = 2.84481
    117:  21:  
    118:  22:  
    119: M: Header23: C: Header
    120: Mesh level 1 patch level1,patch524: Mesh level 1 patch level1,patch5
    121: Point (R,Z): <0.0227024, 0.124842>25: Point (R,Z): <0.0227024, 0.124842>
    122: Zone: 2826: Zone: 28
    123: Incident Nodes: 28 29 73 7427: Incident Nodes: 28 29 73 74
    124: density: <zonal> = 2.6896628: density: <zonal> = 2.68966
    125:  29:  
    126:  30:  
    127: N: Header31: D: Header
    128: Mesh level 1 patch level1,patch532: Mesh level 1 patch level1,patch5
    129: Point (R,Z): <0.0223125, 0.125109>33: Point (R,Z): <0.0223125, 0.125109>
    130: Node: 7334: Node: 73
    131: Incident Zones: 71 27 72 2835: Incident Zones: 71 27 72 28
    132: density: <zonal>36: density: <zonal>
    133:     (71) = 1.9186537:     (71) = 1.91865
    134:     (27) = 2.6747738:     (27) = 2.67477
    135:     (72) = 1.9130739:     (72) = 1.91307
    136:     (28) = 2.6896640:     (28) = 2.68966
    137:  41:  
    138:  42:  
    139: O: Header43: E: Header
    140: Mesh level 2 patch level2,patch2844: Mesh level 2 patch level2,patch28
    141: Point (R,Z): <0.0310403, 0.113927>45: Point (R,Z): <0.0310403, 0.113927>
    142: Zone: 79346: Zone: 793
    143: Incident Nodes: 842 843 859 86047: Incident Nodes: 842 843 859 860
    144: density: <zonal> = 0.1911948: density: <zonal> = 0.19119
    145:  49:  
    146:  50:  
    147: P: Header51: F: Header
    148: Mesh level 2 patch level2,patch2852: Mesh level 2 patch level2,patch28
    149: Point (R,Z): <0.0310781, 0.113953>53: Point (R,Z): <0.0310781, 0.113953>
    150: Node: 86054: Node: 860
    151: Incident Zones: 809 793 810 79455: Incident Zones: 809 793 810 794
    152: density: <zonal>56: density: <zonal>
    153:     (809) = 0.3686357:     (809) = 0.36863
    154:     (793) = 0.1911958:     (793) = 0.19119
    155:     (810) = 0.3639459:     (810) = 0.36394
    156:     (794) = 0.18964260:     (794) = 0.189642
    157:  61:  
    158:  62:  
    159: Q: Header63: G: Header
    160: Mesh level 0 patch level0,patch064: Mesh level 0 patch level0,patch0
    161: Point (R,Z): <0.0353697, 0.133991>65: Point (R,Z): <0.0353697, 0.133991>
    162: Zone: 539866: Zone: 5398
    163: Incident Nodes: 5482 5483 5547 554867: Incident Nodes: 5482 5483 5547 5548
    164: density: <zonal> = 0.17987768: density: <zonal> = 0.179877
    165:  69:  
    166:  70:  
    167: R: Header71: H: Header
    168: Mesh level 0 patch level0,patch072: Mesh level 0 patch level0,patch0
    169: Point (R,Z): <0.0350625, 0.133875>73: Point (R,Z): <0.0350625, 0.133875>
    170: Node: 548274: Node: 5482
    171: Incident Zones: 5398 533475: Incident Zones: 5398 5334
    172: density: <zonal>76: density: <zonal>
    173:     (5398) = 0.17987777:     (5398) = 0.179877
    174:     (5334) = 0.34473578:     (5334) = 0.344735
    175:  79:  
    176:  80:  
    177: Testing boxlib 2D, Boundary81: Testing boxlib 2D, Boundary
    178:  82:  
    179: S: Header83: I: Header
    180: Mesh level 2 patch level2,patch3384: Mesh level 2 patch level2,patch33
    181: Point (R,Z): <0.0182644, 0.105451>85: Point (R,Z): <0.0182644, 0.105451>
    182: Zone: 71386: Zone: 713
    183: Incident Nodes: 757 758 774 77587: Incident Nodes: 757 758 774 775
    184: materials: mat188: materials: mat1
    185:  89:  
    186:  90:  
    187: T: Header91: J: Header
    188: Mesh level 2 patch level2,patch3392: Mesh level 2 patch level2,patch33
    189: Point (R,Z): <0.0183281, 0.105586>93: Point (R,Z): <0.0183281, 0.105586>
    190: Node: 77594: Node: 775
    191: Incident Zones: 729 713 730 71495: Incident Zones: 729 713 730 714
    192: materials:96: materials:
    193:     (729) mat197:     (729) mat1
    194:     (713) mat198:     (713) mat1
    195:     (730) mat199:     (730) mat1
    196:     (714) mat1100:     (714) mat1
    197:  101:  
    198:  102:  
    199: U: Header103: K: Header
    200: Mesh level 2 patch level2,patch28104: Mesh level 2 patch level2,patch28
    201: Point (R,Z): <0.0288625, 0.0950003>105: Point (R,Z): <0.0288625, 0.0950003>
    202: Zone: 36106: Zone: 36
    203: Incident Nodes: 38 39 55 56107: Incident Nodes: 38 39 55 56
    204: materials: mat4108: materials: mat4
    205:  109:  
    206:  110:  
    207: V: Header111: L: Header
    208: Mesh level 2 patch level2,patch28112: Mesh level 2 patch level2,patch28
    209: Point (R,Z): <0.0286875, 0.0948281>113: Point (R,Z): <0.0286875, 0.0948281>
    210: Node: 38114: Node: 38
    211: Incident Zones: 35 19 36 20115: Incident Zones: 35 19 36 20
    212: materials:116: materials:
    213:     (35) mat4117:     (35) mat4
    214:     (19) mat4118:     (19) mat4
    215:     (36) mat4119:     (36) mat4
    216:     (20) mat4120:     (20) mat4
    217:  121:  
    218:  122:  
    219: W: Header123: M: Header
    220: Mesh level 2 patch level2,patch33124: Mesh level 2 patch level2,patch33
    221: Point (R,Z): <0.0147844, 0.114794>125: Point (R,Z): <0.0147844, 0.114794>
    222: Zone: 1089126: Zone: 1089
    223: Incident Nodes: 1157 1158 1174 1175127: Incident Nodes: 1157 1158 1174 1175
    224: materials:128: materials:
    225:     mat1 = 0.929427129:     mat1 = 0.929427
    226:     mat4 = 0.0705727130:     mat4 = 0.0705727
    227:  131:  
    228:  132:  
    229: X: Header133: N: Header
    230: Mesh level 2 patch level2,patch33134: Mesh level 2 patch level2,patch33
    231: Point (R,Z): <0.0147422, 0.11475>135: Point (R,Z): <0.0147422, 0.11475>
    232: Node: 1157136: Node: 1157
    233: Incident Zones: 1088 1072 1089 1073137: Incident Zones: 1088 1072 1089 1073
    234: materials:138: materials:
    235:     (1088)139:     (1088)
    236:         mat1 = 0.00610821140:         mat1 = 0.00610821
    237:         mat3 = 0.0314769141:         mat3 = 0.0314769
    238:         mat4 = 0.962415142:         mat4 = 0.962415
    239:     (1072) mat3143:     (1072) mat3
    240:     (1089)144:     (1089)
    241:         mat1 = 0.929427145:         mat1 = 0.929427
    242:         mat4 = 0.0705727146:         mat4 = 0.0705727
    243:     (1073)147:     (1073)
    244:         mat1 = 0.0962816148:         mat1 = 0.0962816
    245:         mat3 = 0.87329149:         mat3 = 0.87329
    246:         mat4 = 0.030428150:         mat4 = 0.030428
    247:  151:  
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/PickBox.html b/2023-11-08-22:00/pascal_trunk_serial/PickBox.html new file mode 100644 index 000000000..04e30f9b6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/PickBox.html @@ -0,0 +1,546 @@ +Results for test case PickBox + +

    Results for test case PickBox

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    61 Lines Changed

    +

    5 modifications, totalling 61 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1:  1: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    2: A: rect2d.silo2: A: rect3d.silo
    3: quadmesh2d
    4: Point: <0.527778, 0.527778>
    5: Zone: 465
    6: Incident Nodes: 480 481 511 512
    7: d: <zonal> = 0.0235702
    8:  
    9:  
    10: B: rect2d.silo
    11: quadmesh2d
    12: Point: <0.533333, 0.533333>
    13: Node: 512
    14: Incident Zones: 495 465 496 466
    15: d: <zonal>
    16:     (495) = 0.0527046
    17:     (465) = 0.0235702
    18:     (496) = 0.0707107
    19:     (466) = 0.0527046
    20:  
    21:  
    22: C: rect2d.silo
    23: quadmesh2d
    24: Point: <0.527778, 0.527778>
    25: Zone: 465
    26: Incident Nodes: 480 481 511 512
    27:  
    28: D: rect2d.silo
    29: quadmesh2d
    30: Point: <0.533333, 0.533333>
    31: Node: 512
    32: Incident Zones: 495 465 496 466
    33:  
    34: E: rect3d.silo
    35: quadmesh3d3: quadmesh3d
    36: Point: <0.715556, 0.5, 0.822222>4: Point: <0.715556, 0.5, 0.822222>
    37: Zone: 294215: Zone: 29421
    38: Incident Nodes: 31145 31146 31176 31177 32416 32417 32447 324486: Incident Nodes: 31145 31146 31176 31177 32416 32417 32447 32448
    39: d: <zonal> = 0.3838997: d: <zonal> = 0.383899
    40:  8:  
    41:  9:  
    42: F: rect3d.silo10: B: rect3d.silo
    43: quadmesh3d11: quadmesh3d
    44: Point: <0.648889, 0.5, 0.0977778>12: Point: <0.648889, 0.5, 0.0977778>
    45: Zone: 301913: Zone: 3019
    46: Incident Nodes: 3181 3182 3212 3213 4452 4453 4483 448414: Incident Nodes: 3181 3182 3212 3213 4452 4453 4483 4484
    47: d: <zonal> = 0.44302115: d: <zonal> = 0.443021
    48:  16:  
    49:  17:  
    50: G: rect3d.silo18: C: rect3d.silo
    51: quadmesh3d19: quadmesh3d
    52: Point: <0.7, 0.5, 0.833333>20: Point: <0.7, 0.5, 0.833333>
    53: Node: 3241621: Node: 32416
    54: Incident Zones: 30620 30590 29390 29420 30621 30591 29391 2942122: Incident Zones: 30620 30590 29390 29420 30621 30591 29391 29421
    55: d: <zonal>23: d: <zonal>
    56:     (30620) = 0.39530724:     (30620) = 0.395307
    57:     (30590) = 0.39530725:     (30590) = 0.395307
    58:     (29390) = 0.36612226:     (29390) = 0.366122
    59:     (29420) = 0.36612227:     (29420) = 0.366122
    60:     (30621) = 0.41182628:     (30621) = 0.411826
    61:     (30591) = 0.41182629:     (30591) = 0.411826
    62:     (29391) = 0.38389930:     (29391) = 0.383899
    63:     (29421) = 0.38389931:     (29421) = 0.383899
    64:  32:  
    65:  33:  
    66: H: rect3d.silo34: D: rect3d.silo
    67: quadmesh3d35: quadmesh3d
    68: Point: <0.633333, 0.5, 0.1>36: Point: <0.633333, 0.5, 0.1>
    69: Node: 445237: Node: 4452
    70: Incident Zones: 4218 4188 2988 3018 4219 4189 2989 301938: Incident Zones: 4218 4188 2988 3018 4219 4189 2989 3019
    71: d: <zonal>39: d: <zonal>
    72:     (4218) = 0.40088940:     (4218) = 0.400889
    73:     (4188) = 0.40088941:     (4188) = 0.400889
    74:     (2988) = 0.43287242:     (2988) = 0.432872
    75:     (3018) = 0.43287243:     (3018) = 0.432872
    76:     (4219) = 0.41182644:     (4219) = 0.411826
    77:     (4189) = 0.41182645:     (4189) = 0.411826
    78:     (2989) = 0.44302146:     (2989) = 0.443021
    79:     (3019) = 0.44302147:     (3019) = 0.443021
    80:  48:  
    81:  49: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    82: I: rect3d.silo
    83: quadmesh3d
    84: Point: <0.715556, 0.5, 0.822222>
    85: Zone: 29391
    86: Incident Nodes: 31114 31115 31145 31146 32385 32386 32416 32417
    87:  
    88: J: rect3d.silo
    89: quadmesh3d
    90: Point: <0.648889, 0.5, 0.0977778>
    91: Zone: 2989
    92: Incident Nodes: 3150 3151 3181 3182 4421 4422 4452 4453
    93:  
    94: K: rect3d.silo
    95: quadmesh3d
    96: Point: <0.7, 0.5, 0.833333>
    97: Node: 32416
    98: Incident Zones: 30620 30590 29390 29420 30621 30591 29391 29421
    99:  
    100: L: rect3d.silo
    101: quadmesh3d
    102: Point: <0.633333, 0.5, 0.1>
    103: Node: 4452
    104: Incident Zones: 4218 4188 2988 3018 4219 4189 2989 3019
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/PickIndexSelect.html b/2023-11-08-22:00/pascal_trunk_serial/PickIndexSelect.html new file mode 100644 index 000000000..1d1c8eaca --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/PickIndexSelect.html @@ -0,0 +1,1026 @@ +Results for test case PickIndexSelect + +

    Results for test case PickIndexSelect

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    124 Lines Changed

    +

    13 modifications, totalling 124 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1: Pick on Index-selected 2D Mesh Plot1: Pick on Index-selected 2D Mesh Plot
    2:  2: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    3: A: rect2d.silo
    4: quadmesh2d
    5: Point: <0.0415832, 0.0424471>
    6: Zone: 31
    7: Incident Nodes: 32 33 63 64
    8:  
    9: B: rect2d.silo
    10: quadmesh2d
    11: Point: <0.0333333, 0.0333333>
    12: Node: 32
    13: Incident Zones: 30 0 31 1
    14:  
    15: Same Picks on Index-selected 2D Pseudocolor Plot3: Same Picks on Index-selected 2D Pseudocolor Plot
    16:  4: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    17: C: rect2d.silo
    18: quadmesh2d
    19: Point: <0.0415832, 0.0424471>
    20: Zone: 31
    21: Incident Nodes: 32 33 63 64
    22: u: <nodal>
    23:     (32) = -0.707107
    24:     (33) = -0.680451
    25:     (63) = -0.732794
    26:     (64) = -0.707107
    27:  
    28:  
    29: D: rect2d.silo
    30: quadmesh2d
    31: Point: <0.0333333, 0.0333333>
    32: Node: 32
    33: Incident Zones: 30 0 31 1
    34: u: <nodal> = -0.707107
    35:  
    36:  
    37: Changed stride of IndexSelect, 2D Mesh Plot picks5: Changed stride of IndexSelect, 2D Mesh Plot picks
    38:  6: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    39: E: rect2d.silo
    40: quadmesh2d
    41: Point: <0.0415832, 0.0424471>
    42: Zone: 31
    43: Incident Nodes: 32 33 63 64
    44:  
    45: F: rect2d.silo
    46: quadmesh2d
    47: Point: <0.0333333, 0.0333333>
    48: Node: 32
    49: Incident Zones: 30 0 31 1
    50:  
    51: Same picks 2D Pseudocolor Plot7: Same picks 2D Pseudocolor Plot
    52:  8: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    53: G: rect2d.silo
    54: quadmesh2d
    55: Point: <0.0415832, 0.0424471>
    56: Zone: 31
    57: Incident Nodes: 32 33 63 64
    58: u: <nodal>
    59:     (32) = -0.707107
    60:     (33) = -0.680451
    61:     (63) = -0.732794
    62:     (64) = -0.707107
    63:  
    64:  
    65: H: rect2d.silo
    66: quadmesh2d
    67: Point: <0.0333333, 0.0333333>
    68: Node: 32
    69: Incident Zones: 30 0 31 1
    70: u: <nodal> = -0.707107
    71:  
    72:  
    73: Index selected 3D Mesh Plot9: Index selected 3D Mesh Plot
    74:  10:  
    75: I: rect3d.silo11: A: rect3d.silo
    76: quadmesh3d12: quadmesh3d
    77: Point: <0, 0.164242, 0.412301>13: Point: <0, 0.164242, 0.412301>
    78: Zone: 1458014: Zone: 14580
    79: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 1674115: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 16741
    80:  16:  
    81: J: rect3d.silo17: B: rect3d.silo
    82: quadmesh3d18: quadmesh3d
    83: Point: <0, 0.2, 0.4>19: Point: <0, 0.2, 0.4>
    84: Node: 1550020: Node: 15500
    85: Incident Zones: 14640 14610 13410 1344021: Incident Zones: 14640 14610 13410 13440
    86:  22:  
    87: Same picks on 3D Pseudocolor Plot23: Same picks on 3D Pseudocolor Plot
    88:  24:  
    89: K: rect3d.silo25: C: rect3d.silo
    90: quadmesh3d26: quadmesh3d
    91: Point: <0, 0.164242, 0.412301>27: Point: <0, 0.164242, 0.412301>
    92: Zone: 1458028: Zone: 14580
    93: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 1674129: Incident Nodes: 15438 15439 15469 15470 16709 16710 16740 16741
    94: d: <zonal> = 0.59536730: d: <zonal> = 0.595367
    95:  31:  
    96:  32:  
    97: L: rect3d.silo33: D: rect3d.silo
    98: quadmesh3d34: quadmesh3d
    99: Point: <0, 0.2, 0.4>35: Point: <0, 0.2, 0.4>
    100: Node: 1550036: Node: 15500
    101: Incident Zones: 14640 14610 13410 1344037: Incident Zones: 14640 14610 13410 13440
    102: d: <zonal>38: d: <zonal>
    103:     (14640) = 0.56851739:     (14640) = 0.568517
    104:     (14610) = 0.5815640:     (14610) = 0.58156
    105:     (13410) = 0.58726441:     (13410) = 0.587264
    106:     (13440) = 0.5743542:     (13440) = 0.57435
    107:  43:  
    108:  44:  
    109: Sliced, Index-selected 3D Mesh Plot45: Sliced, Index-selected 3D Mesh Plot
    110:  46: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    111: M: rect3d.silo
    112: quadmesh3d
    113: Point: <0.378395, 0.378989, 0.5>
    114: Zone: 17261
    115: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
    116:  
    117: N: rect3d.silo
    118: quadmesh3d
    119: Point: <0.4, 0.4, 0.5>
    120: Node: 19573
    121: Incident Zones: 18491 18461 17261 17291 18492 18462 17262 17292
    122:  
    123: Same pickes on Sliced, Index-selected 3D Pseudocolor Plot47: Same pickes on Sliced, Index-selected 3D Pseudocolor Plot
    124:  48: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    125: O: rect3d.silo
    126: quadmesh3d
    127: Point: <0.378395, 0.378989, 0.5>
    128: Zone: 17261
    129: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
    130: d: <zonal> = 0.162927
    131:  
    132:  
    133: P: rect3d.silo
    134: quadmesh3d
    135: Point: <0.4, 0.4, 0.5>
    136: Node: 19573
    137: Incident Zones: 18491 18461 17261 17291 18492 18462 17262 17292
    138: d: <zonal>
    139:     (18491) = 0.146783
    140:     (18461) = 0.162927
    141:     (17261) = 0.162927
    142:     (17291) = 0.146783
    143:     (18492) = 0.121977
    144:     (18462) = 0.140991
    145:     (17262) = 0.140991
    146:     (17292) = 0.121977
    147:  
    148:  
    149: Same picks on Sliced, Index-selected 3D FilledBoundary Plot49: Same picks on Sliced, Index-selected 3D FilledBoundary Plot
    150: Stride changes back to 1 due to MIR, so should match Mesh results below50: Stride changes back to 1 due to MIR, so should match Mesh results below
    151:  51:  
    152: Q: rect3d.silo52: E: rect3d.silo
    153: quadmesh3d53: quadmesh3d
    154: Point: <0.378395, 0.378989, 0.5>54: Point: <0.378395, 0.378989, 0.5>
    155: Zone: 1726155: Zone: 17261
    156: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 1957356: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
    157: mat1: 757: mat1: 7
    158:  58:  
    159:  59:  
    160: R: rect3d.silo60: F: rect3d.silo
    161: quadmesh3d61: quadmesh3d
    162: Point: <0.366667, 0.375, 0.5>62: Point: <0.366667, 0.375, 0.5>
    163: Node: 1954163: Node: 19541
    164: Incident Zones: 18460 18430 17230 17260 18461 18431 17231 1726164: Incident Zones: 18460 18430 17230 17260 18461 18431 17231 17261
    165: mat1:65: mat1:
    166:     (18460)66:     (18460)
    167:         6 = 0.12767:         6 = 0.127
    168:         7 = 0.87368:         7 = 0.873
    169:     (18430)69:     (18430)
    170:         6 = 0.7770:         6 = 0.77
    171:         7 = 0.2371:         7 = 0.23
    172:     (17230)72:     (17230)
    173:         6 = 0.7873:         6 = 0.78
    174:         7 = 0.2274:         7 = 0.22
    175:     (17260)75:     (17260)
    176:         6 = 0.13576:         6 = 0.135
    177:         7 = 0.86577:         7 = 0.865
    178:     (18461) 778:     (18461) 7
    179:     (18431)79:     (18431)
    180:         6 = 0.00380:         6 = 0.003
    181:         7 = 0.99781:         7 = 0.997
    182:     (17231)82:     (17231)
    183:         6 = 0.00483:         6 = 0.004
    184:         7 = 0.99684:         7 = 0.996
    185:     (17261) 785:     (17261) 7
    186:  86:  
    187:  87:  
    188: Same picks on Sliced, 3D Mesh Plot88: Same picks on Sliced, 3D Mesh Plot
    189:  89: Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    190: S: rect3d.silo
    191: quadmesh3d
    192: Point: <0.378395, 0.378989, 0.5>
    193: Zone: 17261
    194: Incident Nodes: 18270 18271 18301 18302 19541 19542 19572 19573
    195:  
    196: T: rect3d.silo
    197: quadmesh3d
    198: Point: <0.366667, 0.375, 0.5>
    199: Node: 19541
    200: Incident Zones: 18460 18430 17230 17260 18461 18431 17231 17261
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/PickSamrai_01.html b/2023-11-08-22:00/pascal_trunk_serial/PickSamrai_01.html new file mode 100644 index 000000000..28ef4d54c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/PickSamrai_01.html @@ -0,0 +1,1426 @@ +Results for test case PickSamrai_01 + +

    Results for test case PickSamrai_01

    + + + + + +
    Legend
    16 Lines Added
    122 Lines Deleted
    42 Lines Changed

    +

    16 modifications, totalling 180 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1:  1:  
    2: Testing sliced SAMRAI:2: Testing sliced SAMRAI:
    3:  3: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    4: A: summary.samrai timestep 04: A: summary.samrai timestep 0
    5: amr_mesh level 2 patch level2,patch0
    6: Point: <5.74804, 7.82107, 4>
    7: Zone: 1863
    8: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
    9:  
    10: B: summary.samrai timestep 0
    11: amr_mesh level 2 patch level2,patch05: amr_mesh level 2 patch level2,patch0
    12: Point: <5.74804, 7.82107, 4>6: Point: <5.74804, 7.82107, 4>
    13: Zone: 18637: Zone: 1863
    14: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 24428: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
    15: Primitive Var _number_0: <zonal> = 809: Primitive Var _number_0: <zonal> = 80
    16:  10:  
    11: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    12: B: summary.samrai timestep 0
    13: amr_mesh level 2 patch level2,patch0
    14: Point: <6, 8, 4>
    15: Node: 2442
    16: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
    17: Primitive Var _number_0: <zonal>
    18:     (2205) = 10
    19:     (2187) = 80
    20:     (1863) = 80
    21:     (1881) = 10
    22:     (2206) = 10
    23:     (2188) = 80
    24:     (1864) = 10
    25:     (1882) = 10
    17:  26:  
    27: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    18: C: summary.samrai timestep 028: C: summary.samrai timestep 0
    19: amr_mesh level 2 patch level2,patch029: amr_mesh level 2 patch level2,patch0
    20: Point: <5.74804, 7.82107, 4>30: Point: <5.5, 7.5, 4>
    31: Node: 2422
    32: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
    33: Primitive Var _number_0: <zonal>
    34:     (2186) = 80
    35:     (2168) = 80
    36:     (1844) = 80
    37:     (1862) = 80
    38:     (2187) = 80
    39:     (2169) = 80
    40:     (1845) = 80
    41:     (1863) = 80
    42:  
    43:  
    44: D: summary.samrai timestep 0
    45: amr_mesh level 2 patch level2,patch0
    46: Point: <5.75, 7.75, 3.75>
    21: Zone: 186347: Zone: 1863
    22: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 244248: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
    23:  49:  
    24: D: summary.samrai timestep 050: E: summary.samrai timestep 0
    25: amr_mesh level 2 patch level2,patch051: amr_mesh level 2 patch level2,patch0
    26: Point: <5.74804, 7.82107, 4>52: Point: <5.75, 7.75, 3.75>
    27: Zone: 186353: Zone: 1863
    28: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 244254: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
    29: Primitive Var _number_0: <zonal> = 8055: Primitive Var _number_0: <zonal> = 80
    30:  56:  
    31:  57:  
    32: E: summary.samrai timestep 058: F: summary.samrai timestep 0
    59: amr_mesh level 2 patch level2,patch0
    60: Point: <5.75, 7.75, 3.75>
    61: Zone: 1863
    62: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
    63:  
    64: G: summary.samrai timestep 0
    65: amr_mesh level 2 patch level2,patch0
    66: Point: <5.75, 7.75, 3.75>
    67: Zone: 1863
    68: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
    69: Primitive Var _number_0: <zonal> = 80
    70:  
    71:  
    72: H: summary.samrai timestep 0
    33: amr_mesh level 2 patch level2,patch073: amr_mesh level 2 patch level2,patch0
    34: Point: <6, 8, 4>74: Point: <6, 8, 4>
    35: Node: 244275: Node: 2442
    36: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 188276: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
    37:  77:  
    38: F: summary.samrai timestep 078: I: summary.samrai timestep 0
    39: amr_mesh level 2 patch level2,patch079: amr_mesh level 2 patch level2,patch0
    40: Point: <6, 8, 4>80: Point: <6, 8, 4>
    41: Node: 244281: Node: 2442
    42: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 188282: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
    43: Primitive Var _number_0: <zonal>83: Primitive Var _number_0: <zonal>
    44:     (2205) = 1084:     (2205) = 10
    45:     (2187) = 8085:     (2187) = 80
    46:     (1863) = 8086:     (1863) = 80
    47:     (1881) = 1087:     (1881) = 10
    48:     (2206) = 1088:     (2206) = 10
    49:     (2188) = 8089:     (2188) = 80
    50:     (1864) = 1090:     (1864) = 10
    51:     (1882) = 1091:     (1882) = 10
    52:  92:  
    53:  93:  
    54: G: summary.samrai timestep 094: J: summary.samrai timestep 0
    55: amr_mesh level 2 patch level2,patch095: amr_mesh level 2 patch level2,patch0
    56: Point: <6, 8, 4>96: Point: <6, 8, 4>
    57: Node: 244297: Node: 2442
    58: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 188298: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
    59:  99:  
    60: H: summary.samrai timestep 0100: K: summary.samrai timestep 0
    61: amr_mesh level 2 patch level2,patch0101: amr_mesh level 2 patch level2,patch0
    62: Point: <6, 8, 4>102: Point: <6, 8, 4>
    63: Node: 2442103: Node: 2442
    64: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882104: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
    65: Primitive Var _number_0: <zonal>105: Primitive Var _number_0: <zonal>
    66:     (2205) = 10106:     (2205) = 10
    67:     (2187) = 80107:     (2187) = 80
    68:     (1863) = 80108:     (1863) = 80
    69:     (1881) = 10109:     (1881) = 10
    70:     (2206) = 10110:     (2206) = 10
    71:     (2188) = 80111:     (2188) = 80
    72:     (1864) = 10112:     (1864) = 10
    73:     (1882) = 10113:     (1882) = 10
    74:  114:  
    75:  115:  
    76: I: summary.samrai timestep 0116: L: summary.samrai timestep 0
    77: amr_mesh level 2 patch level2,patch0117: amr_mesh level 2 patch level2,patch0
    78: Point: <5.5, 7.5, 4>118: Point: <5.5, 7.5, 4>
    79: Node: 2422119: Node: 2422
    80: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863120: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
    81:  121:  
    82: J: summary.samrai timestep 0122: M: summary.samrai timestep 0
    83: amr_mesh level 2 patch level2,patch0123: amr_mesh level 2 patch level2,patch0
    84: Point: <5.5, 7.5, 4>124: Point: <5.5, 7.5, 4>
    85: Node: 2422125: Node: 2422
    86: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863126: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
    87: Primitive Var _number_0: <zonal>127: Primitive Var _number_0: <zonal>
    88:     (2186) = 80128:     (2186) = 80
    89:     (2168) = 80129:     (2168) = 80
    90:     (1844) = 80130:     (1844) = 80
    91:     (1862) = 80131:     (1862) = 80
    92:     (2187) = 80132:     (2187) = 80
    93:     (2169) = 80133:     (2169) = 80
    94:     (1845) = 80134:     (1845) = 80
    95:     (1863) = 80135:     (1863) = 80
    96:  136:  
    97:  137:  
    98: K: summary.samrai timestep 0138: N: summary.samrai timestep 0
    99: amr_mesh level 2 patch level2,patch0139: amr_mesh level 2 patch level2,patch0
    100: Point: <5.5, 7.5, 4>140: Point: <5.5, 7.5, 4>
    101: Node: 2422141: Node: 2422
    102: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863142: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
    103:  143:  
    104: L: summary.samrai timestep 0144: O: summary.samrai timestep 0
    105: amr_mesh level 2 patch level2,patch0145: amr_mesh level 2 patch level2,patch0
    106: Point: <5.5, 7.5, 4>146: Point: <5.5, 7.5, 4>
    107: Node: 2422147: Node: 2422
    108: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863148: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
    109: Primitive Var _number_0: <zonal>149: Primitive Var _number_0: <zonal>
    110:     (2186) = 80150:     (2186) = 80
    111:     (2168) = 80151:     (2168) = 80
    112:     (1844) = 80152:     (1844) = 80
    113:     (1862) = 80153:     (1862) = 80
    114:     (2187) = 80154:     (2187) = 80
    115:     (2169) = 80155:     (2169) = 80
    116:     (1845) = 80156:     (1845) = 80
    117:     (1863) = 80157:     (1863) = 80
    118:  158:  
    119:  
    120: M: summary.samrai timestep 0
    121: amr_mesh level 2 patch level2,patch0
    122: Point: <5.75, 7.75, 3.75>
    123: Zone: 1863
    124: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
    125:  
    126: N: summary.samrai timestep 0
    127: amr_mesh level 2 patch level2,patch0
    128: Point: <5.75, 7.75, 3.75>
    129: Zone: 1863
    130: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
    131: Primitive Var _number_0: <zonal> = 80
    132:  
    133:  
    134: O: summary.samrai timestep 0
    135: amr_mesh level 2 patch level2,patch0
    136: Point: <5.75, 7.75, 3.75>
    137: Zone: 1863
    138: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
    139:  
    140: P: summary.samrai timestep 0
    141: amr_mesh level 2 patch level2,patch0
    142: Point: <5.75, 7.75, 3.75>
    143: Zone: 1863
    144: Incident Nodes: 2061 2062 2080 2081 2422 2423 2441 2442
    145: Primitive Var _number_0: <zonal> = 80
    146:  
    147:  
    148: Q: summary.samrai timestep 0
    149: amr_mesh level 2 patch level2,patch0
    150: Point: <6, 8, 4>
    151: Node: 2442
    152: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
    153:  
    154: R: summary.samrai timestep 0
    155: amr_mesh level 2 patch level2,patch0
    156: Point: <6, 8, 4>
    157: Node: 2442
    158: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
    159: Primitive Var _number_0: <zonal>
    160:     (2205) = 10
    161:     (2187) = 80
    162:     (1863) = 80
    163:     (1881) = 10
    164:     (2206) = 10
    165:     (2188) = 80
    166:     (1864) = 10
    167:     (1882) = 10
    168:  
    169:  
    170: S: summary.samrai timestep 0
    171: amr_mesh level 2 patch level2,patch0
    172: Point: <6, 8, 4>
    173: Node: 2442
    174: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
    175:  
    176: T: summary.samrai timestep 0
    177: amr_mesh level 2 patch level2,patch0
    178: Point: <6, 8, 4>
    179: Node: 2442
    180: Incident Zones: 2205 2187 1863 1881 2206 2188 1864 1882
    181: Primitive Var _number_0: <zonal>
    182:     (2205) = 10
    183:     (2187) = 80
    184:     (1863) = 80
    185:     (1881) = 10
    186:     (2206) = 10
    187:     (2188) = 80
    188:     (1864) = 10
    189:     (1882) = 10
    190:  
    191:  
    192: U: summary.samrai timestep 0
    193: amr_mesh level 2 patch level2,patch0
    194: Point: <5.5, 7.5, 4>
    195: Node: 2422
    196: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
    197:  
    198: V: summary.samrai timestep 0
    199: amr_mesh level 2 patch level2,patch0
    200: Point: <5.5, 7.5, 4>
    201: Node: 2422
    202: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
    203: Primitive Var _number_0: <zonal>
    204:     (2186) = 80
    205:     (2168) = 80
    206:     (1844) = 80
    207:     (1862) = 80
    208:     (2187) = 80
    209:     (2169) = 80
    210:     (1845) = 80
    211:     (1863) = 80
    212:  
    213:  
    214: W: summary.samrai timestep 0
    215: amr_mesh level 2 patch level2,patch0
    216: Point: <5.5, 7.5, 4>
    217: Node: 2422
    218: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
    219:  
    220: X: summary.samrai timestep 0
    221: amr_mesh level 2 patch level2,patch0
    222: Point: <5.5, 7.5, 4>
    223: Node: 2422
    224: Incident Zones: 2186 2168 1844 1862 2187 2169 1845 1863
    225: Primitive Var _number_0: <zonal>
    226:     (2186) = 80
    227:     (2168) = 80
    228:     (1844) = 80
    229:     (1862) = 80
    230:     (2187) = 80
    231:     (2169) = 80
    232:     (1845) = 80
    233:     (1863) = 80
    234:  
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/PickSamrai_05.html b/2023-11-08-22:00/pascal_trunk_serial/PickSamrai_05.html new file mode 100644 index 000000000..b69f32b07 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/PickSamrai_05.html @@ -0,0 +1,676 @@ +Results for test case PickSamrai_05 + +

    Results for test case PickSamrai_05

    + + + + + +
    Legend
    0 Lines Added
    20 Lines Deleted
    75 Lines Changed

    +

    6 modifications, totalling 95 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1:  1:  
    2: Testing front:2: Testing front:
    3:  3: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    4: A: summary.samrai timestep 04: A: summary.samrai timestep 0
    5: amr_mesh level 1 patch level1,patch4
    6: Point: <0.803403, 0.553261>
    7: Zone: 95
    8: Incident Nodes: 106 107 115 116
    9:  
    10: B: summary.samrai timestep 0
    11: amr_mesh level 1 patch level1,patch4
    12: Point: <0.803403, 0.553261>
    13: Zone: 95
    14: Incident Nodes: 106 107 115 116
    15:  
    16: C: summary.samrai timestep 0
    17: amr_mesh level 1 patch level1,patch45: amr_mesh level 1 patch level1,patch4
    18: Point: <0.803403, 0.553261>6: Point: <0.803403, 0.553261>
    19: Zone: 957: Zone: 95
    20: Incident Nodes: 106 107 115 1168: Incident Nodes: 106 107 115 116
    21: Distance to front: <nodal>9: Distance to front: <nodal>
    22:     (106) = 0.32026810:     (106) = 0.320268
    23:     (107) = 0.35151811:     (107) = 0.351518
    24:     (115) = 0.35778712:     (115) = 0.357787
    25:     (116) = 0.38903713:     (116) = 0.389037
    26:  14:  
    27:  15: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    28: D: summary.samrai timestep 016: B: summary.samrai timestep 0
    29: amr_mesh level 1 patch level1,patch4
    30: Point: <0.803403, 0.553261>
    31: Zone: 95
    32: Incident Nodes: 106 107 115 116
    33: Distance to front: <nodal>
    34:     (106) = 0.320268
    35:     (107) = 0.351518
    36:     (115) = 0.357787
    37:     (116) = 0.389037
    38:  
    39:  
    40: E: summary.samrai timestep 0
    41: amr_mesh level 1 patch level1,patch4
    42: Point: <0.78125, 0.5625>
    43: Node: 115
    44: Incident Zones: 94 95
    45:  
    46: F: summary.samrai timestep 0
    47: amr_mesh level 1 patch level1,patch4
    48: Point: <0.78125, 0.5625>
    49: Node: 115
    50: Incident Zones: 94 95
    51:  
    52: G: summary.samrai timestep 0
    53: amr_mesh level 1 patch level1,patch417: amr_mesh level 1 patch level1,patch4
    54: Point: <0.78125, 0.5625>18: Point: <0.78125, 0.5625>
    55: Node: 11519: Node: 115
    56: Incident Zones: 94 9520: Incident Zones: 94 95
    57: Distance to front: <nodal> = 0.35778721: Distance to front: <nodal> = 0.357787
    58:  22:  
    59:  23: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    60: H: summary.samrai timestep 024: C: summary.samrai timestep 0
    61: amr_mesh level 1 patch level1,patch4
    62: Point: <0.78125, 0.5625>
    63: Node: 115
    64: Incident Zones: 94 95
    65: Distance to front: <nodal> = 0.357787
    66:  
    67:  
    68: I: summary.samrai timestep 0
    69: amr_mesh level 0 patch level0,patch0
    70: Point: <0.803403, 0.569949>
    71: Zone: 156
    72: Incident Nodes: 165 166 182 183
    73:  
    74: J: summary.samrai timestep 0
    75: amr_mesh level 0 patch level0,patch0
    76: Point: <0.803403, 0.569949>
    77: Zone: 156
    78: Incident Nodes: 165 166 182 183
    79:  
    80: K: summary.samrai timestep 0
    81: amr_mesh level 0 patch level0,patch025: amr_mesh level 0 patch level0,patch0
    82: Point: <0.803403, 0.569949>26: Point: <0.803403, 0.569949>
    83: Zone: 15627: Zone: 156
    84: Incident Nodes: 165 166 182 18328: Incident Nodes: 165 166 182 183
    85: Distance to front: <nodal>29: Distance to front: <nodal>
    86:     (165) = 0.32653730:     (165) = 0.326537
    87:     (166) = 0.38903731:     (166) = 0.389037
    88:     (182) = 0.39142132:     (182) = 0.391421
    89:     (183) = 0.45392133:     (183) = 0.453921
    90:  34:  
    91:  35: Chosen pick did not intersect surface.Chosen pick did not intersect surface.Chosen pick did not intersect surface.
    92: L: summary.samrai timestep 036: D: summary.samrai timestep 0
    93: amr_mesh level 0 patch level0,patch0
    94: Point: <0.803403, 0.569949>
    95: Zone: 156
    96: Incident Nodes: 165 166 182 183
    97: Distance to front: <nodal>
    98:     (165) = 0.326537
    99:     (166) = 0.389037
    100:     (182) = 0.391421
    101:     (183) = 0.453921
    102:  
    103:  
    104: M: summary.samrai timestep 0
    105: amr_mesh level 0 patch level0,patch0
    106: Point: <0.8125, 0.5625>
    107: Node: 166
    108: Incident Zones: 156 157 141
    109:  
    110: N: summary.samrai timestep 0
    111: amr_mesh level 0 patch level0,patch0
    112: Point: <0.8125, 0.5625>
    113: Node: 166
    114: Incident Zones: 156 157 141
    115:  
    116: O: summary.samrai timestep 0
    117: amr_mesh level 0 patch level0,patch037: amr_mesh level 0 patch level0,patch0
    118: Point: <0.8125, 0.5625>38: Point: <0.8125, 0.5625>
    119: Node: 16639: Node: 166
    120: Incident Zones: 156 157 14140: Incident Zones: 156 157 141
    121: Distance to front: <nodal> = 0.38903741: Distance to front: <nodal> = 0.389037
    122:  42:  
    123:  
    124: P: summary.samrai timestep 0
    125: amr_mesh level 0 patch level0,patch0
    126: Point: <0.8125, 0.5625>
    127: Node: 166
    128: Incident Zones: 156 157 141
    129: Distance to front: <nodal> = 0.389037
    130:  
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/avg_value_02.html b/2023-11-08-22:00/pascal_trunk_serial/avg_value_02.html new file mode 100644 index 000000000..4bee43e4e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/avg_value_02.html @@ -0,0 +1,31 @@ +Results for test case avg_value_02 + +

    Results for test case avg_value_02

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    1 Lines Changed

    +

    1 modifications, totalling 1 lines

    + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1: The average value of vel is 4.06619e-17, -1.2443e-17, 01: The average value of vel is -1.62203e-17, -1.2443e-17, 0
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_bigdata_01.png b/2023-11-08-22:00/pascal_trunk_serial/c_bigdata_01.png new file mode 100644 index 0000000000000000000000000000000000000000..7978742f7abc9ce28a73723bdff97126f4e4b1d1 GIT binary patch literal 929 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tH~PZ!6KiaBqu9^`Fc;9)lG zx>5i1QyZ%vQ*~2~-^{zV4d){H8}6m=(;O!rxftiqj!PC{xWt~$( F69DDi3{?OC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_bigdata_01_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_bigdata_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8160cc8350447b69c4375da54cdab3e3d5ecc407 GIT binary patch literal 405 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 b;l|q$YmM>vo?py%%Oc3h9*22^_PO;R+g-aD literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..336f09076dd8955e0665900f0df2a1ad6a0d67d8 GIT binary patch literal 2432 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_blueprint_rz_cyl_uniform.root_plot_revolved_to_3D.png b/2023-11-08-22:00/pascal_trunk_serial/c_blueprint_rz_cyl_uniform.root_plot_revolved_to_3D.png new file mode 100644 index 0000000000000000000000000000000000000000..be224c1dc381beafcb4250a741335d7a839f1d0c GIT binary patch literal 911 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIZPZ!6KiaBpD8!|E|@EkBW zu>ZNQ8@~{1ZB_a+hPmPF2j2T|7z#U`X%R41JTl504TsT0KsYnxFfKjF8XC20$~s_1 OWAJqKb6Mw<&;$T_;1Es# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_blueprint_rz_cyl_uniform.root_plot_revolved_to_3D_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_blueprint_rz_cyl_uniform.root_plot_revolved_to_3D_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a5435f278bc5795ed2ef92f67fbaa63561454408 GIT binary patch literal 289 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 U6_B`A4vHCowy;H3BW}e04+-}&MgRZ+ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_legends_07_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_legends_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cfa75bf78cb5af270ffcad90e5971306c1f6fdb5 GIT binary patch literal 5243 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

    1o?-OA#s<8}-R^H-*jf5qz2@+aRyTkT$(0 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 PcuhkEq+I^W=EMI2J@7N) literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_ops_cart_proj_1_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_ops_cart_proj_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..87d20b18c598a1d778c2b9e6333fe7c22aa5da43 GIT binary patch literal 2620 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 PFMzy^igb;n>9_v_@bX}Y literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_ops_cart_proj_3_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_ops_cart_proj_3_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0b63c862304bd955e83103b29357c1681e9a40c6 GIT binary patch literal 3924 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_ops_dualmesh_mesh_plot_2d_01.png b/2023-11-08-22:00/pascal_trunk_serial/c_ops_dualmesh_mesh_plot_2d_01.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d59dc37937b7b654da4a1cb34c1a09f17a922a GIT binary patch literal 1507 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_stuo-U3d6?5L+Hk>4DF2L%z z_FaAYsfOhbW^}!BPo0%}(4o*!cE0`oy1&1;U;K%cXZZKtg~L$L$)`m?Sn&uh=EjE{ z^>uYVK6TbNjbs%6NY;t{4}Sk^f6bqAwfCPNEu24pe!cv?BPkP~Yru_|{b$iu*{7$U z)W+F-Db7_+FG}BZv{)obsbvO-qMB2OZ{5XPeV^mTik`X6`xP-CnmY_leItpKTR=a6fE3 zsULMaaG%e;=SQ9GubUOAm8(VDxPxp3YE^2v@kD&>Ta9>#%d@2|CtFX}owpe7{hUwT z*UF~oPySx{@xuA7y>m{^Jt=lR5TX_60JER2+196~pZvY2;>Gh@Zs(qyOX(gC-o{7( zYW43QZ-)o+-?)pz#it`Qf=9iLmYr|cAAiXIKp%Ih2QQ6q6^j%p_|5JfEE}>$H-0*> P@MiFI^>bP0l+XkKSs|7t literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_ops_dualmesh_mesh_plot_2d_01_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_ops_dualmesh_mesh_plot_2d_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd93c4f44bfc8286133cbe58691d2e6ec501482 GIT binary patch literal 545 zcmeAS@N?(olHy`uVBq!ia0vp^DIme!{lb=*clHaG zSWFW*F63o(ZGG*%zq9|Iy8gPrLD;{Y?{E*SzW0Nm11Pt;8L9;?%wqPGXxj;SkREiwq6T-G2M~@7PmjzLVXj z73b}YX%m=tK3#Kn-1_v*MxE!=EuYr}E{!>*VmH6kZoYi~aRZ+3zxPhDmFusZcb-e} zOYQqPuXnBMIQz3k?0#GD=RfmJZBsZEy*VPCP6#L~W99@*Fejux2UU&eLK`um@0#N7o(J%gvKpUXO@geCwF751Y5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_05.png b/2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_05.png new file mode 100644 index 0000000000000000000000000000000000000000..1b14fe025df8a787d9c33885ac6207f535179598 GIT binary patch literal 61695 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_05_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..92fbf3da678e1af88781536114cbf7bea9b21910 GIT binary patch literal 15071 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 O0000J-WMN0>T8rfrzw%v~+h#cQg3! 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 T;md&200000NkvXXu0mjf4shFw literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_10.png b/2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_10.png new file mode 100644 index 0000000000000000000000000000000000000000..d59728b43f3d0ad60bf2d49d56691e65c37f38ea GIT binary patch literal 911 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIZPZ!6KiaBpD8!|E|@Eq9C zSbyHxjbDhhwkoZx;oMs02jyxlGdLB~oH}L-B#kmh!(lWL5Y7zW7`Ey$hi@%ed;*x! O7(8A5T-G@yGywonlqt^u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_10_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_pixeldata_0_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecece5e2f8812a41d4efa801d1572cf0886d478 GIT binary patch literal 289 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ú}ULJ9gAChS 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 &99I0=Cs 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 B(xdU%O670Dyo1fQSIFI7N7N{Z~)hhk!i& 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_volumeOpacity_05.png b/2023-11-08-22:00/pascal_trunk_serial/c_volumeOpacity_05.png new file mode 100644 index 0000000000000000000000000000000000000000..e7e7fefea3fc65fa04aaf426a5990ce01baf253a GIT binary patch literal 1926 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_pLtPZ!6KiaBrZ`g%`&EqDB5 zcIK-~rw(-Kn%u})#9pn`WMP&g@WsH3edA(|vV6siJK7oF*=Bh)Pik>ww^oSJLhs^al~s4`;vOQ=A)m!h3QRPe|^{g?MX}H){84FSKZ6-W4Ewk zOQ*mg7mh@w76U=2861i}Edpvz9Fz#(nALVpPEO9Q^3#(K9}3FLzhAj>rIDHa*zx1u zn$_Rl>@0ffm7o89neXghzkb=({rU0o@^V@0vNv~j7FSN=UG1K1otU2fe6f3f+53C8 z=H})G1|NQWe0=or=g*&`x98p6UH<;&=JfmfYJWdDIk~T|@8{2-sSyTi%z9lbetdW+ zZJw8Nf8XAywS7H3Z*FZ}J>}Ee+uLWG=dX+0ylg2L1g(5?fB%1==<921qvx3(UKR9l zewAW&C%ZAfyj{#Ke~#60lbdILeSO^@2>kr^)%^T)sFhpVEN4gYbHBA=vuDn%{QvLo z=jZ3o&$r+2qumzz?7!5RlG0LHn~Du#tEUD%d-m+y9LvpRZ*R4>wgxZv(>>M!&YBk7dw0Ye0gbUV6fcWq$3ul+$_lved^$uzrVl# ze=hidy_Yxb*s)`FH9rE@U%!3(ws?K=vs+uUZEbBYU%q_2Uw(i2`+G-@xGW8tIcLtC zS+icfd^vN*j2qi>Z$CRbdwS;A4O}MMg!ff`e)i(x;^Td?zyC=a*Vfj$_sIaQo;!E$ z@9*!|hpp~ro_+N3-o1OdTK=!wIJe;OvEJ?Z_y2u*>J5y96DLjp!x*J@V-`r3oamHbWeQFah?L;JBZ{e4-`SH-B{=a>l#iOUXCP)0B z=_(>w@Z0zA`j@R91%#+ z++E+Uny8K?Wovz{+S|BUd+L9SZ;#u}KmBB|R$Kzf2feYvOy1|fwrw!wom>0y(NXW| zdcD29d#k^%+r7KGs;a7}sOa)C->F`y1qB5k=e)kYzW(2zpI=^HK79D_eEa%!VXHT9 z-rU{4+<$&v=0w{+vyV-B@&3KMtnA#GGhe=VF=O^@X$grJuU=*4=DvOVw)WSTmyaxE zWkETh;_t7ok0#%|dGme$`uP2EZTgI1+m0#a9!-At?%n%-U_y`kwVol&;&LEIaVuNmS^l(bIX8{0tZrStT>S3N z&TrqoC8;p`X4V;e2BwgG`}Qfj_ubiBUH);eo6&`qXY9sHr(C;sZQHhO@5848MOc8T zv3M>U6^jPsILBJ-JoE}(JvC~rO+`T6|GgnvOM^W1JJQyA>Nli?Xr*SXm=d%uPIr6W z)O+`U`RD4tszaxefU#@+u&d-}k)({y(kb)nwCeu^0u?Qt5?{Abc%4VtA<>r?78X5n zu`GPF-aP-V7ErhS|DJW7X`!#aR#owutO?Uzym;vpBZ~;XIU4)_hIwi3{})wb9Ij-o z*m9FIeAUrvq3Qb5o!d{Hx1SyqBd{)n%~*S?{Jhm|(-%`(P!bFc>X*$U$;xm3N9P@X VCl){BI+$s6{Vurpu3YfDo=__N@N;qVC6!GF2lm6Nj>#x+Y-2Q&U9Ti5Pn;^YDveJ zmsfwNCs!YnaGd}6wp_ww1F?pU3_Yv~It+TW*dG6Cm*1o%I;Wo&?TlKx zNW;p;rswgEYX$2vk9?}N?|ZyRW66}}gA1;|ZcWU{HexsBb6#6I@44rsih0wQWrl|K ze4Y0FTmP18RaSGwTo+CW^77PdRsE>153igT9-0c$A2!V} zZQ~4W)pO_C=BfMnwM_Z{<8A$N!NoeKXV0D=spjur@1ZF#cjR2(+JiAyEO<8S?B4fJ zwC%5kP@sy<`D-D4S@SnmdyvSjk5l3g)c|J-ZV*P7nB|Nq;kN$wYmOoZ(8 zJAHf4?%%cUvdP+P`&+-+uHw4}H8PrRU_P9J~3~OZP_T z%$q;|vdPt`&k{9HKhC{${xK^*IM%R4q=mS*rs3SKZtjIs-Ui+)e0O%=NtZqQW*fOx#ib(M(7p4GboXSCkiaaQ(dT@ Z!Petn4FA+qA;2Wh;OXk;vd$@?2>^8%Vg3LB literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_volume_01.png b/2023-11-08-22:00/pascal_trunk_serial/c_volume_01.png new file mode 100644 index 0000000000000000000000000000000000000000..d9b261c2adcde3d025faca879cc6748483023c11 GIT binary patch literal 127840 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

    RqyCXG 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 RaPR;C002ovPDHLkV1ntWVgvvH literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_volume_01_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_volume_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4a131750218435757f8ba20f65a5295b3672bb GIT binary patch literal 16496 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 z zS>i2S&&7sGL7uQINi36s<(9VNct+VUPPsY58den=d3;G!j;8DyuFvUvPS$u&)iTLQ zJ+tw!s@t3{l$)nfb_dosRCubT}_OoUCLMA%u7Vl|0x}GAt z+Mj3W8Zys~1-pjh1)Cl734O$RxD;<2Gj~q-m-LR@@B5jWdMM0X9=Ul(RdX2G^ zC0z%G^9x2}MiUgej@1^MV%-437)w4gZ7*H#zwXQ5^R-|7@9|GP|C>FfMLz$kum8`h zYWY(?@;A>{I6Djkl?}!am2E|l;vM6RwgcE!WC`1fTW+g6 zMashqfLn*0uescEIK?~OIN|z&!zr&n;b6*JZjgB%UlJqt_FdtWP0hSuRnhg7j`^6U zW?Yo)A`i~E_XN2TG{neeOOZ2~4AQEmrD+FlIY}^OAw1sh>>I@CY5F> zU-^aq-Z%fT|0qqzBO&DqoxDbcc4s+M|x|A!1H-98;F7=v{j9TEa<;N%47n9fKN zb`{Gd+ZvbBH5f}iK~-E~wk2QuIseB0>%0Ez$z=S$v&=txdHyReec-#l7f&H(Z|+ zl!xaW&&U!^E*WJU&FDHVcO1`Hj39EpAu4Upd^FI4c|zhTGU}dX#WoCp=U%S1-)9HJ zh$`_EXk5zb*@pyIOo|L zEH~Ug!&&lVaHv~{EH{)5$1|FiUBhC+;e;obMCGYN4o56Y9$u0p%yQ;AWrteMx7foo2nHKDtVG+~gCBSUN`5ILg6Sg&7&+S9JKvRn}YZG}eiDImqdthe#b;xqrkpZS4z zzT=($JcIlicUb)FKl+>B^=IGn=#7UiNazMSbHCXv^Bm8~65e<+OgS1e005gEsUOr& ziKFSbw&0oT+&|;NImc7lo|6>^6Y_+I=NwMCzTnA{<(3-tFf2 z-}QN)!WzHk?I`*W-~S_j`aA!_S6=#L?xk=fP&G8|uu5W22V8D3hE2sdqv<%9@aTdf zrEW<)ec;A|#1FdQd#6O@cs?BAquIc-k21y?o0`-y9}lY+4kqL&ZRC7M8EG4u7LCIT z*jq$(K#=1eGR?7$EFq!JqpRfAP!y)!+Xq zP4VlycjwjDKK!S?{cGO;{$Ey=%#s>Lp1J|JwV0! z%{ZEI?~JY^O;}ZU%cQ^=6vi3IFbkg~oNsZCX~MeZY>i3C3$|O@mcAd3oA=~7W?u~m zVuq>l#A7UezuvE8wWh47TKW#-hmvZvz<9~#W?g9!Z+^?y|LK4IEB=7B_EX#8*Lz9P zYp;Fmd;a`4|MdI*ZndND$Q=o!j++O=VC-c@kx}l3NJig?j zSZ>W>|AHEauOcB;$0=tpkjq4a}!(8$_8FTy8lj zDKfg6Czq^u+`5f-Lu|e{$NNE;o_M?`26j8PTe|*NL%Wf|#nPN4#aPN6O<-MOE%g>L zxD@L#`+Ky~c>U(>-}ml+>)-zJZ@hc=?yu7Vzp;zeR;%Uz@Pps^!$0!h-G6Y>)aU0r(j7kVk8E9O5c$bmL#f-KKHY~ z;5}dUAN{s>zU$Zj-hac!0;+2B!$11p|Kv~ojgNffgY~Yg>sVDX8Zn+Q8nL=0D!Y>0 zkrlKRZBL9G%;=jz;i?(eZXz`&7o05zYHy#;wp*rC6f_b7b;Z#&tVM*2bNZh7f}&tN z!dkW^O^ewtV@OCdE|xqwAw*n?aX60{G~zP>k&Nt^g?sZK{Wrh$_kF>a6~({cEBpS} z=fT6*e*7nY@F#!jhhBN*ldH?Ju5fN>UqfKC0YT%?QFaaPidO1+rc-8f@`Ac%dCvYd zE1aI-9oB;)hF!^cLQx<>+j4%+WI7x->sTy6sA{r;#3M4q^0Nz^$0Znxv8a-cj9A(z zhc}PE=y!a@SN*A&^x;r()3Z`Zp2m;n%P6{C@yJ WLK1E9L!2rA0000~uPB+L^k0rQ?^$ z8z(F2c4tny)A`^PcW2r1AS)dac5GRLC6baTj+h9Nz{L#Qc{=Bwd*-UWpZCM5y0{=I zkFqT7g@v_G-CcD~4gY$E|1*fH@?ATA`^1yK_nA+f{Q6U!Rx^&{ywO0ghQzbnB`^R{ z9}lV|j`x7VCJYHjEI=XQ>&hlnUBECU51vy-U>4ph04Nt> z4ju;)P`VI98GvV$w?jn$@=$~Y<=ujTCd9A;V{ls8BcPlVP=-N;o5F*jFfE+&JSZf} z*&?lkT#sH3pjBYL!*l^)zQa_WVnFPPJyUrOSGeBdKpBCKT6UAs=wHNum@(1jb7Y8yX3VZORp9H(An7zr=3{(YKNzaK~T--bMJlchd%O=pFVi- z__z7-`xcJi&-(}bNyabyqbGppzV=LKV+~cH)FTK94a;3N6LK+ukSNvzyc^~fpbA$6 zQI09U1v!YpDeunkwhH$Ea7a*P9;&btc7njXQUxG^7Bt{)p#m)h=tCFE@M-18gc;?4 zFb2R;VGYKG4?t~zMy0B(0?;&+ggMw_Xtt>c_rt3RjeyZQ!w_dDK3!lqVz$j>j^T)& zXQ|6{fmT8}AZHi~={v5qQpt9sMJSwa(1Q zFjfE}0q8g;bA*Nmh7b@?Wjq3pH7Lw>*j)s8b(4{hsesuI3tir}i}@M{3y3gQp(u2E ztTxDpjFfPm#X7x&% z!T{Ie2-Itsh`YwQ)TGxXZwU>{J*IMeZIy>dnd>kbF%q%R;bxoZ0+V@W+o+;&wZ(ly z1j0g>`-j<6r0>~NWWC39fu$}lt}>BhUx{n2^lD#iAy5ig>ob|-=rGsku)=hKrIO0*d{a-VWUnlKrE#m{Wkdm?JnIuV--3vr5v%N-DRl6aFM{03%I(B^EgEn z@2TYJ^a(8@Bo6P{Sw)~9BSK(&=rxCL*XrF?vlGX^`@6q&_Ut$Q?%(}CzTJ=Gw_<#k zf$(Sk%3r?m>Z!#WS6#1@bP*6CNhk1x!VP6YI0jED8?X}$yaQ^&(@GCU;6bN$9tfSMIJ72$c}8bR4s7cH}u-bF6DU%B@ zLSX49d@-d+X zn^1&n%AEpGhYIunNR*vI71~N39Be`hUV`^Q9Zte90Ee@)H~_#^I51G~1Pe>bgm6aL z3BcE3*6_C!42h8U^o6`d07E{gW9%IMuF+xia&`apXlyZ~{G}`n$CXifFa@G{eqX+If_BVg_7w)_7 zy9tNi9U%OLU-*R=zVi8*(=R6dZqU=NVg+@)7o5_BDu{5WVKx4y@Ouxe!v+k)Az@Y# zScMAg2M0G`9V!64pnO7j7IpzJqts!SP=P8uuKwQ{g~~R)Rn|NL|oCJ!Uk*DMpwqu-QW_ms;Feq~$2&x!fggvul*Du-T>CXQ)VE z>GoOO#Cs-&hynsjqs?-IDB!MXRB89wXfs|(FX`MmlSAY~M#}UOOhBCIIY|TA!KeH zMj*~arHAcT_ASvk0VB7g(SrzOIH_zv1dj+g=z3P^wp=oDD(vAf8{O=^7} z9Kk7x5*a3Q04qJNwKz~hA@-cAb99){5PJjy0eEqpw~wVh7=^VSKqF?ZLp5YGVYSCt zgb2F|oT)RB*0;a7B4u*$2A?3&7LLi1N5l zgBk#v@PMR0Y!|G+VJO3^FrTeC1PZ?aKMKu^$sj}E_W4Pu!3Ye)Nf?0z*a@nLkb`5; z5^jQn1JDoMrfnhDid8#3yVI(3Dmbw%yeNQO# z6=PY737YJ$aIJw2s3->ue0>qXdB!TVdTg}GhvY)mnzVWZ25$)iHaoO?h%jCuPAKQu zXyFwDi6ac?^l{2i0k4FXW{bc$lk?rp<(HrT>ZMCp*47q|96A5J-}@ac63rjJwogZV@L0P=C^)3sc#w(hxI%r{Gf8fQGsRUymFVPqFhu&QP>URu$l?LDx84|%qtg^ zV_;P;!sBpBd7m&UTm+y94+|4Q6WY**w+RnO3a!D%-9j56_18ZpDYbAD9)x#-zy+9r zgU|%v(?B*Kj0d+(9)tsM09w$3-9jsqt49TaDfo4z1+OYbF-pr5gM$grgfgG7zfCD1 z*Wu_e15F_mfY2~q;7XH5%yfZ3nCk#sYmqk`9R_8s$F2gvl_t{#tnk@cL=Z{2hrmz> z0Or~$0==dh@|7mTAsxq+CKop`u+n2RVo!-mfCytb?kF-IF>VPQz|jKE(|7C|B~HjI zwIGW`pUQA?hj~NSz5aCr7wNv7k}~RKliy`|CT?W-@@^osE+>YfAYjjUwi7z%ja6HrhxIN@&Ut; zXGWkUM>y8`glRVH#&12z*@dW`3o%CV=!7Z&;0 zE(8#kxo2%>|W2i_zqTQq3 zVzJKdF@{U15<84gj6jGT%Ny(*Ar}$_1Obf>l_7c^`hA=s4)9(^D*0k{@_+mv|F?q& z@BYqIO~121_`m=B6E`o0F-pzwO;8m&PNCg3#O2Q_$7Q%myugm@5u21Ni?;Vx)H z5!MIJA#lK(tU=(x?03#&^8p$MAk2dW4|AXp!u`S}r3DGR1jFzkJOytPu0X@^aVRSa zb4p@y%9o1N>gsNP6BhAl=B=K=6cN3Fs&|=Rn}WvS|G6GBZ@hCF^x9enB8O4TQs`>ZN4uAQ}-*Gtnj*x^;Jn_WBm6?lYU#u@JthJMF!iS+4a3i4# zM!29@&n}3emU%m0hDzpc0UF9(0^6kDIxJ;hvEj8N@8fc0Dd(!*MwQSiw0Ip{r zw}^^qKv{w+i~_Jr5Li)w8_cGGVM#d&haiF9 zgdg7~T>%Fs4dWp%02b~P6s+N;gcV3EE}&arp~HbP!1HSy9lrH5w$#p}!wg4^gj{XW zh#9|KxJ4#aO%If~+G4iNWS(6GzOcx_GRH>fI$*QnGj$ z&f^^oM@OkzIu2{-C>x&8(ujxxM#{tq`G{9;V1%I}Q2?;gV11KaV}zEa4f+Y8WvE1G zxv@eNP%UCDy@W;wRi=h1=W!ly2n<0$r$au^MobVG)!@Kg_uP5M-T&+V`W*ztKWFdg zlTSVgy!P_5SI?d5x0TY4D09=O&k-_#CNcs0F%qYN%w=)y(6`oc`g*LR{VfY5*U=Ci;)cm^x#$Xw0 zFaay@emDtN;qW%WSbmd(vOG22OfJOWEy?krOd=sHFt z@&>2uDo_mp&NtXqU@T&`oBn=;nFjBO$Qh{qVhKd*=PQb9Z%J2|FN~6Vk zi%JFKy*KgcmtSkQ>i_T`e)6CFv+oof{yBs2g%@7<(trKc&DAAMV$)LtO9`(i6<89~ zGYwtRK3Eel$x>v z)r|UkQmJtpGcg0Zl#dIsu&x|}Q}AwBhdM053>=1b=1@5fHK=EtA=}Vc&i>y*<2!^K zN-L9Z^8o3uHE?in7BG{E#DUT>Fd-D4SB8b2=Zf&4BEt75OE3xV?eh&sDWF?mr3a+0 z5x5l>daXs&68_(b9G7E2aok*pa6i z()S!F(M?$GQFi1EOPw@Mb#IZj2f@L7kD{S3gaMr~w>F(k9 z#*Nvf<=?*Ru3y--YyWowq5tOz!Y7}6^4Z`0uN%t?#wVti=GWjk52J8Q>14q!j|eSN zZ~`;%9&o~|*>m}lvR61HG!(YM4`_phw?hJ#Ac1SjyM&u?pYXIY0>^~8Z9nYs>|+t$ z2h&0q0_cLmF{p#W3@E%GejnZepNBf+pa>ILCgG`VXgryragc@BhY zxY?$aFkN6My6pEp`^@d3F`ph!H3Rc%=rp0gd75I!XbXF?oxE5jGN5 z+RQq}111CZMk)Q!?jyp5c@FI)Fo@9TFj7j>DHiG!BD#HIhcyfp>GT;XV}$*aEN?JW zN|O?+1rF_GqeVH-;c3=4*)hV7Dp!`78sWectv0I-B&64Ig+lM&|NCEf=%J(iK7a0B z(?1`Z@X05i{GH$Y)N^0?La*Hn`nZ86=I}~Ed04obxg{PE)?rquK#+m2vC$bA#unr2P?BQ-_yZ?^z31LAQ5*WnRD8OMMf_bHt zeXq~#NzEKBAAsK{jjE}`+W|O`Y02jOl}zWHgAgpt!W1Yx1DE0B*)Chw;Agfm z99trB>(2FHSP-~d@DPGien%nTsPef2jhF*vnlY_};V2bu7dLMSx5X|8O6Nl*N0rd9(qkwjXISfVwUxSLfirb}csD>Z;Tv_{ zKaNx8dtB~ubb@w|PM><1#;h6P(jsp^NIt?EUbsj<;cW-0HR<%3U1Qf6#T-#UDaYz2 zLq+-ts&ryT%UDAgkR+@%$%Pd2M3#CRwTu>+nWIpk6VUEsjf{>KoGX6xqd)$k5B>B# z_x!ox@Xx_J`cMAh6aVZV{@mBU_`6BH8T9drIDEpp;VxwlJf$qdBf>qxS!F}1z#=Tb zqfmj%0L&;imBYerNFafA_^PIqdK(^tBXAaaP=c?E9Do_v$aeotWkFfUgy)Ph$*qqq zI1U5d?eof~l@-_k4=#h>U<~}916qIJ|5T_!1FmHb*h%;vI07-L1L;)=L19vOFw+%( zICHUX-p+Fz+Q$BGZP$#SoPio#gimFvY#@ACI0hcx*9U0E>?|;mPZ2m2GLcWUkKu?? z0MK!*{cJb6ROQjfXW=E5e8gvBm_@U>M|`&i*nnUyShCRWbW z>3OWMBcPLzc&76xSVtHTg)G+7ljS180xWz#D8w1+ zOm>q7KWzKhx_KUEl>6bLa!F|`v68@~V-kQPJ$4qjtCF%8MN8}fhC=d|uA>s9>G=X9 zQATgr)V~TOn%b7JrxA0qp5{zdLTY_f>3KF2jG#)rPc7!$1|63IG8F1PnlWcLxYDAP z&`G$vOt+6u(kSp+i++Oii2}MYae{MH3lwwo6IxwLIl_R28dsMYD>GVVwLzy(v&-x{ zjW+#0D;pqOTV}@)uid0tWO9he;Du^|O32P}DkXdmV`#VW-p$ReEHB^qJAdbse_rgx zx6dX#apJ`P`LF)P)t6sX=OV#)5}#%LdAcwx48va*UQvd#qA$Rs!n$%!(_pb#=qY<7 zg~4M`g9}iBj}O9P;B3ZTw7{$Gh5Zl@(g>A@1%(zAVHVyd0P!F;ZJ?$KD54;|LzvT4 zUp)s8Wd_~_xCkEx-V_7_JeZ|Z9D#Y*08#Fh6gCZ5%1HSfYfj`cpkjW!;Zy3}JDF=G*%304r;U7(pDLhSL1D$aAhK{+O=d`f*= zV$qy(mqLb|`vGv^;UYYgo!ZPdLF2%$J1W$a3gqCwC_gG`80vs?kAz=ShF}K1FB7)M zU>WLJz`&dNMz(F-62(5N!O;Z|9`X>A2B1D7oZ8?GAbd-Z6%OzNZm$qn%oYtpp3@kUPtqtWgblV2H~tmb)A*gL1va zN-x!oD*=JwN-I6V>n+-jT?JlfuqVgv91A_puTjWhgp~#zp;BP6&aP2_eG^<;rqyNF z7^kit3b_9lvHpLv)U=1r9+w80fcA zPo+Y|vKEjeNf?^Bn+qpS{6D!I-7eqGjKpt;W9Gz(6F>Xc{%WJPu1Xm`Bor){9YYW) zGth>|h37r3x;*Q<BoVfn^RWc{lZD51PRzImZb#oRz_bobQ}NP%w8Oap#;0ZfrT=> z0t*mAA0C85k}9ZPnSoRA0Fb#}27#sn6j?Z#A(Jdt&SYNJnQd}%Fm^x@ZoomI0tOO5 z353r=Ighir5(i2|hE~FSCuJ7~5isR|MnWs$Y@MUS6ayx5EOrScjhh*y1@9>WoUHNS z2teO+vc{w1G-AARuEFCI>0y6wfze#50H14c{}6zHhrl9&1#2k?LC8i-y+gyZr$ndE z$u%C>PhfDK#N$1~CGsKjHLfmG&U5D!QNUuIW|!S#L;+rzuTg7pY#+mAT3w!>;r@Me zV|I=(v%ts@d&lug?CBbY3N#Y>O%^w?mMAAlEX86}9hy3R{L!EJ>Hi7%_K3tkbDQwQ zi4*_ifBsq5YYTit(lE4D$B1wdPALxy_X#g}9usy8-!D8aoX-$=L77$d!fvQ%;WGEZ z=}h5Vggr0`bMTljtLzcRg*BzCykAlhZvrNT_X-aP>o5Tm@E5Z@iNVKX!aE>VJ|uME zAz=w#g(lRql=-bOcy(-&(?Gx+_uXD+m6|UtJ&OUla)*X z{!Dha2H$cFKCx}z!3)Bu9)iotYs#xisA&Zqfo8%(&`h||W;4bLf#I1IT1gt?^7KmT z(K#|iqKri(p6AwRCO9SW7-79n&k=j>AEM{zIRvb*5vN&&PFe4#C86%FrU)DqTpau# zdrohpYN{$X+l)kv8uo^)_Bb+5;t(k0xW3G2g+j!Q6&7mrVxoZk6IAjTVZO#%Gi5k# zuBMqEQ$tvxo6zdgPZ%!K?lV-R)*>Hqb&(sZ6!X-ZBz=a*n9LI>J1Tfj607st>&LbA zm2>C5{`dZuPyW_#{Xc)~$Nf(<{%k?`#1l{a?Z5f6>&r`}ZuhSiI0u_q9L#ygV{k-x z&2!oFsBl*K0bz~X;CGj>TT=KvM(Uec8(56WjItY=(A?%4U57Tj-^jzl4Us)C1|A+K zjSk)7Gp>W%_Av(&!k7TOPiQM25)Q#}*aDC~QaOXe5=Q(3@W6ZT{-oB%p-5oX}mVMXxpPT^sp z<#?pS^%g+eF&YsFZAaT-gr2AE5Wxti>v-i#i@Phtnm*#w1^ON%DVEM|q`10o2qP$X zcwh*xDIkHDYpDbFNEPSPvr>;LUg^2CPMj5TArFm{Q>Jt5Euu=j%~Fkap953WTT}{& zps;Ih&_RySB} zlEfH;b6A6Vb-veVEYxZ@PM&=Fr+(_)-v+PgpCJfOoH+5>&wkb{FXsEMD?HO-1ZLo} z=Y7f%;Z@JFa$LAqIIGOUZz|jlzX93ssPGV+h2@N*xS;G7#)Wk_2FJj`9=XL#Tv6>p zS@k!(3Y>u}P=+rkpHW`P0z_w&&nVZjr`bZ7k@6FQfrqk`!h=wQ2Vo_n1e)2u!Po`6 z;3zx-z*hlS1w)zvILMQD4qnIv*Y*e)GXLjM_@|i`Iso=Kd^{ui2VXY@QvgKZp#;|k zrQ$^9U=Hqs{cs-E0YMaE3JNflXEQ;d?>SJ$N?K`mYa(ETE3Gs;@pK)hDVFZ35_?4O zkYp35oT(!M;Nf&VJ+-~XH2-i=5a@Ir0h9-ZNIaqdca>6Gv6IksG*K zJ(U8pYj{m%Y~pD5@Sc8>vZjTQFkrMoK4NYS=kbco%*A$(Vn``R6p)X&JWp+dVujHn zoesr3Vh93^(OyqWMemZ>CGn+8m#^Qr_HY0F&!0Q@XN$u>LlFMQfAi1XwTn6NMo1hN zl&hZiDo2EK%7WrxpKw-rPML*urLA1!jqtk{UR72y<@0rzhKWq#9fcR+WEO_9tejT8 zp*nD`UQiN|&jWB#xu`rY)L~tDQJGO57v3YBS6a#$<+5^KQ@dr$0vwPB4`v~06Iso* z0UF~B8*@;GA((?@cpscrfEP3PZ87iLRnYC@80>>O05h3tI+>ZK2M1L=GIKG2Dm(_8 z(1H8F!7@nZZ9?_K&{6t|Q@miI8c+#PQdXevd0`zRIOR||oeZ?iL7cY(=egF(umq>- zX>i4TL+L~{oeUhL9Ne^wl{@TfZ{xARbpJ`g~p9u(0oH(&-V*J8$FC@+z z&!e7?2>(cUuW%0Ll^D*0C1nEFm31Wtdxag`2ESL722^1YuD~elfK_O1BLgc?gbQHc zQQ}?V$3Z}!`S1H*PIeUx5o+MK^Us_KmPI+maz#wq{P$~wMRL|5*;XG4MCtF&m zz_H=9%;{j4Q?+#RK<1bk2-v}bR)Q)U3FUw*P0nr*2nu@&D6DO!`Az#KQKjBWcicO{ z|B8Ly-QP=uRn)Z6qOae^^eVReJ)F-j4$^N3}3m3|jhI$f?@ z!6o#1AR30c+3d7i>nqDwKlQ2q^FRHkU-+W};Ey@}OhEW|fA(h^8}&Hxq4KD(=vegp zzURE+;5C?qw`WY?4D1#Z?vS^DUu7Horm~WrTkxxIOC3B0dm)A@%qky-W01f{h1ZoM z!eZuG1s;$z?_r=r?uYxJr_90(+yM&fZ~=Zpxw6e)G8kKEd=z5%9w7&BgBkdg-ny(w zW*qV+u$e5_Z6+&$L1xq$crau6H(((%4j+O?Ac6Nn0QrnxGO!GbATSNZEPhBtJQ!$z zhdM0x5Dy8(xip?zHFa8UDUB`@YaSBC3J9laDQ5PTZrOX9)l(g?e`o6HMBruzRaDtu zx)oZanrf;DN2<3Jjk`*0CY-9Lu9^!Qgcc)dWq@vUL7%s84!Da_5oW4w}M#vld*BJ!Iic-SW^ zVs@$D0sqVd3SRvbbk%>+2D@O&C38v$`=OI5gcso`oE|*B@WQrm(7`AQMTkJ)1HujE z5$M63vI-?Qnn|HMGpEkT?XSI=j0}9k*a7pfABylglu7H67PbLTz{0{dwfSusVngU; z8wWA2%TQEeq3y}ToU&&VEz?Z!@bWsxNASv#YHGy|1lK^InSqJeTz*_hwj9{9aEgWK{sY`oslw?95Sl`bnVy9gp{RaNgLO$Ru*7$h7mXS-aEAkeCG8HW-0VDzHYbMU0@6I$@Hat-c)I+Ve~UC@Gip$<=NV>OO_lgqdRB=hb7 z#f%}0vQU982z&}Yn4xhqla~KCd=dnLjM(^*3?3~A(-0yafJ*~~HuI*qOhr6dOJM_? zt@FSza4RQx0L%4$S_TR@T~Gh|z)%)Bpgb@{GhsYRrRA9ojt%28shbj*TSGCPK-XKp#ya%B`1wzr zeBq17k3asdcYVtOYre(m=K-!Ix=Kh$7<7U|Z=p6^d< zDvrz`8Y_FH6`=c5W+zi+P2WPc9u{w zP~as~L4hRud0S%VS2F?Sm34>*nnf*ree5r$n%kBrdxLNz(>4c3+*iB>HqA`L)Q?)b zRa)w1mYK3Y%T?K5!fRSeW6RVGgj~S=L*ygE0ILAkTj^KaQ%-?5cv;k1>G8)Zw7LM} zRicn~FPjH+V@i3@lo82=h_KqgIVP)!aCMcrb#@NZ?y+2_P@)iVaEe3I6eIe5y4_T* z?e~dewE=~KdLQQ^7lxgM`MDc6t~~YB@BY?r|H|+E-nYhE^DUEvpZvrpKL5MFQ|@>3 z%B*q$?i0QrPQi7kDQ);+!wz^dv)V5xCAdqt40#ycCIAO;8icLAstjeuVFNxYEW@(M zZq-HjB^%;BB0nLFIG#0jN~B zVNTam$H~!546-d}ia`;OR*KjMhHm{~(6DI>x?8)f^-_&g;pi~?ivasdoNJJ1S|Z?d zop+1^7~%O9j*j4z<0E*F@!4@UDdhkTOmgNrtzP;ql>%cGRvSzW(W%nx(&|yn(T`Kf z2}})BYf^~lCs@O!MTSbCv^&f?@*#Uhkc3j1^%~C8>#%n(y&hpmqXE$Ck;AJR5kJ4+ zrcEcGv-Ntv*=&n3PT9Tt?mvBi+qXs%o;Y#hi(mMBx7&4|cL@jKlfvC_Lg@?Z@L|LI z4NJD_f>d>BpGAU1Y~$aUws*0!t- zL@YYtl3jut^B4eMw80nctrynAl4eKkt|zkIny&|vhCgMHwgT479A=X@IJl`fm^rsN3)6JmJoYLQB5W5C%Lr9P!V9qFsfWyNWXXgB#jQ$Ldw*uvcAbejoo8d zAsBWW-1FtO`GA7#7YdF`Q9;PFF@v&ubkOaC0e@0Bc#a4Cb|1~P7B3chUYE5=TUECk_40hjb#GHrubZ8#nT z6T*^GGX~i0l4+r4Y}?pz?>4>rA;7zJVDT2tHwUM=}h_gZ6CF{;h5MDb^uS~jto(vm zbz&vfv;s|Z`?Iqhkde7%M$UE8Yckl^D>vJOhCo2+I#5J7o~<98&-E7VKHZqZMRt}L z&jIY4V6{PLZ++?PTKeKRFo}}tr~`lL>{@nR0HF|3Zy~~Fht&p`me@6lbKG1ZU!1eO#yi20UTibW8KYw$sR$F-C#V=pFa{jHZ`X6=t zX+e16#EB<=<5%LV7e9=iax@%O;Z>mxiLefL!IwNC)RptF6Lx2Dn2!oQSXSffh}WfD+1;Xset1!4n@d8DP#O3iz&U71@3h+9rXv`mjFn%tUI^^ z0&Y_U2V={k+rDx8Xh07vC?qj0$3lmFMNk5h;wLnOhR86!RW`rQc#h>Rz?nL48wCi2 z&~S8^qD|)$Swjn8u9MdMK3%_6{Cgu#cMOEcaHf9ig>`K+t0gz6k&$q%h3Tgqu;v$2 z+pil_YtigbDUb_O<B4D#~k~OOC+vv}Z(9$KXKctU(dxVGSM=jtj3Seb|IomABu{ z4Gx~#4-0vyiwrLBH^deIWBWk_;M`ebvB8`TCIMrfHg*C)mQ2tvc2kL=SRcq~%4SL304}w!R z$Y(WOfW1(IPiIwU24e;u%v>^m^R2GC&D@@0W||N7eF>&AA56T>-SQf6d!L!V0Kf63 z8~I~z1-~E7h{qaO!IDOewGsm1ZEe>3to51BbFIbcdRn1$P|2enVHwLlTlI;ex%8Q0s~Xd}Y47MGgoj*DF)VXi~s z=*H|SP-{_dQEM_@p;mYP!TFUgP@4`t1C*mtK1I`pv6v zy6S(_@h5l8eDV{Yc=g=5%a<;WsUL$xxt0~ceihoVpiB$jE9??})u%-SKW2#GoTlBB z20`0{Eu-7Wi60QwVFj5Ia`1Iy%TO@ErnN<53rT!4h?>Td^mmICl~X}D0TZfA#sa86 zXM%@(zYlF=^UxBLH|$4^m>tIEU@VMOb=oDX#v(F|IOp2nRc|Qwq0YJ8VeT5ZAl%{o zSB!n6*ZEwou+zCaePUr9CgISws@t1cbEPf0H;C{w(1ivJK{Zn#hck}RWox#oq%Lps zb8L4}&SWLnw#IgLZfpEHd=fUZ=1>FmZR;mpQT_)39MPT!cv!&9`{sJ>U^ta)Fb0OImfkDy5&s$mQuRXo(Men07jtyu^t3&!G`M4m929dH z!Fh5aK&3#tM?Op&9!`(aPY5iVU4{y@dvszd1$K{eX_*6)X}zi83S%W!`gmo2ou~k? zxruj_iipr^sj5WyUN=!~`)FhK<`omz{fGA4TspsJ>h5m>mp^Fy2_@l)6DQ{9=PzHp z7~$Uu-xu=Z!pDTCG&Kd+;X{Udgln*#!SDTs*OhfmyD81U-!Uu=l3z3F_XEN^g%xC6 zWJ>sw*q4kg*q{;S5^D?2HC05FN6G0e>^z+3X z#_R?oW+Y1*98_MqnAL8Yfqx2Q?iK^(OyZTY3E9hU4t^tR?mLJ^Xu~_;*E6<#yL{UK z;CHhv3U|U`XuK(_<1nnj5%~3tKG_<_K%t(}=NJgHkX9k>$8>aAeYev5FX&S;L&TpALvtAHx8((_E`@gAGih6{znbGb#J0QZyumNwEu z9hjogX1q#2p&O_En~5s9kXj31r9rbxH>RAY-6JrlN1&MF$`aKa-54=MhFXgqqZC5c zYFu3*%rjPG*AU**>){;ve41&I#CWgHX|Lx+e81o9bvvtT^Dn;e#pj>@(#*`C#7Xlf z0pW=gCxBNkT==U6|1nF$u;QqK6=HZ5ZYqCExRCh(enZp7ngg(1hZ&fLP31F62sgIF zPuYUsE5=UQU@^$u5NlN%Vw%R1#4FytO(2OUyqkcpDHn{L@Lt6%+7Q(Tz56KIHa2H% z-n$JnHa7BZ6}ln~MT~j3pvV`4@N-dNO?3=i&E;LZtk>f6A2 zHy!uY$dLLCW2(lC!k26?AXG{)1N*WxKe-)s#cX4kQT!bcn1hpGvts@O%Aw7zer#r2 zjhPqVIQ&z%xGkz1QmuY#@h9K_)NfDuJ(h)-4t`!=@tU?n%w=S z#(Vo5-nf2ijl9)*)l?}RjGJu|MYzoYE7>G=toMM_5t<9rj@g5l(rSTLk8Vsq0jRfF zX)sje(9U%CT8rfk0zJMn{8%`K2#^?Ki&m{Ac-Njz6I!{73)&Umb0(KNoYu zGa_7qQ%W0F;StyaUsA?kMmeMGf$O9M{Y999hH^$ppaW-=_Y3b7*1;*a!7nN-1|h0v z#4H-ySAR2%mV*%IrjvLA7LA=Tb^=yVHD=uVglehaV!*C2vi#<|aC?B5o@Kb^(9UfM>u8@K~JoZsf^R5%XDvyi&&QQa$W zd|M3aVUW!C!?q)A?c(86TT$KFWB*~7B4I0RZ7>d$ZoBVWfaG?t@y*x2VXk^xyQux8 zGzoaXK%U;f8tQ!xl(2?!0C2EGr~rW_7m^Rteoq4&ZZQ)FCV{j9BCvmwdJAB@!gv*+ z)uW%JnH-G{i*{` zXt%rd*UnwIcH_BIC!aoh_PN>RKc183j}5{TCrzxG!*YPI#4ev*1(9`ih>e9os; zHwQkwZzxJiMa0S)gs>Y{p${F{fDZ`YXKn?){EChK6_zddd3VMJXMzy*ubAMPjZptE z`gTFY>@s#7>c(R1xc4i@tONl`Jn7w}@FJ{=8B<*m@x~U_H_=@Xc;64BeB8h8l8eS- zgE8mEyaO3%vu*DzOnbM_yD?)PFh;G}$QOp;6r45oRn-^ZoS5Y(xmG{}Y2n-ufFHo;hAZXL47@@j!%l%8@W576lY?4Q7U%6Wzg443G|)Hb;| z&yEoy%hfqvyo}@!&v*eMuV33}wCbCUOKYp^7cX9X{-rPd zVHe=G@y7$<ML=3qN4^pAA1{QrDlrf40$owh=-2$tXNMfS=eiHlpAA5%fm{)W047b^-Ny^?Bip zwa(aa?_whj8xZ%;C&`+zi#CYGjKTBBC1b`^S4EbMZL4;m0!{E?l!JSE?TNULwF^O{ zB6xokCWHl%O$c0qcYQeO+%eUWAnYldHW-Go4GOvZl-D8HfE*}Pp$Y*EXNCH&f`K_$ zgaC3`e$y{yj9-}L&hLkdw|hR1Ws@z6Z~LvdI#Z?+cply8@xE%he98W5-2#z zP+G?+1m2jqS_glaL(30|zTXN9LJ4XtJn_W!>(?8b&Aj1V5E}lOz2%8{Rr!eFV}|p}Cah)7n0tgLmHUNdSc7*8Ex4I^ zM+Kg-(PwQW$R~|_(tvY6>fIR|k@SDW^?yVl?oD|A|M4;2<(9ZllQ)jx**7V zf8CfXHZt6gCBxJ@DBJ*=t3JF z9<fKl?Ebn;lbWEL*Raf^bk}Lp?6>g08Q+^_8T)(rGna zr_)|tUA#Ga{*T32{82%8;>3xWnVH3fg`bG{WW*JdrZT+C@G7jsVYsYZRYrwxc)qTD zOn6CgkcV$5?-cG3UR73=D%=1M!-HllMt2GU z`;xIUs;@g2!ko2bkqcsGjR}oy1%Y)g2Z{IRlm6>sR7|KEsYXd`yz51|$e5>tFoZ)& zIa4w(!fPN|?8{bGQ4IHIod$meX0n*<2@p7##h3j7Jo`5r@>cm!f56xQ?|=prp)iQH zQ;bkpqwg6Cs0P&g424ufrr%Vzd+?2e`Cw8Fsr9LbX`Qu)N14o}%LevKT5tkzGt z(8}PuB8EeD=2Mgk1VSreBc|_&9m{QuL*Q_M(9-My>>FqQ1ml$ypMz>Nz<8Bh$npl$ zBRHS>a)6}`I(>|!8tI_V_O5XR&fjEionnqdJ6Nl+xIw9m5gIl6eTIe@9%f`DRYV6Q zqzK)PCb4#!Nu%Mr?Y1?(S>IS#xP0=|vww79_(uid^Upv3jT28!Tg?Yth|_8@ZFt7> zPPmIS1oQ%Y-E)_49ezLa%{(srq~R%LR%yX}RuDzNhzuJ!3b~|zk9VVR&e%zK+{GmE zggW4BVh28kB{74^oH2uRn3foTB)L!3i$QhFIb8e#k_6$1YE6uYd7H@n>RcEt2T=oj z5?k+x@(WS^bsOY`oOd;}qWXNUSQW{^D$+&vSbGeOMD8%Q2`8-;k=ImT7ip*_-d(m~ z$(TbTf?Bw4gIB?UWLdTYi4R`77;n%>r?Ndhd1LvyP9$ zlY?4%P=?*YN#%Z_E39Vy$zE0N7sg;rIIC$7z@Ij>VO3-lEJSfXFYK|w8DocF5}p=2 zA)xMpSYUhrKQZH~D?xzwc(*2|WC*=qF~*1()!jm3%nQbjcpdd_)!5M>th%I;IKptm zX{hSMaMSz1dsX%7H;pZaQQ3Q+^sShZwNvWu4#OKsyu%tAyuJ;ivfrX)MeP$#Rdfbk>KQzSb4;TYR{_yRA0WSb> z7;F{;P=vn?D_LJ|llhSDffx$evN-@g=GnAF27xpOrUw#LfV9fS)^{y*8Ou=(ITF%wR71RQXN9$lDk$a{Eu~N#E>nof z1w@Ol@69M!XTMl}=YxO>47RuPvRs^wpPM-}CT2-~Wf+%0EOB zo;Y#h1CKp&`qZhVeq4aZ3?s?~$47GRaTWpgdXJJ{wyeTFn-eT zgC^|A;x{ za+aK7xyS2`ltLVhC7<8(cp0|!dqbp2r7h&i*7Zd@IFmqnGS zJVnb;01z2^{#L~H=|>4SiLanI{a`Y!g{lHW{ljRG_iRT9bUpT7yQ7)m6NwoMU*9DIy?*AqYkY15FZb zY-qo$);RU9R-a#9zIo&N%|FUb{DVL^$do^I=9NyT`@;br%%wRH=agSoVg>j~!&j9> zr3ypBe`olZ;R{MX^9l}noBgimrwk0Lcfl9MzG7^}2DLEPGPYpM^ENzb!(lW5Z|t~t zOE!4L1bF|Nn3X6GoQLy4gm>Q?*z-XygP&k*4vExvgV2Y$aWQ?Ng*fM~iNsNEBFayA zw^L+Q@ir(#xteoM0FAxh^ez#K`FzLPj&m(z8c{y9CPc4_x#9h?NDzcMq^E9NOe4ze zGe%%qy>Us-Cv7o3V{2iqYs|ns9=$2MPq+O)7{8W5$o^q|lsD^{Q}DNeOsgad&3S(Y zwqh0-u$5;#fS+t*M}iE2gY9`w-jFkN9V@-G)!DTcp`q=t+ydLyq!yF2tn^s!5gHnC zx_+?l0K+TW)-U%sRG|^G(j&+=)?-3prO#Z4$kK>0LS)EWR(c3HWwFajpC~{QLQ52I zaREq+a3eUSlp_}~RAi`-My?feY4+2g^Y+e>)PU^8AdFRLv{|gPa|CNB<=JSnbC_PA zwHCn56^2R_3v_zK4T#y?WMwf`T~ujzXf`Pn5FrXtRqs{s-uK%Zt>yXEbLY-ox&DV+ zhJO$UpMU=OU;gD^{{CL`W0u#H%LzT0Q5NA8tUd6-qcPq;_; zva$(P;oo_H=WO&TY!Za?QK1=xf%o%B%UDsrWP=qkR(&i|x4{MHKBDf!qT>B|G3SE_ z=RW9@?^TaWKH=l4F>NsuXfBB_1ktrH7oj~9U@c;<24Nh86Yx%vM^O`mWot{;Hoa@P z#Mq#2gEeS~bWl~DL;KclhGEN?zA=3<8zL2vVUdIQAPnciXd{e*D4J8vc^^2}fF&EO z8@rh+Y~%||khj79ZG9tjn+5o%99zD&>22|-TcK^$EFvd>g={j2FBcevgSW%az%t}D zeWwqcw<3t=@h+jkLnBV%w-Kiq5?@@R7N=l)Y9*bFge-LFI2tkcR0#|laoS^arAIAh zxuPkC;r2K_z&w#3nvt(48!ZnCC71L93IR{rvM%Jpy4jzQs$en@b@jxDYKfk zgP&18Ec{y=T|#~=pTAo;<=oR^mxD0ye!WMFn*coDnwS?tUxd#d0AG3LEF0cq>Pfsh>ZjTtLbEl?>iR3xzM8lf9gh`74M zXpwdwF^raopjxI7(T`~~Fosr#!#jw3s1gLU+gQuQL`vLyhj(<_YE)euyMB9i_R588 zFaO`a@&EgSV@kiNW9I++b3fN=wNQ-=YOtP9z?$#{Mc^t-!Xv_$l|I~1DzIC)Iq=QE zn(`M7pY_Zrf5or{%Ob}_?h;7)_rk{m^Izir-A1Z`4U=vXM1csZZ$lB9&K*|og!9H$ zgYd_b{>z>CSd_z>QzjUJ5tpn7kyk&gx?zG5Aw>HkQ^qvo_<#`v%))_S9B7_D4}i^d*F%{fWq`VY z*QC4+euZrJAcNoF>GT=oo`r+k;0JVJLDh&XgQ`lFD?E53EUHcngoPrWF-zZLB~7|N zQ|Ee{14VkC!xg-yU6~#prIi4bf)sV7fKou)@p^-MtMoiw$8wM9JU!3Dqo}6K2KyQ) z1+AajxLqA-F1b&4yz^cv8$2V@HDUl$dKa95H6y z7>#lxVj4DR*g(*Rn7lD#s+%He4XU9_I;xj#a8tx1>p{>Bg238_XWp|ZVq6l066SK7 z<>A(KSys@5c!Rln|?5t%e*Ty;7K^5DhP zbA@Y#(zPIx3?AD>-y2+@Q}E7hzD=9iasxecfVyg?+};aI8S0|!-FXe z6B!~)qMWKTmZR@ER%Nn8IiHqAJ9CYGoE9k_^qJT_Mn0m`XQ|HF>uJxX^(Lh}^%iHY zBj7#79Jz?0BBdOA#@OsqDNrr2XN;~R3b<#Q&|)LHeOj%wlJdb_c*pKBoWolBJ=$%e z2=zFZ7H%E9(26B37QEP=Gw$;B)90_ec=^)nZ;7>U3c{zKetKY!rCuc)5QWZfVxX9WHN{9^WgRH(oR{5AN`0Q6xM z$ZFWUxQ-DLpW-m~oNr)+MCm(>U?gqNBtqi(>Pk9!c9rMX@ye&JV}y%MV$aNGx_;2w zDe)=Tobv1%&#z%1R-Rku`So;t&(rfLGEfNHXkP9GYdW=Gd z#@tw=E2w9zh&Z}kfKmyBAWO;~pt0ZAc1z<}JB`@-dVPKI^3~T)pMLI}Rl#@*b@U(p zgD0MQ?zupiZBr6nfl%2goKX(LZebYCDc1&}##uMA0^C%7(y$I+R_+wYs)K&YM0iIK z4q~$V@E@`F8J3Lo=madAU>ui6&lqbUr@ATTl!*1d?_Dkk#=Kj_3>z7Nnh3_CdRfd) zE92_lDHN@}E>ci0stA!WPBpQCw*fA(V$=qSBIqJU!vZeZ5sFh9aZ(6^ys#dGZLi~T zJc>_X+3PtIQYekPe#MxE35<7RIkV<`-vrjh8s@I3BZ+sbSwTirheSGJmV;o_*rv7R z!~-*M2nz7G;RSdXu#K#{7tFT&`hln%*_QWYw|btz^I3)jFrR6aDf}{Nwq3qS20zVE z$F_bL+e5lHR7XUB|K@1s7*2?luPj5>9Q*ecxue8$>x1|To?S~PiRYzSy6oB2w3WsE zLwsg7h3<5LU%SD>BfL~gx4c+O9iD^r0*UgCHAG01qeJ}ajkFq~Lf@0KTx>BEBEq>Q zBX|TwCVgP6Vt;sYR!BVs?-5)z^9K9%k2Q zb(u@ZhwPsu7cjeyHB405Y%^RW7f@?3IYg;M;z>M-V{wDHhqJU=RI7vmWDNoa*V=oU zP3_0N7fTq#Va}|rtiFEXP=-i(vjhE~{%^Hww}6&{^VRBy!nqP44G5P3I@8t?anVLs`1MFQ2WG{0h&<2#@Ve0J$C z!C|Oo8wcZHR@Ik`&{Ne9f`}|`GwOhkWuBESfQ`Ukhel>(YF4`Do;MXlRQQkCd=N`u z1%;d?GTdl$Y$%miJM+9$L*Pg??dX&!$A;;8V$ZQ*L^xIB{-IPEi#^9j0Gx8)5HHn8 zl%vCReY)e|)K1mXWvA;LA4-{q0Rj`x{t|03XE(s`fhpPvBO!O@Dd(9_cI~$Ov~V3UFNRoR8}kWVoEu>G3_2_Z}8qDsR21&;p{bXQQD`ekYjz5xf;Egd`LV9 zqa7l&7(=s5oR9=emXT?0uCQl<3kw)SE=LsMeOj(c3`Q`9LY_FLl=nukXt&c{UY>jX z(#g?X`8U(|Z`7Nfc;boWm6cM!|1`u$g`crJrMwQG@mTnn@Lt1bJ;0K(3A=@}$_RX2 zsglO2T~l89p^e?1{Iw8$T{Ik5JcAYz$1~+527|g z67O>TT}JV)qOKw|!h)J0L>o#)ofwnk3Z_(Db8gi}1Ys2_)-)oTt zxM9L4Jxn{yHN56rQZS~cy2mFiW7uY@6*9J<_$E)L$<#|S)D3L8W%yL)%-n9v{i|%! z+oo!MDq~;mHo5mJS!CP>^x-vl4gSV9(sDgR;9trb!U2zY_7^ddT3H_U6w>PVv2tIA z$pMhkt`%8#vnluDC>P0xtZh;*Q7ux+QweUNEFcC-8@O`9Tm&qjl0 zOTDUys`_3x+1Olsb>^w&I&U6t1mVB?cmFPl`+?z$O-2WAHBCFNe4jyKPALd;%7emT z;lqaeh3l}SY=D8EG5nxOBiFV&WAOfe=(p|@h~pjJ9T)KKHOy;bejw?6$S3F3s7vm* z!Cth`>po)b+rv=Ml_0z>*1O~}^|LmJT=J+-9)+biUUjbN^+jW^TPtEti(CnUd>FRH zI57dzRqZRN)-kIR;F1bjG3Kgc#e@}W8a7nb(EF~EQ`a6O-G;eoO{!6();guC9%Jvo z8TB=>^&leYS0GT`?c?3*#-mW7<8|0rlzxd=O{!Zp8XS8!J4%AZ#mC; zGo5#1oF_1-(&!KctThM%`Uz1$y~ETH?H;WzSLSK7i2@AdEW-tYh?OQjM&RHXT4_^`cim{V6cq+)fVzxPBgl~wQf)Ba) zXutip;?92cE{PA}??;Jyc^g!%#kpx?K4#>Yiw_w2B;L5>fJ+_~aLJH&1(-MHHDk)? zJkkq;ytNIniV20b2?j+dH!)4I6(bMkgUMXZs!wcCiNa0i)ccB&%`jJ1hj+0Jqom(c zoh;-lg<{)lM^ODS7V&22G!OLdQzsa%KMc`1G#MAC0u-0VvC<29u>no|-X1v1w ziL^4sKsgM9RN}>s#BpVb%?{SEcbsm_D>u^YiqSH!&ruAS90p}^o%I%>Wu(k%6JuF# zf>16pl;`js!jL<5Vif1_4q$2uNWG)R(r&Z7LKNT}xro4OzZb8pF1~p3sh3}Q<_!rJ zw?KH}#EA&gY?UBY2u3})arJU?gv7L+l#23M75 zg6MZ_bTbHFhzj)}1pW*58L^YFWb6g8hoe=5tCD&6Il{z z*q~%A-nVQpVvJEgDivck`~6MlF}4{Maw1KyKFkHibh{nreU!`f#Vo|G<8=uWxOfR$Q?YTs9p(x1 zp?4BSizZya)NQyL|^EM}-{XY%b#2F@)J_e1cD z8H6-L+Q+x)nFD%o1pWqmDnngu8`w-H5)WoV?=45X&0AxXce(Vt20<#@rR!=BU~loZ zcD#c${K2wg!|6oe{^9JspeZJ|)(@(84-R{>o=yf$pj-xQvg7nUXEp%TBf^;)`H*Ip zgL$s6q>(Or#;Ld2F^pG+N*vrlqr>@GF3e$sGuP5=rUO$Xjf$IQ;9dG}uFc1aQ{ z6~qvRwA(nZBEHw{t*tFyzJBiJ{B7BWw?O#(^Uv4n_1#4-!cSYqgjWEVQ63XMYWTWx z6V{Y};aG+QcEVoa|8RJSgzNBE4FB0iSC#LJ!XGk(-d_x&3t=Agu(~gcoe-9TaLyRK zpR>Vi5FzG^*q5UMVf6cAKZCSYn>M&+gPh2WvS4k=+VdjoHYmX>Fo%q)Z-;>i%#by) z4H{xmUBqmP#k)l{*G#S_X1A3+;_)tYaVRW!sfUG16mTFRHgIvMDk4S| zP*qj!ya|48n=+Yf(=dIu<;_BGyH|5$+x!iYafjg0HkR@y;8Sn9E9+}1 zcm_?B2G7=@56s>o!2aSb6un`xy-VTgdY08*Oe@~MVLe%X$zVPxU^DnPXyps+EztL= z>f7ki0%BGgtTwp3nCY}aF{0UJq>T6ELuS_yVXVS zwcGds4U>?>#9h2opCql;`pnGPcuVKmenZ=Lv;|MFj2{BoDB=I^`?=?JX_-~$%8I)8)u0dP*M-~Td_yGehxkLRA7($o)h>t&E1n-Zld&-13_nO!< zCQ#K2HaKqs_3k3(BH-Nnd~(HW$0aLbUKHDcE>bdPSWFLc){YoStWAt5Kpf`gC0zC_ zCc3Bw^^4d=n*;8(x;rq5szF1TS6T5ITHEv924OkMwN0>QLeQP!?-JKVDuqJVhN$<( z#5N4Oog$P)LXl3~7xiO7P*rD*iK4vonwX#v$x@%b+1NT%om=G_szLgvK_Otx1f6EzesuVD z_zeVI=AY24Vbj*W2&c9SJ<|1qb{AXwrf&j4l`AaOm=b(s-`qzRGm;5c)J0NJ1d_esN z48*H zn+xvE1tf7reQ4yS+C>{#)h@;x8w$N7?l?~v?g;HpYk+bPl)NMEYZ%4(B9J#SgfF_d z%Kx9Y{|>Sw%g#H&-#PcX`%|G+Mykrp$}BA#t*RR!1WC}i7phzu>BaKHDS z{p0zIjI1g&Fyz=?OG~@&zWe<7^YG7){*H;+rubtiATsTJ$Ksl1k{7)ccafCk`|8iD zDa@%fLs|GNrI=y8qSzBD&EA6c2u??xnL~{I3HT>R;(^mJ1)myqV)_u|{=$*@7W{qq z`wxTaPkkKHzI~BYX~Wi+2&e&+2`@D^M!4XOtp`LhX0@Ojnt6vp@A-)bhkfqIoI{iv zz?(;!s2w&`dv2tK9tz>%HK~RT)f7tr-`cMGG(FbF420bC*dn{V2Vc=DY9ZNfkc?Kr z!Xzot%$aDhb->Kn0|Ro{)_2%r^sQUmS!ZU9<5PTam+da6XPIiV-J{c@U2t}qYb&g8 zab<K0}pDhY0|w?1lRqcfa+WemFe9GC=&M+IZ^pdyr5Zc06p5KVJp2)JS z>$6xiGpt{ggJg)t6gSI?EN^?)Q6Z&GUu>epu#emEMMx?4SqrN|)k=XB$Md{H+VS~8 z)*!`!XqFXQ#^!;$N$X80z4c?HP53ODM!{nv=|TRp@dIVEN|57Ly0GFlQ&9E`j7Nwp+ETv3c*Q_rJbO-%z z2snR2(o87Zsyja45J#x?#qAqZ1GOa0R&c%_LnF^oeN0km416IeZHd<`C&i9XWZ71X zRS2um5_%ufkL}2BIb>BE_SvrI6AyNNh*D8T2u;R~ z1H54H_!y@O1__L(hL!Re42d2355E1%J??D*oIi#cS66EopP45a`~CXJLpeF!!Hi>5 zTw5g?F>!o~c7rN%YL=C4CR=#V{5XTa$yxRXR3-ZZD%jnj*CRrnbNV!m1}iJ5a^eIh zPvRZ(bDTZP6HhQT#rzy85-Q3bMQ&BUTE4NezI5%4H@@=ryRY0``#}HdU;V4U^h>{- zDJwm?kq;7Y8fS&65wH6+oB`mA%6BRs7{Ii!O>GT+HSwd42pB))NTGa^bOu64d)XIqbq~qnqqc9=SnxJ_3m}BHreRo_Q!X|IBaiq9UlL!k-7N75nz8}lBOeC{qt`e;1uk^v%ui-HX>YF=7Z(> z2txv>EB9#Tn9&`Oc?$oa+qM~J=D2)sRyn`E4s<;pS#B`0Ut z++(LlGE$-`%uSIidwYmbRXE4qJ_q|Wn*ge)V|SOBSi3)RoF-DF-?zaawc1vd`x{$p zw{BnW@1tM&%2$Tg;1kNt#2**7h4&MW3-^s_xMY0I_$x=O!OO;`@e|6|jJ1(9I8+4hI#LvrpjNB;lVaj21ITKh{gL7_}I z#VKby02+Wg^k*G&Y;Tk2ILDbY2sE1H zIlH^W$gxF45r@x7$u>7bRUPc@Zr#1J^x7N0q3^u&ju-piP2h#Uro3ug8S3BgR~%0Y zUrwwWe=h+vg>PA{i{7yZ*5JR={BLWH&weP+{sj*Bn$Lk3V)ctr5w+|OJ0Q9`*G2aAm&sq;Sb&aa}IqV3-PKvaF!wm5Hb-l=nL zK9w`xwXvkG%o-(BKI^G#J71WkP|al7j99m-`sxmlURgFoG|PPq_t6u1Mkq7Yiw9jV zI=saX&9lR}Li&hZ$HQ)z|4gBGsF5B;%ZI=@blCjU(H;lmkP8#Wm3_J+2kudccht<| zC9J~P5)cwPu_DY0w-Z;Y(L?-w?pXS}4`J7Nv~KRiF;xMKW}@iYLVj&Ze9qav^gU8aX0a+4s)f%bFWS z%ZpS#r)aj#`pM>-OGhRESm|}9-fvT4MTx2TC z8YylgeRV~sobz7YzDZ0mn0++Hz{5t}5NsDl`v3pm#`%XMjk(!4OhF@(DXaYlx9^99 z-cd8}TO&>KXs_%SCLioSoDV;>_mS2yAJRyl9|bUy@ys~gNT!%kIBs@pjTGt#KJfGy zM~992W>2+w;Vi&6uJXYWX0@ScMv?K@Vl6O%%>&v6SMJfuIW|cnW1_|46d{s(w)eQP z&Yev*cWGp_IuuIxfX)Qls{m_jG#Z%E=>QZtRmIa!)9ce8FfqZ{7~V0zfEk%*e2hWQ z27R1{?rycZvZTZFe&4tjIWRV08XgmXOU5UJFDgHFMDyGe!EpC~*6bH$=G3Az)HQy`CB9wb3A*IYxRBe+qhAueo znie`(&t*~#z!tnt#3~aR%QA`8EpY;>?gAk45fIJTZLl88q^Z4>%B(Hrd^U#QF1e9Kw4BB{A~e zdz2;1%VeHjkELa{cj$J>Gn!3iW|*79JB}^b%xp^1TV21Ye>&%f3;vJ74=S(0dx_s8 zOv97H*NiWxx(oDB^Zb?pObC0_#^EL7UupjHn&Y#7fqO^XqI1BDReuo()nmf{O0g8* zL2qg1QhYjvx6HCw?fLv&U)(T$OY|}_@0_JDCv3ayj%d$i+oHE)T*>4N;dmS@SoKt< zn9Ylw^qNx0gr=&QO{DOQl_!WZD$h1Dfi|h*{T*@b6gtk`!EK6bi*${kE=#e@8Bc<;K-TMWIb+%m~6wUlj_bz|H_y>p8e z=A9&$&08{fa&BP_h8+-2!ExZ@B72|v-KmcM35!=oi_;^>9mTwi0wI5K6bs3rD@+*w zrp?cLuI$rvHQ2tjUC%!|!<}xucqrwXBhKHW^TW?_1hK>80EP0>490`Q4kt}t?{BzT zId8hU#_IJ=29bk6u6%YDgsCPi$0sL`^qFAPH+ux}@z#U+qsM9{{NY&LsogUd7IBIy zs;q2tZk`ZOC3DP;(XW_lv$oB6i|0;Kbr}SXPx90WUjGKSZ`ZuQc}6zmJ{>i{$TOU) znV>{De!TV!J$ixNT?Rd>!JxZ)pqJrJWL9uOWn6);B)+J;VXPb7QDtDyI3=7G?ilOF z9}u7pOI$I2D9?tv=r4%-nmFK1m)#2$@V>YOvu6cD^;D{!5wzc(PH{(F9;$nyOU{=m zt%&o^FZ%2{x+dClzMto-c|O+g*8|aPOc?fP9K%RqJH$-%j=2oWVGG?e%T+P+DNbhD zs$^S8M`YjFK-;8lGP10t+C_FzLRA&5fiE(%6GeVpD9s9yyzC!n){oIytkn0M-;Y6s zq*BE+P~BADuY$7_jP1mp^Glj_LnR_*(cDX^X)zOu6z|<%(P4LZk>UOHHY^;m0FRP5 z9gc6)V{-vM_i^i=dw35=^vt89fT@Q~&7-l9z8R3<*FD|9sTL=XoXXLs!)D2i19Am; zY32dIK0EUOibJ6%zm18QkDeAoKj(1IE5qQV@zQktt{I=1rk? z)E;OTghZazglktoqnP}4+&?{Np;p7wt z6`dB_2Na$I7W@kBZ0_T{V;?gC`k{CI00#&?2m1Yx5WR4`^=a9=bdX{*DVIkC(-c~ zeUkfFaITZ-ohl%*_X6_{#O|rw3(R}^;!SMUxfRnarrc*MA_?g@+edPdF-!Xf z;!y3X!>hNn8xziVVwlf;IT#FL^ePhKGMY(h5O*6bFnR~`Rj*ex+o4=XGv^6a+k3Hm zD}*A;nki|jG;2i3!mxDM`F1FS&oqX<)jSu&8=?vC!H-ju?hI4a+D9l1n-IW`BxfIv z;htGo7!t-jynYinLQ6AjIr<^E7H|=oN2-dy2@@l+TtGSe-l5{tBpz0a!>gkzxK}nF z9Psj9ji0Y?@VS`>@4oc#d{~eF@&<=VIftL+fr#Sejr!$qzZoyh^6F-thCb#oWin&G zdgdHe*x6DN4>DodN3KL*gs+3nU})GoMrA7Fk0U}1u8$=!|m z%$hl6V0D|*b6mQ|rDeYBNw)R@*0-7M&}_2TWq*sfKnQH_@c3!c9r}H|XMUbLcd?2_ zgS9n|Eiy3ycc=o(_i9(F&sbfhQIKbZimfe>NDc>}D zR;S2(QMqHag8JRc0PY(37gNR%=dl6K`K`?7Ug4ZA%;aM9_c0`idDvZMxjKeH6;j1Ga4WL7vVgIx6 zza8D{JK*3NJO@n}p1@W3XYj+LqTU&i2nZMF2}VD15P5qWk=kD}j2R65F)z*3NE`Yg zYj_z@*VjKcQCB1m^U;pBuy45Z{E)Zg{its0+)m>f13y?LK* z$tTZoX_+TZ@b)d9I7#6-Im2t$dGaLtJsz1Q7#EkB>>!DmalUnjQ)lS)*xV$`==F$^ ztt~$B2^tNS@6qcauy}&0N!Hi#9+$Cyz=g*c3}|)4|2fB1_{~&bz%MG7j4vmE1F5~B zmyd)cZUQ5Q*?*<^6$90OA?}Ylw`hsPi&g(uT=s=jJtn*l&su!PWrXVcvJ6ZAUi6ac z;{qw&RbPcFseF*-lNLR$R}Px0Wzp)z@S+X8*%EF-({a^h(( zICD@A>v}~RU}jB`AW{dtf*(hE>8MEwdp4 z_eIR?H((8NxC4(s4*SrC=K#pS!9L`pV*G`n+H6*esLANuTJa1!JBiP6OZ;Kiw$ccU9A6K6Y&Idq?^ z`+RDS^J6RzkV#?!c>WQ-akVxG7bdu}!gG(*No}p1Yb!kWNS*$6$eBMJL#1@8!&HZ_ zUEw!UFfUId_bS2IuFwvWj_5PV$X!(CN@@;T+yG7|>|2 zxk(5(k9U+6*RJsBd1hx=IL4cA;xp7pft^kCl5t?Q7W7+39OoNw90u?`!t)BSX#n4^ z3t~j{eQ^uIu~$(<(WyW+bh&XPG*vlVlD zS;LDAVv5a9?)_FsrSo7dOYNeeS+Q(BxvZDWkZymlQ3fBXW-ND5GxI7rGCNF6fmNu6 zJ>f*=U~yzP$q@@Ghifn=@`+)^t%!`#1~8sIXlFk+>Pa|PaJG#M`xdrq_&h(! zbpBv|2&<0<0EeGFIt;$G^8llVaf|0BAEcW;HvvXU0B6Q1GCnzp2&!CNsoAxG@#X_Z zDAb9dhu<=EnGSKkwo{+tnRytA?ncJKI6GbDCveImv%Gza>uVU?-$N68~_t@{_ z8=RbCd70eP$e5U5ex8{bjvuGf!F#S< zjL*%~ew4%Jgomxs4v`6L9`QPUC}XBhNtJK5{Y@8BZK%ulL|8>!LSUAs+*?!;*#jV7>HtaB9o_FNaaABZxuyfT+d|{vRlQN7oys< zs3~?$4ou8tEwN6j5K8q4f?>{EitpsbuE;8^!%vL}EYgrb4X(j`_-F99;jhCbC`SeI z|0j6;2-)^I=)e}}5f~@fgK3fTa2^~CU;sY|KL;n^q=<(_*n?I0Ik@69h5&i&$X4> zcM6O(Yv46T-qd^B0H+$M=AjvH(aP8#AWCNJ^|>%l0afJ2TJ1^d_9zG3 zz03SOW@I@xu5)jNl~opx;}lEm?epII^ad;})XY~qd#J#Z!jAC;Md2+YgS$ose^|LQ z;<3DK{7DCJ-I#y@MAf$HzjK*O>8qN3MYDzovC2dBn93dF_s0Q1vhTC>eHMx7lDPG( z0J&1M5H-;qb(P3YOb1n2#<-KW`)UW`B&E${+c7G3PHj)rTY4gM)85@jZ%DS64AoWK zu0cxcrdN}Y;%?%;$zHPiCi`fCt%WpDp9%YBeQ}-?QtYetO(JXt+X)HL1Ic>oQ?eyO8}7r8!Jilr?Kgd0;|+L=YTs9VGUk|VN=9a z02W~q`fwE@WN>A~tIv^-PmJC@2Gb$}6@+2OLaXCdWn?O&P;#wF1cyC9lhJgTvDn~V zpIn*DcxD0{f$jN8W=BHu_skvX@>?)_B(Q#1lkw2pYC)>P3zIeNjlgpgh=Fk9p!W1M zT@9i2y&AVgRwrr$?Sk^6*giA&M2bHC^*{{1?WB9z- zOQfdRzeWE5y+A_0Bf0=9>SxT(dxxc2>~R%Bb=kP$Gc5f*%^TV)dw%nW|p*n-z%Nx^{rbXWJ`Hbr4EIi&nu&Vmg zq+SdcgvGo8G@PHZ7`)yw-7;d9?`YO>`ayEhtcl@#leDOa>X^j^ffUbEop+qKYR2ND z4q`ZK<)#6)VXP$#L*0SP8d*N=bXz^xEMZboRaJSc<|OW!;{5ScP7%PIh*RB4?1iM> zRWXJTopTZ;V<;t&Un}@4!FwG#oF@uv^iOEHqebP&hVAb_0zO0^6QK=|yto$#Et!&b0AD zH_&o5LB>#W4zW=sT8^EHt&*0b>G;$%0#A-}tikVF0GKV9YjB~1Sm0$o) z5krKVqv+q0od*Wq6DNQNX)%Y{GmVT#kJS#Cg-I4BIlsVrclcl#jQMdc-l^XmO33T0 zG;>FYAZM+)715HOsV2Ce=Vw8Z`2Lf*7YLd&a(I zF_g~v0Xi1T=zQNSg(^1_pUo@17)o_9Ve=>3Yj=G2pcSg)qh2~c3ts|8ZJ36cAwLCw z7A}mCIixE6i=%481h2x_D5@SuM>xz-i}2I%V3h;~oRHO2Co#^ZkYT%`mAWaoqW+jV;I|T+X61;FDyX}xQi^7=!qRe*r9@PHJlFTM zfy?&A^$dJ=g={s6^I48%0_wKJwK0;dC+mkO)!=NkKNI>AN>>dUgWf*UAT@SA~X!ezG2#%m!IwkP_u!(b;0ArOWb^nkfv#VdhjeBd#2X zNXQzcLD`Qnx)gQ?gPw_t;e4_SF$`dL!UPKwTwSRR zykQQ_(q^6bf-%-Sa{1uuN?ikWW)6f-gZT+k;@muU*15JqOgQ0#B{Ii;kDKc}GLHz; zlQcXtIh{oY15|0XC<<2Y(d#ia#fg)gJV~B2GsEf{lT(~H!I?93+L-b9<5U$@MOC6h zk8WvP5F%VRo=_&CA-r$=Ujt7I23L&B#+MTY(?Se^7!us_**Gb}F-vc1R>F(I=add; z4C5*FL{!~=+3Uve0`?f`_o` zZ)_*C6gOSg6(_29w76_;U<{CDQ&L(n-7|=BB9;@?Ab_t1-TmEAmiw{F#c;ll93&&9 ztt9)2af_SL?&F(EU$cH3_BPVKcpLO5Ge4z?P)#_QbQ<$Q%o;);9he}pt=S-13RR`9 zC%zxTW-v{bLfN~&T=u)Wum=hLF8rN``P4o%hNyT04F1kY3?AYw!jB$-))1mUHTvwA zM$qCTJlxYT4gbyP<&oQu?-+g7Mzq{hFbRLrC=`W;8&Pg2mU|dH)}a^4gtKja>pqWl zIMw92Nmlv*3k40w`hc@-oS?$30~Q-J9P1?syzuHK|9*}4cDb_0)qSFIZJ(tcPI$Bf zBdv9-q%snKO`4o;**mIb%b#E>$;=D#qp7WS9mTg0$dq| zG0x0A*l94#VJ@wMDCmZos?7A936;-Zu<3jHiV;=m-VehIs*MGW>B! z@TVMKL;r7NyT-3;HfAY6wDcS)!XkV|>0s}QUPj9lpRu%Gm8W94Wj6A}My9 z^UA)-K?2y(d?#-qj+8JPha`GlViIT0T`00Md4|~zx+{(p&Uo1u2eyOUz@-@WjSL#X zJ(JZW-eT8ftLl3pI!n6=U^B^XNDiw+V+@*7*JM2ks=L0i8zF=#iBp-!XHDl?W$z%S zQnc;dfI6XLAKf>>%t1@>F%;gXtU-z$hfA^F@4gzNnLS~)4GF$9(j!flOa}&2@R#5pk8Z@H#YR6nT0B}*@sse6M;ii^qln$B zn^aau+uzu(vsh+wUfpD|!LbI4(`i#X-2$j00#a;=ipW;22twHI06fI-9l??14gykw?X&JYiHBo)v z+%4R=*p6mc?1^^G+A0&y;r!{$KhkL6{OL^h)dT00iOg@uxQCYNGfTTM?wNQ?^ThkX zw)^FN8P)?L?76&539|v(4?$zKDDfZ~BF73p>6Jmh<+X+Fi|;ksE{2_G`=aflh|UXO zOo%ltwk)(n3hz^>0*pDO9L#2}(P(wB=go@It$%bJx=)TG^P|Was;mV}j~WSnX#DI) zHh=6GLjCFyIebXyHXOq!`Xof-pJcU5rXP82laOHKV%ZBU_wY(cyuZszpE6P=K0m|F zF2PV?vB6HoWQIyjj<#K~A9!+%v+V~wh>cN8;B#$u15TLAna(-W=E*TGbZTHX9pf4I z`V>mr({OB8s3Uj0y2Wp;gRnHp0l2pEAj#&=I+vCK<|jBms$jZu4`8B2k=6e=65k)b zJX-4njJN2QG;(6%#4OwUG&4SXf&ch6tueX-%7m2+284>$Re)xLcQ1157G;G9Sza?i z-Cg3&9h{@xCi5J08SBvNqC?;Tr-jccj|=Ot4(Eg!cwCqS;Pb*`%CIK$mo@*2=Ht#` zW-)w9uoT()nD?t_-w;v%T@I<+D-Aa(^a1@sJ@3d==NZlKE}{;TB!6^my3QkgE0{uws|;`2oiZ{oFCClOnn@XijS-e z$Mm;F-QhSCwqN?lTkjp2&%iYN0{o2QAkvMzw#C;sNbuqm4aKP22@VU3ZX8e<$tWBu zl!^U7L)j`Z_z(B#Mx4-(d}SShUZfv+XNPlbqVe1W@9dB%4dqya`vcB*YO#5z%UnU3 z=tiP(WuK)kr(4|Vas7b1Jql&3;(ywt44iE8{~dBVP4moY@(dALMV+hN%_O&KEvW7-q#HIWr_cT%3Z5v-Hg=j zS~rXh_^k4-;f<-$?emQCk2F64FL_6Z|IQ!=pbamJ8xxM9E6M(y`ZgYF{eeUPPqJT)*gf~k-2SCVue*C8Ta~`EZs^0@hc*jomab(bY5&( zy|)yVn=#>COHB|lYr&dkK318}qF5^oMBV+A#>!s9`^}`2qT9(g`n{=U?o!ymPv%}z zGP6Pv3;U)Gbp^H^D3C_xH_ED!=gv};VJfc$(E(;Djb*-HRTASsWZ-g*am>@Scn}jV zbE-|VVcWA|V#)7FQaCl5{OrSkdG8}T`R(ENQ%B~9D(j(WJ){8Mf{i2lb;LXR`{6o# zdW!7|fx-bqV?WUHB&%_FX^+>p>Xx9F_c5!b)=)z32h8XORCs5XUZfXMq3P&G-ru9+ z=|{YBe?ZHzRq^;3yHy58RvjXskV!34O#c&EfBVhJr(^p*HQFqm4 zZIOjMH+VthS?>%wBERXf`!TLLpM37rt;MJ*t{Q7DUyV!(TQ1udkLt1(#6XI-l5XX# zapwR;FL;Pyjt{uVd7rI`+w*xdFIJ=UVr(gx zElQQESXH_h@)V^UI7^wxwq$$a+QLp1Hp|e+vJKpUNker|RwbmA1~G=1Omxn|ycbDP z0G}c1uqYDxy~61jalfp>+;J6o6y6!N$USO(xse?EOGos{p(o}l06z;?NA!muG98a@ zX0&+-xlz&IhlSqH9zozCyVT|p37J6`wqaL@#vqX?2(N8EC@Fk-qwa&2@RZ#`T$4H5oxP6D1SXv_Uv|Bj1eG?CSzw-4|H@F5ipaX9v zy2cljU$fetxpZhx!~ne0XpLF=(Ug8YrL`n)<&9%0euDH{DdIAVWm_bQSW0cy3J=3Ifq&wy{#+2n7mPCCJF;dgXT0~Q7dUs#~sY12_nN%p-F?pYPwSao1 zA*tW*Z}nBw4Nz3^+K(}FUd+ab68eHQ1w@_m{g|TnRjkDMA_YI_?TDYsWPA0_V*vD^ z2Y-ieH?EEl@{>nUbQse=G#x)Qe(EEe`N+ytUed9%~f}En_1x7_hp^sZ-=RQXgh6RN1g9=Aj@qrUg|D`K{U)TI)ah)MwY)YSSis*kS_6IEd z8v14Nuez+|J32CuoSG&<)3dX|&6^Ach;Z^G2JH^L9t-nKPjU7P zMNXqZiah=p~5!;PMN{h~RO>urwY|2Th%7e13Vz3kkAskde%#Jxb2+?AgQzj(E5R~LZl+;V? znFb`qH0*AhAgQk`1$6^;>-U!jgWmU;{eE!Z;m6?50Z_mK%)sj-W{NM3y< zx!tXUcu$NG5-KBJM0~XqpRh{a2>pr<-s?F(HraL@#oMV$bw#c0g z)^_Sz#37sLpyJ9sT18!)F%0XE9jWv^Gsj-9cG9$R?yPg;KKldCEigMqma*I8U_iUz zV2`nJjTGRKv`}ys!@Q z!gI+h$Q1hw)IoSoNk-+#7a|LV$lQ{*o^`*jE|l3#Qb-nptjU(F`7!TUrHj*dB`myGG_5RGMRUR$ax1Tp3D8UNHW_n zNl4-RUCGv>O&LInAHV@ zje=H-UY9}1@)9Rbk`h_Q?K|ALO_p)y4Bp`<;gazM<+`yB7ZV%8=aimt2bPT~A%`*H zm@o-dO8b@FG^@#-dzv}rk>7^})Q1g~$^F_J&D$fX|V#~AZ;8oas1KlGa4DEX1KD#!GKdUZ0>V==VU8E}cEyR5D-HC5M4Oipp_I-NGBPa{I7!@&U}?Co>%G~Uy0;Wv$W z;crI%pfX`xF$N=|t~ucVI`F8}TF{iRXZ)JxStwfuNiOG&tz?*e&gs`u+)ME>NoSOV z`vUe#O7~rk$^~p%wMeO9sp&H#_RY4$RmzPj%{Lka)kd-;^kS+~oGyw}Fu1KsEJ~g_tA;QFS5-iwJ@t0}v!nQBzf_fH{k*E)06W zPrzTtrp^8oBr^jMnSe?7TL5I>;npaGSd1*Lp_oeW`bhcwD73x}{J!*Y2psCS6Cbxf zfrkj6f~l$6qI+&)RK76U_R7fj`s!xAIAm%PczLvv>;YHWE2G7xt0y7R8c~UwvD)WM zi%e-cULN80Gt<1h!DnZ1@abu~vF>g5%mfn|IGp3z4kyRB*`@My8pOmir&--*X^ZP? zJhsUC9@8Bz-etT=r@`@Q-o4Eua~RxMV^DE*h3|QaxiJ-PD_}#G?&6stTugi)nyaqVAnS) zSSv%bXjlxViSL;UPVbv^oIY#ST`l&L^hKSeN7b$bIj3?jnG-iuRy)GLbUfGbRPH7p zR3=;|77LepiCoze4~U8-8;H-aJrt~=sh6ymM8$d`0Gq}H8qK1KVNN8XDV73G#4MHK zh|#I_5CyeV8G;m+TCs|%tIJCYe;M)+h8?@U2-T?Oeco(Rq97gexgR;@Z*Q$rI{L0GSXCYeJInF!-_u1|6IF6&(~ zPrJ=iPqBYMyT!3%?Co>)8jU8qJNS&u<2~wFzt8#xr%s`dN{zq_o)bDo_ow7_yW|si`s(DpIV zm=ZdkiR=M^uN@JEM=6`kINN?uiTlDNFHF>G=a4|{K@;pzhRv&+yt2v5o0##+2Cr=L z^$jlVb7lVlvBgkAG78XreWUKS+fXuLV?YMINQ`WEvB02DGQN48SFVtZ_m>Ex2i4_e z*7wMU38;>kD17a+@s8&n;o@EP`>gM=+pW{M%ZgUP`~=gT+7zrJ+Xv(x;L!yN&)rSV z&U1I2b`x>j+a^SuGCt1MCcx}G^YdgGcb6y!R23^LGz!{nE?%TRVDT6W3uGC2#?`CD zM3Lix$AniBm*8>XIbj6`Lq-!r;Jh$^O(Q`|D1;TW$Fr=FQUkjZs_PI`4@9yMFe_EB zBZz)Z86@6RM@mJ%oAP2y$V3`QU)_3$tt{R51yu>*UF0b%i!6&VbVwJ;j}!NkiF!oD za4AgZ#d`2fE7xP1(%8VAaJD7xIz>|)R(Z!pmAtw&@ok@63?Zhzq0V^=jbtV=Nfi^j z2dG|ZzYsFMdzfQR145p4f% zQrKR9SR-YWGCDrW+g7P%-4JPq(kUIW1`j7q_u&=zn7GPNM;*TN!bClPeiE!^1Rh?T zZs4t*T3I~^yt9MBC#J}?j$wX!ifC;0nJIXzgTX?ZtsW_H`#yU;oMJ{9xVwP}r)P+X zL11l%epS~WzDG=5rk19lgl*9Y(Z?)RPD7}Y$-8J2b%@XM zW~lajz9_O-^;dmMf zGx!PkZv`{^@ezT=;r;nHM>;1X(x>5Mm=4i5dlV3vHA^Bn93O4YN4}iqCLc5RQdflSihp&FPfqdj21d>B3%oSL<-NN6Z`d5B;c6@$ZTtctwDgFE zIr{O38tkDqd$tY2+uOV_!6R*M9z3MzCU|ies4((`Q(oIb;PbN#65rUN41Dh~t_4&{ z3FkO7hX`e4r^k~gNJgi@+qanN@W>oh;Qb}K1MaL-WH@D_&HMy2V|4rUD^AT4A_x6Z zkNXL_C8vd3>ohVZTXaiqukoEvvA#pMWcz?J^0`O3x5HS$?h2}?(H}Cx0c;wl zQXD?RoY{t@Wp(o~g_*DnI5$YCG`pmk^I5y>r!4Q|P)Jb*ChPYZT4# zGVEG9uGR>Bm*pptU9ZZdKBka4e@@cf81G3gqPeh;`Hf^POG`;7sK!-xVwlL(p&*ZC z)#Xwr9oweF=tP#Jm>@JV*+$8WW~x%ZSE%)?K_++saZO^D9MF`I3G2b;9hq2ZDMuQa zQ*b0F5}_Ys;YF%)*EB=ayRD_0D)JYwEW|z-_9JFTIvp?xe*=IYKZ3xaMfA5uX5nx} z&9-4~)MxvzzzqO)M+CnA99r;Y_yLH+XDAFt7T}iv*c|nE8NR$SivDjNSsadONbs9* z9lY@Lc1$zU=$GLHd))XgB(rj|$2JJTeKKJgiwZ*YxR25gR(i!K;#|ahV z6O<+DSXsgE!1o9zU~R}VJ0jKl)x@7u4BA2gZyC=H-DNQX*HsTRYsac*>afj}wuR%6 z)QL!Cbi8|6T|0#rh2Y#3GarL#@p!B-J(CrCDI#`J@~2~kQ(Q&}ct3$8L*k3O@u1$`NjXe=q{}q5tMPk7R6L7*!h{9Yfd;eX~QN`6Ca-g+dT>VX61 z^4^1}+He?b4C;*aAy8kKti7X$Kph_8$?~cW#q8-oC}tr)W3G0yoyF0?$7}DEY)$ByoSAr41@$ zdIs`Z5giIcgTa77$;t|O&de+u8}#}dTcpU@-DRxJ-aa1az`oEiZo}~6+%OD&(|B6Q zM^?@7Y5fC^ucJ$n{Sne{YSs!>Uvwshf14FfnE?tSj!5Dlvvx=S1AqvX44- zTBi7ZN{EsYR$a^+<1wJ}RPNsE2b#GFdq<0~SUp784(LCL{fkZMY@; z-Ue%f5AS(-;{nnR;rHSsFK_Ui7bk12_2?LSUv3=K%I(+Ju^FBi zt993JZP&eJK0D3Jo4hcIz|&()HRuOK_{0R6<3x-5B^R2A@cbE8w|V;(&z>e3x9-y} z_+SZD&dd`NClc@7WxPovBXhiYgD-xH?tn|n%#E|Y%hRWZZSUCaab^yK82Q#MrrTtW zg$b_TrwkMsYr8l&dz`_5$4;=e!_p3|f+}%xiYn2bVQGo2E#~JbOLliyU7^+D^eKGC z%^Qr3(d$tZc*p6}tgKL0_{W5IjRiqR`58mM`GIi_j=`8bU_l<2`ayf#;xGBeqNOJU zOX-`aq!^q8?-Bo$rPq=1Q2v_p->vQd5ldd(cnX(&!@NT{qw%K8iE-D`$=qWJbgY@b zAJY?=-d10PvT%-+_A9eY$CZT`m&9F7b}U5~``a$hmCAGws#fM^salfm#JsJ7x@~O` z`=INQrpPg>UgmeIxTs*Xyz3<=FjHg_s*Pa1WDTbUse&kkn6{&BBe@U~&Y}Y9a!i~r z6M?8AQ{FbC$=a<}*%SB@{I>!hu?9IJ1Hb*41R#U)kz_j$g_(_*vk@79HxrTB(QVy; zAA=H#kt93~r$>GrU}xly{Z5#EIHPS70{l4q!}~llLEF`>lwO*~Ms1Z2O|`dn>V^}4 z_(W~R0WVC}n&*p?7`(Mp2PY0y(4+G5==^7I){{#kAL-#03#0J87n+W5Z1B_=xzG>% zyL+7PP?d}|c=Hx(J9Q02x8&v;t)f22_5m^0fy7ROQ!}Wd!s0al=FK`y^vpa5gZh;A zdYqU>6(`_O;pTllbAf)zv!}RthgLx&zqAHS&`*r8ADp7P;ui1t#;i7(Pu}Vh=79&!fP-swSBkQz*UYdd zg``SKLA4V7HJ3$|F-vcl21`kFA;sUyiq9#Rks{d+)(U0MH6PDhmC_?>%bGPYVraNw zzHl1z{)1@8yl(h{7%(hVgA(#w)Xl`SC$fi2W=+zJrDbu2$WGEiHM2BjUK?Pm-xA2274m~K3#43LFh*{W%C*V4CJd;^%``N>C^Qddo;B5N= zV4nYwzZIUJ;LYtChyC=xb8}Rv_98!btJZ;gk(TF`&H7oNjBjj`h7mu-D^+B#B3Ewg zvDjdkNVJfZOXMoD0bai7WRoMZa&4AHJgC*s-(E&^DI>6m~(Co&RMmLE0Ogm z9%*2GOC6uBn016juTY_&XA-5S?iY*4)IyfWIx)R&w4Qy8C6K6SP0Q<5L3%y(<{jqa~U9J=A7mxrAbo_ zun^ismO?NQ=^gw7_z7tJF08?$>wFwCUm3l72;E6=unuDOUxAH;q=P2>G-PHXGNO2A z5_TYi9oT~@aPU5K9zKm>6PPF91EH;`Jm?j1h_RQCD4ZW^yK5i8>W8)+dPiRvb!d5O z=Yde=h@1500SYF(FhMVp;1iPoWkLk!`1BMQnPWd;MmKS6jDu0b41p8Vh;V0}oi5Lu zsx5){?$&A9r)PP82{SBl=^h5}+~x@X=Ds4##$7fjeX9~QZ#85Ts26HH<_GeXBVeb6_b+;23);Hr^Dm~=gx6=iFS+o z>zqBq*>mjg(QM)yaL-tf`l`K=_(1rgvTp3jLkiVZt7|NV<3y}})7%d_M+~UzhywRT z&s%6(GdNWhn8dq{yNN>{b5iugDH{WxBtr#4rSE+^ECXuQDEas z04RJO-U5MtpzQVONA8cz!d`sPAn6cSht8EDU(;dl>)|-sj^d+PraYW|I-J)$+yX;w z)<$muBcIdP*NH}^G%|V>4aX~+c`5R4L*Gyz&oz5l4qQmqdQ=$%bgAG?=jw_@a!nl9jZj^ z@%|bY=GiN0x4656WE36l-2*5J+AS9536T(Z?m52sO*$QVJ(ia!3KkdfQ^I}d85LYH zy0DdaT<8LD@z8fZ8qU&7!pkx20_uiJ?ss9YVpOH2^i`LA-mH~kQt!;NYS3~1TQNK< zw0xeBMl8L{mdGST6Fn~Jexk_p!eR?iVIu)_luoR!XrmxbcTCkB71NKMcPNe*hvhN0f&P@IM${_{1dr#Qnj@ zqN6U=1qSIskF=rR(I&_v%(KpP8l~fx0pMaNZcrhq!%m zY}7Yf;6biF!T8n=3BF^RGcDfPCFM*PWR83A$Q)}sm~r`D&3K=Co;rmYDRFtEg?{?{ zgYFcM%+(d{pE%1KH+cFaOPeI4$PlT^ogQ7_V8CRnz5?qzER54Cc9V%UoJgLzWwQ{=tujp&StC|E z>bgE_XlfFirL9D-st`BnLFE)_1=mZQ6q8U*DwTMZw3P%=oUA2X2%+h;6beaO<`yKz z6jMySBo0F~BXzvrH_1~dU87f}ro_r+Q8dPsLL96wi}1gR(aZ+WfWsPXnxz*JAs3#V zpyO+A(?WyK%yDUlu}Kd0IXMl++Abn2ZPqvxxHD?aeR>u%4*J|3d2ZjiU1KsCb7Ne* z!+48RGbH1^yFB*@DPfLxZZpxUb7j;q2sp>hbs8C`W&xsce1_k6n-h!7b$EA`Zl7j{ z$%0FlYR62si}xHm#-L|19hb_=On;pq+eB~ zXeKP1mslm!O5=oBEB95Ewvslz-%Vo4ELJO$&tQd$il1;Xrd-T&32jOJAQQP_n3+@U zn)<4oQnrFLtEw!TF(vi+ckFHhzX`t=CLn|V5&puOPR1T)#;rmF z*5JO`I4Ct$Yy+l82>=;92e+U*@}`bw2y|mzA~@t491b~>dN#D;-rA`fWe+_o!?%X> zq4(v*k9cc-yK&=yC&sw62k_<=pP#LNz?R7+I z*QmkG`?L$%1sJ=1o<0T8E@~U^)GR4+@h%5_HVSfnVt=0}o?uWiG0x&5 zSFh6PP?i{+IKe@eZkNX&qua&Xs0HsZo3SF3QsN@e1>6NB7v5JKpwZ#h3MRh4W-@&fB8 zE1bV8KBiJc@Y$`H8YvaZjLA|=xs$cz+QbDfm&3m z3SmMKm9-f5T`^^0LTx{(h^hL3B#Y4-#N3M+1EXajC&j>N<#u#=D4RDP%7Xrfqf0mJ zN*_jz&GtTW&rLr3@^@nm9=`n0K|WT-+Q((aZNRY+djGUp51tkAW=TZg?>gF!*Ead? zImSGnpW*A9JU2m=_`-31W3A4Bd47Voc4{l`Y?~Vg2%Krxhn3N{A8N3NQuNg$^7C*U z1{Gf!HC-AC(xHR&tLr!=BqlOKV!h9^W9*iQ@%lR7dyKVB##?;jYV9(4_7u@bHfpyd z^}$sGVk2x>C^SqF{3f6cOI(5-q&Rrr)O$a`LScX zc7so!r#E1CpY;KsImdnF;uT!Mv){qm8fG+Gloe)7Pg9kQk25*R_BQ2!vu79|XLXET zpVd`1H}S)-?8Cc>@7B5t8jy{;Wb zT(%{CRxPvSVihG{NjBwKOPXPGn)XDus(7k!s#<8a8f8AuH)8TBs0Fd;#AiZ7wdq)j zq4Z7!h$6CNS=+2@2DTm<6UoFfp^PE7kYRf%JC?ih`U3xWv|RgIhQ?m2;QhOdHEVCp!X$GO{OTJI zI7o-usR#(qoFW+^a$^m3ytl-s&fz^kCcJ%{cFyz+C)#XvS=uCPGUm8*XCz~r^n1K} zk;fmyd%Wk7GgMcYo@OxM+BHs`V0(wlmzkKvXYgrd%W9#wVLT>WKBDvteKQ96=mC>k z`n2k6NT#j;^I6N%L5k0*eqb_y{S+^FoyAD;aVH-P`u!Mw%VnQY*$Ju23Q5VT5?>Hg zmEvtJ9LZAh>UWYIBpR7(I`0$FNHAG;E8)0mmC9VR9%>?%5^<0;yIbj$m3!i`L<%^G z!Mq_Uw4ClnSBM;lcZ!5ch@gm8#8e+j@}fWSlJKg}9Ex_R=*aSjnX`S7-(j2)Kh+ekvD(SA=& zS@2uJch2C1jk5NFzOzH&C>*bD;zkVfW4&i)^CMG1`jvV#if89*nyK9$&z$1S z9IHEgu!IPwXX~#U0&EzKe)kUl#diR_ah+q6tZwtzVtta=R(a|q&LOa}RlB)QPIG0I zLFDEpjhv?E_zVjjLZllAU8=-TI-_aB;=puZGN+O`xgXL-Wo_qj zVy-GFh9ut7n3p2iev+9^+hSD^n^-T}AXMTq8g3`VBHI4lYcIfG`3N?Cd<2-MUaK%tZ1Lh$-AC<} zEd-_tJ~7Es$!ecQ&I^mYyNem;7HSvEjkS?omjKpw>a*JI0<;Ru7;AERrUunJclgye zI5r7zYKHEh2D4G;d=KjhMcD1}^hrecj>6{z<;1Zg7T}?8W=J4? zUbtagHpYjID8R+2X3OMfNR1foA_B9|qPAvUZOvE;luuW^v6s%p0?dqt<0%zK?^G_1R;>L$dTm7zIK z=;bQSXg$%X+-D>~r!B4~L!5}3=zL~7RqO}L)V!rWs)C8!519J4OB-dJ&NCC=2t5(& ziuPj?Gf{o!_T>-V*HF~1yC@J@F{O+y6qvPoM|6GsjpC2KRk#qHL zi70$+gFmoBc$`zuc?)lMQJphHlTHI{?r? zFTZq{y8YQBHBc|j&>O`hhC7?1dZ;0#jR;L8S2D%G3+;^0PSMG6M%m?uPO~i-Otks@ z6TESQcES5g?DY`AjPr}NrN^i;cz8mWmg{iEGpA@Z`1GTE^ExvfS`ExNHOs|2oIge* z5OsW1l=w&!R{`-E_uPiF^*;Qy7(c>)1fK&(J?j>aYO#ER}#-E<1q}- zpw5Zh4{06!gvz_1E(@xtHq|v#To2`x&zi_yj7{gfI$!mB>KTUkQxunzOi~iF6iPHt zqA^t0vb=#dQaYA;%lKQ-L~UAKi81Il^P*9O;QUyl=|Z_ef%C06XgR$bT{E*LVc+~* z=9{FQ5F4rLTO{|JcyAG_T#8#!cU7l+>L*>-95G9lG;g`E*$-_m4VM+6XR3Yk6E`n@ z=(2n){D$L~VSQ93c*xZ`jFNw>r}Td*Yw%-_FqE;w{Trj5lkhi1fKN>`?h)#ipu?^b z{Zu!f=ti23km?{_rhImauWvA4@Z1DV$NRh7>vOC7?NYZ7YoI<9t9W^XG0*WPz-OjG z>eRDgEyWN*pPFPUrx$5wobQll?Cf%Unp1FloilT+?bcFjzt8tP4RB`z;PjAbYKDvd zKid90NRm9e@5Dau=k9SwWJKgyl}Fu2*D-xfpL5_KIGCB90V#616jw_DBqgj7W?GZX zBpUyaQMQz=3@bB9|Ea7cilfEgTp_w-D6-B(xTRe45aX510(zo$R^ z=aG?_Rn7vG#wXcovoO#7`?Olj%>#^$ zF>{QyHF|x{ouk!aWtC=wiAjzhqthXi!9R1*`&}OSb3v#nUGPSt(3pYIhgY$GVr`DF zW24ia*A@{kP-{g+qUe!TYb0m92UdM!(jr~NhT#|@{jM5+5TsnJ5~NgAtTmpm{eCK2 zuwvTCq$hrVpizj1p%-W-zilHw3Xf@bt=Ba{Fc35FL{nK~jc2^RwR=&NMT^FyMEC4q zv*%6t1Zaq)v1_5G(XuCE&7Me3ZOW)3c~1hdb@8(X)T)YD+Wk>Nac|L4StcK+08kb^$h|b*_efE(8Scwlyt~bt<0yodAMJ2; zjFcf#et(@WjZp}QB7XNVX9_HDP|9+Boqj|<1#saw^%ja7Tff^z$H`|9p}>}a%nds?aF)-g$fsr^TB;C&oc-a%X8;3C^IF*aC?;xAMo59tsdD7 z14}DHEW2IO0oz@sCTX>(R#{r2(Qs3;%VX^9Fjk^J!1EX%Cz~aoXLpx&hx6y~E4ZHB z(RE(f!zE(|%5}>X1Bv;OOg>mv<{+cmjY3P%6YCqV50M`jWlL?*56-CGi6ZfQjomzg z=l3FeDGKifDbSMGhDj0j@O@Gl`aQhBf*tgYwW>BUK|y435SY$vYwzZ<7Y=jJlm9@B&3XX zgH%ewR-`$jZ9mgGdAa)VIwMfLkJS;8={NWY~IgdB1yj#OJe5pvJE_&=lTrMHPY=&k?IUrQVQ!azji};yI z*1L=aPM#E86!-4I;zS%V9w;i-cw?M*YWpV>?=?csa|37E5gDIm-)$fF*%;6r(CpFe zbMd%~5AQza%rwC1Y3@7*lI*DR=_0S4b*~?%M&tF$8Q#ComHGW?^R!iD;a)n$%~e`mF3y6oSZ8sQQkIoEy@={Gckj9pg%cAzctE$q!~}x@$7WbvrCdgp zN||(udMx5-h-^}#h}U@X%MG9a1!#c?qBJ!bVJAemPW&Bf%W8|pn#1ZP#jE2B<_9Px@IuXb-G!5HST$y8RFn z)gmu#q-bnQWh?U1R!ty9PwT2;Xjn-T2BMy^Z7cTP$H0I0%qxE8;Ge(rlSMB5e4oL9ogMZXRLXRF6bhs>G#ZpjNn(bB{YuA#nz9FXlP-!_R&iR0 z;I=w#xh`0^AQT0~oI`J@jnrF4W>uT2Jyj7gHUd%c+BRx>{P#gMUS_3=gn+$^I?W$)(JYxb03!cB{2Qugh_{Q^$ zH-&CSD$yY0`Dx$JsSctr?Rj-e-i8ASx+w6!?IXoA_`=)U z7{Lf{RCu?>i5!=T6a(%wS?xHL`?Mitm`u|S$$L}+`qnifJuywX)nhK}`k{s*Zds2P z%Y0mSu&oo3Hr(1HR9YdI%3Rwalj5Bk=Vn-LV1&zaSUWJJqjtT zaH2xb@|Dy4;~!A1((X_mBb^4}!2`~pCyGd==nvT0C6l4kp;V$&qS+)2@kco^Gr}=( zQD{mbNyZeRpY+!&TpMYp@NJY9Er?kY=|U5tDBOdhNK5Uuh(%PbF@&D)S!;xaRA3|X zP{cDPv^EtE{7ecB1GOdy=tpV67cYc@VGv{FRE9whI{>4RRU;D`u1cyMMUy_B5i{tO z#cW|Z;*WWvBBE+UL#ra%inKsf6b(JEZ=`L#yik$I!UiUSfojn0s7VJ#x`WU&rr^ox zn?F2sSwABg^Xy%7$>TqlJeY<$SSZ2&5&j4GS>Vqa4f1p}*o_cz69t_bnmS=$Psn&q z1sHMj%p&MprqYNop5j7*yG_=6TrSZJQHYeZ7jqWLdW8A}1{@;|85z%|7&2Z`U{nI* z(yhRw4iS9&7`=#3_jta{^caE9wLPvbu(5|Ki(4)=dUl3hNZJS7fZq7@^Jx?cnSFX% zj10$eTsV%xtrhM)<`w0pE}g$fudDqDrI9xoN(CgICV7Qs?Y(mh1Ek z$H%z-kW`ATZE{%_=4rP{rx93MW@^%@8}|FOTNDZ$KgRAZ`8;D|2g6a|p>kPhC7r$| zX`+adqVw?HX5l+Tca)-(t?lP6;M>}LZ?l#@bP$QHAdJ&->s8#&Z zaW;F-0@KFXp1|{Et~ZD*o^cW8&ri~h@C74W9p}~#XJ;sd%vNb8EmyGx0(0XmZL_=r z!oq~RP;ad|6mWfsSI+@Swq_h)dW@+O4>t*X;vTT;ON`|ZgJ-xjOB6xComE$~xH9h; zrzxLykJ$>qT$Pm_{`uQnJWe`;=QBM;x5o=Fu)WRFGW8mndB(>9?mwVEaJ-rEacVVI z*YHU=F+-1-5-q=*&O^}Y$ca5CllqB~&(W?-!`h^n=CBF31K*Z_^fFhyj6C@Q3k zZ=`?oN4bO7>S$g5keM9{IG?!dsL_tv;Xi~4NWm{a8TOv^Qsv~q6V305Xs|r;)}v_f zAAlri@E50PhP+ngof>ac0bZ-_3xsNtvl%8=T>3=$M~`^5N;%;A9($qVYUe!u{W=pV zu8!depYC$Hh(IqQ#8aw(43pb~{`dQnyzebvuTF@dU#7I{$Qu@4gK1Z$CzrQ&XdDQ>UQ>Y=dNAd_Knn?L^oC}Mc`K2uW+vK-IwXpsjG_}bT~@8Ef4 zGjy}0Gk6}EtdqX)b}1I=53owgKj;Zl;!1+^!iv&VS_y|JmNS_W>WM2n7B^xV+Ju7$ zgNZyJF=fHC5n{I0?pjkZ2CEWO8dmJnKlyR*+CRx2S^xU{h;LQUTE`(MMQPi z;)`a4#vsZFq9zD?Y5cS=T}#=QQHt47TFh{L5%YW6t~Fo;BK}N5f9of~|L7`@oXpOX zw(}(8{3x-&LufFzz*j4X&>Vi$BjtqHLA{+6{o$2?OqCgOU%h+GVi~i6U?;Y4i3ro?$NMrX&9TIzKnbULUc%y~Ru8 zY}6@bdGDT6r#~@?D&2vbI6q8{<`PQbPMbL;pXSSF+^)F<8GbK88&~G}-Vb^8EVox< zVLgCsK-_H*lV*UIPI7aVVwOUNN`Z%405?`q<;)~^x9D^zmpOlqkAK9<3grrWyBI?{ z%@2RbxpSZti&VNiTBO~fTBYA7lSz!Q08_#vb%E$(r3nHbTi!54u&Lz1KqaxmYYOms zEXO8*q*TQa*r;f{wrbk=+py)Jg=`|zBAF=M#?N6>h!xGG(#?K!UToS(%j%?w9!KH_ zo~U*)9hGsBUK9mt4T6oV7>vn)!ZFxFt&MV6HG&vLLgPskMqy|@@lXqqVr^8%>sm=k zRPm%^)fZ_E!d4g=jJ;D&k2k4q20ULU^+ZiK~et(pYQsy&A7nTpX*oY4S0a zYefX&Qa&j|TKIU!&6bHZqo&fF$dUE9-Q?>NZ1mV2a3be2Kq8K6L(<2fLcPy;mVBC$ z&(s*}y8ydwt}M87zW10j(@wAc$^xp~UO9X}i+g+<9T+E<=9M#i^ngnVSid~a2lpxE zC}o)+kE0{*K6ZBKd2UowA>(=!QLfJM2RE1=zIRGbZU*iWQ&MlwvGBs!6jp$V-q35?$TNZ2>q%-TGjf`gr{cw;Ef>>&)*&p8S_-?}VVby}mH$fZo)sPgu<6CjLPX}^5Jy~1l%=jAM{ zb}9M1UkCVThi-)8_@!xsCr%$Ro&fXBX{T@B3^|?W<{mFq=v&$m<-k=YNYd{{Tx!(! z_`Nk!X{^s~n-6y|;*|O0-eQF1ZB9=^5`_v5^(kCmVl0mcg$#`@fWWQQeW{Ds^<7_b zifpPpuHzXHPE0X34$93HfMS;G%Y13p*;_G9FG7S969AuWv$#kmL%Tzz;z*>KEUhNS zW3PciF2~lE)8^RRVrGU`T%t%FB&NNWl;-1d)=o0O;4>u;Hx=N!h7fYXrZO))hIM5@ z@S-RX@om%)2_R>qmhtk~99Sf6ZBqo15PZ)k9Ap$RW(`pzJCSCL_C!L})}ZeTbAe}6 zwcot7IGRnY;SRygj^9@)r#vnGtiWj89 ze$R?oyL%1z>XA~!ufrlR;RQ$ z{Vt?yO91%{y#c^(hxsHmI_zBn%6ZpL5tC-FEpc*^hns+_XXH{KJU7dS54bW<7?MqK zZw+9691)IHxbc|jF=`#sY1HzSbEtCdGuGGX^_iRi<-`dPHZ~{}$YhzHLzPdjQ7V$p zbNo0fD`bV$RZ3&{1>Ep6PhfY^17zkTz1Vk&5)x^N<>z7Y%|SQ&8%Wt!Omi zn}XV!;zL^%s~NQe&u=T)u!oAVk#7Ve2356)_*fOsiXTWMBA!Phim+n66dLPm`>18m z^L$^U@T+!|!2%;z@kH|*uA_OHr&;FcdUp64$B9>91$vNz|NTKqQyDnOaT~7tBX4~O z4c;9=gZALvMh^awG5Z$y#yD?pBf=Y1H!F7-wZ2q#1&O!-_)^88!O$Y$34Kc-yjyde zZ{X8CCQ|_GJ=VH(A}$mN43U!anM_giUCA+2jNvO~W^-)!m=(Tuj2+nR(Aedx7g^pW zmv$|@acXq z-1hDOgp}{%(srK<$H-*pTOMxH+(U#57r1witu0=935632bUHMe&LC%I*xF)alM^Q} z9;Z)p|30czD)=!mElhrlJ{05VR46B-3&7#P3xXY?m~JU);T`J?IGzFaWw9Ts7}Ye| zHYS3C=WSXksWqP0M^Z+*CP+gn3d=%W#44!mSVTiSUu|TKU&0cFoydkJm=x9`4b?WG zC76T$& zDDuf3Ige0D8~5LCpP39;G673#Zj|TpwxeHjFg3coO&&Ld@bWy@mK+W3#01xu+=%%* zk5Ra`$95B-7O}Sr zHBOv#BhXHspk8NuoK}l=n`6h=*TN@J7W`qIUP#1{C0DS`{ z;kvpIG+qTE1xrdAJfWu;xMIjd2rJ5zwS8kMYC9^eD8hK5XHY!PYerE{r0WG%OhYw; zM528NY%~x>HSm0~kuhFRtyT4GxP>TKFF>hyBJm8duqVDRidDPXXUvnPn!G38AX1EH zBM%#aQT4)sib?sNX9u3~jWG*1KR$FdKQR~jkKk9HWPY(l{VM#{!R;~Fi*0Q9tY?@g zBgT2u>;A*!!G8tUlb(!NHREVE#{H2$pNIw}NpyqDeD0&cGH{^JD2`Nz$nbBRbT2Yw zu2~$Z<-M9~#*0rcz8$BMDZi2OYSq2?-6oextaZtG+-UF%Q?x?1`)qW{`zU<5%m+JM zE&((Ld|cPg0L{j z^(ERpXFs_#dtJ^S<5-2X&;51g#<7-Sma&{mjd~skkG3dfQDtU~yBmDtdA1vT^qGqu z=jKo)ondl+NdjC2^5gumpW@I%Y`2&c5Gv>_i2O88xoZWu;>5UR~#I*5&;oLa>5R3i}! zp@@n}sf|3(vymu96wmLA2_x;ObqZ!87BHR)krJSIK2cUB&r$z15fBX`{>do|u1clk^>hz8@gNLbhLuRrP}V>CD{8@^O_l(cwIcHI3ioa`Ifk)go=M2ZLl z%i|6ryjvsZ@vy~(B0B?G5k|PvL?JEQZ_>4haJJy4@a~0lEN22XLec@Btkdbc)aaa| zN;+U=o6GYKBIYyPUPVScUQC*qPgJDh)Mzowh2sFN9_2h~9}&(>6NTh60G{uXV{yTw zn&)`crAA*r%VvWgJp?#8$%9SWZ7LNMDi!K=8cix?M95^w=lSSErlu*E>2=BH`0zt6 zT%^~-cuY^@$0fnO(icZen}AK2gu3#s1-KyG9sv?1AqARz)vp+8%1w1S>yIomM3LY{ zVJIdgvMUlmD-4T5Lp-t8iiYC%#7Aw>n7&|<^dRi`L1e9lVNOiOlY!9le2v1MNDB4P z0v1eLOjFfYE5=yW5E(Pp8+5y*L~Uq1z^D$Cmf9c+4F-`@4-b<@o?(8!b!6Aj{C?%g z$oQWk88ckZAOQTgNl_8F1Y2O>Z^Hi_ehuo$uGj~TCQ*-~!Plw;#w90)AaEZI3P2{Q z4Kj)b$6cS%=rowLx8JN3moapteJKKq^N{hb*j5d^U2{o?%Ox!IECrve#}Bp`3wXIq zV7T7kQqfgEGKTd&xd0J*!m%>7rW;^3OpRV!M#KfEV>zxbGnNHmeuCX4T0NGN54CTT zN+IJ4hSOtI3oLIlJ%$J=pHCh!SpvZrF3&rEdvnF5Mz78?St6HaZS%g>e+te=p)h@^=Is=pZU46-8qj)x>*jOr%l4^QB7kaVC#RC8R;^7(e!vi>I*l9zg43yJ3W-`w6zL79mde+SY9#-}* z6tU_O!tIFDc~qH7qsm^yR>-40=Zk6?*1OJB0*}x-I2YUh(l)sis{5pwSI_dnJ;rj* z-mV|C$?J=J=Vb;Fzx!iQPEC;s$fubaW4F!ac~>%7PQImbo@S3ihRr70Ad_Jba%?D9 zb)CgU&Y!2-17%{I#U%;_#>NmsCW8o_4htt(d_<6)*m2*7?aQ0RvY-=9bu(>E-m}bCz)St7{3L-{-nK6OU68H?-Spb zgWVXhYQ}FQsu=>cFU%AjYCR0mpnfhI9Os=x`QlcS*Q+kz)VP*tl0Nz*fQr{ps2gP_ z6aU|tU;N2-PSH8wVQ^azAP4iWs8GAaASGy@k6zdf8Z2_#yYfX0j-2;n^?uK;5(C4AR#Lm0qw zhV8hNDSU(IjuOJUcn#%J)PIcHC@iGXChYgb7bG+25B$Kl(ZJf!^HZK*uwgzhn*)e! zN6>z!6QnYJK-f1?Xj5r3umK`A(m_9k-4!qGnNU1LW}Ef(V$~NG*6yi@6;q7*#%gH1 z|Lrrc^`q-^0o&0vnv8iyx#FiQGyba))r^?%y*@HDnL9BOQ=QacPRs^0nu9_bwM_0e|&dz|K zaBhb8?zx2OrCG;xzO{@Or$#NuD>OT#Q~Om%50-ZTv_w&<)yU^rT4a0zf$1r3+~8|p zV`qnj1-7>6b^z*idOZpSx;=Lb^ZN;7CWL(Qm3`Oadi*Vne2>S3J;ewCJWzm@*a(et zr18A_A$nX_N!hY9JiRW9S(x^wqL(GNErdbHxljLsd73r&N6F*S`^XZclT=L{VU41}3T%qRWeLPN|IwgP z*xxingD3JF%N#VYr=!8IjJqsA;yw-=GqJ4-=zjbBi)GTrdA}<~{`*BT9?y^QT#?^g z;l(nY5MZ^#<1TY~9=Et&#~7-49&S?3GnV7QI=K|R0qFqW((EEaKXmEPSI;`V!(jvA zjb%sOj++nTrruktZcz5zxTE0QU*AutE^oU=-uZD5a%pzj?p|_tgPF2x_TQ*8F-yD6 z@i{z?M~`T=xO|E2Z4kyMSXre~=Ee=uX>xh4UE`Hk=ypk^C>FSTm*cbeQ{uF@@;G7| zaM^I#u%-#~695lR2|0*h5pqle;MA&Qh* z6lS8Z4^fcTC~S(K6FQ-0ZIm~rgYm`qgMK!ZPD48!w2VI?*f0zSs>Vz=cLuPW%4QmM z&v;Fd)~L^WfG1`qh8q&9dI4W>uBXNDef_~2=1P?C)3(7O(eS(7rO4ju0Z8jO!W zo^@HG+f8@mxdL~Zyj)>#Kq*Dv(v2`_es>Eayj$b^F@Cs8+NaZFd7EsC`ElmP>4$iR zTPp+}z|yvBDHPakGe1r~oiMXUsN3(~cjg!Ctj$e0-szcXr)uGQcs{#LF3+PdQ(~)$ z2n&+{xf~gv|8NbURACTODj|@`kjv5OI`($Vn~C$Hl`_4)la{%8leu}qkW`9diM7Z0 z!;;`5r4A`*!K5;k{5WxG{n20h~ixj|pho)_daDq5^+Y0$$@6*|qn=S$aSvV}^!xsl0@_1cwi zfKXD+cXsa@Z>H1mti_mywGxIU;bnuOD9b9SmW2O1fhpH!EB_KQE`ln(9s`#@5|xIUtqv2svRN|O0@Peg;=gJ|&0gl`!?ei|Bl zJ3)h^@#koEhl9X7e*EzcFO@ly2l#Y%U$gY19Rfqv!8!vSwpnIESY za-+k!W2n;Zv$o@0*;tN;8$8}2v^;-;-hj|@f1SZWFcm8`?R6lw$uoTTz!_wGa+|x% zj}!Q$13q2kjq}`jj4>3lPW`FTWf0Pf0F1>bi(5<-89#+8>+3vx$kY_6G?@(f9QPkE zIZ35LsmS>Y+`Z#!72O`$EZr{knj6!bPGQFIE&O)GN#VS>l3*-pv5~-oW8%7&s=}_K za8qf*Wypbro0gmaY$}ri@Ewoa>gYAVdEveyLQm;|!Y24|iO92r@CeRCgMr9#8;;wk z3k4Aqg;}-5-aw408#B@C*?w1TbgI|3A{A6rBV*{aPDd8#LO+TGt{7%T1s>TrGp_$6 zWX@26i-s>h>4F|zpPQ$7;;x~YeUYa>d+!&t%+Ufy%(L-9VF!LYsZ0R=NR9q;(ID(s zDTW~MC>k{42-)v$J7YeC2IKc0DK@);2aqxQGLY}q+$p_VqZlBnwf?*2&taOW|F3`<+C zY#6sG#hjRvldSFV(F00Z<|-g8*N7}4l=GwmdOfl!YJ2Ro==q2^xeDN;k2rrG5$EpW zf<&(ikT0;YL9s|C!^xAVvb4nZHu)T9&JafU?^`UKPm-U9h-ovhjdOQEFClQpg`8a| zDt%bCl*L(KyyCL{Swk!S4I+Ga%j3F56J_Y#VF#V!Ym|e&P{yW}rqWS-!GogO^q|{R z>KYY=0aO)FIB7@|eQK!#F=fYd0neg!SHM3B9hd5=A$L%b{?E$%hFyZc4sSpGn4j*& zpWTh|t0PY-!ye?I0urM^0d=9^=c2*b7)Bqza|8_naR*CGB|YHlo^H&;2M!HFV7OZ1 zHy-ikIOhtSEAana=46(XVP`{CF0yAZ9u8>cY4)|md-y`rGDKwkH_pr*T zDZ+?Mz#!t}B#jP}MUGdgS0 z`Ev|Hs#W~A3?xF)rw=9X;jCd&A*oFPmxS_2rFaM4wY+9HD{Me6$?g=A(6kD7l<#=7 z6orp05qvobT`Y`2MWaZ_2xZ}lp`-kXMPW-R3tuxdl|NDH&{b0KHIKB=P0zArk;B4?S(b<2n;1Zm$q{++E{^6YflhsZrq7 zb9`_gN%-IK;QM%QyN`{?r4uO#08&0F-=#*gdD3YV9yNII01;<<+uJNIF)F)7&h1t9I(Q!2O#+X8M9ODtkMSbgjbua&6f^tdDDJP32~cHv zjDEQvqw9Wh#0H?G#4-ABSjSQNssUJ5fV|LxS=dxs za9mhZM@$92=@G(?@__|7Z)hn?%4Or;XbgNfF7$%9VE?W5M@0f1Df3 zWCIFWF3bBAy&<{bFsu1omUSPYy zVjUn1DdZ^@X|>4Z=;rBk7#jn~<>_=#9B9mD$mjU@W6qs*?3rASMuU~d4!6S*f+(<| zOeOxU0QZ#$a!`PeEqyqVq+aS!R`&{XP!YD31{j@<4Gn` z;Fph(U4Ei8>2N)x{r8aXdSVjw=!^f>NYZ7v_t5QNxNG=%V^jRaX-a{1BM}G;1)r2q z^l63%V#q^i@K3fKONOVTL2!~#cI0)2d6#%S(W+mnI5Q4}tI2%q^F_`T_{S>_4c2

    RqyCXG zdc!dFtk8l8y0ER}gqrdVj|c`MUZ@TV?^!PRl%NOeNrPEyRH#{9JO((32lBzuyd*6E{-oP>F)i1By?x zz@a-mYJShi)9}-x(9!k8Q+gb5CQ)AMTSU0F=NbjC?a>MW(%uu$;F|~0;BPFB^bICl z;@7L(YP!Zk;Nx9hEblA)j!t?ReLO^ifC!)L?vI68?eUdyKHA~c3JTj@ybQmyi3p!H z=%x7m$F2+c#xf#YnRn_hkG2pTlY424PM`bhgccE|$M|dm5w0z9@i>({7FKFx0|uT0 zkeBDFHR%p`;S^y+E{zDK9GyNtdgS=uv2O%!t}s8&Zii!*Y>HNk%{`7S0H~75@JD~d zKuOqB)|E7*1)#5pP*?V)f87s^eo+ov4FmPDjK}gbTXt44cY@}@a=>q z_rloW+TiGtk)Sk2gEtz0d#MlW7$M{F$u2V)(jId;$^j1t{I4#t9TbH2I4h2vaZAdL9w7OiHchv1tmbG11x&W4I7(*dLCC^laC}gccZ zxO10<1=<}@@;NrQm>6f_1i;b~?KZo+y!s03>uhetx}!&OGn2w3?b`k~{=qkW3dM*JoT(Jd~ zlBeW_zv8p5#AdarSoS+P7%{)$>nqF%pQYuEUYw}gfBk2qJ>uZ-b1Q*A9p3xg*L>pM zVP(=JuV6$bJVf}t4JrYxh?mCP{mU1pycBC=13%oMo7{y*p1bi?s zCZyoH#e>U+g3wZoa89^mnM%x{j_W!6rsqak3|AX~W5NJ>aMhsjKZg5*fq^k$Q<)Q2 za_9>{9(p5!-wFkB`Bjn;rQ_mcICda}e-m=f>|2z=KMUQT-x|r?oi_k^*`IVBuV-f+ zhn2ve$o!s7D?R$eXT0VU(csjPV#d!;Vqv3)D#tTqJUnqhnt%}}=#uw%uZ~r|HbJNd z(BRug(BOXHn)D62^-MIVi3P^mGeZk}XPdupoN9`51s=3$TT+JY9;qa?(oA6 zerDQ@aH+RBIl;AMR9V_)CjmCrVwL%E7PsjQ7=(z>=rB`er%gZP`4dEzlat(AWC}in{6tm<~^arFqruooj*@a>G_804PL9D(2E!Z{JTwz@ai#cwpe|PF`Ss-+A_e^1*~;WFV5>;TiPFK zHi)>t#?%=1)-VD>Xz>g{FJ!01AS9P|QwKfa?m8(SwWyFyac%~Li6Z?FBkXqg;b%;h zm>;K@#VQZCP^DNToo1%WR)fYaKp4{PGC9fBt9<&Y8;A{LV-jfxAd_Kxo0BIHxOtPg zIqpB;*bLn+pFQOKdHQ|)3&L&SV87BMWkCp_8#jYMQ<(yV3*wAqOC7cCk^#sHlhA`4 ztSJ-1Si%8_X-ek|7T)r>ZK)|caNF|NeOif~)Rbf5(ki~Nsi;y&)JjN#*r6f)QRG_t z)54$kXexcUX%YCQ4@pAriRRaX-%iOZNx|@QyCsI}SD$GrzXWdrPokB6!8Ga7b+o)O z8gM)gcxxPRhGY|u)U^b{54H#lC7-J$JVBvvNf}-&^YIQZjFItZgsgVBScDNY_)?h* zMQ%2nV{~Y6g!}SrrsyFw`2Svt`GYLv_@IsvvL2u8a4h4T?U^DE2mF_pxVb|w1o-v~ zEN#1A@JdoY*lF{)?*6ov8!KFyN5NV`%bmv<;qi`R1%2|!1-HEc*Otg<$fdZk?3~`} zE-N)&J&RSA>va1Zuh8hQzDqSvyX(q{-2oeWAe@*$VP+bIA3ty>HZ=_}7_hg;vEw{= zz=Qj|{AGYlmR#OR09VIROLZJ-)a&H)tgVyFA;P_TEG!%hN8^r)E#(E{e(AG96SkD& z;s!ItIO4wLwsJ}UZdfiESIN-ifJcd9x1Z!@Vm$)jeDd$Pk<$OT&{A$FbHcxfc+t35 zi`Q=+3}SyLa<1=rkKyLCh8~I}6FH7&h&~Sujy@iu!Ia@a3*hyt8yNVowT}iXK3UJr zhYBNrMwd*0XNZO@3q_U51P#X9Y;rBdV?_z{Y^X_5`Ems!+*VdFvk@C5> zhJt4}f1D2=kWZ5exIE7v-Q>&+k>V>;V;Do=yLWGPK*)F)<@y8iX$lh#F~0K-3k!^m z(d#ig%iTMC^daXj011h7i%J#a(P@*6YMaiI*i zl;2F~FL9ADE>X-0&l}Qlhm>$!5XdGK{PRf!I}BwHnIF(pNB0@7XPe(M$`xM_DE_3S zh^Nun;uYKBf98u-%7)+Dq!SS-FO3X~7x>bc^M0NX82*2octXMBY8g-Xcn2d~E+O#4 z9qzT*>;e3>`ThB1!10WG$KmT9LW4SDb)#qy_^btqfcM`zg;mbwx!0nv_<}0;_8b~~ z(Bl7gjTZ`J0+zN}iiMk&LAbW$=5hkoI!3i7*OEfB%S4e{lQ81yf~#tXaAnR_`MWV6 zHHB5ii-y%^eg05#<+o+FC_d&;aZE_mW-z9JN1pmbnESuoE0;DiRppuk(79PIS1N!I5U+kGC;`2QOFL)i1*9RoB42 zkmE#-2QB)RazM{Iav5J34IX+NTVT8d-mBpmZa274WT{Kqqut z)jH>oA#iz)PnY=S3q;m6F0JigEth7AlpD*;jT1(w(o(jTs5i-GoqGf}He6X^agq52 zz^PhnZL_$@!~_TzE^y}#oi2XB>@2>|&Mw^^$B(nS%j|J_J$!{Jare12q+wmD3U`#r zWcJH(;Uh~~TvBxSL&py$WWPi)m#9KrG1QbTSW;$%6?Lwut+a%EBIp*sNnyYpH%aIx&}g$WXuNqokTz8JI5qcnjxX38__w~L>IfMAMQB&dA-6rHC|8b zq+=-tSarICp|aG*2)7!1YsSILpA-!q3QAAsdC+n?Yo0Kl-A98r8_Z-7$a-8TbFa&v zpXH+s_uMNBl=F@(9#_mKOUzbTt-09JDjRzVGE`94!L(X;elJegsA4VGm)&8XE;3t1 zgvWINj&WlJBM3a)!1Ktb$)@NH+*rbR2u$EpEs#mGwt??+VZlirUSFbCBb(*K2_8KH zSX^Xs0&ryRt!+vr$`ycWm8B(meNLTZcbBVIX|<^DkV&&$V{8onn6P8HlGx!R<&r^Q zTDYT-Bv-zcDF4PWUfeop;G*z<3Egm*c$Ja|9ROy8yl`H)ZCyovOKA&0D`~knmOSN( zxC&$t3po$dD#@>#I+$olLrMss4?nW*I=GosP~NsI2#lEDx4px8npy(4dU`JGzE(=}N~{1vLp}k7anbMk&A-Dn4mL z&k|WK=4toYYcpQtr4nJ{XD-bpXmG^6$Ho~O+o?%_&o%)b*PYvp557Fd@JGEo=Nf2k zuDBDvG|#(tDP=i-9EIDfRC3e|#Vk{09&T}Z%JmRVmGA?W>P$_tU89_1s{u+NOi#OL zGfs^n`&O6Bk?*?iC!GOhasnH%vx{2lH8!{C+;h;e-^UN&ykS>)lzh|}K}AXL*>#JB zONKIJgbj5jF*KpLL=nQY5aZ`jQ4FAwa9R3L7TQW%Ar4S+PbmVzL(7h0gcCvtW#OTv zmyp8CLO-Fl<%J-gX9}yzmg2!b4)Ni#aa|e>USn_o0P`D3L_t&n|NLOJ@Vt3KmEzy0 z96#WcVhbE@iCvi{ z&9w%sawbpC=f)m48}u#DkFk(*ld)6AnP{lUh~)`%EkCTg4Hn)#hz3RWyPqUE;BTJ9 zCcTJpTZ1b18)Q7@^ZeFhcH6u;&US-$YuJZeUD%)Wa(sve)y*w+Z>Rfcu-?QfSLTm& zc*Lh6Oq8&enKI)Ax9h@jSHl>~^4eM6y~}u!`|A`kh;U<-QVu{3D?5lVnP)tUS_JNI z0SpFIDx@<&k{W%$%U>pwW`3Sd*ZsM*MJD445{(9>5|O1?#2A+vC2qX-anhrc;)ublHr&TKnrRx1)EBa!z=bqb#;}7^M*|&FVtaDX~CxA zK}y(AO0cX%kcT#0S578@WdU~JhUJ8?s1$Kb?oTZ__yx~-;2%XJ9TmxM6Id7GtpLKwy0LjcwIh?yV#6=^|Ga z5XBg-E%CFL9Wm{>S#CeZGn|>mH{4vKS|so>hK(Jr%+YKxUSegB2U~a^C(ogltu3}T z-C+7SHCnIZ`v8>+owjSY@Ab%L$#$sKF$Ui!3@Mc`9xJO{zKq|5G>+Mvhe|S~Fa}yb zYv?4!H-#F!XL;3-hh;rXk@29VY=eQVWS|=CPn(I?WKuKu7m@2H>=?#k9-NXD)|F-D zr0{Pdt_lE1LASog3@espIBEE&A+H+d413C_$_c}#mZDICZ~LsNBi7WFZ}>2xqzb&~ zJt0l{4+rkE{};(F9XZ>dsHx&}^E9yq{>oGKKJkg8>n}pqLoLr0`Sx8c(F{@JCOJ}ga-BC#vvMv3y%&B zHknGHO2*^032ydzu|(NtEDMd#M}w-Y@9tBp7bf__n;fq=%ZxEzoS0eMq|x0k>&Gol zt95sN*Ow6ku(e0v)94_=M9~#O#BgPf0i;tzN+FN&naE?6tv2mGXV2mp)VSr3s4<*snLZ6I&E@UM5xutX1IKrC}MMq?mFEL{->6#a8cZ-gB2x&Dd9cK z&l!Mmm=rd3zcLZ0E^Eqp!yW5#o^ck`hmts&=w>olW>Pq4t&p&>CxxnT%c4R_xMEmW za>73ec^`mj&jr074Era9JnX@$vKnzrn3sL)iYu9Uhz@pdyp|;HkLGEv8pecojJz>$ zm)Nse-A5Jjzj&JTSDv|dbj9%R5HaoR6Vi$hc(Lpfo2v982L(r+9vsMO#%pLHu?604 zx{V6&*7$Rid{8H4@PsdwTyEpT9hY~FN1gSPfbb9+)FVvM*GFh>uU2@sM#0Cxi7XjI zU#az(QdHS%6L`E-VvuyQ$3Aefv~Tl=0@2e`0H1AgyyE)npFaU`ZHcQ3E-1aRyq~<; zY4Lam;L1EVmQlDoiwL(?nJMEL(gDVBW7)~8J>H`|;LrFt(QX5dyf!)MK6xx`v9#pa+xM8T)84h;^cG7ZsS{5VE~Lw^{X}FRS}%6xWuVMFH2BI5|nH$3&6w0?Wg!sddj9^~^CE+-afeTX;$l`0@voN9(~K3=ULjpD&s!J@Yyz=$5snfN+s^yBcCUm#q(V2 zV4NCVTx4RLtxfWIE?jh5S}jLsOQ*>fxOazFUL%T_m|$g<%?l8~u%?cUVR7%3Mu%h_zOCAlSAly+tw7g^vTvE^@ZNRESgN){N#SP6ynJDtg8LlsrP4SCgLX|)HjD-nz zbU5J5B&uW$V>yB};&JRGs*H`Xw@0^2Hj7ol0b^t2avVFxd+(9UGd)eO%UGFQmTnH> zTZ2+6VhkUB!2AN`GSky6F5;gzt`#T^9{jwA#zGawvN7qrIihPm;w+U(PUxY*u z!C&*atvpiRPs(UV&95LtBVzI-2J^WsxnHnK5wD}k7@jGyF}l*8q&!4;r{?ZWhfFR8 z@JF4V928KC*WWzh0?}Vya9f6P>AN*vtvHtH4{KyR0^xpx63BXb`wO?|kf)d4~qqcCnWAq@WsO1u99&E{;Mk8zy1W09=p15y2!m&mL^Sj?xBUf6&^Ry4t{$@V#iC|2eE- zB$Pn5l)CarU2(#P6(v#@o=)J7w`3B%sd)3h3tgu7n~BcF2a$XF6TRQ)`u8b$C*ljH zNk5nK{p@<<8vK1&c#>ttD^7?0HIJ^9N%+0>gp5)?U;vC{V%`|ZyNsg2*a9yW7+rA` z8czjeM4a0fSHkXFUM`dI5a?MKqY7j^4CFmmY1|7Bpg|5cJ-u4tof-w7Zp8CroXP`y zvcrPUtv!bZpD*z7BPw}kfuAn&bC;df9k1?(mvPzf)Raq&?zUOmLDgC5FkZFF=4dG& zR_cHQdvSBHF{ov?L%qdri_Hd`djvkAWpRhVr<~{EHUe5>zQW^ORLL7u84NH&K2N{T z*ch1%RvClkB?Kx}?%YX8q#tqqJU})}AJ+II{tQ%o8WDhv zOMikYeR!a*xt1g~T7?_dB|J9RSLsf}mks|R;-c`01zc_>w(XiavP(s%EB_|qHM3vS z|HM*+>4a(%!aoi%@Uj7TXgOhA7&*$}j?<(ip(sx1?d`~2CExU1Pm@5L4;!sg#OtU# z{oT-&D}MR#9{4k@QpEkifB#7(#25i?j3#3u{`@opi@+aky8^(`ObjCxh$qISu>~sJ zX##X3KHk}fh4FeLsmR5R)L*Wk(2fXWPmGk?&HS?OcYV2-op2&6qp)Al^ZK443w{4!Y$m{LNP>%l z+p6#f5v#(CP!Tc$$~DU^$O?bXP!jG~mlTbw?N#Bn<)0?FF3zkr;Z{UOC<)IQ1_oeH zU0ZMgzICu~`KbBD7Ct9@DNgf@@V}m&r};_EZ)W7MXX`Z$y98U246NgSGD3fU`ze{2 zC)Vg;KNCZejCo_6cWW+e8PNf z@aEpHCzU;6v4bZL4W7*N@h&#aYM)5?&PhJrBk(Z7)dfCTd@>rmngGT4@xS>Yb5(Z^ z$1Cm~Od&>pLD*uyM1JkRRcx0cV9ayybD% z62cwbuNHDp)gmrY4AYw}<)q=Z@`hmmJ*BR$Ch_e=!Ks#P8BLRJD6_(xa6)K7E2)d* z6UC=IP9SF!P9C(t(L9a9?nrCJ%#%1-KV6=NpPVu}+9enp=i4=BA8|6q$o_!N;TlDT zhmtXGKPed_@J=Emqa%}H1O(w%&Kq|%k`%F$TJxy(!VgX=h2b5#SSl?iBlHFYjd5niz#)|Ch zGCf1H$%zGOGj3q04{;jA4Z9n_`p7hxi%FEYnJ`^0CEUwN*i_oWlI4PN6q#7kA_M0Q z5uAhDmWuHHXw@8mE#-LwPy|nCC~5eH=Tr>ids=K8qtAQm2(FtHhg5xWY`EY^!`s&3 zCp{reD#^1xNmy+9B>9;?eVX(cj&yXTJ&EroZ*Mz0JOJ~myuH2e28WjO&i4Lk5BJ6< z_f8Etl8hN$!#W4>m4pyul{c#H%Nba#K@6TDW$0Nxtm6wQg8|RywJIbPl(%N6_j$XH zCwyxfpcnEYU4pXs-^WHPL8aBK?S z=a2swe_ZGorr^6uTUoPgDY=9=8ef<9EVtE(U=G z`eai17-g2mDef@{gfQt&)Df9yIbu;yTnb$!o1~Y9CjZYvfS0`eQ+h^~q9BKZ)zRX? zpWgh2+_WcZD8|voUk}K7QZl?#qa8T~ikHUrs}b>fVlUsY0x^Vz7e}G^C#PUWgJN+&Y#LB%?B+6u8tv)_Q-iOLf)?NT9vshKrVlHztYz?H=VkDW5@v?{jY*Rr<=87I?Ttv&orBN>e$IL9gNs;mR zs87mpG9n*eh{_Emf(e)r41Cukgxi)$aT%IPadx3%^!UT+z0E0gek zqH1x+a>KGI%n4PY1qM7=QY=gfVKT=&ZjEn^*kWudL;G(iea(NK#0BL^HTq#L zbkyVBIbwcqjKs7tsm+ax7%^{+ounY}S`~p(fWppzua48VSlrP0+f7P7K-S}43r~2h z%tRXBqmiXy2!*K4|MUVs*kHA_UmFy0<%drepNs}C%{lg&BvJSEC70*4%C%*#&bv?k z$s<=nBtd|~Zzld+V>v{)^Oy_AIW_iPguHiWG}P5!o!aZgJuS#yE*? zf49KnU5>-U0po^-PbTD^(o!r;8-NQ23zJYwK2ZE4P6~OUrgULPsVf602svmfIblng z5SOruOZ;ycSDN2}&*Dkl!b9bP;h%&wa%qk zRO$Cw+~Mn&KzaWGKq*VFhblHAlVNkiMQRF*iT!noUwEfGDC`VR?m_Y0jJ{<>4zB;gR5jco?BAghE64vN-QFyl97VY;hOwB|{E! zf=kvB3SOKP6A|#55^CtwKIeQ7a_r(2dti^YWSjNEuooIge1u81g>5 zeKMZ2z&EQ0g7eoCWXKWA`F}m)&2iqV?H?H{XUCbC_;`CHivv&guJIcFY2iO?lJl_e zPK}H~giA#NLE&d7*d6fE4(IYzQUJY>kD8pz?xR8A-+s*1g@n?y#A|0! z$w`3A^E}$*<aO@QCEMJ^|3&?;9GG&oy5fCjHGb2UMOsywdadCZhi<-t1X z6c208JzihL7(9=UK66svTP-%5%+69O(P&@{n;V=yjVe*Z`nr2ZKR}gKifWZY0c#ob z>Gi4aP^pm5lS;9@O|4EU03nkljL7HdwaHZRePJiVbO+x6Ol6o1c`o9!J_BV!oOx*6 z$^`FO2M%Y1V}d3H_ss;q#T=Jibq*(P8svzo#akmb)`ThH&v}l98rLMw8*W=3CcJIn zKlfd+B(74tn!G{???iZz7JlBNl_)93`f<6D%sa`c9$JUeq@(L|)1*(cz$YTcsUwds z9G6&ssU5j&hlO`*p;QN~}0+RQ`#gU2d!{p6Z#$6`njVk9yh-t$W zcZk0|@UffvT;M06s~b(PK z@OPG+3ge9=pZV_HeKhD=2NN{7zDvqSmGL50nJBqS|I(amUji=8VwK4v3e^IubuJ|i z)*M8GaqVgi(6k^X?efRiU_x0#;i&VAY)+8z8# znw>tSfTpnNv)p59!1F%9wBe6J7qLtT9k5ttbbw_MTRJG_M_ z0mYw`%zgA24hE}71HWH~zteCn(gqum@f^r`C(f5DJgG)M z?2s5*pmHEI1(!;RvtL7#i@)ll+W7H`y>7gQ@$kUXjsPZ7_;Gee*y_^^$@xrXNgF($ zj$vT;(cntc(W$R3K|)50YlCt6hGEw5*7H7}8xVO_`afyjo9$!&QrHUUg zH|Ktljrjg(SY9EWqSe9}`UB3LVQHDcfMStumrR;4q*!nXp4k~T>-bIlyw6vs*<58Y zMK@v^mLeWoUN)o*A0w$+8_tchT6Z`78_Ui_FV8tN2t0p+KfJk*24j;( z+{e887!g)#PK*>~X&W(o{UVJn+k1#GJxwl$!u$6Sp`4@JMV0w^05NQ=18i+^1{w|b z`sFerY-~B*{{Dcs-{$I7QYiwTQ>VCppKh0QhLb0_f1gH!W5?O9bVK|~ime`7 zdAfUaBAOvS9QQab{L_fP?vaN7X9RFk99DL}JpkKEm=GO@yQ1V5ttlT^COs-6suokm z8QbwhY&#D=>_JLsDYq>JArk(I@9OL%8I(~AjJLRAqu`I2_g-=WI^yfzO2})&9*$?H zNsr22{GFk*zJJrm0p?7%O9yu`&X_ zkF|XA2`{~b=aEh`Hb$w0A21j&KhMrC@4UYgj;>RSRy!pC`P(!&j=D zEl^5vuZ=?A^5b1PeXf>B`TW6Smwkv^lZq`i1?6KQ+aPC-{cF(=t zN1<2>BN_h|R1=IKJK?ew5ZMRxjZwg499Sze~w zrCfFp`pjvJ$ILXvBG<38u>m-;D9XLNoI6jU0MKag$tPU6z}_ClEpJdPK!ggtrVv3BfaLC|-Qs3q>JRw%}dMRRhTg zG+blmYnRzIlw;)_ov&(E9Pwj53RGq??t@gF$Z4~ z%EDvChu;i|AT9hk&ym*-DFVa31wN5Y8f#vB$?!&Wc<&cc>3$ZT?C6U#5|3*S6SCOQ za#Z=lEyh!nQ+%o9$kS26QU2kM3qS-usJr@M?62Of@op_iY$nN=I2IVDLpkE{B=KoS zo!)^=O#G&aRt50oGFCBgq3B*Y>+%11h(OL~vB#d04Y=8+Yf*UXG#~9z>mr6%&+_p@ z82YObGICI_YxHF0AX|YA!T)`@r=iJD&V-=RRn4f^8xat`mY!G;4 zQUE6>5yA5jn5$6Cu-8F^Vv&gw0)sui_7abG0cK}eS*2cgbewzlnVO=phbrYV2pgNu z&2Da?N)#f(?jB=f7{l@k`5ZfSjA411@o@$rVMr!LKOzcgY?Cb_&y{5^M_>?PGR?y# z>s?YE@|G!OT9^?cgSCXpZN-8Q4Jg3HB(VHm#CH?NGQ4QxZv8_oyu%f%T3j|{k~!NG z3HZEec`r%H{Lhk%=rBk6*N<%Z&wW}@f(wS<40){d*`FDDI_b$eG+XA5a{F(C~@*^6UO_#AG<2KKaMXcw!BN!aUW9Y$TU$QASiK0)zClEq)YT50G zPy%YLyu{WPr%xwmr8F8;D(-xCcG%hmbp?H3a+2|J_tiC9 z?CjwCoHSvdR^fP+R+n^u zZyb3A_R*jwWy5R=Rlc;q<{rvE8oau&e>Ruq5tt~td1nrSk4Lpdm}a`BO}lhriI@gY2lTF{S(7AC2mIV1LcZvF$qw=>2WF% z-X5aLm}fHtb^n{dIo^27hB~>YpZC~O&KuWdpGiWpp%T=)5&t$xidKc&$_Ei2;I_nT z6gsAV!b)Jg{?5qbE3*=hc4&l7pk-)&uFgJkuM%7b{p(detW)sG`@B#B2$jH)H?Do5 znqn%Ag@iWg6SUC;0DphuNQ04wT&Yq)E2AG*)V*?RV0g?-|)p)&lv%L4E}hWl0Z*a)}uz>MA^&SskGqOaCLrVEKIYP^Qh z!=qa=LR0aD6!k9YYK@S|J#wG~=s(JjKfuGKREAq@Y*`gu5*UmNR)gVRwLqKiNh> zmDj7TOYr$I7-42}#OmU8BIl;bb1*0!9xqAuWjF(L=o>E-P`K70YdBXxA>(ta$slAV z%kR~=k_Gs1mt5Kv`g);@MH?M}LBt@W*<}#%+^j=`ad>%ciDSv&PE}UwNeBHRB3zo~ z#){kZ+$?(uR$QsMs^g6nJj2gi;rD z$Mr7ZngiS()}%?c3=VC9 zoY05I${9lsQi7@zs=AgS%%KGijqN}2Y3YIa7Dp!;GE%O1hAPZd65w5#ldM4mPpI|T z4N>L$2hDFZCKxr3(FDo)A_A?5z9r}L@h(8d5Ez~x5vv9yis+`8{nl1X@e1$^$}R@^5b1zuafb(-Ng4u`K&6p_W&w+u5}14 zCnm_GSlYt#xHQWkVz14)V+iy^fM%D_^1?|5$$;0Nx#ZAbtRfTF2IGwA<#}g{vArEa zgK^)W=W%6$Ke*0p)w$XDfLkjV51^cpjtr_38Xp(t2rz^ZW9a#d(49c4-mR4<0> zJD!7o?^#|mPO6k7K&=Y*)MW^El@b)i%{C+v-cG@$y3&6;aj-|XY^iH~Y$)SNWP8Kz zOF#Xh4^Q%SDS7G~-&m$?F(soa-ABt6qhz$G0Fd_Fm@(i72~F!H*a5guthmVtt!NmU^4z8mWNwb$Y!-CPR7ffUkd@W($dB zMK{Q0o%(%DsfpXEjN$%$L>Qj{C=~Fw0d{vur>T_L-Nmnx&frWzH}etJyKjsSPubidRqur;|=i+fhCw!llVmoA@OdB3pSHW8l-brH4yD{-Ri9&}`zoQr5 zka|`XTFNa;8bl}w5o{{|I-;+JN!!rR;Y z%mfikq$v0p!%Byp4qu&Qu}Qs)fnt{bu!`cwD#hZTgNW-XxVh}$T#N<QB2wY#{@;t`4aP-x)JgyU3CQ95`=6~`k zcOKL1uw3KSGkmszwX_Upsw~XV=(4)QS6<}asv8smY;FP=!|Bsb!y-n5)hZ&~zRl#M zYh2pghFjM;`yBOM{9?eVA{mc% zNIPUAL#Rw=_FK7|MLuf+oUlwQcML5{QRoS6OI~=*C?oHv3G>FP zJIna9!~-fa9)h( zXmngl(eo#GxXDD3VwN|~ad*vWSe%~bQqCbj;OYXO9@K*xMT56j-M4gQfe#-r5x;32 z-{Tbm#l!>Lo; zyuthe#R6kvtULxG44IrHifFcIxA8nYpJI`d3#_a$Ri#iS3R!$WW(>a_Qty#A><*a9 zu$ZJB1sVg2!M=*tCj!D%rDaHgD4WJ{JNv?%Fb}`zv1Ykr`9S$HFfwL&QxD7FPYIL4 zo>CIm_w?sIcj+k96@j-#dW)V$;2v%%CY8XKlWB^;myAo>rjje{iGtj2;zd%f_)mS8 zl8qJq6-q+tNV($gl_lq42b{^fGasEAPm-w`lFL3fD|5755g#+!2C><54DUDvYT-_k zm&%R+ATUrO95s zk7kpd9pEq;j4Owgit~qC+nhcHAckCyG!CV*=x}4;Rmd&QZ7>} zIB}=SB)vYZHh!e88EhuYYMae2U#e10u{+>FgVRNFKEQ(p<7uX|Y(TkhszJ{fr5;{ z!o&#=dw=_uOGOt3-*4dwjRD`7;{UVEYZXou`N0mRNh!s11+3+h7TTDbq~g9aHywt zX^u~q`1Xr*`dFpicXS-9l=5_Xw0Zz9onbJb;1kAVj1*ff<|ZgrXf(KXjmb&ZFd@Rq z3Y7}GyABP;1whvZP(>t(Q7b%pL~Wa$U2KHH;u6hff(8wH4K~)vfOo(Lo2zAHj+Z(kZ_!r1DX_1+cKOboQB8B zs`3jS3KnkIeLiY@GDAh+KpY|SZv^y|2*!k>&`3@r!qpq%lld#jJHB3JCPOD;y~n`f z3Gdg4MzsTLFaisY0<$O93EoZSeh%ZtA!GAIj^i1Z`HWldBep{!u7kWY^g;oCAEFU#!H5fO{=Sg`i?{Z>-X&;no z0fFttfloJ7*0{FBOc`Lc&iXDhWjx`tO?<=j7~2i@IvC;67RHbXSl^|XMd8sFt*#3Y z;=Vyh2m{KsWde_fn@pCt`ow*P#RB+c_XvCre$Biutrq^`=! zQeCZQrn_gRr*~(uAZ}p`+<~|=J069R$CrG=KLPLgXPn*Ln==~CU_5{T_OOK59nor9 zmaZ(3IzxxMhj8`qg+HE|)jc@k%*e2{-k7L}$jHd&=RffkznGuwvVVpy>1W*N;#eGv zcyPq_4oFrjOjE5@0)*g3*$phe9GtrG*6KWh%ak(Q_q9$}4qgao^RsKciysn*o2;VUqCE z212mR30Hj5;dI4(Nk5}e0XQ0wWHhThK1B$o3mO$394W)kB8>>4;CN6|%KL|GwdmH+ z1W!+Sb6Z(pJUc_zFb&??=HW3?^1)5!EAAh$(cox=5WIbj?+(y3bd5K*cyz3S|9psH z5X>*T!RuXWKA%3NS7Xw`liWYVFnD#P8!Sj_wVL{7F1o>H6Io7W&d<+QjCO}SquJ!~6LcM2$MZ1^_FwSPhs*+I0nIuO&PZ1{9>&{Ed;>@4yRnM8 zdAYpdY(dSWYqMElnK4-58c28*vRx%gF*OyUX@i=D8!^fmYwW<2oT*gjds=pGO#uG8 zjNj*csF4Y(f)_cT=X{c}gqr9ZlhqIjfU9-v}p=$ZidG-Fd-%6aoL z{4RtD5+(2jYz+s(oFmW#*I;gxL|lwM%~3nl_e-b`FvML!n<|;+XE^FTP^}DgD_zn^G=Qb<^>;j&^0u{|LcI3 zry?qstkvny$fX*byt6|t`TkI?m6wvW25k>1X;$ggskv;o&;%WE*lq#* zbeCsmWI3BHwc7gaYbp&EEH+&u=dv3FY=c)5k_2F{#~1tb>Nw_QH)vTL4B2XPaKLg& zv&m$FglGHw`cD;8^vB&`zt8S2n#R@^LBRPLLPH29Q$}M31DZ`1E3y>NW4T~vFbiqa z>2??nxphksYr1W|{~j&C05YkLQNiH`P8R^a$(qYN#WmQjatr3Es!oAr#xf($Npor@ z;}v6rvE-LKJm}M0uvKNg0GLWv(1W1-v;RXwor474)Hsp+OlKkyFoe%DfS+8Uo?h&t zkfn&Js473u)cZ`~cbQtx)&v_;c#!i19Kk=*nLrMek^v*2QI?k#p-$evGTDhiqFY#k z3_kZ+<>-PiX3qzkC}ox7NOZxY5WOUeEwa}}G7^4Yy1^HTNL;B)i~RO5RR4Mre#Pw# zPsPTCTj522c#%sr!CepEKte3ZBpOJ`=MzOwRYE7hCoOe(l2Q%Hu8v-RTY4E5KSC3{ zU&q$b1RV=gQ!n{-hd9SGc{1l9MhG08e>X%z-Q~Ll2ScP}7?S6gDx_j6Q_N8^Nvq0Q zojg~I;|Bp!()5s$MunC~mXkrfLd#>75XJZ|gMeIOo9G&vM%BhKd2)i3JUHYpf5P)~ zG>!X5f214Ca_XMy2J01?9zw9!CevA~@$C`yb!zK$JIv?&)n5S!js6)>c7wAYb%T;# z51?LWKIiSXIX-4GVgChr25|c}Uw+A*J6N`Qhd7~9;rUBCZC)K%fy4IieG8T=!i6k3pi4!YnU8k|T(86kgRAS89cQ_1f#KF_HO{!&MWM>(J6e4YdR zR|W<=%K5*i2-p&QqASYV67~d71i#h+mXbF$C9RlBoU%u)XlnlRZ*-M9nm&^l0smYF zNmsDz0jzS;oc}4|kfAq7ZXgrZxGa@RRWEj4vlpws}AJ*J2hb zufT>EDko4@yccz;lzcNKljwpihptT~`R#}gn`C80%9T>HC_XPb&kIE4rww(nC}=Sn zm>N$aHN1H;$1$)iUag2?a>*@^J3IW_b4*>i$A5dEXe-4#7m|5E2%5^#1R;>T<_kIu z0dmRb`?Ni!tLWBfRCqB~ESZxrNyc=}bk1ynYjHd#%X!g92);e|kLm^uhy*vA1WQgP zbgF!_Pj8chLuAhF+e{|(&k;iTsl9wfvw;+^b%ST6!-Wv&y23MrU@+j$U1dqSzRuI9 z+_{78($on8mMNA=z0Teq4<6C$k!Qq`T9;U0Jf11yXez0hY*ctSrDdZFDh9(9u0gQG z)p;_*H*s}t*LV>EY*uL543->4O0*&+rwe?OYL%>x>=V{mkBOE{C7MJOyln|k5m?2a zq4a}Mz?7t}5lJ=#|7U{`47jdwobyeN2LGv1`YEE8*!*wG)ard-YLhOY!Q&8HM+aM1$##@tNQMD_vW{ag&oELp zoAl}&3~2lO=^Knf)%Cq|#f~0$cBa0Khewyi>iHB|m@-Ko9+l}@Llb;^z*ZB-WSOuS zpb6rXEJxRvM66P(Hg9h8)r&vg4Vnhw0@vc(LxAgDY>V#>=+^j~Iqz=svHEd2S+RuG@W3M6^MT^ z#W`K5l-P4PS>PH(DZ0iY#Ykv2i9)g-!*k{f?p9z45K5$=1A!!v*yRjH7GC-Spe?8i z4svP&qfk!i{MUk!!~|cUK?wf`L#ZWN0t;ejmT?#tu%W=x(1DzVNh?*mF8*2o=#pz~ zl`aNLY@M2k5SRifnWwxg7HA4S>#I|8(^vWMBETMnj1v_wu_VhWcO1f%@~;T60#_(P z>mv2ZKWdNtBiOJAp~5w=$ck-?yFQMFuBp(JkioNvhI#qfiUl%Rc_}GWxhnR`2rNE^ zqwyfX(l7*HO!!%yMaCOGA2oRt;+b>|RtfzGB-IXY!2k4|u8)*FJw>8eFU9Sx?aTWY z!~J)5`1U{*t9j1%hrGQ*(}OE(TQrTD%l$(>x<$oC6Uw3@$uM;gEMu~qpYD;Qf213< zN^B6g(PbL(YKUV}v)J9>yJPm&>E~D`fTl4Xt1qF`1!y*j=3Lw1_PR#qC%0|ay(p3dkw7#i~w z9Ofy_7FGx`1BX`&u7MB?pbLkvTasM_B$6@Q6f8j(bOkFo(zq?iC0z|YX9Wlxojgb8 z_^<*AhK>s|CxrxZ$%%#rH(+U@=jfoD{5uH}0b30u#M$LF$i-<8jDuMmRb<6)HL_ z$zS(bclgbawuJygC(iiSC+g7OKcZKAjTTcBs6_<6xs8DD54pFc_;l+HnpLu#y&e+s zoEvK(5rS`D@!mDAcbLv;`-Dpx6%2!e0UHe@q!}*;{Q6B^_OT4U>+`2?5U#FtgOFvH z-C(1_PMarZ{BnlVE(FJG}(Fc{G7F&uzo(C6k&G+hCJV>mv>tpKd` zI6dXwJxr6g-{$y)Fi;K`ckhs1f=*8y;Kbu@Lsdo9kFXo9l^QOYN4ya>v31HjpWHCH{7 zNqiIG5O^@6QKu3UE;uaf&wZWSI(kAN5THvmlUjxpoM>uKKx$IWSY~7zM>#rN2Twyl zlyeNa;7+k*TVP54SwZ}RL?_dbIlryYbBJbG32u`bSQ-U?9r%2pKJ7&%n{RUB?svzKKW?kmPDEQiRh*S60a0@4Vjl{W$!@6>|#t$1wfh zzApR=Qf!Sy&L5^!bdcQju{0#SSLdG3G{MqX=9i!357SEkO=zfj-gR8_%FAx zbe=9)rFag1H9`nlCT*Yp@g+jg_866t;`7<%R3^{KC2fzjIxP>NS!J!R?g$tJw0&x> z8ru{cw_1gc$3}xZCs?RTFUyHmRA8A9#W*HUPf0V5h8Q}Jj;UCjP4OI_oM4%Jd%y>K zL>a-HUJXrDMAKN`Bumi2w22dXE&Q9TB1niK%cyk_F2iGb zH!yDc7#fq9uSaxjHY@ChbZoWsV^*e!N~w)41{fEE`1f1Nui;ss9zR*IA8^A1I9;&r zDpqREB#3FY00J0~V1Zv{v;z3TLz^QK?zoIr>`USf!y(t9=`maZ{ErD0gX@x9pjnt2 zNz89_wxpt^P`B{gEHg$cmKhNU!KbCv=pxaLW4aE{ z1NQuj#HP+f@q7Udi<>nywYsx0b&0D2D}=6e^ll4 zgD7=%wq34OsOYMdO>(5*Nyxn#lbA23%!^!oWf)V0oL0Kj*cuX^h5(lkF^3`JNd2bwk63RYz_Iw|6^@B(aciB2#~3=g&R&nl$5d>9!y%@@_pi9S z$u|ee#^%-r-yL8X_&yp;7mOk{o2*tGydn$`&}h&faPtO2u(`=>#`!r?(rh6F%_ay& zBh?LR8c&{Z=MH)yO{`<+_%&uTZr()K8II5mCHW1;*cGgTr?$<@=fn$wIq?bgHQHM& zLkwWBQhl9oayVztW7nf$(XjYpsM6p(MMBLYmsAao=S&lT;fl=);}yV9+SE<F>z4#T??ZFkeVwF*>*DX$Vk@Q4K^5hDcMiZBnr~G5#_XD=)CF=P4hWZQa zagpI@WRhI+e2$dpg8MUO38G}Nr6qUoYQ8N1w`UQCpk}JH*)Z8(aS*Xc_>(SkpIq{1 zYdl&hG49*jr8!!8zi{;gMv)qm0DtpHrNLqt)2pLvg|rYUasojXh>2#v`A<3Jq0m@H#3t2Lz!KaBF&s&#l(vM$ve^DjtkK{$K{p$s;P)6X7pO#1-&Qz)SZXMup$omcE8S@N7kc-zm zON)2@Z(i|no9|`{l)72v7j2$K1TlZwW|)#>3})0T)T7tT$-;v^>5)R8DGdZ6nIp7J&Z!BXtM3f5@BL2tk^1t<56FGI=@Rtu4Y8 z5QmHXMp?e)8&XCZushR4m6t@>wI+oitW(g+?Iu5=`#o&!Pixgl#;98YjGFnly zm?gZ|Lc(y#vk>6#uB&|5buQm`+7uPm&RZ8uo5>tSjb8k%5{FD-GK2xOa>m7!nk{~sT z9#XQ`<9T2GcGo(*==1E1PK{wmoNzeCF*%)(<Yw+NN zx=S3ZZg69rU2*LX$=CL1KzFYCgof@-5sfYJxq!Q0y5_7sx zrbahBo`-xsRN{bLA1Qer@_AW6?)qwKLYby+_?L{ImmyVy?JBb54S&{GFZ@{>A(Y|d z#Z{+BjF;gjxm^e7*bG6^+l!E2D&$eKf(BFW71Ucn)7YM-yx{ znJv&XMiFmp^J<6;s90(!D!?$9gybgE>FeE~P}tzDTLAS2-L4{Vt8TFMS~n;(_MagH zLPO?dVuUnf6)U}kW#PCSA5*V$aKQF9%_g&evvWL;=g-g#91q7QO{mmxsu;lc6WTU@ zjsB8(3WB<&DBbTiS#z1hDv4G$r(Gyu=!AY$F6=O{!mNYo$3GZeY>y`n%3 zl|1V4jP;^Xlr${5Hm0tA$~#S#8BLr0fL!unhgHU4$&IqV`gun!k$$(u*CUm_-fhuw z=r5V9n8egAcB=R$rwd+&EHf;fpA~CmkV)=(YU@*R#0|k49#7{O8V!f<7kt|XNwdl~5n0Z=*U9qN8oz@1 zDd5Q|ZJ%ZpDH#UJ&q6?!GmdCh)$;1+ecGPt6`!5as4@sHCtkx){hFh&{DsT)^jf)t zNeFa}^BKCv=>$XPr#E?`o0~aK!bR4YI1hvR=MYtAup=xrrz&E+(;h8ina><8X+BP}du8~Njt zY46lYawL4zp)fDL?h)tsCI^CsjiVE#Bss?sp240^(_)!j{AKxcfGp4Zhh25Q$bLom z6&2TKeg2bD1$VVrEsp!`l577wz}0c!t0|U17kt!2gD7Le=5eUFoxdGlN+o}wa{3R2 z-w(z`{K%Z<2XMv3n|v|GGjMg)7N(L+;u)lpx9dC&`I8PvUM$Y8v-8)mz;^;>|4#9VtL!8OkZQUZGnfTyb-qVZeFQwSKe8<>?q6*Me*jl-A^bJD>*MMO z!7{_uS!OJAo`e)m#J?YLt%8K_W~35J=fBuw1-~7VN`6wu)ENX=Hon7YtoDr+H@)0* zRE$`Fv#C-Bo=uUGvnd-5P9^|?%khj5mk$cTn_EiXRG|54dHpuPw+HCra<$9#4zmU8 z4JLE;dgvMwUJcpn0n}V{9VBOC_STuN@NB{rdp)v@c9Z8P7@5j-FJG~-K@b9*og+{@ zwP()&S}mlY(L`vMHZ!}smyU*Bl{{0Mp7LC&mcocxh;Gm{aI5GB`_FmrXT)>1w|RNa zEFf9pR9QvX9(j(}VsHqM=NQG&^i5Vd{Utqz4VUvJu1+d>9x5E~y%x5HZ({38`cxFC z*E~)aYTBU-&X%-oq+s1;KTw1luF%}zvOq1mtfGJ%t@z6wqLlB)G%Uh|Frj7hG$5DM zOs0uSvu6vMHWC&o6$4Y_$&8jwoMQ?W85ccT{>nWhVM@I8j)M zYTD)G23T*<_Rs{oUA{l$-ZsGXE-(7Z-Z#$?I@1Mt&M?H#8HOMk%n%ya*BA_`RS-IL zm)Qc#z_yq!h;qUNBc4`m$ zOsXDcv?7z-_7y4g{WcXHUEmtDZRRO)uG+a`!dWwUGUHXmuBXV{nWXD*x==0Ry34bG zs-cdQZ>oSSbW%VNtNdmNrZK-cr)9I}tEgz%d_Lq_m0k%pc5FT!aKpQVA3F|%rFyrH z!^@Cy4De19OT#nS4|p;qlYH1E&B-Nuz8Xu&GMprQK2Qiv0UO?`^JJ>d$6&>pi*J}+z9Vw~fdI67`A)qfl^iV0GF+91glc6SkSQYzH$$5N&r$KDS#xUyuxUBDHW zCQjv>-0_HW_UCG+eBHdn2`!ClE~hIVN9{dG_wE5qXCN7mnJ?JcVKh<`(Kqg?&AWNdt5*aeSq75ZcX(QkQVW~YS->i#?$ht% zH(5n=yVxGnK0@Pk$oK@e#(aj?pxQ)&-)4M*_ z87?!@oK*7Lk&4D&ysonS4~5@^A-^i`7yGf3od5nnz2xIImPSQKz#R`E&;%z- zbiu=rJ3hk%q2pV8I%d4Y)NxFN;Bds-+kAgWE_vsg`dV65xH5^kn98)OAQ%Q{LX9^E z#eENf+WOL~)2#CNL=8WSu?;ANVKKaE`wHjK;MRtUUc*p|syyfY>pVUq%Wy63Y$|7N z-DI!BWR6o|tHxS`<0V)W;x5L>0O~Z5uBGQCt zN;Jmr;Cdu6^)ALv6)Bmn5E?H7#augGsK0&TEn6gexO(*pAJ-8`19Unn&L|MsmSaA97No%^Dhs19zr=C zy^5^<^$AT2&r~X>tDT{^0#{u1zxZDSSG@MGufr9^{W~R^`Y8M%lz*dwsi6y2IfDcZ zY>np&Tpdkgp)pLD&#Bma*uv2H_kG^kpY}jY|2^<1g8^DC#=_zMQ=Gn6TG>lLPFDcYg;Mz3jKtXyt{)Gq$!rh&u+0? z;##;4Qu4+oSZvma#v~f!1>GudZ1MOQI@mUjL#v6Vas4`r12IHxPFZ|CYY0FB!cA}%LPHTj(}iD zy~`q`{{kb(e1RrZngxDyj;^ucDp{&Jg;G(;`Xy?&S2A)gK3hR;E&hA9 z#L=mld_Sgc(Xbe=I9*UT`FudJC-B1_5~UrXgz_%h!Vj+`IsuavH*4x?>KCVcz67{c zyHq({%nz@^6&L;&SEE;X?EbN~@Zvc?2+pf;Me%w5c33u?l4XARCd#T%06Y%q*|<9U z5xGQYeB9=nfGFlpm1-SLa5QDTp~fv21DMNz7d$;vSFWNhe2sM0;B0~b1ic!k)60!6 z5*1p-t2DvAO};x+-_l##Y7!#^_cm3|DRjWaC#g9Y1~2-2aD(xjJm+-ER+B8lv&eI5 zE{zKH3Tei=%i~itojhT*LQ1lXs)ucpBt#Kz1qqWeckePBvWn>h^v@AL@~{vZjXFWd zaHJ?~1>5^y|24n~}zs=*R`aF9+Yc87={xGED;2As*6<6-f1`?jkcsxZDEHmD3smd@f&v6c)_SFe{ zE&K#XrD?h#;&mKkQLMgRmwKjxD@>uV!AZ<}b(T3vjzA5EF4XtGX#GdEh5QHjF&DRD zbIVo#sJk9QC^GlcNDW0N35JFScRUQ8n#pe_yj$mViDs}$sMu62{?#$Lq*qfDOZ7LE zD!_`!EXJ5W5GyIt89Y29%@v}k3$?BO;=_w8k`x5GP)%UbA{La_0!180^y;*I1~X<$ z+8*l-zB@olcG{#;0sWl@%N2%Bu%c>Eu{jD5f^bE(f)Lm?(qcHITE#TUB~gg)Q>oA& z5U*4f+AE#ag~0b{wh$V#DU%7~3GFt+0k>|G=RAMT);4~zdcNA1cHI_NLV7#K| z@Y#TyJ}q0N)(ig4M6;V$)V2ei4&JU3xXGg~=scVF}*y(TfelnZj2u;fgDo-TxoJ74nipbJs%? z7#dGQB+9MuiwVHG!v{W^V3e?D@g(H7%RfEgy*fsUrtvS2%8qV!g%$(fAM)0=ijzW! zluP#3)O{(r(PI$M@jr7P^Kg zl=UryhOTq}h+Z8ju}vPI(VyX(oXnUUvR-GE^7SivQ*Lc>I>gY4beL0hI13crG!_U4 zN5`!YMmP>htU!6krCNcq3hnnj-X|Nnq1J}zQd za@W6n+A`;!5AbRMU}(z8W|6b)u<4TIJddcE)NGDpzMB*0I3}$sPg0IYI40qeB*ikg zwWjh?(_^i{DB|WCQmR>Ko->KKv!TA;$(*~J3#fK2eo zZN_uHIpY1F@!}-{PLF6buq-y#IXz`QCrOB7u3zWy5G2(qLMYO9u>|JA!=mVli-l^< zhN8~oIh`(=&dCwR4g3n{r&N3nj(E38Yl~)+(=&!9(-6S*i6#J*I?D(F(S-ghTANrB z1HpQQAO(0B;2VmzyH!O>Mk@~IbRB$Cfpr@$5|$b36_y!s#w5lycoC4px{HLf0|IE&LXpY+UG_| zk}7T&kNAe_&?I~{V!R^B75JeDYhVaI>XPMG%tECKKlyt2T|~>L1NO=#)s(I858#T+ zmk9O6j$)+bmo24o;!0a6%l}hIgS-sCy{e*a{viB{+tu)U91=^un()n3jcvZ0VQVaN z#Slm&d1<)Ttnwfrj7c&+=uoThb%>#Jcat>Z`$OKoMw*dk>YGupfn*Yq&e@8yh%J|nO`LPXr)?9Z97fzO!DvIM zkxZ1Z%m`D2K*G(k<$Dpb>;Dj`_e=%TQbG&#}FW}bp9|!x&UuA6qw2)%}x+YW&Wo>Wk6~ii}kG-a7nKY(5N5;&(8Vi7L$-HV>su-o19NEbtFueY_~Z) zXP(jPk}O%}v|6N+<70fEN|j25EaU7H)55VC4Y_-l*^D&9uPHKjp5uE=Cgd55!dI#A z?C2{anJi^6#Bn)3q0vy*+J?b$P7q*O+`G;FhxB^P=M4H-E=~m`LSuM{*QC-!)6sNX zAHT&iB+rH67?=k0DZYkjP|Mj@GM}%Rl`qEr+l9B&6w*RFM`X7Xps^x zPRxbisJL}(=9v=mR}F?Mf`rornjn+3EIu8OOLj|3+=4M9P`zTOlqn9D>IvN|j})`Y z%?g06BLrU#i4r=FVzKlbg%;+L54vi+M2UzXUJJjA7<;WQ<+Ae>CH7c6{|6izP4K%B zLBcZUgNA}DauiLsn5o?MRDdlrzMSxJS(jco(*Tdkb-ceDsYm`#*AxVgZ#}E;NPc z98CbVe|v-BuraJf_{D*}(G<8m56^kV~=@ zO(UAqZZVyyj`8@IoomWkCJ696noXK5vXlo8NfJCCN*7??=hkh4013w@JlSV8r&>qm zI5n05y2&ym98;+gPVgESHaS#lLVUC>l9b5`k?~=d<0YwNyj0-CvnfAmN{5|&xfHp_rEWF+A#N_(ca`nGmN)O~EiCzpTU6p_j&Jq<`KZFS4x_65$&B0wK|T?Vu`L}7<4+UR^&PJIosPL2}#1U zXPln0zCoUWU^L>!F4wO!Uy^5pA^iyrkMn}0HfL{-IA;+c;cU$5GrHFRrsveU=oYR= zny?5kERe(tu?T5i6UH>cchNL9Y~qxD%re7)S)xXxYc9i;>f&YzHH$RoPMy&T-{f!3 zXgjoRrU`D2ghh&PGS7IgMGzxPf$2pw!fQ2ZkkE06QlgZjIW?1xL&LhHxfRE5%~hXg zuY@Z)HqSJkOxf|+D66$gi?qTr#NyKdlNeX$%?5@BDC3O7Icd&KpN4fw3E*`S>CbMAgU3vgfX^UfuVb`i0kjd3+Bows~6F73LL(yqH002bX~;moUS5&g^AkIH_M z-;dRs|FWgFH3)bdp$mM2KTHV{)+_v?$#*jl{IrQ>uuRAbPJ)JO@zX;g-b*XQ-aEr4vwksr(^Cc}C;LD+E3qLIFEw0`^|D$k)t+L`xpSG=<;fv<*U!Tyj z@Jw#iaVTYYSKx}|b-V7n<+bUquRaN-HMP7Bg=5s-yOsrX72qF6(~ZkJ)8U_jqyy^avg2wF`HgVQsR_&#|~r-P>9IOOG;zLzhR=eOlx7zAUGm^LO{NLXDsZB>6`f)6NHHKOIzvO_$&6Xd zJmptwJenfQ>1!_epz|7nSKMBk%KRWSpWt1F_6pVk#zam!Pc zu!Khe67G1fIRY0yv(Qpp%r=T|_{%Ad#xh3;WpzATC1L9~QsPIHFSn7zE0odZYO|EheDhQL8YRDgAEMBwVWHC0R~h zUfoVcYB@x;s>s$t!z&2VQ|{g4$x~HGPp4`Hnx?T>5Y5@z#59>qk&(z^`TVDnvjc zY1_(|sfYmqj-eKv7q=H7ZCj-*VBO_p!MX#m;{iB2|N0nUneoe>T8#d5#)}Xn*F0|c zDuDM(o&K)RUmvSCe6K~@;d#LGQeE-q8!A)^AjH&YSZr6Br&JC8#Sv*vn)5-Y#OtK$ z55}F`^8=A|KxH87x&0J`OQJ7u@xfUH4v9)uMUf%O+W5 zYE8vOX-Y9Q6)J~kQW4OKaJ4kvt5e`i(*y}!3&-T29MQ2v4kLnOSlt-`P9js}4; zR?@Bjck2x-L)i-6TvNZkp{emqoU)8bGIGgohtKzE`6{7(_Ka>#^^?UUX1B}pa}|^S z@TcsbE3mOYQ=-^n0wl{)UkaqeHW)@UTt$nKlJy3wl+y{lIt_=jDeGM%Y&6(ES5B=} zn;=%d!mC%b+cX*~@D#i*L8>gG>ts0src>I69_M!SnDu4iBmM ziW-VUO8Ub~lG@G|Ns3{yn3H9UMl50$1#YyU;!|xQAc;X@IoMT3M>s7pABn~~m9`N7 z)t`!CzWo1gsm1*l4k0y8WqL)RLQNJ z%3SiiC2#E@;kyHLL9fo~M1k*XbEmuAu2G0))os7_W(@V^@e5 zG}f>xtmb5yh?in96Mjn=lZaXc%OKQQgmf$nur(|L4P1d`AYikGuakpo(6(@N?$+6# z(RFwDJj%4P7Qj!MOaKMioJMq>%ES;5d$LHq59MM~F2N(M_>HeU=C zT=7v?MdR(-<&5{cF<*@?!%w0jvjgXg%S!lmO<`h5uAuy;&8?E^u<58RrN>LcRGC&4 zd$vDpUfOj__>;rC?3|DICB?L8#Pp7b??(%mx2^I_&G%Eb5%hIA%WfH0I zxEP%LKok$`cIgLne6_;C(iJx?%Q+aLYb;_kjTe17zOrCSvrDdwl$XX$NKQ*W!&}>G znXV?dx5c9qbY0P6?jIur@9e0TYnsZ6)hby^w509xt2<54(ctU|O8Nq*7yeh+Sp1K(`SZ z*^)+&N}YHqjF!*onA0)Wd&DUV4OaA1?wAT=&!kxG-OP zI^(*h4l!5sFZ-qK^nSq2@}x=_ta!f#(6+I3CNZ7?Fj!KzNOLt-$@5~nk{U}CyS_Rl z$li98*BdAo(?n7=Sa+$Jr5laJcG##WCV;K;aKiBd;KMGK#)Aomb6$qXl15WRwJej+ z;~A@ruScaR+ZC55;K@{3$gMdFw|qQhmGRB^HFR;Kq8xe-muR2~zA0_7y z+?pOprgQGBGm5Zu7BT&q%7?jByUm(aY=iSDvjxp62SbvKET>!JbfT)<0%j0b-d_mT z8gx8#jcXl-A!~JV$xfSLfMK9(_|7FQW;lfm46b!(REQ<36&o$W6=B5i9AU6Ope~rE zq&ocpd9HRRQDAyi@|^LQ8@oto)YT-WxZS*|oC}L3*ux>FNv%c_Q>l<7gduJP$Dvwf zzNF$JB|rZK5AHJ=(OJW^2!_}dMN%6UGV2x5M5*kHLt;93ZA^#Z5pIpuoID{KldObY zC0^pKu^1!%w|^$$gh|9I;b=(Jp#iQWNSH1m=VqN(5tc^7WR)RdyMiXLbmB~z2t5zk z^Z9y2lC$gaBIIeno=4B2aC2L8*bh0K^Kp-pD{7{i39#leOK4bZR(L#RnJHz)GUrd$ zcrsNc7aHu8GmL`ia^Y%mwos@4s?S9sBW_yE67{bIiCjR(QE79lf+qNPr+h!*dX=V4 zF1b^`WO6^AD%!_IEM0`(v*7Z<{*OM%#fiUozN2%pz?C3*6k-S_3BPJF&)9HEyKYG? zFU3uT-!6iWTjW<(CKmI??*bf)ip5Xs>fFy3*beg*`&SZFap$VT{6%;CklA?9cBS>Oc*g90*oijr&JouXH;q!7Os!!fMgjWG?sI!4Y8V2>1vKe zo@3QDW0kO2v4~l3A|>IHEahZQ!v&!Z*2@JIjWlPgLYNYzbRAwrR16%ARnE04tBiYf zUPVZF7AQ>OY^g{y4VyjK^N{7v?E*-cCHN+@gr-HuVVPdeY(DC;%+OG}q+)a_1T~Y# zGo@G9^Ql`3vcCZ63q4^G44?Lu$ng8Iip=lEe6ogs>s1m-mb1uMbJ?!)V1glNxk#xR zyy6gl+E)osS&~Y%IDji`(!bbdyrN}uw&1hDp24>>935LI!=>V+KA)>P zv)D49OFro!;ddiGZmZFvRl?1l$>(D-&^7*~hi$TqnZ-CJnc!~+YEi^R_;H0|c7YRI zgr9(6blD=FO)dkqUZG;+nC$gbit`=zdL$W|pjV^jlI2|Q@aPzc8n+bhqw5Nv7)PWT zqYzEdsWAvt#dtPly-u3rm}=`wmf|`*IVXsbI$yt}JLc9lgAsEt=pD!z~Bk!M76l^ZXXNeF?VGoCP+g5dgfbe*Tq5E|Vs!y&U7 zm13N3k|s!jo6&0H*O@Q4wu6L9g=Ui{&lF0$%xG@XyTNRL*J3dvngaA+(O5?}s5WR{ zV?M=lSw)Nn!taPA(hO7QB%5Grfqwu0xcnR`Xe)#wvA7d4xX;_|L9UGnKkxnejXzm&7?obJksQ$^8jk z8%-#IZw~+ao0s|F=}bk{?@M>|0*4r{5Q1@hxdW$Gay|;t27=%BOW3f6TbAoZU5ezh zv5LcAwbg{Ch&@MFk*^EZT>iS)A!YKbCO|*HagdV5iqEGc#k|^6o-UN*7Eokp341;E z&lQw+HT-@sp#kn6ac4vM%~Wlqq+U^#h=8g?mJzKu81l{z-@Gc-5(lcC7AUuv^#+>8 z>4fv3oQrBm$tXhCnJ%c<%rh2CjF@{neDi{)hv%_YCyj|=8uIIVBpQbkwws)mN!~CK zMR~aofItWaePm89@ja$fHPX}#WKJfTOcXq*>BqVPwQEeysVs!)APiA4 z>0T$CizL+yiPo*>nucp(n;@C5@Em-DVM@g$$j}ALl<|^o6`<{KwBU}9AyjLZ=G0BT z8nay?Ncl+{AsDTc>&%~T@FHYC!nx zUXuV)^83MSaC~vQQ7+a4Mk_w*s>Oqa+-bB@8vi|C#m4=KqM;wn87@@^ShILCLl;U# z1$@-y!Y^N0j7on0BYN6J_gj3D!rtm4TNa-A#fbdE|3aYrH6BHb6T*buDjkyyrEe_S zLR&|IF6cQt3^`wsz%Sb5Ir9}#BZFwg=TqVoDOtn-gWxjbNoaW>X;u|Krhp2HMG-#; zzl#aY^)9nH-5QISdIifM&6&M`Jaxd2py^yl?F&%%hmZ+&@z1 z{>^Q4jr&KucMYK_TFlLDviwq@lx0ef-}caTT#Jo$%$%mr`9g7bwi`S?VmhVWQN}QZ zeZ4II7Q-RKA+6F1WLP+Kb*R_X)lEv}tKDkhRWVE!3w$4;(?18eeTO{b#Y;A~IXeM? zSI4jrLn=O+#xkVc<7|K_FdgDE7E`KCjvv$7#IE4_I90+CR)uPvaDwSFI;B#>@1g4i zLvo4f=HIC zZa)sc3s#cz}5M3!Yskm*>w4C z%K3_4cGQPFSg_2=avYP-XCx^SZgip4zsoY?DM+x)ctr-g=nVg7TEy9$L7;%ORicP# zmO-P+BvKY>j-{w=%_{e{h*o4dd9I+{BAphbnIhUR_}rUKgy2Sp(VSs`ZDJc_DZ@GU zwm6^B@pwKYlWa7IBBGGi8qdxF+8s!Fbi_$Sy-vM`gkYvdo#%b_ZcwkIY0PHIu>urf z?b$PgM!lxCnhAmLp=nH~Xga2e(3D+;?~$dnJA@IZCzvMJcF=UrhUf-vmH7e*ZiVv! z@e*63;!~+HpW*t9PiU-@rPx&(>qKJ=o6dDsk*IGnI?&<>QP=D$^NC0orXhvqTKO~r zDIJUX3dd4d&Hg!CjzUy>4z57cSxM?9Rf~VrW3u4;DGz4c^7-37*GezYAO(pA6%(Mp zB+L0}o0i3kQldIdKytcZ%|$~MT}9%GGmaznd{RlzA;}poc^M)Lc9_E?MoRVr)o`|L zHhXGdXSafE~i$5;mE6Z#Xp3a-oZV-^~t5eU3Ck53gXW;#V^$`NC0i_J}@ zQ+yvG@I2MOH0l7`+stMR3UhnGZ~y|CU#^sJ9IAybr-kF9X;=o$21s_Uu~<^C=b3HE$mgdh}GCQNY*Y)zS5eAZXgWXh!%spOicPQO+z_r5A`AFq^u z%nk3dC{-Y&cPVZgpm+0bdM3(sa1xV`^kl&1M8x8h;3p;28Y8$-2!fBP%oK(UN&aobhiDx!z^1 zu69jdgkO>VIzGdI{nAL{k3xc1U(%~H43rOVfg+B}m-MG)=w3;f9UoICPH9!CyJV7% z$1tQn!?idVV(J_Y$#Tx82*D^~6sf6w@jnZ$@ArpnHkCl>={aGH)Oa~$p5S>{IT=jn z0Ba4LI>Qm9cx_Hk2~Vik2}6XSUPtB($13HzE}lo0F`p~iHxl1R(^)KNwGe{Im@H>+ z58dF|Q(A3i0a=QaY;WVZELRAP;fQ*TN`-oZC}eww#S)ow^CriqxK*}yS%w@PV^j}|!~((;Dfra}nnu+iNHJn|Tz0Bl^RNVMTgj0$2vQ|n zdatE8zD0x>g04fD!jhXl-;UM6{b^e{?N1Y41SC1zRqoVzJS8v5nK!OTG2oIoDz6Yc z3!jUA*%{uhF<2_k;y71=!%qiT8fmWPv5wBe2`@sP1#0e+moys61o-@+UGf|D-cjd?7rwQs6byX-N4h3M4OBJ!2xCGhX+$ukPc@^1eUdk+d z2UF*GjG^;ti0|OpoQye}l4NviirXzTg^m;n-!jz)8!yN+CJS^E-{HZrn#A1R;Hy_m z0{*O=#56L@V)?`=hM`_=7?%R2B11|^mg9RI9V=l}#id$h7O=gIrl|}mC7p5-6NSpQ z@YWsj3?zp~H0p#QmdpNg+AY>LNn?(V@Ed44T28OaWXxKJ#9(usqZ9gP0KtH26T`+Z zkvX=4YN!KTaeK;@sGcd1(d|MH0a5Gnb2 zS9x+vE`2WU))jz3+0lK}VVTiivRP41`(1}UU)7?(ETQYNAE*GnIsp>mk61rZDl>|0 zic)gTQ^x*}r+hw8`*wcSQ^bZ$f@Ged2_A;H2HO>GSI9C1oUK@;0Hc_{9pSs|8T_hA z)#ba0rpJ5NIh$hY+}+@OhPY4?$=3?bi}dwlOad5&Dguj;JD**eRuo@c5q?6@s3Ij# zPr1E;fax3|7zSiHj>R%znUd!SL9j#@)Lh=!VwLdi0lLl`8|WGjPkHaUx{4i)*ewNL z)e6fcaf;)xR_D$J)heFNJ3BNQL=gszLJW=VCXbGo&5)8?x1iV~k1~J(_HMBMysVW3 z<1xAhO=XoGgoFW}hv(yYOeVD2EarGVevR>nJfqzv&j}-fIcW?NoGQ~9x=E)4aC(g6 zVi*J=^N?3Bh$4ar*Q44bSyAsXIK*_&bOy(`K7eM>S!1=5wXT>BScJlFF+CQBFOmU% zO*X3?Lo=*Zo*Q~*n>dzO#Bvg{)?^xC8Z@f3eLRcNoM6HA8gqfj&~?_ToJZu680HdJ zqoR@J94~mc&8Exgk_;La`ym?adK^UP8irsLbJIskhAW;0XoB}zYJEixS+3B6U5~8_ z52mcS_@+AjH_O-<$LdJ!`IoWMbrg7T;X_f(g!TjFPt&wHo^!Hb5@TuHu44#tNhVol zYVz^rfZKJ2n-_oA&-)4sy4a&u99A6=d_GY7y?@qG!C%aoju%+E0#1r+wv-5ort!s) zhQ)e?x0}?3T7yL?$@^l8>+q{CwuWD&B{|EeRH;~)I!7Z8M+)^GmO`guYL6(>SNWBw z2~DJ)c2T2hWyA`2bDR4|AbGP~PhEr`WsNG~$qBt0gA&DE#?&h48h6$)bR=kkQONZ! ziegOHBTDy3ebS3}p>>oSZOMJ$sN71XJCtWr82+fDjYss@>$+rsfU?jr>4HX`M4 zLhPv7W}Xv80F7duLphV{b~rBw*P{^>4Pk@HgxL(C@#HD(7R@F?Fdj3XQ}dCMdR-Z) zMG>tQe!|Hq*RSFEEEc>vV11ogfN3dy>3l&Fb8?PpVpljj!S>X(VC@EJjBen!>A%Eu zuu`O?+C=Cy*DzgXW8tl1xAbvjU0Z+i<6r&Ku>Ey+abj!n>6o2PR!m3J4AWq%&B>Tx zfe=W8%ptc}&avz4IwUE&$t0th6U2-&)*M`uU#;VqB)OW1R1K;I8?LeyK3ysqln|Fe zRksKdG{O0johtK`2U9j(<{4)TCD{F9NZaP7&m_hv_iTSQc&#WMuRy3M9W3cOj8~<~ zL0&%RFrsSW=Ahw6_RO zSbvv6@ru;5S6FkZwZ=Q_B*qbI1SnPyhTM z{b&Dcqt@EV7sJ)ctyQCnB@9jW8sw6SL$ILcvff137|gIO7A97mRYFx`D#&x{25T1c z1y3c~3MWP8I5vxvzqh3faG%aNTb2XH3O$FTIhv*%6NMm^N?@_>VrT>jHIqM#h;y|( zuvn1x`B2%MuDMFeAmC1oCo>Srcn0{3E%k^jt1TwrfrzeCbY;W`G z6}pZPYG0CoMuR-3QCDRol4g@un>3-(#4xB{<<7CkW~HF-_%{5e8@)nug^t z8W05Z)>$plG?E;{;QXB42BwAY)40hZ0LiIK9N}sRL7t)Mcn#tOc9m#Mny?C~_1L&Y zmM}UIn$3J9thq>Q$W+LXU?6QjcdK5MPj+{AjqcjoD!Rt#p=P^zG6!j!QcCtu>DFlZ zRBYNl^A#H{o}G~AG<{5i*d~Z@6AqUcFpYSthmf4doUd3VSYVq32~CG>m*WLr4Y^iT zHm@%uc3e!26iiKRL9}#iof|&)C*1NG$IAGu0R0Qq-wjX2TLD)H!6$2c+D8<9nn1v2 zh2NYjW1II|bR1p;N=Yn=)rby@6kF#gVv%8M?D}XBrm8a>$Na3ra7iW^t!P*(IRIY_ zF*Qt$pR~&?R|KcvivgO3tMhl(5rQzKVe+qzIEc^$|M?B|%&I}%=4_5*@P{FqKr?x_ zNhUB|wgiVMM}lxkKbu@NnGvs&dMEc7bZ(rYt&&- zmbK!wY$*itN`k%KResw-u-joeS7V{W5w3}*(Vt=J2#rRSC}JKHr{t0($27RR!LvST zieKe=i^nJAI=fvuKBI&z<>z;ZH4aAfDx3#MFj7nt;Pmuzn>?_$$MYAelAO($Ocf`l zUZd(Fs(2prxr)6!R}EyfO1p)C;fPze$uoeXV>BHRVz~;GU)v;IF*wJvF)fx6^%~KF zZHv(YB#y?}jA}!5wrPx2AzhIr2#s)rTT|ZQ2$~x*SqUMT&*)wktDI%1Tecx4%|H3% z@BUx@>;EfY?A-dKe|kpTu12G(u8n4SxDv}%zSba4I2zLSStZn~OhPP!Xi1(EY6Nq7 zb;O)F=f##`HDQpqe3q#5sABT0}F&7fA{jZJKarh_-pWN2#2{ccqh6<0!}D-ml@F^`^&90` zxnwtFIz>wS48x#N=llfQxkUU6rfU@O)z<*iDW=W!+e`zp6rr)26HchqktlS2Hf9lF zSxnDyd?8@#4yy&DW6`*!%bF0vb_f2Q+jn<&cLAeS=baBe{OaEyVyqx**CLR^DVBi{ zG%flwst(hL#fn;4x)d{;7w0rR7C?+`De;RCBql;IGci}J60TL$=6c_xTO}N`ExG3L zY^LUl1x;KCqC~k%bR1>H@0ol)BurRyNOR7XbRC`r%Bw;XJP8ocuvm8$JLgFNs3kMc zLwo}%*!Ac*mz`mecyo!V6K5pw^V&{j& zb{pXPL+)%K1X<2bo9Uc9M_z~?B;A@~!*G=ZQ|y|S0KK|On0q~*ohcMi6`bWu#FaVf z{X=EJL>Ye5Ihw}f6V+3kPFbs?3v`{+3C$`Mhie@w7KVXs(5j+oY_}OlNU0F~{tP6c zWZlEHxX~q!0Za!U&{?h+MLh2#;An~_I9(_z%w&pyS{>h4mx*SBW`prWrN_NJfc<@S z(F8P|@mTr!PN&2%5`2%Eul59QtPupf^(NyngCV|;?^CZce}aI;5-G_vmLZ14A|{$( zSIA5j5zA8?553s^-d3w7G@UGEwIE&MG|6+J+pJc2HEj`KRH$`i7K&tnl{>q;yZ_)H z{Db0eWo+I239x!4T!4*hGn_GvNHda@ zIHBTTNo0i=2dr64Vl<0MNZn$`Cs@*Sn585+J)Jd+O_w;OVKSHOdYrAGzzl6#Hnu@k z=WN9)W18@GgD}A}c|7Gsz{?Pz<F5R5~e&3sGEE?;O}j65TOf#^per0 zYg7bhOZ74Mopg&!cLT1l^oOP!RavDHEdRw=%NV`3RJJtlLGM!d1f@fh1+5)#IYLOci4 zWWSH8k;5S1)+W;#zDK3bvjM<6KjG`I)g&ei2}6a&*Xv9tfMUrMp_pZg6Vq(c?J^qD zY$G9*`1+hJhv^()u}si)Ixd4Hi=0J(}X;u zViKjyN|n=xT~-;uBw;^52tMi%OAh9=Y+i(F1DR*2{&3wgT%8Ndd%hjLiweZ$8 z_1gPKyt%EAl12qhQ{Py$qUIuV9-q*kQLA8C98RcLX!-1)vxr%w+0rfhsUSSwW7!AwXL(r%rA5$=7J!} z)mXLAtvfo)6`A0CNhbNI!=A??W6!5)5hc7)=WoyWT_0WWL7TeC@q((s^H42&>ezH0 z728FC{dPc_%XjnQQb`%$+ZZgb~u*~>!$h9h-t;B>vLpKp%<;-%f zRj6vXZNiMYMyt+r&Q}vAG1EDBwlH*rLA%CssR*Tmh*5y1u}W0t(F#0JD5V0DT(a9` zI;U4dmH@+Kju2{xE^uCIBj4ICnQm7$C>P;3yYdntcyNrAigt4meit(NW)&ps4YfME zNQQ?)<}nYCna5NeY=gJ9c-kkMW7*tV=lOtCaCeiMOQpi^zvmY>h=oeR=K+A5v04F` zCfzQe7}$F^5Q1m>mk4bEKh)|76bx9*ISbHlI%9i_XpW{41oZppI?X1{2DZb&A<+U| zXE-EHNvkyKR2`xmU8B`v7O;w`R+t4W7Fe#5imme{6(7b>i+Mh-~PX|Omu3( z)bhbpHa*TJbZg`}{V6v$m_{sO(wwyhgBjxxAvhec(ps9Y zQ)YAeQ+$_3mGcSj?hz;SLmZ9ioH#+#a4h;W7BO*(5F{Cf&KsNLk}PMp$2d|`nU;ry z=jXKjOMu~Q@>=*^M5&ZKIpxj<0)+!#gr9neY*V#Ka_()jib0T~){k!Yum!<_ogJh_wqh9a^qfy_^W>OlpU!ob z3zgP@ET_=`NuxopOTSOM&ER4?ssO0h6?v_ARWX1K=V*c`V&@u-CheA*+1M6HMq@mW zn>Rr+oe|A3OmdAy#C(Bfvj{;dM{NKTzfGQz=Sm;wRFI%+m^RJ^i;z6QG+E8jU=iZh z1(HR`GNRfPafDS7Vrgyrx88mC-9Hk9JKOIc9DeogJAZMo|Dt>C&f(+7x}GFyZdo_`#oJ{g;rkt04(Pf^2;8sl$?$%r! z6QL1gTz5%QqyWix6S52)K3?Nqi=&15M&~P%99`$>l4*pV@Ut#%m1)GQjHkycBNalP zb`2>B<^ab-980lV(*#}MIow)jl^`I=NHTzHEyfYkEAb5HOAy1}dnohTlcT+i1}C&@`@hnautG zV|KetBSg+1qFKQ=*|^5p7)uc5)GE{yDpgJ=%DVq}%8eVGpA!ZI0m~I$6$EKYqpsKy zg=^E`$|MGO{#<3_B5f8ERL>`vsk&X)@O_3uZtRigAn9~f9qUx-G-yVQLk^EXDo|bq z#0l{NAOWGV7?Y<|>Qo!#8J5i=q*7CR3#G)VpbHF>SSOqauT8uVhK<`0X^iC?;h52Z zQ8yb~TU$FjJAXVA?rgvR{q(D~we{hN*J?GQ`II<`Ct{Tnr_wU9Esh3g8toe40>6TQ zoi5K#0LCG;3TG2E!L=^YicX!QAv+z;CY;3xuuU+@V*H#%$~lBOM;F;6*)IA79V(K4x9G;Qur=vDZ3 zOxLDi0z96vQ6Z7Mif}dMno}&LNZ==JW-%$e(E`alMH4&@_+rGKhapIE(wy&S#Hms( z6}LT~m5WG-mLxe6?gvU}dv}L$!9mQ=uJiBr)$<241R%KHV^#>PO6$}`jAJ6<-lkgp zwbfMR=#x|4+G4s;6PhO{%0Kgbrq+zTSppKpbhHSnBK)RTPX=F1zm5<*JjS)SwLzXKX?UJ-I>K{VrMNmB4=GP+3t-r>YJVP_L1t#c?H!0HR1O)-9m?{s5sN zG>`-l8X)oOcs_B=DrPpp^Vr>GJjOOy#nft8He^f#-nzqNf`sD}o}H@|^SZ7$Ra!A< z5cnOcInfx+LKDPG44up*%cwM2M$BiTc>_%sx`}3L!C1}*Myp%@i}(KFKmN!6xIiW@ zZbDw@VanTo_uv2D4)6cV^TS8;D9DzJS(Nw3aul-FW*TCfL@T63*RTxQHJ%>RsiO&k z1xTiIe3vX|8qxBRkYyZ?FiZd6XvwyVZLx}(Y5c_D>k)I|JB?mL|MoIS01UjIC-|Gu}uNdO5D5q+etdaJN5{|k)Rd}0N?vd6E#Nw!YCv+W@#qRExqqPSUXHeSa-}N6x1Xvh!-FH0 zh1#ZQ8FIBk2zoBB-9~_;b2K4H(KWSh<#J8GwUhGIH0W}zs;rmx)b~+;SD-an0yZS? zc2M*OL=x?imUgJ~+;~RNbqG^FxaQtA?_DVQLOaoEBySv}>(n*(cKF>Vj656*$5e5s zYb;~NUFH!2ER&rviwNBy&$(PPo+z5G?r?cUU32R$U;Z-dwW>DTpMNr8Fi^ij7$|hU zt*eJ444oiUQQEpZwJT*le8g-E*?`0kX==tJMk5e7j^eCsZIS2n`V9JH1z~{Wa(T^Q z00wEu$*E#*w@FwtFig^r&InB>kFh({6=jZWD0A|d;Q^*00H-gaC8GnamO^(37J|$u z*Y2lZ|J>jD$)EnopZv)`5OD^7=={JB{P1skn6B~lfAep2&C>N^cid>2bWPq}GwN_S zBTSK!ykrq@dxt2cstHr&?XwK28zw!q;11|}^gY6qqNL-nlI%!MQ$99eUD0UV>M_>I z3RV@R;5ug8#qIDx4H~iJ+($=wel&vL^_hB%40O0o7}~@Yw}yy@>x``qnxJD~S={X~ zG^jLeomI+3&Vj@C?J}@c37Xd!f*p^pNz)KjEJ_v$uF0DruR7FluS-_&n^)ZGQPjN9 z!?U>8r;;GaT;?}u8eh4gtU+?T4Ja*`gdpZ}#WF;|gCj++X>(xP&@KY5*8sa?h8^;f z!zo41GDg7J5?w<|R*@nUbL~t3ZZ_>KFd^G%oVCbCkv$HE04Gi0ImadA+`gdj~y#-+&k^Yh=><=xDJRC?%(0jHM)jtF~6c}C?s{w z%;E73mX0UTZ4P#L?SQ1gPdJ-1ngX~k+dEj6ion}<5b)uLEEY^ADh}s!8mVTXt+jS5 z$?f&<173bW93up?2t(&;4sicPs+vcS@H&(wVTjiu&p|NTCW^SeraQzo$TMn)V|KR* z7b=}5Yq~8dUy>(SuKK8>CG!({Gi(p1hbL)9pa}_@E|7G`BDliv1QD91<)twijz97G zr*?OD|8T_p5t;Dh^s5iwfA{yl{+l2C_Agyt&4*TgKCkP#aV_3EW!$5za4al?WebaU z(KW8u3_27gLh$yfas(Rpm^#)toPQ^%hqvfH>oBAD}B(6^tzOR)|?Ek>Re( zuV3*vVPNq29ccJ4<}}06uo~|5aWvj(gVR74%qu?C<9(l52iM@8h>oO@2+1oG5d78( zw}G0^?oeoGf*@g);p*HOa?s<0fUu${_`Lv4aDTx40gWWd5jtlX7QD4&$KuwAfl1`x z#{j?YbF+rF%HKI;hJ?ylN>Dce^=5X}1OZFhH{j}Vq?5Ez4UQt%u-&2kfM^goh3!xzOXOz)4;4e25n&%|%4clh1*>?E)F~9OAY%q*AF}`xB zBJk@ceCm#Z2gV&lyZPBsKeJ&l4;XiGY~DR*=z-4DYi4~ko!euEU7iH!8Xr62GC~L} zjX0;Si8M5qx~8r;KUZqn-96$61W%tbzxhap7mUYBR=-{=ztFly*QgtG9m}F_KoUlD zy8x3ZPoJ<@u-m%DfZL(pWiY@n0m4wNWGYH@4PE2(oTS8Z$P)}p0f1#jRni$^m zwpax0jQIV>%m!Q(07=Hai)m0+G!Pazu-8Y|`S>0$%_>&m*H*u+DO0<1A}KhWP&bU*U8Rzq zt)R$N!Xf~HV-qfr5~=ZfPkC_{)1YrL8PR~DQ$v~&WwEaw~Nu@PHTz_{pFA$v-jz`6DyovvYd()qn60e&NHf{J+xGP2Du2 zk(W!^f)Hsz*P(70cDP)zJ;b&M6Tbe0s#Y5z%bN2A+e3z3ZhX!b>`j>ViBjqYU8Ag( zaZt;R+_lI`fT_if&9%<)0Hfw4qpF$ebb354s6y%-UFY_Ys^R?-BSWh=7}NJ?B>(sW zb~Pm29ndK#(B~7oj4a9qUGgiJXf-{T@0npp(t;;BJ%g;|-h>8{oO?qaCuo8s z=l6Yz3SHylI~Y3ah)CybV>+s)EbzGpAP8crhSf&9aJ^Pss+SHKb`>%KAQed(cyNd& z=y#|a9$%?f(}IozoBe^n!I&r`E0nmQ=K$OUD(OiSf-j{ac|Y@gVnaYfa5&~<$@>@2 zGo&tfaKKxqYCTJ9P~S*~o_c2B@q14gbvd38W;6}9$y;YgiDz-P29yd+N+w-2oqO9% zMz}hbMk0w?qN&T+!?8#Wf&d{1a!gb4Z0B=457$!)BOnZsQf)hW?Ny=}0Vk(O$;}O# z&h1+OPo6RwG8n4&1EV1lY+DJA+pu4)IXGZAAdYc5JbjF2Fq~oQ%%=R_JDfcw3-N|( zI8^5336lc_Lbl~-5}=!;A<3HIE|Yz#iYgaEC(pFrM7R?H$U>Zbs5!2!MeY|q{{#Qt zU;FVt+zLKBe?%sHb`JL6_$znH)vGNh`BG8_vb zIGRyZSO)7DUE^>@Sz+qT0}iI@1N!h1%iyI$q7*;oVo6!?`fV-(l8n23BFWn^eUG;y zwk}-vMm>Z{(GVB3>xxHR3?0iw7+h84CGW&)5c-8z2orM2WWrU+*(E}-Y}s4z(xC#% zj@ZHLn?AKY*}Wq*RM({X47=QliED0nFhSoi5T z*cPRRge;?~scV`BT_=jrbzF}yBnlA%uU%2r5QM4+lJOH3PoMG&yH!(c!d(CMM+6d8A3Bv{k)Sgm<_f+)!orQT9rY!kX;H4fEu5M(h@ zARC+x-VoVP7Q%4V210i%Wu-NR2xCzvPz$56Klz1EeE#EK_@3{1PEz~Uf)Lo+x<43B z4i0y&t`=DtYI>2?a@-@$Npehsd7uUfPj3hk!h~0jSw-Be8FZNR@nhC8hK`g>2i*AV zjny}=8!lJujTHuc<5N~#IJ_|6JR`3d*i<$}r4W(J6Q{G)M z8*t+j+iY7@HNSGgbU;lmf>=*BB1DxKKOd8%b4S+X#)SL};wnELRNr^!mz+ zsYU!E2}UctsM6gW9!*hfa#u4)CxQ+i#>f;2_b5Fu&G^)-8YL?K;| z!4`R>s&}E0M%XS*gRp2C>Y6N|t{HBD#Bzv3Av9!(Zi~ek(?hXd(eG)RCUU9SwYSqd z`ox{j|DC_{cmCuk`;*Gi_I&WxumAEt{;$s;eR*~HPL$?Dt9s`|#wmHhD&qDINk-45 ztO;UF1J~lcGqy+MC0&QFKT(AG7G*wPP*l8ro4L>Vk_U$XaRzX{WHw;he=bOw^qCDv zb1V}-=KV7|4ucLoS1r$2MVLCn4ta&4akW;Pt3Xw@i$KNvj?I(J=W846*ecS_GNpOH z+o!BRP+0UmRq`1+j)|u6;y!+&3hDPw0fo!8pWUr(m3-!bip=RiJ-D;0YApoIfYpYI zY3S+~?0K8d`5Zt>u6_0=DsKCm-cr}pTEed-?v;XdY6)zswMIJ^?Q^|Eilrrfl)N2vo*;F-t z!qXcLCX9MqEEQF6J~v;ebp;20(D)s*IDadGVIcEC@YpBu8kif zB|VR-Qk~@Gitl|{rHB@~)HINkHE(U^C7*l1lPf@Jz=2neRl}B7ECPVNF`lE|Gw#wz z1|1xWQJ1>ma!JplX%sD?kzB8-8@7i$IO1ZdxGc+$G=T{A#tb+9i|sOoHY%=tkbL%m z!szQ-4R0iBz6#&)>MBBlXQK%kiDUA@HlXHsNZ!BXl>^oZb))!b?Wb|&E78+4UDBN` ze&<8AA9vK*;LbKt4zP$=MKrB%Vgz6sO0L02tV$<+uGb7Zync&EmpB%t&6`hfZQ_K> zHM?7sB|AgB)~Zl4K2{#sp2vKSA3 zSgn)CWD&BVGg1&mT_GE~6IH@!8g)$?;q+NN6@x9j3AUvPjdU$=h3*>RwQd)^{jKAl z`Kh1%;lKLBf7~$UqvzjJjy^lDzIK0o^L=0baxs5&scW%jFzRCJNBXo-Tr$HQPfBok54b$DqU8Cjc)W0rWjqA?KUTM-L9w z=*TgNQlgAIJI^y}T40%cc%dW$jbt`pYslV&4=+dy>W0-bv$NIn? zdG{R8rK$PgjGZl}WA+E^ZS&?6(j~iFESGoCM8u49_$I-L$)M@7_N zpu(@yK|ootvrSnN`mB9!-&S4ga;bcWRgH>*9D;x-+87O*WEHzJ0No`?aSi4%mcyq$ z$$CwkAT26QA%Q|*d5Wvu^3gg&6^AX0IPo_x)nal82-6g1Pc*ftJ6f?sWV#{kkAM8* zKmAkx;lKYQf9xdY51el{2!VcYXLsj~bp4emIqw*GQpvm`N;zM$J*28}EaHs42~uL4 ztYh{jifX(J(FEf@XLEMP%mel&Bspcp`GVPiySo7MfO){6qml{WSgd0li~R{eRg>nd zBJz^D;dmPp9s<1N(zj(chb)4tk%VTW?U zIRKDSxs3WLU6(Ln(nSas5oar4qqLCBTkOu@^&_OF75Jf}}scp3ow>?=#mSNk}wTeT3t+pl^23kX} zOMjp+z@sBhPMOb{O_feU(+DH3t`!=Azz@+hWhAp+(=_Bc-5%2sL8x|4j7QWB2e)u^ z3es3Pr86pIRrBs3~BHvQC4V$XKw9zdLi)fBJMAPZaM4gexqSkfIVz94W`ogWe zo<4o!#qX(N9zTBk&7?uT`Es;9zw{4(@%R4K-+%h(-KJdJ%uCOb*DFqM826|f;tW$~ z+Gif1YkY9Y-k6@tBIInrtH-M7YJbDC1(v~dfFDyHl#^@4NBQ~_l}7F#KXMX#$AeYVZ}4*?DjI6DV$It;oD26%mnlrZGr7I{KbQ`Rb0 zR|_hGJf=HFXo`#$tuRb99SMsQdRy2Irh{RS#WWSeV?ibIn5q&@gF7^8O*DyCOJm~f zedg6K{Qdv)|Mi=XDZbSp1pei({o=3w^Z(Dq`@b4Tew~%J#v&k0scW*5-4RjBO~A#H z?IC5w_K4s8fN5V{XJ-rc#@yLu9TDdw8S{W?AJgD$q4cTkGqcT7%l!#WLs8Lj`09rg zC4G-^PjPqrgk^}7)D5?{Rdx5)6ZR%d`t)2yZPhipF6)S<;cAU*F&(Iyt*&|Jl)dru zXUxquGN9*?8s&Yo+=L%+?Xx##(x++YcM$OK zTzwjCjr!UxxwEA-_@2%C7YsaAE7lEr zBTnW@UH)9$)FKmYRA@@}`hzdiK-1872@>jB@zJI|cE`MTj)Xy%lR2{%X4DLxf=MvtD!Owi@H5IjbehC6345Ho(~hlL^x)egLq$!^s&)s+!P8Xk-{Zq$tpJ!X@57Y~2=RCXx^|Esura>P0S$(%qVEfAXcz|IAPS z%;DkTH<<(5^DPJA>DgDWuiyPwzy4qSvw!$oQ{9(!y$DG&ZhX2feU~WXdW~f;=%`Uj z3u+BItRgkXoAjA)ycNzCYFIiC*c~(O@%6{d1}c>eI?M)?6-iE7@Z_3lAIGAq&@`@A zT&>xgs0m8n<2T+y2zEv)%e5D-uB*K2+V~O62txAF@KtkX}99@NymX{)@HxcwgG%$z~thdz*aw%(?KTJuCxFV-YdwDiTc3Rdnbw;@R5?m zlIeyQx?C_E(d$xH=(?&cEeqRHTu8?OL0u82AZZ%4jyDXsbxZXESJ$jo92}6Q^n1h! zXBUje$|^=mtS-@tJRz^q+YjLsw@-hH*^>SPfGoxv(wh)1aXiu(%S8xLOUhJC4zUM< zO3;YwQ?06X-OzgW=m$UhrJw%mKlgp#_kG_|K=Cd0gwM_=KK?i7i^m_nb-Fq)^B{68 zc{V3ZacyeJJW$13QE|COHr(AMukaHtR}>|$-)0_gvE&P{@b(EpDA2j6C@UpO+#XTY z7#dxND8;q0O|I7Ljfpc{iw161EF*TuNXekXjnAV?<&rw?gT!-qbg80r&|w)8rM!KD z;CU^o>s+t7Ui12Gl?Ic7b%bYgcMr?JPZaU>d_h_$XB|^#(5I>ybX1)C$@Ac8ABas9 z3GodRnsx^B9KlC@)wrjoN5D%5>N^~7;6*NH{&A+vWBh zEQ{-FG>xKAizV_xA?Zj~YlJ}46w^)DIXR)*Wjvy3&^5Mp81?z!Lk^C~6NWwPEr9i! z%Y-b%?V%eW7;IBy7&ZuHT~QU-T?~`DL^k->IDK?SP~o^}BeF;srdHN80;?|?U+)^j zH*S6Qi{Jahe?TbsO`dN#2oLt(0RHNi{<9ArUc6ub^GJN)N9FFM(RFlyN?{U6B zHp~WGER|FG?wGPtxV#W*?auy$NuRvrVgaxW*&S2Y7&-zaDz6({i)o)##O|1$$HQ}6 z8xgTJpr}}dXoAZXnqYgRpt*IVOdJIGu>u3OM=F7gd)%y9M$ZuoDVYZVhcoh$s}=VT zR5t6_y#16U$J9BTsdBXID$(sSWbPw`Dlau{GZ%s5Ey9#1S4{f6^<+ci+=Sm~;~4O) zd)ynVORd#dtYcNawlB3`KIs!Cm?qO6^H8xp&sU@cWzFSUv0DtCGao708*}^F&+HJU z3Wb;O-Ua(3g(Z3xi->iKp>cbgp^M{!;N^Wv!NA5gC?#pe(}fDuAXDPztvxO-0p$(T z#^IeiYJu)EE3{`y+>bu?eFj5?M)*F%0n-UZfn^aV?C+uLYKdo(py`w)aYSBFS4?I! z6_1}_yULt$nYjqYw}doh_VoxrdiVY{*Qm@XaB=LO%80&pC%Kw=SP3^=YD%<_h0;@ z|9jM&Ow72dn;;?0DJyy&S;^&!s$pkLnyZSmkpv0LP!XM5n%lJxC=&2=pf1N2gfI;S z7RMQm$*`+NFQ;=1ovRf)V;ZTDjCIV`5JO`+z_s}B5>Vf~Ei!eTvU)zGS%&JFH=pqO zEhTFhce!5k<`b0|FPCf$dGAaOoLW{_Ua~(`OKQ6=evD&LH;O^}(%}Zd-(sDp8ujg` zfZ}!ox3<+Bs1-4-HsxzO0UmW3bnp}PQ9R48yJN*<2onyb+yq>#(KIfW=mH@KQqmIF zVi_~(p$T3;Qoa~RQ`Rv-#vHp2NJ zWH@BdXR#nnu`GmOx#Zvg%c9$1K3AeS$K~z|y!{r2sf^g_nk)xNucuVM7}N#2K_iG` z3?0KJ4RH-tH3*yzLSuD-(; zEA}Sn8d<6C?iWiI0k0gZa4IX-5tG)Ct3y@u=n_y|mg#_^d_KBt5zA*NU;B(7({XSt zfVv^gxxE9B72Mq=Oj$)}8gri;Uzv`zv(4kJ=LCjlBBp0DrPdiy!24(FpS#(pY(M)F z2$i&-&2_HU2oM^deF;$i5Il$YT~pn&1|G*#fTE%(S#HKNkFM2i==}>c9bIr8s3lNu z+(yE?7m5Kh>~L#~MSyJqymx`?5XW4txw}VI0&E}f`|l&+^^dcdGuz_vW1c<*I6hX> zEIuNgd3M%oKy7Gg-!L5D2MVBTf2nq2B&9Om)^!}0>6l~_lWneR8U}rS_p1~oSw>zU z8!VS9XFO*2fIP)tIo>@5+jonfwH?(9-lL>Z$V@0@V8=JO9!CEU_n_9m(u z9QC+fv5Zt2Y$1^L`gSaiw{R>BjUeG-g(mp$LfId+IdE&p(TpHLw5wD$u-Mg#s}--^ zrjaZ|hTZ4k*9I6uL5MB?yX_ut{0&v*SiO07Oq?mI!!krd$3cK5I2hBhmGa2ck&>qi zj;37uJeeZ|4=-pyXsQemf=}M1t`UO1$IxTa^wbTrzXv?Y;>I@MK`H+t`^D;qaA)aJ)Cwsazk%|e~sxV?wfx@ ze}>b;FllOv45^DEqfCX}6Hbp{1(t5t{oTp&kN)6K{K@3(Z|3}&g79Gfjf4F+=BMv` zsCDA>w~}~KBt@7K=j@CT8dZ%SlNU4%amK}(qnYBh2*J&o^Cf!|g)8igs2Xe&DOm)Z zF92S@P1>%hFtJQJE|x)6vyLbogkaKV8RAE32rdLs%Gp9?l2?vYr=AxCiNYbGOwn9S zoxQPYV%x^DjX-q-t59V{$HLSxG=ly;@A$Onf? z`StipCrc=~B znIk2Su6Z(7_m@_YBm^CY7xrjsJO^0=bS;HyoUdslX@#F6Yl;j%#kKgt3uJ(#SR-^U z1Nt`SF=?WPqR-B=6!(XZ*zjzH0*euvN_uTA+DJ4VT3QkSnxGLR364WvASF_uH(Xy~ zIv6^m5x&nvM`&zs5ruR+WSLr`lmxu;fVkj;_gVWCDc%5}>rhq5TB#+n7^lN{pE5@R zHFb@DO>atFi8eELdc?J6c12lXACuon$t?j)k@uuJ{o>Of*;fK2ouictYb_AO=H}n?-8Wzj)-Ee0}PEP zbHy*cSfdFngBN$vG^!dyM+%yT<1vefzK76w>x8_f7OWCX6UQP;F%A5bJ2UPdQ`Pjk zWEnw#XCn<33*wkXq-dFc@W^j?C^n6s{Nuu}<-rU5HRBPDV6{fmkqv_ZQA|@41Pn*y z8Qq@B-U7miyr4hCF3EFhNHUU?qhk&wK|tSSwZ?PNG=zq1bF2VKXF!pvyR*|F4M{`l zip~&Sr_)DDqP1{3*dB%>vJiL7>XP1$UP>WWo!zbd@B8!*{n(HG*q=QD`L+ZhaQE(g z_z8b;^49OYTcwdONE5>2<=L9UNQz-}c_w3IYyioZMjQoG&mm zW_>lT)HFPsx*<&PW8$2qQ4oAtkriC6d2wGc)LNs|cTRZuNO3Pbn)ZIcItQY{Gs+oUKk9HN*kr_;lBm|qje=sG(tmzT`j;l%=)T?d-lwz%OX@lVM8Y?c;%S1U>VYN6biqN zx$%(_p|Lwg2qrzcE@8R>;w7MDN|Qd##%T26xw<_+t3ul*Fig}B*6u&JT%l>ae5@{) zb}z`;f~qD+@Ek=d(lnZy7kAN66y$a*!NV(%ynlhSac3=R-a5lFX=?g5TRnh|$<97Q z4=TcxAmMVYJk*h_Q-(tXs<|2tky2st?TWHzGd>|`B+G@W2sFWb4gyVk4jZ-)+Ip{@ z&D^=e$%)E!FTTLT50LP}3p6#49`pLgXezu8aZD7^*V*2}w1^V2jGH;8OOkMQ0S5k@ zvP5p!g25cwV0%iNYgkkjx>2tNFYMA!8_LT#-q4SA*NU5Cmvw|?i(wPm&N(`OtAz%HF*+4BY zoDDc%vJ83c7IlMb<2k(bRB^Q%Nz>5x`0e*pFw~7|?XFhe@XXgA1H68lW;4vpO9i{X zeg^^j6Y^3?I$8ygu5qzM6MXUo1gvA0p%Nk?pATAYZ3FnpCj8)fjg%NV_YV;;>hk_M zfG(7{N!L{EDg=i!(ws+EbR5p+NN6OB04aI-2m?%=S&uMNtn_!!K+v%`Spyg)qb`>| zRmErTvDL><897)6wZ{I8Cv$Ep9Fxm6X*-k}DC|K9wWnGL=5y7{wG6d36E2pUsMFNv zwp=PL<=uM=0*i%Opxe|S)KsZOGGxQ{4(pJ9kE26YD<%^bb9Q$yP4*8tJ7qM& zw6RU1h^)Zzxc?$?%Ec9X6Rt1FQlyPxg23&vx=`a#p<#P;Mr7^UaGkmY6WO$adZAe? zo(Kt@8D>XRweVLoXq~>Z)!Vy7B>$*g?P6y+ma)0W3e0asU%i}B93=E%{KBR@3?^QKdYqp1~wew@5jGoK5i)mo! zXccKr-LOBU?;)V5@MCO~gDId|{8qrx+Jv{{tX0I`1SE?Y7)M)MV&zrXo=`vIo*mL zb;123)n~S%hf$ZS6{`r-;KhAa@*U1da`KX{%PJzyIA1F6_5A}(gSz2pMq02=uq~ck zqX~9~JiJjpVt2McZ~+u8>(UnT%08nGo=eAK+$Acw3Gr)!03^Dn*jwERmzPi~)n6M< zitHkuhu`hZqKLa6!Qxwo`DcSrAsCOEeqa3}am;8y zRkK>rAMl{d`31ZCy!S3)NVkJ+G3b%ySQd_l=P?}69Wfqrafv-#5tazGMb zIw}DcDMDBJ{T4qgGb%}UfN3&40)(N7EEA2?%!yuJ8kW)7?cVzFAN`4MZv^t~4MN~x z|BZXEep0yR+wcCy#e4Hcq?XNSDD#F&ph+4@n6o>k?{HosVBm4RLK7Go2U8kJ&*jGF zY_6)oc5FBuum}lL44vH$5)7T$kl%TaNnfF7t)y@fplS3y=7G}qwPh#Z$13?W4KM7o z3=l#^`~HMcM-feminpG!J3_)b!q8a+WCfF+QtR!EC`zhEWxPi6@*z#bxW~?z(>YPb zbf8FiyJPwtklfnFPY6?VO`&|cU}p@VYa5BZVD1y9I5vA0rh%VuG{e+Ma=H$2PL#0- zRk!@|h8r;LQ#G8es2ZvY0j^DwlNZ<)hhsF2y)ny(*N-?2=^D5uQN~qBP^)gu=&)FD zFk`+3h_4i0=ljnIF3*kxf31qrUZ3#@pg%we#uE+?lr!(?DTfCDFWu*@x9RqX6S`fx zUG+fM81&iMB~6txg=Qcdx?N>kczUXqy*zmgkmm@4azT<}dek*lgJ}>Ygb`6nU7{D1 z8QqD}0g`~g?jqae0w&9I#awF|Rl3_Ws7qEC0!tH!rq)OO$(R1>7yrtq z|D7NIpZxf@H)Qy>2O%&S-@3TC*x&tp6nuFeUrlC7y{@uC4!dYIxz4V|&5E*AmZa^K ztr@(3$_?5gIQY(y{4x=sK)plAIu6 z9bsF%a;)~$ZVd?&&KE2L)(NuVwc9KMB+Ld%V4(}esBVLKcg&WPeNptC)Mc)D3k*lyS4hbFgiylDy{DjH+bTV>VzJA|$f` zUpv9`2nzCo_pfnm{1gO@WPgg?p^<#@6a33xV>o1gpDb|)M4sipKmpXz}Z}xTR($C+7Z$2SXEP# zo&rB!zfE3Z8mvNE0Or;M~o`k*0IItKl36{rlPJj zHN09Y@!_k-bR3$RIH%u1Haxjjo}BBL1|A$JLx*99hnI@0m6UiEeUIHSwvM5(-6u%t zIxJJ_hNPk>&`^sgY=Z=(hP_38?U+l_LrU1L6drHzH3!5*Jh@ zhD8{o>1cvdLpNwDiVV%bv}r2lXVjH~-~rvFh-oC<3A!c>o14ctJ-n%~O-;AO@&eJ- zn#Szd{V7L(`)~d2pa0o^i(k{9`h5E{VS9e)hyLc)*8TtfSAOBw%YTw27tuO(-P&Ku z?trX86RZ<-o$V2qD-47E34M>bPn5GWqHZWkOr4M2Vcy!$2+kLL>^A)l^FS>du}yAm z5v9Z#XA1;ukJuaY=nC89zZ1dbN>+8ASIr|I#!CR%axMw-rq+E zMm?4hmWgGsil`ejjaP3`Hxw1SF3XUP!{bY;HvAHGHNSQn&r~~Mu2u{>TqZ;*mdVzZ zf^%$}oe>qp0aBx=2@*`5xa45Ki$~NACo6^r%;&6DbUNJJFc{G5ZQLb<67O}p%0s@T zp0&=_>x~)<6r#{RqiAS?^;#hra)S-FgcvE&1+@UsHEKx^Vp{4x(uSXHk~bi5ZPM1J zs85k`e$K&d@|Zj(%@Gj#L=mP8kV-(^Y6Tk%3u)3F60I=|gocD*iDTpT&@CY= zs)FG@{-tK8cC>DgDm{FQ(DkN$uE zx3ja;i}O;`Dp|?BEv`=39#hx2CU2h-XH0waJ$eq;A+CXC@Z0ZWXlxA_cnW9BE2cfV zt`e$t9r_-CYxB>4m#k3S&ci9c{M$5=-7!5EDM@mk+^{=R&P%tpd334zy_PWW@jE=Z zQFvX;UugmKb;P8HgrZ^{gQVx732c)$?&8Pj8rvgS08N=XX=uDdd;PeY&e|JaX6Te7BsLo;%iT+YgQraLP~P zzsZCkM1W}`bOc}%ukn4t5X-|bu{|^c%|O>lT7+4rJ3+KI?Hb_{%~Uydal&v*^kx{A z05pv>(((*%rs*c4)~d)JTepAy@BI9K^ppQ~$Fx7o`A%iRXJEphzwFZ00#QZgMd_vyKO{sE7#nD!|v9$zsX@au2#;D}L&RYZ`eY2<6S zs2XI$q|dLv$?h10((g`tynBXeFz#U)ibm4{=y67v(s6KY)%$(y4y%YLWgW8&&~;wD z#f?vpaC-+$kdu1Rgo=-%dhhm%SK1zsbAAghwBh(wBn8ARip=n4`WP=by2~CY{ZFsp3VMrKayR3b5 z9jAjIfM78PFfH|l;fyq5e~(NOui5QGk7bCa(^M2SQewFnpb5Go%ABgC-avwRNRiTU zFm&pQ$-d}s3n{@8O-{6=GoWmQthLw|vx7l$-udkR=nGv&-{~0n&IVyiE?q7k9~~aA zR&k!^PabEhWnFY7Qu;L`1Ir_-2?IuwqZw6A$K$ONu6#alRn0c>5_kBV3Dhgl+Qf8M?*`drC-gxndQeYurCj0*i|k@0{}5ZMqJP#B+Ff zfn%{dRFi`d|J3B1bAc+<5X=9^#r zfBZlHw`b>XJ%0S;!w=%a<2s3(rXh+LjTl*^3D-+rIznq$h75b88Mevkit`)ZxXsxD zppgt*#oior)Gi*^WErU&|0=>VLDF-{D{g!xOJ9a;4XJA8zS+#KKET!?yY)U>tpG+N)ikz^UrRc>eVfx$<-7613w-z?Qu4x!G!@r3?Cbz|9#>Zk zhd3Q9Dg`!8VI1R)of^v0wC2p)gH)-KZ_i-4!6h?c$&fazdZNJ&}X zc-S4aKeWivOqvF7Aj*Qor$#ij7;I^phGrp5J;?O(-14g7_kQ9Bf9~i0^g7*d>3qk_ z(e}LZ${YWi|Mh?Uzx#XtX&n7dmcAz&zbp`%>~>|EGQZ*A5U(a~d5<<}j$!lUl7lHU z6cwgLSupU(DrjM`n(H;wK9@c(A1V{Xmd15&Pi<(J^m*rmMZ`<{)D1$TYKUTHLpm-3 zIxeda*XF=s+*2d$Wr$%g8>&HN3zM{SlvcvqS``~Qx`t_RdmAY!D#{wi#59!yqONm$ z8$i?8pAhHJ%13;vaua@ni@Ij)ah>q+3P&TacwBI`Mw%)|Ieo%4T1g|-Hg=(r z#H!`?*GlOV_)2Xg_{PQ$gdo^Vt=kdKYR#S7ib60Ps!d7#K9ea;&C!91(xU@bD+U9u z7wl{S+Bp>YOqM&@2p_n-xz_(Tq)tswq-lQ_)D= zE>(uKkpja-s}UO1qG`}{p&K}!NHbw}C>yP*gocP7%C6~t>NB7E;V=I1pHBqx=N5$R z`Jer#fA92feD&}C-T!>P_`P?+h2z$i-CSQ1MY62$Bj!t7gXs=3W~kA?+o#;!W6^ef zJ=I0va1$`@vOA&cFz(~pnNSO5DKhsN!x97MG2mRYcc66%fPh2GDw8FS+?$a zH$I0`RuRLF66~EXIGi!s*boUpm>>m%4)=Bu0^1-+5E@r&vJ%T+*gT)6?42pRk4T|_E?1sJnkKGz2s=dONaO|o{g!aYxo(KMVMik)D`#l$R)bL{)i;u zVufE)HcSn6UnL9?jmoRGPMVU!JVw`5(i4D04q>E1wA(?`dGdrica$r(X;M|J){Mq9HLDeap`sACv(}DB zmLny@2~|y9(d_}$5$AJ;1Fq)E2sACRJ&?Tj4w|m~n&A1}LDR6i+&rPK&~>sDtCdO_ z#B1y>vJtvNZzh^bG(v=dFfA<)Ag~5*_r=}Uf9#7t@keg+{0^Nz*B}HA_TTuA|Kp$i zjeqk?w*BR+tFtJ|>bjXsgeIf_+oq_{O~QmEV*h}fD+UgeV?H>=(3lK)`zd#J7;2Q#*Y1SzvVS1W>qNnaTpk9&A7LSqq5|!iIH#_Zv)i-qd-n;IMidgJ)Szo@ z3xb%vA*M+fkiof+rcssXE_IEWtG|V=V_Ga0lqG{c%N13n6!$HbaO;*DoIW#&na()c zxK}+Jey&!}=`X_p{XQKJ-C!`lu@(Jgy;jL^GT~-Uw})x6UMV1caYGm>_ff;ZFo_dV zpFBZAUh()5bwworG>z4Q?ijnKuD>BUw=C@>z_76#OdH(*kPVuNX$sp#Hw9o>qLw0D z39TdYr6#(1u{L&hcDLQ5|Ks2LKLOtsjnX%H{+xQkkDk-BufG4@yZ`8y|Ersux8HsD zX1ORFx6w2iM|d46B~?Y1QrGNEu^OrhU8sbRBr6C~Zr1FKkSK>-;O!H3$4cL18q9sAh&`GC_^}%EvI*}s<8rm4D4B;C8m}BH2G4asS<>@Zr>uN>9(VR|4LUX_bCwa)K9?)Dh7^L`9yX4;t=Zn9uK2kg$po5Tr^4``|Uo5G^CC(Q1TH;Ri^I)e_sL zuCQ!OgM$MuFUc|v4k$}L{E(v~wW18v#Vs5BfWreCNw3SvDH0yML>NBD9-bw`7KB)@ z8IO^Y^;)&QE&TQpLJ+Ue zP1XKAL;pJ?WW(x0Juq#APG=}gn{a{Mp%KC|h2d!CfHV+AWyA^nZr{zvA3OTYpT)1~ zPksKpGa;Li>60gqpPr7w;LE0YQB`G{mU%86m!gn$rMN|xa}H)WE?0B<7M{hUD_*{Z zCP`BEXI!s2nBv)7tT0VZ=S=%}E<)hB6b*}z*N&+`E4a1GqbqcczDJbfr#w7kYlv$r z$*gN}u|`UEN0g14;9ab^yThofu*x9ia>dI>7zTdKs7oc)sACl|>hk(6be$+gH%JTi z$Gm^ZJj8W)~vgeYb_r0?;;1%`uTV`$VG(=nfUfmMvA zvkq8AWF?xzYK4FYud`gBX=)q$Vo9R`Xc|~Zh$EtqD8zL+I>IoSj9IPN-v{tKCS&55 zd-qtc5#V`B{IM@pGy>f&QWD2XQ2#9aJ{pJZq_mYIwfk!7S^@E8rPk}(CRq!_cPMji zZt(ip2AU)oaF7jYh~r_o7zUb&5W?va zt>{fi6A;213SkP}6G5*hc3`Hx;9dhNgh6Bcg(Ou*Jf+N(<>xcCc0D( zXiw)%2c!jq4!X|uin3JN_MS_a@%~fFiU-F4<1SAZRF$f29D}N%s;MdrgQ{Y8%qpR- z2oiLizRR$qmV0NpVuwzL*an71(XbAYlE*jHH9^X3$n6~*n~NKU9{mAd|Bz{)QX>p- z9mXzo&1l5P<9dyzvj~V%Rx!sj_NT03W_@lFrQh=_&M)Z?XrR+&w#CU4q-3^D664=c ziEnVfK0jkLCh&1w?%q`i$~0N6m`;^NZ&9$lP2j7RtS#VGO5A{lZLqaDkWKz+bD#v% zP)RS%=(y^gQN(OYQ4mJhE{;VMDGKN_4w~_-ud_%)qKGh3OomdZp{K56IspC^Zl7p{ z-KDJonvLygZ_MJ9!Hh;?xk59MHExeA!LWp33e6I_gS0i>(2I;Fc8tp1pS}3mSAOuP zf9hv$KQoH^^F80qAZ*Y7_rLuwfA!b?!Nd2@t2(LcB1xLd3u#%h+m)9Wq$zjradk=4 z(D8^Ph9;KDctD&n=+RV62hfn*yQB%(P6?mIp6RKlZWL-uSV9_uu<&MIhgma`X?JPk;J{lk{RR_?@@keq7gn z6tcBl)pb?Z((6dal|{i~!FWsOYBjJrf#q{Ma5b+U}S zqNsRu$qNVQ7FmgF^YoHIkHLU9A2A!?It)6BQgd>{XoO*+8~7oz=3|Fc5)IOT4=!1T zU=e0SIS2bJmJA!hgfJy5SgZjmjVPuzIM`yj;OS$wchn~tJ~NzumIj4-^3FX1AK%CG zNE5m}mAhawa25bUP;PeR#t~&nr=!BSEfd<@xLz}wfK+5rp^+q16~JW1YJrTfEUF5x zX6>`~xpju}bI+DN@DGX$P{Vjg$lnMGBP- zO`~F7*4QJQE>%fW3qZ3)Q-Hu5ifBdCh)Up%gl=g~L9f%(s?px~Xv@3%AN4lf*06+}MLL~5)9h6D1FaSvVRofBR-BJmk@8IEW!8Fr9TZLqLyKDeL~Ob1k@ zTEDyu>2@(RY#qJJl~3N_8Ju1-9V!R6L6@phi}F?hK}?)ez#`=3W9kamVS9`pfkkso zYa27}^2QNqL%+*1Axek~Dvc;7Tv17cV6+(sB{i!hK&7GSL_R>Cv6!n^iX$aKfN!{J zfjFW+;K?IaD?avdrD0cZ7UcPc5VOggMx`=XT@yuA6}paPu~@3CC^ihWctbZ|Z)QI& zH1Bz=)&QPMma|^tcG%nI$x{rIyLTB3c;{X2-laDpi$St?Od7IS;0Np;FzHifoSZ8v zw%q()MT+U*-(cEQIi>}m8#I#M1PQVsPlV|TB&Lb5L>gjvRHf)_>rGB0^(xT&o&Ik3 z_TkaTKJ%&1eEii<-M|0Rcl`SPx1H~P5Vms~;Gh1}-~9U5-#fnb&T^GRVLlkA(!#`u6JWVPb) z4fix|ZIczGC8mRGGwRUmQ)ZYtPi`=DW_^N;tY$nS%-9(dWpqsj9*cyNC9?sB#1HB9 z*q-pg1?Y%|H*Rt5bG(afp*z$mWYi~v;{+tO4HDfz*T^z7 z4clh9R6<98tuzpAnc6mfx=B+jGZ-W zbB91j2XoBShu0%Ig_z4}m15l($@UJjzAv9sSqA96z znuf9zWua*<4Z6^EQ8@!^@Y2>B|Kl(H*v`(*_kZt~zM~iRH-EnSJ>f^s|K;!hmuKg{ z|Fy5ZQ|ZSijK{2ND^b2oCjzX$1~L* zMkR4VRWcqU3xvS-pu#d(1|01$?2=Y20%A!VGwLuNv0SL8R7xxzKSIE|B8f?Ij_$Br zaCD0}V!6PnxCnsf7j)pOQOasVjy9#uMs_#gf?+z;dYy0H?$J zit!jtXT4@R!4DA-7o;Io&3dW4cZ)_%Wo>VBH_^x6t77k_^oT4X?|xAWP63mX~-g?vRsfvXZ1EmkfJ6yY*n1V7#SnLj1_yj3Q#)BhPF?Y7unh~S~89_-=5T*myQPNqo zG20IVT#x;IOcTpuwPfd*vchwf!m!h!X_!ptbrCvsh3_jz`q`BEoWTIyV70ql#mIjF&R?ud*q&eg)n8ou zkAM9)e*OF`SO@RrSyoo%dQ}%iV_8j_G*v~nE2YHi@b24;#&{m*XH+GY&Ak_JTuhTP zrfJwdV!1#F%7VoOhKXh)q0`~|1Yo*H8L~SdDG5W+acsIauDP)xbfBPXlS@R&I%YCJ z*O>Kq`;;g}8rXtcGq$%01N?}np(+VeoDRCq3ojF2Ug-yS`e>5 zP=XK`Hbp{zM!Z%g6o95FEM91=FEK2d8pFo0Xi79gI6Z~eXQAkfw9Zfz1%@XKTNEY! zxiLKG?{<%0dhx-wbNsjd#?JuX#S!SAaQ(lg3}mC}e9Jpek`3N*&XrZpd@|HMUKsOIb3Ra(+e_pnI4m;|b?y z%x@4jK$@~WwzRmp64_+0`^wyw^}lpF&t9Y$VMRwO5whFe;8tztdNhH%)z2Dk7q`p$3a3j| zV7eex8eCuD_GxM~1IvS2P@`KkHC0X;;P$o7Oc*w`5Z;c^O_2s-^~5?j+M9UWKla6+ zm=0%u{m1`I3tPU^=PzOqwxgOfwQcve4Aa=%eHsOIn0y%c0cgAXjjXEGQdm}Vb|Oa; zX_;ghyL+rxG!1FOY(^53rWhu2Gfqqr`h5mN{572}t0h^A5TpWHWg#5SK!%XVsoZ5l^vUgBz_)#N=mCeSN-{GrdvpvLF{_j@1!{ zBgO|>jnF+&=>&5~E z%d6F+lk?@xm9ObVQN%@_8)jYPO`b{1;>lxa7;J4*Rd^mv!)l3Xv9pV1ktUQSS66g8 z%x2gQVaUZ9NsQNFIHD|Z9B!`hI*dkGHdhyvC25N5F&cAmhSwnq*=bG06Sg}F8LJ$0 z1EXTOB8frJn*j6&Xd0%u39yDRAkUTRCyvyx@#z!B6J_gCma1ZG)wG?Cik$OPR!i=_ zpyI6^NT_h#hP(JvE6fYp$=+1f3qfPp?Oo(=>QJiUh#4kPW7#94>@Sv_eYG&S)|8HvH5PbcUpX z5(HYVD#dk^szAzig}pFsRS9brvJ!@crsLm;&X#aT!s=*cqiee6=w5N{4D_Qfe(_8H z!H<5|7%<=J`HPqdpPk!>_irEG2Y&e<|98Lrm0xnaEz5lBI#E_wPag$&k@N@hCey0A znQZ}5H<;hBTre1-8#oS{Mp@uE7$)00R3%A5RkL1ERoJc?^!NH)U67`9yGj+_>5^sS zIi{&5v3W+C5Xba-08i$WC63FMN1AYRgMhNa>!>I#3ufCC1zASDkqFrix<*kj7_nRs z227{)`T$jh5Omt*FpU~r#u0!JOs1^Y^!m?VVxvfU<~N~QDZzAxl=S;*qu?{0d;2rA zT(i{*%VIi1H_&y;awFzy&<%=0jbw#}tY|9A3aeG7H-sTV!*B>f!kA8! zBoPNAhBF?%%Wfap1A!M&r0Or*Hl?Ob79%B2Pu&`%MAjHKfY)PjiWndSwnb9_LNio1 zTV$d$5t`7-TIkZ$F}rf)*5m!7m;cHSeCc!F^SysrB9On}nee0M;Ro-YoIiT&&0l-` z^t~sKPLuR1P2(&p(j+g6#`9`_jYOJ;j6yX)7XsU%u5n!^Q#6gmTxsgs3bt-o%$1(4 zERd)IRoi5hMv|p!9HQxpYtrv?@|0emJfmsY-of`lDnpd59oX#d8xE;Tws+AD44tx4 zX76!?rg42m7|`phEhz2glV^3~GrH#aDa$2y?YQDM_}4&DH0%2W`vdv5U=TsNqh#|qAEZL!=@?d zO+>iFa6}M_&QvoUy+QA~{cb&eaQox;58wF2CqDUIXTW@`=Pz_7{OGxN_x`=R_g}cP z^FRFdZ%js~*EjE_>G{diWH6eCzMtonrdO>&gJnx8v2B8YJSPnBy2LTZw=fJf%#aRy z2h6Y4Gr(*MAPk5j+PQ1nWVW>Cx>lJXNf2;!tk@*&*S4-5HvNqscvw#OA=r?R3&at^}_;mld3}Kq%o!| zbVF=xxdoCWBF{t+;*Io18f5NZJeueSpZ}iEy?E!fzZ4zdA3lF+g0Ma9%;wEEzxuT| zfA!|(x@mq}%AH5qyI~NHCs`7grqN`%^w-jH<#dX_RvfD^pxb4+pg&MF$RY=U<1)Xd zX}EQpIHIbEA~iCJB8oyy+g+EUAc=`11Xwmz#b`vHv0UJFn9jJo03EGB!eBtBi@zoc z2?NBI`uSa##T?gTJY_kjx2YI)ol0WpG*a!a)C8R_SCR)tSf`HkSx?*pi)skMH zZkIuyZciDpPIowcij$Eh*bY@ekx^vWp5phu{~o%zQS@s{tx}Z~8J4HyNSc9RsoO+% zEM$XbiZVwtgb*0Is32SmXRPIyqC4tUk$vmv-toch?|=1&|BMT(zq{uzSrE48l~>+) z<&`&p|M!3U_fDRib-Ue1j~-S{HW=PqUY1_Bw9KlJ5+QX%3c+BAY`DB+dk4$H6RZ{p z4cBEdq1PjhxW1w+Romuyl!Zc*uP*6y==E8zsVf{;bynRT{u!3$sf%)j&6%dh{%gy6sV^OvS4{Nv8ozV_8G z|K4w$o&Da`#r1r3l_twHUgc%9T2*x|4ZW^PvP`zw&-3s+Y?reWwzfdf>#2P@tfWY%`UE)}Iwrd)$OB9i1I1b$&P0jfknnu4*e}I%M7bG!7f$Jdz z-JV(&yR$=@vbCl9($=WEb+~D2#ViX0HRrr_N9FAn-)pm$*bqt#gSsK`(G3FS-%WPfz)!Qscg=Z(*O`qQ62KKM&BfcfLj{~zpf2IAT9 RaPR;C002ovPDHLkV1ntWVgvvH literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/c_volume_02_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/c_volume_02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4a131750218435757f8ba20f65a5295b3672bb GIT binary patch literal 16496 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 z zS>i2S&&7sGL7uQINi36s<(9VNct+VUPPsY58den=d3;G!j;8DyuFvUvPS$u&)iTLQ zJ+tw!s@t3{l$)nfb_dosRCubT}_OoUCLMA%u7Vl|0x}GAt z+Mj3W8Zys~1-pjh1)Cl734O$RxD;<2Gj~q-m-LR@@B5jWdMM0X9=Ul(RdX2G^ zC0z%G^9x2}MiUgej@1^MV%-437)w4gZ7*H#zwXQ5^R-|7@9|GP|C>FfMLz$kum8`h zYWY(?@;A>{I6Djkl?}!am2E|l;vM6RwgcE!WC`1fTW+g6 zMashqfLn*0uescEIK?~OIN|z&!zr&n;b6*JZjgB%UlJqt_FdtWP0hSuRnhg7j`^6U zW?Yo)A`i~E_XN2TG{neeOOZ2~4AQEmrD+FlIY}^OAw1sh>>I@CY5F> zU-^aq-Z%fT|0qqzBO&DqoxDbcc4s+M|x|A!1H-98;F7=v{j9TEa<;N%47n9fKN zb`{Gd+ZvbBH5f}iK~-E~wk2QuIseB0>%0Ez$z=S$v&=txdHyReec-#l7f&H(Z|+ zl!xaW&&U!^E*WJU&FDHVcO1`Hj39EpAu4Upd^FI4c|zhTGU}dX#WoCp=U%S1-)9HJ zh$`_EXk5zb*@pyIOo|L zEH~Ug!&&lVaHv~{EH{)5$1|FiUBhC+;e;obMCGYN4o56Y9$u0p%yQ;AWrteMx7foo2nHKDtVG+~gCBSUN`5ILg6Sg&7&+S9JKvRn}YZG}eiDImqdthe#b;xqrkpZS4z zzT=($JcIlicUb)FKl+>B^=IGn=#7UiNazMSbHCXv^Bm8~65e<+OgS1e005gEsUOr& ziKFSbw&0oT+&|;NImc7lo|6>^6Y_+I=NwMCzTnA{<(3-tFf2 z-}QN)!WzHk?I`*W-~S_j`aA!_S6=#L?xk=fP&G8|uu5W22V8D3hE2sdqv<%9@aTdf zrEW<)ec;A|#1FdQd#6O@cs?BAquIc-k21y?o0`-y9}lY+4kqL&ZRC7M8EG4u7LCIT z*jq$(K#=1eGR?7$EFq!JqpRfAP!y)!+Xq zP4VlycjwjDKK!S?{cGO;{$Ey=%#s>Lp1J|JwV0! z%{ZEI?~JY^O;}ZU%cQ^=6vi3IFbkg~oNsZCX~MeZY>i3C3$|O@mcAd3oA=~7W?u~m zVuq>l#A7UezuvE8wWh47TKW#-hmvZvz<9~#W?g9!Z+^?y|LK4IEB=7B_EX#8*Lz9P zYp;Fmd;a`4|MdI*ZndND$Q=o!j++O=VC-c@kx}l3NJig?j zSZ>W>|AHEauOcB;$0=tpkjq4a}!(8$_8FTy8lj zDKfg6Czq^u+`5f-Lu|e{$NNE;o_M?`26j8PTe|*NL%Wf|#nPN4#aPN6O<-MOE%g>L zxD@L#`+Ky~c>U(>-}ml+>)-zJZ@hc=?yu7Vzp;zeR;%Uz@Pps^!$0!h-G6Y>)aU0r(j7kVk8E9O5c$bmL#f-KKHY~ z;5}dUAN{s>zU$Zj-hac!0;+2B!$11p|Kv~ojgNffgY~Yg>sVDX8Zn+Q8nL=0D!Y>0 zkrlKRZBL9G%;=jz;i?(eZXz`&7o05zYHy#;wp*rC6f_b7b;Z#&tVM*2bNZh7f}&tN z!dkW^O^ewtV@OCdE|xqwAw*n?aX60{G~zP>k&Nt^g?sZK{Wrh$_kF>a6~({cEBpS} z=fT6*e*7nY@F#!jhhBN*ldH?Ju5fN>UqfKC0YT%?QFaaPidO1+rc-8f@`Ac%dCvYd zE1aI-9oB;)hF!^cLQx<>+j4%+WI7x->sTy6sA{r;#3M4q^0Nz^$0Znxv8a-cj9A(z zhc}PE=y!a@SN*A&^x;r()3Z`Zp2m;n%P6{C@yJ WLK1E9L!2rA0000^ZOHB-kqWyqi}GA0BUpz)Kuv)&FBeO Q!UT#zPgg&ebxsLQ09?SJ9smFU literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_bigdata_01_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/d_bigdata_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..a61ffb51678cb5a10e924169c2e652ad58b0db2a GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-NBp5L}v1UOhws3%HG&Yxf7cEtC>&r|uC+csRbP0l+XkK+L%l3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D.png b/2023-11-08-22:00/pascal_trunk_serial/d_blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D.png new file mode 100644 index 0000000000000000000000000000000000000000..4e31e2315fb5495a30ff04a69f627756ba6a8d34 GIT binary patch literal 1269 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=AxLJY5_^D(1YM>zF5F$ip)A z&;Rr15+^zrd0a}FtTc7i?8JntYcey_*x73MK)SGi1OLx$zs*?p`1SPpZA+zvp1;=L zKVR^3QP+OYUvqaC=C4~f>sNu{$E{0~m)YIns!hM!vywl&C_cg@|CMw7mv^GE%j`^+ z=f|GQe&zg}p*A~o#;*%z&exqvSDnk8{iyo9(bjdV?Ek6jUSEFTE?z7yo;~o zAJz-!HM19J=W8rpGjZLTjWwIvb``O0J}LG3l*C!p>eelBGxS@q~4zrxu}@ksO|63yhe1Lj^XTo22XfDZJH)>TF^u{yI0#e zWZOcAuxpEwo*q_9U0XD@@3fi7iIY)bYjPe;SyQ@h(!`r>Op=k@-BY>ePS|=WRI4oJ zT2T1R2Xi8s5+k#_r*_Cq-FhR`#^!c_f<|`f#zP-7r#bjs`;_F$z95q6gb>HcsQui{ z$`^DRJJzswiAp!6aVmH#D7@~Bm5^#q<9xA6PBSb;V3ulw4rAmsQf)(Y zY9+vef!Bg}2gtRjab|3i)1GD}a8}4+8p9@*2_Oxg*NV-Z3su1CQh>%XL^5@)Vb5>7 z6<`8lpMWT3iS)n6vvgwyTpLs=R2pm&Rw0f}QU5+y+aHQRHVvv=W7E7EtZox0U%Auvw7t{uu+s`Px; z)^lNc1x3<&o2T~7w%r_d^HiI!{Dw&gA@nF4y`T@ zAwz;fDRziTl{08HLcU#+;oe;Cecm5g%6-S=z4w#%z1+R`yhjuzN|Y#30yCw0z-uD< zGchE)9DnnXvhRtgc}+ilzkI(|w4}nu-W7yg?QLWyD_C}%>KI|*R2_3;vlT`FKx@;G zSU8Xo0C2EiKsZ&8V*sB1oD~{80stBXJ!8GiH-PrKj#25U7(lNwc|%80H`Em!Lscnt zbqt_e;v0!WJp(vQun||+09^KDF|YHWc+3fNn)(LNR(&hBX zCuPG$$SKR)B&Ca#EUlz;BrEe~10kAUks@0$QzW(}YmvV-oh{&2JoVy8%4ySq5Tzxj zKBcr8j!QcgI+9q%d>}*_;k*jS;;ap1b}H6%ZWTK#nDoUVJcrj(8{vor;(E z<)!&RM*0wu$9;2T|54V$v~mcl9Y*em7dxf{*}0InnLrT~5QEwm;MTv+xruQeP^bm0 zQuo`e-!dlK_q=u{H8!)tCZd9N0nt|2z+2PWBm#PCe1oX+q+>iOZg^?^kJ-C7gCy$e zMxDP8HAq}pscSri#9gJc-*fezbW}Em^|pnHh~{>=#_pW1!JabRsTyXrCcX1}wN)d6 zh^QFOcs22{L6dRE?t!&j4#9gn=X@@I$cbA!cb&5@Us*SH_A9{TtEErxmWC(z<>cqL v6YnqcShbg#>ERmJzf(FcN|Y#3q6Ft3O4(qfINbDR00000NkvXXu0mjfg_K_o literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_blueprint_rz_cyl_uniform.root_plot_revolved_to_3D.png b/2023-11-08-22:00/pascal_trunk_serial/d_blueprint_rz_cyl_uniform.root_plot_revolved_to_3D.png new file mode 100644 index 0000000000000000000000000000000000000000..4e31e2315fb5495a30ff04a69f627756ba6a8d34 GIT binary patch literal 1269 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=AxLJY5_^D(1YM>zF5F$ip)A z&;Rr15+^zrd0a}FtTc7i?8JntYcey_*x73MK)SGi1OLx$zs*?p`1SPpZA+zvp1;=L zKVR^3QP+OYUvqaC=C4~f>sNu{$E{0~m)YIns!hM!vywl&C_cg@|CMw7mv^GE%j`^+ z=f|GQe&zg}p*A~o#;*%z&exqvSDnk8{iyo9(bjdV?Ek6jUSEFTE?z7yo;~o zAJz-!HM19J=W8rpGjZLTjWwIvb``O0J}LG3l*C!p>eelBGxS@q~4zrxu}@ksO|63yhe1Lj^XTo22XfDZJH)>TF^u{yI0#e zWZOcAuxpEwo*q_9U0XD@@3fi7iIY)bYjPe;SyQ@h(!`r>Op=k@-BY>ePS|=WRI4oJ zT2T1R2Xi8s5+k#_r*_Cq-FhR`#^!c_f<|`f#zP-7r#bjs`;_F$z95q6gb>HcsQui{ z$`^DRJJzswiAp!6aVmH#D7@~Bm5^#q<9xA6PBSb;V3ulw4rAmsQf)(Y zY9+vef!Bg}2gtRjab|3i)1GD}a8}4+8p9@*2_Oxg*NV-Z3su1CQh>%XL^5@)Vb5>7 z6<`8lpMWT3iS)n6vvgwyTpLs=R2pm&Rw0f}QU5+y+aHQRHVvv=W7E7EtZox0U%Auvw7t{uu+s`Px; z)^lNc1x3<&o2T~7w%r_d^HiI!{Dw&gA@nF4y`T@ zAwz;fDRziTl{08HLcU#+;oe;Cecm5g%6-S=z4w#%z1+R`yhjuzN|Y#30yCw0z-uD< zGchE)9DnnXvhRtgc}+ilzkI(|w4}nu-W7yg?QLWyD_C}%>KI|*R2_3;vlT`FKx@;G zSU8Xo0C2EiKsZ&8V*sB1oD~{80stBXJ!8GiH-PrKj#25U7(lNwc|%80H`Em!Lscnt zbqt_e;v0!WJp(vQun||+09^KDF|YHWc+3fNn)(LNR(&hBX zCuPG$$SKR)B&Ca#EUlz;BrEe~10kAUks@0$QzW(}YmvV-oh{&2JoVy8%4ySq5Tzxj zKBcr8j!QcgI+9q%d>}*_;k*jS;;ap1b}H6%ZWTK#nDoUVJcrj(8{vor;(E z<)!&RM*0wu$9;2T|54V$v~mcl9Y*em7dxf{*}0InnLrT~5QEwm;MTv+xruQeP^bm0 zQuo`e-!dlK_q=u{H8!)tCZd9N0nt|2z+2PWBm#PCe1oX+q+>iOZg^?^kJ-C7gCy$e zMxDP8HAq}pscSri#9gJc-*fezbW}Em^|pnHh~{>=#_pW1!JabRsTyXrCcX1}wN)d6 zh^QFOcs22{L6dRE?t!&j4#9gn=X@@I$cbA!cb&5@Us*SH_A9{TtEErxmWC(z<>cqL v6YnqcShbg#>ERmJzf(FcN|Y#3q6Ft3O4(qfINbDR00000NkvXXu0mjfg_K_o literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_legends_07.png b/2023-11-08-22:00/pascal_trunk_serial/d_legends_07.png new file mode 100644 index 0000000000000000000000000000000000000000..46a7becd42143677d7fa64d52dfab4a9c22dec9e GIT binary patch literal 1393 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=FImo-U3d6?5Lsy*O#M0}qSh z)c^leKMDNq`Iuzmrrf#Y_e;I-siJQ$ZqhNErv}o70xHsGPRpD%?UhlLQGVV1tXu#7 z?tgZD_I|~z!>iY{E6w`Y@N^kRAamKXHI-4%TFvf!$ZK-H)^?G_-oHcY)9pX<`Tr|Y%6)5dnA@3nZ#)34HhJS=Ux->{M0J(oj!+ol;8 z?r)gtdVO!BnTW$QhD|IJR2y^}7rSci=F|3=cA$IB)m0^t5sU0TDs|`GetvgO>vmpu zVVgr?1_!wnycr^yP6#`^6Teq^VmX8|N8Q3 zv+J3@HuJoTHPut&(%-~x5=&3KpP!+Vx~uEfhdcNDr>^_B;+dpU((E-(;Rj~~T6g_i z`dnQ*@4M;UYYFFy_IX>D%)eE|BsFoC&hcq=%hsLY&OH6L|4g-3rZ@X-M^&@rNjmRe z&)@paYvR-VsWP#W#bKwmOfo$2v0C=o2b#syA0_$D3w``dJJc(P>Ox<{w4>jrPP zj;fx|#Vuv`eXZ)di+%TAUr4gv&V6rl;;$*sWiM#0e()th_LAo6Cn2w7u4t^zxS1$( zO?`Dv=QHUWYO4z@v!$yvv=g>mTDm{GAb3-k{$!uS{Hb%}I;X`4RdE&699k4}HRV>b z#g1D3?7n%fpItZYvgqr-<|zG&{hsU8#lpwWm+t5{JKM{*Z{A(AIqR)=+H>?>`(Rl1 z`O90kDE;t@PxqXP%1b_z^C$Oa?7{l4HH*^@cIj!D*}hFVDtG@MOZ`L9YqLC}t8-6m zR$+g0^3c@=4|Uny246Uszi+PE)uq$je}VJJ$t)li(&jfi*LfJmE=!A#(bR`_89; zQlO{?Cy;`;Yp#B6f~}Ku7*jYy?0r8S{3mU3%cM#^(%h=PId8Vvp3X|Iz~$__{DN1f z@a}s1ZQDz|IeuX`S~mTb|LOi?idk;OpNgkdw@&PWnR)J1mhsQJLpPH=r#UQkecAk+ zKmB`S3MV*)={{f6_xY;HM4isfn|{5SUvmJY3Yt)X_RpDCy72PDmqEy43f>R)tU0|# z_MEsEBtZk!DR?V50G-{=m(vu0bZM7RV{)s(9yQMUU(EMC60M_;pv z@q`e^)Tm?qwTbtwwe+-`pLla( ztVC`a@x6{opL(N+FDrJ6*o{qmFJlibzx|2t#M8cpzgy4m`BW(1V;k8yH$%S5Oyoqx z!(uDLhaN_gre5llY*z8rd{^*P#_iUh*H@;N3d}t1*1!IU@(CO1C_e4aSN--Wbn=Dg z{rq`-SK+=(+2`Y@w8#7ehmJUVwGaygUr)uQL?H}_3tL@D90a~w?T8A1-PUtw--1}sz= O7(8A5T-G@yGywoSB77tO literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_legends_07_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/d_legends_07_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..db4b38f8ebee2f2202fbd2028a79d53a8d8fdbe7 GIT binary patch literal 928 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 WE|BUF$&nlVvxS=4m{i~NO8gH?UvEkP literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_ops_cart_proj_1_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/d_ops_cart_proj_1_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cb7768a5a2bafa76ed2a7a932e72fe9d657ec676 GIT binary patch literal 1710 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 V`wav@6HUHBmgaV5jGJC@{{Z`?m2Ut5 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_ops_cart_proj_3_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/d_ops_cart_proj_3_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ce273ad0aef66f1a91272b46b6e36c39174529ed GIT binary patch literal 1411 zcmV-}1$_F6P)d;V3a6oG|>kW6O2Mk(1ds)G2umh zzz2;a5{dEztq&3_5hMW$HdyHrZk4p%ZZFeqciHXk>}7VwhozO)nQgbAzRd4wzHiPs z|2f}n&IcG67#J8B7#J8B7#J8B7#J8B{3j4veReXJ3kd}PNKDkkRuQ0nb8a03c~@m|Npc zq@1Han?ai`2DktKWBly5lCED~A|)I*^(Z=lNjLBkk*?)K7K#EO+E0&e`^Q>Xh=?1Yz%T$Hac(eh z0vrv5N!5+V2;Eru&dC&998zjD5`;O85JgA;W7dt8-<(X7FsWk_Q4o#^VK5dN=A70G z%OuoKIb7t87_W@V4rEA@$!R|SOo9d0$pMv!FmfHw*#S6LSQ57_%$O_6rX}0GiX<5z z(>7lF>#@}~)1poFRxm{XSQe%hUy3lflRo9zW+7|bTa$IT8_nUGp)9qn>P&WvP0xo@ z)vV9Gw$Vlc=lTIizBm#^d}1Ww|Fl5>xrlWrv;Z%;ILnVJLTfXMKZ6HUL5R4FobzA~Po zbcah|DHX+b0E+l>S?a0JHY;{3WT(>**$UbHPF3{;6YZ-pAARYCi>(`W z9f-D9@r+z5c7Jt-^(@I?<>Q>JCo=iNv-aT!od9s|i?JQ_l8-GH%7DJGZ9=ipL*Lc( zqzZd86!&fixjJ}a3maIY{IoCDcIM&IL;Is-CgW~Vw|1>9bsRf+qEgZmDR@J`oxfg- zcOr1mYCrxa2b?dHf3~E*4%eSl>BP3$cFQZfM`gaj9oo0yxjygevrq5({6KRVQ+;x& zc})e-K?L?JHJy^6T}TLR6%R=9!ZZT_J(rHSzl;;Mh?Tuo*X28-Kc4)h7?uLT z7oe6|tbj`-JXcE3R~DT9XqD6J+6choCx&4I|61MQ^3o;C#}}<{4Ibh%e9dK1ft*7`~CGeR&HErC6c$QhrZpbNGd^F zr=735gk*@P`&~Q$glfn2M6NrhpZ(q8LAq?W^-v25r0A>U<`Vu|9ugda#Z{GO=Oy6K*`5^0fj{Gz~tHVeoM9?>J*Ll zDneHsdA)9`u_%B4EZUoKnzUb4RaG5O{i>>F5;<+Nn^AL4W^cI}jCW^m43|&>K*_zT zvyrsUuEJb*Mu1dR07$8E2S5-xmq7N;xPaU5l$9*!F6n@&+pmFvfq}vQ$zRM7Td2N7 RI;Q{t002ovPDHLkV1hHTm%IP~ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_ops_dualmesh_mesh_plot_2d_01.png b/2023-11-08-22:00/pascal_trunk_serial/d_ops_dualmesh_mesh_plot_2d_01.png new file mode 100644 index 0000000000000000000000000000000000000000..c72cc2acf2ef0fba5c6f838ba76f26c83579f647 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AMK#qo|i(^Q|oVV9E3NkASusFv3 zeEz2^k<0zoE3*&hEZQ53L24U3&!7EJJ@5OR&*9I{9-7}B$xt^#iY<%7z>AmJltp4` zTcZ?HPtaipUPiZ-i3{2o7GE(4aBc|9l31a5K*N;hia^2?g31{_lrTsXFL`+Kq8*5elF{r5}E*u#&D|u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_ops_dualmesh_mesh_plot_2d_01_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/d_ops_dualmesh_mesh_plot_2d_01_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..23350613df49634fc5cf1c3ceca69f1b586f5ef3 GIT binary patch literal 229 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 V$FcV@pIHC^002ovPDHLkV1n%?O2GgC literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_05_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..5b86218a598e032bee1b6aac9b82add0f07a0304 GIT binary patch literal 2068 zcmV+v2 z0L(?eNUh`vk!M#M!I|_W(Q$kt^B0R{#%Rz01vcP644~m2PB?TR0>{#CpE)vM_cDkv8E$f{uk#P%0D!{RyI$4n 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_08.png b/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_08.png new file mode 100644 index 0000000000000000000000000000000000000000..c01302cd0df2bb3323b85e66341b966a04cd133d GIT binary patch literal 2030 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 M07*qoM6N<$g5*BN%K!iX literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_08_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3d6dd006d37a81340e46870a9deb11d7d34d60eb GIT binary patch literal 1439 zcmV;Q1z`G#P)Eis0eRuW%qo2C!84XNE4 zO_M&<7%MTxM39YtAJB0E{b*(BHlm?p=nk?dLChCVRRl9RQ$90|wWHeQR(} zbm>DtMwz1v0E#ji$K}`{#v_Hlx0?@Q6aaVt4p;vwqkpT`Ll-1d zdQS*Q;sj@Uc2hir?;561Q2f&M@9k!r9@F{|ogD3M`+N)lVEVfK$m3eBT9Vbe=Z`TW zBBGP;T3tlsd_&hlAvFEl>J&q%bzeGwgeDqzn&)|*=hGKt@@h{SE8O$c=u5e|A>5ey z;n**uc<->odbaibeSq5q#KmK%!{O-q$I&M!8lMT(<=`4VYUb_|(Wu8;bMf_sdI0+Q z%hxI(XQPJ@-TUN%ym;7aG~vLMB~=F59}9#?kX`rA@ft0*5p|k6q!ErSv6HP z(?GtjY+(l3uZTlMYj2@cNbO<;@ibRu@SG3x&d-abm(hIQ3|1PSadcs@@tPX|kYCU= z>HWoQXXT4mwjH8ngY2VG$S(L^9anwnP&31vaw5SW!Vfctki{Po*T5b!@f-j^Cqc*^ z?QjaNgbxf#NX{bm5R{iHAd8zzHGt?}mX~z(>?1-%)RQFhgj=kEAMSo+Es{YV9wqjW z2W7{TmdGpgZ%;9QRwE`u+W{r_GIPi%kB#RbAHq1#{Ba3{D>syo<;)@1$KmW$K%RVo zIpi{l010CJG>tXmej~(L(F>_)+QyoJlYIcBX%Sh?%tscH%M1YVUWVb61`PU9x%Vk! zKPeK?cFDdD09Hh}sS8gN3W#p~rH?0rH;z`>3dj?GzF4f9@?+OlMNIUV&wf2b^sqqg z$uvsmsQMARl1k(dAYPNmS1KVIOjrPQ zS3p)~TQy+ZKL;4+N|4D@T139C4=75Mib=OLc;TISK+>x^$rD$j296x-L&6t5Gro#4 z_6xfkM&vXc7tM>oFtn~_?8k#G$>m!UR}9GOs#(vC(<4M4zqJWJ!WcrN-Z92~#T+46 zR1+b?9FC~|?fwX`%;69bQC*ITuyrkGV3xxnBIlb5^WtPLwAioSEL5?hRp*XQ@q$Yp z@zv@>CQc*K32#<#^G7B*`!$A)U&Xu)S845Crf@K=mmQ=U09R0BBYQrSs%FNp8M!qU zn~Uh%R6hn%nYm)AwGj~sHR@~^J69%&h{(As(6D3Y3K5ZgY2d-lE-FNS2TPl>OWTqV zeE+%5L*#a_U<8bZD18gr%MNMF05)`+kvFC-1MwM%=`4kah&sYKw5#xhHWXaLHLBM< zNMxdw%epr`90Y*pqjSY&ttkj?Tyn*FGx8zUUmF1d0P=F~Wri);2+Du6Krr zcIP~LphA89&`?8NMXbB1T}nz-c@OoPU_3!YG_eavW0F@~*CB^&!BS5xAW~GPFwrZu zs?O$R+?tCo@0b7}<*xweNim7rDbC&ZHtQ|4SFC&Mc1n0RhYDEc;G>I$PgUj^g!a}2 zAFe&QTTIH8xVxh2a8NDnyYNa$%KAN*0-o$KQ0|(Y-v~rRZX)NIipULw^Our=nT1p5 t`66_W3|wh*M9zpnJRiEvtY-C}>tAmY=%hB>5KjOA002ovPDHLkV1luKsAB*C literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_09.png b/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_09.png new file mode 100644 index 0000000000000000000000000000000000000000..34a940f221d192b8b5b5914fb007af25cb552221 GIT binary patch literal 1738 zcmcIlYdDh&03IcYoi68ChcFct8;fXeCz5j6%r(qbXS6TcR&H}S>ZHS=+mV<)xl}|{ z+l-G*5l5t&Wv7vam=IEH6fM8qnzYDeF!y+kHome^)OB8p;ATysczxbkfE{i~@OEVLNf}?$}fxz`hqYUp@5CZM2M~ z{TgD_=gW_ce~xOUTCE@lfE)He%nuc6N8~2`c0cJFebz-wx(+F2IB*2i0JP2${`80n zh#dQ!4ec;?Y3iz20t2)-n{oB*qad(f>lcxIj5Dz$fkXf|)dIw|HcugYLFl3eOx}g1 zivcCi-R~t?O3X`vt86FDW5apxZCJCt)bN#$!Z;^^Me^k`5oj2T#n;5$g#lfK^I8QL z9vzGm>uo?)m2d3Xb@J3J7;&|_>=3eW88aM%DlbF54M;^R&KqKAc*NHxfe4R0PWa%rDxHGdjP0W` z#sL6s7im(cZ4PyKe~oz9oo+oLsqCU^QJ_q3HhK~$H|#MTfLAJ_MBHenO?(@9rbd22NqB!{)q$0&u>ex* z;+aA8Vz{lmVj;&YVE4_^;Ej_4zMfgV2T$Jit0|8`AYse;`c(wHIhwZ{nBFqeTrX#BP@o zt57jny?0%ecEp&cNnSYRzEH6E^%19_OCNwn_5{u$$&0=f1KFA;+^T(kHy!B-jEvk8 z-)L&MDVraHZzCCjJUy}@P3k5%7{AwgW^%OD!#KjtSX@D0kN`5lP|~<$^O+E4$54XQ zWHuN^4_B7Ymy6nPe<7n512b63gUtRV{_Un!bdZvLS)>e1x{rD$q{-QLOGZoSnPU_B`O>%HcY1Xy+^so(MWcWG&8#--q zj=Ff$*?F)5!+%o*ER=P(4ZBA$-7~_kwY1A>XScpfv*?8%Zg4!epQxBg{>=r@sh`JP z;V_TZI|T1Kxk}JX&ECrNU<4ZPEPJ-uMW;@#V8%FQLee~t3V}^sN0ysg)77zdL>L4i z@(?T?b2MG~O&01r-iS)gO;sF!NYy$eN{>{h=`afTIqV%oKDK&O#F~9eHPqpdMxWYr zpx?GlT}*jJEY}O&^$gkdbQ2-A|N1As_E-uu+$&ljVcG zm|Z`MuRUi}Zep z*=o`1+|!#^i7%&xH1MT>JZ|L^#px922UimNdhAL+grD?A9XoAX;We_@;C{2nLiFNJ zdoUQ?$gqtl-Gu7_C5r09*iZ;i3q$TZ;;z9DUg-t)jTuJf6YsSP6@>gLn!zv6w%4SZ z7|oe*KOqbI7@3hDNHS%K_Qdd-f_v literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_09_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..35b815e6bb8585e627be068079b7fd813ee32f2c GIT binary patch literal 1168 zcmV;B1aJF^P)Q$br4Y^4+}6!r=J+t1WG^#kW-lW}_IsJx`Tlc$ zd(L;x`OZ1x5ZG@k{sTq@Qi0fLRZDjhGvE6*xb20+KfXHRee*$EAdbq2uRto03grI@ z>FzESVm?7eH>qd6GQrUBF0(R(ne{q3A#um|x;buAggGP(0oBm^Pb*M;NnV7dz@M5j zbai|R%pH}#Zw~RhNf-t$dKiH7@e(2Hw@929E(7rMOo@=H_6@4T$ayZQm0~E+iZF%H z*#Dhj7e1q1RQW)#0KpqDba}MP8ke+y5~r2Nwad;`c0#r`04UFz$V>;L$xv0GCS)SY zox2iW{_@TZh18|{*h4!T%|zMEKc0v75-XQ)*^optaQ9@nA=!cN?*o2|6w+K)EE_VK z0yt?eM4RW%&)Ef;35KByfRWiULly&n+RqcJ_|^&F_^Ql-PebPKg8B)O+yNj>x5Zex zxvq>r!h!RE6QJC?uQX&Z3h_T-`!--@y*&_s*+Fo&`{CyM?Sb4^4J3fZ{sU~SDKjLU zv~FKD2ay+mnvGTO$&+cOO%04HTk4j7kDfVwjkTLM`m$wO{M9D`-@Fh)d~niouNer` z19gE&RQnwXq*(O=6w#PEHOZg<$3aozSt$AyVSgVZT>d6u>C$0Dq zA3&!yNKnQgm@UrCjL}F7v@BR*T#^o@J+W+cPL7Y<;~B96d0oa>e>F#)yCmx3>ryMy zFq|vTg(RPT#RBA@gyH-=PoBGibRP1gWK98pI3;mzdrs$tTpNq!J<7ESNiL}VDPNzz zs=vjwBB(J#m#bZ8kQTMzcGViX+H?o0g)rw^c(p!4IiAv!7rCncMp-O3Bbm_BrLQh_ z>kv`^yt{D&HEo@r1sdA=jKoFnPeKYS_x(E81T+r_A;jOtTK%(?aBQzh?BUoCPt`rl zmBZH_c~vpf>X9$r;powOUaaXs63x&wZ8N0T3G6Q;L~k(ul>(0TnnuO4=|NTiEPR-> z6`}&rch**j-vf~PBHg>?$4tdS?pzDNi7@~=ezXPR*$2SnIe?D-O~1ce>V`$H%T2EX zv|c><{=E7c`5Cn!)1SM-3cxNQL{b$KYgkv>`GJ1Y+7t2tF2LzPq_}K$ey~t@a|t1$ zeVuO)YPVxI!Hd#=I{ncD7iE46Q~g3S+&d!?bot>i*}~IGKIu{Ljv0F6K?QId3oItB zP?cxg$Tz(kfR|-8v2xH!>usN?M!xRot!%#Wr5&<;rq$1~s`1)s3h76Q0w5*X_3|aC i0;xbMkP76wgZv9n@{npH)!^{}0000 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 VR(|poI1~T?002ovPDHLkV1fmPGkyR7 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_10_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ee0c0d64ff46dcc5f60844ca8a2397d7e46a7ee0 GIT binary patch literal 2057 zcmV+k2=@1hP)qBJ&9sTlWb8wePMbEJ$sbOf zG_9t|Ogd9zHEN7HQ-hP%`idIkqtUUgf~!0tu0cR#L3WjeWtY=G?%id1=<>MxM`!x| z>+GF-&xh~tch2veb1(3JjX;`FJQF7o)nX3`#H`1ZXo-xV_pZ>F*GCwST5X=DUNs;_ zlP)3wjR`3&^Qq{D>a4?nOo_)iNblW(G|?q&=8{q?UaO;aZ=h74OPx2dSen7 z&$D#jjSINPc1E(DYrkNMNf;O5bT>I3VyYj+f;LqfX4ZS|-$T=~IqPp{GB&vF8VO>7 zmd+bb>jysn<$H$#i!m|Eq;s}54Q)yTaY8dyKi(S`IdhKDTT`*Wo~$QIF8sZI%GGgr zwLv0bzjF4yHUP|9u5U>i7vXj`IqmL&kQqO0GMu`*s3@s__NJsWS`s6pjSbDV_KpBZ;q|WFIj)I=yEvYf76j6BXzOV^ zKYPFB>d8_xB&DB#j4v|A60m-1 z?`^4~;lOzp02w9LV_;kYkWsCc7oV)FWoGJpBwPl7n&%y=S&@~sYnvXR$BP64fGckc zl_|XRu>sI|k^Gl-+)*1s`9>hshUBmIZD&=7@LB9~k2OvRrH~=ZB z>O;uSLuimdBLFgwdnSLEeto={Z5RTAt1PJkd*2H2^tfD`yZ-4 zP2k?_ZQ;{ph{Fu<=a)UILnP;#bC2}Wmw4}A)So9BooB<64gzL8U#Jdo3%~?sFHxBe=Yo;L4C+Fov$SUZR;cR)o1YiX@KN&a&zL0h!8-+bAb4E1>!X8 zLz4Mo0-R_>2o@~BpJ%z$hr|d15E=!d!5tbaKw_f;X^p<9_HG*hEns#i5SPBADHM=% zfY%o;W+$Hv0mD%N+GyYC!o52bncr0h*^!+-h&AfR>N6ahAw1*0Z!%&#tv-XTbr}9| z&5aM@Intv#MWyZbNOY@h7xxv-wRw5x`+)v)YBl_Jj4^N_|wq<)&_{x{Ocf zeg;Z?l$G#Nfl;U0I~*ZI$4g4j1(WEeYH-w$XrWa?a$Jp@` zCBaLwDg(|xi^^1t)fxFsp0W63?eszm_?BP8u{!mPeA)xXtaTR;CoHnY1ibMs<2BWc zSoOxao2;Ee>@Y)F0DJ}JTD2gX-n9xLgnONy{*aO=UR4XyErbxFqZ~k54)_j1-c&>T zjZ}3~G7g|-c_k?OM_=Nd&p0Z6rw#)E+q0E&@BOw~)A9@^^`^Ynx0+8b3~)kibD?pq z7rNAVN7(a^I~M{+k*rjy>L1_K2n*T;UE zz9tOzjgfJAp0B(31^KHc4-RH{X&ObIu^?`*3;2E!z4})}of5<5WJ^azP3SziHn#5% zesp|AvNHVO>mx6h>=|jKs+0WB#}+Nk3-90MPO|ZfNM9+W*4GYmC7&F+dR|{(`X5 z-9P-by+VjJDaYhr?*03ln?K)H5I28NCWfJzPy0-k_ouALzb0xU(SIU@5MAXEX(F|_ zBxS?|fT@d3N^9QbK*&-a^Slc(WfL$VcV%A8s1Sg;)c1keykeKNM`3&$#pdrK0Zf;~ zHc84_yf{mGNH4(@HfN^4ZTyqGcHdp1-6Yn^*IvAqJUkN*Kl@}`ZhfmX%WfB^=-lT{ zB)(O+b4?e3v?}S+jp||jC&t5-R;pCh$EpuLpJQ6^>Tx0DFMBb0D|4cT*-NlfoT<=S zmzJEAU#Dos&nRFtH)yp*~HnAm>4dE+b43vub`OtW)#C|n8){-+R0yz nG!r9+kh<*Jbv5S1|G54Os5%d5vAS%a00000NkvXXu0mjfQIF{* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_11.png b/2023-11-08-22:00/pascal_trunk_serial/d_pixeldata_0_11.png new file mode 100644 index 0000000000000000000000000000000000000000..d323ccff1b3ecbb14dc6eeef5cb31bdbedba29a6 GIT binary patch literal 2696 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¬ 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 Y_8-pH2eiL(R0gT=boFyt=akR{0NemHhyVZp literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_volumeOpacity_05_thumb.png b/2023-11-08-22:00/pascal_trunk_serial/d_volumeOpacity_05_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ce206a779913d5a0b3147995bbf0b8a68fb78232 GIT binary patch literal 740 zcmV3_$V?u4a5JFNBgD5$uEftEF>On#eUd40Jn@H)UzohyLym;_d1uveYh~`ke z#L!lvh}PPW24a(_knQI4kW0jGcITVyE+YFJC$sa+JGI0AOO${d~ds6qaL{#66q(GL^R`e}$$2kbBnp=ycxZ!Wusb04OBRJ5P67 zp-TGOAKdOeCoIR1*~{UM4*;-Eggia~43ZH@a4}qooNQKnNdf?nK6d@PW~}-A(wY1` zYR#{eW^K?GsxoQ69`@?SL5oIc9c--HLXDqdml$>f)F>1|YCIHyX_l*A3L>KF^0;qM@7jFn}vspBAOF6xYCvv04Grh};Izhc(xxx(qcoAuU8W5p5xFmr!; zu>asEy8S*n8s97F`qtyE(O=4Q zf*b(m%H9&{b-zu!-JQMBAZs!QuqOZOugDgQh-gLXu;(KCPooE~jB<(k5l5Ktk6yKBQW|B=& z??^ThopoUb0Kj@j)<2TXokL>pobt2N=FjMk>O!Ju!E_0mLQMV zN`fsGsEDHM5lsOnno?9WMKy0t1Xai&6+_J!C0lkE&NFWDS%N_sJtih5CMG84|Kv9= W8rEVdo!18d0000Fw$IgC1dp)myjg$@gfz z%X(|RPWJq(XWsi9Z5M zvyDxt%l$(?O@jkmzv%pBx2u<0HBaGvOjyab3!k4a;#$Kx&rUWpV6F9hUiBA^Y6||= zj}u&36i?U{N3CLrI+<&+Ikc`&^Xkf#N|!cIt-SRmY~mBIoWr7Pin{lR#U9d9axS!t zJRPCB>ru?9S6q*iHci{KE9UJZ`EtM53{&;|wL7~yxcSvzM|_@K%AI}iVAr!%uamc{ zg}Ph`ywld2RUC9Qs$#>c?)8bfxuMZ@tl5RDxf~?3D_0vi3VN?DQq@_j)WyZBvvyvs zRZUXn*X8`2`CigeLMGPCTrE-;?2#WZ&RP7#D1T(`0t;FtHqmy{?1(T_s80;MVpNN&RhETuXOhF zl%-XEm;ZhD&i>L-k(4?0OfJVQ*)=i!1)DzEDwVNo-#&bj$reb@pUf)6ts>^3Ga*7@ zqeD{T5vI;j0a}EI_I))mk2NK;BUCmzMBD89D|9TQyTf){{{EiABI%}Y1zRq?T^P3P z?N{%LQ}JI?KAmCeoci+nzuWxxBR9VNvio@0-supZs*A>a~sKyvVP1Y|lTRDcZJbYKF~r zr7oj=(qUS@ft;s%BMb{RIZV}z`g=obbBJ2@$GH)a`)+Rt$PHN)!F@ig^rflJTCS_x zAFhh&Ej2&4#&m1c>TeC~TaTyjyuH@Uy?WENJDpe8SxlR?R-5O%&V{dT(P`V(X|7X0 zUHm$GFhmGgqEpyTs|2UG}rNGh(F;XO!-^ z#5ON7A!geD9nRatth<)o?#TK1<<7iL?)~W(b1gp4ew6y-%q;ir^(j}&53ieFdEWK$ z{OGy27eBw2_+##k-3|9%yUknoPQL7W>*1`sH^j~LWGB78CRp_P(Zd~i^R|`qzuvfK hUytdeYj3yyWBNKHU$=`J_vpVS`%c6aF=qKj)PDTQS66En-;2d6u!+@@DUZ>36Rc&VS>^a3@N{oZ-H_ zM3=^*4kfI_AL%D2s0k38w@u$)GxEfrmY9A&>u0Ap=i`0PZ%412C2sI$k(l(^*T;IFCoyN3#GSA{ zD|C44|I?Em_i!HbnRfH_Q?~b8ER`>Y9c##ca&E%IFRPEIr}=I1L%+Cw(S zUftzg@c+u3+pu6{1- HoD!Mk9 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/d_volume_02.png b/2023-11-08-22:00/pascal_trunk_serial/d_volume_02.png new file mode 100644 index 0000000000000000000000000000000000000000..7d09b2d9d9deee2f58431ef9d9fb1cc7dc97b094 GIT binary patch literal 1254 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4xj)-jM&AM3=Ax5JzX3_D(1Ysd2rHY0|ADM z8?*oapMF?TAjy5w@~2u&OWrZRX`9h?uTO-1+m7pxpMCwm>Fw$IgC1dp)myjg$@gfz z%X(|RPWJq(XWsi9Z5M zvyDxt%l$(?O@jkmzv%pBx2u<0HBaGvOjyab3!k4a;#$Kx&rUWpV6F9hUiBA^Y6||= zj}u&36i?U{N3CLrI+<&+Ikc`&^Xkf#N|!cIt-SRmY~mBIoWr7Pin{lR#U9d9axS!t zJRPCB>ru?9S6q*iHci{KE9UJZ`EtM53{&;|wL7~yxcSvzM|_@K%AI}iVAr!%uamc{ zg}Ph`ywld2RUC9Qs$#>c?)8bfxuMZ@tl5RDxf~?3D_0vi3VN?DQq@_j)WyZBvvyvs zRZUXn*X8`2`CigeLMGPCTrE-;?2#WZ&RP7#D1T(`0t;FtHqmy{?1(T_s80;MVpNN&RhETuXOhF zl%-XEm;ZhD&i>L-k(4?0OfJVQ*)=i!1)DzEDwVNo-#&bj$reb@pUf)6ts>^3Ga*7@ zqeD{T5vI;j0a}EI_I))mk2NK;BUCmzMBD89D|9TQyTf){{{EiABI%}Y1zRq?T^P3P z?N{%LQ}JI?KAmCeoci+nzuWxxBR9VNvio@0-supZs*A>a~sKyvVP1Y|lTRDcZJbYKF~r zr7oj=(qUS@ft;s%BMb{RIZV}z`g=obbBJ2@$GH)a`)+Rt$PHN)!F@ig^rflJTCS_x zAFhh&Ej2&4#&m1c>TeC~TaTyjyuH@Uy?WENJDpe8SxlR?R-5O%&V{dT(P`V(X|7X0 zUHm$GFhmGgqEpyTs|2UG}rNGh(F;XO!-^ z#5ON7A!geD9nRatth<)o?#TK1<<7iL?)~W(b1gp4ew6y-%q;ir^(j}&53ieFdEWK$ z{OGy27eBw2_+##k-3|9%yUknoPQL7W>*1`sH^j~LWGB78CRp_P(Zd~i^R|`qzuvfK hUytdeYj3yyWBNKHU$=`J_vpVS`%c6aF=qKj)PDTQS66En-;2d6u!+@@DUZ>36Rc&VS>^a3@N{oZ-H_ zM3=^*4kfI_AL%D2s0k38w@u$)GxEfrmY9A&>u0Ap=i`0PZ%412C2sI$k(l(^*T;IFCoyN3#GSA{ zD|C44|I?Em_i!HbnRfH_Q?~b8ER`>Y9c##ca&E%IFRPEIr}=I1L%+Cw(S zUftzg@c+u3+pu6{1- HoD!Mk9 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_serial/databasesVsInstall.html b/2023-11-08-22:00/pascal_trunk_serial/databasesVsInstall.html new file mode 100644 index 000000000..320d0f916 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databasesVsInstall.html @@ -0,0 +1,86 @@ +Results for test case databasesVsInstall + +

    Results for test case databasesVsInstall

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    12 Lines Changed

    +

    1 modifications, totalling 12 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1: { 'BOV': 'success',1: { 'BOV': 'make failed',
    2:     'Blueprint': 'success',2:     'Blueprint': 'make failed',
    3:     'CGNS': 'success',3:     'CGNS': 'make failed',
    4:     'Cale': 'success',4:     'Cale': 'make failed',
    5:     'Claw': 'success',5:     'Claw': 'make failed',
    6:     'Exodus': 'success',6:     'Exodus': 'make failed',
    7:     'FITS': 'success',7:     'FITS': 'make failed',
    8:     'H5Part': 'success',8:     'H5Part': 'make failed',
    9:     'MFEM': 'success',9:     'MFEM': 'make failed',
    10:     'Mili': 'success',10:     'Mili': 'make failed',
    11:     'SAMRAI': 'success',11:     'SAMRAI': 'make failed',
    12:     'VTK': 'success'}12:     'VTK': 'cmake configure failed'}
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_ANALYZE.html b/2023-11-08-22:00/pascal_trunk_serial/databases_ANALYZE.html new file mode 100644 index 000000000..ebb0a660f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_ANALYZE.html @@ -0,0 +1,84 @@ + +Results for databases/ANALYZE.py + +

    Results of VisIt Regression Test - databases/ANALYZE

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ANALYZE000.000.00
    ANALYZE010.000.00
    ANALYZE020.000.00
    ANALYZE030.000.00
    ANALYZE040.000.00
    ANALYZE050.000.00
    ANALYZE060.000.00
    ANALYZE070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_ANALYZE_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_ANALYZE_py.html new file mode 100644 index 000000000..04d706589 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_ANALYZE_py.html @@ -0,0 +1,113 @@ +databases/ANALYZE.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ANALYZE.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#              plots     - Pseudocolor, Contour
    +#              operators - Slice
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Dec 5 09:50:05 PDT 2003
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 31 09:13:47 PDT 2004
    +#    Added code to clear the engine cache to reduce memory usage.
    +#
    +#    Brad Whitlock, Wed Mar 9 09:12:05 PDT 2005
    +#    Updated so it does not use removed, deprecated functions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set up the window background color
    +a = GetAnnotationAttributes()
    +a.backgroundMode = a.Solid
    +a.backgroundColor = (0, 0, 0, 255)
    +a.foregroundColor = (255, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +
    +# Create a plot using the large database
    +dbs = (data_path("ANALYZE_test_data/s01_anatomy_stripped.hdr"),
    +       data_path("ANALYZE_test_data/s01_epi_r01.visit"))
    +OpenDatabase(dbs[0])
    +AddPlot("Contour", "Variable")
    +c = ContourAttributes()
    +c.contourMethod = c.Value
    +c.contourValue = (40)
    +c.colorType = c.ColorBySingleColor
    +c.singleColor = (255,240,220,255)
    +SetPlotOptions(c)
    +DrawPlots()
    +
    +# Set the view
    +v = View3DAttributes()
    +v.viewNormal = (0, 0, -1)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0, -1, 0)
    +v.viewAngle = 30
    +v.parallelScale = 399.965
    +v.nearPlane = -799.93
    +v.farPlane = 799.93
    +v.imagePan = (0, 0)
    +v.imageZoom = 2.26061
    +v.perspective = 1
    +v.eyeAngle = 2
    +SetView3D(v)
    +
    +Test("ANALYZE00")
    +
    +# Look at it from another view
    +v.viewNormal = (1, 0, 0)
    +SetView3D(v)
    +Test("ANALYZE01")
    +
    +# Look at it from the top
    +v.viewNormal = (0, -1, 0)
    +v.viewUp = (-1, 0, 0)
    +SetView3D(v)
    +Test("ANALYZE02")
    +
    +# Look at a new database
    +ResetView()
    +DeleteAllPlots()
    +CloseDatabase(dbs[0])
    +ClearCache("localhost")
    +
    +OpenDatabase(dbs[1])
    +AddPlot("Pseudocolor", "Variable")
    +p = PseudocolorAttributes()
    +p.minFlag = 1
    +p.min = 0
    +p.maxFlag = 1
    +p.max = 1300
    +p.colorTableName = "gray"
    +p.scaling = p.Skew
    +p.skewFactor = 0.5
    +SetPlotOptions(p)
    +
    +# Slice it.
    +AddOperator("Slice")
    +s = SliceAttributes()
    +s.originType = s.Point
    +s.originPoint = (0, 0, 0)
    +s.normal = (0, -1, 0)
    +s.upAxis = (0, 0, 1)
    +s.project2d = 1
    +s.axisType = s.ZAxis
    +SetOperatorOptions(s)
    +DrawPlots()
    +
    +# Add a time slider
    +slider = CreateAnnotationObject("TimeSlider")
    +slider.text = ""
    +slider.height = 0.1
    +
    +# Animate through the rest of the frames
    +testnum = 3
    +for i in range(TimeSliderGetNStates()):
    +    SetTimeSliderState(i)
    +    Test("ANALYZE%02d" % testnum)
    +    testnum = testnum + 1
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_ANSYS.html b/2023-11-08-22:00/pascal_trunk_serial/databases_ANSYS.html new file mode 100644 index 000000000..8fdad0172 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_ANSYS.html @@ -0,0 +1,108 @@ + +Results for databases/ANSYS.py + +

    Results of VisIt Regression Test - databases/ANSYS

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pipe.inp
    ansys1_00.000.00
    ansys1_10.000.00
    ansys1_20.000.00
    waterjacket.inp
    ansys2_00.000.00
    ansys2_10.000.00
    ansys2_20.000.00
    intake.inp
    ansys3_00.000.00
    ansys3_10.000.00
    ansys3_20.000.00
    cubeF.inp
    ansys4_10.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_ANSYS_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_ANSYS_py.html new file mode 100644 index 000000000..72ea97b4e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_ANSYS_py.html @@ -0,0 +1,217 @@ +databases/ANSYS.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ANSYS.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Mesh
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jul 7 17:46:51 PST 2005
    +#
    +#  Notes:      The data for these tests are supposed to be ANSYS versions of
    +#              some of the data in the NASTRAN tests. I have not found other
    +#              ANSYS datasets in this format to confirm that these datasets
    +#              are actually ANSYS but I think there may be several ANSYS
    +#              formats.
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' and 'backgroundFlag' with
    +#    meshColorSource and opaqueColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def AddMeshPlot():
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.legendFlag = 0
    +    m.opaqueColor = (153, 204, 255, 255)
    +    m.opaqueColorSource = m.OpaqueCustom
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (0,0,0,255)
    +    SetPlotOptions(m)
    +
    +def AddPseudocolorPlot():
    +    AddPlot("Pseudocolor", "one")
    +    p = PseudocolorAttributes()
    +    p.colorTableName = "rainbow"
    +    p.SetOpacityType(p.Constant)
    +    p.opacity = 0.2
    +    SetPlotOptions(p)
    +    DrawPlots()
    +
    +def test1(datapath):
    +    db = "pipe.inp"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath, db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v.focus = (0.149902, 0.212562, 0.124929)
    +    v.viewUp = (0.316186, 0.925114, -0.210215)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.585963
    +    v.nearPlane = -1.17193
    +    v.farPlane = 1.17193
    +    v.imagePan = (0.0173275, 0.033058)
    +    v.imageZoom = 1.45734
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v)
    +    Test("ansys1_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v2.focus = (0.149902, 0.212562, 0.124929)
    +    v2.viewUp = (0.316186, 0.925114, -0.210215)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.585963
    +    v2.nearPlane = -1.17193
    +    v2.farPlane = 1.17193
    +    v2.imagePan = (-0.108127, 0.0971661)
    +    v2.imageZoom = 6.92887
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v2)
    +    Test("ansys1_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("ansys1_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test2(datapath):
    +    db = "waterjacket.inp"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v.focus = (0.03, -0.03, -0.1125)
    +    v.viewUp = (0.225064, 0.264053, 0.937882)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.289925
    +    v.nearPlane = -0.579849
    +    v.farPlane = 0.579849
    +    v.imagePan = (0.0984407, 0.0467479)
    +    v.imageZoom = 1.40003
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v)
    +    Test("ansys2_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v2.focus = (0.03, -0.03, -0.1125)
    +    v2.viewUp = (0.225064, 0.264053, 0.937882)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.289925
    +    v2.nearPlane = -0.579849
    +    v2.farPlane = 0.579849
    +    v2.imagePan = (0.100347, 0.0410472)
    +    v2.imageZoom = 7.7658
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v2)
    +    Test("ansys2_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("ansys2_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test3(datapath):
    +    db = "intake.inp"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v.focus = (0, 0.011, -0.0935)
    +    v.viewUp = (0.208418, 0.950364, 0.231021)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.198752
    +    v.nearPlane = -0.397503
    +    v.farPlane = 0.397503
    +    v.imagePan = (0.0151275, 0.00167627)
    +    v.imageZoom = 1.43299
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v)
    +    Test("ansys3_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v2.focus = (0, 0.011, -0.0935)
    +    v2.viewUp = (0.208418, 0.950364, 0.231021)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.198752
    +    v2.nearPlane = -0.397503
    +    v2.farPlane = 0.397503
    +    v2.imagePan = (-0.101283, 0.0396808)
    +    v2.imageZoom = 6.28038
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v2)
    +    Test("ansys3_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("ansys3_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test4(datapath):
    +    db = "cubeF.inp"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +    Test("ansys4_1")
    +
    +def main():
    +    # Set up the window background color
    +    a = GetAnnotationAttributes()
    +    a.backgroundMode = a.Solid
    +    a.backgroundColor = (180, 180, 180, 255)
    +    a.foregroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(a)
    +
    +    DefineScalarExpression("one", "(zoneid(mesh) + 1) / (zoneid(mesh) + 1)")
    +
    +    datapath = data_path("ANSYS_test_data")
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    test4(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_CGNS.html b/2023-11-08-22:00/pascal_trunk_serial/databases_CGNS.html new file mode 100644 index 000000000..1f11922d7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_CGNS.html @@ -0,0 +1,204 @@ + +Results for databases/CGNS.py + +

    Results of VisIt Regression Test - databases/CGNS

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Structured files
    CGNS_0_000.000.00
    CGNS_0_010.000.00
    CGNS_0_020.000.00
    CGNS_0_030.000.00
    CGNS_0_040.000.00
    CGNS_0_050.000.00
    CGNS_0_060.000.00
    Unstructured files
    CGNS_1_000.000.00
    CGNS_1_010.000.00
    CGNS_1_020.000.00
    CGNS_1_030.000.00
    CGNS_1_040.000.00
    CGNS_1_050.000.00
    CGNS_1_060.000.00
    CGNS_1_070.000.00
    Variables on only some of the domains
    CGNS_2_000.000.00
    CGNS_2_010.000.00
    CGNS_2_020.000.00
    CGNS_2_030.000.00
    CGNS_2_040.000.00
    CGNS_2_050.000.00
    File with boundaries
    CGNS_3_000.000.00
    Arbitrary polygons
    CGNS_NGon_Elements_000.000.00
    Arbitrary polyhedra
    CGNS_NFace_Elements_000.000.00
    CGNS_NFace_Elements_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_CGNS_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_CGNS_py.html new file mode 100644 index 000000000..a2f6c6a59 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_CGNS_py.html @@ -0,0 +1,389 @@ +databases/CGNS.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  CGNS.py
    +#
    +#  Tests:      mesh      - 3D structured, unstructured, single and 
    +#                          multiple domain
    +#              plots     - Contour, Mesh, Pseudocolor, Subset
    +#              operators - Clip, Slice
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Sep 2 11:19:33 PDT 2005
    +#
    +#  Modifications:
    +#    Brad Whitlock, Mon Apr 21 10:55:14 PDT 2008
    +#    Updated variable names to compensate for changes to CGNS reader.
    +#
    +#    Jeremy Meredith, Fri Aug  8 11:23:29 EDT 2008
    +#    Updated streamline settings to match new attribute fields.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Cyrus Harrison, Wed Aug 25 14:28:14 PDT 2010
    +#    Variable name change due to changes with SIL generation.
    +#
    +#    Brad Whitlock, Tue Sep 11 14:38:37 PDT 2012
    +#    Test file that has boundaries.
    +#
    +#    Alister Maguire, Tue Mar  2 10:29:37 PST 2021
    +#    Added tests for NGon and NFace elements.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("CGNS")
    +
    +def test0(datapath):
    +    TestSection("Structured files")
    +
    +    OpenDatabase(pjoin(datapath,"delta.cgns"))
    +    AddPlot("Mesh", "Zone___1")
    +    DrawPlots()
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.673597, -0.70478, 0.222605)
    +    v0.focus = (0.5, 0.827196, 0.0589651)
    +    v0.viewUp = (0.150257, 0.164313, 0.974897)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 2.30431
    +    v0.nearPlane = -4.60862
    +    v0.farPlane = 4.60862
    +    v0.imagePan = (0.0171482, 0.0494526)
    +    v0.imageZoom = 1.09899
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.5, 0.827196, 0.0589651)
    +    SetView3D(v0)
    +    Test("CGNS_0_00")
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "Density")
    +    DrawPlots()
    +    Test("CGNS_0_01")
    +
    +    ChangeActivePlotsVar("MomentumX")
    +    Test("CGNS_0_02")
    +
    +    AddPlot("Vector", "Momentum")
    +    v = VectorAttributes()
    +    v.nVectors = 4000
    +    v.scale = 0.065
    +    v.scaleByMagnitude = 0
    +    v.autoScale = 0
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (-0.59445, 0.745055, 0.302528)
    +    v1.focus = (0.5, 0.827196, 0.0589651)
    +    v1.viewUp = (0.177264, -0.245548, 0.953039)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 2.30431
    +    v1.nearPlane = 0
    +    v1.farPlane = 4.60862
    +    v1.imagePan = (-0.00797807, 0.021628)
    +    v1.imageZoom = 2.76008
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (0.5, 0.827196, 0.0589651)
    +    SetView3D(v1)
    +    Test("CGNS_0_03")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"5blocks.cgns"))
    +    AddPlot("Subset", "zones")
    +    AddPlot("Mesh", "BASE_1")
    +    DrawPlots()
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.56714, 0.62864, 0.532131)
    +    v2.focus = (18.3432, -132.647, 108.59)
    +    v2.viewUp = (0.353654, -0.397621, 0.846656)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 390.48
    +    v2.nearPlane = -780.96
    +    v2.farPlane = 780.96
    +    v2.imagePan = (0.0358739, 0.018554)
    +    v2.imageZoom = 1.2581
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (18.3432, -132.647, 108.59)
    +    SetView3D(v2)
    +    Test("CGNS_0_04")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"multi.cgns"))
    +    AddPlot("Subset", "zones")
    +    AddOperator("Slice")
    +    DrawPlots()
    +    v3 = View2DAttributes()
    +    v3.windowCoords = (-0.101847, 1.39507, -0.777335, 0.779882)
    +    v3.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v3.fullFrameActivationMode = v3.Off  # On, Off, Auto
    +    v3.fullFrameAutoThreshold = 100
    +    SetView2D(v3)
    +    Test("CGNS_0_05")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "MomentumZ")
    +    AddOperator("Slice")
    +    DrawPlots()
    +    Test("CGNS_0_06")
    +
    +    DeleteAllPlots()
    +
    +
    +def test1(datapath):
    +    TestSection("Unstructured files")
    +
    +    OpenDatabase(pjoin(datapath,"StaticMixer.cgns"))
    +    AddPlot("Mesh", "StaticMixer")
    +    AddPlot("Pseudocolor", "Pressure")
    +    DrawPlots()
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.791423, -0.34473, 0.504788)
    +    v0.focus = (0, 0, 6.65045e-11)
    +    v0.viewUp = (0.453682, 0.222176, 0.863024)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 4.1231
    +    v0.nearPlane = -8.24621
    +    v0.farPlane = 8.24621
    +    v0.imagePan = (-0.00919414, -0.0394234)
    +    v0.imageZoom = 1.4092
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0, 0, 0)
    +    SetView3D(v0)
    +    Test("CGNS_1_00")
    +
    +    ChangeActivePlotsVar("VelocityX")
    +    Test("CGNS_1_01")
    +
    +    SetActivePlots((0,1))
    +    AddOperator("Clip")
    +    c = ClipAttributes()
    +    c.plane2Status = 1
    +    c.plane1Normal = (-1.,0.,0.)
    +    c.plane2Normal = (0.,-1.,0.)
    +    SetOperatorOptions(c)
    +    DrawPlots()
    +    Test("CGNS_1_02")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"jet.cgns"))
    +    AddPlot("Pseudocolor", "CoefPressure")
    +    AddPlot("Contour", "CoefPressure")
    +    c = ContourAttributes()
    +    c.colorType = c.ColorBySingleColor
    +    c.contourNLevels = 30
    +    c.singleColor=(0,0,0,255)
    +    c.legendFlag = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (0.89973, 0.23533, 0.367566)
    +    v1.focus = (1.82694, 0, 4.12744)
    +    v1.viewUp = (-0.354779, -0.0961553, 0.929992)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 47.9514
    +    v1.nearPlane = -95.9031
    +    v1.farPlane = 95.9031
    +    v1.imagePan = (-0.0544089, 0.00587157)
    +    v1.imageZoom = 1.62963
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (1.82694, 0, 4.12744)
    +    SetView3D(v1)
    +    Test("CGNS_1_03")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"yf17.cgns"))
    +    AddPlot("Mesh", "Zone1")
    +    AddPlot("Pseudocolor", "Density")
    +    DrawPlots()
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.79815, 0.489358, 0.351405)
    +    v2.focus = (0, 31.7504, 0)
    +    v2.viewUp = (0.286761, -0.204385, 0.935946)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 95.2512
    +    v2.nearPlane = 0
    +    v2.farPlane = 190.502
    +    v2.imagePan = (-0.129267, -0.0352136)
    +    v2.imageZoom = 15.4243
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 31.7504, 0)
    +    SetView3D(v2)
    +    Test("CGNS_1_04")
    +
    +    v3 = View3DAttributes()
    +    v3.viewNormal = (-0.79815, 0.489358, 0.351405)
    +    v3.focus = (0, 31.7504, 0)
    +    v3.viewUp = (0.286761, -0.204385, 0.935946)
    +    v3.viewAngle = 30
    +    v3.parallelScale = 95.2512
    +    v3.nearPlane = 0
    +    v3.farPlane = 190.502
    +    v3.imagePan = (-0.130871, -0.033492)
    +    v3.imageZoom = 66.7586
    +    v3.perspective = 1
    +    v3.eyeAngle = 2
    +    v3.centerOfRotationSet = 0
    +    v3.centerOfRotation = (0, 31.7504, 0)
    +    SetView3D(v3)
    +    Test("CGNS_1_05")
    +
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    SetView3D(v2)
    +    Test("CGNS_1_06")
    +
    +    AddPlot("Vector", "Velocity")
    +    v = VectorAttributes()
    +    v.nVectors = 4000
    +    v.scale = 0.2
    +    v.scaleByMagnitude = 0
    +    v.autoScale = 0
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    Test("CGNS_1_07")
    +    DeleteAllPlots()
    +
    +
    +def test2(datapath):
    +    TestSection("Variables on only some of the domains")
    +
    +    OpenDatabase(pjoin(datapath,"HeatingCoil.cgns"))
    +    AddPlot("Subset", "zones(Base)")
    +    DrawPlots()
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (0.27344, 0.876709, 0.395743)
    +    v0.focus = (0, 0, 1.125)
    +    v0.viewUp = (-0.0932919, -0.385311, 0.918059)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 1.8071
    +    v0.nearPlane = -3.61421
    +    v0.farPlane = 3.61421
    +    v0.imagePan = (-0.00158217, 0.0267093)
    +    v0.imageZoom = 1.11866
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0, 0, 1.125)
    +    SetView3D(v0)
    +    Test("CGNS_2_00")
    +
    +    TurnDomainsOff("FluidZone")
    +    Test("CGNS_2_01")
    +
    +    TurnDomainsOn()
    +    TurnDomainsOff("SolidZone")
    +    Test("CGNS_2_02")
    +    TurnDomainsOn()
    +    DeleteAllPlots()
    +
    +    # Make sure we can plot variables that exist on only 1 domain.
    +    AddPlot("Pseudocolor", "Pressure")
    +    DrawPlots()
    +    Test("CGNS_2_03")
    +    ChangeActivePlotsVar("VelocityZ")
    +    AddPlot("Mesh", "subgrid/Base001")
    +    DrawPlots()
    +    Test("CGNS_2_04")
    +    DeleteAllPlots()
    +
    +    # Draw the 1 variable that exists in both domains.
    +    AddPlot("Pseudocolor","Temperature")
    +    DrawPlots()
    +    Test("CGNS_2_05")
    +    DeleteAllPlots()
    +
    +def test3(datapath):
    +    TestSection("File with boundaries")
    +
    +    OpenDatabase(pjoin(datapath,"with_boundary_faces.cgns"))
    +    AddPlot("Pseudocolor", "Density")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.On
    +    SetView2D(v)
    +
    +    Test("CGNS_3_00")
    +    DeleteAllPlots()
    +
    +def testNGonElements(datapath):
    +    TestSection("Arbitrary polygons")
    +
    +    OpenDatabase(pjoin(datapath, "spherePolyMesh.cgns"))
    +    AddPlot("Mesh", "sphere")
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("CGNS_NGon_Elements_00")
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath, "spherePolyMesh.cgns"))
    +
    +def testNFaceElements(datapath):
    +    TestSection("Arbitrary polyhedra")
    +
    +    #
    +    # First, test the simple case. This mesh has 2 sections,
    +    # one for NGon and one for NFace.
    +    #
    +    OpenDatabase(pjoin(datapath, "trappedvtx_ngon.cgns"))
    +    AddPlot("Mesh", "ComputeBase")
    +    MeshAtts = MeshAttributes()
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("CGNS_NFace_Elements_00")
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath, "trappedvtx_ngon.cgns"))
    +
    +    #
    +    # Next, test a more complicated case. This mesh has 5 sections,
    +    # 4 of which are NGon. The single NFace section references all
    +    # 4 NGon sections.
    +    #
    +    OpenDatabase(pjoin(datapath, "spherePolyMesh3D.cgns"))
    +    AddPlot("Mesh", "sphere")
    +    MeshAtts = MeshAttributes()
    +    MeshAtts.opacity = 0.4
    +    SetPlotOptions(MeshAtts)
    +
    +    AddPlot("Pseudocolor", "Density")
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.opacityType = PseudocolorAtts.Constant
    +    PseudocolorAtts.opacity = 0.4
    +    SetPlotOptions(PseudocolorAtts)
    +
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("CGNS_NFace_Elements_01")
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath, "spherePolyMesh3D.cgns"))
    +
    +def main():
    +    # Draw antialiased lines
    +    r = GetRenderingAttributes()
    +    r.antialiasing = 1
    +    SetRenderingAttributes(r)
    +
    +    datapath = data_path("CGNS_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    testNGonElements(datapath)
    +    testNFaceElements(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Cale.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Cale.html new file mode 100644 index 000000000..06894971b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Cale.html @@ -0,0 +1,69 @@ + +Results for databases/Cale.py + +

    Results of VisIt Regression Test - databases/Cale

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Cale files
    Cale_0_000.000.00
    Cale_0_010.000.00
    Cale_0_020.000.00
    Cale_0_030.000.00
    Cale_0_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Cale_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Cale_py.html new file mode 100644 index 000000000..13029b747 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Cale_py.html @@ -0,0 +1,65 @@ +databases/Cale.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Cale.py
    +#
    +#  Tests:      mesh      - 2D, structured, single domain
    +#              plots     - Pseudocolor, FilledBoundary
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Oct 10 11:46:45 PDT 2007
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def test0(datapath):
    +    TestSection("Cale files")
    +    OpenDatabase(pjoin(datapath,"jet00405.pdb"))
    +    AddPlot("Pseudocolor", "p")
    +    DrawPlots()
    +    Test("Cale_0_00")
    +    DeleteActivePlots()
    +
    +    AddPlot("FilledBoundary", "Materials")
    +    DrawPlots()
    +    Test("Cale_0_01")
    +
    +    AddPlot("Mesh", "hydro")
    +    DrawPlots()
    +    v0 = View2DAttributes()
    +    v0.windowCoords = (10.1155, 11.6375, 3.20767, 4.82837)
    +    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    SetView2D(v0)
    +    Test("Cale_0_02")
    +
    +    # Do a PC plot with mixvars.
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    m = GetMaterialAttributes()
    +    m.forceMIR = 1
    +    SetMaterialAttributes(m)
    +    AddPlot("Pseudocolor", "den")
    +    DrawPlots()
    +    Test("Cale_0_03")
    +    DeleteAllPlots()
    +
    +    # Test another file.
    +    OpenDatabase(pjoin(datapath,"vpgz.pdb"))
    +    AddPlot("FilledBoundary", "Materials")
    +    DrawPlots()
    +    ResetView()
    +    Test("Cale_0_04")
    +    DeleteActivePlots()
    +
    +def main():
    +    datapath = data_path("Cale_test_data")
    +    test0(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Chombo.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Chombo.html new file mode 100644 index 000000000..bed3a8b55 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Chombo.html @@ -0,0 +1,73 @@ + +Results for databases/Chombo.py + +

    Results of VisIt Regression Test - databases/Chombo

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Changing time states
    Chombo_0_000.000.00
    Chombo_0_010.000.00
    Chombo_0_020 modifications totalling 0 lines
    More distinct refinements
    Chombo_1_000.000.00
    Anisotropic refinement
    Chombo_2_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Chombo_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Chombo_py.html new file mode 100644 index 000000000..e5ecc2dfc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Chombo_py.html @@ -0,0 +1,101 @@ +databases/Chombo.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Chombo.py
    +#
    +#  Tests:      mesh      - 2D AMR
    +#              plots     - Pseudocolor
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Sep 25 14:17:58 PST 2006
    +#
    +#  Modifications:
    +#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
    +#    Removed silly comments regarding global annotation object 'a'
    +#
    +# ----------------------------------------------------------------------------
    +
    +def test0(datapath):
    +    TestSection("Changing time states")
    +
    +    # Set up the plots.
    +    db = pjoin(datapath,"chombo.visit")
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "Density")
    +    AddOperator("Transform")
    +    t = TransformAttributes()
    +    t.doScale = 1
    +    t.scaleY = 8.
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +
    +    Test("Chombo_0_00")
    +
    +    # Make sure we can change time states. This demonstrates the reader's
    +    # ability to change metadata/SIL over time.
    +    SetTimeSliderState(1)
    +    Test("Chombo_0_01")
    +
    +    # Get the time steps.
    +    s = "Number of states: %d\n" %  TimeSliderGetNStates()
    +    for i in range(TimeSliderGetNStates()):
    +        SetTimeSliderState(i)
    +        Query("Cycle")
    +        cycle = GetQueryOutputValue()
    +        Query("Time")
    +        time = GetQueryOutputValue()
    +        values = "Cycle=%d, Time=%g" % (cycle, time)
    +        s = s + values + "\n"
    +    TestText("Chombo_0_02", s)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test1(datapath):
    +    TestSection("More distinct refinements")
    +
    +    db = pjoin(datapath,"chombo.visit")
    +    OpenDatabase(db)
    +
    +    AddPlot("Subset", "patches")
    +    AddPlot("Contour", "P_y_Over_Rho")
    +    DrawPlots()
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.On
    +    SetView2D(v)
    +
    +    Test("Chombo_1_00")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test2(datapath):
    +    TestSection("Anisotropic refinement")
    +
    +    db = pjoin(datapath,"aniso_refin.2d.hdf5")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Subset", "levels")
    +    DrawPlots()
    +
    +    Test("Chombo_2_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def main():
    +    TurnOffAllAnnotations()
    +
    +    InvertBackgroundColor()
    +
    +    datapath = data_path("Chombo_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +
    +    InvertBackgroundColor()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_EnSight.html b/2023-11-08-22:00/pascal_trunk_serial/databases_EnSight.html new file mode 100644 index 000000000..64bfa15b8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_EnSight.html @@ -0,0 +1,102 @@ + +Results for databases/EnSight.py + +

    Results of VisIt Regression Test - databases/EnSight

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    MT, ASCII, EnSight Gold files
    EnSight_0_000.000.00
    EnSight_0_010.000.00
    EnSight_0_020.000.00
    EnSight_0_030.000.00
    EnSight_0_040.000.00
    EnSight_0_050.000.00
    EnSight_0_060.000.00
    EnSight_0_070.000.00
    EnSight_0_080 modifications totalling 0 lines
    Make sure that we get correct values
    EnSight_1_000 modifications totalling 0 lines
    EnSight_1_010 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_EnSight_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_EnSight_py.html new file mode 100644 index 000000000..3fc679f60 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_EnSight_py.html @@ -0,0 +1,84 @@ +databases/EnSight.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  EnSight.py
    +#
    +#  Tests:      mesh      - 2D structured
    +#              plots     - Pseudocolor
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Jun 27 10:27:50 PDT 2006
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Sep 27 10:19:38 PDT 2006
    +#    Test another dataset to make sure that the cycle/time values and the
    +#    dataset values are right.
    +#
    +# ----------------------------------------------------------------------------
    +
    +RequiredDatabasePlugin("EnSight")
    +
    +def test0(datapath):
    +    TestSection("MT, ASCII, EnSight Gold files")
    +
    +    # Set up the plots.
    +    OpenDatabase(pjoin(datapath,"CHR.case"))
    +    AddPlot("Pseudocolor", "Pression")
    +    DrawPlots()
    +
    +    # Save images for all 8 time steps
    +    s = "Time values:\n"
    +    for i in range(8):
    +        SetTimeSliderState(i)
    +        DrawPlots()
    +        Test("EnSight_0_%02d" % i)
    +
    +        Query("Time")
    +        s = s + GetQueryOutputString() + "\n"
    +
    +    TestText("EnSight_0_08", s)
    +    DeleteAllPlots()
    +
    +def test1(datapath):
    +    TestSection("Make sure that we get correct values")
    +
    +    # Set up the plots.
    +    OpenDatabase(pjoin(datapath,"dataset2/CHR.case"))
    +    AddPlot("Pseudocolor", "nb")
    +    DrawPlots()
    +
    +    # Query the values at all time steps to make sure that we get the
    +    # right cycles, times and min dataset value.
    +    s = "Time values:\n"
    +    v = "Dataset values\n"
    +    for i in range(TimeSliderGetNStates()):
    +        SetTimeSliderState(i)
    +        DrawPlots()
    +
    +        # Get cycle and time.
    +        Query("Time")
    +        t = GetQueryOutputValue()
    +
    +        # Get min value
    +        Query("Min")
    +        m = GetQueryOutputValue()
    +
    +        line = "Time=%g\n" % t
    +        s = s + line
    +        line = "Min Value=%g\n" % m
    +        v = v + line
    +
    +    TestText("EnSight_1_00", s)
    +    TestText("EnSight_1_01", v)
    +    DeleteAllPlots()
    +
    +def main():
    +    TurnOffAllAnnotations()
    +
    +    datapath = data_path("EnSight_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_FITS.html b/2023-11-08-22:00/pascal_trunk_serial/databases_FITS.html new file mode 100644 index 000000000..1f1d4801e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_FITS.html @@ -0,0 +1,87 @@ + +Results for databases/FITS.py + +

    Results of VisIt Regression Test - databases/FITS

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    2D truecolor images
    FITS_0_000.000.00
    2D pseudocolor images
    FITS_1_000.000.00
    FITS_1_010.000.00
    FITS_1_020.000.00
    FITS_1_030.000.00
    3D pseudocolor data
    FITS_2_000.000.00
    FITS_2_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_FITS_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_FITS_py.html new file mode 100644 index 000000000..f28f87d7c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_FITS_py.html @@ -0,0 +1,124 @@ +databases/FITS.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  FITS.py
    +#
    +#  Tests:      mesh      - 2D structured, 3D structured
    +#              plots     - Pseudocolor, TrueColor
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jul 20 14:07:49 PST 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Mar 18 15:40:19 PDT 2008
    +#    Reflect change in variable names.
    +#
    +#    Hank Childs, Sat Mar 13 10:57:19 PST 2010
    +#    Reflect change in variable names.
    +#    
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("FITS")
    +
    +def test0(datapath):
    +    TestSection("2D truecolor images")
    +
    +    # Set up the plots.
    +    db = pjoin(datapath,"mandrill.fits")
    +    OpenDatabase(db)
    +    AddPlot("Truecolor", "MANDRILL")
    +    DrawPlots()
    +
    +    Test("FITS_0_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +
    +def test1(datapath):
    +    TestSection("2D pseudocolor images")
    +
    +    # Set up the plots.
    +    db = pjoin(datapath,"y2000m2.fits")
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "NGC7083 V 550nm _lp_Intens_rp_")
    +    pc = PseudocolorAttributes()
    +    pc.minFlag = 1
    +    pc.scaling = pc.Log  # Linear, Log, Skew
    +    pc.min = 0.001
    +    pc.colorTableName = "bluehot"
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    Test("FITS_1_00")
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    # Set up the plots.
    +    db = pjoin(datapath, "04May04_standard_*.fits database")
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "HD43583")
    +    DrawPlots()
    +    Test("FITS_1_01")
    +
    +    SetTimeSliderState(1)
    +    Test("FITS_1_02")
    +
    +    SetTimeSliderState(2)
    +    Test("FITS_1_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +
    +def test2(datapath):
    +    TestSection("3D pseudocolor data")
    +
    +    # Set up the plots.
    +    db = pjoin(datapath,"ngc6503.fits")
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "NGC6503")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0.406249, -0.543192, 0.734782)
    +    v.focus = (128, 128, 15.5)
    +    v.viewUp = (-0.273573, 0.694941, 0.664993)
    +    v.viewAngle = 30
    +    v.parallelScale = 181.682
    +    v.nearPlane = -363.363
    +    v.farPlane = 363.363
    +    v.imagePan = (0.0160165, 0.0533909)
    +    v.imageZoom = 1.05918
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (128, 128, 15.5)
    +    SetView3D(v)
    +    Test("FITS_2_00")
    +    DeleteAllPlots()
    +
    +    AddPlot("Contour", "NGC6503")
    +    ca = ContourAttributes()
    +    ca.contourValue = (0.0075)
    +    ca.contourMethod = ca.Value  # Level, Value, Percent
    +    SetPlotOptions(ca)
    +    DrawPlots()
    +    Test("FITS_2_01")
    +    DeleteAllPlots()
    +
    +    CloseDatabase(db)
    +
    +def main():
    +    TurnOffAllAnnotations()
    +
    +    InvertBackgroundColor()
    +
    +    datapath = data_path("FITS_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +
    +    InvertBackgroundColor()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_FMS.html b/2023-11-08-22:00/pascal_trunk_serial/databases_FMS.html new file mode 100644 index 000000000..519e65aae --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_FMS.html @@ -0,0 +1,1156 @@ + +Results for databases/FMS.py + +

    Results of VisIt Regression Test - databases/FMS

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    domains - ascii
    FMS_0_1_000 modifications totalling 0 lines
    FMS_0_1_010.000.00
    FMS_0_1_020.000.00
    FMS_0_1_030.000.00
    FMS_0_2_000 modifications totalling 0 lines
    FMS_0_2_010.000.00
    FMS_0_2_020.000.00
    FMS_0_2_030.000.00
    FMS_0_3_000 modifications totalling 0 lines
    FMS_0_3_010.000.00
    FMS_0_3_020.000.00
    FMS_0_3_030.000.00
    domains - yaml
    FMS_1_1_000 modifications totalling 0 lines
    FMS_1_1_010.000.00
    FMS_1_1_020.000.00
    FMS_1_1_030.000.00
    FMS_1_2_000 modifications totalling 0 lines
    FMS_1_2_010.000.00
    FMS_1_2_020.000.00
    FMS_1_2_030.000.00
    FMS_1_3_000 modifications totalling 0 lines
    FMS_1_3_010.000.00
    FMS_1_3_020.000.00
    FMS_1_3_030.000.00
    domains - json
    FMS_2_1_000 modifications totalling 0 lines
    FMS_2_1_010.000.00
    FMS_2_1_020.000.00
    FMS_2_1_030.000.00
    FMS_2_2_000 modifications totalling 0 lines
    FMS_2_2_010.000.00
    FMS_2_2_020.000.00
    FMS_2_2_030.000.00
    FMS_2_3_000 modifications totalling 0 lines
    FMS_2_3_010.000.00
    FMS_2_3_020.000.00
    FMS_2_3_030.000.00
    domains - hdf5
    FMS_3_1_000 modifications totalling 0 lines
    FMS_3_1_010.000.00
    FMS_3_1_020.000.00
    FMS_3_1_030.000.00
    FMS_3_2_000 modifications totalling 0 lines
    FMS_3_2_010.000.00
    FMS_3_2_020.000.00
    FMS_3_2_030.000.00
    FMS_3_3_000 modifications totalling 0 lines
    FMS_3_3_010.000.00
    FMS_3_3_020.000.00
    FMS_3_3_030.000.00
    quads - ascii
    FMS_4_1_000 modifications totalling 0 lines
    FMS_4_1_010.000.00
    FMS_4_1_020.000.00
    FMS_4_1_030.000.00
    FMS_4_1_040.000.00
    FMS_4_1_050.000.00
    FMS_4_1_060.000.00
    FMS_4_2_000 modifications totalling 0 lines
    FMS_4_2_010.000.00
    FMS_4_2_020.000.00
    FMS_4_2_030.000.00
    FMS_4_2_040.000.00
    FMS_4_2_050.000.00
    FMS_4_2_060.000.00
    FMS_4_3_000 modifications totalling 0 lines
    FMS_4_3_010.000.00
    FMS_4_3_020.000.00
    FMS_4_3_030.000.00
    FMS_4_3_040.000.00
    FMS_4_3_050.000.00
    FMS_4_3_060.000.00
    quads - yaml
    FMS_5_1_000 modifications totalling 0 lines
    FMS_5_1_010.000.00
    FMS_5_1_020.000.00
    FMS_5_1_030.000.00
    FMS_5_1_040.000.00
    FMS_5_1_050.000.00
    FMS_5_1_060.000.00
    FMS_5_2_000 modifications totalling 0 lines
    FMS_5_2_010.000.00
    FMS_5_2_020.000.00
    FMS_5_2_030.000.00
    FMS_5_2_040.000.00
    FMS_5_2_050.000.00
    FMS_5_2_060.000.00
    FMS_5_3_000 modifications totalling 0 lines
    FMS_5_3_010.000.00
    FMS_5_3_020.000.00
    FMS_5_3_030.000.00
    FMS_5_3_040.000.00
    FMS_5_3_050.000.00
    FMS_5_3_060.000.00
    hex - ascii
    FMS_6_1_000 modifications totalling 0 lines
    FMS_6_1_010.000.00
    FMS_6_1_020.000.00
    FMS_6_1_030.000.00
    FMS_6_1_040.000.00
    FMS_6_1_050.000.00
    FMS_6_2_000 modifications totalling 0 lines
    FMS_6_2_010.000.00
    FMS_6_2_020.000.00
    FMS_6_2_030.000.00
    FMS_6_2_040.000.00
    FMS_6_2_050.000.00
    FMS_6_3_000 modifications totalling 0 lines
    FMS_6_3_010.000.00
    FMS_6_3_020.000.00
    FMS_6_3_030.000.00
    FMS_6_3_040.000.00
    FMS_6_3_050.000.00
    FMS_6_4_000 modifications totalling 0 lines
    FMS_6_4_010.000.00
    FMS_6_4_020.000.00
    FMS_6_4_030.000.00
    FMS_6_4_040.000.00
    FMS_6_4_050.000.00
    FMS_6_5_000 modifications totalling 0 lines
    FMS_6_5_010.000.00
    FMS_6_5_020.000.00
    FMS_6_5_030.000.00
    FMS_6_5_040.000.00
    FMS_6_5_050.000.00
    hex - hdf5
    FMS_7_1_000 modifications totalling 0 lines
    FMS_7_1_010.000.00
    FMS_7_1_020.000.00
    FMS_7_1_030.000.00
    FMS_7_1_040.000.00
    FMS_7_1_050.000.00
    FMS_7_2_000 modifications totalling 0 lines
    FMS_7_2_010.000.00
    FMS_7_2_020.000.00
    FMS_7_2_030.000.00
    FMS_7_2_040.000.00
    FMS_7_2_050.000.00
    FMS_7_3_000 modifications totalling 0 lines
    FMS_7_3_010.000.00
    FMS_7_3_020.000.00
    FMS_7_3_030.000.00
    FMS_7_3_040.000.00
    FMS_7_3_050.000.00
    FMS_7_4_000 modifications totalling 0 lines
    FMS_7_4_010.000.00
    FMS_7_4_020.000.00
    FMS_7_4_030.000.00
    FMS_7_4_040.000.00
    FMS_7_4_050.000.00
    FMS_7_5_000 modifications totalling 0 lines
    FMS_7_5_010.000.00
    FMS_7_5_020.000.00
    FMS_7_5_030.000.00
    FMS_7_5_040.000.00
    FMS_7_5_050.000.00
    hex - time varying
    FMS_8__000 modifications totalling 0 lines
    FMS_8__010.000.00
    FMS_8__020.000.00
    Root file
    FMS_9__000 modifications totalling 0 lines
    FMS_9__010.000.00
    FMS_9__020.000.00
    Converted MFEM data: escher-p3-0ref
    FMS_10_000 modifications totalling 0 lines
    FMS_10_010.000.00
    FMS_10_020.000.00
    FMS_10_030.000.00
    Converted MFEM data: escher-p3
    FMS_11_000 modifications totalling 0 lines
    FMS_11_010.000.00
    FMS_11_020.000.00
    Converted MFEM data: Example15
    FMS_12_000 modifications totalling 0 lines
    FMS_12_010.000.00
    FMS_12_020.000.00
    FMS_12_030.000.00
    Converted MFEM data: Example9
    FMS_13_000 modifications totalling 0 lines
    FMS_13_010.000.00
    Converted MFEM data: fichera-q2-0ref
    FMS_14_000 modifications totalling 0 lines
    FMS_14_010.000.00
    FMS_14_020.000.00
    FMS_14_030.000.00
    Converted MFEM data: fichera-q2
    FMS_15_000 modifications totalling 0 lines
    FMS_15_010.000.00
    FMS_15_020.000.00
    Converted MFEM data: star-q3-0ref
    FMS_16_000 modifications totalling 0 lines
    FMS_16_010.000.00
    FMS_16_020.000.00
    FMS_16_030.000.00
    Converted MFEM data: star-q3
    FMS_17_000 modifications totalling 0 lines
    FMS_17_010.000.00
    FMS_17_020.000.00
    Converted MFEM data: toroid-hex-0ref
    FMS_18_000 modifications totalling 0 lines
    FMS_18_010.000.00
    FMS_18_020.000.00
    FMS_18_030.000.00
    Converted MFEM data: toroid-hex
    FMS_19_000 modifications totalling 0 lines
    FMS_19_010.000.00
    FMS_19_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_FMS_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_FMS_py.html new file mode 100644 index 000000000..0df892432 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_FMS_py.html @@ -0,0 +1,590 @@ +databases/FMS.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  FMS.py
    +#
    +#  Tests:      mesh      - high order meshes
    +#              plots     - Mesh, Pseudocolor
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Aug  4 11:25:39 PDT 2020
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def FilterMetaData(s):
    +    lines = s.split("\n")
    +    txt = ""
    +    ignores=("exprList.","#expressions",".enum","simInfo.","blockNameScheme",".missingData","DataExtents =",".rectilinearGrid",".unitCell")
    +    for line in lines:
    +        keep = True
    +        for ig in ignores:
    +             if ig in line:
    +                 keep = False
    +                 break
    +        if keep:
    +            txt = txt + (line + "\n")
    +    return txt
    +
    +def test_mesh_plus_dofs(prefix, db1, order):
    +    OpenDatabase(db1)
    +
    +    # Get the metadata
    +    md = GetMetaData(db1)
    +    TestText(prefix+"_00", FilterMetaData(str(md)))
    +
    +    # Show the mesh (curved)
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.lineWidth = 2
    +    SetPlotOptions(m)
    +    if order != "one":
    +        AddOperator("MultiresControl")
    +        mra = MultiresControlAttributes()
    +        mra.resolution = 10
    +        mra.maxResolution = 100
    +        SetOperatorOptions(mra)
    +    DrawPlots()
    +    delta = 0.03
    +    v0 = GetView2D()
    +    v0.windowCoords = (0.-delta, 1.+delta, 0.-delta, 1.+delta)
    +    v0.viewportCoords = (0.04, 0.98, 0.03, 0.98)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    v0.windowValid = 1
    +    SetView2D(v0)
    +    Test(prefix + "_01")
    +
    +    # Overlay the dofs
    +    DefineScalarExpression("X", "coords(dofs)[0]")
    +    AddPlot("Pseudocolor", "X")
    +    pc = PseudocolorAttributes()
    +    pc.pointSizePixels = 12
    +    pc.colorTableName = "hot_desaturated"
    +    SetPlotOptions(pc)
    +    AddOperator("Project")
    +    AddOperator("Transform")
    +    tform = TransformAttributes(1)
    +    tform.doTranslate = 1
    +    tform.translateZ = 0.01
    +    SetOperatorOptions(tform)
    +    DrawPlots()
    +    Test(prefix + "_02")
    +    DeleteActivePlots()
    +
    +    AddPlot("Pseudocolor", "zid")
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    Test(prefix + "_03")
    +
    +def domain_test(datapath, prefix, protocol, order):
    +    db1 = pjoin(datapath,"domains_"+protocol+"_order_"+order+".fms")
    +    test_mesh_plus_dofs(prefix, db1, order)
    +    # Cleanup
    +    DeleteAllPlots()
    +    CloseDatabase(db1)
    +    CloseComputeEngine()
    +
    +def quads_test(datapath, prefix, protocol, order):
    +    db1 = pjoin(datapath,"quads_"+protocol+"_order_"+order+".fms")
    +    test_mesh_plus_dofs(prefix, db1, order)
    +
    +    ChangeActivePlotsVar("r1")
    +    DrawPlots()
    +    Test(prefix + "_04")
    +
    +    ChangeActivePlotsVar("r2")
    +    DrawPlots()
    +    Test(prefix + "_05")
    +
    +    ChangeActivePlotsVar("r3")
    +    DrawPlots()
    +    Test(prefix + "_06")
    +
    +    # Cleanup
    +    DeleteAllPlots()
    +    CloseDatabase(db1)
    +    CloseComputeEngine()
    +
    +def hex_test(datapath, prefix, protocol, order):
    +    db1 = pjoin(datapath,"hex_"+protocol+"_order_"+order+".fms")
    +    OpenDatabase(db1)
    +
    +    # Get the metadata
    +    md = GetMetaData(db1)
    +    TestText(prefix+"_00", FilterMetaData(str(md)))
    +
    +    # Show the mesh (curved)
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.lineWidth = 2
    +    SetPlotOptions(m)
    +    if order != "one":
    +        AddOperator("MultiresControl")
    +        mra = MultiresControlAttributes()
    +        mra.resolution = 7
    +        mra.maxResolution = 100
    +        SetOperatorOptions(mra)
    +    DrawPlots()
    +    v0 = GetView3D()
    +    v0.viewNormal = (-0.736972, 0.363225, -0.570035)
    +    v0.focus = (0.499999, 0.500005, 0.499787)
    +    v0.viewUp = (0.289138, 0.931697, 0.219863)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 0.900499
    +    v0.nearPlane = -1.801
    +    v0.farPlane = 1.801
    +    v0.imagePan = (-0.00987149, 0.0367767)
    +    v0.imageZoom = 1.15249
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.499999, 0.500005, 0.499787)
    +    v0.axis3DScaleFlag = 0
    +    v0.axis3DScales = (1, 1, 1)
    +    v0.shear = (0, 0, 1)
    +    v0.windowValid = 1
    +    SetView3D(v0)
    +    Test(prefix + "_01")
    +
    +    AddPlot("Pseudocolor", "zid")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "hot_desaturated"
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    Test(prefix + "_02")
    +
    +    ChangeActivePlotsVar("r1")
    +    Test(prefix + "_03")
    +
    +    ChangeActivePlotsVar("r2")
    +    Test(prefix + "_04")
    +
    +    # Check that order 3 interior dofs look ok.
    +    AddPlot("Contour", "r3")
    +    c = ContourAttributes(1)
    +    c.contourValue = (0.6, 0.8, 0.9, 1, 1.2)
    +    c.contourMethod = c.Value  # Level, Value, Percent
    +    SetPlotOptions(c)
    +    SetActivePlots((0,1)) # Delete mesh,pc plots
    +    DeleteActivePlots()
    +    DrawPlots()
    +    Test(prefix + "_05")
    +
    +    # Cleanup
    +    DeleteAllPlots()
    +    CloseDatabase(db1)
    +    CloseComputeEngine()
    +
    +def test0(datapath):
    +    protocol = "ascii"
    +    TestSection("domains - " + protocol)
    +    domain_test(datapath, "FMS_0_1", protocol, "one")
    +    domain_test(datapath, "FMS_0_2", protocol, "two")
    +    domain_test(datapath, "FMS_0_3", protocol, "three")
    +
    +def test1(datapath):
    +    protocol = "yaml"
    +    TestSection("domains - " + protocol)
    +    domain_test(datapath, "FMS_1_1", protocol, "one")
    +    domain_test(datapath, "FMS_1_2", protocol, "two")
    +    domain_test(datapath, "FMS_1_3", protocol, "three")
    +
    +def test2(datapath):
    +    protocol = "json"
    +    TestSection("domains - " + protocol)
    +    domain_test(datapath, "FMS_2_1", protocol, "one")
    +    domain_test(datapath, "FMS_2_2", protocol, "two")
    +    domain_test(datapath, "FMS_2_3", protocol, "three")
    +
    +def test3(datapath):
    +    protocol = "hdf5"
    +    TestSection("domains - " + protocol)
    +    domain_test(datapath, "FMS_3_1", protocol, "one")
    +    domain_test(datapath, "FMS_3_2", protocol, "two")
    +    domain_test(datapath, "FMS_3_3", protocol, "three")
    +
    +def test4(datapath):
    +    protocol = "ascii"
    +    TestSection("quads - " + protocol)
    +    quads_test(datapath, "FMS_4_1", protocol, "one")
    +    quads_test(datapath, "FMS_4_2", protocol, "two")
    +    quads_test(datapath, "FMS_4_3", protocol, "three")
    +
    +def test5(datapath):
    +    protocol = "yaml"
    +    TestSection("quads - " + protocol)
    +    quads_test(datapath, "FMS_5_1", protocol, "one")
    +    quads_test(datapath, "FMS_5_2", protocol, "two")
    +    quads_test(datapath, "FMS_5_3", protocol, "three")
    +
    +def test6(datapath):
    +    protocol = "ascii"
    +    TestSection("hex - " + protocol)
    +    hex_test(datapath, "FMS_6_1", protocol, "one")
    +    hex_test(datapath, "FMS_6_2", protocol, "two")
    +    hex_test(datapath, "FMS_6_3", protocol, "three")
    +    hex_test(datapath, "FMS_6_4", protocol, "four")
    +    hex_test(datapath, "FMS_6_5", protocol, "five")
    +
    +def test7(datapath):
    +    protocol = "hdf5"
    +    TestSection("hex - " + protocol)
    +    hex_test(datapath, "FMS_7_1", protocol, "one")
    +    hex_test(datapath, "FMS_7_2", protocol, "two")
    +    hex_test(datapath, "FMS_7_3", protocol, "three")
    +    hex_test(datapath, "FMS_7_4", protocol, "four")
    +    hex_test(datapath, "FMS_7_5", protocol, "five")
    +
    +def test8(datapath):
    +    TestSection("hex - time varying")
    +    prefix = "FMS_8_"
    +    db1 = pjoin(datapath,"hex*.fms database")
    +    OpenDatabase(db1)
    +
    +    # Get the metadata
    +    md = GetMetaData(db1)
    +    TestText(prefix+"_00", FilterMetaData(str(md)))
    +
    +    # Show the mesh (curved)
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.lineWidth = 2
    +    SetPlotOptions(m)
    +    AddOperator("MultiresControl")
    +    mra = MultiresControlAttributes()
    +    mra.resolution = 7
    +    mra.maxResolution = 100
    +    SetOperatorOptions(mra)
    +    DrawPlots()
    +    v0 = GetView3D()
    +    v0.viewNormal = (-0.722008, 0.525589, -0.449957)
    +    v0.focus = (0.500085, 0.501459, 0.49554)
    +    v0.viewUp = (0.465249, 0.850161, 0.246515)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 0.989501
    +    v0.nearPlane = -1.979
    +    v0.farPlane = 1.979
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.12555
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.500085, 0.501459, 0.49554)
    +    v0.axis3DScaleFlag = 0
    +    v0.axis3DScales = (1, 1, 1)
    +    v0.shear = (0, 0, 1)
    +    v0.windowValid = 1
    +    SetView3D(v0)
    +
    +    AddPlot("Pseudocolor", "r3")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "hot_desaturated"
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    Test(prefix + "_01")
    +
    +    SetTimeSliderState(9)
    +    Test(prefix + "_02")
    +
    +    # Cleanup
    +    DeleteAllPlots()
    +    CloseDatabase(db1)
    +    CloseComputeEngine()
    +
    +def test9(datapath):
    +    TestSection("Root file")
    +    prefix = "FMS_9_"
    +    db1 = pjoin(datapath,"multidom.fms_root")
    +    OpenDatabase(db1)
    +
    +    # Get the metadata
    +    md = GetMetaData(db1)
    +    TestText(prefix+"_00", FilterMetaData(str(md)))
    +
    +    # Show the mesh (curved)
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.lineWidth = 2
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    AddPlot("Pseudocolor", "coords_magnitude")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "hot_desaturated"
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    ResetView()
    +    Test(prefix + "_01")
    +
    +    DeleteActivePlots()
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test(prefix + "_02")
    +
    +    # Cleanup
    +    DeleteAllPlots()
    +    CloseDatabase(db1)
    +    CloseComputeEngine()
    +
    +def plot_converted_data(prefix, db, var, v0, resolution, meshName, dodof):
    +    OpenDatabase(db)
    +
    +    # Get the metadata
    +    md = GetMetaData(db)
    +    TestText(prefix+"_00", FilterMetaData(str(md)))
    +
    +    AddPlot("Pseudocolor", var)
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "hot_desaturated"
    +    SetPlotOptions(pc)
    +    AddOperator("MultiresControl")
    +    mra = MultiresControlAttributes()
    +    mra.resolution = resolution
    +    mra.maxResolution = 100
    +    SetOperatorOptions(mra)
    +    DrawPlots()
    +
    +    # Try setting the view.
    +    try:
    +        SetView3D(v0)
    +    except:
    +        try:
    +            SetView2D(v0)
    +        except:
    +            ResetView()
    +
    +
    +    Test(prefix + "_01")
    +
    +    # Add a mesh plot of the boundaries and refine them.
    +    if meshName != "":
    +        AddPlot("Mesh", meshName, 1, 1)
    +        m = MeshAttributes(1)
    +        m.lineWidth = 1
    +        SetPlotOptions(m)
    +        DrawPlots()
    +        Test(prefix + "_02")
    +
    +    # Add a mesh plot of the dofs.
    +    if dodof:
    +        AddPlot("Mesh", "dofs", 0, 0)
    +        m2 = MeshAttributes(1)
    +        m2.meshColor = (255, 0, 0, 255)
    +        m2.meshColorSource = m2.MeshCustom  # Foreground, MeshCustom, MeshRandom
    +        m2.pointSize = 0.075
    +        m2.opaqueColor = (255, 255, 255, 255)
    +        m2.pointType = m2.SphereGeometry  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
    +        m2.pointSizePixels = 10
    +        m2.opacity = 1
    +        SetPlotOptions(m2)
    +        DrawPlots()
    +        Test(prefix + "_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +    CloseComputeEngine()
    +
    +def escher_view():
    +    v0 = GetView3D()
    +    v0.viewNormal = (0.301943, 0.349059, 0.887124)
    +    v0.focus = (0.015155, 0.00931501, 0.00220501)
    +    v0.viewUp = (-0.108572, 0.937093, -0.331767)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 2.69081
    +    v0.nearPlane = -5.38163
    +    v0.farPlane = 5.38163
    +    v0.imagePan = (-0.011426, -0.0216873)
    +    v0.imageZoom = 1.62652
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.015155, 0.00931501, 0.00220501)
    +    v0.axis3DScaleFlag = 0
    +    v0.axis3DScales = (1, 1, 1)
    +    v0.shear = (0, 0, 1)
    +    v0.windowValid = 1
    +    return v0
    +
    +def test10(datapath):
    +    TestSection("Converted MFEM data: escher-p3-0ref")
    +    db = pjoin(datapath,"converted-data/escher-p3-0ref/Example5_000000.fms")
    +
    +    v0 = escher_view()
    +    plot_converted_data("FMS_10", db, "pressure", v0, 5, "boundary", True)
    +
    +def test11(datapath):
    +    TestSection("Converted MFEM data: escher-p3")
    +    db = pjoin(datapath,"converted-data/escher-p3/Example5_000000.fms")
    +
    +    v0 = escher_view()
    +    plot_converted_data("FMS_11", db, "pressure", v0, 4, "boundary", False)
    +
    +def test12(datapath):
    +    TestSection("Converted MFEM data: Example15")
    +    db = pjoin(datapath,"converted-data/Example15/Example15_000000.fms")
    +
    +    v0 = GetView2D()
    +    v0.windowCoords = (-1.74594, 1.76718, -1.7, 1.55366)
    +    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    v0.windowValid = 1
    +
    +    plot_converted_data("FMS_12", db, "solution", v0, 8, "boundary", True)
    +
    +def test13(datapath):
    +    TestSection("Converted MFEM data: Example9")
    +    db = pjoin(datapath,"converted-data/Example9/Example9_000000.fms")
    +
    +    v0 = GetView2D()
    +    v0.windowCoords = (-1, 1, -0.966025, 0.866025)
    +    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    v0.windowValid = 1
    +
    +    plot_converted_data("FMS_13", db, "solution", v0, 8, "", False)
    +
    +def fichera_view():
    +    v0 = GetView3D()
    +    v0.viewNormal = (0.76587, 0.438546, -0.470235)
    +    v0.focus = (0.00682861, 0.00298607, -0.00561833)
    +    v0.viewUp = (-0.368491, 0.898664, 0.237945)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 1.82615
    +    v0.nearPlane = -3.6523
    +    v0.farPlane = 3.6523
    +    v0.imagePan = (0.00522255, 0.0292194)
    +    v0.imageZoom = 1.09494
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.00682861, 0.00298607, -0.00561833)
    +    v0.axis3DScaleFlag = 0
    +    v0.axis3DScales = (1, 1, 1)
    +    v0.shear = (0, 0, 1)
    +    v0.windowValid = 1
    +    return v0
    +
    +def test14(datapath):
    +    TestSection("Converted MFEM data: fichera-q2-0ref")
    +    db = pjoin(datapath,"converted-data/fichera-q2-0ref/Example5_000000.fms")
    +
    +    v0 = fichera_view()
    +    plot_converted_data("FMS_14", db, "pressure", v0, 8, "boundary", True)
    +
    +def test15(datapath):
    +    TestSection("Converted MFEM data: fichera-q2")
    +    db = pjoin(datapath,"converted-data/fichera-q2/Example5_000000.fms")
    +
    +    v0 = fichera_view()
    +    plot_converted_data("FMS_15", db, "pressure", v0, 4, "boundary", False)
    +
    +def test16(datapath):
    +    TestSection("Converted MFEM data: star-q3-0ref")
    +    db = pjoin(datapath,"converted-data/star-q3-0ref/Example5_000000.fms")
    +
    +    v0 = GetView2D()
    +    v0.windowCoords = (-1.8181, 1.8181, -1.7, 1.58418)
    +    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    v0.windowValid = 1
    +
    +    plot_converted_data("FMS_16", db, "pressure", v0, 8, "mesh", True)
    +
    +def test17(datapath):
    +    TestSection("Converted MFEM data: star-q3")
    +    db = pjoin(datapath,"converted-data/star-q3/Example5_000000.fms")
    +
    +    v0 = GetView2D()
    +    v0.windowCoords = (-1.8181, 1.8181, -1.7, 1.58418)
    +    v0.viewportCoords = (0.01, 0.99, 0.01, 0.99)
    +    v0.fullFrameActivationMode = v0.Auto  # On, Off, Auto
    +    v0.fullFrameAutoThreshold = 100
    +    v0.xScale = v0.LINEAR  # LINEAR, LOG
    +    v0.yScale = v0.LINEAR  # LINEAR, LOG
    +    v0.windowValid = 1
    +
    +    plot_converted_data("FMS_17", db, "pressure", v0, 4, "boundary", False)
    +
    +def toroid_view():
    +    v0 = GetView3D()
    +    v0.viewNormal = (0, 0, 1)
    +    v0.focus = (-0.0503261, 0, 0)
    +    v0.viewUp = (0, 1, 0)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 1.96586
    +    v0.nearPlane = -3.93172
    +    v0.farPlane = 3.93172
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.29234
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (-0.0503261, 0, 0)
    +    v0.axis3DScaleFlag = 0
    +    v0.axis3DScales = (1, 1, 1)
    +    v0.shear = (0, 0, 1)
    +    v0.windowValid = 1
    +    return v0
    +
    +def test18(datapath):
    +    TestSection("Converted MFEM data: toroid-hex-0ref")
    +    db = pjoin(datapath,"converted-data/toroid-hex-0ref/Example5_000000.fms")
    +
    +    v0 = toroid_view()
    +    plot_converted_data("FMS_18", db, "pressure", v0, 8, "mesh", True)
    +
    +def test19(datapath):
    +    TestSection("Converted MFEM data: toroid-hex")
    +    db = pjoin(datapath,"converted-data/toroid-hex/Example5_000000.fms")
    +
    +    v0 = toroid_view()
    +    plot_converted_data("FMS_19", db, "pressure", v0, 4, "boundary", False)
    +
    +def main():
    +    RequiredDatabasePlugin("FMS")
    +
    +    datapath = data_path("FMS_test_data")
    +    DefineScalarExpression("zid", "zoneid(mesh)")
    +
    +    # domains
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    # quads
    +    test4(datapath)
    +    test5(datapath)
    +    # hex
    +    test6(datapath)
    +    test7(datapath)
    +    # time varying data
    +    test8(datapath)
    +    # root
    +    test9(datapath)
    +    # Datasets that were converted from MFEM to FMS
    +    test10(datapath)
    +    test11(datapath)
    +    test12(datapath)
    +    test13(datapath)
    +    test14(datapath)
    +    test15(datapath)
    +    test16(datapath)
    +    test17(datapath)
    +    test18(datapath)
    +    test19(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Fluent.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Fluent.html new file mode 100644 index 000000000..3331e8fca --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Fluent.html @@ -0,0 +1,60 @@ + +Results for databases/Fluent.py + +

    Results of VisIt Regression Test - databases/Fluent

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Fluent_010.000.00
    Fluent_020.000.00
    Fluent_030.000.00
    Fluent_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Fluent_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Fluent_py.html new file mode 100644 index 000000000..31429d620 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Fluent_py.html @@ -0,0 +1,43 @@ +databases/Fluent.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Fluent.py
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 8, 2006
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(data_path("Fluent_test_data/Gas2OxyEntSlurry3d30m_MSmods_Ar_Wen_Moist_CO2_WGS_HCl_COdevol.cas"))
    +
    +AddPlot("Pseudocolor", "TEMPERATURE")
    +DrawPlots()
    +Test("Fluent_01")
    +
    +AddPlot("Mesh", "Mesh")
    +DrawPlots()
    +Test("Fluent_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Vector", "DPMS_MOM")
    +v = VectorAttributes()
    +v.nVectors = 400*5
    +SetPlotOptions(v)
    +DrawPlots()
    +Test("Fluent_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Subset", "blocks")
    +DrawPlots()
    +Test("Fluent_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_GDAL.html b/2023-11-08-22:00/pascal_trunk_serial/databases_GDAL.html new file mode 100644 index 000000000..cedabf2c1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_GDAL.html @@ -0,0 +1,36 @@ + +Results for databases/GDAL.py + +

    Results of VisIt Regression Test - databases/GDAL

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 124

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_GDAL_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_GDAL_py.html new file mode 100644 index 000000000..6b4e846d7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_GDAL_py.html @@ -0,0 +1,107 @@ +databases/GDAL.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  GDAL.py
    +#
    +#  Tests:      mesh      - 2D structured, 3D unstructured
    +#              plots     - Contour, Pseudocolor
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Sep 8 16:35:17 PST 2005
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("GDAL")
    +
    +def test0_and_1(db, prefix):
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "lower_res/resolution_0067x0086/height")
    +    AddPlot("Contour", "lower_res/resolution_0067x0086/height")
    +    c = ContourAttributes()
    +    c.colorType = c.ColorBySingleColor
    +    c.singleColor = (0,0,0,255)
    +    c.legendFlag = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    ResetView()
    +    v = View2DAttributes()
    +    v.windowCoords = (478545, 489295, 4.38614e+06, 4.40004e+06)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    Test(prefix + "00")
    +
    +    # Increase the resolution a couple times.
    +    SetActivePlots((0,1))
    +    ChangeActivePlotsVar("lower_res/resolution_0268x0347/height")
    +    Test(prefix + "01")
    +    ChangeActivePlotsVar("height")
    +    Test(prefix + "02")
    +
    +    # Switch to the elevated mesh
    +    ChangeActivePlotsVar("elevated/lower_res/resolution_0067x0086/height")
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (0.514425, -0.612921, 0.599745)
    +    v0.focus = (483920, 4.39318e+06, 2025.5)
    +    v0.viewUp = (-0.383293, 0.461288, 0.800187)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 8729.59
    +    v0.nearPlane = -17459.2
    +    v0.farPlane = 17459.2
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.16907
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (483920, 4.39318e+06, 2025.5)
    +    SetView3D(v0)
    +    Test(prefix + "03")
    +
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (0.514425, -0.612921, 0.599745)
    +    v1.focus = (483920, 4.39312e+06, 2031)
    +    v1.viewUp = (-0.383293, 0.461288, 0.800187)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 8777.87
    +    v1.nearPlane = -17555.7
    +    v1.farPlane = 17555.7
    +    v1.imagePan = (0.106418, 0.0224564)
    +    v1.imageZoom = 2.73653
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (483920, 4.39312e+06, 2031)
    +    SetView3D(v1)
    +    Test(prefix + "04")
    +
    +    SetActivePlots(1)
    +    DeleteActivePlots()
    +    ChangeActivePlotsVar("elevated/lower_res/resolution_0268x0347/height")
    +    Test(prefix + "05")
    +    ChangeActivePlotsVar("elevated/mesh/height")
    +    Test(prefix + "06")
    +    DeleteAllPlots()
    +
    +def test0(datapath):
    +    TestSection("ArcInfo files")
    +    test0_and_1(pjoin(datapath,"ADF/w001001.adf"), "GDAL_0_")
    +
    +def test1(datapath):
    +    TestSection("DEM files")
    +    test0_and_1(pjoin(datapath,"DEM/Morrison.dem"), "GDAL_1_")
    +
    +def main():
    +    # Draw antialiased lines
    +    r = GetRenderingAttributes()
    +    r.antialiasing = 1
    +    SetRenderingAttributes(r)
    +
    +    datapath = data_path("GDAL_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_NASTRAN.html b/2023-11-08-22:00/pascal_trunk_serial/databases_NASTRAN.html new file mode 100644 index 000000000..e5579cdb4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_NASTRAN.html @@ -0,0 +1,204 @@ + +Results for databases/NASTRAN.py + +

    Results of VisIt Regression Test - databases/NASTRAN

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pipe.nas
    nastran1_00.000.00
    nastran1_10.000.00
    nastran1_20.000.00
    waterjacket.nas
    nastran2_00.000.00
    nastran2_10.000.00
    nastran2_20.000.00
    intake.nas
    nastran3_00.000.00
    nastran3_10.000.00
    nastran3_20.000.00
    porsche.nas
    nastran4_00.000.00
    nastran4_10.000.00
    nastran4_20.000.00
    Rohr_01.nas
    nastran5_00.000.00
    nastran5_10.000.00
    BMSP4E.nas
    nastran6_00.000.00
    HAM6D.nas
    nastran7_00.000.00
    nastran7_10.000.00
    simpleCQUAD8.nas
    nastran8_00.000.00
    simpleQuadSphere.nas
    nastran9_00.000.00
    simpleQuadSphereBlock.nas
    nastran10_00.000.00
    simpleQuadTet.nas
    nastran11_00.000.00
    simpleQuadWedge.nas
    nastran12_00.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_NASTRAN_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_NASTRAN_py.html new file mode 100644 index 000000000..016fd846e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_NASTRAN_py.html @@ -0,0 +1,511 @@ +databases/NASTRAN.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  NASTRAN.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Mesh
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jul 7 17:46:51 PST 2005
    +#
    +#  Modifications:
    +#    Edward Rusu, Tue Aug 21 10:06:24 PST 2018
    +#    Added tests for quadratic elements.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' and 'backgroundFlag' with
    +#    meshColorSource and opaqueColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def AddMeshPlot():
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.legendFlag = 0
    +    m.opaqueColor = (153, 204, 255, 255)
    +    m.opaqueColorSource = m.OpaqueCustom
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (0,0,0,255)
    +    SetPlotOptions(m)
    +
    +def AddPseudocolorPlot():
    +    AddPlot("Pseudocolor", "one")
    +    p = PseudocolorAttributes()
    +    p.colorTableName = "rainbow"
    +    p.SetOpacityType(p.Constant)
    +    p.opacity = 0.2
    +    SetPlotOptions(p)
    +    DrawPlots()
    +
    +def test1(datapath):
    +    db = "pipe.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v.focus = (0.149902, 0.212562, 0.124929)
    +    v.viewUp = (0.316186, 0.925114, -0.210215)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.585963
    +    v.nearPlane = -1.17193
    +    v.farPlane = 1.17193
    +    v.imagePan = (0.0173275, 0.033058)
    +    v.imageZoom = 1.45734
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v)
    +    Test("nastran1_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v2.focus = (0.149902, 0.212562, 0.124929)
    +    v2.viewUp = (0.316186, 0.925114, -0.210215)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.585963
    +    v2.nearPlane = -1.17193
    +    v2.farPlane = 1.17193
    +    v2.imagePan = (-0.108127, 0.0971661)
    +    v2.imageZoom = 6.92887
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v2)
    +    Test("nastran1_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("nastran1_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test2(datapath):
    +    db = "waterjacket.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v.focus = (0.03, -0.03, -0.1125)
    +    v.viewUp = (0.225064, 0.264053, 0.937882)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.289925
    +    v.nearPlane = -0.579849
    +    v.farPlane = 0.579849
    +    v.imagePan = (0.0984407, 0.0467479)
    +    v.imageZoom = 1.40003
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v)
    +    Test("nastran2_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v2.focus = (0.03, -0.03, -0.1125)
    +    v2.viewUp = (0.225064, 0.264053, 0.937882)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.289925
    +    v2.nearPlane = -0.579849
    +    v2.farPlane = 0.579849
    +    v2.imagePan = (0.100347, 0.0410472)
    +    v2.imageZoom = 7.7658
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v2)
    +    Test("nastran2_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("nastran2_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test3(datapath):
    +    db = "intake.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v.focus = (0, 0.011, -0.0935)
    +    v.viewUp = (0.208418, 0.950364, 0.231021)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.198752
    +    v.nearPlane = -0.397503
    +    v.farPlane = 0.397503
    +    v.imagePan = (0.0151275, 0.00167627)
    +    v.imageZoom = 1.43299
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v)
    +    Test("nastran3_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v2.focus = (0, 0.011, -0.0935)
    +    v2.viewUp = (0.208418, 0.950364, 0.231021)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.198752
    +    v2.nearPlane = -0.397503
    +    v2.farPlane = 0.397503
    +    v2.imagePan = (-0.101283, 0.0396808)
    +    v2.imageZoom = 6.28038
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v2)
    +    Test("nastran3_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("nastran3_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test4(datapath):
    +    db = "porsche.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0.518428, 0.424019, 0.74259)
    +    v.focus = (0, 7.9285, 0)
    +    v.viewUp = (-0.299854, 0.903405, -0.306506)
    +    v.viewAngle = 30
    +    v.parallelScale = 24.7409
    +    v.nearPlane = -5
    +    v.farPlane = 49.4817
    +    v.imagePan = (0.00934164, 0.144131)
    +    v.imageZoom = 4.02409
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 7.9285, 0)
    +    SetView3D(v)
    +    Test("nastran4_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (0.518428, 0.424019, 0.74259)
    +    v2.focus = (0, 7.9285, 0)
    +    v2.viewUp = (-0.299854, 0.903405, -0.306506)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 24.7409
    +    v2.nearPlane = -5
    +    v2.farPlane = 49.4817
    +    v2.imagePan = (0.0898178, 0.146581)
    +    v2.imageZoom = 19.659
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 7.9285, 0)
    +    SetView3D(v2)
    +    Test("nastran4_1")
    +
    +    v3 = View3DAttributes()
    +    v3.viewNormal = (0.945904, 0.10945, -0.305429)
    +    v3.focus = (0, 7.9285, 0)
    +    v3.viewUp = (-0.0962433, 0.993666, 0.0580174)
    +    v3.viewAngle = 30
    +    v3.parallelScale = 24.7409
    +    v3.nearPlane = -8
    +    v3.farPlane = 49.4817
    +    v3.imagePan = (-0.000386251, 0.195232)
    +    v3.imageZoom = 17.0743
    +    v3.perspective = 1
    +    v3.eyeAngle = 2
    +    v3.centerOfRotationSet = 0
    +    v3.centerOfRotation = (0, 7.9285, 0)
    +    SetView3D(v3)
    +    Test("nastran4_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test5(datapath):
    +    db = "Rohr_01.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0.528785, -0.54024, -0.654619)
    +    v.focus = (4308, -300.408, 1264.41)
    +    v.viewUp = (0.848128, 0.365992, 0.383052)
    +    v.viewAngle = 30
    +    v.parallelScale = 80.5714
    +    v.nearPlane = -161.143
    +    v.farPlane = 161.143
    +    v.imagePan = (0.00712918, 0.0383046)
    +    v.imageZoom = 1.48788
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (4308, -300.408, 1264.41)
    +    SetView3D(v)
    +    Test("nastran5_0")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    Test("nastran5_1")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test6(datapath):
    +    db = "BMSP4E.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0.489205, 0.349064, 0.79927)
    +    v.focus = (0, 45.5, 0)
    +    v.viewUp = (-0.206708, 0.93671, -0.282569)
    +    v.viewAngle = 30
    +    v.parallelScale = 87.3806
    +    v.nearPlane = -174.761
    +    v.farPlane = 174.761
    +    v.imagePan = (-0.0102947, 0.0427356)
    +    v.imageZoom = 1.29632
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 45.5, 0)
    +    SetView3D(v)
    +    Test("nastran6_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test7(datapath):
    +    db = "HAM6D.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0.470653, -0.53132, 0.704403)
    +    v.focus = (23.6, -6.3125, 0)
    +    v.viewUp = (0.882043, 0.303259, -0.360602)
    +    v.viewAngle = 30
    +    v.parallelScale = 74.2944
    +    v.nearPlane = -148.589
    +    v.farPlane = 148.589
    +    v.imagePan = (0.0131053, 0.00691564)
    +    v.imageZoom = 1.18535
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (23.6, -6.3125, 0)
    +    SetView3D(v)
    +    Test("nastran7_0")
    +
    +    v.viewNormal = (0.347772, 0.646944, -0.678615)
    +    v.focus = (23.6, -6.3125, 0)
    +    v.viewUp = (0.937573, -0.242724, 0.249084)
    +    v.viewAngle = 30
    +    v.parallelScale = 74.2944
    +    v.nearPlane = -148.589
    +    v.farPlane = 148.589
    +    v.imagePan = (-0.0229218, 0.0211742)
    +    v.imageZoom = 1.18535
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (23.6, -6.3125, 0)
    +    SetView3D(v)
    +    Test("nastran7_1")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test8(datapath):
    +    db = "simpleCQUAD8.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +    Test("nastran8_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test9(datapath):
    +    db = "simpleQuadSphere.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0, 0, 1)
    +    View3DAtts.focus = (2.88777, -1.45671, -0.629586)
    +    View3DAtts.viewUp = (0, 1, 0)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 6.98115
    +    View3DAtts.nearPlane = -13.9623
    +    View3DAtts.farPlane = 13.9623
    +    View3DAtts.imagePan = (0.204513, -0.111237)
    +    View3DAtts.imageZoom = 5.50207
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (2.88777, -1.45671, -0.629586)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +    Test("nastran9_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test10(datapath):
    +    db = "simpleQuadSphereBlock.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0, 0, 1)
    +    View3DAtts.focus = (0, -1.38778, -3.66334)
    +    View3DAtts.viewUp = (0, 1, 0)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 12.6655
    +    View3DAtts.nearPlane = -25.3309
    +    View3DAtts.farPlane = 25.3309
    +    View3DAtts.imagePan = (-0.00429799, -0.061086)
    +    View3DAtts.imageZoom = 9.89552
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, -1.38778, -3.66334)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +    Test("nastran10_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test11(datapath):
    +    db = "simpleQuadTet.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.585895, 0.392177, 0.709172)
    +    View3DAtts.focus = (0.5, 0.5, 0.5)
    +    View3DAtts.viewUp = (-0.133518, 0.909858, -0.39285)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 0.866025
    +    View3DAtts.nearPlane = -1.73205
    +    View3DAtts.farPlane = 1.73205
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0.5, 0.5, 0.5)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +    Test("nastran11_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test12(datapath):
    +    db = "simpleQuadWedge.nas"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (-0.468638, 0.237166, 0.850959)
    +    View3DAtts.focus = (0.5, 0.5, 0.5)
    +    View3DAtts.viewUp = (0.128356, 0.971346, -0.20003)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 0.866025
    +    View3DAtts.nearPlane = -1.73205
    +    View3DAtts.farPlane = 1.73205
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0.5, 0.5, 0.5)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +    Test("nastran12_0")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def main():
    +    # Set the window background color
    +    a = GetAnnotationAttributes()
    +    a.backgroundMode = a.Solid
    +    a.backgroundColor = (180, 180, 180, 255)
    +    a.foregroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(a)
    +
    +    DefineScalarExpression("one", "(zoneid(mesh) + 1) / (zoneid(mesh) + 1)")
    +
    +    datapath = data_path("NASTRAN_test_data")
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    test4(datapath)
    +    test5(datapath)
    +    test6(datapath)
    +    test7(datapath)
    +    test8(datapath)
    +    test9(datapath)
    +    test10(datapath)
    +    test11(datapath)
    +    test12(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_OpenFOAM.html b/2023-11-08-22:00/pascal_trunk_serial/databases_OpenFOAM.html new file mode 100644 index 000000000..e94f6cfb4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_OpenFOAM.html @@ -0,0 +1,210 @@ + +Results for databases/OpenFOAM.py + +

    Results of VisIt Regression Test - databases/OpenFOAM

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    OpenFOAM_010.000.00
    OpenFOAM_020.000.00
    OpenFOAM_030.000.00
    OpenFOAM_040.000.00
    OpenFOAM_050.000.00
    OpenFOAM_060.000.00
    OpenFOAM_070.000.00
    OpenFOAM_080.000.00
    OpenFOAM_090.000.00
    OpenFOAM_100.000.00
    OpenFOAM_lagrangian_010.000.00
    OpenFOAM_lagrangian_020.000.00
    OpenFOAM_lagrangian_030.000.00
    OpenFOAM_lagrangian_040.000.00
    OpenFOAM_lagrangian_050.000.00
    OpenFOAM_lagrangian_060.000.00
    OpenFOAM_lagrangian_070.000.00
    OpenFOAM_MultiRegion_010.000.00
    OpenFOAM_MultiRegion_020.000.00
    OpenFOAM_MultiRegion_030.000.00
    OpenFOAM_MultiRegion_040.000.00
    OpenFOAM_MultiRegion_050.000.00
    OpenFOAM_MultiRegion_060.000.00
    OpenFOAM_Decomposed_010.000.00
    OpenFOAM_Decomposed_020.000.00
    OpenFOAM_Decomposed_030.000.00
    OpenFOAM_ReadZones_010.000.00
    OpenFOAM_ReadZones_020.000.00
    OpenFOAM_ReadZones_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_OpenFOAM_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_OpenFOAM_py.html new file mode 100644 index 000000000..90d5536d9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_OpenFOAM_py.html @@ -0,0 +1,250 @@ +databases/OpenFOAM.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  OpenFOAM.py
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 8, 2006
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Kathleen Biagas, Tue Aug 20 14:06:46 PDT 2013
    +#    Reader has been updated, default mesh is now 'internalMesh', and
    +#    variables need mesh name.
    +#
    +#    Kathleen Biagas, Wed Aug 28 12:04:03 PDT 2013
    +#    Added tests for new data, different Open Options.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def OrigTests():
    +    OpenDatabase(data_path("OpenFOAM_test_data/bubbleColumn/system/controlDict"))
    +
    +    AddPlot("Vector", "internalMesh/Ua")
    +    v = VectorAttributes()
    +    v.nVectors = 400*5
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    Test("OpenFOAM_01")
    +
    +    TimeSliderNextState()
    +    Test("OpenFOAM_02")
    +    TimeSliderNextState()
    +    Test("OpenFOAM_03")
    +
    +    AddPlot("Mesh", "internalMesh")
    +    DrawPlots()
    +    Test("OpenFOAM_04")
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "internalMesh/epsilon")
    +    DrawPlots()
    +    Test("OpenFOAM_05")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("OpenFOAM_test_data/mixer2D_ascii/system/controlDict"))
    +
    +    AddPlot("Vector", "internalMesh/U")
    +    v = VectorAttributes()
    +    v.nVectors = 400*6
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    Test("OpenFOAM_06")
    +
    +    TimeSliderNextState()
    +    Test("OpenFOAM_07")
    +    TimeSliderNextState()
    +    Test("OpenFOAM_08")
    +
    +    AddPlot("Mesh", "internalMesh")
    +    DrawPlots()
    +    Test("OpenFOAM_09")
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "internalMesh/p")
    +    DrawPlots()
    +    Test("OpenFOAM_10")
    +
    +    DeleteAllPlots()
    +
    +def TestLagrangian():
    +    OpenDatabase(data_path("OpenFOAM_test_data/simplifiedSiwek/system/controlDict"))
    +    # Point clouds don't exist at timestate 0, so advance by 1.
    +    TimeSliderNextState()
    +
    +    AddPlot("Subset", "internalMesh")
    +    subset = SubsetAttributes()
    +    subset.wireframe = 1
    +    subset.colorType = subset.ColorBySingleColor
    +    SetPlotOptions(subset)
    +    AddPlot("Mesh", "lagrangian/coalCloud1")
    +    coalMesh = MeshAttributes()
    +    coalMesh.meshColorSource = coalMesh.MeshCustom
    +    coalMesh.meshColor = (255, 0, 0, 255)
    +    coalMesh.pointType = coalMesh.Sphere
    +    coalMesh.pointSizePixels = 15
    +    SetPlotOptions(coalMesh)
    +    AddPlot("Mesh", "lagrangian/limestoneCloud1")
    +    limestoneMesh = MeshAttributes()
    +    limestoneMesh.meshColorSource = limestoneMesh.MeshCustom
    +    limestoneMesh.meshColor = (0, 255, 0, 255)
    +    limestoneMesh.pointType = limestoneMesh.Sphere
    +    limestoneMesh.pointSizePixels = 15
    +    SetPlotOptions(limestoneMesh)
    +
    +    coalCloudText = CreateAnnotationObject("Text2D")
    +    coalCloudText.text = "coalCloud1"
    +    coalCloudText.height = 0.04
    +    coalCloudText.position = (0.4, 0.85)
    +    coalCloudText.useForegroundForTextColor = 0
    +    coalCloudText.textColor = (255, 0, 0, 255)
    +
    +    limestoneCloudText = CreateAnnotationObject("Text2D")
    +    limestoneCloudText.text = "limestoneCloud1"
    +    limestoneCloudText.height = 0.04
    +    limestoneCloudText.position = (0.4, 0.75)
    +    limestoneCloudText.useForegroundForTextColor = 0
    +    limestoneCloudText.textColor = (0, 255, 0, 255)
    +
    +    slider = CreateAnnotationObject("TimeSlider")
    +    slider.position = (0.4, 0.6)
    +    slider.width = (0.5)
    +    slider.height = (0.1)
    +
    +    DrawPlots()
    +    Test("OpenFOAM_lagrangian_01")
    +
    +    TimeSliderSetState(4)
    +    Test("OpenFOAM_lagrangian_02")
    +    TimeSliderSetState(7)
    +    Test("OpenFOAM_lagrangian_03")
    +    SetActivePlots((1, 2))
    +    DeleteActivePlots()
    +    TimeSliderSetState(10)
    +    AddPlot("Pseudocolor", "lagrangian/coalCloud1/tTurb")
    +    pc = PseudocolorAttributes()
    +    pc.pointType = pc.Sphere
    +    pc.pointSizePixels = 15
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    coalCloudText.textColor = (0, 0, 0, 255)
    +    coalCloudText.text = "coalcloud1/tTurb"
    +    limestoneCloudText.visible = 0
    +    Test("OpenFOAM_lagrangian_04")
    +    TimeSliderSetState(13)
    +    Test("OpenFOAM_lagrangian_05")
    +    ChangeActivePlotsVar("lagrangian/limestoneCloud1/tTurb")
    +    coalCloudText.visible = 0
    +    limestoneCloudText.visible = 1
    +    limestoneCloudText.textColor = (0, 0, 0, 255)
    +    limestoneCloudText.text = "limestoneCloud1/tTurb"
    +    Test("OpenFOAM_lagrangian_06")
    +    TimeSliderSetState(16)
    +    Test("OpenFOAM_lagrangian_07")
    +
    +    coalCloudText.Delete()
    +    limestoneCloudText.Delete()
    +    slider.Delete()
    +
    +    DeleteAllPlots()
    +
    +def TurnOffSetsByName(silr, cat, names):
    +    sets = silr.SetsInCategory(cat)
    +    for s in sets:
    +        setname = silr.SetName(s)
    +        try:
    +            if setname in names:
    +                silr.TurnOffSet(s)
    +        except:
    +            if setname == names:
    +                silr.TurnOffSet(s)
    +
    +def TestMultiRegion():
    +    OpenDatabase(data_path("OpenFOAM_test_data/snappyMultiRegionHeater/system/controlDict"))
    +    AddPlot("Subset", "Region")
    +    DrawPlots()
    +    Test("OpenFOAM_MultiRegion_01")
    +
    +    silr = SILRestriction()
    +    TurnOffSetsByName(silr, "Region", ("bottomAir, topAir"))
    +    SetPlotSILRestriction(silr)
    +    Test("OpenFOAM_MultiRegion_02")
    +
    +    ChangeActivePlotsVar("boundary(Patches)")
    +    silr = SILRestriction()
    +    silr.TurnOnAll()
    +    v = GetView3D()
    +    v.viewNormal = (-0.566091, -0.118534, 0.815776)
    +    v.viewUp = (0.0223539, 0.987037, 0.15893)
    +    SetView3D(v)
    +
    +    Test("OpenFOAM_MultiRegion_03")
    +    TurnDomainsOff(("maxY", "maxZ"))
    +    Test("OpenFOAM_MultiRegion_04")
    +
    +    silr.TurnOnAll()
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "heater/internalMesh/T")
    +    v = GetView3D()
    +    v.viewNormal = (-1, 0, 0)
    +    SetView3D(v)
    +    DrawPlots()
    +    Test("OpenFOAM_MultiRegion_05")
    +    TimeSliderNextState()
    +    Test("OpenFOAM_MultiRegion_06")
    +    DeleteAllPlots()
    +
    +def TestDecomposed():
    +    opts = GetDefaultFileOpenOptions("OpenFOAM")
    +    opts['Case Type'] = 0 #Decomposed
    +    opts['Convert Cell Data To Point Data'] = 1
    +    SetDefaultFileOpenOptions("OpenFOAM", opts)
    +    OpenDatabase(data_path("OpenFOAM_test_data/damBreakFineDecomposed/system/controlDict"))
    +    AddPlot("Pseudocolor", "internalMesh/U_magnitude")
    +    ResetView()
    +    TimeSliderSetState(2)
    +    DrawPlots()
    +    Test("OpenFOAM_Decomposed_01")
    +    TimeSliderSetState(6)
    +    Test("OpenFOAM_Decomposed_02")
    +    TimeSliderSetState(8)
    +    Test("OpenFOAM_Decomposed_03")
    +    DeleteAllPlots()
    +
    +def TestReadZones():
    +    opts = GetDefaultFileOpenOptions("OpenFOAM")
    +    opts['Case Type'] = 1 #Reconstructed
    +    opts['Convert Cell Data To Point Data'] = 0
    +    opts['Read Zones'] = 1
    +    SetDefaultFileOpenOptions("OpenFOAM", opts)
    +    # need a ReOpen because we changed the Open options, and the file
    +    # wasn't closed from previous test.
    +    ReOpenDatabase(data_path("OpenFOAM_test_data/snappyMultiRegionHeater/system/controlDict"))
    +    AddPlot("Mesh", "faceZones")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.407812, -0.112136, 0.906154)
    +    v.viewUp = (0.00527397, 0.992124, 0.125148)
    +    SetView3D(v)
    +    Test("OpenFOAM_ReadZones_01")
    +    ChangeActivePlotsVar("cellZones")
    +    Test("OpenFOAM_ReadZones_02")
    +    TurnDomainsOff(("topAir", "bottomAir"))
    +    Test("OpenFOAM_ReadZones_03")
    +    DeleteAllPlots()
    +
    +OrigTests()
    +TestLagrangian()
    +TestMultiRegion()
    +TestDecomposed()
    +TestReadZones()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_PATRAN.html b/2023-11-08-22:00/pascal_trunk_serial/databases_PATRAN.html new file mode 100644 index 000000000..e9d2d2e1e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_PATRAN.html @@ -0,0 +1,120 @@ + +Results for databases/PATRAN.py + +

    Results of VisIt Regression Test - databases/PATRAN

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pipe.neu
    PATRAN1_00.000.00
    PATRAN1_10.000.00
    PATRAN1_20.000.00
    waterjacket.neu
    PATRAN2_00.000.00
    PATRAN2_10.000.00
    PATRAN2_20.000.00
    intake.neu
    PATRAN3_00.000.00
    PATRAN3_10.000.00
    PATRAN3_20.000.00
    patout.neu
    PATRAN4_00.000.00
    PATRAN4_10.000.00
    PATRAN4_20.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_PATRAN_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_PATRAN_py.html new file mode 100644 index 000000000..19df104fb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_PATRAN_py.html @@ -0,0 +1,242 @@ +databases/PATRAN.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  PATRAN.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Mesh
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Jul 29 17:30:33 PST 2005
    +#
    +#  Notes:      The data for these tests are supposed to be PATRAN versions of
    +#              some of the data in the NASTRAN tests.
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' and 'backgroundFlag' with
    +#    meshColorSource and opaqueColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def AddMeshPlot():
    +    AddPlot("Mesh", "mesh")
    +    m = MeshAttributes()
    +    m.legendFlag = 0
    +    m.opaqueColor = (153, 204, 255, 255)
    +    m.opaqueColorSource = m.OpaqueCustom
    +    m.meshColorSource =  m.MeshCustom
    +    m.meshColor = (0,0,0,255)
    +    TurnMaterialsOff("default")
    +    SetPlotOptions(m)
    +
    +def AddPseudocolorPlot():
    +    AddPlot("Pseudocolor", "one")
    +    p = PseudocolorAttributes()
    +    p.colorTableName = "rainbow"
    +    p.SetOpacityType(p.Constant)
    +    p.opacity = 0.2
    +    SetPlotOptions(p)
    +    TurnMaterialsOff("default")
    +    DrawPlots()
    +
    +def test1(datapath):
    +    db = "pipe.neu"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v.focus = (0.149902, 0.212562, 0.124929)
    +    v.viewUp = (0.316186, 0.925114, -0.210215)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.585963
    +    v.nearPlane = -1.17193
    +    v.farPlane = 1.17193
    +    v.imagePan = (0.0173275, 0.033058)
    +    v.imageZoom = 1.45734
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v)
    +    Test("PATRAN1_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.786306, 0.379526, 0.487527)
    +    v2.focus = (0.149902, 0.212562, 0.124929)
    +    v2.viewUp = (0.316186, 0.925114, -0.210215)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.585963
    +    v2.nearPlane = -1.17193
    +    v2.farPlane = 1.17193
    +    v2.imagePan = (-0.108127, 0.0971661)
    +    v2.imageZoom = 6.92887
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.149902, 0.212562, 0.124929)
    +    SetView3D(v2)
    +    Test("PATRAN1_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("PATRAN1_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test2(datapath):
    +    db = "waterjacket.neu"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v.focus = (0.03, -0.03, -0.1125)
    +    v.viewUp = (0.225064, 0.264053, 0.937882)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.289925
    +    v.nearPlane = -0.579849
    +    v.farPlane = 0.579849
    +    v.imagePan = (0.0984407, 0.0467479)
    +    v.imageZoom = 1.40003
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v)
    +    Test("PATRAN2_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.65317, -0.673371, 0.346324)
    +    v2.focus = (0.03, -0.03, -0.1125)
    +    v2.viewUp = (0.225064, 0.264053, 0.937882)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.289925
    +    v2.nearPlane = -0.579849
    +    v2.farPlane = 0.579849
    +    v2.imagePan = (0.100347, 0.0410472)
    +    v2.imageZoom = 7.7658
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.03, -0.03, -0.1125)
    +    SetView3D(v2)
    +    Test("PATRAN2_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("PATRAN2_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test3(datapath):
    +    db = "intake.neu"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddMeshPlot()
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v.focus = (0, 0.011, -0.0935)
    +    v.viewUp = (0.208418, 0.950364, 0.231021)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.198752
    +    v.nearPlane = -0.397503
    +    v.farPlane = 0.397503
    +    v.imagePan = (0.0151275, 0.00167627)
    +    v.imageZoom = 1.43299
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v)
    +    Test("PATRAN3_0")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.61876, 0.311053, -0.721375)
    +    v2.focus = (0, 0.011, -0.0935)
    +    v2.viewUp = (0.208418, 0.950364, 0.231021)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 0.198752
    +    v2.nearPlane = -0.397503
    +    v2.farPlane = 0.397503
    +    v2.imagePan = (-0.101283, 0.0396808)
    +    v2.imageZoom = 6.28038
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 0.011, -0.0935)
    +    SetView3D(v2)
    +    Test("PATRAN3_1")
    +
    +    DeleteActivePlots()
    +    AddPseudocolorPlot()
    +    SetView3D(v)
    +    Test("PATRAN3_2")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(pjoin(datapath,db))
    +
    +def test4(datapath):
    +    db = "patout.neu"
    +    TestSection(db)
    +    OpenDatabase(pjoin(datapath,db))
    +    AddPlot("FilledBoundary", "named_components")
    +    f = FilledBoundaryAttributes()
    +    f.legendFlag = 0
    +    SetPlotOptions(f)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.765801, 0.0434351, -0.641609)
    +    v.focus = (-3175.88, -94.6135, -37.6065)
    +    v.viewUp = (0.625813, -0.179298, -0.759085)
    +    v.viewAngle = 30
    +    v.parallelScale = 3328.81
    +    v.nearPlane = -6657.62
    +    v.farPlane = 6657.62
    +    v.imagePan = (-0.0688128, -0.239564)
    +    v.imageZoom = 92.5361
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (-3175.88, -94.6135, -37.6065)
    +    SetView3D(v)
    +    Test("PATRAN4_0")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "elementMats")
    +    DrawPlots()
    +    Test("PATRAN4_1")
    +
    +    ChangeActivePlotsVar("elementIds")
    +    Test("PATRAN4_2")
    +
    +def main():
    +    # Set the window background color
    +    a = GetAnnotationAttributes()
    +    a.backgroundMode = a.Solid
    +    a.backgroundColor = (180, 180, 180, 255)
    +    a.foregroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(a)
    +
    +    DefineScalarExpression("one", "(zoneid(mesh) + 1) / (zoneid(mesh) + 1)")
    +    datapath = data_path("PATRAN_test_data")
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    test4(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_PLOT3D.html b/2023-11-08-22:00/pascal_trunk_serial/databases_PLOT3D.html new file mode 100644 index 000000000..0792b5aa8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_PLOT3D.html @@ -0,0 +1,650 @@ + +Results for databases/PLOT3D.py + +

    Results of VisIt Regression Test - databases/PLOT3D

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Open using MetaFile .vp3d
    bluntfin_Density_010.000.00
    bluntfin_InternalEnergy_010.000.00
    bluntfin_Momentum_010.000.00
    bluntfin_subsetDomains_010.000.00
    deltawing_Density_010.000.00
    deltawing_InternalEnergy_010.000.00
    deltawing_Momentum_010.000.00
    deltawing_subsetDomains_010.000.00
    post_Density_010.000.00
    post_InternalEnergy_010.000.00
    post_Momentum_010.000.00
    post_subsetDomains_010.000.00
    sslv_Density_010.000.00
    sslv_InternalEnergy_010.000.00
    sslv_Momentum_010.000.00
    sslv_subsetDomains_010.000.00
    wbt_Density_010.000.00
    wbt_InternalEnergy_010.000.00
    wbt_Momentum_010.000.00
    wbt_subsetDomains_010.000.00
    Open using gridfile and Open Options
    bluntfin_Density_020.000.00
    bluntfin_InternalEnergy_020.000.00
    bluntfin_Pressure_020.000.00
    bluntfin_Temperature_020.000.00
    bluntfin_Enthalpy_020.000.00
    bluntfin_StagnationEnergy_020.000.00
    bluntfin_Entropy_020.000.00
    bluntfin_Swirl_020.000.00
    bluntfin_Momentum_020.000.00
    bluntfin_Velocity_020.000.00
    bluntfin_Vorticity_020.000.00
    bluntfin_PressureGradient_020.000.00
    bluntfin_StrainRate_020.000.00
    bluntfin_subsetDomains_020.000.00
    deltawing_Density_020.000.00
    deltawing_InternalEnergy_020.000.00
    deltawing_Pressure_020.000.00
    deltawing_Temperature_020.000.00
    deltawing_Enthalpy_020.000.00
    deltawing_StagnationEnergy_020.000.00
    deltawing_Entropy_020.000.00
    deltawing_Swirl_020.000.00
    deltawing_Momentum_020.000.00
    deltawing_Velocity_020.000.00
    deltawing_Vorticity_020.000.00
    deltawing_PressureGradient_020.000.00
    deltawing_StrainRate_020.000.00
    deltawing_subsetDomains_020.000.00
    post_Density_020.000.00
    post_InternalEnergy_020.000.00
    post_Pressure_020.000.00
    post_Temperature_020.000.00
    post_Enthalpy_020.000.00
    post_StagnationEnergy_020.000.00
    post_Entropy_020.000.00
    post_Swirl_020.000.00
    post_Momentum_020.000.00
    post_Velocity_020.000.00
    post_Vorticity_020.000.00
    post_PressureGradient_020.000.00
    post_StrainRate_020.000.00
    post_subsetDomains_020.000.00
    sslv_Density_020.000.00
    sslv_InternalEnergy_020.000.00
    sslv_Pressure_020.000.00
    sslv_Temperature_020.000.00
    sslv_Enthalpy_020.000.00
    sslv_StagnationEnergy_020.000.00
    sslv_Entropy_020.000.00
    sslv_Swirl_020.000.00
    sslv_Momentum_020.000.00
    sslv_Velocity_020.000.00
    sslv_Vorticity_020.000.00
    sslv_PressureGradient_020.000.00
    sslv_StrainRate_020.000.00
    sslv_subsetDomains_020.000.00
    wbt_Density_020.000.00
    wbt_InternalEnergy_020.000.00
    wbt_Pressure_020.000.00
    wbt_Temperature_020.000.00
    wbt_Enthalpy_020.000.00
    wbt_StagnationEnergy_020.000.00
    wbt_Entropy_020.000.00
    wbt_Swirl_020.000.00
    wbt_Momentum_020.000.00
    wbt_Velocity_020.000.00
    wbt_Vorticity_020.000.00
    wbt_PressureGradient_020.000.00
    wbt_StrainRate_020.000.00
    wbt_subsetDomains_020.000.00
    Time Series with meta file
    plot3d_timeseries_10 modifications totalling 0 lines
    plot3d_timeseries_1_1200.00.000.00
    plot3d_timeseries_1_1220.00.000.00
    plot3d_timeseries_1_1240.00.000.00
    plot3d_timeseries_1_1300.00.000.00
    plot3d_timeseries_1_1320.00.000.00
    plot3d_timeseries_1_1340.00.000.00
    Time series via Read Options
    plot3d_timeseries_20 modifications totalling 0 lines
    plot3d_timeseries_2_1230.00.000.00
    plot3d_timeseries_2_1330.00.000.00
    wnb020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_PLOT3D_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_PLOT3D_py.html new file mode 100644 index 000000000..97e6939e5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_PLOT3D_py.html @@ -0,0 +1,217 @@ +databases/PLOT3D.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#  LIMIT: 1500
    +#  Test Case:  PLOT3D.py 
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       Sep 5, 2014
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Aug 26 09:21:15 PDT 2015
    +#    Removed Magnitude scalars, no longer provided by reader since VisIt
    +#    already automatically creates vector magnitude expressions.
    +#    Added tests for time-series.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def BasicTest(testName, testNum):
    +    # These are the scalars and vectors from the solution file
    +    scalars = ["Density", "InternalEnergy"]
    +    vectors = ["Momentum"]
    +
    +    # These are all the reader-calculated scalars and vectors
    +    computedScalars = ["Pressure", "Temperature", "Enthalpy",
    +                       "StagnationEnergy", "Entropy", "Swirl" ]
    +    computedVectors = ["Velocity", "Vorticity", "PressureGradient",
    +                        "StrainRate"]
    +
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Pseudocolor", scalars[0])
    +    DrawPlots()
    +    Test("%s_%s_%02d"%(testName,scalars[0],testNum))
    +    for s in scalars[1:]:
    +        ChangeActivePlotsVar(s)
    +        DrawPlots()
    +        Test("%s_%s_%02d"%(testName,s,testNum))
    +
    +    if testNum == 2:
    +        for s in computedScalars:
    +            ChangeActivePlotsVar(s)
    +            DrawPlots()
    +            Test("%s_%s_%02d"%(testName,s,testNum))
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Vector", vectors[0])
    +    vecAtts = VectorAttributes()
    +    vecAtts.scale = 0.5
    +    vecAtts.useStride = 1
    +    SetPlotOptions(vecAtts)
    +    DrawPlots()
    +    Test("%s_%s_%02d"%(testName,vectors[0],testNum))
    +
    +    if testNum == 2:
    +        for v in computedVectors:
    +            ChangeActivePlotsVar(v)
    +            DrawPlots()
    +            Test("%s_%s_%02d"%(testName,v,testNum))
    +
    +    DeleteAllPlots()
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("%s_subsetDomains_%02d"%(testName,testNum))
    +
    +    DeleteAllPlots()
    +
    +# Open using the MetaFile .vp3d
    +def TestMetaOpen(metaFile, testName, testStart):
    +    OpenDatabase(data_path("PLOT3D_test_data/%s"%metaFile))
    +    BasicTest(testName, testStart)
    +    CloseDatabase(data_path("PLOT3D_test_data/%s"%metaFile))
    +
    +# Open using the grid file and openOptions
    +def TestOpenOptions(gridFile, testname, options, testStart):
    +    if len(options)> 0:
    +        # Grab the default options
    +        opts = GetDefaultFileOpenOptions("PLOT3D")
    +        # Set the passed options
    +        for k,v in options.items():
    +            if k in list(opts.keys()):
    +                opts[k] = v
    +        SetDefaultFileOpenOptions("PLOT3D", opts)
    +    OpenDatabase(data_path("PLOT3D_test_data/%s"%gridFile),0, "PLOT3D_1.0")
    +    BasicTest(testname, testStart)
    +    CloseDatabase(data_path("PLOT3D_test_data/%s"%gridFile))
    +
    +# names: [dir,  vp3dname, gridname, testname, openOptions]
    +names = [
    +    ["BluntFin", "blunt.vp3d", "blunt.x", "bluntfin", {}],
    +    ["DeltaWing", "delta-40.vp3d", "delta-40.x", "deltawing", {}],
    +    ["LiquidOxygenPost", "post.vp3d", "post.x", "post", {}],
    +    ["SpaceShuttleLaunchVehicle", "sslv.vp3d", "grid", "sslv",
    +        {"Multi Grid": 1, "IBlanking":1, "Use IBlanking If Present": 1, "Solution (Q) File Name":"solution"}],
    +    ["WingBodyTail", "wbt.vp3d", "wbtg.bin", "wbt",
    +        {"Solution (Q) File Name":"wbtr.bin",
    +        "Multi Grid":1,
    +        "IBlanking":1,
    +        "Use IBlanking If Present": 0,
    +        "File Format":1,
    +        "Big Endian":1,
    +        "Double Precision":0,
    +        "3D":1}],
    +]
    +
    +def TestTimeSeries():
    +    TestSection("Time Series with meta file")
    +    SetCreateMeshQualityExpressions(0)
    +    SetCreateTimeDerivativeExpressions(0)
    +    SetCreateVectorMagnitudeExpressions(0)
    +    #SetViewExtentsType("actual")
    +    OpenDatabase(data_path("PLOT3D_test_data/BluntFin/blunt_timeseries.vp3d"))
    +    md = GetMetaData(data_path("PLOT3D_test_data/BluntFin/blunt_timeseries.vp3d"))
    +    TestText("plot3d_timeseries_1", str(md))
    +
    +    DefineScalarExpression("TD", "time(mesh) * Density")
    +    AddPlot("Pseudocolor", "TD")
    +    AddOperator("Isovolume")
    +    isoAtts = IsovolumeAttributes()
    +    isoAtts.lbound = 2000
    +    SetOperatorOptions(isoAtts)
    +    DrawPlots()
    +
    +    #v = GetView3D()
    +    #v.viewNormal = (0, -1, 6.12323e-17)
    +    #v.focus = (3.32801, -0.103006, 16.13)
    +    #v.viewUp = (0, 6.12323e-17, 1)
    +    #SetView3D(v)
    +
    +    #  step through time
    +    for t in range(0, TimeSliderGetNStates(),2):
    +        SetTimeSliderState(t)
    +        Query("Time")
    +        Test("plot3d_timeseries_1_%s" % GetQueryOutputValue())
    +
    +    DeleteAllPlots()
    +
    +    CloseDatabase(data_path("PLOT3D_test_data/BluntFin/blunt_timeseries.vp3d"))
    +
    +    TestSection("Time series via Read Options")
    +
    +    # specify sub-selection of time slices.
    +    opts = {"Solution (Q) File Name" : r"TimeSeries/blunt_??3?.q",
    +            "Solution Time field accurate": 0}
    +    SetDefaultFileOpenOptions("PLOT3D", opts)
    +
    +    OpenDatabase(data_path("PLOT3D_test_data/BluntFin/blunt.x"), 0, "PLOT3D_1.0")
    +    md = GetMetaData(data_path("PLOT3D_test_data/BluntFin/blunt.x"))
    +    TestText("plot3d_timeseries_2", str(md))
    +
    +    AddPlot("Pseudocolor", "TD")
    +    AddOperator("Isovolume")
    +    SetOperatorOptions(isoAtts)
    +    DrawPlots()
    +
    +    #SetView3D(v)
    +
    +    #  step through time
    +    for t in range(0, TimeSliderGetNStates()):
    +        SetTimeSliderState(t)
    +        Query("Time")
    +        Test("plot3d_timeseries_2_%s" % GetQueryOutputValue())
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("PLOT3D_test_data/BluntFin/blunt.x"))
    +
    +def BasicTests():
    +    TestSection("Open using MetaFile .vp3d")
    +    for f in names:
    +        # test opening meta file
    +        TestMetaOpen("%s/%s"%(f[0],f[1]), f[3], 1)
    +
    +    TestSection("Open using gridfile and Open Options")
    +    # save true defaults for resetting
    +    opts = GetDefaultFileOpenOptions("PLOT3D")
    +    for f in names:
    +        # test opening grid file, possibly using OpenOptions
    +        TestOpenOptions("%s/%s"%(f[0],f[2]), f[3], f[4], 2)
    +    # reset to true defaults
    +    SetDefaultFileOpenOptions("PLOT3D", opts)
    +
    +def TestIBlanking():
    +    # Custom tests with specific views:
    +    OpenDatabase(data_path("PLOT3D_test_data/WingNoBody/wnb.vp3d"))
    +    AddPlot("Mesh", "mesh")
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (-0.489596, 0.871773, 0.0175216)
    +    View3DAtts.focus = (1.5, -3.00142, 0)
    +    View3DAtts.viewUp = (-0.0396695, -0.00219579, -0.99921)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 11.0231
    +    View3DAtts.nearPlane = -22.0462
    +    View3DAtts.farPlane = 22.0462
    +    View3DAtts.imagePan = (-0.0355573, -0.00323714)
    +    View3DAtts.imageZoom = 66.2641
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (1.5, -3.00142, 0)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +    DrawPlots()
    +    Test("wnb02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("PLOT3D_test_data/WingNoBody/wnb.vp3d"))
    +
    +BasicTests()
    +TestTimeSeries()
    +TestIBlanking()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_ProteinDataBank.html b/2023-11-08-22:00/pascal_trunk_serial/databases_ProteinDataBank.html new file mode 100644 index 000000000..4d4380b67 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_ProteinDataBank.html @@ -0,0 +1,252 @@ + +Results for databases/ProteinDataBank.py + +

    Results of VisIt Regression Test - databases/ProteinDataBank

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing Rattlesnake venom
    proteindb_0_000.000.00
    proteindb_0_010.000.00
    proteindb_0_020.000.00
    proteindb_0_030.000.00
    proteindb_0_040.000.00
    proteindb_0_050.000.00
    proteindb_0_060.000.00
    proteindb_0_070.000.00
    Testing small DNA
    proteindb_1_000.000.00
    proteindb_1_010.000.00
    proteindb_1_020.000.00
    proteindb_1_030.000.00
    proteindb_1_040.000.00
    proteindb_1_050.000.00
    proteindb_1_060.000.00
    proteindb_1_070.000.00
    Testing insulin
    proteindb_2_000.000.00
    proteindb_2_010.000.00
    proteindb_2_020.000.00
    proteindb_2_030.000.00
    proteindb_2_040.000.00
    proteindb_2_050.000.00
    proteindb_2_060.000.00
    proteindb_2_070.000.00
    Testing Black Mamba venom
    proteindb_3_000.000.00
    proteindb_3_010.000.00
    proteindb_3_020.000.00
    proteindb_3_030.000.00
    proteindb_3_040.000.00
    proteindb_3_050.000.00
    proteindb_3_060.000.00
    proteindb_3_070.000.00
    proteindb_3_080.000.00
    proteindb_3_090.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_ProteinDataBank_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_ProteinDataBank_py.html new file mode 100644 index 000000000..841ea75bd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_ProteinDataBank_py.html @@ -0,0 +1,366 @@ +databases/ProteinDataBank.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ProteinDataBank.py
    +#
    +#  Tests:      mesh      - 3D points
    +#              plots     - Molecule
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Mar 28 15:46:53 PST 2006
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Tue Aug 29 13:23:30 EDT 2006
    +#    ProteinDataBank files now have models as directories, not time steps.
    +#
    +#    Brad Whitlock, Thu Mar 12 11:04:32 PDT 2009
    +#    I restructured the test into functions.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def LabelTest(testname, var, zoomview):
    +    AddPlot("Label", var)
    +    LabelAtts = LabelAttributes()
    +    LabelAtts.legendFlag = 1
    +    LabelAtts.showNodes = 0
    +    LabelAtts.showCells = 1
    +    LabelAtts.restrictNumberOfLabels = 0
    +    LabelAtts.drawLabelsFacing = LabelAtts.Front  # Front, Back, FrontAndBack
    +    LabelAtts.labelDisplayFormat = LabelAtts.Natural  # Natural, LogicalIndex, Index
    +    LabelAtts.numberOfLabels = 200
    +    LabelAtts.textFont1.useForegroundColor = 0
    +    LabelAtts.textFont1.color = (0, 255, 0, 255)
    +    LabelAtts.textFont1.scale = 5
    +    LabelAtts.textFont2.useForegroundColor = 1
    +    LabelAtts.textFont2.color = (0, 0, 255, 0)
    +    LabelAtts.textFont2.scale = 4
    +    LabelAtts.horizontalJustification = LabelAtts.HCenter  # HCenter, Left, Right
    +    LabelAtts.verticalJustification = LabelAtts.VCenter  # VCenter, Top, Bottom
    +    LabelAtts.depthTestMode = LabelAtts.LABEL_DT_AUTO  # LABEL_DT_AUTO, LABEL_DT_ALWAYS, LABEL_DT_NEVER
    +    SetPlotOptions(LabelAtts)
    +    DrawPlots()
    +    oldview = GetView3D()
    +    SetView3D(zoomview)
    +    # Save these images somewhat larger than a regular test case image
    +    # since the images contain a lot of text.
    +#    swa = SaveWindowAttributes()
    +#    swa.width = 500
    +#    swa.height = 500
    +#    swa.screenCapture = 0
    +#    Test(testname, swa)
    +    Test(testname)
    +    DeleteActivePlots()
    +    SetView3D(oldview)
    +
    +
    +def AddMoleculePlot(db, var):
    +    OpenDatabase(db)
    +    AddPlot("Molecule", var)
    +
    +    MoleculeAtts = MoleculeAttributes()
    +    MoleculeAtts.drawAtomsAs = MoleculeAtts.SphereAtoms  # NoAtoms, SphereAtoms, ImposterAtoms
    +    MoleculeAtts.scaleRadiusBy = MoleculeAtts.Fixed  # Fixed, Covalent, Atomic, Variable
    +    MoleculeAtts.drawBondsAs = MoleculeAtts.CylinderBonds  # NoBonds, LineBonds, CylinderBonds
    +    MoleculeAtts.colorBonds = MoleculeAtts.ColorByAtom  # ColorByAtom, SingleColor
    +    MoleculeAtts.bondSingleColor = (128, 128, 128, 255)
    +    MoleculeAtts.radiusVariable = "default"
    +    MoleculeAtts.radiusScaleFactor = 1
    +    MoleculeAtts.radiusFixed = 0.4
    +    MoleculeAtts.atomSphereQuality = MoleculeAtts.Medium  # Low, Medium, High, Super
    +    MoleculeAtts.bondCylinderQuality = MoleculeAtts.Medium  # Low, Medium, High, Super
    +    MoleculeAtts.bondRadius = 0.12
    +    MoleculeAtts.bondLineWidth = 0
    +    MoleculeAtts.elementColorTable = "cpk_jmol"
    +    MoleculeAtts.residueTypeColorTable = "amino_shapely"
    +    MoleculeAtts.residueSequenceColorTable = "Default"
    +    MoleculeAtts.continuousColorTable = "Default"
    +    MoleculeAtts.legendFlag = 1
    +    MoleculeAtts.minFlag = 0
    +    MoleculeAtts.scalarMin = 0
    +    MoleculeAtts.maxFlag = 0
    +    MoleculeAtts.scalarMax = 1
    +    SetPlotOptions(MoleculeAtts)
    +    DrawPlots()
    +
    +
    +def test0():
    +    TestSection("Testing Rattlesnake venom")
    +    AddMoleculePlot(data_path("ProteinDataBank_test_data/crotamine.pdb"), "element")
    +
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.967329, 0.252251, -0.0253765)
    +    v0.focus = (31.726, -54.1675, 13.645)
    +    v0.viewUp = (0.252129, 0.967661, 0.0079404)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 24.9831
    +    v0.nearPlane = -49.9661
    +    v0.farPlane = 49.9661
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.44471
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (31.726, -54.1675, 13.645)
    +    SetView3D(v0)
    +
    +    v0zoom = View3DAttributes()
    +    v0zoom.viewNormal = (-0.967329, 0.252251, -0.0253765)
    +    v0zoom.focus = (31.726, -54.1675, 13.645)
    +    v0zoom.viewUp = (0.252129, 0.967661, 0.0079404)
    +    v0zoom.viewAngle = 30
    +    v0zoom.parallelScale = 24.9831
    +    v0zoom.nearPlane = -49.9661
    +    v0zoom.farPlane = 49.9661
    +    v0zoom.imagePan = (0, 0)
    +    v0zoom.imageZoom = 7.15293
    +    v0zoom.perspective = 1
    +    v0zoom.eyeAngle = 2
    +    v0zoom.centerOfRotationSet = 0
    +    v0zoom.centerOfRotation = (31.726, -54.1675, 13.645)
    +
    +    Test("proteindb_0_00")
    +    LabelTest("proteindb_0_01", "elementname", v0zoom)
    +
    +    ChangeActivePlotsVar("resseq")
    +    Test("proteindb_0_02")
    +    LabelTest("proteindb_0_03", "resseq", v0zoom)
    +
    +    ChangeActivePlotsVar("backbone")
    +    Test("proteindb_0_04")
    +
    +    ChangeActivePlotsVar("restype")
    +    Test("proteindb_0_05")
    +    LabelTest("proteindb_0_06", "resname", v0zoom)
    +
    +    LabelTest("proteindb_0_07", "longresname", v0zoom)
    +    DeleteAllPlots()
    +
    +
    +def test1():
    +    TestSection("Testing small DNA")
    +    AddMoleculePlot(data_path("ProteinDataBank_test_data/1NTS.pdb"), "element")
    +
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (-0.320353, 0.944248, 0.075961)
    +    v1.focus = (-0.0580001, 0.0915003, 0.3815)
    +    v1.viewUp = (0.342959, 0.190354, -0.919861)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 22.575
    +    v1.nearPlane = -45.1501
    +    v1.farPlane = 45.1501
    +    v1.imagePan = (-0.0021177, -0.0481532)
    +    v1.imageZoom = 1.27797
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (-0.0580001, 0.0915003, 0.3815)
    +    SetView3D(v1)
    +
    +    v1zoom = View3DAttributes()
    +    v1zoom.viewNormal = (-0.320353, 0.944248, 0.075961)
    +    v1zoom.focus = (-0.0580001, 0.0915003, 0.3815)
    +    v1zoom.viewUp = (0.342959, 0.190354, -0.919861)
    +    v1zoom.viewAngle = 30
    +    v1zoom.parallelScale = 22.575
    +    v1zoom.nearPlane = -45.1501
    +    v1zoom.farPlane = 45.1501
    +    v1zoom.imagePan = (-0.00906313, 0.0442979)
    +    v1zoom.imageZoom = 6.4294
    +    v1zoom.perspective = 1
    +    v1zoom.eyeAngle = 2
    +    v1zoom.centerOfRotationSet = 0
    +    v1zoom.centerOfRotation = (-0.0580001, 0.0915003, 0.3815)
    +
    +    Test("proteindb_1_00")
    +    LabelTest("proteindb_1_01", "elementname", v1zoom)
    +
    +    ChangeActivePlotsVar("resseq")
    +    Test("proteindb_1_02")
    +    LabelTest("proteindb_1_03", "resseq", v1zoom)
    +
    +    ChangeActivePlotsVar("backbone")
    +    Test("proteindb_1_04")
    +
    +    ChangeActivePlotsVar("restype")
    +    Test("proteindb_1_05")
    +    LabelTest("proteindb_1_06", "resname", v1zoom)
    +
    +    LabelTest("proteindb_1_07", "longresname", v1zoom)
    +    DeleteAllPlots()
    +
    +
    +def test2():
    +    TestSection("Testing insulin")
    +    AddMoleculePlot(data_path("ProteinDataBank_test_data/1UZ9.pdb"), "element")
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (0.215329, 0.245957, 0.94506)
    +    v2.focus = (23.441, 26.835, 23.6865)
    +    v2.viewUp = (-0.351063, 0.922561, -0.160113)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 29.1931
    +    v2.nearPlane = -58.3862
    +    v2.farPlane = 58.3862
    +    v2.imagePan = (0.0260607, 0.00408113)
    +    v2.imageZoom = 1.8463
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (23.441, 26.835, 23.6865)
    +    SetView3D(v2)
    +
    +    v2zoom = View3DAttributes()
    +    v2zoom.viewNormal = (0.685414, 0.259247, 0.68044)
    +    v2zoom.focus = (23.441, 26.835, 23.6865)
    +    v2zoom.viewUp = (0.700183, 0.02186, -0.713629)
    +    v2zoom.viewAngle = 30
    +    v2zoom.parallelScale = 29.1931
    +    v2zoom.nearPlane = -58.3862
    +    v2zoom.farPlane = 58.3862
    +    v2zoom.imagePan = (-0.0257104, -0.00810227)
    +    v2zoom.imageZoom = 10.3892
    +    v2zoom.perspective = 1
    +    v2zoom.eyeAngle = 2
    +    v2zoom.centerOfRotationSet = 0
    +    v2zoom.centerOfRotation = (23.441, 26.835, 23.6865)
    +
    +    Test("proteindb_2_00")
    +    LabelTest("proteindb_2_01", "elementname", v2zoom)
    +
    +    ChangeActivePlotsVar("resseq")
    +    Test("proteindb_2_02")
    +    LabelTest("proteindb_2_03", "resseq", v2zoom)
    +
    +    ChangeActivePlotsVar("backbone")
    +    Test("proteindb_2_04")
    +
    +    ChangeActivePlotsVar("restype")
    +    Test("proteindb_2_05")
    +    LabelTest("proteindb_2_06", "resname", v2zoom)
    +
    +    LabelTest("proteindb_2_07", "longresname", v2zoom)
    +    DeleteAllPlots()
    +
    +
    +def test3():
    +    TestSection("Testing Black Mamba venom")
    +    AddMoleculePlot(data_path("ProteinDataBank_test_data/1TFS.pdb"), "element")
    +
    +    v3 = View3DAttributes()
    +    v3.viewNormal = (-0.242177, -0.689536, 0.682562)
    +    v3.focus = (-1.73, -1.927, -0.202)
    +    v3.viewUp = (0.243612, 0.637752, 0.730702)
    +    v3.viewAngle = 30
    +    v3.parallelScale = 25.6826
    +    v3.nearPlane = -51.3652
    +    v3.farPlane = 51.3652
    +    v3.imagePan = (0.0337528, -0.0400135)
    +    v3.imageZoom = 1.49054
    +    v3.perspective = 1
    +    v3.eyeAngle = 2
    +    v3.centerOfRotationSet = 0
    +    v3.centerOfRotation = (-1.73, -1.927, -0.202)
    +    SetView3D(v3)
    +
    +    v3zoom = View3DAttributes()
    +    v3zoom.viewNormal = (-0.558032, -0.716666, 0.418318)
    +    v3zoom.focus = (-1.73, -1.927, -0.202)
    +    v3zoom.viewUp = (0.120358, 0.428875, 0.89531)
    +    v3zoom.viewAngle = 30
    +    v3zoom.parallelScale = 25.6826
    +    v3zoom.nearPlane = -51.3652
    +    v3zoom.farPlane = 51.3652
    +    v3zoom.imagePan = (0.0337528, -0.0400135)
    +    v3zoom.imageZoom = 8.39928
    +    v3zoom.perspective = 1
    +    v3zoom.eyeAngle = 2
    +    v3zoom.centerOfRotationSet = 0
    +    v3zoom.centerOfRotation = (-1.73, -1.927, -0.202)
    +
    +    Test("proteindb_3_00")
    +    LabelTest("proteindb_3_01", "elementname", v3zoom)
    +
    +    ChangeActivePlotsVar("resseq")
    +    Test("proteindb_3_02")
    +    LabelTest("proteindb_3_03", "resseq", v3zoom)
    +
    +    ChangeActivePlotsVar("backbone")
    +    Test("proteindb_3_04")
    +
    +    ChangeActivePlotsVar("restype")
    +    Test("proteindb_3_05")
    +    LabelTest("proteindb_3_06", "resname", v3zoom)
    +
    +    LabelTest("proteindb_3_07", "longresname", v3zoom)
    +
    +    # Make sure that there are multiple models in the file.
    +    ChangeActivePlotsVar("element")
    +    ChangeActivePlotsVar("models/model_09/element")
    +    Test("proteindb_3_08")
    +    ChangeActivePlotsVar("models/model_19/element")
    +    Test("proteindb_3_09")
    +    DeleteAllPlots()
    +
    +# NOTE: This test is not enabled because it fails. It needs baselines too.
    +def test4():
    +    TestSection("Testing file replacement with ProteinDataBank files")
    +    AddMoleculePlot(data_path("ProteinDataBank_test_data/crotamine.pdb"), "element")
    +
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.967329, 0.252251, -0.0253765)
    +    v0.focus = (31.726, -54.1675, 13.645)
    +    v0.viewUp = (0.252129, 0.967661, 0.0079404)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 24.9831
    +    v0.nearPlane = -49.9661
    +    v0.farPlane = 49.9661
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.44471
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (31.726, -54.1675, 13.645)
    +    SetView3D(v0)
    +    Test("proteindb_4_00")
    +    ReplaceDatabase(data_path("ProteinDataBank_test_data/1UZ9.pdb"))
    +
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (-0.320353, 0.944248, 0.075961)
    +    v1.focus = (-0.0580001, 0.0915003, 0.3815)
    +    v1.viewUp = (0.342959, 0.190354, -0.919861)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 22.575
    +    v1.nearPlane = -45.1501
    +    v1.farPlane = 45.1501
    +    v1.imagePan = (-0.0021177, -0.0481532)
    +    v1.imageZoom = 1.27797
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (-0.0580001, 0.0915003, 0.3815)
    +    SetView3D(v1)
    +    Test("proteindb_4_01")
    +
    +
    +def main():
    +    # Set the window background color
    +    a = GetAnnotationAttributes()
    +    a.backgroundMode = a.Solid
    +    a.foregroundColor = (0, 0, 0, 255)
    +    a.backgroundColor = (255, 255, 255, 255)
    +    a.databaseInfoFlag = 0
    +    SetAnnotationAttributes(a)
    +
    +    # Call the tests
    +    test0()
    +    test1()
    +    test2()
    +    test3()
    +    #test4()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_RAW.html b/2023-11-08-22:00/pascal_trunk_serial/databases_RAW.html new file mode 100644 index 000000000..6385d1cb7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_RAW.html @@ -0,0 +1,57 @@ + +Results for databases/RAW.py + +

    Results of VisIt Regression Test - databases/RAW

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    RAW files
    RAW_0_000.000.00
    RAW_0_010.000.00
    RAW_0_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_RAW_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_RAW_py.html new file mode 100644 index 000000000..d16f1f0cf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_RAW_py.html @@ -0,0 +1,94 @@ +databases/RAW.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  RAW.py
    +#
    +#  Tests:      mesh      - 3D unstructured
    +#              plots     - Mesh, Pseudocolor, FilledBoundary
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Oct 10 12:05:17 PDT 2007
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def test0(datapath):
    +    TestSection("RAW files")
    +    OpenDatabase(pjoin(datapath,"visitrocks.raw"))
    +    AddPlot("Pseudocolor", "x")
    +    DrawPlots()
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.567094, 0.226914, 0.791779)
    +    v0.focus = (0.000999987, -0.1635, 0)
    +    v0.viewUp = (0.130227, 0.973912, -0.18584)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 1.5462
    +    v0.nearPlane = -3.0924
    +    v0.farPlane = 3.0924
    +    v0.imagePan = (0.0382352, 0.0259835)
    +    v0.imageZoom = 1.29479
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0.000999987, -0.1635, 0)
    +    SetView3D(v0)
    +    Test("RAW_0_00")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"visit1.7.raw"))
    +    AddPlot("Pseudocolor", "z")
    +    DrawPlots()
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (0.548073, -0.470773, 0.691367)
    +    v1.focus = (-3, 2.5, -3.5)
    +    v1.viewUp = (-0.467318, 0.513182, 0.719902)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 26.3154
    +    v1.nearPlane = -52.6308
    +    v1.farPlane = 52.6308
    +    v1.imagePan = (-0.00129203, 0.0275781)
    +    v1.imageZoom = 1.17533
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (-3, 2.5, -3.5)
    +    SetView3D(v1)
    +    Test("RAW_0_01")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(pjoin(datapath,"llnl-logo.raw"))
    +    AddPlot("Subset", "domains")
    +    silr = SILRestriction()
    +    silr.SuspendCorrectnessChecking()
    +    silr.TurnOffAll()
    +    for silSet in (1,2,77):
    +        silr.TurnOnSet(silSet)
    +    silr.EnableCorrectnessChecking()
    +    SetPlotSILRestriction(silr)
    +    DrawPlots()
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (0.373419, 0.166874, 0.91253)
    +    v2.focus = (0.108829, 9.95567, 5.85852)
    +    v2.viewUp = (-0.0717588, 0.985936, -0.150933)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 91.211
    +    v2.nearPlane = -182.422
    +    v2.farPlane = 182.422
    +    v2.imagePan = (-0.00129203, 0.0275781)
    +    v2.imageZoom = 1.17145
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0.108829, 9.95567, 5.85852)
    +    SetView3D(v2)
    +    Test("RAW_0_02")
    +    DeleteAllPlots()
    +
    +def main():
    +    datapath = data_path("RAW_test_data")
    +    test0(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_SPCTH.html b/2023-11-08-22:00/pascal_trunk_serial/databases_SPCTH.html new file mode 100644 index 000000000..18b0ca852 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_SPCTH.html @@ -0,0 +1,48 @@ + +Results for databases/SPCTH.py + +

    Results of VisIt Regression Test - databases/SPCTH

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    spcth_010.000.00
    spcth_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_SPCTH_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_SPCTH_py.html new file mode 100644 index 000000000..ea738a70d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_SPCTH_py.html @@ -0,0 +1,36 @@ +databases/SPCTH.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  SPCTH.py 
    +#
    +#  Programmer: Kevin Griffin 
    +#  Date:       September 15, 2017 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +#efp2d.spcth
    +OpenDatabase(data_path("SPCTH_test_data/efp2d.spcth"))
    +AddPlot("FilledBoundary", "materials")
    +DrawPlots()
    +Test("spcth_01")
    +DeleteAllPlots()
    +CloseDatabase(data_path("SPCTH_test_data/efp2d.spcth"))
    +
    +#efp3d.spcth
    +OpenDatabase(data_path("SPCTH_test_data/efp3d.spcth"))
    +AddPlot("Pseudocolor", "M")
    +
    +silr = SILRestriction()
    +silr.TurnOnAll()
    +silr.TurnOffSet(silr.SetsInCategory('materials')[3])
    +SetPlotSILRestriction(silr)
    +
    +DrawPlots()
    +Test("spcth_02")
    +DeleteAllPlots()
    +CloseDatabase(data_path("SPCTH_test_data/efp3d.spcth"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Velodyne.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Velodyne.html new file mode 100644 index 000000000..c1b3d8a29 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Velodyne.html @@ -0,0 +1,88 @@ + +Results for databases/Velodyne.py + +

    Results of VisIt Regression Test - databases/Velodyne

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Solid
    Velodyne_0_000 modifications totalling 0 lines
    Velodyne_0_010.000.00
    Velodyne_0_020.000.00
    Velodyne_0_030.000.00
    Velodyne_0_040.000.00
    Velodyne_0_050.000.00
    Velodyne_0_060.000.00
    Surface
    Velodyne_1_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Velodyne_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Velodyne_py.html new file mode 100644 index 000000000..36df7157a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Velodyne_py.html @@ -0,0 +1,79 @@ +databases/Velodyne.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Velodyne.py
    +#
    +#  Tests:      mesh      - 3D unstructured
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Feb 10 14:51:33 PDT 2010
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def InitializeView():
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (0.715595, -0.551955, 0.4281)
    +    v0.focus = (11.5, 2.39999, 1.04954)
    +    v0.viewUp = (-0.34794, 0.249768, 0.903633)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 11.8686
    +    v0.nearPlane = -23.7373
    +    v0.farPlane = 23.7373
    +    v0.imagePan = (-0.0579851, 0.0689456)
    +    v0.imageZoom = 1.2342
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (11.5, 2.39999, 1.04954)
    +    SetView3D(v0)
    +
    +def test0(datapath):
    +    TestSection("Solid")
    +    db = pjoin(datapath,"pelh.*.vld database")
    +    OpenDatabase(db,0,"Velodyne_1.0")
    +    md = GetMetaData(db)
    +    TestText("Velodyne_0_00", str(md))
    +    AddPlot("Pseudocolor", "Solid/Pressure")
    +    DrawPlots()
    +    InitializeView()
    +
    +    Test("Velodyne_0_01")
    +    TimeSliderSetState(11)
    +    Test("Velodyne_0_02")
    +    TimeSliderSetState(22)
    +    Test("Velodyne_0_03")
    +    TimeSliderSetState(0)
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Solid/Velocity_0")
    +    DrawPlots()
    +    InitializeView()
    +    Test("Velodyne_0_04")
    +    TimeSliderSetState(11)
    +    Test("Velodyne_0_05")
    +    TimeSliderSetState(22)
    +    Test("Velodyne_0_06")
    +    TimeSliderSetState(0)
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test1(datapath):
    +    TestSection("Surface")
    +
    +    OpenDatabase(pjoin(datapath,"pelh.1.vld"),0,"Velodyne_1.0")
    +    AddPlot("Pseudocolor", "Surface/Velocity_0")
    +    DrawPlots()
    +    InitializeView()
    +    Test("Velodyne_1_00")
    +    DeleteAllPlots()
    +
    +def main():
    +    datapath = data_path("Velodyne_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_WData.html b/2023-11-08-22:00/pascal_trunk_serial/databases_WData.html new file mode 100644 index 000000000..01ff2648d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_WData.html @@ -0,0 +1,60 @@ + +Results for databases/WData.py + +

    Results of VisIt Regression Test - databases/WData

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    wdata_1_010.000.00
    wdata_1_020.000.00
    wdata_1_030.000.00
    wdata_1_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_WData_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_WData_py.html new file mode 100644 index 000000000..aa5defd8f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_WData_py.html @@ -0,0 +1,58 @@ +databases/WData.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  WData.py 
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       September 22, 2021 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def Test1():
    +    OpenDatabase(data_path("WData_test_data/WData-test.wtxt"))
    +
    +    AddPlot("Contour", "density_a")
    +    AddPlot("Vector", "current_a")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal=(0.363715, 0.43572, 0.822339)
    +    v.viewUp=(-0.158317, 0.898996, -0.40834)
    +    SetView3D(v)
    +
    +    Test("wdata_1_01")
    +
    +    TimeSliderSetState(5)
    +    Test("wdata_1_02")
    +
    +    DeleteAllPlots()
    +    AddPlot("Volume", "density_b")
    +    DrawPlots()
    +    Test("wdata_1_03")
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "density_b")
    +    DrawPlots()
    +
    +    SetQueryOutputToObject()
    +    se = Query("SpatialExtents")["extents"]
    +    AddOperator("ThreeSlice")
    +    ts = ThreeSliceAttributes()
    +    ts.x = (se[1] - se[0]) * 0.5
    +    ts.y = (se[3] - se[2]) * 0.5
    +    ts.z = (se[5] - se[4]) * 0.5
    +    SetOperatorOptions(ts)
    +    DrawPlots()
    +
    +    Test("wdata_1_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("WData_test_data/WData-test.wtxt"))
    +
    +Test1()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Xmdv.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Xmdv.html new file mode 100644 index 000000000..5af68af99 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Xmdv.html @@ -0,0 +1,66 @@ + +Results for databases/Xmdv.py + +

    Results of VisIt Regression Test - databases/Xmdv

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Xmdv_010.000.00
    Xmdv_020.000.00
    Xmdv_030.000.00
    Xmdv_040.000.00
    Xmdv_050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Xmdv_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Xmdv_py.html new file mode 100644 index 000000000..05e6a3843 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Xmdv_py.html @@ -0,0 +1,105 @@ +databases/Xmdv.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Xmdv.py
    +#
    +#  Tests:      mesh      - 3D point mesh
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 21, 2005
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Aug 10 10:00:45 PDT 2005
    +#    Fixed due to a change in the Label plot.
    +#
    +#    Hank Childs, Tue Mar 18 15:40:57 PDT 2008
    +#    Reflect change in variable names.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Sat Mar 13 11:13:26 PST 2010
    +#    Change variable names for forbidden characters.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# First test that we can open a Xmdv file.
    +OpenDatabase(data_path("okc_test_data/astronomy.okc"))
    +
    +AddPlot("Pseudocolor", "classmagi")
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleZ = 0.03
    +SetOperatorOptions(t)
    +DrawPlots()
    +
    +Test("Xmdv_01")
    +
    +DefineArrayExpression("sub_arr", "array_compose(b, d)")
    +AddPlot("Label", "sub_arr")
    +L = LabelAttributes()
    +L.depthTestMode = L.LABEL_DT_NEVER
    +SetPlotOptions(L)
    +AddOperator("Transform")
    +SetOperatorOptions(t)
    +DrawPlots()
    +
    +Test("Xmdv_02")
    +
    +
    +# This is super ugly, but I want to have something in the regression suite
    +# that tests reading in array variables directly from a file (for coverage
    +# purpose).
    +DeleteAllPlots()
    +AddPlot("Label", "all_vars")
    +L = LabelAttributes()
    +L.depthTestMode = L.LABEL_DT_NEVER
    +SetPlotOptions(L)
    +DrawPlots()
    +Test("Xmdv_03")
    +DeleteAllPlots()
    +
    +
    +# Now test the writer.
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +DefineScalarExpression("uc", "recenter(u)")
    +DefineScalarExpression("vc", "recenter(v)")
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +e = ExportDBAttributes()
    +e.db_type = "Xmdv"
    +e.filename = "xmdv"
    +e.variables = ("d", "p", "uc", "vc")
    +ExportDatabase(e)
    +
    +DeleteAllPlots()
    +DeleteExpression("uc")
    +DeleteExpression("vc")
    +OpenDatabase("xmdv.okc")
    +AddPlot("Pseudocolor", "vc")
    +DrawPlots()
    +Test("Xmdv_04")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Vector", "vel")
    +DrawPlots()
    +e.variables = ()
    +e.filename = "xmdv2"
    +ExportDatabase(e)
    +DeleteAllPlots()
    +OpenDatabase("xmdv2.okc")
    +AddPlot("Pseudocolor", "vel_lb_0_rb_")
    +DrawPlots()
    +Test("Xmdv_05")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Xolotl.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Xolotl.html new file mode 100644 index 000000000..8ee0ff661 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Xolotl.html @@ -0,0 +1,90 @@ + +Results for databases/Xolotl.py + +

    Results of VisIt Regression Test - databases/Xolotl

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    0D Example Xolot File
    xolotl_0D_HeliumVacancies0.000.00
    xolotl_0D_HeliumDeuterium0.000.00
    xolotl_0D_HeliumInterstitial0.000.00
    xolotl_0D_HeliumTritium0.000.00
    1D Example Xolotl File
    xolotl_1D_Helium Concentration0.000.00
    xolotl_1D_Deuterium Concentration0.000.00
    xolotl_1D_Interstitial Concentration0.000.00
    xolotl_1D_Tritium Concentration0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_Xolotl_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_Xolotl_py.html new file mode 100644 index 000000000..891ab0df9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_Xolotl_py.html @@ -0,0 +1,47 @@ +databases/Xolotl.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  Xolotl.py
    +#
    +#  Tests:      Xolotl hdf5 files
    +#
    +#  Programmer: James Kress
    +#  Date:       Mon Aug 26 13:00:15 EDT 2019
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Xolotl")
    +
    +xolotl_0D = "xolotl_test_data/network-PSI2-0D.xolotl"
    +xolotl_1D = "xolotl_test_data/network-PSI2-1D.xolotl"
    +
    +zeroDVars = ["Helium/Vacancies", "Helium/Deuterium", "Helium/Interstitial", "Helium/Tritium"]
    +oneDVars = ["Helium Concentration", "Deuterium Concentration", "Interstitial Concentration", "Tritium Concentration"]
    +
    +def test(var_name,tag_name):
    +    SetTimeSliderState(1)
    +    AddPlot("Pseudocolor", var_name)
    +    SetActivePlots(0)
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.scaling = PseudocolorAtts.Log  # Linear, Log, Skew
    +    PseudocolorAtts.colorTableName = "hot_desaturated"
    +    SetPlotOptions(PseudocolorAtts)
    +    DrawPlots()
    +    file_name = var_name.replace("/", "")
    +    Test(tag_name + "_" +  file_name)
    +    DeleteAllPlots()
    +
    +
    +TestSection("0D Example Xolot File")
    +OpenDatabase(data_path(xolotl_0D))
    +for var_name in zeroDVars:
    +    test(var_name,"xolotl_0D")
    +CloseDatabase(data_path(xolotl_0D))
    +
    +TestSection("1D Example Xolotl File")
    +OpenDatabase(data_path(xolotl_1D))
    +for var_name in oneDVars:
    +    test(var_name,"xolotl_1D")
    +CloseDatabase(data_path(xolotl_1D))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_activesource.html b/2023-11-08-22:00/pascal_trunk_serial/databases_activesource.html new file mode 100644 index 000000000..d40a3c72f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_activesource.html @@ -0,0 +1,80 @@ + +Results for databases/activesource.py + +

    Results of VisIt Regression Test - databases/activesource

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    activesource000.000.00
    activesource010 modifications totalling 0 lines
    activesource020 modifications totalling 0 lines
    activesource030.000.00
    activesource040.000.00
    activesource050 modifications totalling 0 lines
    activesource060.000.00
    activesource070 modifications totalling 0 lines
    activesource080 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_activesource_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_activesource_py.html new file mode 100644 index 000000000..412f4fb86 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_activesource_py.html @@ -0,0 +1,82 @@ +databases/activesource.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  activesource.py
    +#
    +#  Tests:      mesh      - 2D, curvilinear, single domain
    +#              plots     - FilledBoundary
    +#              databases - PDB
    +#
    +#  Purpose:    This test case tests that the viewer uses the right active
    +#              source for the active window.
    +#
    +#  Bugs:       '4527
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Mar 18 13:45:29 PST 2004
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    TestText(testname, s)
    +
    +# Create a plot of dbA00.pdb.
    +OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("activesource00")
    +
    +# Create another window and make sure that it has dbA00.pdb as its
    +# active source.
    +CloneWindow()
    +SetActiveWindow(2)
    +DeleteAllPlots()
    +TestWindowInformation("activesource01")
    +
    +# Open dbB00.pdb and make sure that it becomes the active source.
    +OpenDatabase(data_path("pdb_test_data/dbB00.pdb"))
    +
    +TestWindowInformation("activesource02")
    +
    +# Create a plot from it.
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("activesource03")
    +# note: py3 div creates float
    +SetTimeSliderState(int(TimeSliderGetNStates() / 2))
    +Test("activesource04")
    +TestWindowInformation("activesource05")
    +
    +# Create a 3rd window by cloning window 2. We're making sure that the 
    +# time slider got copied to the new window and that it has the right
    +# time state.
    +CloneWindow()
    +SetActiveWindow(3)
    +DrawPlots()
    +Test("activesource06")
    +TestWindowInformation("activesource07")
    +
    +# Switch back to window 1 and make sure that the window information has
    +# dbA00.pdb as the active source.
    +SetActiveWindow(1)
    +TestWindowInformation("activesource08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_adios2.html b/2023-11-08-22:00/pascal_trunk_serial/databases_adios2.html new file mode 100644 index 000000000..e0acc34b2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_adios2.html @@ -0,0 +1,45 @@ + +Results for databases/adios2.py + +

    Results of VisIt Regression Test - databases/adios2

    + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Adios2 Blosc Test
    adios2_3d_bp_mesh71x71x71_mesh0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_adios2_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_adios2_py.html new file mode 100644 index 000000000..8dbb97f49 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_adios2_py.html @@ -0,0 +1,89 @@ +databases/adios2.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  adios2.py 
    +#
    +#  Tests:      mesh      - 3D single domain
    +#              plots     - Pseudocolor
    +#              operators - Clip
    +#
    +#  Programmer: Justin Privitera
    +#  Date:       Mon May  9 18:05:05 PDT 2022
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("ADIOS2")
    +
    +from os.path import join as pjoin
    +
    +adios2_test_dir = "adios2_v2.7.1_test_data"
    +cube_data = data_path(pjoin(adios2_test_dir,"interesting_cube00000000.bp"))
    +
    +def set_3d_view():
    +    v = View3DAttributes()
    +    v.viewNormal = (0.844823, 0.290329, 0.449425)
    +    v.focus = (35, 35, 35)
    +    v.viewUp = (-0.239502, 0.956325, -0.167574)
    +    v.viewAngle = 30
    +    v.parallelScale = 60.6218
    +    v.nearPlane = -121.244
    +    v.farPlane = 121.244
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (35, 35, 35)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def set_test_view(tag_name):
    +    if "3d" in tag_name:
    +        set_3d_view()
    +    else:
    +        ResetView()
    +
    +def test(mesh_name, tag_name):
    +    AddPlot("Mesh", mesh_name, 1, 1)
    +    AddPlot("Pseudocolor", "/data/0/meshes/admbase_lapse_rl00/admbase_alp", 1, 1)
    +    AddOperator("Clip", 1)
    +    SetActivePlots(1)
    +    SetActivePlots(1)
    +    ClipAtts = ClipAttributes()
    +    ClipAtts.quality = ClipAtts.Fast  # Fast, Accurate
    +    ClipAtts.funcType = ClipAtts.Plane  # Plane, Sphere
    +    ClipAtts.plane1Status = 1
    +    ClipAtts.plane2Status = 0
    +    ClipAtts.plane3Status = 0
    +    ClipAtts.plane1Origin = (35, 35, 35)
    +    ClipAtts.plane2Origin = (0, 0, 0)
    +    ClipAtts.plane3Origin = (0, 0, 0)
    +    ClipAtts.plane1Normal = (1, 0, 0)
    +    ClipAtts.plane2Normal = (0, 1, 0)
    +    ClipAtts.plane3Normal = (0, 0, 1)
    +    ClipAtts.planeInverse = 0
    +    ClipAtts.planeToolControlledClipPlane = ClipAtts.Plane1  # NONE, Plane1, Plane2, Plane3
    +    ClipAtts.center = (0, 0, 0)
    +    ClipAtts.radius = 1
    +    ClipAtts.sphereInverse = 0
    +    ClipAtts.crinkleClip = 0
    +    SetOperatorOptions(ClipAtts, 0, 1)
    +    DrawPlots()
    +    set_test_view(tag_name)
    +    Test(tag_name + "_" +  mesh_name + "_mesh")
    +    DeleteAllPlots()
    +
    +# requires adios2 to be built with c-blosc support
    +TestSection("Adios2 Blosc Test")
    +OpenDatabase(cube_data, 0, "ADIOS2_1.0")
    +mesh_name = "mesh71x71x71"
    +tag_name = "adios2_3d_bp"
    +test(mesh_name, tag_name)
    +CloseDatabase(cube_data)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_avsucd.html b/2023-11-08-22:00/pascal_trunk_serial/databases_avsucd.html new file mode 100644 index 000000000..2367cfe30 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_avsucd.html @@ -0,0 +1,60 @@ + +Results for databases/avsucd.py + +

    Results of VisIt Regression Test - databases/avsucd

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    avsucd_010.000.00
    avsucd_020.000.00
    avsucd_030.000.00
    avsucd_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_avsucd_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_avsucd_py.html new file mode 100644 index 000000000..dfa43cf7b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_avsucd_py.html @@ -0,0 +1,41 @@ +databases/avsucd.py
    # ----------------------------------------------------------------------------)
    +#  CLASSES: nightly
    +#
    +#  Test Case:  avsucd.py 
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       February 6, 2020
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("AVSucd_test_data/cell_data.inp"))
    +AddPlot("Pseudocolor", "stress sx")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.804006, 0.580568, 0.128511)
    +viewUp = (-0.482246, 0.763086, -0.430278)
    +SetView3D(v)
    +Test("avsucd_01")
    +
    +ChangeActivePlotsVar("stress sz")
    +Test("avsucd_02")
    +
    +ChangeActivePlotsVar("temp1")
    +Test("avsucd_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("AVSucd_test_data/cell_data.inp"))
    +
    +# file with vectors
    +OpenDatabase(data_path("AVSucd_test_data/vec1.1.000.inp"))
    +AddPlot("Vector", "vect")
    +DrawPlots()
    +ResetView()
    +Test("avsucd_04")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("AVSucd_test_data/vec1.1.000.inp"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint.html b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint.html new file mode 100644 index 000000000..e0cc3218b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint.html @@ -0,0 +1,2819 @@ + +Results for databases/blueprint.py + +

    Results of VisIt Regression Test - databases/blueprint

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    2D Example JSON Mesh Files
    blueprint_2d_json_points_mesh0.000.00
    blueprint_2d_json_points_braid0.000.00
    blueprint_2d_json_points_radial0.000.00
    blueprint_2d_json_uniform_mesh0.000.00
    blueprint_2d_json_uniform_braid0.000.00
    blueprint_2d_json_uniform_radial0.000.00
    blueprint_2d_json_rect_mesh0.000.00
    blueprint_2d_json_rect_braid0.000.00
    blueprint_2d_json_rect_radial0.000.00
    blueprint_2d_json_struct_mesh0.000.00
    blueprint_2d_json_struct_braid0.000.00
    blueprint_2d_json_struct_radial0.000.00
    blueprint_2d_json_tris_mesh0.000.00
    blueprint_2d_json_tris_braid0.000.00
    blueprint_2d_json_tris_radial0.000.00
    blueprint_2d_json_quads_mesh0.000.00
    blueprint_2d_json_quads_braid0.000.00
    blueprint_2d_json_quads_radial0.000.00
    2D Example HDF5 Mesh Files
    blueprint_2d_hdf5_points_mesh0.000.00
    blueprint_2d_hdf5_points_braid0.000.00
    blueprint_2d_hdf5_points_radial0.000.00
    blueprint_2d_hdf5_uniform_mesh0.000.00
    blueprint_2d_hdf5_uniform_braid0.000.00
    blueprint_2d_hdf5_uniform_radial0.000.00
    blueprint_2d_hdf5_rect_mesh0.000.00
    blueprint_2d_hdf5_rect_braid0.000.00
    blueprint_2d_hdf5_rect_radial0.000.00
    blueprint_2d_hdf5_struct_mesh0.000.00
    blueprint_2d_hdf5_struct_braid0.000.00
    blueprint_2d_hdf5_struct_radial0.000.00
    blueprint_2d_hdf5_tris_mesh0.000.00
    blueprint_2d_hdf5_tris_braid0.000.00
    blueprint_2d_hdf5_tris_radial0.000.00
    blueprint_2d_hdf5_quads_mesh0.000.00
    blueprint_2d_hdf5_quads_braid0.000.00
    blueprint_2d_hdf5_quads_radial0.000.00
    2D Example Sidre HDF5 Mesh Files
    blueprint_2d_sidre_hdf5_points_mesh0.000.00
    blueprint_2d_sidre_hdf5_points_braid0.000.00
    blueprint_2d_sidre_hdf5_points_radial0.000.00
    blueprint_2d_sidre_hdf5_uniform_mesh0.000.00
    blueprint_2d_sidre_hdf5_uniform_braid0.000.00
    blueprint_2d_sidre_hdf5_uniform_radial0.000.00
    blueprint_2d_sidre_hdf5_rect_mesh0.000.00
    blueprint_2d_sidre_hdf5_rect_braid0.000.00
    blueprint_2d_sidre_hdf5_rect_radial0.000.00
    blueprint_2d_sidre_hdf5_struct_mesh0.000.00
    blueprint_2d_sidre_hdf5_struct_braid0.000.00
    blueprint_2d_sidre_hdf5_struct_radial0.000.00
    blueprint_2d_sidre_hdf5_tris_mesh0.000.00
    blueprint_2d_sidre_hdf5_tris_braid0.000.00
    blueprint_2d_sidre_hdf5_tris_radial0.000.00
    blueprint_2d_sidre_hdf5_quads_mesh0.000.00
    blueprint_2d_sidre_hdf5_quads_braid0.000.00
    blueprint_2d_sidre_hdf5_quads_radial0.000.00
    3D Example JSON Mesh Files
    blueprint_3d_json_points_mesh0.000.00
    blueprint_3d_json_points_braid0.000.00
    blueprint_3d_json_points_radial0.000.00
    blueprint_3d_json_uniform_mesh0.000.00
    blueprint_3d_json_uniform_braid0.000.00
    blueprint_3d_json_uniform_radial0.000.00
    blueprint_3d_json_rect_mesh0.000.00
    blueprint_3d_json_rect_braid0.000.00
    blueprint_3d_json_rect_radial0.000.00
    blueprint_3d_json_struct_mesh0.000.00
    blueprint_3d_json_struct_braid0.000.00
    blueprint_3d_json_struct_radial0.000.00
    blueprint_3d_json_tets_mesh0.000.00
    blueprint_3d_json_tets_braid0.000.00
    blueprint_3d_json_tets_radial0.000.00
    blueprint_3d_json_hexs_mesh0.000.00
    blueprint_3d_json_hexs_braid0.000.00
    blueprint_3d_json_hexs_radial0.000.00
    3D Example HDF5 Mesh Files
    blueprint_3d_hdf5_points_mesh0.000.00
    blueprint_3d_hdf5_points_braid0.000.00
    blueprint_3d_hdf5_points_radial0.000.00
    blueprint_3d_hdf5_uniform_mesh0.000.00
    blueprint_3d_hdf5_uniform_braid0.000.00
    blueprint_3d_hdf5_uniform_radial0.000.00
    blueprint_3d_hdf5_rect_mesh0.000.00
    blueprint_3d_hdf5_rect_braid0.000.00
    blueprint_3d_hdf5_rect_radial0.000.00
    blueprint_3d_hdf5_struct_mesh0.000.00
    blueprint_3d_hdf5_struct_braid0.000.00
    blueprint_3d_hdf5_struct_radial0.000.00
    blueprint_3d_hdf5_tets_mesh0.000.00
    blueprint_3d_hdf5_tets_braid0.000.00
    blueprint_3d_hdf5_tets_radial0.000.00
    blueprint_3d_hdf5_hexs_mesh0.000.00
    blueprint_3d_hdf5_hexs_braid0.000.00
    blueprint_3d_hdf5_hexs_radial0.000.00
    3D Example Sidre HDF5 Mesh Files
    blueprint_3d_sidre_hdf5_points_mesh0.000.00
    blueprint_3d_sidre_hdf5_points_braid0.000.00
    blueprint_3d_sidre_hdf5_points_radial0.000.00
    blueprint_3d_sidre_hdf5_uniform_mesh0.000.00
    blueprint_3d_sidre_hdf5_uniform_braid0.000.00
    blueprint_3d_sidre_hdf5_uniform_radial0.000.00
    blueprint_3d_sidre_hdf5_rect_mesh0.000.00
    blueprint_3d_sidre_hdf5_rect_braid0.000.00
    blueprint_3d_sidre_hdf5_rect_radial0.000.00
    blueprint_3d_sidre_hdf5_struct_mesh0.000.00
    blueprint_3d_sidre_hdf5_struct_braid0.000.00
    blueprint_3d_sidre_hdf5_struct_radial0.000.00
    blueprint_3d_sidre_hdf5_tets_mesh0.000.00
    blueprint_3d_sidre_hdf5_tets_braid0.000.00
    blueprint_3d_sidre_hdf5_tets_radial0.000.00
    blueprint_3d_sidre_hdf5_hexs_mesh0.000.00
    blueprint_3d_sidre_hdf5_hexs_braid0.000.00
    blueprint_3d_sidre_hdf5_hexs_radial0.000.00
    MFEM Blueprint Example Data Tests
    blueprint_mfem_3d_periodic_cube_json_sol0.000.00
    blueprint_mfem_3d_periodic_cube_json_ele_coloring0.000.00
    blueprint_mfem_3d_periodic_cube_json_ele_att0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_bin_sol0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_bin_ele_coloring0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_bin_ele_att0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_json_sol0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_json_ele_coloring0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_json_ele_att0.000.00
    blueprint_mfem_3d_periodic_cube_hdf5_sol0.000.00
    blueprint_mfem_3d_periodic_cube_hdf5_ele_coloring0.000.00
    blueprint_mfem_3d_periodic_cube_hdf5_ele_att0.000.00
    blueprint_mfem_3d_star_q3_json_sol0.000.00
    blueprint_mfem_3d_star_q3_json_ele_coloring0.000.00
    blueprint_mfem_3d_star_q3_json_ele_att0.000.00
    blueprint_mfem_3d_star_q3_conduit_bin_sol0.000.00
    blueprint_mfem_3d_star_q3_conduit_bin_ele_coloring0.000.00
    blueprint_mfem_3d_star_q3_conduit_bin_ele_att0.000.00
    blueprint_mfem_3d_star_q3_conduit_json_sol0.000.00
    blueprint_mfem_3d_star_q3_conduit_json_ele_coloring0.000.00
    blueprint_mfem_3d_star_q3_conduit_json_ele_att0.000.00
    blueprint_mfem_3d_star_q3_hdf5_sol0.000.00
    blueprint_mfem_3d_star_q3_hdf5_ele_coloring0.000.00
    blueprint_mfem_3d_star_q3_hdf5_ele_att0.000.00
    blueprint_mfem_2d_periodic_hexagon_json_sol0.000.00
    blueprint_mfem_2d_periodic_hexagon_json_ele_coloring0.000.00
    blueprint_mfem_2d_periodic_hexagon_json_ele_att0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_bin_sol0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_bin_ele_coloring0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_bin_ele_att0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_json_sol0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_json_ele_coloring0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_json_ele_att0.000.00
    blueprint_mfem_2d_periodic_hexagon_hdf5_sol0.000.00
    blueprint_mfem_2d_periodic_hexagon_hdf5_ele_coloring0.000.00
    blueprint_mfem_2d_periodic_hexagon_hdf5_ele_att0.000.00
    MFEM LOR Mesh Blueprint Tests
    blueprint_mfem_3d_periodic_cube_json_lor0.000.00
    blueprint_mfem_3d_periodic_cube_json_legacy_lor0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_bin_lor0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_bin_legacy_lor0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_json_lor0.000.00
    blueprint_mfem_3d_periodic_cube_conduit_json_legacy_lor0.000.00
    blueprint_mfem_3d_periodic_cube_hdf5_lor0.000.00
    blueprint_mfem_3d_periodic_cube_hdf5_legacy_lor0.000.00
    blueprint_mfem_3d_star_q3_json_lor0.000.00
    blueprint_mfem_3d_star_q3_json_legacy_lor0.000.00
    blueprint_mfem_3d_star_q3_conduit_bin_lor0.000.00
    blueprint_mfem_3d_star_q3_conduit_bin_legacy_lor0.000.00
    blueprint_mfem_3d_star_q3_conduit_json_lor0.000.00
    blueprint_mfem_3d_star_q3_conduit_json_legacy_lor0.000.00
    blueprint_mfem_3d_star_q3_hdf5_lor0.000.00
    blueprint_mfem_3d_star_q3_hdf5_legacy_lor0.000.00
    blueprint_mfem_2d_periodic_hexagon_json_lor0.000.00
    blueprint_mfem_2d_periodic_hexagon_json_legacy_lor0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_bin_lor0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_bin_legacy_lor0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_json_lor0.000.00
    blueprint_mfem_2d_periodic_hexagon_conduit_json_legacy_lor0.000.00
    blueprint_mfem_2d_periodic_hexagon_hdf5_lor0.000.00
    blueprint_mfem_2d_periodic_hexagon_hdf5_legacy_lor0.000.00
    blueprint_mfem_3d_esher_lor0.000.00
    blueprint_mfem_3d_esher_legacy_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_legacy_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_legacy_lor0.000.00
    blueprint_mfem_2d_tri_beam_lor0.000.00
    blueprint_mfem_2d_tri_beam_legacy_lor0.000.00
    blueprint_mfem_3d_warbly_cube_lor0.000.00
    blueprint_mfem_3d_warbly_cube_legacy_lor0.000.00
    MFEM LOR Field Blueprint Tests
    blueprint_mfem_3d_esher_pseudocolor_mesh_nodes_magnitude_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_mesh_nodes_magnitude_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_density_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_specific_internal_energy_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_pseudocolor_velocity_magnitude_lor0.000.00
    blueprint_mfem_3d_laghos_tg.cycle_vector_velocity_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_pseudocolor_mesh_nodes_magnitude_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_pseudocolor_density_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_pseudocolor_specific_internal_energy_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_pseudocolor_velocity_magnitude_lor0.000.00
    blueprint_mfem_3d_taylor_green.cycle_vector_velocity_lor0.000.00
    blueprint_mfem_2d_tri_beam_pseudocolor_mesh_nodes_magnitude_lor0.000.00
    blueprint_mfem_2d_tri_beam_vector_mesh_nodes_lor0.000.00
    blueprint_mfem_3d_warbly_cube_pseudocolor_mesh_nodes_magnitude_lor0.000.00
    Blueprint Expressions
    blueprint_expressions0.000.00
    Variables With Parens
    paren_vars_000.000.00
    Blueprint Matset Example Tests: venn_small_full
    venn_small_full_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_full Matvf Exprs
    venn_small_full_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_full Val4mat Exprs
    venn_small_full_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element
    venn_small_sparse_by_element_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element Matvf Exprs
    venn_small_sparse_by_element_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element Val4mat Exprs
    venn_small_sparse_by_element_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material
    venn_small_sparse_by_material_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material Matvf Exprs
    venn_small_sparse_by_material_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material Val4mat Exprs
    venn_small_sparse_by_material_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_full_yaml
    venn_small_full_yaml_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_full_yaml Matvf Exprs
    venn_small_full_yaml_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_yaml_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_yaml_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_full_yaml_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_full_yaml Val4mat Exprs
    venn_small_full_yaml_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_yaml_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_yaml_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_full_yaml_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element_yaml
    venn_small_sparse_by_element_yaml_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element_yaml Matvf Exprs
    venn_small_sparse_by_element_yaml_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_yaml_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_yaml_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_element_yaml_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_element_yaml Val4mat Exprs
    venn_small_sparse_by_element_yaml_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_yaml_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_yaml_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_element_yaml_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material_yaml
    venn_small_sparse_by_material_yaml_mat_check0.000.00
    testeq_t_mat_check_max
     4320 .eq. 4320 (prec=5) : True
    testeq_mat_check_min
     1 .eq. 1 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material_yaml Matvf Exprs
    venn_small_sparse_by_material_yaml_vf_bg0.000.00
    testeq_vf_bg_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_bg_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_yaml_vf_c_a0.000.00
    testeq_vf_c_a_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_a_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_yaml_vf_c_b0.000.00
    testeq_vf_c_b_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_b_min
     0.0 .eq. 0.0 (prec=5) : True
    venn_small_sparse_by_material_yaml_vf_c_c0.000.00
    testeq_vf_c_c_max
     1.0 .eq. 1.0 (prec=5) : True
    testeq_vf_c_c_min
     0.0 .eq. 0.0 (prec=5) : True
    Blueprint Matset Example Tests: venn_small_sparse_by_material_yaml Val4mat Exprs
    venn_small_sparse_by_material_yaml_v4m_bg0.000.00
    testeq_v4m_bg_max
     1 .eq. 1 (prec=5) : True
    testeq_v4m_bg_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_yaml_v4m_c_a0.000.00
    testeq_v4m_c_a_max
     20 .eq. 20 (prec=5) : True
    testeq_v4m_c_a_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_yaml_v4m_c_b0.000.00
    testeq_v4m_c_b_max
     300 .eq. 300 (prec=5) : True
    testeq_v4m_c_b_min
     0 .eq. 0 (prec=5) : True
    venn_small_sparse_by_material_yaml_v4m_c_c0.000.00
    testeq_v4m_c_c_max
     4000 .eq. 4000 (prec=5) : True
    testeq_v4m_c_c_min
     0 .eq. 0 (prec=5) : True
    Venn With Modded Material Numbers, 0.8.7
    Venn_with_modded_matnos0.000.00
    2D Example HDF5 Mesh Files, 0.8.2
    blueprint_2d_hdf5_0_8_2_points_mesh0.000.00
    blueprint_2d_hdf5_0_8_2_points_braid0.000.00
    blueprint_2d_hdf5_0_8_2_points_radial0.000.00
    blueprint_2d_hdf5_0_8_2_uniform_mesh0.000.00
    blueprint_2d_hdf5_0_8_2_uniform_braid0.000.00
    blueprint_2d_hdf5_0_8_2_uniform_radial0.000.00
    blueprint_2d_hdf5_0_8_2_rect_mesh0.000.00
    blueprint_2d_hdf5_0_8_2_rect_braid0.000.00
    blueprint_2d_hdf5_0_8_2_rect_radial0.000.00
    blueprint_2d_hdf5_0_8_2_struct_mesh0.000.00
    blueprint_2d_hdf5_0_8_2_struct_braid0.000.00
    blueprint_2d_hdf5_0_8_2_struct_radial0.000.00
    blueprint_2d_hdf5_0_8_2_tris_mesh0.000.00
    blueprint_2d_hdf5_0_8_2_tris_braid0.000.00
    blueprint_2d_hdf5_0_8_2_tris_radial0.000.00
    blueprint_2d_hdf5_0_8_2_quads_mesh0.000.00
    blueprint_2d_hdf5_0_8_2_quads_braid0.000.00
    blueprint_2d_hdf5_0_8_2_quads_radial0.000.00
    blueprint_2d_hdf5_0_8_2_points_implicit_mesh0.000.00
    blueprint_2d_hdf5_0_8_2_points_implicit_braid0.000.00
    blueprint_2d_hdf5_0_8_2_points_implicit_radial0.000.00
    2D Example YAML Mesh Files, 0.8.2
    blueprint_2d_yaml_0_8_2_points_mesh0.000.00
    blueprint_2d_yaml_0_8_2_points_braid0.000.00
    blueprint_2d_yaml_0_8_2_points_radial0.000.00
    blueprint_2d_yaml_0_8_2_uniform_mesh0.000.00
    blueprint_2d_yaml_0_8_2_uniform_braid0.000.00
    blueprint_2d_yaml_0_8_2_uniform_radial0.000.00
    blueprint_2d_yaml_0_8_2_rect_mesh0.000.00
    blueprint_2d_yaml_0_8_2_rect_braid0.000.00
    blueprint_2d_yaml_0_8_2_rect_radial0.000.00
    blueprint_2d_yaml_0_8_2_struct_mesh0.000.00
    blueprint_2d_yaml_0_8_2_struct_braid0.000.00
    blueprint_2d_yaml_0_8_2_struct_radial0.000.00
    blueprint_2d_yaml_0_8_2_tris_mesh0.000.00
    blueprint_2d_yaml_0_8_2_tris_braid0.000.00
    blueprint_2d_yaml_0_8_2_tris_radial0.000.00
    blueprint_2d_yaml_0_8_2_quads_mesh0.000.00
    blueprint_2d_yaml_0_8_2_quads_braid0.000.00
    blueprint_2d_yaml_0_8_2_quads_radial0.000.00
    blueprint_2d_yaml_0_8_2_points_implicit_mesh0.000.00
    blueprint_2d_yaml_0_8_2_points_implicit_braid0.000.00
    blueprint_2d_yaml_0_8_2_points_implicit_radial0.000.00
    3D Example HDF5 Mesh Files, 0.8.2
    blueprint_3d_hdf5_0_8_2_points_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_points_braid0.000.00
    blueprint_3d_hdf5_0_8_2_points_radial0.000.00
    blueprint_3d_hdf5_0_8_2_uniform_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_uniform_braid0.000.00
    blueprint_3d_hdf5_0_8_2_uniform_radial0.000.00
    blueprint_3d_hdf5_0_8_2_rect_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_rect_braid0.000.00
    blueprint_3d_hdf5_0_8_2_rect_radial0.000.00
    blueprint_3d_hdf5_0_8_2_struct_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_struct_braid0.000.00
    blueprint_3d_hdf5_0_8_2_struct_radial0.000.00
    blueprint_3d_hdf5_0_8_2_tets_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_tets_braid0.000.00
    blueprint_3d_hdf5_0_8_2_tets_radial0.000.00
    blueprint_3d_hdf5_0_8_2_hexs_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_hexs_braid0.000.00
    blueprint_3d_hdf5_0_8_2_hexs_radial0.000.00
    blueprint_3d_hdf5_0_8_2_points_implicit_mesh0.000.00
    blueprint_3d_hdf5_0_8_2_points_implicit_braid0.000.00
    blueprint_3d_hdf5_0_8_2_points_implicit_radial0.000.00
    3D Example YAML Mesh Files, 0.8.2
    blueprint_3d_yaml_0_8_2_points_mesh0.000.00
    blueprint_3d_yaml_0_8_2_points_braid0.000.00
    blueprint_3d_yaml_0_8_2_points_radial0.000.00
    blueprint_3d_yaml_0_8_2_uniform_mesh0.000.00
    blueprint_3d_yaml_0_8_2_uniform_braid0.000.00
    blueprint_3d_yaml_0_8_2_uniform_radial0.000.00
    blueprint_3d_yaml_0_8_2_rect_mesh0.000.00
    blueprint_3d_yaml_0_8_2_rect_braid0.000.00
    blueprint_3d_yaml_0_8_2_rect_radial0.000.00
    blueprint_3d_yaml_0_8_2_struct_mesh0.000.00
    blueprint_3d_yaml_0_8_2_struct_braid0.000.00
    blueprint_3d_yaml_0_8_2_struct_radial0.000.00
    blueprint_3d_yaml_0_8_2_tets_mesh0.000.00
    blueprint_3d_yaml_0_8_2_tets_braid0.000.00
    blueprint_3d_yaml_0_8_2_tets_radial0.000.00
    blueprint_3d_yaml_0_8_2_hexs_mesh0.000.00
    blueprint_3d_yaml_0_8_2_hexs_braid0.000.00
    blueprint_3d_yaml_0_8_2_hexs_radial0.000.00
    blueprint_3d_yaml_0_8_2_points_implicit_mesh0.000.00
    blueprint_3d_yaml_0_8_2_points_implicit_braid0.000.00
    blueprint_3d_yaml_0_8_2_points_implicit_radial0.000.00
    Polygonal 2D Example HDF5 Mesh Files, 0.8.2
    blueprint_poly_2d_hdf5_0_8_2_mesh_topo_mesh0.000.00
    blueprint_poly_2d_hdf5_0_8_2_mesh_topo_level0.000.00
    Polygonal 2D Example YAML Mesh Files, 0.8.2
    blueprint_poly_2d_yaml_0_8_2_mesh_topo_mesh0.000.00
    blueprint_poly_2d_yaml_0_8_2_mesh_topo_level0.000.00
    Polygonal 3D Example HDF5 Mesh Files, 0.8.2
    blueprint_poly_3d_hdf5_0_8_2_mesh_topo_mesh0.000.00
    blueprint_poly_3d_hdf5_0_8_2_mesh_topo_level0.000.00
    Polygonal 3D Example YAML Mesh Files, 0.8.2
    blueprint_poly_3d_yaml_0_8_2_mesh_topo_mesh0.000.00
    blueprint_poly_3d_yaml_0_8_2_mesh_topo_level0.000.00
    Blueprint with Partition Map Style Index, 0.8.4
    bp_part_map_index_example0.000.00
    bp_part_map_index_single_file_example0.000.00
    bp_sparse_topos_example0.000.00
    bp_part_map_spiral_case_-10.000.00
    bp_part_map_spiral_case_00.000.00
    bp_part_map_spiral_case_10.000.00
    bp_part_map_spiral_case_20.000.00
    bp_part_map_spiral_case_30.000.00
    bp_part_map_spiral_case_40.000.00
    bp_part_map_spiral_case_50.000.00
    bp_part_map_spiral_case_60.000.00
    bp_part_map_spiral_case_70.000.00
    bp_part_map_spiral_case_80.000.00
    Blueprint Strided Structured, 0.8.4
    bp_strided_struct_2d_ele_vals0.000.00
    bp_strided_struct_2d_vert_vals0.000.00
    bp_strided_struct_3d_ele_vals0.000.00
    bp_strided_struct_3d_vert_vals0.000.00
    Blueprint RZ Examples, 0.8.6
    blueprint_rz_cyl_rectilinear.root_plot_2D0.000.00
    blueprint_rz_cyl_rectilinear.root_plot_revolved_to_3D1000000.0069.22
    blueprint_rz_cyl_uniform.root_plot_2D0.000.00
    blueprint_rz_cyl_uniform.root_plot_revolved_to_3D100.0069.22
    blueprint_rz_cyl_structured.root_plot_2D0.000.00
    blueprint_rz_cyl_structured.root_plot_revolved_to_3D0.000.00
    blueprint_rz_cyl_unstructured.root_plot_2D0.000.00
    blueprint_rz_cyl_unstructured.root_plot_revolved_to_3D0.000.00
    Blueprint 1D Curve Examples, 0.8.6
    blueprint_1d_curve_vertex_assoc0.000.00
    blueprint_1d_curve_element_assoc0.000.00
    Blueprint Polytopal Mesh Missing Offsets, 0.8.7
    Polytopal_mesh_missing_offsets0.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_axom_klee.html b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_axom_klee.html new file mode 100644 index 000000000..ef26024cd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_axom_klee.html @@ -0,0 +1,144 @@ + +Results for databases/blueprint_axom_klee.py + +

    Results of VisIt Regression Test - databases/blueprint_axom_klee

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    P0 Material
    blueprint_axom_klee_0_000.000.00
    P2 Material
    blueprint_axom_klee_1_000.000.00
    blueprint_axom_klee_1_010.000.00
    blueprint_axom_klee_1_020.000.00
    blueprint_axom_klee_1_030.000.00
    P5 Material
    blueprint_axom_klee_2_000.000.00
    blueprint_axom_klee_2_010.000.00
    blueprint_axom_klee_2_020.000.00
    blueprint_axom_klee_2_030.000.00
    matvf on HO materials
    blueprint_axom_klee_3_000.000.00
    blueprint_axom_klee_3_010.000.00
    blueprint_axom_klee_3_020.000.00
    blueprint_axom_klee_3_030.000.00
    blueprint_axom_klee_3_040.000.00
    blueprint_axom_klee_3_050.000.00
    blueprint_axom_klee_3_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_axom_klee_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_axom_klee_py.html new file mode 100644 index 000000000..7ef83d08e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_axom_klee_py.html @@ -0,0 +1,151 @@ +databases/blueprint_axom_klee.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  blueprint_axom_klee.py 
    +#
    +#  Tests:      blueprint hdf5 files 
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed May 31 15:59:22 PDT 2023
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Blueprint")
    +from os.path import join as pjoin
    +
    +def bj_test_helper(datadir, prefix, sectionText):
    +    TestSection(sectionText)
    +    db = data_path(pjoin("axom_klee_test_data", datadir, "shaping.root"))
    +    OpenDatabase(db)
    +    AddPlot("FilledBoundary", "shaping_mesh_material")
    +    fb = FilledBoundaryAttributes(1)
    +    fb.SetMultiColor(0, (255,0,0,255))
    +    fb.SetMultiColor(1, (0,255,0,255))
    +    fb.SetMultiColor(2, (0,0,255,255))
    +    fb.SetMultiColor(3, (0,255,255,255))
    +    SetPlotOptions(fb)
    +    AddPlot("Mesh", "shaping_mesh")
    +    DrawPlots()
    +    v = GetView2D()
    +    v.windowCoords = (7.83773, 12.304, 8.64959, 13.1412)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v)
    +    SetActivePlots((0,1))
    +
    +    Test(prefix + "_00")
    +
    +    # Increase the resolution.
    +    AddOperator("MultiresControl", 1)
    +    m = MultiresControlAttributes()
    +    m.resolution = 4
    +    m.maxResolution = 10
    +    SetOperatorOptions(m)
    +    DrawPlots()
    +    Test(prefix + "_01")
    +
    +    v2 = GetView2D()
    +    v2.windowCoords = (9.50025, 10.5163, 10.8769, 11.9097)
    +    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v2)
    +    Test(prefix + "_02")
    +
    +    # Look at one of the volume fractions. It should be refined
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "shaping_mesh/vol_frac_steel", 1, 1)
    +    DrawPlots()
    +    SetView2D(v)
    +    Test(prefix + "_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test0():
    +    TestSection("P0 Material")
    +    db = data_path(pjoin("axom_klee_test_data", "heroic_roses_o0", "shaping.root"))
    +    OpenDatabase(db)
    +
    +    AddPlot("FilledBoundary", "shaping_mesh_material")
    +    fb = FilledBoundaryAttributes(1)
    +    fb.SetMultiColor(0, (0,0,0,255))
    +    fb.SetMultiColor(1, (80,80,220,255))
    +    fb.SetMultiColor(2, (93,241,160,255))
    +    fb.SetMultiColor(3, (0,120,0,255))
    +    fb.SetMultiColor(4, (90,100,50,255))
    +    fb.SetMultiColor(5, (241,132,171,255))
    +    fb.SetMultiColor(6, (184,158,241,255))
    +    fb.SetMultiColor(7, (240,0,0,255))
    +    fb.SetMultiColor(8, (255,153,0,255))
    +    SetPlotOptions(fb)
    +    DrawPlots()
    +    ResetView()
    +    Test("blueprint_axom_klee_0_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test1():
    +    bj_test_helper("balls_and_jacks_q7o2", "blueprint_axom_klee_1", "P2 Material")
    +
    +def test2():
    +    bj_test_helper("balls_and_jacks_q7o5", "blueprint_axom_klee_2", "P5 Material")
    +
    +def test3():
    +    TestSection("matvf on HO materials")
    +    db = data_path(pjoin("axom_klee_test_data", "3mat_q12o12", "shaping.root"))
    +    OpenDatabase(db)
    +
    +    AddPlot("FilledBoundary", "shaping_mesh_material")
    +    AddOperator("MultiresControl")
    +    op = MultiresControlAttributes()
    +    op.resolution = 16
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    Test("blueprint_axom_klee_3_00")
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression("vf_inner", 'matvf(shaping_mesh_material, "inner")')
    +    DefineScalarExpression("vf_middle", 'matvf(shaping_mesh_material, "middle")')
    +    DefineScalarExpression("vf_outer", 'matvf(shaping_mesh_material, "outer")')
    +    AddPlot("Pseudocolor", "vf_inner")
    +    AddOperator("MultiresControl")
    +    op = MultiresControlAttributes()
    +    op.resolution = 3
    +    op.maxResolution = 20
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    Test("blueprint_axom_klee_3_01")
    +    op.resolution = 20
    +    SetOperatorOptions(op)
    +    Test("blueprint_axom_klee_3_02")
    +
    +    ChangeActivePlotsVar("vf_middle")
    +    op.resolution = 3
    +    SetOperatorOptions(op)
    +    Test("blueprint_axom_klee_3_03")
    +    op.resolution = 20
    +    SetOperatorOptions(op)
    +    Test("blueprint_axom_klee_3_04")
    +
    +    ChangeActivePlotsVar("vf_outer")
    +    op.resolution = 3
    +    SetOperatorOptions(op)
    +    Test("blueprint_axom_klee_3_05")
    +    op.resolution = 20
    +    SetOperatorOptions(op)
    +    Test("blueprint_axom_klee_3_06")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def main():
    +    test0()
    +    test1()
    +    test2()
    +    test3()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_export.html b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_export.html new file mode 100644 index 000000000..635b2c601 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_export.html @@ -0,0 +1,539 @@ + +Results for databases/blueprint_export.py + +

    Results of VisIt Regression Test - databases/blueprint_export

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    basic_multi_rect3d.silo_input0.000.00
    basic_multi_rect3d.silo_isosurface0.000.00
    basic_multi_rect3d.silo_default_exported0.000.00
    basic_multi_rect3d.silo_isosurface_exported0.000.00
    basic_multi_curv3d.silo_input0.000.00
    basic_multi_curv3d.silo_isosurface0.000.00
    basic_multi_curv3d.silo_default_exported0.000.00
    basic_multi_curv3d.silo_isosurface_exported0.000.00
    basic_multi_curv2d.silo_input0.000.00
    basic_multi_curv2d.silo_isosurface0.000.00
    basic_multi_curv2d.silo_default_exported0.000.00
    basic_multi_curv2d.silo_isosurface_exported0.000.00
    basic_multi_ucd3d.silo_input0.000.00
    basic_multi_ucd3d.silo_isosurface0.000.00
    basic_multi_ucd3d.silo_default_exported0.000.00
    basic_multi_ucd3d.silo_isosurface_exported0.000.00
    basic_multi_rect2d.silo_input0.000.00
    basic_multi_rect2d.silo_isosurface0.000.00
    basic_multi_rect2d.silo_default_exported0.000.00
    basic_multi_rect2d.silo_isosurface_exported0.000.00
    Blueprint partition
    multi_rect3d.silo0.000.00
    multi_rect3d.silo_partition1_0_0.000.00
    multi_rect3d.silo_partition1_1_0.000.00
    multi_rect3d.silo_partition4_0_0.000.00
    multi_rect3d.silo_partition4_1_0.000.00
    multi_rect3d.silo_partition19_0_0.000.00
    multi_rect3d.silo_partition19_1_0.000.00
    multi_rect3d.silo_partition45_0_0.000.00
    multi_rect3d.silo_partition45_1_0.000.00
    multi_curv3d.silo0.000.00
    multi_curv3d.silo_partition1_0_0.000.00
    multi_curv3d.silo_partition1_1_0.000.00
    multi_curv3d.silo_partition4_0_0.000.00
    multi_curv3d.silo_partition4_1_0.000.00
    multi_curv3d.silo_partition19_0_0.000.00
    multi_curv3d.silo_partition19_1_0.000.00
    multi_curv3d.silo_partition45_0_0.000.00
    multi_curv3d.silo_partition45_1_0.000.00
    multi_ucd3d.silo0.000.00
    multi_ucd3d.silo_partition1_0_0.000.00
    multi_ucd3d.silo_partition1_1_0.000.00
    multi_ucd3d.silo_partition4_0_0.000.00
    multi_ucd3d.silo_partition4_1_0.000.00
    multi_ucd3d.silo_partition19_0_0.000.00
    multi_ucd3d.silo_partition19_1_0.000.00
    multi_ucd3d.silo_partition45_0_0.000.00
    multi_ucd3d.silo_partition45_1_0.000.00
    multi_curv2d.silo0.000.00
    multi_curv2d.silo_partition1_0_0.000.00
    multi_curv2d.silo_partition1_1_0.000.00
    multi_curv2d.silo_partition4_0_0.000.00
    multi_curv2d.silo_partition4_1_0.000.00
    multi_curv2d.silo_partition7_0_0.000.00
    multi_curv2d.silo_partition7_1_0.000.00
    multi_curv2d.silo_partition13_0_0.000.00
    multi_curv2d.silo_partition13_1_0.000.00
    multi_curv2d.silo_partition19_0_0.000.00
    multi_curv2d.silo_partition19_1_0.000.00
    multi_rect2d.silo0.000.00
    multi_rect2d.silo_partition1_0_0.000.00
    multi_rect2d.silo_partition1_1_0.000.00
    multi_rect2d.silo_partition4_0_0.000.00
    multi_rect2d.silo_partition4_1_0.000.00
    multi_rect2d.silo_partition7_0_0.000.00
    multi_rect2d.silo_partition7_1_0.000.00
    multi_rect2d.silo_partition13_0_0.000.00
    multi_rect2d.silo_partition13_1_0.000.00
    multi_rect2d.silo_partition19_0_0.000.00
    multi_rect2d.silo_partition19_1_0.000.00
    Extra options
    DefaultMesh0.000.00
    JSONOptions0.000.00
    YAMLOptions0.000.00
    OverrideOptions0.000.00
    Blueprint flatten
    noise.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    noise.silo.csv-element_data.csv0 modifications totalling 0 lines
    multi_rect3d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    multi_rect3d.silo.csv-element_data.csv0 modifications totalling 0 lines
    structured_multi_rect3d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    structured_multi_rect3d.silo.csv-element_data.csv0 modifications totalling 0 lines
    unstructured_multi_rect3d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    unstructured_multi_rect3d.silo.csv-element_data.csv0 modifications totalling 0 lines
    multi_rect2d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    multi_rect2d.silo.csv-element_data.csv0 modifications totalling 0 lines
    structured_multi_rect2d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    structured_multi_rect2d.silo.csv-element_data.csv0 modifications totalling 0 lines
    ucd2d.silo.csv-vertex_data.csv0 modifications totalling 0 lines
    ucd2d.silo.csv-element_data.csv0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_export_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_export_py.html new file mode 100644 index 000000000..88ee17aba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_export_py.html @@ -0,0 +1,504 @@ +databases/blueprint_export.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial parallel
    +#  CLASSES: nightly
    +#
    +#  Test Case:  blueprint_export.py
    +#
    +#  Tests:      Tests blueprint export features "partition" and "flatten".
    +#
    +#  Programmer: Christopher Laganella
    +#  Date:       Tue Dec 14 12:35:16 EST 2021
    +#
    +#  Modifications:
    +#
    +#  Chris Laganella, Mon Feb 14 14:39:48 EST 2022
    +#  I added a test case for user provided JSON/YAML options
    +# ----------------------------------------------------------------------------
    +import time
    +import sys
    +import os.path
    +
    +# Uncomment these functions to run the script through the regular CLI
    +# def Exit():
    +#     print("Exiting test...")
    +#     return
    +
    +# def RequiredDatabasePlugin(name):
    +#     print("This test requires database plugin " + name)
    +#     return
    +
    +# def TestSection(name):
    +#     print("---- " + name + " ----")
    +#     return
    +
    +# def Test(name):
    +#     s = SaveWindowAttributes()
    +#     s.fileName = name
    +#     SetSaveWindowAttributes(s)
    +#     SaveWindow()
    +#     return
    +
    +# def TestText(name):
    +#     print("Testing text file {}".format(name))
    +
    +# def silo_data_path(name):
    +#     retval = os.path.join("/mnt/data/il/VisIt/VisItClass/data", name)
    +#     # print(retval)
    +#     return retval
    +
    +def load_text(file_name):
    +    # print("Loading text from {}".format(os.path.abspath(file_name)), file=sys.stderr)
    +    with open(file_name, 'r') as f:
    +        return f.read()
    +
    +def set_view(case_name, view=None):
    +    if "2d" in case_name:
    +        ResetView()
    +    else:
    +        SetView3D(view)
    +
    +
    +def test_name(case, i):
    +    return case + "_" + str(i) + "_"
    +
    +# Export DB as bp data set
    +def export_mesh_bp(case_name, varname):
    +    export_name = case_name
    +    e = ExportDBAttributes()
    +    e.db_type = "Blueprint"
    +    e.filename = export_name
    +    e.variables = (varname,)
    +    ExportDatabase(e)
    +    time.sleep(1)
    +    return export_name + ".cycle_000000.root"
    +
    +# Export DB as csv, return the folder name
    +def create_csv_output(case_name):
    +    export_name = case_name
    +    e = ExportDBAttributes()
    +    e.db_type = "Blueprint"
    +    e.filename = export_name
    +    e.variables = ('mesh_coords', 'zc_mesh_coords')
    +    opts = GetExportOptions("Blueprint")
    +    opts["Operation"] = "Flatten_CSV"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    return export_name + ".csv"
    +
    +def test_csv_output(case_name):
    +    vert_file = os.path.join(case_name, "vertex_data.csv")
    +    elem_file = os.path.join(case_name, "element_data.csv")
    +    vert_baseline = case_name + "-" + "vertex_data.csv"
    +    elem_baseline = case_name + "-" + "element_data.csv"
    +    TestText(vert_baseline, load_text(vert_file))
    +    TestText(elem_baseline, load_text(elem_file))
    +
    +def define_mesh_expressions(mesh_name):
    +    DefineScalarExpression("nid", "nodeid({})".format(mesh_name))
    +    DefineScalarExpression("zid", "zoneid({})".format(mesh_name))
    +    DefineScalarExpression("mesh_coords", "coords({})".format(mesh_name))
    +    DefineScalarExpression("zc_mesh_coords", "recenter(mesh_coords, \"zonal\")")
    +    return ("nid", "zid", "mesh_coords", "zc_mesh_coords")
    +
    +# 's' for structured 'r' for rectilinear
    +def flatten_multi_2d_case(case):
    +    case_name = "multi_rect2d.silo"
    +    mesh_name = "mesh1"
    +    export_name = case_name
    +
    +    # Use multi_rect3d to create all cases
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Mesh", mesh_name)
    +
    +    # Define some mesh based variables
    +    vars = define_mesh_expressions(mesh_name)
    +
    +    AddOperator("Resample")
    +    ra = ResampleAttributes()
    +    ra.samplesX = 5
    +    ra.samplesY = 4
    +    ra.is3D = 0
    +    ra.distributedResample = 1
    +    SetOperatorOptions(ra)
    +
    +    AddOperator("DeferExpression")
    +    dea = DeferExpressionAttributes()
    +    dea.exprs = vars
    +    SetOperatorOptions(dea)
    +
    +    if case == 's':
    +        AddOperator("Transform")
    +        ta = TransformAttributes()
    +        ta.doRotate = 1
    +        # ta.rotateType = "Deg"
    +        ta.rotateAmount = 0.00001
    +        SetOperatorOptions(ta)
    +        export_name = "structured_" + case_name
    +
    +    DrawPlots()
    +
    +    # Create csv file
    +    export_dir = create_csv_output(export_name)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    # Test text
    +    test_csv_output(export_dir)
    +
    +def flatten_multi_2d_unstructured_case():
    +    case_name = "ucd2d.silo"
    +    mesh_name = "ucdmesh2d"
    +    export_name = case_name
    +
    +    # Use multi_curv2d and remove cells
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Mesh", mesh_name)
    +
    +    # Define some mesh based variables
    +    vars = define_mesh_expressions(mesh_name)
    +
    +    AddOperator("Threshold")
    +    ta = ThresholdAttributes()
    +    ta.listedVarNames = ("zid",)
    +    ta.lowerBounds = (8,)
    +    ta.upperBounds = (11,)
    +    SetOperatorOptions(ta)
    +    export_name = case_name
    +
    +    AddOperator("DeferExpression")
    +    dea = DeferExpressionAttributes()
    +    dea.exprs = ("mesh_coords", "zc_mesh_coords")
    +    SetOperatorOptions(dea)
    +
    +    DrawPlots()
    +
    +    # Create csv file
    +    export_dir = create_csv_output(export_name)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    # Test text
    +    test_csv_output(export_dir)
    +
    +# case = 'u' for unstructured, 'r' for rectilinear, 's' for structured
    +def flatten_multi_3d_case(case):
    +    case_name = "multi_rect3d.silo"
    +    mesh_name = "mesh1"
    +    export_name = case_name
    +    # Use multi_rect3d to create all cases
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Mesh", mesh_name)
    +
    +    # Define some mesh based variables
    +    vars = define_mesh_expressions(mesh_name)
    +
    +    AddOperator("Resample")
    +    ra = ResampleAttributes()
    +    ra.samplesX = 5
    +    ra.samplesY = 4
    +    ra.samplesZ = 3
    +    ra.distributedResample = 1
    +    SetOperatorOptions(ra)
    +
    +    AddOperator("DeferExpression")
    +    dea = DeferExpressionAttributes()
    +    dea.exprs = vars
    +    SetOperatorOptions(dea)
    +
    +    if case == 'u':
    +        AddOperator("Threshold")
    +        ta = ThresholdAttributes()
    +        ta.listedVarNames = ("zid",)
    +        ta.lowerBounds = (1,)
    +        SetOperatorOptions(ta)
    +        export_name = "unstructured_" + case_name
    +    elif case == 's':
    +        AddOperator("Transform")
    +        ta = TransformAttributes()
    +        ta.doRotate = 1
    +        # ta.rotateType = "Deg"
    +        ta.rotateAmount = 0.00001
    +        SetOperatorOptions(ta)
    +        export_name = "structured_" + case_name
    +    # Do nothing for rectilinear
    +
    +    DrawPlots()
    +
    +    # Create csv file
    +    export_dir = create_csv_output(export_name)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    # Test text
    +    test_csv_output(export_dir)
    +
    +def flatten_noise():
    +    case_name = "noise.silo"
    +    mesh_name = "Mesh"
    +    samples = (5, 4, 3)
    +
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Mesh", mesh_name)
    +
    +    # Expose coordinates as variables
    +    vars = define_mesh_expressions(mesh_name)
    +
    +    # Resample
    +    AddOperator("Resample")
    +    ra = ResampleAttributes()
    +    ra.samplesX = samples[0]
    +    ra.samplesY = samples[1]
    +    ra.samplesZ = samples[2]
    +    SetOperatorOptions(ra)
    +
    +    AddOperator("DeferExpression")
    +    dea = DeferExpressionAttributes()
    +    dea.exprs = vars
    +    SetOperatorOptions(dea)
    +
    +    DrawPlots()
    +
    +    # Create the CSV output
    +    export_dir = create_csv_output(case_name)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    # Test text
    +    test_csv_output(export_dir)
    +
    +def partition_test_case(case_name, targets, view=None):
    +    # Write the original dataset
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    set_view(case_name, view)
    +    Test(case_name)
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    for target in targets:
    +        export_name = case_name + "_partition" + str(target)
    +        export_filename = export_name + ".cycle_000000.root"
    +
    +        # Plot the original dataset
    +        OpenDatabase(silo_data_path(case_name))
    +        AddPlot("Pseudocolor", "u")
    +        DrawPlots()
    +        set_view(case_name, view)
    +
    +        # Set the export database attributes.
    +        e = ExportDBAttributes()
    +        e.db_type = "Blueprint"
    +        e.filename = export_name
    +        e.variables = ("u")
    +        opts = GetExportOptions("Blueprint")
    +        opts["Operation"] = "Partition"
    +        opts["Partition target number of domains"] = target
    +        print("About to partition " + case_name + " into "
    +            + str(target) + " blocks.")
    +        ExportDatabase(e, opts)
    +        time.sleep(1)
    +        DeleteAllPlots()
    +        CloseDatabase(silo_data_path(case_name))
    +
    +        OpenDatabase(export_filename)
    +        AddPlot("Pseudocolor", "mesh_topo/u")
    +        DrawPlots()
    +        set_view(case_name, view)
    +        Test(test_name(export_name, 0))
    +        DeleteAllPlots()
    +
    +        AddPlot("Subset", "domains")
    +        DrawPlots()
    +        set_view(case_name, view)
    +        Test(test_name(export_name, 1))
    +        DeleteAllPlots()
    +        CloseDatabase(export_filename)
    +
    +def partition_test_extra_options():
    +    dbname = "multi_rect2d.silo"
    +    TestSection("Extra options")
    +    OpenDatabase(silo_data_path(dbname))
    +    AddPlot("Subset", "domains(mesh1)")
    +    DrawPlots()
    +    Test("DefaultMesh")
    +
    +    # Test JSON
    +    e0 = ExportDBAttributes()
    +    e0.db_type = "Blueprint"
    +    e0.filename = "multi_rect2d_json_target_1"
    +    e0.variables = ("u")
    +    opts0 = GetExportOptions("Blueprint")
    +    opts0["Operation"] = "Partition"
    +    opts0["Flatten / Partition extra options"] = '{"target": 1}'
    +    ExportDatabase(e0, opts0)
    +    time.sleep(1)
    +
    +    # Test YAML
    +    e1 = ExportDBAttributes()
    +    e1.db_type = "Blueprint"
    +    e1.filename = "multi_rect2d_yaml_target_1"
    +    e1.variables = ("u")
    +    opts1 = GetExportOptions("Blueprint")
    +    opts1["Operation"] = "Partition"
    +    opts1["Flatten / Partition extra options"]  = 'target: 1'
    +    ExportDatabase(e1, opts1)
    +    time.sleep(1)
    +
    +    # Test that the JSON/YAML overrides the options field
    +    e2 = ExportDBAttributes()
    +    e2.db_type = "Blueprint"
    +    e2.filename = "multi_rect2d_override_target_1"
    +    e2.variables = ("u")
    +    opts2 = GetExportOptions("Blueprint")
    +    opts2["Operation"] = "Partition"
    +    opts2["Partition target number of domains"] = 13
    +    opts2["Flatten / Partition extra options"]  = 'target: 1'
    +    ExportDatabase(e2, opts2)
    +    time.sleep(1)
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(dbname))
    +
    +    OpenDatabase("multi_rect2d_json_target_1.cycle_000000.root")
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("JSONOptions")
    +    DeleteAllPlots()
    +    CloseDatabase("multi_rect2d_json_target_1.cycle_000000.root")
    +
    +    OpenDatabase("multi_rect2d_yaml_target_1.cycle_000000.root")
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("YAMLOptions")
    +    DeleteAllPlots()
    +    CloseDatabase("multi_rect2d_yaml_target_1.cycle_000000.root")
    +
    +    OpenDatabase("multi_rect2d_override_target_1.cycle_000000.root")
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("OverrideOptions")
    +    DeleteAllPlots()
    +    CloseDatabase("multi_rect2d_override_target_1.cycle_000000.root")
    +
    +def basic_test_case(case_name, varname = "d"):
    +    OpenDatabase(silo_data_path(case_name))
    +    AddPlot("Pseudocolor",varname)
    +    DrawPlots()
    +    Test("basic_" + case_name + "_input")
    +    # export default
    +    export_rfile_default = export_mesh_bp(case_name + "_default", varname)
    +    # export post isosurface
    +    AddOperator("Isosurface")
    +    DrawPlots()
    +    Test("basic_" + case_name + "_isosurface")
    +    export_rfile_isos = export_mesh_bp(case_name + "_isosurface", varname)
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(case_name))
    +
    +    OpenDatabase(export_rfile_default)
    +    # bp var names are qualified by topo
    +    AddPlot("Pseudocolor","mesh_topo/" + varname)
    +    DrawPlots()
    +    Test("basic_" + case_name + "_default_exported")
    +    DeleteAllPlots()
    +    CloseDatabase(export_rfile_default)
    +
    +    OpenDatabase(export_rfile_isos)
    +    # bp var names are qualified by topo
    +    AddPlot("Pseudocolor", "mesh_topo/" + varname)
    +    DrawPlots()
    +    Test("basic_" + case_name + "_isosurface_exported")
    +    DeleteAllPlots()
    +    CloseDatabase(export_rfile_isos)
    +
    +
    +def test_basic():
    +    basic_test_case("multi_rect3d.silo")
    +    basic_test_case("multi_curv3d.silo")
    +    basic_test_case("multi_curv2d.silo")
    +    basic_test_case("multi_ucd3d.silo")
    +    basic_test_case("multi_rect2d.silo")
    +
    +def test_flatten():
    +    TestSection("Blueprint flatten")
    +
    +    flatten_noise()
    +    flatten_multi_3d_case('r')
    +    flatten_multi_3d_case('s')
    +    flatten_multi_3d_case('u')
    +
    +    flatten_multi_2d_case('r')
    +    flatten_multi_2d_case('s')
    +    flatten_multi_2d_unstructured_case()
    +
    +def test_partition():
    +    TestSection("Blueprint partition")
    +
    +    # Need a couple different views
    +    rect3d_view = GetView3D()
    +    rect3d_view.viewNormal = (-0.467474, 0.301847, 0.830877)
    +    rect3d_view.focus = (0.5, 0.5, 0.5)
    +    rect3d_view.viewUp = (0.140705, 0.953323, -0.267166)
    +    rect3d_view.viewAngle = 30
    +    rect3d_view.parallelScale = 0.866025
    +    rect3d_view.nearPlane = -1.73205
    +    rect3d_view.farPlane = 1.73205
    +    rect3d_view.imagePan = (-0.0154649, 0.027457)
    +    rect3d_view.imageZoom = 1.14276
    +    rect3d_view.perspective = 1
    +    rect3d_view.eyeAngle = 2
    +    rect3d_view.centerOfRotationSet = 0
    +    rect3d_view.centerOfRotation = (0.5, 0.5, 0.5)
    +    rect3d_view.axis3DScaleFlag = 0
    +    rect3d_view.axis3DScales = (1, 1, 1)
    +    rect3d_view.shear = (0, 0, 1)
    +    rect3d_view.windowValid = 1
    +
    +    curv3d_view = GetView3D()
    +    curv3d_view.viewNormal = (-0.254971, 0.246468, 0.93501)
    +    curv3d_view.focus = (0, 2.5, 15)
    +    curv3d_view.viewUp = (0.0453522, 0.968953, -0.243049)
    +    curv3d_view.viewAngle = 30
    +    curv3d_view.parallelScale = 16.0078
    +    curv3d_view.nearPlane = -32.0156
    +    curv3d_view.farPlane = 32.0156
    +    curv3d_view.imagePan = (0, 0)
    +    curv3d_view.imageZoom = 1.21
    +    curv3d_view.perspective = 1
    +    curv3d_view.eyeAngle = 2
    +    curv3d_view.centerOfRotationSet = 0
    +    curv3d_view.centerOfRotation = (0, 2.5, 15)
    +    curv3d_view.axis3DScaleFlag = 0
    +    curv3d_view.axis3DScales = (1, 1, 1)
    +    curv3d_view.shear = (0, 0, 1)
    +    curv3d_view.windowValid = 1
    +
    +    # Run 3D tests
    +    targets_3d = (1, 4, 19, 45)
    +    partition_test_case("multi_rect3d.silo",
    +        targets_3d, rect3d_view)
    +    partition_test_case("multi_curv3d.silo",
    +        targets_3d, curv3d_view)
    +    partition_test_case("multi_ucd3d.silo",
    +        targets_3d, curv3d_view)
    +
    +    # Run 2D tests
    +    targets_2d = (1, 4, 7, 13, 19)
    +    partition_test_case("multi_curv2d.silo",
    +        targets_2d)
    +    partition_test_case("multi_rect2d.silo",
    +        targets_2d)
    +
    +    # Test extra options
    +    partition_test_extra_options()
    +
    +RequiredDatabasePlugin("Blueprint")
    +test_basic()
    +test_partition()
    +test_flatten()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_py.html new file mode 100644 index 000000000..4b3158c18 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_blueprint_py.html @@ -0,0 +1,761 @@ +databases/blueprint.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  blueprint.py 
    +#
    +#  Tests:      blueprint hdf5 files 
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Thu Jun 16 10:56:37 PDT 2016
    +#
    +#  Modifications:
    +#
    +#    Alister Maguire, Fri Jul 17 16:29:50 PDT 2020
    +#    Added a test to ensure that variables containing parentheses
    +#    are able to be visualized.
    +#
    +#    Justin Privitera Fri 04 Mar 2022 05:57:49 PM PST
    +#    Added tests to test new implicit points topologies.
    +# 
    +#    Justin Privitera, Mon May 23 17:53:56 PDT 2022
    +#    Added polytopal tests.
    +# 
    +#    Justin Privitera, Mon May 23 17:53:56 PDT 2022
    +#    Added mfem lor tests.
    +#
    +#    Cyrus Harrison, Thu Dec 22 13:53:17 PST 2022
    +#    Added bp part map and initial strided structured tests/ 
    +#
    +#    Cyrus Harrison, Mon, Mar 20, 2023  3:34:04 PM 
    +#    Added rz test examples
    +# 
    +#    Justin Privitera, Wed Mar 22 16:09:52 PDT 2023
    +#    Added 1d curve test examples.
    +# 
    +#    Justin Privitera, Fri Mar 24 17:47:26 PDT 2023
    +#    Fixed view issue for mfem lor vector field tests.
    +#    Fixed an issue where test names had two consecutive underscores.
    +# 
    +#    Justin Privitera, Tue Sep 19 11:36:45 PDT 2023
    +#    Added a test for material numbers not in the range [0, N)
    +# 
    +#    Justin Privitera, Wed Oct 25 17:29:07 PDT 2023
    +#    Added a test for a polygonal mesh with no offsets.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Blueprint")
    +
    +from os.path import join as pjoin
    +
    +bp_test_dir = "blueprint_v0.3.1_test_data"
    +bp_venn_test_dir = "blueprint_v0.7.0_venn_test_data"
    +bp_mfem_test_dir = "blueprint_v0.3.1_mfem_test_data"
    +bp_0_8_2_test_dir = "blueprint_v0.8.2_braid_examples_test_data"
    +bp_poly_test_dir = "blueprint_v0.8.2_polytess_test_data"
    +bp_devilray_mfem_test_dir = "blueprint_v0.8.3_devilray_mfem_test_data"
    +bp_part_map_test_dir = "blueprint_v0.8.4_part_map_examples"
    +bp_struct_strided_test_dir = "blueprint_v0.8.4_strided_structured_examples"
    +bp_rz_test_dir = "blueprint_v0.8.6_rz_examples"
    +bp_1d_curve_test_dir = "blueprint_v0.8.6_1d_curve_examples"
    +bp_venn_modded_matnos_dir = "blueprint_v0.8.7_venn_modded_matnos_example"
    +bp_poly_no_offsets_dir = "blueprint_v0.8.7_polytopal_mesh_no_offsets"
    +
    +braid_2d_hdf5_root = data_path(pjoin(bp_test_dir,"braid_2d_examples.blueprint_root_hdf5"))
    +braid_3d_hdf5_root = data_path(pjoin(bp_test_dir,"braid_3d_examples.blueprint_root_hdf5"))
    +
    +braid_2d_json_root = data_path(pjoin(bp_test_dir,"braid_2d_examples_json.root"))
    +braid_3d_json_root = data_path(pjoin(bp_test_dir,"braid_3d_examples_json.root"))
    +
    +braid_2d_sidre_root = data_path(pjoin(bp_test_dir,"braid_2d_sidre_examples.root"))
    +braid_3d_sidre_root = data_path(pjoin(bp_test_dir,"braid_3d_sidre_examples.root"))
    +
    +braid_2d_0_8_2_hdf5_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_2d_examples_hdf5.root"))
    +braid_3d_0_8_2_hdf5_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_3d_examples_hdf5.root"))
    +braid_2d_0_8_2_yaml_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_2d_examples_yaml.root"))
    +braid_3d_0_8_2_yaml_root = data_path(pjoin(bp_0_8_2_test_dir,"braid_3d_examples_yaml.root"))
    +
    +poly_2d_hdf5_root = data_path(pjoin(bp_poly_test_dir,"polytess_example_hdf5.root"))
    +poly_2d_yaml_root = data_path(pjoin(bp_poly_test_dir,"polytess_example_yaml.root"))
    +poly_3d_hdf5_root = data_path(pjoin(bp_poly_test_dir,"polytess_3d_example_hdf5.root"))
    +poly_3d_yaml_root = data_path(pjoin(bp_poly_test_dir,"polytess_3d_example_yaml.root"))
    +
    +uniform_root = data_path(pjoin(bp_test_dir,"uniform.cycle_001038.root"))
    +
    +#
    +# venn test data (multi material)
    +#
    +
    +venn_full_root  =  data_path(pjoin(bp_venn_test_dir,
    +                             "venn_small_example_full_hdf5.root"))
    +venn_s_by_e_root  =  data_path(pjoin(bp_venn_test_dir,
    +                               "venn_small_example_sparse_by_element_hdf5.root"))
    +
    +venn_s_by_m_root  =  data_path(pjoin(bp_venn_test_dir,
    +                               "venn_small_example_sparse_by_material_hdf5.root"))
    +
    +venn_full_yaml_root  =  data_path(pjoin(bp_venn_test_dir,
    +                             "venn_small_example_full_yaml.root"))
    +venn_s_by_e_yaml_root  =  data_path(pjoin(bp_venn_test_dir,
    +                               "venn_small_example_sparse_by_element_yaml.root"))
    +
    +venn_s_by_m_yaml_root  =  data_path(pjoin(bp_venn_test_dir,
    +                               "venn_small_example_sparse_by_material_yaml.root"))
    +
    +venn_modded_matnos_root = data_path(pjoin(bp_venn_modded_matnos_dir,
    +                                "venn_w_modded_matnos.root"))
    +
    +polytopal_mesh_no_offsets_root = data_path(pjoin(bp_poly_no_offsets_dir,
    +                                "polytopal_mesh_no_offsets.root"))
    +
    +bp_part_map_root = data_path(pjoin(bp_part_map_test_dir,
    +                             "tout_custom_part_map_index_hdf5.root"))
    +
    +bp_part_map_single_file_root = data_path(pjoin(bp_part_map_test_dir,
    +                                         "tout_single_file_part_map_index_hdf5.root"))
    +
    +bp_spiral_part_map_examples = []
    +for i in range(-1,9):
    +    bp_spiral_part_map_examples.append(data_path(pjoin(bp_part_map_test_dir,
    +                                       "tout_relay_spiral_mesh_save_nfiles_{0}.cycle_000000.root".format(i))))
    +
    +bp_sparse_topos_root = data_path(pjoin(bp_part_map_test_dir,
    +                                        "tout_relay_bp_mesh_sparse_topos_hdf5.root"))
    +
    +
    +bp_struct_strided_2d_root = data_path(pjoin(bp_struct_strided_test_dir,
    +                                      "strided_structured_2d_hdf5.root"));
    +
    +
    +bp_struct_strided_3d_root = data_path(pjoin(bp_struct_strided_test_dir,
    +                                      "strided_structured_3d_hdf5.root"));
    +
    +bp_rz_examples = []
    +bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_rectilinear.root")))
    +bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_uniform.root")))
    +bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_structured.root")))
    +bp_rz_examples.append(data_path(pjoin(bp_rz_test_dir,"blueprint_rz_cyl_unstructured.root")))
    +
    +bp_1d_curve_examples = [data_path(pjoin(bp_1d_curve_test_dir,"curves_1d.root"))]
    +
    +braid_2d_meshes = ["points", "uniform", "rect", "struct", "tris","quads"]
    +braid_3d_meshes = ["points", "uniform", "rect", "struct", "tets","hexs"]
    +
    +braid_2d_meshes_0_8_2 = ["points", "uniform", "rect", "struct", "tris","quads", "points_implicit"]
    +braid_3d_meshes_0_8_2 = ["points", "uniform", "rect", "struct", "tets","hexs", "points_implicit"]
    +
    +class mfem_ex9_example:
    +    def __init__(self, name, dim):
    +        self.name = name
    +        self.dim = dim
    +
    +mfem_ex9_examples = []
    +mfem_ex9_examples.append(mfem_ex9_example("periodic_cube", "3d"))
    +mfem_ex9_examples.append(mfem_ex9_example("star_q3", "3d"))
    +mfem_ex9_examples.append(mfem_ex9_example("periodic_hexagon", "2d"))
    +mfem_ex9_protocols = ["json","conduit_bin","conduit_json","hdf5"]
    +
    +class devilray_mfem_example:
    +    def __init__(self, name, number, pseudo_fields, vector_fields, dim):
    +        self.name = name
    +        self.number = number
    +        self.pseudo_fields = pseudo_fields
    +        self.vector_fields = vector_fields
    +        self.dim = dim
    +
    +devilray_mfem_examples = []
    +devilray_mfem_examples.append(devilray_mfem_example("esher", "000000", ["mesh_nodes_magnitude"], [], "3d"))
    +devilray_mfem_examples.append(devilray_mfem_example("laghos_tg.cycle", "000350", ["mesh_nodes_magnitude", "density", "specific_internal_energy", "velocity_magnitude"], ["velocity"], "3d"))
    +devilray_mfem_examples.append(devilray_mfem_example("taylor_green.cycle", "001860", ["mesh_nodes_magnitude", "density", "specific_internal_energy", "velocity_magnitude"], ["velocity"], "3d"))
    +devilray_mfem_examples.append(devilray_mfem_example("tri_beam", "000000", ["mesh_nodes_magnitude"], ["mesh_nodes"], "2d"))
    +devilray_mfem_examples.append(devilray_mfem_example("warbly_cube", "000000", ["mesh_nodes_magnitude"], [], "3d"))
    +
    +def full_mesh_name(mesh_name):
    +    return mesh_name + "_mesh"
    +
    +def full_var_name(mesh_name,var_name):
    +    return full_mesh_name(mesh_name) + "/" + var_name
    +
    +def mfem_test_file(name, protocol):
    +    return data_path(pjoin(bp_mfem_test_dir,"bp_mfem_ex9_%s_%s_000000.root" % ( name, protocol)))
    +
    +def devilray_mfem_test_file(name, number):
    +    return data_path(pjoin(bp_devilray_mfem_test_dir, name + "_" + number + ".root"))
    +
    +def set_3d_view():
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.510614, 0.302695, 0.804767)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (-0.0150532, 0.932691, -0.360361)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def set_3d_poly_view():
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.50151, -0.632781, 0.589979)
    +    v.focus = (-2.46025e-13, 6.43929e-14, 4.5)
    +    v.viewUp = (0.364523, 0.463898, 0.807416)
    +    v.viewAngle = 30
    +    v.parallelScale = 7.93494
    +    v.nearPlane = -15.8699
    +    v.farPlane = 15.8699
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (-2.46025e-13, 6.43929e-14, 4.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +
    +def set_test_view(tag_name):
    +    if "3d" in tag_name:
    +        if "poly" in tag_name:
    +            set_3d_poly_view()
    +        else:
    +            set_3d_view()
    +    else:
    +        ResetView()
    +
    +def test(mesh_name,tag_name):
    +    #
    +    AddPlot("Mesh","%s" % full_mesh_name(mesh_name))
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  mesh_name + "_mesh")
    +    DeleteAllPlots()
    +    ResetView()
    +    #
    +    AddPlot("Pseudocolor", full_var_name(mesh_name,"braid"))
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  mesh_name + "_braid")
    +    DeleteAllPlots()
    +    ResetView()
    +    #
    +    AddPlot("Pseudocolor", full_var_name(mesh_name,"radial"))
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  mesh_name + "_radial")
    +    DeleteAllPlots()
    +    ResetView()
    +
    +def test_poly(tag_name):
    +    #
    +    AddPlot("Mesh", "mesh_topo")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_mesh_topo_mesh")
    +    DeleteAllPlots()
    +    ResetView()
    +    #
    +    AddPlot("Pseudocolor", "mesh_topo/level")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_mesh_topo_level")
    +    DeleteAllPlots()
    +    ResetView()
    +
    +def test_mfem(tag_name, example_name, protocol):
    +    readOptions = GetDefaultFileOpenOptions("Blueprint")
    +    readOptions["MFEM LOR Setting"] = "Legacy LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +
    +    dbfile = mfem_test_file(example_name,protocol)
    +    OpenDatabase(dbfile)
    +    #
    +    AddPlot("Pseudocolor", "mesh_main/solution")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  example_name + "_" + protocol + "_sol")
    +    #
    +    DeleteAllPlots()
    +    ResetView()
    +    AddPlot("Pseudocolor", "mesh_main/element_coloring")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  example_name + "_" + protocol + "_ele_coloring")
    +    #
    +    DeleteAllPlots()
    +    ResetView()
    +    AddPlot("Pseudocolor", "mesh_main/element_attribute")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  example_name + "_" + protocol + "_ele_att")
    +    #
    +    DeleteAllPlots()
    +    ResetView()
    +
    +    CloseDatabase(dbfile)
    +
    +    # reset read options to default
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +
    +def test_mfem_lor_mesh(tag_name, example_name, protocol, devilray = False, number = "000000"):
    +    dbfile = ""
    +    if (devilray):
    +        dbfile = devilray_mfem_test_file(example_name, number)
    +    else:
    +        dbfile = mfem_test_file(example_name, protocol)
    +
    +    # get default options
    +    readOptions = GetDefaultFileOpenOptions("Blueprint")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    # we want to test a picture of a wireframe
    +    # new LOR should only have the outer edge
    +    AddPlot("Subset", "mesh_main")
    +    SubsetAtts = SubsetAttributes()
    +    SubsetAtts.wireframe = 1
    +    SetPlotOptions(SubsetAtts)
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  example_name + ("_" + protocol if not devilray else "") + "_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(dbfile)
    +
    +    ##############################
    +
    +    # examine legacy
    +    readOptions = GetDefaultFileOpenOptions("Blueprint")
    +    readOptions["MFEM LOR Setting"] = "Legacy LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    # old LOR leaves a busy wireframe
    +    AddPlot("Subset", "mesh_main")
    +    SubsetAtts = SubsetAttributes()
    +    SubsetAtts.wireframe = 1
    +    SetPlotOptions(SubsetAtts)
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_" +  example_name + ("_" + protocol if not devilray else "") + "_legacy_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(dbfile)
    +
    +    # restore default
    +    readOptions = GetDefaultFileOpenOptions("Blueprint")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +
    +def test_mfem_lor_field(tag_name, name, number, pseudocolor_fields, vector_fields):
    +    readOptions = GetDefaultFileOpenOptions("Blueprint")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("Blueprint", readOptions)
    +    dbfile = devilray_mfem_test_file(name, number)
    +    OpenDatabase(dbfile)
    +
    +    for field in pseudocolor_fields:
    +        AddPlot("Pseudocolor", "mesh_main/" + field, 1, 1)
    +        AddOperator("MultiresControl", 1)
    +        SetActivePlots(0)
    +        MultiresControlAtts = MultiresControlAttributes()
    +        MultiresControlAtts.resolution = 3
    +        SetOperatorOptions(MultiresControlAtts, 0, 1)
    +        set_test_view(tag_name)
    +        DrawPlots()
    +        Test(tag_name + "_" + name + "_pseudocolor_" + field + "_lor")
    +        DeleteAllPlots()
    +        ResetView()
    +
    +    for field in vector_fields:
    +        AddPlot("Vector", "mesh_main/" + field, 1, 1)
    +        AddOperator("MultiresControl", 1)
    +        SetActivePlots(0)
    +        MultiresControlAtts = MultiresControlAttributes()
    +        MultiresControlAtts.resolution = 3
    +        SetOperatorOptions(MultiresControlAtts, 0, 1)
    +        set_test_view(tag_name)
    +        DrawPlots()
    +        Test(tag_name + "_" + name + "_vector_" + field + "_lor")
    +        DeleteAllPlots()
    +        ResetView()
    +
    +    CloseDatabase(dbfile)
    +
    +def test_venn(tag_name, venn_db_file):
    +    TestSection("Blueprint Matset Example Tests: {0} ".format(tag_name))
    +    OpenDatabase(venn_db_file)
    +    AddPlot("Pseudocolor", "mesh_topo/mat_check")
    +    set_test_view(tag_name)
    +    DrawPlots()
    +    Test(tag_name + "_mat_check")
    +    # value check
    +    Query("minmax")
    +    res = GetQueryOutputObject()
    +    print(res)
    +    # We expect:
    +    #int(res["max"]) == 4320
    +    #int(res["min"]) == 1
    +    TestValueEQ("testeq_t_mat_check_max",int(res["max"]),4320)
    +    TestValueEQ("testeq_mat_check_min",int(res["min"]),1)
    +    DeleteAllPlots()
    +    ResetView()
    +
    +
    +    TestSection("Blueprint Matset Example Tests: {0} Matvf Exprs".format(tag_name))
    +
    +    # check all volume fractions
    +    vf_exprs = {"vf_bg":'matvf(mesh_topo_matset,"background")',
    +                "vf_c_a":'matvf(mesh_topo_matset,"circle_a")',
    +                "vf_c_b":'matvf(mesh_topo_matset,"circle_b")',
    +                "vf_c_c":'matvf(mesh_topo_matset,"circle_c")'}
    +
    +    for ename,edef in vf_exprs.items():
    +        DefineScalarExpression(ename,edef);
    +        AddPlot("Pseudocolor", ename)
    +        set_test_view(tag_name)
    +        DrawPlots()
    +        Test(tag_name + "_" + ename)
    +        # value check
    +        Query("minmax")
    +        res = GetQueryOutputObject()
    +        print(res)
    +        # We expect:
    +        #res["max"] == 1.0
    +        #res["min"] == 0.0
    +        TestValueEQ("testeq_" + ename + "_max",res["max"],1.0)
    +        TestValueEQ("testeq_" + ename + "_min",res["min"],0.0)
    +        DeleteAllPlots()
    +        ResetView()
    +
    +    TestSection("Blueprint Matset Example Tests: {0} Val4mat Exprs".format(tag_name))
    +
    +    # check all volume fractions
    +    v4m_exprs = {"v4m_bg":'val4mat(<mesh_topo/mat_check>,"background")',
    +                 "v4m_c_a":'val4mat(<mesh_topo/mat_check>,"circle_a")',
    +                 "v4m_c_b":'val4mat(<mesh_topo/mat_check>,"circle_b")',
    +                 "v4m_c_c":'val4mat(<mesh_topo/mat_check>,"circle_c")'}
    +
    +    v4m_test_vals = {"v4m_bg":     1,
    +                     "v4m_c_a":   20,
    +                     "v4m_c_b":  300,
    +                     "v4m_c_c": 4000}
    +
    +    for ename,edef in v4m_exprs.items():
    +        DefineScalarExpression(ename,edef);
    +        AddPlot("Pseudocolor", ename)
    +        set_test_view(tag_name)
    +        DrawPlots()
    +        Test(tag_name + "_" + ename)
    +        # value check
    +        Query("minmax")
    +        # We expect:
    +        res = GetQueryOutputObject()
    +        print(res)
    +        #int(res["max"]) == v4m_test_vals[ename]
    +        #int(res["min"]) == 0
    +        TestValueEQ("testeq_" + ename + "_max",int(res["max"]),v4m_test_vals[ename])
    +        TestValueEQ("testeq_" + ename + "_min",int(res["min"]),0)
    +        DeleteAllPlots()
    +        ResetView()
    +
    +
    +    CloseDatabase(venn_db_file)
    +
    +def test_rz_example(tag_name, rz_db_file):
    +    OpenDatabase(rz_db_file)
    +    AddPlot("Pseudocolor", "mesh_topo/cyl")
    +    AddPlot("Mesh", "mesh_topo")
    +    DrawPlots()
    +    ResetView()
    +    Test(tag_name + "_plot_2D")
    +    DeleteAllPlots()
    +    ResetView()
    +    # now revolve
    +    AddPlot("Pseudocolor", "mesh_topo/cyl")
    +    AddOperator("Revolve")
    +    DrawPlots()
    +    ResetView()
    +    Test(tag_name + "_plot_revolved_to_3D")
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(rz_db_file)
    +
    +
    +def test_paren_vars():
    +    TestSection("Variables With Parens")
    +
    +    #
    +    # Testing bugfix for issue #4882.
    +    #
    +    OpenDatabase(uniform_root)
    +    AddPlot("Pseudocolor", "mesh_topo/rho.Y_lp_CH2O_rp_")
    +    set_test_view("3d")
    +    DrawPlots()
    +    Test("paren_vars_00")
    +
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(uniform_root)
    +
    +
    +TestSection("2D Example JSON Mesh Files")
    +OpenDatabase(braid_2d_json_root)
    +for mesh_name in braid_2d_meshes:
    +    test(mesh_name,"blueprint_2d_json")
    +CloseDatabase(braid_2d_json_root)
    +
    +TestSection("2D Example HDF5 Mesh Files")
    +OpenDatabase(braid_2d_hdf5_root)
    +for mesh_name in braid_2d_meshes:
    +    test(mesh_name,"blueprint_2d_hdf5")
    +CloseDatabase(braid_2d_hdf5_root)
    +
    +TestSection("2D Example Sidre HDF5 Mesh Files")
    +OpenDatabase(braid_2d_sidre_root)
    +for mesh_name in braid_2d_meshes:
    +    test(mesh_name,"blueprint_2d_sidre_hdf5")
    +CloseDatabase(braid_2d_sidre_root)
    +
    +TestSection("3D Example JSON Mesh Files")
    +OpenDatabase(braid_3d_json_root)
    +for mesh_name in braid_3d_meshes:
    +    test(mesh_name,"blueprint_3d_json")
    +CloseDatabase(braid_3d_json_root)
    +
    +TestSection("3D Example HDF5 Mesh Files")
    +OpenDatabase(braid_3d_hdf5_root)
    +for mesh_name in braid_3d_meshes:
    +    test(mesh_name,"blueprint_3d_hdf5")
    +CloseDatabase(braid_3d_hdf5_root)
    +
    +TestSection("3D Example Sidre HDF5 Mesh Files")
    +OpenDatabase(braid_3d_sidre_root)
    +for mesh_name in braid_3d_meshes:
    +    test(mesh_name,"blueprint_3d_sidre_hdf5")
    +CloseDatabase(braid_3d_sidre_root)
    +
    +TestSection("MFEM Blueprint Example Data Tests")
    +for example in mfem_ex9_examples:
    +    for protocol in mfem_ex9_protocols:
    +        test_mfem("blueprint_mfem_" + example.dim, example.name, protocol)
    +
    +TestSection("MFEM LOR Mesh Blueprint Tests")
    +for example in mfem_ex9_examples:
    +    for protocol in mfem_ex9_protocols:
    +        test_mfem_lor_mesh("blueprint_mfem_" + example.dim, example.name, protocol)
    +for example in devilray_mfem_examples:
    +    test_mfem_lor_mesh("blueprint_mfem_" + example.dim, example.name, "", devilray = True, number = example.number)
    +
    +TestSection("MFEM LOR Field Blueprint Tests")
    +for example in devilray_mfem_examples:
    +    test_mfem_lor_field("blueprint_mfem_" + example.dim, example.name, example.number, example.pseudo_fields, example.vector_fields)
    +
    +TestSection("Blueprint Expressions")
    +OpenDatabase(braid_2d_json_root)
    +AddPlot("Pseudocolor", "uniform_mesh/scalar_expr")
    +AddPlot("Vector", "uniform_mesh/vector_expr")
    +DrawPlots()
    +set_test_view("2d")
    +Test("blueprint_expressions")
    +DeleteAllPlots()
    +ResetView()
    +CloseDatabase(braid_2d_json_root)
    +
    +test_paren_vars()
    +
    +test_venn("venn_small_full", venn_full_root)
    +test_venn("venn_small_sparse_by_element", venn_s_by_e_root)
    +test_venn("venn_small_sparse_by_material", venn_s_by_m_root)
    +
    +test_venn("venn_small_full_yaml", venn_full_yaml_root)
    +test_venn("venn_small_sparse_by_element_yaml", venn_s_by_e_yaml_root)
    +test_venn("venn_small_sparse_by_material_yaml", venn_s_by_m_yaml_root)
    +
    +TestSection("Venn With Modded Material Numbers, 0.8.7")
    +OpenDatabase(venn_modded_matnos_root)
    +AddPlot("FilledBoundary", "mesh_topo_matset")
    +DrawPlots()
    +ResetView()
    +Test("Venn_with_modded_matnos")
    +DeleteAllPlots()
    +ResetView()
    +
    +TestSection("2D Example HDF5 Mesh Files, 0.8.2")
    +OpenDatabase(braid_2d_0_8_2_hdf5_root)
    +for mesh_name in braid_2d_meshes_0_8_2:
    +    test(mesh_name,"blueprint_2d_hdf5_0_8_2")
    +CloseDatabase(braid_2d_0_8_2_hdf5_root)
    +
    +TestSection("2D Example YAML Mesh Files, 0.8.2")
    +OpenDatabase(braid_2d_0_8_2_yaml_root)
    +for mesh_name in braid_2d_meshes_0_8_2:
    +    test(mesh_name,"blueprint_2d_yaml_0_8_2")
    +CloseDatabase(braid_2d_0_8_2_yaml_root)
    +
    +TestSection("3D Example HDF5 Mesh Files, 0.8.2")
    +OpenDatabase(braid_3d_0_8_2_hdf5_root)
    +for mesh_name in braid_3d_meshes_0_8_2:
    +    test(mesh_name,"blueprint_3d_hdf5_0_8_2")
    +CloseDatabase(braid_3d_0_8_2_hdf5_root)
    +
    +TestSection("3D Example YAML Mesh Files, 0.8.2")
    +OpenDatabase(braid_3d_0_8_2_yaml_root)
    +for mesh_name in braid_3d_meshes_0_8_2:
    +    test(mesh_name,"blueprint_3d_yaml_0_8_2")
    +CloseDatabase(braid_3d_0_8_2_yaml_root)
    +
    +# test polygonal mesh
    +TestSection("Polygonal 2D Example HDF5 Mesh Files, 0.8.2")
    +OpenDatabase(poly_2d_hdf5_root)
    +test_poly("blueprint_poly_2d_hdf5_0_8_2")
    +CloseDatabase(poly_2d_hdf5_root)
    +
    +TestSection("Polygonal 2D Example YAML Mesh Files, 0.8.2")
    +OpenDatabase(poly_2d_yaml_root)
    +test_poly("blueprint_poly_2d_yaml_0_8_2")
    +CloseDatabase(poly_2d_yaml_root)
    +
    +# test 3d polygonal mesh
    +TestSection("Polygonal 3D Example HDF5 Mesh Files, 0.8.2")
    +OpenDatabase(poly_3d_hdf5_root)
    +test_poly("blueprint_poly_3d_hdf5_0_8_2")
    +CloseDatabase(poly_3d_hdf5_root)
    +
    +TestSection("Polygonal 3D Example YAML Mesh Files, 0.8.2")
    +OpenDatabase(poly_3d_yaml_root)
    +test_poly("blueprint_poly_3d_yaml_0_8_2")
    +CloseDatabase(poly_3d_yaml_root)
    +
    +
    +TestSection("Blueprint with Partition Map Style Index, 0.8.4")
    +OpenDatabase(bp_part_map_root)
    +AddPlot("Subset","domains")
    +DrawPlots()
    +Test("bp_part_map_index_example")
    +DeleteAllPlots()
    +CloseDatabase(bp_part_map_root)
    +# single file test case
    +OpenDatabase(bp_part_map_single_file_root)
    +AddPlot("Pseudocolor","mesh_mesh/braid")
    +DrawPlots()
    +Test("bp_part_map_index_single_file_example")
    +DeleteAllPlots()
    +CloseDatabase(bp_part_map_single_file_root)
    +# sparse topos case
    +# single file test case
    +OpenDatabase(bp_sparse_topos_root)
    +AddPlot("Pseudocolor","mesh_topo/topo_field")
    +AddPlot("Pseudocolor","mesh_pts_topo/pts_field")
    +# change plot adds so we can see the points
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointSize = 1
    +pc_atts.pointType = pc_atts.Sphere
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("bp_sparse_topos_example")
    +DeleteAllPlots()
    +CloseDatabase(bp_sparse_topos_root)
    +
    +# other spiral test cases, which have both index styles
    +for i, root_file in enumerate(bp_spiral_part_map_examples):
    +    OpenDatabase(root_file)
    +    AddPlot("Subset","domains")
    +    DrawPlots()
    +    # spiral cases are labeled -1 to 8
    +    case_name = "bp_part_map_spiral_case_{0}".format(i-1)
    +    Test(case_name)
    +    DeleteAllPlots()
    +    CloseDatabase(root_file)
    +
    +
    +TestSection("Blueprint Strided Structured, 0.8.4")
    +# 2d
    +OpenDatabase(bp_struct_strided_2d_root)
    +# ele vals
    +AddPlot("Pseudocolor", "mesh_mesh/ele_vals")
    +AddPlot("Pseudocolor", "mesh_orig_pts/orig_ele_vals")
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointSize = 0.5
    +pc_atts.pointType = pc_atts.Sphere
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("bp_strided_struct_2d_ele_vals")
    +DeleteAllPlots()
    +# vert vals
    +AddPlot("Pseudocolor", "mesh_mesh/vert_vals")
    +AddPlot("Pseudocolor", "mesh_orig_pts/orig_vert_vals")
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointSize = 0.5
    +pc_atts.pointType = pc_atts.Sphere
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("bp_strided_struct_2d_vert_vals")
    +DeleteAllPlots()
    +CloseDatabase(bp_struct_strided_2d_root)
    +
    +# 2d
    +OpenDatabase(bp_struct_strided_3d_root)
    +# ele vals
    +AddPlot("Pseudocolor", "mesh_mesh/ele_vals")
    +AddPlot("Pseudocolor", "mesh_orig_pts/orig_ele_vals")
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointSize = 0.5
    +pc_atts.pointType = pc_atts.Sphere
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("bp_strided_struct_3d_ele_vals")
    +DeleteAllPlots()
    +# vert vals
    +AddPlot("Pseudocolor", "mesh_mesh/vert_vals")
    +AddPlot("Pseudocolor", "mesh_orig_pts/orig_vert_vals")
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointSize = 0.5
    +pc_atts.pointType = pc_atts.Sphere
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("bp_strided_struct_3d_vert_vals")
    +DeleteAllPlots()
    +CloseDatabase(bp_struct_strided_3d_root)
    +
    +TestSection("Blueprint RZ Examples, 0.8.6")
    +for db in bp_rz_examples:
    +    tag_name = os.path.basename(os.path.split(db)[1])
    +    test_rz_example(tag_name,db)
    +
    +TestSection("Blueprint 1D Curve Examples, 0.8.6")
    +for db in bp_1d_curve_examples:
    +    OpenDatabase(db)
    +    AddPlot("Curve", "mesh_topo/field_v")
    +    DrawPlots()
    +    Test("blueprint_1d_curve_vertex_assoc")
    +    DeleteAllPlots()
    +    AddPlot("Curve", "mesh_topo/field_e")
    +    DrawPlots()
    +    Test("blueprint_1d_curve_element_assoc")
    +    DeleteAllPlots()
    +
    +TestSection("Blueprint Polytopal Mesh Missing Offsets, 0.8.7")
    +OpenDatabase(polytopal_mesh_no_offsets_root)
    +AddPlot("Mesh", "mesh_test")
    +AddPlot("Pseudocolor", "mesh_test/field")
    +DrawPlots()
    +ResetView()
    +Test("Polytopal_mesh_missing_offsets")
    +DeleteAllPlots()
    +ResetView()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_bov.html b/2023-11-08-22:00/pascal_trunk_serial/databases_bov.html new file mode 100644 index 000000000..8a95f759f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_bov.html @@ -0,0 +1,423 @@ + +Results for databases/bov.py + +

    Results of VisIt Regression Test - databases/bov

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Reading BOV file of FLOAT
    bov_0_000.000.00
    bov_0_010 modifications totalling 0 lines
    bov_0_020.000.00
    bov_0_030.000.00
    bov_0_040.000.00
    bov_0_050.000.00
    bov_0_060.000.00
    Decomposing BOV of FLOAT into smaller bricks
    bov_1_000.000.00
    bov_1_010 modifications totalling 0 lines
    bov_1_020.000.00
    bov_1_030.000.00
    bov_1_040.000.00
    bov_1_050.000.00
    bov_1_060.000.00
    Decomposing BOV of FLOAT with small header into smaller bricks
    bov_2_000.000.00
    bov_2_010 modifications totalling 0 lines
    bov_2_020.000.00
    bov_2_030.000.00
    bov_2_040.000.00
    bov_2_050.000.00
    bov_2_060.000.00
    Reading BOV file of DOUBLE
    bov_3_000.000.00
    bov_3_010 modifications totalling 0 lines
    bov_3_020.000.00
    bov_3_030.000.00
    bov_3_040.000.00
    bov_3_050.000.00
    bov_3_060.000.00
    Decomposing BOV of DOUBLE into smaller bricks
    bov_4_000.000.00
    bov_4_010 modifications totalling 0 lines
    bov_4_020.000.00
    bov_4_030.000.00
    bov_4_040.000.00
    bov_4_050.000.00
    bov_4_060.000.00
    Decomposing BOV of DOUBLE with small header into smaller bricks
    bov_5_000.000.00
    bov_5_010 modifications totalling 0 lines
    bov_5_020.000.00
    bov_5_030.000.00
    bov_5_040.000.00
    bov_5_050.000.00
    bov_5_060.000.00
    Reading BOV file of INT
    bov_6_000.000.00
    bov_6_010 modifications totalling 0 lines
    bov_6_020.000.00
    bov_6_030.000.00
    bov_6_040.000.00
    bov_6_050.000.00
    bov_6_060.000.00
    Decomposing BOV of INT into smaller bricks
    bov_7_000.000.00
    bov_7_010 modifications totalling 0 lines
    bov_7_020.000.00
    bov_7_030.000.00
    bov_7_040.000.00
    bov_7_050.000.00
    bov_7_060.000.00
    Decomposing BOV of INT with small header into smaller bricks
    bov_8_000.000.00
    bov_8_010 modifications totalling 0 lines
    bov_8_020.000.00
    bov_8_030.000.00
    bov_8_040.000.00
    bov_8_050.000.00
    bov_8_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_bov_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_bov_py.html new file mode 100644 index 000000000..dd2508050 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_bov_py.html @@ -0,0 +1,205 @@ +databases/bov.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  bov.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, multiple domain
    +#              plots     - Pseudocolor, Subset, Label, Contour
    +#              operators - Slice
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Mar 17 14:37:45 PST 2006
    +#
    +#  Modifications:
    +#    Brad Whitlock, Thu May 4 14:02:29 PST 2006
    +#    Added testing of INT and DOUBLE BOV files.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def SaveTestImage(name):
    +    # Save these images somewhat larger than a regular test case image
    +    # since the images contain a lot of text.
    +    backup = GetSaveWindowAttributes()
    +    swa = SaveWindowAttributes()
    +    swa.width = 500
    +    swa.height = 500
    +    swa.screenCapture = 0
    +    Test(name, swa)
    +    SetSaveWindowAttributes(backup)
    +
    +def TestBOVDivide(prefix, db, doSubset):
    +    # Take a picture to make sure that the division took. There will be
    +    # a lot of bricks.
    +    OpenDatabase(db)
    +
    +    if doSubset:
    +        AddPlot("Subset", "bricks")
    +        subAtts = SubsetAttributes()
    +        subAtts.legendFlag = 0
    +        SetPlotOptions(subAtts)
    +    else:
    +        AddPlot("Pseudocolor", "myvar")
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (0.534598, 0.40012, 0.744385)
    +    v.focus = (15, 15, 15)
    +    v.viewUp = (-0.228183, 0.916444, -0.32873)
    +    v.viewAngle = 30
    +    v.parallelScale = 8.66025
    +    v.nearPlane = -17.3205
    +    v.farPlane = 17.3205
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (15, 15, 15)
    +    SetView3D(v)
    +    Test(prefix + "00")
    +
    +    # Make sure there are the right number of zones.
    +    Query("NumZones",use_actual_data=0)
    +    TestText(prefix + "01", GetQueryOutputString())
    +
    +    # Let's slice a few times to make sure that crucial areas have the
    +    # right values
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Label", "myvar")
    +    L = LabelAttributes()
    +    L.textFont1.scale = 5
    +    L.textFont2.scale = 5
    +    SetPlotOptions(L)
    +    SetActivePlots((0,1,2))
    +    AddOperator("Slice")
    +    s = SliceAttributes()
    +    s.originType = s.Intercept  # Point, Intercept, Percent, Zone, Node
    +    s.originIntercept = 10.001
    +    s.normal = (0, 0, 1)
    +    s.axisType = s.ZAxis  # XAxis, YAxis, ZAxis, Arbitrary
    +    s.upAxis = (0, 1, 0)
    +    s.project2d = 1
    +    SetOperatorOptions(s)
    +    DrawPlots()
    +    v2 = GetView2D()
    +    v2.windowCoords = (12.0201, 13.0004, 9.99781, 10.9888)
    +    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v2.fullFrameActivationMode = v2.Auto  # On, Off, Auto
    +    v2.fullFrameAutoThreshold = 100
    +    SetView2D(v2)
    +    SaveTestImage(prefix+"02")
    +
    +    # Move to another slice on the far edge that will have the max zone #
    +    s.originIntercept = 19.998
    +    SetOperatorOptions(s)
    +    v3 = View2DAttributes()
    +    v3.windowCoords = (19.2017, 20.0179, 19.1966, 20.0217)
    +    v3.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v3.fullFrameActivationMode = v3.Auto  # On, Off, Auto
    +    v3.fullFrameAutoThreshold = 100
    +    SetView2D(v3)
    +    SaveTestImage(prefix+"03")
    +
    +    # Move to another slice in the middle.
    +    s.originIntercept = 15.01
    +    SetOperatorOptions(s)
    +    v4 = View2DAttributes()
    +    v4.windowCoords = (14.6419, 15.361, 15.638, 16.365)
    +    v4.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v4.fullFrameActivationMode = v4.Auto  # On, Off, Auto
    +    v4.fullFrameAutoThreshold = 100
    +    SetView2D(v4)
    +    SaveTestImage(prefix+"04")
    +    DeleteAllPlots()
    +
    +    # Test that ghost zones are right.
    +    AddPlot("Pseudocolor", "myvar")
    +    p = PseudocolorAttributes()
    +    p.SetOpacityType(p.Constant)
    +    p.opacity = 0.25
    +    SetPlotOptions(p)
    +    DrawPlots()
    +    v5 = View3DAttributes()
    +    v5.viewNormal = (0.772475, 0.402431, 0.491255)
    +    v5.focus = (15, 15, 15)
    +    v5.viewUp = (-0.355911, 0.915018, -0.18992)
    +    v5.viewAngle = 30
    +    v5.parallelScale = 8.66025
    +    v5.nearPlane = -17.3205
    +    v5.farPlane = 17.3205
    +    v5.imagePan = (-0.0253114, 0.0398304)
    +    v5.imageZoom = 1.20806
    +    v5.perspective = 1
    +    v5.eyeAngle = 2
    +    v5.centerOfRotationSet = 0
    +    v5.centerOfRotation = (15, 15, 15)
    +    SetView3D(v5)
    +    Test(prefix+"05")
    +
    +    # Zoom in on a contour plot to make sure that there are no tears.
    +    # This means that the ghost zones were created properly.
    +    ClearWindow()
    +    p.SetOpacityType(p.FullyOpaque)
    +    SetPlotOptions(p)
    +    AddOperator("Isosurface")
    +    iso = IsosurfaceAttributes()
    +    iso.variable = "radial"
    +    SetOperatorOptions(iso)
    +    DrawPlots()
    +    v6 = View3DAttributes()
    +    v6.viewNormal = (0.373168, 0.412282, 0.831125)
    +    v6.focus = (15, 15, 15)
    +    v6.viewUp = (-0.181836, 0.910964, -0.370244)
    +    v6.viewAngle = 30
    +    v6.parallelScale = 8.66025
    +    v6.nearPlane = -17.3205
    +    v6.farPlane = 17.3205
    +    v6.imagePan = (0.0994254, 0.0810457)
    +    v6.imageZoom = 1.94126
    +    v6.perspective = 1
    +    v6.eyeAngle = 2
    +    v6.centerOfRotationSet = 0
    +    v6.centerOfRotation = (15, 15, 15)
    +    SetView3D(v6)
    +    Test(prefix+"06")
    +    DeleteAllPlots()
    +
    +    CloseDatabase(db)
    +
    +def TestBOVType(bovtype, prefixes):
    +    # Test the original BOV file without it being divided.
    +    TestSection("Reading BOV file of %s" % bovtype)
    +    TestBOVDivide(prefixes[0], data_path("bov_test_data/%s_indices.bov") % bovtype, 0)
    +
    +    #
    +    # Test 2 BOV files that are being subdivided into smaller bricks
    +    # by the BOV plugin so that there are multiple domains that
    +    # can be processed in parallel.
    +    #
    +    TestSection("Decomposing BOV of %s into smaller bricks" % bovtype)
    +    TestBOVDivide(prefixes[1], data_path("bov_test_data/%s_indices_div.bov") % bovtype, 1)
    +
    +    TestSection("Decomposing BOV of %s with small header into smaller bricks" % bovtype)
    +    TestBOVDivide(prefixes[2], data_path("bov_test_data/%s_indices_div_with_header.bov") % bovtype, 1)
    +
    +
    +def main():
    +    # Define some expressions
    +    DefineScalarExpression("x", "coord(mesh)[0]")
    +    DefineScalarExpression("y", "coord(mesh)[1]")
    +    DefineScalarExpression("z", "coord(mesh)[2]")
    +    DefineScalarExpression("dx", "x - 15.")
    +    DefineScalarExpression("dy", "y - 15.")
    +    DefineScalarExpression("dz", "z - 15.")
    +    DefineScalarExpression("radial", "sqrt(dx*dx + dy*dy + dz*dz)")
    +
    +    TestBOVType("FLOAT",  ("bov_0_", "bov_1_", "bov_2_"))
    +    TestBOVType("DOUBLE", ("bov_3_", "bov_4_", "bov_5_"))
    +    TestBOVType("INT",    ("bov_6_", "bov_7_", "bov_8_"))
    +
    +    Exit()
    +
    +main()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_boxlib.html b/2023-11-08-22:00/pascal_trunk_serial/databases_boxlib.html new file mode 100644 index 000000000..ed6ee1142 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_boxlib.html @@ -0,0 +1,80 @@ + +Results for databases/boxlib.py + +

    Results of VisIt Regression Test - databases/boxlib

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    boxlib_010.000.00
    boxlib_020.000.00
    boxlib_030.000.00
    boxlib_040.000.00
    boxlib_050.000.00
    boxlib_060.000.00
    temperature1 min
     295.40999999999997 .eq. 295.40999999999997 (prec=15) : True
    temperature1 max
     295.4100000000001 .eq. 295.4100000000001 (prec=15) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_boxlib_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_boxlib_py.html new file mode 100644 index 000000000..cca653d05 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_boxlib_py.html @@ -0,0 +1,119 @@ +databases/boxlib.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  boxlib.py
    +#
    +#  Tests:      mesh      - 2D AMR
    +#              plots     - Pseudocolor, mesh, boundary, subset
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 31, 2005
    +#
    +#  Modifications:
    +#  
    +#    Mark C. Miller, Mon Sep 15 12:05:44 PDT 2008
    +#    Added 3D test
    +#
    +#    Mark C. Miller, Mon Jan 11 10:40:34 PST 2021
    +#    Replace Assert-style with TestValue-style tests.
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin(("Boxlib2D", "Boxlib3D"))
    +
    +
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +AddPlot("Pseudocolor", "density")
    +AddPlot("Boundary", "materials")
    +b = BoundaryAttributes()
    +b.colorType = b.ColorBySingleColor
    +b.lineWidth = 2
    +SetPlotOptions(b)
    +
    +AddPlot("Subset", "patches")
    +s = SubsetAttributes()
    +s.wireframe = 1
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (255, 255, 255, 128)
    +s.lineWidth = 3
    +SetPlotOptions(s)
    +
    +DrawPlots()
    +
    +v = GetView2D()
    +v.viewportCoords = (0, 1, 0, 1)
    +v.windowCoords = (0, 0.04, 0.09, 0.13)
    +SetView2D(v)
    +
    +Test("boxlib_01")
    +
    +SetActivePlots((0,1,2))
    +s = SILRestriction()
    +levels = s.SetsInCategory("levels")
    +level2 = levels[2]
    +s.TurnOffSet(level2)
    +SetPlotSILRestriction(s)
    +Test("boxlib_02")
    +
    +s.TurnOnAll()
    +level0 = levels[0]
    +s.TurnOffSet(level0)
    +SetPlotSILRestriction(s)
    +Test("boxlib_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +OpenDatabase(data_path("boxlib_test_data/3D/plt_asgc05_0309/Header"))
    +
    +AddPlot("Pseudocolor","tracer")
    +DrawPlots()
    +ResetView()
    +v=GetView3D()
    +v.RotateAxis(2,-45.0)
    +v.RotateAxis(0,65.0)
    +SetView3D(v)
    +Test("boxlib_04")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("boxlib_test_data/3D/plt_asgc05_0309/Header"))
    +
    +OpenDatabase(data_path("boxlib_test_data/3D/plt00000.cartgrid.body.small/Header"))
    +
    +AddPlot("Pseudocolor", "temperature")
    +AddOperator("ThreeSlice")
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.RotateAxis(1,45)
    +v.RotateAxis(0,45)
    +SetView3D(v)
    +Test("boxlib_05")
    +
    +silr = SILRestriction()
    +silr.TurnOnAll()
    +silr.TurnOffSet(silr.SetsInCategory('materials')[1])
    +SetPlotSILRestriction(silr)
    +Test("boxlib_06")
    +
    +# Test precision {
    +#
    +# Test double precision is working by reading a known double precision
    +# database and ensuring we get expected min/max values within 15 digits
    +# of accuracy.
    +#
    +DeleteAllPlots()
    +CloseDatabase(data_path("boxlib_test_data/3D/plt00000.cartgrid.body.small/Header"))
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0000000/Header"))
    +AddPlot("Pseudocolor", "temperature1")
    +DrawPlots()
    +SetQueryOutputToValue()
    +TestValueEQ("temperature1 min", Query("Min"), 295.409999999999968, 15)
    +TestValueEQ("temperature1 max", Query("Max"), 295.410000000000082, 15)
    +DeleteAllPlots()
    +CloseDatabase(data_path("boxlib_test_data/2D/plt0000000/Header"))
    +# Test precision }
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_chgcar.html b/2023-11-08-22:00/pascal_trunk_serial/databases_chgcar.html new file mode 100644 index 000000000..e942da2c0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_chgcar.html @@ -0,0 +1,120 @@ + +Results for databases/chgcar.py + +

    Results of VisIt Regression Test - databases/chgcar

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    chgcar_010.000.00
    chgcar_020.000.00
    chgcar_030.000.00
    chgcar_040.000.00
    chgcar_110.000.00
    chgcar_120.000.00
    chgcar_130.000.00
    chgcar_140.000.00
    chgcar_050.000.00
    chgcar_060.000.00
    chgcar_070.000.00
    chgcar_080.000.00
    chgcar_090.000.00
    chgcar_100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_chgcar_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_chgcar_py.html new file mode 100644 index 000000000..586a9b033 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_chgcar_py.html @@ -0,0 +1,156 @@ +databases/chgcar.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  chgcar.py
    +#
    +#  Tests:      mesh      - transformed rectilinear
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       February 20, 2007
    +#
    +#    Jeremy Meredith, Wed Aug 13 14:39:11 EDT 2008
    +#    Unrestricted the number of labels plotted.  Since I now
    +#    have automatic decomposition of chgcar files, the actual
    +#    labels chosen was varying based on serial vs parallel
    +#    (which is fine, but doesn't help for regression testing).
    +#
    +#    Hank Childs, Wed Dec 31 14:32:34 PST 2008
    +#    Rename ResamplePluginAtts to ResampleAtts.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(data_path("chgcar_test_data/CHGCAR"),0, "VASP_1.0")
    +
    +AddPlot("Pseudocolor", "charge")
    +DrawPlots()
    +
    +View3DAtts = GetView3D()
    +View3DAtts.viewNormal = (-0.85796, 0.216484, -0.465874)
    +View3DAtts.focus = (4.5, 0.5, 4)
    +View3DAtts.viewUp = (0.135878, 0.970204, 0.200602)
    +View3DAtts.viewAngle = 30
    +SetView3D(View3DAtts)
    +
    +Test("chgcar_01")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_02")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +AddOperator("Resample")
    +ResampleAtts = ResampleAttributes()
    +ResampleAtts.useExtents = 0
    +ResampleAtts.startX = 1
    +ResampleAtts.endX = 6
    +ResampleAtts.samplesX = 80
    +ResampleAtts.startY = -2
    +ResampleAtts.endY = 4
    +ResampleAtts.samplesY = 80
    +ResampleAtts.is3D = 1
    +ResampleAtts.startZ = 1
    +ResampleAtts.endZ = 6
    +ResampleAtts.samplesZ = 80
    +SetOperatorOptions(ResampleAtts)
    +DrawPlots()
    +
    +Test("chgcar_03")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_04")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +DeleteActivePlots()
    +
    +AddPlot("Mesh", "mesh")
    +AddOperator("IndexSelect",1)
    +IndexSelectAtts = IndexSelectAttributes()
    +IndexSelectAtts.dim = IndexSelectAtts.ThreeD  # OneD, TwoD, ThreeD
    +IndexSelectAtts.xMin = 2
    +SetOperatorOptions(IndexSelectAtts)
    +
    +AddPlot("Label", "charge")
    +LabelAtts = LabelAttributes()
    +LabelAtts.textFont1.scale = 7
    +LabelAtts.restrictNumberOfLabels = 0
    +SetPlotOptions(LabelAtts)
    +DrawPlots()
    +
    +Test("chgcar_11")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_12")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +DeleteAllPlots()
    +
    +
    +
    +AddPlot("Pseudocolor", "charge")
    +AddOperator("ThreeSlice")
    +ThreeSliceAtts = ThreeSliceAttributes()
    +ThreeSliceAtts.x = 3
    +ThreeSliceAtts.y = 0
    +ThreeSliceAtts.z = 4
    +SetOperatorOptions(ThreeSliceAtts)
    +DrawPlots()
    +
    +Test("chgcar_13")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_14")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +DeleteAllPlots()
    +
    +AddPlot("Volume", "charge")
    +DrawPlots()
    +VolumeAtts = VolumeAttributes()
    +VolumeAtts.lightingFlag = 0
    +VolumeAtts.opacityAttenuation = .6
    +VolumeAtts.resampleTarget = 450000
    +SetPlotOptions(VolumeAtts)
    +
    +Test("chgcar_05")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_06")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +VolumeAtts.opacityAttenuation = .9
    +SetPlotOptions(VolumeAtts)
    +
    +Test("chgcar_07")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_08")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +VolumeAtts.opacityAttenuation = .4
    +VolumeAtts.rendererType = VolumeAtts.RayCasting
    +SetPlotOptions(VolumeAtts)
    +
    +Test("chgcar_09")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR.vtk"))
    +
    +Test("chgcar_10")
    +ReplaceDatabase(data_path("chgcar_test_data/CHGCAR"))
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_claw.html b/2023-11-08-22:00/pascal_trunk_serial/databases_claw.html new file mode 100644 index 000000000..2bdb8890e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_claw.html @@ -0,0 +1,54 @@ + +Results for databases/claw.py + +

    Results of VisIt Regression Test - databases/claw

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    claw_010.000.00
    claw_020.000.00
    claw_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_claw_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_claw_py.html new file mode 100644 index 000000000..681c4b37b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_claw_py.html @@ -0,0 +1,65 @@ +databases/claw.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  claw.py 
    +#
    +#  Tests:      Claw files 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       September 13, 2007 
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# test the mesh
    +OpenDatabase(data_path("claw_test_data/2d/fort.claw"))
    +
    +TimeSliderNextState()
    +AddPlot("Mesh","claw_mesh")
    +DrawPlots()
    +SetActivePlots((1,))
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "level3":
    +        silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +Test("claw_01")
    +SetActivePlots((1,))
    +DeleteActivePlots()
    +
    +# test a variable being read 
    +AddPlot("Pseudocolor","col_00")
    +DrawPlots()
    +Test("claw_02")
    +DeleteAllPlots()
    +CloseDatabase(data_path("claw_test_data/2d/fort.claw"))
    +
    +OpenDatabase(data_path("claw_test_data/3d/fort.claw"))
    +
    +TimeSliderNextState()
    +ss = SubsetAttributes()
    +#ss.colorType = ss.ColorBySingleColor
    +ss.lineWidth = 2
    +ss.singleColor = (0, 0, 0, 255)
    +ss.wireframe = 1
    +SetPlotOptions(ss)
    +AddPlot("Pseudocolor","col_00")
    +AddPlot("Mesh","claw_mesh")
    +SetActivePlots((1,2))
    +#AddOperator("Clip", 1)
    +AddOperator("Clip")
    +clipAtts = ClipAttributes()
    +clipAtts.plane1Origin = (0.25, 0.5, 0.75)
    +clipAtts.plane1Normal = (0, 0, 1)
    +SetOperatorOptions(clipAtts)
    +DrawPlots()
    +SetActivePlots((0,))
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal = (0.383221, 0.582931, 0.716473)
    +v.viewUp = (-0.29125, 0.812382, -0.505182)
    +SetView3D(v)
    +Test("claw_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_closedatabase.html b/2023-11-08-22:00/pascal_trunk_serial/databases_closedatabase.html new file mode 100644 index 000000000..8c9c0bcb8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_closedatabase.html @@ -0,0 +1,94 @@ + +Results for databases/closedatabase.py + +

    Results of VisIt Regression Test - databases/closedatabase

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    closedatabase000.000.00
    closedatabase010 modifications totalling 0 lines
    closedatabase020 modifications totalling 0 lines
    closedatabase030.000.00
    closedatabase040.000.00
    closedatabase050 modifications totalling 0 lines
    closedatabase060 modifications totalling 0 lines
    closedatabase070 modifications totalling 0 lines
    closedatabase080 modifications totalling 0 lines
    closedatabase090 modifications totalling 0 lines
    closedatabase100 modifications totalling 0 lines
    closedatabase_exprs000 modifications totalling 0 lines
    closedatabase_exprs010 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_closedatabase_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_closedatabase_py.html new file mode 100644 index 000000000..41a9b4179 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_closedatabase_py.html @@ -0,0 +1,108 @@ +databases/closedatabase.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  closedatabase.py
    +#
    +#  Tests:      mesh      - 3D, curvilinear, single domain
    +#              plots     - Pseudocolor
    +#              databases - Silo
    +#
    +#  Purpose:    This test case tests that the viewer can close a database.
    +#
    +#  Bugs:       '3283
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Mar 19 08:57:09 PDT 2004
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Wed Apr 14 15:41:11 PDT 2010
    +#    Added test to check if database expressions are cleared after
    +#    database is closed.
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Look at astring representation of the GlobalAttributes to see the list
    +# of sources, etc.
    +#
    +def TestGlobalAttributes(testname):
    +    # Get the window information, convert it to a string, and use it as
    +    # a test case.
    +    TestText(testname, str(GetGlobalAttributes()))
    +
    +def GetCloseString(db):
    +    if(CloseDatabase(db) == 1):
    +        testString = "The database %s was closed." % os.path.abspath(db)
    +    else:
    +        testString = GetLastError()
    +    return testString
    +
    +# Open a database and create a plot
    +db = silo_data_path("wave*.silo database")
    +OpenDatabase(db, 32)
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +
    +# Get a picture of the plot.
    +Test("closedatabase00")
    +
    +# Look at the list of sources.
    +TestGlobalAttributes("closedatabase01")
    +
    +# Try and close the database. VisIt should not let us close it since there
    +# are plots that use it.
    +TestText("closedatabase02", GetCloseString(db))
    +
    +# Create another window that uses the database.
    +CloneWindow()
    +SetActiveWindow(2)
    +DrawPlots()
    +Test("closedatabase03")
    +
    +# Delete all the plots in window 1 that use the database
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +Test("closedatabase04")
    +
    +# Try and close the database. VisIt should not let us close it since there
    +# are still plots in window 2 that use it.
    +TestText("closedatabase05", GetCloseString(db))
    +
    +SetActiveWindow(2)
    +DeleteAllPlots()
    +
    +# Try and close the database. VisIt should let us close it this time.
    +testString = GetCloseString(db) + "\n" + str(GetGlobalAttributes())
    +TestText("closedatabase06", testString)
    +
    +
    +# Try adding some databases
    +dbs = (silo_data_path("wave.visit") ,
    +       silo_data_path("globe.silo") ,
    +       silo_data_path("curv3d.silo") )
    +
    +for db in dbs:
    +    OpenDatabase(db)
    +
    +# Look at the list of sources.
    +TestGlobalAttributes("closedatabase07")
    +
    +# Start removing databases
    +testindex = 8
    +for i in range(len(dbs)):
    +    index = len(dbs) - 1 - i
    +    testString = GetCloseString(dbs[index]) + "\n" + str(GetGlobalAttributes())
    +    TestText("closedatabase%02d" % testindex, testString)
    +    testindex = testindex + 1
    +
    +# Check that database expressions are cleared when database is closed.
    +OpenDatabase(dbs[1])
    +TestExpressions("closedatabase_exprs00")
    +TestExpressions("closedatabase_exprs01", prefix=GetCloseString(dbs[1])+"\n")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_correlation.html b/2023-11-08-22:00/pascal_trunk_serial/databases_correlation.html new file mode 100644 index 000000000..f3a4a7a14 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_correlation.html @@ -0,0 +1,510 @@ + +Results for databases/correlation.py + +

    Results of VisIt Regression Test - databases/correlation

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Padded index correlation
    correlation_0_000 modifications totalling 0 lines
    correlation_0_010.000.00
    correlation_0_020 modifications totalling 0 lines
    correlation_0_030.000.00
    correlation_0_040 modifications totalling 0 lines
    correlation_0_050.000.00
    correlation_0_060 modifications totalling 0 lines
    correlation_0_070.000.00
    correlation_0_080 modifications totalling 0 lines
    correlation_0_090.000.00
    correlation_0_100 modifications totalling 0 lines
    correlation_0_110.000.00
    correlation_0_120 modifications totalling 0 lines
    correlation_0_130.000.00
    correlation_0_140 modifications totalling 0 lines
    Stretched correlation
    correlation_1_000 modifications totalling 0 lines
    correlation_1_010.000.00
    correlation_1_020 modifications totalling 0 lines
    correlation_1_030.000.00
    correlation_1_040 modifications totalling 0 lines
    correlation_1_050.000.00
    correlation_1_060 modifications totalling 0 lines
    correlation_1_070.000.00
    correlation_1_080 modifications totalling 0 lines
    correlation_1_090.000.00
    correlation_1_100 modifications totalling 0 lines
    correlation_1_110.000.00
    correlation_1_120 modifications totalling 0 lines
    correlation_1_130.000.00
    correlation_1_140 modifications totalling 0 lines
    Time correlation
    correlation_2_000 modifications totalling 0 lines
    correlation_2_010.000.00
    correlation_2_020 modifications totalling 0 lines
    correlation_2_030.000.00
    correlation_2_040 modifications totalling 0 lines
    correlation_2_050.000.00
    correlation_2_060 modifications totalling 0 lines
    correlation_2_070.000.00
    correlation_2_080 modifications totalling 0 lines
    correlation_2_090.000.00
    correlation_2_100 modifications totalling 0 lines
    correlation_2_110.000.00
    correlation_2_120 modifications totalling 0 lines
    correlation_2_130.000.00
    correlation_2_140 modifications totalling 0 lines
    correlation_2_150.000.00
    correlation_2_160 modifications totalling 0 lines
    correlation_2_170.000.00
    correlation_2_180 modifications totalling 0 lines
    correlation_2_190.000.00
    correlation_2_200 modifications totalling 0 lines
    Cycle correlation
    correlation_3_000 modifications totalling 0 lines
    correlation_3_010.000.00
    correlation_3_020 modifications totalling 0 lines
    correlation_3_030.000.00
    correlation_3_040 modifications totalling 0 lines
    correlation_3_050.000.00
    correlation_3_060 modifications totalling 0 lines
    correlation_3_070.000.00
    correlation_3_080 modifications totalling 0 lines
    correlation_3_090.000.00
    correlation_3_100 modifications totalling 0 lines
    correlation_3_110.000.00
    correlation_3_120 modifications totalling 0 lines
    correlation_3_130.000.00
    correlation_3_140 modifications totalling 0 lines
    Creating new window
    correlation_4_000.000.00
    correlation_4_010 modifications totalling 0 lines
    correlation_4_020.000.00
    correlation_4_030 modifications totalling 0 lines
    Altering correlation
    correlation_5_000 modifications totalling 0 lines
    correlation_5_010 modifications totalling 0 lines
    correlation_5_020.000.00
    correlation_5_030 modifications totalling 0 lines
    correlation_5_040.000.00
    correlation_5_050 modifications totalling 0 lines
    correlation_5_060.000.00
    correlation_5_070 modifications totalling 0 lines
    correlation_5_080.000.00
    correlation_5_090 modifications totalling 0 lines
    Deleting correlations
    correlation_6_000 modifications totalling 0 lines
    Automatic correlations
    correlation_7_000 modifications totalling 0 lines
    correlation_7_010 modifications totalling 0 lines
    correlation_7_020.000.00
    correlation_7_030 modifications totalling 0 lines
    correlation_7_040.000.00
    correlation_7_050 modifications totalling 0 lines
    correlation_7_060.000.00
    correlation_7_070 modifications totalling 0 lines
    correlation_7_080 modifications totalling 0 lines
    correlation_7_090.000.00
    correlation_7_100 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_correlation_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_correlation_py.html new file mode 100644 index 000000000..6bcff74f7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_correlation_py.html @@ -0,0 +1,215 @@ +databases/correlation.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  correlation.py 
    +#
    +#  Tests:      Tests database correlations and automatic correlation.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Mar 22 08:28:25 PDT 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Fri Apr 1 09:48:23 PDT 2005
    +#    I renamed some baselines so I could add correlation definition tests.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def GetTruncatedWindowInformationString():
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    return s
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    TestText(testname, GetTruncatedWindowInformationString())
    +
    +def TestLength(testname):
    +    tsLength = TimeSliderGetNStates()
    +    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    testString = testString + GetTruncatedWindowInformationString()
    +    TestText(testname, testString)
    +
    +def ComputeStates(nStates, stateIncrement):
    +    lastState = nStates - 1
    +    states = list(range(0, nStates, stateIncrement))
    +    if(states[-1] != lastState):
    +        states = states  + [lastState]
    +    return states
    +
    +def GetTestName(sectionIndex, testIndex):
    +    return "correlation_%d_%02d" % (sectionIndex, testIndex)
    +
    +def TestTimeSlider(sectionIndex, testIndex):
    +    Test(GetTestName(sectionIndex, testIndex))
    +    TestLength(GetTestName(sectionIndex, testIndex + 1))
    +    return testIndex + 2
    +
    +#
    +# Tests that the database correlations look a certain way.
    +#
    +def TestCorrelation(name, sectionIndex, testIndex):
    +    names = GetDatabaseCorrelationNames()
    +    s = ""
    +    if name in names:
    +        c = GetDatabaseCorrelation(name)
    +        s = s + str(c) + "\n"
    +    TestText(GetTestName(sectionIndex, testIndex), s)
    +    return testIndex + 1
    +
    +#
    +# Tests the time slider length and the correlation list.
    +#
    +def TestLengthAndCorrelationList(testname):
    +    tsLength = TimeSliderGetNStates()
    +    s = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    s = s + GetTruncatedWindowInformationString() + "\n\n"
    +
    +    names = GetDatabaseCorrelationNames()
    +    for name in names:
    +        c = GetDatabaseCorrelation(name)
    +        s = s + str(c) + "\n"
    +    TestText(testname, s)
    +
    +#
    +# The databases that we'll use for most tests.
    +#
    +dbs = (data_path("pdb_test_data/dbA00.pdb"),
    +       data_path("pdb_test_data/dbB00.pdb"),
    +       data_path("pdb_test_data/dbC00.pdb"))
    +
    +#
    +# Open each database and create a plot.
    +#
    +for db in dbs:
    +    OpenDatabase(db)
    +    AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +
    +#
    +# Correlation Types
    +#
    +IndexForIndexCorrelation = 0
    +StretchedIndexCorrelation = 1
    +TimeCorrelation = 2
    +CycleCorrelation = 3
    +correlationTypes = (IndexForIndexCorrelation, StretchedIndexCorrelation,\
    +    TimeCorrelation, CycleCorrelation)
    +correlationNames = ("ABC_Index", "ABC_Stretch", "ABC_Time", "ABC_Cycle")
    +correlationTitles = ("Padded index correlation", "Stretched correlation",\
    +    "Time correlation", "Cycle correlation")
    +
    +#
    +# Create correlations between the 3 databases
    +#
    +sectionIndex = 0
    +testIndex = 0
    +for i in range(len(correlationTypes)):
    +    TestSection(correlationTitles[i])
    +    CreateDatabaseCorrelation(correlationNames[i], dbs, correlationTypes[i])
    +    testIndex = TestCorrelation(correlationNames[i], sectionIndex, 0)
    +    states = ComputeStates(TimeSliderGetNStates(), 5)
    +    for state in states:
    +        SetTimeSliderState(state)
    +        testIndex = TestTimeSlider(sectionIndex, testIndex)
    +    sectionIndex = sectionIndex + 1
    +
    +#
    +# Make sure that a new window has the same plots and correlations.
    +#
    +TestSection("Creating new window")
    +sectionIndex = 4
    +testIndex = 0
    +alteredCorrelation = correlationNames[0]
    +SetActiveTimeSlider(alteredCorrelation)
    +SetTimeSliderState(15)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +CloneWindow()
    +SetActiveWindow(2)
    +InvertBackgroundColor()
    +DrawPlots()
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetActiveWindow(1)
    +
    +#
    +# Now that multiple windows use the same correlation, alter the correlation
    +# so it only uses 2 databases and make sure that both windows change when
    +# we change the time slider.
    +#
    +TestSection("Altering correlation")
    +sectionIndex = 5
    +testIndex = 0
    +testIndex = TestCorrelation(alteredCorrelation, sectionIndex, testIndex)
    +AlterDatabaseCorrelation(alteredCorrelation, (dbs[0], dbs[1]), StretchedIndexCorrelation)
    +testIndex = TestCorrelation(alteredCorrelation, sectionIndex, testIndex)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetActiveWindow(2)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetActiveWindow(1)
    +SetTimeSliderState(19)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetActiveWindow(2)
    +SetTimeSliderState(19)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetActiveWindow(1)
    +
    +#
    +# Test deleting correlations
    +#
    +TestSection("Deleting correlations")
    +sectionIndex = 6
    +testIndex = 0
    +for n in correlationNames:
    +    DeleteDatabaseCorrelation(n)
    +TestLengthAndCorrelationList(GetTestName(sectionIndex, testIndex))
    +
    +#
    +# Test automatically correlating by setting the correlation options such
    +# that we automatically create a StretchedIndex correlation when adding
    +# plots, etc.
    +#
    +TestSection("Automatic correlations")
    +sectionIndex = 7
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +TestLengthAndCorrelationList(GetTestName(sectionIndex, 0))
    +testIndex = 1
    +SetDatabaseCorrelationOptions(StretchedIndexCorrelation, 0)
    +OpenDatabase(dbs[0])
    +AddPlot("FilledBoundary", "material(mesh)")
    +OpenDatabase(dbs[1])
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +# At this point, the viewer should have automatically created a new correlation
    +# and it should be the active time slider.
    +testIndex = TestCorrelation(GetActiveTimeSlider(), sectionIndex, testIndex);
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +# note: py3 div creates float
    +SetTimeSliderState(int(TimeSliderGetNStates() / 2))
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +SetTimeSliderState(TimeSliderGetNStates() - 1)
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +
    +# Now that we've verified the correlation, add another database to it by 
    +# Creating a plot from yet another database.
    +OpenDatabase(dbs[2])
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +testIndex = TestCorrelation(GetActiveTimeSlider(), sectionIndex, testIndex);
    +SetTimeSliderState(int(TimeSliderGetNStates() * 0.8))
    +testIndex = TestTimeSlider(sectionIndex, testIndex)
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_curve.html b/2023-11-08-22:00/pascal_trunk_serial/databases_curve.html new file mode 100644 index 000000000..c563f828c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_curve.html @@ -0,0 +1,60 @@ + +Results for databases/curve.py + +

    Results of VisIt Regression Test - databases/curve

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    curve10.000.00
    curve20.000.00
    curve30.000.00
    curve2Expr0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_curve_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_curve_py.html new file mode 100644 index 000000000..fc7288ad2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_curve_py.html @@ -0,0 +1,53 @@ +databases/curve.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curve.py 
    +#
    +#  Tests:      normal curves, zone-centered curves, errors in curve files
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       October 31, 2006 
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +ca = CurveAttributes()
    +ca.showPoints = 1
    +SetDefaultPlotOptions(ca)
    +
    +OpenDatabase(data_path("curve_test_data/zonecent.ultra"))
    +DefineCurveExpression("curve2Expr","curve2+10")
    +
    +AddPlot("Curve","curve2")
    +DrawPlots()
    +v = GetViewCurve()
    +v.rangeCoords = (-3, 11)
    +SetViewCurve(v)
    +Test("curve1")
    +
    +AddPlot("Curve","curve1")
    +DrawPlots()
    +v.domainCoords = (-4, 16)
    +SetViewCurve(v)
    +Test("curve2")
    +
    +DeleteActivePlots()
    +
    +AddPlot("Curve","curve4")
    +DrawPlots()
    +v.domainCoords = (-4, 25)
    +SetViewCurve(v)
    +Test("curve3")
    +
    +DeleteActivePlots()
    +
    +AddPlot("Curve","curve2")
    +AddPlot("Curve","curve2Expr")
    +ResetView()
    +DrawPlots()
    +Test("curve2Expr")
    +
    +DeleteActivePlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_ddcMD.html b/2023-11-08-22:00/pascal_trunk_serial/databases_ddcMD.html new file mode 100644 index 000000000..372fb6f43 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_ddcMD.html @@ -0,0 +1,159 @@ + +Results for databases/ddcMD.py + +

    Results of VisIt Regression Test - databases/ddcMD

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    2D cgrid single files
    ddcMD_0_000 modifications totalling 0 lines
    ddcMD_0_010.000.00
    ddcMD_0_020.000.00
    ddcMD_0_030.000.00
    2D cgrid multi files
    ddcMD_1_000 modifications totalling 0 lines
    ddcMD_1_010.000.00
    ddcMD_1_020.000.00
    ddcMD_1_030.000.00
    3D cgrid multi files and multi subname
    ddcMD_2_000 modifications totalling 0 lines
    ddcMD_2_010.000.00
    ddcMD_2_020.000.00
    ddcMD_2_030.000.00
    ddcMD_2_040.000.00
    ddcMD_2_050.000.00
    ddcMD_2_060.000.00
    ddcMD_2_070.000.00
    ddcMD_2_080.000.00
    ddcMD_2_090.000.00
    ddcMD_2_100.000.00
    ddcMD_2_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_ddcMD_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_ddcMD_py.html new file mode 100644 index 000000000..d1bc7fe9a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_ddcMD_py.html @@ -0,0 +1,112 @@ +databases/ddcMD.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ddcMD.py
    +#
    +#  Tests:      mesh      - 2D/3D structured automatically decomposed
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Oct 11 17:04:32 PDT 2012
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def GetVariables(db, doExpressions = 1):
    +    md = GetMetaData(db)
    +    txt = "Scalar Names:\n"
    +    s = []
    +    for i in range(md.GetNumScalars()):
    +        s = s + [md.GetScalars(i).name]
    +    scalars = sorted(s)
    +    for s in scalars:
    +        txt = txt + s + "\n"
    +    if doExpressions:
    +        txt = txt + "\n\nExpressions:\n"
    +        expr = {}
    +        for i in range(md.exprList.GetNumExpressions()):
    +            e = md.exprList.GetExpressions(i)
    +            expr[e.name] = e.definition
    +        keys = sorted(expr.keys())
    +        for k in keys:
    +            txt = txt + k + " = " + expr[k] + "\n"
    +    return txt
    +
    +def test0(datapath):
    +    TestSection("2D cgrid single files")
    +    db = pjoin(datapath,"cgrid2d.ddcMD")
    +    TestText("ddcMD_0_00", GetVariables(db))
    +
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "mass")
    +    DrawPlots()
    +    Test("ddcMD_0_01")
    +
    +    ChangeActivePlotsVar("mass_Al")
    +    Test("ddcMD_0_02")
    +
    +    ChangeActivePlotsVar("mass_Cu")
    +    Test("ddcMD_0_03")
    +
    +    DeleteAllPlots()
    +
    +def test1(datapath):
    +    TestSection("2D cgrid multi files")
    +    db = pjoin(datapath,"cgrid2d_multi.ddcMD")
    +    TestText("ddcMD_1_00", GetVariables(db))
    +
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "Kx")
    +    DrawPlots()
    +    Test("ddcMD_1_01")
    +
    +    ChangeActivePlotsVar("Kx_Al")
    +    Test("ddcMD_1_02")
    +
    +    ChangeActivePlotsVar("Kx_Cu")
    +    Test("ddcMD_1_03")
    +
    +    DeleteAllPlots()
    +
    +def test2(datapath):
    +    TestSection("3D cgrid multi files and multi subname")
    +    db = pjoin(datapath,"cgrid3d_multi_subname", "snapshot.*.ddcMD database")
    +    TestText("ddcMD_2_00", GetVariables(db, doExpressions = 0))
    +
    +    # Plot the gid to see that things are put together properly.
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "anatomy/gid")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.463775, -0.476999, -0.746582)
    +    v.focus = (12.5,12.5,12.5)
    +    v.viewUp = (-0.885851, 0.236876, 0.398946)
    +    v.parallelScale = 21.6506
    +    v.nearPlane = -43.3013
    +    v.farPlane = 43.3013
    +    v.imagePan = (0.0101758, 0.0313539)
    +    v.imageZoom = 1.01954
    +    SetView3D(v)
    +    Test("ddcMD_2_01")
    +
    +    ChangeActivePlotsVar("state/Vm")
    +
    +    # Iterate over time.
    +    for i in range(TimeSliderGetNStates()):
    +        SetTimeSliderState(i)
    +        Test("ddcMD_2_%02d" % (2 + i))
    +
    +    # Lower the transparency to see if domain boundaries are good. I think that
    +    # currently they are not good.
    +
    +    DeleteAllPlots()
    +
    +def main():
    +    datapath = data_path("ddcmd_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_empty_db.html b/2023-11-08-22:00/pascal_trunk_serial/databases_empty_db.html new file mode 100644 index 000000000..7e91cb0ce --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_empty_db.html @@ -0,0 +1,40 @@ + +Results for databases/empty_db.py + +

    Results of VisIt Regression Test - databases/empty_db

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    empty_010 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_empty_db_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_empty_db_py.html new file mode 100644 index 000000000..fcf377598 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_empty_db_py.html @@ -0,0 +1,28 @@ +databases/empty_db.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  empty_db.py 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       28Oct10
    +#
    +#  Modifications:
    +#    Mark C. Miller, Mon Nov  1 12:24:23 PDT 2010
    +#    I added specification of the Silo format to the open call so that we
    +#    can be assured of having the real exception (DBYieldedNoData) returned
    +#    in the error message. Otherwise, that exception is caught and then folded
    +#    into whatever other possible exceptions other candidates might generate.
    +# ----------------------------------------------------------------------------
    +import re
    +
    +OpenDatabase(data_path("silo_pdb_test_data/empty.silo"), 0, "Silo_1.0")
    +
    +errStr = GetLastError()
    +tmpType = re.search(",\nno data was found in the file for VisIt to work with.", errStr)
    +msg = errStr
    +if tmpType != None:
    +    msg = "DBYieldedNoDataException\n"
    +TestText("empty_01", msg)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_exodus.html b/2023-11-08-22:00/pascal_trunk_serial/databases_exodus.html new file mode 100644 index 000000000..b1b08bac9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_exodus.html @@ -0,0 +1,238 @@ + +Results for databases/exodus.py + +

    Results of VisIt Regression Test - databases/exodus

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    exodus_010.000.00
    exodus_020.000.00
    exodus_030.000.00
    exodus_040.000.00
    exodus_050.000.00
    Testing SHELL4 support
    exodus_060.000.00
    Testing support element block names
    exodus_070.000.00
    Testing 2D "NSIDED" element type
    exodus_080.000.00
    exodus_090.000.00
    exodus_100.000.00
    exodus_110.000.00
    exodus_120.000.00
    exodus_13a0.000.00
    exodus_13b0.000.00
    exodus_13c0.000.00
    exodus_140.000.00
    exodus_150.000.00
    exodus_160.000.00
    exodus_170.000.00
    exodus_180.000.00
    exodus_190.000.00
    exodus_200.000.00
    exodus_210.000.00
    exodus_220.000.00
    High Order Elements
    exodus_230.000.00
    exodus_240.000.00
    exodus_250.000.00
    exodus_260.000.00
    exodus_270.000.00
    exodus_280.000.00
    exodus_290.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_exodus_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_exodus_py.html new file mode 100644 index 000000000..3a910771d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_exodus_py.html @@ -0,0 +1,272 @@ +databases/exodus.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  exodus.py
    +#
    +#  Tests:      mesh      - 2D, 3D unstructured
    +#              plots     - 3D - Pseudocolor, mesh, boundary, subset,
    +#                          2D - Filled boundary, label 
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 31, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri Oct  7 14:27:33 PDT 2005
    +#    Explicitly reference the name of the variable to displace by, since the
    +#    default changed.
    +#
    +#    Brad Whitlock, Mon Nov 14 14:31:46 PST 2005
    +#    Added testing for SHELL4 support.
    +#
    +#    Eric Brugger, Wed Mar 14 14:04:32 PDT 2007
    +#    Added testing for element block names.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Exodus")
    +
    +OpenDatabase(data_path("exodus_test_data/balls.e.4.* database"))
    +
    +AddPlot("Pseudocolor", "EQPS")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.75, 0.55, 0.36)
    +SetView3D(v)
    +
    +Test("exodus_01")
    +
    +s = SILRestriction()
    +sets = s.SetsInCategory("ElementBlock")
    +s.TurnOffSet(sets[0])
    +s.TurnOffSet(sets[1])
    +s.TurnOffSet(sets[2])
    +SetPlotSILRestriction(s)
    +
    +Test("exodus_02")
    +
    +SetTimeSliderState(18)
    +Test("exodus_03")
    +
    +files = s.SetsInCategory("File")
    +s.TurnOffSet(files[3])
    +SetPlotSILRestriction(s)
    +Test("exodus_04")
    +
    +ToggleMaintainViewMode()
    +d = DisplaceAttributes()
    +d.variable = "DISPL"
    +SetDefaultOperatorOptions(d)
    +AddOperator("Displace")
    +DrawPlots()
    +Test("exodus_05")
    +ToggleMaintainViewMode()
    +
    +TestSection("Testing SHELL4 support")
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/balls.e.4.* database"))
    +OpenDatabase(data_path("exodus_test_data/aircraft.exoII"))
    +
    +AddPlot("Mesh", "Mesh")
    +DrawPlots()
    +v = View3DAttributes()
    +v.viewNormal = (-0.51221, 0.429119, 0.743974)
    +v.focus = (0, 0, -4)
    +v.viewUp = (0.222628, 0.902964, -0.367549)
    +v.viewAngle = 30
    +v.parallelScale = 66
    +v.nearPlane = -132
    +v.farPlane = 132
    +v.imagePan = (-0.0367114, 0.0152384)
    +v.imageZoom = 1.51675
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, -4)
    +SetView3D(v)
    +Test("exodus_06")
    +
    +TestSection("Testing support element block names")
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/aircraft.exoII"))
    +OpenDatabase(data_path("exodus_test_data/test.exo"))
    +
    +AddPlot("Subset", "ElementBlock")
    +AddPlot("Label", "ElementBlock")
    +DrawPlots()
    +Test("exodus_07")
    +
    +TestSection("Testing 2D \"NSIDED\" element type")
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/test.exo"))
    +OpenDatabase(data_path("exodus_test_data/porflow5_2_1_r1.exo"))
    +
    +AddPlot("Mesh","Mesh")
    +DrawPlots()
    +v = View2DAttributes()
    +v.windowCoords = (-115, 70, -80, 100)
    +SetView2D(v)
    +Test("exodus_08")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/porflow5_2_1_r1.exo"))
    +OpenDatabase(data_path("exodus_test_data/kassbohm1.exo"))
    +AddPlot("Mesh","Mesh")
    +DrawPlots()
    +v = View3DAttributes()
    +v.viewNormal = (-0.664463, 0.34202, 0.664463)
    +v.focus = (1, 1, 0.75)
    +v.viewUp = (0.241845, 0.939693, -0.241845)
    +v.parallelScale = 3.25
    +v.nearPlane = -6.5
    +v.farPlane = 6.5
    +v.imageZoom = 1.5
    +SetView3D(v)
    +Test("exodus_09")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/kassbohm1.exo"))
    +OpenDatabase(data_path("exodus_test_data/dodecahedron.exo"))
    +AddPlot("Mesh","Mesh")
    +DrawPlots()
    +ResetView()
    +Test("exodus_10")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/dodecahedron.exo"))
    +OpenDatabase(data_path("exodus_test_data/tri3.exo"))
    +AddPlot("Mesh","Mesh")
    +AddPlot("Pseudocolor","elem_map")
    +DrawPlots()
    +ResetView()
    +Test("exodus_11")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/tri3.exo"))
    +OpenDatabase(data_path("exodus_test_data/tri6.exo"))
    +AddPlot("Mesh","Mesh")
    +AddPlot("Pseudocolor","elem_map")
    +DrawPlots()
    +ResetView()
    +Test("exodus_12")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/tri6.exo"))
    +OpenDatabase(data_path("exodus_test_data/exo-plugin-problem-kassbohm.exo"))
    +AddPlot("Pseudocolor","SP1_S11_avg")
    +DrawPlots()
    +ResetView()
    +Test("exodus_13a")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","SP3_S11_avg")
    +DrawPlots()
    +Test("exodus_13b")
    +DeleteAllPlots()
    +AddPlot("Mesh","Mesh")
    +AddPlot("Subset","ElementBlock")
    +DrawPlots()
    +ResetView()
    +Test("exodus_13c")
    +
    +s = SILRestriction()
    +ebsets = s.SetsInCategory("ElementBlock")
    +s.TurnOffSet(ebsets[1]) # SHELL
    +SetPlotSILRestriction(s)
    +sa = SubsetAttributes()
    +sa.lineWidth = 4
    +SetPlotOptions(sa)
    +Test("exodus_14")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/exo-plugin-problem-kassbohm.exo"))
    +exoOpts = GetDefaultFileOpenOptions("Exodus")
    +exoOpts['Automagically Detect Compound Variables'] = 1
    +exoOpts['Use Material Convention'] = 1 # ALEGRA
    +SetDefaultFileOpenOptions("Exodus", exoOpts)
    +OpenDatabase(data_path("exodus_test_data/snl_data/mixed2d/explwire2d.exo.8.* database"))
    +AddPlot("FilledBoundary", "Materials")
    +DrawPlots()
    +ResetView()
    +Test("exodus_15")
    +TimeSliderSetState(5)
    +Test("exodus_16")
    +DeleteAllPlots()
    +AddPlot("Vector","VELOCITY")
    +DrawPlots()
    +Test("exodus_17")
    +TimeSliderNextState()
    +Test("exodus_18")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/snl_data/mixed2d/explwire2d.exo.8.* database"))
    +OpenDatabase(data_path("exodus_test_data/snl_data/mixed3d/coax3D-wedge-tm.exo.8.* database"))
    +AddPlot("FilledBoundary", "Materials")
    +DrawPlots()
    +ResetView()
    +Test("exodus_19")
    +TimeSliderSetState(4)
    +Test("exodus_20")
    +
    +s = SILRestriction()
    +msets = s.SetsInCategory("Materials")
    +s.TurnOffSet(msets[1])
    +SetPlotSILRestriction(s)
    +Test("exodus_21")
    +s.TurnOnSet(msets[1])
    +s.TurnOffSet(msets[2])
    +SetPlotSILRestriction(s)
    +Test("exodus_22")
    +
    +TestSection("High Order Elements")
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/snl_data/mixed3d/coax3D-wedge-tm.exo.8.* database"))
    +OpenDatabase(data_path("exodus_test_data/sphere-HEX20.ex2"))
    +AddPlot("Pseudocolor","coordx")
    +DrawPlots()
    +ResetView()
    +Test("exodus_23")
    +AddOperator("Slice")
    +DrawPlots()
    +Test("exodus_24")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/sphere-HEX20.ex2"))
    +OpenDatabase(data_path("exodus_test_data/sphere-HEX27.ex2"))
    +AddPlot("Pseudocolor","coordx")
    +DrawPlots()
    +ResetView()
    +Test("exodus_25")
    +AddOperator("Slice")
    +DrawPlots()
    +Test("exodus_26")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/sphere-HEX27.ex2"))
    +OpenDatabase(data_path("exodus_test_data/abl_551/abl_5km_5km_1km_neutral.e.8.* database"))
    +AddPlot("Contour","velocity_magnitude")
    +ca = ContourAttributes()
    +ca.contourMethod = ca.Value
    +ca.contourValue = (7)
    +SetPlotOptions(ca)
    +DrawPlots()
    +ResetView()
    +Test("exodus_27")
    +v = GetView3D()
    +v.RotateAxis(1,-30)
    +SetView3D(v)
    +Test("exodus_28")
    +v.RotateAxis(1,-30)
    +SetView3D(v)
    +Test("exodus_29")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("exodus_test_data/abl_551/abl_5km_5km_1km_neutral.e.8.* database"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_export_db.html b/2023-11-08-22:00/pascal_trunk_serial/databases_export_db.html new file mode 100644 index 000000000..68574a8f6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_export_db.html @@ -0,0 +1,299 @@ + +Results for databases/export_db.py + +

    Results of VisIt Regression Test - databases/export_db

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    export_db_010.000.00
    export_db_020.000.00
    export_db_030.000.00
    export_db_040.000.00
    Test export of some surfaces.
    export_db_1_000.000.00
    export_db_1_010 modifications totalling 0 lines
    export_db_1_020.000.00
    export_db_1_030.000.00
    export_db_1_040.000.00
    export_db_1_050.000.00
    export_db_1_060.000.00
    export_db_1_070.000.00
    export_db_1_080.000.00
    export_db_1_090.000.00
    export_db_1_100.000.00
    export_db_1_110.000.00
    export_db_1_120.000.00
    export_db_1_130.000.00
    export_db_1_140.000.00
    export_db_1_150.000.00
    export_db_1_160.000.00
    export_db_1_170.000.00
    export_db_1_180.000.00
    export_db_1_190.000.00
    export_db_1_200.000.00
    Test Tecplot multiblock export.
    export_db_3_000.000.00
    export_db_3_010.000.00
    export_db_3_020.000.00
    export_db_3_030.000.00
    export_db_3_040.000.00
    Test VTK multiblock export.
    export_db_4_010.000.00
    export_db_4_020.000.00
    export_db_4_030.000.00
    export_db_4_040.000.00
    export_db_4_050.000.00
    Test bov export with and without compression.
    test_bov_uncompressed.bov exists
     "True" .eq. "True" : True
    test_bov_uncompressed.bof exists
     "True" .eq. "True" : True
    export_db_5_010.000.00
    test_bov_gzip.bov exists
     "True" .eq. "True" : True
    test_bov_gzip.bof.gz exists
     "True" .eq. "True" : True
    export_db_5_020.000.00
    export_db_vtk_tets_ucd3d0 modifications totalling 0 lines
    export_db_vtk_tets_specmix_ucd0 modifications totalling 0 lines
    Test htg export.
    globe.dx.htg0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_export_db_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_export_db_py.html new file mode 100644 index 000000000..1563c903d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_export_db_py.html @@ -0,0 +1,611 @@ +databases/export_db.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  export_db.py
    +#
    +#  Tests:      mesh      - 3D unstructured
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  '6288, '6290, '6587, '6366
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 1, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Thu Sep 15 16:33:48 PDT 2005
    +#    Add test for exporting CMFEs as secondary variables ('6587)
    +#
    +#    Kathleen Bonnell, Tue May  2 08:58:01 PDT 2006
    +#    Corrected exported database names (from .visit to .vtk).
    +#
    +#    Hank Childs, Wed Mar 28 11:33:16 PDT 2007
    +#    Uncommented tests for '6366, which were previously checked in, but
    +#    commented out.
    +#
    +#    Mark C. Miller Fri Aug  8 09:11:44 PDT 2008
    +#    Fixed typo of missing '()' on call to DeleteAllPlots
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Wed Feb 25 14:08:53 PST 2015
    +#    Add Mesh Plot for silo data exported as VTK, to test that mesh name
    +#    was properly exported.
    +#
    +#    Kathleen Biagas, Fri Feb 17, 2017
    +#    Update for new VTK export options.  Added test4, which tests the new
    +#    options.
    +#
    +#    Alister Maguire, Thu Apr 26 13:31:31 PDT 2018
    +#    Added test for bov compression.
    +#
    +#    Kathleen Biagas, Wed May 16, 2018
    +#    Use python's gzip instead of subprocess('gunzip') so test will run
    +#    correctly on Windows.  Modified AssertTrue calls to have text stating
    +#    what is being tested.
    +#
    +#    Mark C. Miller, Wed Apr 10 10:24:32 PDT 2019
    +#    Add tetrahedralize test
    +#
    +#    Mark C. Miller, Mon Jan 11 10:32:17 PST 2021
    +#    Replace AssertTrue() with TestValueEQ(..., True)
    +#
    +#    Kathleen Biagas, Thu Jun 24, 2021
    +#    Moved test for exporting and plotting different formats to new function.
    +#    Added testing of the export-and-plot with changed dirname. (#5462)
    +#    Removed cleanup_files since temporary files are written to the _run dir
    +#    which gets removed on exit (unless --no-cleanup specified).
    +#
    +#    Eric Brugger, Mon May 1 15:28:30 PST 2023
    +#    Added HTG export test.
    +#
    +# ----------------------------------------------------------------------------
    +import time
    +import os.path
    +import subprocess
    +import fnmatch
    +
    +def test0():
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Pseudocolor", "t")
    +    DrawPlots()
    +
    +    # Set the export database attributes.
    +    e = ExportDBAttributes()
    +    e.db_type = "VTK"
    +    e.filename = "test_ex_db"
    +    ExportDatabase(e)
    +    time.sleep(1)
    +
    +    e.variables = ("u", "v")
    +    e.filename = "test_ex_db2"
    +    e.db_type = "Silo"
    +    ExportDatabase(e)
    +    time.sleep(1)
    +
    +    DeleteAllPlots()
    +#    CloseDatabase(silo_data_path("globe.silo"))
    +
    +    OpenDatabase("test_ex_db.vtk")
    +    AddPlot("Pseudocolor", "t")
    +    DrawPlots()
    +    Test("export_db_01")
    +    DeleteAllPlots()
    +#    CloseDatabase("test_ex_db.vtk")
    +
    +    OpenDatabase("test_ex_db2.silo")
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Test("export_db_02")
    +    DeleteAllPlots()
    +#    CloseDatabase("test_ex_db2.silo")
    +
    +    OpenDatabase(silo_data_path("wave.visit"))
    +    DefineScalarExpression("cmfe", "conn_cmfe(coord(<%s:quadmesh>)[1], quadmesh)" % cmfe_silo_data_path("wave0020.silo"))
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    e.variables = ("cmfe")
    +    e.filename = "test_ex_db3"
    +    e.db_type = "VTK"
    +    ExportDatabase(e)
    +    time.sleep(1)
    +    DeleteAllPlots()
    +
    +    DeleteExpression("cmfe")
    +    OpenDatabase("test_ex_db3.vtk")
    +    AddPlot("Pseudocolor", "cmfe")
    +    DrawPlots()
    +    Test("export_db_03")
    +
    +    # Ensure meshname was written by creating mesh plot with old db's meshname
    +    AddPlot("Mesh", "quadmesh")
    +    DrawPlots()
    +    Test("export_db_04")
    +    DeleteAllPlots()
    +#    CloseDatabase("test_ex_db3.vtk")
    +#    CloseDatabase(silo_data_path("wave.visit"))
    +
    +def VTK_check_binary(filename):
    +    if (sys.version_info > (3, 0)):
    +        f = open(filename, "rt", encoding='utf-8', errors='ignore')
    +    else:
    +        f = open(filename, "rt")
    +    line = ""
    +    for i in (0,1,2):
    +        line = f.readline()
    +    b = "BINARY" == line[0:6]
    +    return b
    +
    +
    +# Test exporting some surfaces in other formats and plotting the results.
    +# e = ExportDBAttributes
    +# v = View3D
    +# a = AnnotationAttributes
    +# count = current test number (used for test names)
    +# usingWriteGroups = True or False
    +
    +def export_and_plot(e, v, a, count, usingWriteGroups):
    +
    +    # formats fields:
    +    # {DBName: (no-write-group exported name to read, write-group exported name to read, plot type, var name)}
    +
    +    formats = { "PLY":          ("export_PLY.ply",          "*.ply",         "Subset",      "PLY_mesh"),
    +                "RAW":          ("export_RAW.raw",          "*.raw",         "Subset",      "mesh"),
    +                "STL":          ("export_STL.stl",          "*.stl",         "Subset",      "STL_mesh"),
    +                "Silo":         ("export_Silo.silo",        "wg_Silo.silo",  "Pseudocolor", "u"),
    +                "Tecplot":      ("export_Tecplot.tec",      "*.tec",         "Pseudocolor", "u"),
    +                "VTK":          ("export_VTK.visit",        "wg_VTK.visit",  "Pseudocolor", "u"),
    +                "WavefrontOBJ": ("export_WavefrontOBJ.obj", "*.obj",         "Subset",      "OBJMesh"),
    +                "XYZ":          ("export_XYZ.xyz",          "*.xyz",         "Subset",      "mesh"),
    +                "Xmdv":         ("export_Xmdv.visit",       "wg_Xmdv.visit", "Pseudocolor", "u")
    +              }
    +
    +    keys = sorted(formats.keys())
    +    test_name_base="export_db_%d"%(2 if usingWriteGroups else 1)
    +
    +    # do all the exports
    +    for f in keys:
    +        export_name="%s_%s"%("wg" if usingWriteGroups else "export", f)
    +        e.db_type = f
    +        e.db_type_fullname = f + "_1.0"
    +        e.filename = export_name
    +        ExportDatabase(e)
    +        time.sleep(1)
    +
    +    # now attempt to read the exported files
    +    if usingWriteGroups:
    +        files = sorted(fnmatch.filter(os.listdir(e.dirname), "wg_*"))
    +    for f in keys:
    +        # Add the exported data in window 2.
    +        AddWindow()
    +
    +        pattern = formats[f][1] if usingWriteGroups else formats[f][0]
    +        filelist=""
    +        opendbs = []
    +
    +        if pattern[0] == '*':
    +            # Read all of the filenames
    +            ext = pattern[2:]
    +            for datafile in files:
    +                if datafile[-len(ext):] == ext:
    +                    if OpenDatabase(datafile):
    +                        AddPlot(formats[f][2], formats[f][3])
    +                        opendbs = opendbs + [datafile]
    +                        filelist = filelist + datafile + "\n"
    +            DrawPlots()
    +        else:
    +            if OpenDatabase(pjoin(e.dirname, pattern)):
    +                md = GetMetaData(pattern)
    +                AddPlot(formats[f][2], formats[f][3])
    +                DrawPlots()
    +                if usingWriteGroups:
    +                    opendbs = opendbs + [pattern]
    +                    filelist = filelist + pattern + "\n"
    +            else:
    +                if not usingWriteGroups:
    +                    files = os.listdir(e.dirname)
    +                    files.sort()
    +                    s = ""
    +                    for fn in files:
    +                        if pattern in fn:
    +                            s = fn + "\n"
    +                    TestText("files", s)
    +                else:
    +                    filelist = "ERROR: " + "\n".join(os.listdir("."))
    +
    +        t = CreateAnnotationObject("Text2D")
    +        t.text = f
    +        t.position = (0.01, 0.91)
    +        t.height = 0.07
    +        SetView3D(v)
    +        SetAnnotationAttributes(a)
    +        Test("%s_%02d"%(test_name_base, count))
    +        if usingWriteGroups:
    +            TestText("%s_%02dfn"%(test_name_base, count),filelist)
    +        count=count+1
    +
    +        # Clean up window 2
    +        DeleteAllPlots()
    +        #if not usingWriteGroups:
    +        #    CloseDatabase(pattern)
    +        #else:
    +        #    for db in opendbs:
    +        #        CloseDatabase(db)
    +        DeleteWindow()
    +
    +    return count
    +
    +def test1():
    +    TestSection("Test export of some surfaces.")
    +    maindb = silo_data_path("multi_rect3d.silo")
    +    OpenDatabase(maindb)
    +    DefineScalarExpression("rad", "magnitude(coords(mesh1))")
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("Isosurface")
    +    iso = IsosurfaceAttributes()
    +    iso.contourValue = (0.55, 1.455)
    +    iso.contourMethod = iso.Value
    +    iso.variable = "rad"
    +    SetOperatorOptions(iso)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.467474, 0.301847, 0.830877)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.140705, 0.953323, -0.267166)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (-0.0154649, 0.027457)
    +    v.imageZoom = 1.14276
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +    Test("export_db_1_00")
    +
    +    # Test VTK binary
    +    e = ExportDBAttributes()
    +    e.db_type = "VTK"
    +    e.filename = "binary_VTK"
    +    opts = GetExportOptions("VTK")
    +    #opts['Binary format'] = 1
    +    opts['FileFormat'] = 1
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    line = "The binary_VTK.0.vtk file is NOT binary.\n\n"
    +    visitfile = " ".join(open("binary_VTK.visit").readlines())
    +    if VTK_check_binary("binary_VTK/binary_VTK.0.vtk"):
    +        line = "The binary_VTK.0.vtk file is binary.\n\n"
    +    s = line + visitfile
    +    TestText("export_db_1_01", s)
    +
    +    a = GetAnnotationAttributes()
    +
    +    AddWindow()
    +    OpenDatabase("binary_VTK.visit")
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    t = CreateAnnotationObject("Text2D")
    +    t.text = "VTK"
    +    t.position = (0.01, 0.91)
    +    t.height = 0.07
    +    SetView3D(v)
    +    SetAnnotationAttributes(a)
    +    Test("export_db_1_02")
    +#    CloseDatabase("binary_VTK.visit")
    +    DeleteWindow()
    +
    +    # Test exporting some surfaces in other formats and plotting the results.
    +
    +    count = 3
    +    count = export_and_plot(e, v, a, count, False)
    +
    +    # change directory and retry the export_and_plot
    +    edir = pjoin(TestEnv.params["run_dir"], "exports")
    +    if not os.path.isdir(edir):
    +        os.mkdir(edir)
    +    e.dirname=edir
    +
    +    export_and_plot(e, v, a, count, False)
    +
    +    # Clean up window 1
    +    DeleteAllPlots()
    +#    CloseDatabase(maindb)
    +
    +def test2(writeGroupSize):
    +    TestSection("Test export with write groups (parallel).")
    +    maindb = silo_data_path("multi_rect3d.silo")
    +    OpenDatabase(maindb)
    +    DefineScalarExpression("rad", "magnitude(coords(mesh1))")
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("Isosurface")
    +    iso = IsosurfaceAttributes()
    +    iso.contourValue = (0.55, 1.455)
    +    iso.contourMethod = iso.Value
    +    iso.variable = "rad"
    +    SetOperatorOptions(iso)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.467474, 0.301847, 0.830877)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.140705, 0.953323, -0.267166)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (-0.0154649, 0.027457)
    +    v.imageZoom = 1.14276
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +    Test("export_db_2_00")
    +
    +    a = GetAnnotationAttributes()
    +
    +    # Test exporting some surfaces in other formats and plotting the results.
    +    e = ExportDBAttributes()
    +    e.writeUsingGroups = 1
    +    e.groupSize = writeGroupSize
    +    count = 1
    +    count = export_and_plot(e, v, a, count, True)
    +
    +    # change directory and retry the export_and_plot
    +    edir = pjoin(TestEnv.params["run_dir"], "exports_2")
    +    if not os.path.isdir(edir):
    +        os.mkdir(edir)
    +    e.dirname=edir
    +
    +    export_and_plot(e, v, a, count, True)
    +
    +    # Clean up window 1
    +    DeleteAllPlots()
    +#    CloseDatabase(maindb)
    +
    +def test3():
    +    TestSection("Test Tecplot multiblock export.")
    +    maindb = silo_data_path("multi_rect3d.silo")
    +    OpenDatabase(maindb)
    +    DefineScalarExpression("rad", "magnitude(coords(mesh))")
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.467474, 0.301847, 0.830877)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.140705, 0.953323, -0.267166)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (-0.0154649, 0.027457)
    +    v.imageZoom = 1.14276
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +    Test("export_db_3_00")
    +    a = GetAnnotationAttributes()
    +
    +    e = ExportDBAttributes()
    +    e.db_type = "Tecplot"
    +    e.db_type_fullname = "Tecplot_1.0"
    +    e.filename = "rectTecplot"
    +    e.writeUsingGroups = 0
    +    e.variables = ("default", "v", "rad")
    +    ExportDatabase(e)
    +    time.sleep(1)
    +
    +    # Add the exported database in window 2
    +    AddWindow()
    +    OpenDatabase("rectTecplot.tec")
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    SetAnnotationAttributes(a)
    +    SetView3D(v)
    +    Test("export_db_3_01")
    +    ChangeActivePlotsVar("v")
    +    Test("export_db_3_02")
    +    ChangeActivePlotsVar("rad")
    +    Test("export_db_3_03")
    +
    +    # Make sure we have volume data
    +    AddOperator("ThreeSlice")
    +    atts = ThreeSliceAttributes()
    +    atts.y = 0.5
    +    atts.x = 0.5
    +    atts.z = 0.5
    +    SetOperatorOptions(atts)
    +    DrawPlots()
    +    Test("export_db_3_04")
    +
    +    # Clean up window 2
    +    DeleteAllPlots()
    +#    CloseDatabase("rectTecplot.tec")
    +    DeleteWindow()
    +
    +    # Back to window 1
    +    DeleteAllPlots()
    +#    CloseDatabase(maindb)
    +
    +def test4():
    +    TestSection("Test VTK multiblock export.")
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    Test("export_db_4_01")
    +
    +    e = ExportDBAttributes()
    +    e.db_type = "VTK"
    +    e.filename = "multi_rect3d_LA"
    +    opts = GetExportOptions("VTK")
    +    opts['FileFormat'] = "Legacy Ascii"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    ReplaceDatabase("multi_rect3d_LA.visit")
    +    Test("export_db_4_02")
    +
    +    e.filename = "multi_rect3d_LB"
    +    opts['FileFormat'] = "Legacy Binary"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    ReplaceDatabase("multi_rect3d_LB.visit")
    +    Test("export_db_4_03")
    +
    +    e.filename = "multi_rect3d_XA"
    +    opts['FileFormat'] = "XML Ascii"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    ReplaceDatabase("multi_rect3d_XA.vtm")
    +    Test("export_db_4_04")
    +
    +    e.filename = "multi_rect3d_XB"
    +    opts['FileFormat'] = "XML Binary"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    ReplaceDatabase("multi_rect3d_XB.vtm")
    +    Test("export_db_4_05")
    +
    +    DeleteAllPlots()
    +
    +def test_bov():
    +    TestSection("Test bov export with and without compression.")
    +    maindb = silo_data_path("noise.silo")
    +    OpenDatabase(maindb)
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    #
    +    # test w/o compression
    +    #
    +    e = ExportDBAttributes()
    +    e.db_type = "BOV"
    +    e.db_type_fullname = "BOV_1.0"
    +    e.filename = "test_bov_uncompressed"
    +    e.variables = ("default")
    +    opts = GetExportOptions("BOV")
    +    opts["Compression"] = "None"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    TestValueEQ("test_bov_uncompressed.bov exists", os.path.isfile("test_bov_uncompressed.bov"), True)
    +    TestValueEQ("test_bov_uncompressed.bof exists", os.path.isfile("test_bov_uncompressed.bof"), True)
    +    ReplaceDatabase("test_bov_uncompressed.bov")
    +    Test("export_db_5_01")
    +
    +    #
    +    # test w gzip compression
    +    #
    +    e.filename = "test_bov_gzip"
    +    opts["Compression"] = "gzip"
    +    ExportDatabase(e, opts)
    +    time.sleep(1)
    +    TestValueEQ("test_bov_gzip.bov exists", os.path.isfile("test_bov_gzip.bov"), True)
    +    TestValueEQ("test_bov_gzip.bof.gz exists", os.path.isfile("test_bov_gzip.bof.gz"), True)
    +    ReplaceDatabase("test_bov_gzip.bov")
    +    Test("export_db_5_02")
    +
    +    DeleteAllPlots()
    +
    +def test_vtk_tetrahedralize():
    +    dbs_noext = ["ucd3d", "specmix_ucd"]
    +    for db_noext in dbs_noext:
    +        db = "%s.silo"%db_noext
    +        OpenDatabase(silo_data_path(db))
    +        AddPlot("Pseudocolor","d") # both dbs have variable 'd'
    +        DrawPlots()
    +        Query("NumZones")
    +        nzOrig = int(GetQueryOutputValue())
    +
    +        # Test VTK binary
    +        e = ExportDBAttributes()
    +        e.db_type = "VTK"
    +        e.filename = "%s_ascii_VTK_tets"%db_noext
    +        opts = GetExportOptions("VTK")
    +        opts['FileFormat'] = "Legacy Ascii"
    +        opts['Tetrahedralize'] = True
    +        ExportDatabase(e, opts)
    +        time.sleep(1)
    +        DeleteAllPlots()
    +#        CloseDatabase(silo_data_path(db))
    +        OpenDatabase("%s_ascii_VTK_tets.vtk"%db_noext)
    +        AddPlot("Pseudocolor","d")
    +        DrawPlots()
    +        Query("NumZones")
    +        nzNew = int(GetQueryOutputValue())
    +        TestText("export_db_vtk_tets_%s"%db_noext, "Ratio of exported zone count to original is %d"%(nzNew/nzOrig))
    +        DeleteAllPlots()
    +
    +def test_htg():
    +    TestSection("Test htg export.")
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Pseudocolor", "dx")
    +    AddOperator("Resample")
    +    resample = ResampleAttributes()
    +    resample.useExtents = 0
    +    resample.startX = -10
    +    resample.endX = 10
    +    resample.samplesX = 16
    +    resample.startY = -10
    +    resample.endY = 10
    +    resample.samplesY = 16
    +    resample.is3D = 1
    +    resample.startZ = -10
    +    resample.endZ = 10
    +    resample.samplesZ = 16
    +    resample.defaultValue = -10000
    +    resample.distributedResample = 0
    +    resample.cellCenteredOutput = 1
    +    SetOperatorOptions(resample)
    +    DrawPlots()
    +
    +    e = ExportDBAttributes()
    +    e.db_type = "HTG"
    +    e.filename = "globe"
    +    opts = GetExportOptions("HTG")
    +    opts['Blank value'] = -10000
    +    ExportDatabase(e, opts)
    +
    +    htg_text = Path('globe.dx.htg').read_text()
    +
    +    TestText("globe.dx.htg", htg_text)
    +
    +    DeleteAllPlots()
    +
    +def main():
    +    test0()
    +    test1()
    +    if GetEngineProperties(GetEngineList()[0]).numProcessors > 1:
    +        # We just use 2 processors normally so let's set the write group size
    +        # to 1 so each rank will write its own data using a different write
    +        # group. For certain formats, there will be 1 data file per write
    +        # group, or in this case 2 output files.
    +        test2(1)
    +    test3()
    +    test4()
    +    test_bov()
    +    test_vtk_tetrahedralize()
    +    test_htg()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_ffp.html b/2023-11-08-22:00/pascal_trunk_serial/databases_ffp.html new file mode 100644 index 000000000..13f58b128 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_ffp.html @@ -0,0 +1,60 @@ + +Results for databases/ffp.py + +

    Results of VisIt Regression Test - databases/ffp

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ffp_000.000.00
    ffp_010.000.00
    ffp_020.000.00
    ffp_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_ffp_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_ffp_py.html new file mode 100644 index 000000000..bd7ebc18a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_ffp_py.html @@ -0,0 +1,260 @@ +databases/ffp.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ffp.py
    +#
    +#  Programmer: Olivier Cessenat
    +#  Tue May  8 21:49:21 PDT 2018
    +#
    +#  Modifications:
    +#     Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#     Changed Pseudocolor CurrentPlot to ActualData.
    +# ----------------------------------------------------------------------------
    +TurnOffAllAnnotations()
    +
    +OpenDatabase(data_path("ffp_test_data/nasa_almond_pec.ffp.gz"), 0, "ffp_1.0")
    +AddPlot("Pseudocolor", "cffp", 1, 1)
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.160095, 0.96257, 0.218697)
    +View3DAtts.focus = (0, 0, 0)
    +View3DAtts.viewUp = (-0.983472, 0.136561, 0.118883)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 3.4641
    +View3DAtts.nearPlane = -6.9282
    +View3DAtts.farPlane = 6.9282
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1.21
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 0)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +# End spontaneous state
    +
    +DrawPlots()
    +SaveWindowAtts = SaveWindowAttributes()
    +SaveWindowAtts.outputToCurrentDirectory = 1
    +SaveWindowAtts.outputDirectory = "."
    +SaveWindowAtts.fileName = "nasa_almond_pec"
    +SaveWindowAtts.family = 1
    +SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
    +SaveWindowAtts.width = 1024
    +SaveWindowAtts.height = 1024
    +SaveWindowAtts.screenCapture = 0
    +SaveWindowAtts.saveTiled = 0
    +SaveWindowAtts.quality = 80
    +SaveWindowAtts.progressive = 0
    +SaveWindowAtts.binary = 0
    +SaveWindowAtts.stereo = 0
    +SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
    +SaveWindowAtts.forceMerge = 0
    +SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
    +SaveWindowAtts.advancedMultiWindowSave = 0
    +SetSaveWindowAttributes(SaveWindowAtts)
    +Test("ffp_00", SaveWindowAtts)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("ffp_test_data/nasa_almond_pec.ffp.gz"))
    +
    +# Test standard ffp format
    +OpenDatabase(data_path("ffp_test_data/sphereMie.ffp"), 0)
    +AddPlot("Pseudocolor", "mffp", 1, 1)
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.scaling = PseudocolorAtts.Skew  # Linear, Log, Skew
    +PseudocolorAtts.skewFactor = 10000
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.maxFlag = 0
    +PseudocolorAtts.max = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.colorTableName = "hot"
    +PseudocolorAtts.invertColorTable = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    +PseudocolorAtts.opacityVariable = ""
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.opacityVarMin = 0
    +PseudocolorAtts.opacityVarMax = 1
    +PseudocolorAtts.opacityVarMinFlag = 0
    +PseudocolorAtts.opacityVarMaxFlag = 0
    +PseudocolorAtts.pointSize = 0.05
    +PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineType = PseudocolorAtts.Line  # Line, Tube, Ribbon
    +PseudocolorAtts.lineWidth = 0
    +#PseudocolorAtts.tubeDisplayDensity = 10
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +PseudocolorAtts.tubeRadiusAbsolute = 0.125
    +PseudocolorAtts.tubeRadiusBBox = 0.005
    +#PseudocolorAtts.varyTubeRadius = 0
    +#PseudocolorAtts.varyTubeRadiusVariable = ""
    +#PseudocolorAtts.varyTubeRadiusFactor = 10
    +#PseudocolorAtts.endPointType = PseudocolorAtts.NONE  # None, Tails, Heads, Both
    +#PseudocolorAtts.endPointStyle = PseudocolorAtts.Spheres  # Spheres, Cones
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +PseudocolorAtts.endPointRadiusAbsolute = 1
    +PseudocolorAtts.endPointRadiusBBox = 0.005
    +PseudocolorAtts.endPointRatio = 2
    +PseudocolorAtts.renderSurfaces = 1
    +PseudocolorAtts.renderWireframe = 0
    +PseudocolorAtts.renderPoints = 0
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +SetPlotOptions(PseudocolorAtts)
    +DrawPlots()
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.782512, 0.282334, 0.554944)
    +View3DAtts.focus = (0, 0, -0.454083)
    +View3DAtts.viewUp = (-0.175089, 0.955097, -0.239027)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 0.557719
    +View3DAtts.nearPlane = -1.11544
    +View3DAtts.farPlane = 1.11544
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, -0.454083)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +# End spontaneous state
    +
    +SaveWindowAtts = SaveWindowAttributes()
    +SaveWindowAtts.outputToCurrentDirectory = 1
    +SaveWindowAtts.outputDirectory = "."
    +SaveWindowAtts.fileName = "sphereMie"
    +SaveWindowAtts.family = 1
    +SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
    +SaveWindowAtts.width = 1024
    +SaveWindowAtts.height = 1024
    +SaveWindowAtts.screenCapture = 0
    +SaveWindowAtts.saveTiled = 0
    +SaveWindowAtts.quality = 80
    +SaveWindowAtts.progressive = 0
    +SaveWindowAtts.binary = 0
    +SaveWindowAtts.stereo = 0
    +SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
    +SaveWindowAtts.forceMerge = 0
    +SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
    +SaveWindowAtts.advancedMultiWindowSave = 0
    +SetSaveWindowAttributes(SaveWindowAtts)
    +Test("ffp_01", SaveWindowAtts)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("ffp_test_data/sphereMie.ffp"))
    +OpenDatabase(data_path("ffp_test_data/mksn10.ffp"))
    +AddPlot("Pseudocolor", "sffp", 1, 1)
    +AddPlot("Mesh", "sphere", 1, 1)
    +DrawPlots()
    +
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.382511, -0.663647, 0.642852)
    +View3DAtts.focus = (0, 0, 0)
    +View3DAtts.viewUp = (-0.146698, 0.643316, 0.751415)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 1.73205
    +View3DAtts.nearPlane = -3.4641
    +View3DAtts.farPlane = 3.4641
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 0)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +# End spontaneous state
    +
    +SaveWindowAtts = SaveWindowAttributes()
    +SaveWindowAtts.outputToCurrentDirectory = 1
    +SaveWindowAtts.outputDirectory = "."
    +SaveWindowAtts.fileName = "mksn10"
    +SaveWindowAtts.family = 1
    +SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
    +SaveWindowAtts.width = 1024
    +SaveWindowAtts.height = 1024
    +SaveWindowAtts.screenCapture = 0
    +SaveWindowAtts.saveTiled = 0
    +SaveWindowAtts.quality = 80
    +SaveWindowAtts.progressive = 0
    +SaveWindowAtts.binary = 0
    +SaveWindowAtts.stereo = 0
    +SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
    +SaveWindowAtts.forceMerge = 0
    +SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
    +SaveWindowAtts.advancedMultiWindowSave = 0
    +SetSaveWindowAttributes(SaveWindowAtts)
    +Test("ffp_02", SaveWindowAtts)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("ffp_test_data/mksn10.ffp"))
    +OpenDatabase(data_path("ffp_test_data/mksn20.ffp"))
    +AddPlot("Pseudocolor", "cffp", 1, 1)
    +AddPlot("Mesh", "cphere", 1, 1)
    +DrawPlots()
    +
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (-0.187617, -0.963273, 0.192107)
    +View3DAtts.focus = (0, 0, 0)
    +View3DAtts.viewUp = (0.0378766, 0.188339, 0.981373)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 3.4641
    +View3DAtts.nearPlane = -6.9282
    +View3DAtts.farPlane = 6.9282
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 0)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +# End spontaneous state
    +
    +SaveWindowAtts = SaveWindowAttributes()
    +SaveWindowAtts.outputToCurrentDirectory = 1
    +SaveWindowAtts.outputDirectory = "."
    +SaveWindowAtts.fileName = "mksn20"
    +SaveWindowAtts.family = 1
    +SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
    +SaveWindowAtts.width = 1024
    +SaveWindowAtts.height = 1024
    +SaveWindowAtts.screenCapture = 0
    +SaveWindowAtts.saveTiled = 0
    +SaveWindowAtts.quality = 80
    +SaveWindowAtts.progressive = 0
    +SaveWindowAtts.binary = 0
    +SaveWindowAtts.stereo = 0
    +SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
    +SaveWindowAtts.forceMerge = 0
    +SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
    +SaveWindowAtts.advancedMultiWindowSave = 0
    +SetSaveWindowAttributes(SaveWindowAtts)
    +Test("ffp_03", SaveWindowAtts)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("ffp_test_data/mksn20.ffp"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_flash.html b/2023-11-08-22:00/pascal_trunk_serial/databases_flash.html new file mode 100644 index 000000000..7b95169cc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_flash.html @@ -0,0 +1,42 @@ + +Results for databases/flash.py + +

    Results of VisIt Regression Test - databases/flash

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    flash_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_flash_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_flash_py.html new file mode 100644 index 000000000..967fa683c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_flash_py.html @@ -0,0 +1,46 @@ +databases/flash.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  flash.py 
    +#
    +#  Tests:      FLASH data 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       March6, 2007 
    +#
    +#  Modifications:
    +#
    +#    Hank Childs and Randy Hudson, Sun Mar  2 15:38:05 PST 2008
    +#    Reflect new naming scheme.
    +#
    +#    Hank Childs, Tue Jan 19 13:29:29 PST 2010
    +#    Go back to original naming scheme.
    +#
    +# ----------------------------------------------------------------------------
    +import os, string
    +
    +RequiredDatabasePlugin("FLASH")
    +
    +SetTryHarderCyclesTimes(1)
    +# the following open command doesn't work (#7873)
    +##OpenDatabase(data_path("FLASH_test_data/orbit_hdf5_chk_0* database"))
    +
    +OpenDatabase(data_path("FLASH_test_data/orbit_hdf5_chk_0000"),0, "FLASH_1.0")
    +
    +
    +AddPlot("Pseudocolor","pden")
    +AddOperator("Clip")
    +c = ClipAttributes()
    +c.funcType = c.Plane
    +c.plane1Origin = (0.5, 0.5, 0.4)
    +c.plane1Normal = (0, 0, 1)
    +SetOperatorOptions(c)
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal=(-0.707107, 0, 0.707107)
    +v.viewUp=(0, 1, 0)
    +SetView3D(v)
    +Test("flash_01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_global_node_ids.html b/2023-11-08-22:00/pascal_trunk_serial/databases_global_node_ids.html new file mode 100644 index 000000000..f972bccd7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_global_node_ids.html @@ -0,0 +1,96 @@ + +Results for databases/global_node_ids.py + +

    Results of VisIt Regression Test - databases/global_node_ids

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    global_node_ids010.000.00
    global_node_ids020.000.00
    global_node_ids030.000.00
    global_node_ids040.000.00
    global_node_ids050.000.00
    global_node_ids060.000.00
    global_node_ids070.000.00
    global_node_ids080.000.00
    global_node_ids090.000.00
    global_node_ids100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_global_node_ids_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_global_node_ids_py.html new file mode 100644 index 000000000..763bfd8ba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_global_node_ids_py.html @@ -0,0 +1,91 @@ +databases/global_node_ids.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  global_node_ids.py
    +#
    +#  Tests:      mesh      - 3D unstructured,multi-domain, global node ids, but
    +#                          no ghost zones.
    +#              plots     - mat subset, domain subset
    +#
    +#  Defect ID:  '5448
    +#
    +#  Programmer: Hank Childs
    +#  Date:       October 5, 2004
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +view = View3DAttributes()
    +view.viewNormal = (0.557976, 0.651128, 0.514485)
    +view.focus = (0.5, 0.5, 0.5)
    +view.viewUp = (-0.0955897, 0.666272, -0.739557)
    +view.viewAngle = 30
    +view.parallelScale = 0.866025
    +view.nearPlane = -1.73205
    +view.farPlane = 1.73205
    +view.perspective = 1
    +SetView3D(view)
    +
    +OpenDatabase(silo_data_path("global_node.silo"))
    +
    +AddPlot("FilledBoundary", "mat")
    +DrawPlots()
    +
    +# Test the normal material plot.
    +Test("global_node_ids01")
    +
    +# Make sure that the ghost zones were generated correctly.
    +view.nearPlane = -0.3
    +SetView3D(view)
    +Test("global_node_ids02")
    +
    +view.nearPlane = -1.73205
    +SetView3D(view)
    +
    +TurnMaterialsOff("1")
    +Test("global_node_ids03")
    +
    +TurnMaterialsOff()
    +TurnMaterialsOn("1")
    +Test("global_node_ids04")
    +
    +DeleteAllPlots()
    +
    +# Test that the SIL from the previous plot is preserved.
    +AddPlot("Subset", "domains")
    +DrawPlots()
    +Test("global_node_ids05")
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "dist")
    +DrawPlots()
    +Test("global_node_ids06")
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("global_node_ids07")
    +
    +DeleteAllPlots()
    +AddPlot("Contour", "dist")
    +DrawPlots()
    +Test("global_node_ids08")
    +
    +DefineScalarExpression("dist2", "recenter(dist)")
    +ChangeActivePlotsVar("dist2")
    +Test("global_node_ids09")
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "dist2")
    +DrawPlots()
    +Test("global_node_ids10")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_h5part.html b/2023-11-08-22:00/pascal_trunk_serial/databases_h5part.html new file mode 100644 index 000000000..1366fa6da --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_h5part.html @@ -0,0 +1,60 @@ + +Results for databases/h5part.py + +

    Results of VisIt Regression Test - databases/h5part

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    h5part_010.000.00
    h5part_020.000.00
    h5part_030.000.00
    h5part_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_h5part_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_h5part_py.html new file mode 100644 index 000000000..ffc5bf85b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_h5part_py.html @@ -0,0 +1,64 @@ +databases/h5part.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  h5part.py
    +#
    +#  Programmer: Gunther Weber 
    +#  Date:       January, 2009 
    +#
    +#  Modifications:
    +#    Mark C. Miller, Wed Jan 21 09:36:13 PST 2009
    +#    Took Gunther's original code and integrated it with test suite.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("H5Part")
    +
    +TurnOffAllAnnotations()
    +
    +OpenDatabase(data_path("h5part_test_data/sample.h5part"), 0)
    +
    +AddPlot("Pseudocolor", "GaussianField", 1, 0)
    +DrawPlots()
    +Test("h5part_01")
    +
    +ChangeActivePlotsVar("LinearField")
    +View3DAtts = GetView3D()
    +View3DAtts.viewNormal = (1.000000, 0.000000, 0.0000000)
    +View3DAtts.focus = (31.5, 31.5, 31.5)
    +View3DAtts.viewUp = (0.000000, 1.000000, 0.0000000)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 54.5596
    +View3DAtts.nearPlane = -109.119
    +View3DAtts.farPlane = 109.119
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (31.5, 31.5, 31.5)
    +SetView3D(View3DAtts)
    +Test("h5part_02")
    +
    +DeleteActivePlots()
    +AddPlot("Pseudocolor", "px", 1, 0)
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.pointType = PseudocolorAtts.Sphere
    +PseudocolorAtts.pointSize = 1.5
    +SetPlotOptions(PseudocolorAtts)
    +DrawPlots()
    +Test("h5part_03")
    +
    +AddPlot("Pseudocolor", "LinearField", 1, 0)
    +AddOperator("Slice", 0)
    +SliceAtts = SliceAttributes()
    +SliceAtts.originType = SliceAtts.Intercept
    +SliceAtts.originIntercept = 30
    +SliceAtts.axisType = SliceAtts.XAxis
    +SliceAtts.project2d = 0
    +SliceAtts.meshName = "particles"
    +SetOperatorOptions(SliceAtts)
    +DrawPlots()
    +Test("h5part_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_history.html b/2023-11-08-22:00/pascal_trunk_serial/databases_history.html new file mode 100644 index 000000000..f131a7fa5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_history.html @@ -0,0 +1,48 @@ + +Results for databases/history.py + +

    Results of VisIt Regression Test - databases/history

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    history_010.000.00
    history_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_history_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_history_py.html new file mode 100644 index 000000000..c6778a770 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_history_py.html @@ -0,0 +1,47 @@ +databases/history.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  history.py 
    +#
    +#  Tests:      variables that only have values for real zones (not ghost zones)
    +#              Some history variables have this property.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 9, 2004
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +#
    +# Test that we can detect that there is a problem and add 0's.
    +#
    +AddPlot("Pseudocolor","hist")
    +DrawPlots()
    +
    +v=GetView3D()
    +v.viewNormal=(-0.35, -0.47, -0.8)
    +SetView3D(v)
    +Test("history_01")
    +
    +#
    +# Doing material selection flexes the code in a different way (it confirms
    +# that we can detect the problem immediately upon reading it from the disk).
    +# Test that that works correctly as well.
    +#
    +
    +sil = SILRestriction()
    +sets = sil.SetsInCategory("mat1")
    +sil.TurnOffSet(sets[0])
    +sil.TurnOffSet(sets[2])
    +SetPlotSILRestriction(sil)
    +Test("history_02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_image.html b/2023-11-08-22:00/pascal_trunk_serial/databases_image.html new file mode 100644 index 000000000..6e7423ab2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_image.html @@ -0,0 +1,60 @@ + +Results for databases/image.py + +

    Results of VisIt Regression Test - databases/image

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    image_010.000.00
    image_020.000.00
    image_030.000.00
    image_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_image_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_image_py.html new file mode 100644 index 000000000..564d50bec --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_image_py.html @@ -0,0 +1,90 @@ +databases/image.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  image.py 
    +#
    +#  Defect ID:  '6277
    +#
    +#  Tests:      image reader and data selections 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       November 4, 2004 
    +#
    +#  Modifications:
    +# 
    +#    Hank Childs, Fri May 20 15:08:37 PDT 2005
    +#    Added tests for image volumes.
    +#
    +#    Jeremy Meredith, Thu Jan 14 12:09:57 EST 2010
    +#    Changed the way the imgvol test file was created.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +#
    +# we'll make all the pc plots gray scale
    +#
    +pcatts=PseudocolorAttributes()
    +pcatts.colorTableName="gray"
    +SetDefaultPlotOptions(pcatts)
    +
    +#
    +# test ability to read an image as usual 
    +#
    +OpenDatabase(data_path("Image_test_data/manhattan.jpg"))
    +
    +
    +AddPlot("Pseudocolor","intensity")
    +DrawPlots()
    +Test("image_01")
    +
    +DeleteAllPlots()
    +
    +#
    +# Test a data selection on a format that cannot
    +# handle it during read. The selection will
    +# occur after WHOLE image is read
    +#
    +AddPlot("Pseudocolor","intensity")
    +box=BoxAttributes()
    +box.minx = 0
    +box.maxx = 100
    +box.miny = 0
    +box.maxy = 100
    +AddOperator("Box")
    +SetOperatorOptions(box)
    +DrawPlots()
    +Test("image_02")
    +
    +DeleteAllPlots()
    +
    +#
    +# Now test a data selection on a format that can
    +# handle selection during read 
    +#
    +OpenDatabase(data_path("Image_test_data/manhattan.pnm"))
    +
    +AddPlot("Pseudocolor","intensity")
    +AddOperator("Box")
    +SetOperatorOptions(box)
    +DrawPlots()
    +Test("image_03")
    +
    +DeleteAllPlots()
    +f = open(data_path("Image_test_data/manhattan.imgvol"), "wt")
    +f.write("Z_STEP:60\n")
    +for i in range(3):
    +   f.write("manhattan.jpg\n")
    +f.close()
    +OpenDatabase(data_path("Image_test_data/manhattan.imgvol"))
    +
    +AddPlot("Contour", "green")
    +c = ContourAttributes()
    +c.contourMethod = c.Value
    +c.contourValue = (128)
    +SetPlotOptions(c)
    +DrawPlots()
    +Test("image_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_imgvol.html b/2023-11-08-22:00/pascal_trunk_serial/databases_imgvol.html new file mode 100644 index 000000000..ee7e0845a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_imgvol.html @@ -0,0 +1,78 @@ + +Results for databases/imgvol.py + +

    Results of VisIt Regression Test - databases/imgvol

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    imgvol_010.000.00
    imgvol_020.000.00
    imgvol_030.000.00
    imgvol_040.000.00
    imgvol_050.000.00
    imgvol_060.000.00
    imgvol_070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_imgvol_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_imgvol_py.html new file mode 100644 index 000000000..077c37349 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_imgvol_py.html @@ -0,0 +1,67 @@ +databases/imgvol.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  imgvol.py 
    +#
    +#  Tests:      imgvol reader
    +#
    +#  Mark C. Miller, Fri Apr 23 23:01:06 PDT 2010
    +#
    +#  Modifications:
    +# 
    +#    Mark C. Miller, Sun Apr 25 21:30:29 PDT 2010
    +#    Added missing Slice operator for contour plot.
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("imgvol_test_data/tcup.imgvol"))
    +
    +AddPlot("Pseudocolor","intensity")
    +sa=SliceAttributes()
    +sa.originType = sa.Percent
    +sa.originPercent = 50
    +AddOperator("Slice")
    +SetOperatorOptions(sa)
    +DrawPlots()
    +Test("imgvol_01")
    +
    +ChangeActivePlotsVar("intensity_nodal")
    +DrawPlots()
    +Test("imgvol_02")
    +
    +AddOperator("InverseGhostZone")
    +DrawPlots()
    +Test("imgvol_03")
    +RemoveLastOperator()
    +
    +AddPlot("Contour","intensity")
    +AddOperator("Slice")
    +SetOperatorOptions(sa)
    +ca=ContourAttributes()
    +ca.contourValue = (65,)
    +ca.contourMethod = ca.Value
    +ca.lineWidth = 2
    +SetPlotOptions(ca)
    +DrawPlots()
    +Test("imgvol_04")
    +
    +ChangeActivePlotsVar("intensity")
    +DrawPlots()
    +Test("imgvol_05")
    +
    +DeleteActivePlots()
    +RemoveLastOperator()
    +
    +iv=IsovolumeAttributes()
    +iv.lbound = 65
    +AddOperator("Isovolume")
    +SetOperatorOptions(iv)
    +AddOperator("Slice")
    +SetOperatorOptions(sa)
    +DrawPlots()
    +Test("imgvol_06")
    +
    +ChangeActivePlotsVar("intensity_nodal")
    +Test("imgvol_07")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_kulllite.html b/2023-11-08-22:00/pascal_trunk_serial/databases_kulllite.html new file mode 100644 index 000000000..f6080b64a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_kulllite.html @@ -0,0 +1,84 @@ + +Results for databases/kulllite.py + +

    Results of VisIt Regression Test - databases/kulllite

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    kulllite_010.000.00
    kulllite_020.000.00
    kulllite_030.000.00
    kulllite_040.000.00
    kulllite_050.000.00
    kulllite_060.000.00
    kulllite_070.000.00
    kulllite_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_kulllite_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_kulllite_py.html new file mode 100644 index 000000000..785f21626 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_kulllite_py.html @@ -0,0 +1,89 @@ +databases/kulllite.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  kulllite.py
    +#
    +#  Tests:      mesh      - 2D, 3D unstructured
    +#              plots     - Pseudocolor, mesh, boundary, subset
    +#
    +#  Defect ID:  '6251, '6326, '7043
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 14, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Thu May 11 11:35:39 PDT 2006
    +#    Test reading of density values.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("KullLite")
    +
    +OpenDatabase(data_path("KullLite_test_data/tagtest_xy_3.pdb"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("kulllite_01")
    +
    +DeleteAllPlots()
    +OpenDatabase(data_path("KullLite_test_data/tagtest_rz_1_0.pdb"))
    +
    +AddPlot("FilledBoundary", "Material(mesh)")
    +AddPlot("Mesh", "mesh_tags/edges_mesh")
    +DrawPlots()
    +Test("kulllite_02")
    +
    +DeleteActivePlots()
    +AddPlot("Mesh", "mesh")
    +AddPlot("Mesh", "mesh_tags/nodes_mesh")
    +m = MeshAttributes()
    +m.pointType = m.Box
    +SetPlotOptions(m)
    +DrawPlots()
    +Test("kulllite_03")
    +
    +DeleteAllPlots()
    +AddPlot("FilledBoundary", "mesh_tags/nodes(mesh_tags/nodes_mesh)")
    +fb = FilledBoundaryAttributes()
    +fb.pointType = fb.Box
    +SetPlotOptions(fb)
    +DrawPlots()
    +Test("kulllite_04")
    +
    +DeleteAllPlots()
    +OpenDatabase(data_path("KullLite_test_data/T.pdb"))
    +
    +AddPlot("FilledBoundary", "Material")
    +DrawPlots()
    +Test("kulllite_05")
    +
    +thres = ThresholdAttributes()
    +thres.listedVarNames = ("mesh_quality/shear")
    +thres.upperBounds = (0.5)
    +SetDefaultOperatorOptions(thres)
    +AddOperator("Threshold")
    +DrawPlots()
    +Test("kulllite_06")
    +
    +DeleteAllPlots()
    +
    +# Test reading of densities, for both per-zone quantities and per-zone,
    +# per-material quantities.
    +OpenDatabase(data_path("pdb_test_data/2dOverlayTest21.pdb"))
    +
    +AddPlot("Pseudocolor", "density")
    +DrawPlots()
    +Test("kulllite_07")
    +m = MaterialAttributes()
    +m.forceMIR = 1
    +SetMaterialAttributes(m)
    +ReOpenDatabase(data_path("pdb_test_data/2dOverlayTest21.pdb"))
    +
    +Test("kulllite_08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_lata.html b/2023-11-08-22:00/pascal_trunk_serial/databases_lata.html new file mode 100644 index 000000000..7fe74d86f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_lata.html @@ -0,0 +1,126 @@ + +Results for databases/lata.py + +

    Results of VisIt Regression Test - databases/lata

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    lata_000.000.00
    lata_010.000.00
    lata_020.000.00
    lata_030.000.00
    lata_040.000.00
    lata_050.000.00
    lata_060.000.00
    lata_070.000.00
    lata_080.000.00
    lata_090.000.00
    lata_100.000.00
    lata_110.000.00
    lata_120.000.00
    lata_130.000.00
    lata_140.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_lata_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_lata_py.html new file mode 100644 index 000000000..7ff6a5261 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_lata_py.html @@ -0,0 +1,134 @@ +databases/lata.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lata.py 
    +#
    +TurnOffAllAnnotations()
    +# on change le stride des vecteurs par defaut 
    +vd=VectorAttributes()
    +vd.SetUseStride(1)
    +SetDefaultPlotOptions(vd)
    +OpenDatabase(data_path("Lata_test_data/2D_VDF/PAR_2D_VDF.lata"))
    +
    +AddPlot("Mesh","dom_solide")
    +AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
    +AddPlot("Vector","VITESSE_ELEM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_00")
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
    +AddPlot("Vector","VITESSE_SOM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_01")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
    +AddPlot("Subset", "blocks(dom_solide)")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_02")
    +DeleteAllPlots()
    +CloseDatabase(data_path("Lata_test_data/2D_VDF/PAR_2D_VDF.lata"))
    +
    +OpenDatabase(data_path("Lata_test_data/3D_VDF/PAR_3D_VDF.lata"))
    +AddPlot("Mesh","dom_solide")
    +AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
    +AddPlot("Vector","VITESSE_ELEM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_03")
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
    +AddPlot("Vector","VITESSE_SOM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_04")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
    +AddPlot("Subset", "blocks(dom_solide)")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_05")
    +DeleteAllPlots()
    +CloseDatabase(data_path("Lata_test_data/3D_VDF/PAR_3D_VDF.lata"))
    +
    +OpenDatabase(data_path("Lata_test_data/2D_VEF/PAR_2D_VEF.lata"))
    +AddPlot("Mesh","dom_solide")
    +AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
    +AddPlot("Vector","VITESSE_ELEM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_06")
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
    +AddPlot("Vector","VITESSE_SOM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_07")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
    +AddPlot("Subset", "blocks(dom_solide)")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_08")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_centerfaces")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_09")
    +DeleteAllPlots()
    +CloseDatabase(data_path("Lata_test_data/2D_VEF/PAR_2D_VEF.lata"))
    +
    +OpenDatabase(data_path("Lata_test_data/3D_VEF/PAR_3D_VEF.lata"))
    +AddPlot("Mesh","dom_solide")
    +AddPlot("Pseudocolor","TEMPERATURE_ELEM_dom_solide")
    +AddPlot("Vector","VITESSE_ELEM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_10")
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor","TEMPERATURE_SOM_dom_solide")
    +AddPlot("Vector","VITESSE_SOM_dom_fluide")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_11")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_dual")
    +AddPlot("Subset", "blocks(dom_solide)")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_12")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","dom_fluide")
    +AddPlot("Vector","VITESSE_FACES_dom_fluide_centerfaces")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_13")
    +DeleteAllPlots()
    +CloseDatabase(data_path("Lata_test_data/3D_VEF/PAR_3D_VEF.lata"))
    +
    +OpenDatabase(data_path("Lata_test_data/./FTD_remaillage_vdf/post.lata"))
    +AddPlot("Mesh","INTERFACES")
    +AddPlot("Pseudocolor","COURBURE_som_INTERFACES")
    +SetTimeSliderState(2)
    +DrawPlots()
    +Test("lata_14")
    +DeleteAllPlots()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_leos.html b/2023-11-08-22:00/pascal_trunk_serial/databases_leos.html new file mode 100644 index 000000000..87f118578 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_leos.html @@ -0,0 +1,66 @@ + +Results for databases/leos.py + +

    Results of VisIt Regression Test - databases/leos

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    leos_010.000.00
    leos_030.000.00
    leos_040.000.00
    leos_050.000.00
    leos_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_leos_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_leos_py.html new file mode 100644 index 000000000..e42e93fa9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_leos_py.html @@ -0,0 +1,86 @@ +databases/leos.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  leos.py 
    +#
    +#  Tests:      Auto Full Frame Mode
    +#              LEOSFileReader 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       July 20, 2005 
    +#
    +#  Modifications:
    +#    Tom Fogal, Wed Dec 16 13:12:57 MST 2009
    +#    Fixed a bad path.
    +#
    +#    Mark C. Miller, Fri Jan 22 17:30:29 PST 2010
    +#    I replaced OpenDatabase with FindAnd... variant to deal with data
    +#    we don't keep in repo.
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("PDB")
    +
    +OpenMDServer("localhost")
    +readOptions=GetDefaultFileOpenOptions("PDB")
    +readOptions["LEOS try harder level [set to 0, 1 or 2]"] = 1
    +SetDefaultFileOpenOptions("PDB", readOptions)
    +
    +(err, dbname) = FindAndOpenDatabase("sesame.pdb")
    +if (err != 1): Exit(116) # Indicate skip
    +
    +#
    +# Test default full frame (became 'auto' 07Mar06)
    +#
    +AddPlot("Pseudocolor","Calcium_Ca/Pt")
    +DrawPlots()
    +Test("leos_01")
    +
    +v=GetView2D()
    +#
    +# Test auto full frame. This test was obsoleted when
    +# auto ff became the default
    +#
    +#v.fullFrameActivationMode = v.Auto
    +#SetView2D(v)
    +#Test("leos_02")
    +
    +#
    +# Test turning off full frame
    +#
    +v.fullFrameActivationMode = v.Off
    +SetView2D(v)
    +Test("leos_03")
    +
    +#
    +# Test turning on full frame 
    +#
    +v.fullFrameActivationMode = v.On
    +SetView2D(v)
    +Test("leos_04")
    +
    +v.fullFrameActivationMode = v.Auto
    +SetView2D(v)
    +DeleteAllPlots()
    +
    +#
    +# Test Auto full frame when changing plots
    +#
    +AddPlot("Pseudocolor","Water_H2O/Et")
    +DrawPlots()
    +ResetView()
    +v=GetView2D()
    +v.fullFrameActivationMode = v.Auto
    +SetView2D(v)
    +Test("leos_05")
    +
    +#
    +# Test the "catch all" mesh
    +#
    +AddPlot("Mesh","for active plot")
    +DrawPlots()
    +Test("leos_06")
    +
    +DeleteAllPlots()
    +CloseDatabase(dbname)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_lines.html b/2023-11-08-22:00/pascal_trunk_serial/databases_lines.html new file mode 100644 index 000000000..c2e871005 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_lines.html @@ -0,0 +1,62 @@ + +Results for databases/lines.py + +

    Results of VisIt Regression Test - databases/lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Verifying 3D lines
     6 .eq. 6 (prec=5) : True
    mesh_plot_000.000.00
    Verifying 2D lines
     4 .eq. 4 (prec=5) : True
    mesh_plot_010.000.00
    mesh_plot_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_lines_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_lines_py.html new file mode 100644 index 000000000..eeb4bd303 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_lines_py.html @@ -0,0 +1,79 @@ +databases/lines.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lines.py
    +#
    +#  Tests:      mesh      - 2D lines (unstructured), 3D lines (unstructured)
    +#              plots     - mesh
    +#
    +#  Programmer: Alister Maguire
    +#  Date:       Tue Mar 17 08:50:32 PDT 2020
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Mon Jan 11 10:32:17 PST 2021
    +#    Replace AssertEqual() with TestValueEQ()
    +# ----------------------------------------------------------------------------
    +
    +def TestMeshPlot():
    +
    +    #
    +    # First, let's make sure that 3d lines are read appropriately.
    +    #
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +
    +    OpenDatabase(data_path("lines_test_data/spring.lines"))
    +    AddPlot("Mesh", "Lines", 1, 1)
    +    DrawPlots()
    +    Query("SpatialExtents")
    +
    +    # Check dimensionality.
    +    ext_len = len(GetQueryOutputValue())
    +    TestValueEQ("Verifying 3D lines", ext_len, 6)
    +
    +    # Check the rendering.
    +    Test("mesh_plot_00")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("lines_test_data/spring.lines"))
    +
    +    #
    +    # Next, let's check 2d lines.
    +    #
    +    OpenDatabase(data_path("lines_test_data/2d.lines"))
    +    AddPlot("Mesh", "Lines", 1, 1)
    +    DrawPlots()
    +    Query("SpatialExtents")
    +
    +    # Check dimensionality.
    +    ext_len = len(GetQueryOutputValue())
    +    TestValueEQ("Verifying 2D lines", ext_len, 4)
    +
    +    # Check the rendering.
    +    Test("mesh_plot_01")
    +    DeleteAllPlots()
    +
    +    CloseDatabase(data_path("lines_test_data/2d.lines"))
    +
    +    #
    +    # This test makes sure that consecutive points are only
    +    # removed from one line at a time.
    +    #
    +    OpenDatabase(data_path("lines_test_data/consecutive.lines"))
    +    AddPlot("Mesh", "Lines", 1, 1)
    +    DrawPlots()
    +
    +    # Check the rendering.
    +    Test("mesh_plot_02")
    +    DeleteAllPlots()
    +
    +    CloseDatabase(data_path("lines_test_data/consecutive.lines"))
    +
    +
    +def main():
    +    TestMeshPlot()
    +    Exit()
    +
    +main()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_metadata.html b/2023-11-08-22:00/pascal_trunk_serial/databases_metadata.html new file mode 100644 index 000000000..7fdbcd318 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_metadata.html @@ -0,0 +1,200 @@ + +Results for databases/metadata.py + +

    Results of VisIt Regression Test - databases/metadata

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Getting metadata
    metadata_0_000 modifications totalling 0 lines
    metadata_0_010 modifications totalling 0 lines
    metadata_0_020 modifications totalling 0 lines
    metadata_0_030 modifications totalling 0 lines
    metadata_0_040 modifications totalling 0 lines
    Use the metadata to plot the variables.
    metadata_1_scalar_airVf0.000.00
    metadata_1_scalar_chromeVf0.000.00
    metadata_1_scalar_hardyglobal0.000.00
    metadata_1_scalar_hgslice0.000.00
    metadata_1_scalar_radial0.000.00
    metadata_1_scalar_shepardglobal0.000.00
    metadata_1_scalar_x0.000.00
    metadata_1_scalar_PointVar0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_ii0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_ij0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_ik0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_ji0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_jj0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_jk0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_ki0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_kj0.000.00
    metadata_1_scalar_tensor_comps_grad_tensor_kk0.000.00
    metadata_1_vector_airVfGradient0.000.00
    metadata_1_vector_grad0.000.00
    metadata_1_expr_grad_tensor0.000.00
    metadata_1_expr_grad_tensor_diagonal0.000.00
    metadata_1_expr_airVfGradient_magnitude0.000.00
    metadata_1_expr_grad_magnitude0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_metadata_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_metadata_py.html new file mode 100644 index 000000000..38ebec408 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_metadata_py.html @@ -0,0 +1,112 @@ +databases/metadata.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  metadata.py
    +#
    +#  Tests:      Getting a usable metadata object from the viewer.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Mar 14 16:40:31 PST 2007
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +def test0():
    +    TestSection("Getting metadata")
    +
    +    # Get metadata for various test datasets.
    +    md = GetMetaData(silo_data_path("noise.silo") )
    +    TestText("metadata_0_00", str(md))
    +
    +    # Get the metadata for the first time step
    +    md = GetMetaData(silo_data_path("wave*.silo database") )
    +    TestText("metadata_0_01", str(md))
    +
    +    # Get the metadata for the 17th time step where new variables appear
    +    md = GetMetaData(silo_data_path("wave*.silo database") , 17)
    +    TestText("metadata_0_02", str(md))
    +
    +    # Get something with species and default plots.
    +    md = GetMetaData(data_path("samrai_test_data/mats-par3/dumps.visit"))
    +    TestText("metadata_0_03", str(md))
    +
    +    # Get something with label variables
    +    md = GetMetaData(data_path("shapefile_test_data/alameda/tgr06001lkA.shp"))
    +    TestText("metadata_0_04", str(md))
    +
    +def MakeSafe(varname):
    +    ret = varname.replace("/", "_")
    +    ret = ret.replace("(", "[")
    +    ret = ret.replace(")", "]")
    +    ret = ret.replace(":", "_")
    +    ret = ret.replace(",", "_")
    +    ret = ret.replace(";", "_")
    +    return ret
    +
    +def test1():
    +    TestSection("Use the metadata to plot the variables.")
    +
    +    db = silo_data_path("noise.silo")
    +    OpenDatabase(db)
    +    md = GetMetaData(db)
    +
    +    # Test all of the scalars.
    +    for i in range(md.GetNumScalars()):
    +        AddPlot("Pseudocolor", md.GetScalars(i).name)
    +        DrawPlots()
    +        ResetView()
    +        testName = "metadata_1_scalar_" + MakeSafe(md.GetScalars(i).name)
    +        Test(testName)
    +        DeleteAllPlots()
    +
    +    # Test all of the vectors.
    +    for i in range(md.GetNumVectors()):
    +        AddPlot("Vector", md.GetVectors(i).name)
    +        DrawPlots()
    +        ResetView()
    +        testName = "metadata_1_vector_" + MakeSafe(md.GetVectors(i).name)
    +        Test(testName)
    +        DeleteAllPlots()
    +
    +    # Test all of the expressions
    +    for i in range(md.exprList.GetNumExpressions()):
    +        expr = md.exprList.GetExpressions(i)
    +        if expr.type == expr.ScalarMeshVar:
    +            AddPlot("Pseudocolor", expr.name)
    +        elif expr.type == expr.VectorMeshVar:
    +            AddPlot("Vector", expr.name)
    +            v = VectorAttributes()
    +            v.useStride = 1
    +            v.stride = 1
    +            SetPlotOptions(v)
    +        elif expr.type == expr.TensorMeshVar:
    +            AddPlot("Tensor", expr.name)
    +            t = TensorAttributes()
    +            t.useStride = 1
    +            t.stride = 5
    +            SetPlotOptions(t)
    +        elif expr.type == expr.ArrayMeshVar:
    +            AddPlot("Label", expr.name)
    +        else:
    +            print("Add support for plotting expression: ", expr)
    +        DrawPlots()
    +        ResetView()
    +        testName = "metadata_1_expr_" + MakeSafe(expr.name)
    +        Test(testName)
    +        DeleteAllPlots()
    +
    +def main():
    +    # Draw antialiased lines
    +    r = GetRenderingAttributes()
    +    r.antialiasing = 1
    +    SetRenderingAttributes(r)
    +
    +    test0()
    +    test1()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_mfem.html b/2023-11-08-22:00/pascal_trunk_serial/databases_mfem.html new file mode 100644 index 000000000..47b6325ca --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_mfem.html @@ -0,0 +1,1950 @@ + +Results for databases/mfem.py + +

    Results of VisIt Regression Test - databases/mfem

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Input Mesh Files
    input_mesh_amr-hex-nc_mres_00000.000.00
    input_mesh_amr-hex-nc_mres_00050.000.00
    input_mesh_amr-hex_mres_00000.000.00
    input_mesh_amr-hex_mres_00050.000.00
    input_mesh_amr-quad-nc_mres_00000.000.00
    input_mesh_amr-quad-nc_mres_00050.000.00
    input_mesh_amr-quad_mres_00000.000.00
    input_mesh_amr-quad_mres_00050.000.00
    input_mesh_ball-nurbs_mres_00000.000.00
    input_mesh_ball-nurbs_mres_00200.000.00
    input_mesh_beam-hex-nurbs_mres_00000.000.00
    input_mesh_beam-hex-nurbs_mres_00200.000.00
    input_mesh_beam-hex_mres_00000.000.00
    input_mesh_beam-hex_mres_00200.000.00
    input_mesh_beam-quad-amr-nc_mres_00000.000.00
    input_mesh_beam-quad-amr-nc_mres_00050.000.00
    input_mesh_beam-quad-nurbs_mres_00000.000.00
    input_mesh_beam-quad-nurbs_mres_00200.000.00
    input_mesh_beam-quad_mres_00000.000.00
    input_mesh_beam-quad_mres_00200.000.00
    input_mesh_beam-tet_mres_00000.000.00
    input_mesh_beam-tet_mres_00200.000.00
    input_mesh_beam-tri_mres_00000.000.00
    input_mesh_beam-tri_mres_00200.000.00
    input_mesh_disc-nurbs_mres_00000.000.00
    input_mesh_disc-nurbs_mres_00200.000.00
    input_mesh_escher-p2_mres_00000.000.00
    input_mesh_escher-p2_mres_00200.000.00
    input_mesh_escher-p3_mres_00000.000.00
    input_mesh_escher-p3_mres_00200.000.00
    input_mesh_escher_mres_00000.000.00
    input_mesh_escher_mres_00200.000.00
    input_mesh_fichera-amr-nc_mres_00000.000.00
    input_mesh_fichera-amr-nc_mres_00050.000.00
    input_mesh_fichera-amr_mres_00000.000.00
    input_mesh_fichera-amr_mres_00050.000.00
    input_mesh_fichera-q2_mres_00000.000.00
    input_mesh_fichera-q2_mres_00200.000.00
    input_mesh_fichera-q3_mres_00000.000.00
    input_mesh_fichera-q3_mres_00200.000.00
    input_mesh_fichera_mres_00000.000.00
    input_mesh_fichera_mres_00200.000.00
    input_mesh_inline-hex_mres_00000.000.00
    input_mesh_inline-hex_mres_00200.000.00
    input_mesh_inline-quad_mres_00000.000.00
    input_mesh_inline-quad_mres_00200.000.00
    input_mesh_inline-segment_mres_00000.000.00
    input_mesh_inline-segment_mres_00200.000.00
    input_mesh_inline-tet_mres_00000.000.00
    input_mesh_inline-tet_mres_00200.000.00
    input_mesh_inline-tri_mres_00000.000.00
    input_mesh_inline-tri_mres_00200.000.00
    input_mesh_klein-bottle_mres_00000.000.00
    input_mesh_klein-bottle_mres_00200.000.00
    input_mesh_klein-donut_mres_00000.000.00
    input_mesh_klein-donut_mres_00200.000.00
    input_mesh_mobius-strip_mres_00000.000.00
    input_mesh_mobius-strip_mres_00200.000.00
    input_mesh_periodic-cube_mres_00000.000.00
    input_mesh_periodic-cube_mres_00200.000.00
    input_mesh_periodic-hexagon_mres_00000.000.00
    input_mesh_periodic-hexagon_mres_00200.000.00
    input_mesh_periodic-segment_mres_00000.000.00
    input_mesh_periodic-segment_mres_00200.000.00
    input_mesh_periodic-square_mres_00000.000.00
    input_mesh_periodic-square_mres_00200.000.00
    input_mesh_pipe-nurbs_mres_00000.000.00
    input_mesh_pipe-nurbs_mres_00200.000.00
    input_mesh_square-disc-nurbs_mres_00000.000.00
    input_mesh_square-disc-nurbs_mres_00200.000.00
    input_mesh_square-disc-p2_mres_00000.000.00
    input_mesh_square-disc-p2_mres_00200.000.00
    input_mesh_square-disc-p3_mres_00000.000.00
    input_mesh_square-disc-p3_mres_00200.000.00
    input_mesh_square-disc-surf_mres_00000.000.00
    input_mesh_square-disc-surf_mres_00200.000.00
    input_mesh_square-disc_mres_00000.000.00
    input_mesh_square-disc_mres_00200.000.00
    input_mesh_star-q2_mres_00000.000.00
    input_mesh_star-q2_mres_00200.000.00
    input_mesh_star-q3_mres_00000.000.00
    input_mesh_star-q3_mres_00200.000.00
    input_mesh_star-surf_mres_00000.000.00
    input_mesh_star-surf_mres_00200.000.00
    input_mesh_star_mres_00000.000.00
    input_mesh_star_mres_00200.000.00
    ex01 results
    ex01_ex01-disc-nurbs0.000.00
    ex01_ex01-escher0.000.00
    ex01_ex01-fichera-q20.000.00
    ex01_ex01-fichera0.000.00
    ex01_ex01-pipe-nurbs0.000.00
    ex01_ex01-square-disc-nurbs0.000.00
    ex01_ex01-square-disc-p30.000.00
    ex01_ex01-square-disc0.000.00
    ex01_ex01-star0.000.00
    ex02 results
    ex02_element_attribute_ex02-beam-hex-nurbs0.000.00
    ex02_gf_mag_ex02-beam-hex-nurbs0.000.00
    ex02_element_attribute_ex02-beam-hex0.000.00
    ex02_gf_mag_ex02-beam-hex0.000.00
    ex02_element_attribute_ex02-beam-quad-nurbs0.000.00
    ex02_gf_mag_ex02-beam-quad-nurbs0.000.00
    ex02_element_attribute_ex02-beam-quad0.000.00
    ex02_gf_mag_ex02-beam-quad0.000.00
    ex02_element_attribute_ex02-beam-tet0.000.00
    ex02_gf_mag_ex02-beam-tet0.000.00
    ex02_element_attribute_ex02-beam-tri0.000.00
    ex02_gf_mag_ex02-beam-tri0.000.00
    MFEM Expressions
    mfem_expressions_10.000.00
    mfem_expressions_20.000.00
    mfem_expressions_30.000.00
    Input Mesh Boundary Topology
    input_mesh_amr-hex-nc_boundary_topo0.000.00
    input_mesh_amr-hex_boundary_topo0.000.00
    input_mesh_amr-quad-nc_boundary_topo0.000.00
    input_mesh_amr-quad_boundary_topo0.000.00
    input_mesh_ball-nurbs_boundary_topo0.000.00
    input_mesh_beam-hex-nurbs_boundary_topo0.000.00
    input_mesh_beam-hex_boundary_topo0.000.00
    input_mesh_beam-quad-amr-nc_boundary_topo0.000.00
    input_mesh_beam-quad-nurbs_boundary_topo0.000.00
    input_mesh_beam-quad_boundary_topo0.000.00
    input_mesh_beam-tet_boundary_topo0.000.00
    input_mesh_beam-tri_boundary_topo0.000.00
    input_mesh_disc-nurbs_boundary_topo0.000.00
    input_mesh_escher-p2_boundary_topo0.000.00
    input_mesh_escher-p3_boundary_topo0.000.00
    input_mesh_escher_boundary_topo0.000.00
    input_mesh_fichera-amr-nc_boundary_topo0.000.00
    input_mesh_fichera-amr_boundary_topo0.000.00
    input_mesh_fichera-q2_boundary_topo0.000.00
    input_mesh_fichera-q3_boundary_topo0.000.00
    input_mesh_fichera_boundary_topo0.000.00
    input_mesh_inline-hex_boundary_topo0.000.00
    input_mesh_inline-quad_boundary_topo0.000.00
    input_mesh_inline-segment_boundary_topo0.000.00
    input_mesh_inline-tet_boundary_topo0.000.00
    input_mesh_inline-tri_boundary_topo0.000.00
    input_mesh_klein-bottle_boundary_topo0.000.00
    input_mesh_klein-donut_boundary_topo0.000.00
    input_mesh_mobius-strip_boundary_topo0.000.00
    input_mesh_periodic-cube_boundary_topo0.000.00
    input_mesh_periodic-hexagon_boundary_topo0.000.00
    input_mesh_periodic-segment_boundary_topo0.000.00
    input_mesh_periodic-square_boundary_topo0.000.00
    input_mesh_pipe-nurbs_boundary_topo0.000.00
    input_mesh_square-disc-nurbs_boundary_topo0.000.00
    input_mesh_square-disc-p2_boundary_topo0.000.00
    input_mesh_square-disc-p3_boundary_topo0.000.00
    input_mesh_square-disc-surf_boundary_topo0.000.00
    input_mesh_square-disc_boundary_topo0.000.00
    input_mesh_star-q2_boundary_topo0.000.00
    input_mesh_star-q3_boundary_topo0.000.00
    input_mesh_star-surf_boundary_topo0.000.00
    input_mesh_star_boundary_topo0.000.00
    Direct Mesh Open
    direct_open_mesh_file_amr-hex-nc0.000.00
    direct_open_mesh_file_amr-hex0.000.00
    direct_open_mesh_file_amr-quad-nc0.000.00
    direct_open_mesh_file_amr-quad0.000.00
    direct_open_mesh_file_ball-nurbs0.000.00
    direct_open_mesh_file_beam-hex-nurbs0.000.00
    direct_open_mesh_file_beam-hex0.000.00
    direct_open_mesh_file_beam-quad-amr-nc0.000.00
    direct_open_mesh_file_beam-quad-nurbs0.000.00
    direct_open_mesh_file_beam-quad0.000.00
    direct_open_mesh_file_beam-tet0.000.00
    direct_open_mesh_file_beam-tri0.000.00
    direct_open_mesh_file_disc-nurbs0.000.00
    direct_open_mesh_file_escher-p20.000.00
    direct_open_mesh_file_escher-p30.000.00
    direct_open_mesh_file_escher0.000.00
    direct_open_mesh_file_ex01-disc-nurbs0.000.00
    direct_open_mesh_file_ex01-escher0.000.00
    direct_open_mesh_file_ex01-fichera-q20.000.00
    direct_open_mesh_file_ex01-fichera0.000.00
    direct_open_mesh_file_ex01-pipe-nurbs0.000.00
    direct_open_mesh_file_ex01-square-disc-nurbs0.000.00
    direct_open_mesh_file_ex01-square-disc-p30.000.00
    direct_open_mesh_file_ex01-square-disc0.000.00
    direct_open_mesh_file_ex01-star0.000.00
    direct_open_mesh_file_ex02-beam-hex-nurbs0.000.00
    direct_open_mesh_file_ex02-beam-hex0.000.00
    direct_open_mesh_file_ex02-beam-quad-nurbs0.000.00
    direct_open_mesh_file_ex02-beam-quad0.000.00
    direct_open_mesh_file_ex02-beam-tet0.000.00
    direct_open_mesh_file_ex02-beam-tri0.000.00
    direct_open_mesh_file_fichera-amr-nc0.000.00
    direct_open_mesh_file_fichera-amr0.000.00
    direct_open_mesh_file_fichera-q20.000.00
    direct_open_mesh_file_fichera-q30.000.00
    direct_open_mesh_file_fichera0.000.00
    direct_open_mesh_file_inline-hex0.000.00
    direct_open_mesh_file_inline-quad0.000.00
    direct_open_mesh_file_inline-segment0.000.00
    direct_open_mesh_file_inline-tet0.000.00
    direct_open_mesh_file_inline-tri0.000.00
    direct_open_mesh_file_klein-bottle0.000.00
    direct_open_mesh_file_klein-donut0.000.00
    direct_open_mesh_file_mobius-strip0.000.00
    direct_open_mesh_file_periodic-cube0.000.00
    direct_open_mesh_file_periodic-hexagon0.000.00
    direct_open_mesh_file_periodic-segment0.000.00
    direct_open_mesh_file_periodic-square0.000.00
    direct_open_mesh_file_pipe-nurbs0.000.00
    direct_open_mesh_file_square-disc-nurbs0.000.00
    direct_open_mesh_file_square-disc-p20.000.00
    direct_open_mesh_file_square-disc-p30.000.00
    direct_open_mesh_file_square-disc-surf0.000.00
    direct_open_mesh_file_square-disc0.000.00
    direct_open_mesh_file_star-q20.000.00
    direct_open_mesh_file_star-q30.000.00
    direct_open_mesh_file_star-surf0.000.00
    direct_open_mesh_file_star0.000.00
    Legacy and New LOR
    LOR_amr-hex-nc_lor0.000.00
    LOR_amr-hex-nc_legacy_lor0.000.00
    LOR_amr-hex_lor0.000.00
    LOR_amr-hex_legacy_lor0.000.00
    LOR_amr-quad-nc_lor0.000.00
    LOR_amr-quad-nc_legacy_lor0.000.00
    LOR_amr-quad_lor0.000.00
    LOR_amr-quad_legacy_lor0.000.00
    LOR_ball-nurbs_lor0.000.00
    LOR_ball-nurbs_legacy_lor0.000.00
    LOR_beam-hex-nurbs_lor0.000.00
    LOR_beam-hex-nurbs_legacy_lor0.000.00
    LOR_beam-hex_lor0.000.00
    LOR_beam-hex_legacy_lor0.000.00
    LOR_beam-quad-amr-nc_lor0.000.00
    LOR_beam-quad-amr-nc_legacy_lor0.000.00
    LOR_beam-quad-nurbs_lor0.000.00
    LOR_beam-quad-nurbs_legacy_lor0.000.00
    LOR_beam-quad_lor0.000.00
    LOR_beam-quad_legacy_lor0.000.00
    LOR_beam-tet_lor0.000.00
    LOR_beam-tet_legacy_lor0.000.00
    LOR_beam-tri_lor0.000.00
    LOR_beam-tri_legacy_lor0.000.00
    LOR_disc-nurbs_lor0.000.00
    LOR_disc-nurbs_legacy_lor0.000.00
    LOR_escher-p2_lor0.000.00
    LOR_escher-p2_legacy_lor0.000.00
    LOR_escher-p3_lor0.000.00
    LOR_escher-p3_legacy_lor0.000.00
    LOR_escher_lor0.000.00
    LOR_escher_legacy_lor0.000.00
    LOR_fichera-amr-nc_lor0.000.00
    LOR_fichera-amr-nc_legacy_lor0.000.00
    LOR_fichera-amr_lor0.000.00
    LOR_fichera-amr_legacy_lor0.000.00
    LOR_fichera-q2_lor0.000.00
    LOR_fichera-q2_legacy_lor0.000.00
    LOR_fichera-q3_lor0.000.00
    LOR_fichera-q3_legacy_lor0.000.00
    LOR_fichera_lor0.000.00
    LOR_fichera_legacy_lor0.000.00
    LOR_inline-hex_lor0.000.00
    LOR_inline-hex_legacy_lor0.000.00
    LOR_inline-quad_lor0.000.00
    LOR_inline-quad_legacy_lor0.000.00
    LOR_inline-segment_lor0.000.00
    LOR_inline-segment_legacy_lor0.000.00
    LOR_inline-tet_lor0.000.00
    LOR_inline-tet_legacy_lor0.000.00
    LOR_inline-tri_lor0.000.00
    LOR_inline-tri_legacy_lor0.000.00
    LOR_klein-bottle_lor0.000.00
    LOR_klein-bottle_legacy_lor0.000.00
    LOR_klein-donut_lor0.000.00
    LOR_klein-donut_legacy_lor0.000.00
    LOR_mobius-strip_lor0.000.00
    LOR_mobius-strip_legacy_lor0.000.00
    LOR_periodic-cube_lor0.000.00
    LOR_periodic-cube_legacy_lor0.000.00
    LOR_periodic-hexagon_lor0.000.00
    LOR_periodic-hexagon_legacy_lor0.000.00
    LOR_periodic-segment_lor0.000.00
    LOR_periodic-segment_legacy_lor0.000.00
    LOR_periodic-square_lor0.000.00
    LOR_periodic-square_legacy_lor0.000.00
    LOR_pipe-nurbs_lor0.000.00
    LOR_pipe-nurbs_legacy_lor0.000.00
    LOR_square-disc-nurbs_lor0.000.00
    LOR_square-disc-nurbs_legacy_lor0.000.00
    LOR_square-disc-p2_lor0.000.00
    LOR_square-disc-p2_legacy_lor0.000.00
    LOR_square-disc-p3_lor0.000.00
    LOR_square-disc-p3_legacy_lor0.000.00
    LOR_square-disc-surf_lor0.000.00
    LOR_square-disc-surf_legacy_lor0.000.00
    LOR_square-disc_lor0.000.00
    LOR_square-disc_legacy_lor0.000.00
    LOR_star-q2_lor0.000.00
    LOR_star-q2_legacy_lor0.000.00
    LOR_star-q3_lor0.000.00
    LOR_star-q3_legacy_lor0.000.00
    LOR_star-surf_lor0.000.00
    LOR_star-surf_legacy_lor0.000.00
    LOR_star_lor0.000.00
    LOR_star_legacy_lor0.000.00
    Legacy and New LOR Fields
    LOR_Fields_ex01-disc-nurbs_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-disc-nurbs_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-escher_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-escher_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-fichera-q2_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-fichera-q2_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-fichera_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-fichera_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-pipe-nurbs_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-pipe-nurbs_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-square-disc-nurbs_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-square-disc-nurbs_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-square-disc-p3_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-square-disc-p3_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-square-disc_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-square-disc_pseudocolor_gf_legacy_lor0.000.00
    LOR_Fields_ex01-star_pseudocolor_gf_lor0.000.00
    LOR_Fields_ex01-star_pseudocolor_gf_legacy_lor0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_mfem_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_mfem_py.html new file mode 100644 index 000000000..afe891c86 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_mfem_py.html @@ -0,0 +1,265 @@ +databases/mfem.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#  LIMIT: 1200
    +#  Test Case:  mfem.py 
    +#
    +#  Tests:      mfem files 
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Thu Jun 12 14:58:03 PDT 2014
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Sep  2 20:56:13 PDT 2020
    +#    The MFEM reader now provides original cells so artificial mesh lines
    +#    get removed. There's less of a point to seeing them here. Keep min/max
    +#    refinement levels only. 
    +# 
    +#    Justin Privitera, Mon Oct 17 17:33:30 PDT 2022
    +#    Added new tests for the new LOR settings. All prior tests use the legacy
    +#    LOR setting, while new tests use a mix of both.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("MFEM")
    +
    +readOptions = GetDefaultFileOpenOptions("MFEM")
    +readOptions["MFEM LOR Setting"] = "Legacy LOR"
    +SetDefaultFileOpenOptions("MFEM", readOptions)
    +
    +mfem_roots  = glob.glob(data_path("mfem_test_data/*.mfem_root"))
    +input_meshs  = [ f for f in mfem_roots if f.count("ex0") == 0]
    +ex01_results = [ f for f in mfem_roots if f.count("ex01") == 1]
    +ex02_results = [ f for f in mfem_roots if f.count("ex02") == 1]
    +mfem_mesh_files = glob.glob(data_path("mfem_test_data/*.mesh"))
    +
    +def set_test_view():
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.510614, 0.302695, 0.804767)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.0150532, 0.932691, -0.360361)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +TestSection("Input Mesh Files")
    +for f in input_meshs:
    +    base = os.path.splitext(os.path.basename(f))[0]
    +    DeleteAllPlots()
    +    OpenDatabase(f)
    +    AddPlot("Pseudocolor","main_element_coloring")
    +    #pc_atts = PseudocolorAttributes()
    +    #pc_atts.colorTableName = "PuBuGn"
    +    #SetPlotOptions(pc_atts)
    +    AddOperator("MultiresControl")
    +    AddPlot("Mesh","main")
    +    AddOperator("MultiresControl")
    +    SetActivePlots((0,1))
    +    levels = [0,20]
    +    if f.count("amr") > 0:
    +        levels = [0,5]
    +    for mres in levels:
    +        mc_atts  = MultiresControlAttributes()
    +        mc_atts.resolution = mres
    +        SetOperatorOptions(mc_atts)
    +        ResetView()
    +        DrawPlots()
    +        Test("input_mesh_%s_mres_%04d" % (base,mres))
    +    DeleteAllPlots()
    +    CloseDatabase(f)
    +
    +TestSection("ex01 results")
    +for f in ex01_results:
    +    base = os.path.splitext(os.path.basename(f))[0]
    +    DeleteAllPlots()
    +    OpenDatabase(f)
    +    AddPlot("Pseudocolor","gf")
    +    #AddPlot("Mesh","main")
    +    ResetView()
    +    DrawPlots()
    +    Test("ex01_%s" % (base))
    +    DeleteAllPlots()
    +    CloseDatabase(f)
    +
    +TestSection("ex02 results")
    +for f in ex02_results:
    +    base = os.path.splitext(os.path.basename(f))[0]
    +    DeleteAllPlots()
    +    OpenDatabase(f)
    +    AddPlot("Pseudocolor","main_element_attribute")
    +    #AddPlot("Mesh","main")
    +    ResetView()
    +    DrawPlots()
    +    Test("ex02_element_attribute_%s" % (base))
    +    ChangeActivePlotsVar("gf_magnitude");
    +    DrawPlots()
    +    Test("ex02_gf_mag_%s" % (base))
    +    DeleteAllPlots()
    +    CloseDatabase(f)
    +
    +TestSection("MFEM Expressions")
    +OpenDatabase(data_path("mfem_test_data/ex02-beam-tet.mfem_root"))
    +AddPlot("Pseudocolor","mag-gf")
    +ResetView()
    +DrawPlots()
    +Test("mfem_expressions_1")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","comp0")
    +DrawPlots()
    +Test("mfem_expressions_2")
    +DeleteAllPlots()
    +AddPlot("Vector","curl-gf")
    +DrawPlots()
    +Test("mfem_expressions_3")
    +DeleteAllPlots()
    +CloseDatabase(data_path("mfem_test_data/ex02-beam-tet.mfem_root"))
    +
    +TestSection("Input Mesh Boundary Topology")
    +for f in input_meshs:
    +    base = os.path.splitext(os.path.basename(f))[0]
    +    DeleteAllPlots()
    +    OpenDatabase(f)
    +    AddPlot("Pseudocolor","main_boundary_attribute")
    +    AddPlot("Mesh","main_boundary")
    +    mesh_atts = MeshAttributes()
    +    mesh_atts.lineWidth = 2
    +    SetPlotOptions(mesh_atts)
    +    ResetView()
    +    DrawPlots()
    +    Test("input_mesh_%s_boundary_topo" % (base))
    +    DeleteAllPlots()
    +    CloseDatabase(f)
    +
    +TestSection("Direct Mesh Open")
    +for f in mfem_mesh_files:
    +    base = os.path.splitext(os.path.basename(f))[0]
    +    DeleteAllPlots()
    +    OpenDatabase(f)
    +    AddPlot("Pseudocolor","main_element_coloring")
    +    ResetView()
    +    DrawPlots()
    +    Test("direct_open_mesh_file_%s" % (base))
    +    DeleteAllPlots()
    +    CloseDatabase(f)
    +
    +# reset default
    +readOptions = GetDefaultFileOpenOptions("MFEM")
    +readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +SetDefaultFileOpenOptions("MFEM", readOptions)
    +
    +def test_mfem_lor_mesh(tag_name, dbfile):
    +    ResetView()
    +    base = os.path.splitext(os.path.basename(dbfile))[0]
    +
    +    # get default options
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    # we want to test a picture of a wireframe
    +    # new LOR should only have the outer edge
    +    AddPlot("Subset", "main")
    +    SubsetAtts = SubsetAttributes()
    +    SubsetAtts.wireframe = 1
    +    SetPlotOptions(SubsetAtts)
    +    set_test_view()
    +    DrawPlots()
    +    Test(tag_name + "_" + base + "_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(dbfile)
    +
    +    ##############################
    +
    +    # examine legacy
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "Legacy LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    # old LOR leaves a busy wireframe
    +    AddPlot("Subset", "main")
    +    SubsetAtts = SubsetAttributes()
    +    SubsetAtts.wireframe = 1
    +    SetPlotOptions(SubsetAtts)
    +    set_test_view()
    +    DrawPlots()
    +    Test(tag_name + "_" + base + "_legacy_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(dbfile)
    +
    +    # restore default
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +
    +TestSection("Legacy and New LOR")
    +for dbfile in input_meshs:
    +    test_mfem_lor_mesh("LOR", dbfile)
    +
    +def test_mfem_lor_field(tag_name, dbfile):
    +    ResetView()
    +    base = os.path.splitext(os.path.basename(dbfile))[0]
    +
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    AddPlot("Pseudocolor","gf")
    +    AddOperator("MultiresControl", 1)
    +    SetActivePlots(0)
    +    MultiresControlAtts = MultiresControlAttributes()
    +    MultiresControlAtts.resolution = 3
    +    SetOperatorOptions(MultiresControlAtts, 0, 1)
    +    set_test_view()
    +    DrawPlots()
    +    Test(tag_name + "_" + base + "_pseudocolor_gf_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +
    +    CloseDatabase(dbfile)
    +
    +    ##############################
    +
    +    # examine legacy
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "Legacy LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +    OpenDatabase(dbfile)
    +
    +    AddPlot("Pseudocolor","gf")
    +    AddOperator("MultiresControl", 1)
    +    SetActivePlots(0)
    +    MultiresControlAtts = MultiresControlAttributes()
    +    MultiresControlAtts.resolution = 3
    +    SetOperatorOptions(MultiresControlAtts, 0, 1)
    +    set_test_view()
    +    DrawPlots()
    +    Test(tag_name + "_" + base + "_pseudocolor_gf_legacy_lor")
    +    DeleteAllPlots()
    +    ResetView()
    +
    +    # restore default
    +    readOptions = GetDefaultFileOpenOptions("MFEM")
    +    readOptions["MFEM LOR Setting"] = "MFEM LOR"
    +    SetDefaultFileOpenOptions("MFEM", readOptions)
    +
    +TestSection("Legacy and New LOR Fields")
    +for dbfile in ex01_results:
    +    test_mfem_lor_field("LOR_Fields", dbfile)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_mili.html b/2023-11-08-22:00/pascal_trunk_serial/databases_mili.html new file mode 100644 index 000000000..5a908f769 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_mili.html @@ -0,0 +1,360 @@ + +Results for databases/mili.py + +

    Results of VisIt Regression Test - databases/mili

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Vector components
    mili_brick_comp0.000.00
    mili_beam_comp0.000.00
    mili_nodacc_comp0.000.00
    Non-shared element sets
    mili_non_shared_es_010.000.00
    Shared element sets
    mili_shared_es_010.000.00
    mili_shared_es_020.000.00
    mili_shared_es_030.000.00
    Material variables
    mili_mat_var_010.000.00
    mili_mat_var_020.000.00
    Tensors
    mili_tensors_010.000.00
    mili_tensors_020.000.00
    Vectors
    mili_vectors_010.000.00
    mili_vectors_020.000.00
    mili_vectors_030.000.00
    Sand mesh
    mili_sand_mesh_010.000.00
    mili_sand_mesh_020.000.00
    mili_sand_mesh_030.000.00
    mili_sand_mesh_040.000.00
    Materials
    mili_materials_000.000.00
    mili_materials_010.000.00
    Multi-domain
    mili_multi_dom_010.000.00
    mili_multi_dom_020.000.00
    Particles
    mili_particle_010.000.00
    Static nodes
    mili_static_nodes_010.000.00
    Labels
    mili_zone_labels_010.000.00
    mili_node_labels_010.000.00
    Sci notation read
    mili_from_sci_not0.000.00
    Multi-subrecord read
    mili_subrec_offset0.000.00
    Derived variables
    mili_derived_000.000.00
    mili_derived_010.000.00
    mili_derived_020.000.00
    mili_derived_030.000.00
    mili_derived_040.000.00
    mili_derived_050.000.00
    mili_derived_060.000.00
    mili_derived_070.000.00
    mili_derived_080.000.00
    mili_derived_090.000.00
    mili_derived_100.000.00
    mili_derived_110.000.00
    mili_derived_120.000.00
    mili_derived_130.000.00
    mili_derived_140.000.00
    Global integration point
    mili_global_ip_000.000.00
    mili_global_ip_010.000.00
    mili_global_ip_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_mili_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_mili_py.html new file mode 100644 index 000000000..70edb166f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_mili_py.html @@ -0,0 +1,473 @@ +databases/mili.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mili.py
    +#
    +#  Tests:      mesh      - 3D unstructured, multi-domain
    +#              plots     - Pseudocolor, material, vector, tensor, label
    +#
    +#
    +#  Programmer: Alister Maguire
    +#  Date:       May 22, 2019
    +#
    +#  Modifications:
    +#
    +#    Alister Maguire, Mon Aug  5 13:02:05 MST 2019
    +#    Added a test that handles .mili files containing integers in
    +#    scientific notation.
    +#
    +#    Alister Maguire, Thu Dec 19 13:40:07 PST 2019
    +#    Added a test to make sure correct subrecord offsets are used.
    +#
    +#    Alister Maguire, Wed Jul 15 13:38:17 PDT 2020
    +#    Added test sections and derived variable test.
    +#
    +#    Alister Maguire, Wed Mar 24 16:06:33 PDT 2021
    +#    Added a test for setting/changing the global integration point.
    +#
    +#    Alister Maguire, Fri Mar 26 10:25:08 PDT 2021
    +#    Added more tests for derived variables (stress, strain, sand mesh).
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Mili")
    +single_domain_path = data_path("mili_test_data/single_proc/")
    +multi_domain_path  = data_path("mili_test_data/multi_proc/")
    +
    +def TestComponentVis():
    +    TestSection("Vector components")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/edrate")
    +    DrawPlots()
    +    Test("mili_brick_comp")
    +
    +    ChangeActivePlotsVar("Primal/beam/svec/svec_x")
    +    Test("mili_beam_comp")
    +    ChangeActivePlotsVar("Primal/node/nodacc/ax")
    +    Test("mili_nodacc_comp")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestSharedElementSets():
    +    TestSection("Shared element sets")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/strain/exy")
    +    DrawPlots()
    +    Test("mili_shared_es_01")
    +    ChangeActivePlotsVar("Primal/Shared/edrate")
    +    Test("mili_shared_es_02")
    +    ChangeActivePlotsVar("Primal/Shared/stress/sy")
    +    Test("mili_shared_es_03")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestNonSharedElementSets():
    +    TestSection("Non-shared element sets")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    #
    +    #  eps is a section of an element set that is only
    +    #  defined on beams.
    +    #
    +    AddPlot("Pseudocolor", "Primal/beam/eps")
    +    DrawPlots()
    +    Test("mili_non_shared_es_01")
    +    DeleteAllPlots()
    +
    +
    +def TestMaterialVar():
    +    TestSection("Material variables")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/mat/matcgy")
    +    DrawPlots()
    +    Test("mili_mat_var_01")
    +    ChangeActivePlotsVar("Primal/mat/matke")
    +    Test("mili_mat_var_02")
    +    DeleteAllPlots()
    +
    +
    +def TestTensors():
    +    TestSection("Tensors")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Tensor", "Primal/Shared/stress")
    +    DrawPlots()
    +    Test("mili_tensors_01")
    +
    +    ChangeActivePlotsVar("Primal/Shared/strain")
    +    Test("mili_tensors_02")
    +    DeleteAllPlots()
    +
    +
    +def TestVectors():
    +    TestSection("Vectors")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Vector", "Primal/node/nodpos")
    +    DrawPlots()
    +    Test("mili_vectors_01")
    +
    +    ChangeActivePlotsVar("Primal/shell/bend")
    +    Test("mili_vectors_02")
    +
    +    ChangeActivePlotsVar("Primal/beam/svec")
    +    Test("mili_vectors_03")
    +    DeleteAllPlots()
    +
    +
    +def TestSandMesh():
    +    TestSection("Sand mesh")
    +    OpenDatabase(single_domain_path + "/m_plot.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(101)
    +
    +    #
    +    # First, let's look at the sand variable on a non-sanded mesh.
    +    # It should be well structured.
    +    #
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Pseudocolor", "Primal/Shared/sand")
    +    DrawPlots()
    +    Test("mili_sand_mesh_01")
    +    DeleteAllPlots()
    +
    +    #
    +    # Now let's view the sand mesh. It's a mess.
    +    #
    +    AddPlot("Mesh", "sand_mesh1")
    +    AddPlot("Pseudocolor", "Primal/Shared/sand")
    +    DrawPlots()
    +    Test("mili_sand_mesh_02")
    +
    +    #
    +    # Now let's look at sand in its sanded state.
    +    #
    +    ChangeActivePlotsVar("sand_mesh/Primal/Shared/sand")
    +    DrawPlots()
    +    Test("mili_sand_mesh_03")
    +
    +    #
    +    # We need to make sure that other variables can also be
    +    # viewed in their sanded state.
    +    #
    +    ChangeActivePlotsVar("sand_mesh/Primal/shell/stress_mid/sx")
    +    Test("mili_sand_mesh_04")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestMaterials():
    +    #
    +    # The tests need to be in this order to work around a bug in
    +    # the filled boundary plot with getting colors from a database
    +    # that causes the colors to be set the same for subsequent
    +    # filled boundary plots where the colors are not set in the
    +    # database.
    +    #
    +    TestSection("Materials")
    +    OpenDatabase(single_domain_path + "/sslide14ball_l.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(12)
    +
    +    AddPlot("FilledBoundary", "materials1")
    +    DrawPlots()
    +    Test("mili_materials_00")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(70)
    +
    +    AddPlot("FilledBoundary", "materials1(mesh1)")
    +    DrawPlots()
    +    Test("mili_materials_01")
    +
    +    DeleteAllPlots()
    +
    +def TestMultiDomain():
    +    TestSection("Multi-domain")
    +    OpenDatabase(multi_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/strain/exy")
    +    DrawPlots()
    +    Test("mili_multi_dom_01")
    +    ChangeActivePlotsVar("Primal/Shared/stress/sz")
    +    Test("mili_multi_dom_02")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestParticles():
    +    TestSection("Particles")
    +    OpenDatabase(single_domain_path + "/sslide14ball_l.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(0)
    +
    +    AddPlot("Pseudocolor", "Primal/particle/stress/sxy")
    +    DrawPlots()
    +    Test("mili_particle_01")
    +    DeleteAllPlots()
    +
    +
    +def TestStaticNodes():
    +    TestSection("Static nodes")
    +    OpenDatabase(single_domain_path + "/m1_plot.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Pseudocolor", "Primal/node/temp")
    +    SetTimeSliderState(10)
    +    DrawPlots()
    +    Test("mili_static_nodes_01")
    +    DeleteAllPlots()
    +
    +
    +def TestLabels():
    +    TestSection("Labels")
    +    OpenDatabase(single_domain_path + "/d3samp6.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/edrate")
    +    AddPlot("Label", "OriginalZoneLabels")
    +    DrawPlots()
    +    Test("mili_zone_labels_01")
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/edrate")
    +    AddPlot("Label", "OriginalNodeLabels")
    +    DrawPlots()
    +    Test("mili_node_labels_01")
    +    DeleteAllPlots()
    +
    +
    +def TestSciNotation():
    +    TestSection("Sci notation read")
    +    #
    +    # Some .mili files contain integers in scientific notation.
    +    # These need to be handled appropriately.
    +    #
    +    OpenDatabase(single_domain_path + "/HexModel1.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +
    +    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
    +    DrawPlots()
    +    Test("mili_from_sci_not")
    +    DeleteAllPlots()
    +
    +
    +def TestMultiSubrecRead():
    +    TestSection("Multi-subrecord read")
    +    #
    +    # This tests a bug fix that occurred when loading variables
    +    # that span several subrecords at different offsets.
    +    #
    +    OpenDatabase(single_domain_path + "/test4_0.15.plt.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +
    +    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
    +    DrawPlots()
    +    Test("mili_subrec_offset")
    +    DeleteAllPlots()
    +
    +
    +def TestDerivedVariables():
    +    TestSection("Derived variables")
    +    OpenDatabase(single_domain_path + "/m_plot.mili")
    +    v = GetView3D()
    +    v.viewNormal = (0.49, 0.19, 0.85)
    +    SetView3D(v)
    +
    +    SetTimeSliderState(85)
    +
    +    #
    +    # Node centered derivations.
    +    #
    +    AddPlot("Pseudocolor", "Derived/node/displacement/dispx")
    +    DrawPlots()
    +    Test("mili_derived_00")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/node/displacement/dispy")
    +    DrawPlots()
    +    Test("mili_derived_01")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/node/displacement/dispz")
    +    DrawPlots()
    +    Test("mili_derived_02")
    +    DeleteAllPlots()
    +
    +    AddPlot("Vector", "Derived/node/displacement")
    +    DrawPlots()
    +    Test("mili_derived_03")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "sand_mesh/Derived/node/displacement/dispz")
    +    DrawPlots()
    +    Test("mili_derived_04")
    +    DeleteAllPlots()
    +
    +    #
    +    # Stress/strain derivations. In m_plot, only stress comes from
    +    # the database, and we derive strain and all of its derivations
    +    # using VisIt expressions.
    +    #
    +    AddPlot("Pseudocolor", "Derived/brick/stress/prin_stress/2")
    +    DrawPlots()
    +    Test("mili_derived_05")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/brick/stress/pressure")
    +    DrawPlots()
    +    Test("mili_derived_06")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/Shared/strain/almansi/max_shear_almansi")
    +    DrawPlots()
    +    Test("mili_derived_07")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor",
    +        "Derived/Shared/strain/green_lagrange/prin_dev_green_lagrange/2")
    +    DrawPlots()
    +    Test("mili_derived_08")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/Shared/strain/infinitesimal/x")
    +    DrawPlots()
    +    Test("mili_derived_09")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/Shared/strain/rate/yz")
    +    DrawPlots()
    +    Test("mili_derived_10")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "sand_mesh/Derived/Shared/strain/rate/yz")
    +    DrawPlots()
    +    Test("mili_derived_11")
    +    DeleteAllPlots()
    +
    +    AddPlot("Tensor", "Derived/Shared/strain/green_lagrange")
    +    DrawPlots()
    +    Test("mili_derived_12")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/Shared/relative_volume")
    +    DrawPlots()
    +    Test("mili_derived_13")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "Derived/Shared/volumetric_strain")
    +    DrawPlots()
    +    Test("mili_derived_14")
    +    DeleteAllPlots()
    +
    +
    +def TestGlobalIntegrationPoint():
    +    TestSection("Global integration point")
    +
    +    db_path = single_domain_path + "/d3samp6.plt.mili"
    +    OpenDatabase(db_path)
    +    v = GetView3D()
    +    v.viewNormal = (0.9, 0.35, -0.88)
    +    SetView3D(v)
    +    SetTimeSliderState(90)
    +
    +    AddPlot("Pseudocolor", "Primal/Shared/strain/exy")
    +    DrawPlots()
    +
    +    mili_options = GetDefaultFileOpenOptions("Mili")
    +    mili_options["Global integration point"] = "Inner"
    +    SetDefaultFileOpenOptions("Mili", mili_options)
    +    ReOpenDatabase(db_path)
    +    Test("mili_global_ip_00")
    +
    +    mili_options = GetDefaultFileOpenOptions("Mili")
    +    mili_options["Global integration point"] = "Middle"
    +    SetDefaultFileOpenOptions("Mili", mili_options)
    +    ReOpenDatabase(db_path)
    +    Test("mili_global_ip_01")
    +
    +    mili_options = GetDefaultFileOpenOptions("Mili")
    +    mili_options["Global integration point"] = "Outer"
    +    SetDefaultFileOpenOptions("Mili", mili_options)
    +    ReOpenDatabase(db_path)
    +    Test("mili_global_ip_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db_path)
    +
    +
    +def Main():
    +    TestComponentVis()
    +    TestNonSharedElementSets()
    +    TestSharedElementSets()
    +    TestMaterialVar()
    +    TestTensors()
    +    TestVectors()
    +    TestSandMesh()
    +    TestMaterials()
    +    TestMultiDomain()
    +    TestParticles()
    +    TestStaticNodes()
    +    TestLabels()
    +    TestSciNotation()
    +    TestMultiSubrecRead()
    +    TestDerivedVariables()
    +    TestGlobalIntegrationPoint()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_miranda.html b/2023-11-08-22:00/pascal_trunk_serial/databases_miranda.html new file mode 100644 index 000000000..f54ad60a0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_miranda.html @@ -0,0 +1,108 @@ + +Results for databases/miranda.py + +

    Results of VisIt Regression Test - databases/miranda

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    miranda_raw_reader10.000.00
    miranda_raw_reader20.000.00
    miranda_raw_reader30.000.00
    miranda_raw_reader40.000.00
    miranda_raw_reader50.000.00
    miranda_raw_reader60.000.00
    miranda_raw_reader70.000.00
    miranda_raw_reader80.000.00
    miranda_raw_reader90.000.00
    miranda_raw_reader100.000.00
    miranda_raw_reader110.000.00
    miranda_raw_reader120.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_miranda_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_miranda_py.html new file mode 100644 index 000000000..76036bb90 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_miranda_py.html @@ -0,0 +1,156 @@ +databases/miranda.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  miranda.py 
    +#
    +#  Tests:      miranda raw dumps
    +#
    +#  Programmer: David Bremer
    +#  Date:       Feb 20, 2007
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Jeremy Meredith, Thu Jan 14 11:19:12 EST 2010
    +#    Changed the path to the test data.
    +#
    +# ----------------------------------------------------------------------------
    +import os, string
    +
    +# ====================================================================
    +
    +OpenDatabase(data_path("miranda_test_data/TG_vortex/plot.raw"))
    +
    +AddPlot("Pseudocolor","density")
    +DrawPlots()
    +Test("miranda_raw_reader1")
    +
    +# ====================================================================
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("miranda_raw_reader2")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(1)
    +Test("miranda_raw_reader3")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(2)
    +DeleteAllPlots()
    +AddPlot("Vector", "velocity")
    +vec = VectorAttributes()
    +vec.nVectors = 400*64
    +SetPlotOptions(vec)
    +DrawPlots()
    +Test("miranda_raw_reader4")
    +
    +# ====================================================================
    +
    +v=GetView3D()
    +v.viewNormal=(-0.707107, -0.707107, 0)
    +v.viewUp=(0, 0, 1)
    +SetView3D(v)
    +Test("miranda_raw_reader5")
    +
    +# ====================================================================
    +
    +DeleteAllPlots()
    +ReplaceDatabase(data_path("miranda_test_data/jet_2d/plot_mat_t83.raw"))
    +
    +
    +SetTimeSliderState(0)
    +AddPlot("Pseudocolor","density")
    +DrawPlots()
    +Test("miranda_raw_reader6")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(1)
    +DeleteAllPlots()
    +AddPlot("Vector", "velocity")
    +vec = VectorAttributes()
    +vec.nVectors = 400*128
    +SetPlotOptions(vec)
    +DrawPlots()
    +vv=GetView2D()
    +vv.viewportCoords=(0.2, 0.95, 0.15, 0.95)
    +vv.windowCoords=(0.00640306, 0.00963122, 0.0128936, 0.0161598)
    +SetView2D(vv)
    +Test("miranda_raw_reader7")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(2)
    +Test("miranda_raw_reader8")
    +
    +# ====================================================================
    +
    +DeleteAllPlots()
    +ReplaceDatabase(data_path("miranda_test_data/stem_2d/plot.mir"))
    +
    +vv = View2DAttributes()
    +vv.windowCoords = (0, 2.23563, -0.28, 0.835625)
    +vv.viewportCoords = (0.05, 0.95, 0.05, 0.95)
    +vv.fullFrameActivationMode = vv.On  # On, Off, Auto
    +vv.fullFrameAutoThreshold = 100
    +SetView2D(vv)
    +
    +SetTimeSliderState(0)
    +AddPlot("Pseudocolor","density")
    +DrawPlots()
    +Test("miranda_raw_reader9")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(3)
    +DrawPlots()
    +Test("miranda_raw_reader10")
    +
    +# ====================================================================
    +
    +ReplaceDatabase(data_path("miranda_test_data/2015-05-06-RT_XeHe/plot.mir"))
    +
    +SetTimeSliderState(0)
    +
    +AddPlot("Pseudocolor","density")
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (-0.626786, -0.71511, 0.309445)
    +View3DAtts.focus = (0, 0, 0)
    +View3DAtts.viewUp = (-0.109109, 0.473773, 0.873861)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 11085.1
    +View3DAtts.nearPlane = -22170.3
    +View3DAtts.farPlane = 22170.3
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 0)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +
    +DrawPlots()
    +
    +Test("miranda_raw_reader11")
    +
    +# ====================================================================
    +
    +SetTimeSliderState(1)
    +DrawPlots()
    +
    +Test("miranda_raw_reader12")
    +
    +# ====================================================================
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_moab.html b/2023-11-08-22:00/pascal_trunk_serial/databases_moab.html new file mode 100644 index 000000000..9ed5f48eb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_moab.html @@ -0,0 +1,60 @@ + +Results for databases/moab.py + +

    Results of VisIt Regression Test - databases/moab

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    moab_010.000.00
    moab_020.000.00
    moab_030.000.00
    moab_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_moab_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_moab_py.html new file mode 100644 index 000000000..5e8c8824c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_moab_py.html @@ -0,0 +1,61 @@ +databases/moab.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  moab.py
    +#
    +#  Tests:      mesh      - 3D unstructured,multi-domain, 
    +#              plots     - Pseudocolor, mesh
    +#
    +#  Programmer: Mark C Miller
    +#  Date:       August 10, 2016
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("MOAB")
    +
    +OpenDatabase(data_path("moab_test_data/64bricks_12ktet.h5m"))
    +
    +AddPlot("Mesh", "mesh")
    +AddPlot("Pseudocolor", "NODE_vertex_field")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.RotateAxis(0,45)
    +v.RotateAxis(1,135)
    +SetView3D(v)
    +Test("moab_01")
    +
    +DeleteAllPlots()
    +AddPlot("Mesh", "mesh")
    +AddPlot("Subset", "Materials")
    +DrawPlots()
    +Test("moab_02")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("moab_test_data/64bricks_12ktet.h5m"))
    +
    +OpenDatabase(data_path("moab_test_data/64bricks_512hex_256part.h5m"))
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.RotateAxis(0,45)
    +v.RotateAxis(1,135)
    +SetView3D(v)
    +Test("moab_03")
    +
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i)[0:8] == "GeomSet_":
    +        silr.TurnOffSet(i)
    +    if   silr.SetName(i) == "GeomSet_427_dim_2":
    +        silr.TurnOnSet(i)
    +    elif silr.SetName(i) == "GeomSet_433_dim_2":
    +        silr.TurnOnSet(i)
    +    elif silr.SetName(i) == "GeomSet_438_dim_2":
    +        silr.TurnOnSet(i)
    +    elif silr.SetName(i) == "GeomSet_443_dim_2":
    +        silr.TurnOnSet(i)
    +SetPlotSILRestriction(silr)
    +Test("moab_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format.html b/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format.html new file mode 100644 index 000000000..89aff3090 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format.html @@ -0,0 +1,60 @@ + +Results for databases/multi_format.py + +

    Results of VisIt Regression Test - databases/multi_format

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    multi_format_010.000.00
    multi_format_020.000.00
    multi_format_030.000.00
    multi_format_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format2.html b/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format2.html new file mode 100644 index 000000000..10e46476a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format2.html @@ -0,0 +1,42 @@ + +Results for databases/multi_format2.py + +

    Results of VisIt Regression Test - databases/multi_format2

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    multi_format2_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format2_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format2_py.html new file mode 100644 index 000000000..3d2ff05bb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format2_py.html @@ -0,0 +1,53 @@ +databases/multi_format2.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multi_format2.py 
    +#
    +#  Tests:      Using multiple file formats types in the same engine.
    +#
    +#  Programmer: Jeremy Meredith
    +#  Creation:   March 23, 2004
    +#
    +#  Tests a strange case related to the original multi_format.py where the
    +#  engine is restarted implicitly.  This is currently skipped in parallel
    +#  since an implicit engine restart does not pick up the same paralell args.
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +db = (silo_data_path("rect2d.silo") ,
    +      data_path("pdb_test_data/allinone00.pdb"))
    +
    +# Create a Pseudocolor plot of Rect2d.
    +OpenDatabase(db[0])
    +AddPlot("Pseudocolor", "p")
    +
    +# Move it off to the side
    +t=TransformAttributes()
    +t.doTranslate = 1
    +t.translateX = 11.0
    +t.doScale = 1;
    +t.scaleX = 22.5;
    +t.scaleY = 22.5;
    +SetDefaultOperatorOptions(t)
    +AddOperator("Transform")
    +
    +# Create a Pseudocolor plot of AllInOne
    +OpenDatabase(db[1])
    +AddPlot("FilledBoundary", "material(mesh)")
    +
    +# Close the compute engine!
    +CloseComputeEngine("localhost");
    +
    +# Allow it to restart
    +DrawPlots()
    +
    +# Test it!
    +Test("multi_format2_01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format_py.html new file mode 100644 index 000000000..c191d6032 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_multi_format_py.html @@ -0,0 +1,66 @@ +databases/multi_format.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multi_format.py 
    +#
    +#  Tests:      Using multiple file formats types in the same engine.
    +#
    +#  Programmer: Hank Childs
    +#  Creation:   March 22, 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Tom Fogal, Tue Dec 15 17:34:00 MST 2009
    +#    Fix path to data.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +db = (data_path("silo_pdb_test_data/wave*.silo database"),
    +      data_path("pdb_test_data/allinone00.pdb"))
    +
    +# Create a Pseudocolor plot of wave.
    +OpenDatabase(db[0])
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +
    +# Set the view.
    +v0 = View3DAttributes()
    +v0.viewNormal = (-0.661743, 0.517608, 0.542382)
    +v0.focus = (5, 0.757692, 2.5)
    +v0.viewUp = (0.370798, 0.854716, -0.363277)
    +v0.viewAngle = 30
    +v0.parallelScale = 5.63924
    +v0.nearPlane = -11.2785
    +v0.farPlane = 11.2785
    +v0.imagePan = (0.00100868, 0.0454815)
    +v0.imageZoom = 1.17935
    +v0.perspective = 1
    +SetView3D(v0)
    +Test("multi_format_01")
    +
    +# Create another window and make sure that it has the wave database as its
    +# active source.
    +CloneWindow()
    +SetActiveWindow(2)
    +DeleteAllPlots()
    +
    +# Open the allinone database and make sure that it becomes the active source.
    +OpenDatabase(db[1])
    +
    +# Create a plot from it.
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("multi_format_02")
    +# note: py3 div creates float
    +SetTimeSliderState(int(TimeSliderGetNStates() / 2))
    +Test("multi_format_03")
    +
    +# Switch back to window 1.
    +SetActiveWindow(1)
    +Test("multi_format_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_netcdf.html b/2023-11-08-22:00/pascal_trunk_serial/databases_netcdf.html new file mode 100644 index 000000000..a7957b728 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_netcdf.html @@ -0,0 +1,210 @@ + +Results for databases/netcdf.py + +

    Results of VisIt Regression Test - databases/netcdf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ADAPT files
    netcdf_0_000.000.00
    netcdf_0_010.000.00
    netcdf_0_020.000.00
    netcdf_0_030.000.00
    LODI particle files
    netcdf_1_000.000.00
    netcdf_1_010.000.00
    netcdf_1_020.000.00
    LODI files
    Basic NETCDF reader
    netcdf_3_000.000.00
    netcdf_3_010.000.00
    netcdf_3_020.000.00
    netcdf_3_030.000.00
    netcdf_3_040.000.00
    netcdf_3_050.000.00
    netcdf_3_060.000.00
    netcdf_3_070.000.00
    netcdf_3_080.000.00
    Basic NETCDF reader with zone-centered data
    netcdf_3_090.000.00
    netcdf_3_100.000.00
    CCSM reader
    netcdf_4_000.000.00
    netcdf_4_010.000.00
    netcdf_4_020.000.00
    Time-varying curves
    netcdf_5_000.000.00
    netcdf_5_010.000.00
    FVCOM reader
    netcdf_6_000.000.00
    netcdf_6_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_netcdf_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_netcdf_py.html new file mode 100644 index 000000000..3626e04f6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_netcdf_py.html @@ -0,0 +1,425 @@ +databases/netcdf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  netcdf.py
    +#
    +#  Tests:      mesh      - 2D, 3D structured, single domain
    +#              plots     - Mesh, Pseudocolor, FilledBoundary
    +#              operators - Transform
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Aug 22 11:37:35 PDT 2005
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Oct 10 11:20:44 PDT 2007
    +#    Added tests for CCSM data.
    +#
    +#    Jeremy Meredith, Fri Aug  8 11:23:29 EDT 2008
    +#    Updated streamline settings to match new attribute fields.
    +#
    +#    Brad Whitlock, Mon 16:37:34 PST 2009
    +#    I removed the Streamline plot and I fixed some other things to get it
    +#    working again.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Brad Whitlock, Thu Sep  9 11:03:30 PDT 2010
    +#    I added tests for time-varying curves, FVCOM.
    +#
    +#    Kathleen Biagas, Fri Sep 21 10:12:15 MST 2012
    +#    Removed pjoin so that tests can run on Windows.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("NETCDF")
    +
    +def test0():
    +    TestSection("ADAPT files")
    +    OpenDatabase(data_path("netcdf_test_data/narac/adapt_etex_metfld_from_obs_102312.nc"))
    +    AddPlot("Pseudocolor", "u")
    +    AddPlot("Mesh", "main")
    +    SetActivePlots((0,1))
    +    AddOperator("Transform")
    +    t = TransformAttributes()
    +    t.scaleZ = 200
    +    t.doScale = 1
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +
    +    # Set the view
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.70982, -0.515727, 0.479773)
    +    v.focus = (0, 0, 753888)
    +    v.viewUp = (0.359948, 0.319901, 0.876414)
    +    v.viewAngle = 30
    +    v.parallelScale = 2.38503e+06
    +    v.nearPlane = -4.77005e+06
    +    v.farPlane = 4.77005e+06
    +    v.imagePan = (0.000886525, 0.00976909)
    +    v.imageZoom = 0.952092
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 753888)
    +    SetView3D(v)
    +    Test("netcdf_0_00")
    +
    +    # Set up another view.
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (-0.434823, -0.389027, -0.812149)
    +    v1.focus = (0, 0, 753888)
    +    v1.viewUp = (-0.545125, -0.604143, 0.581249)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 2.38503e+06
    +    v1.nearPlane = -4.77005e+06
    +    v1.farPlane = 4.77005e+06
    +    v1.imagePan = (0.00461106, -0.0368703)
    +    v1.imageZoom = 0.952092
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (0, 0, 753888)
    +    SetView3D(v1)
    +    Test("netcdf_0_01")
    +
    +    # Plot the terrain by stripping away most of the air.
    +    SetActivePlots(1)
    +    DeleteActivePlots()
    +    AddOperator("IndexSelect")
    +    idxsel = IndexSelectAttributes()
    +    idxsel.dim = idxsel.ThreeD
    +    idxsel.zMax = 1
    +    SetOperatorOptions(idxsel)
    +
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.394106, -0.0944361, 0.9142)
    +    v2.focus = (0, 0, 508267)
    +    v2.viewUp = (0.867549, 0.290123, 0.403965)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 2.31912e+06
    +    v2.nearPlane = -4.63825e+06
    +    v2.farPlane = 4.63825e+06
    +    v2.imagePan = (0.012587, 0.0291994)
    +    v2.imageZoom = 1.08833
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 0, 508267)
    +    SetView3D(v2)
    +    DrawPlots()
    +    Test("netcdf_0_02")
    +
    +    # Plot something 2D
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "ustar")
    +    p = PseudocolorAttributes()
    +    p.skewFactor = 0.01
    +    p.scaling = p.Skew
    +    DrawPlots()
    +    Test("netcdf_0_03")
    +    DeleteAllPlots()
    +
    +def test1():
    +    TestSection("LODI particle files")
    +    # First put in the terrain, though it is not a LODI particle file.
    +    OpenDatabase(data_path("netcdf_test_data/narac/adapt_etex_metfld_from_obs_102312.nc"))
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("Transform", 1)
    +    t = TransformAttributes()
    +    t.scaleZ = 200
    +    t.doScale = 1
    +    SetOperatorOptions(t)
    +    AddOperator("IndexSelect")
    +    idxsel = IndexSelectAttributes()
    +    idxsel.dim = idxsel.ThreeD
    +    idxsel.zMax = 1
    +    SetOperatorOptions(idxsel)
    +    DrawPlots()
    +
    +    # Now add the LODI particle file.
    +    db = data_path("netcdf_test_data/narac/ppart.nc")
    +    OpenDatabase(db)
    +    AddPlot("FilledBoundary", "sourceid")
    +    AddOperator("Transform")
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.57737, -0.765477, 0.28406)
    +    v.focus = (0, 0, 265602)
    +    v.viewUp = (0.165375, 0.231057, 0.958782)
    +    v.viewAngle = 30
    +    v.parallelScale = 2.27828e+06
    +    v.nearPlane = -4.55655e+06
    +    v.farPlane = 4.55655e+06
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 3.17577
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 265602)
    +    SetView3D(v)
    +    Test("netcdf_1_00")
    +
    +    # Do a Label plot
    +    AddPlot("Label", "sourceid")
    +    AddOperator("Transform")
    +    SetOperatorOptions(t)
    +    L = LabelAttributes()
    +    L.restrictNumberOfLabels = 0
    +    L.textFont1.scale = 6
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    SetActivePlots(1)
    +    f = FilledBoundaryAttributes()
    +    f.pointSizePixels = 10
    +    SetPlotOptions(f)
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.57737, -0.765477, 0.28406)
    +    v2.focus = (0, 0, 265602)
    +    v2.viewUp = (0.165375, 0.231057, 0.958782)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 2.27828e+06
    +    v2.nearPlane = -4.55655e+06
    +    v2.farPlane = 4.55655e+06
    +    v2.imagePan = (-0.0022605, 0.0057171)
    +    v2.imageZoom = 111.554
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 0, 265602)
    +    SetView3D(v2)
    +    Test("netcdf_1_01")
    +
    +    # Delete the label plot and go forward in time
    +    SetActivePlots(2)
    +    DeleteActivePlots()
    +    SetView3D(v)
    +    SetActivePlots(1)
    +    f.pointSizePixels = 2
    +    SetPlotOptions(f)
    +    TimeSliderNextState()
    +    Test("netcdf_1_02")
    +    DeleteAllPlots()
    +
    +def test2():
    +    TestSection("LODI files")
    +    # This test is reserved for LODI once it is assured to be right.
    +    return
    +
    +def test3():
    +    TestSection("Basic NETCDF reader")
    +    OpenDatabase(data_path("netcdf_test_data/narac/etex_fill_lambertcc__4000_001.elev"))
    +    AddPlot("Pseudocolor", "elevations")
    +    DrawPlots()
    +    Test("netcdf_3_00")
    +
    +    # Elevate the data
    +    ClearWindow()
    +    AddOperator("Elevate")
    +    e = ElevateAttributes()
    +    e.useXYLimits = e.Always
    +    SetOperatorOptions(e)
    +    AddOperator("Transform")
    +    t = TransformAttributes()
    +    t.doScale = 1
    +    t.scaleX = 100
    +    t.scaleY = 100
    +    t.scaleZ = 3
    +    SetOperatorOptions(t)
    +    th = ThresholdAttributes()
    +    th.listedVarNames = ("elevations")
    +    th.lowerBounds = (1.0)
    +    SetDefaultOperatorOptions(th)
    +    AddOperator("Threshold")
    +    DrawPlots()
    +    # Set up a light
    +    oldLight = GetLight(0)
    +    newLight = GetLight(0)
    +    newLight.enabledFlag = 1
    +    newLight.type = newLight.Camera  # Ambient, Object, Camera
    +    newLight.direction = (-0.626, -0.427, -0.653)
    +    newLight.color = (255, 255, 255, 255)
    +    newLight.brightness = 1
    +    SetLight(0, newLight)
    +    # Set up the view
    +    v = View3DAttributes()
    +    v.viewNormal = (0, -0.5, 0.866025)
    +    v.focus = (0, 0, 1646)
    +    v.viewUp = (0, 0.866025, 0.5)
    +    v.viewAngle = 30
    +    v.parallelScale = 282140
    +    v.nearPlane = -564281
    +    v.farPlane = 564281
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.43024
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 1646)
    +    SetView3D(v)
    +    InvertBackgroundColor()
    +    Test("netcdf_3_01")
    +    SetLight(0, oldLight)
    +    DeleteAllPlots()
    +    InvertBackgroundColor()
    +
    +    # Try some curves
    +    OpenDatabase(data_path("netcdf_test_data/3252ATT-A1H.cdf"))
    +    AddPlot("Curve", "ATTN_55")
    +    curveAtts = CurveAttributes()
    +    curveAtts.curveColorSource = curveAtts.Custom
    +    curveAtts.curveColor = (255, 0, 0, 255)
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    Test("netcdf_3_02")
    +    DeleteAllPlots()
    +    OpenDatabase(data_path("netcdf_test_data/AAtestCTD.nc"))
    +    AddPlot("Curve", "ST_70")
    +    curveAtts.curveColor = (0, 255, 0, 255)
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_3_03")
    +    DeleteAllPlots()
    +
    +    # Try some files that I found on climate web sites.
    +    OpenDatabase(data_path("netcdf_test_data/pressure.cdf"))
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    ResetView()
    +    ToggleFullFrameMode() # Did this get set somehow by the curve plots?
    +    Test("netcdf_3_04")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("netcdf_test_data/aou.cdf"))
    +    AddPlot("Pseudocolor", "aou")
    +    AddOperator("Slice")
    +    s = SliceAttributes()
    +    s.axisType = s.ZAxis
    +    SetOperatorOptions(s)
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_3_05")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("netcdf_test_data/NASA_vegetation_lai.cdf"))
    +    AddPlot("Pseudocolor", "lai")
    +    DrawPlots()
    +    v2 = View2DAttributes()
    +    v2.windowCoords = (-139.883, -44.1452, -18.7702, 74.4037)
    +    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v2.fullFrameActivationMode = v2.Off  # On, Off, Auto
    +    v2.fullFrameAutoThreshold = 100
    +    SetView2D(v2)
    +    Test("netcdf_3_06")
    +    DeleteAllPlots()
    +
    +    # Try a file that used to crash on Windows
    +    db = "netcdf_test_data/Case5_2D-Q.nc"
    +    OpenDatabase(data_path(db))
    +    AddPlot("Pseudocolor", "Q")
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_3_07")
    +    SetTimeSliderState(29)
    +    Test("netcdf_3_08")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path(db))
    +
    +    TestSection("Basic NETCDF reader with zone-centered data")
    +    swa = SaveWindowAttributes()
    +    swa.width = 1000
    +    swa.height = 1000
    +    swa.screenCapture = 0
    +    db = "netcdf_test_data/oase-mapdata.nc"
    +    OpenDatabase(data_path(db))
    +    AddPlot("Pseudocolor", "national_rivers_2D")
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_3_09", swa)
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "as_zonal/national_rivers_2D")
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_3_10", swa)
    +    DeleteAllPlots()
    +    CloseDatabase(data_path(db))
    +
    +def test4():
    +    TestSection("CCSM reader")
    +    db = "netcdf_test_data/tas_mean_T63.nc"
    +    OpenDatabase(data_path(db))
    +    AddPlot("Pseudocolor", "tas")
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_4_00")
    +
    +    # Change to the last time state
    +    SetTimeSliderState(1187)
    +    Test("netcdf_4_01")
    +
    +    # Change to the global representation of the data
    +    ChangeActivePlotsVar("global/tas")
    +    ResetView()
    +    Test("netcdf_4_02")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path(db))
    +
    +def test5():
    +    TestSection("Time-varying curves")
    +    db = "netcdf_test_data/timecurve.nc"
    +    OpenDatabase(data_path(db))
    +    AddPlot("Curve", "theta_1_1")
    +    c = CurveAttributes()
    +    c.showLabels = 0
    +    c.curveColor = (255,0,0,255)
    +    c.curveColorSource = c.Custom
    +    SetPlotOptions(c)
    +    cv = GetViewCurve()
    +    cv.domainCoords = (0, 9)
    +    cv.rangeCoords = (0.40657, 5)
    +    cv.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    cv.domainScale = cv.LINEAR  # LINEAR, LOG
    +    cv.rangeScale = cv.LINEAR  # LINEAR, LOG
    +    SetViewCurve(cv)
    +    DrawPlots()
    +    Test("netcdf_5_00")
    +    SetTimeSliderState(4)
    +    Test("netcdf_5_01")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path(db))
    +
    +def test6():
    +    TestSection("FVCOM reader ")
    +    db = "netcdf_test_data/chn_0001.nc"
    +    OpenDatabase(data_path(db))
    +    AddPlot("Pseudocolor", "Dens3{S,Theta,P}")
    +    DrawPlots()
    +    ResetView()
    +    Test("netcdf_6_00")
    +    SetTimeSliderState(47)
    +    Test("netcdf_6_01")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path(db))
    +
    +def main():
    +    test0()
    +    test1()
    +    test2()
    +    test3()
    +    test4()
    +    test5()
    +    test6()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_obj.html b/2023-11-08-22:00/pascal_trunk_serial/databases_obj.html new file mode 100644 index 000000000..6b489f3db --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_obj.html @@ -0,0 +1,126 @@ + +Results for databases/obj.py + +

    Results of VisIt Regression Test - databases/obj

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    obj_cube0.000.00
    obj_face10.000.00
    obj_face20.000.00
    obj_face30.000.00
    obj_face40.000.00
    obj_face50.000.00
    obj_face60.000.00
    obj_tri10.000.00
    obj_tri20.000.00
    obj_box0.000.00
    obj_colors0.000.00
    obj_immediate_colors0.000.00
    obj_scott10.000.00
    obj_scott20.000.00
    obj_scott30.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_obj_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_obj_py.html new file mode 100644 index 000000000..e91683d97 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_obj_py.html @@ -0,0 +1,85 @@ +databases/obj.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  obj.py
    +#
    +#  Tests:      Wavefront OBJ reader
    +#                  - relative indexing
    +#                  - groups w/ and w/o multiple inclusion via enum scalar
    +#                  - groups with coloration (via material)
    +#
    +#  Programmer: Mark C. Miller, Tue Oct 23 16:09:00 PDT 2018
    +#
    +# ----------------------------------------------------------------------------
    +def TurnOnSetsByName(silr, setNames):
    +    silr.TurnOffAll()
    +    silr.TurnOnSet(1) # the block0 set
    +    for i in range(silr.NumSets()):
    +        if silr.SetName(i) in setNames:
    +            silr.TurnOnSet(i)
    +
    +OpenDatabase(data_path("obj_test_data/cube2.obj"))
    +
    +AddPlot("Mesh", "OBJMesh")
    +ma = MeshAttributes()
    +ma.opaqueColorSource = ma.OpaqueCustom
    +ma.opaqueColor = (192, 192, 192)
    +DrawPlots()
    +SetPlotOptions(ma)
    +
    +v = GetView3D()
    +v.viewNormal = (0.00415051, 0.90155, -0.432654)
    +v.viewUp = (0.959161, 0.118781, 0.256713)
    +SetView3D(v)
    +
    +Test("obj_cube")
    +
    +silr = SILRestriction()
    +setsToTest = ("face1","face2","face3","face4","face5","face6","tri1","tri2","box")
    +for set in setsToTest:
    +    TurnOnSetsByName(silr, (set,))
    +    SetPlotSILRestriction(silr)
    +    Test("obj_%s"%set)
    +
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +CloseDatabase(data_path("obj_test_data/cube2.obj"))
    +OpenDatabase(data_path("obj_test_data/cube1.obj"))
    +
    +# Test coloration of faces from matlib
    +AddPlot("FilledBoundary", "GroupsAsMaterials")
    +DrawPlots()
    +v.RotateAxis(0,30)
    +SetView3D(v)
    +Test("obj_colors")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("obj_test_data/cube1.obj"))
    +OpenDatabase(data_path("obj_test_data/cube3.obj"))
    +
    +# Test coloration of faces from immediate mode colors
    +# Should be same picture as above
    +AddPlot("FilledBoundary", "GroupsAsMaterials")
    +DrawPlots()
    +Test("obj_immediate_colors")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("obj_test_data/cube3.obj"))
    +OpenDatabase(data_path("obj_test_data/test.obj"))
    +
    +# Test various objects from Scott's example database
    +AddPlot("FilledBoundary", "GroupsAsMaterials")
    +DrawPlots()
    +ResetView()
    +Test("obj_scott1")
    +silr = SILRestriction()
    +silr.TurnOffSet(17) # Plane
    +SetPlotSILRestriction(silr)
    +Test("obj_scott2")
    +silr.TurnOffSet(18) # Prism
    +SetPlotSILRestriction(silr)
    +Test("obj_scott3")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_oldsilo.html b/2023-11-08-22:00/pascal_trunk_serial/databases_oldsilo.html new file mode 100644 index 000000000..899459e77 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_oldsilo.html @@ -0,0 +1,48 @@ + +Results for databases/oldsilo.py + +

    Results of VisIt Regression Test - databases/oldsilo

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    oldsilo_010.000.00
    oldsilo_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_oldsilo_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_oldsilo_py.html new file mode 100644 index 000000000..68124694e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_oldsilo_py.html @@ -0,0 +1,38 @@ +databases/oldsilo.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  oldsilo.py 
    +#
    +#  Tests:      old-style silo files (netcdf driver)
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       February 11, 2004 
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Thu Jan 14 12:38:24 EST 2010
    +#    Changed path to point to new location.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(data_path("old_silo_test_data/pion0244.silo"))
    +
    +AddPlot("Pseudocolor","d")
    +AddPlot("Mesh","hydro_mesh")
    +DrawPlots()
    +Test("oldsilo_01")
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("old_silo_test_data/fwl.17217"))
    +
    +AddPlot("Pseudocolor","d")
    +AddPlot("Mesh","mesh1")
    +DrawPlots()
    +Test("oldsilo_02")
    +DeleteAllPlots()
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_openPMD.html b/2023-11-08-22:00/pascal_trunk_serial/databases_openPMD.html new file mode 100644 index 000000000..ecb7c8c2d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_openPMD.html @@ -0,0 +1,45 @@ + +Results for databases/openPMD.py + +

    Results of VisIt Regression Test - databases/openPMD

    + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    3D Example openPMD File
    openPMD_3D_Fieldsrho0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_openPMD_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_openPMD_py.html new file mode 100644 index 000000000..a20739a60 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_openPMD_py.html @@ -0,0 +1,40 @@ +databases/openPMD.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  openPMD.py
    +#
    +#  Tests:      openPMD hdf5 files
    +#
    +#  Programmer: Dave Pugmire
    +#  Date:       Mon Oct 28 13:00:15 EDT 2019
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("OpenPMD")
    +
    +openPMDFile = 'openpmd_test_data/data00000500.opmd'
    +
    +vars = ['Fields/rho']
    +
    +def test(var, tagName) :
    +    SetTimeSliderState(1)
    +    AddPlot("Contour", var)
    +    SetActivePlots(0)
    +    ContourAtts = ContourAttributes()
    +    ContourAtts.minFlag = 1
    +    ContourAtts.min = 1
    +    ContourAtts.scaling = ContourAtts.Log
    +    SetPlotOptions(ContourAtts)
    +    DrawPlots()
    +    fileName = var.replace("/", "")
    +    Test(tagName + "_" +  fileName)
    +    DeleteAllPlots()
    +
    +
    +TestSection("3D Example openPMD File")
    +OpenDatabase(data_path(openPMDFile))
    +for var in vars:
    +    test(var,"openPMD_3D")
    +CloseDatabase(data_path(openPMDFile))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_openexr.html b/2023-11-08-22:00/pascal_trunk_serial/databases_openexr.html new file mode 100644 index 000000000..4fd2f698f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_openexr.html @@ -0,0 +1,78 @@ + +Results for databases/openexr.py + +

    Results of VisIt Regression Test - databases/openexr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    openexr_0_R0.000.00
    openexr_0_G0.000.00
    openexr_0_B0.000.00
    openexr_0_A0.000.00
    openexr_0_Z0.000.00
    openexr_0_L0.000.00
    openexr_0_value0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_openexr_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_openexr_py.html new file mode 100644 index 000000000..d887b24a6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_openexr_py.html @@ -0,0 +1,54 @@ +databases/openexr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  openexr.py 
    +#
    +#  Tests:      openexr reading 
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Feb 15 14:16:45 PST 2018
    +#
    +#  Modifications:
    +# 
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("OpenEXR")
    +
    +def test0():
    +    DefineScalarExpression("masked_value", "if(gt(A, 0), value, 0)")
    +
    +    db = data_path("OpenEXR_test_data/noise_rgbazlv.exr")
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "R")
    +    DrawPlots()
    +    v = GetView2D()
    +    v.viewportCoords = (0, 1, 0, 1)
    +    SetView2D(v)
    +    Test("openexr_0_R")
    +
    +    ChangeActivePlotsVar("G")
    +    Test("openexr_0_G")
    +
    +    ChangeActivePlotsVar("B")
    +    Test("openexr_0_B")
    +
    +    ChangeActivePlotsVar("A")
    +    Test("openexr_0_A")
    +
    +    ChangeActivePlotsVar("Z")
    +    Test("openexr_0_Z")
    +
    +    ChangeActivePlotsVar("L")
    +    Test("openexr_0_L")
    +
    +    ChangeActivePlotsVar("masked_value")
    +    Test("openexr_0_value")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def main():
    +    test0()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_overlink.html b/2023-11-08-22:00/pascal_trunk_serial/databases_overlink.html new file mode 100644 index 000000000..e3e04a7bc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_overlink.html @@ -0,0 +1,108 @@ + +Results for databases/overlink.py + +

    Results of VisIt Regression Test - databases/overlink

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    overlink_010.000.00
    overlink_020.000.00
    overlink_030.000.00
    overlink_040.000.00
    ANNOTATION_INT nodelists
    overlink_050.000.00
    overlink_060.000.00
    overlink_070.000.00
    overlink_080.000.00
    overlink_090.000.00
    overlink_100.000.00
    Large number of nodelists
    overlink_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_overlink_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_overlink_py.html new file mode 100644 index 000000000..c8f476d02 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_overlink_py.html @@ -0,0 +1,152 @@ +databases/overlink.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  overlink.py 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       November 11, 2004 
    +#
    +#  Modifications:
    +#    Mark C. Miller, Mon Mar  2 12:44:59 PST 2009
    +#    Added tests for 3D and 2D ANNOTTAION_INT nodelists
    +#
    +#    Mark C. Miller, Thu Jun 18 21:43:45 PDT 2009
    +#    Added TestSection() for annotation int nodelists.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Fri May  4 22:54:55 PDT 2012
    +#    Add a test for modestly large number of nodesets to test new vtkBitArray
    +#    approach to handling nodesets.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(data_path("overlink_test_data/regrovl_qh_1000_10001_4/OvlTop.silo"))
    +
    +
    +#
    +# This is an interesting mesh 
    +#
    +AddPlot("Mesh","MMESH")
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal = (0.530656, 0.558421, 0.637629)
    +v.viewUp = (-0.401835, 0.82812, -0.390828)
    +SetView3D(v)
    +Test("overlink_01")
    +
    +AddPlot("Pseudocolor","nvar1")
    +DrawPlots()
    +Test("overlink_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Subset","domains(MMESH)")
    +DrawPlots()
    +Test("overlink_03")
    +
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "domain1":
    +        silr.TurnOffSet(i)
    +    elif silr.SetName(i) == "domain4":
    +        silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +Test("overlink_04")
    +
    +#
    +# Test ANNOTATION_INT objects and read options
    +#
    +TestSection("ANNOTATION_INT nodelists")
    +DeleteAllPlots()
    +CloseDatabase(data_path("overlink_test_data/regrovl_qh_1000_10001_4/OvlTop.silo"))
    +
    +
    +# First test open with search for ANNOT_INT objects turned on
    +# but none actually in the database.
    +readOptions=GetDefaultFileOpenOptions("Silo")
    +readOptions["Search For ANNOTATION_INT (!!Slow!!)"] = 1
    +SetDefaultFileOpenOptions("Silo", readOptions)
    +OpenDatabase(silo_data_path("multipart_multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor","d")
    +DrawPlots()
    +ResetView()
    +Test("overlink_05")
    +
    +# likewise on single domain, single file
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multipart_multi_ucd3d.silo"))
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor","dx")
    +DrawPlots()
    +ResetView()
    +Test("overlink_06")
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("globe.silo"))
    +
    +
    +# Ok, now lets do some real annot_int work
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("globe.silo"))
    +
    +OpenDatabase(data_path("overlink_test_data/annotInt/sweptCellTagTest.silo"))
    +
    +AddPlot("Mesh","MMESH")
    +DrawPlots()
    +Test("overlink_07")
    +
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "negYNodes":
    +        silr.TurnOffSet(i)
    +        break
    +SetPlotSILRestriction(silr)
    +Test("overlink_08")
    +
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "negZNodes":
    +        silr.TurnOffSet(i)
    +        break
    +SetPlotSILRestriction(silr)
    +Test("overlink_09")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("overlink_test_data/annotInt/sweptCellTagTest.silo"))
    +
    +OpenDatabase(data_path("overlink_test_data/annotInt/overlink2dTest.silo"))
    +
    +AddPlot("Mesh","MMESH")
    +DrawPlots()
    +ResetView()
    +v = GetView2D()
    +v.windowCoords = (-0.360608, 6.36061, -0.115684, 6.11568)
    +SetView2D(v)
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "posR":
    +        silr.TurnOffSet(i)
    +        break
    +SetPlotSILRestriction(silr)
    +Test("overlink_10")
    +
    +TestSection("Large number of nodelists")
    +DeleteAllPlots()
    +CloseDatabase(data_path("overlink_test_data/annotInt/overlink2dTest.silo"))
    +
    +OpenDatabase(data_path("overlink_test_data/annotInt/overlink2dTstA.silo"))
    +
    +AddPlot("Mesh","MMESH")
    +DrawPlots()
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if (i%2 and silr.SetName(i)[0:5] == "cell_"):
    +        silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +Test("overlink_11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_pdbdatabase.html b/2023-11-08-22:00/pascal_trunk_serial/databases_pdbdatabase.html new file mode 100644 index 000000000..eabd7f6e4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_pdbdatabase.html @@ -0,0 +1,348 @@ + +Results for databases/pdbdatabase.py + +

    Results of VisIt Regression Test - databases/pdbdatabase

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing with /usr/WS1/visit/test_trunk/visit/build/testdata/pdb_test_data/multi*.pdb database
    pdb_multi_000.000.00
    pdb_multi_010.000.00
    pdb_multi_020.000.00
    pdb_multi_030.000.00
    pdb_multi_040.000.00
    pdb_multi_050.000.00
    pdb_multi_060.000.00
    pdb_multi_070.000.00
    pdb_multi_080.000.00
    pdb_multi_090.000.00
    pdb_multi_100.000.00
    pdb_multi_110.000.00
    pdb_multi_120.000.00
    pdb_multi_130.000.00
    pdb_multi_140.000.00
    pdb_multi_150.000.00
    Testing with /usr/WS1/visit/test_trunk/visit/build/testdata/pdb_test_data/family*.pdb database
    pdb_family_000.000.00
    pdb_family_010.000.00
    pdb_family_020.000.00
    pdb_family_030.000.00
    pdb_family_040.000.00
    pdb_family_050.000.00
    pdb_family_060.000.00
    pdb_family_070.000.00
    pdb_family_080.000.00
    pdb_family_090.000.00
    pdb_family_100.000.00
    pdb_family_110.000.00
    pdb_family_120.000.00
    pdb_family_130.000.00
    pdb_family_140.000.00
    pdb_family_150.000.00
    Testing with /usr/WS1/visit/test_trunk/visit/build/testdata/pdb_test_data/allinone00.pdb
    pdb_allinone_000.000.00
    pdb_allinone_010.000.00
    pdb_allinone_020.000.00
    pdb_allinone_030.000.00
    pdb_allinone_040.000.00
    pdb_allinone_050.000.00
    pdb_allinone_060.000.00
    pdb_allinone_070.000.00
    pdb_allinone_080.000.00
    pdb_allinone_090.000.00
    pdb_allinone_100.000.00
    pdb_allinone_110.000.00
    pdb_allinone_120.000.00
    pdb_allinone_130.000.00
    pdb_allinone_140.000.00
    pdb_allinone_150.000.00
    Testing mixvars in Flash files
    pdb_nomix0.000.00
    pdb_mix0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_pdbdatabase_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_pdbdatabase_py.html new file mode 100644 index 000000000..7ff9a5e89 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_pdbdatabase_py.html @@ -0,0 +1,247 @@ +databases/pdbdatabase.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pdbdatabase.py
    +#
    +#  Tests:      mesh      - 2D,3D curvilinear, single domain
    +#              plots     - Pseudocolor, Subset, Vector
    +#              operators - Clip
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Sep 25 09:31:28 PDT 2003
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 31 09:11:08 PDT 2004
    +#    I added code to clear the engine cache to reduce memory usage.
    +#
    +#    Brad Whitlock, Fri Apr 9 16:54:15 PST 2004
    +#    I added TestSection to divide up the tests a little.
    +#
    +#    Brad Whitlock, Thu Sep 2 12:08:59 PDT 2004
    +#    I replaced some deprecated calls with their new equivalents.
    +#
    +#    Brad Whitlock, Tue Dec 7 17:52:33 PST 2004
    +#    I added a test for mixvars in Flash files.
    +#
    +#    Mark C. Miller, Sat Feb  3 00:42:05 PST 2007
    +#    Added tests for array variables
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("PDB")
    +
    +##
    +## This creates a name for a test.
    +##
    +def CreateTestName(testName, testIndex):
    +    name = "%s_%02d" % (testName, testIndex)
    +    return name
    +
    +def sv3():
    +    v3 = View3DAttributes()
    +    v3.viewNormal = (0.516282, 0.582114, 0.628169)
    +    v3.focus = (0, 0, 0)
    +    v3.viewUp = (-0.488576, 0.80261, -0.342213)
    +    v3.viewAngle = 30
    +    v3.parallelScale = 43.589
    +    v3.nearPlane = -87.178
    +    v3.farPlane = 87.178
    +    v3.imagePan = (0, 0)
    +    v3.imageZoom = 1.41577
    +    v3.perspective = 1
    +    SetView3D(v3)
    +
    +##
    +## This function performs the test using the specified database.
    +##
    +def TestWithDatabase(db, testName):
    +    TestSection("Testing with %s" % db)
    +
    +    # Open the test database
    +    OpenDatabase(db)
    +
    +    ##
    +    ## Do the 2D tests.
    +    ##
    +
    +    # Add the plots.
    +    AddPlot("FilledBoundary", "material(mesh)")
    +    DrawPlots()
    +
    +    # Do the first test in the series
    +    Test(CreateTestName(testName, 0))
    +
    +    SetTimeSliderState(6)
    +    Test(CreateTestName(testName, 1))
    +
    +    SetTimeSliderState(15)
    +    Test(CreateTestName(testName, 2))
    +
    +    # Do a test on the last frame in the animation.
    +    SetTimeSliderState(22)
    +    Test(CreateTestName(testName, 3))
    +
    +    AddPlot("Mesh", "mesh")
    +    DrawPlots()
    +    v = View2DAttributes()
    +    v.windowCoords = (-6.07862, -0.374491, 4.48986, 10.8545)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v)
    +    Test(CreateTestName(testName, 4))
    +
    +    # Try turning off material 2
    +    SetActivePlots((0,1))
    +    TurnMaterialsOff("2")
    +    Test(CreateTestName(testName, 5))
    +    TurnMaterialsOn()
    +
    +    ResetView()
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "mesh/a")
    +    DrawPlots()
    +    Test(CreateTestName(testName, 6))
    +
    +    # Define a expression. I'm testing this because of the strange
    +    # <mesh/var> syntax that my plugin has.
    +    DefineVectorExpression("testexp1", "3.0 * {<mesh/lt>, <mesh/a>/399.0}")
    +    AddPlot("Vector", "testexp1")
    +    DrawPlots();
    +    vec = VectorAttributes()
    +    vec.nVectors = 1200
    +    vec.colorByMagnitude = 0
    +    SetPlotOptions(vec)
    +    v.windowCoords = (-9.51217, -0.289482, 0.983025, 10.6717)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v)
    +    Test(CreateTestName(testName, 7))
    +
    +    # Set the time back to frame 0
    +    SetTimeSliderState(0)
    +    ResetView()
    +    DeleteAllPlots()
    +
    +    ##
    +    ## Do the 3D tests.
    +    ##
    +
    +    AddPlot("FilledBoundary", "material2(revolved_mesh)")
    +    AddOperator("Clip")
    +    c = ClipAttributes()
    +    c.funcType = c.Plane
    +    c.plane1Status = 0
    +    c.plane2Status = 1
    +    c.plane3Status = 1
    +    SetOperatorOptions(c)
    +    DrawPlots()
    +
    +    # Set the view
    +    sv3()
    +    Test(CreateTestName(testName, 8))
    +
    +    SetTimeSliderState(6)
    +    sv3()
    +    Test(CreateTestName(testName, 9))
    +
    +    SetTimeSliderState(15)
    +    sv3()
    +    Test(CreateTestName(testName, 10))
    +
    +    # Do a test on the last frame in the animation.
    +    SetTimeSliderState(22)
    +    sv3()
    +    Test(CreateTestName(testName, 11))
    +
    +    # Turn off some materials
    +    TurnMaterialsOff(("1", "3", "4"))
    +    sv3()
    +    Test(CreateTestName(testName, 12))
    +    TurnMaterialsOn()
    +
    +    # Set the time back to frame 2
    +    SetTimeSliderState(2)
    +    ResetView()
    +    DeleteAllPlots()
    +
    +    #
    +    # Test array variables
    +    #
    +    AddPlot("Pseudocolor","logical_mesh/marray_comps/comp_002")
    +    DrawPlots()
    +    Test(CreateTestName(testName, 13))
    +
    +    DeleteAllPlots()
    +    ResetView()
    +    AddPlot("Pseudocolor","revolved_mesh/marray_comps/comp_002")
    +    DrawPlots()
    +    Test(CreateTestName(testName, 14))
    +
    +    DeleteAllPlots()
    +    ResetView()
    +    AddPlot("Label","logical_mesh/marray")
    +    DrawPlots()
    +    Test(CreateTestName(testName, 15))
    +
    +    # Set the time back to frame 0
    +    SetTimeSliderState(0)
    +    ResetView()
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +    ClearCache("localhost")
    +
    +#
    +# Test mixvars.
    +#
    +def TestMixvars(db):
    +    TestSection("Testing mixvars in Flash files")
    +    DeleteAllPlots()
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "mesh/mixvar")
    +    DrawPlots()
    +    ResetView()
    +    v = View2DAttributes()
    +    v.windowCoords = (-9.51866, 3.29394, 13.9258, 26.4126)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off
    +    SetView2D(v)
    +    Test("pdb_nomix")
    +
    +    # Do the same plot but with forced MIR so the mixvar gets reconstructed.
    +    ClearWindow()
    +    m = GetMaterialAttributes()
    +    m.forceMIR = 1
    +    SetMaterialAttributes(m)
    +    DrawPlots()
    +    Test("pdb_mix")
    +    DeleteAllPlots()
    +
    +#
    +# Run the test a few times with different versions of the database. We do this
    +# because we have the same database split up three different ways and all the
    +# ways a database can be split up must work.
    +#
    +#   multi{00,01,02}.pdb  - Contains multiple time states in each file but
    +#                          we group them all into "multi*.pdb database".
    +#
    +#   family??.pdb         - Contains a single time state in each file but
    +#                          we group them all into "family*.pdb database".
    +#
    +#   allinone00.pdb       - Contains all of the time states in one file.
    +#
    +
    +databases = (data_path("pdb_test_data/multi*.pdb database"),
    +             data_path("pdb_test_data/family*.pdb database"),
    +             data_path("pdb_test_data/allinone00.pdb"))
    +testNames = ("pdb_multi", "pdb_family", "pdb_allinone")
    +for i in range(len(databases)):
    +    TestWithDatabase(databases[i], testNames[i])
    +
    +# Do the mixvar test.
    +TestMixvars(databases[2])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_pixie.html b/2023-11-08-22:00/pascal_trunk_serial/databases_pixie.html new file mode 100644 index 000000000..570ed204a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_pixie.html @@ -0,0 +1,90 @@ + +Results for databases/pixie.py + +

    Results of VisIt Regression Test - databases/pixie

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pixie_010.000.00
    pixie_020.000.00
    pixie_030.000.00
    pixie_040.000.00
    pixie_050.000.00
    pixie_060.000.00
    pixie_070.000.00
    pixie_080.000.00
    pixie_090.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_pixie_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_pixie_py.html new file mode 100644 index 000000000..d153363ad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_pixie_py.html @@ -0,0 +1,161 @@ +databases/pixie.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pixie.py 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       April 4, 2005 
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# test a 2D pixie database
    +OpenDatabase(data_path("pixie_test_data/pixie3d3.h5"))
    +
    +
    +#
    +# Test simple read and display of a variable 
    +#
    +AddPlot("Pseudocolor","Car variables/Bx")
    +DrawPlots()
    +Test("pixie_01")
    +
    +AddPlot("Mesh","curvemesh_33x33x2")
    +DrawPlots()
    +Test("pixie_02")
    +
    +# really zoom in on the center of this mesh
    +v=GetView2D()
    +v.windowCoords = (-5.84435e-05, 5.84435e-05, -5.12076e-05, 5.12076e-05)
    +SetView2D(v)
    +Test("pixie_03")
    +
    +DeleteAllPlots()
    +
    +# test a 3D pixie database
    +OpenDatabase(data_path("pixie_test_data/pixie3d4.h5"))
    +
    +AddPlot("Mesh","curvemesh_33x33x33")
    +AddPlot("Contour","Car variables/Vx")
    +v=GetView3D()
    +v.viewNormal=(-0.5, 0, 0.866025)
    +SetView3D(v)
    +DrawPlots()
    +Test("pixie_04")
    +DeleteAllPlots()
    +ResetView()
    +
    +# test a pixie expression (plot vector magnitude)
    +OpenDatabase(data_path("pixie_test_data/pixie_expressions.h5"))
    +
    +# Test that vector data can be used. We use a Contour plot instead of a Vector
    +# plot now because the glyph indices for the Vector plot can change depending
    +# on how the mesh was automatically decomposed by the reader.
    +AddPlot("Contour","V_magnitude")
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleZ = 0.25
    +SetOperatorOptions(t)
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal = (0.557477, 0.525516, 0.642692)
    +v.focus = (0.484375, 0.5, 0.984375)
    +v.viewUp = (-0.252277, 0.844773, -0.471926)
    +v.viewAngle = 30
    +v.parallelScale = 1.22474
    +v.nearPlane = -2.44949
    +v.farPlane = 2.44949
    +v.imagePan = (0.0454993, 0.0670485)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.484375, 0.5, 0.984375)
    +SetView3D(v)
    +Test("pixie_05")
    +DeleteAllPlots()
    +
    +# Test a transparent plot to see how well ghosting works when the
    +# mesh gets divided up in parallel.
    +DefineScalarExpression("one", "point_constant(curvemesh_33x33x65, 1.)")
    +AddPlot("Pseudocolor", "one")
    +pc = PseudocolorAttributes()
    +pc.SetOpacityType(pc.Constant)
    +pc.opacity = 0.31
    +SetPlotOptions(pc)
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleZ = 0.25
    +SetOperatorOptions(t)
    +DrawPlots()
    +Test("pixie_06")
    +DeleteAllPlots()
    +
    +# test a contour plot on double precision data
    +AddPlot("Contour","Car_variables/Vx")
    +v = GetView3D()
    +v.viewNormal = (0, 0, 1)
    +v.focus = (0.484375, 0.5, 3.9375)
    +v.viewUp = (0, 1, 0)
    +v.viewAngle = 30
    +v.parallelScale = 4.06202
    +v.nearPlane = -8.12404
    +v.farPlane = 8.12404
    +v.imagePan = (0, 0)
    +v.imageZoom = 20
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.484375, 0.5, 3.9375)
    +SetView3D(v)
    +DrawPlots()
    +Test("pixie_07")
    +DeleteAllPlots()
    +
    +# test a mesh plot of a non-square, 2D, curvilinear mesh 
    +OpenDatabase(data_path("pixie_test_data/pixie3d5.h5"))
    +
    +AddPlot("Mesh","curvemesh_65x33x2")
    +AddPlot("Pseudocolor","Diagnostics/q factor")
    +DrawPlots()
    +v=GetView2D()
    +v.windowCoords=(-0.241119, 0.241119, -0.162714, 0.162714)
    +SetView2D(v)
    +Test("pixie_08")
    +DeleteAllPlots()
    +
    +# test a pseudocolor plot of a 3D curvilinear mesh
    +OpenDatabase(data_path("pixie_test_data/pixie3d6.h5"))
    +
    +AddPlot("Mesh", "curvemesh_8x8x8")
    +AddPlot("Pseudocolor","Curvilinear/temperature")
    +DrawPlots()
    +v = GetView3D()
    +v.viewNormal = (0.465617, -0.587141, 0.662168)
    +v.focus = (0.5, 1, 1.5)
    +v.viewUp = (0.884708, 0.327576, -0.33164)
    +v.viewAngle = 30
    +v.parallelScale = 1.63698
    +v.nearPlane = -3.27395
    +v.farPlane = 3.27395
    +v.imagePan = (0, 0)
    +v.imageZoom = 0.9
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.5, 1, 1.5)
    +v.axis3DScaleFlag = 0
    +v.axis3DScales = (1, 1, 1)
    +v.shear = (0, 0, 1)
    +v.windowValid = 1
    +SetView3D(v)
    +Test("pixie_09")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_plaintext.html b/2023-11-08-22:00/pascal_trunk_serial/databases_plaintext.html new file mode 100644 index 000000000..658129a28 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_plaintext.html @@ -0,0 +1,72 @@ + +Results for databases/plaintext.py + +

    Results of VisIt Regression Test - databases/plaintext

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    CSV data as Curves
    PlainText_Curves0.000.00
    CSV data as Curves inferred X coordinate
    PlainText_Curves_noX0.000.00
    CSV data as 3D points with variable(s)
    PlainText_Points0.000.00
    CSV data as 2D array on uniform grid
    PlainText_2DArray0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_plaintext_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_plaintext_py.html new file mode 100644 index 000000000..c0111c583 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_plaintext_py.html @@ -0,0 +1,234 @@ +databases/plaintext.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  plaintext.py
    +#
    +#  Tests:      multiple curves from a CSV file without and with implicit X
    +#              2D and 3D points with variables in a CSV file
    +#              An array of data as a 2D regular grid
    +#
    +#  Notes:
    +#    - Code snippets from this file are literalinclude'd in our docs.
    +#    - Test image results produced by this test are also literalinclude'd.
    +#    - Input .csv files used here are also literalinclude'd.
    +#    - If you ever need to change the .csv files, you can regen them using
    +#      this script with 'genonly' CL arg and vanilla python (it won't make any
    +#      VisIt CLI calls).
    +#
    +#  Mark C. Miller, Fri Mar 11 14:33:30 PST 2022
    +#  Based on original code by Eric Brugger in our documentation
    +# ----------------------------------------------------------------------------
    +import copy, math, os, sys
    +
    +#
    +# Example of PlainText open options dict...
    +#
    +# {'Data layout': '1D Columns # Options are: 1D Columns, 2D Array',
    +#  'Lines to skip at beginning of file': 0,
    +#  'First row has variable names': 0,
    +#  'Column for X coordinate (or -1 for none)': -1,
    +#  'Column for Y coordinate (or -1 for none)': -1,
    +#  'Column for Z coordinate (or -1 for none)': -1}
    +#
    +
    +#
    +# Use this function with deepcopy to ensure we always start from a
    +# prestine default state for open options.
    +#
    +def GetDefaultOpenOptions():
    +    if not hasattr(GetDefaultOpenOptions, 'defaultOpenOptions'):
    +        GetDefaultOpenOptions.defaultOpenOptions = copy.deepcopy(GetDefaultFileOpenOptions("PlainText"))
    +    return copy.deepcopy(GetDefaultOpenOptions.defaultOpenOptions)
    +
    +def CreateCurvesDataFile(filename):
    +
    +    # Curve gen {
    +    with open(filename, "wt") as f:
    +        # create header
    +        f.write("angle,sine,cosine\n")
    +        npts = 73
    +        for i in range(npts):
    +            angle_deg = float(i) * (360. / float(npts-1))
    +            angle_rad = angle_deg * (3.1415926535 / 180.)
    +            sine = math.sin(angle_rad)
    +            cosine = math.cos(angle_rad)
    +            # write abscissa (x value) and ordinates (y-value(s))
    +            f.write("%g,%g,%g\n" % (angle_deg, sine, cosine))
    +    # Curve gen }
    +
    +def CreateCurvesDataFileWithNoXCoordinates(filename):
    +
    +    # Curve noX gen {
    +    with open(filename, "wt") as f:
    +        # create header
    +        f.write("inverse,sqrt,quadratic\n")
    +        npts = 100
    +        for i in range(npts):
    +            inv = float(100) / (float(i)+1)
    +            sqr = 10 * math.sqrt(i)
    +            quad = float(i*i) / float(100)
    +            f.write("%g,%g,%g\n" % (inv, sqr, quad))
    +    # Curve noX gen }
    +
    +def Create3DPointsWithVariablesDataFile(filename):
    +
    +    # Points gen {
    +    with open(filename, "wt") as f:
    +        # write header
    +        f.write("x y z velx vely velz temp\n")
    +        n = 100
    +        for i in range(n):
    +            t = float(i) / float(n-1)
    +            angle = t * (math.pi * 2.) * 5.
    +            r = t * 10.
    +            x = r * math.cos(angle)
    +            y = r * math.sin(angle)
    +            z = t * 10.
    +            vx = math.sqrt(x*x + y*y)
    +            vy = math.sqrt(y*y + z*z)
    +            vz = math.sqrt(x*x + z*z)
    +            temp = math.sqrt((t-0.5)*(t-0.5))
    +            # write point and value(s)
    +            f.write("%g %g %g %g %g %g %g\n" % (x,y,z,vx,vy,vz,temp))
    +    # Points gen }
    +
    +def Create2DArrayDataFile(filename):
    +
    +    # Array gen {
    +    with open(filename, "wt") as f:
    +        # Only the first column name matters.
    +        # The others are required but otherwise ignored.
    +        f.write("density c2 c3 c4 c5 c6 c7 c8\n")
    +        nx = 8
    +        ny = 10
    +        for iy in range(ny):
    +            y = float(iy)
    +            for ix in range(nx):
    +                x = float(ix)
    +                dist = math.sqrt(x*x + y*y)
    +                if (ix < nx - 1):
    +                   f.write("%g " % dist)
    +                else:
    +                   f.write("%g\n" % dist)
    +    # Array gen }
    +
    +def TestCSVCurves():
    +    TestSection("CSV data as Curves")
    +    CreateCurvesDataFile("curves.csv")
    +
    +    # Curve plot {
    +    plainTextOpenOptions = GetDefaultOpenOptions()
    +    plainTextOpenOptions['First row has variable names'] = 1
    +    plainTextOpenOptions['Column for X coordinate (or -1 for none)'] = 0
    +    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
    +
    +    OpenDatabase("curves.csv")
    +    AddPlot("Curve","sine")
    +    AddPlot("Curve","cosine")
    +    DrawPlots()
    +    # Curve plot }
    +    ResetView()
    +    Test("PlainText_Curves")
    +    DeleteAllPlots()
    +    CloseDatabase("curves.csv")
    +    os.unlink("curves.csv")
    +
    +def TestCSVCurvesNoX():
    +    TestSection("CSV data as Curves inferred X coordinate")
    +    CreateCurvesDataFileWithNoXCoordinates("curves_nox.csv")
    +
    +    # Curve noX plot {
    +    plainTextOpenOptions = GetDefaultOpenOptions()
    +    plainTextOpenOptions['First row has variable names'] = 1
    +    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
    +
    +    OpenDatabase("curves_nox.csv")
    +    AddPlot("Curve","inverse")
    +    AddPlot("Curve","sqrt")
    +    AddPlot("Curve","quadratic")
    +    DrawPlots()
    +    # Curve noX plot }
    +    ResetView()
    +    Test("PlainText_Curves_noX")
    +    DeleteAllPlots()
    +    CloseDatabase("curves_nox.csv")
    +    os.unlink("curves_nox.csv")
    +
    +def TestCSV3DPointsAndVariables():
    +    TestSection("CSV data as 3D points with variable(s)")
    +    Create3DPointsWithVariablesDataFile("points.txt")
    +
    +    # Points plot {
    +    plainTextOpenOptions = GetDefaultOpenOptions()
    +    plainTextOpenOptions['First row has variable names'] = 1
    +    plainTextOpenOptions['Column for X coordinate (or -1 for none)'] = 0
    +    plainTextOpenOptions['Column for Y coordinate (or -1 for none)'] = 1
    +    plainTextOpenOptions['Column for Z coordinate (or -1 for none)'] = 2
    +    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
    +    OpenDatabase("points.txt")
    +
    +    DefineVectorExpression("vel", "{velx,vely,velz}")
    +    AddPlot("Pseudocolor", "temp")
    +    AddPlot("Vector","vel")
    +    DrawPlots()
    +    # Points plot }
    +    ResetView()
    +    Test("PlainText_Points")
    +    DeleteAllPlots()
    +    CloseDatabase("points.txt")
    +    os.unlink("points.txt")
    +
    +def TestCSV2DArray():
    +    TestSection("CSV data as 2D array on uniform grid")
    +    Create2DArrayDataFile("array.txt")
    +
    +    # Array plot {
    +    plainTextOpenOptions = GetDefaultOpenOptions()
    +    plainTextOpenOptions['First row has variable names'] = 1
    +    plainTextOpenOptions['Data layout'] = '2D Array'
    +    SetDefaultFileOpenOptions("PlainText", plainTextOpenOptions)
    +
    +    OpenDatabase("array.txt")
    +    AddPlot("Pseudocolor", "density")
    +    DrawPlots()
    +    ResetView()
    +    # Array plot }
    +    Test("PlainText_2DArray")
    +    DeleteAllPlots()
    +    CloseDatabase("array.txt")
    +    os.unlink("array.txt")
    +
    +def main():
    +
    +    if 'genonly' in sys.argv:
    +        CreateCurvesDataFile('curves.csv')
    +        CreateCurvesDataFileWithNoXCoordinates('curves_nox.csv')
    +        Create3DPointsWithVariablesDataFile('points.txt')
    +        Create2DArrayDataFile('array.txt')
    +        sys.exit(0)
    +
    +    #
    +    # Idiom here...we can't manipulate open options until *after*
    +    # mdserver is running
    +    #
    +    OpenMDServer("localhost")
    +
    +    #
    +    # Make sure curve plots are without labels
    +    #
    +    ca = CurveAttributes()
    +    ca.showLabels = 0
    +    SetDefaultPlotOptions(ca)
    +
    +    TestCSVCurves()
    +
    +    TestCSVCurvesNoX()
    +
    +    TestCSV3DPointsAndVariables()
    +
    +    TestCSV2DArray()
    +
    +    Exit()
    +
    +main()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_rect.html b/2023-11-08-22:00/pascal_trunk_serial/databases_rect.html new file mode 100644 index 000000000..3184e2f5c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_rect.html @@ -0,0 +1,93 @@ + +Results for databases/rect.py + +

    Results of VisIt Regression Test - databases/rect

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Curvilinear grid files
    rect_010.000.00
    rect_020.000.00
    rect_030.000.00
    rect_040.000.00
    Rectilinear grid files
    rect_050.000.00
    rect_060.000.00
    1D Datasets re-interpreted as curves.
    rect_070.000.00
    rect_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_rect_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_rect_py.html new file mode 100644 index 000000000..d16b2c301 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_rect_py.html @@ -0,0 +1,98 @@ +databases/rect.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  rect.py 
    +#
    +#  Tests:      rect files 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       May 15, 2008 
    +#
    +#  Mark C. Miller, Thu Feb 12 01:30:24 PST 2009
    +#  Added test for rectilinear mesh case. Re-enabled setting of SIL restriction
    +#  which was disabled due to a bug that was resolved back in May, 2008.
    +#
    +#  Mark C. Miller, Wed Feb 18 17:52:44 PST 2009
    +#  Fixed missing AddPlot() call just prior to image 08. Changed name of 
    +#  curve objects that get re-interpreted.
    +#
    +#  Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#  Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#  individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# test the main mesh
    +TestSection("Curvilinear grid files")
    +OpenDatabase(data_path("Rect_test_data/curv_data/datafile.rect"))
    +
    +AddPlot("Mesh","Mesh")
    +DrawPlots()
    +v=GetView3D()
    +v.RotateAxis(1, 30.0)
    +SetView3D(v)
    +Test("rect_01")
    +
    +# test a variable
    +AddPlot("Pseudocolor","pressure")
    +DrawPlots()
    +Test("rect_02")
    +
    +# test going forward in time
    +TimeSliderNextState()
    +Test("rect_03")
    +
    +# test restriction
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "domain2":
    +        silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +DrawPlots()
    +Test("rect_04")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("Rect_test_data/curv_data/datafile.rect"))
    +
    +
    +TestSection("Rectilinear grid files")
    +OpenDatabase(data_path("Rect_test_data/rect_data/datafile.rect"))
    +
    +AddPlot("Mesh","Mesh")
    +DrawPlots()
    +ResetView()
    +Test("rect_05")
    +
    +AddPlot("Pseudocolor","myTest")
    +DrawPlots()
    +Test("rect_06")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("Rect_test_data/rect_data/datafile.rect"))
    +
    +
    +TestSection("1D Datasets re-interpreted as curves.")
    +
    +
    +OpenDatabase(data_path("Rect_test_data/1d/rect_data/datafile.rect"))
    +
    +AddPlot("Curve", "Scalar_Curves/pressure")
    +c = CurveAttributes()
    +c.showLabels = 0
    +c.curveColorSource = c.Custom
    +c.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(c)
    +DrawPlots()
    +ResetView()
    +Test("rect_07")
    +
    +AddPlot("Curve", "Scalar_Curves/density")
    +c.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(c)
    +DrawPlots()
    +TimeSliderNextState()
    +Test("rect_08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_reopen.html b/2023-11-08-22:00/pascal_trunk_serial/databases_reopen.html new file mode 100644 index 000000000..82ea485e4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_reopen.html @@ -0,0 +1,261 @@ + +Results for databases/reopen.py + +

    Results of VisIt Regression Test - databases/reopen

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    reopen_1_000 modifications totalling 0 lines
    reopen_1_010.000.00
    reopen_1_020 modifications totalling 0 lines
    Reopening virtual database
    reopen_2_000.000.00
    reopen_2_010 modifications totalling 0 lines
    reopen_2_020.000.00
    reopen_2_030 modifications totalling 0 lines
    reopen_2_040.000.00
    reopen_2_050 modifications totalling 0 lines
    Reopening .visit file
    reopen_2_060.000.00
    reopen_2_070 modifications totalling 0 lines
    reopen_2_080.000.00
    reopen_2_090 modifications totalling 0 lines
    reopen_2_100.000.00
    reopen_2_110 modifications totalling 0 lines
    Reopening .visit file of time-varying data
    reopen_3_000.000.00
    reopen_3_010 modifications totalling 0 lines
    reopen_3_020.000.00
    reopen_3_030 modifications totalling 0 lines
    reopen_3_040.000.00
    reopen_3_050 modifications totalling 0 lines
    reopen_3_060.000.00
    reopen_3_070 modifications totalling 0 lines
    Reopening overwritten file to test engine
    reopen_4_000.000.00
    reopen_4_010.000.00
    Testing reopen/expressions with multiple windows
    reopen_5_000 modifications totalling 0 lines
    reopen_5_010 modifications totalling 0 lines
    Testing reopen at an invalid time state
    reopen_6_000 modifications totalling 0 lines
    reopen_6_010.000.00
    reopen_6_020 modifications totalling 0 lines
    reopen_6_030.000.00
    reopen_6_040 modifications totalling 0 lines
    reopen_6_050.000.00
    reopen_6_060 modifications totalling 0 lines
    reopen_6_070.000.00
    reopen_6_080 modifications totalling 0 lines
    reopen_6_090.000.00
    reopen_6_100 modifications totalling 0 lines
    Testing reopen on a deleted file
    reopen_7_000.000.00
    reopen_7_010 modifications totalling 0 lines
    reopen_7_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_reopen_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_reopen_py.html new file mode 100644 index 000000000..eda167288 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_reopen_py.html @@ -0,0 +1,550 @@ +databases/reopen.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  reopen.py 
    +#
    +#  Tests:      Reopening a database where the SIL is invariant.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 1, 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Fri Mar 19 15:09:09 PST 2004
    +#    I changed one of the OpenDatabase calls to ReOpenDatabase. I also
    +#    added more extensive reopen tests.
    +#
    +#    Brad Whitlock, Fri Apr 9 16:28:01 PST 2004
    +#    I added a test that really makes sure the engine reexecuted during
    +#    a reopen.
    +#
    +#    Jeremy Meredith, Wed Apr 28 11:42:31 PDT 2004
    +#    I made the "Don't need to copy" message go to stderr.
    +#
    +#    Brad Whitlock, Wed Feb 2 16:27:54 PST 2005
    +#    Added a test for making sure that expressions are right after reopening
    +#    a database when there are multiple windows. I also added a test to 
    +#    make sure that time sliders are shortened when we reopen a database
    +#    that has had some of its time states removed.
    +#
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Brad Whitlock, Tue Feb 22 13:56:56 PST 2005
    +#    Added a test case for reopening a file that has been deleted.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Jeremy Meredith, Wed Jan 20 11:02:36 EST 2010
    +#    Fixed some file path issues and checked for "from" file before
    +#    assuming a symlink return error implied a different error message.
    +#
    +#    Kathleen Biagas, Fri May 26 08:31:00 MST 2017
    +#    Fixed reopen_04_01 for windows to use the same file as for non-windows.
    +#
    +#    Kathleen Biagas, Monday October 12, 2020 
    +#    Use TestEnv.params["run_dir"] instead of "." in calls to os.listdir.
    +#
    +# ----------------------------------------------------------------------------
    +from __future__ import print_function
    +import os
    +import sys
    +import time
    +import shutil
    +
    +def GetTruncatedWindowInformationString():
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    return s
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    TestText(testname, GetTruncatedWindowInformationString())
    +
    +def TestLength(testname):
    +    tsLength = TimeSliderGetNStates()
    +    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    testString = testString + GetTruncatedWindowInformationString()
    +    TestText(testname, testString)
    +
    +#
    +# Returns whether all files in the list are in the run directory.
    +#
    +def FilesPresent(files):
    +    currentFileList = os.listdir(TestEnv.params["run_dir"])
    +    count = 0
    +    retval = 0
    +    if type(files) == type(()) or type(files) == type([]):
    +        for file in files:
    +            if file in currentFileList:
    +                count = count + 1
    +        retval = count == len(files)
    +    else:
    +        # We got here because the files argument was 
    +        # a single value instead of a tuple or list.
    +        if files in currentFileList:
    +            retval = 1
    +
    +    return retval
    +
    +
    +#
    +# Removes all files ending in .silo or .visit from the run directory
    +# to ensure that there are no such files left over from a failed test.
    +#
    +def RemoveAllSiloAndVisItFiles():
    +    currentFileList = os.listdir(TestEnv.params["run_dir"])
    +    for file in currentFileList:
    +        if file[-5:] == ".silo" or file[-6:] == ".visit":
    +            try:
    +                os.unlink(file)
    +            except:
    +                # Ignore any exceptions
    +                pass
    +
    +#
    +# Function to create a .visit file or virtual database using time states
    +# from wave.
    +#
    +def CreateMTFile(prefix, makeVisItFile, percent):
    +    # Create a list of files that will be used to create the database
    +    # for the test.
    +    nStates = 71
    +    t = float(percent) / 100.
    +    maxState = int(float(nStates) * t)
    +    files = []
    +    prefixfiles = []
    +    for i in range(maxState):
    +        w = "wave%04d.silo" % (i * 10)
    +        files = files + [w]
    +        prefixfiles = prefixfiles + [prefix+w]
    +
    +    if makeVisItFile == 0:
    +        # Virtual database
    +        for file in files:
    +            fileFrom = data_path("silo_hdf5_test_data/%s" % file)
    +            fileTo   = "%s%s" % (prefix, file)
    +            if not os.path.exists(fileFrom):
    +                print("Error: %s didn't exist" % fileFrom, file=sys.stderr)
    +            try:
    +                # Copy a file from the data directory to the current directory.
    +                if not sys.platform.startswith("win"):
    +                    os.link(fileFrom, fileTo)
    +                else:
    +                    shutil.copyfile(fileFrom, fileTo)
    +            except OSError:
    +                print("Don't need to copy %s" % file, file=sys.stderr)
    +        db = prefix + "wave*.silo database"
    +    else:
    +        # .visit file.
    +        db = "reopen_wave.visit"
    +        f = open(db, "wt")
    +        for file in files:
    +            f.write(data_path("silo_hdf5_test_data/%s\n" % file))
    +        f.close()
    +    return (db, prefixfiles)
    +
    +# Function to remove the .visit file or the virtual database.
    +def DestroyMTFile(makeVisItFile, db):
    +    RemoveAllSiloAndVisItFiles()
    +
    +# Function to create a new SAMRAI .visit file.
    +def CreateTimeVaryingMTFile(percent):
    +    # Read in the entire dumps.visit file for the SAMRAI data so that
    +    # we can get the list of files.
    +    f = open(data_path("samrai_test_data/sil_changes/dumps.visit"), "rt")
    +    lines = f.readlines()
    +    f.close()
    +
    +    # Create a new .visit file
    +    nStates = len(lines)
    +    t = float(percent) / 100.
    +    maxState = int(float(nStates) * t)
    +    db = "reopen_samrai.visit"
    +    f = open(db, "wt")
    +    for i in range(maxState):
    +        f.write(data_path("samrai_test_data/sil_changes/%s") % lines[i])
    +    f.close()
    +    return db
    +
    +# Function to remove the SAMRAI .visit file.
    +def DestroyTimeVaryingMTFile(db):
    +    RemoveAllSiloAndVisItFiles()
    +
    +def SetTheView():
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.735926, 0.562657, 0.376604)
    +    v0.focus = (5, 0.753448, 2.5)
    +    v0.viewUp = (0.454745, 0.822858, -0.340752)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 5.6398
    +    v0.nearPlane = -11.2796
    +    v0.farPlane = 11.2796
    +    v0.imagePan = (0.0589778, 0.0898255)
    +    v0.imageZoom = 1.32552
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    SetView3D(v0)
    +
    +###############################################################################
    +
    +#
    +# Make sure that Reopen does not reset the time slider state and also make
    +# sure that we are getting the metadata for a late time state.
    +#
    +def test1():
    +    #
    +    # This will open at timestep 0.  The variable "transient" will not be
    +    # available then.
    +    #
    +    db = silo_data_path("wave.visit")
    +    OpenDatabase(db)
    +
    +    #
    +    # Now set the time to a timestep when "transient" is available.
    +    #
    +    SetTimeSliderState(20)
    +    TestWindowInformation("reopen_1_00")
    +
    +    #
    +    # If we were to try and make a PC plot of transient right now, it wouldn't
    +    # work.  We need to do a re-open first.
    +    #
    +    ReOpenDatabase(db)
    +
    +    #
    +    # Make a plot of transient. This had better not reset the time state to 0.
    +    #
    +    AddPlot("Pseudocolor","transient")
    +    DrawPlots()
    +    SetTheView()
    +    Test("reopen_1_01")
    +
    +    #
    +    # Delete the plots and close the database
    +    #
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +    TestWindowInformation("reopen_1_02")
    +
    +
    +#
    +# Now test that reopening a file actually makes the time slider longer. First
    +# create a new .visit file that we can add onto later.
    +#
    +def test2():
    +    VirtualDatabase = 0
    +    VisItFile = 1
    +
    +    testIndex = 0
    +    for method in (VirtualDatabase, VisItFile):
    +        # Add a section title.
    +        if(method == VirtualDatabase):
    +            TestSection("Reopening virtual database")
    +        else:
    +            TestSection("Reopening .visit file")
    +
    +        db, files = CreateMTFile("", method, 30)
    +        OpenDatabase(db)
    +        AddPlot("Pseudocolor", "pressure")
    +        DrawPlots()
    +
    +        # Set up the view.
    +        SetTheView()
    +
    +        # Go to the last time state.
    +        SetTimeSliderState(TimeSliderGetNStates() - 1)
    +        Test("reopen_2_%02d" % testIndex)
    +        TestLength("reopen_2_%02d" % (testIndex + 1))
    +
    +        # Create more time states in the file.
    +        db, files = CreateMTFile("", method, 60)
    +        ReOpenDatabase(db)
    +        # Go to the last time state.
    +        SetTimeSliderState(TimeSliderGetNStates() - 1)
    +        Test("reopen_2_%02d" % (testIndex + 2))
    +        TestLength("reopen_2_%02d" % (testIndex + 3))
    +
    +        # Create more time states in the file.
    +        db, files = CreateMTFile("", method, 100)
    +        ReOpenDatabase(db)
    +        # Go to the last time state.
    +        SetTimeSliderState(TimeSliderGetNStates() - 1)
    +        Test("reopen_2_%02d" % (testIndex + 4))
    +        TestLength("reopen_2_%02d" % (testIndex + 5))
    +
    +        # Get rid of the .visit file that we created.
    +        DestroyMTFile(method, db)
    +        DeleteAllPlots()
    +        CloseDatabase(db)
    +
    +        # Get to the next testIndex
    +        testIndex = testIndex + 6
    +
    +
    +#
    +# Now that we've tested time-invariant databases, try testing reopen with
    +# a time-varying database to see if we get the right plots.
    +#
    +def test3():
    +    TestSection("Reopening .visit file of time-varying data")
    +
    +    testIndex = 0
    +    for percent in (30,60,100):
    +        db = CreateTimeVaryingMTFile(percent)
    +        if(percent == 30):
    +            OpenDatabase(db)
    +            AddPlot("Pseudocolor", "Primitive Var _number_0")
    +            DrawPlots()
    +
    +            # Set the view
    +            v0 = View3DAttributes()
    +            v0.viewNormal = (-0.598154, 0.519575, -0.610127)
    +            v0.focus = (15, 10, 10)
    +            v0.viewUp = (0.418052, 0.851849, 0.315574)
    +            v0.viewAngle = 30
    +            v0.parallelScale = 20.6155
    +            v0.nearPlane = -41.2311
    +            v0.farPlane = 41.2311
    +            v0.imagePan = (0.0200698, 0.0374771)
    +            v0.imageZoom = 1
    +            v0.perspective = 1
    +            v0.eyeAngle = 2
    +            SetView3D(v0)
    +
    +            # Save a test
    +            Test("reopen_3_%02d" % testIndex)
    +            testIndex = testIndex + 1
    +            TestLength("reopen_3_%02d" % testIndex)
    +            testIndex = testIndex + 1
    +
    +        else:
    +            # Reopen the database to add the new time states.
    +            ReOpenDatabase(db)
    +
    +        # Go to the last time state.
    +        SetTimeSliderState(TimeSliderGetNStates() - 1)
    +
    +        # Save a test
    +        Test("reopen_3_%02d" % testIndex)
    +        testIndex = testIndex + 1
    +        TestLength("reopen_3_%02d" % testIndex)
    +        testIndex = testIndex + 1
    +
    +    # Clean up the time varying .visit file.
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +    DestroyTimeVaryingMTFile(db)
    +
    +#
    +# Test that reopening a file that has been overwritten works.
    +#
    +def test4():
    +    TestSection("Reopening overwritten file to test engine")
    +
    +    # Copy curv2d to the current directory.
    +    db = "test4.silo"
    +    if not sys.platform.startswith("win"):
    +        os.link(silo_data_path("curv2d.silo") , db)
    +    else:
    +        shutil.copyfile(silo_data_path("curv2d.silo") , db)
    +
    +    # Open up the file and create a plot.
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Test("reopen_4_00")
    +
    +    # Delete the file
    +    try:
    +        os.unlink(db)
    +    except:
    +        # Ignore any exceptions
    +        pass
    +
    +    if not sys.platform.startswith("win"):
    +        os.link(silo_data_path("rect2d.silo") , db)
    +    else:
    +        shutil.copyfile(silo_data_path("rect2d.silo") , db)
    +
    +    ReOpenDatabase(db)
    +    ResetView()
    +    Test("reopen_4_01")
    +
    +    DeleteAllPlots()
    +    # Delete the file
    +    try:
    +        os.unlink(db)
    +    except:
    +        # Ignore any exceptions
    +        pass
    +
    +
    +#
    +# Test that expressions are not lost after reopening a file when there
    +# are multiple windows.
    +#
    +def test5():
    +    TestSection("Testing reopen/expressions with multiple windows")
    +    db = silo_data_path("curv3d.silo")
    +    AddWindow()
    +    SetActiveWindow(1)
    +    OpenDatabase(db)
    +    TestExpressions("reopen_5_00")
    +
    +    # See if the expressions are right after reopening.
    +    ReOpenDatabase(db)
    +    TestExpressions("reopen_5_01")
    +
    +    # Delete the window that we added.
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +    CloseDatabase(db)
    +
    +#
    +# Test that time sliders are shortened when we reopen an MT database
    +# that has had time states removed.
    +#
    +def test6():
    +    TestSection("Testing reopen at an invalid time state")
    +    RemoveAllSiloAndVisItFiles()
    +
    +    # Make sure that there is no open database.
    +    TestLength("reopen_6_00")
    +
    +    # Create a short MT file.
    +    db, files = CreateMTFile("", 0, (10. / 71.) * 100.)
    +
    +    # Create a plot and make sure its database has the right number
    +    # of time states.
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    ResetView()
    +    Test("reopen_6_01")
    +    TestLength("reopen_6_02")
    +
    +    # Make a copy of the first window.
    +    CloneWindow()
    +    DrawPlots()
    +    Test("reopen_6_03")
    +    TestLength("reopen_6_04")
    +    SetActiveWindow(1)
    +
    +    # Delete the last few time states
    +    nStates = len(files)
    +    for f in files[-5:]:
    +        try:
    +            os.unlink(f)
    +        except:
    +            print("Could not delete %s" % f, file=sys.stderr)
    +
    +    # Change to a time state that we deleted. This should put the plot
    +    # in the error state and we should get an error message.
    +    SetTimeSliderState(nStates - 2)
    +    Test("reopen_6_05")
    +    TestText("reopen_6_06", GetLastError())
    +
    +    # Do the same thing in window 2 so we can check leter if reopen
    +    # causes the time slider, etc to be corrected.
    +    SetActiveWindow(2)
    +    SetTimeSliderState(nStates - 2)
    +    SetActiveWindow(1)
    +
    +    # Reopen the database. This should pick up that the database has
    +    # fewer time states and should update the time slider so it is
    +    # in bounds. The compute engine also should not crash.
    +    ReOpenDatabase(db)
    +    DrawPlots()
    +    Test("reopen_6_07")
    +    TestLength("reopen_6_08")
    +
    +    # See if we're at the right time state in window 2 too.
    +    SetActiveWindow(2)
    +    DrawPlots()
    +    Test("reopen_6_09")
    +    TestLength("reopen_6_10")
    +    DeleteWindow()
    +
    +    # Delete all of the plots in window 1 and close the database.
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    # Delete the last few files.
    +    DestroyMTFile(0, db)
    +
    +
    +#
    +# Test reopening a database that has been removed from disk.
    +#
    +def test7():
    +    TestSection("Testing reopen on a deleted file")
    +    # Link a file from the data directory to the current directory.
    +    db = "reopen_globe.silo"
    +    if not sys.platform.startswith("win"):
    +        os.link(silo_data_path("globe.silo") , db)
    +    else:
    +        shutil.copyfile(silo_data_path("globe.silo") , db)
    +
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "t")
    +    DrawPlots()
    +    Test("reopen_7_00")
    +
    +    # Remove the file and make sure that we can't reopen it.
    +    RemoveAllSiloAndVisItFiles()
    +    if ReOpenDatabase(db):
    +        s = "VisIt was able to reopen " + db
    +    else:
    +        s = "VisIt was *NOT* able to reopen " + db + "!"
    +    TestText("reopen_7_01", s)
    +
    +    # Do something that will make the plot be regenerated. Here we're changing
    +    # plot variables to force VisIt to recalculate the plot.
    +    ChangeActivePlotsVar("u")
    +    Test("reopen_7_02")
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +
    +#
    +# Run the tests
    +#
    +try:
    +    # Remove all .silo and .visit files that could be left over from
    +    # previous failed runs.
    +    RemoveAllSiloAndVisItFiles()
    +
    +    # Run the tests
    +    test1()
    +    test2()
    +    test3()
    +    test4()
    +    test5()
    +    test6()
    +    test7()
    +except:
    +    # If we got any kind of exception, make sure that we get rid of
    +    # all of the .silo and .visit files that might be left.
    +    RemoveAllSiloAndVisItFiles()
    +
    +    # Rethrow the exception so the test won't look like it passed if
    +    # it really didn't pass
    +    raise
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_sami.html b/2023-11-08-22:00/pascal_trunk_serial/databases_sami.html new file mode 100644 index 000000000..e6170f6dd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_sami.html @@ -0,0 +1,78 @@ + +Results for databases/sami.py + +

    Results of VisIt Regression Test - databases/sami

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sami_010.000.00
    sami_020.000.00
    sami_030.000.00
    sami_040.000.00
    sami_050.000.00
    sami_060.000.00
    sami_070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_sami_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_sami_py.html new file mode 100644 index 000000000..b764ddf46 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_sami_py.html @@ -0,0 +1,80 @@ +databases/sami.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  sami.py 
    +#
    +#  Tests:      sami files 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       October 12, 2006 
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("SAMI")
    +
    +# test the main mesh
    +OpenDatabase(data_path("sami_test_data/bdw.sami"))
    +
    +AddPlot("Mesh","mesh")
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal = (0.433013, 0.5, -0.75)
    +v.viewUp = (-0.25, 0.866025, 0.433013)
    +SetView3D(v)
    +Test("sami_01")
    +
    +# test the material object
    +AddPlot("FilledBoundary","mat")
    +DrawPlots()
    +Test("sami_02")
    +DeleteAllPlots()
    +
    +# test a node set
    +AddPlot("Mesh","nodesets/sl5m")
    +DrawPlots()
    +Test("sami_03")
    +DeleteAllPlots()
    +
    +# test a couple of slide plots
    +AddPlot("Mesh","slide_0/sideB")
    +AddPlot("Mesh","slide_1/sideB")
    +AddPlot("Mesh","slide_2/sideA")
    +AddPlot("Mesh","slide_3/sideA")
    +DrawPlots()
    +Test("sami_04")
    +DeleteAllPlots()
    +
    +# test a multi-part sami file
    +OpenDatabase(data_path("sami_test_data/sample_sami.visit"))
    +
    +AddPlot("Pseudocolor","global_node_numbers")
    +DrawPlots()
    +ResetView()
    +v=GetView3D()
    +v.viewNormal = (-0.866025, 0, -0.5)
    +v.viewUp = (0, 1, 0)
    +SetView3D(v)
    +Test("sami_05")
    +DeleteAllPlots()
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("FilledBoundary","mat")
    +DrawPlots()
    +Test("sami_06")
    +
    +# turn off material 2 and domain 0
    +mat2SetId = -1
    +dom0SetId = -1
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "002":
    +        mat2SetId = i
    +    if silr.SetName(i) == "domain0":
    +        dom0SetId = i
    +silr.TurnOffSet(mat2SetId)
    +silr.TurnOffSet(dom0SetId)
    +SetPlotSILRestriction(silr)
    +DrawPlots()
    +Test("sami_07")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_samrai.html b/2023-11-08-22:00/pascal_trunk_serial/databases_samrai.html new file mode 100644 index 000000000..704f79e27 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_samrai.html @@ -0,0 +1,294 @@ + +Results for databases/samrai.py + +

    Results of VisIt Regression Test - databases/samrai

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    samrai_010.000.00
    samrai_020.000.00
    samrai_030.000.00
    samrai_040.000.00
    samrai_050.000.00
    samrai_060.000.00
    samrai_070.000.00
    samrai_080.000.00
    samrai_090.000.00
    samrai_100.000.00
    samrai_110.000.00
    samrai_120.000.00
    samrai_130.000.00
    samrai_140.000.00
    samrai_150.000.00
    samrai_160.000.00
    samrai_170.000.00
    samrai_180.000.00
    samrai_190.000.00
    samrai_200.000.00
    samrai_copper_matvf_010.000.00
    samrai_copper_matvf_020.000.00
    samrai_copper_matvf_030.000.00
    samrai_copper_matvf_040.000.00
    samrai_gold_val4mat_010.000.00
    samrai_gold_val4mat_020.000.00
    samrai_gold_val4mat_030.000.00
    samrai_gold_val4mat_040.000.00
    samrai_210.000.00
    samrai_220.000.00
    samrai_230.000.00
    samrai_240.000.00
    samrai_250.000.00
    samrai_260.000.00
    samrai_270 modifications totalling 0 lines
    samrai_280.000.00
    samrai_290 modifications totalling 0 lines
    samrai_300.000.00
    samrai_310 modifications totalling 0 lines
    samrai_330.000.00
    samrai_340.000.00
    samrai_350.000.00
    samrai_360.000.00
    samrai_370.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_samrai_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_samrai_py.html new file mode 100644 index 000000000..56f021844 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_samrai_py.html @@ -0,0 +1,413 @@ +databases/samrai.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  samrai.py 
    +#
    +#  Tests:      presence of HDF5
    +#              default plot 
    +#              sil changing with time
    +#              nested ghosting
    +#              zbuffer contention
    +#              2d ale data
    +#              operators - slice
    +#              selection - by level
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       November 12, 2003 
    +#
    +#  Modifications:
    +#    Brad Whitlock, Thu Mar 25 14:05:32 PST 2004
    +#    Added a check to see if plots at later time steps get the right metadata.
    +#
    +#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
    +#    Set the vector origin explicitly for some cases because I changed the
    +#    default to Tail.
    +#
    +#    Mark C. Miller, Thu Aug 19 16:22:49 PDT 2004
    +#    Turned off database info flag so future changes to samrai db plugin
    +#    are less likely to result in a need to update the baselines
    +#
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Mark C. Miller, Thu Feb 17 09:00:41 PST 2005
    +#    Added tests for variables defined on only some patches
    +#
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Mark C. Miller, Mon Nov  5 20:15:05 PST 2007
    +#    Added tests for sparse materials, expressions
    +#
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Brad Whitlock, Thu Feb 4 10:18:23 PDT 2010
    +#    Turn off sets by name instead of index since that can change.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use Subset plot for levels instead of FilledBoundary.
    +#
    +# ----------------------------------------------------------------------------
    +
    +LevelZero = 4 # set id for level 0
    +
    +# Turn off sets by name
    +def TurnOffSetsByName(silr, cat, names):
    +    sets = silr.SetsInCategory(cat)
    +    for s in sets:
    +        setname = silr.SetName(s)
    +        try:
    +            if setname in names:
    +                silr.TurnOffSet(s)
    +        except:
    +            if setname == names:
    +                silr.TurnOffSet(s)
    +
    +OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +
    +#
    +# just tests that default plot comes up automatically 
    +#
    +Test("samrai_01")
    +
    +#
    +# test exterenal face overlap
    +#
    +AddPlot("Pseudocolor","Primitive Var _number_0")
    +DrawPlots()
    +
    +v=GetView3D()
    +v.viewNormal=(0,0,-1)
    +SetView3D(v)
    +Test("samrai_02")
    +
    +v.viewNormal=(0.34202, 0, -0.939693)
    +SetView3D(v)
    +Test("samrai_03")
    +
    +#
    +# test level selection
    +#
    +silr=SILRestriction()
    +silr.TurnOffSet(LevelZero)
    +SetPlotSILRestriction(silr)
    +v.viewNormal=(0,0,1)
    +SetView3D(v)
    +Test("samrai_04")
    +
    +#
    +# test changing time steps (and sil)
    +#
    +TimeSliderNextState()
    +Test("samrai_05")
    +
    +# go back to begnning of time
    +SetTimeSliderState(0)
    +
    +#
    +# turn on level 0 so we can check that
    +# nested ghosting is working correctly when we slice
    +#
    +silr.TurnOnSet(LevelZero)
    +SetPlotSILRestriction(silr)
    +
    +#
    +# this test is here to remind us we have many internal faces 
    +#
    +v.viewNormal=(-0.537631, 0.372794, -0.756292)
    +v.focus=(15, 10, 10)
    +v.viewUp=(0.262569, 0.926375, 0.269976)
    +v.parallelScale=30
    +v.nearPlane=-10
    +v.farPlane=90
    +SetView3D(v)
    +Test("samrai_06")
    +
    +#
    +# add a mesh plot and slice operator
    +#
    +AddPlot("Mesh","amr_mesh")
    +sliceAtts=SliceAttributes()
    +sliceAtts.originType=sliceAtts.Percent
    +sliceAtts.originPercent=20
    +sliceAtts.axisType=sliceAtts.ZAxis
    +sliceAtts.project2d=1
    +SetDefaultOperatorOptions(sliceAtts)
    +AddOperator("Slice",1)
    +DrawPlots()
    +Test("samrai_07")
    +
    +#
    +# Animate forward 1 frame
    +#
    +TimeSliderNextState()
    +Test("samrai_08")
    +
    +#
    +# Now, go back 1 frame
    +#
    +SetTimeSliderState(0)
    +Test("samrai_09")
    +
    +#
    +# Tests for data from a 2d ale calculation.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("samrai_test_data/ale2d/dumps.visit"))
    +
    +ResetView()
    +
    +#
    +# Test the default plot.
    +#
    +Test("samrai_10")
    +
    +#
    +# Check the last frame.
    +#
    +TimeSliderNextState()
    +Test("samrai_11")
    +
    +#
    +# Test a vector plot.
    +#
    +AddPlot("Vector", "Velocity")
    +vectorAtts=VectorAttributes()
    +vectorAtts.scale = 0.02
    +vectorAtts.vectorOrigin = vectorAtts.Middle
    +vectorAtts.nVectors = 400*47
    +SetPlotOptions(vectorAtts)
    +DrawPlots()
    +
    +v = View2DAttributes()
    +v.windowCoords = (0.31, 0.58, 0.15, 0.36)
    +SetView2D(v)
    +Test("samrai_12")
    +
    +#
    +# Tests for material/species data 
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("samrai_test_data/mats-par3/dumps.visit"))
    +
    +ResetView()
    +
    +#
    +# test a material plot
    +#
    +AddPlot("FilledBoundary","materials")
    +DrawPlots()
    +Test("samrai_13")
    +
    +#
    +# test material plot with some patches off
    +#
    +silr=SILRestriction()
    +TurnOffSetsByName(silr, "patches", ("level0,patch0", "level0,patch1","level0,patch2","level0,patch3"))
    +SetPlotSILRestriction(silr)
    +Test("samrai_14")
    +
    +#
    +# now, turn off a material, too
    +#
    +silr.TurnOnAll()
    +TurnOffSetsByName(silr, "materials", "Copper")
    +SetPlotSILRestriction(silr)
    +Test("samrai_15")
    +
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +
    +#
    +# add a species plot
    +#
    +AddPlot("Pseudocolor","species")
    +DrawPlots()
    +
    +#
    +# Selectively turn off each species
    +#
    +silr.TurnOffSet(24)
    +SetPlotSILRestriction(silr)
    +Test("samrai_16")
    +
    +silr.TurnOffSet(25)
    +SetPlotSILRestriction(silr)
    +Test("samrai_17")
    +
    +silr.TurnOffSet(26)
    +SetPlotSILRestriction(silr)
    +Test("samrai_18")
    +
    +silr.TurnOffSet(27)
    +SetPlotSILRestriction(silr)
    +Test("samrai_19")
    +
    +silr.TurnOffSet(28)
    +SetPlotSILRestriction(silr)
    +Test("samrai_20")
    +
    +DeleteAllPlots()
    +
    +# test matvf exprs
    +DefineScalarExpression("copper_vf",'matvf(materials,"Copper")')
    +AddPlot("Pseudocolor","copper_vf")
    +DrawPlots()
    +patts = PseudocolorAttributes()
    +Test("samrai_copper_matvf_01")
    +patts.centering = patts.Nodal  # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_copper_matvf_02")
    +patts.centering = patts.Zonal # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_copper_matvf_03")
    +patts.centering = patts.Natural # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_copper_matvf_04")
    +
    +DeleteAllPlots()
    +
    +DefineScalarExpression("gold_den",'val4mat(Density,"Gold")')
    +AddPlot("Pseudocolor","gold_den")
    +DrawPlots()
    +patts = PseudocolorAttributes()
    +Test("samrai_gold_val4mat_01")
    +patts.centering = patts.Nodal  # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_gold_val4mat_02")
    +patts.centering = patts.Zonal # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_gold_val4mat_03")
    +patts.centering = patts.Natural # Natural, Nodal, Zonal
    +SetPlotOptions(patts)
    +Test("samrai_gold_val4mat_04")
    +
    +DeleteAllPlots()
    +
    +#
    +# Open a new database that has levels that change over time so we can test
    +# that plots get the right metadata and SIL as time advances.
    +#
    +OpenDatabase(data_path("samrai_test_data/front/dumps.visit"))
    +
    +# Get rid of the default plot
    +DeleteAllPlots()
    +AddPlot("Subset", "levels")
    +DrawPlots()
    +ResetView()
    +Test("samrai_21")
    +
    +# Go to the next time state. This used to cause an InvalidIndexException.
    +TimeSliderNextState()
    +Test("samrai_22")
    +
    +#
    +# Test a database where some variables are not defined on all patches
    +#
    +DeleteAllPlots()
    +OpenDatabase(data_path("samrai_test_data/viz_2d/dumps.visit"))
    +
    +AddPlot("Pseudocolor", "Function_0") # only defined on some patches
    +AddPlot("Pseudocolor", "Function_1") # only defined on some other patches
    +DrawPlots()
    +Test("samrai_23")
    +
    +#
    +# Test a samrai database with sparse material representation
    +#
    +DeleteAllPlots()
    +OpenDatabase(data_path("samrai_test_data/sparse_mats/summary.samrai"))
    +
    +AddPlot("Pseudocolor", "energy")
    +DrawPlots()
    +Test("samrai_24")
    +
    +#
    +#  Zoom into a region where there is mixing
    +#
    +v=GetView2D()
    +v.windowCoords=(-0.296975, -0.223086, 0.0437891, 0.120943)
    +SetView2D(v)
    +DrawPlots()
    +Test("samrai_25")
    +
    +#
    +# Turn off different materials and see what we get for the PC plot
    +# and zone picks
    +#
    +silr = SILRestriction()
    +j = 0
    +for k1 in silr.SetsInCategory("materials"):
    +    i = 1
    +    for k2 in silr.SetsInCategory("materials"):
    +        if silr.SetName(k2) == "material_%d"%(j+1):
    +            silr.TurnOffSet(k2)
    +        else:
    +            silr.TurnOnSet(k2)
    +        i = i + 1
    +    SetPlotSILRestriction(silr)
    +    DrawPlots()
    +    Test("samrai_%d"%(26+2*j))
    +    PickByZone(247,15)
    +    TestText("samrai_%d"%(26+2*j+1),GetPickOutput())
    +    j = j + 1
    +
    +#
    +# Test some expressions from the samrai database 
    +#
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","von_mises_stress")
    +DrawPlots()
    +Test("samrai_33")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","speed")
    +DrawPlots()
    +Test("samrai_34")
    +
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("samrai_test_data/sparse_mats/summary.samrai"))
    +OpenDatabase(data_path("samrai_test_data/curv_bnd_ghost/dumps.visit"))
    +s = GetPlotOptions()
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (100,100,100,255)
    +SetPlotOptions(s)
    +AddPlot("Pseudocolor","Y_01")
    +DrawPlots()
    +Test("samrai_35")
    +
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "level0,patch7":
    +        silr.TurnOffSet(i)
    +        break
    +SetPlotSILRestriction(silr)
    +Test("samrai_36")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("samrai_test_data/curv_bnd_ghost/dumps.visit"))
    +OpenDatabase(data_path("samrai_test_data/matghosts_fullzonal/dumps.visit"))
    +s = GetPlotOptions()
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (100,100,100,255)
    +SetPlotOptions(s)
    +AddPlot("FilledBoundary", "materials")
    +DrawPlots()
    +silr = SILRestriction()
    +silr.TurnOffSet(30)
    +SetPlotSILRestriction(silr)
    +Test("samrai_37")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_scale_mesh.html b/2023-11-08-22:00/pascal_trunk_serial/databases_scale_mesh.html new file mode 100644 index 000000000..5e1fde5f0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_scale_mesh.html @@ -0,0 +1,42 @@ + +Results for databases/scale_mesh.py + +

    Results of VisIt Regression Test - databases/scale_mesh

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    scale_mesh010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_scale_mesh_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_scale_mesh_py.html new file mode 100644 index 000000000..d9d63f431 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_scale_mesh_py.html @@ -0,0 +1,28 @@ +databases/scale_mesh.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scale_mesh.py
    +#
    +#  Purpose:    Tests whether or not we try to scale a mesh when only one
    +#              of its dimensions are out of whack (we shouldn't).
    +#
    +#  Programmer: Hank Childs
    +#  Date:       April 22, 2004
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# Create a Pseudocolor plot of wave by opening it up at a late time state.
    +OpenDatabase(data_path("vtk_test_data/near_planar.vtk"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +DrawPlots()
    +
    +# Set the view.
    +v0 = GetView3D()
    +v0.viewNormal = (-0.661743, 0.517608, 0.542382)
    +SetView3D(v0)
    +Test("scale_mesh01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_shapefile.html b/2023-11-08-22:00/pascal_trunk_serial/databases_shapefile.html new file mode 100644 index 000000000..98d7c138c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_shapefile.html @@ -0,0 +1,183 @@ + +Results for databases/shapefile.py + +

    Results of VisIt Regression Test - databases/shapefile

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Test reading a shapefile that contains points
    shapefile_0_000.000.00
    shapefile_0_010.000.00
    shapefile_0_020.000.00
    shapefile_0_030.000.00
    Test reading a shapefile that contains polylines
    shapefile_1_000.000.00
    shapefile_1_010.000.00
    shapefile_1_020.000.00
    Test reading shapefiles that contain polygons
    shapefile_2_000.000.00
    shapefile_2_010.000.00
    shapefile_2_020.000.00
    shapefile_2_030.000.00
    shapefile_2_040.000.00
    shapefile_2_050.000.00
    shapefile_2_060.000.00
    shapefile_2_070.000.00
    Test multiple files for showing different features
    shapefile_3_000.000.00
    shapefile_3_010.000.00
    shapefile_3_020.000.00
    Test a .visit file of shapefiles
    shapefile_4_000.000.00
    shapefile_4_010.000.00
    shapefile_4_020.000.00
    shapefile_4_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_shapefile_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_shapefile_py.html new file mode 100644 index 000000000..e04979617 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_shapefile_py.html @@ -0,0 +1,236 @@ +databases/shapefile.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  shapefile.py
    +#
    +#  Tests:      mesh      - 2D polydata, single domain
    +#              plots     - Pseudocolor, Mesh, Subset
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Mar 28 11:06:05 PDT 2005
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Test a file that contains points.
    +#
    +def test0():
    +    TestSection("Test reading a shapefile that contains points")
    +
    +    db = data_path("shapefile_test_data/m195mbsp/m195mbsp.shp")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "point")
    +    m = MeshAttributes()
    +    m.pointType = m.Box
    +    m.pointSize = 2000
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("shapefile_0_00")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "DEPTH_M")
    +    p = PseudocolorAttributes()
    +    p.pointType = p.Point # hack -- remove this someday
    +    p.pointSizePixels = 5
    +    SetPlotOptions(p)
    +    DrawPlots()
    +    Test("shapefile_0_01")
    +
    +    ChangeActivePlotsVar("LONGITUDE8")
    +    Test("shapefile_0_02")
    +    ChangeActivePlotsVar("LATITUDE83")
    +    Test("shapefile_0_03")
    +    DeleteActivePlots()
    +    CloseDatabase(db)
    +
    +#
    +# Test a file that contains polylines.
    +#
    +def test1():
    +    TestSection("Test reading a shapefile that contains polylines")
    +    db = data_path("shapefile_test_data/morrison/499071-HP.shp")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "polyline")
    +    DrawPlots()
    +    Test("shapefile_1_00")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "TPMAJOR_2")
    +    DrawPlots()
    +    Test("shapefile_1_01")
    +
    +    ChangeActivePlotsVar("RWE_INDEX")
    +    Test("shapefile_1_02")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(db)
    +
    +#
    +# Test a file that has polygons.
    +#
    +def test2():
    +    TestSection("Test reading shapefiles that contain polygons")
    +    db = data_path("shapefile_test_data/west/states.shp")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "polygon")
    +    DrawPlots()
    +    ResetView()
    +    Test("shapefile_2_00")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "AVG_SALE87")
    +    DrawPlots()
    +    Test("shapefile_2_01")
    +
    +    ChangeActivePlotsVar("MEDIANRENT")
    +    Test("shapefile_2_02")
    +    DeleteActivePlots()
    +    CloseDatabase(db)
    +
    +    # Look at another file.
    +    db = data_path("shapefile_test_data/prism0p020/prism0p020.shp")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "polygon")
    +    DrawPlots()
    +    Test("shapefile_2_03")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "RANGE")
    +    DrawPlots()
    +    Test("shapefile_2_04")
    +
    +    # Zoom in on some interesting areas
    +    v = View2DAttributes()
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.windowCoords = (-124.76, -118.94, 43.9999, 49.3856)
    +    SetView2D(v)
    +    Test("shapefile_2_05")
    +
    +    v.windowCoords = (-78.596, -74.3052, 36.34, 40.2596)
    +    SetView2D(v)
    +    Test("shapefile_2_06")
    +
    +    v.windowCoords = (-83.2497, -79.3216, 24.3312, 29.1338)
    +    SetView2D(v)
    +    Test("shapefile_2_07")
    +    ResetView()
    +    DeleteActivePlots()
    +    CloseDatabase(db)
    +
    +#
    +# Test multiple plots showing different features.
    +#
    +def test3():
    +    TestSection("Test multiple files for showing different features")
    +    dbs = (data_path("shapefile_test_data/alameda/tgr06001lkA.shp"),
    +           data_path("shapefile_test_data/alameda/tgr06001cty00.shp"),
    +           data_path("shapefile_test_data/alameda/tgr06001wat.shp"),
    +           data_path("shapefile_test_data/alameda/tgr06001lkH.shp"))
    +    # Put the roads on.
    +    OpenDatabase(dbs[0])
    +    AddPlot("Mesh", "polyline")
    +    g = 180
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (g,g,g,255)
    +    m.legendFlag = 0
    +    SetPlotOptions(m)
    +    ResetView()
    +    DrawPlots()
    +
    +    # Put the county outline on.
    +    OpenDatabase(dbs[1])
    +    AddPlot("Mesh", "polygon")
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (255,0,0,255)
    +    m.lineWidth = 1
    +    m.legendFlag = 0
    +    SetPlotOptions(m)
    +    DrawPlots()
    +
    +    # Put the bodies of water on.
    +    OpenDatabase(dbs[2])
    +    AddPlot("Mesh", "polygon")
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (0,0,255,255)
    +    m.lineWidth = 1
    +    m.legendFlag = 0
    +    SetPlotOptions(m)
    +    DrawPlots()
    +
    +    # Put the streams on.
    +    OpenDatabase(dbs[3])
    +    AddPlot("Mesh", "polyline")
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (150,150,255,255)
    +    m.legendFlag = 0
    +    SetPlotOptions(m)
    +    DrawPlots()
    +
    +    Test("shapefile_3_00")
    +
    +    # Zoom in some
    +    v = View2DAttributes()
    +    v.windowCoords = (-121.845, -121.681, 37.608, 37.775)
    +    SetView2D(v)
    +    Test("shapefile_3_01")
    +
    +    # Zoom in even more
    +    v.windowCoords = (-121.763, -121.718, 37.6533, 37.6983)
    +    SetView2D(v)
    +    Test("shapefile_3_02")
    +
    +    # Clean up
    +    DeleteAllPlots()
    +    for db in dbs:
    +        CloseDatabase(db)
    +
    +#
    +# Test a .visit file of shapefiles
    +#
    +def test4():
    +    TestSection("Test a .visit file of shapefiles")
    +    db = data_path("shapefile_test_data/bayarearoads/roads.visit")
    +    OpenDatabase(db)
    +    AddPlot("Subset", "blocks")
    +    DrawPlots()
    +    ResetView()
    +    Test("shapefile_4_00")
    +
    +    # Zoom in a little
    +    v = View2DAttributes()
    +    v.windowCoords = (-122.614, -121.92, 37.3495, 37.9982)
    +    SetView2D(v)
    +    Test("shapefile_4_01")
    +
    +    # Zoom in more
    +    v.windowCoords = (-122.522, -122.362, 37.7017, 37.8424)
    +    SetView2D(v)
    +    Test("shapefile_4_02")
    +
    +    # Zoom in more still
    +    v.windowCoords = (-122.488, -122.445, 37.7816, 37.825)
    +    SetView2D(v)
    +    Test("shapefile_4_03")
    +
    +    DeleteActivePlots()
    +    CloseDatabase(db)
    +
    +#
    +# Run the tests.
    +#
    +test0()
    +test1()
    +test2()
    +test3()
    +test4()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_silo.html b/2023-11-08-22:00/pascal_trunk_serial/databases_silo.html new file mode 100644 index 000000000..906493ea3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_silo.html @@ -0,0 +1,705 @@ + +Results for databases/silo.py + +

    Results of VisIt Regression Test - databases/silo

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    silo_010.000.00
    silo_020.000.00
    silo_030.000.00
    silo_040.000.00
    silo_050.000.00
    silo_060.000.00
    silo_070.000.00
    silo_080.000.00
    silo_090.000.00
    silo_100.000.00
    silo_110.000.00
    silo_120.000.00
    silo_130.000.00
    silo_140.000.00
    silo_150.000.00
    silo_160.000.00
    silo_170.000.00
    silo_180.000.00
    silo_200.000.00
    silo_210.000.00
    silo_220.000.00
    silo_230.000.00
    silo_240.000.00
    silo_250.000.00
    silo_260.000.00
    silo_270.000.00
    silo_280.000.00
    silo_290 modifications totalling 0 lines
    silo_300.000.00
    silo_310.000.00
    silo_320.000.00
    silo_330.000.00
    silo_340.000.00
    silo_350.000.00
    silo_360.000.00
    silo_370.000.00
    silo_380.000.00
    silo_390.000.00
    Silo AMR w/Mrgtrees
    silo_400.000.00
    silo_410.000.00
    silo_420.000.00
    silo_430.000.00
    silo_440.000.00
    silo_450.000.00
    Variables defined on material subsets
    silo_460.000.00
    silo_470.000.00
    silo_480.000.00
    silo_490.000.00
    silo_500.000.00
    Various arbitrary polygonal/polyhedral meshes
    silo_510.000.00
    silo_520.000.00
    silo_530.000.00
    silo_540.000.00
    silo_550.000.00
    silo_560.000.00
    silo_570.000.00
    silo_580.000.00
    silo_590.000.00
    silo_600.000.00
    silo_610.000.00
    silo_620.000.00
    silo_630.000.00
    silo_640.000.00
    silo_650.000.00
    silo_660.000.00
    silo_670.000.00
    silo_680.000.00
    silo_690.000.00
    silo_700.000.00
    silo_710.000.00
    silo_720.000.00
    silo_730.000.00
    silo_740.000.00
    silo_750.000.00
    silo_760.000.00
    silo_770.000.00
    silo_780.000.00
    silo_790.000.00
    silo_800.000.00
    silo_810.000.00
    silo_820.000.00
    silo_830.000.00
    silo_840.000.00
    silo_850.000.00
    silo_860.000.00
    silo_870.000.00
    silo_880.000.00
    silo_890.000.00
    silo_900.000.00
    silo_910.000.00
    silo_920.000.00
    silo_930.000.00
    silo_940.000.00
    silo_950.000.00
    Scalar and Vector ASCII Label Plots
    silo_960.000.00
    silo_970.000.00
    Curve with polar coordinates
    silo_980.000.00
    ghost_zone/node_labels
    silo_990.000.00
    silo_1000.000.00
    silo_1010.000.00
    silo_1020.000.00
    Curvilinear (quad) surfaces in 3D
    silo_curvilinear_3d_surface_00.000.00
    silo_curvilinear_3d_surface_10.000.00
    silo_curvilinear_3d_surface_20.000.00
    silo_curvilinear_3d_surface_30.000.00
    silo_curvilinear_3d_surface_40.000.00
    silo_curvilinear_3d_surface_50.000.00
    silo_curvilinear_3d_surface_60.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_silo_altdriver.html b/2023-11-08-22:00/pascal_trunk_serial/databases_silo_altdriver.html new file mode 100644 index 000000000..660bf9567 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_silo_altdriver.html @@ -0,0 +1,703 @@ + +Results for databases/silo_altdriver.py + +

    Results of VisIt Regression Test - databases/silo_altdriver

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    silo_010.000.00
    silo_020.000.00
    silo_030.000.00
    silo_040.000.00
    silo_050.000.00
    silo_060.000.00
    silo_070.000.00
    silo_080.000.00
    silo_090.000.00
    silo_100.000.00
    silo_110.000.00
    silo_120.000.00
    silo_130.000.00
    silo_140.000.00
    silo_150.000.00
    silo_160.000.00
    silo_170.000.00
    silo_180.000.00
    silo_200.000.00
    silo_210.000.00
    silo_220.000.00
    silo_230.000.00
    silo_240.000.00
    silo_250.000.00
    silo_260.000.00
    silo_270.000.00
    silo_280.000.00
    silo_290 modifications totalling 0 lines
    silo_300.000.00
    silo_310.000.00
    silo_320.000.00
    silo_330.000.00
    silo_340.000.00
    silo_350.000.00
    silo_360.000.00
    silo_370.000.00
    silo_380.000.00
    silo_390.000.00
    Silo AMR w/Mrgtrees
    silo_400.000.00
    silo_410.000.00
    silo_420.000.00
    silo_430.000.00
    silo_440.000.00
    silo_450.000.00
    Variables defined on material subsets
    silo_460.000.00
    silo_470.000.00
    silo_480.000.00
    silo_490.000.00
    silo_500.000.00
    Various arbitrary polygonal/polyhedral meshes
    silo_510.000.00
    silo_520.000.00
    silo_530.000.00
    silo_540.000.00
    silo_550.000.00
    silo_560.000.00
    silo_570.000.00
    silo_580.000.00
    silo_590.000.00
    silo_600.000.00
    silo_610.000.00
    silo_620.000.00
    silo_630.000.00
    silo_640.000.00
    silo_650.000.00
    silo_660.000.00
    silo_670.000.00
    silo_680.000.00
    silo_690.000.00
    silo_700.000.00
    silo_710.000.00
    silo_720.000.00
    silo_730.000.00
    silo_740.000.00
    silo_750.000.00
    silo_760.000.00
    silo_770.000.00
    silo_780.000.00
    silo_790.000.00
    silo_800.000.00
    silo_810.000.00
    silo_820.000.00
    silo_830.000.00
    silo_840.000.00
    silo_850.000.00
    silo_860.000.00
    silo_870.000.00
    silo_880.000.00
    silo_890.000.00
    silo_900.000.00
    silo_910.000.00
    silo_920.000.00
    silo_930.000.00
    silo_940.000.00
    silo_950.000.00
    Scalar and Vector ASCII Label Plots
    silo_960.000.00
    silo_970.000.00
    Curve with polar coordinates
    silo_980.000.00
    ghost_zone/node_labels
    silo_990.000.00
    silo_1000.000.00
    silo_1010.000.00
    silo_1020.000.00
    Curvilinear (quad) surfaces in 3D
    silo_curvilinear_3d_surface_00.000.00
    silo_curvilinear_3d_surface_10.000.00
    silo_curvilinear_3d_surface_20.000.00
    silo_curvilinear_3d_surface_30.000.00
    silo_curvilinear_3d_surface_40.000.00
    silo_curvilinear_3d_surface_50.000.00
    silo_curvilinear_3d_surface_60.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_silo_altdriver_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_silo_altdriver_py.html new file mode 100644 index 000000000..059f2016b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_silo_altdriver_py.html @@ -0,0 +1,21 @@ +databases/silo_altdriver.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  silo_altdriver
    +#
    +#  Tests:      Runs the silo.py test using the 'other' driver. If silo.py
    +#              was run on PDB driver, this will run them on HDF5 driver and
    +#              vice versa.
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       25Jan10
    +#
    +# ----------------------------------------------------------------------------
    +
    +if TestEnv.params["silo_mode"] == "pdb":
    +    TestEnv.params["silo_mode"] = "hdf5"
    +else:
    +    TestEnv.params["silo_mode"] = "pdb"
    +
    +Source(tests_path("databases","silo.py"))
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_silo_datatypes.html b/2023-11-08-22:00/pascal_trunk_serial/databases_silo_datatypes.html new file mode 100644 index 000000000..4645961a5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_silo_datatypes.html @@ -0,0 +1,79 @@ + +Results for databases/silo_datatypes.py + +

    Results of VisIt Regression Test - databases/silo_datatypes

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Silo Data Types
    silo_datatypes_quad_fnvar0.000.00
    silo_datatypes_quad_fzvar0.000.00
    silo_datatypes_ucd_fnvar0.000.00
    silo_datatypes_ucd_fzvar0.000.00
    silo_datatypes_diffs_hdf5_fsoff0 modifications totalling 0 lines
    silo_datatypes_diffs_hdf5_fson0 modifications totalling 0 lines
    silo_datatypes_diffs_pdb_fsoff0 modifications totalling 0 lines
    silo_datatypes_diffs_pdb_fson0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_silo_datatypes_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_silo_datatypes_py.html new file mode 100644 index 000000000..d17b0e36c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_silo_datatypes_py.html @@ -0,0 +1,152 @@ +databases/silo_datatypes.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  silo_datatypes.py 
    +#
    +#  Tests:      All varieties of datatypes, centering, variable types,
    +#              meshtypes and force-single mode. 
    +#
    +#  Programmer: Mark C. Miller, Thu Jul 15 14:42:12 PDT 2010
    +#
    +#  Modifications:
    +#    Mark C. Miller, Tue Jul 20 19:26:04 PDT 2010
    +#    Adjusted names of temporary output files so they don't stomp on each
    +#    other.
    +#
    +#    Mark C. Miller, Wed Jul 21 08:51:30 PDT 2010
    +#    I side-stepped around a subtle problem with long long data from PDB.
    +#    Turns out on alastor where tests are being run as of July, 2010, sizeof
    +#    long is 8 and that is the same as size of long long. On the HDF5 driver,
    +#    if it reads integer data of N bytes, it will put it into the smallest
    +#    native type that fits. So, when it reads long long data of 8 bytes
    +#    but discovers a native long on the machine where the data is being read
    +#    is 8 bytes, it returns long instead. So, HDF5 driver never returns
    +#    a type of vtkLongLongArray. But, PDB driver does. And, for some reason
    +#    that one single case is getting handled subtly wrong. Its data extents
    +#    wind up getting set to [0,1] (which I assume is some sort of default).
    +#    So, the plot looks bad. So, here, in that case, I manually set the
    +#    extents and get around this problem. I am thinking there is a VTK
    +#    bug in computing the data extents for vtkLongLongArray type. But, thats
    +#    just a guess.
    +#
    +#    Mark C. Miller, Mon Jul 26 17:08:59 PDT 2010
    +#    Override pass/fail status for long long data until we switch to silo-4.8
    +#
    +#    Mark C. Miller, Thu Sep 23 21:23:42 PDT 2010
    +#    Remove override of pass/fail for long long data since now using silo-4.8
    +#
    +#    Eric Brugger, Mon Sep 26 11:35:01 PDT 2022
    +#    Changed use of test_root_path to more appropriate test_baseline_path.
    +#
    +# ----------------------------------------------------------------------------
    +TurnOffAllAnnotations() # defines global object 'a'
    +
    +#
    +# We do this quick open and immediate close because one cannot
    +# set FileOptions for a plugin type without having already opened
    +# at least one file of that type.
    +#
    +dummydb = silo_data_path("one_quad.silo")
    +OpenDatabase(dummydb)
    +CloseDatabase(dummydb)
    +
    +def SetForceSingle(val):
    +    # Turn off force single precision for this test
    +    # Note: We can't successfully do that until we open some database
    +    readOptions=GetDefaultFileOpenOptions("Silo")
    +    if val == "on":
    +        readOptions["Force Single"] = 1
    +    else:
    +        readOptions["Force Single"] = 0
    +    SetDefaultFileOpenOptions("Silo", readOptions)
    +
    +#
    +# Test reading various datatypes from Silo
    +#
    +TestSection("Silo Data Types")
    +DeleteAllPlots()
    +mtypes=("quad","ucd")
    +dtypes=("c","s","i","l","L","f","d")
    +vtypes=("n","z")
    +
    +#
    +# Test 'baseline' for node/zone centered quad/ucd from float data
    +#
    +backup = GetSaveWindowAttributes()
    +for mt in mtypes:
    +    dbname=silo_data_path("specmix_%s.silo" % mt)
    +    OpenDatabase(dbname)
    +    for v in vtypes:
    +        varname="%s%svar"%("f",v) # using only 'f'loat for baseline
    +        AddPlot("Pseudocolor",varname)
    +        DrawPlots()
    +        ResetView()
    +        Test("silo_datatypes_%s_%s"%(mt,varname))
    +        DeleteAllPlots()
    +    CloseDatabase(dbname)
    +
    +# Build PC plot attributes to be used to set min/max
    +# Only necessary for long long case from PDB. Why?
    +pa = PseudocolorAttributes()
    +pa.minFlag = 1
    +pa.maxFlag = 1
    +pa.min = 0
    +pa.max = 20
    +
    +for path in ["silo_datatypes",
    +             pjoin("silo_datatypes","current"),
    +             pjoin("silo_datatypes","diff")]:
    +    if not os.path.isdir(path):
    +        os.mkdir(path)
    +for smode in ("hdf5", "pdb"):
    +    for fsmode in ("off", "on"): # force single modes
    +        SetForceSingle(fsmode)
    +        diffResults=""
    +        for mt in mtypes:
    +            dbname=silo_data_path("specmix_%s.silo" % mt )
    +            OpenDatabase(dbname)
    +            for v in vtypes:
    +                for d in dtypes:
    +                    varname="%s%svar"%(d,v)
    +                    fvarname="%s%svar"%("f",v)
    +                    filename="silo_datatypes_%s_fs%s_%s_%s"%(smode,fsmode,mt,varname)
    +                    AddPlot("Pseudocolor",varname)
    +                    if (smode == "pdb" and d == "L"):
    +                        if (v == "n"):
    +                            pa.max = 20
    +                        else:
    +                            pa.max = 19
    +                        SetPlotOptions(pa)
    +                    DrawPlots()
    +                    ResetView()
    +                    swa=SaveWindowAttributes()
    +                    swa.outputToCurrentDirectory = 0
    +                    swa.outputDirectory = pjoin("silo_datatypes","current")
    +                    swa.screenCapture=1
    +                    swa.family   = 0
    +                    swa.fileName = filename
    +                    swa.format   = swa.PNG
    +                    SetSaveWindowAttributes(swa)
    +                    SaveWindow()
    +                    DeleteAllPlots()
    +                    tPixs = pPixs = dPixs = 0
    +                    davg = 0.0
    +                    if TestEnv.params["use_pil"]:
    +                         file=filename
    +                         cur  = pjoin("silo_datatypes","current","%s.png" % filename)
    +                         diff = pjoin("silo_datatypes","diff","%s.png" % filename)
    +                         base = test_baseline_path("databases",
    +                                                   "silo_datatypes",
    +                                                   "silo_datatypes_%s_%s.png"%(mt,fvarname))
    +                         (tPixs, pPixs, dPixs, davg) = DiffUsingPIL(file, cur, diff, base, "")
    +                         result = "PASSED"
    +                         if (dPixs > 0 and davg > 1):
    +                             result = "FAILED, %f %f"%(dPixs,davg)
    +                         diffResults += "%s_%s:    %s\n"%(mt,varname,result)
    +            CloseDatabase(dbname)
    +        TestText("silo_datatypes_diffs_%s_fs%s"%(smode,fsmode),diffResults)
    +shutil.rmtree("silo_datatypes")
    +SetSaveWindowAttributes(backup)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_silo_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_silo_py.html new file mode 100644 index 000000000..05dc43aae --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_silo_py.html @@ -0,0 +1,764 @@ +databases/silo.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  silo.py
    +#
    +#  Tests:      multi-part silo files
    +#              operators - slice
    +#              operators - onion peel
    +#              selection - by domains
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       March 8, 2004
    +#
    +#  Defects:    4335/4337.
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Tue Mar  9 08:48:14 PST 2004
    +#    Turned off databaseInfo annotation, Used TurnOffDomains instead of
    +#    SIL sets to get correct domain turned off, reordered DrawPlots for
    +#    test 3 so that we get same results in parallel.  For OnionPeel, use
    +#    SetDefaultOperatorOptions so that options are applied.
    +#
    +#    Hank Childs, Thu Jun 24 09:59:12 PDT 2004
    +#    Add tests for quads that are stored as hexes in a ucd mesh. ['4335/'4337]
    +#
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Mark C. Miller, Tue Jun 28 17:28:56 PDT 2005
    +#    Added tests mimicing Ale3d's history variables
    +#
    +#    Mark C. Miller, Wed Dec 13 18:32:20 PST 2006
    +#    Added time invariant mesh tests
    +#
    +#    Mark C. Miller, Wed Feb  7 20:23:22 PST 2007
    +#    Modified code to set SIL Restriction for mesh1_dup to be independent
    +#    of the file structure. Added test for multivar that spans multiple
    +#    multimeshes; it should fail.
    +#
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Mark C. Miller, Thu Jan 22 16:27:54 PST 2009
    +#    Modified tests of defvars using mag and vec to make them less sensitive
    +#    to differences in platform. The mag test was computing a vector magnitude
    +#    whose range was very, very tiny. Switching that to sum fixes that
    +#    problem. The vector plot was simply generating way to many vectors that
    +#    were being drawn on top of each other. I changed it to use a moderately
    +#    large prime as the stride.
    +#
    +#    Mark C. Miller, Mon Sep 28 20:58:24 PDT 2009
    +#    Added tests for AMR data from Silo file using MRG Trees.
    +#
    +#    Tom Fogal, Wed Dec 16 13:11:19 MST 2009
    +#    Fixed a path to a data file.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Fri Jan 22 17:30:29 PST 2010
    +#    I replaced OpenDatabase with FindAnd... variant for largefile.silo
    +#    to deal with data we don't keep in repo.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Mark C. Miller, Tue Feb 28 00:36:09 PST 2012
    +#    Added a slew of tests for hybrid zoo and arbitrary polygonal/polyhedral
    +#    meshes and variables defined upon them.
    +#
    +#    Kathleen Biagas, Thurs May 23 14:09:15 MST 2013
    +#    Don't run certain tests on Windows that cause a crash.
    +#
    +#    Kathleen Biagas, Thurs Jun 6 11:04:13 PDT 2013
    +#    Re-enable tests 42,44, and 45 on Windows, now that crash has been fixed.
    +#
    +#    Edward Rusu, Tues Oct 2 8:20:24 PDT 2018
    +#    Added tests for ghost_zone/node_labels in the silo files.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Remove obsolete 'colorByMag' vector att with 'colorByMagnitude'.
    +#
    +#    Kathleen Biagas, Tue July 11, 2023
    +#    Don't allow tests using wave_1file.visit to run on Windows, as they
    +#    involve symlinks. Symink access on the testing machine is disallowed.
    +#
    +#    Kathleen Biagas, Fri July 28, 2023
    +#    Allow test_26 involving largefile.silo to run on Windows.
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOffAllAnnotations() # defines global object 'a'
    +
    +# Turn off sets by name
    +def TurnOffSetsByName(silr, cat, names):
    +    sets = silr.SetsInCategory(cat)
    +    for s in sets:
    +        setname = silr.SetName(s)
    +        try:
    +            if setname in names:
    +                silr.TurnOffSet(s)
    +        except:
    +            if setname == names:
    +                silr.TurnOffSet(s)
    +
    +OpenDatabase(silo_data_path("multipart_multi_ucd3d.silo"))
    +
    +
    +#
    +# Test simple read and display of a variable
    +#
    +AddPlot("Pseudocolor","d")
    +DrawPlots()
    +
    +v=GetView3D()
    +v.viewNormal=(-0.5, 0.296198, 0.813798)
    +SetView3D(v)
    +Test("silo_01")
    +
    +#
    +# Test an intercept slice (that can use
    +# spatial extents tree if we have it)
    +#
    +sliceAtts=SliceAttributes()
    +sliceAtts.originType=sliceAtts.Intercept
    +sliceAtts.originIntercept=5
    +sliceAtts.axisType=sliceAtts.ZAxis
    +sliceAtts.project2d=0
    +SetDefaultOperatorOptions(sliceAtts)
    +AddOperator("Slice",1)
    +DrawPlots()
    +Test("silo_02")
    +DeleteAllPlots()
    +
    +#
    +# test selection down to just 1 domain
    +#
    +AddPlot("Pseudocolor","u")
    +TurnDomainsOff()
    +TurnDomainsOn(("domain11"))
    +DrawPlots()
    +Test("silo_03")
    +DeleteAllPlots()
    +
    +#
    +# Test an onion peel
    +#
    +AddPlot("Pseudocolor","p")
    +op = OnionPeelAttributes()
    +op.categoryName = "domains"
    +op.subsetName = "domain11"
    +op.index = (5)
    +op.logical = 0
    +op.adjacencyType = op.Face
    +op.requestedLayer = 3
    +SetDefaultOperatorOptions(op)
    +AddOperator("OnionPeel")
    +DrawPlots()
    +Test("silo_04")
    +
    +# we just hide the plots to keep camera
    +HideActivePlots()
    +
    +
    +
    +
    +#
    +# Do some os work to create what VisIt will see as a
    +# 'virtual' database of multi-part silo files by
    +# creating appropriately named links
    +#
    +
    +#TODO BROKEN:
    +# Cyrus: I tried to change this, from prev code
    +# b/c symlinks won't work on Windows.
    +#
    +# also silo paths in multipart_multi_ucd3d, don't point to
    +# gorfo files,they won't work out of the data dir
    +# (and we shouldn't be modifying the data dir !)
    +
    +# KSB: Added copy of original file, and removed silo_data_path from
    +# shutil copy so that this will work.
    +# All the copies are made into the run_dir by default, which gets cleaned
    +# up unless --no-cleanup is used.
    +
    +# remove any gorfos
    +for f in glob.glob("gorfo_*"):
    +    os.remove(f)
    +
    +i = 0
    +
    +
    +for filename in glob.glob(silo_data_path("multipart_multi_ucd3d*.silo")):
    +    # copy the original file because the silo files have relatives paths
    +    shutil.copy(filename, os.path.basename(filename))
    +    if filename.endswith("multipart_multi_ucd3d.silo"):
    +        shutil.copy(filename,"gorfo_1000")
    +        shutil.copy(filename,"gorfo_2000")
    +        shutil.copy(filename,"gorfo_3000")
    +    else:
    +        shutil.copy(filename,"gorfo_1000.%d" %i)
    +        shutil.copy(filename,"gorfo_2000.%d" %i)
    +        shutil.copy(filename,"gorfo_3000.%d" %i)
    +    i = i + 1
    +
    +#
    +# Test opening a 'virtual' database of multi-part silo files
    +# at something other than its first timestep
    +#
    +OpenDatabase("gorfo_* database",1)
    +
    +AddPlot("Pseudocolor","d")
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +Test("silo_05")
    +
    +# go to the next frame
    +TimeSliderNextState()
    +Test("silo_06")
    +
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("ucd3d.silo"))
    +
    +AddPlot("Mesh", "exterior_faces")
    +DrawPlots()
    +Test("silo_07")
    +
    +AddOperator("Slice")
    +DrawPlots()
    +Test("silo_08")
    +
    +#
    +# Test something akin to Ale3d's history variables
    +# Note: time state 0 is purposely corrupted with
    +# all empty domains. So we go from 1 to end and
    +# back around to 1 purposely avoiding 0
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("hist_ucd3d_* database"),1)
    +
    +AddPlot("Pseudocolor","d_dup")
    +DrawPlots()
    +
    +#
    +# Build a sil restriction
    +#
    +silr=SILRestriction()
    +for i in silr.Wholes():
    +   if silr.SetName(i) == "mesh1_dup":
    +       silr.TurnOffSet(i+11)
    +       silr.TurnOffSet(i+12)
    +       silr.TurnOffSet(i+22)
    +       silr.TurnOffSet(i+23)
    +SetPlotSILRestriction(silr)
    +Test("silo_09")
    +
    +for i in range(TimeSliderGetNStates()-2):
    +    TimeSliderNextState()
    +    Test("silo_%02d"%(i+10))
    +TimeSliderSetState(1)
    +Test("silo_18")
    +
    +#
    +# Test defvar object
    +#
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +AddPlot("Pseudocolor","sum")
    +DrawPlots()
    +Test("silo_20")
    +
    +DeleteActivePlots()
    +AddPlot("Vector","vec")
    +vec = VectorAttributes()
    +vec.useStride = 1
    +vec.stride = 41
    +vec.colorByMagnitude = 0
    +SetPlotOptions(vec)
    +DrawPlots()
    +Test("silo_21")
    +
    +DeleteActivePlots()
    +AddPlot("Pseudocolor","nmats")
    +DrawPlots()
    +Test("silo_22")
    +
    +#
    +# Test curves from silo
    +#
    +DeleteAllPlots()
    +a=GetAnnotationAttributes()
    +a.axes2D.visible = 1
    +SetAnnotationAttributes(a)
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Curve","line")
    +curveAtts = CurveAttributes()
    +curveAtts.curveColorSource = curveAtts.Custom
    +curveAtts.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("silo_23")
    +
    +DeleteActivePlots()
    +AddPlot("Curve","wave")
    +curveAtts.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("silo_24")
    +
    +DeleteActivePlots()
    +AddPlot("Curve","log")
    +curveAtts.curveColor = (0, 0, 255, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("silo_25")
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +#
    +# Test objects existing past 2Gig limit in a >2 Gig file
    +# Large File Support. Because file is large, it is NOT
    +# part of the repo. We create a sym-link to it from the
    +# data dir.
    +#
    +
    +(err, dbname) = FindAndOpenDatabase("largefile.silo")
    +if (err != 1):
    +    AddSkipCase("silo_26")
    +    Test("silo_26")
    +else:
    +    AddPlot("Curve","sincurve")
    +    curveAtts.curveColor = (0, 255, 255, 255)
    +    SetPlotOptions(curveAtts)
    +    AddPlot("Curve","coscurve")
    +    curveAtts.curveColor = (255, 0, 255, 255)
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    Test("silo_26")
    +    DeleteAllPlots()
    +    CloseDatabase(dbname)
    +
    +#
    +# Test time invariant mesh
    +#
    +OpenDatabase(silo_data_path("multi_ucd3d_ti_* database"),2)
    +
    +AddPlot("Pseudocolor","d")
    +DrawPlots()
    +ResetView()
    +v=GetView3D()
    +v.viewNormal=(-0.5, 0.296198, 0.813798)
    +SetView3D(v)
    +silr=SILRestriction()
    +for i in range(1,36,2):
    +    silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +Test("silo_27")
    +TimeSliderNextState()
    +Test("silo_28")
    +
    +#
    +# Test that multivars that span multimeshes are correctly
    +# invalidated by VisIt
    +#
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_ucd3d_ti_* database"))
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor","d_split")
    +DrawPlots()
    +t = GetLastError()
    +TestText("silo_29", t)
    +
    +#
    +# Test that we get correct SIL behavior for a database
    +# with a varying SIL and TreatAllDBsAsTimeVarying turned
    +# on
    +#
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +OpenDatabase(silo_data_path("histne_ucd3d_* database"), 2)
    +
    +AddPlot("Pseudocolor", "d_dup")
    +DrawPlots()
    +Test("silo_30")
    +TimeSliderNextState()
    +Test("silo_31")
    +
    +SetTreatAllDBsAsTimeVarying(1)
    +TimeSliderNextState()
    +Test("silo_32")
    +TimeSliderNextState()
    +Test("silo_33")
    +TimeSliderPreviousState()
    +TimeSliderPreviousState()
    +TimeSliderPreviousState()
    +Test("silo_34")
    +
    +#
    +# Test a database with some odd multi-block structure
    +#
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("histne_ucd3d_* database"))
    +
    +SetTreatAllDBsAsTimeVarying(0)
    +OpenDatabase(data_path("silo_pdb_test_data/odd_multi.silo"))
    +
    +AddPlot("Pseudocolor","cyc_00000/den")
    +DrawPlots()
    +ResetView()
    +Test("silo_35")
    +
    +#
    +# Test a database in which all timesteps are in one file
    +#
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_pdb_test_data/odd_multi.silo"))
    +
    +if not sys.platform.startswith("win"):
    +    # files listed in the .visit file (eg wave_1file.silo:cycle_xxx)
    +    # are symlinks to wave_1file.silo and symlink access is disallowed
    +    # on the windows testing machine.
    +    OpenDatabase(silo_data_path("wave_1file.visit"))
    +
    +    AddPlot("Mesh","quadmesh")
    +    AddPlot("Pseudocolor","pressure")
    +    DrawPlots()
    +    ResetView()
    +    Test("silo_36")
    +    TimeSliderSetState(23)
    +    Test("silo_37")
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    Test("silo_38")
    +    TimeSliderPreviousState()
    +    TimeSliderPreviousState()
    +    TimeSliderPreviousState()
    +    TimeSliderPreviousState()
    +    TimeSliderPreviousState()
    +    TimeSliderPreviousState()
    +    Test("silo_39")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("wave_1file.visit"))
    +
    +TestSection("Silo AMR w/Mrgtrees")
    +TurnOffAllAnnotations()
    +OpenDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
    +
    +AddPlot("Mesh","amr_mesh_wmrgtree")
    +DrawPlots()
    +ResetView()
    +v=GetView2D()
    +v.windowCoords = (0.368424, 0.412063, 0.265434, 0.310012)
    +SetView2D(v)
    +Test("silo_40")
    +AddPlot("Pseudocolor","Density_wmrgtree")
    +DrawPlots()
    +Test("silo_41")
    +
    +silr=SILRestriction()
    +s = silr.SetsInCategory("levels")
    +TurnOffSetsByName(silr, "levels", "level2")
    +SetPlotSILRestriction(silr)
    +Test("silo_42")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
    +
    +OpenDatabase(data_path("silo_amr_test_data/amr3d_wmrgtree.silo"))
    +
    +AddPlot("Contour","foo_wmrgtree")
    +ca=ContourAttributes()
    +ca.contourValue = (60,)
    +ca.contourMethod = ca.Value
    +SetPlotOptions(ca)
    +DrawPlots()
    +ResetView()
    +v=GetView3D()
    +v.imagePan = (0.2066, 0.104372)
    +v.imageZoom = 6.03355
    +SetView3D(v)
    +Test("silo_43")
    +
    +silr=SILRestriction()
    +TurnOffSetsByName(silr, "levels", "level2")
    +SetPlotSILRestriction(silr)
    +Test("silo_44")
    +TurnOffSetsByName(silr, "levels", "level1")
    +SetPlotSILRestriction(silr)
    +Test("silo_45")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +TestSection("Variables defined on material subsets")
    +sa = SliceAttributes()
    +sa.originType = sa.Percent
    +sa.originPercent = 50
    +sa.axisType = sa.ZAxis
    +testNum = 46
    +for varname in ("p_on_mats_2","d_on_mats_1_3","m1vf_on_mats_1","m2vf_on_mats_2","m3vf_on_mats_3"):
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", varname)
    +    AddOperator("Slice")
    +    SetOperatorOptions(sa)
    +    DrawPlots()
    +    SetViewExtentsType("actual")
    +    ResetView()
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +TestSection("Various arbitrary polygonal/polyhedral meshes")
    +
    +ma = MeshAttributes()
    +ma.showInternal = 1
    +for meshname in ("2D/mesh1_zl1","2D/mesh1_zl2","2D/mesh1_phzl","2D/mesh1_phzl2", "2D/mesh1g_zl2"):
    +    DeleteAllPlots()
    +    AddPlot("Mesh", meshname)
    +    SetPlotOptions(ma)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.windowCoords=(-1, 10, -1, 2)
    +    SetView2D(v)
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +for meshname in ("2Dz/mesh1_zl1","2Dz/mesh1_zl2","2Dz/mesh1_phzl","2Dz/mesh1_phzl2", "2Dz/mesh1g_zl2"):
    +    DeleteAllPlots()
    +    AddPlot("Mesh", meshname)
    +    DrawPlots()
    +    ResetView()
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +ma = MeshAttributes()
    +ma.showInternal = 1
    +ma.opaqueMode = ma.On
    +for meshname in ("3D/mesh1", "3D/mesh2", "3D/mesh2g", "3D/mesh3", "3D/mesh3r"):
    +    DeleteAllPlots()
    +    AddPlot("Mesh", meshname)
    +    SetPlotOptions(ma)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.RotateAxis(1,-30)
    +    v.RotateAxis(0,20)
    +    SetView3D(v)
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +for varname in ("2D/n11", "2D/n12", "2D/n12g", "2D/n1phzl", "2D/n1phzl2",
    +                "2D/z11", "2D/z12", "2D/z12g", "2D/z1phzl", "2D/z1phzl2"):
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", varname)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.windowCoords=(-1, 10, -1, 2)
    +    SetView2D(v)
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +for varname in ("2Dz/n11", "2Dz/n12", "2Dz/n12g", "2Dz/n1phzl", "2Dz/n1phzl2",
    +                "2Dz/z11", "2Dz/z12", "2Dz/z12g", "2Dz/z1phzl", "2Dz/z1phzl2"):
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", varname)
    +    DrawPlots()
    +    ResetView()
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +for varname in ("3D/n1", "3D/n2", "3D/n2g", "3D/n3", "3D/n3r",
    +                "3D/z1", "3D/z2", "3D/z2g", "3D/z3", "3D/z3r"):
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", varname)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.RotateAxis(1,-30)
    +    v.RotateAxis(0,20)
    +    SetView3D(v)
    +    Test("silo_%d"%testNum)
    +    testNum = testNum + 1
    +
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +TestSection("Scalar and Vector ASCII Label Plots")
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +AddPlot("Label", "ascii")
    +DrawPlots()
    +ResetView()
    +v = GetView2D()
    +v.windowCoords = (0.362263, 0.967737, -0.0277375, 0.577737)
    +SetView2D(v)
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +AddPlot("Label", "asciiw")
    +DrawPlots()
    +ResetView()
    +v = GetView2D()
    +v.windowCoords = (0.362263, 0.967737, -0.0277375, 0.577737)
    +SetView2D(v)
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("rect2d.silo"))
    +
    +TestSection("Curve with polar coordinates")
    +
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +AddPlot("Curve","circle")
    +curveAtts.curveColor = (255, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +ResetView()
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +TestSection("ghost_zone/node_labels")
    +
    +OpenDatabase(data_path("silo_ghost_test_data/specmix_quad.pdb"))
    +ResetView()
    +AddPlot("Subset", "Mesh_gnz")
    +AddPlot("Mesh", "Mesh_gnz")
    +DrawPlots()
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_ghost_test_data/specmix_quad.pdb"))
    +
    +OpenDatabase(data_path("silo_ghost_test_data/specmix_ucd.pdb"))
    +ResetView()
    +AddPlot("Subset", "Mesh_gnz")
    +AddPlot("Mesh", "Mesh_gnz")
    +DrawPlots()
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_ghost_test_data/specmix_ucd.pdb"))
    +
    +#
    +# Test the way silo reads in curve data with expressions
    +#
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +DefineCurveExpression("alias","wave")
    +DefineCurveExpression("waveSquared", "wave*wave")
    +ResetView()
    +
    +AddPlot("Curve","wave")
    +curveAtts.curveColor = (255, 135, 0, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve","waveSquared")
    +curveAtts.curveColor = (255, 0, 135, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +DeleteAllPlots()
    +
    +AddPlot("Curve","alias")
    +curveAtts.curveColor = (168, 168, 168, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("silo_%d"%testNum)
    +testNum = testNum + 1
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +def curvilinear_3d_surface():
    +    """Curvilinear (quad) surfaces in 3D"""
    +
    +    OpenDatabase(silo_data_path("quad_disk.silo"))
    +
    +    AddPlot("Pseudocolor","sphElev_on_mesh_3d")
    +    ResetView()
    +    DrawPlots()
    +    v = GetView3D()
    +    v.RotateAxis(0,-20)
    +    v.RotateAxis(1,-30)
    +    SetView3D(v)
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor","sphElev_on_meshD_3d")
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    AddPlot("FilledBoundary", "mat_3d(mesh_3d)")
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    CloseDatabase(silo_data_path("quad_disk.silo"))
    +    OpenDatabase(silo_data_path("specmix_quad.silo"))
    +
    +    # Index select doesn't work quite right here
    +    AddPlot("Mesh","Mesh_3d")
    +    AddOperator("IndexSelect")
    +    idxsel = IndexSelectAttributes()
    +    idxsel.xMin = 5
    +    idxsel.xMax = 15
    +    SetOperatorOptions(idxsel)
    +    ResetView()
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor","p3d")
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor","u3d")
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    AddPlot("FilledBoundary", "Material_3d(Mesh_3d)")
    +    DrawPlots()
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +    CloseDatabase(silo_data_path("specmix_quad.silo"))
    +
    +curvilinear_3d_surface()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_singlemulti.html b/2023-11-08-22:00/pascal_trunk_serial/databases_singlemulti.html new file mode 100644 index 000000000..973f52613 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_singlemulti.html @@ -0,0 +1,76 @@ + +Results for databases/singlemulti.py + +

    Results of VisIt Regression Test - databases/singlemulti

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    singlemulti000.000.00
    singlemulti010 modifications totalling 0 lines
    singlemulti020.000.00
    singlemulti030 modifications totalling 0 lines
    singlemulti040.000.00
    singlemulti050 modifications totalling 0 lines
    singlemulti060.000.00
    singlemulti070 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_singlemulti_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_singlemulti_py.html new file mode 100644 index 000000000..fe9330d77 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_singlemulti_py.html @@ -0,0 +1,116 @@ +databases/singlemulti.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  singlemulti.py
    +#
    +#  Tests:      mesh      - 3D, curvilinear, single domain
    +#              plots     - Pseudocolor
    +#              databases - Silo
    +#
    +#  Purpose:    This test case tests the ability of VisIt to have single
    +#              time state files in the same window as multi time state
    +#              windows and do the right thing when changing time states.
    +#
    +#  Bugs:       '4011
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Mar 18 13:45:29 PST 2004
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    TestText(testname, s)
    +
    +# Create a Pseudocolor plot of wave by opening it up at a late time state.
    +OpenDatabase(silo_data_path("wave*.silo database"), 20)
    +
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +
    +# Set the view.
    +v0 = View3DAttributes()
    +v0.viewNormal = (-0.661743, 0.517608, 0.542382)
    +v0.focus = (5, 0.757692, 2.5)
    +v0.viewUp = (0.370798, 0.854716, -0.363277)
    +v0.viewAngle = 30
    +v0.parallelScale = 5.63924
    +v0.nearPlane = -11.2785
    +v0.farPlane = 11.2785
    +v0.imagePan = (0.00100868, 0.0454815)
    +v0.imageZoom = 1.17935
    +v0.perspective = 1
    +SetView3D(v0)
    +Test("singlemulti00")
    +
    +# Convert the WindowInformation to a string and use that as a test case.
    +# The WindowInformation contains the list of time sliders, the active time
    +# state, and the states for each time slider.
    +TestWindowInformation("singlemulti01")
    +
    +# Create a Pseudocolor plot of curv3d, a single time state database.
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleX = 0.5
    +t.scaleY = 0.5
    +t.scaleZ = 0.1667
    +t.doTranslate = 1
    +t.translateX = 5
    +t.translateY = 0
    +t.translateZ = -5
    +SetOperatorOptions(t)
    +DrawPlots()
    +
    +# Set the view again
    +v1 = View3DAttributes()
    +v1.viewNormal = (-0.661743, 0.517608, 0.542382)
    +v1.focus = (5, 1.25, 0)
    +v1.viewUp = (0.370798, 0.854716, -0.363277)
    +v1.viewAngle = 30
    +v1.parallelScale = 7.1807
    +v1.nearPlane = -14.3614
    +v1.farPlane = 14.3614
    +v1.imagePan = (0.00100868, 0.0454815)
    +v1.imageZoom = 1.17935
    +v1.perspective = 1
    +SetView3D(v1)
    +Test("singlemulti02")
    +
    +# Make sure there is still just one time slider.
    +TestWindowInformation("singlemulti03")
    +
    +# Go to the middle time slider state.
    +# Note: this div in python 2 returns int, but returns float in py3
    +SetTimeSliderState(int(TimeSliderGetNStates() / 2))
    +Test("singlemulti04")
    +# Check the time states
    +TestWindowInformation("singlemulti05")
    +
    +# Go to the last time slider state.
    +SetTimeSliderState(TimeSliderGetNStates() - 1)
    +Test("singlemulti06")
    +# Check the time states
    +TestWindowInformation("singlemulti07")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_sw4.html b/2023-11-08-22:00/pascal_trunk_serial/databases_sw4.html new file mode 100644 index 000000000..ca7d0c6df --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_sw4.html @@ -0,0 +1,48 @@ + +Results for databases/sw4.py + +

    Results of VisIt Regression Test - databases/sw4

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sw4_000.000.00
    sw4_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_sw4_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_sw4_py.html new file mode 100644 index 000000000..3f79d47c0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_sw4_py.html @@ -0,0 +1,50 @@ +databases/sw4.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  SW4.py
    +#
    +#  Tests:      mesh      - 3D curvilinear, multi domain
    +#                        - 3D rectilinear, single domain
    +#              plots     - Pseudocolor
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Tue Jul 21 11:15:20 PDT 2020
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create a plot from a 3Dimg file.
    +OpenDatabase(data_path("sw4_test_data/berk.cycle=0000.p.3Dimg"))
    +AddPlot("Pseudocolor", "cp")
    +DrawPlots()
    +
    +# Set the view
    +v = View3DAttributes()
    +v.viewNormal = (-0.555957, 0.661021, -0.503948)
    +v.focus = (6000, 6000, 2220.93)
    +v.viewUp = (0.540018, -0.173664, -0.823542)
    +v.viewAngle = 30
    +v.parallelScale = 8928.79
    +v.nearPlane = -17857.6
    +v.farPlane = 17857.6
    +v.imagePan = (0., 0.)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +SetView3D(v)
    +
    +Test("sw4_00")
    +
    +# Create a plot from a sw4img file.
    +DeleteAllPlots()
    +CloseDatabase(data_path("sw4_test_data/berk.cycle=0000.p.3Dimg"))
    +
    +OpenDatabase(data_path("sw4_test_data/berk.cycle=0000.z=0.topo.sw4img"))
    +AddPlot("Pseudocolor", "topo")
    +DrawPlots()
    +
    +Test("sw4_01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_tecplot.html b/2023-11-08-22:00/pascal_trunk_serial/databases_tecplot.html new file mode 100644 index 000000000..8a6694c95 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_tecplot.html @@ -0,0 +1,192 @@ + +Results for databases/tecplot.py + +

    Results of VisIt Regression Test - databases/tecplot

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    tecplot_010.000.00
    tecplot_020.000.00
    tecplot_030.000.00
    tecplot_040.000.00
    tecplot_050.000.00
    tecplot_060.000.00
    tecplot_080.000.00
    tecplot_090.000.00
    tecplot_100.000.00
    tecplot_110.000.00
    tecplot_120.000.00
    tecplot_130.000.00
    tecplot_140.000.00
    tecplot_150.000.00
    tecplot_160.000.00
    tecplot_170.000.00
    tecplot_180.000.00
    tecplot_190.000.00
    tecplot_200.000.00
    tecplot_210.000.00
    tecplot_220.000.00
    tecplot_230.000.00
    tecplot_240.000.00
    tecplot_250.000.00
    tecplot_260.000.00
    tecplot_270.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_tecplot_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_tecplot_py.html new file mode 100644 index 000000000..d4b451b64 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_tecplot_py.html @@ -0,0 +1,323 @@ +databases/tecplot.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  tecplot.py
    +#
    +#  Tests:      TecPlot files
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       November 17, 2004
    +#
    +#  Modifications:
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Brad Whitlock, Thu Mar 31 17:12:06 PST 2005
    +#    Changed the data directory to ../data/tecplot_test_data/tecplot_test_data,
    +#    which is now created from a bzipped tar file.
    +#
    +#    Brad Whitlock, Tue Jul 26 16:27:57 PST 2005
    +#    I added a test that has 2D data with a vector expression.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Jeremy Meredith, Mon Jul  7 14:20:12 EDT 2008
    +#    The tecplot reader now successfully parses x/y/z coordinate variables
    +#    from the simpscat.tec file, so I changed the plot to be a pseudocolor
    +#    plot instead of a curve plot.
    +#
    +#    Hank Childs, Sat Mar 13 11:13:26 PST 2010
    +#    Change variable names for forbidden characters.
    +#
    +#    Jeremy Meredith, Fri May 20 09:37:14 EDT 2011
    +#    Change subset mesh variable name since files have more than one mesh now.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +#    Kathleen Biagas, Mon Jul 17 10:59:26 PDT 2023
    +#    Change two_triangles_node_and_cell extension from 'plt' to 'tec'.
    +#    Second triangle's point ids were invalid, so data was regenerted by
    +#    exporting to VTK, fixing the ordering, and re-exporting back to tecplot.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def SetTheView():
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal =  (-0.553771, 0.509362, 0.658702)
    +    SetView3D(v)
    +
    +# Databases
    +OpenDatabase(data_path("tecplot_test_data/2dfed.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","P")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_01")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/3dgeom.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Subset","Zones(mesh)")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_02")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/T3L3CLS17u.plt"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","U")
    +DrawPlots()
    +ResetView()
    +v=GetView2D()
    +v.windowCoords=(-.01,.03,-.02,.02)
    +SetView2D(v)
    +Test("tecplot_03")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/channel.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","U")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_04")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/crystal_plot.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","t")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_05")
    +DeleteAllPlots();
    +CloseDatabase(data_path("tecplot_test_data/crystal_plot.tec"))
    +
    +
    +OpenDatabase(data_path("tecplot_test_data/cube.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","R")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_06")
    +DeleteAllPlots();
    +
    +# We must skip this one, as it has column-major
    +# ordering instead of row-major, and we are
    +# expecting row-major.  There is nothing in the
    +# tecplot file format to specify which type it is,
    +# so this must wait until we have options for
    +# the database plugins.  See '2440.
    +##OpenDatabase(data_path("tecplot_test_data/cylindrical.tec"))
    +
    +#AddPlot("Mesh","mesh")
    +#DrawPlots()
    +#SetTheView()
    +#Test("tecplot_07")
    +#DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/febrfeb.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","Temperature")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_08")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/febrfep.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","Temperature")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_09")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/fetebk.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","C")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_10")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/fetetpt.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","C")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_11")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/flow5.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","V")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_12")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/human.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","R")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_13")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/movie.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Subset","Zones(mesh)")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_14")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/multzn2d.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","Temp")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_15")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/order1.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","psi")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_16")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/sample.tp"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Volume","X Velocity")
    +v=VolumeAttributes()
    +SetPlotOptions(v)
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_17")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/simp3dbk.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","Density")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_18")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/simp3dpt.tec"))
    +
    +AddPlot("Mesh","mesh")
    +AddPlot("Pseudocolor","Density")
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_19")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/simpscat.tec"))
    +
    +AddPlot("Pseudocolor","T_lb_K_rb_")
    +p = PseudocolorAttributes()
    +p.pointSizePixels = 6
    +SetPlotOptions(p)
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.outputMeshType = 1
    +SetOperatorOptions(t)
    +DrawPlots()
    +ResetView()
    +Test("tecplot_20")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/simpxy.tec"))
    +
    +AddPlot("Curve","Temperature vs/Distance")
    +curveAtts = CurveAttributes()
    +curveAtts.curveColorSource = curveAtts.Custom
    +curveAtts.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_21")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/simpxy2.tec"))
    +
    +AddPlot("Curve","Only Zone/Temperature vs/Distance")
    +curveAtts.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +SetTheView()
    +Test("tecplot_22")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/symmetricFlow.plt"))
    +
    +AddPlot("Pseudocolor","VELOCITY")
    +DrawPlots()
    +ResetView()
    +Test("tecplot_23")
    +DeleteAllPlots();
    +AddPlot("Vector", "VEL")
    +v = VectorAttributes()
    +v.useStride = 1
    +SetPlotOptions(v)
    +DrawPlots()
    +v = View2DAttributes()
    +v.windowCoords = (53.9908, 74.1434, 66.5995, 88.2732)
    +v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +v.fullFrameAutoThreshold = 100
    +SetView2D(v)
    +Test("tecplot_24")
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("tecplot_test_data/pointmesh.tec"))
    +
    +AddPlot("Mesh","mesh")
    +ResetView()
    +DrawPlots()
    +Test("tecplot_25")
    +DeleteAllPlots()
    +
    +DeleteAllPlots();
    +CloseDatabase(data_path("tecplot_test_data/pointmesh.tec"))
    +
    +# ascii file containing both node and cell data in block format
    +OpenDatabase(data_path("tecplot_test_data/two_triangles_node_and_cell.tec"))
    +
    +AddPlot("Pseudocolor","nodal_field")
    +ResetView()
    +DrawPlots()
    +Test("tecplot_26")
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor","cell_field")
    +ResetView()
    +DrawPlots()
    +Test("tecplot_27")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_timesliders.html b/2023-11-08-22:00/pascal_trunk_serial/databases_timesliders.html new file mode 100644 index 000000000..4c93fcef8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_timesliders.html @@ -0,0 +1,256 @@ + +Results for databases/timesliders.py + +

    Results of VisIt Regression Test - databases/timesliders

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Set time using different time sliders
    timesliders000.000.00
    timesliders010 modifications totalling 0 lines
    timesliders020.000.00
    timesliders030 modifications totalling 0 lines
    timesliders040.000.00
    timesliders050 modifications totalling 0 lines
    timesliders060 modifications totalling 0 lines
    timesliders070.000.00
    timesliders080 modifications totalling 0 lines
    Time slider behavior with a correlation
    timesliders090.000.00
    timesliders100 modifications totalling 0 lines
    timesliders110.000.00
    timesliders120 modifications totalling 0 lines
    timesliders130.000.00
    timesliders140 modifications totalling 0 lines
    timesliders150.000.00
    timesliders160 modifications totalling 0 lines
    timesliders170.000.00
    timesliders180 modifications totalling 0 lines
    Make sure cloned window gets time sliders
    timesliders190.000.00
    timesliders200 modifications totalling 0 lines
    timesliders210.000.00
    timesliders220 modifications totalling 0 lines
    Make sure opening ST database clears time slider list
    timesliders230 modifications totalling 0 lines
    timesliders240.000.00
    timesliders250 modifications totalling 0 lines
    Make sure replace sequences give right time sliders
    timesliders260.000.00
    timesliders270 modifications totalling 0 lines
    timesliders280.000.00
    timesliders290 modifications totalling 0 lines
    timesliders300.000.00
    timesliders310 modifications totalling 0 lines
    timesliders320.000.00
    timesliders330 modifications totalling 0 lines
    timesliders340.000.00
    timesliders350 modifications totalling 0 lines
    Make sure we get the right time sliders after deleting plots.
    timesliders360.000.00
    timesliders370 modifications totalling 0 lines
    timesliders380.000.00
    timesliders390 modifications totalling 0 lines
    timesliders400 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_timesliders_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_timesliders_py.html new file mode 100644 index 000000000..d534b8094 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_timesliders_py.html @@ -0,0 +1,247 @@ +databases/timesliders.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  timesliders.py
    +#
    +#  Tests:      mesh      - 2D, curvilinear, single domain
    +#              plots     - FilledBoundary
    +#              databases - PDB
    +#
    +#  Purpose:    This test case tests out using multiple time sliders.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Mar 19 11:45:12 PDT 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 31 10:34:27 PDT 2004
    +#    I changed the calls to SetActiveTimeSlider so they can accept the
    +#    unexpanded database names instead of requiring fully qualified
    +#    database names.
    +#
    +#    Brad Whitlock, Mon Apr 19 09:20:29 PDT 2004
    +#    I added a few more tests to make sure we get the desired list of time
    +#    sliders under more conditions.
    +#
    +#    Brad Whitlock, Wed Feb 9 11:10:29 PDT 2005
    +#    I added another test section to make sure that we get the right time
    +#    sliders (or lack of) after deleting plots.
    +# 
    +#    Brad Whitlock, Thu Dec 21 11:57:52 PDT 2006
    +#    Added code to make sure that the dictionary keys in one of the tests
    +#    are always sorted.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    TestText(testname, s)
    +
    +def SetTheView():
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.735926, 0.562657, 0.376604)
    +    v0.focus = (5, 0.753448, 2.5)
    +    v0.viewUp = (0.454745, 0.822858, -0.340752)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 5.6398
    +    v0.nearPlane = -11.2796
    +    v0.farPlane = 11.2796
    +    v0.imagePan = (0.0589778, 0.0898255)
    +    v0.imageZoom = 1.32552
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    SetView3D(v0)
    +
    +# Print the dictionary so its keys are always sorted a particular way.
    +def PrintDict(dict):
    +    keys = list(dict.keys())
    +    keys.sort()
    +    s = "{"
    +    i = 0
    +    for k in keys:
    +        if type(k) == type(str("")):
    +            kstr = "'" + str(k) + "'"
    +        else:
    +            kstr = str(k)
    +        s = s + kstr + ": " + str(dict[k])
    +        if i < len(keys)-1:
    +            s = s + ", "
    +        i = i + 1
    +    s = s + "}"
    +    return s
    +
    +# The plotted databases.
    +dbs = (data_path("pdb_test_data/dbA00.pdb"),
    +       data_path("pdb_test_data/dbB00.pdb"),
    +       data_path("pdb_test_data/dbC00.pdb"))
    +
    +# Create a plot from one database
    +TestSection("Set time using different time sliders")
    +OpenDatabase(dbs[0])
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("timesliders00")
    +TestWindowInformation("timesliders01")
    +
    +# Create a plot from another database
    +OpenDatabase(dbs[1])
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("timesliders02")
    +TestWindowInformation("timesliders03")
    +
    +# Change the time state for the second time slider.
    +# note: py3 div creates float
    +SetTimeSliderState(int(TimeSliderGetNStates() / 2))
    +Test("timesliders04")
    +TestWindowInformation("timesliders05")
    +
    +# Make sure that GetTimeSliders returned the right dictionary.
    +testString = "GetTimeSliders returned:\n %s" % PrintDict(GetTimeSliders())
    +TestText("timesliders06", testString)
    +
    +# Set the time slider back to the first time slider.
    +SetActiveTimeSlider(dbs[0])
    +
    +# Set the time state for the first time slider.
    +SetTimeSliderState(7)
    +Test("timesliders07")
    +TestWindowInformation("timesliders08")
    +
    +# Create a database correlation for the first two databases. This correlation
    +# will be an IndexForIndex correlation since we passed 0 for the correlation
    +# method.
    +TestSection("Time slider behavior with a correlation")
    +correlation1 = "A_and_B"
    +CreateDatabaseCorrelation(correlation1, dbs[:-1], 0)
    +SetActiveTimeSlider(correlation1)
    +Test("timesliders09")
    +TestWindowInformation("timesliders10")
    +
    +# Set the time state for the active time slider since it is now the A_and_B
    +# database correlation.
    +SetTimeSliderState(0)
    +Test("timesliders11")
    +TestWindowInformation("timesliders12")
    +
    +SetTimeSliderState(5)
    +Test("timesliders13")
    +TestWindowInformation("timesliders14")
    +
    +SetTimeSliderState(19)
    +Test("timesliders15")
    +TestWindowInformation("timesliders16")
    +
    +# Set the time slider to B. Only B should change.
    +SetActiveTimeSlider(dbs[1])
    +SetTimeSliderState(5)
    +Test("timesliders17")
    +TestWindowInformation("timesliders18")
    +
    +# Add a new window and make sure that the time sliders are copied to it.
    +TestSection("Make sure cloned window gets time sliders")
    +CloneWindow()
    +SetActiveWindow(2)
    +DrawPlots()
    +Test("timesliders19")
    +TestWindowInformation("timesliders20")
    +
    +SetTimeSliderState(19)
    +Test("timesliders21")
    +TestWindowInformation("timesliders22")
    +DeleteWindow()
    +
    +# Make sure switching between different databases give the right time sliders.
    +TestSection("Make sure opening ST database clears time slider list")
    +DeleteAllPlots()
    +OpenDatabase(dbs[0])
    +SetTimeSliderState(0)
    +TestWindowInformation("timesliders23")
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +ResetView()
    +Test("timesliders24")
    +TestWindowInformation("timesliders25")
    +
    +# Make sure doing various replace sequences give the right time sliders.
    +TestSection("Make sure replace sequences give right time sliders")
    +DeleteAllPlots()
    +OpenDatabase(dbs[0])
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("timesliders26")
    +TestWindowInformation("timesliders27")
    +ReplaceDatabase(dbs[1])
    +Test("timesliders28")
    +TestWindowInformation("timesliders29")
    +ReplaceDatabase(dbs[0])
    +Test("timesliders30")
    +# There should only be 1 time slider at this point.
    +TestWindowInformation("timesliders31")
    +
    +# Make sure that when we replace an MT database with an ST database, we get
    +# the right time sliders.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("wave*.silo database"), 30)
    +
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +SetTheView()
    +Test("timesliders32")
    +TestWindowInformation("timesliders33")
    +# Replace with an ST database
    +ReplaceDatabase(silo_data_path("wave0000.silo"))
    +Test("timesliders34")
    +TestWindowInformation("timesliders35")
    +
    +# Make sure that we get the right time sliders after we delete plots.
    +TestSection("Make sure we get the right time sliders after deleting plots.")
    +DeleteAllPlots()
    +# Close all the sources so we get fresh time sliders.
    +for source in GetGlobalAttributes().sources:
    +    CloseDatabase(source)
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor", "pressure")
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "p")
    +DrawPlots()
    +
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (0.163324, 0.442866, 0.881586)
    +v.viewUp = (-0.0889191, 0.896556, -0.433913)
    +v.parallelScale = 16.9558
    +v.imagePan = (0.0834786, 0.0495278)
    +v.imageZoom = 1.53171
    +SetView3D(v)
    +
    +Test("timesliders36")
    +TestWindowInformation("timesliders37")
    +SetActivePlots(0)
    +DeleteActivePlots()
    +Test("timesliders38")
    +TestWindowInformation("timesliders39")
    +DeleteActivePlots()
    +TestWindowInformation("timesliders40")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_uintah.html b/2023-11-08-22:00/pascal_trunk_serial/databases_uintah.html new file mode 100644 index 000000000..3fa561065 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_uintah.html @@ -0,0 +1,79 @@ + +Results for databases/uintah.py + +

    Results of VisIt Regression Test - databases/uintah

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Particle data
    Particle_000.000.00
    Particle_010.000.00
    Particle_020.000.00
    Particle_030.000.00
    Particle_040.000.00
    Particle_050.000.00
    Particle ID
     281474976710656.0 .eq. 281474976710656.0 (prec=0) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_uintah_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_uintah_py.html new file mode 100644 index 000000000..f1ca2730f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_uintah_py.html @@ -0,0 +1,66 @@ +databases/uintah.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  uintah.py
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Tue Jan  4 13:05:47 PST 2022
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Uintah")
    +
    +def test_particle():
    +    TestSection("Particle data")
    +    OpenDatabase(pjoin(data_path("uintah_test_data"), "index.xml"))
    +    AddPlot("Pseudocolor", "p.particleID/*")
    +    pc = PseudocolorAttributes()
    +    pc.pointType = pc.Point
    +    pc.pointSizePixels = 40
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0, -1, 0)
    +    v.focus = (0.01, 0.01, 0.015)
    +    v.viewUp = (0, 0, 1)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.0206155
    +    v.nearPlane = -0.0412311
    +    v.farPlane = 0.0412311
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 0
    +    SetView3D(v)
    +    Test("Particle_00")
    +
    +    ChangeActivePlotsVar("p.particleID/0")
    +    Test("Particle_01")
    +
    +    ChangeActivePlotsVar("p.particleID/1")
    +    Test("Particle_02")
    +
    +    ChangeActivePlotsVar("p.mass/*")
    +    Test("Particle_03")
    +
    +    ChangeActivePlotsVar("p.mass/0")
    +    Test("Particle_04")
    +
    +    ChangeActivePlotsVar("p.mass/1")
    +    Test("Particle_05")
    +
    +    PickAtts = GetPickAttributes()
    +    PickAtts.variables = ("p.particleID/*")
    +    SetPickAttributes(PickAtts)
    +    SetQueryOutputToObject()
    +    p = NodePick(0, 0)
    +    id = p['p.particleID/*']
    +    TestValueEQ("Particle ID", id, 281474976710656., 0)
    +
    +def main():
    +    test_particle()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_unv.html b/2023-11-08-22:00/pascal_trunk_serial/databases_unv.html new file mode 100644 index 000000000..300f6324f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_unv.html @@ -0,0 +1,72 @@ + +Results for databases/unv.py + +

    Results of VisIt Regression Test - databases/unv

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    unv_010.000.00
    unv_020.000.00
    unv_030.000.00
    unv_040.000.00
    unv_050.000.00
    unv_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_unv_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_unv_py.html new file mode 100644 index 000000000..af48cfb63 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_unv_py.html @@ -0,0 +1,175 @@ +databases/unv.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Tests:      smoke check of unv file reader.
    +#
    +#  Programmer: Olivier Cessenat
    +#  Date: Thu Oct 11 08:42:44 PDT 2012
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Fri Sep 23 15:08:38 PDT 2022
    +#    Remove use of obsolete FilledBoundaryAttributes fields: boundaryType
    +#    and filledFlag.
    +#
    +# ----------------------------------------------------------------------------
    +
    +datapath = data_path("unv_test_data")
    +
    +OpenDatabase(pjoin(datapath, "small_sur.unv"))
    +AddPlot("FilledBoundary", "boundaries(freemesh)")
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.446545, 0.0881432, 0.890409)
    +View3DAtts.focus = (0, 0, 2.5)
    +View3DAtts.viewUp = (-0.122457, 0.991793, -0.0367666)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 3.4641
    +View3DAtts.nearPlane = -6.9282
    +View3DAtts.farPlane = 6.9282
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 2.5)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +SetView3D(View3DAtts)
    +DrawPlots()
    +Test("unv_01")
    +DeleteAllPlots()
    +CloseDatabase(pjoin(datapath,"small_sur.unv"))
    +
    +OpenDatabase(pjoin(datapath,"small_mix.unv"))
    +AddPlot("FilledBoundary", "surfmats(surfmesh)")
    +AddPlot("Mesh", "surfmesh", 1, 0)
    +DrawPlots()
    +Test("unv_02")
    +DeleteAllPlots()
    +CloseDatabase(pjoin(datapath,"small_mix.unv"))
    +
    +OpenDatabase(pjoin(datapath,"small_vol_pri_bor.unv"),0)
    +AddPlot("FilledBoundary", "boundaries(freemesh)")
    +AddPlot("Mesh", "freemesh")
    +DrawPlots()
    +Test("unv_03")
    +DeleteAllPlots()
    +CloseDatabase(pjoin(datapath,"small_vol_pri_bor.unv"))
    +
    +OpenDatabase(pjoin(datapath,"small_vol_tet_bor.unv"),0)
    +AddPlot("FilledBoundary", "boundaries(freemesh)")
    +AddPlot("Mesh", "facemesh")
    +DrawPlots()
    +Test("unv_04")
    +DeleteAllPlots()
    +CloseDatabase(pjoin(datapath,"small_vol_tet_bor.unv"))
    +
    +OpenDatabase(pjoin(datapath,"small_vol_pyr_bor.unv"), 0)
    +AddPlot("FilledBoundary", "load_sets(facemesh)")
    +AddPlot("Mesh", "facemesh")
    +AddPlot("Mesh", "mesh")
    +SetActivePlots(2)
    +AddOperator("ThreeSlice", 0)
    +SetActivePlots(2)
    +ThreeSliceAtts = ThreeSliceAttributes()
    +ThreeSliceAtts.x = 0.1
    +ThreeSliceAtts.y = 0.2
    +ThreeSliceAtts.z = 0.24
    +ThreeSliceAtts.interactive = 1
    +SetOperatorOptions(ThreeSliceAtts, 0)
    +SetActivePlots(0)
    +FilledBoundaryAtts = FilledBoundaryAttributes()
    +FilledBoundaryAtts.colorType = FilledBoundaryAtts.ColorByMultipleColors
    +FilledBoundaryAtts.colorTableName = "Default"
    +FilledBoundaryAtts.invertColorTable = 0
    +FilledBoundaryAtts.legendFlag = 1
    +FilledBoundaryAtts.lineWidth = 0
    +FilledBoundaryAtts.singleColor = (0, 0, 0, 255)
    +FilledBoundaryAtts.SetMultiColor(0, (255, 0, 0, 255))
    +FilledBoundaryAtts.SetMultiColor(1, (0, 255, 0, 255))
    +FilledBoundaryAtts.opacity = 0.258824
    +FilledBoundaryAtts.wireframe = 0
    +FilledBoundaryAtts.drawInternal = 0
    +FilledBoundaryAtts.smoothingLevel = 0
    +FilledBoundaryAtts.cleanZonesOnly = 0
    +FilledBoundaryAtts.mixedColor = (255, 255, 255, 255)
    +FilledBoundaryAtts.pointSize = 0.05
    +FilledBoundaryAtts.pointType = FilledBoundaryAtts.Point
    +FilledBoundaryAtts.pointSizeVarEnabled = 0
    +FilledBoundaryAtts.pointSizeVar = "default"
    +FilledBoundaryAtts.pointSizePixels = 2
    +SetPlotOptions(FilledBoundaryAtts)
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.440531, 0.546377, 0.712323)
    +View3DAtts.focus = (0, 0, 2.5)
    +View3DAtts.viewUp = (-0.429096, 0.825111, -0.367517)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 3.4641
    +View3DAtts.nearPlane = -6.9282
    +View3DAtts.farPlane = 6.9282
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 2.5)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +SetView3D(View3DAtts)
    +DrawPlots()
    +Test("unv_05")
    +
    +DeleteAllPlots()
    +CloseDatabase(pjoin(datapath,"small_vol_pyr_bor.unv"))
    +OpenDatabase(pjoin(datapath, "small_sur.unv"))
    +
    +AddPlot("Vector", "normals2d", 1, 1)
    +DrawPlots()
    +# Begin spontaneous state
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.554906, -0.684409, 0.472931)
    +View3DAtts.focus = (0, 0, 2.5)
    +View3DAtts.viewUp = (-0.448111, 0.233062, 0.863063)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 3.4641
    +View3DAtts.nearPlane = -6.9282
    +View3DAtts.farPlane = 6.9282
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (0, 0, 2.5)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +View3DAtts.windowValid = 1
    +SetView3D(View3DAtts)
    +# End spontaneous state
    +
    +SaveWindowAtts = SaveWindowAttributes()
    +SaveWindowAtts.outputToCurrentDirectory = 1
    +SaveWindowAtts.outputDirectory = "."
    +SaveWindowAtts.fileName = "small_sur_normals2d"
    +SaveWindowAtts.family = 1
    +SaveWindowAtts.format = SaveWindowAtts.PNG  # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK, PLY
    +SaveWindowAtts.width = 1024
    +SaveWindowAtts.height = 1024
    +SaveWindowAtts.screenCapture = 0
    +SaveWindowAtts.saveTiled = 0
    +SaveWindowAtts.quality = 80
    +SaveWindowAtts.progressive = 0
    +SaveWindowAtts.binary = 0
    +SaveWindowAtts.stereo = 0
    +SaveWindowAtts.compression = SaveWindowAtts.PackBits  # None, PackBits, Jpeg, Deflate
    +SaveWindowAtts.forceMerge = 0
    +SaveWindowAtts.resConstraint = SaveWindowAtts.ScreenProportions  # NoConstraint, EqualWidthHeight, ScreenProportions
    +SaveWindowAtts.advancedMultiWindowSave = 0
    +SetSaveWindowAttributes(SaveWindowAtts)
    +SaveWindow()
    +Test("unv_06", SaveWindowAtts)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_vtk.html b/2023-11-08-22:00/pascal_trunk_serial/databases_vtk.html new file mode 100644 index 000000000..d2e291cf5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_vtk.html @@ -0,0 +1,437 @@ + +Results for databases/vtk.py + +

    Results of VisIt Regression Test - databases/vtk

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Materials in VTK
    vtk_010.000.00
    vtk_020.000.00
    vtk_030.000.00
    VTK XML-style data files
    vtk_040.000.00
    vtk_050.000.00
    vtk_060.000.00
    vtk_070.000.00
    vtk_080.000.00
    vtk_090.000.00
    vtk_100.000.00
    vtk_110.000.00
    vtk_120.000.00
    vtk_130.000.00
    vtk_140.000.00
    vtk_150.000.00
    vtk_160.000.00
    vtk_170.000.00
    vtk_180.000.00
    vtk_190.000.00
    vtk_200.000.00
    vtk_210.000.00
    vtk_220.000.00
    vtk_230.000.00
    vtk_240.000.00
    vtk_250.000.00
    vtk_260.000.00
    vtk_270.000.00
    Quadratic triangles in VTK
    vtk_280.000.00
    vtk_290.000.00
    !NBLOCKS in a .visit file
    vtk_300.000.00
    vtk_310.000.00
    vtk_320.000.00
    vtk_330 modifications totalling 0 lines
    PVTU files
    vtk_340.000.00
    vtk_34a0.000.00
    PVTI files
    vtk_350.000.00
    2D Unstructured grids with lines
    vtk_360.000.00
    VTM files
    vtk_370.000.00
    vtk_380.000.00
    vtk_390.000.00
    vtk_400 modifications totalling 0 lines
    PVTK files
    vtk_410.000.00
    vtk_420.000.00
    VTK ghost types
    vtk_430.000.00
    vtk_440.000.00
    vtk_450.000.00
    Database Expressions in VTK
    vtk_460.000.00
    PVD, single pvti file, no time, no groups
    vtk_pvd_010.000.00
    PVD, multiple vtr files, single time, no groups
    vtk_pvd_020.000.00
    PVD, multiple pvtr files, multiple times, no groups
    vtk_pvd_030.000.00
    vtk_pvd_040.000.00
    PVD, multiple vtr files, multiple times, groups
    vtk_pvd_050.000.00
    vtk_pvd_060.000.00
    PVD, multiple vtm files,multiple times
    vtk_pvd_070.000.00
    vtk_pvd_080.000.00
    PVD, multiple pvti files, multiple times
    vtk_pvd_090.000.00
    vtk_pvd_100.000.00
    vtk_pvd_110.000.00
    vtk_pvd_120.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_vtk_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_vtk_py.html new file mode 100644 index 000000000..e1f2655e6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_vtk_py.html @@ -0,0 +1,474 @@ +databases/vtk.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  vtk.py 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       October 28, 2004 
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Fri Sep 23 10:55:44 PDT 2005
    +#    Re-organized code into separate methods.  Added TestXML method.
    +#
    +#    Brad Whitlock, Mon May 8 15:57:12 PST 2006
    +#    Added test for higher_order_triangles.vtk
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Brad Whitlock, Tue Oct 23 11:18:12 PDT 2012
    +#    I added tests for NBLOCKS .visit files, cycle & time, and PVTU files.
    +#
    +#    Eric Brugger, Tue Jun 25 18:20:31 PDT 2013
    +#    I added a test for PVTI files.
    +#
    +#    Kathleen Biagas, Wed Feb 25 14:10:13 PST 2015
    +#    Mesh name has been added to blocks.vtu test data, so add mesh plot
    +#    to test is has been read correctly.
    +#
    +#    Kathleen Biagas, Tue Aug 18 14:00:16 PDT 2015
    +#    Added a test for VTM files.
    +#
    +#    Kathleen Biagas, Thu Sep 21 14:56:25 MST 2017
    +#    Added a test for PVTK files.
    +#
    +#    Edward Rusu, Mon Oct 01 15:09:24 PST 2018
    +#    Added a test for vtkGhostType.
    +#
    +#    Kathleen Biagas, Tue Aug 24, 2021
    +#    Added a test for PVD files.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestMaterials():
    +    TestSection("Materials in VTK")
    +    OpenDatabase(data_path("vtk_test_data/globe_mats.vtk"))
    +
    +
    +    #
    +    # Test simple read and display of a material variable 
    +    #
    +    AddPlot("FilledBoundary","materials")
    +    DrawPlots()
    +    Test("vtk_01")
    +
    +    #
    +    # Find set ids using their names
    +    #
    +    setId1 = -1
    +    setId2 = -1
    +    setId3 = -1
    +    silr = SILRestriction()
    +    for i in range(silr.NumSets()):
    +        if silr.SetName(i) == "1":
    +            setId1 = i
    +        elif silr.SetName(i) == "2":
    +            setId2 = i
    +        elif silr.SetName(i) == "3":
    +            setId3 = i
    +
    +    #
    +    # Turn on air, but turn void and uranium off
    +    #
    +    silr.TurnOffSet(setId2)
    +    SetPlotSILRestriction(silr)
    +    Test("vtk_02")
    +
    +    silr.TurnOnSet(setId2)
    +    SetPlotSILRestriction(silr)
    +    AddOperator("Slice")
    +    DrawPlots()
    +    Test("vtk_03")
    +
    +    TurnMaterialsOn()
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/globe_mats.vtk"))
    +
    +def TestXML():
    +    TestSection("VTK XML-style data files")
    +    OpenDatabase(data_path("vtk_xml_test_data/curv2d.vts"))
    +
    +    AddPlot("Pseudocolor", "d");
    +    DrawPlots();
    +    Test("vtk_04")
    +    ChangeActivePlotsVar("p")
    +    DrawPlots()
    +    Test("vtk_05")
    +    ChangeActivePlotsVar("u")
    +    DrawPlots()
    +    Test("vtk_06")
    +    ChangeActivePlotsVar("v")
    +    DrawPlots()
    +    Test("vtk_07")
    +    DeleteActivePlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Test("vtk_08")
    +    DeleteActivePlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/curv2d.vts"))
    +
    +    OpenDatabase(data_path("vtk_xml_test_data/curv3d.vts"))
    +
    +    AddPlot("Pseudocolor", "d");
    +    DrawPlots();
    +    Test("vtk_09")
    +    ChangeActivePlotsVar("p")
    +    DrawPlots()
    +    Test("vtk_10")
    +    ChangeActivePlotsVar("t")
    +    DrawPlots()
    +    Test("vtk_11")
    +    ChangeActivePlotsVar("u")
    +    DrawPlots()
    +    Test("vtk_12")
    +    ChangeActivePlotsVar("v")
    +    DrawPlots()
    +    Test("vtk_13")
    +    ChangeActivePlotsVar("w")
    +    DrawPlots()
    +    Test("vtk_14")
    +    DeleteActivePlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Test("vtk_15")
    +    DeleteActivePlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/curv3d.vts"))
    +
    +    OpenDatabase(data_path("vtk_xml_test_data/rect3d.vtr"))
    +
    +    AddPlot("Pseudocolor", "d");
    +    DrawPlots();
    +    Test("vtk_16")
    +    ChangeActivePlotsVar("p")
    +    DrawPlots()
    +    Test("vtk_17")
    +    ChangeActivePlotsVar("t")
    +    DrawPlots()
    +    Test("vtk_18")
    +    ChangeActivePlotsVar("u")
    +    DrawPlots()
    +    Test("vtk_19")
    +    ChangeActivePlotsVar("v")
    +    DrawPlots()
    +    Test("vtk_20")
    +    ChangeActivePlotsVar("w")
    +    DrawPlots()
    +    Test("vtk_21")
    +    DeleteActivePlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Test("vtk_22")
    +    DeleteActivePlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/rect3d.vtr"))
    +
    +    OpenDatabase(data_path("vtk_xml_test_data/ucd2d.vtu"))
    +
    +    AddPlot("Pseudocolor", "d");
    +    DrawPlots();
    +    Test("vtk_23")
    +    ChangeActivePlotsVar("speed")
    +    DrawPlots()
    +    Test("vtk_24")
    +    ChangeActivePlotsVar("u")
    +    DrawPlots()
    +    Test("vtk_25")
    +    ChangeActivePlotsVar("v")
    +    DrawPlots()
    +    Test("vtk_26")
    +    DeleteActivePlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Test("vtk_27")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/ucd2d.vtu"))
    +
    +def TestHigherOrder():
    +    TestSection("Quadratic triangles in VTK")
    +    OpenDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
    +
    +    AddPlot("Mesh", "highorder_triangles");
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.429056, 0.759111, 0.489553)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.901832, -0.39065, -0.184638)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.73205
    +    v.nearPlane = -3.4641
    +    v.farPlane = 3.4641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.45106
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Test("vtk_28")
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression("zoneid", "zoneid(highorder_triangles)")
    +    AddPlot("Pseudocolor", "zoneid")
    +    p = PseudocolorAttributes()
    +    p.colorTableName = "levels"
    +    SetPlotOptions(p)
    +    DrawPlots()
    +    Test("vtk_29")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
    +
    +def TestNBLOCKS():
    +    TestSection("!NBLOCKS in a .visit file")
    +    OpenDatabase(data_path("vtk_test_data/visitfile/dbA.visit"))
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_30")
    +
    +    # See that there are multiple time steps.
    +    SetTimeSliderState(5)
    +    Test("vtk_31")
    +    DeleteAllPlots()
    +
    +    # See that there are 2 domains
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("vtk_32")
    +
    +    # Test that we can get the cycle and time out.
    +    txt = ""
    +    for i in range(10):
    +        SetTimeSliderState(i)
    +        Query("Cycle")
    +        cycle = GetQueryOutputValue()
    +        Query("Time")
    +        time = GetQueryOutputValue()
    +        txt = txt + "Cycle: %d, Time: %g\n" % (cycle, time)
    +    TestText("vtk_33", txt)
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/visitfile/dbA.visit"))
    +
    +def TestPVTU():
    +    TestSection("PVTU files")
    +    OpenDatabase(data_path("vtk_test_data/blocks.pvtu"))
    +    AddPlot("Pseudocolor", "MatNum")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_34")
    +    # MeshName recently added, so test.
    +    AddPlot("Mesh", "blocks")
    +    DrawPlots()
    +    Test("vtk_34a")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/blocks.pvtu"))
    +
    +def TestPVTI():
    +    TestSection("PVTI files")
    +    OpenDatabase(data_path("vtk_xml_test_data/earth.pvti"))
    +    AddPlot("Truecolor", "PNGImage")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_35")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/earth.pvti"))
    +
    +def TestMixedTopology():
    +    TestSection("2D Unstructured grids with lines")
    +    OpenDatabase(data_path("vtk_test_data/test_bound.vtk"))
    +    AddPlot("Pseudocolor", "data_cells_with_bound")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_36")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/test_bound.vtk"))
    +
    +def TestVTM():
    +    TestSection("VTM files")
    +    f = "files.vtm"
    +    fN = data_path("vtk_xml_test_data/MultiBlock/%s"%f)
    +    OpenDatabase(fN)
    +    AddPlot("Subset", "Blocks")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_37")
    +
    +    mmd = GetMetaData(fN).GetMeshes(0)
    +    s = f + ":    Groups: " + ", ".join(mmd.groupNames)
    +    s = s + "     Blocks: " + ", ".join(mmd.blockNames) + "\n"
    +
    +    DeleteAllPlots()
    +    CloseDatabase(fN)
    +
    +    f = "files_grouped.vtm"
    +    fN = data_path("vtk_xml_test_data/MultiBlock/%s"%f)
    +    OpenDatabase(fN)
    +    AddPlot("Subset", "Blocks")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_38")
    +
    +    ChangeActivePlotsVar("Groups")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_39")
    +
    +    mmd = GetMetaData(fN).GetMeshes(0)
    +    s = s + f + ":    Groups: " + ", ".join(mmd.groupNames)
    +    s = s + "    Blocks: " + ", ".join(mmd.blockNames) + "\n"
    +    TestText("vtk_40", s)
    +    DeleteAllPlots()
    +    CloseDatabase(fN)
    +
    +def TestPVTK():
    +    TestSection("PVTK files")
    +    f = "earth.pvtk"
    +    fN = data_path("vtk_test_data/pvtk/%s"%f)
    +    OpenDatabase(fN)
    +    AddPlot("Truecolor", "PNGImage")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_41")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(fN)
    +
    +    f = "dbA.pvtk"
    +    fN = data_path("vtk_test_data/pvtk/dbA/%s"%f)
    +    OpenDatabase(fN)
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_42")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(fN)
    +
    +def TestVTKGhostType():
    +    TestSection("VTK ghost types")
    +    OpenDatabase(data_path("vtk_test_data/vtkGhostType.vtk"))
    +    ResetView()
    +    AddPlot("Pseudocolor", "internal_var_GhostZones")
    +    DrawPlots()
    +    Test("vtk_43")
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "internal_var_GhostNodes")
    +    DrawPlots()
    +    Test("vtk_44")
    +
    +    DeleteAllPlots()
    +    AddPlot("Mesh", "Mesh_gnz")
    +    DrawPlots()
    +    Test("vtk_45")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/vtkGhostType.vtk"))
    +
    +def TestDBExpressions():
    +    TestSection("Database Expressions in VTK")
    +    OpenDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
    +
    +    AddPlot("Mesh", "highorder_triangles");
    +    AddPlot("Pseudocolor", "x")
    +    AddPlot("Vector", "posvec")
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.429056, 0.759111, 0.489553)
    +    v.viewUp = (-0.901832, -0.39065, -0.184638)
    +    v.parallelScale = 1.73205
    +    v.nearPlane = -3.4641
    +    v.farPlane = 3.4641
    +    v.imageZoom = 1.45106
    +    SetView3D(v)
    +
    +    Test("vtk_46")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/higher_order_triangles.vtk"))
    +
    +def TestPVD():
    +
    +    TestSection("PVD, single pvti file, no time, no groups")
    +    OpenDatabase(data_path("vtk_xml_test_data/earth.pvd"))
    +    AddPlot("Truecolor", "PNGImage")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_pvd_01")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/earth.pvd"))
    +
    +    TestSection("PVD, multiple vtr files, single time, no groups")
    +    OpenDatabase(data_path("vtk_xml_test_data/multiRect3d.pvd"))
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_pvd_02")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/multiRect3d.pvd"))
    +
    +    TestSection("PVD, multiple pvtr files, multiple times, no groups")
    +    OpenDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_pvtr.pvd"))
    +    AddPlot("Pseudocolor", "radial")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_pvd_03")
    +    TimeSliderSetState(5)
    +    Test("vtk_pvd_04")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_pvtr.pvd"))
    +
    +    TestSection("PVD, multiple vtr files, multiple times, groups")
    +    OpenDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_part_vtr.pvd"))
    +    AddPlot("Subset", "parts")
    +    DrawPlots()
    +    Test("vtk_pvd_05")
    +    ChangeActivePlotsVar("blocks")
    +    Test("vtk_pvd_06")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_part_vtr.pvd"))
    +
    +    TestSection("PVD, multiple vtm files,multiple times")
    +    OpenDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_vtm.pvd"))
    +    AddPlot("Pseudocolor", "radial")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_pvd_07")
    +    TimeSliderSetState(5)
    +    Test("vtk_pvd_08")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/multi_dir/multi_time_vtm.pvd"))
    +
    +    TestSection("PVD, multiple pvti files, multiple times")
    +    OpenDatabase(data_path("vtk_xml_test_data/earth_multiTime/earth_time.pvd"))
    +    AddPlot("Truecolor", "PNGImage")
    +    DrawPlots()
    +    ResetView()
    +    Test("vtk_pvd_09")
    +    TimeSliderNextState()
    +    Test("vtk_pvd_10")
    +    TimeSliderNextState()
    +    Test("vtk_pvd_11")
    +    TimeSliderNextState()
    +    Test("vtk_pvd_12")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_xml_test_data/earth_multiTime/earth_time.pvd"))
    +
    +
    +TestMaterials()
    +TestXML()
    +TestHigherOrder()
    +TestNBLOCKS()
    +TestPVTU()
    +TestPVTI()
    +TestMixedTopology()
    +TestVTM()
    +TestPVTK()
    +TestVTKGhostType()
    +TestDBExpressions()
    +TestPVD()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_wave_tv.html b/2023-11-08-22:00/pascal_trunk_serial/databases_wave_tv.html new file mode 100644 index 000000000..2da1f663a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_wave_tv.html @@ -0,0 +1,62 @@ + +Results for databases/wave_tv.py + +

    Results of VisIt Regression Test - databases/wave_tv

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    wave_tv_010.000.00
    wave_tv_020.000.00
    wave_tv_030 modifications totalling 0 lines
    wave_tv_040 modifications totalling 0 lines
    wave_tv_050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_wave_tv_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_wave_tv_py.html new file mode 100644 index 000000000..75b433928 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_wave_tv_py.html @@ -0,0 +1,88 @@ +databases/wave_tv.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  silo.py 
    +#
    +#  Tests:      The wave_tv database which varies domains and materials and
    +#              number of meshes over time.
    +#
    +#  Defects:    '4760
    +#
    +#  Programmer: Hank Childs
    +#  Date:       April 9, 2004 
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, June 12, 2007
    +#    Replaced explicit annotation manipulation with call to
    +#    TurnOffAllAnnotations. Added tests of TreatAllDBsAsTimeVarying
    +#    functionality
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("wave_tv*.silo database"), 9)
    +
    +
    +#
    +# This brings up a subset plot with 5 materials.
    +#
    +AddPlot("FilledBoundary", "Material")
    +DrawPlots()
    +
    +Test("wave_tv_01")
    +
    +#
    +# There was a bug ('4760), where animating over time would crash the engine
    +# when some materials went out of scope.
    +#
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +Test("wave_tv_02")
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("wave_tv*.silo database") )
    +
    +#
    +# Open wave_tv one state BEFORE where variable 'transient' is
    +# defined and then march forward. With 'TreatAllDBsAsTimeVarying'
    +# turned off, the add should always fail. With it turned on,
    +# the add should succeed on state 17.
    +#
    +OpenDatabase(silo_data_path("wave_tv*.silo database") , 16)
    +addOk16 = AddPlot("Pseudocolor","transient")
    +DeleteAllPlots()
    +TimeSliderNextState()
    +addOk17 = AddPlot("Pseudocolor","transient")
    +msg = "With TreatAllDBsAsTimeVarying set to its default value,\n"
    +msg = msg + "AddPlot() returned %d for state 16 and %d for state 17"%(addOk16,addOk17)
    +TestText("wave_tv_03", msg)
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("wave_tv*.silo database") )
    +
    +SetTreatAllDBsAsTimeVarying(1)
    +OpenDatabase(silo_data_path("wave_tv*.silo database"), 16)
    +
    +addOk16 = AddPlot("Pseudocolor","transient")
    +DeleteAllPlots()
    +TimeSliderNextState()
    +addOk17 = AddPlot("Pseudocolor","transient")
    +msg = "With TreatAllDBsAsTimeVarying set to 1 (true),\n"
    +msg = msg + "AddPlot() returned %d for state 16 and %d for state 17"%(addOk16,addOk17)
    +TestText("wave_tv_04", msg)
    +DrawPlots()
    +Test("wave_tv_05")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_xdmf.html b/2023-11-08-22:00/pascal_trunk_serial/databases_xdmf.html new file mode 100644 index 000000000..037eb5b82 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_xdmf.html @@ -0,0 +1,330 @@ + +Results for databases/xdmf.py + +

    Results of VisIt Regression Test - databases/xdmf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Structured (no hdf5)
    xdmf_0_000.000.00
    xdmf_0_010.000.00
    Basic topology (no hdf5)
    xdmf_1_000.000.00
    xdmf_1_010.000.00
    xdmf_1_020.000.00
    xdmf_1_030.000.00
    xdmf_1_040.000.00
    xdmf_1_050.000.00
    xdmf_1_060.000.00
    xdmf_1_070.000.00
    xdmf_1_080.000.00
    xdmf_1_090.000.00
    xdmf_1_100.000.00
    xdmf_1_110.000.00
    xdmf_1_120.000.00
    xdmf_1_130.000.00
    xdmf_1_140.000.00
    xdmf_1_150.000.00
    xdmf_1_160.000.00
    xdmf_1_170.000.00
    Mixed (no hdf5)
    xdmf_2_000.000.00
    Polygon (no hdf5)
    xdmf_3_000.000.00
    xdmf_3_010.000.00
    xdmf_3_020.000.00
    Quadratic topology (no hdf5)
    xdmf_4_000.000.00
    xdmf_4_010.000.00
    xdmf_4_020.000.00
    xdmf_4_030.000.00
    xdmf_4_040.000.00
    xdmf_4_050.000.00
    Multiple grids (no hdf5)
    xdmf_5_000.000.00
    Structured with hdf5
    xdmf_6_000.000.00
    xdmf_6_010.000.00
    xdmf_6_020.000.00
    xdmf_6_030.000.00
    xdmf_6_040.000.00
    xdmf_6_050.000.00
    xdmf_6_060.000.00
    Quadratic topology (no hdf5)
    xdmf_7_000.000.00
    xdmf_7_010.000.00
    xdmf_7_020.000.00
    xdmf_7_030.000.00
    xdmf_7_040.000.00
    xdmf_7_050.000.00
    xdmf_7_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_xdmf_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_xdmf_py.html new file mode 100644 index 000000000..950dc6cbf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_xdmf_py.html @@ -0,0 +1,436 @@ +databases/xdmf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  xdmf.py
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Apr 27 10:37:01 PDT 2010
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("Xdmf")
    +
    +def test0(datapath):
    +    TestSection("Structured (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"3DRectMesh.xmf"))
    +    AddPlot("Pseudocolor", "CellScalars")
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.722705, 0.363868, 0.587621)
    +    v.focus = (2, 1.5, 1.5)
    +    v.viewUp = (0.277541, 0.931424, -0.235414)
    +    v.viewAngle = 30
    +    v.parallelScale = 2.91548
    +    v.nearPlane = -5.83095
    +    v.farPlane = 5.83095
    +    v.imagePan = (0.0188164, 0.0435196)
    +    v.imageZoom = 1.09024
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (2, 1.5, 1.5)
    +    SetView3D(v)
    +    Test("xdmf_0_00")
    +
    +    ChangeActivePlotsVar("NodeScalars")
    +    Test("xdmf_0_01")
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"3DRectMesh.xmf"))
    +
    +def test1(datapath):
    +    TestSection("Basic topology (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"BasicTopology.xmf"))
    +    AddPlot("Pseudocolor", "Hexahedron/Cell Centered Values")
    +    DrawPlots()
    +
    +    pc = PseudocolorAttributes(1)
    +    pc.pointSizePixels = 10
    +    pc.pointType = pc.Point
    +    SetPlotOptions(pc)
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.722705, 0.363868, 0.587621)
    +    v.focus = (0.5, 0.5, 2)
    +    v.viewUp = (0.277541, 0.931424, -0.235414)
    +    v.viewAngle = 30
    +    v.parallelScale = 2.12132
    +    v.nearPlane = -4.24264
    +    v.farPlane = 4.24264
    +    v.imagePan = (0.0665142, 0.0326173)
    +    v.imageZoom = 1.4219
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 2)
    +    SetView3D(v)
    +    Test("xdmf_1_00")
    +
    +    ChangeActivePlotsVar("Hexahedron/Node Centered Values")
    +    Test("xdmf_1_01")
    +
    +    # Polygon
    +    ChangeActivePlotsVar("Polygon/Cell Centered Values")
    +    Test("xdmf_1_02")
    +    ChangeActivePlotsVar("Polygon/Node Centered Values")
    +    Test("xdmf_1_03")
    +
    +    # Polyline
    +    ChangeActivePlotsVar("Polyline/Cell Centered Values")
    +    Test("xdmf_1_04")
    +    ChangeActivePlotsVar("Polyline/Node Centered Values")
    +    Test("xdmf_1_05")
    +
    +    # Polyvertex
    +    ChangeActivePlotsVar("Polyvertex/Cell Centered Values")
    +    Test("xdmf_1_06")
    +    ChangeActivePlotsVar("Polyvertex/Node Centered Values")
    +    Test("xdmf_1_07")
    +
    +    # Pyramid
    +    ChangeActivePlotsVar("Pyramid/Cell Centered Values")
    +    Test("xdmf_1_08")
    +    ChangeActivePlotsVar("Pyramid/Node Centered Values")
    +    Test("xdmf_1_09")
    +
    +    # Quadrilateral
    +    ChangeActivePlotsVar("Quadrilateral/Cell Centered Values")
    +    Test("xdmf_1_10")
    +    ChangeActivePlotsVar("Quadrilateral/Node Centered Values")
    +    Test("xdmf_1_11")
    +
    +    # Tetrahedron
    +    ChangeActivePlotsVar("Tetrahedron/Cell Centered Values")
    +    Test("xdmf_1_12")
    +    ChangeActivePlotsVar("Tetrahedron/Node Centered Values")
    +    Test("xdmf_1_13")
    +
    +    # Triangle
    +    ChangeActivePlotsVar("Triangle/Cell Centered Values")
    +    Test("xdmf_1_14")
    +    ChangeActivePlotsVar("Triangle/Node Centered Values")
    +    Test("xdmf_1_15")
    +
    +    # Wedge
    +    ChangeActivePlotsVar("Wedge/Cell Centered Values")
    +    Test("xdmf_1_16")
    +    ChangeActivePlotsVar("Wedge/Node Centered Values")
    +    Test("xdmf_1_17")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"BasicTopology.xmf"))
    +
    +def test2(datapath):
    +    TestSection("Mixed (no hdf5)")
    +    # Open the mixed topology file
    +    OpenDatabase(pjoin(datapath,"Mixed.xmf"))
    +    DeleteAllPlots()
    +    AddPlot("Mesh", "Mixed")
    +    m = MeshAttributes()
    +    m.legendFlag = 1
    +    m.lineWidth = 1
    +    m.meshColor = (255, 0, 0, 255)
    +    m.meshColorSource = m.MeshCustom  # Foreground, MeshCustom
    +    m.opaqueColorSource = m.OpaqueCustom  # Background, OpaqueCustom
    +    m.opaqueMode = m.Auto  # Auto, On, Off
    +    m.pointSize = 0.05
    +    m.opaqueColor = (192, 192, 192, 255)
    +    m.smoothingLevel = m.NONE  # None, Fast, High
    +    m.pointSizeVarEnabled = 0
    +    m.pointSizeVar = "default"
    +    m.pointType = m.Point  # Box, Axis, Icosahedron, Point, Sphere
    +    m.showInternal = 0
    +    m.pointSizePixels = 2
    +    m.opacity = 1
    +    SetPlotOptions(m)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.611582, 0.210354, 0.762705)
    +    v.focus = (0.5, 0.5, 2)
    +    v.viewUp = (0.145916, 0.97746, -0.15258)
    +    v.viewAngle = 30
    +    v.parallelScale = 2.12132
    +    v.nearPlane = -4.24264
    +    v.farPlane = 4.24264
    +    v.imagePan = (-0.0635688, 0.0486989)
    +    v.imageZoom = 1.17908
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 2)
    +    SetView3D(v)
    +    Test("xdmf_2_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath, "Mixed.xmf"))
    +
    +def test3(datapath):
    +    TestSection("Polygon (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"PolygonOctagon.xmf"))
    +    AddPlot("Mesh", "PolygonOctagon")
    +    DrawPlots()
    +    ResetView()
    +    Test("xdmf_3_00")
    +
    +    AddPlot("Pseudocolor", "CellScalar")
    +    DrawPlots()
    +    Test("xdmf_3_01")
    +
    +    ChangeActivePlotsVar("NodeScalar")
    +    Test("xdmf_3_02")
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"PolygonOctagon.xmf"))
    +
    +def test4(datapath):
    +    TestSection("Quadratic topology (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"QuadraticTopology.xmf"))
    +    AddPlot("Pseudocolor", "Hexahedron_20/Node Centered Values")
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.703184, 0.393286, 0.592333)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.293186, 0.919352, -0.262361)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0.0122989, 0.0367562)
    +    v.imageZoom = 1.02726
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    SetView3D(v)
    +    Test("xdmf_4_00")
    +
    +    ChangeActivePlotsVar("Pyramid_13/Node Centered Values")
    +    Test("xdmf_4_01")
    +
    +    ChangeActivePlotsVar("Quadrilateral_8/Node Centered Values")
    +    Test("xdmf_4_02")
    +
    +    ChangeActivePlotsVar("Tetrahedron_10/Node Centered Values")
    +    Test("xdmf_4_03")
    +
    +    ChangeActivePlotsVar("Triangle_6/Node Centered Values")
    +    Test("xdmf_4_04")
    +
    +    ChangeActivePlotsVar("Wedge_15/Node Centered Values")
    +    Test("xdmf_4_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"QuadraticTopology.xmf"))
    +
    +def test5(datapath):
    +    TestSection("Multiple grids (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"TetrahedronMultipleGrids.xmf"))
    +    AddPlot("Pseudocolor", "Tetrahedron 1/CellScalar")
    +    AddPlot("Pseudocolor", "Tetrahedron 2/CellScalar")
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.0158313, 0.998128, -0.0590748)
    +    v.focus = (0, 0.5, 0)
    +    v.viewUp = (-0.0096669, -0.0592323, -0.998197)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.5
    +    v.nearPlane = -3
    +    v.farPlane = 3
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0.5, 0)
    +    SetView3D(v)
    +
    +    Test("xdmf_5_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"TetrahedronMultipleGrids.xmf"))
    +
    +def test6(datapath):
    +    TestSection("Structured with hdf5")
    +    db = pjoin(datapath,"rect2d.xmf")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Pseudocolor", "Pressure")
    +    DrawPlots()
    +    ResetView()
    +    Test("xdmf_6_00")
    +    ChangeActivePlotsVar("VelocityX")
    +    Test("xdmf_6_01")
    +
    +    db = pjoin(datapath,"corect2d.xmf")
    +    ReplaceDatabase(db)
    +    DrawPlots()
    +    ResetView()
    +    Test("xdmf_6_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    db = pjoin(datapath,"rect3d.xmf")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Pseudocolor", "VelocityZ")
    +    DrawPlots()
    +    ResetView()
    +    Test("xdmf_6_03")
    +
    +    db = pjoin(datapath,"corect3d.xmf")
    +    ReplaceDatabase(db)
    +    DrawPlots()
    +    ResetView()
    +    Test("xdmf_6_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    db = pjoin(datapath,"xdmf2d.xmf")
    +    OpenDatabase(db)
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Pseudocolor", "Pressure")
    +    DrawPlots()
    +    Test("xdmf_6_05")
    +
    +    ChangeActivePlotsVar("VelocityX")
    +    Test("xdmf_6_06")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test7(datapath):
    +    TestSection("Quadratic topology (no hdf5)")
    +    OpenDatabase(pjoin(datapath,"singleHex24.xmf"))
    +    AddPlot("Mesh", "singleHex24")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.690415, 0.541158, 0.480078)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.123212, -0.565967, 0.815169)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.73205
    +    v.nearPlane = -3.4641
    +    v.farPlane = 3.4641
    +    v.imagePan = (0, 0.0352717)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Test("xdmf_7_00")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleHex24.xmf"))
    +
    +    OpenDatabase(pjoin(datapath,"singleHex27.xmf"))
    +    AddPlot("Mesh", "singleHex27")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +
    +    Test("xdmf_7_01")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleHex27.xmf"))
    +
    +    OpenDatabase(pjoin(datapath,"singleQuad6.xmf"))
    +    AddPlot("Mesh", "singleQuad6")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +
    +    Test("xdmf_7_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleQuad6.xmf"))
    +
    +    OpenDatabase(pjoin(datapath,"singleQuad9.xmf"))
    +    AddPlot("Mesh", "singleQuad9")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +
    +    Test("xdmf_7_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleQuad9.xmf"))
    +
    +    OpenDatabase(pjoin(datapath,"singleTri7.xmf"))
    +    AddPlot("Mesh", "singleTri7")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +
    +    Test("xdmf_7_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath, "singleTri7.xmf"))
    +
    +    OpenDatabase(pjoin(datapath, "singleWedge12.xmf"))
    +    AddPlot("Mesh", "singleWedge12")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (0.69918, -0.142559, 0.700588)
    +    v.focus = (0, 0, 0.5)
    +    v.viewUp = (-0.216074, 0.89196, 0.397139)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.5
    +    v.nearPlane = -3
    +    v.farPlane = 3
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Test("xdmf_7_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleWedge12.xmf"))
    +
    +    OpenDatabase(pjoin(datapath,"singleWedge18.xmf"))
    +    AddPlot("Mesh", "singleWedge18")
    +    AddPlot("Pseudocolor", "GlobalNodeId")
    +    DrawPlots()
    +
    +    Test("xdmf_7_06")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(pjoin(datapath,"singleWedge18.xmf"))
    +
    +def main():
    +    datapath = data_path("xdmf_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +    test2(datapath)
    +    test3(datapath)
    +    test4(datapath)
    +    test5(datapath)
    +
    +    test6(datapath)
    +    test7(datapath)
    +
    +main()
    +Exit()
    +
    +
    +#fails:
    +# rect2d.xmf
    +#              Crashes the engine cuz we don't give a Z coordinate
    +#
    +# corect2d.xml 
    +#              I can plot the mesh but it is in the YZ plane, which doesn't seem right.
    +#              Does not expose Pressure or VelocityX.
    +#              
    +# rect3d.xmf
    +#              Only exposes VelocityZ (where is Pressure?)
    +#
    +# corect3d.xmf
    +#              Does not expose Pressure or VelocityZ
    +
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_xform_precision.html b/2023-11-08-22:00/pascal_trunk_serial/databases_xform_precision.html new file mode 100644 index 000000000..f8ae10a39 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_xform_precision.html @@ -0,0 +1,72 @@ + +Results for databases/xform_precision.py + +

    Results of VisIt Regression Test - databases/xform_precision

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    float_xform_010.000.00
    float_xform_020.000.00
    float_xform_030.000.00
    float_xform_040.000.00
    float_xform_050.000.00
    float_xform_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_xform_precision_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_xform_precision_py.html new file mode 100644 index 000000000..8d8f6f4b0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_xform_precision_py.html @@ -0,0 +1,86 @@ +databases/xform_precision.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  xform_precision.py 
    +#
    +#  Tests:      Transform manager's conversion to float 
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       September 24, 2006 
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("quad_disk.silo"))
    +
    +
    +#
    +# Turn off force single precision for this test
    +#
    +readOptions=GetDefaultFileOpenOptions("Silo")
    +readOptions["Force Single"] = 0
    +SetDefaultFileOpenOptions("Silo", readOptions)
    +
    +#
    +# Test ordinary float data (no conversion) first
    +#
    +AddPlot("Mesh","mesh")
    +DrawPlots()
    +Test("float_xform_01")
    +DeleteAllPlots()
    +
    +#
    +# Ok, now read a mesh with double coords
    +#
    +AddPlot("Mesh","meshD")
    +DrawPlots()
    +Test("float_xform_02")
    +DeleteAllPlots()
    +
    +CloseDatabase(silo_data_path("quad_disk.silo"))
    +OpenDatabase(silo_data_path("quad_disk.silo"))
    +
    +
    +#
    +# test float data on a float mesh
    +#
    +AddPlot("Pseudocolor","sphElev_on_mesh")
    +DrawPlots()
    +Test("float_xform_03")
    +DeleteAllPlots()
    +
    +#
    +# test float data on a double mesh
    +#
    +AddPlot("Pseudocolor","sphElev_on_meshD")
    +DrawPlots()
    +Test("float_xform_04")
    +DeleteAllPlots()
    +
    +#
    +# test double data on a float mesh
    +#
    +AddPlot("Pseudocolor","sphElevD_on_mesh")
    +DrawPlots()
    +Test("float_xform_05")
    +DeleteAllPlots()
    +
    +CloseDatabase(silo_data_path("quad_disk.silo"))
    +
    +OpenDatabase(silo_data_path("quad_disk.silo"))
    +
    +
    +#
    +# test double data on a double mesh
    +#
    +AddPlot("Pseudocolor","sphElevD_on_meshD")
    +DrawPlots()
    +Test("float_xform_06")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_xyz.html b/2023-11-08-22:00/pascal_trunk_serial/databases_xyz.html new file mode 100644 index 000000000..c27663554 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_xyz.html @@ -0,0 +1,76 @@ + +Results for databases/xyz.py + +

    Results of VisIt Regression Test - databases/xyz

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    xyz_010.000.00
    xyz_020.000.00
    xyz_030.000.00
    xyz_040.000.00
    xyz_050.000.00
    xyz_060.000.00
    xyz_070 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_xyz_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_xyz_py.html new file mode 100644 index 000000000..3ae263a47 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_xyz_py.html @@ -0,0 +1,81 @@ +databases/xyz.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  xyz.py
    +#
    +#  Tests:      mesh      - 3D Points
    +#              plots     - Molecule
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       June 14, 2007
    +#
    +#  Modifications:
    +#    Eddie Rusu, Mon Aug 26 08:46:44 PDT 2019
    +#    Added test for cell-centered non VTK_VERTEX points.
    +#
    +#    Kathleen Biagas, Mon Jun 21 09:41:41 PDT 2021
    +#    Added 'DeleteAllPlots' before 'CloseDatabase'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def test_xyz_ascii_output(data_base_name, var, test_output):
    +    OpenDatabase(silo_data_path(data_base_name))
    +    AddPlot("Pseudocolor", var, 1, 1)
    +    DrawPlots()
    +
    +    # Export results to database
    +    e = ExportDBAttributes()
    +    e.db_type = "XYZ"
    +    e.filename = "test_ex_db"
    +    ExportDatabase(e)
    +    time.sleep(1)
    +
    +    # Stream the ascii text in from the exported database
    +    file_streamer = open(e.filename+'.xyz', 'r')
    +    string_to_test = file_streamer.read()
    +    file_streamer.close()
    +
    +    # Test the string
    +    TestText(test_output, string_to_test)
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path(data_base_name))
    +
    +
    +
    +# Starting point in this script
    +OpenDatabase(data_path("xyz_test_data/nanowireTB23K298.xyz"),0, "XYZ_1.0")
    +
    +AddPlot("Molecule", "element")
    +DrawPlots()
    +
    +View3DAtts = GetView3D()
    +View3DAtts.viewNormal = (-0.882253, 0.0562832, 0.467398)
    +View3DAtts.focus = (26.3509, 22.1853, 31.5426)
    +View3DAtts.viewUp = (-0.0613441, 0.970619, -0.232672)
    +View3DAtts.viewAngle = 30
    +SetView3D(View3DAtts)
    +
    +Test("xyz_01")
    +TimeSliderNextState()
    +Test("xyz_02")
    +TimeSliderNextState()
    +Test("xyz_03")
    +TimeSliderNextState()
    +Test("xyz_04")
    +TimeSliderNextState()
    +Test("xyz_05")
    +TimeSliderNextState()
    +Test("xyz_06")
    +DeleteAllPlots()
    +CloseDatabase(data_path("xyz_test_data/nanowireTB23K298.xyz"))
    +
    +# Test case where XYZ writer is cell-centered VTK_VERTEX data
    +# In this case, the baseline text is generated from the point-centered data.
    +DefineScalarExpression("vz2", 'recenter(vz, "zonal")')
    +test_xyz_ascii_output('galaxy0000.silo', 'vz2', 'xyz_07')
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_zipwrapper.html b/2023-11-08-22:00/pascal_trunk_serial/databases_zipwrapper.html new file mode 100644 index 000000000..ee83f43e5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_zipwrapper.html @@ -0,0 +1,78 @@ + +Results for databases/zipwrapper.py + +

    Results of VisIt Regression Test - databases/zipwrapper

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ZipWrapper_010.000.00
    ZipWrapper_020.000.00
    ZipWrapper_030.000.00
    ZipWrapper_040.000.00
    ZipWrapper_050.000.00
    ZipWrapper_060.000.00
    ZipWrapper_070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/databases_zipwrapper_py.html b/2023-11-08-22:00/pascal_trunk_serial/databases_zipwrapper_py.html new file mode 100644 index 000000000..033193fb2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/databases_zipwrapper_py.html @@ -0,0 +1,90 @@ +databases/zipwrapper.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  zipwrapper.py 
    +#
    +#  Tests:      STSD operation (STL) 
    +#              STMD operation (Silo)
    +#              .visit file and .* database
    +#              Operation over time
    +#              Cache pre-emption works correctly 
    +#              Various plots/SIL Restrictions
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       August 7, 2007 
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Wed Jun 27 12:25:12 PDT 2012
    +#    Adjusted to use STL as STSD test because VTK was changed from STSD
    +#    to STMD. Removed code to generate test data because the test data is
    +#    now stored as zipwrapper_test_data.tar.gz 
    +#
    +#    Kathleen Biagas, Fri Oct 9, 2020
    +#    Changed how the virtual database is opened (remove .gz).
    +#
    +#    Kathleen Biagas, Fri Mar 12, 2021
    +#    Close sphere.2d.hdf5.gz to prevent HDF5 error message.
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Ok, before we start processing any compressed files, set
    +# ZipWrapper default read options 
    +#
    +OpenMDServer("localhost")
    +readOptions=GetDefaultFileOpenOptions("ZipWrapper")
    +readOptions["Max. # decompressed files"] = 10
    +SetDefaultFileOpenOptions("ZipWrapper", readOptions)
    +
    +
    +# Test 36 block STL (only 10 files decompressed at any one time)
    +OpenDatabase(data_path("zipwrapper_test_data/multi_ucd.visit"))
    +
    +AddPlot("Pseudocolor","mesh_quality/condition")
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal=(-0.5, 0.296198, 0.813798)
    +SetView3D(v)
    +Test("ZipWrapper_01")
    +DeleteAllPlots()
    +CloseDatabase(data_path("zipwrapper_test_data/multi_ucd.visit"))
    +
    +OpenDatabase(data_path("zipwrapper_test_data/histz_*.silo database"), 3)
    +
    +AddPlot("Pseudocolor","d_dup")
    +DrawPlots()
    +v=GetView3D()
    +v.viewNormal=(-0.5, 0.296198, 0.813798)
    +SetView3D(v)
    +Test("ZipWrapper_02")
    +TimeSliderNextState()
    +TimeSliderNextState()
    +Test("ZipWrapper_03")
    +TimeSliderSetState(0)
    +Test("ZipWrapper_04")
    +TimeSliderNextState()
    +Test("ZipWrapper_05")
    +DeleteAllPlots()
    +
    +AddPlot("FilledBoundary","mat1")
    +DrawPlots()
    +silr=SILRestriction()
    +silr.TurnOffSet(silr.SetsInCategory("mat1")[0])
    +SetPlotSILRestriction(silr)
    +Test("ZipWrapper_06")
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("zipwrapper_test_data/sphere.2d.hdf5.gz"))
    +
    +AddPlot("FilledBoundary","materials")
    +DrawPlots()
    +Test("ZipWrapper_07")
    +DeleteAllPlots()
    +CloseDatabase(data_path("zipwrapper_test_data/sphere.2d.hdf5.gz"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/expressions_ghost_zoneid_expr.html b/2023-11-08-22:00/pascal_trunk_serial/expressions_ghost_zoneid_expr.html new file mode 100644 index 000000000..6d6136c2a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/expressions_ghost_zoneid_expr.html @@ -0,0 +1,58 @@ + +Results for expressions/ghost_zoneid_expr.py + +

    Results of VisIt Regression Test - expressions/ghost_zoneid_expr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Ghost Zone ID Expression
    Minimum Field Value
     0.0 .eq. 0.0 (prec=5) : True
    Maximum Field Value
     0.0 .eq. 0.0 (prec=5) : True
    Ghost Zone ID Expression w/ Inverse Ghost Zones Debugging
    Minimum Field Value
     1.0 .eq. 1.0 (prec=5) : True
    Maximum Field Value
     1.0 .eq. 1.0 (prec=5) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/expressions_ghost_zoneid_expr_py.html b/2023-11-08-22:00/pascal_trunk_serial/expressions_ghost_zoneid_expr_py.html new file mode 100644 index 000000000..e8401e4b9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/expressions_ghost_zoneid_expr_py.html @@ -0,0 +1,46 @@ +expressions/ghost_zoneid_expr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ghost_zoneid_expr.py
    +#
    +#  Tests:      Ghost Zone Id Expression
    +#
    +#  Programmer: Justin Privitera
    +#  Date:       Wed Apr 6 15:03:47 PDT 2022
    +#
    +# ----------------------------------------------------------------------------
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +meshName = "mesh1"
    +
    +#
    +# Set precision for rounding operations
    +#
    +Prec = 5
    +
    +TestSection("Ghost Zone ID Expression")
    +
    +AddPlot("Pseudocolor", "d")
    +DefineScalarExpression("ghostzonevar", "ghost_zoneid(" + meshName + ")")
    +AddPlot("Pseudocolor", "ghostzonevar")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("Minimum Field Value", q['min'], 0.0, Prec)
    +TestValueEQ("Maximum Field Value", q['max'], 0.0, Prec)
    +DeleteAllPlots()
    +
    +TestSection("Ghost Zone ID Expression w/ Inverse Ghost Zones Debugging")
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("InverseGhostZone", 1)
    +DefineScalarExpression("ghostzonevar", "ghost_zoneid(" + meshName + ")")
    +ChangeActivePlotsVar("ghostzonevar")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("Minimum Field Value", q['min'], 1.0, Prec)
    +TestValueEQ("Maximum Field Value", q['max'], 1.0, Prec)
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/expressions_tensor_expr.html b/2023-11-08-22:00/pascal_trunk_serial/expressions_tensor_expr.html new file mode 100644 index 000000000..ba9d7abcd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/expressions_tensor_expr.html @@ -0,0 +1,194 @@ + +Results for expressions/tensor_expr.py + +

    Results of VisIt Regression Test - expressions/tensor_expr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    2D Tensor Maximum Shear
    Maximum Shear 2D
     46.097721099853516 .eq. 46.09772 (prec=5) : True
    Maximum Shear 2D
     46.097721099853516 .eq. 46.09772 (prec=5) : True
    3D Tensor Maximum Shear
    Maximum Shear 3D
     12.5 .eq. 12.5 (prec=5) : True
    Maximum Shear 3D
     12.5 .eq. 12.5 (prec=5) : True
    2D Effective Tensor
    2D Effective Tensor
     81.24038696289062 .eq. 81.24039 (prec=5) : True
    2D Effective Tensor
     81.24038696289062 .eq. 81.24039 (prec=5) : True
    3D Effective Tensor
    Effective Tensor
     13.076696395874023 .eq. 13.0767 (prec=5) : True
    Effective Tensor
     13.076696395874023 .eq. 13.0767 (prec=5) : True
    3D, Symmetric Eigenvalues and Eigenvectors
    First Eigenvalue of 2
     2 .in. 
    [3.4142136573791504, 2.0, 0.5857864618301392]
     (prec=5, at=1) : True
    Second Eigenvalue of 2+sqrt(2)
     3.414213562373095 .in. 
    [3.4142136573791504, 2.0, 0.5857864618301392]
     (prec=5, at=0) : True
    Third Eigenvalue of 2-sqrt(2)
     0.5857864376269049 .in. 
    [3.4142136573791504, 2.0, 0.5857864618301392]
     (prec=5, at=2) : True
    First Eigenvector of (1,0,-1)
     (1, 0, -1) .in. 
    [[0.5, -0.70711, 0.5],
      [0.70711, 0.0, -0.70711],
      [0.5, 0.70711, 0.5]]
     (prec=5, at=1) : True
    Second Eigenvector of (1,-sqrt(2),1)
     (1, -1.4142135623730951, 1) .in. 
    [[0.5, -0.70711, 0.5],
      [0.70711, 0.0, -0.70711],
      [0.5, 0.70711, 0.5]]
     (prec=5, at=0) : True
    Third Eigenvector of (1,sqrt(2),1)
     (1, 1.4142135623730951, 1) .in. 
    [[0.5, -0.70711, 0.5],
      [0.70711, 0.0, -0.70711],
      [0.5, 0.70711, 0.5]]
     (prec=5, at=2) : True
    3D, Symmetric Eigenvalues and Eigenvectors with Repeated values
    First Eigenvalue of -1
     -1 .in. 
    [8.0, -1.0, -1.0]
     (prec=5, at=1) : True
    Second Eigenvalue of -1
     -1 .in. 
    [8.0, -1.0]
     (prec=5, at=1) : True
    Third Eigenvalue of 8
     8 .in. 
    [8.0, -1.0]
     (prec=5, at=0) : True
    First Eigenvector of (1,-2,0)
     (1, -2, 0) .in. 
    [[0.666667, 0.333333, 0.666667],
      [0.596285, 0.298142, -0.745356],
      [-0.447214, 0.894427, 0.0]]
     (prec=5, at=2) : True
    Second Eigenvector of (4,2,-5)
     (4, 2, -5) .in. 
    [[0.666667, 0.333333, 0.666667],
      [0.596285, 0.298142, -0.745356],
      [-0.447214, 0.894427, 0.0]]
     (prec=5, at=1) : True
    Third Eigenvector of (2,1,2)
     (2, 1, 2) .in. 
    [[0.666667, 0.333333, 0.666667],
      [0.596285, 0.298142, -0.745356],
      [-0.447214, 0.894427, 0.0]]
     (prec=5, at=0) : True
    Cross Principal Stresses and Eigenvalues
    First principal component is first eigenvalue
     -1 .in. 
    [8.0, -1.0, -1.0]
     (prec=5, at=1) : True
    Second principal component is second eigenvalue
     -1 .in. 
    [8.0, -1.0]
     (prec=5, at=1) : True
    Third principal component is third eigenvalue
     8 .in. 
    [8.0, -1.0]
     (prec=5, at=0) : True
    2D, Symmetric Eigenvalues and Eigenvectors
    First Eigenvalue of -1
     -1 .in. 
    [5.0, 0.0, -1.0]
     (prec=5, at=2) : True
    Second Eigenvalue of 5
     5 .in. 
    [5.0, 0.0, -1.0]
     (prec=5, at=0) : True
    First Eigenvector of (1,-1)
     (1, -1) .in. 
    [[0.70711, 0.70711, 0.0],
      [0.70711, -0.70711, 0.0]]
     (prec=5, at=1) : True
    Second Eigenvector of (1,1)
     (1, 1) .in. 
    [[0.70711, 0.70711, 0.0],
      [0.70711, -0.70711, 0.0]]
     (prec=5, at=0) : True
    3D, Complex Eigenvalues and Eigenvectors
    First Eigenvalue of 2
     2 .in. 
    [2.0, 1.4000000953674316, 0.19999998807907104]
     (prec=5, at=0) : True
    Second Eigenvalue of (4+3i)/5
     1.4 .in. 
    [2.0, 1.4000000953674316, 0.19999998807907104]
     (prec=5, at=1) : True
    Third Eigenvalue of (4-3i)/5
     0.2 .in. 
    [2.0, 1.4000000953674316, 0.19999998807907104]
     (prec=5, at=2) : True
    First Eigenvector of (0,0,1)
     (0, 0, 1) .in. 
    [[0.0, 0.0, 1.0],
      [0.70711, -0.70711, 0.0],
      [0.70711, 0.70711, 0.0]]
     (prec=5, at=0) : True
    Cross Check Deviatoric and Principal Stresses
    Principal deviatoric and principal-tr()/3 agree
     [6.0, -3.0, -3.0] .eq. [6.0, -3.0, -3.0]
     (prec=5) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/expressions_tensor_expr_py.html b/2023-11-08-22:00/pascal_trunk_serial/expressions_tensor_expr_py.html new file mode 100644 index 000000000..cbccf33f2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/expressions_tensor_expr_py.html @@ -0,0 +1,262 @@ +expressions/tensor_expr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  tensor_expr.py
    +#
    +#  Tests:      tensor expressions using simple, constant valued tensors for
    +#              which answers are known. The known answers were obtained by
    +#              scouring the internet for example problems that were worked.
    +#
    +#  Mark C. Miller, Mon Nov 11 14:52:02 PST 2019
    +#
    +# ----------------------------------------------------------------------------
    +import math, re
    +
    +#
    +# Scans a string for possible python iterables, builds a list of them
    +# and returns them with their values rounded to specific numbers of
    +# digits.
    +#
    +def ExtractIterablesFromString(s,pair='()',rnd=4):
    +    retval = []
    +    for q in s.split(pair[0]):
    +        for r in q.split(pair[1]):
    +            if re.match('^[ 0-9eE.,+-]+$', r):
    +                retval.append([round(float(x),rnd) for x in r.split(',')])
    +    return retval
    +
    +def EqualEigVecs(a,b):
    +    r = []
    +    for i in range(len(b)):
    +        if b[i] != 0:
    +            r.append(float(a[i])/float(b[i]))
    +    if min(r) == 0:
    +        return max(r) < pow(10,-Prec+1)
    +    else:
    +        return abs((max(r)/min(r))-1) < pow(10,-Prec+1)
    +
    +#
    +# Creates a group of related expressions; 9 constant scalar expressions and
    +# from them a constant tensor expression with specified centering all in a
    +# sub-menu with of the given name. For 2D meshes, you would still create a
    +# 9 component (3x3) tensor but the z-dimension values would all be zeros.
    +#
    +def CreateConstantTensorExpr(name, meshName, constType, vals):
    +    comps = ("s11","s12","s13","s21","s22","s23","s31","s32","s33")
    +    for i in range(len(vals)):
    +        DefineScalarExpression("%s/%s"%(name,comps[i]),\
    +            "%s_constant(<%s>, %g)"%(constType,meshName,vals[i]))
    +    DefineTensorExpression("%s/tensor"%name,
    +        "{{<%s/s11>,<%s/s12>,<%s/s13>},\
    +          {<%s/s21>,<%s/s22>,<%s/s23>},\
    +          {<%s/s31>,<%s/s32>,<%s/s33>}}"%(name, name, name, name,\
    +              name, name, name, name, name))
    +
    +#
    +# Set precision for rounding operations
    +#
    +Prec = 5
    +
    +#  Since we use the expression system to construct mesh-wide constant values,
    +#  all we need as far as a database is a simple, small mesh. Maybe for both
    +#  two and three dimensions.
    +OpenDatabase(silo_data_path("arbpoly.silo"))
    +meshName = "clipped_hex"
    +
    +TestSection("2D Tensor Maximum Shear")
    +CreateConstantTensorExpr("max_shear_2d", meshName, "nodal",\
    +   (50,  30,   0,\
    +    30, -20,   0,\
    +     0,   0,   0))
    +DefineScalarExpression("max_shear_2d/result", "tensor_maximum_shear(<max_shear_2d/tensor>)")
    +AddPlot("Pseudocolor", "max_shear_2d/result")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("Maximum Shear 2D", q['min'], 46.09772, Prec)
    +TestValueEQ("Maximum Shear 2D", q['max'], 46.09772, Prec)
    +DeleteAllPlots()
    +
    +TestSection("3D Tensor Maximum Shear")
    +CreateConstantTensorExpr("max_shear", meshName, "nodal",\
    +   (5,   0,   0,\
    +    0,  -6, -12,\
    +    0, -12,   1))
    +DefineScalarExpression("max_shear/result", "tensor_maximum_shear(<max_shear/tensor>)")
    +AddPlot("Pseudocolor", "max_shear/result")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("Maximum Shear 3D", q['min'], 12.5, Prec)
    +TestValueEQ("Maximum Shear 3D", q['max'], 12.5, Prec)
    +DeleteAllPlots()
    +
    +TestSection("2D Effective Tensor")
    +CreateConstantTensorExpr("eff_tensor_2d", meshName, "nodal",\
    +   (50,  30,   0,\
    +    30, -20,   0,\
    +     0,   0,   0))
    +DefineScalarExpression("eff_tensor_2d/result", "effective_tensor(<eff_tensor_2d/tensor>)")
    +AddPlot("Pseudocolor", "eff_tensor_2d/result")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("2D Effective Tensor", q['min'], 81.24039, Prec)
    +TestValueEQ("2D Effective Tensor", q['max'], 81.24039, Prec)
    +DeleteAllPlots()
    +
    +TestSection("3D Effective Tensor")
    +CreateConstantTensorExpr("eff_tensor", meshName, "nodal",\
    +   (2,  -3,   4,\
    +   -3,  -5,   1,\
    +    4,   1,   6))
    +DefineScalarExpression("eff_tensor/result", "effective_tensor(<eff_tensor/tensor>)")
    +AddPlot("Pseudocolor", "eff_tensor/result")
    +DrawPlots()
    +Query("MinMax")
    +q = GetQueryOutputObject()
    +TestValueEQ("Effective Tensor", q['min'], 13.0767, Prec)
    +TestValueEQ("Effective Tensor", q['max'], 13.0767, Prec)
    +DeleteAllPlots()
    +
    +TestSection("3D, Symmetric Eigenvalues and Eigenvectors")
    +CreateConstantTensorExpr("eigvals_symm2", meshName, "nodal",\
    +    (2, -1,  0,\
    +    -1,  2, -1,\
    +     0, -1,  2))
    +DefineVectorExpression("eigvals_symm2/result", "eigenvalue(<eigvals_symm2/tensor>)")
    +AddPlot("Vector", "eigvals_symm2/result")
    +DrawPlots()
    +p = PickByNode(0,('eigvals_symm2/result',))
    +eigvals = list(p['eigvals_symm2/result'])
    +TestValueIN("First Eigenvalue of 2", eigvals, 2, Prec)
    +TestValueIN("Second Eigenvalue of 2+sqrt(2)", eigvals, 2+math.sqrt(2), Prec)
    +TestValueIN("Third Eigenvalue of 2-sqrt(2)",  eigvals, 2-math.sqrt(2), Prec)
    +DeleteAllPlots()
    +DefineTensorExpression("eigvals_symm2/result2", "transpose(eigenvector(<eigvals_symm2/tensor>))")
    +AddPlot("Tensor", "eigvals_symm2/result2")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +vecs = ExtractIterablesFromString(s, '()', Prec)
    +TestValueIN("First Eigenvector of (1,0,-1)", vecs, (1,0,-1), Prec, EqualEigVecs)
    +TestValueIN("Second Eigenvector of (1,-sqrt(2),1)", vecs, (1,-math.sqrt(2),1), Prec, EqualEigVecs)
    +TestValueIN("Third Eigenvector of (1,sqrt(2),1)", vecs, (1,math.sqrt(2),1), Prec, EqualEigVecs)
    +
    +TestSection("3D, Symmetric Eigenvalues and Eigenvectors with Repeated values")
    +CreateConstantTensorExpr("eigvals_symm", meshName, "nodal",\
    +    (3,2,4,\
    +     2,0,2,\
    +     4,2,3))
    +DefineVectorExpression("eigvals_symm/result", "eigenvalue(<eigvals_symm/tensor>)")
    +AddPlot("Vector", "eigvals_symm/result")
    +DrawPlots()
    +p = PickByNode(0)
    +eigvals = list(p['eigvals_symm/result'])
    +TestValueIN("First Eigenvalue of -1", eigvals, -1, Prec)
    +eigvals.remove(-1)
    +TestValueIN("Second Eigenvalue of -1", eigvals, -1, Prec)
    +TestValueIN("Third Eigenvalue of 8", eigvals, 8, Prec)
    +DeleteAllPlots()
    +DefineTensorExpression("eigvals_symm/result2", "transpose(eigenvector(<eigvals_symm/tensor>))")
    +AddPlot("Tensor", "eigvals_symm/result2")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +vecs = ExtractIterablesFromString(s, '()', Prec+1)
    +TestValueIN("First Eigenvector of (1,-2,0)", vecs, (1,-2,0), Prec, EqualEigVecs)
    +TestValueIN("Second Eigenvector of (4,2,-5)", vecs, (4,2,-5), Prec, EqualEigVecs)
    +TestValueIN("Third Eigenvector of (2,1,2)", vecs, (2,1,2), Prec, EqualEigVecs)
    +DeleteAllPlots()
    +
    +# Confirm principal_tensor function gives same result as above
    +TestSection("Cross Principal Stresses and Eigenvalues")
    +DefineVectorExpression("pcomps_symm/result", "principal_tensor(<eigvals_symm/tensor>)")
    +AddPlot("Vector", "pcomps_symm/result")
    +DrawPlots()
    +p = PickByNode(0)
    +pcomps = list(p['pcomps_symm/result'])
    +TestValueIN("First principal component is first eigenvalue", pcomps, -1, Prec)
    +pcomps.remove(-1) # elim the first of the expected two -1 eigvals
    +TestValueIN("Second principal component is second eigenvalue", pcomps, -1, Prec)
    +TestValueIN("Third principal component is third eigenvalue", pcomps, 8, Prec)
    +
    +TestSection("2D, Symmetric Eigenvalues and Eigenvectors")
    +CreateConstantTensorExpr("eigvals_symm_2d", meshName, "nodal",\
    +    (2,  3,  0,\
    +     3,  2,  0,\
    +     0,  0,  0))
    +DefineVectorExpression("eigvals_symm_2d/result", "eigenvalue(<eigvals_symm_2d/tensor>)")
    +AddPlot("Vector", "eigvals_symm_2d/result")
    +DrawPlots()
    +p = PickByNode(0,('eigvals_symm_2d/result',))
    +eigvals = list(p['eigvals_symm_2d/result'])
    +TestValueIN("First Eigenvalue of -1", eigvals, -1, Prec)
    +TestValueIN("Second Eigenvalue of 5", eigvals, 5, Prec)
    +DeleteAllPlots()
    +DefineTensorExpression("eigvals_symm_2d/result2", "transpose(eigenvector(<eigvals_symm_2d/tensor>))")
    +AddPlot("Tensor", "eigvals_symm_2d/result2")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +vecs = ExtractIterablesFromString(s, '()', Prec)
    +vecs.remove([0,0,1]) # we have to take out the Z eigenvector
    +TestValueIN("First Eigenvector of (1,-1)", vecs, (1,-1), Prec, EqualEigVecs)
    +TestValueIN("Second Eigenvector of (1,1)", vecs, (1,1), Prec, EqualEigVecs)
    +
    +#
    +# Test a case where eigenvalues are complex (e.g. imaginary)
    +# The real eigenvalues are 2, (4+3i)/5, (4-3i)/5 but what you
    +# get from VisIt is 2, 7/5, 1/5 (as though i==1 in the above).
    +#
    +TestSection("3D, Complex Eigenvalues and Eigenvectors")
    +CreateConstantTensorExpr("eigvals_complex", meshName, "nodal",\
    +    (4.0/5.0, -3.0/5.0,     0,\
    +     3.0/5.0,  4.0/5.0,     0,\
    +        1,        2,        2))
    +DefineVectorExpression("eigvals_complex/result", "eigenvalue(<eigvals_complex/tensor>)")
    +AddPlot("Vector", "eigvals_complex/result")
    +DrawPlots()
    +p = PickByNode(0)
    +eigvals = list(p['eigvals_complex/result'])
    +TestValueIN("First Eigenvalue of 2", eigvals, 2, Prec)
    +TestValueIN("Second Eigenvalue of (4+3i)/5", eigvals, float(4+3)/5.0, Prec)
    +TestValueIN("Third Eigenvalue of (4-3i)/5", eigvals, float(4-3)/5.0, Prec)
    +DeleteAllPlots()
    +DefineTensorExpression("eigvals_complex/result2", "transpose(eigenvector(<eigvals_complex/tensor>))")
    +AddPlot("Tensor", "eigvals_complex/result2")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +vecs = ExtractIterablesFromString(s, '()', Prec)
    +TestValueIN("First Eigenvector of (0,0,1)", vecs, (0,0,1), Prec, EqualEigVecs)
    +DeleteAllPlots()
    +
    +# Re-use eigvals_symm here
    +TestSection("Cross Check Deviatoric and Principal Stresses")
    +DefineVectorExpression("eigvals_symm/dev", "principal_deviatoric_tensor(<eigvals_symm/tensor>)")
    +AddPlot("Vector", "eigvals_symm/dev")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +dev_vec = ExtractIterablesFromString(s, '()', Prec)
    +DeleteAllPlots()
    +DefineScalarExpression("eigvals_symm/tr3", "trace(<eigvals_symm/tensor>)/3.0")
    +DefineTensorExpression("eigvals_symm/tensor3",\
    +"""
    +    {{<eigvals_symm/tensor>[0][0]-<eigvals_symm/tr3>, <eigvals_symm/tensor>[0][1], <eigvals_symm/tensor>[0][2]},
    +     {<eigvals_symm/tensor>[1][0], <eigvals_symm/tensor>[1][1]-<eigvals_symm/tr3>, <eigvals_symm/tensor>[1][2]},
    +     {<eigvals_symm/tensor>[2][0], <eigvals_symm/tensor>[2][1], <eigvals_symm/tensor>[2][2]-<eigvals_symm/tr3>}}
    +"""
    +)
    +DefineVectorExpression("eigvals_symm/dev2", "principal_tensor(<eigvals_symm/tensor3>)")
    +AddPlot("Vector", "eigvals_symm/dev2")
    +DrawPlots()
    +PickByNode(0)
    +s = GetPickOutput()
    +dev2_vec = ExtractIterablesFromString(s, '()', Prec)
    +DeleteAllPlots()
    +TestValueEQ("Principal deviatoric and principal-tr()/3 agree", dev_vec[0], dev2_vec[0])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_badfile.html b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_badfile.html new file mode 100644 index 000000000..6ef0959d0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_badfile.html @@ -0,0 +1,40 @@ + +Results for faulttolerance/badfile.py + +

    Results of VisIt Regression Test - faulttolerance/badfile

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    badfile_020 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_badfile_py.html b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_badfile_py.html new file mode 100644 index 000000000..92c304d98 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_badfile_py.html @@ -0,0 +1,34 @@ +faulttolerance/badfile.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Tests: The quality of the error message being produced when opening a bad
    +#         file.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 12, 2007
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +
    +TurnOnAllAnnotations()
    +
    +# Make zero-length Silo file.  The Silo reader is smart enough to not
    +# crash, which means we can test the normal error message.
    +f = open("junk.silo", "w")
    +f.close()
    +OpenDatabase("junk.silo")
    +e = GetLastError()
    +#TestText("badfile_01", e)
    +
    +# Make zero-length VTK file.  The VTK reader crashes in this case.  If the
    +# VTK reader is ever improved, then we'll have to locate a reader that
    +# crashes successfully.  (Maybe we'll write one.)
    +f = open("junk.vtk", "w")
    +f.close()
    +OpenDatabase("junk.vtk")
    +e = GetLastError()
    +TestText("badfile_02", e)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_checkmode.html b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_checkmode.html new file mode 100644 index 000000000..f6fab913c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_checkmode.html @@ -0,0 +1,60 @@ + +Results for faulttolerance/checkmode.py + +

    Results of VisIt Regression Test - faulttolerance/checkmode

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    All mode strings compatible
     "True" .eq. "True" : True
    Engine matches mode
     "True" .eq. "True" : True
    Silo data path matches mode
     "True" .eq. "True" : True
    Scalable setting matches mode
     "True" .eq. "True" : True
    Icet clarg matches mode
     "True" .eq. "True" : True
    Allowdynamic clarg matches mode
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_checkmode_py.html b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_checkmode_py.html new file mode 100644 index 000000000..e70076683 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_checkmode_py.html @@ -0,0 +1,111 @@ +faulttolerance/checkmode.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Tests: Ensures VisIt and/or the test harness is in the correct "mode".
    +#
    +#  Mark C. Miller, Mon Sep 28 16:24:44 PDT 2020
    +#
    +# Modifications:
    +#    Mark C. Miller, Mon Jan 11 10:32:17 PST 2021
    +#    Replace AssertTrue() with TestValueEQ(..., True)
    +# ----------------------------------------------------------------------------
    +import json
    +import sys
    +
    +#
    +# Obtain mode info directly from top-level command-line args passed to test
    +# suite harness and stored to "clargs" member of TestEnv.params instead of
    +# using any of the alternative logic in the test harness. This ensures we
    +# compare with actual mode(s) requested on command-line.
    +#
    +def GetModeKeysFromClArgs():
    +    clargs = json.loads(TestEnv.params["clargs"])
    +    for i in range(len(clargs)):
    +        if clargs[i] == '-m':
    +            return clargs[i+1].split(',')
    +        elif clargs[i][0:7] == '--mode=':
    +            return clargs[i][8:].split(',')
    +    return ('serial',)
    +
    +#
    +# Ensure all mode keys are compatible
    +#
    +def AllModeKeysCompatible():
    +    if 'serial' in activeModeKeys and 'parallel' in activeModeKeys:
    +        return False
    +    if 'pdb' in activeModeKeys and 'hdf5' in activeModeKeys:
    +        return False
    +    if 'icet' in activeModeKeys and 'parallel' not in activeModeKeys:
    +        return False
    +    return True
    +
    +#
    +# Check that engine matches the specified mode
    +#
    +def EngineMatchesMode():
    +    pa = GetProcessAttributes("engine")
    +    if 'parallel' in activeModeKeys:
    +        if pa.isParallel:
    +            if len(pa.pids) > 1:
    +                return True
    +    else:
    +        if not pa.isParallel:
    +            if len(pa.pids) == 1:
    +                return True
    +    return False
    +
    +#
    +# Check that Silo data path matches its mode
    +#
    +def SiloDataPathMatchesMode():
    +    if 'pdb' in activeModeKeys:
    +        if 'silo_pdb_test_data' in silo_data_path(''):
    +            return True
    +    else:
    +        if 'silo_hdf5_test_data' in silo_data_path(''):
    +            return True
    +    return False
    +
    +#
    +# Ensure rendering mode matches mode
    +#
    +def ScalableSettingMatchesMode():
    +    ra = GetRenderingAttributes()
    +    if 'scalable' in activeModeKeys:
    +        if ra.scalableActivationMode == ra.Always:
    +            return True
    +    else:
    +        if ra.scalableActivationMode == ra.Never:
    +            return True
    +    return False
    +
    +def IcetClargMatchesMode():
    +    if 'icet' in activeModeKeys and '-icet' not in sys.argv:
    +        return False
    +    if '-icet' in sys.argv and 'icet' not in activeModeKeys:
    +        return False
    +    return True
    +
    +def AllowdynamicClargMatchesMode():
    +    if 'dlb' in activeModeKeys and '-allowdynamic' not in sys.argv:
    +        return False
    +    if '-allowdynamic' in sys.argv and 'dlb' not in activeModeKeys:
    +        return False
    +    return True
    +
    +#
    +# Capture clargs and known mode keys from raw data entries stored
    +# to TestEnv.params. Do this once, now, instead of each time we
    +# need to interrogate their contents in the above functions.
    +#
    +activeModeKeys = GetModeKeysFromClArgs()
    +
    +TestValueEQ("All mode strings compatible", AllModeKeysCompatible(), True)
    +TestValueEQ("Engine matches mode", EngineMatchesMode(), True)
    +TestValueEQ("Silo data path matches mode", SiloDataPathMatchesMode(), True)
    +TestValueEQ("Scalable setting matches mode", ScalableSettingMatchesMode(), True)
    +TestValueEQ("Icet clarg matches mode", IcetClargMatchesMode(), True)
    +TestValueEQ("Allowdynamic clarg matches mode", AllowdynamicClargMatchesMode(), True)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_savewindow.html b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_savewindow.html new file mode 100644 index 000000000..45a0a0783 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_savewindow.html @@ -0,0 +1,40 @@ + +Results for faulttolerance/savewindow.py + +

    Results of VisIt Regression Test - faulttolerance/savewindow

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    SaveWindowEngineCrash0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_savewindow_py.html b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_savewindow_py.html new file mode 100644 index 000000000..6ec76c39e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/faulttolerance_savewindow_py.html @@ -0,0 +1,57 @@ +faulttolerance/savewindow.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Tests: weather or not SaveWindow can result in a python exception
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       March 7, 2006 
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Tue Feb 8, 2022
    +#    Use run_dir as outputDirectory instead of current. It is in the
    +#    testing output directory and is cleaned up on exit.
    +#    Added taskkill for Windows to kill the engine.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +
    +TurnOnAllAnnotations()
    +
    +swa = SaveWindowAttributes()
    +swa.outputToCurrentDirectory = 0
    +swa.outputDirectory = TestEnv.params["run_dir"]
    +SetSaveWindowAttributes(swa)
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor","pressure")
    +DrawPlots()
    +
    +pa = GetProcessAttributes("engine")
    +enginePid = int(pa.pids[0])
    +
    +s = ""
    +
    +for i in range(6):
    +    TimeSliderSetState(i)
    +    if i == 3:
    +        if sys.platform.startswith("win"):
    +            os.system("taskkill.exe /F /PID %d /T"%enginePid)
    +        else:
    +            os.system("kill -9 %d"%enginePid)
    +    try:
    +        SaveWindow()
    +    except Exception as inst:
    +        s = s + "save %d had exception \"%s\"\n"%(i,inst);
    +    else:
    +        s = s + "save %d succeeded\n"%i;
    +
    +TestText("SaveWindowEngineCrash", s)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-a.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-a.html new file mode 100644 index 000000000..291a01b9e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-a.html @@ -0,0 +1,108 @@ + +Results for hybrid/cinema-a.py + +

    Results of VisIt Regression Test - hybrid/cinema-a

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Cinema spec A static camera
    cinema_0_000 modifications totalling 0 lines
    cinema_0_010 modifications totalling 0 lines
    cinema_0_020 modifications totalling 0 lines
    cinema_0_030.000.00
    Cinema spec A phi-theta camera
    cinema_1_000 modifications totalling 0 lines
    cinema_1_010 modifications totalling 0 lines
    cinema_1_020 modifications totalling 0 lines
    cinema_1_030.000.00
    cinema_1_040.000.00
    cinema_1_050.000.00
    cinema_1_060.000.00
    cinema_1_070.000.00
    cinema_1_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-a_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-a_py.html new file mode 100644 index 000000000..32c72d397 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-a_py.html @@ -0,0 +1,214 @@ +hybrid/cinema-a.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cinema-a.py
    +#
    +#  Tests:      Tests various aspects of "visit -cinema".
    +#
    +#  Notes:      
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Feb 15 16:37:20 PST 2018
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Friday December 14, 2018
    +#    Fixes for running on Windows: Use abs_path for short_wave.visit, and cdb,
    +#    use 'repr(db)' when writing script file to preserve '\' escapes.
    +#    Replace forward-slash with back-slash in pattern.
    +#
    +#    Kathleen Biagas, Tue Jun 11 11:44:14 PDT 2019
    +#    Pass '-noconfig' to generated command line in GenerateCinema.
    +#
    +#    Kathleen Biagas, Tue Sep 14 09:51:45 PDT 2021
    +#    Added call to CloseComputeEngine to GenerateCinema method, since the
    +#    cinema script launches its own. Prevents a hang when run in parallel.
    +#
    +#    Kathleen Biagas, Tue Sep 21 17:22:58 PDT 2021
    +#    Removed CloseComputeEngine, it prevented the non-cinema-generation parts
    +#    of the test from running in parallel.  If the nightlies use srun,
    +#    add "--overlap" srun option.  This allows cinema test to succeed in
    +#    parallel with recent changes to slurm.
    +#
    +# ----------------------------------------------------------------------------
    +import os
    +import subprocess
    +
    +def GenerateCinema(cinemaArgs):
    +    args = [TestEnv.params["visit_bin"], "-noconfig", "-cinema"] + cinemaArgs
    +    if TestEnv.params["parallel"]:
    +        args = args + ["-np", "2", "-l", TestEnv.params["parallel_launch"]]
    +        if TestEnv.params["parallel_launch"] == "srun":
    +            args = args + ["-la", "--overlap"]
    +    p = subprocess.check_output(args)
    +    return p
    +
    +def GetFileList(path0):
    +    def gfl(path):
    +        outfiles = []
    +        files = os.listdir(path)
    +        for f in sorted(files):
    +            fpath = os.path.join(path, f)
    +            if os.path.isdir(fpath):
    +                outfiles = outfiles + gfl(fpath)
    +            else:
    +                outfiles = outfiles + [fpath[lpath0+1:]]
    +        return outfiles
    +    lpath0 = len(path0)
    +    return gfl(path0)
    +
    +def ListToString(files):
    +    s = ""
    +    for f in files:
    +        s += f
    +        s += "\n"
    +    return s
    +
    +def GetFile(manyfilenames, filename):
    +    for f in manyfilenames:
    +        if f.find(filename) != -1:
    +            return f
    +    return ""
    +
    +def ReadTextFile(filename):
    +    lines = open(filename, "rt").readlines()
    +    s = ""
    +    for line in lines:
    +        s += line
    +    return s
    +
    +def test0(db):
    +    TestSection("Cinema spec A static camera")
    +    f = open("test0.py", "wt")
    +    f.write("OpenDatabase(%s)\n" % repr(db))
    +    f.write('AddPlot("Pseudocolor", "pressure")\n')
    +    f.write('DrawPlots()\n')
    +    f.write('v = GetView3D()\n')
    +    f.write('v.viewNormal = (-0.569392, 0.672931, 0.472183)\n')
    +    f.write('v.focus = (5, 0.353448, 2.5)\n')
    +    f.write('v.viewUp = (0.562941, 0.737756, -0.372577)\n')
    +    f.write('v.viewAngle = 30\n')
    +    f.write('v.parallelScale = 5.6009\n')
    +    f.write('v.nearPlane = -11.2018\n')
    +    f.write('v.farPlane = 11.2018\n')
    +    f.write('v.imagePan = (0.0431021, 0.0442006)\n')
    +    f.write('v.imageZoom = 1.06444\n')
    +    f.write('v.perspective = 1\n')
    +    f.write('v.eyeAngle = 2\n')
    +    f.write('v.centerOfRotationSet = 0\n')
    +    f.write('v.centerOfRotation = (5, 0.353448, 2.5)\n')
    +    f.write('v.axis3DScaleFlag = 0\n')
    +    f.write('v.axis3DScales = (1, 1, 1)\n')
    +    f.write('v.shear = (0, 0, 1)\n')
    +    f.write('v.windowValid = 1\n')
    +    f.write('SetView3D(v)\n')
    +    f.write('a = GetAnnotationAttributes()\n')
    +    f.write('a.axes3D.visible = 0\n')
    +    f.write('a.axes3D.bboxFlag = 0\n')
    +    f.write('a.axes3D.triadFlag = 0\n')
    +    f.write('a.legendInfoFlag = 0\n')
    +    f.write('a.databaseInfoFlag = 0\n')
    +    f.write('a.userInfoFlag = 0\n')
    +    f.write('SetAnnotationAttributes(a)\n')
    +    f.close()
    +
    +    cdb = abs_path(TestEnv.params["run_dir"], "test0.cdb")
    +    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
    +    args = ["-specification", "A", "-scriptfile", "test0.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "static"]
    +    TestText("cinema_0_00", ListToString(args))
    +
    +    output = GenerateCinema(args)
    +
    +    files = GetFileList(cdb)
    +    TestText("cinema_0_01", ListToString(files))
    +
    +    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
    +    TestText("cinema_0_02", json)
    +
    +    firstimg = os.path.join(cdb, GetFile(files, ".png"))
    +    OpenDatabase(firstimg)
    +    AddPlot("Truecolor", "color")
    +    DrawPlots()
    +    v = GetView2D()
    +    v.viewportCoords = (0,1,0,1)
    +    SetView2D(v)
    +    Test("cinema_0_03")
    +    DeleteAllPlots()
    +    CloseDatabase(firstimg)
    +
    +def test1(db):
    +    TestSection("Cinema spec A phi-theta camera")
    +    f = open("test1.py", "wt")
    +    f.write("OpenDatabase(%s)\n" % repr(db))
    +    f.write('AddPlot("Pseudocolor", "pressure")\n')
    +    f.write('DrawPlots()\n')
    +    f.write('a = GetAnnotationAttributes()\n')
    +    f.write('a.axes3D.visible = 0\n')
    +    f.write('a.axes3D.bboxFlag = 0\n')
    +    f.write('a.axes3D.triadFlag = 0\n')
    +    f.write('a.legendInfoFlag = 0\n')
    +    f.write('a.databaseInfoFlag = 0\n')
    +    f.write('a.userInfoFlag = 0\n')
    +    f.write('SetAnnotationAttributes(a)\n')
    +    f.close()
    +
    +    cdb = abs_path(TestEnv.params["run_dir"], "test1.cdb")
    +
    +    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
    +    args = ["-specification", "A", "-scriptfile", "test1.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "phi-theta", "-phi", "6", "-theta", "5", "-stride", "3"]
    +    TestText("cinema_1_00", ListToString(args))
    +
    +    output = GenerateCinema(args)
    +
    +    files = GetFileList(cdb)
    +    TestText("cinema_1_01", ListToString(files))
    +
    +    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
    +    TestText("cinema_1_02", json)
    +
    +    # Use the JSON to come up with some filenames to plot. We will vary phi.
    +    params = eval(json)
    +    theta_values = [str(x) for x in params["arguments"]["theta"]["values"]]
    +    phi_values = [str(x) for x in  params["arguments"]["phi"]["values"]]
    +    time_values = params["arguments"]["time"]["values"]
    +
    +    theta = theta_values[len(theta_values)//4]
    +    time = time_values[0]
    +    i = 3
    +    for phi in phi_values:
    +        pattern = params["name_pattern"]
    +        if sys.platform.startswith("win"):
    +            pattern = pattern.replace("/", "\\")
    +        name = pattern.replace("{phi}", phi)
    +        name = name.replace("{theta}", theta)
    +        name = name.replace("{time}", time)
    +
    +        img = os.path.join(cdb, GetFile(files, name))
    +        OpenDatabase(img)
    +        AddPlot("Truecolor", "color")
    +        DrawPlots()
    +        v = GetView2D()
    +        v.viewportCoords = (0,1,0,1)
    +        SetView2D(v)
    +        Test("cinema_1_%02d" % i)
    +        DeleteAllPlots()
    +        CloseDatabase(img)
    +        i = i + 1
    +
    +def MakeShortWave():
    +    db = abs_path("short_wave.visit")
    +    f = open(db, "wt")
    +    for i in range(0, 700, 100):
    +        f.write(silo_data_path("wave%04d.silo" % i) + "\n")
    +    f.close()
    +    return os.path.abspath(db)
    +
    +def main():
    +    db = MakeShortWave()
    +    test0(db)
    +    test1(db)
    +
    +    os.unlink(db)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-c.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-c.html new file mode 100644 index 000000000..81d33e693 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-c.html @@ -0,0 +1,210 @@ + +Results for hybrid/cinema-c.py + +

    Results of VisIt Regression Test - hybrid/cinema-c

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Cinema spec C static camera
    cinema_2_000 modifications totalling 0 lines
    cinema_2_010 modifications totalling 0 lines
    cinema_2_020 modifications totalling 0 lines
    cinema_2_03_lum0.000.00
    cinema_2_03_z0.000.00
    cinema_2_03_pressure0.000.00
    cinema_2_03_v0.000.00
    cinema_2_04_lum0.000.00
    cinema_2_04_z0.000.00
    cinema_2_04_pressure0.000.00
    cinema_2_04_v0.000.00
    Cinema spec C phi-theta camera
    cinema_3_000 modifications totalling 0 lines
    cinema_3_010 modifications totalling 0 lines
    cinema_3_020 modifications totalling 0 lines
    cinema_3_03_lum0.000.00
    cinema_3_03_z0.000.00
    cinema_3_03_pressure0.000.00
    cinema_3_03_v0.000.00
    cinema_3_04_lum0.000.00
    cinema_3_04_z0.000.00
    cinema_3_04_pressure0.000.00
    cinema_3_04_v0.000.00
    cinema_3_05_lum0.000.00
    cinema_3_05_z0.000.00
    cinema_3_05_pressure0.000.00
    cinema_3_05_v0.000.00
    cinema_3_06_lum0.000.00
    cinema_3_06_z0.000.00
    cinema_3_06_pressure0.000.00
    cinema_3_06_v0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-c_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-c_py.html new file mode 100644 index 000000000..469c0c489 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cinema-c_py.html @@ -0,0 +1,258 @@ +hybrid/cinema-c.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cinema-a.py
    +#
    +#  Tests:      Tests various aspects of "visit -cinema".
    +#
    +#  Notes:      
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Feb 15 16:37:20 PST 2018
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Jun 11 11:44:14 PDT 2019
    +#    Pass '-noconfig' to generated command line in GenerateCinema.
    +#
    +#    Kathleen Biagas, Tue Apr 13 2021
    +#    Port to python-3. Fix for Windows: Use abs_path for short_wave.visit,
    +#    use 'repr(db)' when writing script file to preserve '\' escapes.
    +#
    +#    Kathleen Biagas, Tue Sep 14 09:51:45 PDT 2021
    +#    Added call to CloseComputeEngine to GenerateCinema method, since the
    +#    cinema script launches its own. Prevents a hang when run in parallel.
    +#
    +#    Kathleen Biagas, Tue Sep 21 17:22:58 PDT 2021
    +#    Removed CloseComputeEngine, it prevented the non-cinema-generation parts
    +#    of the test from running in parallel.  If the nightlies use srun,
    +#    add "--overlap" srun option.  This allows cinema test to succeed in
    +#    parallel with recent changes to slurm.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import math, os, string, subprocess, zlib
    +
    +def GenerateCinema(cinemaArgs):
    +    args = [TestEnv.params["visit_bin"], "-noconfig", "-cinema"] + cinemaArgs
    +    if TestEnv.params["parallel"]:
    +        args = args + ["-np", "2", "-l", TestEnv.params["parallel_launch"]]
    +        if TestEnv.params["parallel_launch"] == "srun":
    +            args = args + ["-la", "--overlap"]
    +    p = subprocess.check_output(args)
    +    return p
    +
    +def GetFileList(path0):
    +    def gfl(path):
    +        outfiles = []
    +        files = os.listdir(path)
    +        for f in sorted(files):
    +            fpath = os.path.join(path, f)
    +            if os.path.isdir(fpath):
    +                outfiles = outfiles + gfl(fpath)
    +            else:
    +                outfiles = outfiles + [fpath[lpath0+1:]]
    +        return outfiles
    +    lpath0 = len(path0)
    +    return gfl(path0)
    +
    +def ListToString(files):
    +    s = ""
    +    for f in files:
    +        s += f
    +        s += "\n"
    +    return s
    +
    +def GetFile(manyfilenames, filename):
    +    for f in manyfilenames:
    +        if f.find(filename) != 0:
    +            return f
    +    return ""
    +
    +def ReadTextFile(filename):
    +    lines = open(filename, "rt").readlines()
    +    s = ""
    +    for line in lines:
    +        s += line
    +    return s
    +
    +def write_setup_plot(f):
    +    f.write('AddPlot("Pseudocolor", "pressure")\n')
    +    f.write('AddOperator("Clip")\n')
    +    f.write('clip = GetOperatorOptions(0)\n')
    +    f.write('clip.plane1Normal = (0,0,1)\n')
    +    f.write('clip.plane1Origin = (0,0,2.5)\n')
    +    f.write('SetOperatorOptions(clip)\n')
    +    f.write('AddPlot("Pseudocolor", "pressure", 1, 1)\n')
    +    f.write('clip.plane1Normal = (0,0,-1)\n')
    +    f.write('SetOperatorOptions(clip)\n')
    +    f.write('DrawPlots()\n')
    +    f.write('a = GetAnnotationAttributes()\n')
    +    f.write('a.axes3D.visible = 0\n')
    +    f.write('a.axes3D.bboxFlag = 0\n')
    +    f.write('a.axes3D.triadFlag = 0\n')
    +    f.write('a.legendInfoFlag = 0\n')
    +    f.write('a.databaseInfoFlag = 0\n')
    +    f.write('a.userInfoFlag = 0\n')
    +    f.write('a.backgroundColor=(0,0,0,255)\n')
    +    f.write('a.backgroundMode=a.Solid\n')
    +    f.write('SetAnnotationAttributes(a)\n')
    +
    +def test_Z_file(testname, varname, imagefilename, domask):
    +    """
    +    Decompress a float32 buffer, make a BOV file from it, and plot it.
    +    """
    +    cbytes = open(imagefilename, "rb").read()
    +    fbytes = zlib.decompress(cbytes)
    +    datfile = testname + ".dat"
    +    bovfile = testname + ".bov"
    +    f = open(datfile, "wb")
    +    f.write(fbytes)
    +    f.close()
    +    imagesize = int(math.sqrt(len(fbytes)/4))
    +    f = open(bovfile, "wt")
    +    f.write("TIME: 0\n")
    +    f.write("DATA_FILE: %s\n" % datfile)
    +    f.write("DATA_SIZE: %d %d 1\n" % (imagesize, imagesize))
    +    f.write("DATA_FORMAT: FLOAT\n")
    +    f.write("VARIABLE: %s\n" % varname)
    +    f.write("DATA_ENDIAN: LITTLE\n")
    +    f.write("CENTERING: zonal\n")
    +    f.write("BRICK_ORIGIN: 0 0 0\n")
    +    f.write("BRICK_SIZE: 1 1 1\n")
    +    f.close()
    +    OpenDatabase(bovfile)
    +    if domask:
    +        # Mask out values larger than 255 so we can see the values.
    +        # I'd mask on Z but I don't want to do cmfe.
    +        DefineScalarExpression("maskvar", "if(gt(%s, 255), 0., %s)" % (varname,varname))
    +        AddPlot("Pseudocolor", "maskvar")
    +    else:
    +        AddPlot("Pseudocolor", varname)
    +    AddOperator("Transform")
    +    t = TransformAttributes()
    +    t.doScale = 1
    +    t.scaleY = -1
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.viewportCoords = (0,1,0,1)
    +    SetView2D(v)
    +    Test(testname + "_" + varname)
    +    DeleteAllPlots()
    +    CloseDatabase(bovfile)
    +
    +    os.unlink(datfile)
    +    os.unlink(bovfile)
    +
    +def test_composite(testname, imagepath, scalars):
    +    """
    +    Make test images for a composite image.
    +    """
    +    img0 = os.path.join(imagepath, "image=0.png")
    +    img1 = os.path.join(imagepath, "image=1.Z")
    +    OpenDatabase(img0)
    +    AddPlot("Truecolor", "color")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.viewportCoords = (0,1,0,1)
    +    SetView2D(v)
    +    Test(testname + "_lum")
    +    DeleteAllPlots()
    +    CloseDatabase(img0)
    +
    +    test_Z_file(testname, "z", os.path.join(imagepath, "image=1.Z"), 0)
    +    idx = 2
    +    for s in scalars:
    +        test_Z_file(testname, s, os.path.join(imagepath, "image=%d.Z" % idx), 1)
    +        idx = idx + 1
    +
    +def test2(db):
    +    TestSection("Cinema spec C static camera")
    +    f = open("test2.py", "wt")
    +    f.write('OpenDatabase(%s)\n' % repr(db))
    +    write_setup_plot(f)
    +    f.write('v = GetView3D()\n')
    +    f.write('v.viewNormal = (-0.569392, 0.672931, 0.472183)\n')
    +    f.write('v.focus = (5, 0.353448, 2.5)\n')
    +    f.write('v.viewUp = (0.562941, 0.737756, -0.372577)\n')
    +    f.write('v.viewAngle = 30\n')
    +    f.write('v.parallelScale = 5.6009\n')
    +    f.write('v.nearPlane = -11.2018\n')
    +    f.write('v.farPlane = 11.2018\n')
    +    f.write('v.imagePan = (0.0431021, 0.0442006)\n')
    +    f.write('v.imageZoom = 1.06444\n')
    +    f.write('v.perspective = 1\n')
    +    f.write('v.eyeAngle = 2\n')
    +    f.write('v.centerOfRotationSet = 0\n')
    +    f.write('v.centerOfRotation = (5, 0.353448, 2.5)\n')
    +    f.write('v.axis3DScaleFlag = 0\n')
    +    f.write('v.axis3DScales = (1, 1, 1)\n')
    +    f.write('v.shear = (0, 0, 1)\n')
    +    f.write('v.windowValid = 1\n')
    +    f.write('SetView3D(v)\n')
    +    f.close()
    +
    +    cdb = "test2.cdb"
    +    scalars = ("pressure", "v")
    +    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
    +    args = ["-specification", "C", "-docomposite", "-scriptfile", "test2.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "static", "-var", scalars[0], "-var", scalars[1]]
    +    TestText("cinema_2_00", ListToString(args))
    +
    +    output = GenerateCinema(args)
    +
    +    files = GetFileList(cdb)
    +    TestText("cinema_2_01", ListToString(files))
    +
    +    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
    +    TestText("cinema_2_02", json)
    +
    +    # Test a couple of composite images
    +    test_composite("cinema_2_03", os.path.join(cdb, "image","time=3","vis=0"), scalars)
    +    test_composite("cinema_2_04", os.path.join(cdb, "image","time=3","vis=1"), scalars)
    +
    +
    +def test3(db):
    +    TestSection("Cinema spec C phi-theta camera")
    +    f = open("test3.py", "wt")
    +    f.write('OpenDatabase(%s)\n' % repr(db))
    +    write_setup_plot(f)
    +    f.close()
    +
    +    cdb = "test3.cdb"
    +    scalars = ("pressure", "v")
    +    sz = "%dx%d" % (TestEnv.params["width"], TestEnv.params["height"])
    +    args = ["-specification", "C", "-docomposite", "-scriptfile", "test3.py", "-output", cdb, "-format", "png", "-geometry", sz, "-camera", "phi-theta", "-phi", "6", "-theta", "5", "-var", scalars[0], "-var", scalars[1]]
    +    TestText("cinema_3_00", ListToString(args))
    +
    +    output = GenerateCinema(args)
    +
    +    files = GetFileList(cdb)
    +    TestText("cinema_3_01", ListToString(files))
    +
    +    json = ReadTextFile(os.path.join(cdb, GetFile(files, "info.json")))
    +    TestText("cinema_3_02", json)
    +
    +    # Test a couple of composite images
    +    test_composite("cinema_3_03", os.path.join(cdb, "image","phi=0","theta=0","time=0","vis=0"), scalars)
    +    test_composite("cinema_3_04", os.path.join(cdb, "image","phi=0","theta=0","time=0","vis=1"), scalars)
    +    test_composite("cinema_3_05", os.path.join(cdb, "image","phi=3","theta=1","time=0","vis=0"), scalars)
    +    test_composite("cinema_3_06", os.path.join(cdb, "image","phi=3","theta=1","time=0","vis=1"), scalars)
    +
    +
    +def MakeShortWave(incr):
    +    db = abs_path("short_wave.visit")
    +    f = open(db, "wt")
    +    for i in range(0, 700, incr):
    +        f.write(silo_data_path("wave%04d.silo" % i) + "\n")
    +    f.close()
    +    return os.path.abspath(db)
    +
    +def main():
    +    test2(MakeShortWave(100))
    +    test3(MakeShortWave(500))
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_cleanzonesonly.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cleanzonesonly.html new file mode 100644 index 000000000..dfbe444eb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cleanzonesonly.html @@ -0,0 +1,120 @@ + +Results for hybrid/cleanzonesonly.py + +

    Results of VisIt Regression Test - hybrid/cleanzonesonly

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Multicolor mode
    hybrid_cleanzonesonly_010.000.00
    hybrid_cleanzonesonly_020.000.00
    hybrid_cleanzonesonly_030.000.00
    Continuous colortable mode
    hybrid_cleanzonesonly_040.000.00
    hybrid_cleanzonesonly_050.000.00
    hybrid_cleanzonesonly_060.000.00
    Discrete colortable mode
    hybrid_cleanzonesonly_070.000.00
    hybrid_cleanzonesonly_080.000.00
    hybrid_cleanzonesonly_090.000.00
    Singlecolor mode
    hybrid_cleanzonesonly_100.000.00
    hybrid_cleanzonesonly_110.000.00
    hybrid_cleanzonesonly_120.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_cleanzonesonly_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cleanzonesonly_py.html new file mode 100644 index 000000000..7a694320e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cleanzonesonly_py.html @@ -0,0 +1,135 @@ +hybrid/cleanzonesonly.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cleanzonesonly.py
    +#
    +#  Tests:      plots     - filled boundary
    +#
    +#  Defect ID:  '5135
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       July  6, 2004
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +# Turn off all annotation
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +SetAnnotationAttributes(a)
    +
    +# -----------------------------------------------------------------------------
    +#    multicolor mode -- normal plot, then CZO on, then CZO off
    +# -----------------------------------------------------------------------------
    +TestSection("Multicolor mode")
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +AddPlot("FilledBoundary", "mat1");
    +DrawPlots()
    +
    +v=GetView2D()
    +v.viewportCoords=(0.3, 0.9, 0.15, 0.9)
    +SetView2D(v)
    +
    +Test("hybrid_cleanzonesonly_01")
    +
    +m = FilledBoundaryAttributes()
    +m.cleanZonesOnly = 1
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_02")
    +
    +m.cleanZonesOnly = 0
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_03")
    +
    +DeleteAllPlots()
    +
    +# -----------------------------------------------------------------------------
    +#    continuous colortable mode -- normal plot, then CZO on, then CZO off
    +# -----------------------------------------------------------------------------
    +TestSection("Continuous colortable mode")
    +AddPlot("FilledBoundary", "mat1");
    +
    +m = FilledBoundaryAttributes();
    +m.colorType = m.ColorByColorTable
    +m.colorTableName = 'calewhite'
    +m.mixedColor=(0,100,100,255)
    +SetPlotOptions(m)
    +DrawPlots()
    +
    +Test("hybrid_cleanzonesonly_04")
    +
    +m = FilledBoundaryAttributes()
    +m.cleanZonesOnly = 1
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_05")
    +
    +m.cleanZonesOnly = 0
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_06")
    +
    +DeleteAllPlots()
    +
    +# -----------------------------------------------------------------------------
    +#    discrete colortable mode -- normal plot, then CZO on, then CZO off
    +# -----------------------------------------------------------------------------
    +TestSection("Discrete colortable mode")
    +AddPlot("FilledBoundary", "mat1");
    +
    +m = FilledBoundaryAttributes();
    +m.colorType = m.ColorByColorTable
    +m.colorTableName = 'levels'
    +m.mixedColor=(0,0,0,255)
    +SetPlotOptions(m)
    +DrawPlots()
    +
    +Test("hybrid_cleanzonesonly_07")
    +
    +m = FilledBoundaryAttributes()
    +m.cleanZonesOnly = 1
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_08")
    +
    +m.cleanZonesOnly = 0
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_09")
    +
    +DeleteAllPlots()
    +
    +# -----------------------------------------------------------------------------
    +#    singlecolor mode -- normal plot, then CZO on, then CZO off
    +# -----------------------------------------------------------------------------
    +TestSection("Singlecolor mode")
    +AddPlot("FilledBoundary", "mat1");
    +
    +m = FilledBoundaryAttributes();
    +m.colorType = m.ColorBySingleColor
    +m.singleColor = (255, 0, 0, 255)
    +SetPlotOptions(m)
    +DrawPlots()
    +
    +Test("hybrid_cleanzonesonly_10")
    +
    +m = FilledBoundaryAttributes()
    +m.cleanZonesOnly = 1
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_11")
    +
    +m.cleanZonesOnly = 0
    +SetPlotOptions(m)
    +
    +Test("hybrid_cleanzonesonly_12")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_clonefirstref.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_clonefirstref.html new file mode 100644 index 000000000..5e291f7ec --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_clonefirstref.html @@ -0,0 +1,72 @@ + +Results for hybrid/clonefirstref.py + +

    Results of VisIt Regression Test - hybrid/clonefirstref

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    clonefirstref_000.000.00
    clonefirstref_010 modifications totalling 0 lines
    clonefirstref_020.000.00
    clonefirstref_030.000.00
    clonefirstref_040 modifications totalling 0 lines
    clonefirstref_050.000.00
    clonefirstref_060 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_clonefirstref_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_clonefirstref_py.html new file mode 100644 index 000000000..2a6ff2099 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_clonefirstref_py.html @@ -0,0 +1,62 @@ +hybrid/clonefirstref.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  clonefirstref.py
    +#
    +#  Tests:      mesh      - 2D, curvilinear, single domain
    +#              plots     - FilledBoundary
    +#              databases - PDB
    +#
    +#  Purpose:    This test case tests the viewer's ability to consider a window
    +#              that had been referenced as unreferenced if its plot list has
    +#              no active source.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Feb 18 14:01:48 PST 2005
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    TestText(testname, s)
    +
    +SetCloneWindowOnFirstRef(1)
    +SetWindowLayout(2)
    +SetActiveWindow(2)
    +OpenDatabase(data_path("pdb_test_data/dbB00.pdb"))
    +
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("clonefirstref_00")
    +TestWindowInformation("clonefirstref_01")
    +
    +# Make sure that the database and time sliders, etc got copied to window 1,
    +# even though it had been "referenced" already. Without the fix, VisIt used
    +# to complain about no database being open.
    +SetActiveWindow(1)
    +Test("clonefirstref_02")
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("clonefirstref_03")
    +TestWindowInformation("clonefirstref_04")
    +
    +# Make sure that we can move through time.
    +SetTimeSliderState(5)
    +Test("clonefirstref_05")
    +TestWindowInformation("clonefirstref_06")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_conditional.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_conditional.html new file mode 100644 index 000000000..da81d7f15 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_conditional.html @@ -0,0 +1,72 @@ + +Results for hybrid/conditional.py + +

    Results of VisIt Regression Test - hybrid/conditional

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    conditional_010.000.00
    conditional_020.000.00
    conditional_030.000.00
    conditional_040.000.00
    conditional_050.000.00
    conditional_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_conditional_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_conditional_py.html new file mode 100644 index 000000000..bc3cdc53e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_conditional_py.html @@ -0,0 +1,96 @@ +hybrid/conditional.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expressions.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#              plots     - Pseudocolor
    +#              operators - Threshold
    +#
    +#  Defect ID:  '3655
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 21, 2003
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#    Changed Pseudocolor CurrentPlot to ActualData.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +
    +DefineScalarExpression("bigun", 'if(and(gt(nmats(mat1), 1.), gt(matvf(mat1, "4"), 0.)), d, 0.)')
    +
    +AddPlot("Pseudocolor", "bigun")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.17, 0.74, 0.64)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.31, 0.65, -0.68)
    +v.parallelScale = 0.866
    +v.nearPlane = -1.73
    +v.farPlane = 1.73
    +SetView3D(v)
    +
    +Test("conditional_01")
    +
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.01)
    +t.upperBounds = (0.99)
    +SetDefaultOperatorOptions(t)
    +AddOperator("Threshold")
    +
    +pc_atts = PseudocolorAttributes()
    +pc_atts.limitsMode = pc_atts.ActualData
    +SetPlotOptions(pc_atts)
    +DrawPlots()
    +Test("conditional_02")
    +
    +DeleteAllPlots()
    +
    +DefineVectorExpression("vel2", "{ if(lt(u, 0), u, -u/2), if(gte(v, -0.333), v, -v/4), w}")
    +AddPlot("Vector", "vel2")
    +vec_atts = VectorAttributes()
    +vec_atts.nVectors = 100
    +SetPlotOptions(vec_atts)
    +DrawPlots()
    +
    +Test("conditional_03")
    +
    +DeleteAllPlots()
    +
    +DefineScalarExpression("eq", "if(eq(u, v), abs(w), 0.)")
    +AddPlot("Pseudocolor", "eq")
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("conditional_04")
    +
    +DefineScalarExpression("close", "if(lte(abs(u-v), 0.05), abs(w), 0.)")
    +ChangeActivePlotsVar("close")
    +
    +Test("conditional_05")
    +
    +
    +DefineScalarExpression("close_and_far", "if(or(lte(abs(u-v), 0.05), gte(abs(u-v), 1.)), abs(w), 0.)")
    +ChangeActivePlotsVar("close_and_far")
    +
    +Test("conditional_06")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_conn_cmfe.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_conn_cmfe.html new file mode 100644 index 000000000..503079a86 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_conn_cmfe.html @@ -0,0 +1,102 @@ + +Results for hybrid/conn_cmfe.py + +

    Results of VisIt Regression Test - hybrid/conn_cmfe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    conn_cmfe_010.000.00
    conn_cmfe_020.000.00
    conn_cmfe_030.000.00
    conn_cmfe_040 modifications totalling 0 lines
    conn_cmfe_050 modifications totalling 0 lines
    conn_cmfe_060 modifications totalling 0 lines
    conn_cmfe_070 modifications totalling 0 lines
    conn_cmfe_080 modifications totalling 0 lines
    conn_cmfe_090.000.00
    conn_cmfe_100 modifications totalling 0 lines
    conn_cmfe_110 modifications totalling 0 lines
    conn_cmfe_120.000.00
    conn_cmfe_130 modifications totalling 0 lines
    conn_cmfe_140 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_conn_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_conn_cmfe_py.html new file mode 100644 index 000000000..a962bcb89 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_conn_cmfe_py.html @@ -0,0 +1,138 @@ +hybrid/conn_cmfe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  conn_cmfe.py
    +#
    +#  Defect ID:  '6616
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 30, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Sep 20 13:15:11 PDT 2005
    +#    Test for non-existent databases, especially those with short names ['6616]
    +#
    +#    Hank Childs, Fri Oct  7 17:14:07 PDT 2005
    +#    Test error message for Eulerian material selection.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Cyrus Harrison, Wed Aug 25 14:25:13 PDT 2010
    +#    SIL id shift (from 1 to 2) due to changes in SIL generation.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("wave0200.silo"))
    +
    +
    +
    +# Test general capability.
    +DefineScalarExpression("cmfe", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("wave0020.silo"))
    +AddPlot("Pseudocolor", "cmfe")
    +DrawPlots()
    +Test("conn_cmfe_01")
    +
    +# Test using the expression as a secondary variable.
    +ChangeActivePlotsVar("pressure")
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.lowerBounds = (-1.0)
    +t.upperBounds = (0.1)
    +t.listedVarNames = ("cmfe")
    +SetOperatorOptions(t)
    +DrawPlots()
    +Test("conn_cmfe_02")
    +
    +# Test using cmfe in another expression.
    +DefineVectorExpression("disp", "{0, 3*cmfe, 0}")
    +RemoveLastOperator()
    +d = DisplaceAttributes()
    +d.variable = "disp"
    +SetDefaultOperatorOptions(d)
    +AddOperator("Displace")
    +DrawPlots()
    +Test("conn_cmfe_03")
    +
    +RemoveLastOperator()
    +ChangeActivePlotsVar("cmfe")
    +DrawPlots()
    +
    +Query("MinMax")
    +t = GetQueryOutputString()
    +TestText("conn_cmfe_04", t)
    +
    +# Now test error conditions.
    +DefineScalarExpression("cmfe2", "conn_cmfe(pressure, quadmesh)")
    +ChangeActivePlotsVar("cmfe2")
    +DrawPlots()
    +t = GetLastError()
    +TestText("conn_cmfe_05", t)
    +
    +DefineScalarExpression("cmfe3", "conn_cmfe(<bad_file.silo:a_var>, quadmesh)")
    +ChangeActivePlotsVar("cmfe3")
    +DrawPlots()
    +t = GetLastError()
    +TestText("conn_cmfe_06", t)
    +
    +DefineScalarExpression("cmfe4", "conn_cmfe(<%s:pressure>, quadmesh, pressure)" %  cmfe_silo_data_path("wave0100.silo"))
    +ChangeActivePlotsVar("cmfe4")
    +DrawPlots()
    +t = GetLastError()
    +TestText("conn_cmfe_07", t)
    +
    +DefineScalarExpression("cmfe5", "conn_cmfe(<%s:pressure>)" % cmfe_silo_data_path("wave0100.silo"))
    +ChangeActivePlotsVar("cmfe5")
    +DrawPlots()
    +t = GetLastError()
    +TestText("conn_cmfe_08", t)
    +
    +# And one more cool picture just for grins.
    +DefineScalarExpression("cmfe6", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("wave0570.silo"))
    +DefineScalarExpression("max", "if(ge(pressure, cmfe6), pressure, cmfe6)")
    +ChangeActivePlotsVar("max")
    +DrawPlots()
    +Test("conn_cmfe_09")
    +
    +# Invalid variable in new database.
    +DefineScalarExpression("cmfe7", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("globe.silo"))
    +ChangeActivePlotsVar("cmfe7")
    +t = GetLastError()
    +TestText("conn_cmfe_10", t)
    +
    +# Now a good variable, but connectivity doesn't match.
    +DefineScalarExpression("cmfe8", "conn_cmfe(<%s:t>, quadmesh)" % cmfe_silo_data_path("globe.silo"))
    +ChangeActivePlotsVar("cmfe8")
    +DrawPlots()
    +t = GetLastError()
    +TestText("conn_cmfe_11", t)
    +
    +# Test multiple CMFEs
    +DefineScalarExpression("cmfe9", "conn_cmfe(<%s:pressure>, quadmesh)" % cmfe_silo_data_path("wave0100.silo"))
    +DefineScalarExpression("max2", "if(ge(max, cmfe9), max, cmfe9)")
    +ChangeActivePlotsVar("max2")
    +DrawPlots()
    +Test("conn_cmfe_12")
    +
    +DefineScalarExpression("cmfe10", "conn_cmfe(<30:d>, quadmesh)")
    +ChangeActivePlotsVar("cmfe10")
    +t = GetLastError()
    +TestText("conn_cmfe_13", t)
    +
    +ChangeActivePlotsVar("cmfe")
    +DrawPlots()
    +s = SILRestriction()
    +s.TurnOffAll()
    +s.TurnOnSet(2)
    +SetPlotSILRestriction(s)
    +t = GetLastError()
    +TestText("conn_cmfe_14", t)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_coord_expr.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_coord_expr.html new file mode 100644 index 000000000..bb2aa22bb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_coord_expr.html @@ -0,0 +1,84 @@ + +Results for hybrid/coord_expr.py + +

    Results of VisIt Regression Test - hybrid/coord_expr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    coord_expr_010.000.00
    coord_expr_020.000.00
    coord_expr_030.000.00
    coord_expr_040.000.00
    coord_expr_050.000.00
    coord_expr_060.000.00
    coord_expr_070.000.00
    coord_expr_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_coord_expr_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_coord_expr_py.html new file mode 100644 index 000000000..7762aacd8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_coord_expr_py.html @@ -0,0 +1,65 @@ +hybrid/coord_expr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  coord_expr.py
    +#
    +#  Tests:      mesh      - 3D unstructured, multi- domain
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  '5994, '5995
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 30, 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +
    +DefineScalarExpression("polar_radius", "polar_radius(mesh1)")
    +AddPlot("Pseudocolor", "polar_radius")
    +DrawPlots()
    +Test("coord_expr_01")
    +
    +DefineScalarExpression("zero", "polar_radius-polar(mesh1)[0]")
    +ChangeActivePlotsVar("zero")
    +Test("coord_expr_02")
    +
    +DefineScalarExpression("polar_theta", "polar_theta(mesh1)")
    +ChangeActivePlotsVar("polar_theta")
    +Test("coord_expr_03")
    +
    +DefineScalarExpression("polar_phi", "polar_phi(mesh1)")
    +ChangeActivePlotsVar("polar_phi")
    +Test("coord_expr_04")
    +
    +DefineScalarExpression("cylindrical_radius", "cylindrical_radius(mesh1)")
    +ChangeActivePlotsVar("cylindrical_radius")
    +Test("coord_expr_05")
    +
    +DefineScalarExpression("cylindrical_theta", "cylindrical_theta(mesh1)")
    +ChangeActivePlotsVar("cylindrical_theta")
    +Test("coord_expr_06")
    +
    +DeleteExpression("zero")
    +# Not really zero -- this is the diagonal
    +DefineScalarExpression("zero", "polar_radius-cylindrical_radius")
    +ChangeActivePlotsVar("zero")
    +Test("coord_expr_07")
    +
    +DeleteActivePlots()
    +
    +DefineVectorExpression("c", "cylindrical(mesh1)")
    +AddPlot("Vector", "c")
    +DrawPlots()
    +Test("coord_expr_08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_anim.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_anim.html new file mode 100644 index 000000000..33792d96f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_anim.html @@ -0,0 +1,72 @@ + +Results for hybrid/curve_anim.py + +

    Results of VisIt Regression Test - hybrid/curve_anim

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    curve_anim10.000.00
    curve_anim20.000.00
    curve_anim30.000.00
    curve_anim40.000.00
    curve_anim50.000.00
    curve_anim60.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_anim_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_anim_py.html new file mode 100644 index 000000000..2409f6a09 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_anim_py.html @@ -0,0 +1,77 @@ +hybrid/curve_anim.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curve_anim.py
    +#
    +#  Tests:      mesh      - polygonal line from .curve file.
    +#              plots     - curve
    +#              operators - none
    +#
    +#  Defect ID:  '2973
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 15, 2003
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Mon Aug  4 09:51:40 PDT 2003
    +#    Curves are no longer valid subsets, but they are now curve plots.
    +#
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(data_path("curve_test_data/curve.visit"))
    +
    +curveAtts = CurveAttributes()
    +curveAtts.curveColorSource = curveAtts.Custom
    +AddPlot("Curve", "flat")
    +curveAtts.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "going_up")
    +curveAtts.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "going_down")
    +curveAtts.curveColor = (0, 0, 255, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "parabolic")
    +curveAtts.curveColor = (0, 255, 255, 255)
    +SetPlotOptions(curveAtts)
    +
    +SetTimeSliderState(40)
    +DrawPlots()
    +# This additional set frame is so that the saved
    +# image is correct.
    +SetTimeSliderState(40)
    +Test("curve_anim1")
    +
    +SetTimeSliderState(99)
    +Test("curve_anim2")
    +
    +SetActivePlots(3)
    +DeleteActivePlots()
    +
    +Test("curve_anim3")
    +
    +SetTimeSliderState(40)
    +Test("curve_anim4")
    +
    +SetActivePlots(0)
    +DeleteActivePlots()
    +Test("curve_anim5")
    +
    +SetTimeSliderState(5)
    +AddPlot("Curve", "flat")
    +curveAtts.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("curve_anim6")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_expressions.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_expressions.html new file mode 100644 index 000000000..b6de8aed8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_expressions.html @@ -0,0 +1,63 @@ + +Results for hybrid/curve_expressions.py + +

    Results of VisIt Regression Test - hybrid/curve_expressions

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    binary operations on curves
    curve_exp_bin_000.000.00
    curve_exp_bin_010.000.00
    curve_exp_bin_020.000.00
    curve_exp_bin_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_expressions_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_expressions_py.html new file mode 100644 index 000000000..62d9dcb2d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_curve_expressions_py.html @@ -0,0 +1,50 @@ +hybrid/curve_expressions.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curve_expressions.py
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       November 18, 2008
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TurnOffCurveLabels():
    +    c = CurveAttributes()
    +    c.showLabels = 0
    +    SetDefaultPlotOptions(c)
    +
    +def DoBinaryOp(db1, curve1, db2, curve2, op, index):
    +    # name = db:curve1 op curve_cmfe(<db2:curve2>, <db1, curve1>)
    +    var1 = "<%s>" % (curve1)
    +    var2 = "<%s:%s>" % (db2, curve2)
    +    cmfe = "curve_cmfe(%s,%s)" % (var2, var1)
    +    name = "<A %s B>" %(op)
    +    DefineCurveExpression(name, "%s %s %s" %(var1, op, cmfe))
    +
    +    AddPlot("Curve", name);
    +    DrawPlots()
    +
    +    Test("curve_exp_bin_%02d" %index)
    +    DeleteAllPlots()
    +
    +def TestBinary():
    +    binops = ("+", "-", "*", "/")
    +    cdb = cmfe_data_path("curve_test_data/distribution.ultra")
    +    db = data_path("curve_test_data/distribution.ultra")
    +    logNormal = "Log Normal Distribution"
    +    exponential = "Exponential Distribution"
    +
    +    TestSection("binary operations on curves")
    +    OpenDatabase(db)
    +    for i in range(4):
    +        DoBinaryOp(cdb, logNormal, cdb, exponential, binops[i], i)
    +
    +    CloseDatabase(db)
    +
    +
    +TurnOffCurveLabels()
    +TestBinary()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_cylindrical_radius.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cylindrical_radius.html new file mode 100644 index 000000000..5fb2463c5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cylindrical_radius.html @@ -0,0 +1,96 @@ + +Results for hybrid/cylindrical_radius.py + +

    Results of VisIt Regression Test - hybrid/cylindrical_radius

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    cylin_rad_default_10.000.00
    cylin_rad_default_20.000.00
    cylin_rad_x_10.000.00
    cylin_rad_x_20.000.00
    cylin_rad_y_10.000.00
    cylin_rad_y_20.000.00
    cylin_rad_z_10.000.00
    cylin_rad_z_20.000.00
    cylin_rad_diag_a_10.000.00
    cylin_rad_diag_b_10.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_cylindrical_radius_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cylindrical_radius_py.html new file mode 100644 index 000000000..33d258dad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_cylindrical_radius_py.html @@ -0,0 +1,232 @@ +hybrid/cylindrical_radius.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cylindrical_radius.py
    +#
    +#  Tests:      mesh      - 3D structured, multi domain
    +#              plots     - pc
    +#
    +#  Ticket Id:  '7915
    +#
    +#  Notes:      Created to test axis selection for the cylindrical_radius 
    +#              expression
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       March 31, 2008
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +
    +# Default use case
    +DefineScalarExpression("cylin_rad_default",   "cylindrical_radius(mesh1)")
    +# Cyl axis = {1,0,0}
    +DefineScalarExpression("cylin_rad_x",         'cylindrical_radius(mesh1,"x")')
    +# Cyl axis = {0,1,0}
    +DefineScalarExpression("cylin_rad_y",         'cylindrical_radius(mesh1,"y")')
    +# Cyl axis = {0,0,1} (same as default)
    +DefineScalarExpression("cylin_rad_z",         'cylindrical_radius(mesh1,"z")')
    +# Cyl axis = {1,1,1}
    +DefineScalarExpression("cylin_rad_diag_a",    'cylindrical_radius(mesh1,{1,1,1})')
    +# Cyl axis = {1,1,-1}
    +DefineScalarExpression("cylin_rad_diag_b",    'cylindrical_radius(mesh1,{1,1,-1})')
    +
    +# use rotate and defer expression to test proper axis selection
    +
    +def test_cyl(var_name):
    +    DeleteAllPlots();
    +    ResetView()
    +    AddPlot("Pseudocolor", var_name)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 1)
    +    AddOperator("Transform") # rotate to another view
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0, 1, 0)
    +    TransformAtts.rotateAmount = 45
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 2)
    +
    +def test_cyl_x(var_name):
    +    DeleteAllPlots();
    +    ResetView()
    +    AddPlot("Pseudocolor", var_name)
    +    AddOperator("Transform")
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0, 1, 0)
    +    TransformAtts.rotateAmount = 90
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("DeferExpression")
    +    DeferExpressionAtts = DeferExpressionAttributes()
    +    DeferExpressionAtts.exprs = (var_name)
    +    SetOperatorOptions(DeferExpressionAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 1)
    +    AddOperator("Transform") # rotate to better view
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0, 1, 0)
    +    TransformAtts.rotateAmount = -45
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 2)
    +
    +
    +def test_cyl_y(var_name):
    +    DeleteAllPlots();
    +    ResetView()
    +    AddPlot("Pseudocolor", var_name)
    +    AddOperator("Transform")
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (1, 0, 0)
    +    TransformAtts.rotateAmount = 90
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("DeferExpression")
    +    DeferExpressionAtts = DeferExpressionAttributes()
    +    DeferExpressionAtts.exprs = (var_name)
    +    SetOperatorOptions(DeferExpressionAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 1)
    +    AddOperator("Transform") # rotate to better view
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (1, 0, 0)
    +    TransformAtts.rotateAmount = -45
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 2)
    +
    +def test_cyl_diag_a(var_name):
    +    DeleteAllPlots();
    +    ResetView()
    +    AddPlot("Pseudocolor", var_name)
    +    AddOperator("Transform")
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0, 1, 0)
    +    TransformAtts.rotateAmount = 45
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("Transform") # rotate to better view
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (-0.70710678118654746, 0, 0.70710678118654746)
    +    TransformAtts.rotateAmount = 35.26
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("DeferExpression")
    +    DeferExpressionAtts = DeferExpressionAttributes()
    +    DeferExpressionAtts.exprs = (var_name)
    +    SetOperatorOptions(DeferExpressionAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 1)
    +
    +def test_cyl_diag_b(var_name):
    +    DeleteAllPlots();
    +    ResetView()
    +    AddPlot("Pseudocolor", var_name)
    +    AddOperator("Transform")
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0, 1, 0)
    +    TransformAtts.rotateAmount = -45
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("Transform") # rotate to better view
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doRotate = 1
    +    TransformAtts.rotateOrigin = (0, 0, 0)
    +    TransformAtts.rotateAxis = (0.70710678118654746, 0, 0.70710678118654746)
    +    TransformAtts.rotateAmount = 35.26
    +    TransformAtts.rotateType = TransformAtts.Deg
    +    TransformAtts.doScale = 0
    +    TransformAtts.doTranslate = 0
    +    TransformAtts.transformType = TransformAtts.Similarity
    +    TransformAtts.inputCoordSys = TransformAtts.Cartesian
    +    TransformAtts.outputCoordSys = TransformAtts.Cartesian
    +    SetOperatorOptions(TransformAtts)
    +    AddOperator("DeferExpression")
    +    DeferExpressionAtts = DeferExpressionAttributes()
    +    DeferExpressionAtts.exprs = (var_name)
    +    SetOperatorOptions(DeferExpressionAtts)
    +    DrawPlots()
    +    Test(var_name + "_%d" % 1)
    +
    +
    +test_cyl("cylin_rad_default")
    +test_cyl_x("cylin_rad_x")
    +test_cyl_y("cylin_rad_y")
    +test_cyl("cylin_rad_z") # same as default
    +test_cyl_diag_a("cylin_rad_diag_a")
    +test_cyl_diag_b("cylin_rad_diag_b")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_ddf.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_ddf.html new file mode 100644 index 000000000..e3949b374 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_ddf.html @@ -0,0 +1,75 @@ + +Results for hybrid/ddf.py + +

    Results of VisIt Regression Test - hybrid/ddf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ddf_010.000.00
    ddf_020.000.00
    ddf_030.000.00
    ddf_040.000.00
    DDF Spatial Collapse with Ghost Zones
    ddf_spatial_1d0.000.00
    ddf_spatial_2d0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_ddf_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_ddf_py.html new file mode 100644 index 000000000..363207b48 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_ddf_py.html @@ -0,0 +1,172 @@ +hybrid/ddf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ddf.py
    +#
    +#  Defect ID:  '5203
    +#
    +#  Programmer: Hank Childs
    +#  Date:       February 20, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Tue Feb 23 12:40:36 PST 2021
    +#    Added spatial collapse with ghost zones test.
    +#
    +#    Kathleen Biagas, Thu Feb 17 07:38:01 PST 2022
    +#    Replace old ConstructDDFAttributes attribute names for new:
    +#    ddfName -> name, ranges -> binBoundaries, numSamples -> numBins,
    +#    statisticalOperator -> reductionOperator,
    +#    codomainName -> varForReductionOperator.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +t = ConstructDDFAttributes()
    +t.name = "ddf1"
    +t.varnames = ("u")
    +t.binBoundaries = (-1, 1)
    +t.numBins = (4)
    +t.varForReductionOperator = "u"
    +t.reductionOperator = t.Average
    +ConstructDDF(t)
    +
    +DefineScalarExpression("e1", "u - apply_ddf(curvmesh2d, ddf1)")
    +ChangeActivePlotsVar("e1")
    +Test("ddf_01")
    +
    +t.name = "ddf2"
    +t.reductionOperator = t.Maximum
    +t.varForReductionOperator = "v"
    +t.varnames = ("v")
    +ConstructDDF(t)
    +DefineScalarExpression("e2", "v - apply_ddf(curvmesh2d, ddf2)")
    +ChangeActivePlotsVar("e2")
    +Test("ddf_02")
    +
    +t.name = "ddf3"
    +t.varnames = ("u", "v")
    +t.binBoundaries = (-1, 1, -1, 1)
    +t.numBins = (25, 25)
    +t.varForReductionOperator = "u"
    +t.reductionOperator = t.Minimum
    +ConstructDDF(t)
    +
    +DefineScalarExpression("e3", "u - apply_ddf(curvmesh2d, ddf3)")
    +ChangeActivePlotsVar("e3")
    +Test("ddf_03")
    +
    +
    +ChangeActivePlotsVar("u")
    +t.name = "ddf4"
    +t.varnames = ("u", "v")
    +t.binBoundaries = (-1, 1, -1, 1)
    +t.numBins = (25, 25)
    +t.varForReductionOperator = "u"
    +t.reductionOperator = t.RMS
    +ConstructDDF(t)
    +
    +DefineScalarExpression("e4", "apply_ddf(curvmesh2d, ddf4)")
    +ChangeActivePlotsVar("e4")
    +Test("ddf_04")
    +
    +
    +#
    +# DDF Spatial Collapse with ghost zones
    +#
    +
    +def ddf(atts,var_name,ddf_op):
    +    # ddf helper used in the wild to normalize var
    +    # and file names
    +    ddf_op_map = {"avg": atts.Average,
    +                  "min": atts.Minimum,
    +                  "max": atts.Maximum,
    +                  "stddev": atts.StandardDeviation,
    +                  "var":    atts.Variance,
    +                  "sum":    atts.Sum,
    +                  "count":  atts.Count,
    +                  "rms": atts.RMS,
    +                  "pdf": atts.PDF}
    +    atts.reductionOperator = ddf_op_map[ddf_op]
    +    visit.ConstructDDF(atts)
    +    ndims = len(atts.numBins)
    +    ddf_oname = "%s_%s_%dd" % (var_name,ddf_op,ndims)
    +    if len(atts.numBins) == 1:
    +        src_fname = "%s.ultra" % atts.name
    +        des_fname = "%s.ult" % (atts.name)
    +        os.rename(src_fname,des_fname)
    +        lines = open(des_fname).readlines()
    +        f     = open(des_fname, "w")
    +        f.write("# %s\n" % (ddf_oname))
    +        for l in lines[1:]:
    +            f.write(l)
    +        f.close()
    +    else:
    +        src_fname = "%s.vtk" % atts.name
    +        des_fname = src_fname
    +        orig_vtk_var = "SCALARS %s float" % var_name
    +        ddf_vtk_var  = "SCALARS %s float" % ddf_oname
    +        data = open(des_fname).read()
    +        f = open(des_fname, "w")
    +        data = data.replace(orig_vtk_var,ddf_vtk_var)
    +        f.write(data)
    +    print("[ddf output: %s]" % des_fname)
    +    return des_fname
    +
    +#################################################
    +# bigsil has ghost zones, this test makes
    +# sure we are taking care of ghost zones property
    +# in ddfs
    +# use ddf to sum collapse spatially in 1d, then 2d
    +def ddf_collapse_test():
    +    TestSection("DDF Spatial Collapse with Ghost Zones")
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +    DefineScalarExpression("mesh_x_nodal","coord(mesh)[0]")
    +    DefineScalarExpression("mesh_y_nodal","coord(mesh)[1]")
    +    DefineScalarExpression("mesh_z_nodal","coord(mesh)[2]")
    +    DefineScalarExpression("mesh_x_zonal","recenter(coord(mesh)[0])")
    +    DefineScalarExpression("mesh_y_zonal","recenter(coord(mesh)[1])")
    +    DefineScalarExpression("mesh_z_zonal","recenter(coord(mesh)[2])")
    +    AddPlot("Pseudocolor","dist")
    +    DrawPlots()
    +    atts = visit.ConstructDDFAttributes()
    +    atts.name = "ddf_dist_1d"
    +    atts.varForReductionOperator = "dist"
    +    atts.varnames = ("mesh_x_zonal",)
    +    atts.binBoundaries = (0,1)
    +    atts.numBins = (21,)
    +    ddf(atts,"dist","sum")
    +    atts = visit.ConstructDDFAttributes()
    +    atts.name = "ddf_dist_2d"
    +    atts.varForReductionOperator = "dist"
    +    atts.varnames = ("mesh_x_zonal", "mesh_y_zonal")
    +    atts.binBoundaries = (0,1, 0,1)
    +    atts.numBins = (21,21)
    +    ddf(atts,"dist","sum")
    +    # plot 1d result
    +    DeleteAllPlots()
    +    OpenDatabase("ddf_dist_1d.ult")
    +    AddPlot("Curve","dist_sum_1d")
    +    DrawPlots()
    +    Test("ddf_spatial_1d")
    +    # plot 2d result
    +    DeleteAllPlots()
    +    OpenDatabase("ddf_dist_2d.vtk")
    +    AddPlot("Pseudocolor","dist_sum_2d")
    +    DrawPlots()
    +    Test("ddf_spatial_2d")
    +
    +ddf_collapse_test()
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_defvar_anim.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_defvar_anim.html new file mode 100644 index 000000000..dbac9301e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_defvar_anim.html @@ -0,0 +1,54 @@ + +Results for hybrid/defvar_anim.py + +

    Results of VisIt Regression Test - hybrid/defvar_anim

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    defvar_anim_010.000.00
    defvar_anim_020.000.00
    defvar_anim_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_defvar_anim_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_defvar_anim_py.html new file mode 100644 index 000000000..94f3488fe --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_defvar_anim_py.html @@ -0,0 +1,61 @@ +hybrid/defvar_anim.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  defvar.py
    +#
    +#  Tests:      plots     - vector
    +#
    +#  Defect ID:  '3221
    +#
    +#  Programmer: Hank Childs
    +#  Date:       April 10, 2003
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
    +#    Set the vector origin explicitly for some cases because I changed the
    +#    default to Tail.
    +#
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +
    +vec = VectorAttributes()
    +vec.vectorOrigin = vec.Middle
    +SetDefaultPlotOptions(vec)
    +
    +
    +AddPlot("Vector", "direction")
    +DrawPlots()
    +
    +# Set the view
    +v = View3DAttributes()
    +v.viewNormal = (-0.293413, 0.703819, 0.646953)
    +v.focus = (5, 0.353448, 2.5)
    +v.viewUp = (0.228637, 0.708763, -0.667368)
    +v.viewAngle = 30
    +v.parallelScale = 3.87214
    +v.nearPlane = -11.2018
    +v.farPlane = 11.2018
    +v.perspective = 1
    +SetView3D(v)
    +
    +
    +Test("defvar_anim_01")
    +
    +SetTimeSliderState(30)
    +Test("defvar_anim_02")
    +
    +SetTimeSliderState(60)
    +Test("defvar_anim_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr2engine.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr2engine.html new file mode 100644 index 000000000..5a5c1a104 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr2engine.html @@ -0,0 +1,56 @@ + +Results for hybrid/expr2engine.py + +

    Results of VisIt Regression Test - hybrid/expr2engine

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    expr2engine_000.000.00
    expr2engine_010 modifications totalling 0 lines
    expr2engine_020 modifications totalling 0 lines
    expr2engine_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr2engine_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr2engine_py.html new file mode 100644 index 000000000..e85b60de0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr2engine_py.html @@ -0,0 +1,67 @@ +hybrid/expr2engine.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expr2engine.py
    +#
    +#  Tests:      mesh      - 2D, curvilinear, single domain
    +#              plots     - FilledBoundary
    +#              databases - PDB
    +#
    +#  Purpose:    This test case tests the viewer's ability to send not only the
    +#              user-defined expressions to the engine but also the correct
    +#              database expressions.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Feb 18 14:01:48 PST 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Create some expressions.
    +#
    +DefineScalarExpression("user_defined1", "u * u")
    +DefineScalarExpression("user_defined2", "v + v")
    +DefineVectorExpression("user_defined3", "{u, v, w}")
    +
    +# Open a database and make a plot.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Vector", "vel")
    +v = VectorAttributes()
    +v.nVectors = 4000
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.63515, 0.317784, 0.703987)
    +v.viewUp = (0.176786, 0.947058, -0.268008)
    +SetView3D(v)
    +
    +# Test the image that we should have by this point. Also make sure that the
    +# expression list contains the database expressions for the first database.
    +Test("expr2engine_00")
    +TestExpressions("expr2engine_01")
    +
    +# Open a different database. The expression list should only contain the 
    +# database variables from the new database.
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +TestExpressions("expr2engine_02")
    +
    +# Test that the plot from the old database, which was a plot of an expression
    +# from the first database can still be generated.
    +AddOperator("Transform")
    +DrawPlots()
    +Test("expr2engine_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_exprList.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_exprList.html new file mode 100644 index 000000000..26c5826cc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_exprList.html @@ -0,0 +1,56 @@ + +Results for hybrid/exprList.py + +

    Results of VisIt Regression Test - hybrid/exprList

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    exprList000 modifications totalling 0 lines
    exprList010 modifications totalling 0 lines
    exprList020 modifications totalling 0 lines
    exprList030 modifications totalling 0 lines
    exprList040 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_exprList_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_exprList_py.html new file mode 100644 index 000000000..1af03ad4a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_exprList_py.html @@ -0,0 +1,65 @@ +hybrid/exprList.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  exprList.py
    +#  Tests:      Expression list contents as windows are added and we switch
    +#              between databases that have expressions.
    +#
    +#  Defect ID:  VisIt00003955
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Oct 24 18:06:01 PST 2003
    +#
    +#  Modifications:
    +#    
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +
    +# Define some expressions just so we have some in the list.
    +DefineScalarExpression("var1", "var2 + var3")
    +DefineScalarExpression("var4", "var5 * var6")
    +DefineScalarExpression("var7", "var8 / var9")
    +
    +# Open the first database, which has some expressions.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "speed")
    +DrawPlots()
    +
    +# This test should show our scalar expressions + globe's expressions.
    +TestExpressions("exprList00")
    +
    +# Add a new window and open a different database that has no expressions of
    +# its own.
    +AddWindow()
    +SetActiveWindow(2)
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +TestExpressions("exprList01")
    +
    +# Going back to window 1, where globe is open. This should make the expression
    +# list contain globe's expressions.
    +SetActiveWindow(1)
    +TestExpressions("exprList02")
    +
    +# Open a new database. This should make the expression list contain the
    +# expressions for rect3d and our scalar expressions.
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +TestExpressions("exprList03")
    +
    +# Add a plot
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Make the active plot be the plot of globe. The expression list should 
    +# contain globe's expressions.
    +SetActivePlots(0)
    +TestExpressions("exprList04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr_cmfe.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr_cmfe.html new file mode 100644 index 000000000..326b316ca --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr_cmfe.html @@ -0,0 +1,66 @@ + +Results for hybrid/expr_cmfe.py + +

    Results of VisIt Regression Test - hybrid/expr_cmfe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    expr_cmfe_010.000.00
    expr_cmfe_020.000.00
    expr_cmfe_030.000.00
    expr_cmfe_040.000.00
    expr_cmfe_050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr_cmfe_py.html new file mode 100644 index 000000000..c84e01cc0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expr_cmfe_py.html @@ -0,0 +1,66 @@ +hybrid/expr_cmfe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expr_cmfe.py
    +#
    +#  Defect ID:  None
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 9, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Thu Dec 29 11:21:26 PST 2005
    +#    Expand the color range for a plot of an expression that should result in 
    +#    uniformly "1", but actually has some small variation.  This causes 
    +#    issues with coloring between optimized and non-optimized modes.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +
    +# Test that database expressions can still be generated.
    +DefineVectorExpression("cmfe", "conn_cmfe(<%s[30]i:direction>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +AddPlot("Vector", "cmfe")
    +DrawPlots()
    +Test("expr_cmfe_01")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("cmfe2", "conn_cmfe(coord(<%s[40]i:pressure>)[1], quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +AddPlot("Pseudocolor", "cmfe2")
    +DrawPlots()
    +Test("expr_cmfe_02")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("cmfe3", "coord(quadmesh)[1] - conn_cmfe(coord(<%s[40]i:pressure>)[1], quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +AddPlot("Pseudocolor", "cmfe3")
    +DrawPlots()
    +Test("expr_cmfe_03")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("cmfe4", "coord(quadmesh)[1] - cmfe2")
    +AddPlot("Pseudocolor", "cmfe4")
    +DrawPlots()
    +Test("expr_cmfe_04")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("cmfe5", "volume(quadmesh) / conn_cmfe(volume(<%s[40]i:quadmesh>), quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +AddPlot("Pseudocolor", "cmfe5")
    +pc = PseudocolorAttributes()
    +pc.min = 0.5
    +pc.minFlag = 1
    +pc.max = 1.5
    +pc.maxFlag = 1
    +SetPlotOptions(pc)
    +DrawPlots()
    +Test("expr_cmfe_05")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_expressions.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expressions.html new file mode 100644 index 000000000..e9d29ac16 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expressions.html @@ -0,0 +1,304 @@ + +Results for hybrid/expressions.py + +

    Results of VisIt Regression Test - hybrid/expressions

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    radius_ghosts0.000.00
    magnitude10.000.00
    magnitude20.000.00
    vector_sum0.000.00
    vector_diff0.000.00
    theta0.000.00
    phi0.000.00
    cos0.000.00
    abs_cos0.000.00
    sin0.000.00
    minus_sin0.000.00
    four_phase0.000.00
    one0.000.00
    X0.000.00
    radius0.000.00
    zero0.000.00
    vector_add_const0.000.00
    vector_cross0.000.00
    identity_expr0.000.00
    diff_centering_expr_010.000.00
    diff_centering_expr_020.000.00
    diff_centering_expr_030.000.00
    diff_centering_expr_040.000.00
    diff_centering_expr_050.000.00
    diff_centering_expr_060.000.00
    diff_centering_expr_070.000.00
    const_with_no_other_vars0.000.00
    nmats_with_mir0.000.00
    mult_var_usage0.000.00
    mixed_centering_nodal0.000.00
    mixed_centering_zonal0.000.00
    mult_identity_expr0.000.00
    long_identity_expr0.000.00
    divide10.000.00
    divide20.000.00
    divide30.000.00
    resrad0.000.00
    resrad_error0 modifications totalling 0 lines
    ident_mesh0.000.00
    min10.000.00
    min20.000.00
    max10.000.00
    min30.000.00
    max20.000.00
    max30.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_expressions_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expressions_py.html new file mode 100644 index 000000000..923ea4a4a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_expressions_py.html @@ -0,0 +1,464 @@ +hybrid/expressions.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expressions.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc
    +#
    +#  Defect ID:  '3939 + '4008 + '4022 + '4162 + '4417 + '4435 + '5790 + '5672
    +#            + '5763 + '5767 + '5874 + '7465 + '7473
    +#
    +#  Programmer: Hank Childs
    +#  Date:       November 18, 2002
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri Oct 24 09:25:04 PDT 2003
    +#    Added test for mesh expressions for databases where we communicate
    +#    ghost zones.
    +#
    +#    Hank Childs, Wed Dec 10 14:25:01 PST 2003
    +#    Add tests for implicit and explicit changes in centering.  Also added
    +#    a test for the identity expression, which previously crashed the engine.
    +#
    +#    Hank Childs, Wed Feb 11 14:49:40 PST 2004
    +#    Add tests for nmats and constants.
    +#    
    +#    Hank Childs, Thu Apr 22 16:19:36 PDT 2004
    +#    Update comments due to the change in semantics of recenter (it is now
    +#    always zonal).
    +#
    +#    Hank Childs, Wed Dec 22 13:14:29 PST 2004
    +#    Add tests for variables used both in an expression and in the
    +#    pipeline ['5790].
    +#
    +#    Hank Childs, Thu Jan  6 11:21:21 PST 2005
    +#    Add tests for multiple identity filters and additional tests for mixed
    +#    centering ['5672, '5763, '5767].
    +#
    +#    Hank Childs, Thu Jan 20 18:29:28 PST 2005
    +#    Add test for resrad ['5874].
    +#
    +#    Hank Childs, Fri Aug 25 17:34:13 PDT 2006
    +#    Add test for resrad when arguments are missing ['7473].
    +#
    +#    Hank Childs, Fri Sep 14 11:52:39 PDT 2007
    +#    Add test for identify filters and meshes ['7465].
    +#
    +#    Cyrus Harrison, Thu Jan 31 09:19:57 PST 2008
    +#    Added a test for the value_for_material filter. 
    +#
    +#    Cyrus Harrison, Tue Feb 19 13:52:01 PST 2008
    +#    Removed value_for_material tests (they now reside in val4mat.py)
    +#
    +#    Kathleen Bonnell, Thu May  7 09:26:36 PDT 2009
    +#    ident_mesh is no longer an error case, so remove the error test and
    +#    save an image instead.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Alister Maguire, Mon Mar 29 12:17:40 PDT 2021
    +#    Moved min/max tests into function and extended to include
    +#    multi-domain data.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestMinMaxExpression():
    +    # Test min/max expression
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    #
    +    # First, let's test a serial dataset.
    +    #
    +    DefineScalarExpression('min1', 'min(10.0, 5.0, d+p)')
    +    AddPlot('Pseudocolor', 'min1')
    +    DrawPlots()
    +    Test('min1')
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression('min2', 'min(d+p, 5.0, 10.0)')
    +    AddPlot('Pseudocolor', 'min2')
    +    DrawPlots()
    +    Test('min2')
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression('max1', 'max(10.0, 5.0, d+p)')
    +    AddPlot('Pseudocolor', 'max1')
    +    DrawPlots()
    +    Test('max1')
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression('min3', 'min(2.0, d+p, d*p+2*d)')
    +    AddPlot('Pseudocolor', 'min3')
    +    DrawPlots()
    +    Test('min3')
    +    DeleteAllPlots()
    +
    +    CloseDatabase(silo_data_path("rect2d.silo"))
    +
    +    #
    +    # Multi-domain datasets are handled a little differently, so
    +    # let's test one here.
    +    #
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    DefineScalarExpression('max2', 'max(p*16, 4)')
    +    AddPlot('Pseudocolor', 'max2')
    +    DrawPlots()
    +    Test('max2')
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression('max3', 'max(p*16, d, 4)')
    +    AddPlot('Pseudocolor', 'max3')
    +    DrawPlots()
    +    Test('max3')
    +    DeleteAllPlots()
    +
    +    CloseDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +
    +DefineScalarExpression("radius_polar", "polar(mesh)[0]")
    +AddPlot("Contour", "radius_polar")
    +DrawPlots()
    +Test("radius_ghosts")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +
    +DefineScalarExpression("mag1", "magnitude(vel)")
    +AddPlot("Pseudocolor", "mag1")
    +DrawPlots()
    +
    +Test("magnitude1")
    +DeleteAllPlots()
    +
    +#
    +# We have a poor gradient scheme that will cause gradients along a band to
    +# falsely register as 0.  Regardless, I'd like to test it.
    +#
    +DefineScalarExpression("mag2", "magnitude(gradient(v))")
    +AddPlot("Pseudocolor", "mag2")
    +DrawPlots()
    +
    +Test("magnitude2")
    +DeleteAllPlots()
    +
    +
    +#
    +# See above comment regarding gradients.
    +#
    +DefineScalarExpression("vector_sum", "magnitude(gradient(v)+gradient(u))")
    +AddPlot("Pseudocolor", "vector_sum")
    +DrawPlots()
    +
    +Test("vector_sum")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("vector_diff", "magnitude(gradient(v)-gradient(u))")
    +AddPlot("Pseudocolor", "vector_diff")
    +DrawPlots()
    +
    +Test("vector_diff")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("theta", "polar(mesh1)[1]")
    +AddPlot("Pseudocolor", "theta")
    +DrawPlots()
    +
    +Test("theta")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("phi", "polar(mesh1)[2]")
    +AddPlot("Pseudocolor", "phi")
    +DrawPlots()
    +
    +Test("phi")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("cos", "cos(polar(mesh1)[1])")
    +AddPlot("Pseudocolor", "cos")
    +DrawPlots()
    +
    +Test("cos")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("abs_cos", "abs(cos(polar(mesh1)[1]))")
    +AddPlot("Pseudocolor", "abs_cos")
    +DrawPlots()
    +
    +Test("abs_cos")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("sin", "sin(polar(mesh1)[1])")
    +AddPlot("Pseudocolor", "sin")
    +DrawPlots()
    +
    +Test("sin")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("minus_sin", "-sin(polar(mesh1)[1])")
    +AddPlot("Pseudocolor", "minus_sin")
    +DrawPlots()
    +
    +Test("minus_sin")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("four_phase", "rad2deg(acos(sin(polar(mesh1)[1]))-polar(mesh1)[1])")
    +AddPlot("Pseudocolor", "four_phase")
    +DrawPlots()
    +
    +Test("four_phase")
    +DeleteAllPlots()
    +
    +
    +atts = PseudocolorAttributes()
    +atts.minFlag = 1
    +atts.min = 0.99
    +atts.maxFlag = 1
    +atts.max = 1.01
    +SetDefaultPlotOptions(atts)
    +
    +DefineScalarExpression("one", "sin(polar(mesh1)[1])*sin(polar(mesh1)[1]) + cos(polar(mesh1)[1])*cos(polar(mesh1)[1])")
    +AddPlot("Pseudocolor", "one")
    +DrawPlots()
    +
    +Test("one")
    +DeleteAllPlots()
    +
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +SetDefaultPlotOptions(atts)
    +
    +DefineScalarExpression("X", "coord(mesh1)[0]")
    +AddPlot("Pseudocolor", "X")
    +DrawPlots()
    +
    +Test("X")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("radius", "sqrt(coords(mesh1)[0]*coords(mesh1)[0]+coords(mesh1)[1]*coords(mesh1)[1]+coords(mesh1)[2]*coords(mesh1)[2])")
    +AddPlot("Pseudocolor", "radius")
    +DrawPlots()
    +
    +Test("radius")
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("zero", "(polar(mesh1))[0] - sqrt(coords(mesh1)[0]*coords(mesh1)[0]+coords(mesh1)[1]*coords(mesh1)[1]+coords(mesh1)[2]*coords(mesh1)[2])")
    +AddPlot("Pseudocolor", "zero")
    +DrawPlots()
    +
    +Test("zero")
    +DeleteAllPlots()
    +
    +DefineVectorExpression("dd", "disp+{1,2,3}")
    +AddPlot("Vector", "dd")
    +DrawPlots()
    +
    +Test("vector_add_const")
    +DeleteAllPlots()
    +
    +DefineVectorExpression("cr", "cross(disp,dd)")
    +AddPlot("Vector", "cr")
    +DrawPlots()
    +
    +Test("vector_cross")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("a", "t")
    +AddPlot("Pseudocolor", "a")
    +DrawPlots()
    +Test("identity_expr")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("sum1", "t+100*u")
    +AddPlot("Pseudocolor", "sum1")
    +DrawPlots()
    +Test("diff_centering_expr_01")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("sum2", "(u+t/100.)*100.")
    +AddPlot("Pseudocolor", "sum2")
    +DrawPlots()
    +Test("diff_centering_expr_02")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("diff", "sum2-sum1")
    +AddPlot("Pseudocolor", "diff")
    +DrawPlots()
    +Test("diff_centering_expr_03")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("sum_rc1", "recenter(t)+100*u")
    +AddPlot("Pseudocolor", "sum_rc1")
    +DrawPlots()
    +Test("diff_centering_expr_04")
    +DeleteAllPlots()
    +
    +# This one will recenter the first t.  When the second one is subtracted,
    +# will recenter the first t again to make it zonal again.
    +DefineScalarExpression("diff_rc1", "recenter(t)-t")
    +AddPlot("Pseudocolor", "diff_rc1")
    +DrawPlots()
    +Test("diff_centering_expr_05")
    +DeleteAllPlots()
    +
    +# This one will recenter the first t twice.  The second one will not be 
    +# touched.
    +DefineScalarExpression("diff_rc2", "recenter(recenter(t))-t")
    +AddPlot("Pseudocolor", "diff_rc2")
    +DrawPlots()
    +Test("diff_centering_expr_06")
    +DeleteAllPlots()
    +
    +# The first t will not be touched.  The second one will be recentered once
    +# explicitly and once implicitly (from the minus).
    +DefineScalarExpression("diff_rc3", "t-recenter(t)")
    +AddPlot("Pseudocolor", "diff_rc2")
    +DrawPlots()
    +Test("diff_centering_expr_07")
    +DeleteAllPlots()
    +
    +# The constant (3.14159) will be the only variable in the dataset.  Test
    +# that the constant creation logic can figure out that we must be making
    +# an expression based on the mesh downstream.
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +DefineScalarExpression("sin_x", "sin(3.14159*coord(quadmesh3d)[0])")
    +AddPlot("Pseudocolor", "sin_x")
    +DrawPlots()
    +Test("const_with_no_other_vars")
    +DeleteAllPlots()
    +
    +# The nmats expression needs to use the original zone numbers array to
    +# find the correct index into an avtMaterial object.  Make sure that this is
    +# being done correctly by splitting the zones before we even get to the
    +# expression via MIR.
    +DefineScalarExpression("nmats", "nmats(mat1)")
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Threshold")
    +thresh = ThresholdAttributes()
    +thresh.lowerBounds = (1.5)
    +thresh.listedVarNames = ("nmats")
    +SetOperatorOptions(thresh)
    +DrawPlots()
    +Test("nmats_with_mir")
    +DeleteAllPlots()
    +
    +# Test that a variable (u) can be used in both the expression and downstream
    +# in the pipeline.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "speed")
    +AddOperator("Threshold")
    +thresh = ThresholdAttributes()
    +thresh.lowerBounds = (0.0)
    +thresh.listedVarNames = ("u")
    +SetOperatorOptions(thresh)
    +DrawPlots()
    +Test("mult_var_usage")
    +DeleteAllPlots()
    +
    +# The binary math filter forces mixed centering to be zonal.  The base class
    +# used to get confused and would sometimes declare the variable as nodal.
    +# Test to make sure this works.  By forcing the centering, we can confirm
    +# the base class is declaring the variable the right way.
    +DefineScalarExpression("prod", "u*t")
    +AddPlot("Pseudocolor", "prod")
    +pc = PseudocolorAttributes()
    +pc.centering = pc.Nodal
    +SetPlotOptions(pc)
    +DrawPlots()
    +Test("mixed_centering_nodal")
    +pc = PseudocolorAttributes()
    +pc.centering = pc.Zonal
    +SetPlotOptions(pc)
    +Test("mixed_centering_zonal")
    +
    +# Test that we can handle multiple identity expressions.
    +DefineScalarExpression("sub1", "u")
    +DefineScalarExpression("sub2", "v")
    +DefineScalarExpression("sum", "sub1+sub2")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "sum")
    +DrawPlots()
    +Test("mult_identity_expr")
    +
    +# Test that we can handle identity expressions that are not the first node
    +# of the expression tree.
    +DefineVectorExpression("C", "coord(mesh1)")
    +DefineScalarExpression("X", "C[0]")
    +DefineScalarExpression("Y", "C[1]")
    +DefineScalarExpression("Z", "C[2]")
    +DefineScalarExpression("TX", "X")
    +DefineScalarExpression("TY", "cos_angle*Y - sin_angle*Z + Zt*sin_angle - Yt*cos_angle")
    +DefineScalarExpression("TZ", "sin_angle*Y + cos_angle*Z + Yt*sin_angle - Zt*cos_angle")
    +DefineScalarExpression("Yt", "5")
    +DefineScalarExpression("Zt", "10")
    +DefineScalarExpression("angle", "rad2deg(30)")
    +DefineScalarExpression("sin_angle", "sin(angle)")
    +DefineScalarExpression("cos_angle", "cos(angle)")
    +DefineScalarExpression("rad", "TX*TX + TY*TY + TZ*TZ")
    +AddPlot("Pseudocolor", "rad")
    +DrawPlots()
    +Test("long_identity_expr")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +# Test divide expression
    +DefineScalarExpression('divide1', 'divide(d,p)')
    +AddPlot('Pseudocolor','divide1')
    +DrawPlots()
    +Test('divide1')
    +
    +DefineScalarExpression('divide2', 'divide(d,p,0.0,2.0)')
    +AddPlot('Pseudocolor','divide2')
    +DrawPlots()
    +Test('divide2')
    +DeleteAllPlots()
    +
    +DefineScalarExpression('divide3', 'divide(d,p,1.0,2.0)')
    +AddPlot('Pseudocolor','divide3')
    +DrawPlots()
    +Test('divide3')
    +DeleteAllPlots()
    +
    +# Test resrad
    +DefineScalarExpression("resrad", "resrad(recenter(u), 0.1)")
    +AddPlot("Pseudocolor", "resrad")
    +DrawPlots()
    +Test("resrad")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("resrad2", "resrad(recenter(u))")
    +AddPlot("Pseudocolor", "resrad2")
    +DrawPlots()
    +txt = GetLastError()
    +TestText("resrad_error", txt)
    +
    +DeleteAllPlots()
    +DefineScalarExpression("ident_mesh", "quadmesh2d")
    +AddPlot("Pseudocolor", "ident_mesh")
    +DrawPlots()
    +Test("ident_mesh")
    +
    +TestMinMaxExpression()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_field_operators.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_field_operators.html new file mode 100644 index 000000000..204412c1f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_field_operators.html @@ -0,0 +1,144 @@ + +Results for hybrid/field_operators.py + +

    Results of VisIt Regression Test - hybrid/field_operators

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    field_op_010.000.00
    field_op_020.000.00
    field_op_030.000.00
    field_op_040.000.00
    field_op_050.000.00
    field_op_060.000.00
    field_op_070.000.00
    field_op_080.000.00
    field_op_090.000.00
    field_op_100.000.00
    field_op_110.000.00
    field_op_120.000.00
    field_op_130.000.00
    field_op_140.000.00
    field_op_150.000.00
    field_op_160.000.00
    field_op_170.000.00
    field_op_180.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_field_operators_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_field_operators_py.html new file mode 100644 index 000000000..7b48fff8a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_field_operators_py.html @@ -0,0 +1,258 @@ +hybrid/field_operators.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  field_operators.py
    +#
    +#  Tests:      mesh      - rectilinear, curvilinear
    +#              plots     - vector, contour
    +#
    +#  Defect ID:  '4141, '5343, '6297, '6460, '7063, '8025
    +#
    +#  Programmer: Hank Childs
    +#  Date:       December 13, 2003
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
    +#    Set the vector origin explicitly for some cases because I changed the
    +#    default to Tail.
    +#
    +#    Hank Childs, Mon Jan  3 10:35:56 PST 2005
    +#    Renamed to field_operators.  Added testing for divergence, Laplacian,
    +#    and curl.
    +#
    +#    Hank Childs, Mon Jun  6 11:28:45 PDT 2005
    +#    Add tests for 2D divergence, Laplacian.
    +#
    +#    Hank Childs, Mon Aug 15 14:19:49 PDT 2005
    +#    2D curl now produces a scalar.  Change our test appropriately.
    +#
    +#    Hank Childs, Fri Mar  3 09:01:08 PST 2006
    +#    Add test for Jacobian (2D determinants).  '7063
    +#
    +#    Hank Childs, Mon Jun 18 09:54:09 PDT 2007
    +#    Add test for dot of curl with a vector.  This is really testing the
    +#    ability of macro expressions to maintain secondary variables. '8025
    +#
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Remove obsolete 'colorByMag' vector att with 'colorByMagnitude'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +DefineVectorExpression("grad_t", "gradient(t)")
    +AddPlot("Vector", "grad_t")
    +v = VectorAttributes()
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Zonal UCD gradient.
    +Test("field_op_01")
    +DeleteAllPlots()
    +
    +DefineVectorExpression("grad_u", "gradient(u)")
    +AddPlot("Vector", "grad_u")
    +v = VectorAttributes()
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Nodal UCD gradient.
    +Test("field_op_02")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +DefineVectorExpression("grad_d", "gradient(d)")
    +AddPlot("Vector", "grad_d")
    +v = VectorAttributes()
    +v.colorByMagnitude = 1
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Zonal rect-2d gradient.
    +Test("field_op_03")
    +DeleteAllPlots()
    +
    +AddPlot("Vector", "grad_u")
    +v = VectorAttributes()
    +v.colorByMagnitude = 1
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Nodal rect-2d gradient.
    +Test("field_op_04")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +AddPlot("Vector", "grad_d")
    +v = VectorAttributes()
    +v.nVectors = 447
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Zonal rect-3d gradient.
    +Test("field_op_05")
    +DeleteAllPlots()
    +
    +AddPlot("Vector", "grad_u")
    +v = VectorAttributes()
    +v.vectorOrigin = v.Middle
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +# Nodal rect-3d gradient.
    +Test("field_op_06")
    +DeleteAllPlots()
    +
    +AddPlot("Vector", "vel")
    +DefineScalarExpression("mag", "magnitude(vel)")
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.5)
    +t.upperBounds = (1.5)
    +t.listedVarNames = ("mag")
    +SetOperatorOptions(t)
    +DrawPlots()
    +
    +# Test vector with threshold ('4178)
    +Test("field_op_07")
    +DeleteAllPlots()
    +
    +
    +AddPlot("Vector", "grad_u")
    +v = VectorAttributes()
    +v.vectorOrigin = v.Middle
    +v.nVectors = 400*3
    +SetPlotOptions(v)
    +DefineScalarExpression("u_mag", "magnitude(grad_u)")
    +AddOperator("Isosurface")
    +iso = IsosurfaceAttributes()
    +iso.contourNLevels = 3
    +iso.variable = "u_mag"
    +SetOperatorOptions(iso)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.imageZoom = 4.5
    +SetView3D(v)
    +
    +# Test vector with isosurface ('4207)
    +Test("field_op_08")
    +
    +# Add a contour plot just for grins to show that our isosurface operator is
    +# picking up the same surface as the contour plot.
    +AddPlot("Contour", "u_mag")
    +con = ContourAttributes()
    +con.contourNLevels = 3
    +SetPlotOptions(con)
    +DrawPlots()
    +
    +Test("field_op_09")
    +DeleteAllPlots()
    +
    +# Test that we can calculate the Laplacian.
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +v = GetView3D()
    +v.imageZoom = 1
    +v.viewNormal = (0.41, 0.08, -0.91)
    +SetView3D(v)
    +
    +DefineScalarExpression("LP", "abs(Laplacian(u))")
    +AddPlot("Contour", "LP")
    +c = ContourAttributes()
    +c.scaling = c.Log
    +SetPlotOptions(c)
    +DrawPlots()
    +Test("field_op_10")
    +
    +DefineScalarExpression("div", "divergence(vel)")
    +DeleteAllPlots()
    +AddPlot("Contour", "div")
    +c = ContourAttributes()
    +c.scaling = c.Log
    +SetPlotOptions(c)
    +DrawPlots()
    +Test("field_op_11")
    +
    +
    +# Test multiple macro expressions together -- divergence and Laplacian.
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "div")
    +pc = PseudocolorAttributes()
    +pc.scaling = pc.Log
    +SetPlotOptions(pc)
    +AddOperator("Isosurface")
    +iso = IsosurfaceAttributes()
    +iso.scaling = iso.Log
    +iso.variable = "LP"
    +SetOperatorOptions(iso)
    +DrawPlots()
    +
    +Test("field_op_12")
    +
    +
    +DefineVectorExpression("curl", "curl(vel)")
    +DeleteAllPlots()
    +AddPlot("Vector", "curl")
    +v = VectorAttributes()
    +v.scaleByMagnitude = 0
    +SetPlotOptions(v)
    +DrawPlots()
    +Test("field_op_13")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +DefineScalarExpression("div2", "divergence(vel)")
    +AddPlot("Pseudocolor", "div2")
    +DrawPlots()
    +Test("field_op_14")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("LP2", "Laplacian(d)")
    +AddPlot("Pseudocolor", "LP2")
    +DrawPlots()
    +Test("field_op_15")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("curl2", "curl(vel)")
    +AddPlot("Pseudocolor", "curl2")
    +DrawPlots()
    +Test("field_op_16")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("jacobian", "determinant({gradient(u), gradient(v)})")
    +AddPlot("Pseudocolor", "jacobian")
    +DrawPlots()
    +Test("field_op_17")
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +DefineVectorExpression("mycurl", "curl(vel)")
    +DefineScalarExpression("mydot", "dot(curl,vel)")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "mydot")
    +DrawPlots()
    +Test("field_op_18")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_ghost_node.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_ghost_node.html new file mode 100644 index 000000000..eb6d1fc5f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_ghost_node.html @@ -0,0 +1,42 @@ + +Results for hybrid/ghost_node.py + +

    Results of VisIt Regression Test - hybrid/ghost_node

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ghost_node_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_ghost_node_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_ghost_node_py.html new file mode 100644 index 000000000..e1f819443 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_ghost_node_py.html @@ -0,0 +1,45 @@ +hybrid/ghost_node.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ghost_node.py 
    +#
    +#  Tests:      ghost node removal of multi_curv3d.silo
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       July 6, 2020 
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Fri Mar 12, 2021
    +#    Added DeleteAllPlots before CloseDatabase.
    +#
    +# ----------------------------------------------------------------------------
    +TurnOffAllAnnotations() # defines global object 'a'
    +
    +OpenDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +pc = PseudocolorAttributes()
    +pc.opacityType = pc.Constant
    +pc.opacityVariable = ""
    +pc.opacity = 0.25
    +SetPlotOptions(pc)
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (-0.491824, 0.420414, 0.76247)
    +v.focus = (0, 2.5, 15)
    +v.viewUp = (0.214182, 0.907212, -0.362066)
    +v.viewAngle = 30
    +v.parallelScale = 16.0078
    +v.nearPlane = -32.0156
    +v.farPlane = 32.0156
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +SetView3D(v)
    +
    +Test("ghost_node_01")
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_image_proc.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_image_proc.html new file mode 100644 index 000000000..8ab9bb268 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_image_proc.html @@ -0,0 +1,54 @@ + +Results for hybrid/image_proc.py + +

    Results of VisIt Regression Test - hybrid/image_proc

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    image_proc_010.000.00
    image_proc_020.000.00
    image_proc_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_image_proc_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_image_proc_py.html new file mode 100644 index 000000000..188591b6b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_image_proc_py.html @@ -0,0 +1,34 @@ +hybrid/image_proc.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  image_proc.py
    +#
    +#  Tests:      mesh      - Image
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  '6492
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 19, 2005
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(data_path("Image_test_data/manhattan.jpg"))
    +
    +DefineScalarExpression("cm", "conservative_smoothing(intensity)")
    +AddPlot("Pseudocolor", "cm")
    +DrawPlots()
    +Test("image_proc_01")
    +
    +DefineScalarExpression("median", "median_filter(intensity)")
    +ChangeActivePlotsVar("median")
    +Test("image_proc_02")
    +
    +DefineScalarExpression("mean", "mean_filter(intensity)")
    +ChangeActivePlotsVar("mean")
    +Test("image_proc_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_keyframe.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_keyframe.html new file mode 100644 index 000000000..011acc6fb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_keyframe.html @@ -0,0 +1,501 @@ + +Results for hybrid/keyframe.py + +

    Results of VisIt Regression Test - hybrid/keyframe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Simple 6 frame animation
    keyframe_010.000.00
    keyframe_020.000.00
    keyframe_030.000.00
    keyframe_040.000.00
    keyframe_050.000.00
    keyframe_060.000.00
    Setting plot frame range
    keyframe_070.000.00
    keyframe_080.000.00
    keyframe_090.000.00
    keyframe_100.000.00
    keyframe_110.000.00
    keyframe_120.000.00
    Setting a plot attributes keyframe
    keyframe_130.000.00
    keyframe_140.000.00
    keyframe_150.000.00
    keyframe_160.000.00
    keyframe_170.000.00
    keyframe_180.000.00
    Removing a plot attributes keyframe
    keyframe_190.000.00
    keyframe_200.000.00
    keyframe_210.000.00
    keyframe_220.000.00
    keyframe_230.000.00
    keyframe_240.000.00
    Deleting another plot attributes keyframe
    keyframe_250.000.00
    keyframe_260.000.00
    keyframe_270.000.00
    keyframe_280.000.00
    keyframe_290.000.00
    keyframe_300.000.00
    Decreasing number of animation frames
    keyframe_310.000.00
    keyframe_320.000.00
    keyframe_330.000.00
    keyframe_340.000.00
    Copying keyframed plot to a new window
    keyframe_350.000.00
    keyframe_360.000.00
    keyframe_370.000.00
    keyframe_380.000.00
    Turning off keyframe mode
    keyframe_390.000.00
    keyframe_400.000.00
    keyframe_410.000.00
    keyframe_420.000.00
    Testing view keyframing
    keyframe_430.000.00
    keyframe_440.000.00
    keyframe_450.000.00
    keyframe_460.000.00
    keyframe_470.000.00
    keyframe_480.000.00
    keyframe_490.000.00
    keyframe_500.000.00
    keyframe_510.000.00
    keyframe_520.000.00
    keyframe_530.000.00
    Moving keyframes
    keyframe_540.000.00
    keyframe_550.000.00
    keyframe_560.000.00
    keyframe_570.000.00
    keyframe_580.000.00
    keyframe_590.000.00
    keyframe_600.000.00
    keyframe_610.000.00
    keyframe_620.000.00
    Operator keyframes
    keyframe_630.000.00
    keyframe_640.000.00
    keyframe_650.000.00
    keyframe_660.000.00
    keyframe_670.000.00
    keyframe_680.000.00
    keyframe_690.000.00
    keyframe_700.000.00
    keyframe_710.000.00
    keyframe_720.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_keyframe_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_keyframe_py.html new file mode 100644 index 000000000..fed2271ee --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_keyframe_py.html @@ -0,0 +1,544 @@ +hybrid/keyframe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  keyframe.py
    +#
    +#  Tests:      mesh      - 3D structured, single domain
    +#              plots     - pc, mesh
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Thu Dec 19 16:02:41 PST 2002
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Apr 7 17:24:41 PST 2004
    +#    I added TestSection to break up the test images a little. I also updated
    +#    the code so it uses the new time slider functions instead of the
    +#    deprecated animation functions.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +#
    +#    Eric Brugger, Wed Mar 22 16:23:12 PDT 2023
    +#    Added operator keyframe tests.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# Open a database.
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +# Enable keyframe mode.
    +k = GetKeyframeAttributes()
    +k.enabled = 1
    +SetKeyframeAttributes(k)
    +
    +# Set the number of frames to be 6.
    +AnimationSetNFrames(6)
    +
    +# Create a pseudocolor plot that exists over the first
    +# 6 frames of the animation.
    +AddPlot("Pseudocolor", "pressure")
    +SetPlotFrameRange(0, 0, 5)
    +
    +# Set the attributes at the first and last frame.
    +SetTimeSliderState(0)
    +pc = PseudocolorAttributes()
    +pc.min = 0
    +pc.max = 0.2
    +pc.minFlag = 1
    +pc.maxFlag = 1
    +SetPlotOptions(pc)
    +
    +SetTimeSliderState(5)
    +pc.max = 0.5
    +SetPlotOptions(pc)
    +
    +# Create a mesh plot that exists over frames 2
    +# through 4.
    +AddPlot("Mesh", "quadmesh")
    +
    +SetPlotFrameRange(1, 2, 4)
    +SetPlotDatabaseState(1, 2, 28)
    +SetPlotDatabaseState(1, 4, 56)
    +
    +# Cycle through all the frames, checking that all
    +# the images are correct.
    +TestSection("Simple 6 frame animation")
    +SetTimeSliderState(0)
    +DrawPlots()
    +Test("keyframe_01")
    +TimeSliderNextState()
    +Test("keyframe_02")
    +TimeSliderNextState()
    +Test("keyframe_03")
    +TimeSliderNextState()
    +Test("keyframe_04")
    +TimeSliderNextState()
    +Test("keyframe_05")
    +TimeSliderNextState()
    +Test("keyframe_06")
    +
    +# Change to frame 4, change the frame range and
    +# check that all the frames are ok.
    +TestSection("Setting plot frame range")
    +SetTimeSliderState(4)
    +SetPlotFrameRange(1, 0, 2)
    +SetPlotDatabaseState(1, 0, 0)
    +SetPlotDatabaseState(1, 2, 28)
    +
    +SetTimeSliderState(0)
    +Test("keyframe_07")
    +TimeSliderNextState()
    +Test("keyframe_08")
    +TimeSliderNextState()
    +Test("keyframe_09")
    +TimeSliderNextState()
    +Test("keyframe_10")
    +TimeSliderNextState()
    +Test("keyframe_11")
    +TimeSliderNextState()
    +Test("keyframe_12")
    +
    +SetActivePlots(1)
    +DeleteActivePlots()
    +
    +# Set the pseudocolor attributes for frame 2 and
    +# check that all the frames are ok.
    +TestSection("Setting a plot attributes keyframe")
    +SetActivePlots(0)
    +SetTimeSliderState(2)
    +pc.max = 0.7
    +SetPlotOptions(pc)
    +
    +SetTimeSliderState(0)
    +Test("keyframe_13")
    +TimeSliderNextState()
    +Test("keyframe_14")
    +TimeSliderNextState()
    +Test("keyframe_15")
    +TimeSliderNextState()
    +Test("keyframe_16")
    +TimeSliderNextState()
    +Test("keyframe_17")
    +TimeSliderNextState()
    +Test("keyframe_18")
    +
    +# Delete the keyframe at frame 2 and check that
    +# all the frames are ok.
    +TestSection("Removing a plot attributes keyframe")
    +SetTimeSliderState(2)
    +DeletePlotKeyframe(0, 2)
    +
    +SetTimeSliderState(0)
    +Test("keyframe_19")
    +TimeSliderNextState()
    +Test("keyframe_20")
    +TimeSliderNextState()
    +Test("keyframe_21")
    +TimeSliderNextState()
    +Test("keyframe_22")
    +TimeSliderNextState()
    +Test("keyframe_23")
    +TimeSliderNextState()
    +Test("keyframe_24")
    +
    +# Delete the keyframe at frame 5 and check that
    +# all the frames are ok.
    +TestSection("Deleting another plot attributes keyframe")
    +DeletePlotKeyframe(0, 5)
    +
    +SetTimeSliderState(0)
    +Test("keyframe_25")
    +TimeSliderNextState()
    +Test("keyframe_26")
    +TimeSliderNextState()
    +Test("keyframe_27")
    +TimeSliderNextState()
    +Test("keyframe_28")
    +TimeSliderNextState()
    +Test("keyframe_29")
    +TimeSliderNextState()
    +Test("keyframe_30")
    +
    +# Change the number of frames to 4.  Create a
    +# pseudocolor plot that changes its range but
    +# keeps the database state constant at 0.  Check
    +# that all the frames are ok.
    +TestSection("Decreasing number of animation frames")
    +DeleteActivePlots()
    +AnimationSetNFrames(4)
    +AddPlot("Pseudocolor", "pressure")
    +SetPlotFrameRange(0, 0, 3)
    +SetTimeSliderState(0)
    +pc.max = 0.2
    +SetPlotOptions(pc)
    +SetTimeSliderState(3)
    +pc.max = 0.5
    +SetPlotOptions(pc)
    +DeletePlotDatabaseKeyframe(0, 3)
    +DrawPlots()
    +
    +SetTimeSliderState(0)
    +Test("keyframe_31")
    +TimeSliderNextState()
    +Test("keyframe_32")
    +TimeSliderNextState()
    +Test("keyframe_33")
    +TimeSliderNextState()
    +Test("keyframe_34")
    +
    +# Test copying plots to a new window.
    +TestSection("Copying keyframed plot to a new window")
    +SetTimeSliderState(2)
    +AddWindow()
    +SetActiveWindow(2)
    +CopyPlotsToWindow(1, 2)
    +CopyAnnotationsToWindow(1, 2)
    +CopyViewToWindow(1, 2)
    +DrawPlots()
    +
    +Test("keyframe_35")
    +TimeSliderNextState()
    +Test("keyframe_36")
    +TimeSliderNextState()
    +Test("keyframe_37")
    +TimeSliderNextState()
    +Test("keyframe_38")
    +
    +# Take the window out of keyframe mode and
    +# check that setting the plot attributes sets
    +# them for all the frames.
    +TestSection("Turning off keyframe mode")
    +k.enabled = 0
    +SetKeyframeAttributes(k)
    +
    +SetPlotDatabaseState(0, 3, 3)
    +SetTimeSliderState(3)
    +pc.minFlag = 0
    +pc.maxFlag = 0
    +SetPlotOptions(pc)
    +
    +SetTimeSliderState(0)
    +Test("keyframe_39")
    +TimeSliderNextState()
    +Test("keyframe_40")
    +TimeSliderNextState()
    +Test("keyframe_41")
    +TimeSliderNextState()
    +Test("keyframe_42")
    +
    +# Clear the window, reset the view and enable
    +# keyframe mode in preparation to test view
    +# keyframing.
    +TestSection("Testing view keyframing")
    +DeleteAllPlots()
    +ResetView()
    +k.enabled = 1
    +SetKeyframeAttributes(k)
    +
    +# Open a database.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +# Set the number of frames to be 9.
    +AnimationSetNFrames(9)
    +
    +# Create a pseudocolor plot that exists over the first
    +# 9 frames of the animation.
    +AddPlot("Pseudocolor", "u")
    +SetPlotFrameRange(0, 0, 8)
    +
    +# Create 5 view keyframes.
    +SetTimeSliderState(0)
    +v = GetView3D()
    +v.SetViewNormal(1, 0, 0)
    +v.SetFocus(0, 0, 0)
    +v.SetViewUp(0, 0, 1)
    +v.SetViewAngle(30)
    +v.SetParallelScale(17.3205)
    +v.SetNearPlane(-34.641)
    +v.SetFarPlane(34.641)
    +v.SetPerspective(1)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(2)
    +v.SetViewNormal(0, 1, 0)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(4)
    +v.SetViewNormal(-1, 0, 0)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(6)
    +v.SetViewNormal(0, -1, 0)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(8)
    +v.SetViewNormal(1, 0, 0)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +# Render the first frame.
    +SetTimeSliderState(0)
    +DrawPlots()
    +
    +# Enter camera view mode and cycle through all the
    +# frames, checking that all the images are correct.
    +ToggleCameraViewMode()
    +Test("keyframe_43")
    +TimeSliderNextState()
    +Test("keyframe_44")
    +TimeSliderNextState()
    +Test("keyframe_45")
    +TimeSliderNextState()
    +Test("keyframe_46")
    +TimeSliderNextState()
    +Test("keyframe_47")
    +TimeSliderNextState()
    +Test("keyframe_48")
    +TimeSliderNextState()
    +Test("keyframe_49")
    +TimeSliderNextState()
    +Test("keyframe_50")
    +TimeSliderNextState()
    +Test("keyframe_51")
    +
    +# Delete the view keyframe at frame 8 and check the image.
    +DeleteViewKeyframe(8)
    +Test("keyframe_52")
    +
    +# Clear all the view keyframes and check the first image.
    +ClearViewKeyframes()
    +TimeSliderNextState()
    +Test("keyframe_53")
    +
    +# Clear the window and reset the view in preparation
    +# to test moving keyframes.
    +TestSection("Moving keyframes")
    +DeleteAllPlots()
    +ResetView()
    +
    +# Open a database.
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +# Set the number of frames to be 6.
    +AnimationSetNFrames(6)
    +
    +# Create a pseudocolor plot that exists over the first
    +# 6 frames of the animation.
    +AddPlot("Pseudocolor", "pressure")
    +SetPlotFrameRange(0, 0, 5)
    +
    +# Set 3 keyframes.
    +SetTimeSliderState(0)
    +pc = PseudocolorAttributes()
    +pc.min = 0
    +pc.max = 0.2
    +pc.minFlag = 1
    +pc.maxFlag = 1
    +SetPlotOptions(pc)
    +
    +SetTimeSliderState(3)
    +pc.max = 0.7
    +SetPlotOptions(pc)
    +
    +SetTimeSliderState(5)
    +pc.max = 0.5
    +SetPlotOptions(pc)
    +
    +# Render all the images.
    +SetTimeSliderState(0)
    +DrawPlots()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +# Move the keyframe at frame 3 to 4, regenerate all
    +# the frames and check a few of them.
    +MovePlotKeyframe(0, 3, 4)
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +SetTimeSliderState(2)
    +Test("keyframe_54")
    +SetTimeSliderState(4)
    +Test("keyframe_55")
    +SetTimeSliderState(5)
    +Test("keyframe_56")
    +
    +# Delete the last 2 keyframes, move the database
    +# keyframe from frame 5 to 3, regenerate all
    +# the frames and check a few of them.
    +DeletePlotKeyframe(0, 4)
    +DeletePlotKeyframe(0, 5)
    +
    +MovePlotDatabaseKeyframe(0, 5, 3)
    +SetTimeSliderState(0)
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +SetTimeSliderState(1)
    +Test("keyframe_57")
    +SetTimeSliderState(3)
    +Test("keyframe_58")
    +SetTimeSliderState(4)
    +Test("keyframe_59")
    +
    +# Delete the second database keyframe, create
    +# 3 view keyframes and regenerate all the images.
    +DeletePlotDatabaseKeyframe(0, 3)
    +
    +SetTimeSliderState(0)
    +v = GetView3D()
    +v.SetViewNormal(-1, 0, 1)
    +v.SetFocus(5, 0.35, 2.5)
    +v.SetViewUp(0, 1, 0)
    +v.SetViewAngle(30)
    +v.SetParallelScale(5.6009)
    +v.SetNearPlane(-11.2018)
    +v.SetFarPlane(11.2018)
    +v.SetPerspective(1)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(2)
    +v.SetViewNormal(0, 0, 1)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +SetTimeSliderState(5)
    +v.SetViewNormal(1, 0, 1)
    +SetView3D(v)
    +SetViewKeyframe()
    +
    +ToggleCameraViewMode()
    +SetTimeSliderState(0)
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +# Move the view keyframe at frame 2 to frame 3,
    +# regenerate all the frames and check a few of them.
    +MoveViewKeyframe(2, 3)
    +SetTimeSliderState(0)
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +SetTimeSliderState(2)
    +Test("keyframe_60")
    +SetTimeSliderState(3)
    +Test("keyframe_61")
    +SetTimeSliderState(4)
    +Test("keyframe_62")
    +
    +# Clear the window and reset the view in preparation
    +# to test operator keyframes.
    +TestSection("Operator keyframes")
    +DeleteAllPlots()
    +ResetView()
    +
    +# Open a database.
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +# Set the number of frames to be 11.
    +AnimationSetNFrames(11)
    +
    +# Create a pseudocolor plot that exists over the first
    +# 11 frames of the animation.
    +AddPlot("Pseudocolor", "hardyglobal")
    +AddOperator("Slice")
    +AddOperator("Isosurface")
    +SetPlotFrameRange(0, 0, 10)
    +
    +# Set 3 slice keyframes.
    +SetTimeSliderState(0)
    +slice = SliceAttributes()
    +slice.originType = slice.Percent
    +slice.originPercent = 0
    +slice.project2d = 0
    +SetOperatorOptions(slice)
    +SetTimeSliderState(2)
    +SetOperatorOptions(slice)
    +SetTimeSliderState(10)
    +slice.originPercent = 100
    +SetOperatorOptions(slice)
    +
    +# Set 2 isosurface keyframes.
    +SetTimeSliderState(0)
    +iso = IsosurfaceAttributes()
    +SetOperatorOptions(iso)
    +SetTimeSliderState(5)
    +iso.contourNLevels = 5
    +SetOperatorOptions(iso)
    +
    +SetTimeSliderState(0)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.225979, 0.625179, 0.747051)
    +v.focus = (0, 0, 0)
    +v.viewUp = (-0.965293, 0.246786, 0.0854703)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.perspective = 1
    +SetView3D(v)
    +
    +# Check a bunch of frames.
    +Test("keyframe_63")
    +SetTimeSliderState(2)
    +Test("keyframe_64")
    +SetTimeSliderState(5)
    +Test("keyframe_65")
    +SetTimeSliderState(7)
    +Test("keyframe_66")
    +SetTimeSliderState(10)
    +Test("keyframe_67")
    +
    +# Delete the slice keyframe and move the isosurface keyframe.
    +DeleteOperatorKeyframe(0, 0, 2)
    +MoveOperatorKeyframe(0, 1, 5, 10)
    +
    +# Check a bunch of frames.
    +SetTimeSliderState(0)
    +Test("keyframe_68")
    +SetTimeSliderState(2)
    +Test("keyframe_69")
    +SetTimeSliderState(5)
    +Test("keyframe_70")
    +SetTimeSliderState(7)
    +Test("keyframe_71")
    +SetTimeSliderState(10)
    +Test("keyframe_72")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_lambda2.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_lambda2.html new file mode 100644 index 000000000..813dab2bf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_lambda2.html @@ -0,0 +1,54 @@ + +Results for hybrid/lambda2.py + +

    Results of VisIt Regression Test - hybrid/lambda2

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    iso_lambda20.000.00
    contour_lambda20.000.00
    pseudo_lambda20.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_lambda2_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_lambda2_py.html new file mode 100644 index 000000000..965fdad69 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_lambda2_py.html @@ -0,0 +1,53 @@ +hybrid/lambda2.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lambda2.py
    +#
    +#  Tests:#     plots   - pseudocolor, contour
    +#  Defect ID:  1829
    +#
    +#  Programmer: Kevin Griffin
    +#  Date:       Tue Aug 5 15:01:27 PDT 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +ds = data_path("miranda_test_data/TG_vortex/plot.raw")
    +OpenDatabase(ds)
    +DefineScalarExpression("lambda2", "lambda2(gradient(velocity[0]), gradient(velocity[1]), gradient(velocity[2]))")
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +#
    +# Test 1
    +#
    +AddPlot("Pseudocolor", "lambda2")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -999.99
    +IsovolumeAtts.ubound = 0.0
    +IsovolumeAtts.variable = "default"
    +SetOperatorOptions(IsovolumeAtts)
    +
    +DrawPlots()
    +Test("iso_lambda2")
    +DeleteAllPlots()
    +
    +#
    +# Test 2
    +#
    +AddPlot("Contour", "lambda2")
    +DrawPlots()
    +Test("contour_lambda2")
    +DeleteAllPlots()
    +
    +#
    +# Test 3
    +#
    +AddPlot("Pseudocolor", "lambda2")
    +DrawPlots()
    +Test("pseudo_lambda2")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_lineout.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_lineout.html new file mode 100644 index 000000000..2f5bc2167 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_lineout.html @@ -0,0 +1,247 @@ + +Results for hybrid/lineout.py + +

    Results of VisIt Regression Test - hybrid/lineout

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Lineout2d0.000.00
    CurvesFrom2d_withSampling0.000.00
    Lineout3d0.000.00
    CurvesFrom3d_withSampling0.000.00
    MultiVarLineout2d0.000.00
    MultiVarCurvesFrom2d_withSampling0.000.00
    LineoutSAMRAI0.000.00
    CurvesFromSAMRAI_withSampling0.000.00
    LineoutSpecifyWindow_010.000.00
    CurvesFromSpecifyWindow_01_withSampling0.000.00
    LineoutSpecifyWindow_020.000.00
    CurvesFromSpecifyWindow_02_withSampling0.000.00
    Lineout2d_output_040 modifications totalling 0 lines
    Lineout2d_output_080 modifications totalling 0 lines
    CurvesFrom2d_noSampling0.000.00
    Lineout2d_output_020 modifications totalling 0 lines
    Lineout2d_output_150 modifications totalling 0 lines
    CurvesFrom3d_noSampling0.000.00
    MultiVarCurvesFrom2d_noSampling0.000.00
    CurvesFromSAMRAI_noSampling0.000.00
    CurvesFromSpecifyWindow_01_noSampling0.000.00
    CurvesFromSpecifyWindow_02_noSampling0.000.00
    CurvesFromDynamic_010.000.00
    CurvesFromDynamic_020.000.00
    CurvesFromDynamic_030.000.00
    CurvesFromDynamic_040.000.00
    CurvesFromDynamic_050.000.00
    CurvesFromDynamic_060.000.00
    Dynamic2_010.000.00
    Dynamic2_020.000.00
    Dynamic2_030.000.00
    LineoutTecPlot_010.000.00
    CurvesFromTecPlot_010.000.00
    Operator-Created Variables
    lineout_op_vars_000.000.00
    lineout_op_vars_010.000.00
    lineout_op_vars_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_lineout_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_lineout_py.html new file mode 100644 index 000000000..4e35ceb69 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_lineout_py.html @@ -0,0 +1,661 @@ +hybrid/lineout.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lineout.py #
    +#  Tests:      plots     - Curve
    +#              operators - Lineout
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Jan 3 14:22:41 PST 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Mon Mar 17 09:54:14 PST 2003
    +#    Added TestMultiVarLineout2D.
    +#
    +#    Kathleen Bonnell, Tue Dec 23 09:29:29 PST 2003 
    +#    Added TestSAMRAI.
    +#
    +#    Kathleen Bonnell, Thu Jul 29 11:59:35 PDT 2004 
    +#    Added tests for no-sampling version, renamed old Curve* tests to
    +#    indicate they were generated with-sampling. 
    +#
    +#    Kathleen Bonnell, Thu Aug  5 10:44:22 PDT 2004 
    +#    Added calls to ResetPickLetter() and ResetLineoutColor() at the end of
    +#    each test, so that failure on any one test won't necessarily affect the
    +#    tests that follow. 
    +#
    +#    Kathleen Bonnell, Wed Nov 24 11:38:55 PST 2004 
    +#    Modified the way that sampling gets turned on due to changes in Lineout
    +#    Attributes and GlobalLineoutAttributes.  Use global version to turn
    +#    sampling on and off. 
    +#
    +#    Kathleen Bonnell, Fri Feb  4 11:17:56 PST 2005 
    +#    Added TestDynamic, to test new global atts: curveOption and colorOption.
    +#
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Kathleen Bonnell, Wed Mar 23 17:58:20 PST 2005 
    +#    Added TestDynamic2. 
    +#
    +#    Kathleen Bonnell, hu May 19 11:26:39 PDT 2005 
    +#    Added TestTecPlot. 
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Kathleen Bonnell, Tue Jun 20 16:02:38 PDT 2006
    +#    Added tests for GetOutputArray to Lineout2D.
    +#
    +#    Kathleen Bonnell, Wed Jun 28 15:57:58 PDT 2006
    +#    Added tests to TestDynamicLineout, testing having curves from  different
    +#    time-varying databases (same originating window and different originating
    +#    window) in same curve window, and update the curves via the originating
    +#    plots time-slider (bug '7002).
    +#
    +#    Brad Whitlock, Wed Jan 14 16:12:10 PST 2009
    +#    I changed the call to GetOutputArray. It's no longer a built-in function
    +#    in the CLI.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Brad Whitlock, Tue Mar 26 12:06:51 PDT 2013
    +#    I added TestOperatorCreatedVariables.
    +#
    +#    Kathleen Biagas, Wed Feb 24 10:11:35 PST 2021
    +#    Remove setting of Pseudocolor colorTableName name to 'Default', as
    +#    that is now the default anyways.
    +#    Reset default continuous color table to 'hot' after a test that changes
    +#    it is finished, so that other tests aren't affected.
    +#
    +#    Justin Privitera, Wed May 18 11:25:46 PDT 2022
    +#    Changed *active* to *default* for everything related to color tables.
    +# 
    +# ----------------------------------------------------------------------------
    +
    +def GetOutputArray(plotID = -1, winID = -1):
    +    gInfo = GetGlobalAttributes()
    +    oldWin = gInfo.windows[gInfo.activeWindow]
    +    # Set the active window
    +    if winID != -1:
    +        SetActiveWindow(winID)
    +
    +    # Get the active plots
    +    active = []
    +    if plotID != -1:
    +        pL = GetPlotList()
    +        for i in range(pL.GetNumPlots()):
    +            if pL.GetPlots(i).activeFlag:
    +                active = active + [i]
    +        SetActivePlots(plotID)
    +
    +    pInfo = GetPlotInformation()
    +
    +    # Restore the old active plots
    +    if len(active) > 0:
    +        SetActivePlots(tuple(active))
    +
    +    # Restore the old active window
    +    if winID != -1:
    +        SetActiveWindow(oldWin)
    +
    +    return pInfo["Curve"]
    +
    +def InitAnnotation():
    +    a = AnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +    a.axes2D.visible = 1
    +    a.axes2D.xAxis.label.visible = 0
    +    a.axes2D.yAxis.label.visible = 0
    +    a.axes2D.xAxis.title.visible = 0
    +    a.axes2D.yAxis.title.visible = 0
    +    SetAnnotationAttributes(a)
    +
    +def TestLineout2D(time, suffix):
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    # Set the colortable to one that has white at the bottom values.
    +    SetDefaultContinuousColorTable("calewhite")
    +
    +    # Create the variable list.
    +    vars = ("default")
    +
    +    # Do some lineouts.
    +    p0 = (-4.01261, 1.91818)
    +    p1 = (-0.693968, 4.448759)
    +    p2 = (4.144392, 1.713066)
    +    nsteps = 15
    +    for i in range(nsteps):
    +        t = float(i) / float(nsteps - 1)
    +        p3x = t * p2[0] + (1. - t) * p1[0]
    +        p3y = t * p2[1] + (1. - t) * p1[1]
    +        SetActiveWindow(1)
    +        Lineout(p0, (p3x, p3y), vars)
    +
    +    if (time == 1):
    +        SetActiveWindow(1)
    +        Test("Lineout2d")
    +
    +    if (time == 2):
    +        SetActiveWindow(1)
    +        oa = GetOutputArray(4, 2)
    +        s = ''.join(['%f, '% x for x in oa])
    +        s = '(' + s + ')'
    +        TestText("Lineout2d_output_04", s)
    +        oa = GetOutputArray(8, 2)
    +        s = ''.join(['%f, '% x for x in oa])
    +        s = '(' + s + ')'
    +        TestText("Lineout2d_output_08", s)
    +
    +    SetActiveWindow(2)
    +
    +    InitAnnotation()
    +    Test("CurvesFrom2d" + suffix)
    +
    +    if (time == 2):
    +        oa = GetOutputArray(2)
    +        s = ''.join(['%f, '% x for x in oa])
    +        s = '(' + s + ')'
    +        TestText("Lineout2d_output_02", s)
    +        oa = GetOutputArray()
    +        s = ''.join(['%f, '% x for x in oa])
    +        s = '(' + s + ')'
    +        TestText("Lineout2d_output_15", s)
    +
    +    # Reset the CT to 'hot'
    +    SetDefaultContinuousColorTable("hot")
    +    # Delete the second window.
    +    DeleteWindow()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +
    +def TestLineout3D(time, suffix):
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    # Set the view
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.65577, 0.350079, 0.668888)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.218553, 0.936082, -0.275655)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.perspective = 1
    +    SetView3D(v)
    +
    +    # Do some lineouts
    +    vars = ("default")
    +    p0 = (-10., -10., -10.)
    +    P  = ((-10., -10., 10.), (-10., 10., -10.), (-10., 10., 10.),\
    +(10., -10., -10.), (10., -10., 10.), (10., 10., -10.), (10., 10., 10.))
    +    for p in P:
    +        SetActiveWindow(1)
    +        Lineout(p0, p, vars)
    +
    +    if (time == 1):
    +        SetActiveWindow(1)
    +        pc = PseudocolorAttributes()
    +        pc.colorTableName = "xray"
    +        pc.SetOpacityType(pc.Constant)
    +        pc.opacity = 0.5
    +        SetPlotOptions(pc)
    +        Test("Lineout3d")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("CurvesFrom3d" + suffix)
    +
    +    # Delete the second window.
    +    DeleteWindow()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +
    +def TestMultiVarLineout2D(time, suffix):
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    # Do some lineouts
    +    vars = ("p", "u", "v")
    +    Y = (2, 3, 4)
    +    x1 = -4.5
    +    x2 = 4.5
    +    for y in Y:
    +        SetActiveWindow(1)
    +        Lineout((x1, y), (x2, y), vars)
    +
    +    if (time == 1):
    +        SetActiveWindow(1)
    +        Test("MultiVarLineout2d")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("MultiVarCurvesFrom2d" + suffix)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +
    +def TestSAMRAI(time, suffix):
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    AddPlot("Pseudocolor", "Primitive Var _number_0")
    +    DrawPlots()
    +
    +    # Set the colortable to one that has white at the bottom values.
    +    SetDefaultContinuousColorTable("rainbow")
    +
    +    AddOperator("Slice", 1)
    +    slice = SliceAttributes()
    +    slice.originType = slice.Percent
    +    slice.originPercent = 18
    +    slice.axisType = slice.ZAxis
    +    slice.project2d = 1
    +    SetOperatorOptions(slice, 0, 1)
    +    DrawPlots()
    +    ResetView()
    +
    +    SetTimeSliderState(1)
    +
    +    #Do some lineouts
    +    p0 = (3, 3)
    +    p1 = (0, 20)
    +    p2 = (30, 0)
    +    nsteps = 15
    +    for i in range(nsteps):
    +        t = float(i) / float(nsteps - 1)
    +        p3x = t * p2[0] + (1. - t) * p1[0]
    +        p3y = t * p2[1] + (1. - t) * p1[1]
    +        SetActiveWindow(1)
    +        Lineout(p0, (p3x, p3y))
    +
    +    if (time == 1):
    +        SetActiveWindow(1)
    +        Test("LineoutSAMRAI")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("CurvesFromSAMRAI" + suffix)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +    SetDefaultContinuousColorTable("hot")
    +
    +def TestSpecifyLineoutWindow(time, suffix):
    +    #window 1
    +    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    DrawPlots()
    +    ResetView()
    +
    +    Lineout((0, 2.5), (5, 2.5))
    +
    +    if (time == 1):
    +        SetActiveWindow(1)
    +        InitAnnotation()
    +        Test("LineoutSpecifyWindow_01")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("CurvesFromSpecifyWindow_01" + suffix)
    +
    +    SetActiveWindow(1)
    +    CloneWindow()
    +    #window 3
    +    SetTimeSliderState(4)
    +    DrawPlots()
    +
    +
    +    gla = GetGlobalLineoutAttributes()
    +    gla.createWindow = 0
    +    gla.windowId = 4
    +    SetGlobalLineoutAttributes(gla)
    +
    +    Lineout((0, 2.5), (5, 2.5))
    +
    +    if (time == 1):
    +        SetActiveWindow(3)
    +        InitAnnotation()
    +        Test("LineoutSpecifyWindow_02")
    +
    +    SetActiveWindow(4)
    +    InitAnnotation()
    +    Test("CurvesFromSpecifyWindow_02" + suffix)
    +
    +    DeleteWindow()
    +    SetActiveWindow(3)
    +    DeleteWindow()
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +    gla.createWindow = 1
    +    gla.windowId = 2
    +    SetGlobalLineoutAttributes(gla)
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +
    +def TestDynamicLineout(time, suffix):
    +    if (time == 1):
    +        return
    +    #window 1
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    ResetView()
    +
    +    Lineout((0, 0.5, 2.5), (10, 0.5, 2.5))
    +
    +    gla = GetGlobalLineoutAttributes()
    +    gla.Dynamic = 1
    +    gla.curveOption = gla.UpdateCurve
    +    SetGlobalLineoutAttributes(gla)
    +
    +    SetActiveWindow(1)
    +    t = 0
    +    for i in range (10):
    +        t += 5
    +        SetTimeSliderState(t)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    ResetView()
    +    Test("CurvesFromDynamic_01")
    +
    +    # go back to the beginning time state
    +    # and have new curves created for each new time 
    +    SetActiveWindow(1)
    +    t = 0
    +    SetTimeSliderState(t)
    +
    +    gla.curveOption = gla.CreateCurve
    +    SetGlobalLineoutAttributes(gla)
    +    for i in range (7):
    +        t += 5
    +        SetTimeSliderState(t)
    +
    +    # now have each new curve have its own color.
    +    gla.colorOption = gla.CreateColor
    +    SetGlobalLineoutAttributes(gla)
    +    for i in range (7):
    +        t += 5
    +        SetTimeSliderState(t)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    ResetView()
    +    Test("CurvesFromDynamic_02")
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +    # delete window 2
    +    DeleteWindow()
    +    # clear all plots from window 1
    +    DeleteAllPlots()
    +
    +    dbs = (data_path("pdb_test_data/dbA00.pdb"),
    +           data_path("pdb_test_data/dbB00.pdb"),
    +           data_path("pdb_test_data/dbC00.pdb"))
    +    OpenDatabase(dbs[0])
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    OpenDatabase(dbs[1])
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    DrawPlots()
    +
    +    AddWindow()
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    OpenDatabase(dbs[2])
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    DrawPlots()
    +
    +    gla.Dynamic = 1
    +    gla.curveOption = gla.UpdateCurve
    +    SetGlobalLineoutAttributes(gla)
    +
    +    #Lineout for dbC00.pdb in window 2
    +    Lineout((5.0, 7.5, 0.), (10, 7.5, 0.))
    +
    +    SetActiveWindow(1)
    +    SetActivePlots(1)
    +
    +    #Lineout for dbB00.pdb in window 1
    +    Lineout((0, 8, 0), (5, 8, 0))
    +
    +    SetActivePlots(0)
    +    #Lineout for dbA00.pdb in window 1
    +    Lineout((0, 3, 0), (5, 3, 0))
    +
    +
    +    SetActiveWindow(3)
    +    InitAnnotation()
    +    Test("CurvesFromDynamic_03")
    +
    +    SetActiveWindow(1)
    +    SetActiveTimeSlider(dbs[1])
    +    SetTimeSliderState(15)
    +
    +    SetActiveWindow(3)
    +    Test("CurvesFromDynamic_04")
    +
    +    SetActiveWindow(1)
    +    SetActiveTimeSlider(dbs[0])
    +    SetTimeSliderState(3)
    +
    +
    +    SetActiveWindow(3)
    +    Test("CurvesFromDynamic_05")
    +
    +    SetActiveWindow(2)
    +    SetTimeSliderState(29)
    +
    +    SetActiveWindow(3)
    +    Test("CurvesFromDynamic_06")
    +
    +    ResetLineoutColor()
    +    ResetPickLetter()
    +    # delete window 3
    +    DeleteWindow()
    +    # delete window 2
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +    # clear all plots from window 1
    +    DeleteAllPlots()
    +
    +def TestDynamic2():
    +    # VisIt00006006 -- ensure  that 'ClearRefLines' will 'disconnect' the lineout 
    +    # from its originating plot, and won't update when orig plot changes time.
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    ResetView()
    +    SetTimeSliderState(0)
    +    Lineout((0, 0.5, 2.5), (10, 0.5, 2.5))
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("Dynamic2_01")
    +
    +    SetActiveWindow(1)
    +    gla = GetGlobalLineoutAttributes()
    +    gla.Dynamic = 1
    +    gla.curveOption = gla.UpdateCurve
    +    SetGlobalLineoutAttributes(gla)
    +
    +    SetTimeSliderState(27)
    +
    +    SetActiveWindow(2)
    +    Test("Dynamic2_02")
    +
    +    SetActiveWindow(1)
    +    gla.Dynamic = 0
    +    SetGlobalLineoutAttributes(gla)
    +
    +    SetTimeSliderState(52)
    +
    +    SetActiveWindow(2)
    +    Test("Dynamic2_03")
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +
    +def TestTecPlot():
    +    # VisIt00006243 -- curve generated from Lineout looks reversed in X
    +    OpenDatabase(data_path("tecplot_test_data/T3L3CLS17u.plt"))
    +
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Pseudocolor", "k")
    +    DrawPlots()
    +    ResetView()
    +
    +    v = GetView2D()
    +    v.windowCoords = (0.340063, 0.340868, 0.00512584, 0.00572613 )
    +    SetView2D(v)
    +
    +    Lineout((0.340505, 0.00565604, 0), (0.340291, 0.00514717, 0))
    +
    +    InitAnnotation()
    +    Test("LineoutTecPlot_01")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("CurvesFromTecPlot_01")
    +
    +    ResetPickLetter()
    +    ResetLineoutColor()
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    DeleteAllPlots()
    +
    +def TestOperatorCreatedVariables():
    +    def SetCurveAtts():
    +        c = CurveAttributes(1)
    +        c.lineWidth = 2
    +        c.curveColor = (255,0,0,255)
    +        c.curveColorSource = c.Custom
    +        c.showLabels = 0
    +        SetPlotOptions(c)
    +
    +    TestSection("Operator-Created Variables")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    # Do lineout on a data binning variable.
    +    AddPlot("Pseudocolor", "operators/DataBinning/2D/Mesh", 1, 1)
    +    DataBinningAtts = DataBinningAttributes()
    +    DataBinningAtts.numDimensions = DataBinningAtts.Two  # One, Two, Three
    +    DataBinningAtts.dim1BinBasedOn = DataBinningAtts.X  # X, Y, Z, Variable
    +    DataBinningAtts.dim1Var = "default"
    +    DataBinningAtts.dim1SpecifyRange = 0
    +    DataBinningAtts.dim1MinRange = 0
    +    DataBinningAtts.dim1MaxRange = 1
    +    DataBinningAtts.dim1NumBins = 50
    +    DataBinningAtts.dim2BinBasedOn = DataBinningAtts.Y  # X, Y, Z, Variable
    +    DataBinningAtts.dim2Var = "default"
    +    DataBinningAtts.dim2SpecifyRange = 0
    +    DataBinningAtts.dim2MinRange = 0
    +    DataBinningAtts.dim2MaxRange = 1
    +    DataBinningAtts.dim2NumBins = 50
    +    DataBinningAtts.dim3BinBasedOn = DataBinningAtts.Variable  # X, Y, Z, Variable
    +    DataBinningAtts.dim3Var = "default"
    +    DataBinningAtts.dim3SpecifyRange = 0
    +    DataBinningAtts.dim3MinRange = 0
    +    DataBinningAtts.dim3MaxRange = 1
    +    DataBinningAtts.dim3NumBins = 50
    +    DataBinningAtts.outOfBoundsBehavior = DataBinningAtts.Clamp  # Clamp, Discard
    +    DataBinningAtts.reductionOperator = DataBinningAtts.Maximum  # Average, Minimum, Maximum, StandardDeviation, Variance, Sum, Count, RMS, PDF
    +    DataBinningAtts.varForReduction = "hardyglobal"
    +    DataBinningAtts.emptyVal = 0
    +    DataBinningAtts.outputType = DataBinningAtts.OutputOnBins  # OutputOnBins, OutputOnInputMesh
    +    DataBinningAtts.removeEmptyValFromCurve = 1
    +    SetOperatorOptions(DataBinningAtts, 1)
    +    DrawPlots()
    +    Lineout((9, 9), (4.5, -9))
    +    SetActiveWindow(1)
    +    ResetView()
    +    Test("lineout_op_vars_00")
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    ResetView()
    +    SetCurveAtts()
    +    Test("lineout_op_vars_01")
    +
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    DeleteAllPlots()
    +
    +    # Do lineout on a data binning variable that had other operators
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Pseudocolor", "operators/DataBinning/2D/Mesh", 1, 1)
    +    SetOperatorOptions(DataBinningAtts, 1)
    +    AddOperator("Transform")
    +    AddOperator("Project")
    +    DrawPlots()
    +    Lineout((9, 9), (4.5, -9))
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    SetCurveAtts()
    +    Test("lineout_op_vars_02")
    +
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    DeleteAllPlots()
    +
    +
    +def DoTests(t,s):
    +    TestLineout2D(t,s)
    +    TestLineout3D(t,s)
    +    TestMultiVarLineout2D(t,s)
    +    TestSAMRAI(t,s)
    +    TestSpecifyLineoutWindow(t,s)
    +    TestDynamicLineout(t,s)
    +
    +def LineoutMain():
    +    InitAnnotation()
    +    la = GetGlobalLineoutAttributes()
    +    la.samplingOn = 1
    +    SetGlobalLineoutAttributes(la)
    +
    +    DoTests(1, "_withSampling")
    +
    +    la.samplingOn = 0
    +    SetGlobalLineoutAttributes(la)
    +
    +    DoTests(2, "_noSampling")
    +
    +    TestDynamic2()
    +    TestTecPlot()
    +    TestOperatorCreatedVariables()
    +
    +# Call the main function
    +LineoutMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_locktime.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_locktime.html new file mode 100644 index 000000000..ee179c8aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_locktime.html @@ -0,0 +1,124 @@ + +Results for hybrid/locktime.py + +

    Results of VisIt Regression Test - hybrid/locktime

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    locktime_000.000.00
    locktime_010 modifications totalling 0 lines
    locktime_020.000.00
    locktime_030 modifications totalling 0 lines
    locktime_040 modifications totalling 0 lines
    locktime_050.000.00
    locktime_060 modifications totalling 0 lines
    locktime_070.000.00
    locktime_080 modifications totalling 0 lines
    locktime_090.000.00
    locktime_100 modifications totalling 0 lines
    locktime_110.000.00
    locktime_120 modifications totalling 0 lines
    locktime_130 modifications totalling 0 lines
    locktime_140.000.00
    locktime_150 modifications totalling 0 lines
    locktime_160.000.00
    locktime_170 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_locktime_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_locktime_py.html new file mode 100644 index 000000000..0ec61e2bf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_locktime_py.html @@ -0,0 +1,125 @@ +hybrid/locktime.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multiwindowcorrelation.py 
    +#
    +#  Tests:      Tests database correlations when there are multiple windows.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Mar 22 15:59:24 PST 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Fri Apr 1 15:01:13 PST 2005
    +#    Added a function to check the database correlation list.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def GetTruncatedWindowInformationString():
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    return s
    +
    +def TestLength(testname):
    +    tsLength = TimeSliderGetNStates()
    +    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    testString = testString + GetTruncatedWindowInformationString()
    +    TestText(testname, testString)
    +
    +#
    +# Tests the time slider length and the correlation list.
    +#
    +def TestLengthAndCorrelationList(testname):
    +    tsLength = TimeSliderGetNStates()
    +    s = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    s = s + GetTruncatedWindowInformationString() + "\n\n"
    +
    +    names = GetDatabaseCorrelationNames()
    +    for name in names:
    +        c = GetDatabaseCorrelation(name)
    +        s = s + str(c) + "\n"
    +    TestText(testname, s)
    +
    +# Create a plot of DB A.
    +OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +AddPlot("FilledBoundary", "material(mesh)")
    +DrawPlots()
    +Test("locktime_00")
    +TestLength("locktime_01")
    +
    +# Create a second window and create plot of DB B.
    +CloneWindow()
    +DeleteAllPlots()
    +OpenDatabase(data_path("pdb_test_data/dbB00.pdb"))
    +
    +AddPlot("FilledBoundary", "material(mesh)")
    +InvertBackgroundColor()
    +DrawPlots()
    +Test("locktime_02")
    +TestLength("locktime_03")
    +
    +#
    +# Set the database correlation options to control how we create automatic
    +# correlations. When we lock the windows together, VisIt will create a
    +# correlation for the databases in both windows because the windows do not
    +# have a common database. I'm setting the correlation options here because 
    +# I want a StretchedIndexCorrelation correlation to be created.
    +#
    +StretchedIndexCorrelation = 1
    +SetDatabaseCorrelationOptions(StretchedIndexCorrelation, 0)
    +
    +#
    +# Lock time for window 2 and window 1. This will create a correlation between
    +# the databases in both windows.
    +#
    +ToggleLockTime()
    +SetActiveWindow(1)
    +ToggleLockTime()
    +TestLengthAndCorrelationList("locktime_04")
    +
    +SetTimeSliderState(17)
    +Test("locktime_05")
    +TestLength("locktime_06")
    +
    +SetActiveWindow(2)
    +Test("locktime_07")
    +TestLength("locktime_08")
    +
    +SetActiveWindow(1)
    +SetTimeSliderState(7)
    +Test("locktime_09")
    +TestLength("locktime_10")
    +
    +SetActiveWindow(2)
    +Test("locktime_11")
    +TestLength("locktime_12")
    +
    +#
    +# Now let's delete the correlation that was created. It will be have the same
    +# name as the active time slider.
    +#
    +DeleteDatabaseCorrelation(GetActiveTimeSlider())
    +TestLengthAndCorrelationList("locktime_13")
    +
    +# Now try moving the time slider state for DB B, since that's the active time
    +# slider for window 2, which is the active window right now.
    +SetTimeSliderState(15)
    +Test("locktime_14")
    +TestLength("locktime_15")
    +
    +# Make sure that window 1 did not change.
    +SetActiveWindow(1)
    +Test("locktime_16")
    +TestLength("locktime_17")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_locus.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_locus.html new file mode 100644 index 000000000..411227067 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_locus.html @@ -0,0 +1,42 @@ + +Results for hybrid/locus.py + +

    Results of VisIt Regression Test - hybrid/locus

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    locus_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_locus_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_locus_py.html new file mode 100644 index 000000000..665ec134c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_locus_py.html @@ -0,0 +1,148 @@ +hybrid/locus.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  locus.py
    +#
    +#  Purpose:
    +#      Identifies the locus of points of maximum value from inside a sphere.
    +#      Tests repeated lineout capabilities, as well as the VisIt writer.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       April 4, 2005
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Jul 14 10:28:41 PDT 2005
    +#    Save tmp.ultra to 'current' directory.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Jeremy Meredith, Wed Jan 20 12:50:34 EST 2010
    +#    Added src/lib to python path so we can find the visit writer module.
    +#
    +#    Mark C. Miller, Mon Apr 12 15:40:16 PDT 2010
    +#    Gracefully skip if we're in scalable mode.
    +#
    +#    Mark C. Miller, Tue Jun 29 16:51:46 PDT 2010
    +#    Changed exit code if we're in scalable mode from 116 (skip) to
    +#    121 (not applicable)
    +#
    +#    Kathleen Biagas, Tue Jul 15 11:10:27 MST 2014 
    +#    Don't need VISITARCHHOME on Windows, but do need 'outputToCurrentDirectory'
    +#
    +# ----------------------------------------------------------------------------
    +
    +import sys
    +import os
    +import platform
    +from os.path import join as pjoin
    +if not platform.system() == "Windows":
    +    sys.path.append(pjoin(os.environ['VISITARCHHOME'],"lib"))
    +
    +import visit_writer
    +
    +
    +# We can't run this test while in SR mode
    +# So, exit and indicate the test was skipped.
    +# 'scalable' is defined in Testing.py
    +if TestEnv.params["scalable"] != 0:
    +    Exit(121)
    +
    +# BEGIN USER MODIFIABLE SECTION
    +
    +database = silo_data_path("globe.silo")
    +origin = (0,0,0)
    +radius = 10
    +variable = "recenter(t) + 10*u"
    +isExpression = 1
    +startTheta = 0
    +thetaStep = 36
    +nThetaSteps = 11
    +startPhi = 0
    +phiStep = 18
    +nPhiSteps = 11
    +
    +# END USER MODIFIABLE SECTION
    +
    +if (isExpression):
    +   DefineScalarExpression("locus", variable)
    +OpenDatabase(database)
    +AddPlot("Pseudocolor", "locus")
    +DrawPlots()
    +
    +import math
    +
    +sw = GetSaveWindowAttributes()
    +sw.format = sw.ULTRA
    +sw.family = 0
    +sw.fileName = "tmp"
    +sw.outputToCurrentDirectory = 1
    +SetSaveWindowAttributes(sw)
    +
    +import locale
    +def GetNum(line):
    +   a = line.split(' ')
    +   pos = locale.atof(a[0])
    +   max = locale.atof(a[1])
    +   return [pos, max]
    +
    +
    +# Opens up the file "tmp.ultra" and gets the maximum position.
    +def GetMaximumPosition():
    +   uf = open("tmp.ultra", "r")
    +   line = uf.readline()  # Remove header
    +   line = uf.readline()
    +   num = GetNum(line)
    +   pos = num[0]
    +   max = num[1]
    +   while(1):
    +      line = uf.readline()
    +      if (line == ""):
    +          break
    +      num = GetNum(line)
    +      if (num[1] > max):
    +         pos = num[0]
    +         max = num[1]
    +   return [pos, max]
    +
    +
    +vals = []
    +pos = []
    +points = []
    +for j in range(nPhiSteps):
    +    phi = startPhi + j*phiStep
    +    phi_rads = phi*2.*math.pi / 360.
    +    for i in range(nThetaSteps):
    +        theta = startTheta + i*thetaStep
    +        theta_rads = theta*2.*math.pi / 360.
    +        PX = radius * math.cos(theta_rads) * math.sin(phi_rads)
    +        PY = radius * math.sin(theta_rads) * math.sin(phi_rads)
    +        PZ = radius * math.cos(phi_rads)
    +        PX2 = PX + origin[0]
    +        PY2 = PY + origin[1]
    +        PZ2 = PZ + origin[2]
    +        Lineout(origin, (PX2, PY2, PZ2))
    +        SetActiveWindow(2)
    +        SaveWindow()
    +        rv = GetMaximumPosition()
    +        pos = pos + [rv[0]]
    +        vals = vals + [rv[1]]
    +        prop = rv[0] / radius
    +        FX = origin[0] + (PX)*prop
    +        FY = origin[1] + (PY)*prop
    +        FZ = origin[2] + (PZ)*prop
    +        points = points + [FX, FY, FZ]
    +        DeleteAllPlots()
    +        SetActiveWindow(1)
    +
    +dims = (nThetaSteps, nPhiSteps, 1)
    +
    +visit_writer.WriteCurvilinearMesh("locus", 0, dims, points, [["max", 1, 1, vals]])
    +DeleteAllPlots()
    +OpenDatabase("locus.vtk")
    +AddPlot("Pseudocolor", "max")
    +DrawPlots()
    +Test("locus_01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_math_expr.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_math_expr.html new file mode 100644 index 000000000..b9c7d22ef --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_math_expr.html @@ -0,0 +1,60 @@ + +Results for hybrid/math_expr.py + +

    Results of VisIt Regression Test - hybrid/math_expr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    math_expr_010.000.00
    math_expr_020.000.00
    math_expr_030.000.00
    math_expr_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_math_expr_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_math_expr_py.html new file mode 100644 index 000000000..3e2bc8900 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_math_expr_py.html @@ -0,0 +1,44 @@ +hybrid/math_expr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  math_expr.py
    +#
    +#  Tests:      mesh      - 3D unstructured, multi- domain
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  '6115
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 30, 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +
    +DefineScalarExpression("mod", "mod(t, 10)")
    +AddPlot("Pseudocolor", "mod")
    +DrawPlots()
    +Test("math_expr_01")
    +
    +DefineScalarExpression("round", "round(u/10)")
    +ChangeActivePlotsVar("round")
    +Test("math_expr_02")
    +
    +DefineScalarExpression("ceil", "ceil(u/10)")
    +ChangeActivePlotsVar("ceil")
    +Test("math_expr_03")
    +
    +DefineScalarExpression("floor", "floor(u/10)")
    +ChangeActivePlotsVar("floor")
    +Test("math_expr_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_matsel.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_matsel.html new file mode 100644 index 000000000..65d2b04a4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_matsel.html @@ -0,0 +1,54 @@ + +Results for hybrid/matsel.py + +

    Results of VisIt Regression Test - hybrid/matsel

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    hybrid_matsel_010.000.00
    hybrid_matsel_020.000.00
    hybrid_matsel_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_matsel_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_matsel_py.html new file mode 100644 index 000000000..ea92d8969 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_matsel_py.html @@ -0,0 +1,96 @@ +hybrid/matsel.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  matsel.py
    +#
    +#  Tests:      plots     - contour,pseudocolor
    +#
    +#  Defect ID:  '4353
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       June 24, 2004
    +#
    +#    Jeremy Meredith, Tue Jul 13 18:03:11 PDT 2004
    +#    Added curvilinear case.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +#
    +# Do a test of 2D nodal interpolation on material-selected rectilinear meshes
    +#
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u");
    +
    +sil = SILRestriction()
    +sets = sil.SetsInCategory("mat1")
    +sil.TurnOnAll()
    +sil.TurnOffSet(sets[4])
    +SetPlotSILRestriction(sil)
    +DrawPlots()
    +
    +Test("hybrid_matsel_01")
    +
    +DeleteAllPlots();
    +
    +#
    +# Do a test of 3D nodal interpolation on material-selected rectilinear meshes
    +# Ths is easiest to see when doing a contour plot of a matsel variable
    +#
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +AddPlot("Contour", "u");
    +
    +sil = SILRestriction()
    +sets = sil.SetsInCategory("mat1")
    +sil.TurnOnAll()
    +sil.TurnOffSet(sets[4])
    +SetPlotSILRestriction(sil)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.624401, -0.368813, -0.688549)
    +focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.768963, 0.135421, 0.624786)
    +SetView3D(v)
    +
    +Test("hybrid_matsel_02")
    +
    +DeleteAllPlots();
    +
    +#
    +# Do a test of 2D nodal interpolation on material-selected curvilinear meshes
    +#
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u");
    +
    +sil = SILRestriction()
    +sets = sil.SetsInCategory("mat1")
    +sil.TurnOnAll()
    +sil.TurnOffSet(sets[0])
    +SetPlotSILRestriction(sil)
    +DrawPlots()
    +v = GetView2D()
    +v.windowCoords = (0.1, 2.0, 2.8, 3.8)
    +SetView2D(v)
    +p = PseudocolorAttributes()
    +p.min = 0
    +p.max = .5
    +p.minFlag = 1
    +p.maxFlag = 1
    +SetPlotOptions(p)
    +
    +Test("hybrid_matsel_03")
    +
    +DeleteAllPlots();
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_matvf.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_matvf.html new file mode 100644 index 000000000..3c45ac348 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_matvf.html @@ -0,0 +1,120 @@ + +Results for hybrid/matvf.py + +

    Results of VisIt Regression Test - hybrid/matvf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    matvf_010.000.00
    matvf_020.000.00
    matvf_030.000.00
    matvf_040.000.00
    matvf_050.000.00
    matvf_060.000.00
    matvf_070.000.00
    matvf_080.000.00
    matvf_090.000.00
    matvf_100.000.00
    matvf_post_ghost_10.000.00
    matvf_post_ghost_20.000.00
    matvf_post_ghost_30.000.00
    matvf_post_ghost_40.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_matvf_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_matvf_py.html new file mode 100644 index 000000000..b9dd10599 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_matvf_py.html @@ -0,0 +1,249 @@ +hybrid/matvf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expressions.py
    +#
    +#  Tests:      mesh      - 3D unstructured, multi- domain
    +#                          3D rectilinear, single domain
    +#              plots     - Pseudocolor
    +#              operators - Threshold
    +#              selection - Material
    +#
    +#  Defect ID:  '2415 '3939 '5521
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 13, 2003
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Mon Oct 20 16:32:46 PDT 2003
    +#    Added bigsil portion to test '3939 (matvf with databases that create
    +#    ghost zones).
    +#
    +#    Hank Childs, Mon Jan  3 09:28:39 PST 2005
    +#    Added tests for materror.
    +#
    +#    Cyrus Harrison, Tue Feb 12 15:16:36 PST 2008
    +#    Added explicit tests for matvf w/ ghost zones. 
    +#
    +#    Cyrus Harrison, Wed Apr  9 11:17:22 PDT 2008
    +#    Added new test for post ghost info.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +
    +DefineScalarExpression("m1", 'matvf(mat1, ["1", "3"])')
    +AddPlot("Pseudocolor", "m1")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.17, 0.74, 0.64)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.31, 0.65, -0.68)
    +v.parallelScale = 0.866
    +v.nearPlane = -1.73
    +v.farPlane = 1.73
    +SetView3D(v)
    +
    +Test("matvf_01")
    +
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.01)
    +t.upperBounds = (0.99)
    +SetDefaultOperatorOptions(t)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("matvf_02")
    +
    +sil = SILRestriction()
    +matsets = sil.SetsInCategory("mat1")
    +sil.TurnOffAll()
    +sil.TurnOnSet(matsets[1])
    +SetPlotSILRestriction(sil)
    +
    +Test("matvf_03")
    +
    +DeleteAllPlots()
    +
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "m1")
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (-0.82, 0.44, 0.37)
    +v.focus = (0, 3.3, 10)
    +v.viewUp = (0.13, 0.76, -0.62)
    +v.parallelScale = 7.32
    +v.nearPlane = -14.65
    +v.farPlane = 14.65
    +SetView3D(v)
    +
    +Test("matvf_04")
    +
    +sil = SILRestriction()
    +matsets = sil.SetsInCategory("mat1")
    +sil.TurnOffAll()
    +sil.TurnOnSet(matsets[1])
    +SetPlotSILRestriction(sil)
    +
    +Test("matvf_05")
    +
    +DeleteAllPlots()
    +
    +DefineScalarExpression("mbs", 'matvf(mat, 1)')
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("Pseudocolor", "mbs")
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.5)
    +t.upperBounds = (1.1)
    +SetDefaultOperatorOptions(t)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (-0.59, 0.33, 0.74)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (0.18, 0.94, -0.28)
    +v.parallelScale = 0.866
    +v.nearPlane = -1.73
    +v.farPlane = 1.73
    +SetView3D(v)
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.17, 0.74, 0.64)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.31, 0.65, -0.68)
    +v.parallelScale = 0.866
    +v.nearPlane = -1.73
    +v.farPlane = 1.73
    +SetView3D(v)
    +
    +Test("matvf_06")
    +
    +#NOTE: the fix for '3939 included disabling the communication of ghost zones. 
    +# As a result, the matvf_07 picture will contain internal surfaces that should
    +# not be there.  If this ever gets fixed, then the baseline picture will need
    +# to be reset.
    +v.nearPlane = -0.1
    +SetView3D(v)
    +
    +Test("matvf_07")
    +
    +# Now test the materror expression.
    +DeleteAllPlots()
    +DefineScalarExpression("materror1", 'materror(mat1, 1)')
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "materror1")
    +sil = SILRestriction()
    +sil.TurnOnAll()
    +SetPlotSILRestriction(sil)
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.17, 0.74, 0.64)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.31, 0.65, -0.68)
    +v.parallelScale = 0.866
    +v.nearPlane = -1.73
    +v.farPlane = 1.73
    +SetView3D(v)
    +
    +Test("matvf_08")
    +
    +DefineScalarExpression("abs_materror1", 'abs(materror1)')
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.01)
    +t.upperBounds = (1.01)
    +t.listedVarNames = ("abs_materror1")
    +SetDefaultOperatorOptions(t)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("matvf_09")
    +
    +# Now test that it can calculate "volume fractions" using areas.
    +ReplaceDatabase(silo_data_path("rect2d.silo"))
    +
    +RemoveLastOperator()
    +Test("matvf_10")
    +
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("rect2d.silo"))
    +
    +OpenDatabase(silo_data_path("thinplane.silo"))
    +
    +
    +# tests for matvf w/ ghost zones
    +
    +# test standard
    +DefineScalarExpression("mvf_2", "matvf(mat,2)")
    +AddPlot("Pseudocolor", "mvf_2")
    +atts = PseudocolorAttributes(1)
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 1.0
    +atts.centering = atts.Natural
    +SetPlotOptions(atts)
    +DrawPlots()
    +Test("matvf_post_ghost_1")
    +
    +# test with ghosts
    +atts = PseudocolorAttributes(1)
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 1.0
    +atts.centering = atts.Nodal
    +SetPlotOptions(atts)
    +DrawPlots()
    +Test("matvf_post_ghost_2")
    +
    +# switch back to ensure w/ ghost case caching does not alter w/o ghosts
    +atts = PseudocolorAttributes(1)
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 1.0
    +atts.centering = atts.Zonal
    +SetPlotOptions(atts)
    +DrawPlots()
    +Test("matvf_post_ghost_3")
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("thinplane.silo"))
    +
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +
    +# test for gradient w/ matvf, to check if post ghosts were correctly 
    +# requested. 
    +
    +DefineScalarExpression("gate", "agrad(dist)[0] * matvf(mat,1)")
    +AddPlot("Pseudocolor", "gate")
    +DrawPlots()
    +Test("matvf_post_ghost_4")
    +DeleteAllPlots()
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_merge_tree.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_merge_tree.html new file mode 100644 index 000000000..9fbfd55b4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_merge_tree.html @@ -0,0 +1,108 @@ + +Results for hybrid/merge_tree.py + +

    Results of VisIt Regression Test - hybrid/merge_tree

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    rect2d_mtree0.000.00
    rect2d_stree0.000.00
    rect2d_localt_mt0.000.00
    rect2d_localt_st0.000.00
    noise2d_mtree0.000.00
    noise2d_stree0.000.00
    noise2d_localt_mt0.000.00
    noise2d_localt_st0.000.00
    noise3d_mtree0.000.00
    noise3d_stree0.000.00
    noise3d_localt_mt0.000.00
    noise3d_localt_st0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_merge_tree_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_merge_tree_py.html new file mode 100644 index 000000000..70678449d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_merge_tree_py.html @@ -0,0 +1,64 @@ +hybrid/merge_tree.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  merge_tree.py
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Friday October 28, 2016
    +#
    +#  Modifiations:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +test_dbs = { "rect2d" : {"var":  "d",
    +                         "path": silo_data_path("rect2d.silo")} ,
    +             "noise2d" : {"var": "shepardglobal",
    +                          "path" :silo_data_path("noise2d.silo")} ,
    +
    +             "noise3d" : {"var": "shepardglobal",
    +                          "path": silo_data_path("noise.silo")}
    +           }
    +
    +for db_name,db_info in list(test_dbs.items()):
    +    test_db_file = db_info["path"]
    +    OpenDatabase(test_db_file)
    +
    +    # test merge tree, split tree and local threshold exprs
    +
    +    DefineScalarExpression("mtree", "merge_tree(%s)" % db_info["var"])
    +    AddPlot("Pseudocolor", "mtree")
    +    DrawPlots()
    +
    +    Test(db_name + "_mtree")
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression("stree", "split_tree(%s)" % db_info["var"])
    +    AddPlot("Pseudocolor", "stree")
    +    DrawPlots()
    +
    +    Test(db_name + "_stree")
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression("localt_mt", "local_threshold(%s,mtree)" % db_info["var"])
    +
    +    AddPlot("Pseudocolor", "localt_mt")
    +    DrawPlots()
    +
    +    Test(db_name + "_localt_mt")
    +    DeleteAllPlots()
    +
    +    DefineScalarExpression("localt_st", "local_threshold(%s,stree)" % db_info["var"])
    +
    +    AddPlot("Pseudocolor", "localt_st")
    +    DrawPlots()
    +
    +    Test(db_name + "_localt_st")
    +    DeleteAllPlots()
    +
    +
    +    CloseDatabase(test_db_file)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_mesh_quality.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mesh_quality.html new file mode 100644 index 000000000..2150075a0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mesh_quality.html @@ -0,0 +1,93 @@ + +Results for hybrid/mesh_quality.py + +

    Results of VisIt Regression Test - hybrid/mesh_quality

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mesh_quality_010.000.00
    mesh_quality_020.000.00
    mesh_quality_030.000.00
    mesh_quality_040.000.00
    mesh_quality_050.000.00
    mesh_quality_060.000.00
    mesh_quality_070.000.00
    Side Volume
    min_side_volume_000.000.00
    max_side_volume_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_mesh_quality_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mesh_quality_py.html new file mode 100644 index 000000000..557dbc406 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mesh_quality_py.html @@ -0,0 +1,160 @@ +hybrid/mesh_quality.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mesh_quality.py
    +#
    +#  Tests:      mesh      - 3D unstructured
    +#              plots     - Pseudocolor
    +#
    +#  Programmer: Hank Childs
    +#  Date:       November 25, 2003
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri Jun 25 07:58:32 PDT 2004
    +#    The name of the mesh quality variables for ucd3d changed, since there are
    +#    now multiple meshes in that file.  Use the new names.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Matthew Wheeler, Thu Feb 06 12:00:00 GMT 2014
    +#    Added two new AWE mesh quality tests
    +#
    +#    Alister Maguire, Wed Apr 21 13:26:01 PDT 2021
    +#    Added TestSideVolume.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def TestSideVolume():
    +    #
    +    # This ensures that a bug fix is still working well.
    +    #
    +    TestSection("Side Volume")
    +
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "mesh_quality/min_side_volume")
    +    DrawPlots()
    +
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0.3, 0.8, 0.6)
    +    SetView3D(v)
    +    SetTimeSliderState(10)
    +
    +    Test("min_side_volume_00")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "mesh_quality/max_side_volume")
    +    DrawPlots()
    +
    +    Test("max_side_volume_00")
    +    DeleteAllPlots()
    +
    +    CloseDatabase(silo_data_path("wave.visit"))
    +
    +
    +OpenDatabase(silo_data_path("ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "mesh_quality/ucdmesh3d/volume")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (-0.178, -0.29, 0.94)
    +v.focus = (0, 2.5, 10)
    +v.viewUp = (-0.11, 0.95, 0.26)
    +v.parallelScale = 11.45
    +v.nearPlane = -22.9
    +v.farPlane = 22.9
    +v.imageZoom = 1.46
    +SetView3D(v)
    +
    +Test("mesh_quality_01")
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "mesh_quality/ucdmesh3d/skew")
    +DrawPlots()
    +
    +Test("mesh_quality_02")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("tire.silo"))
    +
    +AddPlot("Pseudocolor", "mesh_quality/aspect")
    +DrawPlots()
    +v = View3DAttributes()
    +v.viewNormal = (-0.128, 0.26, 0.958)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0.31, 0.92, -0.21)
    +v.parallelScale = 83
    +v.nearPlane = -165
    +v.farPlane = 165
    +SetView3D(v)
    +
    +pc = PseudocolorAttributes()
    +pc.minFlag = 1
    +pc.maxFlag = 1
    +pc.min=11
    +pc.max=22
    +SetPlotOptions(pc)
    +
    +Test("mesh_quality_03")
    +
    +pc.minFlag=0
    +pc.maxFlag=0
    +SetPlotOptions(pc)
    +Test("mesh_quality_04")
    +
    +AddOperator("Threshold")
    +thres = ThresholdAttributes()
    +thres.lowerBounds = (0.5)
    +thres.upperBounds = (0.55)
    +thres.listedVarNames = ("mesh_quality/skew")
    +SetOperatorOptions(thres)
    +DrawPlots()
    +Test("mesh_quality_05")
    +
    +
    +
    +DeleteAllPlots()
    +
    +CloseDatabase(silo_data_path("ucd3d.silo"))
    +CloseDatabase(silo_data_path("tire.silo"))
    +
    +# Add AWE Mesh-Quality tests
    +
    +OpenDatabase(silo_data_path("specmix_ucd.silo"))
    +
    +AddPlot("Mesh", "Mesh")
    +AddPlot("Pseudocolor", "mesh_quality/Mesh/min_corner_area")
    +pc = PseudocolorAttributes()
    +pc.invertColorTable = 1
    +SetPlotOptions(pc)
    +DrawPlots()
    +Test("mesh_quality_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Mesh", "Mesh")
    +AddPlot("Pseudocolor", "mesh_quality/Mesh/min_sin_corner")
    +pc = PseudocolorAttributes()
    +pc.invertColorTable = 1
    +SetPlotOptions(pc)
    +DrawPlots()
    +Test("mesh_quality_07")
    +
    +DeleteAllPlots()
    +
    +CloseDatabase(silo_data_path("specmix_ucd.silo"))
    +
    +TestSideVolume()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir.html new file mode 100644 index 000000000..1a6e8c4e9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir.html @@ -0,0 +1,168 @@ + +Results for hybrid/mir.py + +

    Results of VisIt Regression Test - hybrid/mir

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Curvilinear, 2D
    mir_curv2d_equi_t0.000.00
    mir_curv2d_equi_z0.000.00
    mir_curv2d_equi_z_i50.000.00
    mir_curv2d_plic0.000.00
    mir_curv2d_isovol0.000.00
    Unstructured, 2D
    mir_ucd2d_equi_t0.000.00
    mir_ucd2d_equi_z0.000.00
    mir_ucd2d_equi_z_i50.000.00
    mir_ucd2d_plic0.000.00
    mir_ucd2d_isovol0.000.00
    Rectilinear, 2D
    mir_rect2d_equi_t0.000.00
    mir_rect2d_equi_z0.000.00
    mir_rect2d_equi_z_i50.000.00
    mir_rect2d_plic0.000.00
    mir_rect2d_isovol0.000.00
    Rectilinear, 3D
    mir_rect3d_equi_t0.000.00
    mir_rect3d_equi_z0.000.00
    mir_rect3d_equi_z_i50.000.00
    mir_rect3d_plic0.000.00
    mir_rect3d_isovol0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_cache.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_cache.html new file mode 100644 index 000000000..682d56dae --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_cache.html @@ -0,0 +1,48 @@ + +Results for hybrid/mir_cache.py + +

    Results of VisIt Regression Test - hybrid/mir_cache

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mir_cache10.000.00
    mir_cache20.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_cache_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_cache_py.html new file mode 100644 index 000000000..541fe9e44 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_cache_py.html @@ -0,0 +1,65 @@ +hybrid/mir_cache.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mir_cache.py
    +#
    +#  Tests:      mesh      - 3D curvilinear,multi-domain,ghost zones replicated.
    +#              plots     - volume, PC
    +#
    +#  Defect ID:  '3542
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 22, 2003
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +view = View3DAttributes()
    +view.viewNormal = (0.557976, 0.651128, 0.514485)
    +view.focus = (0.5, 0.5, 0.5)
    +view.viewUp = (-0.0955897, 0.666272, -0.739557)
    +view.viewAngle = 30
    +view.parallelScale = 0.866025
    +view.nearPlane = -1.73205
    +view.farPlane = 1.73205
    +view.perspective = 1
    +SetView3D(view)
    +
    +#
    +# The volume plot does not need ghost zones, so this will create one
    +# set of MIRs.
    +#
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("Volume", "dist")
    +sil = SILRestriction()
    +sets = sil.SetsInCategory("mat")
    +sil.TurnOffAll()
    +sil.TurnOnSet(sets[0])
    +SetPlotSILRestriction(sil)
    +DrawPlots()
    +
    +DeleteAllPlots()
    +
    +#
    +# The PC plot will need ghost zones.  If it does not create a new set of MIRs,
    +# we will get garbled data.
    +#
    +AddPlot("Pseudocolor", "dist")
    +DrawPlots()
    +
    +Test("mir_cache1")
    +
    +#
    +# Make extra sure that there aren't garbled zones in the interior.
    +#
    +view.nearPlane = -0.3
    +SetView3D(view)
    +Test("mir_cache2")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_py.html new file mode 100644 index 000000000..62a8a3c63 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_mir_py.html @@ -0,0 +1,73 @@ +hybrid/mir.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mir.py
    +#
    +#  Tests:      mesh      - 2D, 3D, structured, unstructured, single domain
    +#              plots     - FilledBoundary
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       March 24, 2010
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestOneMode(file, mat, name):
    +    SetMaterialAttributes(mat)
    +    ReOpenDatabase(file)
    +    Test(name)
    +
    +
    +def TestOneFile(isRectilinear, file, matname, prefix):
    +    OpenDatabase(file)
    +
    +    AddPlot("FilledBoundary", matname)
    +    DrawPlots()
    +
    +    v3 = GetView3D()
    +    v3.viewNormal = (0.3, 0.4, 0.8)
    +    SetView3D(v3)
    +
    +    m = MaterialAttributes()
    +
    +    m.algorithm = m.EquiT
    +    TestOneMode(file, m, prefix + "_equi_t")
    +
    +    m.algorithm = m.EquiZ
    +    m.iterationEnabled = False
    +    TestOneMode(file, m, prefix + "_equi_z")
    +
    +    m.algorithm = m.EquiZ
    +    m.iterationEnabled = True
    +    m.numIterations = 5
    +    m.iterationDamping = 0.4
    +    TestOneMode(file, m, prefix + "_equi_z_i5")
    +    m.iterationEnabled = False
    +
    +    m.algorithm = m.PLIC
    +    TestOneMode(file, m, prefix + "_plic")
    +
    +    m.algorithm = m.Isovolume
    +    TestOneMode(file, m, prefix + "_isovol")
    +
    +    # Discrete currently only works on rectilinear
    +    if isRectilinear:
    +        m.algorithm = m.Discrete
    +        # Discrete is stochastic, we can't test it reliably
    +        #TestOneMode(file, m, prefix + "_discrete")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(file)
    +
    +TestSection("Curvilinear, 2D")
    +TestOneFile(False,silo_data_path("specmix_quad.silo") , "Material", "mir_curv2d")
    +TestSection("Unstructured, 2D")
    +TestOneFile(False,silo_data_path("specmix_ucd.silo") , "Material", "mir_ucd2d")
    +TestSection("Rectilinear, 2D")
    +TestOneFile(True,silo_data_path("rect2d.silo") , "mat1", "mir_rect2d")
    +TestSection("Rectilinear, 3D")
    +TestOneFile(True,silo_data_path("rect3d.silo") , "mat1", "mir_rect3d")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_missingdata.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_missingdata.html new file mode 100644 index 000000000..e6c527404 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_missingdata.html @@ -0,0 +1,88 @@ + +Results for hybrid/missingdata.py + +

    Results of VisIt Regression Test - hybrid/missingdata

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Missing data
    missingdata_0_000.000.00
    missingdata_0_010.000.00
    missingdata_0_020.000.00
    missingdata_0_030.000.00
    missingdata_0_040 modifications totalling 0 lines
    Expressions and missing data
    missingdata_1_000.000.00
    missingdata_1_010.000.00
    missingdata_1_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_missingdata_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_missingdata_py.html new file mode 100644 index 000000000..79decdebb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_missingdata_py.html @@ -0,0 +1,72 @@ +hybrid/missingdata.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  missingdata.py
    +#
    +#  Tests:      missing data
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jan 19 09:49:15 PST 2012
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def SetTheView():
    +    v = GetView2D()
    +    v.viewportCoords = (0.02, 0.98, 0.25, 1)
    +    SetView2D(v)
    +
    +def test0(datapath):
    +    TestSection("Missing data")
    +    OpenDatabase(pjoin(datapath,"earth.nc"))
    +    AddPlot("Pseudocolor", "height")
    +    DrawPlots()
    +    SetTheView()
    +    Test("missingdata_0_00")
    +    ChangeActivePlotsVar("carbon_particulates")
    +    Test("missingdata_0_01")
    +    ChangeActivePlotsVar("seatemp")
    +    Test("missingdata_0_02")
    +    ChangeActivePlotsVar("population")
    +    Test("missingdata_0_03")
    +
    +    # Pick on higher zone numbers to make sure pick works.
    +    PickByNode(domain=0, element=833621)
    +    TestText("missingdata_0_04", GetPickOutput())
    +
    +    DeleteAllPlots()
    +
    +def test1(datapath):
    +    TestSection("Expressions and missing data")
    +    OpenDatabase(pjoin(datapath,"earth.nc"))
    +    DefineScalarExpression("meaningless", "carbon_particulates + seatemp")
    +    AddPlot("Pseudocolor", "meaningless")
    +    DrawPlots()
    +    SetTheView()
    +    Test("missingdata_1_00")
    +    DeleteAllPlots()
    +
    +    DefineVectorExpression("color", "color(red,green,blue)")
    +    AddPlot("Truecolor", "color")
    +    DrawPlots()
    +    ResetView()
    +    SetTheView()
    +    Test("missingdata_1_01")
    +
    +    DefineVectorExpression("color2", "color(population*0.364,green,blue)")
    +    ChangeActivePlotsVar("color2")
    +    v1 = GetView2D()
    +    v1.viewportCoords = (0.02, 0.98, 0.02, 0.98)
    +    v1.windowCoords = (259.439, 513.299, 288.93, 540) #25.466)
    +    SetView2D(v1)
    +    Test("missingdata_1_02")
    +
    +def main():
    +    datapath = data_path("netcdf_test_data")
    +    test0(datapath)
    +    test1(datapath)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_multivar.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_multivar.html new file mode 100644 index 000000000..741de10bd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_multivar.html @@ -0,0 +1,60 @@ + +Results for hybrid/multivar.py + +

    Results of VisIt Regression Test - hybrid/multivar

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    multivar_010.000.00
    multivar_020.000.00
    multivar_030.000.00
    multivar_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_multivar_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_multivar_py.html new file mode 100644 index 000000000..6f9c8dd21 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_multivar_py.html @@ -0,0 +1,108 @@ +hybrid/multivar.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multivar.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc, vector, filledboundary 
    +#              operators - isosurface
    +#
    +#  Defect ID:  '7843
    +#
    +#  Programmer: Hank Childs
    +#  Date:       April 24, 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
    +#    Changed the variable format for SubsetPlots, to reflect new interface
    +#    which allows subsets of groups.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
    +#    Set the vector origin explicitly for some cases because I changed the
    +#    default to Tail.
    +#
    +#    Hank Childs, Tue Mar 13 09:42:24 PDT 2007
    +#    Add new test for mixed centering multiple variables and expressions.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +
    +# Set up the isosurface operators attributes
    +
    +atts = IsosurfaceAttributes()
    +atts.contourMethod = atts.Value
    +atts.contourValue = 500
    +atts.variable = "t"
    +SetDefaultOperatorOptions(atts)
    +
    +
    +# Test the PC plot with the isosurface operator.
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetParallelScale(17.3205)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +Test("multivar_01")
    +DeleteAllPlots()
    +
    +
    +# Test the subset plot with the isosurface operator.
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Isosurface")
    +DrawPlots()
    +Test("multivar_02")
    +DeleteAllPlots()
    +
    +
    +# Test the subset plot with the isosurface operator.
    +
    +AddPlot("Vector", "vel")
    +vec=VectorAttributes()
    +vec.useStride = 1
    +vec.stride = 1
    +vec.vectorOrigin = vec.Middle
    +SetPlotOptions(vec)
    +AddOperator("Isosurface")
    +DrawPlots()
    +Test("multivar_03")
    +DeleteAllPlots()
    +
    +# Test multiple variables with different centerings with expressions ('7843)
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +DefineScalarExpression("x", "coord(curvmesh3d)[0]")
    +DefineScalarExpression("y", "coord(curvmesh3d)[1]")
    +DefineScalarExpression("z", "coord(curvmesh3d)[2]")
    +DefineScalarExpression("myvar", "if(and(lt(x,0),gt(z,0)), abs(x*z), -abs(x*z))")
    +AddPlot("Pseudocolor", "myvar")
    +AddOperator("Isosurface")
    +atts.variable = "d"
    +atts.contourValue = 3
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("multivar_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_pos_cmfe.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_pos_cmfe.html new file mode 100644 index 000000000..ece5d4470 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_pos_cmfe.html @@ -0,0 +1,108 @@ + +Results for hybrid/pos_cmfe.py + +

    Results of VisIt Regression Test - hybrid/pos_cmfe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pos_cmfe_010.000.00
    pos_cmfe_020.000.00
    pos_cmfe_030.000.00
    pos_cmfe_040.000.00
    pos_cmfe_050 modifications totalling 0 lines
    pos_cmfe_060 modifications totalling 0 lines
    pos_cmfe_070 modifications totalling 0 lines
    pos_cmfe_080 modifications totalling 0 lines
    pos_cmfe_090 modifications totalling 0 lines
    pos_cmfe_100 modifications totalling 0 lines
    pos_cmfe_110.000.00
    pos_cmfe_120.000.00
    pos_cmfe_130.000.00
    pos_cmfe_140.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_pos_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_pos_cmfe_py.html new file mode 100644 index 000000000..96924a05c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_pos_cmfe_py.html @@ -0,0 +1,149 @@ +hybrid/pos_cmfe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pos_cmfe.py
    +#
    +#  Defect ID:  '5528, '5677
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 9, 2006
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +
    +# Test general capability.
    +DefineScalarExpression("cmfe", "pos_cmfe(<%s:d>, curvmesh2d, -1.)" % cmfe_silo_data_path("ucd2d.silo"))
    +AddPlot("Pseudocolor", "cmfe")
    +DrawPlots()
    +Test("pos_cmfe_01")
    +
    +# Zonal vars
    +DefineScalarExpression("cmfeZ", "pos_cmfe(<%s:p>, curvmesh2d, -1.)" %  cmfe_silo_data_path("ucd2d.silo"))
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "cmfeZ")
    +DrawPlots()
    +Test("pos_cmfe_02")
    +
    +# Test using the expression as a secondary variable.
    +ChangeActivePlotsVar("d")
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.lowerBounds = (0.1)
    +t.listedVarNames = ("cmfe")
    +SetOperatorOptions(t)
    +DrawPlots()
    +Test("pos_cmfe_03")
    +
    +# Test using cmfe in another expression.
    +DefineVectorExpression("disp", "{0, 3*cmfe}")
    +RemoveLastOperator()
    +d = DisplaceAttributes()
    +d.variable = "disp"
    +SetDefaultOperatorOptions(d)
    +AddOperator("Displace")
    +DrawPlots()
    +Test("pos_cmfe_04")
    +
    +RemoveLastOperator()
    +ChangeActivePlotsVar("cmfe")
    +DrawPlots()
    +
    +Query("MinMax")
    +t = GetQueryOutputString()
    +TestText("pos_cmfe_05", t)
    +
    +# Now test error conditions.
    +DefineScalarExpression("cmfe2", "pos_cmfe(pressure, quadmesh)")
    +ChangeActivePlotsVar("cmfe2")
    +DrawPlots()
    +t = GetLastError()
    +TestText("pos_cmfe_06", t)
    +
    +DefineScalarExpression("cmfe3", "pos_cmfe(<bad_file.silo:a_var>, curvmesh2d, 0.)")
    +ChangeActivePlotsVar("cmfe3")
    +DrawPlots()
    +t = GetLastError()
    +TestText("pos_cmfe_07", t)
    +
    +DefineScalarExpression("cmfe4", "pos_cmfe(<%s:pressure>, curvmesh2d)" %  cmfe_silo_data_path("wave0100.silo"))
    +ChangeActivePlotsVar("cmfe4")
    +DrawPlots()
    +t = GetLastError()
    +TestText("pos_cmfe_08", t)
    +
    +DefineScalarExpression("cmfe5", "pos_cmfe(<%s:pressure>)" % cmfe_silo_data_path("wave0100.silo"))
    +ChangeActivePlotsVar("cmfe5")
    +DrawPlots()
    +t = GetLastError()
    +TestText("pos_cmfe_09", t)
    +
    +# Invalid variable in new database.
    +DefineScalarExpression("cmfe6", "pos_cmfe(<%s:xyz>, curvmesh2d, 0.)" % cmfe_silo_data_path("ucd2d.silo"))
    +ChangeActivePlotsVar("cmfe6")
    +DrawPlots()
    +t = GetLastError()
    +TestText("pos_cmfe_10", t)
    +
    +# Enough error checking, let's do some more testing when it works.
    +
    +# 3D, multi-block to multi-block.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +DefineScalarExpression("cmfe7", "pos_cmfe(<%s:d>, mesh1, 0.)" %  cmfe_silo_data_path("multi_curv3d.silo"))
    +AddPlot("Pseudocolor", "cmfe7")
    +DrawPlots()
    +Test("pos_cmfe_11")
    +
    +DeleteAllPlots()
    +
    +# multi-block to single-block.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +DefineScalarExpression("cmfe8", "pos_cmfe(<%s:d>, curvmesh3d, 0.)" %  cmfe_silo_data_path("multi_curv3d.silo"))
    +AddPlot("Pseudocolor", "cmfe8")
    +DrawPlots()
    +Test("pos_cmfe_12")
    +
    +# single-block to multi-block.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +DefineScalarExpression("cmfe9", "pos_cmfe(<%s:d>, mesh1, 0.)" % cmfe_silo_data_path("curv3d.silo"))
    +AddPlot("Pseudocolor", "cmfe9")
    +DrawPlots()
    +Test("pos_cmfe_13")
    +
    +# single-block to multi-block -- vector
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +DefineVectorExpression("cmfe10", "pos_cmfe(gradient(<%s:d>), mesh1, {0,0,0})"% cmfe_silo_data_path("curv3d.silo"))
    +AddPlot("Vector", "cmfe10")
    +vec = VectorAttributes()
    +vec.nVectors = 400*36
    +SetPlotOptions(vec)
    +DrawPlots()
    +Test("pos_cmfe_14")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_py_exprs.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_py_exprs.html new file mode 100644 index 000000000..773f290e0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_py_exprs.html @@ -0,0 +1,78 @@ + +Results for hybrid/py_exprs.py + +

    Results of VisIt Regression Test - hybrid/py_exprs

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    py_exprs_000.000.00
    py_exprs_010.000.00
    py_exprs_020.000.00
    py_exprs_030.000.00
    py_exprs_040.000.00
    py_exprs_050.000.00
    py_exprs_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_py_exprs_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_py_exprs_py.html new file mode 100644 index 000000000..3f5bc005e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_py_exprs_py.html @@ -0,0 +1,106 @@ +hybrid/py_exprs.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  py_exprs.py
    +#
    +#  Tests:      python filters / python expressions
    +#              plots     - Pseudocolor
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Fri May 21 09:14:07 PDT 2010
    +#
    +#  Modifications:
    +#
    +#  Eddie Rusu - Tue Jul 30 13:22:17 PDT 2019
    +#  Added testing for python expressions with numpy mixed with simple
    +#  expressions.
    +#
    +#  Kathleen Biagas Fri Mar 12, 2021
    +#  Rename xx_simple_xx.py expression scripts to prevent them being run when
    +#  passing file globs to test suite (eg tests/hybrid/*.py) 
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +from os.path import join as pjoin
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"py_expr_script_00.vpe")
    +
    +DefinePythonExpression("d_wave",("d"),file=script_file)
    +AddPlot("Pseudocolor", "d_wave")
    +AddOperator("Elevate")
    +v = View3DAttributes()
    +v.viewNormal = (0.724969, -0.544156, 0.422273)
    +v.focus = (0.5, 0.666667, 0.526085)
    +v.viewUp = (-0.377473, 0.198927, 0.904401)
    +v.viewAngle = 30
    +v.parallelScale = 0.981769
    +v.nearPlane = -1.96354
    +v.farPlane = 1.96354
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.5, 0.666667, 0.526085)
    +SetView3D(v)
    +DrawPlots()
    +Test("py_exprs_00")
    +DeleteAllPlots()
    +
    +
    +# Test simple expressions mixed with python expressions using numpy
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"simple_numpy_expr.vpe")
    +DefinePythonExpression("python_multiply", ['d','p'], file=script_file)
    +AddPlot("Pseudocolor", "python_multiply", 1, 1)
    +DrawPlots()
    +Test("py_exprs_01")
    +DeleteAllPlots()
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"python_simple_mix_01.vpe")
    +DefineScalarExpression("my_expr", "d*p")
    +DefinePythonExpression("python_with_simple", ['d','p', 'my_expr'], file=script_file)
    +AddPlot("Pseudocolor", "python_with_simple", 1, 1)
    +DrawPlots()
    +Test("py_exprs_02")
    +DeleteAllPlots()
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"python_simple_mix_02.vpe")
    +DefinePythonExpression("python_with_python", ['d','p', 'python_multiply'], file=script_file)
    +AddPlot("Pseudocolor", "python_with_python", 1, 1)
    +DrawPlots()
    +Test("py_exprs_03")
    +DeleteAllPlots()
    +
    +DefineScalarExpression("simple_with_python", "python_multiply-p+d+p*p")
    +AddPlot("Pseudocolor", "simple_with_python", 1, 1)
    +DrawPlots()
    +Test("py_exprs_04")
    +DeleteAllPlots()
    +
    +CloseDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"python_example_1.vpe")
    +DefinePythonExpression("MyExpression", ['d', 'p'], file=script_file)
    +AddPlot("Pseudocolor", "MyExpression")
    +DrawPlots()
    +Test("py_exprs_05")
    +DeleteAllPlots()
    +
    +script_file = pjoin(os.path.split(TestScriptPath())[0],"python_example_2.vpe")
    +DefinePythonExpression("MyExpression", ("d"), file=script_file)
    +AddPlot("Pseudocolor", "MyExpression")
    +DrawPlots()
    +Test("py_exprs_06")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_qcrit.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_qcrit.html new file mode 100644 index 000000000..1e0b06242 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_qcrit.html @@ -0,0 +1,54 @@ + +Results for hybrid/qcrit.py + +

    Results of VisIt Regression Test - hybrid/qcrit

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    iso_qcrit0.000.00
    contour_qcrit0.000.00
    pseudo_qcrit0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_qcrit_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_qcrit_py.html new file mode 100644 index 000000000..a62cf897c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_qcrit_py.html @@ -0,0 +1,54 @@ +hybrid/qcrit.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  qcrit.py
    +#
    +#  Tests:#     plots   - pseudocolor, contour
    +#  Defect ID:  1829
    +#
    +#  Programmer: Kevin Griffin
    +#  Date:       Thu Jul 31 14:21:02 PDT 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +ds = data_path("miranda_test_data/TG_vortex/plot.raw")
    +#ds = "/g/g14/kgriffin/trunk/build_debug/data/miranda_test_data/TG_vortex/plot.raw"
    +OpenDatabase(ds)
    +DefineScalarExpression("qcrit", "q_criterion(gradient(velocity[0]), gradient(velocity[1]), gradient(velocity[2]))")
    +TimeSliderNextState()
    +TimeSliderNextState()
    +
    +#
    +# Test 1
    +#
    +AddPlot("Pseudocolor", "qcrit")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = 0.2
    +IsovolumeAtts.ubound = 5.0
    +IsovolumeAtts.variable = "default"
    +SetOperatorOptions(IsovolumeAtts)
    +
    +DrawPlots()
    +Test("iso_qcrit")
    +DeleteAllPlots()
    +
    +#
    +# Test 2
    +#
    +AddPlot("Contour", "qcrit")
    +DrawPlots()
    +Test("contour_qcrit")
    +DeleteAllPlots()
    +
    +#
    +# Test 3
    +#
    +AddPlot("Pseudocolor", "qcrit")
    +DrawPlots()
    +Test("pseudo_qcrit")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_replace.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_replace.html new file mode 100644 index 000000000..d552b89fe --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_replace.html @@ -0,0 +1,72 @@ + +Results for hybrid/replace.py + +

    Results of VisIt Regression Test - hybrid/replace

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    AllMaterials0.000.00
    Material2Off0.000.00
    Replace10.000.00
    Replace20.000.00
    Replace30.000.00
    Replace40.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_replace_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_replace_py.html new file mode 100644 index 000000000..aac545bb6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_replace_py.html @@ -0,0 +1,97 @@ +hybrid/replace.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  replace.py
    +#
    +#  Tests:      the ReplaceDatabase function.
    +#
    +#  Defect ID:  VisIt00003002
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Jan 22 11:06:49 PDT 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +# 
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Turn off annotation
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +a.axes2D.visible = 1
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 0
    +a.axes2D.xAxis.title.visible = 0
    +a.axes2D.yAxis.title.visible = 0
    +SetAnnotationAttributes(a)
    +
    +# Set up the plots.
    +OpenDatabase(silo_data_path("wave0110.silo"))
    +
    +AddPlot("FilledBoundary", "Material")
    +DrawPlots()
    +v = View3DAttributes()
    +v.viewNormal = (-0.427729, 0.776091, 0.463391)
    +v.focus = (4.37669, 0.376992, 2.57924)
    +v.viewUp = (0.67875, 0.614328, -0.402368)
    +v.viewAngle = 30.
    +v.parallelScale = 5.03337
    +v.nearPlane = -11.2758
    +v.farPlane = 11.2758
    +v.perspective = 1
    +SetView3D(v)
    +
    +# Show what it looks like with all materials
    +Test("AllMaterials")
    +# Turn off the green material
    +TurnMaterialsOff("2 water")
    +Test("Material2Off")
    +
    +# Try replacing with a later time step and see if the SIL selection
    +# still is applied. It should be still applied since the files have
    +# equivalent SILs.
    +ReplaceDatabase(silo_data_path("wave0340.silo"))
    +
    +Test("Replace1")
    +
    +# Make different materials active and replace again.
    +TurnMaterialsOn()
    +TurnMaterialsOff("1 barrier")
    +ReplaceDatabase(silo_data_path("wave0470.silo"))
    +
    +Test("Replace2")
    +
    +# Open one of our simple databases, do a plot and then replace it with
    +# an unrelated database.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +ReplaceDatabase(silo_data_path("curv3d.silo"))
    +
    +v2 = View3DAttributes()
    +v2.viewNormal = (-0.499092, 0.420388, 0.757747)
    +v2.focus = (0,2.5,15)
    +v2.viewUp = (0.195607, 0.906528, -0.374093)
    +v2.viewAngle = 30.
    +v2.parallelScale = 16.0078
    +v2.nearPlane = -32.0156
    +v2.farPlane = 32.0156
    +v2.perspective = 1
    +SetView3D(v2)
    +Test("Replace3")
    +
    +# Replace it with a 2d database.
    +ReplaceDatabase(silo_data_path("curv2d.silo"))
    +
    +Test("Replace4")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_sil.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_sil.html new file mode 100644 index 000000000..f20426c03 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_sil.html @@ -0,0 +1,70 @@ + +Results for hybrid/sil.py + +

    Results of VisIt Regression Test - hybrid/sil

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sil10.000.00
    sil20.000.00
    sil30.000.00
    sil40.000.00
    sil50.000.00
    sil60 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_sil_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_sil_py.html new file mode 100644 index 000000000..adc17f5fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_sil_py.html @@ -0,0 +1,87 @@ +hybrid/sil.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  sil.py
    +#
    +#  Tests:      mesh      - 3D curvilinear,multi-domain,ghost zones replicated.
    +#              plots     - mat subset, domain subset
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Hank Childs
    +#  Date:       December 5, 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Fri Feb 24 15:45:41 PST 2012
    +#    Add test for preserving SILs across time slice changes.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +view = View3DAttributes()
    +view.viewNormal = (0.557976, 0.651128, 0.514485)
    +view.focus = (0.5, 0.5, 0.5)
    +view.viewUp = (-0.0955897, 0.666272, -0.739557)
    +view.viewAngle = 30
    +view.parallelScale = 0.866025
    +view.nearPlane = -1.73205
    +view.farPlane = 1.73205
    +view.perspective = 1
    +SetView3D(view)
    +
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("FilledBoundary", "mat")
    +DrawPlots()
    +
    +# Test the normal material plot.
    +Test("sil1")
    +
    +# Make sure that the ghost zones were generated correctly.
    +view.nearPlane = -0.3
    +SetView3D(view)
    +Test("sil2")
    +
    +view.nearPlane = -1.73205
    +SetView3D(view)
    +
    +TurnMaterialsOff("1")
    +Test("sil3")
    +
    +TurnMaterialsOff()
    +TurnMaterialsOn("1")
    +Test("sil4")
    +
    +DeleteAllPlots()
    +
    +# Test that the SIL from the previous plot is preserved.
    +AddPlot("Subset", "domains")
    +DrawPlots()
    +Test("sil5")
    +
    +OpenDatabase(data_path("Chombo_test_data/chombo.visit"))
    +
    +AddPlot("Pseudocolor", "Density")
    +s = SILRestriction()
    +s.TurnOffSet(s.SetsInCategory("materials")[1])
    +SetPlotSILRestriction(s)
    +DrawPlots()
    +TimeSliderSetState(4)
    +s = SILRestriction()
    +if (s.UsesData(s.SetsInCategory("materials")[1])):
    +   text="Material 1 got turned back on!  (incorrect)\n"
    +else:
    +   text="Material 1 was correctly left off.\n"
    +
    +TestText("sil6", text)
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_simplify_mixed.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_simplify_mixed.html new file mode 100644 index 000000000..6a17eae92 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_simplify_mixed.html @@ -0,0 +1,72 @@ + +Results for hybrid/simplify_mixed.py + +

    Results of VisIt Regression Test - hybrid/simplify_mixed

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    simplify_mixed010.000.00
    simplify_mixed020.000.00
    simplify_mixed030.000.00
    simplify_mixed040.000.00
    simplify_mixed050.000.00
    simplify_mixed060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_simplify_mixed_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_simplify_mixed_py.html new file mode 100644 index 000000000..11bdd4817 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_simplify_mixed_py.html @@ -0,0 +1,90 @@ +hybrid/simplify_mixed.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  simplify_mixed.py
    +#
    +#  Tests:      plots     - filled boundary
    +#
    +#  Defect ID:  '4363, '6464, '6504, '8082
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 19, 2005
    +#
    +#  Modifications:
    +# 
    +#    Hank Childs, Fri Sep 28 12:48:54 PDT 2007
    +#    Add testing for mixvars with simplify heavily mixed ['8082].
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#    Changed Pseudocolor CurrentPlot to ActualData.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +
    +AddPlot("FilledBoundary", "materials")
    +DrawPlots()
    +
    +v = GetView2D()
    +v.windowCoords = (0.0084, 0.0215, 0.0920, 0.1034)
    +v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +SetView2D(v)
    +
    +Test("simplify_mixed01")
    +
    +m = MaterialAttributes()
    +m.simplifyHeavilyMixedZones = 1
    +m.maxMaterialsPerZone = 2
    +SetMaterialAttributes(m)
    +
    +AddPlot("Boundary", "materials")
    +b = BoundaryAttributes()
    +b.colorType = b.ColorBySingleColor
    +SetPlotOptions(b)
    +
    +DrawPlots()
    +
    +Test("simplify_mixed02")
    +
    +DeleteAllPlots()
    +m.maxMaterialsPerZone = 1
    +SetMaterialAttributes(m)
    +
    +AddPlot("FilledBoundary", "materials")
    +DrawPlots()
    +
    +Test("simplify_mixed03")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("thinplane.silo"))
    +
    +
    +m.forceMIR = 1
    +SetMaterialAttributes(m)
    +AddPlot("Pseudocolor", "den")
    +p = PseudocolorAttributes()
    +p.limitsMode = p.ActualData
    +SetPlotOptions(p)
    +DrawPlots()
    +Test("simplify_mixed04")
    +
    +m.maxMaterialsPerZone = 2
    +SetMaterialAttributes(m)
    +ReOpenDatabase(silo_data_path("thinplane.silo"))
    +
    +Test("simplify_mixed05")
    +
    +m.maxMaterialsPerZone = 3
    +SetMaterialAttributes(m)
    +ReOpenDatabase(silo_data_path("thinplane.silo"))
    +
    +Test("simplify_mixed06")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_specmf.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_specmf.html new file mode 100644 index 000000000..9bf6196ac --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_specmf.html @@ -0,0 +1,48 @@ + +Results for hybrid/specmf.py + +

    Results of VisIt Regression Test - hybrid/specmf

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    specmf_00.000.00
    specmf_10.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_specmf_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_specmf_py.html new file mode 100644 index 000000000..f5e3964fb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_specmf_py.html @@ -0,0 +1,42 @@ +hybrid/specmf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  val4mat.py
    +#
    +#  Tests:      mesh      - 2d structured
    +#              plots     - pc
    +#
    +#  Notes
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Tuesday 12, 2008
    +#
    +#  Modifiations:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("specmix_quad.silo"))
    +
    +atts = PseudocolorAttributes()
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 1.0
    +SetDefaultPlotOptions(atts)
    +
    +# view the per material values for each of the 3 materials
    +
    +DefineScalarExpression("spec_mix", "specmf(Species,1,1)")
    +AddPlot("Pseudocolor", "spec_mix")
    +DrawPlots()
    +Test("specmf_0")
    +
    +OpenDatabase(silo_data_path("specmix_double_quad.silo"))
    +
    +AddPlot("Pseudocolor", "spec_mix")
    +DrawPlots()
    +Test("specmf_1")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_symm.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_symm.html new file mode 100644 index 000000000..aed8551c7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_symm.html @@ -0,0 +1,100 @@ + +Results for hybrid/symm.py + +

    Results of VisIt Regression Test - hybrid/symm

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    symm_010 modifications totalling 0 lines
    symm_020.000.00
    symm_030.000.00
    symm_040.000.00
    symm_050.000.00
    symm_060.000.00
    symm_070.000.00
    symm_080.000.00
    symm_090.000.00
    symm_100.000.00
    symm_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_symm_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_symm_py.html new file mode 100644 index 000000000..19de4c689 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_symm_py.html @@ -0,0 +1,114 @@ +hybrid/symm.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  symm.py
    +#
    +#  Defect ID:  '6913, '7644, '7650
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 23, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri Dec 22 11:01:09 PST 2006
    +#    Add testing for symm_point
    +#
    +#    Hank Childs, Fri Jan  5 11:14:59 PST 2007
    +#    Add testing for non-rectilinear mesh types, since they use a different
    +#    code path (which broke).
    +#
    +#    Hank Childs, Mon Jan  8 11:04:50 PST 2007
    +#    Add testing for non-scalar variable types with symmetry CMFE expressions.
    +#
    +#    Brad Whitlock, Thu May 10 09:06:46 PDT 2007
    +#    Changed the name of an expression.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +
    +# Test errors.
    +DefineScalarExpression("sp1", "symm_plane(d, [0, 0, 0, 1, 0, 0])")
    +AddPlot("Pseudocolor", "sp1")
    +DrawPlots()
    +t = GetLastError()
    +TestText("symm_01", t)
    +
    +# Now test it working...
    +DeleteAllPlots()
    +DefineScalarExpression("sp2", "symm_plane(d, [1, 0, 0, 0.3, 0, 0])")
    +AddPlot("Pseudocolor", "sp2")
    +DrawPlots()
    +Test("symm_02")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("sp3", "symm_plane(d, [1, -1, 0, 0.1, 0, 0])")
    +AddPlot("Pseudocolor", "sp3")
    +DrawPlots()
    +Test("symm_03")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("sp4", "symm_plane(d, [2, -1, 0, 0.1, 0, 0])")
    +AddPlot("Pseudocolor", "sp4")
    +DrawPlots()
    +Test("symm_04")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("st1", "symm_transform(d, [0,1,0,1,0,0,0,0,0])")
    +AddPlot("Pseudocolor", "st1")
    +DrawPlots()
    +Test("symm_05")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +DefineScalarExpression("sp5", "symm_plane(hardyglobal, [1, 0, 0, 0, 0, 0])")
    +AddPlot("Contour", "sp5")
    +DrawPlots()
    +Test("symm_06")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +DefineScalarExpression("st2", "symm_transform(hardyglobal, [0.707, 0.707, 0, -0.707, 0.707, 0, 0, 0, 1])")
    +AddPlot("Contour", "st2")
    +DrawPlots()
    +Test("symm_07")
    +
    +ActivateDatabase(silo_data_path("rect2d.silo"))
    +
    +DeleteAllPlots()
    +DefineScalarExpression("sp4_2", "symm_point(d, [0.4, 0.6, 0])")
    +AddPlot("Pseudocolor", "sp4_2")
    +DrawPlots()
    +Test("symm_08")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +DefineScalarExpression("sp6", "symm_plane(d, [1, 0, 0, 0.2, 0, 0])")
    +AddPlot("Pseudocolor", "sp6")
    +DrawPlots()
    +Test("symm_09")
    +
    +DeleteAllPlots()
    +DefineVectorExpression("sp7", "symm_plane(vel, [1, 0, 0, 0.2, 0, 0])")
    +AddPlot("Vector", "sp7")
    +DrawPlots()
    +Test("symm_10")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("sp8", "magnitude(symm_plane(vel, [1, 0, 0, 0.2, 0, 0]))")
    +AddPlot("Pseudocolor", "sp8")
    +DrawPlots()
    +Test("symm_11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_cmfe.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_cmfe.html new file mode 100644 index 000000000..017f34639 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_cmfe.html @@ -0,0 +1,108 @@ + +Results for hybrid/time_cmfe.py + +

    Results of VisIt Regression Test - hybrid/time_cmfe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    time_cmfe_010.000.00
    time_cmfe_020.000.00
    time_cmfe_030.000.00
    time_cmfe_040.000.00
    time_cmfe_050.000.00
    time_cmfe_060.000.00
    time_cmfe_070.000.00
    time_cmfe_080.000.00
    time_cmfe_090.000.00
    time_cmfe_100.000.00
    time_cmfe_110.000.00
    time_cmfe_120.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_cmfe_py.html new file mode 100644 index 000000000..a26fc1119 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_cmfe_py.html @@ -0,0 +1,93 @@ +hybrid/time_cmfe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  time_cmfe.py
    +#
    +#  Defect ID:  None
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 30, 2005
    +#
    +#  Modifications:
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Brad Whitlock, Thu Apr 19 14:35:20 PDT 2012
    +#    I changed the last couple of tests so we can directly compare the
    +#    data at a time step with what time deltas should give us.
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +
    +# Test general capability.
    +DefineScalarExpression("cmfe", "conn_cmfe(<%s[10]i:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +AddPlot("Pseudocolor", "cmfe")
    +DrawPlots()
    +Test("time_cmfe_01")
    +
    +# Should be same pressure, since we aren't doing deltas
    +SetTimeSliderState(20)
    +Test("time_cmfe_02")
    +
    +DefineScalarExpression("cmfe2", "conn_cmfe(<%s[-10]id:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +ChangeActivePlotsVar("cmfe2")
    +Test("time_cmfe_03")
    +
    +SetTimeSliderState(40)
    +Test("time_cmfe_04")
    +
    +DefineScalarExpression("cmfe3", "conn_cmfe(<%s[200]c:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +ChangeActivePlotsVar("cmfe3")
    +Test("time_cmfe_05")
    +
    +SetTimeSliderState(20)
    +Test("time_cmfe_06")
    +
    +DefineScalarExpression("cmfe4", "conn_cmfe(<%s[200]cd:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +ChangeActivePlotsVar("cmfe4")
    +Test("time_cmfe_07")
    +
    +SetTimeSliderState(40)
    +Test("time_cmfe_08")
    +
    +DefineScalarExpression("cmfe5", "conn_cmfe(<%s[-0.9]t:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +ChangeActivePlotsVar("cmfe5")
    +Test("time_cmfe_09")
    +
    +SetTimeSliderState(20)
    +Test("time_cmfe_10")
    +
    +# Get rid of the wave in the mesh and slice it. I'm slicing it because I was 
    +# originally doing lineouts but those didn't line up for some reason.
    +DefineScalarExpression("i", "mod(nodeid(quadmesh), 101.)")
    +DefineScalarExpression("j", "floor((nodeid(quadmesh) - (k*101.*11.) - i) / 101.)")
    +DefineScalarExpression("k", "floor(nodeid(quadmesh) / (101.*11.))")
    +DefineVectorExpression("offset", "{coords(quadmesh)[0], j * 0.06, coords(quadmesh)[2]} - coords(quadmesh)")
    +AddOperator("Displace")
    +disp = DisplaceAttributes()
    +disp.variable = "offset"
    +disp.factor = 1
    +SetOperatorOptions(disp)
    +AddOperator("Slice")
    +DrawPlots()
    +
    +ChangeActivePlotsVar("pressure")
    +# Do a plot of pressure at time state 25 since the time there is 3. 
    +SetTimeSliderState(25)
    +Test("time_cmfe_11")
    +
    +# Now create a time delta expression where we want to get the data that trails
    +# the current time step by 0.8. We'll set the time slider to state 29 where the 
    +# time is 3.8 and we'll use the cmfe time delta to obtain data from 0.8 time
    +# units before, or in other words, time state 25. Then we'll do a plot to see
    +# if the data matches the previous test.
    +DefineScalarExpression("cmfe6", "conn_cmfe(<%s[-0.8]td:pressure>, quadmesh)" % cmfe_silo_data_path("wave.visit"))
    +SetTimeSliderState(29)
    +ChangeActivePlotsVar("cmfe6")
    +Test("time_cmfe_12")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_deriv_cmfe.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_deriv_cmfe.html new file mode 100644 index 000000000..740065545 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_deriv_cmfe.html @@ -0,0 +1,54 @@ + +Results for hybrid/time_deriv_cmfe.py + +

    Results of VisIt Regression Test - hybrid/time_deriv_cmfe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    time_deriv_cmfe_010.000.00
    time_deriv_cmfe_020.000.00
    time_deriv_cmfe_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_deriv_cmfe_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_deriv_cmfe_py.html new file mode 100644 index 000000000..cdfe188c9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_deriv_cmfe_py.html @@ -0,0 +1,35 @@ +hybrid/time_deriv_cmfe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  time_deriv_cmfe.py
    +#
    +#  Defect ID:  '2715, '6897
    +#
    +#  Programmer: Hank Childs
    +#  Date:       January 12, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +
    +# Test general capability.
    +AddPlot("Pseudocolor", "time_derivative/conn_based/pressure")
    +DrawPlots()
    +Test("time_deriv_cmfe_01")
    +
    +TimeSliderSetState(50)
    +Test("time_deriv_cmfe_02")
    +
    +ChangeActivePlotsVar("time_derivative/pos_based/pressure")
    +Test("time_deriv_cmfe_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_iteration.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_iteration.html new file mode 100644 index 000000000..ff6ec0d46 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_iteration.html @@ -0,0 +1,54 @@ + +Results for hybrid/time_iteration.py + +

    Results of VisIt Regression Test - hybrid/time_iteration

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    time_iteration_010.000.00
    time_iteration_020.000.00
    time_iteration_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_iteration_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_iteration_py.html new file mode 100644 index 000000000..a1a0b9fa9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_time_iteration_py.html @@ -0,0 +1,41 @@ +hybrid/time_iteration.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  time_iteration.py
    +#
    +#  Defect ID:  None
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 27, 2010
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +
    +
    +DefineScalarExpression("ave1", "average_over_time(pressure, 1, 10, 1)")
    +AddPlot("Pseudocolor", "ave1")
    +DrawPlots()
    +v = GetView3D()
    +v.viewNormal = (0.607716, 0.507406, 0.610918)
    +v.viewUp = (-0.342711, 0.861513, -0.374627)
    +SetView3D(v)
    +Test("time_iteration_01")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("ave2", "average_over_time(pressure, 10, 20, 1)")
    +AddPlot("Pseudocolor", "ave2")
    +DrawPlots()
    +Test("time_iteration_02")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("pressure_big", "ge(pressure, 0.8)")
    +DefineScalarExpression("first_time", "first_time_when_condition_is_true(pressure_big, 100, 1, 71, 1)")
    +AddPlot("Pseudocolor", "first_time")
    +DrawPlots()
    +Test("time_iteration_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_timelock.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_timelock.html new file mode 100644 index 000000000..517d04766 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_timelock.html @@ -0,0 +1,209 @@ + +Results for hybrid/timelock.py + +

    Results of VisIt Regression Test - hybrid/timelock

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Make sure we get a time slider when locking a window causes the most suitable correlation to be altered.
    timelock_000.000.00
    timelock_010 modifications totalling 0 lines
    timelock_020.000.00
    timelock_030 modifications totalling 0 lines
    timelock_040.000.00
    timelock_050 modifications totalling 0 lines
    timelock_060 modifications totalling 0 lines
    timelock_070 modifications totalling 0 lines
    timelock_080.000.00
    timelock_090 modifications totalling 0 lines
    timelock_100.000.00
    timelock_110 modifications totalling 0 lines
    timelock_120.000.00
    timelock_130 modifications totalling 0 lines
    Test that the time slider works when time locking multiple windows
    timelock_140.000.00
    timelock_150 modifications totalling 0 lines
    timelock_160.000.00
    timelock_170.000.00
    timelock_180 modifications totalling 0 lines
    timelock_190.000.00
    timelock_200 modifications totalling 0 lines
    Make sure replacing into a time-locked window updates the database correlation.
    timelock_210.000.00
    timelock_220.000.00
    timelock_230 modifications totalling 0 lines
    timelock_240 modifications totalling 0 lines
    timelock_250 modifications totalling 0 lines
    timelock_260 modifications totalling 0 lines
    timelock_270.000.00
    timelock_280.000.00
    timelock_290.000.00
    timelock_300 modifications totalling 0 lines
    timelock_310.000.00
    timelock_320 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_timelock_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_timelock_py.html new file mode 100644 index 000000000..b74bd9ab7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_timelock_py.html @@ -0,0 +1,374 @@ +hybrid/timelock.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  timelock.py
    +#
    +#  Tests:      mesh      - 2D, 3D, curvilinear, single domain
    +#              plots     - FilledBoundary, Pseudocolor
    +#              databases - PDB, Silo
    +#
    +#  Purpose:    This test case tests out locking windows in time with multiple
    +#              databases in multiple windows. It makes sure that we get the
    +#              right database correlations and the right time sliders.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Mar 17 09:58:35 PDT 2005
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 23 09:23:53 PDT 2005
    +#    I made it truncate the window information so the scalable rendering flag
    +#    is not included. This way, I don't need mode-specific baselines. I also
    +#    added 2 new test cases to check the window information because one of
    +#    the baseline images in test case 2 was incorrect. Finally, I added code
    +#    in the CleanSlate function to make sure that time locking is off. That
    +#    was what caused the incorrect test case image.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Eric Brugger, Fri Jul 30 13:53:48 PDT 2010
    +#    I increased the number of lines of information it prints to 18.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +
    +#
    +# Look at the first few lines of the string representation of the
    +# WindowInformation to see the list of time sliders, etc.
    +#
    +def TestWindowInformation(testname):
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 18 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(18):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    # Get the window information and convert it to a string.
    +    TestText(testname, s)
    +
    +
    +#
    +# Tests that the database correlations look a certain way.
    +#
    +def TestCorrelations(testname):
    +    names = GetDatabaseCorrelationNames()
    +    s = ""
    +    for name in names:
    +        c = GetDatabaseCorrelation(name)
    +        s = s + str(c) + "\n"
    +    TestText(testname, s)
    +
    +def CleanSlate():
    +    # Delete all but the first window.
    +    windows = list(GetGlobalAttributes().windows)
    +    windows.sort()
    +    for win in windows[1:]:
    +        SetActiveWindow(win)
    +        DeleteWindow()
    +
    +    # Delete all of the plots.
    +    DeleteAllPlots()
    +
    +    # Delete all of the database correlations:
    +    sources = GetGlobalAttributes().sources
    +    cL = GetDatabaseCorrelationNames()
    +    for name in cL:
    +        if name not in sources:
    +            DeleteDatabaseCorrelation(name)
    +
    +    # Close all of the sources.
    +    for src in sources:
    +        CloseDatabase(src)
    +
    +    # Make sure clone window on first reference is off.
    +    SetCloneWindowOnFirstRef(0)
    +
    +    # Make sure that window 1 is not locked in time!
    +    if GetWindowInformation().lockTime == 1:
    +        ToggleLockTime()
    +
    +#
    +# Returns whether all files in the list are in the current directory.
    +#
    +def FilesPresent(files):
    +    currentFileList = os.listdir(".")
    +    count = 0
    +    retval = 0
    +    if type(files) == type(()) or type(files) == type([]):
    +        for file in files:
    +            if file in currentFileList:
    +                count = count + 1
    +        retval = count == len(files)
    +    else:
    +        # We got here because the files argument was 
    +        # a single value instead of a tuple or list.
    +        if files in currentFileList:
    +            retval = 1
    +
    +    return retval
    +
    +#
    +# Waits for all files in the list to be present in the current directory.
    +#
    +def WaitForFilesToBePresent(files):
    +    while(FilesPresent(files) == 0): sleep(1)
    +
    +#
    +# Remove all .visit files from the current directory.
    +#
    +def RemoveAllVisItFiles():
    +    currentFileList = os.listdir(".")
    +    for file in currentFileList:
    +        if file[-5:] == ".silo" or file[-6:] == ".visit":
    +            try:
    +                os.unlink(file)
    +            except:
    +                # Ignore any exceptions
    +                pass
    +
    +#
    +# Set a better view for wave.
    +#
    +def SetWaveDatabaseView():
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.735926, 0.562657, 0.376604)
    +    v0.focus = (5, 0.753448, 2.5)
    +    v0.viewUp = (0.454745, 0.822858, -0.340752)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 5.6398
    +    v0.nearPlane = -11.2796
    +    v0.farPlane = 11.2796
    +    v0.imagePan = (0.0589778, 0.0898255)
    +    v0.imageZoom = 1.32552
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    SetView3D(v0)
    +
    +#
    +# Set the active window and also set the window's background color so it's
    +# easy to tell which window we're looking at.
    +#
    +def GotoWindow(win):
    +    SetActiveWindow(win)
    +
    +    a = GetAnnotationAttributes()
    +    if win == 1:
    +        a.backgroundColor = (255,200,200,255)
    +    elif win == 2:
    +        a.backgroundColor = (200,255,200,255)
    +    else:
    +        a.backgroundColor = (200,200,255,255)
    +    SetAnnotationAttributes(a)
    +
    +#
    +# Test that we get an active time slider when a correlation is modified
    +# as a result of locking the window in time.
    +#
    +def test1(testindex):
    +    TestSection("Make sure we get a time slider when locking a window "
    +                "causes the most suitable correlation to be altered.")
    +    SetWindowLayout(4)
    +
    +    # Turn on "CloneWindowOnFirstRef"
    +    SetCloneWindowOnFirstRef(1)
    +
    +    # Copy wave.visit to this directory a few times.
    +    f = open(silo_data_path("wave.visit") , "rt")
    +    lines = f.readlines()
    +    f.close()
    +    f0 = open("wave.visit","wt")
    +    f1 = open("wave1.visit","wt")
    +    f2 = open("wave2.visit","wt")
    +    for line in lines:
    +        f0.write(silo_data_path(line))
    +        f1.write(silo_data_path(line))
    +        f2.write(silo_data_path(line))
    +    f0.close()
    +    f1.close()
    +    f2.close()
    +
    +    GotoWindow(1)
    +    OpenDatabase("wave.visit")
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    SetWaveDatabaseView()
    +    Test("timelock_%02d" % testindex)
    +    TestWindowInformation("timelock_%02d" % (testindex+1))
    +
    +    # Go to the next window. The plot should be copied. Replace the database
    +    # before we draw the plots so we'll be using a different database.
    +    GotoWindow(2)
    +    ReplaceDatabase("wave1.visit")
    +    DrawPlots()
    +    Test("timelock_%02d" % (testindex+2))
    +    TestWindowInformation("timelock_%02d" % (testindex+3))
    +
    +    # Go to the next window. The plot should be copied. Replace the database
    +    # before we draw the plots so we'll be using a different database.
    +    GotoWindow(3)
    +    ReplaceDatabase("wave2.visit")
    +    DrawPlots()
    +    Test("timelock_%02d" % (testindex+4))
    +    TestWindowInformation("timelock_%02d" % (testindex+5))
    +
    +    # Lock window 1 and 2. This should result in a database correlation.
    +    GotoWindow(1)
    +    ToggleLockTime()
    +    GotoWindow(2)
    +    ToggleLockTime()
    +    TestCorrelations("timelock_%02d" % (testindex+6))
    +
    +    # Lock window 3 in time now also. This should result in the new database
    +    # correlation being modified to accomodate window 3's database.
    +    GotoWindow(3)
    +    ToggleLockTime()
    +    TestCorrelations("timelock_%02d" % (testindex+7))
    +
    +    # Change time states and make sure all windows look the same.
    +    SetTimeSliderState(36)
    +    Test("timelock_%02d" % (testindex+8))
    +    TestWindowInformation("timelock_%02d" % (testindex+9))
    +    GotoWindow(2)
    +    Test("timelock_%02d" % (testindex+10))
    +    TestWindowInformation("timelock_%02d" % (testindex+11))
    +    GotoWindow(1)
    +    Test("timelock_%02d" % (testindex+12))
    +    TestWindowInformation("timelock_%02d" % (testindex+13))
    +
    +    # Get ready for the next test.
    +    CleanSlate()
    +    RemoveAllVisItFiles()
    +
    +    return testindex + 14
    +
    +#
    +# Test that time locking works for multiple windows. What we're really
    +# testing is that the database is copied to the newly referenced window
    +# even though we have "CloneWindowOnFirstRef" set to off. Defect '6053.
    +#
    +def test2(testindex):
    +    TestSection("Test that the time slider works when time locking multiple windows")
    +
    +    a = GetAnnotationAttributes()
    +    b = GetAnnotationAttributes()
    +    SetAnnotationAttributes(b)
    +
    +    SetCloneWindowOnFirstRef(0)
    +    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +    AddPlot("FilledBoundary", "material(mesh)")
    +    DrawPlots()
    +    Test("timelock_%02d" % testindex)
    +
    +    SetWindowLayout(2)
    +    GotoWindow(2)
    +    SetAnnotationAttributes(b)
    +    TestWindowInformation("timelock_%02d" % (testindex+1))
    +    AddPlot("Pseudocolor", "mesh/nummm")
    +    DrawPlots()
    +    Test("timelock_%02d" % (testindex+2))
    +
    +    # Turn on time locking in both windows.
    +    GotoWindow(1)
    +    ToggleLockTime()
    +    GotoWindow(2)
    +    ToggleLockTime()
    +
    +    # See if both windows updated when we changed the time in window 2.
    +    SetTimeSliderState(5)
    +    # This crashes in scalable,parallel,icet.
    +    if TestEnv.params["scalable"] == False:
    +        Test("timelock_%02d" % (testindex+3))
    +        TestWindowInformation("timelock_%02d" % (testindex+4))
    +        GotoWindow(1)
    +        ResetView()
    +        Test("timelock_%02d" % (testindex+5))
    +        TestWindowInformation("timelock_%02d" % (testindex+6))
    +
    +    # Get ready for the next test.
    +    CleanSlate()
    +    SetAnnotationAttributes(a)
    +
    +    return testindex + 7
    +
    +#
    +# Make sure that replacing into a time-locked window updates the database
    +# correlation.
    +#
    +def test3(testindex):
    +    TestSection("Make sure replacing into a time-locked window updates "
    +                "the database correlation.")
    +    SetWindowLayout(4)
    +
    +    # Turn on "CloneWindowOnFirstRef"
    +    SetCloneWindowOnFirstRef(1)
    +
    +    dbs = (silo_data_path("wave.visit") ,
    +           silo_data_path("wave_tv.visit") )
    +    OpenDatabase(dbs[0])
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    SetWaveDatabaseView()
    +    Test("timelock_%02d" % testindex)
    +
    +    GotoWindow(2)
    +    DeleteAllPlots()
    +    AddPlot("FilledBoundary", "Material")
    +    DrawPlots()
    +    Test("timelock_%02d" % (testindex+1))
    +    ToggleLockTime()
    +    TestWindowInformation("timelock_%02d" % (testindex+2))
    +    GotoWindow(1)
    +    ToggleLockTime()
    +    TestWindowInformation("timelock_%02d" % (testindex+3))
    +
    +    # Go to window 3 and make sure that certain fields were copied.
    +    # Window 3 should already be locked in time and it should contain
    +    # a Pseudocolor plot.
    +    GotoWindow(3)
    +    TestWindowInformation("timelock_%02d" % (testindex+4))
    +
    +    # Replace the database with wave_tv so we can make sure that VisIt can
    +    # create correlations when it needs to during a replace. Note that we
    +    # also replace with a later time state. This should cause the time states
    +    # for the other windows to be updated.
    +    ReplaceDatabase(dbs[1], 36)
    +    TestCorrelations("timelock_%02d" % (testindex+5))
    +    DrawPlots()
    +    Test("timelock_%02d" % (testindex+6))
    +
    +    # Test that we change change to the transient variable.
    +    ChangeActivePlotsVar("transient")
    +    Test("timelock_%02d" % (testindex+7))
    +
    +    # Make sure that the time state changed in windows 1,2.
    +    GotoWindow(2)
    +    Test("timelock_%02d" % (testindex+8))
    +    TestWindowInformation("timelock_%02d" % (testindex+9))
    +    GotoWindow(1)
    +    Test("timelock_%02d" % (testindex+10))
    +    TestWindowInformation("timelock_%02d" % (testindex+11))
    +
    +    # Get ready for the next test.
    +    CleanSlate()
    +
    +    return testindex + 12
    +
    +#
    +# Run the tests
    +#
    +try:
    +    testindex = 0
    +    testindex = test1(testindex)
    +    testindex = test2(testindex)
    +    testindex = test3(testindex)
    +except:
    +    RemoveAllVisItFiles()
    +    raise
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_val4mat.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_val4mat.html new file mode 100644 index 000000000..8b7a98689 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_val4mat.html @@ -0,0 +1,66 @@ + +Results for hybrid/val4mat.py + +

    Results of VisIt Regression Test - hybrid/val4mat

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    value_for_mat_10.000.00
    value_for_mat_20.000.00
    value_for_mat_30.000.00
    value_for_mat_post_ghost_10.000.00
    value_for_mat_post_ghost_20.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_val4mat_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_val4mat_py.html new file mode 100644 index 000000000..c98bbf0b0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_val4mat_py.html @@ -0,0 +1,76 @@ +hybrid/val4mat.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  val4mat.py
    +#
    +#  Tests:      mesh      - 3D structured, multi domain
    +#              plots     - pc
    +#
    +#  Notes:      Migrated value_for_material tests from expressions.py
    +#              and added post ghost test cases. 
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Tuesday 12, 2008
    +#
    +#  Modifiations:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("thinplane.silo"))
    +
    +atts = PseudocolorAttributes()
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 10.0
    +SetDefaultPlotOptions(atts)
    +
    +# view the per material values for each of the 3 materials
    +
    +DefineScalarExpression("vfm_1", "value_for_material(den,1)")
    +AddPlot("Pseudocolor", "vfm_1")
    +DrawPlots()
    +Test("value_for_mat_1")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("vfm_2", "value_for_material(den,2)")
    +AddPlot("Pseudocolor", "vfm_2")
    +DrawPlots()
    +Test("value_for_mat_2")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("vfm_3", "value_for_material(den,\"3\")")
    +AddPlot("Pseudocolor", "vfm_3")
    +DrawPlots()
    +Test("value_for_mat_3")
    +
    +
    +ChangeActivePlotsVar("vfm_2")
    +
    +# test w/ ghost zones (switch vfm_2 to nodal)
    +atts = PseudocolorAttributes(1)
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 10.0
    +atts.centering = atts.Nodal
    +SetPlotOptions(atts)
    +DrawPlots()
    +Test("value_for_mat_post_ghost_1")
    +
    +# make sure post ghost caching doesn't tank non ghost results
    +atts = PseudocolorAttributes(1)
    +atts.minFlag = 1
    +atts.min = 0.0
    +atts.maxFlag = 1
    +atts.max = 10.0
    +atts.centering = atts.Zonal
    +SetPlotOptions(atts)
    +DrawPlots()
    +Test("value_for_mat_post_ghost_2")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_vtkm.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_vtkm.html new file mode 100644 index 000000000..30ad812a4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_vtkm.html @@ -0,0 +1,372 @@ + +Results for hybrid/vtkm.py + +

    Results of VisIt Regression Test - hybrid/vtkm

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    vtkm_rect2d_010.000.00
    vtkm_rect2d_020.000.00
    vtkm_rect3d_010.000.00
    vtkm_rect3d_01a0.000.00
    vtkm_rect3d_020.000.00
    vtkm_rect3d_030.000.00
    vtkm_rect3d_040.000.00
    vtkm_rect3d_050.000.00
    vtkm_rect3d_060.000.00
    vtkm_rect3d_070.000.00
    vtkm_rect3d_080.000.00
    vtkm_rect3d_090.000.00
    vtkm_rect3d_100.000.00
    vtkm_curv2d_010.000.00
    vtkm_curv2d_020.000.00
    vtkm_curv3d_010.000.00
    vtkm_curv3d_01a0.000.00
    vtkm_curv3d_020.000.00
    vtkm_curv3d_030.000.00
    vtkm_curv3d_040.000.00
    vtkm_curv3d_050.000.00
    vtkm_curv3d_060.000.00
    vtkm_curv3d_070.000.00
    vtkm_curv3d_080.000.00
    vtkm_curv3d_090.000.00
    vtkm_curv3d_100.000.00
    vtkm_ucd2d_010.000.00
    vtkm_ucd2d_020.000.00
    vtkm_ucd3d_010.000.00
    vtkm_ucd3d_01a0.000.00
    vtkm_ucd3d_020.000.00
    vtkm_ucd3d_030.000.00
    vtkm_ucd3d_040.000.00
    vtkm_ucd3d_050.000.00
    vtkm_ucd3d_060.000.00
    vtkm_ucd3d_070.000.00
    vtkm_ucd3d_080.000.00
    vtkm_globe_010.000.00
    vtkm_globe_020.000.00
    vtkm_globe_030.000.00
    vtkm_globe_040.000.00
    vtkm_globe_050.000.00
    vtkm_globe_060.000.00
    vtkm_globe_070.000.00
    vtkm_globe_080.000.00
    vtkm_globe_090.000.00
    vtkm_globe_100.000.00
    vtkm_globe_110.000.00
    vtkm_multi_ucd3d_010.000.00
    vtkm_multi_ucd3d_020.000.00
    vtkm_multi_ucd3d_030.000.00
    vtkm_multi_ucd3d_040.000.00
    vtkm_multi_ucd3d_050.000.00
    vtkm_multi_ucd3d_060.000.00
    vtkm_multi_ucd3d_070.000.00
    vtkm_multi_ucd3d_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/hybrid_vtkm_py.html b/2023-11-08-22:00/pascal_trunk_serial/hybrid_vtkm_py.html new file mode 100644 index 000000000..7421ae946 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/hybrid_vtkm_py.html @@ -0,0 +1,779 @@ +hybrid/vtkm.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  vtkm.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#                          3D curvilinear, single domain
    +#                          3D unstructured, single domain
    +#                          3D unstructured, multi domain
    +#              plots     - Contour, Pseudocolor
    +#              operators - Isosurface, Isovolume, Slice, Threshold
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Wed Sep 19 12:18:14 PDT 2018
    +#
    +#  Modifications:
    +#    James Kress, Tue Oct  5 14:00:28 PST 2021
    +#    Adding additional threshold tests.
    +#
    +#    Eric Brugger, Fri Feb 24 14:57:15 PST 2023
    +#    Added additional tests.
    +#
    +# ----------------------------------------------------------------------------
    +
    +SetBackendType("vtkm")
    +
    +#
    +# Test a 2d rectilinear mesh.
    +#
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +Test("vtkm_rect2d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_rect2d_02")
    +
    +#
    +# Test a 3d rectilinear mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.4854, 0.3984, 0.7782)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.1209, 0.9122, -0.3916)
    +v.parallelScale = 0.8660
    +v.nearPlane = -1.7321
    +v.farPlane = 1.7321
    +SetView3D(v)
    +
    +Test("vtkm_rect3d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_rect3d_01a")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0.5, 0.5, 0.5)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0.5, 0.5, 0.5)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (0.2)
    +ThresholdAtts.upperBounds = (0.59)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (-0.2)
    +ThresholdAtts.upperBounds = (0.39)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_07")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (-0.2)
    +ThresholdAtts.upperBounds = (0.39)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_08")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -0.2
    +IsovolumeAtts.ubound = 0.39
    +IsovolumeAtts.variable = "u"
    +SetOperatorOptions(IsovolumeAtts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_09")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -0.2
    +IsovolumeAtts.ubound = 0.39
    +IsovolumeAtts.variable = "default"
    +SetOperatorOptions(IsovolumeAtts)
    +DrawPlots()
    +
    +Test("vtkm_rect3d_10")
    +
    +#
    +# Test a 2d curvilinear mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +Test("vtkm_curv2d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_curv2d_02")
    +
    +#
    +# Test a 3d curvilinear mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.4854, 0.3984, 0.7782)
    +v.focus = (0., 2.5, 15.)
    +v.viewUp = (-0.1209, 0.9122, -0.3916)
    +v.parallelScale = 16.0078
    +v.nearPlane = -32.0156
    +v.farPlane = 32.0156
    +SetView3D(v)
    +
    +Test("vtkm_curv3d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_curv3d_01a")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 15.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 15.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (1)
    +ThresholdAtts.upperBounds = (3)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (-0.5)
    +ThresholdAtts.upperBounds = (0.5)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_07")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (-0.5)
    +ThresholdAtts.upperBounds = (0.5)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_08")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -0.5
    +IsovolumeAtts.ubound = 0.5
    +IsovolumeAtts.variable = "u"
    +SetOperatorOptions(IsovolumeAtts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_09")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -0.5
    +IsovolumeAtts.ubound = 0.5
    +IsovolumeAtts.variable = "default"
    +SetOperatorOptions(IsovolumeAtts)
    +DrawPlots()
    +
    +Test("vtkm_curv3d_10")
    +
    +#
    +# Test a 2d unstructured mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +Test("vtkm_ucd2d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_ucd2d_02")
    +
    +#
    +# Test a 3d unstructured mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("ucd3d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.4854, 0.3984, 0.7782)
    +v.focus = (0., 2.5, 10.)
    +v.viewUp = (-0.1209, 0.9122, -0.3916)
    +v.parallelScale = 11.4564
    +v.nearPlane = -22.9129
    +v.farPlane = 22.9129
    +SetView3D(v)
    +
    +Test("vtkm_ucd3d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_01a")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 10.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 10.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (2.5)
    +ThresholdAtts.upperBounds = (4.0)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (0.8)
    +ThresholdAtts.upperBounds = (0.95)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_07")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (0.8)
    +ThresholdAtts.upperBounds = (0.95)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_ucd3d_08")
    +
    +#
    +# Test 3d unstructured with zoo elements.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (-0.3057, 0.7186, 0.6247)
    +v.focus = (0., 0., 0.)
    +v.viewUp = (0.5003, 0.6794, -0.5367)
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +SetView3D(v)
    +
    +Test("vtkm_globe_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "dx")
    +DrawPlots()
    +
    +Test("vtkm_globe_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "v")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 0., 0.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "dx")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 0., 0.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "dx")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "dx")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (-2.0)
    +ThresholdAtts.upperBounds = (2.0)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_globe_07")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (-5.0)
    +ThresholdAtts.upperBounds = (5.0)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_globe_08")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (-5.0)
    +ThresholdAtts.upperBounds = (5.0)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_globe_09")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "dx")
    +AddOperator("Isovolume")
    +atts = IsovolumeAttributes()
    +atts.lbound = -5.0
    +atts.ubound = 5.0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_10")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isovolume")
    +atts = IsovolumeAttributes()
    +atts.lbound = -5.0
    +atts.ubound = 5.0
    +atts.variable = "default"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_globe_11")
    +
    +#
    +# Test a multi-domain unstructured mesh.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.4854, 0.3984, 0.7782)
    +v.focus = (0., 2.5, 10.)
    +v.viewUp = (-0.1209, 0.9122, -0.3916)
    +v.parallelScale = 11.4564
    +v.nearPlane = -22.9129
    +v.farPlane = 22.9129
    +SetView3D(v)
    +
    +Test("vtkm_multi_ucd3d_01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 10.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_02")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (0., 1., 0.)
    +atts.originType = atts.Point
    +atts.originPoint = (0., 2.5, 10.)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +atts = IsosurfaceAttributes()
    +atts.contourNLevels = 10
    +atts.contourMethod = atts.Level
    +atts.minFlag = 0
    +atts.maxFlag = 0
    +atts.variable = "u"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (2.5)
    +ThresholdAtts.upperBounds = (4.0)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_06")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (0.995)
    +ThresholdAtts.upperBounds = (0.9985)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_07")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (0.995)
    +ThresholdAtts.upperBounds = (0.9985)
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +Test("vtkm_multi_ucd3d_08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/index.html b/2023-11-08-22:00/pascal_trunk_serial/index.html new file mode 100644 index 000000000..3eb934749 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/index.html @@ -0,0 +1,2410 @@ + + + + + VisIt Regression Results ( pascal,trunk,serial ) - 2023:11:08:22:55:37 + + + + + + + + + + +

    Results of VisIt Regression Test ( pascal,trunk,serial )

    +Test suite run started at 2023:11:08:22:55:37.
    +(Click on table header to sort) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    IndexCategory Test File Status Runtime (sec)
    0databasesANSYS.pySucceeded10
    1databasesCGNS.pySucceeded15
    2databasesCale.pySucceeded6
    43databasessilo.pySucceeded With Skips62
    3databasesFITS.pySucceeded8
    44databasessilo_altdriver.pySucceeded55
    45databasessilo_datatypes.pySucceeded23
    46databasessinglemulti.pySucceeded5
    4databasesFMS.pySucceeded115
    47databasessw4.pySucceeded10
    5databasesGDAL.pyDatabase plugin requirements not met4
    48databasestimesliders.pySucceeded9
    6databasesRAW.pySucceeded6
    49databasesuintah.pySucceeded5
    7databasesSPCTH.pySucceeded5
    50databasesunv.pySucceeded7
    8databasesWData.pySucceeded6
    9databasesXmdv.pySucceeded6
    51databasesvtk.pySucceeded24
    52databasesxdmf.pySucceeded14
    10databasesbov.pySucceeded34
    53databasesxyz.pySucceeded7
    11databasesclaw.pySucceeded7
    54databasesANALYZE.pySucceeded8
    12databasescurve.pySucceeded5
    55databasesChombo.pySucceeded8
    13databasesddcMD.pySucceeded11
    14databasesdiff.pySkipped(skipped)
    56databasesFluent.pySucceeded7
    15databasesffp.pySucceeded7
    57databasesNASTRAN.pySucceeded14
    16databasesflash.pySucceeded5
    17databasesimage.pySucceeded5
    58databasesOpenFOAM.pySucceeded21
    18databaseslata.pySucceeded10
    59databasesPATRAN.pySucceeded12
    19databasesleos.pySucceeded15
    20databaseslines.pySucceeded5
    21databasesmetadata.pySucceeded14
    60databasesPLOT3D.pySucceeded83
    61databasesProteinDataBank.pySucceeded17
    62databasesVelodyne.pySucceeded9
    63databasesXolotl.pySucceeded7
    64databasesactivesource.pySucceeded5
    65databasesadios2.pySucceeded5
    66databasesavsucd.pySucceeded6
    67databasesboxlib.pySucceeded11
    68databasesblueprint_export.pySucceeded85
    69databaseschgcar.pySucceeded9
    70databasesclosedatabase.pySucceeded5
    71databasescorrelation.pySucceeded16
    72databasesempty_db.pySucceeded5
    73databasesexodus.pySucceeded With Skips14
    22databasesmfem.pySucceeded402
    74databasesexport_db.pySucceeded55
    23databasesmili.pySucceeded22
    75databasesglobal_node_ids.pySucceeded15
    76databasesh5part.pySucceeded5
    77databaseshistory.pySucceeded6
    78databasesimgvol.pySucceeded6
    79databaseskulllite.pySucceeded6
    24databasesmiranda.pySucceeded85
    80databaseswave_tv.pySucceeded7
    25databasesmoab.pySucceeded5
    81databasesxform_precision.pySucceeded6
    26databasesmulti_format.pySucceeded6
    27databasesmulti_format2.pySucceeded5
    82databaseszipwrapper.pySucceeded25
    83databasesblueprint_axom_klee.pySucceeded50
    84databasesEnSight.pySucceeded8
    85databasestecplot.pySucceeded12
    86databasesblueprint.pySucceeded With Skips118
    28databasesnetcdf.pySucceeded250
    87expressionsghost_zoneid_expr.pySucceeded5
    29databasesobj.pySucceeded6
    88expressionstensor_expr.pySucceeded8
    30databasesoldsilo.pySucceeded5
    89faulttolerancebadfile.pySucceeded4
    31databasesopenPMD.pySucceeded5
    90faulttolerancecheckmode.pySucceeded3
    32databasesopenexr.pySucceeded6
    91faulttolerancesavewindow.pySucceeded7
    33databasesoverlink.pySucceeded7
    92hybridddf.pySucceeded6
    93hybridlocus.pySucceeded19
    34databasespdbdatabase.pySucceeded32
    94hybridmatvf.pySucceeded9
    35databasespixie.pySucceeded8
    95hybridmir.pySucceeded13
    96hybridmovie.pySkipped(skipped)
    36databasesplaintext.pySucceeded5
    97hybridqcrit.pySucceeded7
    37databasesrect.pySucceeded6
    98hybridsil.pySucceeded6
    38databasesreopen.pySucceeded11
    99hybridsimplify_mixed.pySucceeded7
    39databasessami.pySucceeded6
    100hybridspecmf.pySucceeded4
    40databasessamrai.pySucceeded16
    101hybridsymm.pySucceeded9
    41databasesscale_mesh.pySucceeded5
    102hybridtime_cmfe.pySucceeded8
    103hybridtime_deriv_cmfe.pySucceeded5
    104hybridtime_iteration.pySucceeded8
    105hybridval4mat.pySucceeded5
    42databasesshapefile.pySucceeded54
    106hybridvtkm.pySucceeded17
    129hybridlineout.pySucceeded24
    107hybridtimelock.pySucceeded9
    130hybridlocktime.pySucceeded6
    131hybridmath_expr.pySucceeded5
    108hybridcinema-a.pySucceeded20
    132hybridmatsel.pySucceeded5
    133hybridmerge_tree.pySucceeded9
    134hybridmesh_quality.pySucceeded7
    109hybridcinema-c.pySucceeded43
    135hybridmir_cache.pySucceeded5
    110hybridcleanzonesonly.pySucceeded6
    111hybridclonecopy.pySkipped(skipped)
    112hybridclonefirstref.pySucceeded5
    113hybridconditional.pySucceeded6
    136hybridmissingdata.pySucceeded31
    114hybridconn_cmfe.pySucceeded7
    137hybridmultivar.pySucceeded5
    115hybridcoord_expr.pySucceeded6
    138hybridpos_cmfe.pySucceeded9
    116hybridcurve_anim.pySucceeded5
    139hybridpy_exprs.pySucceeded7
    117hybridcurve_expressions.pySucceeded5
    140hybridreplace.pySucceeded6
    141hybridselections.pySkipped(skipped)
    142hybridselections_pp.pySkipped(skipped)
    118hybridcylindrical_radius.pySucceeded7
    119hybriddefvar_anim.pySucceeded5
    143meshtypecsg.pySucceeded19
    120hybridexpr2engine.pySucceeded5
    144meshtypeglobe.pySucceeded6
    121hybridexprList.pySucceeded4
    145meshtypepoint.pySucceeded7
    122hybridexpr_cmfe.pySucceeded5
    146meshtypearbpoly.pySucceeded6
    123hybridexpressions.pySucceeded14
    147meshtypedegen_mesh.pySucceeded9
    124hybridfield_operators.pySucceeded9
    148meshtypeemptydomains.pySucceeded7
    125hybridghost_node.pySucceeded5
    149meshtyperect3d.pySucceeded5
    126hybridimage_proc.pySucceeded5
    150operatorsbox.pySucceeded6
    151operatorsclip.pySucceeded8
    127hybridkeyframe.pySucceeded20
    128hybridlambda2.pySucceeded7
    172operatorslcs_ic_1.pySucceeded192
    152operatorslcs.pySucceeded319
    153operatorsremap.pySucceeded71
    154operatorsslice.pySucceeded14
    173operatorslcs_ic_2.pySucceeded200
    155operatorstube.pySucceeded5
    156operatorsamr_stitch.pySucceeded6
    157operatorscart_proj.pySucceeded With Skips6
    158operatorscracksclipper.pySucceeded6
    159operatorsdefer_expr.pySucceeded8
    160operatorsdisplace.pySucceeded7
    161operatorsdual_mesh.pySucceeded With Skips7
    162operatorselevate.pySucceeded8
    163operatorsex_surf.pySucceeded5
    164operatorsexplode.pySucceeded24
    165operatorsic_integration.pySucceeded10
    174operatorslcs_lc_1.pySucceeded190
    166operatorsic_pathlines.pySucceeded6
    167operatorsic_pics.pySucceeded71
    168operatorsic_termination.pySucceeded6
    169operatorsindexselect.pySucceeded13
    170operatorsinverse_ghost_zone.pySucceeded6
    171operatorsisovolume.pySucceeded7
    175operatorslcs_lc_2.pySucceeded201
    176operatorsmoveoperators.pySucceeded9
    177operatorsmultires.pySucceeded5
    215queriespick.pySucceeded With Skips73
    216queriesscf.pySucceeded7
    217queriesIntegralCurveInfo.pySkipped(skipped)
    218queriesavg_value.pySucceeded With Skips7
    178operatorsonionpeel.pySucceeded25
    179operatorsoperators.pySucceeded7
    219queriesbestfitline.pySucceeded10
    220queriescasetest.pySucceeded5
    180operatorspersistent_particles.pySucceeded10
    221queriescentroid.pySucceeded6
    181operatorsradial_resample.pySucceeded6
    222queriesconncomp.pySucceeded7
    182operatorsresample.pySucceeded6
    183operatorsrevolve.pySucceeded4
    223queriesconsistencyChecks.pySucceeded6
    224queriescurvature.pySucceeded5
    184operatorssph_resample.pySucceeded6
    185operatorstessellate.pySucceeded9
    225queriesdatabase.pySucceeded21
    186operatorsthreeslice.pySucceeded6
    187operatorsthreshold.pySucceeded8
    188operatorstransform.pySucceeded7
    189operatorsextrudeStacked.pySucceeded12
    226queriesflatten.pySucceeded75
    227queriesgridinformation.pySucceeded6
    190operatorsic_geometry.pySucceeded30
    228querieshohlraum.pySucceeded19
    229querieskurtosis.pySucceeded5
    230queriesl2norm.pySucceeded38
    231querieslength.pySucceeded6
    191operatorsic_streamlines.pySucceeded125
    192operatorsreflect.pySucceeded10
    232queriesline_scan.pySucceeded45
    193plotscurve.pySucceeded11
    233queriespickNamedArgs.pySucceeded10
    234queriespickarray.pySucceeded6
    235queriespickcleanzonesonly.pySucceeded4
    236queriespy_queries.pySucceeded5
    237queriesqueriesOverTime.pySucceeded87
    238queriesqueryMultiWindow.pySucceeded7
    239queriesrevolved_surface_area.pySucceeded5
    240queriessurface_area_over_time.pySucceeded58
    241queriesvariable_sum_volume.pySucceeded6
    242querieswatertight.pySucceeded4
    243querieserror_queries.pySucceeded5
    194plotslabel.pySucceeded293
    195plotsmesh.pySucceeded11
    196plotscontour.pySucceeded10
    197plotsfilledboundary.pySucceeded7
    198plotsmesh_c.pySucceeded11
    199plotsmolecule.pySucceeded8
    200plotsmulticolor.pySucceeded8
    201plotsparcoords.pySucceeded8
    202plotspseudocolor.pySucceeded16
    244queriesxrayimage.pySucceeded167
    203plotsray_trace.pySucceeded9
    245quickrecipesview.pySucceeded6
    204plotsscatter.pySucceeded11
    246quickrecipescl_args.pySucceeded3
    205plotssinglecolor.pySucceeded5
    247quickrecipescolortables.pySucceeded5
    248quickrecipesexpressions.pySucceeded5
    249quickrecipeshow_to_start.pySkipped(skipped)
    250quickrecipesopening_compute_engine.pySkipped(skipped)
    206plotssubset.pySucceeded8
    207plotssurface.pySucceeded6
    251quickrecipesoperators.pySucceeded14
    208plotstensor.pySucceeded8
    252quickrecipessaving_images.pySucceeded4
    209plotstruecolor.pySucceeded4
    253quickrecipessubsetting.pySucceeded5
    254quickrecipesworking_with_annotations.pySucceeded5
    210plotsvector.pySucceeded8
    255quickrecipesworking_with_dbs.pySucceeded5
    211plotsvolumePlot.pySucceeded With Skips12
    256quickrecipesworking_with_plots.pySucceeded7
    257quickrecipesquantitative_operations.pySucceeded18
    258renderingimage.pySucceeded5
    259renderingview.pySucceeded18
    212pluginsdatabasesVsInstall.pyUnacceptable84
    260renderingannotation.pySucceeded10
    261renderingaxislabels.pySucceeded7
    262renderingaxistitles.pySucceeded7
    213pluginsoperatorsVsInstall.pyUnacceptable42
    263renderingbigdata.pySucceeded With Skips5
    264renderingcolortexture.pySucceeded6
    265renderingcompositing.pySucceeded5
    214pluginsplotsVsInstall.pyUnacceptable33
    266renderingevalcubic.pySucceeded6
    267renderinglegends.pySucceeded With Skips17
    301simulationcsg.pySucceeded29
    268renderinglighting.pySucceeded5
    302simulationcurve.pySucceeded With Skips7
    269renderingline2d.pySucceeded6
    303simulationlife.pySucceeded With Skips7
    270renderingline3d.pySucceeded6
    304simulationmesh.pySucceeded7
    271renderingospray.pySucceeded6
    305simulationpoint.pySucceeded7
    272renderingpixeldata.pySucceeded With Skips11
    306simulationvar.pySucceeded7
    307simulationaresamr.pySucceeded6
    273renderingrenderpoints.pySucceeded20
    308simulationdomainbounds.pySucceeded6
    274renderingsaveformats.pySucceeded10
    309simulationdomainlist.pySucceeded13
    275renderingscalable2.pySucceeded7
    310simulationghostcells.pySucceeded10
    276renderingscalable_c.pySucceeded32
    311simulationglobalids.pySucceeded16
    277renderingshadows.pySucceeded5
    312simulationinterleave.pySucceeded10
    278renderingspecular.pySucceeded6
    279renderingtext2d.pySucceeded6
    313simulationmandelbrot.pySucceeded27
    280renderingtext3d.pySucceeded6
    314simulationmaterial.pySucceeded7
    281renderingtimeslider.pySucceeded8
    315simulationmaterialvar.pySucceeded8
    282renderingtransparency.pySucceeded7
    316simulationmultiblock.pySucceeded7
    283renderingviewChange.pySucceeded10
    317simulationpolyhedral.pySucceeded6
    284renderingvolume.pySucceeded With Skips6
    318simulationscalar.pySucceeded7
    319simulationspecies.pySucceeded8
    285renderingscalable.pySucceeded32
    320simulationucdcurve.pySucceeded21
    321simulationunstructured.pySucceeded6
    286renderingoffscreensave.pySucceeded25
    287sessioncolortable.pySucceeded5
    322simulationupdateplots.pySucceeded9
    288sessioncorrelationsession.pySucceeded6
    289sessionlegendproperties.pySucceeded5
    290sessionrect3d-contour.pySucceeded5
    323simulationupdateplots_session.pySucceeded50
    291sessionrestorewithsources.pySucceeded5
    292sessionselection.pySucceeded5
    293sessionsessionexpression.pySucceeded5
    324simulationzerocopy.pySucceeded With Skips27
    325unitannotation_objects.pySucceeded3
    294sessionsessionview.pySucceeded12
    326unitatts_assign.pySucceeded7
    295sessionsimplekeyframe.pySucceeded8
    327unitcompiler_warnings.pySkipped(skipped)
    296sessiontextannot.pySucceeded5
    328unitconvert2to3.pySucceeded4
    297sessionview3d.pySucceeded4
    329unitdefault_methods.pySucceeded4
    298sessionwavecontour.pySucceeded5
    299simulationamr.pySucceeded6
    330unitlauncher.pySucceeded16
    331unitmrucache.pySucceeded3
    332unitnamescheme.pySucceeded3
    300simulationbatch.pySucceeded32
    333unitprotocol.pySucceeded4
    334unitstringhelpers.pySucceeded3
    335unittest_value_simple.pySucceeded3
    336unitutility.pySucceeded3
    +Test suite run complete at 2023:11:09:00:19:36 (5039 seconds). + diff --git a/2023-11-08-22:00/pascal_trunk_serial/js/jquery-3.6.1.min.js b/2023-11-08-22:00/pascal_trunk_serial/js/jquery-3.6.1.min.js new file mode 100644 index 000000000..2c69bc908 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/js/jquery-3.6.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 1) { + arr = arr.concat(checkCellColSpan(table, headerArr, row++)); + } else { + if (table.tHead.length == 1 || (cell.rowSpan > 1 || !r[row + 1])) { + arr.push(cell); + } + // headerArr[row] = (i+row); + } + } + return arr; + }; + + function checkHeaderMetadata(cell) { + if (($.metadata) && ($(cell).metadata().sorter === false)) { + return true; + }; + return false; + } + + function checkHeaderOptions(table, i) { + if ((table.config.headers[i]) && (table.config.headers[i].sorter === false)) { + return true; + }; + return false; + } + + function checkHeaderOptionsSortingLocked(table, i) { + if ((table.config.headers[i]) && (table.config.headers[i].lockedOrder)) return table.config.headers[i].lockedOrder; + return false; + } + + function applyWidget(table) { + var c = table.config.widgets; + var l = c.length; + for (var i = 0; i < l; i++) { + + getWidgetById(c[i]).format(table); + } + + } + + function getWidgetById(name) { + var l = widgets.length; + for (var i = 0; i < l; i++) { + if (widgets[i].id.toLowerCase() == name.toLowerCase()) { + return widgets[i]; + } + } + }; + + function formatSortingOrder(v) { + if (typeof(v) != "Number") { + return (v.toLowerCase() == "desc") ? 1 : 0; + } else { + return (v == 1) ? 1 : 0; + } + } + + function isValueInArray(v, a) { + var l = a.length; + for (var i = 0; i < l; i++) { + if (a[i][0] == v) { + return true; + } + } + return false; + } + + function setHeadersCss(table, $headers, list, css) { + // remove all header information + $headers.removeClass(css[0]).removeClass(css[1]); + + var h = []; + $headers.each(function (offset) { + if (!this.sortDisabled) { + h[this.column] = $(this); + } + }); + + var l = list.length; + for (var i = 0; i < l; i++) { + h[list[i][0]].addClass(css[list[i][1]]); + } + } + + function fixColumnWidth(table, $headers) { + var c = table.config; + if (c.widthFixed) { + var colgroup = $(''); + $("tr:first td", table.tBodies[0]).each(function () { + colgroup.append($('').css('width', $(this).width())); + }); + $(table).prepend(colgroup); + }; + } + + function updateHeaderSortCount(table, sortList) { + var c = table.config, + l = sortList.length; + for (var i = 0; i < l; i++) { + var s = sortList[i], + o = c.headerList[s[0]]; + o.count = s[1]; + o.count++; + } + } + + /* sorting methods */ + + var sortWrapper; + + function multisort(table, sortList, cache) { + + if (table.config.debug) { + var sortTime = new Date(); + } + + var dynamicExp = "sortWrapper = function(a,b) {", + l = sortList.length; + + // TODO: inline functions. + for (var i = 0; i < l; i++) { + + var c = sortList[i][0]; + var order = sortList[i][1]; + // var s = (getCachedSortType(table.config.parsers,c) == "text") ? + // ((order == 0) ? "sortText" : "sortTextDesc") : ((order == 0) ? + // "sortNumeric" : "sortNumericDesc"); + // var s = (table.config.parsers[c].type == "text") ? ((order == 0) + // ? makeSortText(c) : makeSortTextDesc(c)) : ((order == 0) ? + // makeSortNumeric(c) : makeSortNumericDesc(c)); + var s = (table.config.parsers[c].type == "text") ? ((order == 0) ? makeSortFunction("text", "asc", c) : makeSortFunction("text", "desc", c)) : ((order == 0) ? makeSortFunction("numeric", "asc", c) : makeSortFunction("numeric", "desc", c)); + var e = "e" + i; + + dynamicExp += "var " + e + " = " + s; // + "(a[" + c + "],b[" + c + // + "]); "; + dynamicExp += "if(" + e + ") { return " + e + "; } "; + dynamicExp += "else { "; + + } + + // if value is the same keep orignal order + var orgOrderCol = cache.normalized[0].length - 1; + dynamicExp += "return a[" + orgOrderCol + "]-b[" + orgOrderCol + "];"; + + for (var i = 0; i < l; i++) { + dynamicExp += "}; "; + } + + dynamicExp += "return 0; "; + dynamicExp += "}; "; + + if (table.config.debug) { + benchmark("Evaling expression:" + dynamicExp, new Date()); + } + + eval(dynamicExp); + + cache.normalized.sort(sortWrapper); + + if (table.config.debug) { + benchmark("Sorting on " + sortList.toString() + " and dir " + order + " time:", sortTime); + } + + return cache; + }; + + function makeSortFunction(type, direction, index) { + var a = "a[" + index + "]", + b = "b[" + index + "]"; + if (type == 'text' && direction == 'asc') { + return "(" + a + " == " + b + " ? 0 : (" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : (" + a + " < " + b + ") ? -1 : 1 )));"; + } else if (type == 'text' && direction == 'desc') { + return "(" + a + " == " + b + " ? 0 : (" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : (" + b + " < " + a + ") ? -1 : 1 )));"; + } else if (type == 'numeric' && direction == 'asc') { + return "(" + a + " === null && " + b + " === null) ? 0 :(" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : " + a + " - " + b + "));"; + } else if (type == 'numeric' && direction == 'desc') { + return "(" + a + " === null && " + b + " === null) ? 0 :(" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : " + b + " - " + a + "));"; + } + }; + + function makeSortText(i) { + return "((a[" + i + "] < b[" + i + "]) ? -1 : ((a[" + i + "] > b[" + i + "]) ? 1 : 0));"; + }; + + function makeSortTextDesc(i) { + return "((b[" + i + "] < a[" + i + "]) ? -1 : ((b[" + i + "] > a[" + i + "]) ? 1 : 0));"; + }; + + function makeSortNumeric(i) { + return "a[" + i + "]-b[" + i + "];"; + }; + + function makeSortNumericDesc(i) { + return "b[" + i + "]-a[" + i + "];"; + }; + + function sortText(a, b) { + if (table.config.sortLocaleCompare) return a.localeCompare(b); + return ((a < b) ? -1 : ((a > b) ? 1 : 0)); + }; + + function sortTextDesc(a, b) { + if (table.config.sortLocaleCompare) return b.localeCompare(a); + return ((b < a) ? -1 : ((b > a) ? 1 : 0)); + }; + + function sortNumeric(a, b) { + return a - b; + }; + + function sortNumericDesc(a, b) { + return b - a; + }; + + function getCachedSortType(parsers, i) { + return parsers[i].type; + }; /* public methods */ + this.construct = function (settings) { + return this.each(function () { + // if no thead or tbody quit. + if (!this.tHead || !this.tBodies) return; + // declare + var $this, $document, $headers, cache, config, shiftDown = 0, + sortOrder; + // new blank config object + this.config = {}; + // merge and extend. + config = $.extend(this.config, $.tablesorter.defaults, settings); + // store common expression for speed + $this = $(this); + // save the settings where they read + $.data(this, "tablesorter", config); + // build headers + $headers = buildHeaders(this); + // try to auto detect column type, and store in tables config + this.config.parsers = buildParserCache(this, $headers); + // build the cache for the tbody cells + cache = buildCache(this); + // get the css class names, could be done else where. + var sortCSS = [config.cssDesc, config.cssAsc]; + // fixate columns if the users supplies the fixedWidth option + fixColumnWidth(this); + // apply event handling to headers + // this is to big, perhaps break it out? + $headers.click( + + function (e) { + var totalRows = ($this[0].tBodies[0] && $this[0].tBodies[0].rows.length) || 0; + if (!this.sortDisabled && totalRows > 0) { + // Only call sortStart if sorting is + // enabled. + $this.trigger("sortStart"); + // store exp, for speed + var $cell = $(this); + // get current column index + var i = this.column; + // get current column sort order + this.order = this.count++ % 2; + // always sort on the locked order. + if(this.lockedOrder) this.order = this.lockedOrder; + + // user only whants to sort on one + // column + if (!e[config.sortMultiSortKey]) { + // flush the sort list + config.sortList = []; + if (config.sortForce != null) { + var a = config.sortForce; + for (var j = 0; j < a.length; j++) { + if (a[j][0] != i) { + config.sortList.push(a[j]); + } + } + } + // add column to sort list + config.sortList.push([i, this.order]); + // multi column sorting + } else { + // the user has clicked on an all + // ready sortet column. + if (isValueInArray(i, config.sortList)) { + // revers the sorting direction + // for all tables. + for (var j = 0; j < config.sortList.length; j++) { + var s = config.sortList[j], + o = config.headerList[s[0]]; + if (s[0] == i) { + o.count = s[1]; + o.count++; + s[1] = o.count % 2; + } + } + } else { + // add column to sort list array + config.sortList.push([i, this.order]); + } + }; + setTimeout(function () { + // set css for headers + setHeadersCss($this[0], $headers, config.sortList, sortCSS); + appendToTable( + $this[0], multisort( + $this[0], config.sortList, cache) + ); + }, 1); + // stop normal event by returning false + return false; + } + // cancel selection + }).mousedown(function () { + if (config.cancelSelection) { + this.onselectstart = function () { + return false + }; + return false; + } + }); + // apply easy methods that trigger binded events + $this.bind("update", function () { + var me = this; + setTimeout(function () { + // rebuild parsers. + me.config.parsers = buildParserCache( + me, $headers); + // rebuild the cache map + cache = buildCache(me); + }, 1); + }).bind("updateCell", function (e, cell) { + var config = this.config; + // get position from the dom. + var pos = [(cell.parentNode.rowIndex - 1), cell.cellIndex]; + // update cache + cache.normalized[pos[0]][pos[1]] = config.parsers[pos[1]].format( + getElementText(config, cell), cell); + }).bind("sorton", function (e, list) { + $(this).trigger("sortStart"); + config.sortList = list; + // update and store the sortlist + var sortList = config.sortList; + // update header count index + updateHeaderSortCount(this, sortList); + // set css for headers + setHeadersCss(this, $headers, sortList, sortCSS); + // sort the table and append it to the dom + appendToTable(this, multisort(this, sortList, cache)); + }).bind("appendCache", function () { + appendToTable(this, cache); + }).bind("applyWidgetId", function (e, id) { + getWidgetById(id).format(this); + }).bind("applyWidgets", function () { + // apply widgets + applyWidget(this); + }); + if ($.metadata && ($(this).metadata() && $(this).metadata().sortlist)) { + config.sortList = $(this).metadata().sortlist; + } + // if user has supplied a sort list to constructor. + if (config.sortList.length > 0) { + $this.trigger("sorton", [config.sortList]); + } + // apply widgets + applyWidget(this); + }); + }; + this.addParser = function (parser) { + var l = parsers.length, + a = true; + for (var i = 0; i < l; i++) { + if (parsers[i].id.toLowerCase() == parser.id.toLowerCase()) { + a = false; + } + } + if (a) { + parsers.push(parser); + }; + }; + this.addWidget = function (widget) { + widgets.push(widget); + }; + this.formatFloat = function (s) { + var i = parseFloat(s); + return (isNaN(i)) ? 0 : i; + }; + this.formatInt = function (s) { + var i = parseInt(s); + return (isNaN(i)) ? 0 : i; + }; + this.isDigit = function (s, config) { + // replace all an wanted chars and match. + return /^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g, ''))); + }; + this.clearTableBody = function (table) { + if ($.browser.msie) { + while (table.tBodies[0].firstChild) { + table.tBodies[0].removeChild(table.tBodies[0].firstChild); + } + } else { + table.tBodies[0].innerHTML = ""; + } + }; + } + }); + + // extend plugin scope + $.fn.extend({ + tablesorter: $.tablesorter.construct + }); + + // make shortcut + var ts = $.tablesorter; + + // add default parsers + ts.addParser({ + id: "text", + is: function (s) { + return true; + }, format: function (s) { + return $.trim(s.toLocaleLowerCase()); + }, type: "text" + }); + + ts.addParser({ + id: "digit", + is: function (s, table) { + var c = table.config; + return $.tablesorter.isDigit(s, c); + }, format: function (s) { + return $.tablesorter.formatFloat(s); + }, type: "numeric" + }); + + ts.addParser({ + id: "currency", + is: function (s) { + return /^[£$€?.]/.test(s); + }, format: function (s) { + return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g), "")); + }, type: "numeric" + }); + + ts.addParser({ + id: "ipAddress", + is: function (s) { + return /^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s); + }, format: function (s) { + var a = s.split("."), + r = "", + l = a.length; + for (var i = 0; i < l; i++) { + var item = a[i]; + if (item.length == 2) { + r += "0" + item; + } else { + r += item; + } + } + return $.tablesorter.formatFloat(r); + }, type: "numeric" + }); + + ts.addParser({ + id: "url", + is: function (s) { + return /^(https?|ftp|file):\/\/$/.test(s); + }, format: function (s) { + return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//), '')); + }, type: "text" + }); + + ts.addParser({ + id: "isoDate", + is: function (s) { + return /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s); + }, format: function (s) { + return $.tablesorter.formatFloat((s != "") ? new Date(s.replace( + new RegExp(/-/g), "/")).getTime() : "0"); + }, type: "numeric" + }); + + ts.addParser({ + id: "percent", + is: function (s) { + return /\%$/.test($.trim(s)); + }, format: function (s) { + return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g), "")); + }, type: "numeric" + }); + + ts.addParser({ + id: "usLongDate", + is: function (s) { + return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/)); + }, format: function (s) { + return $.tablesorter.formatFloat(new Date(s).getTime()); + }, type: "numeric" + }); + + ts.addParser({ + id: "shortDate", + is: function (s) { + return /\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s); + }, format: function (s, table) { + var c = table.config; + s = s.replace(/\-/g, "/"); + if (c.dateFormat == "us") { + // reformat the string in ISO format + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$1/$2"); + } + if (c.dateFormat == "pt") { + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1"); + } else if (c.dateFormat == "uk") { + // reformat the string in ISO format + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1"); + } else if (c.dateFormat == "dd/mm/yy" || c.dateFormat == "dd-mm-yy") { + s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/, "$1/$2/$3"); + } + return $.tablesorter.formatFloat(new Date(s).getTime()); + }, type: "numeric" + }); + ts.addParser({ + id: "time", + is: function (s) { + return /^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s); + }, format: function (s) { + return $.tablesorter.formatFloat(new Date("2000/01/01 " + s).getTime()); + }, type: "numeric" + }); + ts.addParser({ + id: "metadata", + is: function (s) { + return false; + }, format: function (s, table, cell) { + var c = table.config, + p = (!c.parserMetadataName) ? 'sortValue' : c.parserMetadataName; + return $(cell).metadata()[p]; + }, type: "numeric" + }); + // add default widgets + ts.addWidget({ + id: "zebra", + format: function (table) { + if (table.config.debug) { + var time = new Date(); + } + var $tr, row = -1, + odd; + // loop through the visible rows + $("tr:visible", table.tBodies[0]).each(function (i) { + $tr = $(this); + // style children rows the same way the parent + // row was styled + if (!$tr.hasClass(table.config.cssChildRow)) row++; + odd = (row % 2 == 0); + $tr.removeClass( + table.config.widgetZebra.css[odd ? 0 : 1]).addClass( + table.config.widgetZebra.css[odd ? 1 : 0]) + }); + if (table.config.debug) { + $.tablesorter.benchmark("Applying Zebra widget", time); + } + } + }); +})(jQuery); diff --git a/2023-11-08-22:00/pascal_trunk_serial/js/purl.js b/2023-11-08-22:00/pascal_trunk_serial/js/purl.js new file mode 100644 index 000000000..d25ca4c00 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/js/purl.js @@ -0,0 +1,271 @@ +/* + * JQuery URL Parser plugin, v2.2.1 + * Developed and maintanined by Mark Perkins, mark@allmarkedup.com + * Source repository: https://github.com/allmarkedup/jQuery-URL-Parser + * Licensed under an MIT-style license. See https://github.com/allmarkedup/jQuery-URL-Parser/blob/master/LICENSE for details. + */ + +;(function(factory) { + if (typeof define === 'function' && define.amd) { + // AMD available; use anonymous module + if ( typeof jQuery !== 'undefined' ) { + define(['jquery'], factory); + } else { + define([], factory); + } + } else { + // No AMD available; mutate global vars + if ( typeof jQuery !== 'undefined' ) { + factory(jQuery); + } else { + factory(); + } + } +})(function($, undefined) { + + var tag2attr = { + a : 'href', + img : 'src', + form : 'action', + base : 'href', + script : 'src', + iframe : 'src', + link : 'href' + }, + + key = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'], // keys available to query + + aliases = { 'anchor' : 'fragment' }, // aliases for backwards compatability + + parser = { + strict : /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, //less intuitive, more accurate to the specs + loose : /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // more intuitive, fails on relative paths and deviates from specs + }, + + toString = Object.prototype.toString, + + isint = /^[0-9]+$/; + + function parseUri( url, strictMode ) { + var str = decodeURI( url ), + res = parser[ strictMode || false ? 'strict' : 'loose' ].exec( str ), + uri = { attr : {}, param : {}, seg : {} }, + i = 14; + + while ( i-- ) { + uri.attr[ key[i] ] = res[i] || ''; + } + + // build query and fragment parameters + uri.param['query'] = parseString(uri.attr['query']); + uri.param['fragment'] = parseString(uri.attr['fragment']); + + // split path and fragement into segments + uri.seg['path'] = uri.attr.path.replace(/^\/+|\/+$/g,'').split('/'); + uri.seg['fragment'] = uri.attr.fragment.replace(/^\/+|\/+$/g,'').split('/'); + + // compile a 'base' domain attribute + uri.attr['base'] = uri.attr.host ? (uri.attr.protocol ? uri.attr.protocol+'://'+uri.attr.host : uri.attr.host) + (uri.attr.port ? ':'+uri.attr.port : '') : ''; + + return uri; + }; + + function getAttrName( elm ) { + var tn = elm.tagName; + if ( typeof tn !== 'undefined' ) return tag2attr[tn.toLowerCase()]; + return tn; + } + + function promote(parent, key) { + if (parent[key].length == 0) return parent[key] = {}; + var t = {}; + for (var i in parent[key]) t[i] = parent[key][i]; + parent[key] = t; + return t; + } + + function parse(parts, parent, key, val) { + var part = parts.shift(); + if (!part) { + if (isArray(parent[key])) { + parent[key].push(val); + } else if ('object' == typeof parent[key]) { + parent[key] = val; + } else if ('undefined' == typeof parent[key]) { + parent[key] = val; + } else { + parent[key] = [parent[key], val]; + } + } else { + var obj = parent[key] = parent[key] || []; + if (']' == part) { + if (isArray(obj)) { + if ('' != val) obj.push(val); + } else if ('object' == typeof obj) { + obj[keys(obj).length] = val; + } else { + obj = parent[key] = [parent[key], val]; + } + } else if (~part.indexOf(']')) { + part = part.substr(0, part.length - 1); + if (!isint.test(part) && isArray(obj)) obj = promote(parent, key); + parse(parts, obj, part, val); + // key + } else { + if (!isint.test(part) && isArray(obj)) obj = promote(parent, key); + parse(parts, obj, part, val); + } + } + } + + function merge(parent, key, val) { + if (~key.indexOf(']')) { + var parts = key.split('['), + len = parts.length, + last = len - 1; + parse(parts, parent, 'base', val); + } else { + if (!isint.test(key) && isArray(parent.base)) { + var t = {}; + for (var k in parent.base) t[k] = parent.base[k]; + parent.base = t; + } + set(parent.base, key, val); + } + return parent; + } + + function parseString(str) { + return reduce(String(str).split(/&|;/), function(ret, pair) { + try { + pair = decodeURIComponent(pair.replace(/\+/g, ' ')); + } catch(e) { + // ignore + } + var eql = pair.indexOf('='), + brace = lastBraceInKey(pair), + key = pair.substr(0, brace || eql), + val = pair.substr(brace || eql, pair.length), + val = val.substr(val.indexOf('=') + 1, val.length); + + if ('' == key) key = pair, val = ''; + + return merge(ret, key, val); + }, { base: {} }).base; + } + + function set(obj, key, val) { + var v = obj[key]; + if (undefined === v) { + obj[key] = val; + } else if (isArray(v)) { + v.push(val); + } else { + obj[key] = [v, val]; + } + } + + function lastBraceInKey(str) { + var len = str.length, + brace, c; + for (var i = 0; i < len; ++i) { + c = str[i]; + if (']' == c) brace = false; + if ('[' == c) brace = true; + if ('=' == c && !brace) return i; + } + } + + function reduce(obj, accumulator){ + var i = 0, + l = obj.length >> 0, + curr = arguments[2]; + while (i < l) { + if (i in obj) curr = accumulator.call(undefined, curr, obj[i], i, obj); + ++i; + } + return curr; + } + + function isArray(vArg) { + return Object.prototype.toString.call(vArg) === "[object Array]"; + } + + function keys(obj) { + var keys = []; + for ( prop in obj ) { + if ( obj.hasOwnProperty(prop) ) keys.push(prop); + } + return keys; + } + + function purl( url, strictMode ) { + if ( arguments.length === 1 && url === true ) { + strictMode = true; + url = undefined; + } + strictMode = strictMode || false; + url = url || window.location.toString(); + + return { + + data : parseUri(url, strictMode), + + // get various attributes from the URI + attr : function( attr ) { + attr = aliases[attr] || attr; + return typeof attr !== 'undefined' ? this.data.attr[attr] : this.data.attr; + }, + + // return query string parameters + param : function( param ) { + return typeof param !== 'undefined' ? this.data.param.query[param] : this.data.param.query; + }, + + // return fragment parameters + fparam : function( param ) { + return typeof param !== 'undefined' ? this.data.param.fragment[param] : this.data.param.fragment; + }, + + // return path segments + segment : function( seg ) { + if ( typeof seg === 'undefined' ) { + return this.data.seg.path; + } else { + seg = seg < 0 ? this.data.seg.path.length + seg : seg - 1; // negative segments count from the end + return this.data.seg.path[seg]; + } + }, + + // return fragment segments + fsegment : function( seg ) { + if ( typeof seg === 'undefined' ) { + return this.data.seg.fragment; + } else { + seg = seg < 0 ? this.data.seg.fragment.length + seg : seg - 1; // negative segments count from the end + return this.data.seg.fragment[seg]; + } + } + + }; + + }; + + if ( typeof $ !== 'undefined' ) { + + $.fn.url = function( strictMode ) { + var url = ''; + if ( this.length ) { + url = $(this).attr( getAttrName(this[0]) ) || ''; + } + return purl( url, strictMode ); + }; + + $.url = purl; + + } else { + window.purl = purl; + } + +}); + diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_arbpoly.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_arbpoly.html new file mode 100644 index 000000000..021970c75 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_arbpoly.html @@ -0,0 +1,90 @@ + +Results for meshtype/arbpoly.py + +

    Results of VisIt Regression Test - meshtype/arbpoly

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    arbpoly_010.000.00
    arbpoly_020.000.00
    arbpoly_030.000.00
    arbpoly_040.000.00
    arbpoly_050.000.00
    arbpoly_060.000.00
    arbpoly_070.000.00
    arbpoly_080.000.00
    arbpoly_090.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_arbpoly_py.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_arbpoly_py.html new file mode 100644 index 000000000..801a934f6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_arbpoly_py.html @@ -0,0 +1,124 @@ +meshtype/arbpoly.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  arbpoly.py
    +#
    +#  Tests:      mesh      - a ucd mesh with arbitrary polyhedral zones
    +#              plots     - pc, contour, mat subset, mesh
    +#              operators - OnionPeel
    +#              selection - material
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       October 24, 2004
    +#
    +#  Modifications
    +#    Mark C. Miller, Tue Oct 20 16:30:31 PDT 2009
    +#    Added tests for fully arbitrary mesh
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Aug 26 08:55:04 PDT 2010
    +#    Update set index after SIL generation changes.
    +#
    +#    Kathleen Biagas, Wed Sep 10 14:15:44 PDT 2014
    +#    Added tests for OnionPeel'd arb poly, and a single-zone arb-poly set.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'backgroundFlag' with opaqueColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("poly3d.silo"))
    +
    +
    +AddPlot("Mesh", "ucdmesh3d")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.0356529, 0.010858, 0.999305)
    +v.SetViewUp(0.0100239, 0.999895, -0.0105068)
    +v.SetImageZoom(2.75)
    +SetView3D(v)
    +
    +Test("arbpoly_01")
    +
    +#
    +# See if we can handle a zone centered variable correctly
    +#
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("arbpoly_02")
    +
    +DeleteActivePlots()
    +
    +#
    +# See if we can handle a material correctly
    +# Turn off alternate materials.
    +AddPlot("FilledBoundary", "mat1")
    +silr=SILRestriction()
    +silr.TurnOffSet(2)
    +SetPlotSILRestriction(silr)
    +DrawPlots()
    +
    +Test("arbpoly_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("poly3d.silo"))
    +
    +
    +OpenDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
    +
    +AddPlot("Mesh","MMESH")
    +DrawPlots()
    +ma = MeshAttributes()
    +ma.opaqueColor = (0, 200, 200, 255)
    +ma.opaqueMode = ma.On
    +ma.opaqueColorSource = ma.OpaqueCustom
    +SetPlotOptions(ma)
    +ResetView()
    +Test("arbpoly_04")
    +v = GetView3D()
    +v.SetViewNormal(-0.433013, 0.5, 0.75)
    +v.SetViewUp(0.25, 0.866025, -0.433013)
    +SetView3D(v)
    +Test("arbpoly_05")
    +ma.opaqueMode = ma.Off
    +SetPlotOptions(ma)
    +
    +AddPlot("Pseudocolor","nvar0")
    +DrawPlots()
    +Test("arbpoly_06")
    +DeleteActivePlots()
    +
    +AddPlot("Pseudocolor","zvar3")
    +DrawPlots()
    +Test("arbpoly_07")
    +
    +DeleteActivePlots()
    +ma.lineWidth = 3
    +SetPlotOptions(ma)
    +AddPlot("FilledBoundary", "MMATERIAL")
    +AddPlot("Subset", "domains")
    +AddOperator("OnionPeel", 1)
    +op = OnionPeelAttributes()
    +op.index = 99
    +SetOperatorOptions(op,0,1)
    +DrawPlots()
    +Test("arbpoly_08")
    +DeleteAllPlots()
    +CloseDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
    +
    +OpenDatabase(silo_data_path("arbpoly.silo"))
    +AddPlot("Mesh", "clipped_hex")
    +ma.opaqueMode = ma.On
    +SetPlotOptions(ma)
    +DrawPlots()
    +Test("arbpoly_09")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_csg.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_csg.html new file mode 100644 index 000000000..511804c7c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_csg.html @@ -0,0 +1,78 @@ + +Results for meshtype/csg.py + +

    Results of VisIt Regression Test - meshtype/csg

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    csg_010.000.00
    csg_020.000.00
    csg_030.000.00
    csg_040.000.00
    csg_050.000.00
    csg_070.000.00
    csg_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_csg_py.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_csg_py.html new file mode 100644 index 000000000..51f3212a8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_csg_py.html @@ -0,0 +1,177 @@ +meshtype/csg.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  csg.py
    +#
    +#  Tests:      mesh      - a csg mesh
    +#              subset plot
    +#              selection - subset
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       August 16, 2005
    +#
    +#  Mofications:
    +#
    +#    Mark C. Miller, Sun Dec  3 12:20:11 PST 2006
    +#    Added tests for materials, variables and Matt's csg data
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Fri Apr  2 17:31:28 PDT 2010
    +#    Replaced first two tests with subset plot instead of mesh plot.
    +#    Used MultiPass instead of uniform for first test.
    +# ----------------------------------------------------------------------------
    +
    +mma=MeshManagementAttributes()
    +mma.discretizationMode = mma.Adaptive
    +mma.discretizationTolerance=(0.01, 0.25)
    +SetMeshManagementAttributes(mma)
    +OpenDatabase(silo_data_path("csg.silo"))
    +
    +
    +#
    +# the mesh named "csgmesh" uses just spheres, cylinder and plane
    +# primitives
    +#
    +AddPlot("Subset", "csgmesh")
    +DrawPlots()
    +v = GetView3D()
    +v.SetViewNormal(0.650274, -0.646958, 0.398232)
    +v.SetViewUp(-0.290226, 0.272881, 0.917227)
    +SetView3D(v)
    +Test("csg_01")
    +
    +#
    +# Change the discretization tolerance and mode
    +#
    +mma.discretizationMode = mma.MultiPass
    +mma.discretizationTolerance=(0.02, 0.25)
    +SetMeshManagementAttributes(mma)
    +ReOpenDatabase(silo_data_path("csg.silo"))
    +
    +ClearWindow()
    +DrawPlots()
    +Test("csg_02")
    +DeleteAllPlots()
    +ResetView()
    +
    +#
    +# Ok, lets try Greg Greenman's example mesh. It uses
    +# all general quadrics and planes
    +#
    +mma.discretizationTolerance=(0.005, 0.25)
    +mma.discretizationMode = mma.Adaptive
    +SetMeshManagementAttributes(mma)
    +ReOpenDatabase(silo_data_path("csg.silo"))
    +
    +AddPlot("Subset", "regions(greenman_mesh)")
    +DrawPlots()
    +v = GetView3D()
    +v.SetViewNormal(-0.496376, -0.386195, -0.777473)
    +v.SetViewUp(0.865609, -0.152286, -0.477001)
    +SetView3D(v)
    +Test("csg_03")
    +
    +#
    +# Find set ids using their names
    +#
    +voidSetId = -1
    +uraniumSetId = -1
    +airSetId = -1
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "void":
    +        voidSetId = i
    +    elif silr.SetName(i) == "uranium":
    +        uraniumSetId = i
    +    elif silr.SetName(i) == "air":
    +        airSetId = i
    +
    +#
    +# Turn off the air
    +#
    +silr.TurnOffSet(airSetId)
    +SetPlotSILRestriction(silr)
    +Test("csg_04")
    +
    +#
    +# Turn on air, but turn void and uranium off
    +#
    +silr.TurnOnSet(airSetId)
    +silr.TurnOffSet(voidSetId)
    +silr.TurnOffSet(uraniumSetId)
    +SetPlotSILRestriction(silr)
    +Test("csg_05")
    +
    +#
    +# Try a material plot
    +#
    +#DeleteAllPlots()
    +#AddPlot("FilledBoundary","mat")
    +#AddPlot("Mesh","csgmesh")
    +#DrawPlots()
    +#ResetView()
    +#v = GetView3D()
    +#v.SetViewNormal(0.650274, -0.646958, 0.398232)
    +#v.SetViewUp(-0.290226, 0.272881, 0.917227)
    +#SetView3D(v)
    +#Test("csg_06")
    +
    +#
    +# Try plotting a variable
    +#
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","var1")
    +AddPlot("Mesh","csgmesh")
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.SetViewNormal(0.650274, -0.646958, 0.398232)
    +v.SetViewUp(-0.290226, 0.272881, 0.917227)
    +SetView3D(v)
    +Test("csg_07")
    +
    +#
    +# Try various other objects in this file 
    +#
    +DeleteAllPlots()
    +
    +#
    +# Now use Matt's Fusion data
    +#
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("csg.silo"))
    +
    +mma.discretizationTolerance=(0.05, 0.25)
    +mma.discretizationMode = mma.Adaptive
    +SetMeshManagementAttributes(mma)
    +OpenDatabase(data_path("csg_test_data/Fusion_000001_root.gra"))
    +
    +AddPlot("FilledBoundary","MC_Material(MC_ThreeD_Structured)")
    +DrawPlots()
    +silr = SILRestriction()
    +for i in range(silr.NumSets()):
    +    if silr.SetName(i) == "2 Concrete_B":
    +        silr.TurnOffSet(i)
    +    if silr.SetName(i) == "6 Concrete_F":
    +        silr.TurnOffSet(i)
    +    if silr.SetName(i) == "7 Concrete_G":
    +        silr.TurnOffSet(i)
    +    if silr.SetName(i) == "8 Air_A":
    +        silr.TurnOffSet(i)
    +    if silr.SetName(i) == "9 Air_B":
    +        silr.TurnOffSet(i)
    +    if silr.SetName(i) == "10 Air_C":
    +        silr.TurnOffSet(i)
    +SetPlotSILRestriction(silr)
    +ResetView()
    +v = GetView3D()
    +v.SetViewNormal(-0.5, -0.852869, -0.150384)
    +v.SetViewUp(0.0, -0.173648, 0.984808)
    +v.imageZoom = 1.5
    +SetView3D(v)
    +Test("csg_08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_degen_mesh.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_degen_mesh.html new file mode 100644 index 000000000..adbec154a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_degen_mesh.html @@ -0,0 +1,84 @@ + +Results for meshtype/degen_mesh.py + +

    Results of VisIt Regression Test - meshtype/degen_mesh

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    degen_mesh_010.000.00
    degen_mesh_020.000.00
    degen_mesh_030.000.00
    degen_mesh_040.000.00
    degen_mesh_050.000.00
    degen_mesh_060.000.00
    degen_mesh_070.000.00
    degen_mesh_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_degen_mesh_py.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_degen_mesh_py.html new file mode 100644 index 000000000..5dcbdba87 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_degen_mesh_py.html @@ -0,0 +1,260 @@ +meshtype/degen_mesh.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  degenerate.py
    +#
    +#  Tests:      mesh      - 3D curvilinear, rectilinear
    +#              plots     - pc, contour, mesh
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  '5333 & '5335
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 26, 2004
    +#
    +#
    +#  Modifications:
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# Define some expressions that will be handy for later.
    +DefineVectorExpression("coords_plus1", "coords(mesh)")
    +DefineVectorExpression("coords", "{coords_plus1[0]-1., coords_plus1[1]-1., coords_plus1[2]-1. }")
    +DefineVectorExpression("i_disp", "{ -sqrt(coords[1]*coords[1] + coords[2]*coords[2]), 0, 0 }")
    +DefineVectorExpression("j_disp", "{ 0, -sqrt(coords[0]*coords[0] + coords[2]*coords[2]), 0 }")
    +DefineVectorExpression("k_disp", "{ 0, 0, -sqrt(coords[0]*coords[0] + coords[1]*coords[1]) }")
    +DefineScalarExpression("pos", "sqrt(coords[0]*coords[0]+coords[1]*coords[1]+coords[2]*coords[2])")
    +
    +#
    +# Start off by testing curvilinear meshes.
    +#
    +
    +# Test that we can make the meshes with no modification.
    +OpenDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +# If you do a DrawPlots now, you will exhibit '5337
    +OpenDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +OpenDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("degen_mesh_01")
    +
    +# Test that we can handle displacing them and operating on them with
    +# expressions.
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(0)
    +AddOperator("Displace")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(1)
    +AddOperator("Displace")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(2)
    +AddOperator("Displace")
    +DrawPlots()
    +
    +v= GetView3D()
    +v.viewNormal = (0.449864, 0.604932, 0.657023)
    +v.focus = (0.801178, 0.801178, 0.801178)
    +v.viewUp = (0.377875, 0.537649, -0.753753)
    +v.viewAngle = 30
    +v.parallelScale = 2.00714
    +v.nearPlane = -4.01428
    +v.farPlane = 4.01428
    +v.imagePan = (0, 0)
    +v.imageZoom = 0.873008
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +Test("degen_mesh_02")
    +
    +# Test that we can do PC plots ('5335)
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +DrawPlots()
    +Test("degen_mesh_03")
    +
    +SetActivePlots(5)
    +DeleteActivePlots()
    +SetActivePlots(4)
    +DeleteActivePlots()
    +SetActivePlots(3)
    +DeleteActivePlots()
    +
    +
    +# Test that we can do contours ('5333)
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +DrawPlots()
    +Test("degen_mesh_04")
    +
    +
    +#
    +# Now do the same thing over again with rectilinear meshes.
    +#
    +DeleteAllPlots()
    +
    +# Test that we can make the meshes with no modification.
    +OpenDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +# If you do a DrawPlots now, you will exhibit '5337
    +OpenDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +OpenDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("degen_mesh_05")
    +
    +# Test that we can handle displacing them and operating on them with
    +# expressions.
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(0)
    +AddOperator("Displace")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(1)
    +AddOperator("Displace")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +SetActivePlots(2)
    +AddOperator("Displace")
    +DrawPlots()
    +v= GetView3D()
    +v.viewNormal = (0.449864, 0.604932, 0.657023)
    +v.focus = (0.801178, 0.801178, 0.801178)
    +v.viewUp = (0.377875, 0.537649, -0.753753)
    +v.viewAngle = 30
    +v.parallelScale = 2.00714
    +v.nearPlane = -4.01428
    +v.farPlane = 4.01428
    +v.imagePan = (0, 0)
    +v.imageZoom = 0.873008
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +Test("degen_mesh_06")
    +
    +# Test that we can do PC plots ('5335)
    +ActivateDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
    +
    +AddPlot("Pseudocolor", "pos")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +DrawPlots()
    +Test("degen_mesh_07")
    +
    +SetActivePlots(5)
    +DeleteActivePlots()
    +SetActivePlots(4)
    +DeleteActivePlots()
    +SetActivePlots(3)
    +DeleteActivePlots()
    +
    +
    +# Test that we can do contours ('5333)
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_i.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp = DisplaceAttributes()
    +disp.variable = "i_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_j.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp.variable = "j_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +ActivateDatabase(data_path("vtk_test_data/curv_flat_k.vtk"))
    +
    +AddPlot("Contour", "pos")
    +disp.variable = "k_disp"
    +SetDefaultOperatorOptions(disp)
    +AddOperator("Displace")
    +
    +DrawPlots()
    +Test("degen_mesh_08")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_emptydomains.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_emptydomains.html new file mode 100644 index 000000000..339a3750f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_emptydomains.html @@ -0,0 +1,104 @@ + +Results for meshtype/emptydomains.py + +

    Results of VisIt Regression Test - meshtype/emptydomains

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    meshtype_emptydomains_010.000.00
    meshtype_emptydomains_020.000.00
    meshtype_emptydomains_030.000.00
    meshtype_emptydomains_040.000.00
    meshtype_emptydomains_050.000.00
    meshtype_emptydomains_060.000.00
    meshtype_emptydomains_070.000.00
    meshtype_emptydomains_080.000.00
    meshtype_emptydomains_090.000.00
    meshtype_emptydomains_100.000.00
    meshtype_emptydomains_110 modifications totalling 0 lines
    meshtype_emptydomains_120 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_emptydomains_py.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_emptydomains_py.html new file mode 100644 index 000000000..fb0fb3b98 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_emptydomains_py.html @@ -0,0 +1,132 @@ +meshtype/emptydomains.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  emptydomains.py
    +#
    +#  Tests:      multi-objects with empty domains
    +#
    +#  Defect ID:  VisIt00005226
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       June  7, 2005
    +#
    +#  Modificatons:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Wed Sep 23 16:28:27 PDT 2020
    +#    Force to run on only PDB driver
    +# ----------------------------------------------------------------------------
    +OpenDatabase(data_path("silo_pdb_test_data/emptydomains.silo"))
    +
    +# Test the multi-mesh support
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +Test("meshtype_emptydomains_01")
    +
    +# Test the multi-var support
    +AddPlot("Pseudocolor", "density")
    +DrawPlots()
    +Test("meshtype_emptydomains_02")
    +
    +# Test material selection support
    +TurnMaterialsOff("5")
    +Test("meshtype_emptydomains_03")
    +
    +# Test multi-material support
    +TurnMaterialsOn()
    +DeleteAllPlots()
    +AddPlot("FilledBoundary", "mat")
    +DrawPlots()
    +Test("meshtype_emptydomains_04")
    +
    +# Test multi-species/species selection support
    +DeleteAllPlots()
    +AddPlot("Pseudocolor","spec")
    +silr=SILRestriction()
    +silr.TurnOffSet(6)
    +SetPlotSILRestriction(silr)
    +DrawPlots()
    +Test("meshtype_emptydomains_05")
    +
    +silr.TurnOffSet(5)
    +SetPlotSILRestriction(silr)
    +Test("meshtype_emptydomains_06")
    +
    +# Test domain selection support
    +DeleteAllPlots()
    +silr.TurnOnAll()
    +silr.TurnOffSet(1)
    +SetPlotSILRestriction(silr)
    +AddPlot("Mesh", "mesh")
    +AddPlot("Pseudocolor", "density")
    +DrawPlots()
    +Test("meshtype_emptydomains_07")
    +
    +# Test slice-by-zone
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "density")
    +AddOperator("Slice")
    +s1 = SliceAttributes()
    +s1.originType = s1.Zone
    +s1.project2d = 0
    +s1.originZone = 170
    +s1.originZoneDomain = 2
    +SetOperatorOptions(s1)
    +DrawPlots()
    +Test("meshtype_emptydomains_08")
    +
    +# Test slice-by-node
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "density")
    +AddOperator("Slice")
    +s2 = SliceAttributes()
    +s2.originType = s2.Node
    +s2.project2d = 0
    +s2.originNode = 11
    +s2.originNodeDomain = 2
    +SetOperatorOptions(s2)
    +DrawPlots()
    +Test("meshtype_emptydomains_09")
    +
    +# Test onion peel
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "density")
    +AddOperator("OnionPeel")
    +o = OnionPeelAttributes()
    +o.categoryName = "domains"
    +o.subsetName = "domain2"
    +o.index = (210)
    +o.requestedLayer = 3
    +DrawPlots()
    +SetOperatorOptions(o)
    +Test("meshtype_emptydomains_10")
    +
    +# Test zone pick
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "density")
    +DrawPlots()
    +PickByZone(120, 2, "density")
    +TestText("meshtype_emptydomains_11", GetPickOutput())
    +
    +# Test node pick
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "density")
    +DrawPlots()
    +PickByNode(100, 2, "density")
    +TestText("meshtype_emptydomains_12", GetPickOutput())
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_globe.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_globe.html new file mode 100644 index 000000000..d69113ee7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_globe.html @@ -0,0 +1,72 @@ + +Results for meshtype/globe.py + +

    Results of VisIt Regression Test - meshtype/globe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    globe_010.000.00
    globe_020.000.00
    globe_030.000.00
    globe_040.000.00
    globe_050.000.00
    globe_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_globe_py.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_globe_py.html new file mode 100644 index 000000000..5f6c8d39c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_globe_py.html @@ -0,0 +1,85 @@ +meshtype/globe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  globe.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc, contour, mat subset, mesh, vector
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       April 17, 2002
    +#
    +#  Modificatons:
    +#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
    +#    Changed the variable format for SubsetPlots, to reflect new interface
    +#    which allows subsets of groups.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Kathleen Bonnell, Wed Sep  3 09:31:25 PDT 2003
    +#    Opaque mode for MeshPlot is ON by default now, so turn it off
    +#    for this test.
    +#
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetParallelScale(17.3205)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +Test("globe_01")
    +
    +DeleteAllPlots()
    +AddPlot("Contour", "t")
    +DrawPlots()
    +Test("globe_02")
    +
    +DeleteAllPlots()
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +Test("globe_03")
    +
    +DeleteAllPlots()
    +AddPlot("Volume", "u")
    +DrawPlots()
    +Test("globe_04")
    +
    +#Test MeshPlot with OpaqueFlag ON
    +DeleteAllPlots()
    +AddPlot("Mesh", "mesh1")
    +m = MeshAttributes()
    +m.opaqueMode = m.Off
    +SetPlotOptions(m)
    +DrawPlots()
    +Test("globe_05")
    +
    +DeleteAllPlots()
    +AddPlot("Vector", "vel")
    +DrawPlots()
    +Test("globe_06")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_point.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_point.html new file mode 100644 index 000000000..fd6cfa036 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_point.html @@ -0,0 +1,138 @@ + +Results for meshtype/point.py + +

    Results of VisIt Regression Test - meshtype/point

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    meshtype_point_010.000.00
    meshtype_point_020.000.00
    meshtype_point_030.000.00
    meshtype_point_040.000.00
    meshtype_point_050.000.00
    meshtype_point_060.000.00
    meshtype_point_070.000.00
    meshtype_point_080.000.00
    meshtype_point_090.000.00
    meshtype_point_100.000.00
    meshtype_point_110.000.00
    meshtype_point_120.000.00
    meshtype_point_130.000.00
    meshtype_point_140.000.00
    meshtype_point_150.000.00
    meshtype_point_160.000.00
    meshtype_point_170.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_point_py.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_point_py.html new file mode 100644 index 000000000..0d9be08da --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_point_py.html @@ -0,0 +1,174 @@ +meshtype/point.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  point.py
    +#
    +#  Tests:      mesh      - 3D point
    +#              plots     - pseudocolor, subset, mesh
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       May  4, 2004
    +#
    +#  Modificatons:
    +#    Kathleen Bonnell, Thu Aug 19 15:07:23 PDT 2004
    +#    Added tests 4-7.
    +#
    +#    Kathleen Bonnell, Thu Nov 11 17:28:15 PST 2004
    +#    Added tests 8-17.
    +#
    +#    Brad Whitlock, Thu Jul 21 15:44:05 PST 2005
    +#    Added tests for setting the point size for points rendered as pixels.
    +#
    +#    Brad Whitlock, Fri Aug 26 13:59:08 PST 2005
    +#    Needed to add more rendering tests so I moved the point rendering
    +#    stuff to renderpoint.py.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +v = GetView3D()
    +v.viewNormal = (0.3, 0.5, 0.8)
    +SetView3D(v)
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +
    +AddPlot("Pseudocolor", "PointVar")
    +DrawPlots()
    +
    +p=PseudocolorAttributes()
    +p.pointType = p.Axis
    +p.pointSize = 0.2
    +SetPlotOptions(p)
    +Test("meshtype_point_01")
    +
    +p.pointSizeVarEnabled = 1
    +p.pointSize = 0.5
    +SetPlotOptions(p)
    +Test("meshtype_point_02")
    +
    +p.pointType = p.Point
    +p.pointSizePixels = 1
    +SetPlotOptions(p)
    +Test("meshtype_point_03")
    +
    +DeleteAllPlots()
    +
    +
    +#Test some more of the point-related atts for the pc plot.
    +OpenDatabase(silo_data_path("multi_point2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +p = PseudocolorAttributes()
    +SetPlotOptions(p)
    +DrawPlots()
    +ResetView()
    +
    +Test("meshtype_point_04")
    +
    +p.pointSize = 0.05
    +p.pointType = p.Axis
    +p.pointSizeVarEnabled = 1
    +p.pointSizeVar = "d"
    +SetPlotOptions(p)
    +Test("meshtype_point_05")
    +
    +p.pointSize = 0.25
    +p.pointType = p.Box
    +p.pointSizeVar = "p"
    +SetPlotOptions(p)
    +Test("meshtype_point_06")
    +
    +p.pointSize = 0.25
    +p.pointType = p.Icosahedron
    +p.pointSizeVar = "u"
    +SetPlotOptions(p)
    +Test("meshtype_point_07")
    +
    +DeleteAllPlots()
    +
    +#Test Subsets of point meshes
    +AddPlot("Subset", "domains")
    +s = SubsetAttributes()
    +s.pointSizePixels = 1
    +SetPlotOptions(s)
    +DrawPlots()
    +ResetView()
    +Test("meshtype_point_08")
    +
    +s.pointSizeVarEnabled = 1
    +s.pointSizeVar = "d"
    +s.pointType = s.Icosahedron
    +SetPlotOptions(s)
    +Test("meshtype_point_09")
    +
    +s.pointSizeVar = "u"
    +s.pointType = s.Box
    +SetPlotOptions(s)
    +Test("meshtype_point_10")
    +
    +s.pointSizeVar = "v"
    +SetPlotOptions(s)
    +Test("meshtype_point_11")
    +
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (255, 0, 0, 255)
    +SetPlotOptions(s)
    +Test("meshtype_point_12")
    +
    +DeleteAllPlots()
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "PointVar")
    +p.pointSize = 0.5
    +p.pointSizeVarEnabled = 0
    +SetPlotOptions(p)
    +DrawPlots()
    +Test("meshtype_point_13")
    +
    +# the next two not only test using poingSizeVar, but also DataSetVerifier which
    +# will reduce the number of values in the var array to match the actual number
    +# of points in the point mesh
    +p.pointSize = 0.5
    +p.pointSizeVarEnabled = 1
    +p.pointSizeVar = "hardyglobal"
    +p.pointType = p.Box
    +SetPlotOptions(p)
    +Test("meshtype_point_14")
    +
    +#can we scale by a a vector variable?
    +p.pointSizeVar = "grad"
    +SetPlotOptions(p)
    +Test("meshtype_point_15")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Mesh", "PointMesh")
    +m = MeshAttributes()
    +m.meshColorSource = m.MeshCustom
    +m.meshColor = (0, 122, 200, 255)
    +m.pointType = m.Box
    +m.pointSize = 0.5
    +SetPlotOptions(m)
    +DrawPlots()
    +Test("meshtype_point_16")
    +
    +m.pointSizeVarEnabled = 1
    +m.pointSizeVar = "PointVar"
    +SetPlotOptions(m)
    +Test("meshtype_point_17")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_rect3d.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_rect3d.html new file mode 100644 index 000000000..aed766331 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_rect3d.html @@ -0,0 +1,48 @@ + +Results for meshtype/rect3d.py + +

    Results of VisIt Regression Test - meshtype/rect3d

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    rect3d_010.000.00
    rect3d_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/meshtype_rect3d_py.html b/2023-11-08-22:00/pascal_trunk_serial/meshtype_rect3d_py.html new file mode 100644 index 000000000..57922c3fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/meshtype_rect3d_py.html @@ -0,0 +1,80 @@ +meshtype/rect3d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  rect3d.py
    +#
    +#  Tests:      mesh      - 3D regular, single domain
    +#              plots     - pc, contour, mat subset, mesh
    +#              operators - none
    +#              selection - material
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       April 17, 2002
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Apr 24 10:04:35 PDT 2002
    +#    Turn off opaque mesh.
    +#
    +#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
    +#    Changed the variable format for SubsetPlots, to reflect new interface
    +#    which allows subsets of groups.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "d")
    +pc=PseudocolorAttributes()
    +pc.SetOpacityType(pc.Constant)
    +pc.opacity=0.2
    +SetPlotOptions(pc)
    +
    +AddPlot("Mesh", "quadmesh3d")
    +m1=MeshAttributes()
    +m1.opaqueMode=m1.Off
    +SetPlotOptions(m1)
    +
    +AddPlot("Contour", "u")
    +
    +# Turn off alternate materials.
    +silr=SILRestriction()
    +onoff = 0
    +for sets in silr.SetsInCategory('mat1'):
    +    if(onoff == 0):
    +        silr.TurnOffSet(sets)
    +        onoff = 1
    +    else:
    +        onoff = 0
    +
    +AddPlot("FilledBoundary", "mat1")
    +SetPlotSILRestriction(silr)
    +
    +DrawPlots()
    +
    +Test("rect3d_01")
    +
    +v = GetView3D()
    +v.SetViewNormal(.7,.6,.5)
    +SetView3D(v)
    +
    +Test("rect3d_02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operatorsVsInstall.html b/2023-11-08-22:00/pascal_trunk_serial/operatorsVsInstall.html new file mode 100644 index 000000000..96b190ee4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operatorsVsInstall.html @@ -0,0 +1,51 @@ +Results for test case operatorsVsInstall + +

    Results for test case operatorsVsInstall

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    5 Lines Changed

    +

    1 modifications, totalling 5 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1: { 'CartographicProjection': 'success',1: { 'CartographicProjection': 'cmake configure failed',
    2:     'CracksClipper': 'success',2:     'CracksClipper': 'make failed',
    3:     'RadialResample': 'success',3:     'RadialResample': 'make failed',
    4:     'Slice': 'success',4:     'Slice': 'make failed',
    5:     'Threshold': 'success'}5:     'Threshold': 'make failed'}
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_amr_stitch.html b/2023-11-08-22:00/pascal_trunk_serial/operators_amr_stitch.html new file mode 100644 index 000000000..7b521e935 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_amr_stitch.html @@ -0,0 +1,84 @@ + +Results for operators/amr_stitch.py + +

    Results of VisIt Regression Test - operators/amr_stitch

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    amr_stitch_010.000.00
    amr_stitch_020.000.00
    amr_stitch_030.000.00
    amr_stitch_040.000.00
    amr_stitch_050.000.00
    amr_stitch_060.000.00
    amr_stitch_070.000.00
    amr_stitch_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_amr_stitch_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_amr_stitch_py.html new file mode 100644 index 000000000..babfba63f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_amr_stitch_py.html @@ -0,0 +1,49 @@ +operators/amr_stitch.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  amr_stitch.py
    +#
    +#  Programmer: Gunther H. Weber
    +#  Date:       April 29, 2014
    +#
    +#  Modifications:
    +#
    +#      Alister Maguire, Wed Jan  6 08:31:05 PST 2021
    +#      Added the -enable-ghosts-for-t-intersections flag, as it
    +#      is now disabled by default.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# NOTE: the comment below tells visit to use the
    +# 'enable-ghosts-for-t-intersections' flag when running this test.
    +# This flag must be enabled for this test to succeed.
    +
    +#VARGS: "-enable-ghosts-for-t-intersections"
    +
    +# Turn off all annotation
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +
    +# Files used for tests
    +filename_template = "AMRStitchCell_test_data/AMRStitchCellTest.%d.no_ghost.phi.%dd.hdf5"
    +test_case_filenames = [ data_path(filename_template % ( case, dim )) for dim in range(2,4) for case in range(1,5) ]
    +
    +# Setup plots and run first test
    +OpenDatabase(test_case_filenames[0])
    +AddPlot("Contour", "phi")
    +AddOperator("AMRStitchCell")
    +DrawPlots()
    +Test("amr_stitch_01")
    +
    +# Perform remaining tests
    +for test_no, ds in enumerate(test_case_filenames[1:], 2):
    +    ReplaceDatabase(ds)
    +    Test("amr_stitch_%02d" % test_no)
    +
    +# Clean-up
    +DeleteAllPlots()
    +for ds in test_case_filenames:
    +    CloseDatabase(ds)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_box.html b/2023-11-08-22:00/pascal_trunk_serial/operators_box.html new file mode 100644 index 000000000..eb54b4b24 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_box.html @@ -0,0 +1,84 @@ + +Results for operators/box.py + +

    Results of VisIt Regression Test - operators/box

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_box010.000.00
    ops_box020.000.00
    ops_box030.000.00
    ops_box040.000.00
    ops_box050.000.00
    ops_box060.000.00
    ops_box070.000.00
    ops_box080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_box_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_box_py.html new file mode 100644 index 000000000..f37396bfc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_box_py.html @@ -0,0 +1,155 @@ +operators/box.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  box.py
    +#
    +#  Tests:      mesh      - 3D point, single domain,
    +#                          3D rectilinear, multiple domain.
    +#                          3D unstructured, single domain.
    +#              plots     - pc, vector, contour, vector
    +#
    +#  Defect ID:  3160
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 26, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Hank Childs, Wed Jun  4 08:56:08 PDT 2008
    +#    Test facelist filter after applying a box.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# 3D, rectilinear.  Multi-block  Tests ghost zones as well.
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +
    +atts = BoxAttributes()
    +atts.amount = 0
    +atts.minx = 0.4
    +atts.maxx = 0.7
    +atts.miny = 0.1
    +atts.maxy = 0.9
    +atts.minz = 0.4
    +atts.maxz = 1.7
    +
    +AddPlot("Pseudocolor", "dist")
    +AddOperator("Box")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +view = GetView3D()
    +view.viewNormal = (0.79, -0.035, 0.61)
    +view.focus = (0.5, 0.5, 0.5)
    +view.viewUp = (0, 1, 0)
    +view.parallelScale = 0.765
    +view.nearPlane = -0.25
    +view.farPlane = 1.73
    +SetView3D(view)
    +Test("ops_box01")
    +DeleteAllPlots()
    +
    +
    +# 3D, unstructured
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Box")
    +atts.minx = -5
    +atts.maxx = +5
    +atts.miny = -5
    +atts.maxy = +5
    +atts.minz = -5
    +atts.maxz = +5
    +SetOperatorOptions(atts)
    +DrawPlots()
    +view.viewNormal = (0.56, 0.81, -0.14)
    +view.focus = (0, 0, 0)
    +view.viewUp = (-0.66, 0.55, 0.49)
    +view.parallelScale = 11
    +view.nearPlane = -34
    +view.farPlane = 34
    +SetView3D(view)
    +Test("ops_box02")
    +
    +
    +atts.amount = 1
    +SetOperatorOptions(atts)
    +Test("ops_box03")
    +
    +DeleteAllPlots()
    +
    +view.parallelScale = 14
    +SetView3D(view)
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Vector", "airVfGradient")
    +vec = VectorAttributes()
    +SetPlotOptions(vec)
    +atts.minx = -5
    +atts.maxx = +5
    +atts.miny = -10
    +atts.maxy = +10
    +atts.minz = -10
    +atts.maxz = +10
    +AddOperator("Box")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_box04")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "hardyglobal")
    +AddOperator("Box")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_box05")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Mesh", "PointMesh")
    +mesh = MeshAttributes()
    +mesh.pointType = mesh.Box
    +mesh.pointSizeVar = "PointVar"
    +mesh.pointSizeVarEnabled = 1
    +SetPlotOptions(mesh)
    +AddOperator("Box")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_box06")
    +
    +# This final test should be blank.  The box operator was crashing with
    +# point meshes that fell outside the box previously.  ('3160)
    +atts.minx = -30
    +atts.maxx = -20
    +SetOperatorOptions(atts)
    +Test("ops_box07")
    +
    +# If we apply the box operator to a rectilinear grid, it can change
    +# the "Extents", which can screw up the facelist filter.  Test that
    +# no one has undone the fix from Paul Selby.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Box")
    +atts.minx = 0.2
    +atts.maxx = 1.0
    +SetOperatorOptions(atts)
    +DrawPlots()
    +view.focus = (0.5, 0.5, 0.5)
    +view.parallelScale = 1.4
    +SetView3D(view)
    +Test("ops_box08")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_cart_proj.html b/2023-11-08-22:00/pascal_trunk_serial/operators_cart_proj.html new file mode 100644 index 000000000..c27bdec97 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_cart_proj.html @@ -0,0 +1,64 @@ + +Results for operators/cart_proj.py + +

    Results of VisIt Regression Test - operators/cart_proj

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_cart_proj_00.000.00
    ops_cart_proj_161.4012.57
    ops_cart_proj_20.000.00
    ops_cart_proj_3118.9612.31
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_cart_proj_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_cart_proj_py.html new file mode 100644 index 000000000..363734905 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_cart_proj_py.html @@ -0,0 +1,60 @@ +operators/cart_proj.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cart_proj.py
    +#
    +#  Tests:
    +#              plots     - pc
    +#              operators - CartographicProjection
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:      Tue Sep 25 08:41:19 PDT 2012
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# Test 2D Case
    +
    +OpenDatabase(data_path("netcdf_test_data/NASA_vegetation_lai.cdf"))
    +
    +v = View2DAttributes()
    +v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +SetView2D(v)
    +
    +
    +AddPlot("Pseudocolor", "lai")
    +DrawPlots()
    +ResetView()
    +Test("ops_cart_proj_0")
    +
    +AddOperator("CartographicProjection")
    +cart_proj_atts = CartographicProjectionAttributes()
    +cart_proj_atts.projectionID = cart_proj_atts.hammer
    +SetOperatorOptions(cart_proj_atts)
    +DrawPlots()
    +ResetView()
    +Test("ops_cart_proj_1")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("netcdf_test_data/tas_mean_T63.nc"))
    +
    +AddPlot("Pseudocolor", "tas")
    +DrawPlots()
    +ResetView()
    +Test("ops_cart_proj_2")
    +
    +AddOperator("CartographicProjection")
    +cart_proj_atts = CartographicProjectionAttributes()
    +cart_proj_atts.projectionID = cart_proj_atts.hammer
    +SetOperatorOptions(cart_proj_atts)
    +DrawPlots()
    +ResetView()
    +Test("ops_cart_proj_3")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_clip.html b/2023-11-08-22:00/pascal_trunk_serial/operators_clip.html new file mode 100644 index 000000000..bb427e438 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_clip.html @@ -0,0 +1,180 @@ + +Results for operators/clip.py + +

    Results of VisIt Regression Test - operators/clip

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    clip000.000.00
    clip010.000.00
    clip020.000.00
    clip030.000.00
    clip040.000.00
    clip050.000.00
    clip060.000.00
    clip070.000.00
    clip080.000.00
    clip090.000.00
    clip100.000.00
    clip110.000.00
    clip120.000.00
    clip130.000.00
    clip140.000.00
    clip150.000.00
    clip160.000.00
    clip170.000.00
    clip180.000.00
    clip190.000.00
    clip200.000.00
    clip_globe_fast0.000.00
    clip_globe_accurate0.000.00
    crinkle_clip_globe0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_clip_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_clip_py.html new file mode 100644 index 000000000..8f38441ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_clip_py.html @@ -0,0 +1,143 @@ +operators/clip.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  clip.py
    +#
    +#  Tests:      mesh      - 2D rectilinear, 2D curvilinear,
    +#                          3D rectilinear, 3D curvilinear,
    +#                          3D unstructured
    +#
    +#  Defect ID:  7470, 7195
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 1, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Sep  6 16:56:27 PDT 2006
    +#    Test clip operator with no plane and no sphere (this was crashing the
    +#    engine due to a memory problem) ['7195]
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Alister Maguire, Fri Nov 13 14:07:54 PST 2020
    +#    Added a test for the crinkle clip.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestOne(filename, index, zonal_var, nodal_var, radius):
    +   OpenDatabase(filename)
    +   c = ClipAttributes()
    +   c.funcType = c.Sphere
    +   c.radius = radius
    +   c.sphereInverse = 1
    +   AddPlot("Pseudocolor", zonal_var)
    +   AddOperator("Clip")
    +   SetOperatorOptions(c)
    +   DrawPlots()
    +   name = "clip%02d" %(index+0)
    +   Test(name)
    +   ChangeActivePlotsVar(nodal_var)
    +   name = "clip%02d" %(index+1)
    +   Test(name)
    +   c.funcType = c.Plane
    +   c.plane1Origin = (0.5, 0.5, 0)
    +   c.plane1Normal = (1, 1, 0)
    +   SetOperatorOptions(c)
    +   name = "clip%02d" %(index+2)
    +   Test(name)
    +   ChangeActivePlotsVar(zonal_var)
    +   name = "clip%02d" %(index+3)
    +   Test(name)
    +   DeleteAllPlots()
    +
    +TestOne(silo_data_path("rect2d.silo"), 4*0, "d", "u", 0.5)
    +TestOne(silo_data_path("rect3d.silo"), 4*1, "d", "u", 0.5)
    +TestOne(silo_data_path("curv2d.silo"), 4*2, "d", "u", 3)
    +TestOne(silo_data_path("curv3d.silo"), 4*3, "d", "u", 4)
    +TestOne(silo_data_path("globe.silo"), 4*4, "t", "u", 5)
    +
    +# Test doing a clip where there are no planes selected.  This has caused
    +# a crash ['7195].
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor" , "d")
    +AddOperator("Clip")
    +c = ClipAttributes()
    +c.funcType = c.Plane
    +c.plane1Status = 0
    +c.plane2Status = 0
    +c.plane3Status = 0
    +SetOperatorOptions(c)
    +DrawPlots()
    +
    +test_idx = 20
    +name = "clip%02d" %(test_idx)
    +Test(name)
    +test_idx += 1
    +
    +# Test accurate vs. fast.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Mesh", "mesh1")
    +c = ClipAttributes()
    +c.funcType = c.Plane  # Plane, Sphere
    +c.plane1Status = 1
    +c.plane2Status = 1
    +c.plane3Status = 0
    +c.plane1Origin = (0, 2.37883, 0)
    +c.plane2Origin = (0, 2.37883, 0)
    +c.plane3Origin = (0, 2.37883, 0)
    +c.plane1Normal = (1, 0, 0)
    +c.plane2Normal = (0, 1, 0)
    +c.plane3Normal = (0, 0, 1)
    +c.planeInverse = 0
    +c.center = (0, 0, 0)
    +c.radius = 1
    +c.sphereInverse = 0
    +AddOperator("Clip")
    +SetOperatorOptions(c)
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.0548192, 0.0422395, 0.997602)
    +v.focus = (0.427242, 3.08232, -0.155563)
    +v.viewUp = (0.195041, 0.979406, -0.0521867)
    +v.viewAngle = 30
    +v.parallelScale = 4.21585
    +v.nearPlane = -34.5981
    +v.farPlane = 34.5981
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, -0.0372553, 0)
    +
    +DrawPlots()
    +SetView3D(v)
    +
    +Test("clip_globe_fast")
    +
    +c.quality = c.Accurate
    +SetOperatorOptions(c)
    +Test("clip_globe_accurate")
    +
    +DeleteAllPlots()
    +ResetView()
    +
    +#
    +# Test the crinkle clip.
    +#
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Clip")
    +c = ClipAttributes()
    +c.crinkleClip = 1
    +SetOperatorOptions(c)
    +DrawPlots()
    +Test("crinkle_clip_globe")
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_cracksclipper.html b/2023-11-08-22:00/pascal_trunk_serial/operators_cracksclipper.html new file mode 100644 index 000000000..d10955cb3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_cracksclipper.html @@ -0,0 +1,72 @@ + +Results for operators/cracksclipper.py + +

    Results of VisIt Regression Test - operators/cracksclipper

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    CracksClipper_000.000.00
    CracksClipper_010.000.00
    CracksClipper_020.000.00
    CracksClipper_030.000.00
    CracksClipper_040.000.00
    CracksClipper_050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_cracksclipper_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_cracksclipper_py.html new file mode 100644 index 000000000..417c1044a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_cracksclipper_py.html @@ -0,0 +1,54 @@ +operators/cracksclipper.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  cracksclipper.py
    +#
    +#  Tests:      operators - CracksClipper
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       August 14, 2012
    +#
    +#  Modifications:
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("vtk_cracked_test_data/cracked_*.vtk database"))
    +AddPlot("Pseudocolor", "operators/CracksClipper/mesh/den")
    +pcAtts = PseudocolorAttributes()
    +pcAtts.minFlag = 1
    +pcAtts.maxFlag = 1
    +pcAtts.min = 1.9
    +pcAtts.max = 3.853
    +SetPlotOptions(pcAtts)
    +
    +
    +v = GetView3D()
    +v.viewNormal = (-0.507948, 0.663707, 0.549074)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (0.388198, 0.745409, -0.541911)
    +v.parallelScale = 0.866025
    +v.nearPlane = -1.73205
    +v.farPlane = 1.73205
    +SetView3D(v)
    +
    +DrawPlots()
    +
    +# Changing time states shows the cracks developing, and demonstrates
    +# the density calculation
    +Test("CracksClipper_00")
    +SetTimeSliderState(1)
    +Test("CracksClipper_01")
    +SetTimeSliderState(3)
    +Test("CracksClipper_02")
    +SetTimeSliderState(5)
    +Test("CracksClipper_03")
    +SetTimeSliderState(12)
    +Test("CracksClipper_04")
    +
    +SetTimeSliderState(14)
    +# Show that normal vars can be used.
    +ChangeActivePlotsVar("ems")
    +# 
    +Test("CracksClipper_05")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_defer_expr.html b/2023-11-08-22:00/pascal_trunk_serial/operators_defer_expr.html new file mode 100644 index 000000000..b73963957 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_defer_expr.html @@ -0,0 +1,114 @@ + +Results for operators/defer_expr.py + +

    Results of VisIt Regression Test - operators/defer_expr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    defer_expr_010.000.00
    defer_expr_020.000.00
    defer_expr_030.000.00
    defer_expr_040.000.00
    defer_expr_050.000.00
    defer_expr_060.000.00
    defer_expr_070.000.00
    defer_expr_080.000.00
    defer_expr_090.000.00
    defer_expr_100.000.00
    defer_expr_110.000.00
    defer_expr_120.000.00
    defer_expr_130.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_defer_expr_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_defer_expr_py.html new file mode 100644 index 000000000..567558782 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_defer_expr_py.html @@ -0,0 +1,248 @@ +operators/defer_expr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  defer_expr.py
    +#
    +#  Defect ID:  '2433, '1527, '6630, '6631, '6676, '6637
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 21, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Thu Dec 29 11:29:08 PST 2005
    +#    Widen color range of vector plot to sidestep precision issues between
    +#    optimized and non-optimized binaries.
    +#
    +#    Hank Childs, Thu Jan 17 15:44:06 PST 2008
    +#    Explicitly specify the color table for the vector plot.  This is an issue
    +#    because this test runs with "-config" (*not* "-noconfig") and the default
    +#    color table can get confused if the user has a color table in his .visit
    +#    directory that collides with the normal default ("hot").  So we're
    +#    skirting that issue by explicitly specifying the color table.
    +#
    +#    Jeremy Meredith, Mon Jul 14 12:28:50 EDT 2008
    +#    Allow the vector plot to show all vectors (even ones not from
    +#    from original cells/nodes) to match the old behavior.
    +#
    +#    Hank Childs, Wed Dec 31 14:32:34 PST 2008
    +#    Rename ResamplePluginAtts to ResampleAtts.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Brad Whitlock, Wed Apr 18 15:40:47 PDT 2012
    +#    Make vectors constant color for test 8.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Remove obsolete 'colorByMag' vector att with 'colorByMagnitude'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +DefineScalarExpression("en", "external_node(mesh1)")
    +AddPlot("Pseudocolor", "en")
    +AddOperator("Isovolume")
    +iso_atts = IsovolumeAttributes()
    +iso_atts.variable = "t"
    +iso_atts.lbound = 500
    +SetOperatorOptions(iso_atts)
    +AddOperator("Slice")
    +DrawPlots()
    +
    +# Save a picture before deferring the expression evaluation.
    +Test("defer_expr_01")
    +
    +# Test that the external node operator can find the external nodes
    +# on a 2D slice.
    +d = DeferExpressionAttributes()
    +d.exprs = ("en")
    +SetDefaultOperatorOptions(d)
    +AddOperator("DeferExpression")
    +DrawPlots()
    +Test("defer_expr_02")
    +
    +# Now test that the external node expression can find the external nodes
    +# on a 3D dataset (before the slice).  This should be an identical picture
    +# to what's above (bar interpolation from the slice).
    +DemoteOperator(2)
    +DrawPlots()
    +Test("defer_expr_03")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isovolume")
    +iso_atts = IsovolumeAttributes()
    +iso_atts.variable = "t"
    +iso_atts.ubound = 500
    +SetOperatorOptions(iso_atts)
    +AddOperator("DeferExpression")
    +AddOperator("Threshold")
    +thres_atts = ThresholdAttributes()
    +thres_atts.upperBounds = (0.5)
    +thres_atts.outputMeshType = 1
    +thres_atts.listedVarNames = ("en")
    +SetOperatorOptions(thres_atts)
    +DrawPlots()
    +Test("defer_expr_04")
    +
    +DeleteAllPlots()
    +
    +DefineScalarExpression("X1", "coord(mesh1)[0]")
    +DefineScalarExpression("X2", "coord(mesh1)[0]")
    +DefineScalarExpression("X3", "coord(mesh1)[0]")
    +
    +AddPlot("Pseudocolor", "X1")
    +
    +# Transform by 45 degrees.
    +t = TransformAttributes()
    +t.doRotate = 1
    +t.rotateAxis = (0, 1, 0)
    +t.rotateAmount = 45
    +SetDefaultOperatorOptions(t)
    +AddOperator("Transform")
    +
    +# Now evaluate X2 after transforming
    +d.exprs = ("X2")
    +SetDefaultOperatorOptions(d)
    +AddOperator("DeferExpression")
    +
    +# Now threshold out where X2 is bigger than 0 (after the transform)
    +thres_atts.listedVarNames = ("X2")
    +thres_atts.lowerBounds = (0.0)
    +thres_atts.upperBounds = (1000.0)
    +SetDefaultOperatorOptions(thres_atts)
    +AddOperator("Threshold")
    +
    +# Now transform by another 45 degrees
    +AddOperator("Transform")
    +
    +# Evaluate X3 after the new transform.
    +d.exprs = ("X3")
    +SetDefaultOperatorOptions(d)
    +AddOperator("DeferExpression")
    +
    +# Now threshold out where X3 is bigger than 0 (after the new transform)
    +thres_atts.listedVarNames = ("X3")
    +SetDefaultOperatorOptions(thres_atts)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("defer_expr_05")
    +
    +# Now do the same thing, but defer X1 until the end of the transforms.
    +d.exprs = ("X1")
    +SetDefaultOperatorOptions(d)
    +AddOperator("DeferExpression")
    +DrawPlots()
    +# This should be the same geometry as '05, but the color should be different.
    +Test("defer_expr_06")
    +
    +DeleteAllPlots()
    +DefineVectorExpression("normals", "cell_surface_normal(mesh1)")
    +AddPlot("Vector", "normals")
    +v = VectorAttributes()
    +v.origOnly = 0
    +v.min = 0.5
    +v.max = 1.5
    +v.minFlag = 1
    +v.maxFlag = 1
    +v.colorTableName = "hot"
    +v.useStride = 0
    +v.stride = 1
    +SetPlotOptions(v)
    +
    +AddOperator("ExternalSurface")
    +AddOperator("DeferExpression")
    +d.exprs = "normals"
    +SetOperatorOptions(d)
    +DrawPlots()
    +Test("defer_expr_07")
    +
    +DeleteAllPlots()
    +AddPlot("Contour", "t")
    +c = ContourAttributes()
    +c.contourMethod = c.Value
    +c.contourValue = (500)
    +SetPlotOptions(c)
    +AddPlot("Vector", "normals")
    +v = VectorAttributes()
    +v.origOnly = 0
    +v.colorByMagnitude = 0
    +v.vectorColor = (255,255,0,255)
    +SetPlotOptions(v)
    +AddOperator("Isosurface")
    +i = IsosurfaceAttributes()
    +i.contourMethod = i.Value
    +i.contourValue = (500)
    +i.variable = "t"
    +SetOperatorOptions(i)
    +AddOperator("DeferExpression")
    +d.exprs = "normals"
    +SetOperatorOptions(d)
    +DrawPlots()
    +Test("defer_expr_08")
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "mesh_quality/max_edge_length")
    +AddOperator("Slice")
    +DrawPlots()
    +Test("defer_expr_09")
    +
    +d.exprs = ("mesh_quality/max_edge_length")
    +AddOperator("DeferExpression")
    +SetOperatorOptions(d)
    +DrawPlots()
    +Test("defer_expr_10")
    +
    +DeleteAllPlots()
    +r = ResampleAttributes()
    +r.samplesX = 50
    +r.samplesY = 50
    +r.samplesZ = 50
    +r.defaultValue = -100
    +r.distributedResample = 0
    +DefineScalarExpression("procid", "procid(mesh1)")
    +AddPlot("Pseudocolor", "procid")
    +AddOperator("Resample")
    +SetOperatorOptions(r)
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.lowerBounds = (-10.0)
    +t.listedVarNames = ("u")
    +t.outputMeshType = 1
    +SetOperatorOptions(t)
    +AddOperator("DeferExpression")
    +d.exprs = "procid"
    +SetOperatorOptions(d)
    +DrawPlots()
    +
    +Test("defer_expr_11")
    +
    +r.distributedResample = 1
    +SetOperatorOptions(r)
    +Test("defer_expr_12")
    +
    +DeleteAllPlots()
    +DefineVectorExpression("sn", "recenter(-cell_surface_normal(mesh1))")
    +AddPlot("Vector", "sn")
    +v = VectorAttributes()
    +v.origOnly = 0
    +v.colorTableName = "hot"
    +SetPlotOptions(v)
    +AddOperator("ExternalSurface")
    +AddOperator("DeferExpression")
    +d.exprs = "sn"
    +SetOperatorOptions(d)
    +DrawPlots()
    +Test("defer_expr_13")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_displace.html b/2023-11-08-22:00/pascal_trunk_serial/operators_displace.html new file mode 100644 index 000000000..d3e3f3d3e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_displace.html @@ -0,0 +1,94 @@ + +Results for operators/displace.py + +

    Results of VisIt Regression Test - operators/displace

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_disp010.000.00
    ops_disp020.000.00
    ops_disp030.000.00
    ops_disp040.000.00
    ops_disp050.000.00
    ops_disp060.000.00
    ops_disp070.000.00
    ops_disp080 modifications totalling 0 lines
    ops_disp090.000.00
    ops_disp100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_displace_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_displace_py.html new file mode 100644 index 000000000..fdf8beaf5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_displace_py.html @@ -0,0 +1,129 @@ +operators/displace.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  displace.py
    +#
    +#  Tests:      mesh      - 2D/3D rectilinear, single domain.
    +#                          3D unstructured, single domain.
    +#                          2D/3D curvilinear, single domain.
    +#              plots     - pc, mesh
    +#
    +#  Defect ID:  '5921, '7486, '8160, '8259, '8265
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 6, 2004
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Jun  7 09:47:58 PDT 2005
    +#    Added tests for filled boundary with cell-based vectors ['5921].
    +#
    +#    Hank Childs, Tue Sep  5 16:39:40 PDT 2006
    +#    Added test for when users put in non-vectors ['7486].
    +#
    +#    Hank Childs, Fri Sep 28 12:28:30 PDT 2007
    +#    Add tests for three recent bugs ['8160, '8259, '8265]
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +disp = DisplaceAttributes()
    +disp.variable = "vel"
    +SetDefaultOperatorOptions(disp)
    +
    +# 2D, rectilinear.
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Displace")
    +AddPlot("Mesh", "quadmesh2d")
    +AddOperator("Displace")
    +DrawPlots()
    +
    +Test("ops_disp01")
    +
    +SetActivePlots(1)
    +DeleteActivePlots()
    +ReplaceDatabase(silo_data_path("curv2d.silo"))
    +
    +ResetView()
    +
    +Test("ops_disp02")
    +
    +ReplaceDatabase(silo_data_path("curv3d.silo"))
    +
    +v = GetView3D()
    +v.viewNormal = (0.61, -0.61, 0.61)
    +SetView3D(v)
    +
    +Test("ops_disp03")
    +
    +ReplaceDatabase(silo_data_path("rect3d.silo"))
    +
    +Test("ops_disp04")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("ucd3d.silo"))
    +
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Displace")
    +disp.factor = 5
    +SetOperatorOptions(disp)
    +DrawPlots()
    +
    +Test("ops_disp05")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Displace")
    +disp.variable = "vel"
    +disp.factor = 1
    +SetOperatorOptions(disp)
    +DrawPlots()
    +Test("ops_disp06")
    +
    +disp.variable = "disp"
    +SetOperatorOptions(disp)
    +Test("ops_disp07")
    +
    +disp.variable = "t"
    +SetOperatorOptions(disp)
    +error = GetLastError()
    +TestText("ops_disp08", error)
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +
    +#   8265: cell-centered vector with rectilinear mesh 
    +# + 8259: file format the declares itself having 2D vectors + displace
    +AddPlot("Pseudocolor", "density")
    +AddOperator("Displace")
    +disp.variable = "mom"
    +disp.factor = 1e-12 # this way the quads won't overlap each other.
    +SetOperatorOptions(disp)
    +DrawPlots()
    +Test("ops_disp09")
    +
    +DeleteAllPlots()
    +
    +# '8160: subset plot displaced by a vector
    +AddPlot("Subset", "patches")
    +AddOperator("Displace")
    +SetOperatorOptions(disp)
    +DrawPlots()
    +Test("ops_disp10")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_dual_mesh.html b/2023-11-08-22:00/pascal_trunk_serial/operators_dual_mesh.html new file mode 100644 index 000000000..a34a2c379 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_dual_mesh.html @@ -0,0 +1,110 @@ + +Results for operators/dual_mesh.py + +

    Results of VisIt Regression Test - operators/dual_mesh

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_dualmesh_pc_plot_2d_d_000.000.00
    ops_dualmesh_pc_plot_2d_d_010.000.00
    ops_dualmesh_pc_plot_2d_d_020.000.00
    ops_dualmesh_mesh_plot_2d_000.000.00
    ops_dualmesh_mesh_plot_2d_0189.7733.58
    ops_dualmesh_mesh_plot_2d_020.000.00
    ops_dual_mesh_pc_plot_3d_d_000.000.00
    ops_dual_mesh_pc_plot_3d_d_010.000.00
    ops_dual_mesh_pc_plot_3d_d_020.000.00
    ops_dual_mesh_pc_plot_3d_t_000.000.00
    ops_dual_mesh_pc_plot_3d_t_010.000.00
    ops_dual_mesh_pc_plot_3d_t_020.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_dual_mesh_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_dual_mesh_py.html new file mode 100644 index 000000000..52347620b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_dual_mesh_py.html @@ -0,0 +1,111 @@ +operators/dual_mesh.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  dual_mesh.py
    +#
    +#  Tests:      mesh      - 2D rectilinear, single domain.
    +#                          3D rectilinear, single domain.
    +#              plots     - pc, mesh
    +#              operators - DualMesh
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       May 13, 2008
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# Test 2D Case
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("ops_dualmesh_pc_plot_2d_d_00")
    +
    +# test auto, Zones to Nodes
    +AddOperator("DualMesh")
    +DrawPlots()
    +Test("ops_dualmesh_pc_plot_2d_d_01")
    +
    +# test auto, Nodes to Zones
    +AddOperator("DualMesh")
    +DrawPlots()
    +Test("ops_dualmesh_pc_plot_2d_d_02")
    +
    +DeleteAllPlots()
    +
    +# Test Mesh Plot auto
    +AddPlot("Mesh", "quadmesh2d")
    +DrawPlots()
    +Test("ops_dualmesh_mesh_plot_2d_00")
    +
    +AddOperator("DualMesh")
    +DrawPlots()
    +Test("ops_dualmesh_mesh_plot_2d_01")
    +
    +AddOperator("DualMesh")
    +DrawPlots()
    +Test("ops_dualmesh_mesh_plot_2d_02")
    +DeleteAllPlots()
    +
    +# Test 3D Case
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +view = GetView3D()
    +view.viewNormal = (-0.5, 0.5, 0.7172)
    +SetView3D(view)
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_d_00")
    +
    +# Test explicit Zones to Nodes
    +AddOperator("DualMesh")
    +DualMeshAtts = DualMeshAttributes()
    +DualMeshAtts.mode = DualMeshAtts.ZonesToNodes
    +SetOperatorOptions(DualMeshAtts)
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_d_01")
    +
    +# Test explicit Nodes to Zones (round trip)
    +AddOperator("DualMesh")
    +DualMeshAtts = DualMeshAttributes()
    +DualMeshAtts.mode = DualMeshAtts.NodesToZones
    +SetOperatorOptions(DualMeshAtts)
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_d_02")
    +
    +DeleteAllPlots()
    +
    +# Test Nodes to Zones <-> Zones to Nodes Round Trip
    +AddPlot("Pseudocolor", "t")
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_t_00")
    +
    +AddOperator("DualMesh")
    +DualMeshAtts = DualMeshAttributes()
    +DualMeshAtts.mode = DualMeshAtts.NodesToZones
    +SetOperatorOptions(DualMeshAtts)
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_t_01")
    +
    +AddOperator("DualMesh")
    +DualMeshAtts = DualMeshAttributes()
    +DualMeshAtts.mode = DualMeshAtts.ZonesToNodes
    +SetOperatorOptions(DualMeshAtts)
    +DrawPlots()
    +Test("ops_dual_mesh_pc_plot_3d_t_02")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_elevate.html b/2023-11-08-22:00/pascal_trunk_serial/operators_elevate.html new file mode 100644 index 000000000..c186ff257 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_elevate.html @@ -0,0 +1,132 @@ + +Results for operators/elevate.py + +

    Results of VisIt Regression Test - operators/elevate

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    elevate010.000.00
    elevate020.000.00
    elevate030.000.00
    elevate040.000.00
    elevate050.000.00
    elevate060.000.00
    elevate070.000.00
    elevate080.000.00
    elevate090.000.00
    elevate100.000.00
    elevate110.000.00
    elevate120.000.00
    elevate130.000.00
    elevate140.000.00
    elevate150.000.00
    elevate160.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_elevate_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_elevate_py.html new file mode 100644 index 000000000..a9dde97aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_elevate_py.html @@ -0,0 +1,164 @@ +operators/elevate.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  elevate.py
    +#
    +#  Tests:      mesh      - 2D rectilinear
    +#                          3D rectilinear, multiple domain,
    +#                          2D curvilinear, multiple domain
    +#              plots     - pc, mesh, filled boundary
    +#              operators - elevate
    +#              selection - none
    +#
    +#  Defect ID:  '5379, '5934 '6260, '6768
    +#
    +#  Programmer: Hank Childs
    +#  Date:       February 3, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Jun  7 14:16:02 PDT 2005
    +#    Add tests for lighting of slices after elevation.
    +#
    +#    Hank Childs, Tue Nov 15 07:17:22 PST 2005
    +#    Add tests for macro expressions as secondary variables.
    +#
    +#    Hank Childs, Thu Jan 10 15:52:00 PST 2008
    +#    Add test for recenter expression with material plot.
    +#
    +#    Hank Childs, Wed Jan 16 17:26:03 PST 2008
    +#    Add testing for the "zeroFlag".
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +#One zonal variable
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Elevate")
    +DrawPlots()
    +v = GetView3D()
    +v.viewNormal = (-0.707, 0, 0.707)
    +SetView3D(v)
    +Test("elevate01")
    +
    +#One nodal variable
    +ChangeActivePlotsVar("d")
    +Test("elevate02")
    +
    +elevate_atts = ElevateAttributes()
    +DefineScalarExpression("d_mod", "0.1*d")
    +elevate_atts.variable = "d_mod"
    +elevate_atts.useXYLimits = elevate_atts.Never
    +SetOperatorOptions(elevate_atts)
    +Test("elevate03")
    +
    +elevate_atts.useXYLimits = elevate_atts.Auto
    +SetOperatorOptions(elevate_atts)
    +Test("elevate04")
    +
    +#Primary variable zonal, Secondary variable zonal 
    +ChangeActivePlotsVar("p")
    +elevate_atts.variable = "d"
    +SetOperatorOptions(elevate_atts)
    +Test("elevate05")
    +
    +#Primary variable zonal, secondary nodal.
    +elevate_atts.variable = "u"
    +SetOperatorOptions(elevate_atts)
    +Test("elevate06")
    +
    +#Primary variable nodal, secondary nodal.
    +ChangeActivePlotsVar("v")
    +Test("elevate07")
    +
    +#Primary variable nodal, secondary zonal.
    +elevate_atts.variable = "p"
    +SetOperatorOptions(elevate_atts)
    +Test("elevate08")
    +
    +elevate_atts.useXYLimits = elevate_atts.Never
    +SetOperatorOptions(elevate_atts)
    +Test("elevate09")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Mesh", "quadmesh2d")
    +AddOperator("Elevate")
    +elevate_atts.variable = "p"
    +elevate_atts.useXYLimits = elevate_atts.Always
    +SetOperatorOptions(elevate_atts)
    +DrawPlots()
    +Test("elevate10")
    +
    +DeleteAllPlots()
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Elevate")
    +elevate_atts.variable = "u"
    +elevate_atts.useXYLimits = elevate_atts.Always
    +SetOperatorOptions(elevate_atts)
    +DrawPlots()
    +Test("elevate11")
    +
    +elevate_atts.useXYLimits = elevate_atts.Never
    +SetOperatorOptions(elevate_atts)
    +DrawPlots()
    +Test("elevate12")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +AddOperator("Elevate")
    +DrawPlots()
    +Test("elevate13")
    +
    +# Testing expressions.  Test that macro expressions work as secondary
    +# variables ('6768).
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +DefineScalarExpression("vv", "hgslice+polar_radius(Mesh2D)")
    +AddPlot("Pseudocolor", "hgslice")
    +AddOperator("Elevate")
    +elevate_atts.variable = "vv"
    +elevate_atts.useXYLimits = elevate_atts.Always
    +SetOperatorOptions(elevate_atts)
    +DrawPlots()
    +Test("elevate14")
    +
    +# Filled boundary with recentered expression
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +DefineScalarExpression("d2", "recenter(d)")
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Elevate")
    +elevate_atts.variable = "d2"
    +elevate_atts.useXYLimits = elevate_atts.Always
    +SetOperatorOptions(elevate_atts)
    +DrawPlots()
    +Test("elevate15")
    +
    +# Boundary plots that are elevated by zero height (no variable). '8346.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +AddPlot("Boundary", "mat1")
    +AddOperator("Elevate")
    +e = ElevateAttributes()
    +e.zeroFlag = 1
    +SetOperatorOptions(e)
    +DrawPlots()
    +v = GetView3D()
    +v.viewNormal = (0.5, 0.5, 0.5)
    +SetView3D(v)
    +Test("elevate16")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ex_surf.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ex_surf.html new file mode 100644 index 000000000..31e699834 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ex_surf.html @@ -0,0 +1,56 @@ + +Results for operators/ex_surf.py + +

    Results of VisIt Regression Test - operators/ex_surf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_ex_surf_010.000.00
    ops_ex_surf_020 modifications totalling 0 lines
    ops_ex_surf_030 modifications totalling 0 lines
    ops_ex_surf_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ex_surf_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ex_surf_py.html new file mode 100644 index 000000000..b4a8eb41d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ex_surf_py.html @@ -0,0 +1,51 @@ +operators/ex_surf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  external_surface.py
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 24, 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("ExternalSurface")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.707, 0, 0.707)
    +v.nearPlane = 0
    +SetView3D(v)
    +
    +Test("ops_ex_surf_01")
    +
    +Query("NumZones", "actual")
    +t = GetQueryOutputString()
    +TestText("ops_ex_surf_02", t)
    +
    +es = ExternalSurfaceAttributes()
    +es.removeGhosts = 1
    +SetOperatorOptions(es)
    +
    +Query("NumZones", "actual")
    +t = GetQueryOutputString()
    +TestText("ops_ex_surf_03", t)
    +
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("ExternalSurface")
    +DrawPlots()
    +Test("ops_ex_surf_04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_explode.html b/2023-11-08-22:00/pascal_trunk_serial/operators_explode.html new file mode 100644 index 000000000..e3fe573e5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_explode.html @@ -0,0 +1,180 @@ + +Results for operators/explode.py + +

    Results of VisIt Regression Test - operators/explode

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    explode_globe_000.000.00
    explode_globe_010.000.00
    explode_globe_020.000.00
    explode_globe_030.000.00
    explode_ucd3d_000.000.00
    explode_ucd3d_020.000.00
    explode_ucd3d_030.000.00
    explode_ucd3d_040.000.00
    explode_ucd3d_050.000.00
    explode_ucd3d_060.000.00
    explode_ucd3d_070.000.00
    explode_ucd3d_080.000.00
    explode_rect3d_000.000.00
    explode_multi_rect3d_000.000.00
    explode_tire_000.000.00
    explode_tire_010.000.00
    explode_tire_020.000.00
    explode_quad_disk_000.000.00
    recenter_000.000.00
    recenter_010.000.00
    recenter_020.000.00
    explode_domains_000.000.00
    explode_domains_010.000.00
    explode_repeat_labels_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_explode_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_explode_py.html new file mode 100644 index 000000000..e36fa3454 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_explode_py.html @@ -0,0 +1,580 @@ +operators/explode.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  explode.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain, 
    +#                           multi domain
    +#                          3D unstructured, single domain
    +#                          3D curvilinear, single domain
    +#                          2D unstructured, single domain
    +#              plots     - filled boundary, pseudocolor
    +#              operators - explode
    +#
    +#  Programmer: Alister Maguire
    +#  Date: Tue Jan  2 15:07:06 PST 2018
    +#
    +#  Modifications:
    +#
    +#      Alister Maguire, Wed Jan 17 15:28:46 PST 2018
    +#      Added tests of multi-domain data.    
    +#
    +#      Alister Maguire, Mon Jan 22 11:00:51 PST 2018
    +#      Changed explosion factors to account of scale update. 
    +#
    +#      Alister Maguire, Wed Feb 14 16:07:51 PST 2018
    +#      Updated tests with multiple explosions to be perfomed
    +#      by a single operator.   
    +#
    +#      Alister Maguire, Tue Feb 20 16:22:05 PST 2018
    +#      Added a 2d test with no materials. 
    +#
    +#      Alister Maguire, Wed May  2 12:54:43 PDT 2018
    +#      Added tests for recentering. 
    +#
    +#      Alister Maguire, Tue Sep 18 14:57:03 PDT 2018
    +#      Added tests for exploding domains. 
    +#
    +#      Alister Maguire, Mon Sep 24 13:32:04 PDT 2018
    +#      Added a test for handling repeat labels. 
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def unstructured_explosions():
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("FilledBoundary", "mat1", 1, 1)
    +    DrawPlots()
    +
    +    ResetView()
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.0758172, -0.984828, -0.156097)
    +    View3DAtts.focus = (0, 0, 0)
    +    View3DAtts.viewUp = (-0.01047, 0.155753, -0.987741)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 17.3205
    +    View3DAtts.nearPlane = -34.641
    +    View3DAtts.farPlane = 34.641
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 0.826446
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, 0, 0)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +    AddOperator("Explode")
    +    mainAtts = ExplodeAttributes()
    +
    +    # Explode one material by a plane
    +    atts1 = ExplodeAttributes()
    +    atts1.explosionType = atts1.Plane
    +    atts1.planePoint = (0, 0, 0)
    +    atts1.planeNorm = (1, 0, 0)
    +    atts1.materialExplosionFactor = 1
    +    atts1.material = "4"
    +    atts1.explodeMaterialCells = 1
    +    atts1.cellExplosionFactor = .8
    +    atts1.explosionPattern = atts1.Impact
    +    mainAtts.AddExplosions(atts1)
    +    SetOperatorOptions(mainAtts, 1)
    +    DrawPlots()
    +
    +    Test("explode_globe_00")
    +
    +    # Explode second material by plane
    +    atts2 = ExplodeAttributes()
    +    atts2.explosionType = atts2.Plane
    +    atts2.planePoint = (0, 0, 0)
    +    atts2.planeNorm = (0, 0, 1)
    +    atts2.materialExplosionFactor = 1
    +    atts2.material = "3"
    +    atts2.explodeMaterialCells = 1
    +    atts2.cellExplosionFactor = .8
    +    atts2.explosionPattern = atts2.Impact
    +    mainAtts.AddExplosions(atts2)
    +    SetOperatorOptions(mainAtts, 1)
    +    DrawPlots()
    +
    +    Test("explode_globe_01")
    +
    +    # Explode third material by plane
    +    atts3 = ExplodeAttributes()
    +    atts3.explosionType = atts3.Plane
    +    atts3.planePoint = (0, 0, 0)
    +    atts3.planeNorm = (0, 0, 1)
    +    atts3.materialExplosionFactor = 1
    +    atts3.material = "1"
    +    atts3.explodeMaterialCells = 1
    +    atts3.cellExplosionFactor = .3
    +    atts3.explosionPattern = atts3.Impact
    +    mainAtts.AddExplosions(atts3)
    +    SetOperatorOptions(mainAtts, 1)
    +    DrawPlots()
    +
    +    Test("explode_globe_02")
    +
    +    # Explode material by point
    +    atts4 = ExplodeAttributes()
    +    atts4.explosionType = atts4.Point
    +    atts4.explosionPoint = (0, 0, 0)
    +    atts4.materialExplosionFactor = 1
    +    atts4.material = "2"
    +    atts4.explodeMaterialCells = 1
    +    atts4.cellExplosionFactor = .1
    +    atts4.explosionPattern = atts4.Impact  # Impact, Scatter
    +    mainAtts.AddExplosions(atts4)
    +    SetOperatorOptions(mainAtts, 1)
    +    DrawPlots()
    +    Test("explode_globe_03")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def curvilinear_explosions():
    +    OpenDatabase(silo_data_path("ucd3d.silo"))
    +    AddPlot("Pseudocolor", "v", 1, 1)
    +    AddOperator("Explode", 1)
    +    DrawPlots()
    +
    +    ResetView()
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (-0.706303, 0.44773, 0.548338)
    +    View3DAtts.focus = (0, 3.41092, 10)
    +    View3DAtts.viewUp = (0.262178, 0.884949, -0.384874)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 17.0459
    +    View3DAtts.nearPlane = -34.641
    +    View3DAtts.farPlane = 34.641
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 0.926446
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, 3.41092, 10)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +    # Explode by cylinder without radius 
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Cylinder
    +    ExplodeAtts.cylinderPoint1 = (-5, 0, 20)
    +    ExplodeAtts.cylinderPoint2 = (5, 5, 0)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.cylinderRadius = 0
    +    ExplodeAtts.explodeMaterialCells = 1
    +    ExplodeAtts.cellExplosionFactor = 1
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
    +    ExplodeAtts.explodeAllCells = 0
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_00")
    +
    +    # Explode by plane
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Plane
    +    ExplodeAtts.explodeMaterialCells = 0
    +    ExplodeAtts.planePoint = (0, 2, 20)
    +    ExplodeAtts.planeNorm = (0, 1, 0)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "4"
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
    +    ExplodeAtts.explodeAllCells = 0
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_02")
    +
    +    # Explode all cells by point (impact)
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Point
    +    ExplodeAtts.explosionPoint = (0, 0, 0)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.cellExplosionFactor = 1
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
    +    ExplodeAtts.explodeAllCells = 1
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_03")
    +
    +    # Explode all cells by point (impact)
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Point
    +    ExplodeAtts.explosionPoint = (0, 3, 10)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.cellExplosionFactor = 1
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
    +    ExplodeAtts.explodeAllCells = 1
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_04")
    +
    +    # Explode all cells by point (scatter)
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Point
    +    ExplodeAtts.explosionPoint = (0, 3, 10)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.cellExplosionFactor = 3
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Scatter
    +    ExplodeAtts.explodeAllCells = 1
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_05")
    +
    +    # Explode material by point (scatter)
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Point
    +    ExplodeAtts.explosionPoint = (0, 0, 0)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.explodeMaterialCells = 1
    +    ExplodeAtts.cellExplosionFactor = 1.5
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Scatter
    +    ExplodeAtts.explodeAllCells = 0
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_06")
    +
    +    # Explode material by point
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Point
    +    ExplodeAtts.explosionPoint = (0, 3, 10)
    +    ExplodeAtts.materialExplosionFactor = 1
    +    ExplodeAtts.material = "1"
    +    ExplodeAtts.cylinderRadius = 0
    +    ExplodeAtts.explodeMaterialCells = 1
    +    ExplodeAtts.cellExplosionFactor = 1.5
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Scatter
    +    ExplodeAtts.explodeAllCells = 0
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_07")
    +
    +    # Explode all cells by cylinder with radius
    +    ExplodeAtts = ExplodeAttributes()
    +    ExplodeAtts.explosionType = ExplodeAtts.Cylinder
    +    ExplodeAtts.cylinderPoint1 = (0, 1, 10)
    +    ExplodeAtts.cylinderPoint2 = (0, 0, 10)
    +    ExplodeAtts.cylinderRadius = 4
    +    ExplodeAtts.cellExplosionFactor = .4
    +    ExplodeAtts.explosionPattern = ExplodeAtts.Impact
    +    ExplodeAtts.explodeAllCells = 1
    +    SetOperatorOptions(ExplodeAtts, 1)
    +
    +    Test("explode_ucd3d_08")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def rectilinear_explosions():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +    AddPlot("FilledBoundary", "mat1")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    AddOperator("Explode")
    +    mainAtts = ExplodeAttributes()
    +    DrawPlots()
    +
    +    atts1 = ExplodeAttributes()
    +    atts1.explosionPoint = (1, 0, 0)
    +    atts1.materialExplosionFactor = 2
    +    atts1.material = "7"
    +    mainAtts.AddExplosions(atts1)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    atts2 = ExplodeAttributes()
    +    atts2.explosionPoint = (0, 0, 1)
    +    atts2.materialExplosionFactor = 2
    +    atts2.material = "5"
    +    mainAtts.AddExplosions(atts2)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    Test("explode_rect3d_00")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def multi_rectilinear_explosions():
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +    AddPlot("FilledBoundary", "mat1")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    AddOperator("Explode")
    +    DrawPlots()
    +    mainAtts = ExplodeAttributes()
    +
    +    atts1 = ExplodeAttributes()
    +    atts1.explosionPoint = (1, 0, 0)
    +    atts1.materialExplosionFactor = 2
    +    atts1.material = "2"
    +    mainAtts.AddExplosions(atts1)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    atts2 = ExplodeAttributes()
    +    atts2.explosionPoint = (0, 0, 1)
    +    atts2.materialExplosionFactor = 2
    +    atts2.material = "3"
    +    mainAtts.AddExplosions(atts2)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    Test("explode_multi_rect3d_00")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def multi_tire():
    +    OpenDatabase(silo_data_path("tire.silo"))
    +    AddPlot("FilledBoundary", "Materials")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (1.0, 0.0, 0.0)
    +    View3DAtts.focus = (0, 0, 0)
    +    View3DAtts.viewUp = (0, 1, 0)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 8.0
    +    View3DAtts.nearPlane = -0.5
    +    View3DAtts.farPlane = 0.5
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 0.826446
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, 0, 0)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +
    +    AddOperator("Explode")
    +    DrawPlots()
    +    mainAtts = ExplodeAttributes()
    +
    +    # If domains are being treated correctly, this
    +    # should not produce an explosion. 
    +    atts1 = ExplodeAttributes()
    +    atts1.materialExplosionFactor = 500
    +    atts1.material = "1 Rubber"
    +    mainAtts.AddExplosions(atts1)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    Test("explode_tire_00")
    +
    +    atts2 = ExplodeAttributes()
    +    atts2.materialExplosionFactor = 0
    +    atts2.explodeMaterialCells = 1
    +    atts2.cellExplosionFactor = 1
    +    atts2.explosionType = atts2.Plane
    +    atts2.planePoint = (0, 0, 0)
    +    atts2.planeNorm = (0, 1, 0)
    +    atts2.material = "1 Rubber"
    +    mainAtts.AddExplosions(atts2)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    Test("explode_tire_01")
    +
    +    atts3 = ExplodeAttributes()
    +    atts3.materialExplosionFactor = 1
    +    atts3.explodeMaterialCells = 0
    +    atts3.cellExplosionFactor = 0
    +    atts3.explosionType = atts3.Point
    +    atts3.explosionPoint = (0, 0, 60)
    +    atts3.material = "2 Steel"
    +    mainAtts.AddExplosions(atts3)
    +    SetOperatorOptions(mainAtts, 1)
    +
    +    Test("explode_tire_02")
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def TwoDimNoMat():
    +    OpenDatabase(silo_data_path("quad_disk.silo"))
    +    AddPlot("Pseudocolor", "sphElevD_on_mesh")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    AddOperator("Explode")
    +    DrawPlots()
    +
    +    atts = ExplodeAttributes()
    +    atts.explodeAllCells  = 1
    +    atts.explosionPattern = atts.Scatter
    +    SetOperatorOptions(atts)
    +
    +    Test("explode_quad_disk_00")
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def TestRecenter():
    +    #
    +    # Recentering is enabled when exploding all cells,
    +    # and it allows a cell to be displaced even when 
    +    # its center lies on an explode origin. 
    +    #
    +    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +    AddPlot("Pseudocolor", "3D/z1")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    AddOperator("Explode")
    +    DrawPlots()
    +
    +    #
    +    # Test when a cell center lies on an explode
    +    # cylinder with radius 0. 
    +    #
    +    atts = ExplodeAttributes()
    +    atts.explodeAllCells = 1
    +    atts.explosionType   = atts.Cylinder
    +    atts.cylinderPoint1  = (0, .5, .5)
    +    atts.cylinderPoint2  = (1, .5, .5)
    +    SetOperatorOptions(atts)
    +
    +    Test("recenter_00")
    +
    +    #
    +    # Test when a cell center lies on an explode
    +    # point.
    +    #
    +    atts = ExplodeAttributes()
    +    atts.explodeAllCells = 1
    +    atts.explosionType   = atts.Point
    +    atts.explosionPoint  = (.5, .5, .5)
    +    SetOperatorOptions(atts)
    +
    +    Test("recenter_01")
    +
    +    #
    +    # Test when a cell center lies on an explode
    +    # plane.
    +    #
    +    atts = ExplodeAttributes()
    +    atts.explodeAllCells = 1
    +    atts.explosionType   = atts.Plane
    +    atts.planePoint      = (1.5, 0, 0)
    +    atts.planeNorm       = (1, 0, 0)
    +    SetOperatorOptions(atts)
    +
    +    Test("recenter_02")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +
    +def TestDomainExplode():
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +    AddPlot("Subset", "domains(mesh1)")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    #
    +    # Test exploding full mesh domains. 
    +    #
    +    AddOperator("Explode")
    +    expAtts = ExplodeAttributes()
    +    expAtts.explosionType = expAtts.Point
    +    expAtts.explosionPoint = (0, 0, 0)
    +    expAtts.materialExplosionFactor = 1.2
    +    expAtts.material = "15"
    +    expAtts.explodeMaterialCells = 0
    +    expAtts.explosionPattern = expAtts.Impact
    +    SetOperatorOptions(expAtts, 1)
    +    DrawPlots()
    +    Test("explode_domains_00")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +    AddPlot("Subset", "domains(mesh1_front)")
    +
    +    #
    +    # Test exploding a subset of mesh domains. 
    +    #
    +    AddOperator("Explode")
    +    expAtts = ExplodeAttributes()
    +    expAtts.explosionType = expAtts.Point
    +    expAtts.explosionPoint = (0, 0, 0)
    +    expAtts.materialExplosionFactor = 1.2
    +    expAtts.material = "8"
    +    expAtts.explodeMaterialCells = 0
    +    expAtts.explosionPattern = expAtts.Impact
    +    SetOperatorOptions(expAtts, 1)
    +    DrawPlots()
    +    Test("explode_domains_01")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def TestRepeatMatLabels():
    +    #
    +    # Under certain circumstances, the explode operator
    +    # will recieve repeat labels that need to be condensed. 
    +    # Make sure we can handle this. 
    +    #
    +    OpenDatabase(silo_data_path("tire.silo"))
    +    AddPlot("FilledBoundary", "Materials")
    +
    +    ResetView()
    +    RecenterView()
    +
    +    #
    +    # First, add a reflect operator, which will create
    +    # repeat labels if used on multi domain data.  
    +    #
    +    AddOperator("Reflect")
    +
    +    #
    +    # Test exploding full mesh domains. 
    +    #
    +    AddOperator("Explode")
    +    expAtts = ExplodeAttributes()
    +    expAtts.explosionType = expAtts.Point
    +    expAtts.explosionPoint = (0, 0, 10)
    +    expAtts.materialExplosionFactor = 1.2
    +    expAtts.material = "1 Rubber"
    +    expAtts.explodeMaterialCells = 1
    +    expAtts.explosionPattern = expAtts.Impact
    +    SetOperatorOptions(expAtts, 1)
    +    DrawPlots()
    +    Test("explode_repeat_labels_00")
    +
    +    ResetView()
    +    DeleteAllPlots()
    +
    +
    +def Main():
    +    unstructured_explosions()
    +    curvilinear_explosions()
    +    rectilinear_explosions()
    +    multi_rectilinear_explosions()
    +    multi_tire()
    +    TwoDimNoMat()
    +    TestRecenter()
    +    TestDomainExplode()
    +    TestRepeatMatLabels()
    +
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_extrudeStacked.html b/2023-11-08-22:00/pascal_trunk_serial/operators_extrudeStacked.html new file mode 100644 index 000000000..dcb8bd32f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_extrudeStacked.html @@ -0,0 +1,339 @@ + +Results for operators/extrudeStacked.py + +

    Results of VisIt Regression Test - operators/extrudeStacked

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Extrude stacked function
    Testing database = lines.vtk
    extrude_lines_v0_node_height0.000.00
    extrude_lines_v1_node_height0.000.00
    extrude_lines_v1_cell_height0.000.00
    extrude_lines_v2_node_height0.000.00
    extrude_lines_v2_cell_height0.000.00
    extrude_lines_v2_index0.000.00
    extrude_lines_v3_node_height0.000.00
    extrude_lines_v3_cell_height0.000.00
    extrude_lines_v3_index0.000.00
    extrude_lines_v4_node_height0.000.00
    extrude_lines_v4_cell_height0.000.00
    extrude_lines_v4_index0.000.00
    Testing database = polygons.vtk
    extrude_polygons_v0_node_height0.000.00
    extrude_polygons_v1_node_height0.000.00
    extrude_polygons_v1_cell_height0.000.00
    extrude_polygons_v2_node_height0.000.00
    extrude_polygons_v2_cell_height0.000.00
    extrude_polygons_v2_index0.000.00
    extrude_polygons_v3_node_height0.000.00
    extrude_polygons_v3_cell_height0.000.00
    extrude_polygons_v3_index0.000.00
    extrude_polygons_v4_node_height0.000.00
    extrude_polygons_v4_cell_height0.000.00
    extrude_polygons_v4_index0.000.00
    Testing database = rectilinear.vtk
    extrude_rectilinear_v0_node_height0.000.00
    extrude_rectilinear_v1_node_height0.000.00
    extrude_rectilinear_v1_cell_height0.000.00
    extrude_rectilinear_v2_node_height0.000.00
    extrude_rectilinear_v2_cell_height0.000.00
    extrude_rectilinear_v2_index0.000.00
    extrude_rectilinear_v3_node_height0.000.00
    extrude_rectilinear_v3_cell_height0.000.00
    extrude_rectilinear_v3_index0.000.00
    extrude_rectilinear_v4_node_height0.000.00
    extrude_rectilinear_v4_cell_height0.000.00
    extrude_rectilinear_v4_index0.000.00
    Testing database = structured.vtk
    extrude_structured_v0_node_height0.000.00
    extrude_structured_v1_node_height0.000.00
    extrude_structured_v1_cell_height0.000.00
    extrude_structured_v2_node_height0.000.00
    extrude_structured_v2_cell_height0.000.00
    extrude_structured_v2_index0.000.00
    extrude_structured_v3_node_height0.000.00
    extrude_structured_v3_cell_height0.000.00
    extrude_structured_v3_index0.000.00
    extrude_structured_v4_node_height0.000.00
    extrude_structured_v4_cell_height0.000.00
    extrude_structured_v4_index0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_extrudeStacked_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_extrudeStacked_py.html new file mode 100644 index 000000000..c19e83806 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_extrudeStacked_py.html @@ -0,0 +1,283 @@ +operators/extrudeStacked.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  extrudeStacked.py
    +#
    +#  Tests:      operator   - Extrude Stacked
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       30 August 2023
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Sep 20, 2023
    +#    Changed SetLocalView to retrieve the view via GetView3D() and only
    +#    change the viewNormal and viewUp, so that test images are larger.
    +#
    +# ----------------------------------------------------------------------------
    +
    +RequiredDatabasePlugin("VTK")
    +
    +# For local testing using the CLI
    +
    +#def data_path( db_name ):
    +#  db="/Users/allen/Projects/VisIt/git/visit/data/%s" %(db_name)
    +#  return db
    +
    +#def Test(case_name):
    +#   swatts = SaveWindowAttributes()
    +#   swatts.family = 0
    +#   swatts.fileName = "/Users/allen/Projects/VisIt/git/visit/data/%s" %(case_name)
    +#   SetSaveWindowAttributes(swatts)
    +#   SaveWindow()
    +#   return
    +
    +#def TestSection(tmpstr):
    +#   return
    +
    +#def Exit():
    +#   return
    +
    +# Set the local view
    +def SetLocalView():
    +  ResetView()
    +  #
    +  View3DAtts = GetView3D()
    +  View3DAtts.viewNormal = (0, -1, 0)
    +  View3DAtts.viewUp = (0, 0, 1)
    +  SetView3D(View3DAtts)
    +
    +# Open the database here and add a plot.
    +db=data_path("extrude_test_data/extrude_structured.vtk")
    +OpenDatabase(db)
    +
    +AddPlot("Pseudocolor", "V1", 1, 0)
    +AddOperator("ExtrudeStacked", 0)
    +SetActivePlots(0)
    +DrawPlots()
    +
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.renderSurfaces = 1
    +PseudocolorAtts.renderWireframe = 1
    +SetPlotOptions(PseudocolorAtts)
    +
    +SetLocalView()
    +
    +# Loop through all of the databases
    +databases=["lines", "polygons", "rectilinear", "structured" ]
    +
    +TestSection("Extrude stacked function")
    +for i in range(len(databases)):
    +  db=data_path("extrude_test_data/extrude_%s.vtk") %(databases[i])
    +  tmpstr="Testing database = %s.vtk" %(databases[i])
    +  TestSection(tmpstr)
    +  OpenDatabase(db)
    +  #
    +  # Replace the database from before with the one just openned.
    +  ReplaceDatabase(db)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("default")
    +  ExtrudeStackedAtts.visualVariableNames = ("default")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37)
    +  ExtrudeStackedAtts.extentScale = (1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.OriginalData
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v0_node_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37)
    +  ExtrudeStackedAtts.extentScale = (1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v1_node_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37)
    +  ExtrudeStackedAtts.extentScale = (1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v1_cell_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v2_node_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v2_cell_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.VariableIndex
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v2_index" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v3_node_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v3_cell_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.VariableIndex
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v3_index" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.NodeHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v4_node_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.CellHeight
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v4_cell_height" %(databases[i])
    +  Test(tmpstr)
    +  #
    +  ExtrudeStackedAtts = ExtrudeStackedAttributes()
    +  ExtrudeStackedAtts.axis = (0, 0, 1)
    +  ExtrudeStackedAtts.byVariable = 1
    +  ExtrudeStackedAtts.scalarVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.visualVariableNames = ("V1", "V2", "V3", "V4")
    +  ExtrudeStackedAtts.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
    +  ExtrudeStackedAtts.extentMaxima = (1e+37, 1e+37, 1e+37, 1e+37)
    +  ExtrudeStackedAtts.extentScale = (1, 1, 1, 1)
    +  ExtrudeStackedAtts.variableDisplay = ExtrudeStackedAtts.VariableIndex
    +  ExtrudeStackedAtts.length = 1
    +  ExtrudeStackedAtts.steps = 1
    +  ExtrudeStackedAtts.preserveOriginalCellNumbers = 1
    +  SetOperatorOptions(ExtrudeStackedAtts, 0, 0)
    +  #
    +  tmpstr="extrude_%s_v4_index" %(databases[i])
    +  Test(tmpstr)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_geometry.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_geometry.html new file mode 100644 index 000000000..4118f21c6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_geometry.html @@ -0,0 +1,138 @@ + +Results for operators/ic_geometry.py + +

    Results of VisIt Regression Test - operators/ic_geometry

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ic_geometry_010.000.00
    ic_geometry_020.000.00
    ic_geometry_030.000.00
    ic_geometry_040.000.00
    ic_geometry_050.000.00
    ic_geometry_060.000.00
    ic_geometry_070.000.00
    ic_geometry_080.000.00
    ic_geometry_090.000.00
    ic_geometry_100.000.00
    ic_geometry_110.000.00
    ic_geometry_120.000.00
    ic_geometry_130.000.00
    ic_geometry_140.000.00
    ic_geometry_crop_10.000.00
    ic_geometry_crop_20.000.00
    ic_geometry_crop_30.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_geometry_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_geometry_py.html new file mode 100644 index 000000000..f0bed1b5f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_geometry_py.html @@ -0,0 +1,379 @@ +operators/ic_geometry.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_geometry.py
    +#
    +#  Tests:      operator      - integralcurve
    +#              plot          - pseudocolor
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Sep 29 09:17:57 PDT 2020
    +#    Turned off IC warnings.
    +#
    +#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#    Changed Pseudocolor CurrentPlot to ActualData.
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAtts.focus = (0.496062, 0.99603, 0.496062)
    +View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 12.1829
    +View3DAtts.nearPlane = -24.3658
    +View3DAtts.farPlane = 24.3658
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.maxFlag = 0
    +PseudocolorAtts.max = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.colorTableName = "hot"
    +PseudocolorAtts.invertColorTable = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    +PseudocolorAtts.opacityVariable = ""
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.opacityVarMin = 0
    +PseudocolorAtts.opacityVarMax = 1
    +PseudocolorAtts.opacityVarMinFlag = 0
    +PseudocolorAtts.opacityVarMaxFlag = 0
    +PseudocolorAtts.pointSize = 0.05
    +PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineType = PseudocolorAtts.Tube  # Line, Tube, Ribbon
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.tubeResolution = 100
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
    +PseudocolorAtts.tubeRadiusAbsolute = 0.1
    +PseudocolorAtts.tubeRadiusBBox = 0.005
    +PseudocolorAtts.tubeRadiusVarEnabled = 0
    +PseudocolorAtts.tubeRadiusVar = ""
    +PseudocolorAtts.tubeRadiusVarRatio = 10
    +PseudocolorAtts.tailStyle = PseudocolorAtts.Spheres  # None, Spheres, Cones
    +PseudocolorAtts.headStyle = PseudocolorAtts.NONE  # None, Spheres, Cones
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
    +PseudocolorAtts.endPointRadiusAbsolute = 0.3
    +PseudocolorAtts.endPointRadiusBBox = 0.005
    +PseudocolorAtts.endPointResolution = 100
    +PseudocolorAtts.endPointRatio = 2
    +PseudocolorAtts.endPointRadiusVarEnabled = 0
    +PseudocolorAtts.endPointRadiusVar = ""
    +PseudocolorAtts.endPointRadiusVarRatio = 10
    +PseudocolorAtts.renderSurfaces = 1
    +PseudocolorAtts.renderWireframe = 0
    +PseudocolorAtts.renderPoints = 0
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.wireframeColor = (0, 0, 0, 0)
    +PseudocolorAtts.pointColor = (0, 0, 0, 0)
    +SetPlotOptions(PseudocolorAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, PointList, SpecifiedLine, Circle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox, Selection, FieldData
    +IntegralCurveAtts.pointSource = (0, 0, 0)
    +IntegralCurveAtts.lineStart = (0, 0, 0)
    +IntegralCurveAtts.lineEnd = (1, 0, 0)
    +IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
    +IntegralCurveAtts.planeNormal = (0, 1, 0)
    +IntegralCurveAtts.planeUpAxis = (1, 0, 0)
    +IntegralCurveAtts.radius = 1
    +IntegralCurveAtts.sphereOrigin = (0, 0, 0)
    +IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
    +IntegralCurveAtts.useWholeBox = 1
    +IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
    +IntegralCurveAtts.fieldData = ()
    +IntegralCurveAtts.sampleDensity0 = 5
    +IntegralCurveAtts.sampleDensity1 = 5
    +IntegralCurveAtts.sampleDensity2 = 2
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute  # Solid, SeedPointID, Speed, Vorticity, ArcLength, TimeAbsolute, TimeRelative, AverageDistanceFromSeed, CorrelationDistance, Difference, Variable
    +IntegralCurveAtts.dataVariable = ""
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both, ForwardDirectionless, BackwardDirectionless, BothDirectionless
    +IntegralCurveAtts.maxSteps = 100000
    +IntegralCurveAtts.terminateByDistance = 0
    +IntegralCurveAtts.termDistance = 10
    +IntegralCurveAtts.terminateByTime = 1
    +IntegralCurveAtts.termTime = 200
    +IntegralCurveAtts.maxStepLength = 0.1
    +IntegralCurveAtts.limitMaximumTimestep = 1
    +IntegralCurveAtts.maxTimeStep = 0.02
    +IntegralCurveAtts.relTol = 1e-06
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.absTolAbsolute = 1e-06
    +IntegralCurveAtts.absTolBBox = 1e-07
    +IntegralCurveAtts.fieldType = IntegralCurveAtts.Default  # Default, FlashField, M3DC12DField, M3DC13DField, Nek5000Field, NektarPPField
    +IntegralCurveAtts.fieldConstant = 1
    +IntegralCurveAtts.velocitySource = (0, 0, 0)
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.AdamsBashforth  # Euler, Leapfrog, DormandPrince, AdamsBashforth, RK4, M3DC12DIntegrator
    +IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects  # LoadOnDemand, ParallelStaticDomains, ManagerWorker, VisItSelects
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.pathlines = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTime = 0
    +IntegralCurveAtts.pathlinesPeriod = 0
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE  # CONN_CMFE, POS_CMFE
    +IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines  # Lines, Tubes, Ribbons
    +IntegralCurveAtts.cropBeginFlag = 0
    +IntegralCurveAtts.cropBegin = 0
    +IntegralCurveAtts.cropEndFlag = 0
    +IntegralCurveAtts.cropEnd = 0
    +IntegralCurveAtts.cropValue = IntegralCurveAtts.Time  # Distance, Time, StepNumber
    +IntegralCurveAtts.sampleDistance0 = 18
    +IntegralCurveAtts.sampleDistance1 = 18
    +IntegralCurveAtts.sampleDistance2 = 10
    +IntegralCurveAtts.fillInterior = 1
    +IntegralCurveAtts.randomSamples = 0
    +IntegralCurveAtts.randomSeed = 0
    +IntegralCurveAtts.numberOfRandomSamples = 1
    +IntegralCurveAtts.issueAdvectionWarnings = 1
    +IntegralCurveAtts.issueBoundaryWarnings = 1
    +IntegralCurveAtts.issueTerminationWarnings = 1
    +IntegralCurveAtts.issueStepsizeWarnings = 1
    +IntegralCurveAtts.issueStiffnessWarnings = 1
    +IntegralCurveAtts.issueCriticalPointsWarnings = 1
    +IntegralCurveAtts.criticalPointThreshold = 0.001
    +IntegralCurveAtts.correlationDistanceAngTol = 5
    +IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
    +IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
    +IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.selection = ""
    +
    +# Test coloring options
    +
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test( "ic_geometry_01" )
    +
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.FractionOfBBox
    +PseudocolorAtts.endPointRadiusBBox = 0.03
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_02" )
    +
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute
    +PseudocolorAtts.endPointRadiusAbsolute = 0.6
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_03" )
    +
    +PseudocolorAtts.lineType = PseudocolorAtts.Tube
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_04" )
    +
    +PseudocolorAtts.tubeRadiusBBox = 0.01
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_05" )
    +
    +PseudocolorAtts.tubeRadiusAbsolute = 0.2
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_06" )
    +
    +PseudocolorAtts.lineType = PseudocolorAtts.Ribbon
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_07" )
    +
    +PseudocolorAtts.tubeRadiusBBox = 0.01
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_08" )
    +
    +PseudocolorAtts.tubeRadiusAbsolute = 0.4
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_09" )
    +
    +PseudocolorAtts.lineType = PseudocolorAtts.Line
    +PseudocolorAtts.headStyle = PseudocolorAtts.Spheres  # None, Spheres, Cones
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_10" )
    +
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.FractionOfBBox
    +PseudocolorAtts.endPointRadiusBBox = 0.03
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_11" )
    +
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute
    +PseudocolorAtts.endPointRadiusAbsolute = 0.6
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_12" )
    +
    +PseudocolorAtts.tailStyle = PseudocolorAtts.Cones  # None, Spheres, Cones
    +PseudocolorAtts.headStyle = PseudocolorAtts.Cones  # None, Spheres, Cones
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_13" )
    +
    +PseudocolorAtts.endPointRatio = 3
    +SetPlotOptions(PseudocolorAtts)
    +Test( "ic_geometry_14" )
    +
    +#
    +# Test crop w/ head (cone) location
    +#
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("noise.silo"))
    +AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
    +
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.maxFlag = 0
    +PseudocolorAtts.max = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.colorTableName = "hot"
    +PseudocolorAtts.invertColorTable = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    +PseudocolorAtts.opacityVariable = ""
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.opacityVarMin = 0
    +PseudocolorAtts.opacityVarMax = 1
    +PseudocolorAtts.opacityVarMinFlag = 0
    +PseudocolorAtts.opacityVarMaxFlag = 0
    +PseudocolorAtts.pointSize = 0.05
    +PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineType = PseudocolorAtts.Line  # Line, Tube, Ribbon
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.tubeResolution = 10
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +PseudocolorAtts.tubeRadiusAbsolute = 0.4
    +PseudocolorAtts.tubeRadiusBBox = 0.02
    +PseudocolorAtts.tubeRadiusVarEnabled = 0
    +PseudocolorAtts.tubeRadiusVar = ""
    +PseudocolorAtts.tubeRadiusVarRatio = 10
    +PseudocolorAtts.tailStyle = PseudocolorAtts.NONE  # None, Spheres, Cones
    +PseudocolorAtts.headStyle = PseudocolorAtts.Cones  # None, Spheres, Cones
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
    +PseudocolorAtts.endPointRadiusAbsolute = 0.8
    +PseudocolorAtts.endPointRadiusBBox = 0.04
    +PseudocolorAtts.endPointResolution = 10
    +PseudocolorAtts.endPointRatio = 2
    +PseudocolorAtts.endPointRadiusVarEnabled = 0
    +PseudocolorAtts.endPointRadiusVar = ""
    +PseudocolorAtts.endPointRadiusVarRatio = 10
    +PseudocolorAtts.renderSurfaces = 1
    +PseudocolorAtts.renderWireframe = 0
    +PseudocolorAtts.renderPoints = 0
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.wireframeColor = (0, 0, 0, 0)
    +PseudocolorAtts.pointColor = (0, 0, 0, 0)
    +SetPlotOptions(PseudocolorAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPoint  # SpecifiedPoint, PointList, SpecifiedLine, Circle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox, Selection, FieldData
    +IntegralCurveAtts.pointSource = (0, 0, 0)
    +IntegralCurveAtts.lineStart = (0, 0, 0)
    +IntegralCurveAtts.lineEnd = (1, 0, 0)
    +IntegralCurveAtts.planeOrigin = (0, 0, 0)
    +IntegralCurveAtts.planeNormal = (0, 0, 1)
    +IntegralCurveAtts.planeUpAxis = (0, 1, 0)
    +IntegralCurveAtts.radius = 1
    +IntegralCurveAtts.sphereOrigin = (0, 0, 0)
    +IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
    +IntegralCurveAtts.useWholeBox = 1
    +IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
    +IntegralCurveAtts.fieldData = ()
    +IntegralCurveAtts.sampleDensity0 = 2
    +IntegralCurveAtts.sampleDensity1 = 2
    +IntegralCurveAtts.sampleDensity2 = 2
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute  # Solid, SeedPointID, Speed, Vorticity, ArcLength, TimeAbsolute, TimeRelative, AverageDistanceFromSeed, CorrelationDistance, Difference, Variable
    +IntegralCurveAtts.dataVariable = ""
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward  # Forward, Backward, Both, ForwardDirectionless, BackwardDirectionless, BothDirectionless
    +IntegralCurveAtts.maxSteps = 1000
    +IntegralCurveAtts.terminateByDistance = 0
    +IntegralCurveAtts.termDistance = 10
    +IntegralCurveAtts.terminateByTime = 0
    +IntegralCurveAtts.termTime = 10
    +IntegralCurveAtts.maxStepLength = 0.1
    +IntegralCurveAtts.limitMaximumTimestep = 0
    +IntegralCurveAtts.maxTimeStep = 0.1
    +IntegralCurveAtts.relTol = 0.0001
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.absTolAbsolute = 1e-06
    +IntegralCurveAtts.absTolBBox = 1e-06
    +IntegralCurveAtts.fieldType = IntegralCurveAtts.Default  # Default, FlashField, M3DC12DField, M3DC13DField, Nek5000Field, NektarPPField
    +IntegralCurveAtts.fieldConstant = 1
    +IntegralCurveAtts.velocitySource = (0, 0, 0)
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.AdamsBashforth  # Euler, Leapfrog, DormandPrince, AdamsBashforth, RK4, M3DC12DIntegrator
    +IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects  # LoadOnDemand, ParallelStaticDomains, ManagerWorker, VisItSelects
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.pathlines = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTime = 0
    +IntegralCurveAtts.pathlinesPeriod = 0
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE  # CONN_CMFE, POS_CMFE
    +IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines  # Lines, Tubes, Ribbons
    +IntegralCurveAtts.cropBeginFlag = 0
    +IntegralCurveAtts.cropBegin = 0
    +IntegralCurveAtts.cropEndFlag = 0
    +IntegralCurveAtts.cropEnd = 0
    +IntegralCurveAtts.cropValue = IntegralCurveAtts.Time  # Distance, Time, StepNumber
    +IntegralCurveAtts.sampleDistance0 = 10
    +IntegralCurveAtts.sampleDistance1 = 10
    +IntegralCurveAtts.sampleDistance2 = 10
    +IntegralCurveAtts.fillInterior = 1
    +IntegralCurveAtts.randomSamples = 0
    +IntegralCurveAtts.randomSeed = 0
    +IntegralCurveAtts.numberOfRandomSamples = 1
    +IntegralCurveAtts.issueAdvectionWarnings = 0
    +IntegralCurveAtts.issueBoundaryWarnings = 0
    +IntegralCurveAtts.issueTerminationWarnings = 0
    +IntegralCurveAtts.issueStepsizeWarnings = 0
    +IntegralCurveAtts.issueStiffnessWarnings = 0
    +IntegralCurveAtts.issueCriticalPointsWarnings = 0
    +IntegralCurveAtts.criticalPointThreshold = 0.001
    +IntegralCurveAtts.correlationDistanceAngTol = 5
    +IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
    +IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
    +IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.selection = ""
    +
    +IntegralCurveAtts.cropEndFlag  = 1
    +IntegralCurveAtts.cropEnd = 2
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test( "ic_geometry_crop_1")
    +
    +IntegralCurveAtts.cropEnd = 5
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_geometry_crop_2")
    +
    +IntegralCurveAtts.cropBeginFlag  = 1
    +IntegralCurveAtts.cropBegin = 2
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_geometry_crop_3")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_integration.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_integration.html new file mode 100644 index 000000000..b3e2e2015 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_integration.html @@ -0,0 +1,102 @@ + +Results for operators/ic_integration.py + +

    Results of VisIt Regression Test - operators/ic_integration

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ic_integration_010.000.00
    ic_integration_020.000.00
    ic_integration_030.000.00
    ic_integration_040.000.00
    ic_integration_050.000.00
    ic_integration_060.000.00
    ic_integration_070.000.00
    ic_integration_080.000.00
    ic_integration_090.000.00
    ic_integration_100.000.00
    ic_integration_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_integration_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_integration_py.html new file mode 100644 index 000000000..d03b99f47 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_integration_py.html @@ -0,0 +1,115 @@ +operators/ic_integration.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_integration.py
    +#
    +#  Tests:      operator      - integralcurve
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Sep 29 11:01:37 PDT 2020
    +#    Turn off IC warnings.
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAtts.focus = (0.496062, 0.99603, 0.496062)
    +View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 12.1829
    +View3DAtts.nearPlane = -24.3658
    +View3DAtts.farPlane = 24.3658
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, SpecifiedPointList, SpecifiedLine, SpecifiedCircle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox
    +IntegralCurveAtts.limitMaximumTimestep = 1
    +IntegralCurveAtts.maxTimeStep = 0.02
    +IntegralCurveAtts.terminateByTime = 1
    +IntegralCurveAtts.termTime = 200
    +IntegralCurveAtts.maxSteps = 100000
    +IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
    +IntegralCurveAtts.planeNormal = (0, 1, 0)
    +IntegralCurveAtts.planeUpAxis = (1, 0, 0)
    +IntegralCurveAtts.sampleDensity0 = 5
    +IntegralCurveAtts.sampleDensity1 = 5
    +IntegralCurveAtts.sampleDistance0 = 18
    +IntegralCurveAtts.sampleDistance1 = 18
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both
    +IntegralCurveAtts.relTol = 1e-06
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.Absolute
    +IntegralCurveAtts.absTolAbsolute = 1e-07
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.DormandPrince  # DormandPrince, AdamsBashforth, M3DC1Integrator
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
    +# turn off warnings
    +IntegralCurveAtts.issueAdvectionWarnings = 0
    +IntegralCurveAtts.issueBoundaryWarnings = 0
    +IntegralCurveAtts.issueTerminationWarnings = 0
    +IntegralCurveAtts.issueStepsizeWarnings = 0
    +IntegralCurveAtts.issueStiffnessWarnings = 0
    +IntegralCurveAtts.issueCriticalPointsWarnings = 0
    +
    +
    +# test defaults
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test( "ic_integration_01" )
    +
    +IntegralCurveAtts.maxTimeStep = 0.05
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_02" )
    +
    +IntegralCurveAtts.limitMaximumTimestep = 0
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_03" )
    +
    +IntegralCurveAtts.absTolAbsolute = 1e-03
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_04" )
    +
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_05" )
    +
    +IntegralCurveAtts.absTolBBox = 1e-09
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_06" )
    +
    +IntegralCurveAtts.absTolBBox = 1e-04
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_07" )
    +
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.AdamsBashforth
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_08" )
    +
    +IntegralCurveAtts.maxStepLength = 0.2
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_09" )
    +
    +IntegralCurveAtts.maxStepLength = 1.0
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_10" )
    +
    +IntegralCurveAtts.maxStepLength = 0.01
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_integration_11" )
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pathlines.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pathlines.html new file mode 100644 index 000000000..a0fb9b20a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pathlines.html @@ -0,0 +1,86 @@ + +Results for operators/ic_pathlines.py + +

    Results of VisIt Regression Test - operators/ic_pathlines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ic_pathlines_010.000.00
    ic_pathlines_020.000.00
    ic_pathlines_030 modifications totalling 0 lines
    ic_pathlines_040.000.00
    ic_pathlines_050.000.00
    ic_pathlines_060.000.00
    ic_pathlines_070.000.00
    ic_pathlines_080.000.00
    ic_pathlines_090 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pathlines_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pathlines_py.html new file mode 100644 index 000000000..f03b11612 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pathlines_py.html @@ -0,0 +1,160 @@ +operators/ic_pathlines.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_pathlines.py
    +#
    +#  Tests:      operator      - integralcurve
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Thu Sep 17 11:35:47 PDT 2020
    +#    Turn off IC warnings. Set larger linewidth so for better images.
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("PICS_Tester")
    +
    +OpenDatabase(data_path("pics_test_data/pathline_test.pics"))
    +AddPlot("Pseudocolor", "operators/IntegralCurve/velocity", 1, 0)
    +pcAtts = PseudocolorAttributes();
    +pcAtts.lineWidth = 3
    +SetPlotOptions(pcAtts)
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAtts.focus = (0.496062, 0.99603, 0.496062)
    +View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 12.1829
    +View3DAtts.nearPlane = -24.3658
    +View3DAtts.farPlane = 24.3658
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPoint
    +IntegralCurveAtts.pointSource = (0.5, 0.1, 0.1)
    +IntegralCurveAtts.lineStart = (0, 0, 0)
    +IntegralCurveAtts.lineEnd = (1, 0, 0)
    +IntegralCurveAtts.planeOrigin = (0, 0, 0)
    +IntegralCurveAtts.planeNormal = (0, 0, 1)
    +IntegralCurveAtts.planeUpAxis = (0, 1, 0)
    +IntegralCurveAtts.radius = 1
    +IntegralCurveAtts.sphereOrigin = (0, 0, 0)
    +IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
    +IntegralCurveAtts.useWholeBox = 1
    +IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
    +IntegralCurveAtts.fieldData = ()
    +IntegralCurveAtts.sampleDensity0 = 2
    +IntegralCurveAtts.sampleDensity1 = 2
    +IntegralCurveAtts.sampleDensity2 = 2
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
    +IntegralCurveAtts.dataVariable = ""
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward
    +IntegralCurveAtts.maxSteps = 1000
    +IntegralCurveAtts.terminateByDistance = 0
    +IntegralCurveAtts.termDistance = 10
    +IntegralCurveAtts.terminateByTime = 0
    +IntegralCurveAtts.termTime = 10
    +IntegralCurveAtts.maxStepLength = 0.01
    +IntegralCurveAtts.limitMaximumTimestep = 0
    +IntegralCurveAtts.maxTimeStep = 0.1
    +IntegralCurveAtts.relTol = 0.0001
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox
    +IntegralCurveAtts.absTolAbsolute = 1e-06
    +IntegralCurveAtts.absTolBBox = 1e-06
    +IntegralCurveAtts.fieldType = IntegralCurveAtts.Default
    +IntegralCurveAtts.fieldConstant = 1
    +IntegralCurveAtts.velocitySource = (0, 0, 0)
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.Euler
    +IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.pathlines = 1
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTime = 0
    +IntegralCurveAtts.pathlinesPeriod = 0
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.CONN_CMFE
    +IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines
    +IntegralCurveAtts.cropBeginFlag = 0
    +IntegralCurveAtts.cropBegin = 0
    +IntegralCurveAtts.cropEndFlag = 0
    +IntegralCurveAtts.cropEnd = 0
    +IntegralCurveAtts.cropValue = IntegralCurveAtts.Time
    +IntegralCurveAtts.sampleDistance0 = 10
    +IntegralCurveAtts.sampleDistance1 = 10
    +IntegralCurveAtts.sampleDistance2 = 10
    +IntegralCurveAtts.fillInterior = 1
    +IntegralCurveAtts.randomSamples = 0
    +IntegralCurveAtts.randomSeed = 0
    +IntegralCurveAtts.numberOfRandomSamples = 1
    +IntegralCurveAtts.issueAdvectionWarnings = 1
    +IntegralCurveAtts.issueBoundaryWarnings = 1
    +IntegralCurveAtts.issueTerminationWarnings = 1
    +IntegralCurveAtts.issueStepsizeWarnings = 1
    +IntegralCurveAtts.issueStiffnessWarnings = 1
    +IntegralCurveAtts.issueCriticalPointsWarnings = 1
    +IntegralCurveAtts.criticalPointThreshold = 0.001
    +IntegralCurveAtts.correlationDistanceAngTol = 5
    +IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
    +IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
    +IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox
    +IntegralCurveAtts.selection = ""
    +IntegralCurveAtts.issueAdvectionWarnings = 0
    +IntegralCurveAtts.issueBoundaryWarnings = 0
    +IntegralCurveAtts.issueTerminationWarnings = 0
    +IntegralCurveAtts.issueStepsizeWarnings = 0
    +IntegralCurveAtts.issueStiffnessWarnings = 0
    +IntegralCurveAtts.issueCriticalPointsWarnings = 0
    +
    +SetOperatorOptions(IntegralCurveAtts, 0)
    +DrawPlots()
    +Test("ic_pathlines_01")
    +
    +IntegralCurveAtts.terminateByTime = 1
    +IntegralCurveAtts.termTime = 3
    +SetOperatorOptions(IntegralCurveAtts)
    +Test("ic_pathlines_02")
    +
    +TimeSliderSetState(6)
    +e = GetLastError()
    +TestText("ic_pathlines_03", e)
    +
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Backward
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test("ic_pathlines_04")
    +
    +IntegralCurveAtts.terminateByTime = 0
    +SetOperatorOptions(IntegralCurveAtts)
    +Test("ic_pathlines_05")
    +
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 1
    +IntegralCurveAtts.pathlinesOverrideStartingTime = 3.5
    +SetOperatorOptions(IntegralCurveAtts)
    +Test("ic_pathlines_06")
    +
    +TimeSliderSetState(0)
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE
    +SetOperatorOptions(IntegralCurveAtts)
    +Test("ic_pathlines_07")
    +
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE
    +SetOperatorOptions(IntegralCurveAtts)
    +Test("ic_pathlines_08")
    +
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
    +SetOperatorOptions(IntegralCurveAtts)
    +e = GetLastError()
    +TestText("ic_pathlines_09", e)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pics.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pics.html new file mode 100644 index 000000000..16e40a0ce --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pics.html @@ -0,0 +1,1392 @@ + +Results for operators/ic_pics.py + +

    Results of VisIt Regression Test - operators/ic_pics

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    MB_2D_rect
    Varying time type with parallelization algorithm = POS
    Varying integrator = Euler (0)
    ic_pics_MB_2D_rect_POS_Euler_path_forward0.000.00
    ic_pics_MB_2D_rect_POS_Euler_path_backward0.000.00
    ic_pics_MB_2D_rect_POS_Euler_stream_forward0.000.00
    ic_pics_MB_2D_rect_POS_Euler_stream_backward0.000.00
    ic_pics_MB_2D_rect_POS_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_2D_rect_POS_Leapfrog_path_forward0.000.00
    ic_pics_MB_2D_rect_POS_Leapfrog_path_backward0.000.00
    ic_pics_MB_2D_rect_POS_Leapfrog_stream_forward0.000.00
    ic_pics_MB_2D_rect_POS_Leapfrog_stream_backward0.000.00
    ic_pics_MB_2D_rect_POS_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_2D_rect_POS_DormandPrince_path_forward0.000.00
    ic_pics_MB_2D_rect_POS_DormandPrince_path_backward0.000.00
    ic_pics_MB_2D_rect_POS_DormandPrince_stream_forward0.000.00
    ic_pics_MB_2D_rect_POS_DormandPrince_stream_backward0.000.00
    ic_pics_MB_2D_rect_POS_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_2D_rect_POS_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_2D_rect_POS_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_2D_rect_POS_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_2D_rect_POS_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_2D_rect_POS_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_2D_rect_POS_RK4_path_forward0.000.00
    ic_pics_MB_2D_rect_POS_RK4_path_backward0.000.00
    ic_pics_MB_2D_rect_POS_RK4_stream_forward0.000.00
    ic_pics_MB_2D_rect_POS_RK4_stream_backward0.000.00
    ic_pics_MB_2D_rect_POS_RK4_stream_both0.000.00
    Varying time type with parallelization algorithm = POD
    Varying integrator = Euler (0)
    ic_pics_MB_2D_rect_POD_Euler_path_forward0.000.00
    ic_pics_MB_2D_rect_POD_Euler_path_backward0.000.00
    ic_pics_MB_2D_rect_POD_Euler_stream_forward0.000.00
    ic_pics_MB_2D_rect_POD_Euler_stream_backward0.000.00
    ic_pics_MB_2D_rect_POD_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_2D_rect_POD_Leapfrog_path_forward0.000.00
    ic_pics_MB_2D_rect_POD_Leapfrog_path_backward0.000.00
    ic_pics_MB_2D_rect_POD_Leapfrog_stream_forward0.000.00
    ic_pics_MB_2D_rect_POD_Leapfrog_stream_backward0.000.00
    ic_pics_MB_2D_rect_POD_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_2D_rect_POD_DormandPrince_path_forward0.000.00
    ic_pics_MB_2D_rect_POD_DormandPrince_path_backward0.000.00
    ic_pics_MB_2D_rect_POD_DormandPrince_stream_forward0.000.00
    ic_pics_MB_2D_rect_POD_DormandPrince_stream_backward0.000.00
    ic_pics_MB_2D_rect_POD_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_2D_rect_POD_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_2D_rect_POD_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_2D_rect_POD_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_2D_rect_POD_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_2D_rect_POD_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_2D_rect_POD_RK4_path_forward0.000.00
    ic_pics_MB_2D_rect_POD_RK4_path_backward0.000.00
    ic_pics_MB_2D_rect_POD_RK4_stream_forward0.000.00
    ic_pics_MB_2D_rect_POD_RK4_stream_backward0.000.00
    ic_pics_MB_2D_rect_POD_RK4_stream_both0.000.00
    MB_2D_ugrid
    Varying time type with parallelization algorithm = POS
    Varying integrator = Euler (0)
    ic_pics_MB_2D_ugrid_POS_Euler_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_Euler_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_Euler_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_Euler_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_2D_ugrid_POS_Leapfrog_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_Leapfrog_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_Leapfrog_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_Leapfrog_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_2D_ugrid_POS_DormandPrince_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_DormandPrince_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_DormandPrince_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_DormandPrince_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_2D_ugrid_POS_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_2D_ugrid_POS_RK4_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_RK4_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_RK4_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POS_RK4_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POS_RK4_stream_both0.000.00
    Varying time type with parallelization algorithm = POD
    Varying integrator = Euler (0)
    ic_pics_MB_2D_ugrid_POD_Euler_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_Euler_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_Euler_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_Euler_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_2D_ugrid_POD_Leapfrog_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_Leapfrog_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_Leapfrog_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_Leapfrog_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_2D_ugrid_POD_DormandPrince_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_DormandPrince_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_DormandPrince_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_DormandPrince_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_2D_ugrid_POD_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_2D_ugrid_POD_RK4_path_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_RK4_path_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_RK4_stream_forward0.000.00
    ic_pics_MB_2D_ugrid_POD_RK4_stream_backward0.000.00
    ic_pics_MB_2D_ugrid_POD_RK4_stream_both0.000.00
    MB_3D_rect
    Varying time type with parallelization algorithm = POS
    Varying integrator = Euler (0)
    ic_pics_MB_3D_rect_POS_Euler_path_forward0.000.00
    ic_pics_MB_3D_rect_POS_Euler_path_backward0.000.00
    ic_pics_MB_3D_rect_POS_Euler_stream_forward0.000.00
    ic_pics_MB_3D_rect_POS_Euler_stream_backward0.000.00
    ic_pics_MB_3D_rect_POS_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_3D_rect_POS_Leapfrog_path_forward0.000.00
    ic_pics_MB_3D_rect_POS_Leapfrog_path_backward0.000.00
    ic_pics_MB_3D_rect_POS_Leapfrog_stream_forward0.000.00
    ic_pics_MB_3D_rect_POS_Leapfrog_stream_backward0.000.00
    ic_pics_MB_3D_rect_POS_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_3D_rect_POS_DormandPrince_path_forward0.000.00
    ic_pics_MB_3D_rect_POS_DormandPrince_path_backward0.000.00
    ic_pics_MB_3D_rect_POS_DormandPrince_stream_forward0.000.00
    ic_pics_MB_3D_rect_POS_DormandPrince_stream_backward0.000.00
    ic_pics_MB_3D_rect_POS_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_3D_rect_POS_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_3D_rect_POS_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_3D_rect_POS_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_3D_rect_POS_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_3D_rect_POS_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_3D_rect_POS_RK4_path_forward0.000.00
    ic_pics_MB_3D_rect_POS_RK4_path_backward0.000.00
    ic_pics_MB_3D_rect_POS_RK4_stream_forward0.000.00
    ic_pics_MB_3D_rect_POS_RK4_stream_backward0.000.00
    ic_pics_MB_3D_rect_POS_RK4_stream_both0.000.00
    Varying time type with parallelization algorithm = POD
    Varying integrator = Euler (0)
    ic_pics_MB_3D_rect_POD_Euler_path_forward0.000.00
    ic_pics_MB_3D_rect_POD_Euler_path_backward0.000.00
    ic_pics_MB_3D_rect_POD_Euler_stream_forward0.000.00
    ic_pics_MB_3D_rect_POD_Euler_stream_backward0.000.00
    ic_pics_MB_3D_rect_POD_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_3D_rect_POD_Leapfrog_path_forward0.000.00
    ic_pics_MB_3D_rect_POD_Leapfrog_path_backward0.000.00
    ic_pics_MB_3D_rect_POD_Leapfrog_stream_forward0.000.00
    ic_pics_MB_3D_rect_POD_Leapfrog_stream_backward0.000.00
    ic_pics_MB_3D_rect_POD_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_3D_rect_POD_DormandPrince_path_forward0.000.00
    ic_pics_MB_3D_rect_POD_DormandPrince_path_backward0.000.00
    ic_pics_MB_3D_rect_POD_DormandPrince_stream_forward0.000.00
    ic_pics_MB_3D_rect_POD_DormandPrince_stream_backward0.000.00
    ic_pics_MB_3D_rect_POD_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_3D_rect_POD_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_3D_rect_POD_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_3D_rect_POD_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_3D_rect_POD_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_3D_rect_POD_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_3D_rect_POD_RK4_path_forward0.000.00
    ic_pics_MB_3D_rect_POD_RK4_path_backward0.000.00
    ic_pics_MB_3D_rect_POD_RK4_stream_forward0.000.00
    ic_pics_MB_3D_rect_POD_RK4_stream_backward0.000.00
    ic_pics_MB_3D_rect_POD_RK4_stream_both0.000.00
    MB_3D_ugrid
    Varying time type with parallelization algorithm = POS
    Varying integrator = Euler (0)
    ic_pics_MB_3D_ugrid_POS_Euler_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_Euler_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_Euler_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_Euler_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_3D_ugrid_POS_Leapfrog_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_Leapfrog_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_Leapfrog_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_Leapfrog_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_3D_ugrid_POS_DormandPrince_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_DormandPrince_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_DormandPrince_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_DormandPrince_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_3D_ugrid_POS_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_3D_ugrid_POS_RK4_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_RK4_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_RK4_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POS_RK4_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POS_RK4_stream_both0.000.00
    Varying time type with parallelization algorithm = POD
    Varying integrator = Euler (0)
    ic_pics_MB_3D_ugrid_POD_Euler_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_Euler_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_Euler_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_Euler_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_Euler_stream_both0.000.00
    Varying integrator = Leapfrog (1)
    ic_pics_MB_3D_ugrid_POD_Leapfrog_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_Leapfrog_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_Leapfrog_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_Leapfrog_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_Leapfrog_stream_both0.000.00
    Varying integrator = DormandPrince (2)
    ic_pics_MB_3D_ugrid_POD_DormandPrince_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_DormandPrince_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_DormandPrince_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_DormandPrince_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_DormandPrince_stream_both0.000.00
    Varying integrator = AdamsBashforth (3)
    ic_pics_MB_3D_ugrid_POD_AdamsBashforth_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_AdamsBashforth_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_AdamsBashforth_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_AdamsBashforth_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_AdamsBashforth_stream_both0.000.00
    Varying integrator = RK4 (4)
    ic_pics_MB_3D_ugrid_POD_RK4_path_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_RK4_path_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_RK4_stream_forward0.000.00
    ic_pics_MB_3D_ugrid_POD_RK4_stream_backward0.000.00
    ic_pics_MB_3D_ugrid_POD_RK4_stream_both0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pics_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pics_py.html new file mode 100644 index 000000000..5597a4e34 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_pics_py.html @@ -0,0 +1,114 @@ +operators/ic_pics.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_pics.py
    +#
    +#  Tests:      operator      - integralcurve
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Thu Sep 17 11:35:47 PDT 2020
    +#    Turn off IC warnings. Set larger linewidth so for better images.
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("PICS_Tester")
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +databases=["MB_2D_rect", "MB_2D_ugrid", "MB_3D_rect", "MB_3D_ugrid"]
    +is2D=[1,1,0,0]
    +isUgrid=[0,1,0,1]
    +algs=[IntegralCurveAtts.LoadOnDemand, IntegralCurveAtts.ParallelStaticDomains]
    +algs_strings=["POS", "POD", "MS", "BestAlg"]
    +time_strings=["path_forward", "path_backward", "stream_forward", "stream_backward", "stream_both"]
    +intg=[IntegralCurveAtts.Euler, IntegralCurveAtts.Leapfrog, IntegralCurveAtts.DormandPrince, IntegralCurveAtts.AdamsBashforth, IntegralCurveAtts.RK4]
    +intg_strings=["Euler", "Leapfrog", "DormandPrince", "AdamsBashforth", "RK4"]
    +
    +View3DAtts = View3DAttributes()
    +View3DAttIntegralCurveAttsviewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAttIntegralCurveAttsfocus = (0.496062, 0.99603, 0.496062)
    +View3DAttIntegralCurveAttsviewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAttIntegralCurveAttsviewAngle = 30
    +View3DAttIntegralCurveAttsparallelScale = 12.1829
    +View3DAttIntegralCurveAttsnearPlane = -24.3658
    +View3DAttIntegralCurveAttsfarPlane = 24.3658
    +View3DAttIntegralCurveAttsimagePan = (0, 0)
    +View3DAttIntegralCurveAttsimageZoom = 1
    +View3DAttIntegralCurveAttsperspective = 1
    +View3DAttIntegralCurveAttseyeAngle = 2
    +View3DAttIntegralCurveAttsaxis3DScaleFlag = 0
    +View3DAttIntegralCurveAttsaxis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +for i in range(len(databases)):
    +  TestSection(databases[i])
    +  db=data_path("pics_test_data/%s.pics") %(databases[i])
    +  for j in range(len(algs)):
    +     tmpstr="Varying time type with parallelization algorithm = %s" %(algs_strings[j])
    +     TestSection(tmpstr)
    +
    +     for integrator_i in range(len(intg)) :
    +       tmpstr="Varying integrator = %s (%d)" %(intg_strings[integrator_i], integrator_i)
    +       TestSection(tmpstr)
    +
    +       for k in range(len(time_strings)):
    +         DeleteAllPlots()
    +         OpenDatabase(db)
    +         AddPlot("Pseudocolor", "operators/IntegralCurve/velocity", 1, 0)
    +         pcAtts = PseudocolorAttributes();
    +         pcAtts.lineWidth = 3
    +         SetPlotOptions(pcAtts)
    +         IntegralCurveAtts = IntegralCurveAttributes()
    +         IntegralCurveAtts.parallelizationAlgorithmType = algs[j]
    +         IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPoint
    +         IntegralCurveAtts.issueAdvectionWarnings = 0
    +         IntegralCurveAtts.issueBoundaryWarnings = 0
    +         IntegralCurveAtts.issueTerminationWarnings = 0
    +         IntegralCurveAtts.issueStepsizeWarnings = 0
    +         IntegralCurveAtts.issueStiffnessWarnings = 0
    +         IntegralCurveAtts.issueCriticalPointsWarnings = 0
    +         if (is2D[i]):
    +           if (intg[integrator_i] in [IntegralCurveAtts.RK4, IntegralCurveAtts.DormandPrince, IntegralCurveAtts.AdamsBashforth]) :
    +             IntegralCurveAtts.pointSource = (0.51, 0.1, 0)
    +           else:
    +             IntegralCurveAtts.pointSource = (0.5, 0.1, 0)
    +         else:
    +           if (isUgrid[i]):
    +             IntegralCurveAtts.pointSource = (0.2, 0.6, 0.6)
    +           else:
    +             if (intg[integrator_i] in [IntegralCurveAtts.RK4, IntegralCurveAtts.DormandPrince, IntegralCurveAtts.AdamsBashforth]) :
    +               IntegralCurveAtts.pointSource = (0.51, 0.1, 0.1)
    +             else:
    +               IntegralCurveAtts.pointSource = (0.5, 0.1, 0.1)
    +         if (time_strings[k] == "path_forward"):
    +           TimeSliderSetState(0)
    +           IntegralCurveAtts.pathlines = 1
    +           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward
    +         if (time_strings[k] == "path_backward"):
    +           TimeSliderSetState(TimeSliderGetNStates()-1)
    +           IntegralCurveAtts.pathlines = 1
    +           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Backward
    +         if (time_strings[k] == "stream_forward"):
    +           TimeSliderSetState(0)
    +           IntegralCurveAtts.pathlines = 0
    +           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Forward
    +         if (time_strings[k] == "stream_backward"):
    +           TimeSliderSetState(0)
    +           IntegralCurveAtts.pathlines = 0
    +           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Backward
    +         if (time_strings[k] == "stream_both"):
    +           TimeSliderSetState(0)
    +           IntegralCurveAtts.pathlines = 0
    +           IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both
    +         IntegralCurveAtts.maxStepLength = 0.01
    +         IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE
    +         IntegralCurveAtts.integrationType = intg[integrator_i]
    +         SetOperatorOptions(IntegralCurveAtts)
    +         DrawPlots()
    +         tmpstr="ic_pics_%s_%s_%s_%s" %(databases[i], algs_strings[j], intg_strings[integrator_i], time_strings[k])
    +         Test(tmpstr)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_streamlines.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_streamlines.html new file mode 100644 index 000000000..e04f844a1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_streamlines.html @@ -0,0 +1,102 @@ + +Results for operators/ic_streamlines.py + +

    Results of VisIt Regression Test - operators/ic_streamlines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ic_streamlines_010.000.00
    ic_streamlines_020.000.00
    ic_streamlines_030.000.00
    ic_streamlines_040.000.00
    ic_streamlines_050.000.00
    ic_streamlines_060.000.00
    ic_streamlines_070.000.00
    ic_streamlines_080.000.00
    ic_streamlines_090.000.00
    ic_streamlines_100.000.00
    ic_streamlines_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_streamlines_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_streamlines_py.html new file mode 100644 index 000000000..9ea556921 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_streamlines_py.html @@ -0,0 +1,220 @@ +operators/ic_streamlines.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_streamlines.py
    +#
    +#  Tests:      operator      - integralcurve
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Sep 29 11:29:33 PDT 2020
    +#    Turn off IC warnings.
    +#
    +#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#    Changed Pseudocolor CurrentPlot to ActualData.
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAtts.focus = (0.496062, 0.99603, 0.496062)
    +View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 12.1829
    +View3DAtts.nearPlane = -24.3658
    +View3DAtts.farPlane = 24.3658
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.maxFlag = 0
    +PseudocolorAtts.max = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.colorTableName = "hot"
    +PseudocolorAtts.invertColorTable = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    +PseudocolorAtts.opacityVariable = ""
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.opacityVarMin = 0
    +PseudocolorAtts.opacityVarMax = 1
    +PseudocolorAtts.opacityVarMinFlag = 0
    +PseudocolorAtts.opacityVarMaxFlag = 0
    +PseudocolorAtts.pointSize = 0.05
    +PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Octahedron, Tetrahedron, SphereGeometry, Point, Sphere
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineType = PseudocolorAtts.Tube  # Line, Tube, Ribbon
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.tubeResolution = 100
    +PseudocolorAtts.tubeRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
    +PseudocolorAtts.tubeRadiusAbsolute = 0.25
    +PseudocolorAtts.tubeRadiusBBox = 0.005
    +PseudocolorAtts.tubeRadiusVarEnabled = 0
    +PseudocolorAtts.tubeRadiusVar = ""
    +PseudocolorAtts.tubeRadiusVarRatio = 10
    +PseudocolorAtts.tailStyle = PseudocolorAtts.Spheres  # None, Spheres, Cones
    +PseudocolorAtts.headStyle = PseudocolorAtts.NONE  # None, Spheres, Cones
    +PseudocolorAtts.endPointRadiusSizeType = PseudocolorAtts.Absolute  # Absolute, FractionOfBBox
    +PseudocolorAtts.endPointRadiusAbsolute = 0.8
    +PseudocolorAtts.endPointRadiusBBox = 0.005
    +PseudocolorAtts.endPointResolution = 100
    +PseudocolorAtts.endPointRatio = 2
    +PseudocolorAtts.endPointRadiusVarEnabled = 0
    +PseudocolorAtts.endPointRadiusVar = ""
    +PseudocolorAtts.endPointRadiusVarRatio = 10
    +PseudocolorAtts.renderSurfaces = 1
    +PseudocolorAtts.renderWireframe = 0
    +PseudocolorAtts.renderPoints = 0
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.wireframeColor = (0, 0, 0, 0)
    +PseudocolorAtts.pointColor = (0, 0, 0, 0)
    +SetPlotOptions(PseudocolorAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, PointList, SpecifiedLine, Circle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox, Selection, FieldData
    +IntegralCurveAtts.pointSource = (0, 0, 0)
    +IntegralCurveAtts.lineStart = (0, 0, 0)
    +IntegralCurveAtts.lineEnd = (1, 0, 0)
    +IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
    +IntegralCurveAtts.planeNormal = (0, 1, 0)
    +IntegralCurveAtts.planeUpAxis = (1, 0, 0)
    +IntegralCurveAtts.radius = 1
    +IntegralCurveAtts.sphereOrigin = (0, 0, 0)
    +IntegralCurveAtts.boxExtents = (0, 1, 0, 1, 0, 1)
    +IntegralCurveAtts.useWholeBox = 1
    +IntegralCurveAtts.pointList = (0, 0, 0, 1, 0, 0, 0, 1, 0)
    +IntegralCurveAtts.fieldData = ()
    +IntegralCurveAtts.sampleDensity0 = 5
    +IntegralCurveAtts.sampleDensity1 = 5
    +IntegralCurveAtts.sampleDensity2 = 2
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.Speed  # Solid, SeedPointID, Speed, Vorticity, ArcLength, TimeAbsolute, TimeRelative, AverageDistanceFromSeed, CorrelationDistance, Difference, Variable
    +IntegralCurveAtts.dataVariable = ""
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both, ForwardDirectionless, BackwardDirectionless, BothDirectionless
    +IntegralCurveAtts.maxSteps = 100000
    +IntegralCurveAtts.terminateByDistance = 0
    +IntegralCurveAtts.termDistance = 10
    +IntegralCurveAtts.terminateByTime = 1
    +IntegralCurveAtts.termTime = 200
    +IntegralCurveAtts.maxStepLength = 0.1
    +IntegralCurveAtts.limitMaximumTimestep = 1
    +IntegralCurveAtts.maxTimeStep = 0.02
    +IntegralCurveAtts.relTol = 1e-06
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.absTolAbsolute = 1e-06
    +IntegralCurveAtts.absTolBBox = 1e-07
    +IntegralCurveAtts.fieldType = IntegralCurveAtts.Default  # Default, FlashField, M3DC12DField, M3DC13DField, Nek5000Field, NektarPPField
    +IntegralCurveAtts.fieldConstant = 1
    +IntegralCurveAtts.velocitySource = (0, 0, 0)
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.DormandPrince  # Euler, Leapfrog, DormandPrince, AdamsBashforth, RK4, M3DC12DIntegrator
    +IntegralCurveAtts.parallelizationAlgorithmType = IntegralCurveAtts.VisItSelects  # LoadOnDemand, ParallelStaticDomains, ManagerWorker, VisItSelects
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.pathlines = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTimeFlag = 0
    +IntegralCurveAtts.pathlinesOverrideStartingTime = 0
    +IntegralCurveAtts.pathlinesPeriod = 0
    +IntegralCurveAtts.pathlinesCMFE = IntegralCurveAtts.POS_CMFE  # CONN_CMFE, POS_CMFE
    +IntegralCurveAtts.displayGeometry = IntegralCurveAtts.Lines  # Lines, Tubes, Ribbons
    +IntegralCurveAtts.cropBeginFlag = 0
    +IntegralCurveAtts.cropBegin = 0
    +IntegralCurveAtts.cropEndFlag = 0
    +IntegralCurveAtts.cropEnd = 0
    +IntegralCurveAtts.cropValue = IntegralCurveAtts.Time  # Distance, Time, StepNumber
    +IntegralCurveAtts.sampleDistance0 = 18
    +IntegralCurveAtts.sampleDistance1 = 18
    +IntegralCurveAtts.sampleDistance2 = 10
    +IntegralCurveAtts.fillInterior = 1
    +IntegralCurveAtts.randomSamples = 0
    +IntegralCurveAtts.randomSeed = 0
    +IntegralCurveAtts.numberOfRandomSamples = 1
    +IntegralCurveAtts.issueAdvectionWarnings = 0
    +IntegralCurveAtts.issueBoundaryWarnings = 0
    +IntegralCurveAtts.issueTerminationWarnings = 0
    +IntegralCurveAtts.issueStepsizeWarnings = 0
    +IntegralCurveAtts.issueStiffnessWarnings = 0
    +IntegralCurveAtts.issueCriticalPointsWarnings = 0
    +IntegralCurveAtts.criticalPointThreshold = 0.001
    +IntegralCurveAtts.correlationDistanceAngTol = 5
    +IntegralCurveAtts.correlationDistanceMinDistAbsolute = 1
    +IntegralCurveAtts.correlationDistanceMinDistBBox = 0.005
    +IntegralCurveAtts.correlationDistanceMinDistType = IntegralCurveAtts.FractionOfBBox  # Absolute, FractionOfBBox
    +IntegralCurveAtts.selection = ""
    +
    +# Test coloring options
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.Speed
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test( "ic_streamlines_01" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.Vorticity
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_02" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.ArcLength
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_03" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_04" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.SeedPointID
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_05" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.Variable
    +IntegralCurveAtts.dataVariable = "hardyglobal"
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_06" )
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.Solid
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_07" )
    +
    +# test termination modes (termination by time implied in previous tests)
    +
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.ArcLength
    +
    +IntegralCurveAtts.terminateByTime = 0
    +IntegralCurveAtts.terminateByDistance = 1
    +IntegralCurveAtts.termDistance = 10
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_08" )
    +
    +IntegralCurveAtts.termDistance = 5
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_09" )
    +
    +IntegralCurveAtts.terminateByDistance = 0
    +IntegralCurveAtts.maxSteps = 500
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_10" )
    +
    +IntegralCurveAtts.maxSteps = 250
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_streamlines_11" )
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_termination.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_termination.html new file mode 100644 index 000000000..a9a2ca745 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_termination.html @@ -0,0 +1,84 @@ + +Results for operators/ic_termination.py + +

    Results of VisIt Regression Test - operators/ic_termination

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ic_termination_010.000.00
    ic_termination_020.000.00
    ic_termination_030.000.00
    ic_termination_040.000.00
    ic_termination_050.000.00
    ic_termination_060.000.00
    ic_termination_070.000.00
    ic_termination_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_ic_termination_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_termination_py.html new file mode 100644 index 000000000..82ac40880 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_ic_termination_py.html @@ -0,0 +1,91 @@ +operators/ic_termination.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ic_termination.py
    +#
    +#  Tests:      operator      - integralcurve
    +#
    +#  Defect ID:  -
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       March 10, 2016
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +AddPlot("Pseudocolor", "operators/IntegralCurve/grad", 1, 0)
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.270729, 0.624198, 0.732859)
    +View3DAtts.focus = (0.496062, 0.99603, 0.496062)
    +View3DAtts.viewUp = (-0.0922782, 0.774611, -0.62567)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 12.1829
    +View3DAtts.nearPlane = -24.3658
    +View3DAtts.farPlane = 24.3658
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 1
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +SetView3D(View3DAtts)
    +
    +IntegralCurveAtts = IntegralCurveAttributes()
    +IntegralCurveAtts.sourceType = IntegralCurveAtts.SpecifiedPlane  # SpecifiedPoint, SpecifiedPointList, SpecifiedLine, SpecifiedCircle, SpecifiedPlane, SpecifiedSphere, SpecifiedBox
    +IntegralCurveAtts.terminateByTime = 1
    +IntegralCurveAtts.termTime = 200
    +IntegralCurveAtts.planeOrigin = (0.5, 1, 0.5)
    +IntegralCurveAtts.planeNormal = (0, 1, 0)
    +IntegralCurveAtts.planeUpAxis = (1, 0, 0)
    +IntegralCurveAtts.sampleDensity0 = 5
    +IntegralCurveAtts.sampleDensity1 = 5
    +IntegralCurveAtts.sampleDistance0 = 18
    +IntegralCurveAtts.sampleDistance1 = 18
    +IntegralCurveAtts.integrationDirection = IntegralCurveAtts.Both  # Forward, Backward, Both
    +IntegralCurveAtts.relTol = 1e-06
    +IntegralCurveAtts.absTolSizeType = IntegralCurveAtts.Absolute
    +IntegralCurveAtts.absTolAbsolute = 1e-07
    +IntegralCurveAtts.integrationType = IntegralCurveAtts.DormandPrince  # DormandPrince, AdamsBashforth, M3DC1Integrator
    +IntegralCurveAtts.maxProcessCount = 10
    +IntegralCurveAtts.maxDomainCacheSize = 3
    +IntegralCurveAtts.workGroupSize = 32
    +IntegralCurveAtts.dataValue = IntegralCurveAtts.TimeAbsolute
    +
    +# test defaults
    +SetOperatorOptions(IntegralCurveAtts)
    +DrawPlots()
    +Test( "ic_termination_01" )
    +
    +IntegralCurveAtts.termTime = 50
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_02" )
    +
    +IntegralCurveAtts.terminateByDistance = 1
    +IntegralCurveAtts.termDistance = 4
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_03" )
    +
    +IntegralCurveAtts.terminateByDistance = 1
    +IntegralCurveAtts.termDistance = 12
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_04" )
    +
    +IntegralCurveAtts.terminateByTime = 0
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_05" )
    +
    +IntegralCurveAtts.maxSteps = 40
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_06" )
    +
    +IntegralCurveAtts.termDistance = 25
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_07" )
    +
    +IntegralCurveAtts.maxSteps = 10000
    +SetOperatorOptions(IntegralCurveAtts)
    +Test( "ic_termination_08" )
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_indexselect.html b/2023-11-08-22:00/pascal_trunk_serial/operators_indexselect.html new file mode 100644 index 000000000..55bfd277c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_indexselect.html @@ -0,0 +1,273 @@ + +Results for operators/indexselect.py + +

    Results of VisIt Regression Test - operators/indexselect

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_indexselect010.000.00
    ops_indexselect020.000.00
    ops_indexselect030.000.00
    ops_indexselect040.000.00
    ops_indexselect050.000.00
    ops_indexselect060.000.00
    ops_indexselect070.000.00
    ops_indexselect080.000.00
    ops_indexselect090.000.00
    ops_indexselect100.000.00
    ops_indexselect110.000.00
    ops_indexselect120.000.00
    ops_indexselect130.000.00
    ops_indexselect140.000.00
    ops_indexselect150.000.00
    ops_indexselect160.000.00
    ops_indexselect170.000.00
    ops_indexselect180.000.00
    ops_indexselect190.000.00
    ops_indexselect200.000.00
    ops_indexselect210.000.00
    ops_indexselect220.000.00
    ops_indexselect230.000.00
    ops_indexselect240.000.00
    ops_indexselect250.000.00
    ops_indexselect260.000.00
    ops_indexselect270.000.00
    ops_indexselect280.000.00
    ops_indexselect290.000.00
    ops_indexselect300.000.00
    ops_indexselect310.000.00
    ops_indexselect320.000.00
    IndexSelect on Point meshes.
    ops_indexselect330.000.00
    ops_indexselect340.000.00
    ops_indexselect350.000.00
    ops_indexselect360.000.00
    ops_indexselect370.000.00
    ops_indexselect380.000.00
    ops_indexselect390.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_indexselect_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_indexselect_py.html new file mode 100644 index 000000000..ef87cbe59 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_indexselect_py.html @@ -0,0 +1,621 @@ +operators/indexselect.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  indexselect.py
    +#
    +#  Tests:      mesh      - 3D curvilinear, single domain,
    +#                          3D rectilinear, single domain.
    +#                          2D rectilinear, single domain.
    +#                          3D rectilinear, single domain.
    +#              plots     - pc, mesh, subset, vector, surface
    +#              operators - index select (with threshold and sphere slice)
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Hank Childs
    +#  Date:       October 2, 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Kathleen Bonnell, Wed Sep  3 09:31:25 PDT 2003
    +#    Opaque mode for MeshPlot is ON by default now, so turn it off
    +#    for this test.
    +#
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
    +#
    +#    Kathleen Bonnell, Wed Sep  8 11:29:10 PDT 2004 
    +#    Add two new tests, testing 'modulo' problems. ('3308).
    +#
    +#    Kathleen Bonnell, Wed Jul 20 13:32:44 PDT 2005 
    +#    Add two new tests, testing 'group' problems. ('6386).
    +#
    +#    Kathleen Bonnell, Wed Aug 10 10:13:56 PDT 2005 
    +#    Add tests 27-30 which tests extracting faces along maximum and minimum
    +#    boundaries of 3d data. ('6106).
    +#
    +#    Kathleen Bonnell, Fri Aug 19 15:45:46 PDT 2005 
    +#    Add tests 31-32 which tests domain boundaries w/i a group that coincide
    +#    with external boundaries of the index-selection. ('6428)  
    +#
    +#    Kathleen Bonnell, Mon Jan 30 16:40:30 PST 2006 
    +#    Add tests 33-38 which tests point meshes.
    +#
    +#    Kathleen Bonnell, Thu Jun  7 14:43:32 PDT 2007 
    +#    IndexSelect atts have changed, make corrections. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Wed Jan 11 13:57:00 PST 2012
    +#    Added test for Index Select of point meshes with Box operator applied.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +#    Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#    Changed Pseudocolor CurrentPlot to ActualData.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +atts = IndexSelectAttributes()
    +# Dim is an enumerated type.  0 -> 1D, 1 -> 2D, 2 -> 3D.
    +atts.dim = 2
    +atts.xMin = 5
    +atts.xMax = 23
    +atts.xIncr = 2
    +atts.yMin = 0
    +atts.yMax = 20
    +atts.yIncr = 1
    +atts.zMin = 10
    +atts.zMax = -1
    +atts.zIncr = 2
    +
    +# 3D, rectilinear, zonal var.
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +view = GetView3D()
    +view.viewNormal = (-0.5, 0.5, 0.7172)
    +SetView3D(view)
    +Test("ops_indexselect01")
    +DeleteAllPlots()
    +
    +# 3D, rectilinear, nodal var.
    +AddPlot("Pseudocolor", "u")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect02")
    +DeleteAllPlots()
    +
    +# 3D, rectilinear, mesh.
    +m = MeshAttributes()
    +m.opaqueMode = m.Off
    +SetDefaultPlotOptions(m)
    +AddPlot("Mesh", "quadmesh3d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect03")
    +DeleteAllPlots()
    +
    +# 3D, rectilinear, subset.
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("IndexSelect")
    +atts.xIncr = 1
    +atts.yIncr = 1
    +atts.zIncr = 1
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect04")
    +DeleteAllPlots()
    +
    +# 3D, rectilinear, after a threshold
    +AddPlot("Pseudocolor", "p")
    +a2 = ThresholdAttributes()
    +a2.listedVarNames = ("u")
    +a2.lowerBounds = (0.25)
    +a2.upperBounds = (1.0)
    +AddOperator("Threshold")
    +SetOperatorOptions(a2)
    +atts.zMin = 5
    +atts.zMax = 20
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect05")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +
    +# 3D, curvilinear, mesh plot
    +AddPlot("Mesh", "curvmesh3d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +view = GetView3D()
    +view.viewNormal = (-0.5, 0.5, 0.7172)
    +SetView3D(view)
    +Test("ops_indexselect06")
    +DeleteAllPlots()
    +
    +# 3D, curvilinear, PC plot
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect07")
    +DeleteAllPlots()
    +
    +# 3D, curvilinear, with sphere slice
    +AddPlot("Pseudocolor", "d")
    +AddOperator("SphereSlice")
    +a3 = SphereSliceAttributes()
    +a3.origin = (2.5, -0.5, 13)
    +a3.radius = 7
    +SetOperatorOptions(a3)
    +AddOperator("IndexSelect")
    +atts.xMin = 0
    +atts.xMax = -1
    +atts.yMin = 0
    +atts.yMax = -1
    +atts.zMin = 5
    +atts.zMax = 18
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect08")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +# 2D, rectilinear, mesh plot
    +AddPlot("Mesh", "quadmesh2d")
    +AddOperator("IndexSelect")
    +# Dim is an enumerated type.  0 -> 1D, 1 -> 2D, 2 -> 3D.
    +atts.dim = 1
    +atts.xMin = 5
    +atts.xMax = 25
    +atts.yMin = 5
    +atts.yMax = 30
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +Test("ops_indexselect09")
    +DeleteAllPlots()
    +
    +# 2D, rectilinear, PC plot
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect10")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +# 2D, curvilinear, mesh plot
    +AddPlot("Mesh", "curvmesh2d")
    +AddOperator("IndexSelect")
    +atts.yMax = 25
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +Test("ops_indexselect11")
    +DeleteAllPlots()
    +
    +# 2D, curv, PC plot
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect12")
    +DeleteAllPlots()
    +
    +# 2D, curv, with threshold.
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Threshold")
    +a2.listedVarNames = ("p")
    +a2.lowerBounds = (0.34)
    +a2.upperBounds = (0.5)
    +SetOperatorOptions(a2)
    +AddOperator("IndexSelect")
    +atts.xMin = 10
    +atts.xMax = -1
    +atts.yMin = 0
    +atts.yMin = -1
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect13")
    +DeleteAllPlots()
    +
    +# 2D, curv of vector
    +AddPlot("Vector", "vel")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_indexselect14")
    +DeleteAllPlots()
    +
    +# 2D surface of curvilinear
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +AddOperator("Elevate")
    +DrawPlots()
    +ResetView()
    +Test("ops_indexselect15")
    +DeleteAllPlots()
    +
    +# 3D multi-rect 
    +# test 'modulo' problems, bug: VisIt00003308
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +atts.dim = 2
    +atts.xMin = 0
    +atts.xMax = 1000
    +atts.yMin = 0
    +atts.yMax = 1000
    +atts.zMin = 0
    +atts.zMax = 1000
    +atts.xIncr = 3
    +atts.yIncr = 3
    +atts.zIncr = 3
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +Test("ops_indexselect16")
    +
    +atts.xMin = 1
    +atts.xMax = 8
    +atts.yMin = 1
    +atts.yMax = 8
    +atts.zMin = 1
    +atts.zMax = 8
    +atts.xIncr = 5
    +atts.yIncr = 5
    +atts.zIncr = 5
    +SetOperatorOptions(atts)
    +
    +Test("ops_indexselect17")
    +DeleteAllPlots()
    +
    +# bigsil 
    +# test 'domainIndex' problems, bug: VisIt00005559
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("Subset", "domains")
    +AddPlot("Mesh", "mesh")
    +AddOperator("IndexSelect")
    +atts.dim = atts.ThreeD
    +atts.xMin = 0
    +atts.xMax = 1000
    +atts.yMin = 0
    +atts.yMax = 1000
    +atts.zMin = 0
    +atts.zMax = 1000
    +atts.xIncr = 1
    +atts.yIncr = 1
    +atts.zIncr = 1
    +atts.useWholeCollection = 0
    +atts.categoryName = "domains"
    +atts.subsetName = "domain2"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +
    +v = GetView3D()
    +v.viewNormal = (0.653901, -0.39603, -0.64465)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.251385, -0.917378, 0.308584)
    +v.viewAngle = 30
    +v.parallelScale = 0.866025
    +v.nearPlane = -1.73205
    +v.farPlane = 1.73205
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("ops_indexselect18")
    +
    +# smallest domainIndex should be 1
    +atts.subsetName = "domain1"
    +SetOperatorOptions(atts)
    +Test("ops_indexselect19")
    +
    +atts.subsetName = "domain27"
    +SetOperatorOptions(atts)
    +Test("ops_indexselect20")
    +
    +DeleteAllPlots()
    +
    +#test whichData = OneGroup
    +AddPlot("Subset", "blocks")
    +s = SubsetAttributes()
    +s.wireframe = 1
    +s.lineWidth = 3
    +SetPlotOptions(s)
    +AddPlot("Mesh", "mesh")
    +AddPlot("Pseudocolor", "dist")
    +AddOperator("IndexSelect")
    +atts.dim = atts.ThreeD
    +atts.xMin = 1
    +atts.xMax = 2
    +atts.yMin = 1
    +atts.yMax = 2
    +atts.zMin = 0
    +atts.zMax = -1
    +atts.categoryName = "blocks"
    +atts.subsetName = "block0"
    +SetOperatorOptions(atts)
    +
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (0, 0, -1)
    +v.focus = (0.5, 0.5, 0.5)
    +v.parallelScale = 0.866025
    +v.viewUp = (0, 1, 0)
    +v.nearPlane = -1.73205
    +v.farPlane  = 1.73205
    +v.perspective = 0
    +SetView3D(v)
    +v.imageZoom = 5.39496
    +SetView3D(v)
    +v.imagePan = (-0.23029, 0.259159)
    +SetView3D(v)
    +Test("ops_indexselect21")
    +
    +atts.categoryName = "domains"
    +atts.subsetName = "domain1"
    +SetOperatorOptions(atts)
    +Test("ops_indexselect22")
    +
    +SetActivePlots(1)
    +DeleteActivePlots()
    +
    +SetActivePlots(1)
    +atts.categoryName = "blocks"
    +atts.subsetName = "block2"
    +atts.xMin = 0
    +atts.xMax = -1
    +atts.yMin = 5
    +atts.yMax = 19
    +atts.zMin = 7
    +atts.zMax = 8
    +SetOperatorOptions(atts)
    +ResetView()
    +Test("ops_indexselect23")
    +
    +TurnMaterialsOff(("1", "5", "8"))
    +Test("ops_indexselect24")
    +
    +TurnMaterialsOn()
    +TurnDomainsOff(("domain23"))
    +Test("ops_indexselect25")
    +
    +TurnMaterialsOff(("1", "5", "8"))
    +Test("ops_indexselect26")
    +
    +TurnMaterialsOn()
    +TurnDomainsOn()
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +# 3D, rectilinear, zonal var, index-selected at max/min boundaries.
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +atts.dim = atts.ThreeD
    +atts.xMin = 0
    +atts.xMax = -1 # maximum
    +atts.yMin = 40 # maximum boundary
    +atts.yMax = 40 # maximum boundary
    +atts.zMin = 0
    +atts.zMax = -1
    +atts.xIncr = 1
    +atts.yIncr = 1
    +atts.zIncr = 1
    +atts.useWholeCollection = 1
    +SetOperatorOptions(atts)
    +pc = PseudocolorAttributes()
    +pc.limitsMode = pc.ActualData
    +SetPlotOptions(pc)
    +DrawPlots()
    +ResetView()
    +view = GetView3D()
    +view.viewNormal = (0, 1, 0)
    +view.viewUp = (0, 0, -1)
    +view.perspective = 0
    +SetView3D(view)
    +Test("ops_indexselect27")
    +
    +atts.yMin = 0
    +atts.yMax = 0
    +SetOperatorOptions(atts)
    +Test("ops_indexselect28")
    +
    +DeleteAllPlots()
    +
    +
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +# 3D, curvilinear, zonal var, index-selected at max/min boundaries.
    +AddPlot("Pseudocolor", "p")
    +AddOperator("IndexSelect")
    +atts.dim = atts.ThreeD
    +atts.xMin = 30
    +atts.xMax = 30
    +atts.yMin = 0
    +atts.yMax = -1
    +atts.zMin = 0
    +atts.zMax = -1
    +atts.xIncr = 1
    +atts.yIncr = 1
    +atts.zIncr = 1
    +SetOperatorOptions(atts)
    +pc = PseudocolorAttributes()
    +pc.limitsMode = pc.ActualData
    +SetPlotOptions(pc)
    +DrawPlots()
    +ResetView()
    +view = GetView3D()
    +view.viewNormal = (0, 1, 0)
    +view.viewUp = (0, 0, -1)
    +view.perspective = 0
    +SetView3D(view)
    +Test("ops_indexselect29")
    +
    +atts.xMin = 0
    +atts.xMax = 0
    +SetOperatorOptions(atts)
    +Test("ops_indexselect30")
    +
    +DeleteAllPlots()
    +
    +#'6428, boundary between domains disappear when on edge of
    +# index-selected plot 
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("Pseudocolor", "dist")
    +atts.dim = atts.ThreeD
    +atts.xMin = 0
    +atts.xMax = -1 #max
    +atts.yMin = 8
    +atts.yMax = 17
    +atts.zMin = 0
    +atts.zMax = -1 #max
    +atts.xIncr = 1
    +atts.yIncr = 1
    +atts.zIncr = 1
    +atts.useWholeCollection = 0
    +atts.categoryName = "blocks"
    +# middle group for this dataset, has group boundaries and internal
    +# domain boundaries
    +atts.subsetName = "block1"
    +
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (0.437142, -0.719538, -0.539603)
    +v.viewUp = (-0.309012, -0.683599, 0.661214)
    +v.perspective = 0
    +SetView3D(v)
    +Test("ops_indexselect31")
    +
    +DeleteAllPlots()
    +
    +# Filled boundary takes different path through IndexSelect than
    +# does PC, so test it too. 
    +AddPlot("FilledBoundary", "mat")
    +AddOperator("IndexSelect")
    +SetOperatorOptions(atts)
    +DrawPlots()
    +SetView3D(v)
    +Test("ops_indexselect32")
    +DeleteAllPlots()
    +
    +
    +# Test point meshes
    +TestSection("IndexSelect on Point meshes.")
    +OpenDatabase(data_path("vtk_test_data/ugrid_points.vtk"))
    +
    +AddPlot("Pseudocolor", "u")
    +p = PseudocolorAttributes()
    +p.pointType = p.Box
    +p.pointSize = 0.2
    +SetPlotOptions(p)
    +DrawPlots()
    +
    +v = GetView2D()
    +v.windowCoords = (-0.4, 9.4, -0.4, 9.4)
    +SetView2D(v)
    +
    +Test("ops_indexselect33")
    +
    +AddOperator("IndexSelect")
    +isa = IndexSelectAttributes()
    +isa.dim = isa.OneD
    +isa.xMin = 60
    +isa.xMax = 70
    +isa.xIncr = 1
    +SetOperatorOptions(isa)
    +DrawPlots()
    +Test("ops_indexselect34")
    +
    +isa.xMin = 0
    +isa.xMax = -1
    +isa.xIncr = 2
    +SetOperatorOptions(isa)
    +
    +Test("ops_indexselect35")
    +
    +isa.xIncr = 3
    +SetOperatorOptions(isa)
    +Test("ops_indexselect36")
    +
    +isa.xMin = 4
    +isa.xMax = -1
    +isa.xIncr = 2
    +SetOperatorOptions(isa)
    +
    +Test("ops_indexselect37")
    +
    +isa.xMin = 10
    +isa.xMax = 89
    +isa.xIncr = 7
    +SetOperatorOptions(isa)
    +
    +Test("ops_indexselect38")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "PointVar")
    +AddOperator("IndexSelect")
    +# make sure we are using default atts
    +isa = IndexSelectAttributes()
    +SetOperatorOptions(isa)
    +box = BoxAttributes()
    +box.minx = -5
    +box.maxx = 5
    +box.miny = -5
    +box.maxy = 5
    +box.minz = -5
    +box.maxz = 5
    +AddOperator("Box")
    +SetOperatorOptions(box)
    +DrawPlots()
    +
    +Test("ops_indexselect39")
    +
    +DeleteAllPlots()
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_inverse_ghost_zone.html b/2023-11-08-22:00/pascal_trunk_serial/operators_inverse_ghost_zone.html new file mode 100644 index 000000000..c6fb09e7c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_inverse_ghost_zone.html @@ -0,0 +1,72 @@ + +Results for operators/inverse_ghost_zone.py + +

    Results of VisIt Regression Test - operators/inverse_ghost_zone

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_inverse_ghost_zone010.000.00
    ops_inverse_ghost_zone020.000.00
    ops_inverse_ghost_zone030.000.00
    ops_inverse_ghost_zone040.000.00
    ops_inverse_ghost_zone050.000.00
    ops_inverse_ghost_zone060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_inverse_ghost_zone_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_inverse_ghost_zone_py.html new file mode 100644 index 000000000..3a7eceda0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_inverse_ghost_zone_py.html @@ -0,0 +1,76 @@ +operators/inverse_ghost_zone.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  inverse_ghost_zone.py
    +#
    +#  Defect ID:  '6724
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 3, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Sun Jan  2 10:45:22 PST 2011
    +#    Add tests for new features.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +AddPlot("Pseudocolor", "dist")
    +# By default, we won't create ghost zones, because we don't need them
    +# for this case.  Do something that makes us need them.
    +pc = PseudocolorAttributes()
    +pc.centering = pc.Zonal
    +SetPlotOptions(pc)
    +AddOperator("InverseGhostZone")
    +DrawPlots()
    +Test("ops_inverse_ghost_zone01")
    +
    +sil = SILRestriction()
    +sil.TurnOffSet(1)
    +SetPlotSILRestriction(sil)
    +Test("ops_inverse_ghost_zone02")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("InverseGhostZone")
    +DrawPlots()
    +Test("ops_inverse_ghost_zone03")
    +
    +sil = SILRestriction()
    +sil.TurnOffSet(1)
    +SetPlotSILRestriction(sil)
    +Test("ops_inverse_ghost_zone04")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +AddPlot("Pseudocolor", "density")
    +AddOperator("InverseGhostZone")
    +i = InverseGhostZoneAttributes()
    +i.requestGhostZones = 1
    +i.showDuplicated = 1
    +i.showEnhancedConnectivity = 0
    +i.showReducedConnectivity = 0
    +i.showAMRRefined = 0
    +i.showExterior = 0
    +i.showNotApplicable = 0
    +SetOperatorOptions(i)
    +DrawPlots()
    +Test("ops_inverse_ghost_zone05")
    +
    +i.showDuplicated = 0
    +i.showAMRRefined = 1
    +SetOperatorOptions(i)
    +Test("ops_inverse_ghost_zone06")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_isovolume.html b/2023-11-08-22:00/pascal_trunk_serial/operators_isovolume.html new file mode 100644 index 000000000..8a1492e52 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_isovolume.html @@ -0,0 +1,78 @@ + +Results for operators/isovolume.py + +

    Results of VisIt Regression Test - operators/isovolume

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_isovol010.000.00
    ops_isovol020.000.00
    ops_isovol030.000.00
    ops_isovol040.000.00
    ops_isovol050.000.00
    ops_isovol060.000.00
    ops_isovol070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_isovolume_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_isovolume_py.html new file mode 100644 index 000000000..df29283b4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_isovolume_py.html @@ -0,0 +1,160 @@ +operators/isovolume.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  isovolume.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain,
    +#                          3D rectilinear, multiple domain,
    +#                          2D curvilinear, multiple domain
    +#              plots     - pc, mesh, filledboundary, contour
    +#              operators - isovolume
    +#              selection - none
    +#
    +#  Defect ID:  '5640
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 27, 2004
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Nov 17 15:38:37 PST 2004
    +#    Added test for isovolumes of poly-data where the poly-data is totally
    +#    within the data range. ['5640]
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetParallelScale(17.3205)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +#
    +# Normal PC isovolume for globe.
    +#
    +isovol = IsovolumeAttributes()
    +
    +isovol.lbound = -4
    +isovol.ubound =  4
    +SetDefaultOperatorOptions(isovol)
    +AddOperator("Isovolume")
    +DrawPlots()
    +Test("ops_isovol01")
    +
    +
    +#
    +# Normal PC plot of globe, isovolumeing by a different variable than what we
    +# are coloring by.
    +#
    +RemoveAllOperators()
    +isovol.lbound = 140
    +isovol.ubound = 340
    +isovol.variable = "t"
    +SetDefaultOperatorOptions(isovol)
    +AddOperator("Isovolume")
    +DrawPlots()
    +Test("ops_isovol02")
    +
    +DeleteAllPlots()
    +
    +#
    +# Contour lines by one variable, isovolumeing by another.  Multi-block,
    +# curvilinear, 2D.
    +#
    +OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +isovol.lbound = 0.7
    +isovol.ubound = 0.9
    +isovol.variable = "v"
    +SetDefaultOperatorOptions(isovol)
    +AddOperator("Isovolume")
    +DrawPlots()
    +
    +Test("ops_isovol03")
    +
    +DeleteAllPlots()
    +
    +#
    +# Material plot, isovolumeed by a scalar variable.  Multi-block,
    +# curvilinear, 2D.
    +#
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +
    +isovol.lbound = -0.4
    +isovol.ubound = 1.0
    +isovol.variable = "u"
    +SetDefaultOperatorOptions(isovol)
    +AddOperator("Isovolume")
    +DrawPlots()
    +
    +Test("ops_isovol04")
    +
    +DeleteAllPlots()
    +
    +#
    +# Mesh plot and PC plot, both isovolumeed by the same variable, criteria.
    +# Multi-block, rectilinear, 3D.
    +#
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +
    +isovol.lbound = 0.4
    +isovol.ubound = 1.0
    +isovol.variable = "u"
    +SetDefaultOperatorOptions(isovol)
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Isovolume")
    +AddPlot("Mesh", "mesh1")
    +AddOperator("Isovolume")
    +DrawPlots()
    +
    +Test("ops_isovol05")
    +
    +#
    +# Test that we can slice poly-data correctly.
    +#
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +isovol.lbound = -1.0
    +isovol.ubound = 1.0
    +isovol.variable = "default"
    +SetDefaultOperatorOptions(isovol)
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +AddOperator("Isovolume")
    +DrawPlots()
    +
    +Test("ops_isovol06")
    +
    +isovol.lbound = 0.5
    +SetOperatorOptions(isovol)
    +Test("ops_isovol07")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_lcs.html b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs.html new file mode 100644 index 000000000..60ce4794f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs.html @@ -0,0 +1,147 @@ + +Results for operators/lcs.py + +

    Results of VisIt Regression Test - operators/lcs

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Basic FTLE function
    Testing database = ftle_double_gyre_1_domain.pics
    Testing sample source = RegularGrid
    Testing auxiliary grid = NoAuxGrid
    lcs_ftle_double_gyre_1_domain_RegularGrid_NoAuxGrid0.000.00
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_RegularGrid_2DAuxGrid0.000.00
    Testing sample source = NativeMesh
    Testing auxiliary grid = NoAuxGrid
    lcs_ftle_double_gyre_1_domain_NativeMesh_NoAuxGrid0.000.00
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_NativeMesh_2DAuxGrid0.000.00
    Testing database = ftle_double_gyre_2_domains.pics
    Testing sample source = RegularGrid
    Testing auxiliary grid = NoAuxGrid
    lcs_ftle_double_gyre_2_domains_RegularGrid_NoAuxGrid0.000.00
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_2_domains_RegularGrid_2DAuxGrid0.000.00
    Testing sample source = NativeMesh
    Testing auxiliary grid = NoAuxGrid
    lcs_ftle_double_gyre_2_domains_NativeMesh_NoAuxGrid0.000.00
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid0.000.00
    lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_Smallest0.000.00
    lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_Left0.000.00
    lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_EigenValue0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_1.html b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_1.html new file mode 100644 index 000000000..86da5164f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_1.html @@ -0,0 +1,66 @@ + +Results for operators/lcs_ic_1.py + +

    Results of VisIt Regression Test - operators/lcs_ic_1

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Basic FTLE function with IntegralCurve operator
    Testing database = ftle_double_gyre_1_domain.pics
    Testing sample source = RegularGrid
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_RegularGrid_2DAuxGrid_IntegralCurve0.000.00
    Testing sample source = NativeMesh
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_NativeMesh_2DAuxGrid_IntegralCurve0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_1_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_1_py.html new file mode 100644 index 000000000..7825b97b8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_1_py.html @@ -0,0 +1,17 @@ +operators/lcs_ic_1.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lcs_ic_1.py
    +#
    +#  Tests:      operator   - LCS, IntegralCurve
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       August 25, 2015
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("operators", "lcs_operator_main"))
    +
    +LCS_operator("IntegralCurve", "ftle_double_gyre_1_domain")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_2.html b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_2.html new file mode 100644 index 000000000..cb528c83d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_2.html @@ -0,0 +1,66 @@ + +Results for operators/lcs_ic_2.py + +

    Results of VisIt Regression Test - operators/lcs_ic_2

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Basic FTLE function with IntegralCurve operator
    Testing database = ftle_double_gyre_2_domains.pics
    Testing sample source = RegularGrid
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_2_domains_RegularGrid_2DAuxGrid_IntegralCurve0.000.00
    Testing sample source = NativeMesh
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_IntegralCurve0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_2_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_2_py.html new file mode 100644 index 000000000..6d19a3c24 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_ic_2_py.html @@ -0,0 +1,17 @@ +operators/lcs_ic_2.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lcs_ic_2.py
    +#
    +#  Tests:      operator   - LCS
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       August 25, 2015
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("operators", "lcs_operator_main"))
    +
    +LCS_operator("IntegralCurve", "ftle_double_gyre_2_domains")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_1.html b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_1.html new file mode 100644 index 000000000..500676b44 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_1.html @@ -0,0 +1,66 @@ + +Results for operators/lcs_lc_1.py + +

    Results of VisIt Regression Test - operators/lcs_lc_1

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Basic FTLE function with LimitCycle operator
    Testing database = ftle_double_gyre_1_domain.pics
    Testing sample source = RegularGrid
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_RegularGrid_2DAuxGrid_LimitCycle0.000.00
    Testing sample source = NativeMesh
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_1_domain_NativeMesh_2DAuxGrid_LimitCycle0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_1_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_1_py.html new file mode 100644 index 000000000..cfca817fc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_1_py.html @@ -0,0 +1,17 @@ +operators/lcs_lc_1.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lcs_lc_1.py
    +#
    +#  Tests:      operator   - LCS
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       August 25, 2015
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("operators", "lcs_operator_main"))
    +
    +LCS_operator("LimitCycle", "ftle_double_gyre_1_domain")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_2.html b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_2.html new file mode 100644 index 000000000..312337ebc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_2.html @@ -0,0 +1,66 @@ + +Results for operators/lcs_lc_2.py + +

    Results of VisIt Regression Test - operators/lcs_lc_2

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Basic FTLE function with LimitCycle operator
    Testing database = ftle_double_gyre_2_domains.pics
    Testing sample source = RegularGrid
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_2_domains_RegularGrid_2DAuxGrid_LimitCycle0.000.00
    Testing sample source = NativeMesh
    Testing auxiliary grid = 2DAuxGrid
    lcs_ftle_double_gyre_2_domains_NativeMesh_2DAuxGrid_LimitCycle0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_2_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_2_py.html new file mode 100644 index 000000000..509e97ac6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_lc_2_py.html @@ -0,0 +1,17 @@ +operators/lcs_lc_2.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lcs_lc_2.py
    +#
    +#  Tests:      operator   - LCS
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       August 25, 2015
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("operators", "lcs_operator_main"))
    +
    +LCS_operator("LimitCycle", "ftle_double_gyre_2_domains")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_py.html new file mode 100644 index 000000000..14f9317b4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_lcs_py.html @@ -0,0 +1,182 @@ +operators/lcs.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  LCS.py
    +#
    +#  Tests:      operator   - LCS
    +#
    +#  Programmer: Allen Sanderson
    +#  Date:       August 25, 2015
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Thur Sep 17, 2020
    +#    Shorten name used for 'Testing database' TestSection. Turn of warnings.
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin("PICS_Tester")
    +
    +#-vargs="-debug 5"
    +
    +# For testing using the CLI
    +
    +#def data_path( db_name ):
    +#  db="/Projects/VisIt/trunk/build/data/%s" %(db_name)
    +#  return db
    +
    +#def Test(case_name):
    +#   swatts = SaveWindowAttributes()
    +#   swatts.family = 0
    +#   swatts.fileName = "/Projects/tmp/lcs/ser/%s" %(case_name)
    +#   SetSaveWindowAttributes(swatts)
    +#   SaveWindow()
    +#   return
    +
    +#def TestSection(tmpstr):
    +#   return
    +
    +#def Exit():
    +#   return   
    +
    +
    +# Open the database here and add a plot as for some reason it fails
    +# within a loop. It only happens with all-in-one plots with an operator
    +# such as with "Pseudocolor" and "operators/LCS/velocity"
    +db=data_path("pics_test_data/ftle_double_gyre_1_domain.pics")
    +OpenDatabase(db)
    +AddPlot("Pseudocolor", "operators/LCS/velocity")
    +
    +
    +LCSAtts = LCSAttributes()
    +LCSAtts.Resolution = (101, 51, 1)
    +LCSAtts.integrationDirection = LCSAtts.Forward
    +LCSAtts.auxiliaryGridSpacing = 0.005
    +LCSAtts.maxSteps = 1000000
    +LCSAtts.operationType = LCSAtts.Lyapunov
    +LCSAtts.cauchyGreenTensor = LCSAtts.Right
    +LCSAtts.eigenComponent = LCSAtts.Largest
    +LCSAtts.operatorType = LCSAtts.BaseValue
    +LCSAtts.terminationType = LCSAtts.Time
    +LCSAtts.terminateByTime = 1
    +LCSAtts.termTime = 4
    +LCSAtts.maxStepLength = 0.001
    +LCSAtts.integrationType = LCSAtts.AdamsBashforth
    +LCSAtts.parallelizationAlgorithmType = LCSAtts.ParallelStaticDomains
    +LCSAtts.pathlines = 1
    +LCSAtts.pathlinesCMFE = LCSAtts.CONN_CMFE
    +LCSAtts.issueAdvectionWarnings = 0
    +LCSAtts.issueBoundaryWarnings = 0
    +LCSAtts.issueTerminationWarnings = 0
    +LCSAtts.issueStepsizeWarnings = 0
    +LCSAtts.issueStiffnessWarnings = 0
    +LCSAtts.issueCriticalPointsWarnings = 0
    +
    +SetOperatorOptions(LCSAtts, 0)
    +
    +
    +databases=["ftle_double_gyre_1_domain", "ftle_double_gyre_2_domains"]
    +
    +src_type=[LCSAtts.RegularGrid, LCSAtts.NativeMesh]
    +src_type_str=["RegularGrid", "NativeMesh"]
    +
    +aux_grid=[LCSAtts.NONE, LCSAtts.TwoDim]
    +aux_grid_str=["NoAuxGrid", "2DAuxGrid"]
    +
    +TestSection("Basic FTLE function")
    +for i in range(len(databases)):
    +  db=data_path("pics_test_data/%s.pics") %(databases[i])
    +  tmpstr="Testing database = %s.pics" %(databases[i])
    +  TestSection(tmpstr)
    +  OpenDatabase(db)
    +  # Replace the database from before with this one as a new plot can
    +  # not be opened within the loop when using runtest. This issue is a
    +  # bug.
    +  ReplaceDatabase(db)
    +  #  DeleteAllPlots()
    +  #  AddPlot("Pseudocolor", "operators/LCS/velocity")
    +  for j in range(len(src_type)):
    +     tmpstr="Testing sample source = %s" %(src_type_str[j])
    +     TestSection(tmpstr)
    +     LCSAtts.sourceType = src_type[j]  # NativeMesh, RegularGrid
    +     for k in range(len(aux_grid)):
    +        tmpstr="Testing auxiliary grid = %s" %(aux_grid_str[k])
    +        TestSection(tmpstr)
    +        LCSAtts.auxiliaryGrid = aux_grid[k]  # None, TwoDim
    +        SetOperatorOptions(LCSAtts, 0)
    +        DrawPlots()
    +        tmpstr="lcs_%s_%s_%s" %(databases[i], src_type_str[j], aux_grid_str[k])
    +        Test(tmpstr)
    +
    +
    +
    +# FTLE with smallest exponent
    +LCSAtts.eigenComponent = LCSAtts.Smallest  # Smallest, Intermediate, Largest, PosShearVector, NegShearVector, PosLambdaShearVector, NegLambdaShearVector
    +SetOperatorOptions(LCSAtts, 0)
    +DrawPlots()
    +tmpstr="lcs_%s_%s_%s_Smallest" %(databases[i], src_type_str[j], aux_grid_str[k])
    +Test(tmpstr)
    +
    +
    +
    +# FTLE with left Cauchy Green Tensor
    +LCSAtts.cauchyGreenTensor = LCSAtts.Left  # Left, Right
    +LCSAtts.eigenComponent = LCSAtts.Largest  # Smallest, Intermediate, Largest, PosShearVector, NegShearVector, PosLambdaShearVector, NegLambdaShearVector
    +SetOperatorOptions(LCSAtts, 0)
    +DrawPlots()
    +tmpstr="lcs_%s_%s_%s_Left" %(databases[i], src_type_str[j], aux_grid_str[k])
    +Test(tmpstr)
    +
    +
    +
    +# FTLE with eigen value
    +LCSAtts.operationType = LCSAtts.EigenValue  # IntegrationTime, ArcLength, AverageDistanceFromSeed, EigenValue, EigenVector, Lyapunov
    +LCSAtts.cauchyGreenTensor = LCSAtts.Right  # Left, Right
    +LCSAtts.eigenComponent = LCSAtts.Largest  # Smallest, Intermediate, Largest, PosShearVector, NegShearVector, PosLambdaShearVector, NegLambdaShearVector
    +SetOperatorOptions(LCSAtts, 0)
    +DrawPlots()
    +tmpstr="lcs_%s_%s_%s_EigenValue" %(databases[i], src_type_str[j], aux_grid_str[k])
    +Test(tmpstr)
    +
    +
    +Exit()
    +
    +
    +# 1 processor:
    +
    +#wo/aux grid
    +
    +# Native 1  -0.04343 - 1.066   190 zeros # Match
    +# Rect   1  -0.04343 - 1.066   190 zeros #
    +
    +# Native 2  -0.04343 - 1.066   193 zeros # Match
    +# Rect   2  -0.04343 - 1.233   190 zeros # Match with ghost cells but for a few cells.
    +
    +# Errors in the domain boundary gradients 
    +
    +
    +#w/aux grid
    +
    +# Native 1  0.004539 - 1.396   304 exited / 680 zeros # Match
    +# Rect   1  0.004539 - 1.396   304 exited / 680 zeros # 
    +
    +# Native 2  0.004539 - 1.396   308 exited / 690 zeros # Match
    +# Rect   2  0.004539 - 1.396   304 exited / 680 zeros #
    +
    +
    +# 4 processors:
    +
    +#wo/aux grid
    +
    +# Native 1  -0.04343 - 1.066   190 zeros # Match
    +# Rect   1  -0.04343 - 1.066   190 zeros #
    +
    +# Native 2  -0.04343 - 1.066   193 zeros # Match
    +# Rect   2  -0.04343 - 1.233   190 zeros # Match with ghost cells but for a few cells.
    +
    +#w/aux grid
    +
    +# Native 1  0.004539 - 1.396   304 exited / 680 zeros # Match
    +# Rect   1  0.004539 - 1.396   304 exited / 680 zeros # 
    +
    +# Native 2  0.004539 - 1.396   308 exited / 690 zeros # Match
    +# Rect   2  0.004539 - 1.396   304 exited / 680 zeros #
    +
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_moveoperators.html b/2023-11-08-22:00/pascal_trunk_serial/operators_moveoperators.html new file mode 100644 index 000000000..6d6af896d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_moveoperators.html @@ -0,0 +1,114 @@ + +Results for operators/moveoperators.py + +

    Results of VisIt Regression Test - operators/moveoperators

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    moveoperator_00.000.00
    moveoperator_10.000.00
    moveoperator_20.000.00
    moveoperator_30.000.00
    moveoperator_40.000.00
    moveoperator_50.000.00
    moveoperator_60.000.00
    moveoperator_70.000.00
    moveoperator_80.000.00
    moveoperator_90.000.00
    moveoperator_100.000.00
    moveoperator_110.000.00
    moveoperator_120.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_moveoperators_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_moveoperators_py.html new file mode 100644 index 000000000..924e7f9dc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_moveoperators_py.html @@ -0,0 +1,226 @@ +operators/moveoperators.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  moveoperators.py
    +#
    +#  Tests:      plots     - Pseudocolor, Mesh, FilledBoundary
    +#              operators - Erase, Isosurface, Reflect, Slice, Transform
    +#
    +#  Defect ID:  '1837
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Apr 17 16:45:46 PST 2003
    +#
    +#  Modifications:
    +#    Eric Brugger, Thu May  8 12:57:56 PDT 2003
    +#    Remove a call to ToggleAutoCenterMode since it no longer exists.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Kathleen Bonnell, Wed Mar 17 07:33:40 PST 2004 
    +#    Set default Slice atts, as these have changed. 
    +#
    +#    Kathleen Bonnell, Wed May  5 08:13:22 PDT 2004 
    +#    Modified Slice atts to get same picture as defaults have changed. 
    +#
    +#    Brad Whitlock, Tue Jan 17 12:14:21 PDT 2006
    +#    Added runTest4.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 11 08:18:42 PDT 2013
    +#    Removed legacy sytle annotation setting.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def InitAnnotation():
    +    # Turn off all annotation except for the bounding box.
    +    a = AnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +    a.axes2D.visible = 1
    +    a.axes2D.xAxis.label.visible = 0
    +    a.axes2D.yAxis.label.visible = 0
    +    a.axes2D.xAxis.title.visible = 0
    +    a.axes2D.yAxis.title.visible = 0
    +    a.axes3D.bboxFlag = 1
    +    SetAnnotationAttributes(a)
    +
    +def InitDefaults():
    +    # Set the default reflect operator attributes.
    +    reflect = ReflectAttributes()
    +    reflect.SetReflections(1, 1, 0, 0, 0, 0, 0, 0)
    +    SetDefaultOperatorOptions(reflect)
    +    slice = SliceAttributes()
    +    slice.project2d = 0
    +    slice.SetAxisType(slice.XAxis)
    +    slice.SetFlip(1)
    +    SetDefaultOperatorOptions(slice)
    +
    +def setTheFirstView():
    +    # Set the view
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.695118, 0.351385, 0.627168)
    +    v.focus = (-10, 0, 0)
    +    v.viewUp = (0.22962, 0.935229, -0.269484)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -70
    +    v.farPlane = 70
    +    v.perspective = 1
    +    SetView3D(v)
    +
    +#
    +# Test operator promotion, demotion, and removal.
    +#
    +def runTest1():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +
    +    # Set up a plot with a few operators.
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    AddOperator("Isosurface")
    +    AddOperator("Slice")
    +    AddOperator("Reflect")
    +    DrawPlots()
    +    setTheFirstView()
    +
    +    # Take a picture of the initial setup.
    +    Test("moveoperator_0")
    +
    +    # Move the reflect so that it is before the slice in the pipeline.
    +    # The pipeline will be: Isosurface, Reflect, Slice
    +    DemoteOperator(2)
    +    DrawPlots()
    +    Test("moveoperator_1")
    +
    +    # Move the reflect operator back so that the pipeline matches the
    +    # initial configuration: Isosurface, Slice, Reflect
    +    PromoteOperator(1)
    +    DrawPlots()
    +    Test("moveoperator_2")
    +
    +    # Remove the slice operator from the middle, resulting in:
    +    # Isosurface, Reflect
    +    RemoveOperator(1)
    +    DrawPlots()
    +    Test("moveoperator_3")
    +
    +    # Remove the Isosurface operator, resulting in: Reflect
    +    RemoveOperator(0)
    +    DrawPlots()
    +    Test("moveoperator_4")
    +
    +    # Remove the Reflect operator
    +    RemoveOperator(0)
    +    DrawPlots()
    +    Test("moveoperator_5")
    +
    +    DeleteAllPlots()
    +
    +#
    +# Test removing an operator from more than one plot at the same time.
    +#
    +def runTest2():
    +    all = 1
    +    # Set up a couple plots of globe
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    AddPlot("Mesh", "mesh1")
    +    # Add a reflect operator to both plots.
    +    AddOperator("Reflect", all)
    +    DrawPlots()
    +    Test("moveoperator_6")
    +
    +    # Remove the operator from both plots.
    +    RemoveOperator(0, all)
    +    DrawPlots()
    +    Test("moveoperator_7")
    +    DeleteAllPlots()
    +
    +#
    +# Test setting attributes for multiple operators of the same type.
    +#
    +def runTest3():
    +    # Set up a couple plots of globe
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    pc = PseudocolorAttributes()
    +    pc.SetOpacityType(pc.Constant)
    +    pc.opacity = 0.2
    +    SetPlotOptions(pc)
    +    AddPlot("FilledBoundary", "mat1")
    +
    +    # The subset plot is the active plot, add a couple transform
    +    # operators to it.
    +    AddOperator("Transform")
    +    AddOperator("Transform")
    +
    +    # Set the attributes for the *first* transform operator.
    +    # This results in a full size globe translated up in Y.
    +    t0 = TransformAttributes()
    +    t0.doTranslate = 1
    +    t0.translateY = 15
    +    SetOperatorOptions(t0, 0)
    +    DrawPlots()
    +    Test("moveoperator_8")
    +
    +    # Set the attributes for the *second* transform operator.
    +    # The plot has been translated, now scale it. Since it has already
    +    # been translated, this will also translate it a little in Y.
    +    t1 = TransformAttributes()
    +    t1.doScale = 1
    +    t1.scaleX = 0.5
    +    t1.scaleY = 0.5
    +    t1.scaleZ = 0.5
    +    SetOperatorOptions(t1, 1)
    +    Test("moveoperator_9")
    +
    +    # Demote the last operator to reverse the order of the transformations.
    +    DemoteOperator(1)
    +    # Make the pc plot opaque again
    +    SetActivePlots(0)
    +    pc.SetOpacityType(pc.FullyOpaque)
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    Test("moveoperator_10")
    +
    +    DeleteAllPlots()
    +
    +#
    +# Test that removing an operator using the RemoveOperator(i) method causes
    +# the vis window to get redrawn.
    +#
    +def runTest4():
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Isosurface")
    +    DrawPlots()
    +    Test("moveoperator_11")
    +
    +    RemoveOperator(0)
    +    Test("moveoperator_12")
    +    DeleteAllPlots()
    +
    +#
    +# Set up the environment and run all of the tests.
    +#
    +def runTests():
    +    InitAnnotation()
    +    InitDefaults()
    +    runTest1()
    +    runTest2()
    +    runTest3()
    +    runTest4()
    +
    +# Run the tests.
    +runTests()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_multires.html b/2023-11-08-22:00/pascal_trunk_serial/operators_multires.html new file mode 100644 index 000000000..e124672ad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_multires.html @@ -0,0 +1,48 @@ + +Results for operators/multires.py + +

    Results of VisIt Regression Test - operators/multires

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    multires_00.000.00
    multires_10.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_multires_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_multires_py.html new file mode 100644 index 000000000..9e2df5bd6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_multires_py.html @@ -0,0 +1,34 @@ +operators/multires.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multires.py
    +#
    +#  Programmer: Tom Fogal
    +#  Date:       August 6, 2010
    +#
    +# ----------------------------------------------------------------------------
    +
    +ds = data_path("Chombo_test_data/chombo.visit")
    +OpenDatabase(ds)
    +
    +AddPlot("Pseudocolor", "Scalar_1")
    +AddOperator("MultiresControl")
    +
    +att = MultiresControlAttributes()
    +att.resolution = 0
    +SetOperatorOptions(att)
    +
    +DrawPlots()
    +Test("multires_0")
    +
    +att.resolution = 1
    +SetOperatorOptions(att)
    +DrawPlots()
    +Test("multires_1")
    +
    +DeleteAllPlots()
    +
    +CloseDatabase(ds)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_onionpeel.html b/2023-11-08-22:00/pascal_trunk_serial/operators_onionpeel.html new file mode 100644 index 000000000..979685d0f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_onionpeel.html @@ -0,0 +1,486 @@ + +Results for operators/onionpeel.py + +

    Results of VisIt Regression Test - operators/onionpeel

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_onionpeel_010.000.00
    ops_onionpeel_020.000.00
    ops_onionpeel_030.000.00
    ops_onionpeel_040.000.00
    ops_onionpeel_050.000.00
    ops_onionpeel_060.000.00
    ops_onionpeel_070.000.00
    ops_onionpeel_080.000.00
    ops_onionpeel_090.000.00
    ops_onionpeel_100.000.00
    ops_onionpeel_110.000.00
    ops_onionpeel_120.000.00
    ops_onionpeel_130.000.00
    ops_onionpeel_140.000.00
    ops_onionpeel_150.000.00
    ops_onionpeel_160.000.00
    ops_onionpeel_170.000.00
    ops_onionpeel_180.000.00
    ops_onionpeel_190.000.00
    ops_onionpeel_200.000.00
    ops_onionpeel_210.000.00
    ops_onionpeel_220.000.00
    ops_onionpeel_230.000.00
    ops_onionpeel_240.000.00
    ops_onionpeel_250.000.00
    ops_onionpeel_260.000.00
    Arbitrary Polyhedra, honor original mesh
    poly_originalMesh_000.000.00
    poly_originalMesh_010.000.00
    poly_originalMesh_020.000.00
    poly_originalMesh_030.000.00
    poly_originalMesh_040.000.00
    poly_originalMesh_050.000.00
    poly_originalMesh_060.000.00
    poly_originalMesh_070.000.00
    poly_originalMesh_080.000.00
    poly_originalMesh_090.000.00
    poly_originalMesh_100.000.00
    Arbitrary Polyhedra, honor actual mesh
    poly_actualMesh000.000.00
    poly_actualMesh010.000.00
    poly_actualMesh020.000.00
    poly_actualMesh030.000.00
    poly_actualMesh040.000.00
    poly_actualMesh050.000.00
    poly_actualMesh060.000.00
    poly_actualMesh070.000.00
    poly_actualMesh080.000.00
    poly_actualMesh090.000.00
    poly_actualMesh100.000.00
    poly_actualMesh110.000.00
    poly_actualMesh120.000.00
    poly_actualMesh130.000.00
    poly_actualMesh140.000.00
    poly_actualMesh150.000.00
    poly_actualMesh160.000.00
    poly_actualMesh170.000.00
    poly_actualMesh180.000.00
    poly_actualMesh190.000.00
    poly_actualMesh200.000.00
    poly_actualMesh210.000.00
    poly_actualMesh220.000.00
    poly_actualMesh230.000.00
    poly_actualMesh240.000.00
    poly_actualMesh250.000.00
    poly_actualMesh260.000.00
    bigsil_mesh_010.000.00
    bigsil_mesh_020.000.00
    bigsil_mesh_030.000.00
    bigsil_mesh_040.000.00
    amr_3d_010.000.00
    amr_3d_020.000.00
    amr_3d_030.000.00
    amr_3d_040.000.00
    amr_2d_010.000.00
    amr_2d_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_onionpeel_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_onionpeel_py.html new file mode 100644 index 000000000..7b7c48ca7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_onionpeel_py.html @@ -0,0 +1,643 @@ +operators/onionpeel.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  onionpeel.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, mulitple domain, mulitple groups
    +#              plots     - subset
    +#              operators - onionpeel
    +#              selection - none
    +#
    +#  Defect ID:  
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       December 23, 2003 
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Feb 26 15:31:31 PST 2004
    +#    Added TestUCD.
    +#
    +#    Kathleen Bonnell, Wed Dec 15 15:24:50 PST 2004 
    +#    Added TestGlobalZoneId.
    +#
    +#    Kathleen Bonnell, Tue Jan 18 19:34:41 PST 2005 
    +#    Added TestMatSelect.
    +#
    +#    Kathleen Bonnell, Wed Jan 19 15:45:38 PST 2005 
    +#    Added TestNodeId.
    +#
    +#    Kathleen Bonnell, Tue Jun 14 11:33:39 PDT 2005 
    +#    Added TestFilledBoundary.
    +#
    +#    Kathleen Bonnell, Thu Jul 21 09:09:26 PDT 2005 
    +#    Modified indices used in TestBigSil, to match corrsponding changes
    +#    to bigsil.silo. 
    +#
    +#    Kathleen Bonnell, Fri Aug 19 16:23:45 PDT 2005 
    +#    Modified indices used in TestBigSil, more changes to bigsil.silo. 
    +#
    +#    Kathleen Bonnell, Thu Sep 22 11:59:42 PDT 2005 
    +#    Added TestBoundary. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Fri Jul 25 15:10:11 MST 2014
    +#    Added ArbPoly test, which demonstrates use of new att: honorOriginalMesh.
    +#
    +#    Kathleen Biagas, Mon Mar 23 17:25:07 PDT 2015
    +#    Modified AMR test to include the default Subset plot, now that it
    +#    is fixed.
    +#
    +#    Kathleen Biagas, Tue Nov 29 10:40:50 PST 2022
    +#    Change use of obosolete text settings to new textFont settings.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestBigSil():
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +
    +    AddPlot("Subset", "domains")
    +    AddPlot("Subset", "blocks")
    +    s = SubsetAttributes()
    +    s.legendFlag = 0
    +    s.wireframe = 1
    +    s.colorType = s.ColorBySingleColor
    +    s.singleColor = (100,100,100,255)
    +    SetPlotOptions(s)
    +
    +    SetActivePlots(0)
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.categoryName = "blocks"
    +    op.subsetName = "block0"
    +    op.index = (4, 11, 5)
    +    op.logical = 1
    +    op.adjacencyType = op.Face
    +    op.requestedLayer = 3
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +
    +    Test("ops_onionpeel_01")
    +
    +    op.subsetName = "block1"
    +    op.index = (18, 4, 5)
    +    SetOperatorOptions(op)
    +
    +    Test("ops_onionpeel_02")
    +
    +    op.subsetName = "block2"
    +    op.index = (11, 18, 5)
    +    SetOperatorOptions(op)
    +
    +    Test("ops_onionpeel_03")
    +
    +    DeleteAllPlots()
    +
    +def TestUCD():
    +    # This is to test that onion peel will work (by default)
    +    # on the first "On" set -- in this case "domain4".
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    domains = ("domain4", "domain5", "domain6")
    +    TurnDomainsOff()
    +    TurnDomainsOn(domains)
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("actual")
    +    AddOperator("OnionPeel")
    +    DrawPlots()
    +    Test("ops_onionpeel_04")
    +
    +    DeleteAllPlots()
    +
    +def TestGlobalZoneId():
    +    # This is to test that onion peel will work when 
    +    # a global cell number is specified. 
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +
    +    TurnDomainsOn()
    +    AddPlot("Subset", "domains")
    +    s = SubsetAttributes()
    +    s.legendFlag = 0
    +    s.wireframe = 1
    +    s.colorType = s.ColorBySingleColor
    +    s.singleColor = (100,100,100,255)
    +    SetPlotOptions(s)
    +    AddPlot("Pseudocolor", "dist")
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.categoryName = "domains"
    +    op.subsetName = "domain5"
    +    op.index = 372
    +    op.logical = 0
    +    op.adjacencyType = op.Face
    +    op.requestedLayer = 7
    +    SetOperatorOptions(op)
    +
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("original")
    +
    +    Test("ops_onionpeel_05")
    +
    +    #only change is to specify that seed cell is global
    +    op.useGlobalId = 1
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_06")
    +
    +    DeleteAllPlots()
    +
    +def TestMatSelect():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("FilledBoundary", "mat1")
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.index = 8
    +    op.requestedLayer = 5
    +    op.adjacencyType = op.Face
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    SetViewExtentsType("actual")
    +    Test("ops_onionpeel_07")
    +
    +    TurnMaterialsOff("1")
    +    Test("ops_onionpeel_08")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    TurnMaterialsOff("4")
    +    AddOperator("OnionPeel")
    +    op.requestedLayer = 2
    +    op.index = 27
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    Test("ops_onionpeel_09")
    +    TurnMaterialsOn()
    +    DeleteAllPlots()
    +
    +def TestNodeId():
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Mesh", "ucdmesh2d")
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.index = 0
    +    op.seedType = op.SeedCell
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    Test("ops_onionpeel_10")
    +
    +    op.seedType = op.SeedNode
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_11")
    +
    +    op.requestedLayer = 2
    +    op.adjacencyType = op.Face
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_12")
    +
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddPlot("Pseudocolor", "d")
    +    SetActivePlots((0, 1))
    +    TurnMaterialsOff("1")
    +    AddOperator("OnionPeel")
    +    op.index = 44
    +    op.requestedLayer = 0
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    SetViewExtentsType("actual")
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, -1)
    +    SetView3D(v)
    +    Test("ops_onionpeel_13")
    +    op.requestedLayer = 12
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_14")
    +    TurnMaterialsOn()
    +    DeleteAllPlots()
    +
    +def TestFilledBoundary():
    +    # need to test index on high-side
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddPlot("FilledBoundary", "mat1")
    +    SetActivePlots((0,1))
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.index = 15735
    +    op.requestedLayer = 5
    +    op.adjacencyType = op.Face
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("actual")
    +    Test("ops_onionpeel_15")
    +
    +    op.seedType = op.SeedNode
    +    op.index = 32713
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_16")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("FilledBoundary", "mat1")
    +    SetActivePlots((0,1))
    +    AddOperator("OnionPeel")
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 2
    +    op.index = 742
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    Test("ops_onionpeel_17")
    +    op.index = 1117
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    Test("ops_onionpeel_18")
    +
    +    op.seedType = op.SeedNode
    +    op.requestedLayer = 6
    +    op.index = 965
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_19")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh3d")
    +    AddPlot("FilledBoundary", "mat1")
    +    SetActivePlots((0, 1))
    +    AddOperator("OnionPeel")
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 5
    +    op.index = 19412
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (-2.29977, 0.966088, 16.5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 5.61745
    +    v.nearPlane = -11.2349
    +    v.farPlane = 11.2349
    +    v.imagePan = (-0.00484124, 0.00104964)
    +    v.imageZoom = 4.08886
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (-2.29977, 0.966088, 16.5)
    +    SetView3D(v)
    +    Test("ops_onionpeel_20")
    +    DeleteAllPlots()
    +
    +
    +def TestBoundary():
    +    # need to test index on high-side
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddPlot("Boundary", "mat1")
    +    SetActivePlots((0,1))
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.index = 15735
    +    op.requestedLayer = 5
    +    op.adjacencyType = op.Face
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("actual")
    +    Test("ops_onionpeel_21")
    +
    +    op.seedType = op.SeedNode
    +    op.index = 1370
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_22")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Boundary", "mat1")
    +    SetActivePlots((0,1))
    +    AddOperator("OnionPeel")
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 2
    +    op.index = 17
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (1, 0, 0)
    +    v.viewUp = (0, 1, 0)
    +    SetView3D(v)
    +    Test("ops_onionpeel_23")
    +    op.index = 117
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    Test("ops_onionpeel_24")
    +
    +    op.seedType = op.SeedNode
    +    op.requestedLayer = 6
    +    op.index = 13
    +    SetOperatorOptions(op)
    +    Test("ops_onionpeel_25")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh3d")
    +    AddPlot("Boundary", "mat1")
    +    SetActivePlots((0, 1))
    +    AddOperator("OnionPeel")
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 5
    +    op.index = 19472
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (-2.29977, 0.966088, 16.5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 5.61745
    +    v.nearPlane = -11.2349
    +    v.farPlane = 11.2349
    +    v.imagePan = (-0.00484124, 0.00104964)
    +    v.imageZoom = 4.08886
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (-2.29977, 0.966088, 16.5)
    +    SetView3D(v)
    +    Test("ops_onionpeel_26")
    +    DeleteAllPlots()
    +
    +def TestArbPoly():
    +    TestSection("Arbitrary Polyhedra, honor original mesh")
    +    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +    DefineScalarExpression("gzid", "global_zoneid(<3D/mesh1>)")
    +    AddPlot("Mesh", "3D/mesh1")
    +    AddPlot("Pseudocolor", "gzid")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName="levels"
    +    SetPlotOptions(pc)
    +    AddOperator("OnionPeel")
    +    DrawPlots()
    +    ResetView()
    +    op = OnionPeelAttributes()
    +
    +    SetQueryOutputToObject()
    +    # there are only 11 zones in original mesh
    +    # when NumZonesQuery is fixed, can use it instead
    +    # SetActivePlots(0)
    +    # numZones = Query("NumZones", use_actual_data=0)['num_zones']
    +    # SetActivePlots(1)
    +    numZones = 11
    +    for i in range(numZones):
    +        op.index = i
    +        SetOperatorOptions(op)
    +        DrawPlots()
    +        Test("poly_originalMesh_%02d"%i)
    +
    +    TestSection("Arbitrary Polyhedra, honor actual mesh")
    +    op.honorOriginalMesh = 0
    +    SetActivePlots(0)
    +    numZones = Query("NumZones", use_actual_data=1)['num_zones']
    +    print("numZones: ", numZones)
    +    SetActivePlots(1)
    +    for i in range (numZones):
    +        op.index = i
    +        SetOperatorOptions(op)
    +        DrawPlots()
    +        Test("poly_actualMesh%02d"%i)
    +
    +    DeleteAllPlots()
    +
    +def TestBigSilMesh():
    +    # use actual spatial extents
    +    SetViewExtentsType(1)
    +
    +    # non-logical index
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +    AddPlot("Mesh", "mesh")
    +    mesh = MeshAttributes()
    +    mesh.showInternal = 1
    +    SetPlotOptions(mesh)
    +
    +    AddPlot("Label", "mesh")
    +    label = LabelAttributes()
    +    label.showNodes = 1
    +    label.showCells = 1
    +    label.drawLabelsFacing = label.FrontAndBack
    +    label.labelDisplayFormat = label.Index
    +    label.textFont1.useForegroundColor = 0
    +    label.textFont1.color = (255, 0, 0, 0)
    +    label.textFont2.useForegroundColor = 0
    +    label.textFont2.color = (0, 0, 255, 0)
    +    label.depthTestMode = label.LABEL_DT_NEVER
    +    SetPlotOptions(label)
    +
    +    AddOperator("OnionPeel", 1)
    +    op = OnionPeelAttributes()
    +    op.categoryName = "domains"
    +    op.subsetName = "domain14"
    +    op.logical = 0
    +    op.index = (211)
    +    op.requestedLayer = 0
    +    op.seedType = op.SeedNode
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("bigsil_mesh_01")
    +
    +    op.seedType = op.SeedCell
    +    op.index = (223)
    +    op.requestedLayer = 1
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("bigsil_mesh_02")
    +
    +    # Blocks/Domains, logical index
    +    op.logical = 1
    +    op.index = (3, 2, 3)
    +    op.requestedLayer = 0
    +    op.seedType = op.SeedNode
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("bigsil_mesh_03")
    +
    +    op.seedType = op.SeedCell
    +    op.index = (6, 3, 4)
    +    op.requestedLayer = 1
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("bigsil_mesh_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("bigsil.silo"))
    +    # use original spatial extents
    +    SetViewExtentsType(0)
    +
    +def TestAMR():
    +    # AMR Mesh
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +    # use actual spatial extents
    +    SetViewExtentsType(1)
    +
    +    AddPlot("Mesh", "amr_mesh")
    +    mesh = MeshAttributes()
    +    mesh.showInternal = 1
    +    SetPlotOptions(mesh)
    +
    +    AddPlot("Label", "amr_mesh")
    +    label = LabelAttributes()
    +    label.showNodes = 1
    +    label.showCells = 1
    +    label.drawLabelsFacing = label.FrontAndBack
    +    label.labelDisplayFormat = label.Index
    +    label.textFont1.useForegroundColor = 0
    +    label.textFont1.color = (255, 0, 0, 0)
    +    label.textFont2.useForegroundColor = 0
    +    label.textFont2.color = (0, 0, 255, 0)
    +    label.depthTestMode = label.LABEL_DT_NEVER
    +    SetPlotOptions(label)
    +
    +    AddOperator("OnionPeel", 1)
    +    op = OnionPeelAttributes()
    +    op.categoryName = "levels"
    +    op.subsetName = "level2"
    +    op.logical = 1
    +    op.index = (11, 15, 8)
    +    op.seedType = op.SeedNode
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("amr_3d_01")
    +
    +    op.seedType = op.SeedCell
    +    op.index = (10, 15, 8)
    +    op.requestedLayer = 1
    +    SetOperatorOptions(op,0, 1);
    +    Test("amr_3d_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    # Test Vector plot
    +    OpenDatabase(data_path("samrai_test_data/mats-par3/dumps.visit"))
    +
    +    AddPlot("Mesh", "amr_mesh")
    +    AddPlot("Vector", "Velocity")
    +    TimeSliderNextState()
    +    AddOperator("OnionPeel", 1)
    +    op = OnionPeelAttributes()
    +    op.categoryName = "levels"
    +    op.subsetName = "level1"
    +    op.logical = 1
    +    op.index = (12, 15, 10)
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 1
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("amr_3d_03")
    +
    +    op.seedType = op.SeedNode
    +    op.index = (13, 15, 10)
    +    op.requestedLayer = 0
    +    SetOperatorOptions(op,0, 1);
    +    Test("amr_3d_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("samrai_test_data/mats-par3/dumps.visit"))
    +
    +    # 2D AMR Mesh
    +    OpenDatabase(data_path("samrai_test_data/ale2d/dumps.visit"))
    +
    +    # use actual spatial extents
    +    SetViewExtentsType(1)
    +
    +    AddPlot("Mesh", "amr_mesh")
    +    AddPlot("Contour", "Density")
    +
    +    AddOperator("OnionPeel", 1)
    +    op = OnionPeelAttributes()
    +    op.categoryName = "levels"
    +    op.subsetName = "level2"
    +    op.logical = 1
    +    op.index = (384, 490)
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 1
    +    SetOperatorOptions(op,0, 1);
    +    DrawPlots()
    +    Test("amr_2d_01")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("samrai_test_data/ale2d/dumps.visit"))
    +
    +    OpenDatabase(data_path("AMRStitchCell_test_data/AMRStitchCellTest.1.no_ghost.phi.2d.hdf5"))
    +    AddPlot("Subset", "levels")
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Contour", "phi")
    +    AddPlot("Label", "Mesh")
    +    label = LabelAttributes()
    +    label.showNodes = 1
    +    label.showCells = 1
    +    label.drawLabelsFacing = label.FrontAndBack
    +    label.labelDisplayFormat = label.Index
    +    label.textFont1.useForegroundColor = 0
    +    label.textFont1.color = (255, 0, 0, 0)
    +    label.textFont2.useForegroundColor = 0
    +    label.textFont2.color = (0, 0, 255, 0)
    +    label.depthTestMode = label.LABEL_DT_NEVER
    +    SetPlotOptions(label)
    +
    +    AddOperator("OnionPeel", 1)
    +    op = OnionPeelAttributes()
    +    op.categoryName = "levels"
    +    op.subsetName = "level2"
    +    op.logical = 1
    +    op.seedType = op.SeedCell
    +    op.requestedLayer = 1
    +    op.index = (24, 35)
    +    SetOperatorOptions(op, 0, 1)
    +    DrawPlots()
    +    Test("amr_2d_02")
    +    # use original spatial extents
    +    SetViewExtentsType(0)
    +
    +def Main():
    +    TestBigSil()
    +    TestUCD()
    +    TestGlobalZoneId()
    +    TestMatSelect()
    +    TestNodeId()
    +    TestFilledBoundary()
    +    TestBoundary()
    +    TestArbPoly()
    +    TestBigSilMesh()
    +    TestAMR()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_operators.html b/2023-11-08-22:00/pascal_trunk_serial/operators_operators.html new file mode 100644 index 000000000..57bf5fd4d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_operators.html @@ -0,0 +1,78 @@ + +Results for operators/operators.py + +

    Results of VisIt Regression Test - operators/operators

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_sliceop010.000.00
    ops_sliceop020.000.00
    ops_clip010.000.00
    ops_clip020.000.00
    ops_clip030.000.00
    ops_onion010.000.00
    ops_onion020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_operators_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_operators_py.html new file mode 100644 index 000000000..1c7d31426 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_operators_py.html @@ -0,0 +1,141 @@ +operators/operators.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  operators.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc
    +#              operators - slice, clip, onionpeel
    +#              selection - none
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       April 17, 2002
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Jul 24 10:21:07 PDT 2002
    +#    Remove threshold tests in favor of its own file.
    +#
    +#    Hank Childs. Tue Nov 19 15:45:12 PST 2002
    +#    Change Aslice to Slice for slicing interface change.
    +#
    +#    Eric Brugger, Fri Jan 17 16:53:32 PST 2003
    +#    Change Erase to Clip for interface change.
    +#
    +#    Eric Brugger, Thu May  8 12:47:54 PDT 2003
    +#    Change the setting of one of the Slice attributes because of an
    +#    interface change.
    +#
    +#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004 
    +#    Default slice atts have changed, update accordingly. 
    +#    
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetParallelScale(17.3205)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +# Slice
    +slice = SliceAttributes()
    +
    +RemoveAllOperators()
    +slice.originType = slice.Point
    +slice.SetOriginPoint(1,2,3)
    +slice.SetNormal(1,-1,0)
    +slice.SetUpAxis(0,0,1)
    +slice.project2d = 1
    +SetDefaultOperatorOptions(slice)
    +AddOperator("Slice")
    +DrawPlots()
    +
    +Test("ops_sliceop01")
    +
    +RemoveAllOperators()
    +slice.project2d = 0
    +SetDefaultOperatorOptions(slice)
    +AddOperator("Slice")
    +DrawPlots()
    +
    +Test("ops_sliceop02")
    +
    +# Clip
    +clip = ClipAttributes()
    +
    +RemoveAllOperators()
    +clip.plane1Status = 1
    +clip.SetPlane1Origin(1,2,3)
    +clip.SetPlane1Normal(-1,1,0)
    +clip.funcType = 0
    +SetDefaultOperatorOptions(clip)
    +AddOperator("Clip")
    +DrawPlots()
    +
    +Test("ops_clip01")
    +
    +RemoveAllOperators()
    +clip.SetCenter(0,0,10)
    +clip.radius = 9
    +clip.funcType = 1
    +SetDefaultOperatorOptions(clip)
    +AddOperator("Clip")
    +DrawPlots()
    +
    +Test("ops_clip02")
    +
    +clip = ClipAttributes()
    +clip.plane1Status = 1
    +clip.SetPlane1Origin(1,2,3)
    +clip.SetPlane1Normal(-1,1,0)
    +clip.plane2Status = 1
    +clip.SetPlane2Origin(0,0,0)
    +clip.SetPlane2Normal(-1,0,0)
    +clip.funcType = 0
    +SetDefaultOperatorOptions(clip)
    +AddOperator("Clip")
    +DrawPlots()
    +
    +Test("ops_clip03")
    +
    +# OnionPeel
    +onion = OnionPeelAttributes()
    +
    +RemoveAllOperators()
    +onion.adjacencyType = 0
    +onion.index = 30
    +onion.requestedLayer = 3
    +SetDefaultOperatorOptions(onion)
    +AddOperator("OnionPeel")
    +DrawPlots()
    +
    +Test("ops_onion01")
    +
    +RemoveAllOperators()
    +onion.adjacencyType = 1
    +onion.requestedLayer = 7
    +SetDefaultOperatorOptions(onion)
    +AddOperator("OnionPeel")
    +DrawPlots()
    +
    +Test("ops_onion02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_persistent_particles.html b/2023-11-08-22:00/pascal_trunk_serial/operators_persistent_particles.html new file mode 100644 index 000000000..808cc5203 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_persistent_particles.html @@ -0,0 +1,72 @@ + +Results for operators/persistent_particles.py + +

    Results of VisIt Regression Test - operators/persistent_particles

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    persistent_particles_010.000.00
    persistent_particles_020.000.00
    persistent_particles_030.000.00
    persistent_particles_040.000.00
    persistent_particles_050.000.00
    persistent_particles_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_persistent_particles_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_persistent_particles_py.html new file mode 100644 index 000000000..a1057e874 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_persistent_particles_py.html @@ -0,0 +1,173 @@ +operators/persistent_particles.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  persistent_particles.py
    +#
    +#  Programmer: Hank Childs
    +#  Date:       October 15, 2010
    +#
    +#  Modifications:
    +#     Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#     Changed Pseudocolor CurrentPlot to ActualData.
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("synergia_test_data/vis_particles_* database"),0, "Vs")
    +
    +AddPlot("Pseudocolor", "particles_6")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.outputMeshType = 0
    +ThresholdAtts.listedVarNames = ("default")
    +ThresholdAtts.zonePortions = (0)
    +ThresholdAtts.lowerBounds = (-1e+37)
    +ThresholdAtts.upperBounds = (20)
    +ThresholdAtts.defaultVarName = "particles_6"
    +ThresholdAtts.defaultVarIsScalar = 1
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +
    +View3DAtts = View3DAttributes()
    +View3DAtts.viewNormal = (0.282153, 0.56578, 0.774779)
    +View3DAtts.focus = (-0.000283548, -1.60497e-05, -0.00167359)
    +View3DAtts.viewUp = (-0.173662, 0.824371, -0.538752)
    +View3DAtts.viewAngle = 30
    +View3DAtts.parallelScale = 0.0560412
    +View3DAtts.nearPlane = -0.112082
    +View3DAtts.farPlane = 0.112082
    +View3DAtts.imagePan = (0, 0)
    +View3DAtts.imageZoom = 3
    +View3DAtts.perspective = 1
    +View3DAtts.eyeAngle = 2
    +View3DAtts.centerOfRotationSet = 0
    +View3DAtts.centerOfRotation = (-0.000283548, -1.60497e-05, -0.00167359)
    +View3DAtts.axis3DScaleFlag = 0
    +View3DAtts.axis3DScales = (1, 1, 1)
    +View3DAtts.shear = (0, 0, 1)
    +SetView3D(View3DAtts)
    +
    +Test("persistent_particles_01")
    +
    +CreateNamedSelection("selection1")
    +a = GetAnnotationAttributes()
    +SetWindowLayout(2)
    +SetActiveWindow(2)
    +SetAnnotationAttributes(a)
    +AddPlot("Pseudocolor", "particles_6", 1, 1)
    +silr = SILRestriction()
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr ,1)
    +ApplyNamedSelection("selection1")
    +DrawPlots()
    +SetView3D(View3DAtts)
    +Test("persistent_particles_02")
    +
    +AddOperator("PersistentParticles", 1)
    +PersistentParticlesAtts = PersistentParticlesAttributes()
    +PersistentParticlesAtts.startIndex = 0
    +PersistentParticlesAtts.stopIndex = 5
    +PersistentParticlesAtts.stride = 1
    +PersistentParticlesAtts.startPathType = PersistentParticlesAtts.Absolute  # Absolute, Relative
    +PersistentParticlesAtts.stopPathType = PersistentParticlesAtts.Absolute  # Absolute, Relative
    +PersistentParticlesAtts.traceVariableX = "default"
    +PersistentParticlesAtts.traceVariableY = "default"
    +PersistentParticlesAtts.traceVariableZ = "default"
    +PersistentParticlesAtts.connectParticles = 0
    +PersistentParticlesAtts.indexVariable = "default"
    +SetOperatorOptions(PersistentParticlesAtts, 1)
    +DrawPlots()
    +Test("persistent_particles_03")
    +
    +PersistentParticlesAtts.connectParticles = 1
    +SetOperatorOptions(PersistentParticlesAtts, 1)
    +Test("persistent_particles_04")
    +
    +AddOperator("Tube", 1)
    +TubeAtts = TubeAttributes()
    +TubeAtts.scaleByVarFlag = 0
    +TubeAtts.tubeRadiusType = TubeAtts.Absolute
    +TubeAtts.radiusAbsolute = 0.0005
    +TubeAtts.scaleVariable = "default"
    +TubeAtts.fineness = 10
    +TubeAtts.capping = 0
    +SetOperatorOptions(TubeAtts, 1)
    +DrawPlots()
    +Test("persistent_particles_05")
    +
    +
    +AddPlot("Pseudocolor", "particles_6", 1, 0)
    +ApplyNamedSelection("selection1")
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.maxFlag = 0
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.max = 1
    +PseudocolorAtts.pointSize = 0.001
    +PseudocolorAtts.pointType = PseudocolorAtts.Icosahedron  # Box, Axis, Icosahedron, Point, Sphere
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.colorTableName = "orangehot"
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
    +SetPlotOptions(PseudocolorAtts)
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.maxFlag = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.max = 20
    +PseudocolorAtts.pointSize = 0.001
    +PseudocolorAtts.pointType = PseudocolorAtts.Icosahedron  # Box, Axis, Icosahedron, Point, Sphere
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.colorTableName = "orangehot"
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
    +SetPlotOptions(PseudocolorAtts)
    +SetActivePlots((0, 1))
    +SetActivePlots(0)
    +PseudocolorAtts = PseudocolorAttributes()
    +PseudocolorAtts.legendFlag = 1
    +PseudocolorAtts.lightingFlag = 1
    +PseudocolorAtts.minFlag = 0
    +PseudocolorAtts.maxFlag = 1
    +PseudocolorAtts.centering = PseudocolorAtts.Natural  # Natural, Nodal, Zonal
    +PseudocolorAtts.scaling = PseudocolorAtts.Linear  # Linear, Log, Skew
    +PseudocolorAtts.limitsMode = PseudocolorAtts.OriginalData  # OriginalData, ActualData
    +PseudocolorAtts.min = 0
    +PseudocolorAtts.max = 20
    +PseudocolorAtts.pointSize = 0.05
    +PseudocolorAtts.pointType = PseudocolorAtts.Point  # Box, Axis, Icosahedron, Point, Sphere
    +PseudocolorAtts.skewFactor = 1
    +PseudocolorAtts.opacity = 1
    +PseudocolorAtts.colorTableName = "orangehot"
    +PseudocolorAtts.smoothingLevel = 0
    +PseudocolorAtts.pointSizeVarEnabled = 0
    +PseudocolorAtts.pointSizeVar = "default"
    +PseudocolorAtts.pointSizePixels = 2
    +PseudocolorAtts.lineWidth = 0
    +PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
    +SetPlotOptions(PseudocolorAtts)
    +DrawPlots()
    +Test("persistent_particles_06")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_radial_resample.html b/2023-11-08-22:00/pascal_trunk_serial/operators_radial_resample.html new file mode 100644 index 000000000..ee1a2d1e7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_radial_resample.html @@ -0,0 +1,60 @@ + +Results for operators/radial_resample.py + +

    Results of VisIt Regression Test - operators/radial_resample

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_radialresampleop_rect2d0.000.00
    ops_radialresampleop_rect3d0.000.00
    ops_radialresampleop_multi_rect2d0.000.00
    ops_radialresampleop_multi_rect3d0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_radial_resample_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_radial_resample_py.html new file mode 100644 index 000000000..abeec54ce --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_radial_resample_py.html @@ -0,0 +1,135 @@ +operators/radial_resample.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  radial_resample.py
    +#
    +#  Tests:      mesh    - 2D rectilinear, single domain,
    +#                        3D rectilinear, single domain
    +#                        3D unstructured, multiple domain
    +#              plots   - pseudocolor
    +#
    +#  Defect ID:  1827 
    +#
    +#  Programmer: Kevin Griffin
    +#  Date:       Tue Jun  3 11:00:41 EST 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# 2D, Rectilinear
    +ds = silo_data_path("rect2d.silo")
    +OpenDatabase(ds)
    +
    +# clean-up 1's
    +AddPlot("Mesh", "quadmesh2d", 1, 1)
    +AddOperator("RadialResample")
    +
    +RadialResampleAttrs = RadialResampleAttributes()
    +RadialResampleAttrs.isFast = 0
    +RadialResampleAttrs.minTheta = -45
    +RadialResampleAttrs.maxTheta = 90
    +RadialResampleAttrs.deltaTheta = 5
    +RadialResampleAttrs.radius = 0.5
    +RadialResampleAttrs.deltaRadius = 0.05
    +RadialResampleAttrs.center = (0.5, 0.5, 0.5)
    +RadialResampleAttrs.is3D = 0
    +
    +SetOperatorOptions(RadialResampleAttrs)
    +
    +AddPlot("Pseudocolor", "t", 1, 1)
    +DrawPlots()
    +Test("ops_radialresampleop_rect2d")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds)
    +
    +#3D, Rectilinear
    +ds = silo_data_path("rect3d.silo")
    +OpenDatabase(ds)
    +
    +AddPlot("Mesh", "quadmesh3d", 1, 1)
    +AddOperator("RadialResample")
    +
    +RadialResampleAtts = RadialResampleAttributes()
    +RadialResampleAtts.isFast = 0
    +RadialResampleAtts.minTheta = -90
    +RadialResampleAtts.maxTheta = 90
    +RadialResampleAtts.deltaTheta = 5
    +RadialResampleAtts.radius = 0.5
    +RadialResampleAtts.deltaRadius = 0.05
    +RadialResampleAtts.center = (0.5, 0.5, 0.5)
    +RadialResampleAtts.is3D = 1
    +RadialResampleAtts.minAzimuth = 0
    +RadialResampleAtts.maxAzimuth = 360
    +RadialResampleAtts.deltaAzimuth = 5
    +
    +SetOperatorOptions(RadialResampleAtts, 1)
    +
    +AddPlot("Pseudocolor", "w", 1, 1)
    +DrawPlots()
    +Test("ops_radialresampleop_rect3d")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds)
    +
    +#2D, Rectilinear, Multiple Domains
    +ds = silo_data_path("multi_rect2d.silo")
    +OpenDatabase(ds)
    +
    +AddPlot("Mesh", "mesh1", 1, 1)
    +AddOperator("RadialResample", 1)
    +
    +RadialResampleAtts = RadialResampleAttributes()
    +RadialResampleAtts.isFast = 0
    +RadialResampleAtts.minTheta = 0
    +RadialResampleAtts.maxTheta = 360
    +RadialResampleAtts.deltaTheta = 5
    +RadialResampleAtts.radius = 1
    +RadialResampleAtts.deltaRadius = 0.05
    +RadialResampleAtts.center = (0.3, 0, 0)
    +RadialResampleAtts.is3D = 0
    +RadialResampleAtts.minAzimuth = 0
    +RadialResampleAtts.maxAzimuth = 180
    +RadialResampleAtts.deltaAzimuth = 5
    +
    +SetOperatorOptions(RadialResampleAtts, 1)
    +AddPlot("Pseudocolor", "vec_magnitude", 1, 1)
    +
    +DrawPlots()
    +Test("ops_radialresampleop_multi_rect2d")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds)
    +
    +# 3D, Rectilinear, Multiple Domains
    +ds = silo_data_path("multi_rect3d.silo")
    +OpenDatabase(ds)
    +
    +AddPlot("Mesh", "mesh1", 1, 1)
    +AddOperator("RadialResample", 1)
    +
    +RadialResampleAtts = RadialResampleAttributes()
    +RadialResampleAtts.isFast = 0
    +RadialResampleAtts.minTheta = -90
    +RadialResampleAtts.maxTheta = 90
    +RadialResampleAtts.deltaTheta = 5
    +RadialResampleAtts.radius = 0.5
    +RadialResampleAtts.deltaRadius = 0.05
    +RadialResampleAtts.center = (0.5, 0.5, 0.5)
    +RadialResampleAtts.is3D = 1
    +RadialResampleAtts.minAzimuth = 0
    +RadialResampleAtts.maxAzimuth = 360
    +RadialResampleAtts.deltaAzimuth = 5
    +
    +SetOperatorOptions(RadialResampleAtts)
    +
    +AddPlot("Pseudocolor", "w")
    +DrawPlots()
    +Test("ops_radialresampleop_multi_rect3d")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_reflect.html b/2023-11-08-22:00/pascal_trunk_serial/operators_reflect.html new file mode 100644 index 000000000..0ef635959 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_reflect.html @@ -0,0 +1,150 @@ + +Results for operators/reflect.py + +

    Results of VisIt Regression Test - operators/reflect

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_refl010.000.00
    ops_refl020.000.00
    ops_refl030.000.00
    ops_refl040.000.00
    ops_refl050.000.00
    ops_refl060.000.00
    ops_refl070.000.00
    ops_refl080.000.00
    ops_refl090.000.00
    ops_refl100.000.00
    ops_refl110.000.00
    ops_refl120.000.00
    ops_refl130.000.00
    ops_refl140.000.00
    arb_plane000.000.00
    arb_plane010.000.00
    arb_plane020.000.00
    arb_plane030.000.00
    arb_plane040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_reflect_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_reflect_py.html new file mode 100644 index 000000000..da135e8d9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_reflect_py.html @@ -0,0 +1,345 @@ +operators/reflect.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  reflect.py
    +#
    +#  Tests:      mesh      - 3D curvilinear, single domain,
    +#                          3D rectilinear, single domain.
    +#                          3D unstructured, single domain.
    +#              plots     - pc, vector, subset
    +#
    +#  Defect ID:  '5079, '5872, '6321
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 24, 2004
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri Aug 13 09:52:28 PDT 2004
    +#    Test ghost nodes along the reflection plane.
    +#
    +#    Hank Childs, Thu Aug 19 16:37:35 PDT 2004
    +#    Do not test ops_refl12 since that is done in reflect2.py (and will be
    +#    until SR mode plays well with transparency).
    +#
    +#    Jeremy Meredith, Thu Oct 21 11:56:05 PDT 2004
    +#    Reintegrated ops_refl12 since SR/transparency works now.
    +#
    +#    Hank Childs, Thu Jan 20 11:31:43 PST 2005
    +#    Test projecting then reflecting ['5872].
    +#
    +#    Hank Childs, Tue Jul  5 09:29:40 PDT 2005
    +#    Test that reflected plots are not degenerate by using the volume plot
    +#    ['6321].
    +#
    +#    Jeremy Meredith, Tue Jul 15 10:43:58 EDT 2008
    +#    Changed number of vectors in vector plot to match the old behavior.
    +#    (We now account for how many domains there are.)
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +#    Alister Maguire, Wed Apr 25 15:56:47 PDT 2018
    +#    Added tests for reflecting across an arbitrary plane. 
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# 3D, rectilinear.  Multi-block  Tests ghost zones as well.
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +atts = ReflectAttributes()
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Reflect")
    +atts.reflections = (1, 0, 1, 0, 0, 0, 0, 0)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +Test("ops_refl01")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Mesh", "quadmesh2d")
    +AddPlot("FilledBoundary", "mat1")
    +SetActivePlots((0,1))
    +AddOperator("Reflect")
    +DrawPlots()
    +atts.reflections = (0, 1, 1, 1, 0, 0, 0, 0)
    +atts.useXBoundary = 0
    +atts.specifiedX = -0.1
    +atts.useYBoundary = 0
    +atts.specifiedY = -0.05
    +SetOperatorOptions(atts)
    +Test("ops_refl02")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Reflect")
    +DrawPlots()
    +Test("ops_refl03")
    +
    +AddOperator("Isosurface")
    +DrawPlots()
    +Test("ops_refl04")
    +
    +# Move the isosurface operator before the reflect.  This tests whether
    +# or not we can reflect polydata.
    +PromoteOperator(0)
    +DrawPlots()
    +Test("ops_refl05")
    +DeleteAllPlots()
    +
    +# Test unstructured mesh -- plus test vectors.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Vector", "vel")
    +v = VectorAttributes()
    +v.vectorOrigin = v.Head
    +v.nVectors = 400*4
    +SetPlotOptions(v)
    +
    +AddOperator("Reflect")
    +atts.reflections = (1, 0, 1, 0, 1, 0, 0, 1)
    +atts.useXBoundary = 1
    +atts.useYBoundary = 1
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.324974, 0.839345, 0.435765)
    +v.focus = (-10, -10, -10)
    +v.viewUp = (-0.252067, 0.367233, -0.895322)
    +v.viewAngle = 30
    +v.parallelScale = 34.641
    +v.nearPlane = -69.282
    +v.farPlane = 69.282
    +v.imagePan = (0, 0)
    +v.imageZoom = 1.56244
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("ops_refl06")
    +
    +
    +# Now test a zonal vector variable (different code in the reflect operator).
    +ChangeActivePlotsVar("disp")
    +Test("ops_refl07")
    +
    +disp_atts = DisplaceAttributes()
    +disp_atts.variable = "vel"
    +SetDefaultOperatorOptions(disp_atts)
    +AddOperator("Displace")
    +DrawPlots()
    +Test("ops_refl08")
    +
    +PromoteOperator(0)
    +disp_atts.variable = "disp"
    +disp_atts.factor = 4
    +SetOperatorOptions(disp_atts)
    +ChangeActivePlotsVar("vel")
    +DrawPlots()
    +Test("ops_refl09")
    +DeleteAllPlots()
    +
    +
    +# Test that we properly put ghost nodes along the reflection plane.
    +
    +# There is a lot of code dedicated to creating the ghost nodes for a 
    +# rectilinear grid.  Use the PXPYPZ and NXNYNZ octants to flex all of that 
    +# code.
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +pc = PseudocolorAttributes()
    +pc.SetOpacityType(pc.Constant)
    +pc.opacity = 0.3
    +SetPlotOptions(pc)
    +
    +AddOperator("Reflect")
    +r = ReflectAttributes()
    +r.reflections = (1,1,1,1,1,1,1,1)
    +SetOperatorOptions(r)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.390471, 0.546441, 0.740901)
    +v.focus = (-10, -10, -10)
    +v.viewUp = (0.00925777, 0.807079, -0.590371)
    +v.viewAngle = 30
    +v.parallelScale = 34.641
    +v.nearPlane = -69.282
    +v.farPlane = 69.282
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("ops_refl10")
    +
    +r.octant = r.NXNYNZ
    +SetOperatorOptions(r)
    +
    +v.viewNormal = (0.576101, 0.343493, 0.741701)
    +v.focus = (10, 10, 10)
    +v.viewUp = (-0.15522, 0.936877, -0.313318)
    +SetView3D(v)
    +
    +Test("ops_refl11")
    +
    +
    +# Now make sure that this works well with an everyday vtkPointSet as well.
    +# Also test that we can handle the presence of both ghost nodes (from the
    +# reflect) and ghost zones (from the multi_ucd3d file).
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +SetPlotOptions(pc)
    +AddOperator("Reflect")
    +r = ReflectAttributes()
    +r.reflections = (1,0,0,0,1,0,0,0)
    +SetOperatorOptions(r)
    +DrawPlots()
    +
    +v.viewNormal = (0.328912, 0.896692, 0.296244)
    +v.focus = (0, 2.5, 20)
    +v.viewUp = (-0.710536, 0.441617, -0.547826)
    +v.viewAngle = 30
    +v.parallelScale = 20.7666
    +v.nearPlane = -41.5331
    +v.farPlane = 41.5331
    +v.imagePan = (-0.237006, -0.229008)
    +v.imageZoom = 1.25605
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("ops_refl12")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Boundary", "mat1")
    +AddOperator("Project")
    +AddOperator("Reflect")
    +DrawPlots()
    +Test("ops_refl13")
    +
    +# This test hangs in parallel.
    +if TestEnv.params["serial"]:
    +    # The "mass volume extractor" of the volume renderer depends on the
    +    # rectilinear grid not being inverted.  Test that here ('6321).
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Volume", "d")
    +    AddOperator("Reflect")
    +    DrawPlots()
    +    Test("ops_refl14")
    +
    +#
    +# Now test reflecting different datasets over arbitrary planes.
    +#
    +
    +# Test 3D rectilinear over arbitrary plane.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +AddPlot("Pseudocolor" ,"d")
    +AddOperator("Reflect")
    +
    +atts = ReflectAttributes()
    +atts.reflectType = atts.Plane
    +atts.planePoint = (1, 1, 1)
    +atts.planeNormal = (4, 5, 6)
    +SetOperatorOptions(atts)
    +
    +DrawPlots()
    +
    +Test("arb_plane00")
    +
    +# Test 3D curvilinear over arbitrary plane. 
    +DeleteAllPlots()
    +ResetView()
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor" ,"v")
    +AddOperator("Reflect")
    +
    +atts = ReflectAttributes()
    +atts.reflectType = atts.Plane
    +atts.planePoint = (-8, -3, -4)
    +atts.planeNormal = (4.5, 3, 2)
    +SetOperatorOptions(atts)
    +
    +DrawPlots()
    +
    +Test("arb_plane01")
    +
    +# Test 2D curvilinear
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor" ,"v")
    +AddOperator("Reflect")
    +
    +atts = ReflectAttributes()
    +atts.reflectType = atts.Plane
    +atts.planePoint = (-8, -3, 0)
    +atts.planeNormal = (4.5, 3, 0)
    +SetOperatorOptions(atts)
    +
    +DrawPlots()
    +
    +Test("arb_plane02")
    +
    +# Test 3D unstructured
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor" ,"v")
    +AddOperator("Reflect")
    +
    +atts = ReflectAttributes()
    +atts.reflectType = atts.Plane
    +atts.planePoint = (-8, -3, 0)
    +atts.planeNormal = (7, 9, 1)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("arb_plane03")
    +
    +AddOperator("Reflect")
    +
    +atts = ReflectAttributes()
    +atts.reflectType = atts.Plane
    +atts.planePoint = (20, 15, 19)
    +atts.planeNormal = (3, 2, 4)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("arb_plane04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_remap.html b/2023-11-08-22:00/pascal_trunk_serial/operators_remap.html new file mode 100644 index 000000000..f3da829e7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_remap.html @@ -0,0 +1,264 @@ + +Results for operators/remap.py + +

    Results of VisIt Regression Test - operators/remap

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ghost_zvar_int0.000.00
    ghost_zvar_ext0.000.00
    globalNode_p_int0.000.00
    globalNode_p_ext0.000.00
    mCurve2_d_int0.000.00
    mCurve2_d_ext0.000.00
    mCurve2_d_dup_int0.000.00
    mCurve2_d_dup_ext0.000.00
    mCurve2_nmats_int0.000.00
    mCurve2_nmats_ext0.000.00
    mCurve2_p_int0.000.00
    mCurve2_p_ext0.000.00
    mCurve3_d_int0.000.00
    mCurve3_d_ext0.000.00
    mCurve3_d_dup_int0.000.00
    mCurve3_d_dup_ext0.000.00
    mCurve3_nmats_int0.000.00
    mCurve3_nmats_ext0.000.00
    mCurve3_p_int0.000.00
    mCurve3_p_ext0.000.00
    mRect2_d_int0.000.00
    mRect2_d_ext0.000.00
    mRect2_d_dup_int0.000.00
    mRect2_d_dup_ext0.000.00
    mRect2_nmats_int0.000.00
    mRect2_nmats_ext0.000.00
    mRect2_p_int0.000.00
    mRect2_p_ext0.000.00
    mRect3_d_int0.000.00
    mRect3_d_ext0.000.00
    mRect3_d_dup_int0.000.00
    mRect3_d_dup_ext0.000.00
    mRect3_nmats_int0.000.00
    mRect3_nmats_ext0.000.00
    mRect3_p_int0.000.00
    mRect3_p_ext0.000.00
    ucd2_p_int0.000.00
    ucd2_p_ext0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_remap_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_remap_py.html new file mode 100644 index 000000000..213073ef7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_remap_py.html @@ -0,0 +1,133 @@ +operators/remap.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  remap.py
    +#
    +#  Tests:      remap operator
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Eddie Rusu
    +#  Date:       Fri Feb  1 11:16:24 PST 2019
    +#
    +#  Modifications:
    +#     Eddie Rusu, Tue Apr 13 12:08:59 PDT 2021
    +#     Changed Pseudocolor CurrentPlot to ActualData.
    +# ----------------------------------------------------------------------------
    +
    +def remap(cells, type = 0):
    +    AddOperator("Remap", 1)
    +    RemapAtts = RemapAttributes()
    +    RemapAtts.cellsX = cells
    +    RemapAtts.cellsY = cells
    +    RemapAtts.cellsZ = cells
    +    if type == 1:
    +        RemapAtts.variableType = RemapAtts.extrinsic
    +        setPseudoOptions()
    +    SetOperatorOptions(RemapAtts, 1)
    +    DrawPlots()
    +
    +def setPseudoOptions():
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.limitsMode = PseudocolorAtts.ActualData
    +    SetPlotOptions(PseudocolorAtts)
    +
    +def set3DView():
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.5, 0.5, 0.7)
    +    View3DAtts.focus = (1.5, 1.5, 0.5)
    +    View3DAtts.viewUp = (-0.0429563, 0.998733, -0.0262205)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 2.17945
    +    View3DAtts.nearPlane = -4.3589
    +    View3DAtts.farPlane = 4.3589
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (1.5, 1.5, 0.5)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +def plotVariables(varName, saveName, cells = 10):
    +    AddPlot("Pseudocolor", varName, 1, 1)
    +    DrawPlots()
    +
    +    remap(cells)
    +    Test(saveName + "_int")
    +
    +    RemoveOperator(0, 1)
    +    remap(cells, 1)
    +    Test(saveName + "_ext")
    +
    +    DeleteAllPlots()
    +
    +def ghost1():
    +    OpenDatabase(silo_data_path("ghost1.silo"))
    +    plotVariables("zvar", "ghost_zvar")
    +    CloseDatabase(silo_data_path("ghost1.silo"))
    +
    +def globalNode():
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +    set3DView()
    +    plotVariables("p", "globalNode_p", 4) # Wrong results.
    +    ResetView()
    +    CloseDatabase(silo_data_path("global_node.silo"))
    +
    +def mCurve2():
    +    OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +    plotVariables("d", "mCurve2_d")
    +    plotVariables("d_dup", "mCurve2_d_dup")
    +    plotVariables("nmats", "mCurve2_nmats")
    +    plotVariables("p", "mCurve2_p")
    +    CloseDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +def mCurve3():
    +    OpenDatabase(silo_data_path("multi_curv3d.silo"))
    +    set3DView()
    +    plotVariables("d", "mCurve3_d", 4)
    +    plotVariables("d_dup", "mCurve3_d_dup", 4)
    +    plotVariables("nmats", "mCurve3_nmats", 4)
    +    plotVariables("p", "mCurve3_p", 4)
    +    ResetView()
    +    CloseDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +def mRect2():
    +    OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +    plotVariables("d", "mRect2_d")
    +    plotVariables("d_dup", "mRect2_d_dup")
    +    plotVariables("nmats", "mRect2_nmats")
    +    plotVariables("p", "mRect2_p")
    +    CloseDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +def mRect3():
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +    set3DView()
    +    plotVariables("d", "mRect3_d", 4)
    +    plotVariables("d_dup", "mRect3_d_dup", 4)
    +    plotVariables("nmats", "mRect3_nmats", 4)
    +    plotVariables("p", "mRect3_p", 4)
    +    ResetView()
    +    CloseDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +def ucd2():
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +    plotVariables("p", "ucd2_p")
    +    CloseDatabase(silo_data_path("ucd2d.silo"))
    +
    +def Main():
    +    ghost1()
    +    globalNode()
    +    mCurve2()
    +    mCurve3()
    +    mRect2()
    +    mRect3()
    +    ucd2()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_resample.html b/2023-11-08-22:00/pascal_trunk_serial/operators_resample.html new file mode 100644 index 000000000..8f67a9653 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_resample.html @@ -0,0 +1,72 @@ + +Results for operators/resample.py + +

    Results of VisIt Regression Test - operators/resample

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_resampleop_noise_point_small0.000.00
    ops_resampleop_noise_point_large0.000.00
    ops_resampleop_noise_point_explicit0.000.00
    ops_resampleop_noise_point_backfull0.000.00
    ops_resampleop_noise_hardy_small0.000.00
    ops_resampleop_curv2d0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_resample_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_resample_py.html new file mode 100644 index 000000000..684ae9488 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_resample_py.html @@ -0,0 +1,124 @@ +operators/resample.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  resample.py
    +#
    +#  Tests:      resample operator
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Sean Ahern
    +#  Date:       Thu Jan  3 11:00:41 EST 2008
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Dec 31 14:32:34 PST 2008
    +#    Rename ResamplePluginAtts to ResampleAtts.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Alister Maguire, Fri Jan 29 08:17:27 PST 2021
    +#    Set useExtents = 0 where appropriate as setting the start/end
    +#    values no longer overrides useExtents.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "PointVar")
    +AddOperator("Resample")
    +
    +resample = ResampleAttributes()
    +resample.samplesX = 5
    +resample.samplesY = 6
    +resample.samplesZ = 7
    +SetOperatorOptions(resample)
    +
    +DrawPlots()
    +
    +bigView = GetView3D()
    +bigView.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +bigView.SetViewUp(0.176641, 0.929226, -0.324558)
    +bigView.SetParallelScale(17.3205)
    +bigView.SetPerspective(1)
    +SetView3D(bigView)
    +
    +Test("ops_resampleop_noise_point_small")
    +
    +resample = ResampleAttributes()
    +resample.samplesX = 20
    +resample.samplesY = 30
    +resample.samplesZ = 40
    +SetOperatorOptions(resample)
    +
    +Test("ops_resampleop_noise_point_large")
    +
    +resample = ResampleAttributes()
    +resample.useExtents = 0
    +resample.startX = 5.25
    +resample.endX = 9.57
    +resample.samplesX = 10
    +resample.startY = -5.9
    +resample.endY = 0
    +resample.samplesY = 20
    +resample.startZ = -6
    +resample.endZ = 0
    +resample.samplesZ = 30
    +SetOperatorOptions(resample)
    +
    +ResetView()
    +v = GetView3D()
    +v.SetViewNormal(-0.41557,-0.758094,0.502588)
    +v.SetFocus(6.862131,4.91535,-9.08261)
    +v.SetViewUp(-0.720258,0.611719,0.327153)
    +v.SetParallelScale(10)
    +v.SetImagePan(-0.21812, 0.210298)
    +v.SetImageZoom(1.6527)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +Test("ops_resampleop_noise_point_explicit")
    +
    +resample.useExtents = 1
    +SetOperatorOptions(resample)
    +SetView3D(bigView)
    +
    +Test("ops_resampleop_noise_point_backfull")
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +AddOperator("Resample")
    +
    +resample = ResampleAttributes()
    +resample.samplesX = 3
    +resample.samplesY = 3
    +resample.samplesZ = 3
    +SetOperatorOptions(resample)
    +
    +SetView3D(bigView)
    +DrawPlots()
    +
    +Test("ops_resampleop_noise_hardy_small")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "v")
    +AddOperator("Resample")
    +
    +resample = ResampleAttributes()
    +resample.samplesX = 10
    +resample.samplesY = 20
    +resample.is3D = 0
    +SetOperatorOptions(resample)
    +
    +DrawPlots()
    +
    +Test("ops_resampleop_curv2d")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_revolve.html b/2023-11-08-22:00/pascal_trunk_serial/operators_revolve.html new file mode 100644 index 000000000..936e8e0dd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_revolve.html @@ -0,0 +1,42 @@ + +Results for operators/revolve.py + +

    Results of VisIt Regression Test - operators/revolve

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    revolve_points_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_revolve_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_revolve_py.html new file mode 100644 index 000000000..4f077c022 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_revolve_py.html @@ -0,0 +1,35 @@ +operators/revolve.py
    # ---------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  revolve.py
    +#
    +#  Tests:      mesh      - 2D unstructured, single domain, 
    +#              plots     - pseudocolor
    +#              operators - revolve
    +#
    +#  Programmer: Alister Maguire
    +#  Date: Fri Jun 19 13:30:11 PDT 2020
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def TestRevolvingPoints():
    +    #
    +    # Make sure that we can revolve points. We weren't always able to do this.
    +    #
    +    OpenDatabase(silo_data_path("multi_point2d.silo"))
    +    AddPlot("Pseudocolor", "v", 1, 1)
    +    AddOperator("Revolve", 1)
    +    DrawPlots()
    +    Test("revolve_points_00")
    +    DeleteActivePlots()
    +    CloseDatabase(silo_data_path("multi_point2d.silo"))
    +
    +def Main():
    +    TestRevolvingPoints()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_slice.html b/2023-11-08-22:00/pascal_trunk_serial/operators_slice.html new file mode 100644 index 000000000..a74821786 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_slice.html @@ -0,0 +1,297 @@ + +Results for operators/slice.py + +

    Results of VisIt Regression Test - operators/slice

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Slice through a point
    ops_Slice010.000.00
    Slice through a zone
    ops_Slice020.000.00
    ops_Slice030.000.00
    Slice FilledBoundary plot
    ops_Slice040.000.00
    ops_Slice050.000.00
    ops_Slice060.000.00
    Slice Mesh plot
    ops_Slice070.000.00
    ops_Slice080.000.00
    ops_Slice090.000.00
    ops_Slice100.000.00
    ops_Slice110.000.00
    ops_Slice120.000.00
    ops_Slice130.000.00
    ops_Slice140.000.00
    ops_Slice150.000.00
    ops_Slice160.000.00
    ops_Slice170.000.00
    ops_Slice180.000.00
    Slice point mesh
    ops_Slice190.000.00
    Slice through a point
    ops_Slice200.000.00
    ops_Slice210.000.00
    ops_Slice220.000.00
    ops_Slice230.000.00
    ops_Slice240.000.00
    ops_Slice250.000.00
    ops_Slice260.000.00
    ops_Slice270.000.00
    ops_Slice280.000.00
    ops_Slice290.000.00
    ops_Slice300.000.00
    ops_Slice310.000.00
    ops_Slice320.000.00
    ops_Slice330.000.00
    ops_Slice340.000.00
    ops_Slice350.000.00
    Slice polyhedral cells
    ops_Slice360.000.00
    ops_Slice370.000.00
    ops_Slice380.000.00
    ops_Slice390.000.00
    ops_Slice400.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_slice_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_slice_py.html new file mode 100644 index 000000000..21a9f6881 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_slice_py.html @@ -0,0 +1,590 @@ +operators/slice.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  slice.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain,
    +#                          3D unstructured single domain
    +#                          3D curvilinear multi-domain
    +#                          3D unstructured multi-domain
    +#              plots     - pc, filled boundary, mesh
    +#              operators - slice, onion peel, threshold, index select
    +#
    +#  Defect ID:  '3950 (for tests 16,17,18).  '4662 (test 19).
    +#              '4706 (tests 20-27).  '4913 (test 28), '4975 (test 29).
    +#              '5157 (test 31-2). '5794 (test 33), '7630 (test 35)
    +#
    +#  Known problems:   (1) Slicing of plots that have had material interface
    +#                    reconstruction can often have holes.  This is a problem
    +#                    with the interface reconstruction routines.  When those
    +#                    are fixed, the holes should go away.
    +#                    Tests affected: 4, 5, 6, 15
    +#                    (2) The mesh lines are being shifted towards the camera.
    +#                    For one test, the line actually gets shifted too far and
    +#                    slightly intersects a cell.
    +#                    Tests affected: 7, 8, 9
    +#                    (3) The zonal center for the slice is not consistently
    +#                    determined (see defect '3437).  This means that test 2
    +#                    and 5 do not have the same origin for their slice.
    +#                    This is a known problem.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 19, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset and boundary plots.
    +#
    +#    Hank Childs, Fri Oct 31 14:35:14 PST 2003
    +#    Added test for getting extents right when projecting to 2D and setting
    +#    the origin based on a percent.  From '3950.
    +#
    +#    Hank Childs, Tue Mar 30 08:42:02 PST 2004
    +#    Added test for slicing point meshes. ['4662]
    +#
    +#    Hank Childs, Tue Apr 13 09:53:21 PDT 2004
    +#    Test slicing extremes with percent (0%, 100%) ['4706]
    +#
    +#    Hank Childs, Mon May 24 16:20:49 PDT 2004
    +#    Test slicing point meshes in conjunction with the displace operator
    +#    when the points are all on a plane. ['4913]
    +#
    +#    Hank Childs, Fri Jun 18 08:45:11 PDT 2004
    +#    Test that we can slice boundary plots. ['4975]
    +#
    +#    Hank Childs, Tue Jul 20 16:53:16 PDT 2004
    +#    Test the projection to 2D when the normal and up-axis are not orthogonal
    +#    ['5157].
    +#
    +#    Eric Brugger, Wed Dec 29 15:04:04 PST 2004
    +#    Added a test for changing the time state for a plot that has been
    +#    sliced through a zone.  This tests visit00005794.
    +#
    +#    Kathleen Bonnell, Tue Jan 25 17:27:16 PST 2005 
    +#    Added a test for specifying the meshname with domain/zone type of slice. 
    +#
    +#    Hank Childs, Sat Jan 27 12:45:03 PST 2007
    +#    Added a test for slicing 1xJxK and Ix1xK meshes.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, June 19, 2023
    +#    Add call to RequiredDatabasePlugin.
    +#
    +# ----------------------------------------------------------------------------
    +
    +RequiredDatabasePlugin(("Silo", "EnSight"))
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +TestSection("Slice through a point")
    +# Test 1 -- a slice through a point
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 0
    +atts.normal = (-0.1, 0.8, -0.6)
    +atts.originType = atts.Point
    +atts.originPoint = (0.3333, 0.094, 0.081)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +view = GetView3D()
    +view.viewNormal = (-0.53, -0.07, -0.84)
    +view.focus = (0.5, 0.5, 0.5)
    +view.viewUp = (0, 1, 0)
    +view.viewAngle = 30
    +view.parallelScale = 0.866
    +view.nearPlane = -1.73
    +view.farPlane = 1.73
    +view.imagePan = (0.058, 0.26)
    +view.imageZoom = 12.6
    +view.perspective = 1
    +SetView3D(view)
    +
    +Test("ops_Slice01")
    +
    +TestSection("Slice through a zone")
    +# Test 2 -- A slice through a zone.  Add an onion peel of that zone to show
    +# that the slice is in the right spot.
    +atts.originType = atts.Zone
    +atts.originZone = 2500
    +atts.originZoneDomain = 0
    +SetOperatorOptions(atts)
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("OnionPeel")
    +op_atts = OnionPeelAttributes()
    +op_atts.index = 2500
    +SetOperatorOptions(op_atts)
    +DrawPlots()
    +SetView3D(view)
    +
    +Test("ops_Slice02")
    +
    +# Test 3 -- A slice through a node.  The node (2645) is incident to the zone
    +# from before (2500).
    +SetActivePlots(0)
    +atts.originType = atts.Node
    +atts.originNode = 2645
    +atts.originNodeDomain = 0
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice03")
    +
    +# Now repeat the three tests with a filled boundary plot.
    +TestSection("Slice FilledBoundary plot")
    +DeleteActivePlots()
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Slice")
    +atts.originType = atts.Point
    +atts.originPoint = (0.3333, 0.094, 0.081)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice04")
    +
    +atts.originType = atts.Zone
    +atts.originZone = 2500
    +atts.originZoneDomain = 0
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice05")
    +
    +atts.originType = atts.Node
    +atts.originNode = 2645
    +atts.originNodeDomain = 0
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice06")
    +
    +# Slice a mesh plot.
    +TestSection("Slice Mesh plot")
    +DeleteActivePlots()
    +
    +AddPlot("Mesh", "quadmesh3d")
    +AddOperator("Slice")
    +atts.originType = atts.Zone
    +atts.originZone = 2500
    +atts.originZoneDomain = 0
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice07")
    +
    +t_atts = ThresholdAttributes()
    +t_atts.listedVarNames = ("d")
    +t_atts.lowerBounds = (0.6)
    +t_atts.upperBounds = (1.0)
    +SetDefaultOperatorOptions(t_atts)
    +AddOperator("Threshold")
    +DemoteOperator(1, 0)
    +DrawPlots()
    +
    +Test("ops_Slice08")
    +
    +RemoveOperator(0, 0)
    +
    +insel_atts = IndexSelectAttributes()
    +insel_atts.dim = insel_atts.ThreeD
    +insel_atts.xMin = 10
    +insel_atts.xMax = 18
    +insel_atts.yMin = 3
    +insel_atts.yMax = 4
    +insel_atts.zMin = 0
    +insel_atts.zMax = 3
    +SetDefaultOperatorOptions(insel_atts)
    +AddOperator("IndexSelect")
    +DemoteOperator(1, 0)
    +DrawPlots()
    +
    +Test("ops_Slice09")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("sid97.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.originType = atts.Point
    +atts.originPoint = (7400, -1300, 1000)
    +atts.normal = (0, 1, 0)
    +atts.project2d = 1
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice10")
    +
    +DeleteAllPlots()
    +
    +
    +OpenDatabase(silo_data_path("tire.silo"))
    +
    +AddPlot("Subset", "domains")
    +AddOperator("Slice")
    +atts.originType = atts.Zone
    +atts.originZone = 100
    +atts.originZoneDomain = 2
    +atts.normal = (0.707, -0.707, 0)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice11")
    +
    +
    +atts.normal = (0.707, 0.707, 0)
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice12")
    +
    +
    +atts.originType = atts.Node
    +atts.originNode = 55
    +atts.originNodeDomain = 3
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice13")
    +
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts.originType = atts.Zone
    +atts.originZone = 1005
    +atts.originZoneDomain = 18
    +atts.normal = (0.707, 0, -0.707)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice14")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddOperator("Slice")
    +atts.originType = atts.Zone
    +atts.originZone = 1005
    +atts.originZoneDomain = 18
    +atts.normal = (0.707, 0, -0.707)
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice15")
    +
    +
    +atts.originType = atts.Percent
    +atts.originPercent = 69
    +atts.axisType = atts.YAxis
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice16")
    +
    +atts.originType = atts.Percent
    +atts.originPercent = 50
    +atts.axisType = atts.ZAxis
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice17")
    +
    +atts.originType = atts.Percent
    +atts.originPercent = 10
    +atts.axisType = atts.XAxis
    +SetOperatorOptions(atts)
    +
    +Test("ops_Slice18")
    +
    +DeleteAllPlots()
    +
    +TestSection("Slice point mesh")
    +# Test that we can slice point meshes.  The points must be exactly on the
    +# plane (or at least within some tolerance).  To guarantee the point positions,
    +# take a 2D plot and put it into 3D.  Then slice it.
    +OpenDatabase(silo_data_path("noise2d.silo"))
    +
    +AddPlot("Pseudocolor", "PointVar")
    +pc_atts = PseudocolorAttributes()
    +pc_atts.pointType = pc_atts.Box
    +pc_atts.pointSize = 0.4
    +SetPlotOptions(pc_atts)
    +AddOperator("Transform")
    +trans_atts = TransformAttributes()
    +trans_atts.doRotate = 1
    +trans_atts.rotateAxis = (0, 1, 0)
    +SetOperatorOptions(trans_atts)
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.axisType = atts.ZAxis
    +atts.originType = atts.Intercept
    +atts.originIntercept = 0
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice19")
    +
    +DeleteAllPlots()
    +ActivateDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +# Test 1 -- a slice through a point
    +TestSection("Slice through a point")
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Slice")
    +atts.originType = atts.Percent
    +atts.project2d = 0
    +atts.originPercent = 0
    +atts.axisType=atts.XAxis
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +view = GetView3D()
    +view.viewNormal = (0.565246, 0.332, 0.755)
    +view.focus = (0.5, 0.0, 0.5)
    +view.viewUp = (-0.08, 0.933, -0.35)
    +view.viewAngle = 30
    +view.parallelScale = 0.707
    +view.nearPlane = -1.41421
    +view.farPlane = 1.41421
    +view.imagePan = (0.1, -0.181)
    +view.imageZoom = 0.7
    +view.perspective = 1
    +SetView3D(view)
    +
    +Test("ops_Slice20")
    +
    +atts.originPercent = 100
    +SetOperatorOptions(atts)
    +Test("ops_Slice21")
    +
    +atts.axisType=atts.YAxis
    +atts.originPercent = 0
    +SetOperatorOptions(atts)
    +Test("ops_Slice22")
    +
    +atts.axisType=atts.YAxis
    +atts.originPercent = 100
    +SetOperatorOptions(atts)
    +Test("ops_Slice23")
    +
    +atts.axisType=atts.ZAxis
    +atts.originPercent = 0
    +SetOperatorOptions(atts)
    +Test("ops_Slice24")
    +
    +atts.axisType=atts.ZAxis
    +atts.originPercent = 100
    +SetOperatorOptions(atts)
    +Test("ops_Slice25")
    +
    +# The X-axis for orthogonal slices is -1,0,0.  Try 1,0,0.
    +atts.axisType=atts.Arbitrary
    +atts.normal=(1,0,0)
    +atts.originPercent = 0
    +SetOperatorOptions(atts)
    +Test("ops_Slice26")
    +
    +# The Y-axis for orthogonal slices is 0,-1,0.  Try 0,1,0.
    +atts.axisType=atts.Arbitrary
    +atts.normal=(0,1,0)
    +atts.originPercent = 0
    +SetOperatorOptions(atts)
    +Test("ops_Slice27")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "PointVar")
    +pc_atts.pointSize = 1.0
    +SetPlotOptions(pc_atts)
    +DefineVectorExpression("disp", "{0,0,-coord(PointMesh)[2]}")
    +AddOperator("Displace")
    +disp = DisplaceAttributes()
    +disp.variable = "disp"
    +SetOperatorOptions(disp)
    +AddOperator("Slice")
    +slice = SliceAttributes()
    +slice.axisType = slice.ZAxis
    +SetOperatorOptions(slice)
    +DrawPlots()
    +Test("ops_Slice28")
    +
    +# First, test slice by a zone with a boundary plot where the zone is along
    +# a material boundary.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Boundary", "mat1")
    +AddOperator("Slice")
    +slice = SliceAttributes()
    +slice.originType = atts.Zone
    +slice.originZone = 10000
    +slice.originZoneDomain = 0
    +slice.axisType = slice.ZAxis
    +SetOperatorOptions(slice)
    +DrawPlots()
    +Test("ops_Slice29")
    +
    +# Now, test slice by a zone where the zone is not along a material boundary.
    +slice.originZone = 9998
    +SetOperatorOptions(slice)
    +Test("ops_Slice30")
    +
    +DeleteAllPlots()
    +
    +# Test what happens when the up axis is not orthogonal to the normal.
    +# Start off with the two being orthogonal, though.
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +AddOperator("Slice")
    +slice = SliceAttributes()
    +slice.normal = (1, -1, 0)
    +slice.upAxis = (0, 0, 1)
    +slice.project2d = 1
    +slice.originType = slice.Point
    +slice.originPoint = (0,0,0)
    +SetOperatorOptions(slice)
    +DrawPlots()
    +Test("ops_Slice31")
    +
    +# Now make them be non-orthogonal.
    +slice.upAxis = (0,1,0)
    +SetOperatorOptions(slice)
    +Test("ops_Slice32")
    +
    +# Open a multi time state database, create a pseudocolor plot slicing
    +# through a zone and then change the time state.
    +DeleteAllPlots()
    +ResetView()
    +OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +
    +AddPlot("Pseudocolor", "pressure")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 1
    +atts.axisType = atts.YAxis
    +atts.originType = atts.Zone
    +atts.originZone = 100
    +atts.originZoneDomain = 0
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +TimeSliderNextState()
    +Test("ops_Slice33")
    +
    +
    +DeleteAllPlots()
    +ResetView()
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d_dup")
    +AddOperator("Slice")
    +atts = SliceAttributes()
    +atts.project2d = 1
    +atts.axisType = atts.YAxis
    +atts.originType = atts.Zone
    +atts.originZone = 27
    +atts.originZoneDomain = 2
    +atts.meshName = "mesh1"
    +SetOperatorOptions(atts)
    +DrawPlots()
    +
    +Test("ops_Slice34")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("IndexSelect")
    +iatts = IndexSelectAttributes()
    +iatts.dim = iatts.ThreeD
    +iatts.xMin = 0
    +iatts.xMax = 1000
    +iatts.yMin = 10
    +iatts.yMax = 10
    +iatts.zMin = 0
    +iatts.zMax = 1000
    +iatts.xIncr = 1
    +iatts.yIncr = 1
    +iatts.zIncr = 1
    +SetOperatorOptions(iatts)
    +AddOperator("Slice")
    +DrawPlots()
    +ResetView()
    +Test("ops_Slice35")
    +DeleteAllPlots()
    +
    +TestSection("Slice polyhedral cells")
    +OpenDatabase(data_path("EnSight_test_data/small.case"))
    +
    +DefineScalarExpression("zid", "zoneid(mesh) * 1.")
    +DefineScalarExpression("nid", "nodeid(mesh) * 1.")
    +AddPlot("Pseudocolor", "zid")
    +DrawPlots()
    +v = GetView3D()
    +v.viewNormal = (-0.597184, 0.364571, 0.714464)
    +v.focus = (1, 1.75, 1)
    +v.viewUp = (0.222007, 0.931066, -0.289533)
    +v.viewAngle = 30
    +v.parallelScale = 4.58939
    +v.nearPlane = -9.17878
    +v.farPlane = 9.17878
    +v.imagePan = (-0.0112992, 0.0560752)
    +v.imageZoom = 1.77156
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (1, 1.75, 1)
    +v.axis3DScaleFlag = 0
    +v.axis3DScales = (1, 1, 1)
    +v.shear = (0, 0, 1)
    +SetView3D(v)
    +Test("ops_Slice36")
    +
    +AddOperator("Slice")
    +s = SliceAttributes()
    +s.originType = s.Percent  # Point, Intercept, Percent, Zone, Node
    +s.originPoint = (0, 0, 0)
    +s.originIntercept = 0
    +s.originPercent = 50
    +s.originZone = 0
    +s.originNode = 0
    +s.normal = (0, 0, 1)
    +s.axisType = s.XAxis  # XAxis, YAxis, ZAxis, Arbitrary, ThetaPhi
    +s.upAxis = (0, 1, 0)
    +s.project2d = 0
    +s.interactive = 1
    +s.flip = 0
    +s.originZoneDomain = 0
    +s.originNodeDomain = 0
    +s.meshName = "mesh"
    +s.theta = 0
    +s.phi = 90
    +SetOperatorOptions(s)
    +DrawPlots()
    +Test("ops_Slice37")
    +
    +ChangeActivePlotsVar("nid")
    +Test("ops_Slice38")
    +
    +ChangeActivePlotsVar("zid")
    +s.axisType = s.ZAxis
    +SetOperatorOptions(s)
    +DrawPlots()
    +Test("ops_Slice39")
    +
    +ChangeActivePlotsVar("nid")
    +Test("ops_Slice40")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_sph_resample.html b/2023-11-08-22:00/pascal_trunk_serial/operators_sph_resample.html new file mode 100644 index 000000000..22830871b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_sph_resample.html @@ -0,0 +1,42 @@ + +Results for operators/sph_resample.py + +

    Results of VisIt Regression Test - operators/sph_resample

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sph_2d0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_sph_resample_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_sph_resample_py.html new file mode 100644 index 000000000..db703f10d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_sph_resample_py.html @@ -0,0 +1,51 @@ +operators/sph_resample.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  sph_resample.py
    +#
    +#  Tests:      mesh    - 2D rectilinear, single domain,
    +#              plots   - pseudocolor
    +#
    +#  Defect ID:  2338 
    +#
    +#  Programmer: Kevin Griffin
    +#  Date:       Wed Jul 22 17:36:55 PDT 2015
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# 2D, Rectilinear
    +ds = data_path("silo_sph_test_data/KelvinHelmholtz-2d_McNally.visit")
    +OpenDatabase(ds)
    +
    +AddPlot("Pseudocolor", "mass_density")
    +pc = PseudocolorAttributes()
    +pc.centering = pc.Nodal
    +SetPlotOptions(pc)
    +
    +AddOperator("SPHResample")
    +SPHResampleAtts = SPHResampleAttributes()
    +SPHResampleAtts.minX = 0
    +SPHResampleAtts.maxX = 1
    +SPHResampleAtts.xnum = 100
    +SPHResampleAtts.minY = 0
    +SPHResampleAtts.maxY = 1
    +SPHResampleAtts.ynum = 100
    +SPHResampleAtts.minZ = 0
    +SPHResampleAtts.maxZ = 1
    +SPHResampleAtts.znum = 1
    +SPHResampleAtts.tensorSupportVariable = "H"
    +SPHResampleAtts.weightVariable = "mass"
    +SPHResampleAtts.RK = 1
    +SetOperatorOptions(SPHResampleAtts, 1)
    +
    +DrawPlots()
    +
    +Test("sph_2d")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_tessellate.html b/2023-11-08-22:00/pascal_trunk_serial/operators_tessellate.html new file mode 100644 index 000000000..740ac02e3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_tessellate.html @@ -0,0 +1,162 @@ + +Results for operators/tessellate.py + +

    Results of VisIt Regression Test - operators/tessellate

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    quadratic_triangle_010.000.00
    quadratic_triangle_020.000.00
    quadratic_triangle_030.000.00
    biquadratic_quad_010.000.00
    biquadratic_quad_020.000.00
    biquadratic_quad_030.000.00
    biquadratic_quad_field_010.000.00
    biquadratic_quad_field_020.000.00
    biquadratic_quad_field_030.000.00
    quadratic_linear_quad_010.000.00
    quadratic_quad_010.000.00
    quadratic_quad_020.000.00
    quadratic_quad_030.000.00
    quadratic_mixed_010.000.00
    quadratic_mixed_020.000.00
    quadratic_mixed_030.000.00
    quadratic_hex_010.000.00
    quadratic_hex_020.000.00
    quadratic_hex_030.000.00
    quadratic_hex_040.000.00
    triquadratic_hex_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_tessellate_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_tessellate_py.html new file mode 100644 index 000000000..5669adcbf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_tessellate_py.html @@ -0,0 +1,286 @@ +operators/tessellate.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  tessellate.py
    +#
    +#  Tests:      mesh      - quadratic_triangle
    +#                          biquadratic_quad
    +#                          quadratic_linear_quad
    +#                          quadratic_quad
    +#                          quadratic_hex
    +#                          triquadratic_hex
    +#              plots     - pc, mesh
    +#              operators - tessellate, clip
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       July 24, 2020
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Quadratic_triangle
    +OpenDatabase(data_path("vtk_test_data/quadratic_triangle.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.200511, 0.543812, 0.814901)
    +v.focus = (0, 0.5, 1)
    +v.viewUp = (-0.232184, 0.834474, -0.499744)
    +v.viewAngle = 30
    +v.parallelScale = 1.5
    +v.nearPlane = -3
    +v.farPlane = 3
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("quadratic_triangle_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("quadratic_triangle_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("quadratic_triangle_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/quadratic_triangle.vtk"))
    +
    +# Biquadratic_quad
    +OpenDatabase(data_path("vtk_test_data/biquadratic_quad.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.200511, 0.543812, 0.814901)
    +v.focus = (0, 0.5, 1)
    +v.viewUp = (-0.232184, 0.834474, -0.499744)
    +v.viewAngle = 30
    +v.parallelScale = 1.5
    +v.nearPlane = -3
    +v.farPlane = 3
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("biquadratic_quad_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("biquadratic_quad_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("biquadratic_quad_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/biquadratic_quad.vtk"))
    +
    +# Biquadratic_quad_field
    +OpenDatabase(data_path("vtk_test_data/biquadratic_quad_field.vtk"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +Test("biquadratic_quad_field_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("biquadratic_quad_field_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +tess.fieldCriterion = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("biquadratic_quad_field_03")
    +
    +CloseDatabase(data_path("vtk_test_data/biquadratic_quad_field.vtk"))
    +DeleteAllPlots()
    +
    +# Quadratic_linear_quad
    +OpenDatabase(data_path("vtk_test_data/quadratic_linear_quad.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.200511, 0.543812, 0.814901)
    +v.focus = (0, 0.5, 1)
    +v.viewUp = (-0.232184, 0.834474, -0.499744)
    +v.viewAngle = 30
    +v.parallelScale = 1.5
    +v.nearPlane = -3
    +v.farPlane = 3
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("quadratic_linear_quad_01")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/quadratic_linear_quad.vtk"))
    +
    +# Quadratic_quad
    +OpenDatabase(data_path("vtk_test_data/quadratic_quad.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.200511, 0.543812, 0.814901)
    +v.focus = (0, 0.5, 1)
    +v.viewUp = (-0.232184, 0.834474, -0.499744)
    +v.viewAngle = 30
    +v.parallelScale = 1.5
    +v.nearPlane = -3
    +v.farPlane = 3
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("quadratic_quad_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("quadratic_quad_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("quadratic_quad_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/quadratic_quad.vtk"))
    +
    +# Mixed biquadratic_quad and quadratic_triangle
    +OpenDatabase(data_path("vtk_test_data/quadratic_mixed.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.200511, 0.543812, 0.814901)
    +v.focus = (0, 0.5, 1)
    +v.viewUp = (-0.232184, 0.834474, -0.499744)
    +v.viewAngle = 30
    +v.parallelScale = 1.5
    +v.nearPlane = -3
    +v.farPlane = 3
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("quadratic_mixed_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("quadratic_mixed_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("quadratic_mixed_03")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/quadratic_mixed.vtk"))
    +
    +# Quadratic_hex
    +OpenDatabase(data_path("vtk_test_data/quadratic_hex.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.491097, 0.334402, 0.804363)
    +v.focus = (0.7, 0.7, 0.5)
    +v.viewUp = (-0.0787305, 0.936642, -0.341326)
    +v.viewAngle = 30
    +v.parallelScale = 1.10905
    +v.nearPlane = -2.21811
    +v.farPlane = 2.21811
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("quadratic_hex_01")
    +
    +AddOperator("Tessellate", 1)
    +DrawPlots()
    +
    +Test("quadratic_hex_02")
    +
    +tess = TessellateAttributes()
    +tess.chordError = 0.01
    +SetOperatorOptions(tess, 0, 1)
    +
    +Test("quadratic_hex_03")
    +
    +AddOperator("Clip", 1)
    +clip = ClipAttributes()
    +clip.plane1Origin = (0.5, 0.5, 0.5)
    +SetOperatorOptions(clip, 0, 1)
    +
    +DrawPlots()
    +
    +Test("quadratic_hex_04")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/quadratic_hex.vtk"))
    +
    +# Triquadratic_hex
    +OpenDatabase(data_path("vtk_test_data/triquadratic_hex.vtk"))
    +
    +AddPlot("Pseudocolor", "x_c")
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (0.491097, 0.334402, 0.804363)
    +v.focus = (0.7, 0.7, 0.5)
    +v.viewUp = (-0.0787305, 0.936642, -0.341326)
    +v.viewAngle = 30
    +v.parallelScale = 1.10905
    +v.nearPlane = -2.21811
    +v.farPlane = 2.21811
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +
    +Test("triquadratic_hex_01")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/triquadratic_hex.vtk"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_threeslice.html b/2023-11-08-22:00/pascal_trunk_serial/operators_threeslice.html new file mode 100644 index 000000000..72f4303d8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_threeslice.html @@ -0,0 +1,54 @@ + +Results for operators/threeslice.py + +

    Results of VisIt Regression Test - operators/threeslice

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ThreeSlice_010.000.00
    ThreeSlice_020.000.00
    ThreeSlice_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_threeslice_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_threeslice_py.html new file mode 100644 index 000000000..2aeb3f6cd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_threeslice_py.html @@ -0,0 +1,49 @@ +operators/threeslice.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  threeslice.py
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       July 6, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +def Test1():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    AddOperator("ThreeSlice")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0.456241, 0.47741, 0.750949)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.0855449, 0.863521, -0.497004)
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    SetView3D(v)
    +
    +    Test("ThreeSlice_01")
    +
    +    slice = ThreeSliceAttributes()
    +    slice.x = -10
    +    SetOperatorOptions(slice)
    +    Test("ThreeSlice_02")
    +
    +    slice.y = -10
    +    SetOperatorOptions(slice)
    +    Test("ThreeSlice_03")
    +
    +
    +Test1()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_threshold.html b/2023-11-08-22:00/pascal_trunk_serial/operators_threshold.html new file mode 100644 index 000000000..c377d7884 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_threshold.html @@ -0,0 +1,108 @@ + +Results for operators/threshold.py + +

    Results of VisIt Regression Test - operators/threshold

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_thresh010.000.00
    ops_thresh020.000.00
    ops_thresh030.000.00
    ops_thresh040.000.00
    ops_thresh050.000.00
    ops_thresh060.000.00
    ops_thresh070.000.00
    ops_thresh080.000.00
    ops_thresh090.000.00
    ops_thresh100.000.00
    ops_thresh110.000.00
    ops_thresh120.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_threshold_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_threshold_py.html new file mode 100644 index 000000000..3be127e29 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_threshold_py.html @@ -0,0 +1,275 @@ +operators/threshold.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  threshold.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain,
    +#                          3D rectilinear, multiple domain,
    +#                          2D curvilinear, multiple domain
    +#              plots     - pc, mesh, subset, contour
    +#              operators - threshold
    +#              selection - none
    +#
    +#  Defect ID:  '6590, '7631
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 24, 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002
    +#    Changed the variable format for SubsetPlots, to reflect new interface
    +#    which allows subsets of groups.
    +#
    +#    Eric Brugger, Thu May  8 12:50:50 PDT 2003
    +#    Remove some code for setting the view when changing to a new data set
    +#    since visit should automatically adjust the view by default.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from subset plots.
    +#
    +#    Hank Childs, Thu Sep 15 16:31:31 PDT 2005
    +#    Added testing for points only mode ('6590).
    +#
    +#    Mark Blair, Fri May 19 17:36:00 PDT 2006
    +#    Modified all tests, added new tests, for multi-variable mode.
    +#
    +#    Hank Childs, Sat Jan 27 13:03:55 PST 2007
    +#    Test points only with material selection on ('7631).
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.SetViewNormal(-0.528889, 0.367702, 0.7649)
    +v.SetViewUp(0.176641, 0.929226, -0.324558)
    +v.SetParallelScale(17.3205)
    +v.SetPerspective(1)
    +SetView3D(v)
    +
    +#
    +# Normal PC threshold for globe.
    +#
    +thresh = ThresholdAttributes()
    +
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1)
    +thresh.lowerBounds = (-4)
    +thresh.upperBounds = (4)
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh01")
    +
    +#
    +# Normal PC threshold for globe, but now change the zone inclusion criteria.
    +#
    +RemoveAllOperators()
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (0)
    +thresh.lowerBounds = (-4)
    +thresh.upperBounds = (4)
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh02")
    +
    +#
    +# Normal PC plot of globe, thresholding by a variable different than the
    +# PC coloring variable.
    +#
    +RemoveAllOperators()
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1)
    +thresh.lowerBounds = (140)
    +thresh.upperBounds = (340)
    +thresh.listedVarNames = ("t")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh03")
    +
    +DeleteAllPlots()
    +
    +#
    +# Contour lines by one variable, thresholding by another.  Multi-block,
    +# curvilinear, 2D.
    +#
    +OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1)
    +thresh.lowerBounds = (0.7)
    +thresh.upperBounds = (0.9)
    +thresh.listedVarNames = ("v")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh04")
    +
    +DeleteAllPlots()
    +
    +#
    +# Material plot, thresholded by a scalar variable.  Multi-block,
    +# curvilinear, 2D.
    +#
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1)
    +thresh.lowerBounds = (-0.4)
    +thresh.upperBounds = (1.0)
    +thresh.listedVarNames = ("u")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh05")
    +
    +DeleteAllPlots()
    +
    +#
    +# Mesh plot and PC plot, both thresholded by the same variable and zone
    +# inclusion criteria.  Then change the output mesh type to a point mesh.
    +# Multi-block, rectilinear, 3D.
    +#
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1)
    +thresh.lowerBounds = (0.4)
    +thresh.upperBounds = (1.0)
    +thresh.listedVarNames = ("u")
    +SetDefaultOperatorOptions(thresh)
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +AddPlot("Mesh", "mesh1")
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh06")
    +
    +DeleteActivePlots()
    +
    +thresh.outputMeshType = 1
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh07")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +#
    +# Normal PC plot of globe, thresholding by two variables different than the
    +# PC coloring variable.
    +#
    +thresh.outputMeshType = 0
    +thresh.zonePortions = (1, 1)
    +thresh.lowerBounds = (140, 0)
    +thresh.upperBounds = (340, 1)
    +thresh.listedVarNames = ("t", "dx")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh08")
    +
    +DeleteAllPlots()
    +
    +#
    +# Contour lines by one variable, thresholding by that variable and another,
    +# using two different zone inclusion criteria.  Multi-block, curvilinear, 2D.
    +#
    +OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +
    +thresh.zonePortions = (0, 1)
    +thresh.lowerBounds = (-0.7, 0.7)
    +thresh.upperBounds = (0.7, 0.9)
    +thresh.listedVarNames = ("u", "v")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh09")
    +
    +DeleteAllPlots()
    +
    +#
    +# Material plot, thresholded by two scalar variables.  Multi-block,
    +# curvilinear, 2D.
    +#
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +
    +thresh.zonePortions = (0, 0)
    +thresh.lowerBounds = (-0.4, 0.25)
    +thresh.upperBounds = (1.0, 0.45)
    +thresh.listedVarNames = ("u", "p")
    +SetDefaultOperatorOptions(thresh)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +Test("ops_thresh10")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Threshold")
    +ThresholdAtts = ThresholdAttributes()
    +ThresholdAtts.outputMeshType = 1
    +ThresholdAtts.listedVarNames = ("u")
    +ThresholdAtts.zonePortions = (1)
    +ThresholdAtts.lowerBounds = (0)
    +ThresholdAtts.upperBounds = (1e+37)
    +ThresholdAtts.defaultVarName = "u"
    +ThresholdAtts.defaultVarIsScalar = 1
    +SetOperatorOptions(ThresholdAtts)
    +DrawPlots()
    +ResetView()
    +Test("ops_thresh11")
    +
    +# See that the points go away when you turn off the materials.
    +sil = SILRestriction()
    +m = sil.SetsInCategory("mat1")
    +sil.TurnOffSet(m[2])
    +sil.TurnOffSet(m[3])
    +SetPlotSILRestriction(sil)
    +Test("ops_thresh12")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_transform.html b/2023-11-08-22:00/pascal_trunk_serial/operators_transform.html new file mode 100644 index 000000000..5391700fb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_transform.html @@ -0,0 +1,96 @@ + +Results for operators/transform.py + +

    Results of VisIt Regression Test - operators/transform

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ops_transform010.000.00
    ops_transform020.000.00
    ops_transform030.000.00
    ops_transform040.000.00
    ops_transform050.000.00
    ops_transform060.000.00
    ops_transform070.000.00
    ops_transform080.000.00
    ops_transform090.000.00
    ops_transform100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_transform_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_transform_py.html new file mode 100644 index 000000000..1ae800982 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_transform_py.html @@ -0,0 +1,228 @@ +operators/transform.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  transform.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain,
    +#                          3D rectilinear, single domain.
    +#              plots     - pc, mesh, contour, vector
    +#              operators - transform
    +#              selection - none
    +#
    +#  Defect ID:  '6310, '6694, '6699
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 24, 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Wed Sep  3 09:31:25 PDT 2003
    +#    Opaque mode for MeshPlot is ON by default now, so turn it off
    +#    for this test.
    +#
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
    +#
    +#    Hank Childs, Wed Jun  8 15:36:22 PDT 2005
    +#    Added tests for coordinate system conversion.  ['6310]
    +#
    +#    Hank Childs, Tue Nov 15 15:59:00 PST 2005
    +#    Added tests for 2D transformations.  ['6694 '6699]
    +#
    +#    Kathleen Bonnell,  Fri Mar 28 15:24:18 PDT 2008
    +#    Added test for curve transformation.  ['8277]
    +#
    +#    Jeremy Meredith
    +#    Added test for linear transforms.
    +#
    +#    Jeremy Meredith, Mon Jul 14 11:17:29 EDT 2008
    +#    Allow the clipped vector plot to show all vectors (even ones not from
    +#    from original cells/nodes) to match the old behavior.
    +#
    +#    Jeremy Meredith, Thu Aug 13 13:34:42 EDT 2009
    +#    Made transform04 test be explicit about the coord sys it chooses.
    +#    Made transform05 use Cyl instead of Spher coords; it's a 2D problem!
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 11 08:20:24 PDT 2013
    +#    Removed legacy style annotation setting.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Turn off all annotation
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +clip = ClipAttributes()
    +clip.plane1Status = 1
    +clip.SetPlane1Origin(0,0,0)
    +clip.SetPlane1Normal(-1,1,0)
    +clip.funcType = 0
    +SetDefaultOperatorOptions(clip)
    +AddOperator("Clip")
    +
    +trans = TransformAttributes()
    +trans.doTranslate = 1
    +trans.translateX = -3
    +SetDefaultOperatorOptions(trans)
    +AddOperator("Transform")
    +DrawPlots()
    +
    +AddPlot("Vector", "vel")
    +vec = VectorAttributes()
    +vec.origOnly = 0
    +SetPlotOptions(vec)
    +
    +clip.SetPlane1Normal(1,-1,0)
    +SetDefaultOperatorOptions(clip)
    +AddOperator("Clip")
    +
    +trans.translateX = -6
    +SetDefaultOperatorOptions(trans)
    +AddOperator("Transform")
    +
    +DrawPlots()
    +
    +Test("ops_transform01")
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +AddPlot("Mesh", "quadmesh3d")
    +m = MeshAttributes()
    +m.opaqueMode = m.Off
    +SetPlotOptions(m)
    +trans.doTranslate = 0
    +trans.translateX = 0
    +trans.doScale = 1
    +trans.scaleX = 4
    +trans.scaleZ = 3
    +SetDefaultOperatorOptions(trans)
    +AddOperator("Transform")
    +DrawPlots()
    +
    +ResetView()
    +Test("ops_transform02")
    +DeleteAllPlots()
    +
    +AddPlot("Contour", "d")
    +trans.doRotate = 1
    +trans.rotateAmount = 45
    +SetDefaultOperatorOptions(trans)
    +AddOperator("Transform")
    +DrawPlots()
    +
    +ResetView()
    +Test("ops_transform03")
    +
    +DeleteAllPlots()
    +
    +a.axes3D.visible = 1
    +a.axes3D.bboxFlag = 1
    +SetAnnotationAttributes(a)
    +
    +AddPlot("Contour", "d")
    +AddOperator("Transform")
    +trans = TransformAttributes() # Get reset version.
    +trans.transformType = trans.Coordinate
    +trans.inputCoordSys = trans.Cartesian
    +trans.outputCoordSys = trans.Spherical
    +SetOperatorOptions(trans)
    +DrawPlots()
    +SetViewExtentsType("actual")
    +ResetView()
    +
    +Test("ops_transform04")
    +
    +# '6699
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Transform")
    +trans.transformType = trans.Coordinate
    +trans.inputCoordSys = trans.Cartesian
    +trans.outputCoordSys = trans.Cylindrical
    +SetOperatorOptions(trans)
    +DrawPlots()
    +Test("ops_transform05")
    +
    +# '6694
    +DeleteAllPlots()
    +DefineVectorExpression("polar", "polar(quadmesh2d) - coord(quadmesh2d)")
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Displace")
    +disp = DisplaceAttributes()
    +disp.variable = "polar"
    +SetOperatorOptions(disp)
    +DrawPlots()
    +Test("ops_transform06")
    +
    +# '8277
    +DeleteAllPlots()
    +OpenDatabase(data_path("curve_test_data/zonecent.ultra"))
    +
    +AddPlot("Curve", "curve2")
    +curveAtts = CurveAttributes()
    +curveAtts.curveColorSource = curveAtts.Custom
    +curveAtts.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +Test("ops_transform07")
    +
    +AddOperator("Transform")
    +trans.transformType = trans.Similarity
    +trans.doRotate = 0
    +trans.doTranslate = 0
    +trans.doScale = 1
    +trans.scaleX = 1
    +trans.scaleZ = 1
    +trans.scaleY = -3
    +SetOperatorOptions(trans)
    +DrawPlots()
    +Test("ops_transform08")
    +
    +# Test linear transform
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Transform")
    +
    +trans.transformType = trans.Linear
    +trans.m00 = .8
    +trans.m01 = .3
    +trans.m02 = 0
    +
    +trans.m10 = 0
    +trans.m11 = 1
    +trans.m12 = 0
    +
    +trans.m20 = .5
    +trans.m21 = .5
    +trans.m22 = 1
    +
    +trans.invertLinearTransform = 0
    +
    +SetOperatorOptions(trans)
    +DrawPlots()
    +ResetView()
    +
    +Test("ops_transform09")
    +
    +trans.invertLinearTransform = 1
    +SetOperatorOptions(trans)
    +Test("ops_transform10")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_tube.html b/2023-11-08-22:00/pascal_trunk_serial/operators_tube.html new file mode 100644 index 000000000..368b19d0b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_tube.html @@ -0,0 +1,72 @@ + +Results for operators/tube.py + +

    Results of VisIt Regression Test - operators/tube

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    tube_010.000.00
    tube_020.000.00
    tube_030.000.00
    tube_040.000.00
    tube_050.000.00
    tube_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/operators_tube_py.html b/2023-11-08-22:00/pascal_trunk_serial/operators_tube_py.html new file mode 100644 index 000000000..d054d944f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/operators_tube_py.html @@ -0,0 +1,64 @@ +operators/tube.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  tube.py
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       August 7, 2012
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("vtk_test_data/lines.vtk"))
    +
    +AddPlot("Pseudocolor", "var1")
    +AddOperator("Tube")
    +tube = TubeAttributes()
    +tube.tubeRadiusType = tube.Absolute
    +tube.radiusAbsolute = 0.5
    +tube.fineness = 20
    +SetOperatorOptions(tube)
    +
    +view = GetView3D()
    +view.viewNormal = (-0.429483, -0.499742, 0.752198)
    +view.focus = (0, 0, 0)
    +view.viewUp = (-0.296677, 0.864778, 0.405144)
    +view.viewAngle = 30
    +view.parallelScale = 8.66025
    +view.nearPlane = -17.3205
    +view.farPlane = 17.3205
    +SetView3D(view)
    +
    +DrawPlots()
    +
    +Test("tube_01")
    +
    +tube.scaleByVarFlag = 1
    +SetOperatorOptions(tube)
    +Test("tube_02")
    +
    +tube.scaleVariable = "var2"
    +SetOperatorOptions(tube)
    +Test("tube_03")
    +
    +# get the default again
    +tube = TubeAttributes()
    +
    +ChangeActivePlotsVar("var2")
    +tube.tubeRadiusType = tube.Absolute
    +tube.radiusAbsolute = 0.5
    +tube.fineness = 20
    +SetOperatorOptions(tube)
    +Test("tube_04")
    +
    +tube.scaleByVarFlag = 1
    +SetOperatorOptions(tube)
    +Test("tube_05")
    +
    +tube.scaleVariable = "var1"
    +SetOperatorOptions(tube)
    +Test("tube_06")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plotsVsInstall.html b/2023-11-08-22:00/pascal_trunk_serial/plotsVsInstall.html new file mode 100644 index 000000000..99692d399 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plotsVsInstall.html @@ -0,0 +1,46 @@ +Results for test case plotsVsInstall + +

    Results for test case plotsVsInstall

    + + + + + +
    Legend
    0 Lines Added
    0 Lines Deleted
    4 Lines Changed

    +

    1 modifications, totalling 4 lines

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Line Baseline Line Current
    1: { 'Contour': 'success',1: { 'Contour': 'make failed',
    2:     'Label': 'success',2:     'Label': 'make failed',
    3:     'Tensor': 'success',3:     'Tensor': 'make failed',
    4:     'Volume': 'success'}4:     'Volume': 'cmake configure failed'}
    diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_contour.html b/2023-11-08-22:00/pascal_trunk_serial/plots_contour.html new file mode 100644 index 000000000..a6bc353db --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_contour.html @@ -0,0 +1,244 @@ + +Results for plots/contour.py + +

    Results of VisIt Regression Test - plots/contour

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    contour_contourMethod_000.000.00
    contour_contourMethod_010.000.00
    contour_contourMethod_020.000.00
    contour_wireframe_000.000.00
    contour_minMax_000.000.00
    contour_minMax_010.000.00
    contour_minMax_020.000.00
    contour_minMax_030.000.00
    contour_minMax_040.000.00
    contour_lineWidth_000.000.00
    contour_lineWidth_010.000.00
    contour_lineWidth_020.000.00
    contour_lineWidth_030.000.00
    contour_lineWidth_040.000.00
    contour_lineWidth_050.000.00
    contour_lineWidth_060.000.00
    contour_lineWidth_070.000.00
    contour_lineWidth_080.000.00
    contour_lineWidth_090.000.00
    contour_colorMethod_000.000.00
    contour_colorMethod_010.000.00
    contour_colorMethod_020.000.00
    contour_colorMethod_030.000.00
    contour_colorMethod_040.000.00
    contour_colorMethod_050.000.00
    contour_colorMethod_060.000.00
    contour_colorMethod_070.000.00
    contour_colorMethod_080.000.00
    contour_colorMethod_090.000.00
    contour_linearScale0.000.00
    contour_logScale0.000.00
    contour_multicolor_000.000.00
    contour_multicolor_010.000.00
    contour_multicolor_020.000.00
    contour_bad_value0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_contour_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_contour_py.html new file mode 100644 index 000000000..f66983131 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_contour_py.html @@ -0,0 +1,183 @@ +plots/contour.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  contour.py
    +#
    +#  Tests:      mesh      - 3D structured, single domain
    +#                        - 3D rectilinear, multiple domain
    +#                        - 2D curvilinear, single domain
    +#              plots     - Contour
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       October 15, 2014
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Sep 23 17:06:37 PDT 2015
    +#    Add a test for bad contour values to make sure the plot can handle it.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def ExerciseAtts():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Contour", "hardyglobal")
    +    c = ContourAttributes()
    +    c.contourMethod = c.Percent
    +    c.contourPercent = (5, 78, 52, 13, 36, 42)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("contour_contourMethod_00")
    +    c.contourMethod = c.Value
    +    c.contourValue= (2.0, 3.3, 5.01)
    +    SetPlotOptions(c)
    +    Test("contour_contourMethod_01")
    +    c.contourMethod = c.Level
    +    c.contourNLevels = 7
    +    SetPlotOptions(c)
    +    Test("contour_contourMethod_02")
    +
    +    c.wireframe = 1
    +    c.lineWidth = 3
    +    SetPlotOptions(c)
    +    Test("contour_wireframe_00")
    +    ChangeActivePlotsVar("shepardglobal")
    +    # Get new default atts
    +    c = ContourAttributes()
    +    c.contourNLevels = 3
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("contour_minMax_00")
    +    c.minFlag = 1
    +    c.maxFlag = 1
    +    c.max = 5
    +    for i in range(1,5):
    +        c.min = i
    +        SetPlotOptions(c)
    +        Test("contour_minMax_%02d"%i)
    +
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +    AddPlot("Contour", "d")
    +    c = ContourAttributes()
    +    c.contourNLevels = 4
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    for i in range(10):
    +        c.lineWidth = i
    +        SetPlotOptions(c)
    +        Test("contour_lineWidth_%02d"%i)
    +
    +    c.lineWidth = 4
    +
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +    AddPlot("Contour", "d")
    +    c = ContourAttributes()
    +    c.contourNLevels = 5
    +    c.colorType = c.ColorByColorTable
    +    c.colorTableName = "rainbow"
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("contour_colorMethod_00")
    +    c.invertColorTable = 1
    +    SetPlotOptions(c)
    +    Test("contour_colorMethod_01")
    +
    +    c.colorType = c.ColorBySingleColor
    +    c.singleColor = (87, 170, 0, 255)
    +    SetPlotOptions(c)
    +    Test("contour_colorMethod_02")
    +    c.singleColor = (87, 170, 0, 120)
    +    SetPlotOptions(c)
    +    Test("contour_colorMethod_03")
    +
    +    c.colorType = c.ColorByMultipleColors
    +    SetPlotOptions(c)
    +    Test("contour_colorMethod_04")
    +    for i in range(5,0,-1):
    +        levelColor = list(c.GetMultiColor(i-1))
    +        levelColor[3] = 65
    +        c.SetMultiColor((i-1),tuple(levelColor))
    +        SetPlotOptions(c)
    +        Test("contour_colorMethod_%02d"%(10-i))
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("wave.visit"))
    +    AddPlot("Contour", "pressure")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.561907, 0.653269, 0.507444)
    +    v.viewUp = (0.388352, 0.749975, -0.535463)
    +    SetView3D(v)
    +    Test("contour_linearScale")
    +    c = ContourAttributes()
    +    c.scaling = c.Log
    +    SetPlotOptions(c)
    +    Test("contour_logScale")
    +
    +    DeleteAllPlots()
    +
    +def TestMultiColor():
    +    # Bug 2013, indexing issues with SetMultiColor when num levels reduces.
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Contour", "hardyglobal")
    +    DrawPlots()
    +
    +    Sets = [[1,5.5,11],[1,5.5,11],[1,5.5,8]]
    +    testNum = 0
    +    for r in Sets:
    +        # the next comment and similar below bracket code to be 'literalincluded' in quickrecipes.rst
    +        # contourAtts {
    +        p = ContourAttributes()
    +        p.contourMethod = p.Level
    +        p.contourNLevels=r[2]
    +        p.colorType = p.ColorByMultipleColors
    +        p.singleColor = (255, 0, 0, 25)
    +        p.SetMultiColor(0, (255,0,255,64))
    +        p.SetMultiColor(1, (0,255,0,64))
    +        p.SetMultiColor(2, (255, 135, 0, 255))
    +        p.SetMultiColor(3, (255,255,0,64))
    +        p.SetMultiColor(4, (255, 0, 135, 255))
    +        p.SetMultiColor(5, (0,0,255,64))
    +        p.SetMultiColor(6, (0,255,255,64))
    +        p.SetMultiColor(7, (255,0,0,64))
    +        if r[2] > 8 :
    +            p.SetMultiColor(8, (99, 255, 99, 255))
    +            p.SetMultiColor(9, (168, 168, 168, 255))
    +            p.SetMultiColor(10, (255, 68, 68, 255))
    +
    +        p.minFlag=1
    +        p.maxFlag=1
    +        p.min=r[0]
    +        p.max=r[1]
    +        SetPlotOptions(p)
    +        # contourAtts }
    +        Test("contour_multicolor_%02d"%testNum)
    +        testNum = testNum + 1
    +    DeleteAllPlots()
    +
    +def TestBadValue():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Contour", "hardyglobal")
    +    ContourAtts = ContourAttributes()
    +    ContourAtts.contourValue = (0)
    +    ContourAtts.contourMethod = ContourAtts.Value  # Level, Value, Percent
    +    ContourAtts.minFlag = 0
    +    ContourAtts.maxFlag = 0
    +    SetPlotOptions(ContourAtts)
    +    DrawPlots()
    +
    +    # Test that the plot is not in the error state and that we have an engine. (i.e. the engine did not crash)
    +    pl = GetPlotList()
    +    txt = "Plot Completed: " + str(pl.GetPlots(0).stateType == pl.GetPlots(0).Completed) + "\n"
    +    txt = txt + "Number of compute engines: " + str(len(GetEngineList())) + "\n"
    +    TestText("contour_bad_value", txt)
    +
    +ExerciseAtts()
    +TestMultiColor()
    +TestBadValue()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_curve.html b/2023-11-08-22:00/pascal_trunk_serial/plots_curve.html new file mode 100644 index 000000000..361b7de84 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_curve.html @@ -0,0 +1,351 @@ + +Results for plots/curve.py + +

    Results of VisIt Regression Test - plots/curve

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    curve_1_010.000.00
    curve_1_020.000.00
    curve_1_030.000.00
    curve_1_040.000.00
    curve_1_050.000.00
    curve_1_060.000.00
    curve_1_070.000.00
    Overlay curves on 2D plots
    curve_2_010.000.00
    curve_2_020.000.00
    curve_2_030.000.00
    curve_2_050.000.00
    curve_2_060.000.00
    curve_2_070.000.00
    curve_2_080.000.00
    curve_2_090.000.00
    curve_2_100.000.00
    Points and Symbols
    curve_3_010.000.00
    curve_3_020.000.00
    curve_3_030.000.00
    curve_3_040.000.00
    curve_3_050.000.00
    curve_3_060.000.00
    curve_3_070.000.00
    curve_3_080.000.00
    curve_3_090.000.00
    curve_3_100.000.00
    curve_3_110.000.00
    curve_3_120.000.00
    curve_3_130.000.00
    Time Cue
    curve_4_000.000.00
    curve_4_010.000.00
    curve_4_020.000.00
    curve_4_030.000.00
    curve_4_040.000.00
    curve_4_050.000.00
    curve_4_060.000.00
    curve_4_070.000.00
    curve_4_080.000.00
    Polar
    polar_curve_010.000.00
    polar_curve_020.000.00
    polar_curve_030.000.00
    polar_curve_040.000.00
    polar_curve_050.000.00
    polar_curve_060.000.00
    polar_curve_070.000.00
    polar_curve_080.000.00
    Scale
    curve_scale_000.000.00
    curve_scale_010.000.00
    curve_scale_020.000.00
    curve_scale_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_curve_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_curve_py.html new file mode 100644 index 000000000..329415ced --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_curve_py.html @@ -0,0 +1,488 @@ +plots/curve.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial, parallel, scalable
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curve.py 
    +#
    +#  Tests:      Tests the curve plot
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       August 3, 2006 
    +#
    +#  Modifications:
    +#    Brad Whitlock, Tue Nov 21 10:55:24 PDT 2006
    +#    Made it use enums for line style.
    +#
    +#    Mark C. Miller, Thu Jun 21 11:05:58 PDT 2007
    +#    Added tests for overlaying curves on 2D plots
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Bonnell, Fri Aug 13 16:10:56 MST 2010 
    +#    Added TestPointsAndSymbols to test various points/symbol settings.
    +#    Added TestTimeCue to test time-cue functionality
    +#
    +#    Kathleen Biagas, Thu Sep 12 09:08:00 PDT 2013
    +#    Added TestPolar to test new polar conversion capability.
    +#
    +#    Kathleen Biagas, Tue Jul 15 14:16:33 MST 2014
    +#    Added TestScale, which demonstrates the need to scale curves with values
    +#    greater than 1e37 or less than 1e-37.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all tests.  Set the colors individually
    +#    to match current baseline results.
    +#
    +#    Kathleen Biagas, Thu Feb 17 07:40:34 PST 2022
    +#    Replace 'color' with 'curveColor' for CurveAttributes.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def Test1():
    +    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +    DefineCurveExpression("logED", "log10(<Exponential Distribution>)")
    +    DefineCurveExpression("logLap", "log10(<Laplace Distribution>)")
    +    AddPlot("Curve", "Exponential Distribution")
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (255, 0, 0, 255)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("curve_1_01")
    +
    +    ChangeActivePlotsVar("logED")
    +    c.curveColor = (0, 0, 0, 255)
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("curve_1_02")
    +
    +    ChangeActivePlotsVar("Laplace Distribution")
    +    c.curveColor = (0, 255, 0, 255)
    +    c.lineWidth = 2
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("curve_1_03")
    +
    +    ChangeActivePlotsVar("logLap")
    +    c.lineWidth = 0
    +    c.curveColor = (0, 255, 255, 255)
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("curve_1_04")
    +
    +    v = GetViewCurve()
    +    v.domainCoords = (-19.3832, -19.3626)
    +    v.rangeCoords = (-8.71826, -8.71234)
    +    SetViewCurve(v)
    +    Test("curve_1_05")
    +
    +    ChangeActivePlotsVar("Log Normal Distribution")
    +    ResetView()
    +    Test("curve_1_06")
    +
    +    c.curveColor = (120, 10, 150, 255)
    +    SetPlotOptions(c)
    +
    +    v.domainCoords = (1.13181, 1.14079)
    +    v.rangeCoords = (0.346122, 0.350033)
    +    SetViewCurve(v)
    +    Test("curve_1_07")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +
    +def TestOverlayCurves():
    +    TestSection("Overlay curves on 2D plots")
    +
    +    # put up some 2D plots
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Pseudocolor","d")    # id=0
    +    AddPlot("Mesh","ucdmesh2d")   # id=1
    +    SetActivePlots((1))
    +    AddOperator("Transform")
    +    ta=TransformAttributes()
    +    ta.doTranslate=1
    +    ta.translateY=2
    +    SetOperatorOptions(ta)
    +    DrawPlots()
    +
    +    OpenDatabase(data_path("curve_test_data/ol_curveA.curve"))
    +
    +    AddPlot("Curve","ol_curveA")  # id=2
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (0, 255, 0, 0)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("curve_2_01")
    +
    +    OpenDatabase(data_path("curve_test_data/ol_curveB.curve"))
    +
    +    AddPlot("Curve","ol_curveB")  # id=3
    +    c.curveColor = (0, 0, 255, 0)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("curve_2_02")
    +
    +    OpenDatabase(data_path("curve_test_data/ol_curveC.curve"))
    +
    +    AddPlot("Curve","ol_curveC")  # id=4
    +    c.curveColor = (0, 255, 255, 0)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("curve_2_03")
    +
    +    # testing hiding/unhiding the 2D plots
    +    SetActivePlots(())
    +    SetActivePlots((0,1))
    +    HideActivePlots()
    +    #Test("curve_2_04")
    +    HideActivePlots()
    +    Test("curve_2_05")
    +    SetActivePlots((1))
    +    HideActivePlots()
    +    Test("curve_2_06")
    +    HideActivePlots()
    +
    +    # test hiding some curves
    +    SetActivePlots((2,3,4))
    +    HideActivePlots()
    +    Test("curve_2_07")
    +    HideActivePlots()
    +    SetActivePlots((2))
    +    HideActivePlots()
    +    Test("curve_2_08")
    +    HideActivePlots()
    +    SetActivePlots((3))
    +    HideActivePlots()
    +    Test("curve_2_09")
    +    HideActivePlots()
    +    SetActivePlots((4))
    +    HideActivePlots()
    +    Test("curve_2_10")
    +    HideActivePlots()
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("ucd2d.silo"))
    +
    +    CloseDatabase(data_path("curve_test_data/ol_curveA.curve"))
    +
    +    CloseDatabase(data_path("curve_test_data/ol_curveB.curve"))
    +
    +    CloseDatabase(data_path("curve_test_data/ol_curveC.curve"))
    +
    +
    +def TestPointsAndSymbols():
    +    TestSection("Points and Symbols")
    +    OpenDatabase(data_path("curve_test_data/ol_curveA.curve"))
    +
    +    AddPlot("Curve","ol_curveA")
    +    #points and lines
    +    curve = CurveAttributes()
    +    curve.showLabels = 0
    +    curve.showPoints = 1
    +    curve.curveColorSource = curve.Custom
    +    curve.curveColor = (0, 0, 0, 255)
    +    SetPlotOptions(curve)
    +    DrawPlots()
    +    ResetView()
    +    v = GetViewCurve()
    +    v.domainCoords = (-0.5, 5.5)
    +    v.rangeCoords = (-0.5, 3.5)
    +    SetViewCurve(v)
    +    Test("curve_3_01")
    +
    +    #stride the points
    +    curve.pointStride = 3
    +    SetPlotOptions(curve)
    +    Test("curve_3_02")
    +
    +    #Dynamic fill 
    +    curve.pointFillMode = curve.Dynamic
    +    SetPlotOptions(curve)
    +    Test("curve_3_03")
    +
    +    #change density
    +    curve.symbolDensity = 10
    +    SetPlotOptions(curve)
    +    Test("curve_3_04")
    +
    +    #Symbol 
    +    curve.symbol = curve.TriangleDown
    +    SetPlotOptions(curve)
    +    Test("curve_3_05")
    +
    +    #Zoom 
    +    v.domainCoords = (2, 5)
    +    v.rangeCoords = (2, 4)
    +    SetViewCurve(v)
    +    Test("curve_3_06")
    +
    +    #Symbol 
    +    v.domainCoords = (-0.5, 5.5)
    +    v.rangeCoords = (-0.5, 3.5)
    +    SetViewCurve(v)
    +    curve.symbol = curve.Plus
    +    SetPlotOptions(curve)
    +    Test("curve_3_07")
    +
    +    #Static with symbols
    +    curve.pointFillMode = curve.Static
    +    curve.pointStride = 1
    +    curve.symbol = curve.Circle
    +    SetPlotOptions(curve)
    +    Test("curve_3_08")
    +
    +    #Remove lines
    +    curve.showLines = 0
    +    curve.symbol = curve.X
    +    SetPlotOptions(curve)
    +    Test("curve_3_09")
    +
    +    #Remove lines
    +    curve.pointFillMode = curve.Dynamic
    +    curve.symbolDensity = 30
    +    curve.symbol = curve.TriangleUp
    +    SetPlotOptions(curve)
    +    Test("curve_3_10")
    +
    +    OpenDatabase(data_path("curve_test_data/ol_curveB.curve"))
    +
    +    AddPlot("Curve", "ol_curveB")
    +    DrawPlots()
    +    c2 = CurveAttributes()
    +    c2.showLabels = 0
    +    c2.curveColorSource = c2.Custom
    +    c2.curveColor = (255, 0, 0, 255)
    +    SetPlotOptions(c2)
    +    AddOperator("Transform")
    +    ta2=TransformAttributes()
    +    ta2.doTranslate=1
    +    ta2.translateX=-0.35
    +    SetOperatorOptions(ta2)
    +    DrawPlots()
    +    DrawPlots()
    +    Test("curve_3_11")
    +
    +    c2.showLines = 0
    +    c2.showPoints = 1
    +    c2.pointFillMode = c2.Dynamic
    +    c2.symbol = c2.Circle
    +    c2.symbolDensity = 30
    +    SetPlotOptions(c2)
    +    DrawPlots()
    +    Test("curve_3_12")
    +
    +
    +    OpenDatabase(data_path("curve_test_data/ol_curveC.curve"))
    +
    +    AddPlot("Curve", "ol_curveC")
    +    DrawPlots()
    +    c3 = CurveAttributes()
    +    c3.showLabels = 0
    +    c3.showPoints = 1
    +    c3.curveColorSource = c2.Custom
    +    c3.curveColor = (0, 255, 0, 255)
    +    SetPlotOptions(c3)
    +    AddOperator("Transform")
    +    ta3=TransformAttributes()
    +    ta3.doTranslate=1
    +    ta3.translateX=0.25
    +    SetOperatorOptions(ta3)
    +    DrawPlots()
    +    Test("curve_3_13")
    +
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/ol_curveA.curve"))
    +
    +    CloseDatabase(data_path("curve_test_data/ol_curveB.curve"))
    +
    +    CloseDatabase(data_path("curve_test_data/ol_curveB.curve"))
    +
    +
    +def TestTimeCue():
    +    TestSection("Time Cue")
    +    OpenDatabase(data_path("curve_test_data/ol_curveC.curve"))
    +
    +    AddPlot("Curve", "ol_curveC")
    +    c = CurveAttributes()
    +    c.showLabels = 0
    +    c.showPoints = 1
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (0, 0, 0, 255)
    +    c.doBallTimeCue = 1
    +    c.timeCueBallSize = 1
    +    c.ballTimeCueColor = (0, 255, 0, 255)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +
    +    v = GetViewCurve()
    +    v.domainCoords = (-0.25, 10.25)
    +    v.rangeCoords = (-0.25, 15.25)
    +    SetViewCurve(v)
    +
    +    SuppressQueryOutputOn()
    +    Query("NumNodes")
    +    n = int(GetQueryOutputValue())
    +    for i in range(n-1):
    +        c.timeForTimeCue = i
    +        SetPlotOptions(c)
    +        s = "curve_4_%02d" % i
    +        Test(s)
    +
    +    c.doLineTimeCue = 1
    +    c.lineTimeCueColor = c.ballTimeCueColor
    +    SetPlotOptions(c)
    +    s = "curve_4_%02d" % (n-1)
    +    Test(s)
    +
    +    c.lineTimeCueWidth = 3
    +    SetPlotOptions(c)
    +    s = "curve_4_%02d" % n
    +    Test(s)
    +    n = n+ 1
    +
    +    c.doCropTimeCue = 1
    +    SetPlotOptions(c)
    +    s = "curve_4_%02d" % n
    +    Test(s)
    +
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/ol_curveC.curve"))
    +
    +def TestPolar():
    +    TestSection("Polar")
    +    OpenDatabase(data_path("curve_test_data/rose_theta_r_rads.ultra"))
    +    AddPlot("Curve", "rose")
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (255, 0, 0, 255)
    +    c.showLabels = 0
    +    c.doLineTimeCue = 0
    +    c.doCropTimeCue = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    ResetView()
    +    Test("polar_curve_01")
    +    c.polarToCartesian = 1
    +    c.polarCoordinateOrder = c.Theta_R
    +    c.angleUnits = c.Radians
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("polar_curve_02")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/rose_theta_r_rads.ultra"))
    +
    +    OpenDatabase(data_path("curve_test_data/rose_r_theta_rads.ultra"))
    +    AddPlot("Curve", "rose")
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (0, 0, 255, 255)
    +    c.showLabels = 0
    +    c.doLineTimeCue = 0
    +    c.doCropTimeCue = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    ResetView()
    +    Test("polar_curve_03")
    +    c.polarToCartesian = 1
    +    c.polarCoordinateOrder = c.R_Theta
    +    c.angleUnits = c.Radians
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("polar_curve_04")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/rose_r_theta_rads.ultra"))
    +
    +    OpenDatabase(data_path("curve_test_data/spiral_r_theta_deg.ultra"))
    +    AddPlot("Curve", "spiral")
    +    c.curveColor = (0, 255, 0, 255)
    +    c.polarToCartesian = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("polar_curve_05")
    +    c.polarToCartesian = 1
    +    c.polarCoordinateOrder = c.R_Theta
    +    c.angleUnits = c.Degrees
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("polar_curve_06")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/spiral_r_theta_deg.ultra"))
    +
    +    OpenDatabase(data_path("curve_test_data/circle.ultra"))
    +    AddPlot("Curve", "circle")
    +    c.curveColor = (255, 0, 255, 255)
    +    c.polarToCartesian = 0
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("polar_curve_07")
    +    c.polarToCartesian = 1
    +    c.polarCoordinateOrder = c.Theta_R
    +    c.angleUnits = c.Degrees
    +    SetPlotOptions(c)
    +    ResetView()
    +    Test("polar_curve_08")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/circle.ultra"))
    +
    +def TestScale():
    +    TestSection("Scale")
    +    OpenDatabase(data_path("curve_test_data/need_scale.ultra"))
    +    AddPlot("Curve", "toobig")
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (40, 165, 165, 255)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("curve_scale_00")
    +
    +    t = TransformAttributes()
    +    t.doScale =1
    +    t.scaleX=1e-15
    +    t.scaleY=1e-15
    +    t.scaleZ=1e-15
    +    AddOperator("Transform")
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("curve_scale_01")
    +
    +    RemoveLastOperator()
    +    ChangeActivePlotsVar("toosmall")
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("curve_scale_02")
    +
    +    t.scaleX=1e+15
    +    t.scaleY=1e+15
    +    t.scaleZ=1e+15
    +    AddOperator("Transform")
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("curve_scale_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/need_scale.ultra"))
    +
    +def Main():
    +    Test1()
    +    TestOverlayCurves()
    +    TestPointsAndSymbols()
    +    TestTimeCue()
    +    TestPolar()
    +    TestScale()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_filledboundary.html b/2023-11-08-22:00/pascal_trunk_serial/plots_filledboundary.html new file mode 100644 index 000000000..e098eab1b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_filledboundary.html @@ -0,0 +1,84 @@ + +Results for plots/filledboundary.py + +

    Results of VisIt Regression Test - plots/filledboundary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    fb_wireframe_010.000.00
    fb_wireframe_020.000.00
    fb_lines_010.000.00
    fb_lines_020.000.00
    fb_lines_030.000.00
    fb_lines_040.000.00
    fb_points_010.000.00
    fb_points_020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_filledboundary_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_filledboundary_py.html new file mode 100644 index 000000000..63c0ed5f7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_filledboundary_py.html @@ -0,0 +1,110 @@ +plots/filledboundary.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  filledboundary.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#              plots     - FilledBoundary
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 11, 2020 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# singlecolor.py and multicolor.py test the coloring functionality of FB plots,
    +# so those aspects won't be heavily tested here.
    +
    +TurnOffAllAnnotations()
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +AddPlot("FilledBoundary", "mat1")
    +fb = FilledBoundaryAttributes()
    +
    +# test line settings, first with wireframe mode:
    +fb.wireframe = 1
    +SetPlotOptions(fb)
    +DrawPlots()
    +
    +# want to rotate the view to verify the lines are unlit
    +v = GetView3D()
    +viewNormal = (0, 0, -1)
    +SetView3D(v)
    +Test("fb_wireframe_01")
    +
    +fb.lineWidth = 3
    +SetPlotOptions(fb)
    +Test("fb_wireframe_02")
    +
    +# now with lines created by an operator/operator sequence
    +fb.lineWidth = 1
    +fb.wireframe = 0
    +SetPlotOptions(fb)
    +AddOperator("ThreeSlice")
    +ts = ThreeSliceAttributes()
    +ts.x = 0.5;
    +ts.y = 0.5;
    +ts.z = 0.5;
    +SetOperatorOptions(ts)
    +
    +AddOperator("ExternalSurface")
    +DrawPlots()
    +Test("fb_lines_01")
    +
    +# move ExternalSurface to before ThreeSlice
    +DemoteOperator(1)
    +fb.lineWidth = 4
    +SetPlotOptions(fb)
    +DrawPlots()
    +Test("fb_lines_02")
    +
    +# add another FB plot and play with opacity
    +AddPlot("FilledBoundary", "mat1")
    +fb2 = FilledBoundaryAttributes()
    +fb2.colorType = fb.ColorBySingleColor
    +fb2.singleColor=(255, 153, 0, 255)
    +fb2.opacity = 0.5
    +SetPlotOptions(fb2)
    +
    +DrawPlots()
    +Test("fb_lines_03")
    +DeleteAllPlots()
    +
    +
    +CloseDatabase(silo_data_path("rect3d.silo"))
    +
    +# Another way of producing lines in a FB plot: Add Edge operator
    +OpenDatabase(silo_data_path("noise.silo"))
    +AddPlot("FilledBoundary", "mat1")
    +fb2.opacity = 1
    +SetPlotOptions(fb2)
    +AddOperator("Edge")
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (0.0368258, 0.737081, -0.674801)
    +v.viewUp = (0.0382946, 0.673722, -0.737992)
    +SetView3D(v)
    +Test("fb_lines_04")
    +
    +# perhaps a bit contrived, but adding Edge and ThreeSlice operators together
    +# will generate points and allow testing of point glyphing functionality
    +AddOperator("ThreeSlice")
    +SetOperatorOptions(ts)
    +DrawPlots()
    +Test("fb_points_01")
    +
    +fb2.pointType = fb.Tetrahedron
    +fb2.pointSize = 1
    +SetPlotOptions(fb2)
    +Test("fb_points_02")
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("noise.silo"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_label.html b/2023-11-08-22:00/pascal_trunk_serial/plots_label.html new file mode 100644 index 000000000..105bad716 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_label.html @@ -0,0 +1,546 @@ + +Results for plots/label.py + +

    Results of VisIt Regression Test - plots/label

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    General label plot features
    label_0_000.000.00
    label_0_010.000.00
    label_0_020.000.00
    label_0_030.000.00
    label_0_040.000.00
    label_0_050.000.00
    label_0_060.000.00
    label_0_070.000.00
    label_0_080.000.00
    label_0_090.000.00
    label_0_100.000.00
    label_0_110.000.00
    label_0_120.000.00
    label_0_130.000.00
    label_0_140.000.00
    label_0_150.000.00
    label_0_160.000.00
    label_0_170.000.00
    label_0_180.000.00
    label_0_190.000.00
    label_0_200.000.00
    Curvilinear 2D
    label_1_000.000.00
    label_1_010.000.00
    label_1_020.000.00
    label_1_030.000.00
    label_1_040.000.00
    label_1_050.000.00
    label_1_060.000.00
    Rectilinear 2D
    label_2_000.000.00
    label_2_010.000.00
    label_2_020.000.00
    label_2_030.000.00
    label_2_040.000.00
    label_2_050.000.00
    Unstructured 2D
    label_3_000.000.00
    label_3_010.000.00
    label_3_020.000.00
    label_3_030.000.00
    Testing slicing 3D data to 2D
    label_4_000.000.00
    label_4_010.000.00
    label_4_020.000.00
    label_4_030.000.00
    VTK with labels
    label_5_010.000.00
    Labelling subsets
    label_6_000.000.00
    label_6_010.000.00
    label_6_020.000.00
    label_6_030.000.00
    label_6_040.000.00
    label_6_050.000.00
    Labelling tensors
    label_7_000.000.00
    label_7_010.000.00
    label_7_020.000.00
    label_7_030.000.00
    label_7_040.000.00
    label_7_050.000.00
    Labelling in 3D with Z buffer
    label_8_000.000.00
    label_8_010.000.00
    label_8_020.000.00
    label_8_030.000.00
    label_8_040.000.00
    label_8_050.000.00
    label_8_060.000.00
    label_8_070.000.00
    label_8_080.000.00
    label_8_090.000.00
    label_8_100.000.00
    label_8_110.000.00
    Labelling sliced vectors
    label_9_000.000.00
    label_9_010.000.00
    label_9_020.000.00
    Test 3D zooming and logical mesh display
    label_10_000.000.00
    label_10_010.000.00
    label_10_020.000.00
    label_10_030.000.00
    label_10_040.000.00
    label_10_050.000.00
    label_10_060.000.00
    Test datasets with mixed variables
    label_11_000.000.00
    label_11_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_label_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_label_py.html new file mode 100644 index 000000000..c01cf41f5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_label_py.html @@ -0,0 +1,1005 @@ +plots/label.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  label.py
    +#
    +#  Tests:      Tests the label plot
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Oct 22 15:50:06 PST 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Oct 27 15:08:27 PST 2004
    +#    I made the baseline images larger.
    +#
    +#    Mark C. Miller, Mon Apr 25 21:35:54 PDT 2005
    +#    I added tests for different data types
    +#
    +#    Kathleen Bonnell, Thu Jul 14 07:53:46 PDT 2005
    +#    Added TestLabeledVTK, to test reading and use of char data from VTK.
    +#
    +#    Brad Whitlock, Thu Aug 4 14:25:22 PST 2005
    +#    Added tests for labelling subsets and I also removed the single cell/node
    +#    stuff and replaced it with tests for setting individual cell/node
    +#    colors and text heights.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Brad Whitlock, Tue Nov 15 09:56:44 PDT 2005
    +#    Added another test for sliced vectors.
    +#
    +#    Brad Whitlock, Tue Apr 25 15:47:21 PST 2006
    +#    I added tests for making sure that Label plots of structured meshes
    +#    actually show their logical index nature by default. The tests also
    +#    show the Label plot with zooms that used to make the labels be incorrectly
    +#    offset from the other plots.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Alister Maguire, Mon Feb 26 10:22:04 PST 2018
    +#    Added TestMixedVariables for testing datasets with mixed variables.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin(("Boxlib2D", "SAMRAI", "VTK"))
    +
    +
    +# Create label attributes with somewhat larger text.
    +def CreateLabelAttributes():
    +    L = LabelAttributes()
    +    L.textFont1.scale = 5
    +    L.textFont2.scale = 5
    +    return L
    +
    +def SaveTestImage(name):
    +    # Save these images somewhat larger than a regular test case image
    +    # since the images contain a lot of text.
    +    swa = SaveWindowAttributes()
    +    swa.width = 500
    +    swa.height = 500
    +    swa.screenCapture = 0
    +    Test(name, swa)
    +
    +def TestGeneralFeatures():
    +    TestSection("General label plot features")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Label", "curvmesh2d")
    +    DrawPlots()
    +    SaveTestImage("label_0_00")
    +
    +    # Change the zoom a few times to see the number of labels adaptively change.
    +    v0 = View2DAttributes()
    +    v0.windowCoords = (-11.6154, 11.8294, -3.18886, 8.33075)
    +    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v0.fullFrameActivationMode = v0.Off
    +    SetView2D(v0)
    +    SaveTestImage("label_0_01")
    +
    +    v1 = View2DAttributes()
    +    v1.windowCoords = (-1.0815, 1.29556, 1.98696, 3.15493)
    +    v1.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v1.fullFrameActivationMode = v1.Off
    +    SetView2D(v1)
    +    SaveTestImage("label_0_02")
    +
    +    v2 = View2DAttributes()
    +    v2.windowCoords = (1.78125, 3.00819, 0.209532, 0.812385)
    +    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v2.fullFrameActivationMode = v2.Off
    +    AddPlot("Mesh", "curvmesh2d")
    +    DrawPlots()
    +    SetActivePlots(0)
    +    SetView2D(v2)
    +    SaveTestImage("label_0_03")
    +
    +    # Turn on nodes
    +    L = CreateLabelAttributes()
    +    L.showNodes = 1
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_04")
    +
    +    # Turn off cells
    +    L.showCells = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_05")
    +
    +    # Try showing nodes and cells and alter their respective sizes
    +    L.showCells = 1
    +    L.showNodes = 1
    +    L.textFont1.scale = 6
    +    L.textFont2.scale = 5
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_06")
    +
    +    # Change the cell color.
    +    L.textFont1.color = (0,255,0,255)
    +    L.textFont1.useForegroundColor = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_07")
    +
    +    # Change the node color
    +    L.textFont2.color = (100,10,255,255)
    +    L.textFont2.useForegroundColor = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_08")
    +    L.textFont1.color = (0,255,0,255)
    +    L.textFont2.color = (0,255,0,255)
    +
    +    # Change the structured indices to regular indices
    +    L.showCells = 1
    +    L.labelDisplayFormat = L.Index
    +    L.textFont1.scale = 5
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_09")
    +
    +    # Make the text a little bigger
    +    L.textFont1.scale = 8
    +    L.textFont2.scale = 8
    +    L.showCells = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_10")
    +
    +    # Test different text alignments
    +    L.textFont1.scale = 6
    +    L.textFont2.scale = 6
    +    L.horizontalJustification = L.Left
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_11")
    +    L.horizontalJustification = L.Right
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_12")
    +    L.horizontalJustification = L.HCenter
    +    L.verticalJustification = L.Top
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_13")
    +    L.verticalJustification = L.Bottom
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_14")
    +
    +    # Test changing the number of labels.
    +    L.verticalJustification = L.VCenter
    +    SetPlotOptions(L)
    +    ResetView()
    +    SaveTestImage("label_0_15")
    +    L.numberOfLabels = 40
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_16")
    +
    +    # Turn off restricting the number of labels.
    +    L.restrictNumberOfLabels = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_0_17")
    +    DeleteAllPlots()
    +
    +    # test different data types from the file
    +    OpenDatabase(silo_data_path("wave0000.silo"))
    +
    +    AddPlot("Label", "chars")
    +    DrawPlots()
    +    v3d=GetView3D()
    +    v3d.viewNormal=(0, 1, 0)
    +    v3d.viewUp=(0, 0, -1)
    +    SetView3D(v3d)
    +    SaveTestImage("label_0_18")
    +    DeleteAllPlots()
    +
    +    AddPlot("Label", "shorts")
    +    DrawPlots()
    +    SaveTestImage("label_0_19")
    +    DeleteAllPlots()
    +
    +    AddPlot("Label", "ints")
    +    DrawPlots()
    +    SaveTestImage("label_0_20")
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def TestCurvilinear2D():
    +    TestSection("Curvilinear 2D")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    AddPlot("Mesh", "curvmesh2d")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    SetPlotOptions(m)
    +    # Do a point variable
    +    AddPlot("Label", "u")
    +    DrawPlots()
    +    ResetView()
    +    SaveTestImage("label_1_00")
    +
    +    # Make the labels a little larger and zoom in on the cells
    +    v0 = View2DAttributes()
    +    v0.windowCoords = (-0.632297, 0.483674, 3.38963, 4.57713)
    +    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v0.fullFrameActivationMode = v0.Off
    +    SetView2D(v0)
    +    L = CreateLabelAttributes()
    +    L.textFont1.scale = 5
    +    L.textFont2.scale = 5
    +    SetPlotOptions(L)
    +    SaveTestImage("label_1_01")
    +
    +    # Change the a cell centered variable
    +    ChangeActivePlotsVar("d")
    +    SaveTestImage("label_1_02")
    +
    +    # Change to a node centered vector variable
    +    v0.windowCoords = (-0.662647, 0.179177, 3.52611, 4.4219)
    +    SetView2D(v0)
    +    ChangeActivePlotsVar("vel")
    +    SaveTestImage("label_1_03")
    +
    +    # Change to a mesh variable
    +    ChangeActivePlotsVar("curvmesh2d")
    +    L.showNodes = 1
    +    SetPlotOptions(L)
    +    SaveTestImage("label_1_04")
    +
    +    # Turn off a material
    +    v0.windowCoords = (-1.73904, -0.385797, 2.20216, 3.64214)
    +    SetView2D(v0)
    +    SaveTestImage("label_1_05")
    +    SetActivePlots((0,1,2))
    +    TurnMaterialsOff("2")
    +    SaveTestImage("label_1_06")
    +    DeleteAllPlots()
    +
    +def TestRectilinear2D():
    +    TestSection("Rectilinear 2D")
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "ascii")
    +    AddPlot("Mesh", "quadmesh2d")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    SetPlotOptions(m)
    +    AddPlot("Label", "ascii")
    +    DrawPlots()
    +    ResetView()
    +    v0 = View2DAttributes()
    +    v0.windowCoords = (0.425121, 0.574879, 0.566829, 0.766505)
    +    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v0.fullFrameActivationMode = v0.Off
    +    SetView2D(v0)
    +    L = CreateLabelAttributes()
    +    L.textFont1.scale = 5
    +    L.textFont2.scale = 5
    +    SetPlotOptions(L)
    +    SaveTestImage("label_2_00")
    +
    +    # Change to a cell centered float variable.
    +    ChangeActivePlotsVar("d")
    +    SaveTestImage("label_2_01")
    +
    +    # Change to a node centered variable
    +    ChangeActivePlotsVar("u")
    +    SaveTestImage("label_2_02")
    +
    +    # Change to a node centered vector variable
    +    ChangeActivePlotsVar("vel")
    +    v1 = View2DAttributes()
    +    v1.windowCoords = (0.478575, 0.543393, 0.650721, 0.737145)
    +    SetView2D(v1)
    +    SaveTestImage("label_2_03")
    +
    +    # Change to the mesh variable
    +    SetActivePlots((0,2))
    +    DeleteActivePlots()
    +    AddPlot("FilledBoundary", "mat1")
    +    AddPlot("Label", "quadmesh2d")
    +    DrawPlots()
    +    L.showNodes = 1
    +    L.textFont1.scale = 5
    +    L.textFont2.scale = 5
    +    SetPlotOptions(L)
    +    SaveTestImage("label_2_04")
    +
    +    # Turn off a material
    +    SetActivePlots((0,1,2))
    +    TurnMaterialsOff("16")
    +    SaveTestImage("label_2_05")
    +    DeleteAllPlots()
    +
    +
    +def TestUnstructured2D():
    +    TestSection("Unstructured 2D")
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Mesh", "ucdmesh2d")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    SetPlotOptions(m)
    +    AddPlot("Label", "ucdmesh2d")
    +    L = CreateLabelAttributes()
    +    L.showNodes = 1
    +    L.textFont1.scale = 6
    +    L.textFont2.scale = 6
    +    L.textFont1.color = (255,0,0,255)
    +    L.textFont2.color = (255,0,0,255)
    +    L.textFont1.useForegroundColor = 0
    +    L.textFont2.useForegroundColor = 0
    +    L.restrictNumberOfLabels = 0
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    v0 = View2DAttributes()
    +    v0.windowCoords = (-0.154956, 4.15496, -0.154956, 4.15496)
    +    v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v0.fullFrameActivationMode = v0.Off
    +    SetView2D(v0)
    +    SaveTestImage("label_3_00")
    +
    +    # Change to a nodal variable
    +    ChangeActivePlotsVar("d")
    +    SaveTestImage("label_3_01")
    +
    +    # Change to a cell centered variable
    +    ChangeActivePlotsVar("p")
    +    SaveTestImage("label_3_02")
    +
    +    # Change to a mesh variable and remove a material.
    +    ChangeActivePlotsVar("ucdmesh2d")
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +    L.textFont1.useForegroundColor = 1
    +    L.textFont2.useForegroundColor = 1
    +    SetPlotOptions(L)
    +    SetActivePlots((0,1,2))
    +    TurnMaterialsOff("2")
    +    SaveTestImage("label_3_03")
    +    DeleteAllPlots()
    +
    +def TestSlice():
    +    TestSection("Testing slicing 3D data to 2D")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    SetPlotOptions(m)
    +    AddPlot("Pseudocolor", "chromeVf")
    +    AddPlot("Label", "chromeVf")
    +    SetActivePlots((0,1,2))
    +    # Add a slice operator to all of the plots
    +    AddOperator("Slice")
    +    s = SliceAttributes()
    +    s.normal = (0,0,1)
    +    s.upAxis = (0,1,0)
    +    s.project2d = 0
    +    SetOperatorOptions(s)
    +    # Make the labels a little bigger
    +    L = CreateLabelAttributes()
    +    L.textFont1.scale = 7
    +    L.textFont2.scale = 7
    +    L.depthTestMode = L.LABEL_DT_NEVER
    +    SetPlotOptions(L)
    +    DrawPlots()
    +
    +    # Look at the slice from the front
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.550782, 0.318825, 0.771355)
    +    v0.focus = (0, 0, 0)
    +    v0.viewUp = (0.200365, 0.94765, -0.248624)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 17.3205
    +    v0.nearPlane = -34.641
    +    v0.farPlane = 34.641
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.82449
    +    v0.perspective = 0
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0, 0, 0)
    +    SetView3D(v0)
    +    SaveTestImage("label_4_00")
    +
    +    # Look at the slice from the back. It will only be visible if the
    +    # quantized normals were thrown out.
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (-0.681715, 0.349442, -0.642771)
    +    v1.focus = (0, 0, 0)
    +    v1.viewUp = (0.26946, 0.936726, 0.223465)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 17.3205
    +    v1.nearPlane = -34.641
    +    v1.farPlane = 34.641
    +    v1.imagePan = (0, 0)
    +    v1.imageZoom = 1.82449
    +    v1.perspective = 0
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (0, 0, 0)
    +    SetView3D(v1)
    +    SaveTestImage("label_4_01")
    +
    +    # Project the slice to 2D
    +    s.project2d = 1
    +    SetOperatorOptions(s)
    +    v2 = View2DAttributes()
    +    v2.windowCoords = (-8.64231, -5.11567, 2.53613, 6.24948)
    +    SetView2D(v2)
    +    SaveTestImage("label_4_02")
    +
    +    # Set the slice normal so it does not line up with an axis.
    +    s.normal = (1,2,3)
    +    SetOperatorOptions(s)
    +    SaveTestImage("label_4_03")
    +    DeleteAllPlots()
    +
    +def TestLabeledVTK():
    +    TestSection("VTK with labels")
    +    OpenDatabase(data_path("vtk_test_data/labeledBox.vtk"))
    +
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Label", "cellLabel")
    +    AddPlot("Label", "nodeLabels")
    +    DrawPlots()
    +    SetActivePlots((1, 2))
    +    l = LabelAttributes()
    +    l.textFont1.scale = 8
    +    l.textFont2.scale = 8
    +    l.depthTestMode = l.LABEL_DT_NEVER
    +    SetPlotOptions(l)
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.826308, 0.365749, 0.428303)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.262408, 0.92288, -0.28184)
    +    v.parallelScale = 1.55885
    +    v.nearPlane = -3.11769
    +    v.farPlane  =  3.11769
    +    v.imageZoom = 0.941919
    +    SetView3D(v)
    +
    +    SaveTestImage("label_5_01")
    +    DeleteAllPlots()
    +
    +def TestLabellingSubsets():
    +    TestSection("Labelling subsets")
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("Mesh", "mesh")
    +    AddPlot("Subset", "blocks")
    +    AddPlot("Label", "blocks")
    +    l = LabelAttributes()
    +    l.restrictNumberOfLabels = 0
    +    l.textFont1.scale = 5
    +    l.depthTestMode = l.LABEL_DT_NEVER
    +    SetPlotOptions(l)
    +    SetActivePlots((0,1,2))
    +    TurnDomainsOff()
    +    TurnDomainsOn(("domain1","domain10","domain19"))
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (0.465057, -0.448026, -0.763541)
    +    v.focus = (0.166667, 0.166667, 0.5)
    +    v.viewUp = (-0.243345, -0.893956, 0.376333)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.552771
    +    v.nearPlane = -1.10554
    +    v.farPlane = 1.10554
    +    v.imagePan = (0.0545619, 0.050939)
    +    v.imageZoom = 1.32578
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.166667, 0.166667, 0.5)
    +    SetView3D(v)
    +    SaveTestImage("label_6_00")
    +
    +    SetActivePlots((1,2))
    +    ChangeActivePlotsVar("domains")
    +    SaveTestImage("label_6_01")
    +
    +    SetActivePlots(1)
    +    DeleteActivePlots()
    +    AddPlot("FilledBoundary", "mat")
    +    SetActivePlots(1)
    +    DrawPlots()
    +    ChangeActivePlotsVar("mat")
    +    SaveTestImage("label_6_02")
    +
    +    # Try an AMR dataset
    +    DeleteAllPlots()
    +    OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Subset", "patches")
    +    s = SubsetAttributes()
    +    s.legendFlag = 0
    +    SetPlotOptions(s)
    +    AddPlot("Label", "patches")
    +    l = LabelAttributes()
    +    l.restrictNumberOfLabels = 0
    +    l.textFont1.scale = 4.7
    +    SetPlotOptions(l)
    +    DrawPlots()
    +    v = View2DAttributes()
    +    v.windowCoords = (0.0126663, 0.0146908, 0.115281, 0.117298)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_6_03")
    +
    +    SetActivePlots((1,2))
    +    ChangeActivePlotsVar("levels")
    +    v = View2DAttributes()
    +    v.windowCoords = (0.0250949, 0.0437515, 0.11359, 0.132218)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SetActivePlots(2)
    +    l.textFont1.scale = 4
    +    SetPlotOptions(l)
    +    SaveTestImage("label_6_04")
    +    DeleteAllPlots()
    +
    +    # Try a dataset with real material names.
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("FilledBoundary", "mat1")
    +    AddPlot("Label", "mat1")
    +    l = LabelAttributes()
    +    l.textFont1.scale = 5
    +    SetPlotOptions(l)
    +    SetActivePlots((0,1,2))
    +    AddOperator("Slice")
    +    DrawPlots()
    +    v = View2DAttributes()
    +    v.windowCoords = (-9.37363, -6.58974, -2.85531, -0.327839)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_6_05")
    +    DeleteAllPlots()
    +
    +
    +def TestLabellingTensors():
    +    TestSection("Labelling tensors")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Tensor", "grad_tensor")
    +    t = TensorAttributes()
    +    t.useStride = 1
    +    SetPlotOptions(t)
    +    AddPlot("Label", "grad_tensor")
    +    SetActivePlots((0,1,2))
    +    AddOperator("Slice")
    +    DrawPlots()
    +    ResetView()
    +    SaveTestImage("label_7_00")
    +
    +    v = View2DAttributes()
    +    v.windowCoords = (-9.13799, -4.37695, -7.71782, -2.97379)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_7_01")
    +
    +    v.windowCoords = (-8.50106, -7.83502, -6.43747, -5.77381)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_7_02")
    +
    +    # Now see how changing the text height affects binning
    +    ResetView()
    +    l = LabelAttributes()
    +    l.textFont1.scale = 3
    +    SetActivePlots(2)
    +    SetPlotOptions(l)
    +    SaveTestImage("label_7_03")
    +
    +    l.textFont1.scale = 6
    +    SetPlotOptions(l)
    +    SaveTestImage("label_7_04")
    +
    +    SetView2D(v)
    +    SaveTestImage("label_7_05")
    +
    +    DeleteAllPlots()
    +
    +def TestLabelling3D():
    +    TestSection("Labelling in 3D with Z buffer")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "airVf")
    +    AddPlot("Label", "airVf")
    +    L = LabelAttributes()
    +    L.restrictNumberOfLabels = 0
    +    L.depthTestMode = L.LABEL_DT_NEVER
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    ResetView()
    +    SaveTestImage("label_8_00")
    +
    +    # Turn on depth testing
    +    L.depthTestMode = L.LABEL_DT_AUTO
    +    SetPlotOptions(L)
    +    SaveTestImage("label_8_01")
    +
    +    # Apply an Isosurface operator to make things really convoluted
    +    SetActivePlots((0,1))
    +    AddOperator("Isosurface")
    +    iso = IsosurfaceAttributes()
    +    iso.contourNLevels = 1
    +    iso.variable="hardyglobal"
    +    SetOperatorOptions(iso)
    +    v = View3DAttributes()
    +    v.viewNormal = (0.883239, -0.244693, -0.400019)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.435303, 0.745036, 0.505404)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0.022398, -0.134568)
    +    v.imageZoom = 3.35882
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +    DrawPlots()
    +    SaveTestImage("label_8_02")
    +
    +    #
    +    # Try labelling a mesh that has interior stuff
    +    #
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "speed")
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Label", "mesh1")
    +    L = CreateLabelAttributes()
    +    L.restrictNumberOfLabels = 0
    +    L.drawLabelsFacing = L.FrontAndBack
    +    L.depthTestMode = L.LABEL_DT_AUTO
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    ResetView()
    +    v.viewNormal = (-0.735192, 0.371514, 0.566984)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.2695, 0.927683, -0.258407)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.60959
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +    SaveTestImage("label_8_03")
    +
    +    v1 = View3DAttributes()
    +    v1.viewNormal = (0, 0, 1)
    +    v1.focus = (0, 0, 0)
    +    v1.viewUp = (0, 1, 0)
    +    v1.viewAngle = 30
    +    v1.parallelScale = 17.3205
    +    v1.nearPlane = -34.641
    +    v1.farPlane = 34.641
    +    v1.imagePan = (0, 0)
    +    v1.imageZoom = 5.06081
    +    v1.perspective = 1
    +    v1.eyeAngle = 2
    +    v1.centerOfRotationSet = 0
    +    v1.centerOfRotation = (0, 0, 0)
    +    SetView3D(v1)
    +    SaveTestImage("label_8_04")
    +
    +    # Turn on node labels
    +    L.showNodes = 1
    +    SetPlotOptions(L)
    +    SaveTestImage("label_8_05")
    +
    +    # Label a variable that would normally have labels that protrude into
    +    # the dataset
    +    ChangeActivePlotsVar("speed")
    +    ResetView()
    +    SaveTestImage("label_8_06")
    +
    +    SetView3D(v)
    +    SaveTestImage("label_8_07")
    +    DeleteAllPlots()
    +
    +    #
    +    # Try labelling a 3D AMR dataset
    +    #
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    AddPlot("Pseudocolor", "Primitive Var _number_0")
    +    AddPlot("Mesh", "amr_mesh")
    +    AddPlot("Label", "levels")
    +    L = CreateLabelAttributes()
    +    L.showNodes = 1
    +    L.showCells = 0
    +    L.restrictNumberOfLabels = 0
    +    L.depthTestMode = L.LABEL_DT_NEVER
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    v2 = View3DAttributes()
    +    v2.viewNormal = (-0.643521, -0.624962, -0.441931)
    +    v2.focus = (15, 10, 10)
    +    v2.viewUp = (0.320552, 0.304253, -0.897038)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 20.6155
    +    v2.nearPlane = -41.2311
    +    v2.farPlane = 41.2311
    +    v2.imagePan = (-0.0412674, 0.141248)
    +    v2.imageZoom = 1.871
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (15, 10, 10)
    +    SetView3D(v2)
    +    SaveTestImage("label_8_08")
    +
    +    # Turn on zbuffering
    +    L.depthTestMode = L.LABEL_DT_AUTO
    +    SetPlotOptions(L)
    +    SaveTestImage("label_8_09")
    +
    +    # Restrict the number of labels
    +    L.restrictNumberOfLabels = 1
    +    L.numberOfLabels = 900
    +    L.depthTestMode = L.LABEL_DT_NEVER
    +    SetPlotOptions(L)
    +    SaveTestImage("label_8_10")
    +
    +    # Turn on zbuffering
    +    L.depthTestMode = L.LABEL_DT_AUTO
    +    SetPlotOptions(L)
    +    SaveTestImage("label_8_11")
    +    DeleteAllPlots()
    +
    +def TestSlicedVectors():
    +    TestSection("Labelling sliced vectors")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Label", "grad")
    +    L = CreateLabelAttributes()
    +    L.depthTestMode = L.LABEL_DT_NEVER
    +    SetPlotOptions(L)
    +    SetActivePlots((0,1))
    +    AddOperator("Slice")
    +    DrawPlots()
    +
    +    v = View2DAttributes()
    +    v.windowCoords = (-0.370383, 0.566874, -0.275836, 0.66177)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_9_00")
    +
    +    AddPlot("Vector", "grad")
    +    vec = VectorAttributes()
    +    vec.useStride = 1
    +    vec.scale = 0.5
    +    SetPlotOptions(vec)
    +    AddOperator("Slice")
    +    SetActivePlots((0,1,2))
    +    s = SliceAttributes()
    +    s.project2d = 0
    +    SetOperatorOptions(s)
    +    DrawPlots()
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.332304, 0.933436, 0.135169)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.353747, 0.00950422, -0.935293)
    +    v.viewAngle = 30
    +    v.parallelScale = 14.1421
    +    v.nearPlane = -28.2843
    +    v.farPlane = 28.2843
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 17.3567
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +    SaveTestImage("label_9_01")
    +
    +    # Test a case where having the vector be an expression was causing
    +    # VisIt to mess up.
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddPlot("Label", "vel")
    +    L = LabelAttributes()
    +    L.textFont1.scale = 6
    +    L.textFont1.color = (255,0,0,255)
    +    L.textFont1.useForegroundColor = 0
    +    SetPlotOptions(L)
    +    SetActivePlots((0,1))
    +    AddOperator("Slice")
    +    s = SliceAttributes()
    +    s.originType = s.Intercept
    +    s.originIntercept = 0
    +    s.axisType = s.YAxis
    +    s.project2d = 1
    +    SetOperatorOptions(s)
    +    DrawPlots()
    +    v = View2DAttributes()
    +    v.windowCoords = (0.0476715, 0.155784, 0.874164, 0.991825)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.fullFrameActivationMode = v.Off  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    SetView2D(v)
    +    SaveTestImage("label_9_02")
    +
    +def TestRectilinearLogicalDisplay():
    +    TestSection("Test 3D zooming and logical mesh display")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Label", "Mesh")
    +    L = CreateLabelAttributes()
    +    SetPlotOptions(L)
    +    DrawPlots()
    +
    +    # Also zoom in using some views obtained from rubber-band style
    +    # views that would have made the labels migrate from their
    +    # correct locations in older versions of VisIt.
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.566084, -0.288713, 0.772135)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.357175, 0.930078, 0.0859103)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0.104981, 0.174394)
    +    v.imageZoom = 12.8916
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +    SaveTestImage("label_10_00")
    +
    +    # Make it be displayed using index style numbers.
    +    L.labelDisplayFormat = L.Index
    +    SetPlotOptions(L)
    +    SaveTestImage("label_10_01")
    +
    +    # Make sure the labels are in the right place when we tell VisIt
    +    # to draw them all instead of binning.
    +    L.restrictNumberOfLabels = 0
    +    SetPlotOptions(L)
    +    SaveTestImage("label_10_02")
    +
    +    # Try a nodal variable.
    +    ChangeActivePlotsVar("hardyglobal")
    +    SaveTestImage("label_10_03")
    +
    +    # Try a 2D rectilinear mesh
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "hgslice")
    +    AddPlot("Mesh", "Mesh2D")
    +    AddPlot("Label", "Mesh2D")
    +    L = CreateLabelAttributes()
    +    SetPlotOptions(L)
    +    DrawPlots()
    +
    +    v1 = GetView2D()
    +    v1.windowCoords = (-7.52178, -5.09684, -8.8535, -6.43779)
    +    v1.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v1)
    +    SaveTestImage("label_10_04")
    +
    +    # Try a 3D curvilinear mesh
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh3d")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.On
    +    SetPlotOptions(m)
    +    AddPlot("Label", "curvmesh3d")
    +    L = CreateLabelAttributes()
    +    SetPlotOptions(L)
    +    DrawPlots()
    +    v2 = GetView3D()
    +    v2.viewNormal = (0.405434, 0.494827, 0.768615)
    +    v2.focus = (0, 2.5, 15)
    +    v2.viewUp = (-0.296176, 0.866572, -0.401662)
    +    v2.viewAngle = 30
    +    v2.parallelScale = 16.0078
    +    v2.nearPlane = -32.0156
    +    v2.farPlane = 32.0156
    +    v2.imagePan = (0.129303, 0.36944)
    +    v2.imageZoom = 43.2454
    +    v2.perspective = 1
    +    v2.eyeAngle = 2
    +    v2.centerOfRotationSet = 0
    +    v2.centerOfRotation = (0, 2.5, 15)
    +    SetView3D(v2)
    +    SaveTestImage("label_10_05")
    +
    +    ChangeActivePlotsVar("u")
    +    SaveTestImage("label_10_06")
    +    DeleteAllPlots()
    +
    +def TestMixedVariables():
    +    TestSection("Test datasets with mixed variables")
    +    DeleteAllPlots()
    +
    +    ma = GetMaterialAttributes()
    +    ma.forceMIR = 1
    +    SetMaterialAttributes(ma)
    +
    +    OpenDatabase(silo_data_path("specmix_ucd.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Label", "d")
    +    L = CreateLabelAttributes()
    +    SetPlotOptions(L)
    +    DrawPlots()
    +
    +    View2DAtts = View2DAttributes()
    +    View2DAtts.windowCoords = (-10.9988, -8.83259, 1.01139, 3.18029)
    +    View2DAtts.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(View2DAtts)
    +
    +    SaveTestImage("label_11_00")
    +
    +    View2DAtts = View2DAttributes()
    +    View2DAtts.windowCoords = (0.474811, 3.09596, 1.20289, 3.82726)
    +    View2DAtts.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(View2DAtts)
    +
    +    SaveTestImage("label_11_01")
    +
    +    DeleteAllPlots()
    +
    +def main():
    +    TestGeneralFeatures()
    +    TestCurvilinear2D()
    +    TestRectilinear2D()
    +    TestUnstructured2D()
    +    TestSlice()
    +    TestLabeledVTK()
    +    TestLabellingSubsets()
    +    TestLabellingTensors()
    +    TestLabelling3D()
    +    TestSlicedVectors()
    +    TestRectilinearLogicalDisplay()
    +    TestMixedVariables()
    +
    +# Run all of the tests
    +main()
    +
    +# Exit the test
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_mesh.html b/2023-11-08-22:00/pascal_trunk_serial/plots_mesh.html new file mode 100644 index 000000000..46185a121 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_mesh.html @@ -0,0 +1,249 @@ + +Results for plots/mesh.py + +

    Results of VisIt Regression Test - plots/mesh

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing random color mode
    mesh_random_color_010.000.00
    mesh_random_color_020.000.00
    mesh_random_color_030.000.00
    Mesh plot of a 3D curvilinear mesh
    mesh_curve_010.000.00
    mesh_curve_020.000.00
    mesh_curve_030.000.00
    Mesh plot of a point mesh
    mesh_point_010.000.00
    mesh_point_020.000.00
    mesh_point_030.000.00
    mesh_point_040.000.00
    mesh_point_050.000.00
    mesh_point_060.000.00
    mesh_point_070.000.00
    mesh_point_080.000.00
    mesh_point_090.000.00
    mesh_point_100.000.00
    mesh_point_110.000.00
    mesh_point_120.000.00
    Mesh plot of a 3D unstructured mesh
    mesh_globe_010.000.00
    mesh_globe_020.000.00
    mesh_globe_030.000.00
    mesh_globe_040.000.00
    Mesh plot of a 3D rectilinear mesh
    mesh_rect3d_010.000.00
    Testing Mesh plot's opaque flag
    mesh_opaque_010.000.00
    mesh_opaque_020.000.00
    mesh_opaque_030.000.00
    mesh_opaque_040.000.00
    mesh_opaque_050.000.00
    mesh_opaque_060.000.00
    mesh_opaque_070.000.00
    mesh_opaque_080.000.00
    Testing custom color mode
    mesh_custom_color_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_mesh_c.html b/2023-11-08-22:00/pascal_trunk_serial/plots_mesh_c.html new file mode 100644 index 000000000..d73ad444a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_mesh_c.html @@ -0,0 +1,249 @@ + +Results for plots/mesh_c.py + +

    Results of VisIt Regression Test - plots/mesh_c

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing random color mode
    mesh_random_color_010.000.00
    mesh_random_color_020.000.00
    mesh_random_color_030.000.00
    Mesh plot of a 3D curvilinear mesh
    mesh_curve_010.000.00
    mesh_curve_020.000.00
    mesh_curve_030.000.00
    Mesh plot of a point mesh
    mesh_point_010.000.00
    mesh_point_020.000.00
    mesh_point_030.000.00
    mesh_point_040.000.00
    mesh_point_050.000.00
    mesh_point_060.000.00
    mesh_point_070.000.00
    mesh_point_080.000.00
    mesh_point_090.000.00
    mesh_point_100.000.00
    mesh_point_110.000.00
    mesh_point_120.000.00
    Mesh plot of a 3D unstructured mesh
    mesh_globe_010.000.00
    mesh_globe_020.000.00
    mesh_globe_030.000.00
    mesh_globe_040.000.00
    Mesh plot of a 3D rectilinear mesh
    mesh_rect3d_010.000.00
    Testing Mesh plot's opaque flag
    mesh_opaque_010.000.00
    mesh_opaque_020.000.00
    mesh_opaque_030.000.00
    mesh_opaque_040.000.00
    mesh_opaque_050.000.00
    mesh_opaque_060.000.00
    mesh_opaque_070.000.00
    mesh_opaque_080.000.00
    Testing custom color mode
    mesh_custom_color_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_mesh_c_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_mesh_c_py.html new file mode 100644 index 000000000..a0ac1b937 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_mesh_c_py.html @@ -0,0 +1,21 @@ +plots/mesh_c.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mesh_c.py
    +#
    +#  Tests:      Runs the mesh.py test but with compression turned on.
    +#              mesh.py tests for existence of 'useCompression' variable
    +#              and turns on compression if it exists. We expect identical
    +#              output from the tests but because this py file has a different
    +#              name, it will generate them a subdir by the name 'mesh_c'
    +#              and look for baselines likewise. So, in baseline dir,
    +#              the mesh_c dir is a symlink to scalable.
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       19Aug08
    +#
    +# ----------------------------------------------------------------------------
    +
    +useCompression = 1
    +Source(tests_path("plots","mesh.py"))
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_mesh_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_mesh_py.html new file mode 100644 index 000000000..56185edf5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_mesh_py.html @@ -0,0 +1,446 @@ +plots/mesh.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mesh.py
    +#
    +#  Tests:      mesh      - 3D structured, single domain
    +#                        - 3D point, single domain
    +#                        - 2D point, single domain
    +#                        - 3D unstructured, single domain
    +#              plots     - mesh, pseudocolor
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Bonnell
    +#  Date:       September 03, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Change the way MeshPlot's opaque mode is set (now an enum, not a bool).
    +#
    +#    Kathleen Bonnell, Thu Sep  4 11:10:11 PDT 2003
    +#    Added two test for new MeshAttribute 'showInternal':  mesh_globe_04
    +#    and mesh_rect3d_01.
    +#
    +#    Brad Whitlock, Thu Apr 8 12:50:21 PDT 2004
    +#    Added tests to test the auto mesh opacity flag.
    +#
    +#    Jeremy Meredith, Tue May  4 12:41:49 PDT 2004
    +#    Added test for unglyphed (i.e. GL_POINT) point meshes.
    +#
    +#    Kathleen Bonnell, Tue Nov  2 16:20:55 PST 2004
    +#    Removed opaque-mode portion of mesh_point_01, as opaque-mode no longer
    +#    applies to Mesh plots of Point meshes.
    +#
    +#    Mark C. Miller, Tue Aug 19 17:31:29 PDT 2008
    +#    Add code to permit the test to be run with compression as well.
    +#
    +#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
    +#    Removed silly comment regarding global annotation object 'a'
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Wed Jun 10 17:39:23 PDT 2020
    +#    Move RandomColor test to be first test run so that changes in mesh plot
    +#    instances don't randomly make the test fail.
    +#
    +#    Kathleen Biagas, Thu Jun 11 07:57:10 PDT 2020
    +#    Add more data files to PointMesh test, to ensure data that doesnt' set
    +#    topological dimension to 0, and data with mixed topology can still do
    +#    point glyphing and changes point size.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag', 'backgroundFlag' with
    +#    'meshColorSource' and 'opaqueColorSource' respectively.
    +#
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Remove obsolete mesh att 'lineStyle'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def TestCurve():
    +    TestSection("Mesh plot of a 3D curvilinear mesh")
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh3d")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0.37, 0.48, 0.79)
    +    v.focus = (0, 2.5, 15)
    +    v.viewUp = (-0.18, 0.87, -0.45)
    +    v.imagePan = (0.08, 0.08)
    +    v.imageZoom = 2.0
    +    SetView3D(v)
    +
    +    Test("mesh_curve_01")
    +
    +    # Change color
    +    # and add a PC Plot.
    +    m = MeshAttributes()
    +    m.opaqueColorSource = m.OpaqueCustom
    +    m.opaqueColor = (0, 122, 200, 255)
    +    SetPlotOptions(m)
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Test("mesh_curve_02")
    +
    +    SetActivePlots(0)
    +    SetPlotOptions(m)
    +    SetActivePlots(1)
    +    HideActivePlots()
    +    Test("mesh_curve_03")
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("curv3d.silo"))
    +
    +def TestPointMesh():
    +    TestSection("Mesh plot of a point mesh")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "PointVar")
    +    p = PseudocolorAttributes()
    +    p.pointType = p.Box
    +    p.pointSize = 1.0
    +    SetPlotOptions(p)
    +
    +    DrawPlots()
    +    Test("mesh_point_01")
    +
    +    p.pointType = p.Icosahedron
    +    p.pointSize = 1.5
    +    SetPlotOptions(p)
    +    DrawPlots()
    +    Test("mesh_point_02")
    +
    +    DeleteActivePlots()
    +
    +    AddPlot("Mesh", "PointMesh")
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (0, 122, 200, 255)
    +    m.pointSize = 1.5
    +    m.pointType = m.Axis
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("mesh_point_03")
    +
    +    m.pointType = m.Point
    +    m.pointSizePixels = 1
    +    SetPlotOptions(m)
    +    Test("mesh_point_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("noise.silo"))
    +
    +    OpenDatabase(silo_data_path("noise2d.silo"))
    +
    +    AddPlot("Mesh", "PointMesh")
    +    ResetView()
    +    DrawPlots()
    +    m.pointType = m.Axis
    +    m.pointSizeVarEnabled = 1
    +    m.pointSizeVar = "PointVar"
    +    m.pointSize = 0.05
    +    SetPlotOptions(m)
    +    Test("mesh_point_05")
    +
    +    m.pointType = m.Point
    +    m.pointSizePixels = 1
    +    m.pointSizeVarEnabled = 0
    +    SetPlotOptions(m)
    +    Test("mesh_point_06")
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("noise2d.silo"))
    +
    +    OpenDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
    +
    +    AddPlot("Mesh", "points_mesh")
    +
    +    m = MeshAttributes()
    +    m.meshColorSource = m.MeshCustom
    +    m.meshColor = (0, 170, 255, 255)
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.605449, 0.469667, 0.642529)
    +    v.viewUp = (0.169201, 0.864818, -0.472716)
    +    SetView3D(v)
    +    Test("mesh_point_07")
    +
    +    m.pointSizePixels = 5
    +    SetPlotOptions(m)
    +    Test("mesh_point_08")
    +
    +    m.pointType = m.Tetrahedron
    +    m.pointSize = 3
    +    SetPlotOptions(m)
    +    Test("mesh_point_09")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
    +
    +    OpenDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +
    +    AddPlot("Mesh", "mesh")
    +    m.lineWidth = 3
    +    m.pointType = m.Point
    +    m.pointSizePixels = 2
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    ResetView()
    +
    +    Test("mesh_point_10")
    +
    +    m.pointSizePixels = 5
    +    SetPlotOptions(m)
    +    Test("mesh_point_11")
    +
    +    m.pointType = m.Icosahedron
    +    m.pointSize = 0.5
    +    SetPlotOptions(m)
    +    Test("mesh_point_12")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +
    +
    +def TestGlobe():
    +    TestSection("Mesh plot of a 3D unstructured mesh")
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (1, 0, 0)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0, 1, 0)
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.0
    +    SetView3D(v)
    +
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Off
    +    SetPlotOptions(m)
    +    Test("mesh_globe_01")
    +
    +    m.smoothingLevel = m.Fast
    +    SetPlotOptions(m)
    +    Test("mesh_globe_02")
    +
    +    m.smoothingLevel = m.High
    +    SetPlotOptions(m)
    +    Test("mesh_globe_03")
    +
    +    print(m.NONE)
    +    m.smoothingLevel = m.NONE
    +    m.opaqueMode = m.Auto
    +    m.showInternal = 1
    +    SetPlotOptions(m)
    +    ResetView()
    +
    +    TurnMaterialsOff(("1", "2", "4"))
    +
    +    AddOperator("Clip")
    +    clip = ClipAttributes()
    +    clip.plane1Status = 0
    +    clip.plane3Status = 1
    +    SetOperatorOptions(clip)
    +
    +    AddOperator("Transform")
    +    t = TransformAttributes()
    +    t.doRotate = 1
    +    t.rotateAxis = (1, 0, 0)
    +    t.rotateAmount = 112
    +    SetOperatorOptions(t)
    +    DrawPlots()
    +
    +    SetViewExtentsType("actual")
    +    Test("mesh_globe_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("globe.silo"))
    +
    +def TestRect3d():
    +    TestSection("Mesh plot of a 3D rectilinear mesh")
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    m.showInternal = 1
    +    SetPlotOptions(m)
    +
    +    #Show a small area that contains the boundary
    +    #between domains 1 & 2 by using the box operator
    +    AddOperator("Box")
    +    box = BoxAttributes();
    +    box.minx = 0.3
    +    box.maxx = 0.4
    +    box.miny = 0.1
    +    box.maxy = 0.2
    +    box.minz = 0.1
    +    box.maxz = 0.2
    +    SetOperatorOptions(box)
    +
    +    DrawPlots()
    +
    +    SetViewExtentsType("actual")
    +    v = GetView3D()
    +    v.viewNormal = (0.27, 0.27, 0.93)
    +    v.focus = (0.35, 0.15, 0.15)
    +    v.viewUp = (-0.06, 0.96, -0.26)
    +    v.parallelScale = 0.139692
    +    v.nearPlane = -0.28
    +    v.farPlane = 0.28
    +    SetView3D(v)
    +
    +    Test("mesh_rect3d_01")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +def TestAutoOpaqueFlag():
    +    TestSection("Testing Mesh plot's opaque flag")
    +
    +    # Set up a mesh plot with the auto opaque flag.
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    m = MeshAttributes()
    +    m.opaqueMode = m.Auto
    +    SetPlotOptions(m)
    +    ResetView()
    +    TurnMaterialsOn()
    +    DrawPlots()
    +    Test("mesh_opaque_01")
    +
    +    # Add a Pseudocolor plot and make sure that the mesh plot
    +    # is not drawn in opaque mode.
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Test("mesh_opaque_02")
    +
    +    # Hide the Pseudocolor plot and make sure that the mesh plot
    +    # goes opaque.
    +    HideActivePlots()
    +    Test("mesh_opaque_03")
    +
    +    # Unhide the Pseudocolor plot and then delete it. Make sure that the
    +    # mesh plot goes opaque.
    +    HideActivePlots()
    +    Test("mesh_opaque_04")
    +    DeleteActivePlots()
    +    Test("mesh_opaque_05")
    +    DeleteAllPlots()
    +
    +    # Restore a session file that has a keyframe animation where the mesh
    +    # plot exists over all frames but the Pseudocolor plot does not.
    +    RestoreSessionWithDifferentSources(tests_path("plots","mesh_opaque.session"), 0,
    +                                       silo_data_path("wave*.silo database"))
    +    # Turn off all annotations but preserve the background colors.
    +    TurnOffAllAnnotations(GetAnnotationAttributes())
    +    Test("mesh_opaque_06")
    +    SetTimeSliderState(4)
    +    Test("mesh_opaque_07")
    +    SetTimeSliderState(9)
    +    Test("mesh_opaque_08")
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("globe.silo"))
    +
    +def TestRandomColor():
    +    TestSection("Testing random color mode")
    +    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +    # Randomization of mesh colors is possible only at plot *creation* time.
    +    # Therefore, we need to adjust Mesh plot default attributes to set
    +    # the behavior *before* the plot is even created.
    +    m = MeshAttributes()
    +    savedMeshAttrs = m
    +    m.meshColorSource = m.MeshRandom
    +    SetDefaultPlotOptions(m)
    +    AddPlot("Mesh", "2D/mesh1_phzl")
    +    ResetView()
    +    DrawPlots()
    +    Test("mesh_random_color_01")
    +    DeleteActivePlots()
    +
    +    m.meshColorSource = m.Foreground
    +    SetDefaultPlotOptions(m)
    +    AddPlot("Mesh", "2D/mesh1_phzl")
    +    DrawPlots()
    +    Test("mesh_random_color_02")
    +    DeleteAllPlots()
    +
    +    # Add a series of mesh plots with random opaque color
    +    m = MeshAttributes()
    +    m.opaqueColorSource = m.OpaqueRandom
    +    SetDefaultPlotOptions(m)
    +    meshnames = ["2D/mesh1_phzl", "2D/mesh1_phzl2", "2D/mesh1_zl1", "2D/mesh1_zl2"]
    +    for i in range(len(meshnames)):
    +        mname = meshnames[i]
    +        AddPlot("Mesh", mname)
    +        AddOperator("Transform")
    +        ta = TransformAttributes()
    +        ta.doTranslate = 1
    +        ta.translateY = 3*i
    +        SetOperatorOptions(ta)
    +    DrawPlots()
    +    Test("mesh_random_color_03")
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +    SetDefaultPlotOptions(savedMeshAttrs)
    +
    +def TestCustomColor():
    +    TestSection("Testing custom color mode")
    +    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +    meshnames = ["2D/mesh1_phzl", "2D/mesh1_phzl2", "2D/mesh1_zl1", "2D/mesh1_zl2"]
    +    colors = [(255,0,0,255),(0,255,0,255),(0,0,255,255),(0,255,255,255)]
    +    for i in range(len(meshnames)):
    +        mname = meshnames[i]
    +        AddPlot("Mesh", mname)
    +        m = MeshAttributes()
    +        m.opaqueColorSource = m.OpaqueCustom
    +        m.opaqueColor = colors[i]
    +        m.meshColorSource = m.MeshCustom
    +        m.meshColor = (255,255,255,255)
    +        SetPlotOptions(m)
    +        AddOperator("Transform")
    +        ta = TransformAttributes()
    +        ta.doTranslate = 1
    +        ta.translateY = 3*i
    +        SetOperatorOptions(ta)
    +        DrawPlots()
    +    Test("mesh_custom_color_01")
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +def Main():
    +    TurnOffAllAnnotations()
    +    TestRandomColor()
    +    TestCurve()
    +    TestPointMesh()
    +    TestGlobe()
    +    TestRect3d()
    +    TestAutoOpaqueFlag()
    +    TestCustomColor()
    +
    +# Added to allow this test to be run with compression too.
    +# Another .py file sources this file with 'useCompression'
    +# defined.
    +if "useCompression" in dir():
    +    ra = GetRenderingAttributes()
    +    ra.compressionActivationMode = ra.Always
    +    SetRenderingAttributes(ra)
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_molecule.html b/2023-11-08-22:00/pascal_trunk_serial/plots_molecule.html new file mode 100644 index 000000000..e8a65ea82 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_molecule.html @@ -0,0 +1,123 @@ + +Results for plots/molecule.py + +

    Results of VisIt Regression Test - plots/molecule

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    molecule_010.000.00
    molecule_020.000.00
    molecule_030.000.00
    molecule_040.000.00
    molecule_050.000.00
    molecule_060.000.00
    molecule_070.000.00
    Replicate and CreateBonds operators with Molecule plot
    mol_rep_bonds_010.000.00
    mol_rep_bonds_020.000.00
    mol_rep_bonds_030.000.00
    mol_rep_bonds_040.000.00
    mol_rep_bonds_050.000.00
    mol_rep_bonds_060.000.00
    mol_rep_bonds_070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_molecule_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_molecule_py.html new file mode 100644 index 000000000..86cbf1bf0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_molecule_py.html @@ -0,0 +1,242 @@ +plots/molecule.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  molecule.py
    +#
    +#  Tests:      mesh      - 3D points
    +#              plots     - Molecule
    +#              operators - CreateBonds, Replicate
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 15, 2021 
    +#
    +#  Modifications:
    +#
    +#    Kathleen Biagas, Tue Jul 13 09:51:58 PDT 2021
    +#    Changed retrieval of renAtts from 'RenderingAttributes' to
    +#    'GetRenderingAttributes' when turning off specular highlighting. This
    +#    fixes a bug in scalable,parallel,icet mode where molecule_04 test would
    +#    fail to plot.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def SetGradientBackground():
    +    annot = GetAnnotationAttributes()
    +    annot.backgroundMode = annot.Gradient
    +    annot.gradientBackgroundStyle = annot.Radial
    +    annot.gradientColor1 = (102, 102, 153, 255)
    +    annot.gradientColor2 = (0, 0, 0, 255)
    +    annot.backgroundColor = (0, 0, 0, 255)
    +    annot.foregroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(annot)
    +
    +def SetWhiteBackground():
    +    annot = GetAnnotationAttributes()
    +    annot.backgroundMode = annot.Solid
    +    annot.foregroundColor = (0, 0, 0, 255)
    +    annot.backgroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(annot)
    +
    +def Test500x500(name):
    +    # Save these images somewhat larger than a regular test case image
    +    # to better see the molecules 
    +    backup = GetSaveWindowAttributes()
    +    swa = SaveWindowAttributes()
    +    swa.width = 500
    +    swa.height = 500
    +    swa.screenCapture = 1
    +    Test(name, swa)
    +    SetSaveWindowAttributes(backup)
    +
    +
    +def MoleculeOnly():
    +    # images similar to those in Molecule Plot docs
    +
    +    SetGradientBackground()
    +
    +    # add specular highlighting
    +    renAtts = GetRenderingAttributes()
    +    renAtts.specularFlag = 1
    +    SetRenderingAttributes(renAtts)
    +
    +    OpenDatabase(data_path("ProteinDataBank_test_data/crotamine.pdb"))
    +
    +    # color by element, Covalent radius, no bonds
    +    AddPlot("Molecule", "element")
    +    mol = MoleculeAttributes()
    +    mol.drawAtomsAs   = mol.SphereAtoms
    +    mol.scaleRadiusBy = mol.Covalent
    +    mol.drawBondsAs   = mol.NoBonds
    +    SetPlotOptions(mol)
    +
    +    DrawPlots()
    +
    +    v3d = GetView3D()
    +    v3d.viewNormal = (0.784142, -0.592494, -0.184587)
    +    v3d.viewUp = (-0.554863, -0.536159, -0.636129)
    +    v3d.imageZoom = 1.77156
    +    SetView3D(v3d)
    +
    +    Test500x500("molecule_01")
    +
    +    # color by residue, cylinder bonds, radius proportional to covalent radius
    +    ChangeActivePlotsVar("restype")
    +    mol.drawBondsAs = mol.CylinderBonds
    +    mol.radiusScaleFactor = 0.5
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    Test500x500("molecule_02")
    +
    +    # color by scalar (x-coord), no bonds
    +    DefineScalarExpression("x", "coord(mesh)[0]")
    +    ChangeActivePlotsVar("x")
    +    mol.drawAtomsAs = mol.NoAtoms
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    Test500x500("molecule_03")
    +
    +    # Create a blue-purple color table
    +    ccpl = ColorControlPointList()
    +    ccpl.discreteFlag=1
    +    ccpl.smoothing=ccpl.NONE
    +    ccpl.equalSpacingFlag=1
    +    p1 = ColorControlPoint()
    +    p1.colors = (51, 51, 153, 255)
    +    p1.position =  0
    +    ccpl.AddControlPoints(p1)
    +    p2 = ColorControlPoint()
    +    p2.colors = (204,153, 255, 255)
    +    p2.position =  1
    +    ccpl.AddControlPoints(p2)
    +    AddColorTable("BluePurp2", ccpl)
    +
    +    # color by backbone, atom and cylinder-bonds same fixed radius
    +    # special color table
    +    ChangeActivePlotsVar("backbone")
    +    mol.continuousColorTable="BluePurp2"
    +    mol.drawAtomsAs = mol.SphereAtoms
    +    mol.drawBondsAs = mol.CylinderBonds
    +    mol.scaleRadiusBy = mol.Fixed
    +    mol.radiusFixed = 0.2
    +    mol.bondRadius = 0.2
    +    SetPlotOptions(mol)
    +
    +    DrawPlots()
    +    # turn off specular highlighting
    +    renAtts = GetRenderingAttributes()
    +    renAtts.specularFlag = 0
    +    SetRenderingAttributes(renAtts)
    +    Test500x500("molecule_04")
    +
    +    DeleteAllPlots()
    +
    +    # ensure engine/viewer doesn't crash when using ImposterAtoms and scaleRadiusBy option is changed
    +    AddPlot("Molecule", "element")
    +    # get Fresh atts
    +    mol = MoleculeAttributes()
    +    # set up sphere imposters
    +    mol.drawAtomsAs = mol.ImposterAtoms
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    Test500x500("molecule_05")
    +    # now change scaleRadiusBy
    +    mol.scaleRadiusBy = mol.Covalent
    +    mol.radiusScaleFactor=4
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    Test500x500("molecule_06")
    +
    +    # changing radiusScaleFactor while using Imposter atoms used to crash the viewer
    +    mol.radiusScaleFactor=0.002
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    Test500x500("molecule_07")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("ProteinDataBank_test_data/crotamine.pdb"))
    +
    +def ReplicateAddBonds():
    +    TestSection("Replicate and CreateBonds operators with Molecule plot")
    +    SetWhiteBackground()
    +    OpenDatabase(data_path("vasp_test_data", "GaO40W12", "OUTCAR"))
    +    AddPlot("Mesh", "unitCell")
    +    AddPlot("Molecule", "element")
    +    mol = MoleculeAttributes()
    +    mol.radiusFixed=0.5
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +    ResetView()
    +
    +    v3D = GetView3D()
    +    v3D.viewNormal = (0.0378647, -0.776117, -0.62945) #(-0.465303, -0.758273, 0.456634)
    +    v3D.viewUp = (0.839533, -0.366352, -0.401212) #(-0.0844518, 0.55156, 0.829849)
    +    v3D.imageZoom=2.177156
    +    v3D.imagePan=(0.0217552, 0.0165363)
    +    SetView3D(v3D)
    +
    +    Test500x500("mol_rep_bonds_01")
    +
    +    # Add replicate operator 
    +    SetActivePlots((0,1))
    +    AddOperator("Replicate", 1)
    +    repl = ReplicateAttributes()
    +    repl.useUnitCellVectors = 1
    +    repl.mergeResults = 1
    +    # replicate along unit cell boundaries
    +    repl.replicateUnitCellAtoms = 1
    +    SetOperatorOptions(repl, 0, 1)
    +    DrawPlots()
    +    Test500x500("mol_rep_bonds_02")
    +
    +    # create a replication along y
    +    repl.yReplications=2
    +    SetOperatorOptions(repl, 1, 1)
    +    DrawPlots()
    +
    +    Test500x500("mol_rep_bonds_03")
    +
    +    # Create bonds 
    +    SetActivePlots(1)
    +    AddOperator("CreateBonds")
    +    cb = CreateBondsAttributes()
    +    cb.atomicNumber1 = (31, 74)
    +    cb.atomicNumber2 = (8, 8)
    +    cb.minDist = (0.4, 0.4)
    +    cb.maxDist = (1.9, 2.4)
    +    SetOperatorOptions(cb)
    +    DrawPlots()
    +
    +    Test500x500("mol_rep_bonds_04")
    +
    +    # have the CreateBonds operator create periodic bonds
    +    cb.addPeriodicBonds = 1
    +    cb.useUnitCellVectors = 1
    +    SetOperatorOptions(cb)
    +    DrawPlots()
    +
    +    Test500x500("mol_rep_bonds_05")
    +
    +    # Change bond style to lines
    +    mol.drawBondsAs = mol.LineBonds
    +    mol.bondLineWidth = 5
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +
    +    Test500x500("mol_rep_bonds_06")
    +
    +    # Change atom radius
    +    mol.drawBondsAs = mol.CylinderBonds
    +    mol.scaleRadiusBy = mol.Atomic
    +    mol.radiusScaleFactor = 0.7
    +    SetPlotOptions(mol)
    +    DrawPlots()
    +
    +    Test500x500("mol_rep_bonds_07")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vasp_test_data", "GaO40W12", "OUTCAR"))
    +
    +MoleculeOnly()
    +ReplicateAddBonds()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_multicolor.html b/2023-11-08-22:00/pascal_trunk_serial/plots_multicolor.html new file mode 100644 index 000000000..642e221b6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_multicolor.html @@ -0,0 +1,201 @@ + +Results for plots/multicolor.py + +

    Results of VisIt Regression Test - plots/multicolor

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing setting of multiColor in Boundary plot
    multicolor_0_000.000.00
    multicolor_0_010.000.00
    multicolor_0_020 modifications totalling 0 lines
    multicolor_0_030.000.00
    multicolor_0_040 modifications totalling 0 lines
    multicolor_0_050.000.00
    multicolor_0_060 modifications totalling 0 lines
    Testing setting of multiColor in Contour plot
    multicolor_1_000.000.00
    multicolor_1_010.000.00
    multicolor_1_020 modifications totalling 0 lines
    multicolor_1_030.000.00
    multicolor_1_040 modifications totalling 0 lines
    multicolor_1_050.000.00
    multicolor_1_060 modifications totalling 0 lines
    Testing setting of multiColor in FilledBoundary plot
    multicolor_2_000.000.00
    multicolor_2_010.000.00
    multicolor_2_020 modifications totalling 0 lines
    multicolor_2_030.000.00
    multicolor_2_040 modifications totalling 0 lines
    multicolor_2_050.000.00
    multicolor_2_060 modifications totalling 0 lines
    Testing setting of multiColor in Subset plot
    multicolor_3_000.000.00
    multicolor_3_010.000.00
    multicolor_3_020 modifications totalling 0 lines
    multicolor_3_030.000.00
    multicolor_3_040 modifications totalling 0 lines
    multicolor_3_050.000.00
    multicolor_3_060 modifications totalling 0 lines
    Testing user defined colors for FilledBoundary
    multicolor_matcolors0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_multicolor_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_multicolor_py.html new file mode 100644 index 000000000..0e3351ac3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_multicolor_py.html @@ -0,0 +1,229 @@ +plots/multicolor.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multicolor.py
    +#
    +#  Tests:      Tests setting colors using the multiColor field in some of
    +#              our plots.
    +#              Plots     - Boundary, Contour, FilledBoundary, Subset
    +#              Operators - Transform
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Apr 6 17:52:12 PST 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Thu Jul 13 22:41:56 PDT 2006
    +#    Added test of user-specified material colors
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +def TestColorDefinitions(testname, colors):
    +    s = ""
    +    for c in colors:
    +        s = s + str(c) + "\n"
    +    TestText(testname, s)
    +
    +def TestMultiColor(section, plotAtts, decreasingOpacity):
    +    # Get the current colors.
    +    m = plotAtts.GetMultiColor()
    +
    +    # Test what the image currently looks like.
    +    Test("multicolor_%d_00" % section)
    +
    +    # Change the colors all at once. We should have red->blue
    +    for i in range(len(m)):
    +        t = float(i) / float(len(m) - 1)
    +        c = int(t * 255.)
    +        m[i] = (255-c, 0, c, 255)
    +    plotAtts.SetMultiColor(m)
    +    SetPlotOptions(plotAtts)
    +    Test("multicolor_%d_01" % section)
    +    TestColorDefinitions("multicolor_%d_02" % section, plotAtts.GetMultiColor())
    +
    +    # Change the colors another way. We should get green to blue
    +    for i in range(len(m)):
    +        t = float(i) / float(len(m) - 1)
    +        c = int(t * 255.)
    +        plotAtts.SetMultiColor(i, 0, 255-c, c)
    +    SetPlotOptions(plotAtts)
    +    Test("multicolor_%d_03" % section)
    +    TestColorDefinitions("multicolor_%d_04" % section, plotAtts.GetMultiColor())
    +
    +    # Change the colors another way. We should get yellow to red but
    +    # the redder it gets, the more transparent it should also get.
    +    for i in range(len(m)):
    +        t = float(i) / float(len(m) - 1)
    +        c = int(t * 255.)
    +        if decreasingOpacity:
    +            plotAtts.SetMultiColor(i, (255, 255-c, 0, 255 - c))
    +        else:
    +            plotAtts.SetMultiColor(i, (255, 255-c, 0, c))
    +    SetPlotOptions(plotAtts)
    +    Test("multicolor_%d_05" % section)
    +    TestColorDefinitions("multicolor_%d_06" % section, plotAtts.GetMultiColor())
    +
    +def test1():
    +    TestSection("Testing setting of multiColor in Boundary plot")
    +    # Set up the plot
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Boundary", "mat1")
    +    b = BoundaryAttributes()
    +    b.lineWidth = 4
    +    DrawPlots()
    +
    +    # Test the plot
    +    TestMultiColor(0, b, 0)
    +
    +    # Delete the plots
    +    DeleteAllPlots()
    +
    +def test2():
    +    TestSection("Testing setting of multiColor in Contour plot")
    +    # Set up the plot
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Contour", "hardyglobal")
    +    c = ContourAttributes()
    +    c.contourNLevels = 20
    +    SetPlotOptions(c)
    +    DrawPlots()
    +
    +    # Set the view.
    +    v = GetView3D()
    +    v.viewNormal = (-0.400348, -0.676472, 0.618148)
    +    v.focus = (0,0,0)
    +    v.viewUp = (-0.916338, 0.300483, -0.264639)
    +    v.parallelScale = 17.3205
    +    v.imagePan = (0, 0.0397866)
    +    v.imageZoom = 1.07998
    +    SetView3D(v)
    +
    +    # Test the plot
    +    TestMultiColor(1, c, 0)
    +
    +    # Delete the plots
    +    DeleteAllPlots()
    +
    +def test3():
    +    TestSection("Testing setting of multiColor in FilledBoundary plot")
    +    # Set up the plots. First we want globe so we can see something inside
    +    # of the Subset plot to make sure that setting alpha works.
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "w")
    +    p = PseudocolorAttributes()
    +    p.legendFlag = 0
    +    p.colorTableName = "xray"
    +    SetPlotOptions(p)
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("FilledBoundary", "mat")
    +    f = FilledBoundaryAttributes()
    +    f.legendFlag = 0
    +    SetPlotOptions(f)
    +
    +    # Add an operator to globe to make it small.
    +    SetActivePlots(0)
    +    AddOperator("Transform", 0)
    +    t = TransformAttributes()
    +    t.doScale = 1
    +    t.scaleX, t.scaleY, t.scaleZ = 0.04, 0.04, 0.04
    +    t.doTranslate = 1
    +    t.translateX, t.translateY, t.translateZ = 0.5, 0.5, 0.5
    +    SetOperatorOptions(t)
    +    SetActivePlots(1)
    +    DrawPlots()
    +
    +    # Set the view.
    +    v = GetView3D()
    +    v.viewNormal = (-0.385083, -0.737931, -0.554229)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (-0.922871, 0.310902, 0.227267)
    +    v.parallelScale = 0.866025
    +    v.imagePan = (-0.0165315, 0.0489375)
    +    v.imageZoom = 1.13247
    +    SetView3D(v)
    +
    +    # Test the plot
    +    TestMultiColor(2, f, 1)
    +
    +    # Delete the plots
    +    DeleteAllPlots()
    +
    +def test4():
    +    TestSection("Testing setting of multiColor in Subset plot")
    +    # Set up the plots. First we want globe so we can see something inside
    +    # of the Subset plot to make sure that setting alpha works.
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "w")
    +    p = PseudocolorAttributes()
    +    p.legendFlag = 0
    +    p.colorTableName = "xray"
    +    SetPlotOptions(p)
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("Subset", "domains")
    +    s = SubsetAttributes()
    +    s.legendFlag = 0
    +    SetPlotOptions(s)
    +
    +    # Add an operator to globe to make it small.
    +    SetActivePlots(0)
    +    AddOperator("Transform", 0)
    +    t = TransformAttributes()
    +    t.doScale = 1
    +    t.scaleX, t.scaleY, t.scaleZ = 0.04, 0.04, 0.04
    +    t.doTranslate = 1
    +    t.translateX, t.translateY, t.translateZ = 0.5, 0.5, 0.5
    +    SetOperatorOptions(t)
    +    SetActivePlots(1)
    +    DrawPlots()
    +
    +    # Set the view.
    +    v = GetView3D()
    +    v.viewNormal = (-0.385083, -0.737931, -0.554229)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (-0.922871, 0.310902, 0.227267)
    +    v.parallelScale = 0.866025
    +    v.imagePan = (-0.0165315, 0.0489375)
    +    v.imageZoom = 1.13247
    +    SetView3D(v)
    +
    +    # Test the plot
    +    TestMultiColor(3, s, 1)
    +
    +    # Delete the plots
    +    DeleteAllPlots()
    +
    +def test5():
    +    TestSection("Testing user defined colors for FilledBoundary")
    +
    +    ResetView()
    +    OpenDatabase(silo_data_path("globe_matcolors.silo"))
    +
    +    AddPlot("FilledBoundary","mat1")
    +    AddOperator("Slice")
    +    DrawPlots()
    +
    +    Test("multicolor_matcolors")
    +
    +    DeleteAllPlots()
    +
    +def main():
    +    test1()
    +    test2()
    +    test3()
    +    test4()
    +    test5()
    +
    +# Run the tests
    +main()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_parcoords.html b/2023-11-08-22:00/pascal_trunk_serial/plots_parcoords.html new file mode 100644 index 000000000..bebc1a202 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_parcoords.html @@ -0,0 +1,129 @@ + +Results for plots/parcoords.py + +

    Results of VisIt Regression Test - plots/parcoords

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Test scalar collection sources
    parcoords_010.000.00
    parcoords_020.000.00
    parcoords_030.000.00
    parcoords_040.000.00
    parcoords_050.000.00
    parcoords_060.000.00
    Test array expression sources
    parcoords_070.000.00
    parcoords_080.000.00
    parcoords_090.000.00
    parcoords_100.000.00
    Test raw database array sources
    parcoords_110.000.00
    parcoords_120.000.00
    parcoords_130.000.00
    parcoords_140.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_parcoords_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_parcoords_py.html new file mode 100644 index 000000000..1bc836538 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_parcoords_py.html @@ -0,0 +1,196 @@ +plots/parcoords.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  parcoords.py
    +#
    +#  Tests:      Tests the parallel coordinates plot
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       January 31, 2008
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Mon Feb  4 16:11:21 EST 2008
    +#    Removed axis extents from plot attributes since they were unused.
    +#
    +#    Jeremy Meredith, Fri Feb  8 13:49:58 EST 2008
    +#    Added support for array variable expressions, raw database array
    +#    variables, clamping plot limits, and changing viewports.
    +#
    +#    Jeremy Meredith, Mon Feb 18 16:50:02 EST 2008
    +#    Renamed orderedAxisNames to scalarAxisNames.
    +#    Added setting of visualAxisNames in one of the places we create the plot
    +#    from a list of scalar.  This isn't strictly necessary, since the
    +#    plot can do this for us, but the GUI Wizard knows to do this, and so
    +#    setting visualAxisNames matches the GUI behavior more closely.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Mon Nov 22 11:12:28 PST 2010
    +#    Add tests that include the Threshold operator, which test whether or not
    +#    extents are maintained.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +#
    +# Trying out collections of scalars as a source
    +#
    +TestSection("Test scalar collection sources")
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +
    +# Set default plot variables
    +p = ParallelCoordinatesAttributes()
    +p.drawLines = 1
    +p.linesColor = (128, 0, 0, 255)
    +p.drawContext = 1
    +p.contextGamma = 2
    +p.contextNumPartitions = 512
    +p.contextColor = (0, 220, 0, 255)
    +p.drawLinesOnlyIfExtentsOn = 1
    +SetDefaultPlotOptions(p)
    +
    +# Set up a simple 3 variable parallel coordinates plot.
    +AddPlot("ParallelCoordinates", "hardyglobal")
    +p.scalarAxisNames = ("hardyglobal", "shepardglobal", "chromeVf")
    +p.visualAxisNames = p.scalarAxisNames # unnecessary, but strictly correct
    +p.extentMinima = (-1e+37, -1e+37, -1e+37)
    +p.extentMaxima = (+1e+37, +1e+37, +1e+37)
    +SetPlotOptions(p)
    +DrawPlots()
    +Test("parcoords_01")
    +
    +# Try setting some appearance-related attributes
    +p.contextGamma = 2.9
    +p.contextNumPartitions = 128
    +p.contextColor = (200, 0, 255, 255)
    +SetPlotOptions(p)
    +Test("parcoords_02")
    +
    +p.contextGamma = 2.9
    +p.contextNumPartitions = 32
    +p.contextColor = (200, 0, 255, 255)
    +p.drawLinesOnlyIfExtentsOn = 0
    +SetPlotOptions(p)
    +Test("parcoords_03")
    +
    +# Add an axis and make sure it works
    +p.scalarAxisNames = ("hardyglobal", "shepardglobal", "chromeVf", "radial")
    +p.visualAxisNames = () # test to make sure it works without setting this
    +p.extentMinima = (-1e+37, -1e+37, -1e+37, -1e+37)
    +p.extentMaxima = (+1e+37, +1e+37, +1e+37, +1e+37)
    +p.drawLinesOnlyIfExtentsOn = 1
    +SetPlotOptions(p)
    +Test("parcoords_04")
    +
    +# Make sure the extents work for limiting the lines
    +p.extentMinima = (5.7, -1e+37, -1e+37, -1e+37)
    +p.extentMaxima = (5.8, +1e+37, +1e+37, +1e+37)
    +SetPlotOptions(p)
    +Test("parcoords_05")
    +
    +# Try unifying the extents across all axes
    +p.unifyAxisExtents = 1
    +SetPlotOptions(p)
    +Test("parcoords_06")
    +
    +
    +#
    +# Trying out array variables as a source
    +#
    +TestSection("Test array expression sources")
    +
    +# Try an array variable
    +DeleteAllPlots();
    +
    +OpenDatabase(data_path("okc_test_data/astronomy.okc"))
    +
    +
    +DefineArrayExpression("arrayvar1",
    +                      "array_compose(d, b, b/2, b+l)")
    +DefineArrayExpression("arrayvar2",
    +                      "array_compose(d+200, l, l-2, b+l)")
    +DefineArrayExpression("arrayvar2wb",
    +                      "array_compose_with_bins(d+200, l, l-2, b+l, [0,1,4,15,20])")
    +
    +AddPlot("ParallelCoordinates", "arrayvar1")
    +p = ParallelCoordinatesAttributes()
    +p.contextColor = (100, 100, 255, 255)
    +p.contextNumPartitions = 32
    +SetPlotOptions(p)
    +DrawPlots()
    +Test("parcoords_07")
    +
    +# Try changing the array variable
    +ChangeActivePlotsVar("arrayvar2")
    +Test("parcoords_08")
    +
    +# Now change to one with bin-width defined axis x positions
    +ChangeActivePlotsVar("arrayvar2wb")
    +Test("parcoords_09")
    +
    +# Now clamp the axis array limits
    +p.unifyAxisExtents = 1
    +SetPlotOptions(p)
    +Test("parcoords_10")
    +
    +#
    +# Trying out raw database-generated array as a source
    +#
    +TestSection("Test raw database array sources")
    +
    +
    +# Now change to a raw database-generated array variable
    +ChangeActivePlotsVar("all_vars")
    +p.unifyAxisExtents = 0;
    +p.contextColor = (255,150,50,255)
    +SetPlotOptions(p)
    +
    +# Try changing the viewport so it looks a little more normal
    +v = GetViewAxisArray()
    +v.viewportCoords = (0.15,0.9, 0.3,0.7)
    +SetViewAxisArray(v)
    +Test("parcoords_11")
    +
    +# Now clamp the axis array limits again
    +p.unifyAxisExtents = 1
    +SetPlotOptions(p)
    +Test("parcoords_12")
    +
    +DeleteAllPlots()
    +ActivateDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("ParallelCoordinates", "hardyglobal")
    +p = ParallelCoordinatesAttributes()
    +p.scalarAxisNames = ("hardyglobal", "shepardglobal")
    +p.visualAxisNames = p.scalarAxisNames # unnecessary, but strictly correct
    +p.extentMinima = (-1e+37, -1e+37)
    +p.extentMaxima = (+1e+37, +1e+37)
    +p.drawFocusAs = p.IndividualLines
    +p.drawContext = 0
    +p.drawLinesOnlyIfExtentsOn = 0
    +SetPlotOptions(p)
    +DefineScalarExpression("zoneid", "zoneid(Mesh)")
    +AddOperator("Threshold")
    +t = ThresholdAttributes()
    +t.listedVarNames = ("zoneid")
    +t.zonePortions = (1)
    +t.lowerBounds = (100000.5)
    +t.upperBounds = (100001.5)
    +t.defaultVarName = "hardyglobal"
    +t.defaultVarIsScalar = 1
    +SetOperatorOptions(t)
    +DrawPlots()
    +ResetView()
    +Test("parcoords_13")
    +
    +# Now have multiple cells
    +t.upperBounds = (100005.5)
    +SetOperatorOptions(t)
    +Test("parcoords_14")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_pseudocolor.html b/2023-11-08-22:00/pascal_trunk_serial/plots_pseudocolor.html new file mode 100644 index 000000000..19d80675f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_pseudocolor.html @@ -0,0 +1,429 @@ + +Results for plots/pseudocolor.py + +

    Results of VisIt Regression Test - plots/pseudocolor

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pseudocolor_010.000.00
    pseudocolor_domain_bounds_010.000.00
    pseudocolor_domain_bounds_020.000.00
    pseudocolor_domain_bounds_030.000.00
    Point Glyphing: Topological dimension not set to 0
    pseudocolor_point_glyphs_010.000.00
    pseudocolor_point_glyphs_020.000.00
    pseudocolor_point_glyphs_030.000.00
    pseudocolor_point_glyphs_040.000.00
    pseudocolor_point_glyphs_050.000.00
    pseudocolor_point_glyphs_060.000.00
    Point Glyphing: Lighting
    pseudocolor_point_glyphs_070.000.00
    pseudocolor_point_glyphs_080.000.00
    Point Glyphing: Changing Opacity
    pseudocolor_point_glyphs_090.000.00
    pseudocolor_point_glyphs_100.000.00
    Unstructured grid, cell-centered data, poly-vertex cells
    pseudocolor_point_glyphs_110.000.00
    pseudocolor_point_glyphs_120.000.00
    pseudocolor_point_glyphs_130.000.00
    scaling point glyphs by variable
    pseudocolor_point_glyphs_140.000.00
    pseudocolor_point_glyphs_150.000.00
    pseudocolor_point_glyphs_160.000.00
    pseudocolor_point_glyphs_170.000.00
    ugrid, vertex and poly vertex, line and polyline
    pseudocolor_mixed_cells_010.000.00
    pseudocolor_mixed_cells_020.000.00
    pseudocolor_mixed_cells_030.000.00
    pseudocolor_mixed_cells_040.000.00
    pseudocolor_mixed_cells_050.000.00
    Line Tubes
    pseudocolor_line_tube_010.000.00
    pseudocolor_line_tube_020.000.00
    pseudocolor_line_tube_030.000.00
    pseudocolor_line_tube_040.000.00
    pseudocolor_line_tube_050.000.00
    pseudocolor_line_tube_060.000.00
    pseudocolor_line_tube_070.000.00
    pseudocolor_line_tube_080.000.00
    pseudocolor_line_tube_090.000.00
    Line Ribbons
    pseudocolor_line_ribbon_010.000.00
    pseudocolor_line_ribbon_020.000.00
    pseudocolor_line_ribbon_030.000.00
    pseudocolor_line_ribbon_040.000.00
    pseudocolor_line_ribbon_050.000.00
    pseudocolor_line_ribbon_060.000.00
    line endpoints
    pseudocolor_line_endpoints_010.000.00
    pseudocolor_line_endpoints_020.000.00
    pseudocolor_line_endpoints_030.000.00
    pseudocolor_line_endpoints_040.000.00
    pseudocolor_line_endpoints_050.000.00
    pseudocolor_line_endpoints_060.000.00
    pseudocolor_line_endpoints_070.000.00
    pseudocolor_line_endpoints_080.000.00
    pseudocolor_line_endpoints_090.000.00
    pseudocolor_line_endpoints_100.000.00
    Object rendering options
    pseudocolor_rendering_options_010.000.00
    pseudocolor_rendering_options_020.000.00
    pseudocolor_rendering_options_030.000.00
    pseudocolor_rendering_options_040.000.00
    pseudocolor_rendering_options_050.000.00
    pseudocolor_rendering_options_060.000.00
    pseudocolor_rendering_options_070.000.00
    pseudocolor_rendering_options_080.000.00
    External Surface
    pseudocolor_external_surface0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_pseudocolor_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_pseudocolor_py.html new file mode 100644 index 000000000..d14a5aeb4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_pseudocolor_py.html @@ -0,0 +1,556 @@ +plots/pseudocolor.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case: pseudocolor.py 
    +#
    +#  Tests:      meshes    - 2D rectilinear, 3D curvilinear. 
    +#              plots     - pseudocolor 
    +#
    +#  Defect ID:  '1016, '987
    +#
    +#  Programmer: Kevin Griffin
    +#  Date:       March 19, 2015
    +#
    +#  Modifications:
    +#
    +#    Kevin Griffin, Thu Mar 19 12:00:23 PDT 2015
    +#    Add test for drawing pseudocolor plot using a log scaling
    +#    and very small min value.
    +#
    +#    Alister Maguire, Wed Jul 17 08:24:37 PDT 2019
    +#    Wrapped the first test in a function and added 
    +#    TestDomainBoundaries. 
    +#
    +#    Kathleen Biagas, Wed Nov  6 18:29:29 PST 2019
    +#    Add new tests: PointGlyphing MixedTopology Lines ObjectRenderingOptions
    +#
    +#    Kevin Griffin, Tue Aug  4 11:31:09 PDT 2020
    +#    Added ExternalSurface test
    +#
    +# ----------------------------------------------------------------------------
    +
    +import itertools
    +
    +def TestScale():
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +
    +    pc = PseudocolorAttributes()
    +    pc.minFlag = 1
    +    pc.min = 1e-5
    +    pc.maxFlag = 1
    +    pc.max = 1
    +    pc.centering = pc.Nodal
    +    pc.scaling = pc.Log
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +
    +    Test("pseudocolor_01")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("rect2d.silo"))
    +
    +def TestDomainBoundaries():
    +    #
    +    # First, let's remove some domains and make sure that the 
    +    # faces are rendered. 
    +    #
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    silr = SILRestriction()
    +    silr.SuspendCorrectnessChecking()
    +    silr.TurnOnAll()
    +    for silSet in (41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,61,
    +                   62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,
    +                   82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,
    +                   102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,
    +                   118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,
    +                   133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,
    +                   148,149,150,151,152,153,154,236,237,238,239,240,241,242,243,
    +                   244):
    +        silr.TurnOffSet(silSet)
    +    silr.EnableCorrectnessChecking()
    +    SetPlotSILRestriction(silr ,1)
    +
    +    Test("pseudocolor_domain_bounds_01")
    +
    +    #
    +    # Next, we need to make sure that the processer boundaries are not
    +    # rendered when we enable transparency. 
    +    #
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.883086, 0.11282, 0.455446)
    +    View3DAtts.focus = (0, 2.5, 10)
    +    View3DAtts.viewUp = (-0.0918142, 0.993447, -0.068068)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 11.4564
    +    View3DAtts.nearPlane = -22.9129
    +    View3DAtts.farPlane = 22.9129
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, 2.5, 10)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +    silr = SILRestriction()
    +    silr.SuspendCorrectnessChecking()
    +    silr.TurnOnAll()
    +    for silSet in (41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,61,
    +                   62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,
    +                   82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,
    +                   102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,
    +                   118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,
    +                   133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,
    +                   148,149,150,151,152,153,154):
    +        silr.TurnOffSet(silSet)
    +    silr.EnableCorrectnessChecking()
    +    SetPlotSILRestriction(silr ,1)
    +
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.opacityType = PseudocolorAtts.Constant
    +    PseudocolorAtts.opacity = 0.462745
    +    SetPlotOptions(PseudocolorAtts)
    +
    +    Test("pseudocolor_domain_bounds_02")
    +
    +    #
    +    # Now let's make sure that the ghost/face removal has been 
    +    # reversed back to its original order when we turn transparency
    +    # back off. 
    +    #
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.opacityType = PseudocolorAtts.FullyOpaque
    +    SetPlotOptions(PseudocolorAtts)
    +
    +    silr = SILRestriction()
    +    silr.SuspendCorrectnessChecking()
    +    silr.TurnOnAll()
    +    for silSet in (41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,61,
    +                   62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,
    +                   82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,
    +                   102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,
    +                   118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,
    +                   133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,
    +                   148,149,150,151,152,153,154,236,237,238,239,240,241,242,243,
    +                   244):
    +        silr.TurnOffSet(silSet)
    +    silr.EnableCorrectnessChecking()
    +    SetPlotSILRestriction(silr ,1)
    +
    +    Test("pseudocolor_domain_bounds_03")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +def PointGlyphing():
    +    # github issue 3390
    +    TestSection("Point Glyphing: Topological dimension not set to 0")
    +    idx = itertools.count(1)
    +    # Reader not reporting topodim 0
    +    OpenDatabase(data_path("blueprint_v0.3.1_test_data/braid_2d_examples.blueprint_root_hdf5"))
    +    AddPlot("Pseudocolor", "points_mesh/braid")
    +    DrawPlots()
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    # glyph the points with Tets
    +    pc = PseudocolorAttributes()
    +    pc.pointType = pc.Tetrahedron
    +    pc.pointSize = 0.5
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    # transition back to point
    +    pc.pointType = pc.Point
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    # glyph the points with Sphere 
    +    pc.pointType = pc.Sphere
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("blueprint_v0.3.1_test_data/braid_2d_examples.blueprint_root_hdf5"))
    +
    +    OpenDatabase(data_path("synergia_test_data/vis_particles_* database"), 0, "Vs")
    +    AddPlot("Pseudocolor", "particles_0")
    +    pc.pointType = pc.Tetrahedron
    +    pc.pointSize = 0.005
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.882869, -0.011028, 0.469489)
    +    v.focus = (-0.000169306, 0.000401067, -0.00167359)
    +    v.viewUp = (-0.118292, 0.972711, -0.199599)
    +    v.imageZoom = 1.77
    +    SetView3D(v);
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    # PsersistentParticles sets the topological dimension incorrectly,
    +    # but the points should still be glyphable
    +    AddOperator("PersistentParticles")
    +    pp = PersistentParticlesAttributes()
    +    pp.connectParticles = 0
    +    SetOperatorOptions(pp)
    +    DrawPlots()
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("synergia_test_data/vis_particles_* database"))
    +
    +    TestSection("Point Glyphing: Lighting")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Pseudocolor", "PointVar")
    +    pc.pointType = pc.Icosahedron
    +    pc.pointSize = 3
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0.272848, 0.209847, 0.938892)
    +    v.focus = (-0.0242615, -0.170417, -0.0304632)
    +    v.viewUp = (0.134518, 0.958013, -0.253212)
    +    v.imageZoom=1.5
    +    SetView3D(v)
    +    # standard lighting
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    # turn off lighting, points should still be glyphed
    +    pc.lightingFlag = 0
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    pc.lightingFlag = 1
    +
    +    # github issue 1461, 1800
    +    TestSection("Point Glyphing: Changing Opacity")
    +    pc.opacityType = pc.Constant
    +    pc.opacity = 0.25
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    # change glyph type while transparent
    +    pc.pointType = pc.Box
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    pc.opacityType = pc.FullyOpaque
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("noise.silo"))
    +
    +    TestSection("Unstructured grid, cell-centered data, poly-vertex cells")
    +    OpenDatabase(data_path("vtk_test_data/ugrid_polyvertex_points.vtk"))
    +    AddPlot("Pseudocolor", "foo_cells")
    +    DrawPlots()
    +    v2 = GetView2D()
    +    v2.windowCoords = (-0.945, 9.945, -0.945, 9.945)
    +    SetView2D(v2)
    +    pc.pointType = pc.Axis
    +    pc.pointSize = 0.6
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    pc.pointType = pc.Box
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    ChangeActivePlotsVar("u")
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    TestSection("scaling point glyphs by variable")
    +    pc.pointSizeVarEnabled = 1
    +    pc.pointSize = 0.1
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    pc.pointSizeVar = "foo_cells"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    ChangeActivePlotsVar("foo_cells")
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +    pc.pointSizeVar = "u"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_point_glyphs_%02d" %next(idx))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/ugrid_polyvertex_points.vtk"))
    +
    +
    +def MixedTopology():
    +    TestSection("ugrid, vertex and poly vertex, line and polyline")
    +    OpenDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +    AddPlot("Pseudocolor","foo_cells")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "rainbow"
    +    pc.invertColorTable = 1
    +    pc.lineWidth = 2
    +    pc.pointSizePixels = 10
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.195485, 0.629643, 0.751888)
    +    v.focus = (1.5, 0.5, 0.5)
    +    v.viewUp = (0.158378, 0.776885, -0.609398)
    +    SetView3D(v)
    +
    +    idx = itertools.count(1)
    +    Test("pseudocolor_mixed_cells_%02d"%next(idx))
    +
    +    pc.pointType = pc.Tetrahedron
    +    pc.pointSize = 0.4
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_mixed_cells_%02d"%next(idx))
    +
    +    pc.lineType = pc.Tube
    +    pc.tubeRadiusBBox = 0.05
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_mixed_cells_%02d"%next(idx))
    +
    +    pc.tubeRadiusSizeType = pc.Absolute
    +    pc.tubeRadiusAbsolute = 0.125
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_mixed_cells_%02d"%next(idx))
    +
    +    pc.tubeRadiusSizeType = pc.FractionOfBBox
    +    pc.tailStyle = pc.Spheres
    +    pc.headStyle = pc.Cones
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_mixed_cells_%02d"%next(idx))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +
    +def DoLines(ltype):
    +    pc = PseudocolorAttributes()
    +    idx =  itertools.count(1)
    +    if ltype == "tube":
    +        TestSection("Line Tubes")
    +        pc.lineType = pc.Tube
    +    else:
    +        TestSection("Line Ribbons")
    +        pc.lineType = pc.Ribbon
    +
    +    pc.tubeRadiusSizeType = pc.FractionOfBBox
    +    pc.tubeRadiusBBox = 0.2
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    if ltype == "tube":
    +        # test tube resolution
    +        pc.tubeResolution = 3
    +        SetPlotOptions(pc)
    +        Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +        pc.tubeResolution = 4
    +        SetPlotOptions(pc)
    +        Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +        pc.tubeResolution = 20
    +        SetPlotOptions(pc)
    +        Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    pc.tubeRadiusSizeType = pc.Absolute
    +    pc.tubeRadiusAbsolute = 0.6
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    pc.tubeRadiusVarEnabled = 1
    +    pc.tubeRadiusVar = "var2"
    +    pc.tubeRadiusVarRatio = 2
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    pc.tubeRadiusVar = "var1"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    ChangeActivePlotsVar("var1")
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +    pc.tubeRadiusVar = "var2"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_%s_%02d" %(ltype, next(idx)))
    +
    +def DoEndpoints():
    +    TestSection("line endpoints")
    +    ChangeActivePlotsVar("var2")
    +    idx = itertools.count(1)
    +    pc = PseudocolorAttributes()
    +    pc.lineType = pc.Tube
    +    pc.tubeRadiusSizeType = pc.Absolute
    +    pc.tubeRadiusAbsolute = 0.1
    +    pc.tailStyle = pc.Spheres
    +    pc.headStyle = pc.Cones
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRadiusSizeType = pc.Absolute
    +    pc.endPointRadiusAbsolute = 0.5
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointResolution = 3
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointResolution = 20
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRadiusVarEnabled = 1
    +    pc.endPointRadiusVar = "var2"
    +    pc.endPointRadiusVarRatio = 2
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRadiusVar = "var1"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    ChangeActivePlotsVar("var2")
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRadiusVar = "var2"
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRatio = 1
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +    pc.endPointRatio = 10
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_line_endpoints_%02d"%next(idx))
    +
    +
    +def Lines():
    +    OpenDatabase(data_path("vtk_test_data/lines.vtk"))
    +    AddPlot("Pseudocolor", "var2")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0.508199, 0.390103, 0.767824)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.065159, 0.906394, -0.417379)
    +    v.imageZoom = 1.4641
    +    SetView3D(v)
    +
    +    DoLines("tube")
    +    DoLines("ribbon")
    +    DoEndpoints()
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/lines.vtk"))
    +
    +
    +def ObjectRenderingOptions():
    +    TestSection("Object rendering options")
    +    idx = itertools.count(1)
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +    AddPlot("Pseudocolor", "p")
    +    DrawPlots()
    +
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0.30955, 0.438716, 0.843627)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.00113002, 0.887033, -0.461704)
    +    SetView3D(v)
    +
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc = PseudocolorAttributes()
    +    pc.renderWireframe = 1
    +    pc.wireframeColor = (255, 0, 0)
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.renderPoints = 1
    +    pc.pointColor = (255, 255, 0)
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.renderSurfaces = 0
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.renderPoints = 0
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.renderWireframe = 0
    +    pc.renderPoints = 1
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.pointType = pc.Sphere
    +    pc.pointSize = 0.02
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    pc.renderSurfaces = 1
    +    SetPlotOptions(pc)
    +    Test("pseudocolor_rendering_options_%02d" %next(idx))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("rect3d.silo"))
    +
    +def ExternalSurface():
    +    TestSection("External Surface")
    +    OpenDatabase(data_path("external_surface_test_data/data.nv0_step00000.root"))
    +
    +    DefineScalarExpression("dUdy", "gradient(UVelC)[1]")
    +
    +    AddPlot("Pseudocolor", "UVelC")
    +
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.centering = PseudocolorAtts.Nodal  # Natural, Nodal, Zonal
    +    SetPlotOptions(PseudocolorAtts)
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.90786, 0.176706, 0.380217)
    +    View3DAtts.focus = (3.14159, 0, 1.5708)
    +    View3DAtts.viewUp = (-0.166194, 0.98423, -0.0605927)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 3.65199
    +    View3DAtts.nearPlane = -7.30397
    +    View3DAtts.farPlane = 7.30397
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (3.14159, 0, 1.5708)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +    ChangeActivePlotsVar("dUdy")
    +    Test("pseudocolor_external_surface")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("external_surface_test_data/data.nv0_step00000.root"))
    +
    +def Main():
    +    TestScale()
    +    TestDomainBoundaries()
    +    PointGlyphing()
    +    MixedTopology()
    +    Lines()
    +    ObjectRenderingOptions()
    +    ExternalSurface()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_ray_trace.html b/2023-11-08-22:00/pascal_trunk_serial/plots_ray_trace.html new file mode 100644 index 000000000..2c1ad2903 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_ray_trace.html @@ -0,0 +1,108 @@ + +Results for plots/ray_trace.py + +

    Results of VisIt Regression Test - plots/ray_trace

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ray_trace_010.000.00
    ray_trace_01_pan0.000.00
    ray_trace_020.000.00
    ray_trace_030.000.00
    ray_trace_040.000.00
    ray_trace_050.000.00
    ray_trace_05_pan0.000.00
    ray_trace_060.000.00
    ray_trace_070.000.00
    ray_trace_080.000.00
    ray_trace_090.000.00
    ray_trace_100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_ray_trace_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_ray_trace_py.html new file mode 100644 index 000000000..0ab6e3ef4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_ray_trace_py.html @@ -0,0 +1,220 @@ +plots/ray_trace.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ray_trace.py
    +#
    +#  Tests:      ray tracing with the volume plot
    +#
    +#  Defect ID:  '1949, '5699, '6916
    +#
    +#  Programmer: Hank Childs
    +#  Date:       December 3, 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Dec 15 09:36:51 PDT 2004
    +#    I changed the flag that's used to make it do software rendering.
    +#
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Hank Childs, Fri Mar  3 09:09:04 PST 2006
    +#    Add testing for ray-tracing in multiple windows.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Fri Nov 18 08:51:58 PST 2011
    +#    Add regression tests for panning while ray tracing.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def test1(a):
    +    #
    +    # Start off by testing that we can bring up a normal volume plot and smooth
    +    # the data.  Also test that it can interact with the bounding box correctly.
    +    # 
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Volume", "d")
    +    vol_atts = VolumeAttributes()
    +    vol_atts.rendererType = vol_atts.RayCasting
    +    vol_atts.smoothData = 1
    +    SetPlotOptions(vol_atts)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.369824, 0.535308, 0.759391)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (-0.022009, 0.812062, -0.583155)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Test("ray_trace_01")
    +
    +    v.imagePan = (0.1, -0.1)
    +    SetView3D(v)
    +    Test("ray_trace_01_pan")
    +    v.imagePan = (0, 0)
    +    SetView3D(v)
    +
    +    #
    +    # Now test that it can play with other plots.
    +    #
    +    AddPlot("Pseudocolor", "d")
    +    pc_atts = PseudocolorAttributes()
    +    pc_atts.colorTableName = "gray"
    +    SetPlotOptions(pc_atts)
    +    AddOperator("Slice")
    +    slice_atts = SliceAttributes()
    +    slice_atts.originPercent = 90
    +    slice_atts.axisType = slice_atts.ZAxis
    +    slice_atts.originType = slice_atts.Percent
    +    slice_atts.project2d = 0
    +    SetOperatorOptions(slice_atts)
    +    DrawPlots()
    +
    +    Test("ray_trace_02")
    +
    +    #
    +    # Test that it can play well with other plots when doin orthographic 
    +    # projection.
    +    #
    +    v.perspective = 0
    +    SetView3D(v)
    +
    +    Test("ray_trace_03")
    +
    +    #
    +    # Now test that we handle it well when the near and far clipping planes
    +    # intersect the dataset.
    +    #
    +    v.perspective = 1
    +    v.nearPlane = -0.5
    +    v.farPlane = 0.5
    +    SetView3D(v)
    +
    +    Test("ray_trace_04")
    +
    +    DeleteAllPlots()
    +
    +def test2(a):
    +    #
    +    # Test that we can do curvilinear/unstructured meshes, which do an entirely
    +    # different sort of sampling.
    +    #
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Volume", "d")
    +    vol_atts = VolumeAttributes()
    +    vol_atts.rendererType = vol_atts.RayCasting
    +    vol_atts.smoothData = 0
    +    SetPlotOptions(vol_atts)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.369824, 0.535308, 0.759391)
    +    v.viewUp = (-0.022009, 0.812062, -0.583155)
    +    SetView3D(v)
    +
    +    Test("ray_trace_05")
    +
    +    v.imagePan = (0.1, -0.1)
    +    SetView3D(v)
    +    Test("ray_trace_05_pan")
    +    v.imagePan = (0, 0)
    +    SetView3D(v)
    +
    +    DeleteAllPlots()
    +
    +def test3(a):
    +    #
    +    # Test a multi-block rectilinear problem with ghost zones.  Use an AMR problem,
    +    # because that will test the best if we are removing ghost zones correctly
    +    # (ghost zone values in AMR meshes don't necessarily agree with the values of
    +    #  the zones that refine them).
    +    #
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    AddPlot("Volume", "Primitive Var _number_0")
    +    vol_atts = VolumeAttributes()
    +    vol_atts.rendererType = vol_atts.RayCasting
    +    vol_atts.smoothData = 0
    +    vol_atts.useColorVarMin = 1
    +    vol_atts.colorVarMin = 22
    +    SetPlotOptions(vol_atts)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.369824, 0.535308, 0.759391)
    +    v.viewUp = (-0.022009, 0.812062, -0.583155)
    +    SetView3D(v)
    +
    +    Test("ray_trace_06")
    +
    +    #
    +    # Now do it again for another timestep.
    +    #
    +    SetTimeSliderState(7)
    +    Test("ray_trace_07")
    +
    +    # 
    +    # Now go to window #2 and do some more raytracing.
    +    #
    +    AddWindow()
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    SetAnnotationAttributes(a)
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Volume", "d")
    +    vol_atts = VolumeAttributes()
    +    vol_atts.rendererType = vol_atts.RayCasting
    +    SetPlotOptions(vol_atts)
    +    DrawPlots()
    +    Test("ray_trace_08")
    +
    +    #
    +    # There was a bug where adding a new plot with a different variable
    +    # would cause the ray tracing to fail.  Test that the fix still works.
    +    #
    +    AddPlot("Contour", "u")
    +    DrawPlots()
    +    Test("ray_trace_09")
    +
    +    # And make sure everything is okay in window #1.
    +    SetActiveWindow(1)
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    Test("ray_trace_10")
    +
    +def main():
    +    # Turn off all annotation
    +    a = AnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +
    +    # Turn bbox on.  This tests:
    +    # - interaction with geometry
    +    # - that image based plots still get added to the vis window, causing a 
    +    #   bounding box to get generated.
    +    a.axes3D.bboxFlag = 1
    +    SetAnnotationAttributes(a)
    +
    +    test1(a)
    +    test2(a)
    +    test3(a)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_scatter.html b/2023-11-08-22:00/pascal_trunk_serial/plots_scatter.html new file mode 100644 index 000000000..a8a1dc7b6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_scatter.html @@ -0,0 +1,207 @@ + +Results for plots/scatter.py + +

    Results of VisIt Regression Test - plots/scatter

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Test plot options
    scatter_000.000.00
    scatter_010.000.00
    scatter_020.000.00
    scatter_030.000.00
    scatter_040.000.00
    scatter_050.000.00
    scatter_060.000.00
    scatter_070.000.00
    scatter_080.000.00
    scatter_090.000.00
    scatter_100.000.00
    scatter_110.000.00
    scatter_120.000.00
    scatter_130.000.00
    scatter_140.000.00
    scatter_150.000.00
    scatter_160.000.00
    Multiblock and scale to cube
    scatter_170.000.00
    scatter_180.000.00
    scatter_190.000.00
    scatter_200.000.00
    Set min and max values, make sure colors and extents are right
    scatter_210.000.00
    scatter_220.000.00
    scatter_230.000.00
    scatter_240.000.00
    scatter_250.000.00
    scatter_260.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_scatter_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_scatter_py.html new file mode 100644 index 000000000..ea5355b8b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_scatter_py.html @@ -0,0 +1,343 @@ +plots/scatter.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scatter.py 
    +#
    +#  Tests:      Tests the scatter plot
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Dec 14 16:58:04 PST 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Mon Jul 18 17:19:04 PST 2005
    +#    Added tests for multiblock data and "scale to cube" that make sure that
    +#    the extents are gotten correctly beforehand. If the extents are not
    +#    gathered beforehand for a multi-block dataset when "scale to cube" is
    +#    on then each domain will use its local extents to map its values to
    +#    a cube and none of the cubes from the different domains will match,
    +#    causing an incorrect picture.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +# Set up some annotation settings.
    +a = AnnotationAttributes()
    +a.backgroundColor = (0,0,0,255)
    +a.foregroundColor = (255,255,255,255)
    +TurnOffAllAnnotations(a)
    +
    +TestSection("Test plot options")
    +
    +#
    +# Set up a simple 2 variable scatter plot.
    +#
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Scatter", "hardyglobal")
    +s = ScatterAttributes()
    +s.var2 = "shepardglobal"
    +s.scaleCube = 0
    +SetPlotOptions(s)
    +DrawPlots()
    +Test("scatter_00")
    +
    +v0 = GetView2D()
    +
    +
    +#
    +# Try setting x min and max
    +#
    +s.var1MinFlag = 1
    +s.var1MaxFlag = 1
    +s.var1Min = 2
    +s.var1Max = 4
    +SetPlotOptions(s)
    +SetView2D(v0)
    +Test("scatter_01")
    +
    +#
    +# Try setting some scaling options for x
    +#
    +s.var1MinFlag = 0
    +s.var1MaxFlag = 0
    +s.var1Scaling = s.Log
    +s.scaleCube = 1
    +SetPlotOptions(s)
    +ResetView()
    +v1 = GetView2D()
    +Test("scatter_02")
    +
    +s.var1Scaling = s.Skew
    +s.var1SkewFactor = 10
    +SetPlotOptions(s)
    +Test("scatter_03")
    +s.var1SkewFactor = 0.01
    +SetPlotOptions(s)
    +Test("scatter_04")
    +
    +#
    +# Add a 3rd dimension
    +#
    +s.var1Scaling = s.Linear
    +s.var3 = "radial"
    +s.var3Role = s.Coordinate2
    +SetPlotOptions(s)
    +v2 = View3DAttributes()
    +v2.viewNormal = (-0.70917, 0.324761, 0.625787)
    +v2.focus = (0.5, 0.5, 0.5)
    +v2.viewUp = (0.218647, 0.945137, -0.242712)
    +v2.viewAngle = 30
    +v2.parallelScale = 0.866025
    +v2.nearPlane = -1.73205
    +v2.farPlane = 1.73205
    +v2.imagePan = (0.00504899, 0.0411036)
    +v2.imageZoom = 1.44477
    +v2.perspective = 1
    +v2.eyeAngle = 2
    +SetView3D(v2)
    +Test("scatter_05")
    +
    +#
    +# Add a color dimension
    +#
    +s.var4 = "default"
    +s.var4Role = s.Color
    +SetPlotOptions(s)
    +Test("scatter_06")
    +
    +
    +#
    +# Try the min, max for the color
    +#
    +s.var4MinFlag = 1
    +s.var4Min = 2.5
    +SetPlotOptions(s)
    +Test("scatter_07")
    +
    +s.var4MinFlag = 0
    +s.var4MaxFlag = 1
    +s.var4Max = 3.4
    +SetPlotOptions(s)
    +Test("scatter_08")
    +
    +#
    +# Try scaling the color
    +#
    +s.var4MinFlag = 0
    +s.var4MaxFlag = 0
    +s.var4Scaling = s.Log
    +SetPlotOptions(s)
    +Test("scatter_09")
    +
    +s.var4Scaling = s.Skew
    +s.var4SkewFactor = 10
    +SetPlotOptions(s)
    +Test("scatter_10")
    +
    +s.var4SkewFactor = 0.01
    +SetPlotOptions(s)
    +Test("scatter_11")
    +
    +
    +#
    +# Try changing color variables
    +#
    +s.var4Scaling = s.Linear
    +s.var4 = "chromeVf"
    +SetPlotOptions(s)
    +Test("scatter_12")
    +
    +
    +#
    +# Try changing roles of color and Z.
    +#
    +s.var4Role = s.Coordinate2
    +s.var3Role = s.Color
    +SetPlotOptions(s)
    +Test("scatter_13")
    +
    +#
    +# Change the roles back and change the color table.
    +#
    +s.var4Role = s.Color
    +s.var3Role = s.Coordinate2
    +s.var4 = "hardyglobal"
    +s.colorTableName = "gray"
    +SetPlotOptions(s)
    +Test("scatter_14")
    +
    +#
    +# Make it use a single color
    +#
    +s.var4Role = s.NONE
    +s.colorType = 1
    +s.singleColor = (0,255,0,255)
    +SetPlotOptions(s)
    +Test("scatter_15")
    +
    +#
    +# Turn off the legend
    +#
    +s.legendFlag = 0
    +SetPlotOptions(s)
    +Test("scatter_16")
    +DeleteActivePlots()
    +
    +#
    +# Try a Scatter plot with multi-block data
    +#
    +TestSection("Multiblock and scale to cube")
    +OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +AddPlot("Scatter", "d")
    +s = ScatterAttributes()
    +s.var2 = "u"
    +s.var2Role = s.Coordinate1
    +s.var3 = "v"
    +s.var3Role = s.Coordinate2
    +s.var4 = "u"
    +s.var4Role = s.Color
    +s.scaleCube = 1
    +s.pointSize = 0.01
    +s.pointType = s.Box
    +SetPlotOptions(s)
    +DrawPlots()
    +
    +v = View3DAttributes()
    +v.viewNormal = (0.482571, 0.41728, 0.770066)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.269481, 0.907303, -0.322772)
    +v.viewAngle = 30
    +v.parallelScale = 0.864825
    +v.nearPlane = -1.72965
    +v.farPlane = 1.72965
    +v.imagePan = (0.0547107, 0.0441637)
    +v.imageZoom = 1.08726
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.5, 0.5, 0.5)
    +SetView3D(v)
    +Test("scatter_17")
    +
    +# Try different scalings.
    +s.var1Scaling = s.Log
    +SetPlotOptions(s)
    +Test("scatter_18")
    +
    +s.var1Scaling = s.Skew
    +s.var1SkewFactor = 50.
    +SetPlotOptions(s)
    +Test("scatter_19")
    +DeleteActivePlots()
    +
    +#
    +# Do different variables.
    +#
    +DefineScalarExpression("xc", "coord(mesh1)[0]")
    +DefineScalarExpression("yc", "coord(mesh1)[1]")
    +DefineScalarExpression("zc", "coord(mesh1)[2]")
    +DefineScalarExpression("uvw_prod", "u*v*w")
    +AddPlot("Scatter", "xc")
    +s = ScatterAttributes()
    +s.var2 = "yc"
    +s.var2Role = s.Coordinate1
    +s.var3 = "zc"
    +s.var3Role = s.Coordinate2
    +s.var4 = "uvw_prod"
    +s.var4Role = s.Color
    +s.scaleCube = 1
    +s.pointSize = 0.01
    +s.pointType = s.Box
    +SetPlotOptions(s)
    +DrawPlots()
    +
    +v.viewNormal = (0.799291, 0.383343, 0.462798)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (-0.325714, 0.92354, -0.202447)
    +v.viewAngle = 30
    +v.parallelScale = 0.866025
    +v.nearPlane = -1.73205
    +v.farPlane = 1.73205
    +v.imagePan = (0.000204097, 0.0398577)
    +v.imageZoom = 1.07422
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0.5, 0.5, 0.5)
    +SetView3D(v)
    +Test("scatter_20")
    +DeleteActivePlots()
    +
    +#
    +# Set min/max values in X,Y,Z and make sure that the points are the right
    +# color and the extents are right.
    +#
    +TestSection("Set min and max values, make sure colors and extents are right")
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Scatter", "d")
    +s = ScatterAttributes()
    +s.var2 = "p"
    +s.var2Role = s.Coordinate1
    +s.var3 = "default"
    +s.var3Role = s.Color
    +s.pointType = s.Axis
    +SetPlotOptions(s)
    +DrawPlots()
    +ResetView()
    +
    +Test("scatter_21")
    +
    +# Set a min in X and make sure the points are still the right color.
    +s.var1MinFlag = 1
    +s.var1Min = 3.5
    +SetPlotOptions(s)
    +Test("scatter_22")
    +
    +# Set min max in X and Y
    +s.var1MinFlag = 1
    +s.var1MaxFlag = 1
    +s.var1Min = 2.
    +s.var1Max = 4.
    +s.var2MinFlag = 1
    +s.var2MaxFlag = 1
    +s.var2Min = 0.3
    +s.var2Max = 0.4
    +SetPlotOptions(s)
    +Test("scatter_23")
    +
    +DeleteActivePlots()
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Scatter", "hardyglobal")
    +s = ScatterAttributes()
    +s.var2 = "shepardglobal"
    +s.var2Role = s.Coordinate1
    +s.var3 = "radial"
    +s.var3Role = s.Coordinate2
    +s.var4 = "radial"
    +s.var4Role = s.Color
    +s.scaleCube = 1
    +SetPlotOptions(s)
    +DrawPlots()
    +SetView3D(v2)
    +Test("scatter_24")
    +
    +# Set a min in Z.
    +s.var3MinFlag = 1
    +s.var3Min = 15.
    +SetPlotOptions(s)
    +Test("scatter_25")
    +
    +# Set a max in Z.
    +s.var3MaxFlag = 1
    +s.var3Max = 22.
    +SetPlotOptions(s)
    +Test("scatter_26")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_singlecolor.html b/2023-11-08-22:00/pascal_trunk_serial/plots_singlecolor.html new file mode 100644 index 000000000..680494d0b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_singlecolor.html @@ -0,0 +1,54 @@ + +Results for plots/singlecolor.py + +

    Results of VisIt Regression Test - plots/singlecolor

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    singlecolor000.000.00
    singlecolor010.000.00
    singlecolor020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_singlecolor_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_singlecolor_py.html new file mode 100644 index 000000000..6c22d8289 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_singlecolor_py.html @@ -0,0 +1,77 @@ +plots/singlecolor.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  singlecolor.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#              plots     - Boundary, FilledBoundary, Subset
    +#
    +#  Defect ID:  VisIt00002372
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Oct 23 15:36:30 PST 2003
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use domains var for Subset plot test instead of materials.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set the single color to light blue and partially transparent using the
    +# plot's global opacity setting.
    +def SetSingleColor(atts):
    +    atts.singleColor = (153, 204, 255, 255)
    +    atts.colorType = b.ColorBySingleColor
    +    atts.opacity = 0.4
    +    SetPlotOptions(atts)
    +
    +# Set the view that we want to use.
    +def InitializeView():
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.428395 ,0.549517, 0.717293)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.186332, 0.830487, -0.52495)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0.0183269, -0.0257188)
    +    v.imageZoom = 1.17591
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    SetView3D(v)
    +
    +# Open the database.
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +# Test the single color opacity for the Boundary plot
    +AddPlot("Boundary", "mat1")
    +b = BoundaryAttributes()
    +SetSingleColor(b)
    +DrawPlots()
    +InitializeView()
    +Test("singlecolor00")
    +
    +# Test the single color opacity for the FilledBoundary plot
    +DeleteAllPlots()
    +AddPlot("FilledBoundary", "mat1")
    +f = FilledBoundaryAttributes()
    +SetSingleColor(f)
    +DrawPlots()
    +Test("singlecolor01")
    +
    +# Test the single color opacity for the Subset plot
    +DeleteAllPlots()
    +AddPlot("Subset", "domains")
    +s = SubsetAttributes()
    +SetSingleColor(s)
    +DrawPlots()
    +Test("singlecolor02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_subset.html b/2023-11-08-22:00/pascal_trunk_serial/plots_subset.html new file mode 100644 index 000000000..aae7fa0d4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_subset.html @@ -0,0 +1,135 @@ + +Results for plots/subset.py + +

    Results of VisIt Regression Test - plots/subset

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    subset_010.000.00
    subset_020.000.00
    subset_030.000.00
    subset_040.000.00
    subset_050.000.00
    subset_060.000.00
    subset_070.000.00
    subset_080.000.00
    subset_090.000.00
    subset_100.000.00
    point mesh
    subset_110.000.00
    subset_120.000.00
    subset_130.000.00
    subset_140.000.00
    subset_150.000.00
    subset_160.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_subset_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_subset_py.html new file mode 100644 index 000000000..461bdcd25 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_subset_py.html @@ -0,0 +1,190 @@ +plots/subset.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  subset.py
    +#
    +#  Tests:      meshes    - 2D curvilinear, multiple domain
    +#              plots     - subset
    +#
    +#  Defect ID:  '6105, '6762
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 31, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Nov 15 07:28:43 PST 2005
    +#    Added test for subset plus macro expression.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Hank Childs, Mon Mar 26 12:00:23 PDT 2012
    +#    Add test for Subset plot + material selection
    +#
    +#    Kathleen Biagas, Fri Jun  5 08:35:31 PDT 2020
    +#    Added tests for point glyhphing/sizing for data that doesn't declare
    +#    itself a point mesh and for data with mixed topology.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +AddPlot("Subset", "domains")
    +DrawPlots()
    +
    +v = GetView2D()
    +v.viewportCoords = (0, 1, 0, 1)
    +v.windowCoords = (-5, 5, 0, 5)
    +SetView2D(v)
    +
    +Test("subset_01")
    +
    +s = SubsetAttributes()
    +s.wireframe = 1
    +SetPlotOptions(s)
    +Test("subset_02")
    +
    +i = IsovolumeAttributes()
    +i.variable = "d"
    +i.lbound = 2.7
    +i.ubound = 3.6
    +SetDefaultOperatorOptions(i)
    +AddOperator("Isovolume")
    +DrawPlots()
    +Test("subset_03")
    +
    +s.wireframe = 0
    +SetPlotOptions(s)
    +Test("subset_04")
    +
    +RemoveLastOperator()
    +op = OnionPeelAttributes()
    +op.categoryName = "domains"
    +op.subsetName = "domain3"
    +op.index = (100)
    +SetDefaultOperatorOptions(op)
    +AddOperator("OnionPeel")
    +DrawPlots()
    +
    +v.windowCoords = (-0.7, -0.3, 3.1, 3.25)
    +SetView2D(v)
    +
    +Test("subset_05")
    +
    +# This is a different wireframe path than the other tests, because
    +# we have special handling for single cell wireframes.
    +# This corresponds to ticket '6105.
    +s.wireframe = 1
    +SetPlotOptions(s)
    +Test("subset_06")
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +AddPlot("Subset", "levels")
    +AddOperator("Isovolume")
    +DefineScalarExpression("vort", "curl(vel)")
    +iso_atts = IsovolumeAttributes()
    +iso_atts.variable = "vort"
    +iso_atts.lbound = -10000000
    +iso_atts.ubound = 0
    +SetOperatorOptions(iso_atts)
    +DrawPlots()
    +ResetView()
    +Test("subset_07")
    +
    +RemoveLastOperator()
    +s = SILRestriction()
    +mats = s.SetsInCategory("materials")
    +s.TurnOffSet(mats[0])
    +s.TurnOffSet(mats[1])
    +SetPlotSILRestriction(s)
    +Test("subset_08")
    +
    +ChangeActivePlotsVar("patches")
    +Test("subset_09")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +OpenDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
    +
    +AddPlot("Subset", "blocks(amr_mesh)")
    +DrawPlots()
    +
    +s = SubsetAttributes()
    +s.wireframe = 1
    +SetPlotOptions(s)
    +
    +Test("subset_10")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_amr_test_data/amr2d_wmrgtree.silo"))
    +
    +TestSection("point mesh")
    +OpenDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
    +AddPlot("Subset", "domains(points_mesh)")
    +
    +s = SubsetAttributes()
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (0, 170, 255, 255)
    +SetPlotOptions(s)
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (-0.605449, 0.469667, 0.642529)
    +v.viewUp = (0.169201, 0.864818, -0.472716)
    +SetView3D(v)
    +Test("subset_11")
    +
    +s.pointSizePixels = 5
    +SetPlotOptions(s)
    +Test("subset_12")
    +
    +
    +s.pointType = s.Tetrahedron
    +s.pointSize = 3
    +SetPlotOptions(s)
    +Test("subset_13")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("blueprint_v0.3.1_test_data/braid_3d_examples_json.root"))
    +
    +
    +OpenDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +
    +AddPlot("Subset", "mesh")
    +s = SubsetAttributes()
    +s.colorType = s.ColorBySingleColor
    +s.singleColor = (0, 170, 255, 255)
    +s.lineWidth = 3
    +s.pointType = s.Point
    +s.pointSizePixels = 2
    +SetPlotOptions(s)
    +DrawPlots()
    +ResetView()
    +
    +Test("subset_14")
    +
    +s.pointSizePixels = 5
    +SetPlotOptions(s)
    +Test("subset_15")
    +
    +s.pointType = s.Icosahedron
    +s.pointSize = 0.5
    +SetPlotOptions(s)
    +Test("subset_16")
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("vtk_test_data/ugrid_mixed_cells.vtk"))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_surface.html b/2023-11-08-22:00/pascal_trunk_serial/plots_surface.html new file mode 100644 index 000000000..8ef34eeec --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_surface.html @@ -0,0 +1,96 @@ + +Results for plots/surface.py + +

    Results of VisIt Regression Test - plots/surface

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    surface_010.000.00
    surface_020.000.00
    surface_030.000.00
    surface_040.000.00
    surface_050.000.00
    surface_060.000.00
    surface_070.000.00
    surface_080.000.00
    surface_090.000.00
    surface_100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_surface_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_surface_py.html new file mode 100644 index 000000000..30f36c733 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_surface_py.html @@ -0,0 +1,101 @@ +plots/surface.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  surface.py
    +#
    +#  Tests:      mesh      - 2D structured, single domain
    +#                        - 2D rectilinear, single domain
    +#              plots     - surface
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       August 22, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Wed Sep  3 17:21:44 PDT 2003
    +#    Add tests 4-10, testing more options of the Surface plot. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +#Test default surface plot (surface on, wireframe off)
    +AddPlot("Surface", "u")
    +DrawPlots()
    +Test("surface_01")
    +
    +#Turn on  Wireframe
    +s = SurfaceAttributes()
    +s.wireframeFlag=1
    +SetPlotOptions(s)
    +Test("surface_02")
    +
    +#Turn off surface, leaving only wireframe
    +s.surfaceFlag=0
    +SetPlotOptions(s)
    +Test("surface_03")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("noise2d.silo"))
    +
    +AddPlot("Surface", "shepardglobal")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.25, -0.95, -0.2)
    +v.focus = (0, 0, 10)
    +v.viewUp = (0.04, 0.2, -0.98)
    +v.imageZoom = 1.001
    +SetView3D(v)
    +Test("surface_04")
    +
    +# Turn off lighting
    +s = SurfaceAttributes()
    +s.lightingFlag = 0
    +SetPlotOptions(s)
    +Test("surface_05")
    +
    +# Lighting on, wireframe on, log scaling 
    +s.lightingFlag = 1
    +s.wireframeFlag = 1
    +s.scaling = s.Log
    +SetPlotOptions(s)
    +Test("surface_06")
    +
    +# Skew scaling, skew factor = 100
    +s.scaling = s.Skew
    +s.skewFactor = 100
    +SetPlotOptions(s)
    +Test("surface_07")
    +
    +# Skew scaling, skew factor = 0.001
    +s.skewFactor = 0.001
    +SetPlotOptions(s)
    +Test("surface_08")
    +
    +# Solid color for surface
    +s.colorByZFlag = 0
    +s.surfaceColor = (0, 200, 122, 255)
    +SetPlotOptions(s)
    +Test("surface_09")
    +
    +# change wire color, style, turn off surface
    +s.wireframeColor = (0, 0, 255, 255)
    +s.surfaceFlag = 0
    +SetPlotOptions(s)
    +Test("surface_10")
    +
    +
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_tensor.html b/2023-11-08-22:00/pascal_trunk_serial/plots_tensor.html new file mode 100644 index 000000000..b61033f2b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_tensor.html @@ -0,0 +1,84 @@ + +Results for plots/tensor.py + +

    Results of VisIt Regression Test - plots/tensor

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    tensor_010.000.00
    tensor_020.000.00
    tensor_030.000.00
    tensor_040.000.00
    tensor_050.000.00
    tensor_060.000.00
    tensor_070.000.00
    tensor_080.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_tensor_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_tensor_py.html new file mode 100644 index 000000000..bdcd601aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_tensor_py.html @@ -0,0 +1,161 @@ +plots/tensor.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  tensor.py
    +#
    +#  Tests:      tensor    - 3D rectilinear, single domain
    +#              plots     - tensor + some more exhibiting tensor functionality.
    +#
    +#  Defect ID:  '4165
    +#
    +#  Programmer: Hank Childs
    +#  Date:       December 1, 2003
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Fri May  7 08:12:41 PDT 2004
    +#    Re-enable test for decomposing tensors that now works.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +
    +AddPlot("Tensor", "grad_tensor")
    +t = TensorAttributes()
    +t.autoScale = 0
    +t.nTensors = 55
    +t.scale = 5
    +SetPlotOptions(t)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.312459, 0.334641, 0.889036)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0.198376, 0.938247, -0.283443)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.imagePan = (0, 0)
    +v.imageZoom = 1.18209
    +v.perspective = 1
    +v.eyeAngle = 2
    +SetView3D(v)
    +
    +# Test the general tensor plot.
    +Test("tensor_01")
    +
    +AddOperator("Slice")
    +a = SliceAttributes()
    +a.project2d = 0
    +a.normal = (0.667, 0.333, -0.667)
    +SetOperatorOptions(a)
    +DrawPlots()
    +
    +# Test the interaction of the tensor plot with the slice operator.
    +Test("tensor_02")
    +
    +RemoveLastOperator()
    +
    +b = BoxAttributes()
    +b.minx = -2
    +b.maxx = 5
    +b.miny = -3
    +b.maxy = 0
    +b.minz = -8
    +b.maxz = -4
    +SetDefaultOperatorOptions(b)
    +AddOperator("Box")
    +
    +t.nTensors = 20
    +SetPlotOptions(t)
    +DrawPlots()
    +
    +# Test the interaction of the tensor plot with the box operator.
    +Test("tensor_03")
    +
    +DeleteAllPlots()
    +
    +
    +# Test decomposing tensors and creating vectors.  The decomposition of
    +# the XX, YY, and ZZ components of the tensor is the standard gradient --
    +# so if we subtract the gradient from it, we should get all zeros.
    +DefineVectorExpression("major_comps", "{ grad_tensor[0][0], grad_tensor[1][1], grad_tensor[2][2] }")
    +
    +DefineVectorExpression("diff", "major_comps-grad")
    +DefineScalarExpression("mag_diff", "magnitude(diff)")
    +
    +AddPlot("Pseudocolor", "mag_diff")
    +DrawPlots()
    +Test("tensor_04")
    +
    +DeleteAllPlots()
    +
    +
    +DefineScalarExpression("det", "determinant(grad_tensor)")
    +AddPlot("Pseudocolor", "det")
    +p = PseudocolorAttributes()
    +p.maxFlag = 1
    +p.max = 0.4
    +SetPlotOptions(p)
    +t = ThresholdAttributes()
    +t.listedVarNames = ("det")
    +t.lowerBounds = (0.0)
    +SetDefaultOperatorOptions(t)
    +AddOperator("Threshold")
    +DrawPlots()
    +
    +v.viewNormal = (-0.568609, -0.669889, 0.477424)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0.792201, -0.289591, 0.537172)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +v.eyeAngle = 2
    +
    +Test("tensor_05")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("ident", "determinant(grad_tensor*inverse(grad_tensor))")
    +AddPlot("Pseudocolor", "ident")
    +DrawPlots()
    +
    +Test("tensor_06")
    +
    +DeleteAllPlots()
    +DefineScalarExpression("trace", "trace(grad_tensor)")
    +AddPlot("Contour", "trace")
    +DrawPlots()
    +
    +Test("tensor_07")
    +
    +DeleteAllPlots()
    +DefineVectorExpression("ev", "eigenvalue(grad_tensor)")
    +AddPlot("Vector", "ev")
    +v = VectorAttributes()
    +v.autoScale = 0
    +v.scale = 6
    +v.nVectors = 55
    +SetPlotOptions(v)
    +DrawPlots()
    +
    +Test("tensor_08")
    +
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_truecolor.html b/2023-11-08-22:00/pascal_trunk_serial/plots_truecolor.html new file mode 100644 index 000000000..09f453c09 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_truecolor.html @@ -0,0 +1,42 @@ + +Results for plots/truecolor.py + +

    Results of VisIt Regression Test - plots/truecolor

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    truecolor_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_truecolor_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_truecolor_py.html new file mode 100644 index 000000000..27e0a505f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_truecolor_py.html @@ -0,0 +1,21 @@ +plots/truecolor.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  truecolor.py
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       June 29, 2005 
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(data_path("Image_test_data/manhattan.jpg"))
    +
    +
    +AddPlot("Truecolor","color");
    +DrawPlots()
    +
    +Test("truecolor_01")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_vector.html b/2023-11-08-22:00/pascal_trunk_serial/plots_vector.html new file mode 100644 index 000000000..ff2c70f57 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_vector.html @@ -0,0 +1,150 @@ + +Results for plots/vector.py + +

    Results of VisIt Regression Test - plots/vector

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    vector_010.000.00
    vector_020.000.00
    vector_030.000.00
    vector_040.000.00
    vector_050.000.00
    vector_060.000.00
    vector_070.000.00
    vector_080.000.00
    vector_090.000.00
    vector_100.000.00
    vector_110.000.00
    vector_120.000.00
    vector_130.000.00
    vector_140.000.00
    vector_150.000.00
    vector_160.000.00
    vector_170.000.00
    vector_180.000.00
    vector_190.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_vector_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_vector_py.html new file mode 100644 index 000000000..2646e8957 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_vector_py.html @@ -0,0 +1,244 @@ +plots/vector.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  vector.py
    +#
    +#  Tests:      vector    - 3D rectilinear, unstructured single domain
    +#              plots     - vector, plus interactions with some operators.
    +#
    +#  Defect ID:  '4954
    +#
    +#  Programmer: Hank Childs
    +#  Date:       June 2, 2004
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Thu Jun 24 12:58:06 PDT 2004
    +#    Set the vector origin explicitly for some cases because I changed the
    +#    default to Tail.
    +#
    +#    Jeremy Meredith, Tue Jul  8 12:54:58 EDT 2008
    +#    Added test for new limit to original cells/nodes only.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Tue Nov 29 10:41:39 PST 2022
    +#    Replace obsolte 'colorByMag' vector att with 'colorByMagnitude'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Vector", "vel")
    +vector_atts = VectorAttributes()
    +vector_atts.autoScale = 0
    +SetPlotOptions(vector_atts)
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.453335, 0.442704, 0.773628)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0.256972, 0.895999, -0.362148)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.imagePan = (0, 0)
    +v.imageZoom = 1.3354
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("vector_01")
    +
    +#
    +# Test that we can thin the vector field correctly.
    +#
    +vector_atts.vectorOrigin = vector_atts.Middle
    +vector_atts.nVectors = 1005
    +SetPlotOptions(vector_atts)
    +Test("vector_02")
    +
    +vector_atts.nVectors = 50
    +SetPlotOptions(vector_atts)
    +Test("vector_03")
    +
    +vector_atts.useStride = 1
    +vector_atts.stride = 5
    +SetPlotOptions(vector_atts)
    +Test("vector_04")
    +
    +vector_atts.stride = 1
    +SetPlotOptions(vector_atts)
    +Test("vector_05")
    +
    +vector_atts.stride = 50
    +SetPlotOptions(vector_atts)
    +Test("vector_06")
    +
    +#
    +# Test some rendering portions of the vector plot.
    +#
    +vector_atts.useStride = 0
    +vector_atts.nVectors = 400
    +vector_atts.scale = 0.5
    +SetPlotOptions(vector_atts)
    +Test("vector_07")
    +
    +vector_atts.headOn = 0
    +SetPlotOptions(vector_atts)
    +Test("vector_08")
    +
    +vector_atts.headOn = 1
    +vector_atts.colorByMagnitude = 0
    +vector_atts.vectorColor = (255, 0, 255, 255)
    +SetPlotOptions(vector_atts)
    +Test("vector_09")
    +
    +
    +#
    +# Test zonal vectors.
    +#
    +vector_atts.colorByMagnitude = 1
    +SetPlotOptions(vector_atts)
    +ChangeActivePlotsVar("disp")
    +Test("vector_10")
    +
    +
    +#
    +# Test that we can have other plots in the same window as the vector plot.
    +#
    +DefineScalarExpression("mag", "magnitude(disp)")
    +AddPlot("Pseudocolor", "mag")
    +AddOperator("Isovolume")
    +iso_atts = IsovolumeAttributes()
    +iso_atts.lbound = 3
    +SetOperatorOptions(iso_atts)
    +DrawPlots()
    +Test("vector_11")
    +
    +
    +#
    +# Test that vector plots still work when restricted to a slice, etc.
    +#
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +DefineVectorExpression("v1", "{ vel[0]*coord(quadmesh3d)[0], vel[1]*coord(quadmesh3d)[1], vel[2]*coord(quadmesh3d)[2] }")
    +DefineScalarExpression("mag2", "magnitude(v1)")
    +
    +AddPlot("Vector", "v1")
    +vector_atts = VectorAttributes()
    +vector_atts.autoScale = 0
    +SetPlotOptions(vector_atts)
    +DrawPlots()
    +
    +v.viewNormal = (-0.450822, 0.819923, -0.352824)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (0.868253, 0.311093, -0.386468)
    +v.viewAngle = 30
    +v.parallelScale = 0.866025
    +v.nearPlane = -1.73205
    +v.farPlane = 1.73205
    +v.imagePan = (0, 0)
    +v.imageZoom = 1.3354
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +Test("vector_12")
    +
    +iso_surf_atts = IsosurfaceAttributes()
    +iso_surf_atts.variable = "mag2"
    +iso_surf_atts.contourMethod = iso_surf_atts.Value
    +iso_surf_atts.contourValue = (0.2)
    +SetDefaultOperatorOptions(iso_surf_atts)
    +AddOperator("Isosurface")
    +DrawPlots()
    +Test("vector_13")
    +
    +RemoveLastOperator()
    +
    +slice_atts = SliceAttributes()
    +slice_atts.originType = slice_atts.Point
    +slice_atts.originPoint = (0.5, 0.5, 0.5)
    +slice_atts.normal = (1, 1, 1)
    +SetDefaultOperatorOptions(slice_atts)
    +AddOperator("Slice")
    +DrawPlots()
    +Test("vector_14")
    +
    +slice_atts.project2d = 0
    +slice_atts.normal = (1, -0.5, 0.5)
    +SetOperatorOptions(slice_atts)
    +v.viewNormal = (-0.00395109, 0.999884, -0.0147199)
    +v.focus = (0.5, 0.5, 0.5)
    +v.viewUp = (0.987418, 0.00157403, -0.158122)
    +v.viewAngle = 30
    +v.parallelScale = 0.866025
    +v.nearPlane = -1.73205
    +v.farPlane = 1.73205
    +v.imagePan = (0, 0)
    +v.imageZoom = 1.3354
    +v.perspective = 1
    +v.eyeAngle = 2
    +v.centerOfRotationSet = 0
    +v.centerOfRotation = (0, 0, 0)
    +SetView3D(v)
    +
    +Test("vector_15")
    +
    +#
    +# Test the "limit vectors to original node/cell" option
    +#
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +DefineVectorExpression("cvel","recenter(vel)")
    +AddPlot("Vector", "vel", 1, 0)
    +AddPlot("Boundary", "mat1", 1, 0)
    +AddPlot("Mesh", "quadmesh2d", 1, 0)
    +SetActivePlots(0)
    +vec=VectorAttributes()
    +vec.useStride=1
    +vec.stride=1
    +vec.scale=0.1
    +v = GetView2D()
    +v.windowCoords=(0,.3,1,1.3)
    +SetView2D(v)
    +SetPlotOptions(vec)
    +TurnMaterialsOff(("3","7","8"))
    +DrawPlots()
    +
    +vec.origOnly = 0
    +SetPlotOptions(vec)
    +Test("vector_16")
    +
    +vec.origOnly = 1
    +SetPlotOptions(vec)
    +Test("vector_17")
    +
    +ChangeActivePlotsVar("cvel")
    +
    +vec.origOnly = 0
    +SetPlotOptions(vec)
    +Test("vector_18")
    +
    +vec.origOnly = 1
    +SetPlotOptions(vec)
    +Test("vector_19")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_volumePlot.html b/2023-11-08-22:00/pascal_trunk_serial/plots_volumePlot.html new file mode 100644 index 000000000..3ef08ad13 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_volumePlot.html @@ -0,0 +1,233 @@ + +Results for plots/volumePlot.py + +

    Results of VisIt Regression Test - plots/volumePlot

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Volume Plot color control points
    volumePlot_volume_colors_00.000.00
    volumePlot_volume_colors_10.000.00
    volumePlot_volume_colors_20.000.00
    volumePlot_volume_colors_30.000.00
    volumeGaussian_010.000.00
    volumeAspect_010.000.00
    volumeOpacity_010.000.00
    volumeOpacity_020.000.00
    volumeOpacity_030.000.00
    volumeOpacity_040.000.00
    volumeOpacity_0598.2640.17
    vol_commandRecorded0.000.00
    volumeScaling_010.000.00
    volumeScaling_020.000.00
    volumeScaling_030.000.00
    volumeScaling_040.000.00
    volumeScaling_050.000.00
    volumeScaling_060.000.00
    volumeScaling_070.000.00
    volumeScaling_080.000.00
    volumeScaling_090.000.00
    volumeScaling_100.000.00
    volumeScaling_110.000.00
    volumeScaling_120.000.00
    volumeSampling_010.000.00
    volumeSampling_020.000.00
    volumeSampling_030.000.00
    opacityAttenuation_010.000.00
    opacityAttenuation_020.000.00
    graidentLighting_000.000.00
    graidentLighting_010.000.00
    graidentLighting_020.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plots_volumePlot_py.html b/2023-11-08-22:00/pascal_trunk_serial/plots_volumePlot_py.html new file mode 100644 index 000000000..8e83f3d3a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plots_volumePlot_py.html @@ -0,0 +1,665 @@ +plots/volumePlot.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  volumePlot.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, one domain
    +#              plots     - volume
    +#              operators - none
    +#              selection - no
    +#
    +#  Programmer: Kathleen Bonnell
    +#  Date:       March 4, 2005
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Fri Oct 14 10:12:06 PDT 2005
    +#    Added InitAnnotationsLegendOn and TestVolumeOpacity per '6670.
    +#
    +#    Hank Childs, Fri May 26 10:11:52 PDT 2006
    +#    Add test for extremely high aspect ratio meshes.  ['7250]
    +#
    +#    Brad Whitlock, Wed Mar 14 17:18:05 PST 2007
    +#    Added tests for color control points and gaussian control points.
    +#
    +#    Brad Whitlock, Thu Mar 12 09:17:57 PDT 2009
    +#    I changed freeformFlag to opacityMode to reflect changes to the plot
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Hank Childs, Sun Aug 29 16:07:56 PDT 2010
    +#    Change Log10 to Log, to reflect change in naming.
    +#
    +#    Brad Whitlock, Thu May 10 15:21:51 PDT 2018
    +#    Add test case for sampling types.
    +#
    +#    Alister Maguire, Tue Feb  5 14:17:13 PST 2019
    +#    Updated the aspect test to use a larger multiplier and no shading for
    +#    better visibility. Updated the scaling test to not use shading (again
    +#    for better visibility).
    +#
    +#    Alister Maguire, Mon Mar 25 11:19:54 PDT 2019
    +#    Added an opacity test that changes the opacity variable.
    +#
    +#    Alister Maguire, Wed Jun  5 11:01:31 PDT 2019
    +#    Added opacity attenuation test.
    +#
    +#    Alister Maguire, Fri Mar 20 15:36:37 PDT 2020
    +#    Added gradient lighting reduction test.
    +#
    +#    Kathleen Biagas, Wed May 25, 2022
    +#    Added test for command-recorded volume atts.
    +#
    +#    Kathleen Biagas, Fri June 3, 2022
    +#    Renamed TestVolumeColorControlPoints to volume_colors, use new
    +#    TestAutoName funcationality. Modified TestVolumeSampling to set the
    +#    ColorControlPoints directly from the retrieved color table rather than
    +#    calling AddControlPoints (it is now a quick recipe).
    +#
    +# ----------------------------------------------------------------------------
    +
    +def InitAnnotations():
    +    # Turn off all annotation
    +    TurnOffAllAnnotations()
    +
    +def InitAnnotationsLegendOn():
    +    # Turn off all annotation
    +    a = AnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +    a.legendInfoFlag = 1
    +    SetAnnotationAttributes(a)
    +
    +def TestVolumeScaling():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Volume", "t")
    +    volAtts = VolumeAttributes()
    +    volAtts.lightingFlag = 0
    +    SetPlotOptions(volAtts)
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (1, 0, 0)
    +    SetView3D(v)
    +
    +    Test("volumeScaling_01")
    +
    +    volAtts.scaling = volAtts.Log
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_02")
    +
    +    volAtts.scaling = volAtts.Skew
    +    volAtts.skewFactor = 0.0001
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_03")
    +
    +    volAtts.skewFactor = 1000
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_04")
    +
    +    volAtts.scaling = volAtts.Linear
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_05")
    +
    +    volAtts.scaling = volAtts.Log
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_06")
    +
    +    volAtts.scaling = volAtts.Skew
    +    volAtts.skewFactor = 0.0001
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_07")
    +
    +    volAtts.skewFactor = 1000
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_08")
    +
    +    volAtts.rendererType = volAtts.RayCasting
    +    volAtts.scaling = volAtts.Linear
    +    volAtts.lightingFlag = 0
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_09")
    +
    +    volAtts.scaling = volAtts.Log
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_10")
    +
    +    volAtts.scaling = volAtts.Skew
    +    volAtts.skewFactor = 0.0001
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_11")
    +
    +    volAtts.skewFactor = 1000
    +    SetPlotOptions(volAtts)
    +    Test("volumeScaling_12")
    +
    +    DeleteAllPlots()
    +
    +def TestVolumeOpacity():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Volume", "hardyglobal")
    +    volAtts = VolumeAttributes()
    +    SetPlotOptions(volAtts)
    +    DrawPlots()
    +    ResetView()
    +    # default opacity
    +    Test("volumeOpacity_01")
    +
    +    # setting opacity via individual index and value
    +    for i in range(150):
    +        volAtts.SetFreeformOpacity(i, 0)
    +
    +    SetPlotOptions(volAtts)
    +    Test("volumeOpacity_02")
    +
    +    # setting opacity via creation of a tuple
    +    opac1 = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 255, 248, 240, 232, 224, 216, 208, 200, 192, 184, 176, 168, 160, 152, 144, 136, 128, 120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 255, 248, 240, 232, 224, 216, 208, 200, 192, 184, 176, 168, 160, 152, 144, 136, 128, 120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
    +
    +    volAtts.SetFreeformOpacity(*opac1)
    +    SetPlotOptions(volAtts)
    +    Test("volumeOpacity_03")
    +
    +    # setting opacity via creation of a list
    +    opac2 = []
    +    for j in range(32):
    +        opac2 = opac2 + [j*8]
    +    for j in range(32):
    +        opac2 = opac2 + [255-(j*8)]
    +    for j in range(128):
    +        opac2 = opac2 + [0]
    +    for j in range(32):
    +        opac2 = opac2 + [j*8]
    +    for j in range(32):
    +        opac2 = opac2 + [255-(j*8)]
    +
    +    volAtts.SetFreeformOpacity(opac2)
    +    SetPlotOptions(volAtts)
    +    Test("volumeOpacity_04")
    +
    +    #
    +    # Make sure we can change out opacity variable.
    +    #
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Volume", "dz")
    +    volAtts = VolumeAttributes()
    +    volAtts.opacityVariable = "v"
    +    volAtts.lightingFlag = 0
    +    SetPlotOptions(volAtts)
    +    DrawPlots()
    +    Test("volumeOpacity_05")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestOpacityAttenuation():
    +
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    ResetView()
    +
    +    #
    +    # First, test the ray caster without reduced attenuation.
    +    #
    +    AddPlot("Volume", "hardyglobal")
    +    volAtts = VolumeAttributes()
    +    volAtts.lightingFlag = 0
    +    volAtts.opacityAttenuation = 1
    +    volAtts.rendererType = volAtts.RayCasting
    +    SetPlotOptions(volAtts)
    +    DrawPlots()
    +    Test("opacityAttenuation_01")
    +
    +    #
    +    # Now reduce attenutation.
    +    #
    +    volAtts = VolumeAttributes()
    +    volAtts.lightingFlag = 0
    +    volAtts.rendererType = volAtts.RayCasting
    +    volAtts.opacityAttenuation = .12
    +    SetPlotOptions(volAtts)
    +    DrawPlots()
    +    Test("opacityAttenuation_02")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestVolumeAspect():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    orig_atts = VolumeAttributes()
    +    new_atts  = VolumeAttributes()
    +    new_atts.lightingFlag = 0
    +
    +    AddPlot("Volume", "hardyglobal")
    +    SetPlotOptions(new_atts)
    +
    +    DefineVectorExpression("disp", "{0,0,-0.9*coord(Mesh)[2]}")
    +    AddOperator("Displace")
    +    d = DisplaceAttributes()
    +    d.variable = "disp"
    +    SetOperatorOptions(d)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-0.324974, 0.839345, 0.435765)
    +    SetView3D(v)
    +    Test("volumeAspect_01")
    +    DeleteAllPlots()
    +    SetPlotOptions(orig_atts)
    +
    +def volume_colors():
    +    """Volume Plot color control points"""
    +    # the next comment and similar below bracket code to be 'literalincluded' in quickrecipes.rst
    +    # removeControlPoints {
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Volume", "hardyglobal")
    +
    +    # Modify colors. The default color table has 5 control points. Delete
    +    # all but 2 of them and then change their colors.
    +    v = VolumeAttributes()
    +    v.colorControlPoints.RemoveControlPoints(4)
    +    v.colorControlPoints.RemoveControlPoints(3)
    +    v.colorControlPoints.RemoveControlPoints(2)
    +    v.colorControlPoints.GetControlPoints(0).colors = (255,0,0,255)
    +    v.colorControlPoints.GetControlPoints(0).position = 0.
    +    v.colorControlPoints.GetControlPoints(1).colors = (0,0,255,255)
    +    v.colorControlPoints.GetControlPoints(1).position = 1.
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    ResetView()
    +    # removeControlPoints }
    +    TestAutoName()
    +
    +    # addControlPoints {
    +    # there are a default of 5 control points, add 3 more and change
    +    # positions of original  so everything is evenly spaced
    +    v = VolumeAttributes()
    +    v.colorControlPoints.GetControlPoints(0).position = 0
    +    v.colorControlPoints.GetControlPoints(1).position = 0.142857
    +    v.colorControlPoints.GetControlPoints(2).position = 0.285714
    +    v.colorControlPoints.GetControlPoints(3).position = 0.428571
    +    v.colorControlPoints.GetControlPoints(4).position = 0.571429
    +    tmp = ColorControlPoint()
    +    tmp.colors = (255,255,0,255)
    +    tmp.position = 0.714286
    +    v.GetColorControlPoints().AddControlPoints(tmp)
    +    tmp.colors = (0,255,0,255)
    +    tmp.position = 0.857143
    +    v.GetColorControlPoints().AddControlPoints(tmp)
    +    tmp.colors = (0,255,255,255)
    +    tmp.position = 1
    +    v.GetColorControlPoints().AddControlPoints(tmp)
    +    SetPlotOptions(v)
    +    # addControlPoints }
    +    TestAutoName()
    +
    +    # setNumControlPoints {
    +    v = VolumeAttributes()
    +    # there are a default of 5, this resizes to 6
    +    v.colorControlPoints.SetNumControlPoints(6)
    +    v.colorControlPoints.GetControlPoints(4).position = 0.92
    +    # GetControlPoints(5) will cause a segfault without the call to SetNumControlPoints
    +    v.colorControlPoints.GetControlPoints(5).position = 1
    +    v.colorControlPoints.GetControlPoints(5).colors = (128,0,128,255)
    +    SetPlotOptions(v)
    +    # setNumControlPoints }
    +    TestAutoName()
    +
    +    # Start over with the colors.
    +    v.GetColorControlPoints().ClearControlPoints()
    +    tmp = ColorControlPoint()
    +    npts = 10
    +    for i in range(npts):
    +        t = 0.
    +        if i < npts/2:
    +            t = float(i) / float(npts/2 - 1)
    +            r = 255
    +            g = int(t * 255.)
    +            b = 0
    +        else:
    +            t = 1. - (float(i-(npts/2)) / float(npts/2 - 1))
    +            r = int((1-t) * 255.)
    +            g = int((1-t) * 255.)
    +            b = int(t * 255.)
    +        tmp.colors = (r,g,b,255)
    +        tmp.position = float(i) / float(npts-1)
    +        v.GetColorControlPoints().AddControlPoints(tmp)
    +    SetPlotOptions(v)
    +    TestAutoName()
    +    DeleteAllPlots()
    +
    +def TestVolumeGaussianControlPoints():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Volume", "hardyglobal")
    +
    +    v = VolumeAttributes()
    +    v.opacityMode = v.GaussianMode
    +    v.opacityControlPoints.ClearControlPoints()
    +    tmp = GaussianControlPoint()
    +    # Design gaussians
    +    tmp.x = 0.818182
    +    tmp.height = 0.787879
    +    tmp.width = 0.147059
    +    tmp.xBias = 0
    +    tmp.yBias = 0
    +    v.GetOpacityControlPoints().AddControlPoints(tmp)
    +
    +    tmp.x = 0.203209
    +    tmp.height = 0.590909
    +    tmp.width = 0.0588235
    +    tmp.xBias = 0.0026738
    +    tmp.yBias = 2
    +    v.GetOpacityControlPoints().AddControlPoints(tmp)
    +
    +    tmp.x = 0.47861
    +    tmp.height = 0.19697
    +    tmp.width = 0.0721925
    +    tmp.xBias = -0.00802138
    +    tmp.yBias = 0
    +    v.GetOpacityControlPoints().AddControlPoints(tmp)
    +
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    ResetView()
    +    Test("volumeGaussian_01")
    +    DeleteAllPlots()
    +
    +def TestVolumeSampling():
    +    # setFromColorTable {
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Volume", "hardyglobal")
    +    v = VolumeAttributes()
    +    v.lightingFlag = 0
    +    v.rendererType = v.RayCasting
    +    v.sampling = v.KernelBased
    +    ct = GetColorTable("hot_desaturated")
    +    v.SetColorControlPoints(ct)
    +    SetPlotOptions(v)
    +    # setFromColorTable }
    +
    +    view = GetView3D()
    +    view.viewNormal = (-1, 0, 0)
    +    view.focus = (0, 0, 0)
    +    view.viewUp = (0, 1, 0)
    +    view.viewAngle = 30
    +    view.parallelScale = 17.3205
    +    view.nearPlane = -34.641
    +    view.farPlane = 34.641
    +    view.imagePan = (0.0720459, -0.00108509)
    +    view.imageZoom = 1.85429
    +    view.perspective = 1
    +    view.eyeAngle = 2
    +    view.centerOfRotationSet = 0
    +    view.centerOfRotation = (0, 0, 0)
    +    view.axis3DScaleFlag = 0
    +    view.axis3DScales = (1, 1, 1)
    +    view.shear = (0, 0, 1)
    +    view.windowValid = 1
    +    DrawPlots()
    +    SetView3D(view)
    +    Test("volumeSampling_01")
    +
    +    v.sampling = v.Rasterization
    +    SetPlotOptions(v)
    +    Test("volumeSampling_02")
    +
    +    v.sampling = v.Trilinear
    +    SetPlotOptions(v)
    +    Test("volumeSampling_03")
    +
    +    DeleteAllPlots()
    +
    +
    +def TestGradientLightingReduction():
    +
    +    view = GetView3D()
    +    view.viewNormal = (0.746662961825451, 0.1647201021100829, 0.6444856161303283)
    +    SetView3D(view)
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Volume", "v")
    +    DrawPlots()
    +
    +    #
    +    # Trilinear ray casting used to have very harsh results with
    +    # gradient lighting reduction. Let's make sure they're better
    +    # now.
    +    #
    +    v = VolumeAttributes()
    +    v.lightingFlag = 1
    +    v.rendererType = v.RayCasting
    +    v.sampling     = v.Trilinear
    +
    +    v.lowGradientLightingReduction = v.Lower
    +    SetPlotOptions(v)
    +    Test("graidentLighting_00")
    +
    +    v.lowGradientLightingReduction = v.Medium
    +    SetPlotOptions(v)
    +    Test("graidentLighting_01")
    +
    +    v.lowGradientLightingReduction = v.Higher
    +    SetPlotOptions(v)
    +    Test("graidentLighting_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("globe.silo"))
    +
    +def TestCommandRecording():
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Volume", "u")
    +    DrawPlots()
    +    view3D = GetView3D()
    +    view3D.viewNormal = (0.0173089, 0.999712, 0.0165968)
    +    view3D.viewUp = (0.230674, 0.0121587, -0.972955)
    +    SetView3D(view3D)
    +
    +    # Setting up of Volume plot atts from command recording
    +    VolumeAtts = VolumeAttributes()
    +    VolumeAtts.osprayShadowsEnabledFlag = 0
    +    VolumeAtts.osprayUseGridAcceleratorFlag = 0
    +    VolumeAtts.osprayPreIntegrationFlag = 0
    +    VolumeAtts.ospraySingleShadeFlag = 0
    +    VolumeAtts.osprayOneSidedLightingFlag = 0
    +    VolumeAtts.osprayAoTransparencyEnabledFlag = 0
    +    VolumeAtts.ospraySpp = 1
    +    VolumeAtts.osprayAoSamples = 0
    +    VolumeAtts.osprayAoDistance = 100000
    +    VolumeAtts.osprayMinContribution = 0.001
    +    VolumeAtts.legendFlag = 1
    +    VolumeAtts.lightingFlag = 1
    +    VolumeAtts.colorControlPoints.SetNumControlPoints(14)
    +    VolumeAtts.colorControlPoints.GetControlPoints(0).colors = (0, 0, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(0).position = 0
    +    VolumeAtts.colorControlPoints.GetControlPoints(1).colors = (0, 255, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(1).position = 0.0769231
    +    VolumeAtts.colorControlPoints.GetControlPoints(2).colors = (0, 255, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(2).position = 0.153846
    +    VolumeAtts.colorControlPoints.GetControlPoints(3).colors = (255, 255, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(3).position = 0.230769
    +    VolumeAtts.colorControlPoints.GetControlPoints(4).colors = (255, 255, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(4).position = 0.307692
    +    VolumeAtts.colorControlPoints.GetControlPoints(5).colors = (0, 255, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(5).position = 0.384615
    +    VolumeAtts.colorControlPoints.GetControlPoints(6).colors = (0, 255, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(6).position = 0.461538
    +    VolumeAtts.colorControlPoints.GetControlPoints(7).colors = (0, 0, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(7).position = 0.538462
    +    VolumeAtts.colorControlPoints.GetControlPoints(8).colors = (255, 0, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(8).position = 0.615385
    +    VolumeAtts.colorControlPoints.GetControlPoints(9).colors = (0, 0, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(9).position = 0.692308
    +    VolumeAtts.colorControlPoints.GetControlPoints(10).colors = (255, 255, 255, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(10).position = 0.769231
    +    VolumeAtts.colorControlPoints.GetControlPoints(11).colors = (255, 0, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(11).position = 0.846154
    +    VolumeAtts.colorControlPoints.GetControlPoints(12).colors = (255, 255, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(12).position = 0.923077
    +    VolumeAtts.colorControlPoints.GetControlPoints(13).colors = (255, 0, 0, 255)
    +    VolumeAtts.colorControlPoints.GetControlPoints(13).position = 1
    +    VolumeAtts.colorControlPoints.smoothing = VolumeAtts.colorControlPoints.Linear
    +    VolumeAtts.colorControlPoints.equalSpacingFlag = 0
    +    VolumeAtts.colorControlPoints.discreteFlag = 0
    +    VolumeAtts.colorControlPoints.categoryName = ""
    +    VolumeAtts.opacityAttenuation = 1
    +    VolumeAtts.opacityMode = VolumeAtts.GaussianMode
    +    VolumeAtts.opacityControlPoints.SetNumControlPoints(20)
    +    VolumeAtts.opacityControlPoints.GetControlPoints(0).x = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(0).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(0).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(0).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(0).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(1).x = 0.075
    +    VolumeAtts.opacityControlPoints.GetControlPoints(1).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(1).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(1).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(1).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(2).x = 0.125
    +    VolumeAtts.opacityControlPoints.GetControlPoints(2).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(2).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(2).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(2).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(3).x = 0.175
    +    VolumeAtts.opacityControlPoints.GetControlPoints(3).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(3).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(3).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(3).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(4).x = 0.225
    +    VolumeAtts.opacityControlPoints.GetControlPoints(4).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(4).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(4).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(4).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(5).x = 0.275
    +    VolumeAtts.opacityControlPoints.GetControlPoints(5).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(5).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(5).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(5).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(6).x = 0.325
    +    VolumeAtts.opacityControlPoints.GetControlPoints(6).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(6).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(6).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(6).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(7).x = 0.375
    +    VolumeAtts.opacityControlPoints.GetControlPoints(7).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(7).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(7).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(7).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(8).x = 0.425
    +    VolumeAtts.opacityControlPoints.GetControlPoints(8).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(8).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(8).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(8).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(9).x = 0.475
    +    VolumeAtts.opacityControlPoints.GetControlPoints(9).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(9).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(9).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(9).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(10).x = 0.525
    +    VolumeAtts.opacityControlPoints.GetControlPoints(10).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(10).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(10).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(10).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(11).x = 0.575
    +    VolumeAtts.opacityControlPoints.GetControlPoints(11).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(11).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(11).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(11).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(12).x = 0.625
    +    VolumeAtts.opacityControlPoints.GetControlPoints(12).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(12).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(12).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(12).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(13).x = 0.675
    +    VolumeAtts.opacityControlPoints.GetControlPoints(13).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(13).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(13).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(13).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(14).x = 0.725
    +    VolumeAtts.opacityControlPoints.GetControlPoints(14).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(14).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(14).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(14).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(15).x = 0.775
    +    VolumeAtts.opacityControlPoints.GetControlPoints(15).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(15).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(15).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(15).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(16).x = 0.825
    +    VolumeAtts.opacityControlPoints.GetControlPoints(16).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(16).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(16).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(16).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(17).x = 0.875
    +    VolumeAtts.opacityControlPoints.GetControlPoints(17).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(17).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(17).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(17).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(18).x = 0.925
    +    VolumeAtts.opacityControlPoints.GetControlPoints(18).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(18).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(18).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(18).yBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(19).x = 0.975
    +    VolumeAtts.opacityControlPoints.GetControlPoints(19).height = 0.5
    +    VolumeAtts.opacityControlPoints.GetControlPoints(19).width = 0.025
    +    VolumeAtts.opacityControlPoints.GetControlPoints(19).xBias = 0
    +    VolumeAtts.opacityControlPoints.GetControlPoints(19).yBias = 0
    +    VolumeAtts.resampleFlag = 1
    +    VolumeAtts.resampleTarget = 1000000
    +    VolumeAtts.opacityVariable = "default"
    +    VolumeAtts.compactVariable = "default"
    +    VolumeAtts.freeformOpacity = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255)
    +    VolumeAtts.useColorVarMin = 0
    +    VolumeAtts.colorVarMin = 0
    +    VolumeAtts.useColorVarMax = 0
    +    VolumeAtts.colorVarMax = 0
    +    VolumeAtts.useOpacityVarMin = 0
    +    VolumeAtts.opacityVarMin = 0
    +    VolumeAtts.useOpacityVarMax = 0
    +    VolumeAtts.opacityVarMax = 0
    +    VolumeAtts.smoothData = 0
    +    VolumeAtts.samplesPerRay = 500
    +    VolumeAtts.rendererType = VolumeAtts.Default
    +    VolumeAtts.gradientType = VolumeAtts.SobelOperator
    +    VolumeAtts.scaling = VolumeAtts.Linear
    +    VolumeAtts.skewFactor = 1
    +    VolumeAtts.limitsMode = VolumeAtts.OriginalData
    +    VolumeAtts.sampling = VolumeAtts.Rasterization
    +    VolumeAtts.rendererSamples = 3
    +    VolumeAtts.lowGradientLightingReduction = VolumeAtts.Lower
    +    VolumeAtts.lowGradientLightingClampFlag = 0
    +    VolumeAtts.lowGradientLightingClampValue = 1
    +    VolumeAtts.materialProperties = (0.4, 0.75, 0, 15)
    +    SetPlotOptions(VolumeAtts)
    +
    +    Test("vol_commandRecorded")
    +    ResetView()
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("globe.silo"))
    +
    +
    +#FIXME: For some reason, if you render using the ray caster,
    +#       attempting to render using the default renderer afterwards
    +#       will result in a blank test result. I have not been able
    +#       to reproduce this outside of the test suite. I created
    +#       issue #3608 to track this.
    +
    +InitAnnotationsLegendOn()
    +volume_colors()
    +TestVolumeGaussianControlPoints()
    +# This test hangs in parallel.
    +if TestEnv.params["serial"]:
    +    TestVolumeAspect()
    +TestVolumeOpacity()
    +TestCommandRecording()
    +InitAnnotations()
    +TestVolumeScaling()
    +TestVolumeSampling()
    +TestOpacityAttenuation()
    +TestGradientLightingReduction()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plugins_databasesVsInstall.html b/2023-11-08-22:00/pascal_trunk_serial/plugins_databasesVsInstall.html new file mode 100644 index 000000000..03672813d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plugins_databasesVsInstall.html @@ -0,0 +1,40 @@ + +Results for plugins/databasesVsInstall.py + +

    Results of VisIt Regression Test - plugins/databasesVsInstall

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    databasesVsInstall1 modifications totalling 12 lines
    +

    Final Return Code: 113

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plugins_databasesVsInstall_py.html b/2023-11-08-22:00/pascal_trunk_serial/plugins_databasesVsInstall_py.html new file mode 100644 index 000000000..8025793a7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plugins_databasesVsInstall_py.html @@ -0,0 +1,31 @@ +plugins/databasesVsInstall.py
    # ----------------------------------------------------------------------------
    +#  CLASSES:    nightly
    +#
    +#  Test Case:  databasesVsInstall.py 
    +#
    +#  Tests:      Building database plugins against an installed version of VisIt
    +#              
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       November 8, 2018 
    +#
    +#  Modifications:
    +#    Eric Brugger, Wed Jun 26 09:32:06 PDT 2019
    +#    Removed the ccm readler.
    +#
    +#    Kathleen Biagas, Tue Nov 26 10:23:31 PST 2019
    +#    Modified to pass a 'test-this' list instead of a 'skip-this' list.
    +#    Plugins chosen based on third-party dependence, ability to auto-regen
    +#    their CMakeLists.txt and tests currently available to run against the
    +#    version built (to be added at a future time).
    +#
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("plugins", "pluginVsInstallHelpers"))
    +
    +do_plugin_type("databases", ["BOV", "Blueprint", "CGNS", "Cale", "Claw", "Exodus", "FITS", "H5Part", "MFEM", "Mili", "SAMRAI", "VTK"])
    +# for future use
    +#do_tests("database", ["bov.py", "blueprint.py", "CGNS.py", "Cale.py", "claw.py", "exodus.py", "FITS.py", "h5part.py", "mfem.py", "mili.py", "samrai.py", "vtk.py"])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plugins_operatorsVsInstall.html b/2023-11-08-22:00/pascal_trunk_serial/plugins_operatorsVsInstall.html new file mode 100644 index 000000000..ece8fd0b5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plugins_operatorsVsInstall.html @@ -0,0 +1,40 @@ + +Results for plugins/operatorsVsInstall.py + +

    Results of VisIt Regression Test - plugins/operatorsVsInstall

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    operatorsVsInstall1 modifications totalling 5 lines
    +

    Final Return Code: 113

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plugins_operatorsVsInstall_py.html b/2023-11-08-22:00/pascal_trunk_serial/plugins_operatorsVsInstall_py.html new file mode 100644 index 000000000..fd9db5ab1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plugins_operatorsVsInstall_py.html @@ -0,0 +1,29 @@ +plugins/operatorsVsInstall.py
    # ----------------------------------------------------------------------------
    +#  CLASSES:    nightly
    +#
    +#  Test Case:  operatorsVsInstall.py 
    +#
    +#  Tests:      Building operator plugins against an installed version of VisIt
    +#              
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       November 8, 2018 
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Nov 26 10:23:31 PST 2019
    +#    Modified to pass a 'test-this' list instead of a 'skip-this' list.
    +#    Plugins chosen based on external dependence, expression creation, or a
    +#    a simple operator, the ability to auto-regen their CMakeLists.txt and
    +#    tests currently available to run against the version built (to be added
    +#    at a future time).
    +#
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("plugins", "pluginVsInstallHelpers"))
    +
    +do_plugin_type("operators", ["CartographicProjection", "CracksClipper", "RadialResample", "Slice", "Threshold"])
    +# for future use
    +#do_tests("operators", ["cart_proj.py", "cracksclipper.py", "radial_resample.py", "slice.py", "threshold.py"])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/plugins_plotsVsInstall.html b/2023-11-08-22:00/pascal_trunk_serial/plugins_plotsVsInstall.html new file mode 100644 index 000000000..d9969d4f4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plugins_plotsVsInstall.html @@ -0,0 +1,40 @@ + +Results for plugins/plotsVsInstall.py + +

    Results of VisIt Regression Test - plugins/plotsVsInstall

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    plotsVsInstall1 modifications totalling 4 lines
    +

    Final Return Code: 113

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/plugins_plotsVsInstall_py.html b/2023-11-08-22:00/pascal_trunk_serial/plugins_plotsVsInstall_py.html new file mode 100644 index 000000000..969a12045 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/plugins_plotsVsInstall_py.html @@ -0,0 +1,23 @@ +plugins/plotsVsInstall.py
    # ----------------------------------------------------------------------------
    +#  CLASSES:    nightly
    +#
    +#  Test Case:  plotsVsInstall.py 
    +#
    +#  Tests:      Building plot plugins against an installed version of VisIt
    +#              
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       November 8, 2018 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +Source(tests_path("plugins", "pluginVsInstallHelpers"))
    +
    +do_plugin_type("plots", ["Contour", "Label", "Tensor", "Volume"])
    +# for future use
    +#do_tests("plots", ["contour.py", "label.py", "tensor.py", "ray_trace.py or volumePlot.py"])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_avg_value.html b/2023-11-08-22:00/pascal_trunk_serial/queries_avg_value.html new file mode 100644 index 000000000..b14b2ffc2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_avg_value.html @@ -0,0 +1,58 @@ + +Results for queries/avg_value.py + +

    Results of VisIt Regression Test - queries/avg_value

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    avg_value_010 modifications totalling 0 lines
    avg_value_021 modifications totalling 1 lines
    avg_value_030 modifications totalling 0 lines
    avg_value_040 modifications totalling 0 lines
    avg_value_050.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_avg_value_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_avg_value_py.html new file mode 100644 index 000000000..a1b8e4e0b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_avg_value_py.html @@ -0,0 +1,63 @@ +queries/avg_value.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  avg_value.py
    +#  Tests:      queries     - average value 
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 11, 2011
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOffAllAnnotations()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "t")
    +DrawPlots()
    +Query("Average Value")
    +t = GetQueryOutputString()
    +TestText("avg_value_01", t)
    +
    +DeleteAllPlots()
    +AddPlot("Vector", "vel")
    +DrawPlots()
    +Query("Average Value")
    +t = GetQueryOutputString()
    +TestText("avg_value_02", t)
    +
    +DefineVectorExpression("vel2", "{1, t, 0}")
    +ChangeActivePlotsVar("vel2")
    +Query("Average Value")
    +t = GetQueryOutputString()
    +TestText("avg_value_03", t)
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +Query("Average Value")
    +t = GetQueryOutputString()
    +TestText("avg_value_04", t)
    +
    +c = CurveAttributes()
    +c.curveColorSource = c.Custom
    +c.curveColor = (255, 0, 0, 255)
    +SetDefaultPlotOptions(c)
    +
    +QueryOverTime("Average Value")
    +SetActiveWindow(2)
    +TurnOffAllAnnotations()
    +c = CurveAttributes()
    +c.curveColorSource = c.Custom
    +c.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(c)
    +Test("avg_value_05")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_bestfitline.html b/2023-11-08-22:00/pascal_trunk_serial/queries_bestfitline.html new file mode 100644 index 000000000..b9f127d86 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_bestfitline.html @@ -0,0 +1,94 @@ + +Results for queries/bestfitline.py + +

    Results of VisIt Regression Test - queries/bestfitline

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    bestline_1_000 modifications totalling 0 lines
    bestline_2_000.000.00
    bestline_2_010 modifications totalling 0 lines
    bestline_2_020.000.00
    bestline_2_030 modifications totalling 0 lines
    bestline_2_040.000.00
    bestline_2_050 modifications totalling 0 lines
    bestline_3_000.000.00
    bestline_3_010.000.00
    bestline_3_020.000.00
    bestline_3_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_bestfitline_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_bestfitline_py.html new file mode 100644 index 000000000..e4ff6b224 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_bestfitline_py.html @@ -0,0 +1,204 @@ +queries/bestfitline.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  bestfit.py
    +#
    +#  Tests:      queries     - "Best Fit Line"
    +#              expressions - distance_to_best_fit_line
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Nov 18 16:43:42 PST 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Tue Mar 14 07:54:20 PST 2006
    +#    Changed how full-frame is turned on
    +#    
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Matt Larsen Wed May 09 08:31:00 PST 2018
    +#    Adding view reset so image actual shows a line 
    +# ----------------------------------------------------------------------------
    +
    +import math
    +
    +def writeDataSet():
    +    nts = 100
    +    nsamples = 100
    +    x0 = -5.
    +    y0 = -5.
    +    x1 = 5.
    +    y1 = 5.
    +
    +    names = []
    +    coefficients = []
    +    for i in range(nts):
    +        t = float(i) / float(nts - 1)
    +        y_left = t * y1 + (1. - t) * y0
    +        y_right = t * y0 + (1. - t) * y1
    +        filename = data_path("curve_test_data/line%04d.curve") % i
    +        names = names + [filename]
    +        try:
    +            f = open(filename, "w")
    +
    +            f.write("#TIME %g\n" % t)
    +            f.write("#line\n")
    +
    +            m = (y_right - y_left) / (x1 - x0)
    +            angle = t * 3.14159 * 2.
    +            b  = math.sin(angle)
    +
    +            #print "Y = %gX + %g" % (m, b)
    +            coefficients = coefficients + [(m, b)]
    +
    +            for j in range(nsamples):
    +                t2 = float(j) / float(nsamples - 1)
    +                x = t2 * x1 + (1. - t2) * x0
    +                y = t2 * y_right + (1. - t2) * y_left + b
    +                f.write("%g %g\n" % (x, y))
    +
    +            f.close()
    +        except:
    +            break
    +
    +    return (names, coefficients)
    +
    +def removeFiles(ds):
    +    for d in ds:
    +        try:
    +            os.unlink(d)
    +        except:
    +            print("Could not remove ", d)
    +
    +#
    +# Test best fit line of known lines from Curve plots
    +#
    +def test1():
    +    data = writeDataSet()
    +    filenames = data[0]
    +    coefficients = data[1]
    +
    +    OpenDatabase(data_path("curve_test_data/line*.curve database"))
    +
    +    AddPlot("Curve", "line")
    +    DrawPlots()
    +
    +    s = ""
    +    try:
    +        for state in range(0, len(coefficients), 2):
    +            SetTimeSliderState(state)
    +            Query("Best Fit Line")
    +            values = GetQueryOutputValue()
    +            s = s + "Original (m=%g, b=%g)\t\t\tCalculated (m=%g, b=%g, r=%g)\n" %\
    +            (coefficients[state][0], coefficients[state][1], values[0], \
    +            values[1], values[2])
    +    except:
    +        pass
    +
    +    TestText("bestline_1_00", s)
    +    removeFiles(data[0])
    +    DeleteAllPlots()
    +
    +#
    +# Test best fit line of 2D Scatter plots
    +#
    +def test2():
    +    # Do Scatter plot of d vs d since we know that it will make Y=X
    +    OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +    AddPlot("Scatter", "d")
    +    s = ScatterAttributes()
    +    s.var2 = "d"
    +    s.var2Role = s.Coordinate1
    +    s.var3Role = s.NONE
    +    s.var4Role = s.NONE
    +    s.scaleCube = 0
    +    s.pointSizePixels = 5
    +    SetPlotOptions(s)
    +    DrawPlots()
    +
    +    # Turn on Fullframe
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.On
    +    SetView2D(v)
    +    Test("bestline_2_00")
    +    Query("Best Fit Line")
    +    TestText("bestline_2_01", GetQueryOutputString())
    +
    +    # Check the best fit with another known line eq.
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    DefineScalarExpression("t", "zoneid(curvmesh2d)")
    +    DefineScalarExpression("line", "t * 0.33333 + 10.")
    +    AddPlot("Scatter", "t")
    +    s.var2 = "line"
    +    SetPlotOptions(s)
    +    DrawPlots()
    +    ResetView()
    +    Test("bestline_2_02")
    +    Query("Best Fit Line")
    +    TestText("bestline_2_03", GetQueryOutputString())
    +
    +    # Make the scatter plot be d vs. dpu
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("multi_curv2d.silo"))
    +
    +    AddPlot("Scatter", "d")
    +    DefineScalarExpression("dpu", "d + u / 3.")
    +    s.var2 = "dpu"
    +    SetPlotOptions(s)
    +    DrawPlots()
    +    Test("bestline_2_04")
    +    Query("Best Fit Line")
    +    TestText("bestline_2_05", GetQueryOutputString())
    +
    +    return s
    +
    +#
    +# Test distance to best fit line expression. The colors should appear
    +# to be banded about the best fit line.
    +#
    +def test3(s):
    +    # We still have the Scatter plot from the previous test. Color it
    +    # by the distance from the best fit line.
    +    DefineScalarExpression("DBFL", "distance_to_best_fit_line(d, dpu)")
    +    DefineScalarExpression("DBFL2", "distance_to_best_fit_line2(d, dpu)")
    +    s.var3 = "DBFL"
    +    s.var3Role = s.Color
    +    s.colorTableName = "difference"
    +    s.pointSizePixels = 10
    +    SetPlotOptions(s)
    +    Test("bestline_3_00")
    +
    +    s.var3 = "DBFL2"
    +    SetPlotOptions(s)
    +    Test("bestline_3_01")
    +
    +    DefineScalarExpression("dpus", "d + u / 2. + sin(d * 5.) * 2.")
    +    DefineScalarExpression("DBFL3", "distance_to_best_fit_line(d, dpus)")
    +    DefineScalarExpression("DBFL4", "distance_to_best_fit_line2(d, dpus)")
    +    s.var2 = "dpus"
    +    s.var3 = "DBFL3"
    +    SetPlotOptions(s)
    +    Test("bestline_3_02")
    +
    +    s.var3 = "DBFL4"
    +    SetPlotOptions(s)
    +    Test("bestline_3_03")
    +
    +    return
    +
    +
    +def main():
    +    test1()
    +    s = test2()
    +    test3(s)
    +
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_casetest.html b/2023-11-08-22:00/pascal_trunk_serial/queries_casetest.html new file mode 100644 index 000000000..917a25e7a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_casetest.html @@ -0,0 +1,40 @@ + +Results for queries/casetest.py + +

    Results of VisIt Regression Test - queries/casetest

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    CaseQueryRect2dTest0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_casetest_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_casetest_py.html new file mode 100644 index 000000000..e4fbaa714 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_casetest_py.html @@ -0,0 +1,69 @@ +queries/casetest.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  casetest.py #
    +#  Tests:      queries     - Database
    +#
    +#  Description: Tests case insensitive name dispatch of queries.
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Mon Sep 19 15:09:02 PDT 2011 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def QueryRect2d():
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +    s = ""
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("2D area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("revolved volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("2D AREA")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("mINmAX", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("spatialextents", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NUMNODES", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NUMZONES", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    TestText("CaseQueryRect2dTest", s)
    +    DeleteAllPlots()
    +
    +
    +def QueryMain():
    +    QueryRect2d()
    +
    +# Call the main function
    +TurnOnAllAnnotations()
    +QueryMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_centroid.html b/2023-11-08-22:00/pascal_trunk_serial/queries_centroid.html new file mode 100644 index 000000000..5d3666e4c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_centroid.html @@ -0,0 +1,88 @@ + +Results for queries/centroid.py + +

    Results of VisIt Regression Test - queries/centroid

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    centroid_010 modifications totalling 0 lines
    centroid_020 modifications totalling 0 lines
    centroid_030 modifications totalling 0 lines
    centroid_040 modifications totalling 0 lines
    centroid_050 modifications totalling 0 lines
    centroid_060 modifications totalling 0 lines
    centroid_070 modifications totalling 0 lines
    centroid_080 modifications totalling 0 lines
    centroid_090 modifications totalling 0 lines
    centroid_100 modifications totalling 0 lines
    centroid_110 modifications totalling 0 lines
    centroid_120 modifications totalling 0 lines
    centroid_130 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_centroid_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_centroid_py.html new file mode 100644 index 000000000..9e9e45111 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_centroid_py.html @@ -0,0 +1,130 @@ +queries/centroid.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  centroid.py
    +#  Tests:      queries     - centroid and moment of inertia.
    +#
    +#  Defect ID:  VisIt00006273, '6588
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 19, 2005
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Thu Sep 15 16:33:48 PDT 2005
    +#    Added tests for centroids of surfaces.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
    +#    behavior when an operator is added.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Test that we can do an l2norm of a degenerate ultra file.
    +TurnOnAllAnnotations()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +
    +Query("Moment of Inertia")
    +text = GetQueryOutputString()
    +# The answer should be ~167,547 along the diagonals.  But we are off ~10%
    +# because of mesh granularity.
    +TestText("centroid_01", text)
    +
    +# The sphere is perfectly symmetric, so we should get the same answer,
    +# even if we rotate it.
    +AddOperator("Transform")
    +trans = TransformAttributes()
    +trans.doRotate = 1
    +trans.rotateAxis = (0.707, 0, -0.707)
    +trans.rotateAmount = 150
    +SetOperatorOptions(trans)
    +DrawPlots()
    +Query("Moment of Inertia")
    +text = GetQueryOutputString()
    +TestText("centroid_02", text)
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_03", text)
    +
    +# Translate and see that the centroid moves.
    +trans.doTranslate = 1
    +trans.translateX = 0.5
    +SetOperatorOptions(trans)
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_04", text)
    +
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_05", text)
    +
    +Query("Moment of Inertia")
    +text = GetQueryOutputString()
    +TestText("centroid_06", text)
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Mesh", "quadmesh2d")
    +DrawPlots()
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_07", text)
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_08", text)
    +
    +AddOperator("Revolve")
    +DrawPlots()
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_09", text)
    +Query("Moment of Inertia")
    +text = GetQueryOutputString()
    +TestText("centroid_10", text)
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Mesh", "quadmesh3d")
    +DrawPlots()
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_11", text)
    +Query("Moment of Inertia")
    +text = GetQueryOutputString()
    +TestText("centroid_12", text)
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Elevate")
    +DrawPlots()
    +
    +Query("Centroid")
    +text = GetQueryOutputString()
    +TestText("centroid_13", text)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_conncomp.html b/2023-11-08-22:00/pascal_trunk_serial/queries_conncomp.html new file mode 100644 index 000000000..6ee616a7f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_conncomp.html @@ -0,0 +1,162 @@ + +Results for queries/conncomp.py + +

    Results of VisIt Regression Test - queries/conncomp

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    conncomp_1d_lbl0.000.00
    conncomp_1d_count0 modifications totalling 0 lines
    conncomp_1d_centroid0 modifications totalling 0 lines
    conncomp_1d_length0 modifications totalling 0 lines
    conncomp_1d_var_sum0 modifications totalling 0 lines
    conncomp_1d_weighted_var_sum0 modifications totalling 0 lines
    conncomp_1d_summary0 modifications totalling 0 lines
    conncomp_2d_lbl0.000.00
    conncomp_2d_count0 modifications totalling 0 lines
    conncomp_2d_centroid0 modifications totalling 0 lines
    conncomp_2d_area0 modifications totalling 0 lines
    conncomp_2d_var_sum0 modifications totalling 0 lines
    conncomp_2d_weighted_var_sum0 modifications totalling 0 lines
    conncomp_2d_summary0 modifications totalling 0 lines
    conncomp_3d_t10.000.00
    conncomp_3d_count_t10 modifications totalling 0 lines
    conncomp_3d_centroid_t10 modifications totalling 0 lines
    conncomp_3d_volume_t10 modifications totalling 0 lines
    conncomp_3d_summary_t10 modifications totalling 0 lines
    conncomp_3d_t20.000.00
    conncomp_3d_count_t20 modifications totalling 0 lines
    conncomp_3d_centroid_t20 modifications totalling 0 lines
    conncomp_3d_volume_t20 modifications totalling 0 lines
    conncomp_3d_summary_t20 modifications totalling 0 lines
    conncomp_3d_t30.000.00
    conncomp_3d_count_t30 modifications totalling 0 lines
    conncomp_3d_centroid_t30 modifications totalling 0 lines
    conncomp_3d_volume_t30 modifications totalling 0 lines
    conncomp_3d_summary_t30 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_conncomp_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_conncomp_py.html new file mode 100644 index 000000000..e6a88f7be --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_conncomp_py.html @@ -0,0 +1,240 @@ +queries/conncomp.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  conncomp.py
    +#  Tests:      queries     - connected components related 
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       February 22, 2006
    +#
    +#  Modifications:
    +#    Cyrus Harrison, Thu Aug 23 09:42:43 PDT 2007
    +#    Turned off ghost neighbors optimization for exodus balls dataset.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Wed Jun 15 14:21:10 PDT 2011
    +#    Added tests for line meshes.
    +#
    +#    Kathleen Biagas, Fri Feb  7 08:00:38 PST 2014
    +#    Changed sil selection for Exodus.
    +# ----------------------------------------------------------------------------
    +
    +import json
    +
    +OpenDatabase(silo_data_path("rect2d.silo"), 0)
    +
    +
    +DefineScalarExpression("_ccl_test_1d", "conn_components(quadmesh2d)")
    +
    +#Add an iso surface
    +AddPlot("Pseudocolor", "_ccl_test_1d")
    +AddOperator("Isosurface")
    +
    +isatts = IsosurfaceAttributes()
    +isatts .variable = "d"
    +SetOperatorOptions(isatts)
    +
    +#Add Defer Exp Op
    +AddOperator("DeferExpression")
    +DeferExpressionAtts = DeferExpressionAttributes()
    +DeferExpressionAtts.exprs = ("_ccl_test_1d")
    +SetOperatorOptions(DeferExpressionAtts)
    +
    +DrawPlots()
    +
    +Test("conncomp_1d_lbl")
    +
    +ChangeActivePlotsVar("d")
    +
    +Query("Number of Connected Components")
    +res = GetQueryOutputString()
    +TestText("conncomp_1d_count",res)
    +
    +Query("Connected Component Centroids")
    +res = GetQueryOutputString()
    +TestText("conncomp_1d_centroid",res)
    +
    +Query("Connected Component Length")
    +res = GetQueryOutputString()
    +TestText("conncomp_1d_length",res)
    +
    +Query("Connected Component Variable Sum")
    +res = GetQueryOutputString()
    +TestText("conncomp_1d_var_sum",res)
    +
    +Query("Connected Component Weighted Variable Sum")
    +res = GetQueryOutputString()
    +TestText("conncomp_1d_weighted_var_sum",res)
    +
    +Query("Connected Components Summary")
    +res = GetQueryOutputObject()
    +TestText("conncomp_1d_summary",json.dumps(res,indent=2))
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_rect2d.silo"), 0)
    +
    +DefineScalarExpression("_rand_test_2d", "rand(mesh1)")
    +DefineScalarExpression("_ccl_test_2d", "conn_components(mesh1)")
    +
    +AddPlot("Pseudocolor", "_ccl_test_2d")
    +# Add isovolume op to create components
    +AddOperator("Isovolume")
    +IsovolumeAtts = IsovolumeAttributes()
    +IsovolumeAtts.lbound = -1e+37
    +IsovolumeAtts.ubound = 0.3
    +IsovolumeAtts.variable = "_rand_test_2d"
    +SetOperatorOptions(IsovolumeAtts)
    +
    +#Add Defer Exp Op
    +AddOperator("DeferExpression")
    +DeferExpressionAtts = DeferExpressionAttributes()
    +DeferExpressionAtts.exprs = ("_ccl_test_2d")
    +SetOperatorOptions(DeferExpressionAtts)
    +
    +DrawPlots()
    +
    +Test("conncomp_2d_lbl")
    +
    +# test the connected components related queries
    +Query("Number of Connected Components")
    +res = GetQueryOutputString()
    +TestText("conncomp_2d_count",res)
    +
    +Query("Connected Component Centroids")
    +res = GetQueryOutputString()
    +TestText("conncomp_2d_centroid",res)
    +
    +Query("Connected Component Area")
    +res = GetQueryOutputString()
    +TestText("conncomp_2d_area",res)
    +
    +Query("Connected Component Variable Sum")
    +res = GetQueryOutputString()
    +TestText("conncomp_2d_var_sum",res)
    +
    +Query("Connected Component Weighted Variable Sum")
    +res = GetQueryOutputString()
    +TestText("conncomp_2d_weighted_var_sum",res)
    +
    +Query("Connected Components Summary")
    +res = GetQueryOutputObject()
    +TestText("conncomp_2d_summary",json.dumps(res,indent=2))
    +
    +DeleteAllPlots()
    +
    +DefineScalarExpression("_ccl_test_3d", "conn_components(Mesh,1)")
    +# exodus test
    +OpenDatabase(data_path("exodus_test_data/balls.e.4.* database"))
    +
    +
    +AddPlot("Pseudocolor", "_ccl_test_3d")
    +silr = SILRestriction()
    +silr.TurnOnAll()
    +for silSet in (5,6,7):
    +    silr.TurnOffSet(silSet)
    +SetPlotSILRestriction(silr)
    +
    +AddOperator("Displace")
    +DisplaceAtts = DisplaceAttributes()
    +DisplaceAtts.factor = 1
    +DisplaceAtts.variable = "DISPL"
    +SetOperatorOptions(DisplaceAtts)
    +DisplaceAtts = DisplaceAttributes()
    +DisplaceAtts.factor = 1
    +DisplaceAtts.variable = "DISPL"
    +SetOperatorOptions(DisplaceAtts)
    +
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleX = 100
    +t.scaleY = 100
    +t.scaleZ = 100
    +SetOperatorOptions(t)
    +
    +d = DeferExpressionAttributes()
    +d.exprs = ("_ccl_test_3d")
    +SetDefaultOperatorOptions(d)
    +AddOperator("DeferExpression")
    +
    +
    +v=GetView3D()
    +v.viewNormal=(.1,.1, 0)
    +v.viewUp=(0, 0, 1 )
    +SetView3D(v)
    +
    +DrawPlots()
    +
    +# test as displacement evolves
    +Test("conncomp_3d_t1");
    +
    +# test the connected components related queries
    +Query("Number of Connected Components")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_count_t1",res)
    +
    +Query("Connected Component Centroids")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_centroid_t1",res)
    +
    +
    +Query("Connected Component Volume")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_volume_t1",res)
    +
    +Query("Connected Components Summary")
    +res = GetQueryOutputObject()
    +TestText("conncomp_3d_summary_t1",json.dumps(res,indent=2))
    +
    +
    +SetTimeSliderState(11);
    +# test as displacement evolves
    +Test("conncomp_3d_t2");
    +
    +Query("Number of Connected Components")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_count_t2",res)
    +
    +Query("Connected Component Centroids")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_centroid_t2",res)
    +
    +
    +Query("Connected Component Volume")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_volume_t2",res)
    +
    +Query("Connected Components Summary")
    +res = GetQueryOutputObject()
    +TestText("conncomp_3d_summary_t2",json.dumps(res,indent=2))
    +
    +
    +SetTimeSliderState(20);
    +Test("conncomp_3d_t3");
    +
    +Query("Number of Connected Components")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_count_t3",res)
    +
    +Query("Connected Component Centroids")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_centroid_t3",res)
    +
    +
    +Query("Connected Component Volume")
    +res = GetQueryOutputString()
    +TestText("conncomp_3d_volume_t3",res)
    +
    +
    +Query("Connected Components Summary")
    +res = GetQueryOutputObject()
    +TestText("conncomp_3d_summary_t3",json.dumps(res,indent=2))
    +
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_consistencyChecks.html b/2023-11-08-22:00/pascal_trunk_serial/queries_consistencyChecks.html new file mode 100644 index 000000000..77f149cb2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_consistencyChecks.html @@ -0,0 +1,64 @@ + +Results for queries/consistencyChecks.py + +

    Results of VisIt Regression Test - queries/consistencyChecks

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    consistencyChecks_000.000.00
    consistencyChecks_010.000.00
    consistencyChecks_020.000.00
    consistencyChecks_030.000.00
    consistencyChecks_040 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_consistencyChecks_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_consistencyChecks_py.html new file mode 100644 index 000000000..779fc302d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_consistencyChecks_py.html @@ -0,0 +1,114 @@ +queries/consistencyChecks.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pickQueryCombo.py #
    +#  Tests:      queries     - Pick, Zone Center, Node Coords,
    +#              operators   - OnionPeel
    +#
    +#  Notes:
    +#     Tests consistency between Pick/Query/OnionPeel when using the same
    +#     node/zone ids for each.
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       September 9, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +testNum = 0
    +
    +def PickCurv2D():
    +    # Ensures that Pick/Query/OnionPeel operator correctly and consistently
    +    # with the ghost data from this ds, which affects the numbering of zones
    +    global testNum
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +    AddPlot("Mesh", "curvmesh2d")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +    zoneID = 482
    +    #do a pick before Onion peel
    +    p1 = PickByZone(zoneID)
    +    nodeID = p1["incident_nodes"][0]
    +    #Add Onion peel of same zone, see if it ends up under the pick letter
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.index = zoneID
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    v = GetView2D()
    +    v.windowCoords =(1.33, 4.89, 0.18, 3.43)
    +    SetView2D(v)
    +    Test("consistencyChecks_%02d"%testNum)
    +    testNum = testNum+1
    +
    +    ClearPickPoints()
    +
    +    #Now add a Boundary plot, do the same pick, see if get same results.
    +    AddPlot("Boundary", "mat1")
    +    DrawPlots()
    +    p2 = PickByZone(zoneID)
    +    s = ""
    +    if p2['point'] == p1['point']:
    +        s = s + "PickByZone on Pseudcolor and Boundary plots yielded same point.\n"
    +    else:
    +        s = s + "PickByZone on Pseudcolor and Boundary plots DID NOT yield same point.\n"
    +    SetQueryOutputToObject()
    +    q = Query("Zone Center", element=zoneID)
    +    if (q['center'] == p1['point']):
    +        s = s + "Zone Center query returned same coords as Pick.\n"
    +    else:
    +        s = s + "Zone Center query returned different coords than Pick.\n"
    +
    +    #Now feed the zone center as coordinates into a pick:
    +    p3 = ZonePick(coord = q['center'])
    +    s = s + "Pick using coord from Zone Center query returned zone: %d, (should be: %d).\n" %(p3['zone_id'], zoneID)
    +
    +    Test("consistencyChecks_%02d"%testNum)
    +    testNum = testNum+1
    +    ClearPickPoints()
    +
    +    # Now do the same type of tests for Node Pick
    +    DeleteActivePlots()
    +    SetActivePlots(1)
    +    RemoveLastOperator()
    +
    +    p1n = PickByNode(nodeID)
    +    AddOperator("OnionPeel")
    +    op.seedType = op.SeedNode
    +    op.index = nodeID
    +    SetOperatorOptions(op)
    +    DrawPlots()
    +    Test("consistencyChecks_%02d"%testNum)
    +    testNum = testNum+1
    +
    +    ClearPickPoints()
    +    #Now add a Boundary plot, do the same pick, see if get same results.
    +    AddPlot("Boundary", "mat1")
    +    DrawPlots()
    +
    +    p2n = PickByNode(nodeID)
    +    if p2n['point'] == p1n['point']:
    +        s = s + "PickByNode on Pseudcolor and Boundary plots yielded same point.\n"
    +    else:
    +        s = s + "PickByNode on Pseudcolor and Boundary plots DID NOT yield same point.\n"
    +    qn = Query("Node Coords", element=nodeID)
    +    if (qn['coord'] == p1n['point']):
    +        s = s + "Node Coords query returned same coords as Pick.\n"
    +    else:
    +        s = s + "Node Coords query returned different coords than Pick.\n"
    +
    +    p3n = NodePick(coord = qn['coord'])
    +    s = s + "Pick using coord from Node Coord query returned node: %d, (should be: %d).\n" %(p3n['node_id'], nodeID)
    +
    +    Test("consistencyChecks_%02d"%testNum)
    +    testNum = testNum+1
    +
    +    TestText("consistencyChecks_%02d"%testNum, s)
    +    testNum = testNum+1
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("curv2d.silo"))
    +
    +PickCurv2D()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_curvature.html b/2023-11-08-22:00/pascal_trunk_serial/queries_curvature.html new file mode 100644 index 000000000..c321f7b75 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_curvature.html @@ -0,0 +1,54 @@ + +Results for queries/curvature.py + +

    Results of VisIt Regression Test - queries/curvature

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    curvature_010 modifications totalling 0 lines
    curvature_020.000.00
    curvature_030 modifications totalling 0 lines
    curvature_040 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_curvature_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_curvature_py.html new file mode 100644 index 000000000..c5f72b282 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_curvature_py.html @@ -0,0 +1,63 @@ +queries/curvature.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curvature.py
    +#  Tests:      queries     - curvature 
    +#
    +#  Defect ID:  VisIt00006746
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 16, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +DefineScalarExpression("curvature", "mean_curvature(quadmesh3d)")
    +AddPlot("Pseudocolor", "curvature")
    +AddOperator("Isosurface")
    +i = IsosurfaceAttributes()
    +i.contourMethod = i.Value
    +i.contourValue = 0.5
    +i.variable = "d"
    +SetOperatorOptions(i)
    +DrawPlots()
    +
    +error = GetLastError()
    +TestText("curvature_01", error)
    +
    +d = DeferExpressionAttributes()
    +d.exprs = ("curvature")
    +AddOperator("DeferExpression")
    +SetOperatorOptions(d)
    +DrawPlots()
    +Test("curvature_02")
    +
    +Query("Weighted Variable Sum")
    +s = GetQueryOutputValue()
    +
    +Query("3D surface area")
    +a = GetQueryOutputValue()
    +
    +text = "The average mean curvature (manual) is %f\n" %(s/a)
    +TestText("curvature_03", text)
    +
    +DeleteAllPlots()
    +AddPlot("Contour", "d")
    +c = ContourAttributes()
    +c.contourMethod = c.Value
    +c.contourValue = 0.5
    +SetPlotOptions(c)
    +DrawPlots()
    +
    +Query("Average Mean Curvature")
    +t = GetQueryOutputString()
    +TestText("curvature_04", t)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_database.html b/2023-11-08-22:00/pascal_trunk_serial/queries_database.html new file mode 100644 index 000000000..c1dfd489e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_database.html @@ -0,0 +1,100 @@ + +Results for queries/database.py + +

    Results of VisIt Regression Test - queries/database

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    QueryBigSil0 modifications totalling 0 lines
    QueryContours0 modifications totalling 0 lines
    QueryCurv2d0 modifications totalling 0 lines
    QueryCurv3d0 modifications totalling 0 lines
    QueryGlobe0 modifications totalling 0 lines
    QueryMultiUcd3d0 modifications totalling 0 lines
    QueryNoise0 modifications totalling 0 lines
    QueryRect2d0 modifications totalling 0 lines
    QuerySid970 modifications totalling 0 lines
    QueryMinMaxCurve0 modifications totalling 0 lines
    QuerySAMRAI0 modifications totalling 0 lines
    QueryCurves0 modifications totalling 0 lines
    QueryHistogram0 modifications totalling 0 lines
    QueryGlobalId0 modifications totalling 0 lines
    QueryZR_RZ0 modifications totalling 0 lines
    QueryArbPoly0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_database_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_database_py.html new file mode 100644 index 000000000..0eab44d8c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_database_py.html @@ -0,0 +1,1083 @@ +queries/database.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  database.py #
    +#  Tests:      queries     - Database
    +#
    +#  Defect ID:  '6356
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       July 11, 2003 
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from FilledBoundary plots.
    +#
    +#    Kathleen Bonnell, Wed Oct 29 16:06:23 PST 2003 
    +#    Add PlotMinMax query. 
    +#
    +#    Kathleen Bonnell, Wed Dec  3 11:05:51 PST 2003 
    +#    Add SpatialExtents query. 
    +#
    +#    Kathleen Bonnell, Wed Dec  3 13:20:04 PST 2003 
    +#    Test SpatialExtents query with 'actual' and 'original' as args. 
    +#
    +#    Kathleen Bonnell, Mon Dec 22 16:46:27 PST 2003 
    +#    Added test for SAMRAI data.
    +#
    +#    Kathleen Bonnell, Fri Feb  6 10:56:25 PST 2004 
    +#    Test MinMax query with 'actual' and 'original' as args. 
    +#
    +#    Kathleen Bonnell, Fri Feb 20 17:05:04 PST 2004 
    +#    Added NumNodes and NumZones tests.
    +#
    +#    Kathleen Bonnell, Fri Mar  5 15:41:54 PST 2004 
    +#    Added QueryCurves tests, testing "Area Between Curves" queries. 
    +#
    +#    Jeremy Meredith, Mon Apr  5 14:19:47 PDT 2004
    +#    The Curv2D query was not getting boundary data.  I added code to remove
    +#    a couple materials so that it reflected the actual usage of this query.
    +#
    +#    Hank Childs, Tue Apr 13 12:58:04 PDT 2004
    +#    Rename surface area query.
    +#
    +#    Kathleen Bonnell, Tue Apr 20 09:42:30 PDT 2004 
    +#    Added QueryMultiWindow. 
    +#
    +#    Kathleen Bonnell, Wed May 19 16:31:04 PDT 2004
    +#    Moved QueryMultiWindow to its own .py file. 
    +#
    +#    Kathleen Bonnell, Thu Aug 12 13:32:35 PDT 2004 
    +#    Added QueryHistogram. 
    +#
    +#    Kathleen Bonnell, Wed Dec 29 07:57:35 PST 2004 
    +#    Added QueryGlobalId. 
    +#
    +#    Hank Childs, Wed Feb 16 07:34:07 PST 2005
    +#    Rename variables that have unsupported characters.
    +#
    +#    Hank Childs, Fri Jul  1 08:53:41 PDT 2005
    +#    Test getting a vector from the spatial extents query. ['6356]
    +#
    +#    Kathleen Bonnell, Wed Aug 10 15:07:50 PDT 2005 
    +#    Test Weighted Variable Sum Query with a postive-values variable and
    +#    a negative-values variable.  ('6453).
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Kathleen Bonnell, Wed Feb  8 11:08:01 PST 2006 
    +#    Added QueryZR_RZ. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
    +#    behavior when an operator is added.
    +#
    +#    Cyrus Harrison, Mon Aug 16 15:51:46 PDT 2010
    +#    Added test for var & wvar sum of an array variable.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Use named arguments. 
    +#
    +#    Kathleen Biagas, Thu Sep 11 11:40:25 PDT 2014
    +#    Add QueryArbPoly.
    +#
    +# ----------------------------------------------------------------------------
    +RequiredDatabasePlugin(("SAMRAI", "Silo", "VTK"))
    +
    +def QueryRect2d():
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Compactness")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Eulerian")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("2D area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    AddOperator("Transform")
    +    transform = TransformAttributes()
    +    transform.doScale = 1
    +    transform.scaleX = 10
    +    SetOperatorOptions(transform)
    +    DrawPlots()
    +
    +    Query("SpatialExtents", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    DeleteAllPlots()
    +
    +    DefineArrayExpression("array_var","array_compose(d,p,d,p)")
    +    AddPlot("Label","array_var")
    +    DrawPlots()
    +    Query("Variable Sum")
    +    s += GetQueryOutputString() + "\n"
    +    Query("Weighted Variable Sum")
    +    s += GetQueryOutputString() + "\n"
    +
    +    TestText("QueryRect2d", s)
    +    DeleteAllPlots()
    +
    +
    +def QueryMultiUcd3d():
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Eulerian")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    v = GetQueryOutputValue()
    +    estr = "Exts from vector are [%f-%f, %f-%f, %f-%f]\n" %(v[0], v[1], v[2], v[3], v[4], v[5])
    +    s = s + estr
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    silr= SILRestriction();
    +    silr.TurnOffAll()
    +    silr.TurnOnSet(1)
    +    silr.TurnOnSet(3)
    +    silr.TurnOnSet(5)
    +    silr.TurnOnSet(10)
    +    SetPlotSILRestriction(silr)
    +    DrawPlots()
    +
    +    s = s + "\nAFTER APPLYING SIL RESTRICTION:\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", "original")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +
    +    TestText("QueryMultiUcd3d", s)
    +    DeleteAllPlots()
    +
    +def QueryContours():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Contour", "hardyglobal")
    +    c = ContourAttributes()
    +    c.contourNLevels = 10
    +    SetPlotOptions(c)
    +    DrawPlots()
    +
    +    s = "For 10 contours of noise.silo (hardyglobal)\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n\nMinMax Actual:"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    c.contourNLevels = 4
    +    SetPlotOptions(c)
    +    s  = s + "\nFor 4 contours of noise.silo (hardyglobal)\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n\nMinMax Actual:"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Contour", "d")
    +    c.contourNLevels = 10
    +    SetPlotOptions(c)
    +    DrawPlots()
    +
    +    s =  s + "\nFor 10 contours of rect3d.silo (d)\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    c.contourNLevels = 4
    +    SetPlotOptions(c)
    +    s  = s + "\nFor 4 contours of rect3d.silo (d)\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QueryContours", s)
    +
    +    DeleteAllPlots()
    +
    +
    +def QueryCurv2d():
    +    # Testing database queries on curv2d.
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    TurnMaterialsOff("2")
    +    TurnMaterialsOff("3")
    +    Query("Compactness")
    +    TurnMaterialsOn()
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Eulerian")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("2D area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    DeleteAllPlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = s + "\nMinMax Actual:" + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +
    +    TestText("QueryCurv2d", s)
    +    DeleteAllPlots()
    +
    +def QueryCurv3d():
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Pseudocolor", "p")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Eulerian")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QueryCurv3d", s)
    +    DeleteAllPlots()
    +
    +def QueryGlobe():
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Eulerian")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    AddOperator("Clip")
    +    clip = ClipAttributes()
    +    clip.plane1Origin = (0.2, 0.3, 0.4)
    +    clip.plane1Normal = (1, 1, 1)
    +    SetOperatorOptions(clip)
    +    DrawPlots()
    +
    +    s = s + "\nAFTER CLIPPING:\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", "actual")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +
    +    DeleteAllPlots()
    +    AddPlot("Vector", "vel")
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = s + "\nMinMax Actual:" + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +
    +    ChangeActivePlotsVar("disp")
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = s + "MinMAx Actual:" + GetQueryOutputString()
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "t")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + "\n" + GetQueryOutputString()
    +    DefineScalarExpression("neg_t", "-t")
    +    ChangeActivePlotsVar("neg_t")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + "\n" + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QueryGlobe", s)
    +    DeleteAllPlots()
    +
    +def QueryNoise():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    s = "For noise.silo(haryglobal)\n"
    +    Query("Eulerian")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    ChangeActivePlotsVar("hgslice")
    +    DrawPlots()
    +    # Do some database queries.
    +    s = s + "\nFor noise.silo(hgslice)\n"
    +    Query("Compactness")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Eulerian")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    DeleteAllPlots()
    +    AddPlot("Vector", "airVfGradient")
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = s + "\nMinMax Actual:" + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +
    +    ChangeActivePlotsVar("grad")
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = s + "MinMax Actual:" + GetQueryOutputString()
    +    s = s + "\nMinMax Original:"
    +    Query("MinMax", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +
    +    TestText("QueryNoise", s)
    +    DeleteAllPlots()
    +
    +def QuerySid97():
    +    OpenDatabase(silo_data_path("sid97.silo"))
    +
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("3D surface area")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QuerySid97", s)
    +    DeleteAllPlots()
    +
    +def QueryBigSil():
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Eulerian")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s+GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QueryBigSil", s)
    +    DeleteAllPlots()
    +
    +def QueryMinMaxCurve():
    +    OpenDatabase(data_path("curve_test_data/curve.visit"))
    +
    +    AddPlot("Curve", "parabolic");
    +    DrawPlots()
    +    Query("MinMax", use_actual_data=1)
    +    s = "\n"
    +    frames = (0, 27, 56, 73, 91);
    +    for frame in frames:
    +        SetTimeSliderState(frame)
    +        s = s + "For entire curve at frame %d:" %frame
    +        Query("MinMax", use_actual_data=1)
    +        s = s + GetQueryOutputString()
    +
    +    AddOperator("Clip")
    +    clip = ClipAttributes()
    +    clip.planeInverse = 1
    +    clip.plane1Origin = (0.5, 0, 0)
    +    SetOperatorOptions(clip)
    +    DrawPlots()
    +    for frame in frames:
    +        SetTimeSliderState(frame)
    +        s = s + "For clipped curve at frame %d:" %frame
    +        Query("MinMax", use_actual_data=1)
    +        s = s + GetQueryOutputString()
    +
    +    TestText("QueryMinMaxCurve", s)
    +    DeleteAllPlots()
    +
    +def QuerySAMRAI():
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    AddPlot("Pseudocolor", "Primitive Var _number_0")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    Query("Eulerian")
    +    s = GetQueryOutputString()
    +    s = s + "\n"
    +    Query("MinMax", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=0)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("SpatialExtents", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumNodes", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +    Query("NumZones", use_actual_data=1)
    +    s = s + GetQueryOutputString()
    +    s = s + "\n"
    +
    +    TestText("QuerySAMRAI", s)
    +    DeleteAllPlots()
    +
    +def QueryCurves():
    +    # in responses to VisIt00004449, Area between 2 curves query crashes
    +    # viewer if curves not from same database.
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    # do some lineouts so we can test curves from same database.
    +    Lineout((0.4, 1.04, 0), (0.4, 0.1, 0))
    +    SetActiveWindow(1)
    +    Lineout((0.02, 0.49, 0), (0.77, 0.49, 0))
    +
    +    SetActiveWindow(2)
    +    SetActivePlots((0, 1))
    +    Query("Area Between Curves")
    +    s = GetQueryOutputString() + "\n"
    +    Query("L2Norm Between Curves")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    # now add a curve from a different database, and test against 
    +    # previous curves.
    +    OpenDatabase(data_path("curve_test_data/c000.curve"))
    +
    +    AddPlot("Curve", "going_up")
    +    DrawPlots()
    +
    +    SetActivePlots((0, 2))
    +    Query("Area Between Curves")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("L2Norm Between Curves")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    SetActivePlots((1, 2))
    +    Query("Area Between Curves")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("L2Norm Between Curves")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    TestText("QueryCurves", s)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +def QueryHistogram():
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Histogram", "d")
    +    DrawPlots()
    +
    +    Query("Integrate")
    +    s = "Histogram(d):  " + GetQueryOutputString() + "\n"
    +
    +    ChangeActivePlotsVar("p")
    +    Query("Integrate")
    +    s = s + "Histogram(p):  " + GetQueryOutputString() + "\n"
    +
    +    ChangeActivePlotsVar("u")
    +    Query("Integrate")
    +    s = s + "Histogram(u):  " + GetQueryOutputString() + "\n"
    +
    +    ChangeActivePlotsVar("v")
    +    Query("Integrate")
    +    s = s + "Histogram(v):  " + GetQueryOutputString() + "\n\n"
    +
    +    TestText("QueryHistogram", s)
    +    DeleteAllPlots()
    +
    +def QueryGlobalId():
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +
    +    Query("Global Zone Center", element=15);
    +    s = GetQueryOutputString() + "\n"
    +
    +    Query("Zone Center", element=0, domain=2)
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    Query("Global Node Coords", element=16)
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    Query("Node Coords", element=1, domain=2)
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    TestText("QueryGlobalId", s)
    +    DeleteAllPlots()
    +
    +def QueryZR_RZ():
    +    s = "RZ UGRID:\n    "
    +    OpenDatabase(data_path("vtk_cylindrical_test_data/ugrid_RZ.vtk"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "ZR UGRID:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_ZR.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "XY UGRID:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_XY.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    AddOperator("Transform")
    +    translate = TransformAttributes()
    +    translate.doTranslate = 1
    +    translate.translateX = 5
    +    translate.translateY = 17
    +    SetOperatorOptions(translate)
    +    DrawPlots()
    +
    +    s = s + "XY UGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_ZR.vtk"))
    +
    +    DrawPlots()
    +
    +    s = s + "ZR UGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/ugrid_RZ.vtk"))
    +
    +    DrawPlots()
    +
    +    s = s + "RZ UGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    DeleteAllPlots()
    +
    +    s = s + "RZ RGRID:\n    "
    +    OpenDatabase(data_path("vtk_cylindrical_test_data/rect_RZ.vtk"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "ZR RGRID:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_ZR.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "XY RGRID:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_XY.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    AddOperator("Transform")
    +    translate = TransformAttributes()
    +    translate.doTranslate = 1
    +    translate.translateX = 5
    +    translate.translateY = 17
    +    SetOperatorOptions(translate)
    +    DrawPlots()
    +
    +    s = s + "XY RGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_ZR.vtk"))
    +
    +    DrawPlots()
    +    s = s + "ZR RGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/rect_RZ.vtk"))
    +
    +    DrawPlots()
    +
    +    s = s + "RZ RGRID TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    DeleteAllPlots()
    +
    +    s = s + "RZ POLY:\n    "
    +    OpenDatabase(data_path("vtk_cylindrical_test_data/poly_RZ.vtk"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "ZR POLY:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_ZR.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    s = s + "XY POLY:\n    "
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_XY.vtk"))
    +
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    AddOperator("Transform")
    +    translate = TransformAttributes()
    +    translate.doTranslate = 1
    +    translate.translateX = 5
    +    translate.translateY = 17
    +    SetOperatorOptions(translate)
    +    DrawPlots()
    +    s = s + "XY POLY TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_ZR.vtk"))
    +
    +    DrawPlots()
    +    s = s + "ZR POLY TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    ReplaceDatabase(data_path("vtk_cylindrical_test_data/poly_RZ.vtk"))
    +
    +    DrawPlots()
    +
    +    s = s + "RZ POLY TRANSLATED:\n    "
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved volume")
    +    s = s + GetQueryOutputString() + "\n    "
    +    Query("Revolved surface area")
    +    s = s + GetQueryOutputString() + "\n\n"
    +
    +    TestText("QueryZR_RZ", s)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_cylindrical_test_data/poly_RZ.vtk"))
    +
    +def QueryArbPoly():
    +    SetQueryOutputToString()
    +
    +    OpenDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +    AddPlot("Mesh", "3D/mesh1")
    +    DrawPlots()
    +    s = "arbpoly-zoohybrid:\n"
    +    s = s + Query("NumZones", use_actual_data=1) + "\n"
    +    s = s + Query("NumZones", use_actual_data=0) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=1) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=0) + "\n"
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("arbpoly-zoohybrid.silo"))
    +
    +    OpenDatabase(silo_data_path("poly3d.silo"))
    +    AddPlot("Mesh", "ucdmesh3d")
    +    DrawPlots()
    +    s = s + "\npoly3d:\n"
    +    s = s + Query("NumZones", use_actual_data=1) + "\n"
    +    s = s + Query("NumZones", use_actual_data=0) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=1) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=0) + "\n"
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("poly3d.silo"))
    +
    +    OpenDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
    +    AddPlot("Mesh","MMESH")
    +    DrawPlots()
    +    s = s + "\nOvlTop:" + "\n"
    +    s = s + Query("NumZones", use_actual_data=1) + "\n"
    +    s = s + Query("NumZones", use_actual_data=0) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=1) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=0) + "\n"
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("overlink_test_data/ev_0_0_100/OvlTop.silo"))
    +
    +    OpenDatabase(silo_data_path("arbpoly.silo"))
    +    AddPlot("Mesh", "clipped_hex")
    +    DrawPlots()
    +    s = s + "\narbpoly:" + "\n"
    +    s = s + Query("NumZones", use_actual_data=1) + "\n"
    +    s = s + Query("NumZones", use_actual_data=0) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=1) + "\n"
    +    s = s + Query("NumNodes", use_actual_data=0) + "\n"
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("arbpoly.silo"))
    +    TestText("QueryArbPoly", s)
    +
    +
    +def QueryMain():
    +    QueryBigSil()
    +    QueryContours()
    +    QueryCurv2d()
    +    QueryCurv3d()
    +    QueryGlobe()
    +    QueryMultiUcd3d()
    +    QueryNoise()
    +    QueryRect2d()
    +    QuerySid97()
    +    QueryMinMaxCurve()
    +    QuerySAMRAI()
    +    QueryCurves()
    +    QueryHistogram()
    +    QueryGlobalId()
    +    QueryZR_RZ()
    +    QueryArbPoly()
    +
    +# Call the main function
    +TurnOnAllAnnotations()
    +QueryMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_error_queries.html b/2023-11-08-22:00/pascal_trunk_serial/queries_error_queries.html new file mode 100644 index 000000000..4342c3316 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_error_queries.html @@ -0,0 +1,100 @@ + +Results for queries/error_queries.py + +

    Results of VisIt Regression Test - queries/error_queries

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Zone_Center_Curv2d_Valid_Str
     "The center of  zone 10 is (0.923738, 1.81294)." .eq. "The center of  zone 10 is (0.923738, 1.81294)." : True
    Zone_Center_Curv2d_Valid_Val
     (0.9237379878759384, 1.8129377663135529) .eq. (0.9237379878759384, 1.8129377663135529)
     (prec=5) : True
    Zone_Center_Curv2d_Invalid_Str
     "The center of zone 1000000 could not be determined." .eq. "The center of zone 1000000 could not be determined." : True
    Zone_Center_Curv2d_Invalid_Val
     "None" .eq. "None" : True
    Node_Coords_Curv2d_Valid_Str
     "The coords of  node 10 are (1, 1.73205)." .eq. "The coords of  node 10 are (1, 1.73205)." : True
    None_Coords_Curv2d_Valid_Val
     (1.0, 1.7320507764816284) .eq. (1.0, 1.7320507764816284)
     (prec=5) : True
    Node_Coords_Curv2d_Invalid_Str
     "The coords of node 1000000 could not be determined." .eq. "The coords of node 1000000 could not be determined." : True
    Node_Coords_Curv2d_Invalid_Val
     "None" .eq. "None" : True
    Zone_Center_Multi_Ucd3d_Valid_Str
     "The center of zone 10 (domain 5) is (0.463913, 3.91959, 6.33333)." .eq. "The center of zone 10 (domain 5) is (0.463913, 3.91959, 6.33333)." : True
    Zone_Center_Multi_Ucd3d_Valid_Val
     (0.4639131799340248, 3.9195945262908936, 6.333332777023315) .eq. (0.4639131799340248, 3.9195945262908936, 6.333332777023315)
     (prec=5) : True
    Zone_Center_Multi_Ucd3d_Invalid_Str
     "The center of zone 1000000 (domain 5) could not be determined." .eq. "The center of zone 1000000 (domain 5) could not be determined." : True
    Zone_Center_Multi_Ucd3d_Invalid_Val
     "None" .eq. "None" : True
    Node_Coords_Multi_Ucd3d_Valid_Str
     "The coords of node 10 (domain 5) are (2.96558, 2.53285, 0)." .eq. "The coords of node 10 (domain 5) are (2.96558, 2.53285, 0)." : True
    None_Coords_Multi_Ucd3d_Valid_Val
     (2.9655816555023193, 2.532846450805664, 0.0) .eq. (2.9655816555023193, 2.532846450805664, 0.0)
     (prec=5) : True
    Node_Coords_Multi_Ucd3d_Invalid_Str
     "The coords of node 1000000 (domain 5) could not be determined." .eq. "The coords of node 1000000 (domain 5) could not be determined." : True
    Node_Coords_Multi_Ucd3d_Invalid_Val
     "None" .eq. "None" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_error_queries_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_error_queries_py.html new file mode 100644 index 000000000..52519466f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_error_queries_py.html @@ -0,0 +1,89 @@ +queries/error_queries.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  error_quries.py
    +#  Tests:      queries     - zone center, node coords
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       August 3, 2023
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Test with a single domain 2d curvilinear mesh
    +#
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +Query("Zone Center", domain=0, element=10)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Zone_Center_Curv2d_Valid_Str", s, "The center of  zone 10 is (0.923738, 1.81294).")
    +TestValueEQ("Zone_Center_Curv2d_Valid_Val", v, (0.9237379878759384, 1.8129377663135529))
    +
    +Query("Zone Center", domain=0, element=1000000)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Zone_Center_Curv2d_Invalid_Str", s, "The center of zone 1000000 could not be determined.")
    +TestValueEQ("Zone_Center_Curv2d_Invalid_Val", v, None)
    +
    +Query("Node Coords", domain=0, element=10)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Node_Coords_Curv2d_Valid_Str", s, "The coords of  node 10 are (1, 1.73205).")
    +TestValueEQ("None_Coords_Curv2d_Valid_Val", v, (1.0, 1.7320507764816284))
    +
    +Query("Node Coords", domain=0, element=1000000)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Node_Coords_Curv2d_Invalid_Str", s, "The coords of node 1000000 could not be determined.")
    +TestValueEQ("Node_Coords_Curv2d_Invalid_Val", v, None)
    +
    +DeleteAllPlots()
    +
    +#
    +# Test with a multi domain 3d unstructured mesh
    +#
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +Query("Zone Center", domain=5, element=10)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Zone_Center_Multi_Ucd3d_Valid_Str", s, "The center of zone 10 (domain 5) is (0.463913, 3.91959, 6.33333).")
    +TestValueEQ("Zone_Center_Multi_Ucd3d_Valid_Val", v, (0.4639131799340248, 3.9195945262908936, 6.333332777023315))
    +
    +Query("Zone Center", domain=5, element=1000000)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Zone_Center_Multi_Ucd3d_Invalid_Str", s, "The center of zone 1000000 (domain 5) could not be determined.")
    +TestValueEQ("Zone_Center_Multi_Ucd3d_Invalid_Val", v, None)
    +
    +Query("Node Coords", domain=5, element=10)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Node_Coords_Multi_Ucd3d_Valid_Str", s, "The coords of node 10 (domain 5) are (2.96558, 2.53285, 0).")
    +TestValueEQ("None_Coords_Multi_Ucd3d_Valid_Val", v, (2.9655816555023193, 2.532846450805664, 0.0))
    +
    +Query("Node Coords", domain=5, element=1000000)
    +s = GetQueryOutputString()
    +v = GetQueryOutputValue()
    +
    +TestValueEQ("Node_Coords_Multi_Ucd3d_Invalid_Str", s, "The coords of node 1000000 (domain 5) could not be determined.")
    +TestValueEQ("Node_Coords_Multi_Ucd3d_Invalid_Val", v, None)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_flatten.html b/2023-11-08-22:00/pascal_trunk_serial/queries_flatten.html new file mode 100644 index 000000000..663134a0c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_flatten.html @@ -0,0 +1,1605 @@ + +Results for queries/flatten.py + +

    Results of VisIt Regression Test - queries/flatten

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect2d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect3d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv2d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv3d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd2d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd3d.silo_NodeData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldNotHaveZoneTable
     "False" .eq. "False" : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect2d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect3d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv2d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv3d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd2d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd3d.silo_ZoneData
    ShouldNotHaveNodeTable
     "False" .eq. "False" : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect2d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/rect3d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv2d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/curv3d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd2d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    /usr/WS1/visit/test_trunk/visit/build/testdata/silo_hdf5_test_data/ucd3d.silo_BothData
    ShouldHaveNodeTable
     "True" .eq. "True" : True
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    NodeCol0Name
     "nid" .eq. "nid" : True
    NodeCol1Name
     "vec_nid/c0" .eq. "vec_nid/c0" : True
    NodeCol2Name
     "vec_nid/c1" .eq. "vec_nid/c1" : True
    NodeCol3Name
     "vec_nid/c2" .eq. "vec_nid/c2" : True
    NodeCol4Name
     "nodeIds" .eq. "nodeIds" : True
    NodeCol5Name
     "nodeDomains" .eq. "nodeDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    ShouldHaveZoneTable
     "True" .eq. "True" : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nid', 'vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('zid', 'vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ZoneCol0Name
     "zid" .eq. "zid" : True
    ZoneCol1Name
     "vec_zid/c0" .eq. "vec_zid/c0" : True
    ZoneCol2Name
     "vec_zid/c1" .eq. "vec_zid/c1" : True
    ZoneCol3Name
     "vec_zid/c2" .eq. "vec_zid/c2" : True
    ZoneCol4Name
     "zoneIds" .eq. "zoneIds" : True
    ZoneCol5Name
     "zoneDomains" .eq. "zoneDomains" : True
    NumCols
     6 .eq. 6 (prec=5) : True
    TestDataCol0
     -1 .eq. -1 (prec=5) : True
    TestDataCol1
     -1 .eq. -1 (prec=5) : True
    TestDataCol2
     -1 .eq. -1 (prec=5) : True
    TestDataCol3
     -1 .eq. -1 (prec=5) : True
    TestDataCol4
     -1 .eq. -1 (prec=5) : True
    BoxSelection
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ShouldHaveNodeTable
     nodeTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=0) : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ShouldHaveZoneTable
     zoneTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=2) : True
    multi_rect2d_box_nodes0 modifications totalling 0 lines
    multi_rect2d_box_zones0 modifications totalling 0 lines
    BoxSelectionNoSharedMemory
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=1) : True
    ShouldHaveNodeTable
     nodeTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=0) : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=3) : True
    ShouldHaveZoneTable
     zoneTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('vec_nid/c0', 'vec_nid/c1', 'vec_nid/c2', 'nodeIds', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('vec_zid/c0', 'vec_zid/c1', 'vec_zid/c2', 'zoneIds', 'zoneDomains')} (prec=5, at=2) : True
    multi_rect2d_box_nodes0 modifications totalling 0 lines
    multi_rect2d_box_zones0 modifications totalling 0 lines
    NoiseWithTensor
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('hardyglobal', 'grad_tensor/c0', 'grad_tensor/c1', 'grad_tensor/c2', 'grad_tensor/c3', 'grad_tensor/c4', 'grad_tensor/c5', 'grad_tensor/c6', 'grad_tensor/c7', 'grad_tensor/c8', 'nodeIds', 'nodeDomains')} (prec=5, at=1) : True
    ShouldHaveNodeTable
     nodeTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('hardyglobal', 'grad_tensor/c0', 'grad_tensor/c1', 'grad_tensor/c2', 'grad_tensor/c3', 'grad_tensor/c4', 'grad_tensor/c5', 'grad_tensor/c6', 'grad_tensor/c7', 'grad_tensor/c8', 'nodeIds', 'nodeDomains')} (prec=5, at=0) : True
    noise_nodes0 modifications totalling 0 lines
    IJKs2D
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=1) : True
    ShouldHaveNodeTable
     nodeTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=0) : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=3) : True
    ShouldHaveZoneTable
     zoneTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=2) : True
    NodeInvalidRow
     -1 .eq. -1 (prec=5) : True
    ZoneInvalidRow
     -1 .eq. -1 (prec=5) : True
    IJKs3D
    ShouldHaveNodeColumnNames
     nodeColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=1) : True
    ShouldHaveNodeTable
     nodeTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=0) : True
    ShouldHaveZoneColumnNames
     zoneColumnNames .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=3) : True
    ShouldHaveZoneTable
     zoneTable .in. 
    {'nodeTable': , 'nodeColumnNames': ('nodeIJK/c0', 'nodeIJK/c1', 'nodeIJK/c2', 'nodeDomains'),
      'zoneTable': , 'zoneColumnNames': ('d', 'zoneIJK/c0', 'zoneIJK/c1', 'zoneIJK/c2', 'zoneDomains')} (prec=5, at=2) : True
    NodeInvalidRow
     -1 .eq. -1 (prec=5) : True
    ZoneInvalidRow
     -1 .eq. -1 (prec=5) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_flatten_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_flatten_py.html new file mode 100644 index 000000000..e6910fea4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_flatten_py.html @@ -0,0 +1,349 @@ +queries/flatten.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial parallel
    +#  CLASSES: nightly
    +#
    +#  Test Case:  flatten.py
    +#
    +#  Tests:      Tests CLI Flatten() function
    +#              (which is avtFlattenQuery underneath)
    +#
    +#  Programmer: Christopher Laganella
    +#  Date:       Fri Feb  4 17:07:24 EST 2022
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +try:
    +    import numpy as np
    +    haveNumpy = True
    +except:
    +    haveNumpy = False
    +
    +import os
    +
    +# NOTE: The following few functions are useful for running this test
    +#  script through the regular visit CLI
    +# def silo_data_path(name):
    +#     return os.path.join("/home/cdl/Development/visit/visit/data/silo_hdf5_test_data",
    +#         name)
    +
    +# def Exit():
    +#     exit()
    +
    +# def TestSection(name):
    +#     print(name)
    +
    +# def TestText(baseline_file, value):
    +#     print("Loading up baseline file %s" % os.path.abspath(baseline_file))
    +
    +# def TestValueEQ(name, v0, v1):
    +#     assert v0 == v1, str(name) + ": " + str(v0) + " != " + str(v1)
    +
    +# def TestValueIN(name, d, k):
    +#     assert k in d, str(name) + ": " + str(v0) + " !in " + str(v1)
    +
    +n = 0
    +basicTestCases = (
    +    (silo_data_path('rect2d.silo'), 'quadmesh2d'),
    +    (silo_data_path('rect3d.silo'), 'quadmesh3d'),
    +    (silo_data_path('curv2d.silo'), 'curvmesh2d'),
    +    (silo_data_path('curv3d.silo'), 'curvmesh3d'),
    +    (silo_data_path('ucd2d.silo'), 'ucdmesh2d'),
    +    (silo_data_path('ucd3d.silo'), 'ucdmesh3d'),
    +)
    +
    +
    +def load_text(name):
    +    fname = name + '.txt'
    +    print("Loading up current file %s" % os.path.abspath(fname))
    +    with open(fname) as f:
    +        return f.read()
    +
    +def define_mesh_expressions(mesh_name):
    +    DefineScalarExpression("nid", "nodeid({})".format(mesh_name))
    +    DefineScalarExpression("zid", "zoneid({})".format(mesh_name))
    +    DefineVectorExpression("vec_nid", "{-nid,nid,-nid}")
    +    DefineVectorExpression("vec_zid", "{-zid,zid,-zid}")
    +
    +def test_basic_table(table):
    +    data = np.asarray(table)
    +    ncol = data.shape[1]
    +    TestValueEQ("NumCols", ncol, 6)
    +
    +    badCol0 = -1
    +    badCol1 = -1
    +    badCol2 = -1
    +    badCol3 = -1
    +    badCol4 = -1
    +    badCol5 = -1
    +    nrow = data.shape[0]
    +    for i in range(0, nrow):
    +        badCol0 = -1 if np.isclose(data[i, 0],  i) and badCol0 < 0 else i
    +        badCol1 = -1 if np.isclose(data[i, 1], -i) and badCol1 < 0 else i
    +        badCol2 = -1 if np.isclose(data[i, 2],  i) and badCol2 < 0 else i
    +        badCol3 = -1 if np.isclose(data[i, 3], -i) and badCol3 < 0 else i
    +        badCol4 = -1 if np.isclose(data[i, 4],  i) and badCol4 < 0 else i
    +        # All the of the basic tests should be 1 domain
    +        badCol5 = -1 if np.isclose(data[i, 5], 0) and badCol5 < 0 else i
    +
    +    if badCol0 > -1:
    +        global n
    +        np.savetxt("table%d.csv" % n, data, delimiter=',')
    +        n = n + 1
    +
    +    TestValueEQ("TestDataCol0", -1, badCol0)
    +    TestValueEQ("TestDataCol1", -1, badCol1)
    +    TestValueEQ("TestDataCol2", -1, badCol2)
    +    TestValueEQ("TestDataCol3", -1, badCol3)
    +    TestValueEQ("TestDataCol4", -1, badCol4)
    +
    +def run_basic_test(db_name, mesh_name, test_type):
    +    OpenDatabase(db_name)
    +    define_mesh_expressions(mesh_name)
    +    AddPlot('Mesh', mesh_name)
    +    DrawPlots()
    +
    +    vars = tuple()
    +    if test_type == 'nz' or test_type == 'zn':
    +        vars = ('nid', 'zid', 'vec_nid', 'vec_zid')
    +    elif 'n' in test_type:
    +        vars = ('nid', 'vec_nid')
    +    elif 'z' in test_type:
    +        vars = ('zid', 'vec_zid')
    +
    +    expect_node_table = 'n' in test_type
    +    expect_zone_table = 'z' in test_type
    +
    +    tables = Flatten(vars, nodeIds=expect_node_table,
    +        zoneIds=expect_zone_table, nodeIJK=False, zoneIJK=False)
    +
    +    have_node_table = 'nodeTable' in tables
    +    if expect_node_table:
    +        TestValueEQ("ShouldHaveNodeTable", have_node_table, True)
    +        TestValueIN("ShouldHaveNodeColumnNames", tables, 'nodeColumnNames')
    +        column_names = tables['nodeColumnNames']
    +        # print(column_names)
    +        TestValueEQ('NodeCol0Name', column_names[0], 'nid')
    +        TestValueEQ('NodeCol1Name', column_names[1], 'vec_nid/c0')
    +        TestValueEQ('NodeCol2Name', column_names[2], 'vec_nid/c1')
    +        TestValueEQ('NodeCol3Name', column_names[3], 'vec_nid/c2')
    +        TestValueEQ('NodeCol4Name', column_names[4], 'nodeIds')
    +        TestValueEQ('NodeCol5Name', column_names[5], 'nodeDomains')
    +        test_basic_table(tables['nodeTable'])
    +    else:
    +        TestValueEQ("ShouldNotHaveNodeTable", have_node_table, False)
    +
    +    have_zone_table = 'zoneTable' in tables
    +    if expect_zone_table:
    +        TestValueEQ("ShouldHaveZoneTable", have_zone_table, True)
    +        TestValueIN("ShouldHaveZoneColumnNames", tables, 'zoneColumnNames')
    +        column_names = tables['zoneColumnNames']
    +        # print(column_names)
    +        TestValueEQ('ZoneCol0Name', column_names[0], 'zid')
    +        TestValueEQ('ZoneCol1Name', column_names[1], 'vec_zid/c0')
    +        TestValueEQ('ZoneCol2Name', column_names[2], 'vec_zid/c1')
    +        TestValueEQ('ZoneCol3Name', column_names[3], 'vec_zid/c2')
    +        TestValueEQ('ZoneCol4Name', column_names[4], 'zoneIds')
    +        TestValueEQ('ZoneCol5Name', column_names[5], 'zoneDomains')
    +        test_basic_table(tables['zoneTable'])
    +    else:
    +        TestValueEQ("ShouldNotHaveZoneTable", have_zone_table, False)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db_name)
    +
    +def test_box(forceNoShm):
    +    db_name = silo_data_path('multi_rect2d.silo')
    +    mesh_name = 'mesh1'
    +
    +    OpenDatabase(db_name)
    +    define_mesh_expressions(mesh_name)
    +    AddPlot('Mesh', mesh_name)
    +    AddOperator('Box')
    +    opts = GetOperatorOptions(0)
    +    opts.maxy = 0.1
    +    SetOperatorOptions(opts)
    +    DrawPlots()
    +
    +    vars = ('vec_nid', 'vec_zid')
    +    tables = Flatten(vars, nodeIds=True,
    +        zoneIds=True, nodeIJK=False, zoneIJK=False,
    +        forceNoSharedMemory=forceNoShm)
    +
    +    TestValueIN('ShouldHaveNodeColumnNames', tables, 'nodeColumnNames')
    +    TestValueIN('ShouldHaveNodeTable', tables, 'nodeTable')
    +    nodeTable = np.asarray(tables['nodeTable'])
    +
    +    TestValueIN('ShouldHaveZoneColumnNames', tables, 'zoneColumnNames')
    +    TestValueIN('ShouldHaveZoneTable', tables, 'zoneTable')
    +    zoneTable = np.asarray(tables['zoneTable'])
    +
    +    ntName = 'multi_rect2d_box_nodes'
    +    ztName = 'multi_rect2d_box_zones'
    +    np.savetxt(ntName+'.txt', nodeTable, delimiter=',',
    +        header=','.join(tables['nodeColumnNames']))
    +    np.savetxt(ztName+'.txt', zoneTable, delimiter=',',
    +        header=','.join(tables['zoneColumnNames']))
    +    TestText(ntName, load_text(ntName))
    +    TestText(ztName, load_text(ztName))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db_name)
    +
    +def test_tensor():
    +    TestSection('NoiseWithTensor')
    +    db_name = silo_data_path('noise.silo')
    +    mesh_name = 'Mesh'
    +
    +    OpenDatabase(db_name)
    +    AddPlot('Mesh', mesh_name)
    +
    +    # Only want a small section for the csv file
    +    AddOperator('Box')
    +    opts = GetOperatorOptions(0)
    +    opts.minx = -10.0
    +    opts.maxx = -9.0
    +    opts.miny = -10.0
    +    opts.maxy = -9.0
    +    opts.minz = -10.0
    +    opts.maxz = -9.0
    +    SetOperatorOptions(opts)
    +    DrawPlots()
    +
    +    vars = ('hardyglobal', 'grad_tensor')
    +    tables = Flatten(vars, nodeIds=True, zoneIds=False,
    +                        nodeIJK=False, zoneIJK=False)
    +
    +    TestValueIN('ShouldHaveNodeColumnNames', tables, 'nodeColumnNames')
    +    TestValueIN('ShouldHaveNodeTable', tables, 'nodeTable')
    +    nodeTable = np.asarray(tables['nodeTable'])
    +
    +    ntName = 'noise_nodes'
    +    np.savetxt(ntName+'.txt', nodeTable, delimiter=',',
    +        header=','.join(tables['nodeColumnNames']))
    +    TestText(ntName, load_text(ntName))
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db_name)
    +
    +def test_ijk(do3d):
    +    db_name = silo_data_path('rect3d.silo') if do3d else silo_data_path('rect2d.silo')
    +    mesh_name = 'quadmesh3d' if do3d else 'quadmesh2d'
    +
    +    OpenDatabase(db_name)
    +    AddPlot('Mesh', mesh_name)
    +    DrawPlots()
    +
    +    vars = ('d',)
    +    tables = Flatten(vars, nodeIds=False, zoneIds=False, nodeIJK=True, zoneIJK=True)
    +
    +    TestValueIN('ShouldHaveNodeColumnNames', tables, 'nodeColumnNames')
    +    TestValueIN('ShouldHaveNodeTable', tables, 'nodeTable')
    +    TestValueIN('ShouldHaveZoneColumnNames', tables, 'zoneColumnNames')
    +    TestValueIN('ShouldHaveZoneTable', tables, 'zoneTable')
    +
    +    # Test rect2D and rect3D nodes
    +    nodeTable = np.asarray(tables['nodeTable'])
    +    row = -1
    +    dims = (31, 41, 31) if do3d else (31, 41, 1)
    +    for k in range(0, dims[2]):
    +        knxny = k * dims[0] * dims[1]
    +        for j in range(0, dims[1]):
    +            jnx = j * dims[0]
    +            for i in range(0, dims[0]):
    +                id = knxny + jnx + i
    +                iok = np.isclose(nodeTable[id, 0], i)
    +                jok = np.isclose(nodeTable[id, 1], j)
    +                kok = np.isclose(nodeTable[id, 2], k)
    +                if not (iok and jok and kok):
    +                    print('(%d,%d,%d)' % (i, j, k))
    +                    print('(%g,%g,%g)' % (nodeTable[id,0], nodeTable[id,1], nodeTable[id,2]))
    +                    row = id
    +                    break
    +            if row > -1:
    +                break
    +        if row > -1:
    +            break
    +
    +    if row > -1:
    +        baseline_name = 'NodeIJK3D' if do3d else 'NodeIJK2D'
    +        np.savetxt(baseline_name + '.txt', nodeTable, delimiter=',',
    +            header=','.join(tables['nodeColumnNames']))
    +    TestValueEQ('NodeInvalidRow', row, -1)
    +
    +    # Test rect2D and rect3D zones
    +    zoneTable = np.asarray(tables['zoneTable'])
    +    row = -1
    +    dims = (30, 40, 30) if do3d else (30, 40, 1)
    +    for k in range(0, dims[2]):
    +        knxny = k * dims[0] * dims[1]
    +        for j in range(0, dims[1]):
    +            jnx = j * dims[0]
    +            for i in range(0, dims[0]):
    +                id = knxny + jnx + i
    +                # NOTE: Column 0 is 'd'
    +                iok = np.isclose(zoneTable[id, 1], i)
    +                jok = np.isclose(zoneTable[id, 2], j)
    +                kok = np.isclose(zoneTable[id, 3], k)
    +                if not (iok and jok and kok):
    +                    print('(%d,%d,%d)' % (i, j, k))
    +                    print('(%g,%g,%g)' % (zoneTable[id,1], zoneTable[id,2], zoneTable[id,3]))
    +                    row = id
    +                    break
    +            if row > -1:
    +                break
    +        if row > -1:
    +            break
    +
    +    if row > -1:
    +        baseline_name = 'ZoneIJK3D' if do3d else 'ZoneIJK2D'
    +        np.savetxt(baseline_name + '.txt', zoneTable, delimiter=',',
    +            header=','.join(tables['zoneColumnNames']))
    +    TestValueEQ('ZoneInvalidRow', row, -1)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db_name)
    +
    +def test_node_data():
    +    for case in basicTestCases:
    +        TestSection(case[0] + '_' + 'NodeData')
    +        run_basic_test(case[0], case[1], 'n')
    +
    +def test_zone_data():
    +    for case in basicTestCases:
    +        TestSection(case[0] + '_' + 'ZoneData')
    +        run_basic_test(case[0], case[1], 'z')
    +
    +def test_both():
    +    for case in basicTestCases:
    +        TestSection(case[0] + '_' + 'BothData')
    +        run_basic_test(case[0], case[1], 'nz')
    +
    +def test_box_selection():
    +    # These test verify that the Query operates on
    +    #   the actual data and not the original
    +    # A second test is used to test the non shared
    +    #   memory implementation since the data is small.
    +    TestSection('BoxSelection')
    +    test_box(False)
    +    TestSection('BoxSelectionNoSharedMemory')
    +    test_box(True)
    +
    +def test_ijks():
    +    TestSection('IJKs2D')
    +    test_ijk(False)
    +    TestSection('IJKs3D')
    +    test_ijk(True)
    +
    +def test_all():
    +    test_node_data()
    +    test_zone_data()
    +    test_both()
    +    test_box_selection()
    +    test_tensor()
    +    test_ijks()
    +
    +if haveNumpy:
    +    test_all()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_gridinformation.html b/2023-11-08-22:00/pascal_trunk_serial/queries_gridinformation.html new file mode 100644 index 000000000..451f1dc87 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_gridinformation.html @@ -0,0 +1,56 @@ + +Results for queries/gridinformation.py + +

    Results of VisIt Regression Test - queries/gridinformation

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    gridinformation_000 modifications totalling 0 lines
    gridinformation_010 modifications totalling 0 lines
    gridinformation_020 modifications totalling 0 lines
    gridinformation_030 modifications totalling 0 lines
    gridinformation_040 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_gridinformation_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_gridinformation_py.html new file mode 100644 index 000000000..84093d9ba --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_gridinformation_py.html @@ -0,0 +1,43 @@ +queries/gridinformation.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  database.py #
    +#  Tests:      Grid Information
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Jan  3 16:38:02 PST 2018
    +#
    +#  Modifications:
    +#
    +# ---------------------------------------------------------------------------- 
    +
    +newline = "=================================================\n"
    +
    +tests = (
    +    ("gridinformation_00", silo_data_path("noise.silo"), "Pseudocolor", "radial"),
    +    ("gridinformation_01", silo_data_path("globe.silo"), "Pseudocolor", "speed"),
    +    ("gridinformation_02", silo_data_path("multi_rect3d.silo"), "Pseudocolor", "d"),
    +    ("gridinformation_03", silo_data_path("multi_curv3d.silo"), "Pseudocolor", "d"),
    +    ("gridinformation_04", silo_data_path("multi_ucd3d.silo"), "Pseudocolor", "d"))
    +
    +for t in tests:
    +    OpenDatabase(t[1])
    +    AddPlot(t[2], t[3])
    +    DrawPlots()
    +    Query("Grid Information")
    +    s = GetQueryOutputString()
    +    s = s + newline
    +
    +    Query("Grid Information", get_extents=1)
    +    s = s + GetQueryOutputString()
    +    s = s + newline
    +
    +    Query("Grid Information", get_extents=1, get_ghosttypes=1)
    +    s = s + GetQueryOutputString()
    +
    +    TestText(t[0], s)
    +    DeleteAllPlots()
    +    CloseDatabase(t[1])
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_hohlraum.html b/2023-11-08-22:00/pascal_trunk_serial/queries_hohlraum.html new file mode 100644 index 000000000..f98e676b4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_hohlraum.html @@ -0,0 +1,86 @@ + +Results for queries/hohlraum.py + +

    Results of VisIt Regression Test - queries/hohlraum

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    hf_0_00 modifications totalling 0 lines
    hf_0_10.000.00
    hf_1_00 modifications totalling 0 lines
    hf_1_10.000.00
    hf_2_00 modifications totalling 0 lines
    hf_2_10.000.00
    hf_3_00 modifications totalling 0 lines
    hf_3_10.000.00
    hf_4_00 modifications totalling 0 lines
    hf_4_10.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_hohlraum_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_hohlraum_py.html new file mode 100644 index 000000000..2bfbadd3f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_hohlraum_py.html @@ -0,0 +1,112 @@ +queries/hohlraum.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  line_scan.py
    +#  Tests:      queries     - mass distribution, chord length distribution
    +#
    +#  Defect ID:  '7474 + '7476
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 23, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Sun Aug 27 16:52:07 PDT 2006
    +#    Added testing for expected value, mass from boundary.
    +#
    +#    Dave Bremer, Fri Sep  8 11:44:22 PDT 2006
    +#    Added testing for the line scan transform.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Use named arguments.
    +#
    +#    Kathleen Biagas, Wed Feb 16 13:11:57 PST 2022
    +#    Replaced Curve atts 'cycleColors' with 'curveColorSource'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +
    +
    +ca=CurveAttributes()
    +ca.curveColorSource = ca.Custom
    +SetDefaultPlotOptions(ca)
    +
    +def TestOne(index, filename, varname, meshname, absvar, emisvar, numlines, x, y, z, radius, theta, phi):
    +    # Because the queries we are testing output to the file system, we need to
    +    # delete previous outputs before running.  If we don't do this, then the
    +    # queries will output files to names that are continuously incrementing.
    +    list = os.listdir(".")
    +    for i in range(len(list)):
    +        if (list[i] == "hf0.ult"):
    +            os.unlink("hf0.ult")
    +
    +    # Do the queries...
    +    OpenDatabase(filename)
    +    AddPlot("Pseudocolor", varname)
    +    DrawPlots()
    +    params = dict(num_lines=numlines, ray_center=(x, y, z), radius=radius, theta=theta, phi=phi, vars=(absvar, emisvar))
    +    Query("Hohlraum Flux", params)
    +    s = GetQueryOutputString()
    +    #v = GetQueryOutputValue()
    +    test_name = "hf_%d_%d" %(index,0)
    +    TestText(test_name, s)
    +    DeleteAllPlots()
    +
    +    # Now test the outputs
    +    OpenDatabase("hf0.ult")
    +    ReOpenDatabase("hf0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Hohlraum Flux")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "hf_%d_%d" %(index,1)
    +    Test(test1)
    +    DeleteAllPlots()
    +
    +
    +DefineArrayExpression("a0", "array_compose(recenter(u), recenter(v), d)")
    +DefineArrayExpression("e0", "array_compose(recenter(gradient(u)[0]), recenter(gradient(u)[1]), p)")
    +TestOne(0, silo_data_path("rect2d.silo"), "d", "quadmesh2d", "a0", "e0", 100, 0.5,0.5,0, 0.1,0,0)
    +DeleteExpression("a0")
    +DeleteExpression("e0")
    +
    +DefineArrayExpression("a1", "array_compose(<mesh_quality/volume>, <mesh_quality/taper>,  <mesh_quality/oddy>)")
    +DefineArrayExpression("e1", "array_compose(<mesh_quality/aspect>, <mesh_quality/shape>, <mesh_quality/skew>)")
    +TestOne(1, data_path("KullLite_test_data/T.pdb"),
    +        "mesh_quality/volume", "mesh",
    +        "a1", "e1", 100, 0,0,0, 0.25,90,90)
    +DeleteExpression("a1")
    +DeleteExpression("e1")
    +
    +DefineArrayExpression("a2", "array_compose(<mesh_quality/mesh/jacobian>, \
    +                      <mesh_quality/mesh/area>, <mesh_quality/mesh/oddy>)")
    +DefineArrayExpression("e2", "array_compose(<mesh_quality/mesh/aspect>, \
    +                      <mesh_quality/mesh/shape>, <mesh_quality/mesh/skew>)")
    +TestOne(2, data_path("KullLite_test_data/tagtest_rz_3.pdb"),
    +        "mesh_quality/mesh/area", "mesh",
    +        "a2", "e2", 333, 0,0,1, 0.5,0,0)
    +DeleteExpression("a2")
    +DeleteExpression("e2")
    +
    +TestOne(3, silo_data_path("multi_rect2d.silo"), "d", "mesh1", "d", "p", 500, 0.5,0.5,0, 1,45,45)
    +
    +
    +DefineArrayExpression("a3", "array_compose_with_bins(<mesh_quality/mesh/jacobian>,"
    +                            "<mesh_quality/mesh/area>, <mesh_quality/mesh/oddy>,  [0, 2, 4, 8])")
    +DefineArrayExpression("e3", "array_compose_with_bins(<mesh_quality/mesh/aspect>,"
    +                            "<mesh_quality/mesh/shape>, <mesh_quality/mesh/skew>, [0, 2, 4, 8])")
    +TestOne(4, data_path("KullLite_test_data/tagtest_rz_3.pdb"), "mesh_quality/mesh/area", "mesh",
    +        "a3", "e3", 333, 0,0,1, 0.5,0,0)
    +DeleteExpression("a3")
    +DeleteExpression("e3")
    +
    +
    +
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_kurtosis.html b/2023-11-08-22:00/pascal_trunk_serial/queries_kurtosis.html new file mode 100644 index 000000000..5cd64d37a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_kurtosis.html @@ -0,0 +1,60 @@ + +Results for queries/kurtosis.py + +

    Results of VisIt Regression Test - queries/kurtosis

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    kurtosis_010 modifications totalling 0 lines
    kurtosis_020 modifications totalling 0 lines
    kurtosis_030 modifications totalling 0 lines
    kurtosis_040 modifications totalling 0 lines
    kurtosis_050 modifications totalling 0 lines
    kurtosis_060 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_kurtosis_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_kurtosis_py.html new file mode 100644 index 000000000..a0897847c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_kurtosis_py.html @@ -0,0 +1,49 @@ +queries/kurtosis.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  kurtosis.py
    +#  Tests:      queries     - kurtosis and skewness
    +#
    +#  Defect ID:  VisIt00006466, '6269.
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 5, 2005
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +OpenDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +AddPlot("Curve", "Laplace Distribution")
    +DrawPlots()
    +
    +Query("Kurtosis")
    +text = GetQueryOutputString()
    +TestText("kurtosis_01", text)
    +
    +Query("Skewness")
    +text = GetQueryOutputString()
    +TestText("kurtosis_02", text)
    +
    +ChangeActivePlotsVar("Log Normal Distribution")
    +Query("Kurtosis")
    +text = GetQueryOutputString()
    +TestText("kurtosis_03", text)
    +
    +Query("Skewness")
    +text = GetQueryOutputString()
    +TestText("kurtosis_04", text)
    +
    +ChangeActivePlotsVar("Exponential Distribution")
    +Query("Kurtosis")
    +text = GetQueryOutputString()
    +TestText("kurtosis_05", text)
    +
    +Query("Skewness")
    +text = GetQueryOutputString()
    +TestText("kurtosis_06", text)
    +
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_l2norm.html b/2023-11-08-22:00/pascal_trunk_serial/queries_l2norm.html new file mode 100644 index 000000000..69707617d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_l2norm.html @@ -0,0 +1,56 @@ + +Results for queries/l2norm.py + +

    Results of VisIt Regression Test - queries/l2norm

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    l2norm_010 modifications totalling 0 lines
    l2norm_020 modifications totalling 0 lines
    l2norm_030 modifications totalling 0 lines
    l2norm_040 modifications totalling 0 lines
    l2norm_050 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_l2norm_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_l2norm_py.html new file mode 100644 index 000000000..25026fff9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_l2norm_py.html @@ -0,0 +1,107 @@ +queries/l2norm.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  l2norm.py
    +#  Tests:      queries     - l2norms of various curves
    +#
    +#  Defect ID:  VisIt00006077
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 15, 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +# Test that we can do an l2norm of a degenerate ultra file.
    +TurnOnAllAnnotations()
    +OpenDatabase(data_path("curve_test_data/degenerate.ultra"))
    +
    +AddPlot("Curve", "This is a degenerate ultra file.")
    +DrawPlots()
    +
    +Query("L2Norm")
    +text = GetQueryOutputString()
    +TestText("l2norm_01", text)
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +DefineScalarExpression("d_mod", "d+0.4*coord(quadmesh2d)[1]")
    +AddWindow()
    +SetActiveWindow(2)
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "d_mod")
    +DrawPlots()
    +
    +start_angle = 0
    +stop_angle = 90
    +
    +import math
    +nsteps = 10
    +center=(0,0)
    +radius = 1
    +step = (stop_angle-start_angle) / (nsteps-1)
    +rel_diff = []
    +for i in range(nsteps):
    +   angle = start_angle + i*step
    +   rad_angle = angle*2*math.pi/360.
    +   P2=(radius*math.cos(rad_angle), radius*math.sin(rad_angle))
    +   SetActiveWindow(1)
    +   time.sleep(1)
    +   Lineout(center, P2)
    +   SetActiveWindow(2)
    +   time.sleep(1)
    +   Lineout(center, P2)
    +   SetActiveWindow(3)
    +   SetActivePlots(0)
    +   Query("L2Norm")
    +   norm = GetQueryOutputValue()
    +   SetActivePlots((0,1))
    +   time.sleep(1)
    +   Query("L2Norm Between Curves")
    +   diff = GetQueryOutputValue()
    +   rel_diff = rel_diff + [1.-diff/norm]
    +   DeleteAllPlots()
    +
    +ave=0
    +for i in range(nsteps):
    +   ave += rel_diff[i]
    +ave /= nsteps
    +
    +text = "The average difference is %f" %(ave)
    +TestText("l2norm_02", text)
    +
    +min=1
    +max=0
    +for i in range(nsteps):
    +   if (rel_diff[i]<min):
    +       min=rel_diff[i]
    +   if (rel_diff[i]>max):
    +       max=rel_diff[i]
    +
    +
    +text = "The minimum relative difference is %f" %(min)
    +TestText("l2norm_03", text)
    +text = "The maximum relative difference is %f" %(max)
    +TestText("l2norm_04", text)
    +
    +
    +variance = 0
    +for i in range(nsteps):
    +   variance += (rel_diff[i]-ave)*(rel_diff[i]-ave)
    +variance /= (nsteps-1)
    +stddev = math.sqrt(variance)
    +
    +text = "The standard deviation of the relative difference is %f" %(stddev)
    +TestText("l2norm_05", text)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_length.html b/2023-11-08-22:00/pascal_trunk_serial/queries_length.html new file mode 100644 index 000000000..365f97a5a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_length.html @@ -0,0 +1,50 @@ + +Results for queries/length.py + +

    Results of VisIt Regression Test - queries/length

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    length_010 modifications totalling 0 lines
    length_020 modifications totalling 0 lines
    length_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_length_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_length_py.html new file mode 100644 index 000000000..d77c4db26 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_length_py.html @@ -0,0 +1,58 @@ +queries/length.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  length.py
    +#  Tests:      queries     - total length
    +#
    +#  Defect ID:  VisIt00007530
    +#
    +#  Programmer: Hank Childs
    +#  Date:       November 8, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Mon Nov 27 09:27:06 PST 2006
    +#    Forgot to remove annotations.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Test that we can do an l2norm of a degenerate ultra file.
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Contour", "u")
    +DrawPlots()
    +Query("Total Length")
    +text = GetQueryOutputString()
    +TestText("length_01", text)
    +
    +DeleteAllPlots()
    +OpenDatabase(data_path("curve_test_data/curve.visit"))
    +
    +AddPlot("Curve", "going_up")
    +DrawPlots()
    +
    +Query("Total Length")
    +text = GetQueryOutputString()
    +TestText("length_02", text)
    +
    +q = GetQueryOverTimeAttributes()
    +q.timeType = q.Timestep
    +SetQueryOverTimeAttributes(q)
    +QueryOverTime("Total Length")
    +SetActiveWindow(2)
    +TurnOffAllAnnotations()
    +c = CurveAttributes()
    +c.curveColorSource = c.Custom
    +c.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(c)
    +Test("length_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_line_scan.html b/2023-11-08-22:00/pascal_trunk_serial/queries_line_scan.html new file mode 100644 index 000000000..724f2d5d1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_line_scan.html @@ -0,0 +1,428 @@ + +Results for queries/line_scan.py + +

    Results of VisIt Regression Test - queries/line_scan

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ls_0_10.000.00
    ls_0_20 modifications totalling 0 lines
    ls_0_30 modifications totalling 0 lines
    ls_0_40.000.00
    ls_0_50 modifications totalling 0 lines
    ls_0_60 modifications totalling 0 lines
    ls_0_70.000.00
    ls_0_80 modifications totalling 0 lines
    ls_0_90 modifications totalling 0 lines
    ls_0_100.000.00
    ls_0_110 modifications totalling 0 lines
    ls_0_120 modifications totalling 0 lines
    ls_0_130.000.00
    ls_0_140 modifications totalling 0 lines
    ls_0_150 modifications totalling 0 lines
    ls_0_160.000.00
    ls_0_170 modifications totalling 0 lines
    ls_0_180 modifications totalling 0 lines
    ls_0_190.000.00
    ls_0_200 modifications totalling 0 lines
    ls_0_210 modifications totalling 0 lines
    ls_1_10.000.00
    ls_1_20 modifications totalling 0 lines
    ls_1_30 modifications totalling 0 lines
    ls_1_40.000.00
    ls_1_50 modifications totalling 0 lines
    ls_1_60 modifications totalling 0 lines
    ls_1_70.000.00
    ls_1_80 modifications totalling 0 lines
    ls_1_90 modifications totalling 0 lines
    ls_1_100.000.00
    ls_1_110 modifications totalling 0 lines
    ls_1_120 modifications totalling 0 lines
    ls_1_130.000.00
    ls_1_140 modifications totalling 0 lines
    ls_1_150 modifications totalling 0 lines
    ls_1_160.000.00
    ls_1_170 modifications totalling 0 lines
    ls_1_180 modifications totalling 0 lines
    ls_1_190.000.00
    ls_1_200 modifications totalling 0 lines
    ls_1_210 modifications totalling 0 lines
    ls_2_10.000.00
    ls_2_20 modifications totalling 0 lines
    ls_2_30 modifications totalling 0 lines
    ls_2_40.000.00
    ls_2_50 modifications totalling 0 lines
    ls_2_60 modifications totalling 0 lines
    ls_2_70.000.00
    ls_2_80 modifications totalling 0 lines
    ls_2_90 modifications totalling 0 lines
    ls_2_100.000.00
    ls_2_110 modifications totalling 0 lines
    ls_2_120 modifications totalling 0 lines
    ls_2_130.000.00
    ls_2_140 modifications totalling 0 lines
    ls_2_150 modifications totalling 0 lines
    ls_2_160.000.00
    ls_2_170 modifications totalling 0 lines
    ls_2_180 modifications totalling 0 lines
    ls_2_190.000.00
    ls_2_200 modifications totalling 0 lines
    ls_2_210 modifications totalling 0 lines
    ls_3_10.000.00
    ls_3_20 modifications totalling 0 lines
    ls_3_30 modifications totalling 0 lines
    ls_3_40.000.00
    ls_3_50 modifications totalling 0 lines
    ls_3_60 modifications totalling 0 lines
    ls_3_70.000.00
    ls_3_80 modifications totalling 0 lines
    ls_3_90 modifications totalling 0 lines
    ls_3_100.000.00
    ls_3_110 modifications totalling 0 lines
    ls_3_120 modifications totalling 0 lines
    ls_3_130.000.00
    ls_3_140 modifications totalling 0 lines
    ls_3_150 modifications totalling 0 lines
    ls_3_160.000.00
    ls_3_170 modifications totalling 0 lines
    ls_3_180 modifications totalling 0 lines
    ls_3_190.000.00
    ls_3_200 modifications totalling 0 lines
    ls_3_210 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_line_scan_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_line_scan_py.html new file mode 100644 index 000000000..17fa38ea8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_line_scan_py.html @@ -0,0 +1,203 @@ +queries/line_scan.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  line_scan.py
    +#  Tests:      queries     - mass distribution, chord length distribution
    +#
    +#  Defect ID:  '7474 + '7476
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 23, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Sun Aug 27 16:52:07 PDT 2006
    +#    Added testing for expected value, mass from boundary.
    +#
    +#    Dave Bremer, Fri Sep  8 11:44:22 PDT 2006
    +#    Added testing for the line scan transform.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Use named arguments.
    +#
    +#    Kathleen Biagas, Wed Feb 16 13:11:57 PST 2022
    +#    Replaced Curve atts 'cycleColors' with 'curveColorSource'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +
    +
    +ca=CurveAttributes()
    +ca.curveColorSource = ca.Custom
    +SetDefaultPlotOptions(ca)
    +
    +def TestOne(index, filename, varname, meshname, limit):
    +    # Because the queries we are testing output to the file system, we need to
    +    # delete previous outputs before running.  If we don't do this, then the
    +    # queries will output files to names that are continuously incrementing.
    +    list = os.listdir(".")
    +    for i in range(len(list)):
    +        if (list[i] == "cld_i0.ult"):
    +            os.unlink("cld_i0.ult")
    +        if (list[i] == "cld_a0.ult"):
    +            os.unlink("cld_a0.ult")
    +        if (list[i] == "rld_i0.ult"):
    +            os.unlink("rld_i0.ult")
    +        if (list[i] == "rld_a0.ult"):
    +            os.unlink("rld_a0.ult")
    +        if (list[i] == "md0.ult"):
    +            os.unlink("md0.ult")
    +        if (list[i] == "dfb0.ult"):
    +            os.unlink("dfb0.ult")
    +        if (list[i] == "lst0.ult"):
    +            os.unlink("lst0.ult")
    +
    +    # Set up a purely 2D data set...
    +    randname = "rand%d" %(index)
    +    defn = "rand(%s)" %(meshname)
    +    DefineScalarExpression(randname, defn)
    +    OpenDatabase(filename)
    +    AddPlot("Pseudocolor", varname)
    +    AddOperator("Isovolume")
    +    iso_atts = IsovolumeAttributes()
    +    iso_atts.ubound = 0.3
    +    iso_atts.variable = randname
    +    SetOperatorOptions(iso_atts)
    +    DrawPlots()
    +
    +    # Do the queries...
    +    Query("Chord Length Distribution - individual", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Chord Length Distribution - aggregate", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Ray Length Distribution - individual", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Ray Length Distribution - aggregate", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Mass Distribution", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Distance From Boundary", num_lines=15000, num_bins=100, min=0, max=limit)
    +    Query("Line Scan Transform", num_lines=15000, num_bins=100, min=0, max=limit)
    +    DeleteAllPlots()
    +
    +    # Now test the outputs
    +    OpenDatabase("cld_i0.ult")
    +    ReOpenDatabase("cld_i0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Chord length distribution - individual")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "ls_%d_%d" %(index,1)
    +    Test(test1)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test2 = "ls_%d_%d" %(index,2)
    +    TestText(test2, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test3 = "ls_%d_%d" %(index,3)
    +    TestText(test3, text)
    +    DeleteAllPlots()
    +    OpenDatabase("md0.ult")
    +    ReOpenDatabase("md0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Mass distribution")
    +    DrawPlots()
    +    ResetView()
    +    test4 = "ls_%d_%d" %(index,4)
    +    Test(test4)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test5 = "ls_%d_%d" %(index,5)
    +    TestText(test5, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test6 = "ls_%d_%d" %(index,6)
    +    TestText(test6, text)
    +    DeleteAllPlots()
    +    OpenDatabase("dfb0.ult")
    +    ReOpenDatabase("dfb0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Mass distribution")
    +    DrawPlots()
    +    ResetView()
    +    test7 = "ls_%d_%d" %(index,7)
    +    Test(test7)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test8 = "ls_%d_%d" %(index,8)
    +    TestText(test8, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test9 = "ls_%d_%d" %(index,9)
    +    TestText(test9, text)
    +    DeleteAllPlots()
    +    OpenDatabase("cld_a0.ult")
    +    ReOpenDatabase("cld_a0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Chord length distribution - aggregate")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "ls_%d_%d" %(index,10)
    +    Test(test1)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test2 = "ls_%d_%d" %(index,11)
    +    TestText(test2, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test3 = "ls_%d_%d" %(index,12)
    +    TestText(test3, text)
    +    DeleteAllPlots()
    +    OpenDatabase("rld_i0.ult")
    +    ReOpenDatabase("rld_i0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Ray length distribution - individual")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "ls_%d_%d" %(index,13)
    +    Test(test1)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test2 = "ls_%d_%d" %(index,14)
    +    TestText(test2, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test3 = "ls_%d_%d" %(index,15)
    +    TestText(test3, text)
    +    DeleteAllPlots()
    +    OpenDatabase("rld_a0.ult")
    +    ReOpenDatabase("rld_a0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Ray length distribution - aggregate")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "ls_%d_%d" %(index,16)
    +    Test(test1)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test2 = "ls_%d_%d" %(index,17)
    +    TestText(test2, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test3 = "ls_%d_%d" %(index,18)
    +    TestText(test3, text)
    +    DeleteAllPlots()
    +    OpenDatabase("lst0.ult")
    +    ReOpenDatabase("lst0.ult")  # Flush out cached version
    +    AddPlot("Curve", "Line Scan Transform")
    +    DrawPlots()
    +    ResetView()
    +    test1 = "ls_%d_%d" %(index,19)
    +    Test(test1)
    +    Query("Integrate")
    +    text = GetQueryOutputString()
    +    test2 = "ls_%d_%d" %(index,20)
    +    TestText(test2, text)
    +    Query("Expected Value")
    +    text = GetQueryOutputString()
    +    test3 = "ls_%d_%d" %(index,21)
    +    TestText(test3, text)
    +    DeleteAllPlots()
    +
    +
    +TestOne(0, silo_data_path("rect2d.silo") , "d", "quadmesh2d", 0.5)
    +TestOne(1, silo_data_path("multi_rect2d.silo") , "d", "mesh1", 0.5)
    +TestOne(2, data_path("KullLite_test_data/T.pdb"), "mesh_quality/volume", "mesh", 0.2)
    +TestOne(3, data_path("KullLite_test_data/tagtest_rz_3.pdb"), "mesh_quality/mesh/area", "mesh", 4.0)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_pick.html b/2023-11-08-22:00/pascal_trunk_serial/queries_pick.html new file mode 100644 index 000000000..d092f3d48 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_pick.html @@ -0,0 +1,284 @@ + +Results for queries/pick.py + +

    Results of VisIt Regression Test - queries/pick

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Pick3DTo2D10 modifications totalling 143 lines
    Pick2D1 modifications totalling 100 lines
    PickOnionPeel0 modifications totalling 0 lines
    PickSubset0 modifications totalling 0 lines
    PickMatFracsThreshold0 modifications totalling 0 lines
    PickReflect0 modifications totalling 0 lines
    PickFilledBoundary0 modifications totalling 0 lines
    PickMultiBlock0 modifications totalling 0 lines
    PickSurface0 modifications totalling 0 lines
    PickBigSilMat0 modifications totalling 0 lines
    PickOnionPeel20 modifications totalling 0 lines
    PickSpecMix0 modifications totalling 0 lines
    PickCurve0 modifications totalling 0 lines
    PickMultiWindow0 modifications totalling 0 lines
    PickAfterEngineClose0 modifications totalling 0 lines
    PickAfterEngineCrash0 modifications totalling 0 lines
    PickBoundary0 modifications totalling 0 lines
    PickVectorPlot0 modifications totalling 0 lines
    PickPointMeshes0 modifications totalling 0 lines
    PickGlobalIds0 modifications totalling 0 lines
    PickExpressions0 modifications totalling 0 lines
    PickAMR15 modifications totalling 113 lines
    PickSamrai_0116 modifications totalling 180 lines
    PickSamrai_020 modifications totalling 0 lines
    PickSamrai_030 modifications totalling 0 lines
    PickSamrai_040 modifications totalling 0 lines
    PickSamrai_056 modifications totalling 95 lines
    PickIndexSelect13 modifications totalling 124 lines
    PickTensors0 modifications totalling 0 lines
    PickMili0 modifications totalling 0 lines
    PickContour0 modifications totalling 0 lines
    PickBox5 modifications totalling 61 lines
    PickScatter0 modifications totalling 0 lines
    PickHighlight_010.000.00
    GlobalHighlight_000.000.00
    PickHighlightColor_010.000.00
    PickRange_010.000.00
    RemovePicks_010.000.00
    RemovePicks_020.000.00
    Removed expected picks
     "A, C, D" .eq. "A, C, D" : True
    RemovePicks_030.000.00
    RemovePicks_040.000.00
    Removed expected picks 2
     "E" .eq. "E" : True
    RemoveLabeledPicks_000.000.00
    RemoveLabeledPicks_010.000.00
    Removed expected shell
     "shell 1, shell 2" .eq. "shell 1, shell 2" : True
    PickLines3D0 modifications totalling 0 lines
    PickByZoneLabel0 modifications totalling 0 lines
    PickByNodeLabel0 modifications totalling 0 lines
    PickRangeByZoneLabel0 modifications totalling 0 lines
    SwivelFocus_000.000.00
    SwivelHighlight_000.000.00
    NodeHighlight_000.000.00
    TranslatedHighlight_000.000.00
    TestPickingExpression_000 modifications totalling 0 lines
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_pickNamedArgs.html b/2023-11-08-22:00/pascal_trunk_serial/queries_pickNamedArgs.html new file mode 100644 index 000000000..d0a57f10b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_pickNamedArgs.html @@ -0,0 +1,74 @@ + +Results for queries/pickNamedArgs.py + +

    Results of VisIt Regression Test - queries/pickNamedArgs

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    TimePick_NamedArgs_000.000.00
    TimePick_NamedArgs_010.000.00
    TimePick_NamedArgs_020.000.00
    TimePick_NamedArgs_030.000.00
    TimePick_NamedArgs_040.000.00
    Pick_UsingQueryResults0 modifications totalling 0 lines
    Pick_ByGlobalElement0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_pickNamedArgs_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_pickNamedArgs_py.html new file mode 100644 index 000000000..4261293fd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_pickNamedArgs_py.html @@ -0,0 +1,227 @@ +queries/pickNamedArgs.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pickNamedArgs.py #
    +#  Tests:      queries     - Pick using named-arguments
    +#                            Pick using query results as arguments
    +#
    +#  Defect ID:  1781
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       July 11, 2014 
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Jul 22 11:51:27 MST 2014
    +#    Added Pick_ByGlobalId.
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ---------------------------------------------------------------------------- 
    +
    +def TimePick():
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    # to demonstrate the effect of changing time options, use timestep for x axis.
    +    q = GetQueryOverTimeAttributes()
    +    q.timeType = q.Timestep
    +    SetQueryOverTimeAttributes(q)
    +
    +    # Controlling which time steps are queried, showing defaults used
    +    #     stride     => int    default: 1
    +    #     start_time => int    default: 0 (min time index)
    +    #     end_time   => int    default: max time index, as determined from DB
    +
    +    # Controlling the plot type when multiple vars are queried
    +    #     curve_plot_type: 0 (Single Y Axis), or  1 (Multiple Y Axes) default: 0
    +
    +    # Which is used for subsequent timesteps, the coordinate or the element?
    +    #     preserve_coord:  0 (use the element)  or 1 (use the coordinate)
    +
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (255, 0, 0, 255)
    +    SetDefaultPlotOptions(c)
    +
    +    vars =("pressure", "v", "direction_magnitude")
    +    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=0)
    +    SetActiveWindow(2);
    +    Test("TimePick_NamedArgs_00")
    +    DeleteAllPlots()
    +
    +    c.curveColor = (0, 255, 0, 255)
    +    SetDefaultPlotOptions(c)
    +
    +    SetActiveWindow(1)
    +    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=0,start_time=15, end_time=50, stride=7)
    +    SetActiveWindow(2);
    +    Test("TimePick_NamedArgs_01")
    +    DeleteAllPlots()
    +
    +    c.curveColor = (0, 0, 255, 255)
    +    SetDefaultPlotOptions(c)
    +    SetActiveWindow(1)
    +
    +    # different way for specifying time options, result should be same as previopus:
    +    time_opt = {'stride':7, 'start_time': 15, 'end_time':50}
    +    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0, time_options=time_opt)
    +    SetActiveWindow(2);
    +    Test("TimePick_NamedArgs_02")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=1)
    +    SetActiveWindow(2);
    +    Test("TimePick_NamedArgs_03")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1);
    +    PickByNode(element=8837, vars=vars, do_time=1, preserve_coord=0,curve_plot_type=1,stride=10)
    +    SetActiveWindow(2);
    +    Test("TimePick_NamedArgs_04")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("wave.visit"))
    +
    +def PickUsingQueryResults():
    +    ResetPickLetter()
    +    OpenDatabase(silo_data_path("wave.visit"))
    +    AddPlot("FilledBoundary", "Material")
    +    SetTimeSliderState(31)
    +    DrawPlots()
    +
    +    # Make it easier to get coordinate values
    +    SetQueryOutputToValue()
    +    s = "Pick using results of Node Coords query:\n"
    +
    +    node_8837_coords = Query("Node Coords", element=8837)
    +
    +    # Now test that NodePick using those coords will return the correct node id
    +    # Utilizes named args: coord (a tuple containing spatial coordinates)
    +
    +    pick_out = NodePick(coord=node_8837_coords)
    +    if pick_out['node_id'] == 8837:
    +        s = s + "    NodePick with coordinate succeeded.\n"
    +    else:
    +        s = s + "    NodePick with coordinate failed to return correct node id.\n"
    +
    +
    +    s = "Pick using results of Zone Center query:\n"
    +    # select a zone that is incident to node 8837
    +    adjacent_zone = pick_out['incident_zones'][0]
    +    # Get it's coords and try a pick
    +    adjacent_zone_coords = Query("Zone Center", element=adjacent_zone)
    +    pick_out = ZonePick(coord=adjacent_zone_coords)
    +    if pick_out['zone_id'] == adjacent_zone:
    +        s = s + "    ZonePick with coordinate succeeded.\n"
    +    else:
    +        s = s + "    ZonePick with coordinate failed to return correct node id\n"
    +
    +    # Now, does Pick report that our original node id is incident to the picked zone?
    +    if 8837 in pick_out['incident_nodes']:
    +        s = s + "    ZonePick correctly reported incident node\n"
    +    else:
    +        s = s + "    ZonePick failed to correctly report incident node\n"
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("wave.visit"))
    +
    +
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +    # d is zonal quantity, so picks will be by-zone
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    # Change query output type for parse-ability of MinMax results
    +    SetQueryOutputToObject()
    +
    +    # Do a MinMax query, and use the results to drive a pick.
    +    res = Query("MinMax")
    +    s = s + "\nQuery for MinMax of 'd': \n" + GetQueryOutputString()
    +
    +    s = s + "Pick using results of MinMax Query:\n\n"
    +
    +    # Pick using MinMax results
    +    # Utilizes named args: 
    +    #     domain (an integer), 
    +    #     element (an integer representing node id or zone id depending on the type of Pick)
    +    pick_out = PickByZone(domain=res['min_domain'], element=res['min_element_num'])
    +    s = s + "Pick for zone at 'd' minimum: \n" + GetPickOutput()
    +    pick_out = PickByZone(domain=res['max_domain'], element=res['max_element_num'])
    +    s = s + "Pick for zone at 'd' maximum: \n" + GetPickOutput()
    +    TestText("Pick_UsingQueryResults", s)
    +    ResetPickLetter()
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +
    +
    +def doGlobalPicks(centering):
    +    s = "Global node pick on %s_centered data:\n\n" %centering
    +    d = PickByGlobalNode(element=246827)
    +    # use json.dumps for dictionary object, makes for easier parsing
    +    # of diffs when there are errors
    +    s = s + "dictionary output:\n" + json.dumps(d,indent=2) + "\n\n"
    +    s = s + "string output: " + GetPickOutput() + "\n\n"
    +
    +    s = s + "\nGlobal zone pick on %s_centered data:\n\n" %centering
    +    d = PickByGlobalZone(element=237394)
    +    s = s + "dictionary output:\n" + json.dumps(d,indent=2) + "\n\n"
    +    s = s + "string output: " + GetPickOutput() + "\n\n"
    +
    +    return s
    +
    +def PickByGlobalElement():
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +    ResetView()
    +    p = GetPickAttributes()
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +
    +    s = "NOT SHOWING GLOBAL IDS\n\n"
    +    s = s + doGlobalPicks("node")
    +
    +    #  Repeat, showing global ids
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    s = s + "SHOWING GLOBAL IDS\n\n"
    +    s = s + doGlobalPicks("node")
    +
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +
    +    # now use a zone-centered var
    +    ChangeActivePlotsVar("p")
    +
    +    s = s + "NOT SHOWING GLOBAL IDS\n\n"
    +    s = s + doGlobalPicks("zone")
    +
    +    #  Repeat, showing global ids
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    s = s + "SHOWING GLOBAL IDS\n\n"
    +    s = s + doGlobalPicks("zone")
    +
    +    TestText("Pick_ByGlobalElement", s)
    +    # cleanup
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +TimePick()
    +PickUsingQueryResults()
    +PickByGlobalElement()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_pick_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_pick_py.html new file mode 100644 index 000000000..75b568b52 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_pick_py.html @@ -0,0 +1,3268 @@ +queries/pick.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pick.py #
    +#  Tests:      queries     - Pick
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Bonnell
    +#  Date:       May 13, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Fri Jun 27 16:03:57 PDT 2003
    +#    Modified PickFilledBoundary (removed MeshPlot) so that test is preformed
    +#    on FilledBoundaryPlot and not MeshPlot.
    +#
    +#    Kathleen Bonnell, Tue Jul  8 21:17:17 PDT 2003
    +#    Modified PickFilledBoundary to use flip of slice so that it still works
    +#    with recent slice changes.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from Subset and FilledBoundary plots.
    +#
    +#    Kathleen Bonnell, Wed Sep 10 11:36:32 PDT 2003
    +#    Added test for multi-block meshes.
    +#
    +#    Kathleen Bonnell, Fri Oct 10 17:43:46 PDT 2003
    +#    Added test for surface plots.
    +#
    +#    Kathleen Bonnell, Fri Oct 24 16:09:33 PDT 2003
    +#    Added test for PC of BigSil, and pickvar = material.
    +#
    +#    Kathleen Bonnell, Wed Nov  5 14:30:35 PST 2003
    +#    Per VisIt000033891, add another onion peel test, where there is only
    +#    1 cell, and window is set to use Actual extents.
    +#
    +#    Kathleen Bonnell, Thu Nov 13 12:07:20 PST 2003
    +#    Use SetOperatorOptions instead of SetDefaultOperatorOption in OnionPeel, so
    +#    that OnionPeel2 will work correctly.  Added vars to OnionPeel2.
    +#
    +#    Kathleen Bonnell, Tue Nov 18 17:23:43 PST 2003
    +#    Added use of PickAtts' useNodeCoords, logicalCoords and logicalZone for
    +#    a few tests.
    +#
    +#    Kathleen Bonnell, Thu Nov 20 16:29:45 PST 2003
    +#    Added PicSpecMix tests, for species vars, (VisIt '3864).
    +#    Added a 'vel' only test to PickMatFracsThreshold (VisIt '4103).
    +#
    +#    Kathleen Bonnell, Wed Nov 26 11:26:04 PST 2003
    +#    Added calls to ResetPickLetter after each test, so that each test's
    +#    pick letter starts out with 'A'.  This will prevent the necessity of
    +#    updating all pick baselines when modifications are made to only one test.
    +#    Added tests for new pick methods: PickByZone, PickByNode. ('4123)
    +#
    +#    Kathleen Bonnell, Wed Dec  3 07:51:52 PST 2003
    +#    Added PickCurve tests, for curve plots. (VisIt '3832).
    +#
    +#    Kathleen Bonnell, Mon Mar  8 15:47:52 PST 2004
    +#    Added more tests  to TestSpecMix, to verify that we get same results
    +#    regardless of whether 'species' is the active variable, or some other
    +#    scalar is the active variale.
    +#
    +#    Kathleen Bonnell, Tue Mar 16 16:26:17 PST 2004
    +#    Added bad variables and expression variable tests to PickMultiBlock,
    +#    from bug '4571.
    +#
    +#    Kathleen Bonnell, Thu Apr  1 09:21:22 PST 2004
    +#    Added  a "Variable by Zone" and "Variable by Node" Query to PickSpecMix
    +#    in order to test that these queries return the same values as their
    +#    Pick counterparts.
    +#
    +#    Kathleen Bonnell, Tue Apr 20 09:42:30 PDT 2004
    +#    Added PickMultiWindow.
    +#
    +#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004
    +#    Slice defaults atts have changed, update accordingly.
    +#
    +#    Brad Whitlock, Mon May 3 15:31:40 PST 2004
    +#    I added a couple of tests that test how pick works if an engine is closed
    +#    or if one crashes.
    +#
    +#    Kathleen Bonnell, Tue May  4 14:35:08 PDT 2004
    +#    Changed a couple of screen coordinates for PickBigSilMat that were
    +#    invalid.
    +#
    +#    Kathleen Bonnell, Wed Jun  2 10:14:58 PDT 2004
    +#    Added tests to Pick2D to tests PickByNode and PickByZone on a dataset
    +#    with ghost zones.  Added test to PickSurface, tests various flavors
    +#    of pick to see if they are returning the same info for the same input.
    +#
    +#    Kathleen Bonnell, Thu Jul  8 16:30:07 PDT 2004
    +#    Added  PickedBoundary, to test picking on 2D Boundary plots and
    +#    3D Sliced-to-2D Boundary plots with unstructured, rectilinear and
    +#    curvilinear data.
    +#
    +#    Jeremy Meredith, Wed Jul 21 08:59:24 PDT 2004
    +#    Making print output go to stderr.
    +#
    +#    Kathleen Bonnell, Thu Jul 22 08:35:45 PDT 2004
    +#    Added test of data designated as 'ascii' to Pick2D (using rect2d).
    +#
    +#    Kathleen Bonnell, Wed Aug 11 09:04:56 PDT 2004
    +#    Added to Pick3DTo2D, a test of data sliced along boundary between zones,
    +#    to verify that picking with all materials ON returns same results as
    +#    with some materials OFF. ('5279)
    +#
    +#    Brad Whitlock, Wed Aug 25 12:30:45 PDT 2004
    +#    Added TurnMaterialsOn to PickMultiBlock since it was remembering the
    +#    material selection for mulit_rect3d.silo from an earlier pick test.
    +#
    +#    Kathleen Bonnell, Wed Sep  8 09:36:30 PDT 2004
    +#    Renamed 'WorldPick' to 'Pick' and 'WorldNodePick' to 'NodePick'.
    +#
    +#    Kathleen Bonnell, Fri Oct 22 16:11:41 PDT 2004
    +#    Added PickVectorPlots.
    +#
    +#    Kathleen Bonnell, Tue Nov  2 10:16:36 PST 2004
    +#    Added PickPointMeshes.
    +#
    +#    Kathleen Bonnell, Wed Dec 15 15:38:41 PST 2004
    +#    Added PickGlobalIds.
    +#
    +#    Kathleen Bonnell, Thu Dec 16 17:16:33 PST 2004
    +#    Added PickByNode and PickByZone to PickGlobalIds.
    +#
    +#    Kathleen Bonnell, Mon Dec 20 10:49:59 PST 2004
    +#    Removed  "Variable by Zone" and "Variable by Node" Query from PickSpecMix
    +#    as they are no longer supported.
    +#
    +#    Kathleen Bonnell, Thu Feb  3 09:27:22 PST 2005
    +#    Added PickExpressions, testing matvf and mirvf per '5799.
    +#
    +#    Kathleen Bonnell, Tue Mar  1 13:11:31 PST 2005
    +#    Added couple more tests to PickExpressions, testing Expression that
    +#    has not been plotted, per '5418.
    +#
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Kathleen Bonnell, Wed May 11 18:04:12 PDT 2005
    +#    Per ticket '6097, added tests to 'PickGlobalIds' to ensure global ids
    +#    returned correctly for global zone/node picks.
    +#
    +#    Kathleen Bonnell, Mon May 23 13:41:50 PDT 2005
    +#    Per ticket '6217, added tests to 'PickFilledBoundary' to ensure node
    +#    pick of sliced FB plot returns correct coords.
    +#
    +#    Kathleen Bonnell, Fri Jun 10 14:38:27 PDT 2005
    +#    Per ticket '6296 -- added tests to PickVectorPlots to ensure that
    +#    pick of vector expression won't causes crash
    +#
    +#    Kathleen Bonnell, Thu Jun 30 15:39:03 PDT 2005
    +#    Added tests for AMR data.
    +#
    +#    Kathleen Bonnell, Fri Jul  8 14:12:03 PDT 2005
    +#    Added more tests for AMR data: PickSamrai.
    +#
    +#    Kathleen Bonnell, Wed Aug 10 17:12:50 PDT 2005
    +#    Added PickIndexSelect.
    +#
    +#    Kathleen Bonnell, Tue Aug 30 15:19:34 PDT 2005
    +#    Added PickTensors.  '6410
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Kathleen Bonnell, Tue May  2 08:38:28 PDT 2006
    +#    Added PickMili ('7144, '7145).
    +#
    +#    Kathleen Bonnell, Tue Aug 29 09:34:17 PDT 2006
    +#    Added Pickcontour ('7220).
    +#
    +#    Kathleen Bonnell, Thu Oct 26 14:24:45 PDT 2006
    +#    Added PickBox ('7566).
    +#
    +#    Jeremy Meredith, Mon Jul 14 11:17:29 EDT 2008
    +#    Allow the sliced vector plot to show all vectors (even ones not from
    +#    from original cells/nodes) to match the old behavior.
    +#
    +#    Kathleen Bonnell, Wed Jul 15 10:22:54 PDT 2009
    +#    Changed some zone picks to Node picks for PickPointMeshes, should yield
    +#    same results.  Added Subset plot test for PickPointMeshes.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Wed Mar  7 19:33:48 PST 2012
    +#    'displayXXX' attributes have been changed to 'showXXX'.
    +#
    +#    Kathleen Biagas, Thu Mar  8 13:52:37 PST 2012
    +#    Added test for picking scatter plots.
    +#
    +#    Matt Larsen, Mon Sep 19 10:20:11 PDT 2016
    +#    Added a test for zone pick highlighting
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    For PickSubset, change plot var to 'domains' as Subset plots shouldn't
    +#    work for materials.  Change pick var to 'mat1' to preserve baselines.
    +#
    +#    Matt Larsen, Wed Sep 6 16:23:12 PST 2017
    +#    Adding tests for pick by label for mili files.
    +#
    +#    Alister Maguire, Tue Sep 26 14:23:09 PDT 2017
    +#    Added test for pick highlight color.
    +#
    +#    Alister Maguire, Mon Oct 23 10:34:28 PDT 2017
    +#    Added tests for removing a list of picks.
    +#
    +#    Alister Maguire, Mon Oct 30 15:54:30 PDT 2017
    +#    Added test for removing a list of labeled picks.
    +#
    +#    Matt Larsen, Wed Feb 28 08:24:31 PDT 2018
    +#    Turning off all anotations for pick highlight tests
    +#
    +#    Alister Maguire, Thu Aug 16 10:18:56 PDT 2018
    +#    Added a test for swivel highlight.
    +#
    +#    Alister Maguire, Mon Aug 20 12:45:25 PDT 2018
    +#    Added a test for node highlight.
    +#
    +#    Alister Maguire, Tue May 21 13:10:05 PDT 2019
    +#    Updated tests that use mili to adhere to the plugin changes.
    +#
    +#    Alister Maguire, Thu Sep 12 15:54:36 PDT 2019
    +#    Add test for highlighting a zone picked by global id.
    +#
    +#    Alister Maguire, Thu Jan  2 15:16:53 PST 2020
    +#    Added test for translated zone highlights.
    +#
    +#    Mark C. Miller, Mon Jan 11 10:38:03 PST 2021
    +#    Replace Assert-style with TestValue-style tests
    +#
    +#    Alister Maguire, Fri Jul 16 07:27:44 PDT 2021
    +#    Added a test for Picking an expression variable.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +from __future__ import print_function
    +
    +
    +RequiredDatabasePlugin(("Boxlib2D","SAMRAI","Mili"))
    +defaultAtts = GetPickAttributes()
    +
    +def Pick3DTo2D():
    +    # Testing pick on 3d plots projected to 2d via Slice and Cone operators
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.SetOriginPoint(0, 0, 0)
    +    slice.SetNormal(1, 0, 0)
    +    slice.SetUpAxis(0, 1, 0)
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    # Create the variable list.
    +    vars = ("default")
    +
    +    # Do some picks.
    +    Pick(128, 107, vars)
    +    s = GetPickOutput()
    +    Pick(200, 207, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick methods
    +    PickByZone(554, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(945, vars)
    +    s = s + GetPickOutput()
    +
    +    # Turn off some materials, and verify we get
    +    #  same results
    +    TurnMaterialsOff("1")
    +    Pick(128, 107, vars)
    +    s = s + GetPickOutput()
    +    Pick(200, 207, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(554, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(945, vars)
    +    s = s + GetPickOutput()
    +
    +    TurnMaterialsOn("1")
    +    RemoveLastOperator()
    +
    +    AddOperator("Cone")
    +    DrawPlots()
    +    ResetView()
    +    Pick(165, 170, vars)
    +    s  = s + GetPickOutput()
    +    Pick(137, 100, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new Pick methods.
    +    PickByZone(503, vars)
    +    s  = s + GetPickOutput()
    +    PickByZone(596, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    # VisIt00005279
    +    #  When sliced along boundary between zones,
    +    #  pick with all materials returns different output than
    +    #  pick with some materials turned off.
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.axisType = slice.XAxis
    +    #set the slice plane on a boundary between zones
    +    slice.originIntercept = 0.2
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    s = s + "\nPick with all materials turned on:\n"
    +    Pick(80, 60)
    +    s = s + GetPickOutput()
    +    PickByZone(226, 1)
    +    s = s + GetPickOutput()
    +    Pick(185, 160)
    +    s = s + GetPickOutput()
    +    PickByZone(606, 19)
    +    s = s + GetPickOutput()
    +    NodePick(80, 60)
    +    s = s + GetPickOutput()
    +    PickByNode(402, 1)
    +    s = s + GetPickOutput()
    +    NodePick(185, 160)
    +    s = s + GetPickOutput()
    +    PickByNode(853, 19)
    +    s = s + GetPickOutput()
    +    TurnMaterialsOff("2")
    +    s = s + "\nPick with material 2 turned off:\n"
    +    Pick(80, 60)
    +    s = s + GetPickOutput()
    +    PickByZone(226, 1)
    +    s = s + GetPickOutput()
    +    Pick(185, 160)
    +    s = s + GetPickOutput()
    +    PickByZone(606, 19)
    +    s = s + GetPickOutput()
    +    NodePick(80, 60)
    +    s = s + GetPickOutput()
    +    PickByNode(402, 1)
    +    s = s + GetPickOutput()
    +    NodePick(185, 160)
    +    s = s + GetPickOutput()
    +    PickByNode(853, 19)
    +    s = s + GetPickOutput()
    +    TurnMaterialsOn("2")
    +    TestText("Pick3DTo2D", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def Pick2D():
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    ResetView()
    +    vars = ("d", "p", "u")
    +    Pick(170, 65, vars)
    +    s = GetPickOutput()
    +    Pick(140, 161, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick method
    +    PickByZone(5, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(4, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    # Test PickByZone and PickByNode on data with ghost zones.
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    ResetView()
    +
    +    v = GetView2D()
    +    v.windowCoords = (-0.70073, 0.9927, 1.75365, 2.63085)
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    SetView2D(v)
    +
    +    vars = ("default")
    +    Pick(177, 90, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(13)
    +    s = s + GetPickOutput()
    +    NodePick(177, 90, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(13)
    +    s = s + GetPickOutput()
    +
    +    ResetView()
    +
    +    Pick(164, 136)
    +    s = s + GetPickOutput()
    +    PickByZone(716)
    +    s = s + GetPickOutput()
    +
    +    NodePick(164, 136)
    +    s = s + GetPickOutput()
    +    PickByNode(744)
    +    s = s + GetPickOutput()
    +
    +    Pick(113, 84)
    +    s = s + GetPickOutput()
    +    PickByZone(360)
    +    s = s + GetPickOutput()
    +
    +    NodePick(113, 84)
    +    s = s + GetPickOutput()
    +    PickByNode(374)
    +    s = s + GetPickOutput()
    +
    +    Pick(218, 65)
    +    s = s + GetPickOutput()
    +    PickByZone(81)
    +    s = s + GetPickOutput()
    +
    +    NodePick(218, 65)
    +    s = s + GetPickOutput()
    +    PickByNode(85)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    # bug '5152, ascii data not reported as such.
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "ascii")
    +    DrawPlots()
    +
    +    ResetView()
    +
    +    Pick(104, 224)
    +    s = s + GetPickOutput()
    +    Pick(155, 140)
    +    s = s + GetPickOutput()
    +    Pick(234, 278)
    +    s = s + GetPickOutput()
    +    Pick(151, 266)
    +    s = s + GetPickOutput()
    +    Pick(187, 106)
    +    s = s + GetPickOutput()
    +
    +    NodePick(104, 224)
    +    s = s + GetPickOutput()
    +    NodePick(155, 140)
    +    s = s + GetPickOutput()
    +    NodePick(234, 278)
    +    s = s + GetPickOutput()
    +    NodePick(151, 266)
    +    s = s + GetPickOutput()
    +    NodePick(187, 106)
    +    s = s + GetPickOutput()
    +
    +    TestText("Pick2D", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickOnionPeel():
    +    # Testing pick on 3d plots with OnionPeel operator
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("OnionPeel")
    +    op = OnionPeelAttributes()
    +    op.adjacencyType = 0
    +    op.categoryName = "domains"
    +    op.subsetName = "domain4"
    +    op.index = 15
    +    op.requestedLayer = 0
    +    SetOperatorOptions(op)
    +
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0.0199972, -0.0176736, 0.999644)
    +    v.focus = (1.05702, 2.19945, 3.66667)
    +    v.viewUp = (-0.0156863, 0.999715, 0.0179886)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.794807
    +    v.nearPlane = -7.9865
    +    v.farPlane = 7.9865
    +    v.perspective = 0
    +    SetView3D(v)
    +
    +    #From defect VisIt00002762, pick shouldn't report repeated vars
    +    vars = ("default", "d", "p", "u", "p", "v")
    +    pa = GetPickAttributes()
    +    pa.showNodePhysicalCoords = 1
    +    SetPickAttributes(pa)
    +    Pick(271, 64, vars)
    +    s = GetPickOutput()
    +    Pick(282, 53, vars)
    +    s = s + GetPickOutput()
    +
    +    PickByZone(15, 4, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickOnionPeel", s)
    +    pa.showNodePhysicalCoords = 0
    +    SetPickAttributes(pa)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickSubset():
    +    #Testing Pick's accuracy on a sil-restricted plot.
    +    #All the picks in this test should return zone 30.
    +    #From defect VisIt00003348
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Subset", "domains")
    +    TurnMaterialsOff()
    +    TurnMaterialsOn("1")
    +
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.997376, 0.0429928, 0.058241)
    +    v.focus = (-0.0906961, 0.0532744, -1.5925)
    +    v.viewUp = (0.0448435, 0.998518, 0.0308499)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.598088
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.perspective = 0
    +    SetView3D(v)
    +
    +    vars = ("mat1")
    +    Pick(173, 111, vars)
    +    s = GetPickOutput()
    +    Pick(191, 116, vars)
    +    s = s + GetPickOutput()
    +    Pick(294, 125, vars)
    +    s = s + GetPickOutput()
    +    Pick(156, 128, vars)
    +    s = s + GetPickOutput()
    +    Pick(147, 112, vars)
    +    s = s + GetPickOutput()
    +    TestText("PickSubset", s)
    +    TurnMaterialsOn()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +
    +def PickMatFracsThreshold():
    +    # Testing pick on 3d plot with Threshold operator, returning
    +    # material var (mat fracs) and vector var.
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Pseudocolor", "p")
    +    thresh = ThresholdAttributes()
    +    thresh.upperBounds = (37.0)
    +    thresh.lowerBounds = (10.0)
    +    SetDefaultOperatorOptions(thresh)
    +    AddOperator("Threshold")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.181485
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.perspective = 0
    +    SetView3D(v)
    +
    +    pa = GetPickAttributes()
    +    pa.showNodeDomainLogicalCoords = 1
    +    pa.showZoneDomainLogicalCoords = 1
    +    SetPickAttributes(pa)
    +    vars = ("mat1", "vel")
    +    Pick(151, 172, vars)
    +    s = GetPickOutput()
    +    Pick(211, 185, vars)
    +    s = s + GetPickOutput()
    +    Pick(78, 153, vars)
    +    s = s + GetPickOutput()
    +    Pick(150, 124, vars)
    +    s = s + GetPickOutput()
    +
    +    #Test new pick method
    +    PickByZone(21045, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(18647, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(19812, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(20954, vars)
    +    s = s + GetPickOutput()
    +
    +    pa.showNodeDomainLogicalCoords = 0
    +    pa.showZoneDomainLogicalCoords = 0
    +    SetPickAttributes(pa)
    +
    +    # Add a few with only vel as the var
    +    # From bug: VisIt00004103
    +    RemoveLastOperator()
    +    vars = ("vel")
    +    Pick(78, 153, vars)
    +    s = s + GetPickOutput()
    +    Pick(150, 124, vars)
    +    s = s + GetPickOutput()
    +
    +    #Test new pick method
    +    PickByZone(35412, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(35354, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickMatFracsThreshold", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickReflect():
    +    # Testing pick on plot with Reflect operator.
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("Reflect")
    +    DrawPlots()
    +    ResetView()
    +    vars = ("default")
    +    Pick(149, 206, vars)
    +    s = GetPickOutput()
    +    Pick(149, 94, vars)
    +    s = s + GetPickOutput()
    +    NodePick(coord=(0, 3, 0))
    +    s = s + GetPickOutput()
    +    NodePick(coord=(0, -3, 0))
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    # Try a rectilinear grid
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    AddPlot("Subset", "Mesh")
    +    AddOperator("Reflect")
    +    DrawPlots()
    +    ResetView()
    +
    +    Pick(coord=(-5, 5, 10))
    +    s = s + GetPickOutput()
    +    NodePick(coord=(-5, 5, 10))
    +    s = s + GetPickOutput()
    +    Pick(coord=(-5, -25, 10))
    +    s = s + GetPickOutput()
    +    NodePick(coord=(-5, -25, 10))
    +    s = s + GetPickOutput()
    +
    +
    +    TestText("PickReflect", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +
    +def PickFilledBoundary():
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("FilledBoundary", "mat1")
    +
    +    AddOperator("Slice")
    +    s= SliceAttributes()
    +    s.originIntercept = 2.89833
    +    s.originType = s.Intercept
    +    s.normal = (0, 1, 0)
    +    s.upAxis = (1, 0, 0)
    +    s.axisType = s.YAxis
    +    s.flip = 1
    +    s.project2d = 1
    +    SetOperatorOptions(s)
    +
    +    v = GetView2D()
    +    v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    v.windowCoords = (7.07307, 8.30598, 2.26402, 2.88047)
    +    SetView2D(v)
    +    DrawPlots()
    +
    +    vars = ("default")
    +    Pick(153, 69, vars)
    +    p = GetPickOutput()
    +    Pick(222, 56, vars)
    +    p += GetPickOutput()
    +    Pick(118, 77, vars)
    +    p += GetPickOutput()
    +    Pick(141, 74, vars)
    +    p += GetPickOutput()
    +    Pick(180, 68, vars)
    +    p += GetPickOutput()
    +    Pick(224, 75, vars)
    +    p += GetPickOutput()
    +    Pick(198, 56, vars)
    +    p += GetPickOutput()
    +    Pick(113, 70, vars)
    +    p += GetPickOutput()
    +    Pick(119, 57, vars)
    +    p += GetPickOutput()
    +    Pick(157, 66, vars)
    +    p += GetPickOutput()
    +    Pick(199, 66, vars)
    +    p += GetPickOutput()
    +    Pick(227, 79, vars)
    +    p += GetPickOutput()
    +
    +    # Test new pick method
    +    PickByZone(320, 17, vars)
    +    p += GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    # bug 6217 -- NodePick on Sliced FB returning wrong coords.
    +    # will test with Mesh, OnionPeeled Mesh and FB to verify
    +    # they all return the same nodes/zones and coords.
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Mesh", "mesh1")
    +    m = MeshAttributes()
    +    m.meshColor = (255, 255, 0, 255)
    +    m.meshColorSource = m.MeshCustom
    +    m.lineWidth = 2
    +    SetPlotOptions(m)
    +    AddOperator("OnionPeel", 0)
    +    op = OnionPeelAttributes()
    +    op.index = 679
    +    SetOperatorOptions(op)
    +
    +    AddPlot("FilledBoundary","mat1")
    +    AddOperator("Slice", 1)
    +    DrawPlots()
    +    ResetView()
    +
    +    SetActivePlots(0)
    +    Pick(247, 188, vars)
    +    p = p + GetPickOutput()
    +    NodePick(247, 188, vars)
    +    p = p + GetPickOutput()
    +
    +    SetActivePlots(1)
    +    Pick(247, 188, vars)
    +    p = p + GetPickOutput()
    +    NodePick(247, 188, vars)
    +    p = p + GetPickOutput()
    +    SetActivePlots(2)
    +    Pick(247, 188, vars)
    +    p = p + GetPickOutput()
    +    NodePick(247, 188, vars)
    +    p = p + GetPickOutput()
    +    TestText("PickFilledBoundary", p)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickMultiBlock():
    +    # Testing pick on 3d multi-domain plots
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.perspective = 1
    +    SetView3D(v)
    +
    +    vars = ("default", "d", "p")
    +    Pick(109, 113, vars)
    +    s = GetPickOutput()
    +    Pick(74, 114, vars)
    +    s = s + GetPickOutput()
    +    Pick(192, 114, vars)
    +    s = s + GetPickOutput()
    +    Pick(230, 114, vars)
    +    s = s + GetPickOutput()
    +    Pick(155, 148, vars)
    +    s = s + GetPickOutput()
    +    Pick(153, 185, vars)
    +    s = s + GetPickOutput()
    +    Pick(106, 149, vars)
    +    s = s + GetPickOutput()
    +    Pick(196, 144, vars)
    +    s = s + GetPickOutput()
    +    Pick(119, 157, vars)
    +    s = s + GetPickOutput()
    +    Pick(180, 160, vars)
    +    s = s + GetPickOutput()
    +    Pick(97, 130, vars)
    +    s = s + GetPickOutput()
    +    Pick(212, 129, vars)
    +    s = s + GetPickOutput()
    +
    +
    +    # Test new pick method
    +    PickByZone(15, 34, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(15, 36, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(75, 25, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(83, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(15, 28, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(4, 30, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(94, 35, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(15, 26, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(25, 32, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(64, 29, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(56, 35, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(51, 26, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    TurnMaterialsOn()
    +    DrawPlots()
    +    ResetView()
    +    vars = ("default", "u", "d", "p")
    +    Pick(61, 61, vars)
    +    s = s + GetPickOutput()
    +    Pick(61, 188, vars)
    +    s = s + GetPickOutput()
    +    Pick(79, 233, vars)
    +    s = s + GetPickOutput()
    +    Pick(80, 64, vars)
    +    s = s + GetPickOutput()
    +    Pick(99, 120, vars)
    +    s = s + GetPickOutput()
    +    Pick(115, 236, vars)
    +    s = s + GetPickOutput()
    +    Pick(154, 194, vars)
    +    s = s + GetPickOutput()
    +    Pick(155, 150, vars)
    +    s = s + GetPickOutput()
    +    Pick(174, 72, vars)
    +    s = s + GetPickOutput()
    +    Pick(192, 115, vars)
    +    s = s + GetPickOutput()
    +    Pick(229, 235, vars)
    +    s = s + GetPickOutput()
    +    Pick(236, 59, vars)
    +    s = s + GetPickOutput()
    +    Pick(246, 157, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick method
    +    PickByZone(921, 25, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(971, 31, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(964, 34, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(934, 25, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(947, 28, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(969, 34, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(985, 32, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(995, 29, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(948, 26, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(931, 30, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(966, 36, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(927, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(919, 33, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal= (1, 0, 0)
    +    SetView3D(v)
    +
    +    vars = ("default")
    +    Pick(250, 64, vars)
    +    s = s + GetPickOutput()
    +    Pick(149, 135, vars)
    +    s = s + GetPickOutput()
    +    Pick(227, 72, vars)
    +    s = s + GetPickOutput()
    +    Pick(65, 65, vars)
    +    s = s + GetPickOutput()
    +    Pick(67, 228, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick method
    +    PickByZone(13, 3, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(1, 15, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(118, 3, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(258, 21, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(279, 27, vars)
    +    s = s + GetPickOutput()
    +
    +    #Bug '4571, pick crashing when bad vars specified
    +    vars = ("aspect")
    +    Pick(67, 228, vars)
    +    s = s + GetPickOutput()
    +    vars = ("mesh_quality/aspect", "spurious")
    +    Pick(67, 228, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickMultiBlock", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickSurface():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Surface", "d")
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.originIntercept = 0.5
    +    slice.project2d = 1
    +    slice.axisType = slice.YAxis
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0, 1, 0)
    +    v.viewUp = (0, 0, -1)
    +    SetView3D(v)
    +
    +    pa = GetPickAttributes()
    +    pa.variables = ("default")
    +    SetPickAttributes(pa)
    +
    +    Pick(141, 178)
    +    s = GetPickOutput()
    +    NodePick(141, 178)
    +    s = s + GetPickOutput()
    +    Pick(194, 144)
    +    s = s + GetPickOutput()
    +    NodePick(194, 144)
    +    s = s + GetPickOutput()
    +    Pick(149, 197)
    +    s = s + GetPickOutput()
    +    NodePick(149, 197)
    +    s = s + GetPickOutput()
    +    Pick(64, 102)
    +    s = s + GetPickOutput()
    +    NodePick(64, 102)
    +    s = s + GetPickOutput()
    +    Pick(138, 126)
    +    s = s + GetPickOutput()
    +    NodePick(138, 126)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Surface", "p")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0, 1, 0)
    +    v.viewUp = (0, 0, -1)
    +    SetView3D(v)
    +
    +    Pick(103, 227)
    +    s = s + GetPickOutput()
    +    NodePick(103, 227)
    +    s = s + GetPickOutput()
    +    Pick(171, 86)
    +    s = s + GetPickOutput()
    +    NodePick(171, 86)
    +    s = s + GetPickOutput()
    +    Pick(129, 63)
    +    s = s + GetPickOutput()
    +    NodePick(129, 63)
    +    s = s + GetPickOutput()
    +    Pick(153, 177)
    +    s = s + GetPickOutput()
    +    NodePick(153, 177)
    +    s = s + GetPickOutput()
    +    Pick(188, 167)
    +    s = s + GetPickOutput()
    +    NodePick(188, 167)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Surface", "d")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (0.329152, -0.014518, -0.944165)
    +    v.focus = (2, 2, 2)
    +    v.viewUp = (-0.944025, -0.0281555, -0.32867)
    +    SetView3D(v)
    +
    +    s = s + "\nThe next three results should be the same.\n"
    +    Pick(118, 112)
    +    s = s + GetPickOutput()
    +    PickByZone(3)
    +    s = s + GetPickOutput()
    +    Pick((2.74917, 2.79753, 2.82784))
    +
    +    s = s + GetPickOutput()
    +
    +    s = s + "\nThe next three results should be the same.\n"
    +    NodePick(118, 112)
    +    s = s + GetPickOutput()
    +    PickByNode(11)
    +    s = s + GetPickOutput()
    +    NodePick((2.5, 2.5, 1.41421))
    +    s = s + GetPickOutput()
    +
    +    s = s + "\nThe next three results should be the same.\n"
    +    NodePick(139, 73)
    +    s = s + GetPickOutput()
    +    PickByNode(4)
    +    s = s + GetPickOutput()
    +    NodePick((4.0, 2.0, 4.0))
    +    s = s + GetPickOutput()
    +
    +    TestText("PickSurface", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickBigSilMat():
    +    OpenDatabase(silo_data_path("bigsil.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +    ResetView()
    +    pa = GetPickAttributes()
    +    pa.showNodePhysicalCoords = 1
    +    SetPickAttributes(pa)
    +    vars = "mat"
    +    Pick(87, 215, vars)
    +    s = GetPickOutput()
    +    NodePick(87, 215, vars)
    +    s = s + GetPickOutput()
    +    Pick(149, 146, vars)
    +    s = s + GetPickOutput()
    +    NodePick(149, 146, vars)
    +    s = s + GetPickOutput()
    +    Pick(89, 54, vars)
    +    s = s + GetPickOutput()
    +    NodePick(89, 54, vars)
    +    s = s + GetPickOutput()
    +    Pick(217, 74, vars)
    +    s = s + GetPickOutput()
    +    NodePick(217, 74, vars)
    +    s = s + GetPickOutput()
    +    Pick(215, 233, vars)
    +    s = s + GetPickOutput()
    +    NodePick(215, 233, vars)
    +    s = s + GetPickOutput()
    +    Pick(186, 193, vars)
    +    s = s + GetPickOutput()
    +    NodePick(186, 193, vars)
    +    s = s + GetPickOutput()
    +    Pick(190, 106, vars)
    +    s = s + GetPickOutput()
    +    NodePick(190, 106, vars)
    +    s = s + GetPickOutput()
    +    Pick(117, 173, vars)
    +    s = s + GetPickOutput()
    +    NodePick(117, 173, vars)
    +    s = s + GetPickOutput()
    +    Pick(98, 86, vars)
    +    s = s + GetPickOutput()
    +    NodePick(98, 86, vars)
    +    s = s + GetPickOutput()
    +    Pick(185, 116, vars)
    +    s = s + GetPickOutput()
    +    NodePick(185, 116, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick methods
    +    PickByZone(319, 25, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(476, 25, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(318, 23, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(475, 23, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(311, 21, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(475, 21, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(332, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(491, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(294, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(456, 27, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(329, 21, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(497, 21, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(329, 23, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(496, 23, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(329, 19, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(485, 19, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(294, 24, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(448, 24, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickBigSilMat", s)
    +    DeleteAllPlots()
    +    pa.showNodePhysicalCoords = 0
    +    SetPickAttributes(pa)
    +    ResetPickLetter()
    +
    +def PickOnionPeel2():
    +    #From defect VisIt00003981, onionpeel and window ACTUAL_EXTENTS
    +    #pick not working
    +    print(tests_path("queries","pickonionpeel.session"), 0,silo_data_path("curv3d.silo"))
    +    RestoreSessionWithDifferentSources(tests_path("queries","pickonionpeel.session"), 0,
    +                                       silo_data_path("curv3d.silo"))
    +    vars = "default"
    +    Pick(196, 194, vars)
    +    s = GetPickOutput()
    +    Pick(59, 73, vars)
    +    s = s + GetPickOutput()
    +    Pick(128, 111, vars)
    +    s = s + GetPickOutput()
    +    Pick(50, 90, vars)
    +    s = s + GetPickOutput()
    +    Pick(275, 203, vars)
    +    s = s + GetPickOutput()
    +    Pick(277, 225, vars)
    +    s = s + GetPickOutput()
    +    Pick(52, 109, vars)
    +    s = s + GetPickOutput()
    +
    +    op = OnionPeelAttributes()
    +    op.adjacencyType = op.Face
    +    op.requestedLayer = 1
    +    op.index = 1
    +    SetOperatorOptions(op)
    +
    +    Pick(52, 105, vars)
    +    s = s + GetPickOutput()
    +    Pick(67, 65, vars)
    +    s = s + GetPickOutput()
    +    Pick(51, 86, vars)
    +    s = s + GetPickOutput()
    +    Pick(265, 210, vars)
    +    s = s + GetPickOutput()
    +    Pick(172, 165, vars)
    +    s = s + GetPickOutput()
    +
    +    op.index = 317
    +    op.requestedLayer = 0
    +    SetOperatorOptions(op)
    +
    +    Pick(76, 70, vars)
    +    s = s + GetPickOutput()
    +    Pick(37, 120, vars)
    +    s = s + GetPickOutput()
    +    Pick(119, 174, vars)
    +    s = s + GetPickOutput()
    +    Pick(273, 188, vars)
    +    s = s + GetPickOutput()
    +
    +    op.adjacencyType = op.Node
    +    op.requestedLayer = 3
    +    SetOperatorOptions(op)
    +
    +    Pick(96, 72, vars)
    +    s = s + GetPickOutput()
    +    Pick(27, 144, vars)
    +    s = s + GetPickOutput()
    +    Pick(115, 102, vars)
    +    s = s + GetPickOutput()
    +    Pick(134, 140, vars)
    +    s = s + GetPickOutput()
    +    Pick(288, 185, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickOnionPeel2", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickSpecMix():
    +    #VisIt '3864
    +    OpenDatabase(silo_data_path("specmix_quad.silo"))
    +
    +    AddPlot("Pseudocolor", "Species")
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.windowCoords = (0, 1, 0, 1)
    +    SetView2D(v)
    +
    +    vars = ("default")
    +    Pick(69, 137, vars)
    +    s = GetPickOutput()
    +    NodePick(90, 119, vars)
    +    s = s + GetPickOutput()
    +    Pick(139, 142, vars)
    +    s = s + GetPickOutput()
    +    NodePick(170, 126, vars)
    +    s = s + GetPickOutput()
    +    Pick(201, 95, vars)
    +    s = s + GetPickOutput()
    +    Pick(78, 75, vars)
    +    s = s + GetPickOutput()
    +    Pick(256, 169, vars)
    +    s = s + GetPickOutput()
    +
    +    # Test new pick method
    +    PickByZone(233, vars)
    +    s = s +GetPickOutput()
    +    PickByNode(266, vars)
    +    s = s +GetPickOutput()
    +
    +    silr = SILRestriction()
    +    onoff = 0
    +    for sets in silr.SetsInCategory('Species'):
    +        if(onoff == 0):
    +            silr.TurnOffSet(sets)
    +            onoff = 1
    +        else:
    +            onoff = 0
    +    SetPlotSILRestriction(silr)
    +
    +    NodePick(140, 197, vars)
    +    s = s + GetPickOutput()
    +    Pick(249, 112, vars)
    +    s = s + GetPickOutput()
    +    NodePick(125, 137, vars)
    +    s = s + GetPickOutput()
    +    Pick(191, 136, vars)
    +    s = s + GetPickOutput()
    +    vars = ("d", "Species")
    +    NodePick(204, 135, vars)
    +    s = s + GetPickOutput()
    +    Pick(138, 118, vars)
    +    s = s + GetPickOutput()
    +    NodePick(104, 139, vars)
    +    s = s + GetPickOutput()
    +    Pick(94, 151, vars)
    +    s = s + GetPickOutput()
    +    NodePick(182, 99, vars)
    +    s = s + GetPickOutput()
    +    # now test with 'd' as the active plot variable, should
    +    # get the same results.
    +    ChangeActivePlotsVar("d")
    +    NodePick(204, 135, vars)
    +    s = s + GetPickOutput()
    +    Pick(138, 118, vars)
    +    s = s + GetPickOutput()
    +    NodePick(104, 139, vars)
    +    s = s + GetPickOutput()
    +    Pick(94, 151, vars)
    +    s = s + GetPickOutput()
    +
    +    NodePick(182, 99, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickSpecMix", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickCurve():
    +    OpenDatabase(data_path("curve_test_data/curve.visit"))
    +
    +    AddPlot("Curve", "parabolic")
    +    SetTimeSliderState(72)
    +    DrawPlots()
    +
    +    v = GetViewCurve()
    +    v.rangeCoords = (0, 1)
    +    SetViewCurve(v)
    +
    +    pa = GetPickAttributes()
    +    pa.variables = ("default")
    +    SetPickAttributes(pa)
    +
    +    Pick(72, 53)
    +    p = GetPickOutput()
    +    Pick(156, 22)
    +    p = p + GetPickOutput()
    +    Pick(15, 128)
    +    p = p + GetPickOutput()
    +    Pick(212, 200)
    +    p = p + GetPickOutput()
    +    Pick((0.2, 0.7))
    +    p = p + GetPickOutput()
    +    Pick((0.8, 0.35))
    +    p = p + GetPickOutput()
    +    Pick((0.6, 0.6))
    +    p = p + GetPickOutput()
    +    Pick((0.3, 0.5))
    +    p = p + GetPickOutput()
    +
    +    TestText("PickCurve", p)
    +    ResetPickLetter()
    +    DeleteAllPlots()
    +
    +def PickMultiWindow():
    +    OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +    AddPlot("FilledBoundary", "Material")
    +    SetTimeSliderState(31)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, -1, 0)
    +    v.viewUp = (0, 0, 1)
    +    SetView3D(v)
    +
    +    CloneWindow()
    +    SetTimeSliderState(64)
    +    DrawPlots()
    +
    +    pt1a = (7.20585, 0.099664, 2.5)
    +    pt1b = (5.867554, 0.264801,  3.566963)
    +
    +    pt2a = (7.20585, 0.099664, 2.378386)
    +    pt2b = (5.867554, 0.039652,  3.566963)
    +
    +
    +    # Same DB, same plot, same var, different ts
    +    SetActiveWindow(1)
    +    Pick(pt1a)
    +    s = GetPickOutput()
    +
    +    SetActiveWindow(2)
    +    Pick(pt2a)
    +    s = s + GetPickOutput()
    +
    +    SetActiveWindow(1)
    +    Pick(pt1b)
    +    s = s + GetPickOutput()
    +
    +    SetActiveWindow(2)
    +    Pick(pt2b)
    +    s = s + GetPickOutput()
    +
    +    # Same DB, same plot, different var, different ts
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "v")
    +    DrawPlots()
    +
    +    Pick(pt1a)
    +    s = s + GetPickOutput()
    +    Pick(pt1b)
    +    s = s + GetPickOutput()
    +
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    Pick(pt2a)
    +    s = s + GetPickOutput()
    +    Pick(pt2b)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickMultiWindow", s)
    +    ResetPickLetter()
    +
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    DeleteAllPlots()
    +
    +#
    +# Sets up a couple test cases that test how pick interacts with the engine
    +# being gone.
    +#
    +def PickBadEngineSetup(testName, GetRidOfEngineCallback):
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.423782, 0.331476, 0.842931)
    +    v.focus = (0, 2.5, 15)
    +    v.viewUp = (0.111716, 0.942652, -0.314525)
    +    v.viewAngle = 30
    +    v.parallelScale = 16.0078
    +    v.nearPlane = -32.0156
    +    v.farPlane = 32.0156
    +    v.imagePan = (-0.0549008, 0.0570848)
    +    v.imageZoom = 1.35304
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    ptA = (0.115986, 4.290420, 29.9)
    +    Pick(ptA)
    +    s = ""
    +    s = s + GetPickOutput()
    +    ptB = (0.040697, 2.250070, 29.9)
    +    Pick(ptB)
    +    s = s + GetPickOutput()
    +
    +    # Get rid of the compute engine running on localhost.
    +    s = s + GetRidOfEngineCallback()
    +
    +    # Create plots in a new window before returning to window 1 to
    +    # pick again. This will force the network ids in window 1 to be
    +    # invalid in case they do not get reset. (But they do get reset now)
    +    AddWindow()
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    SetActiveWindow(1)
    +
    +    # Resume picking in window 1 now that there are networks in window 2.
    +    ptC = (0.15, 3.250070, 26.9)
    +    Pick(ptC)
    +    s = s + GetPickOutput()
    +    ptD = (0.19, 3.75, 26.9)
    +    Pick(ptD)
    +    s = s + GetPickOutput()
    +
    +    TestText(testName, s)
    +    ResetPickLetter()
    +    DeleteAllPlots()
    +    # Delete window 2.
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +
    +#
    +# Tests that pick works after an engine has been closed by the user.
    +#
    +def PickAfterEngineClosed():
    +    def CloseCB():
    +        CloseComputeEngine("localhost")
    +        return "***\n*** Closed engine on localhost.\n***\n"
    +    PickBadEngineSetup("PickAfterEngineClose", CloseCB)
    +
    +#
    +# Tests that pick works after an engine has crashed.
    +#
    +def PickAfterEngineCrashed():
    +    #TODO: THIS WONT WORK ON WINDOWs
    +    def CrashCB():
    +        try:
    +            # Read the output of ps
    +            f = os.popen("ps")
    +            lines = f.readlines()
    +            f.close()
    +
    +            # Get a list of engine pids from the ps output.
    +            pids = []
    +            for line in lines:
    +                if string.find(line, "engine_") == -1:
    +                    continue
    +                tokens = string.split(line, " ")
    +                lv = []
    +                for t in tokens:
    +                    if t != "":
    +                        lv = lv + [t]
    +                if len(lv) > 0:
    +                   pids = pids + [lv[0]]
    +
    +            # Kill all of the engines in the pid list.
    +            if len(pids) < 1:
    +                print("Killing all engines because we could not get a list of pids", file=sys.stderr)
    +                # TODO_WINDOWS THIS WONT WORK ON WINDOWS
    +                os.system("killall engine_ser")
    +                os.system("killall engine_par")
    +            else:
    +                for pid in pids:
    +                    print("Killing engine %s" % pid, file=sys.stderr)
    +                    # TODO_WINDOWS THIS WONT WORK ON WINDOWS
    +                    os.system("kill -9 %s" % pid)
    +        except:
    +            # There was an error. Just close the engine instead of killing it.
    +            CloseComputeEngine("localhost")
    +        return "***\n*** Killed compute engine(s).\n***\n"
    +    PickBadEngineSetup("PickAfterEngineCrash", CrashCB)
    +
    +def PickBoundary():
    +    # VisIt00004807
    +    # Test Pick on a 2D Boundary plot.
    +
    +    ResetPickAttributes()
    +
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Boundary", "mat1")
    +    DrawPlots()
    +
    +    ResetView()
    +    SetViewExtentsType("original")
    +
    +    Pick(164, 136)
    +    s = GetPickOutput()
    +    PickByZone(482)
    +    s = s + GetPickOutput()
    +
    +    NodePick(164, 136)
    +    s = s + GetPickOutput()
    +    PickByNode(528)
    +    s = s + GetPickOutput()
    +
    +    Pick(113, 84)
    +    s = s + GetPickOutput()
    +    PickByZone(230)
    +    s = s + GetPickOutput()
    +
    +    NodePick(113, 84)
    +    s = s + GetPickOutput()
    +    PickByNode(239)
    +    s = s + GetPickOutput()
    +
    +    Pick(218, 65)
    +    s = s + GetPickOutput()
    +    PickByZone(211)
    +    s = s + GetPickOutput()
    +
    +    NodePick(218, 65)
    +    s = s + GetPickOutput()
    +    PickByNode(220)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +
    +    OpenDatabase(silo_data_path("specmix_quad.silo"))
    +
    +    AddPlot("Boundary", "Material")
    +    DrawPlots()
    +    ResetView()
    +
    +    Pick(107, 131)
    +    s = s + GetPickOutput()
    +    PickByZone(86)
    +    s = s + GetPickOutput()
    +
    +    NodePick(107, 131)
    +    s = s + GetPickOutput()
    +    PickByNode(89)
    +    s = s + GetPickOutput()
    +
    +    Pick(207, 145)
    +    s = s + GetPickOutput()
    +    PickByZone(297)
    +    s = s + GetPickOutput()
    +
    +    NodePick(207, 145)
    +    s = s + GetPickOutput()
    +    PickByNode(333)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("specmix_ucd.silo"))
    +
    +    AddPlot("Boundary", "Material")
    +    DrawPlots()
    +    ResetView()
    +
    +    vars = "p"
    +    Pick(107, 131, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(86, vars)
    +    s = s + GetPickOutput()
    +
    +    NodePick(107, 131, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(89, vars)
    +    s = s + GetPickOutput()
    +
    +    Pick(207, 145, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(297, vars)
    +    s = s + GetPickOutput()
    +
    +    NodePick(207, 145, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(333, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    #Test Sliced Boundary plots
    +    ResetOperatorOptions("Slice")
    +
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +    AddPlot("Boundary", "mat1")
    +    AddOperator("Slice")
    +
    +    slice = SliceAttributes()
    +    slice.normal = (0, -1, 0)
    +    slice.upAxis = (0, 0, 1)
    +    SetOperatorOptions(slice)
    +
    +    DrawPlots()
    +    ResetView()
    +
    +    Pick(83, 223, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(26670, vars)
    +    s = s + GetPickOutput()
    +
    +    NodePick(83, 223, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(28272, vars)
    +    s = s + GetPickOutput()
    +
    +    Pick(127, 84, vars)
    +    s = s + GetPickOutput()
    +    PickByZone(5399, vars)
    +    s = s + GetPickOutput()
    +
    +    NodePick(127, 84, vars)
    +    s = s + GetPickOutput()
    +    PickByNode(7005, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("sid97.silo"))
    +
    +    AddPlot("Boundary", "mat1")
    +
    +    AddOperator("Slice")
    +
    +    slice = SliceAttributes()
    +    slice.originType = slice.Point
    +    slice.originPoint = (7400, -1300, 1000)
    +    slice.normal  = (0, 1, 0)
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("actual")
    +
    +    pick = GetPickAttributes()
    +    pick.variables = ("default")
    +    SetPickAttributes(pick)
    +
    +    Pick(128, 140)
    +    s = s + GetPickOutput()
    +    PickByZone(1269)
    +    s = s + GetPickOutput()
    +
    +    NodePick(128, 140)
    +    s = s + GetPickOutput()
    +    PickByNode(1356)
    +    s = s + GetPickOutput()
    +
    +    Pick(120, 89)
    +    s = s + GetPickOutput()
    +    PickByZone(10438)
    +    s = s + GetPickOutput()
    +
    +    NodePick(120, 89)
    +    s = s + GetPickOutput()
    +    PickByNode(12836)
    +    s = s + GetPickOutput()
    +
    +    Pick(154, 50)
    +    s = s + GetPickOutput()
    +    PickByZone(10455)
    +    s = s + GetPickOutput()
    +
    +    NodePick(154, 50)
    +    s = s + GetPickOutput()
    +    PickByNode(12842)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Boundary", "mat1")
    +
    +    AddOperator("Slice")
    +
    +    slice.originType = slice.Intercept
    +    slice.originIntercept = 0.5
    +    slice.normal  = (0, 1, 1)
    +    slice.upAxis  = (0, 1, 0)
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +
    +    DrawPlots()
    +    ResetView()
    +    SetViewExtentsType("original")
    +
    +    Pick(75, 258)
    +    s = s + GetPickOutput()
    +    PickByZone(810)
    +    s = s + GetPickOutput()
    +
    +    NodePick(75, 258)
    +    s = s + GetPickOutput()
    +    PickByNode(869)
    +    s = s + GetPickOutput()
    +
    +    Pick(121, 108)
    +    s = s + GetPickOutput()
    +    PickByZone(18217)
    +    s = s + GetPickOutput()
    +
    +    NodePick(121, 108)
    +    s = s + GetPickOutput()
    +    PickByNode(20561)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickBoundary", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickVectorPlots():
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Vector", "vel")
    +    vector = VectorAttributes()
    +    vector.autoScale = 0
    +    SetPlotOptions(vector)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 2.02836
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    p = GetPickAttributes()
    +    p.variables = ("default")
    +    SetPickAttributes(p)
    +    Pick(274, 259)
    +    s = GetPickOutput()
    +    Pick(269, 258)
    +    s = s + GetPickOutput()
    +    Pick(86, 37)
    +    s = s + GetPickOutput()
    +    Pick(83, 28)
    +    s = s + GetPickOutput()
    +
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.axisType = slice.ZAxis
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    Pick(96, 244)
    +    s = s + GetPickOutput()
    +    Pick(204, 88)
    +    s = s + GetPickOutput()
    +
    +    RemoveLastOperator()
    +
    +    ChangeActivePlotsVar("disp")
    +    vector = VectorAttributes()
    +    vector.autoScale = 0
    +    vector.scale = 1.
    +    vector.origOnly = 0
    +    SetPlotOptions(vector)
    +
    +    v.viewNormal = (-0.8775, 0.112599, 0.46617)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0.120127, 0.992665, -0.0136456)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 2.3515
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Pick(119, 87)
    +    s = s + GetPickOutput();
    +    Pick(148, 230)
    +    s = s + GetPickOutput();
    +    Pick(22, 97)
    +    s = s + GetPickOutput();
    +
    +    AddOperator("Slice")
    +    DrawPlots()
    +
    +    Pick(76, 113)
    +    s = s + GetPickOutput();
    +    Pick(244, 67)
    +    s = s + GetPickOutput();
    +    Pick(127, 217)
    +    s = s + GetPickOutput();
    +
    +    DeleteAllPlots()
    +
    +    # VisIt00006296 -- pick of vector expression causes crash
    +    DefineVectorExpression("polarVector", "polar(mesh1)")
    +    DefineVectorExpression("xyzVector", "coord(mesh1)")
    +    AddPlot("Vector", "polarVector")
    +    DrawPlots()
    +    ResetView()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (-0.0369757, 0.0171359)
    +    v.imageZoom = 4.66857
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    Pick(233, 241)
    +    s = s + GetPickOutput()
    +    Pick(226, 30)
    +    s = s + GetPickOutput()
    +
    +    ChangeActivePlotsVar("xyzVector")
    +
    +    v. imagePan = (0.0220781, -0.0509109)
    +    v. imageZoom = 9.89113
    +    SetView3D(v)
    +    Pick(149, 209)
    +    s = s + GetPickOutput()
    +    Pick(214, 6)
    +    s = s + GetPickOutput()
    +
    +
    +    TestText("PickVectorPlot", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickPointMeshes():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "PointVar")
    +    pc = PseudocolorAttributes()
    +    pc.pointSize = 1
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    ResetView()
    +
    +    NodePick(100, 240)
    +    s = GetPickOutput()
    +    Pick(223, 197)
    +    s = s + GetPickOutput()
    +    NodePick(138, 66)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    AddPlot("Mesh", "PointMesh")
    +    mesh = MeshAttributes()
    +    mesh.pointSize = 1
    +    mesh.pointType = mesh.Box
    +    SetPlotOptions(mesh)
    +    DrawPlots()
    +
    +    NodePick(100, 240)
    +    s = s + GetPickOutput()
    +    Pick(223, 197)
    +    s = s + GetPickOutput()
    +    NodePick(138, 66)
    +    s = s + GetPickOutput()
    +
    +    mesh.pointType = mesh.Point
    +    SetPlotOptions(mesh)
    +
    +    NodePick(100, 240)
    +    s = s + GetPickOutput()
    +    Pick(223, 197)
    +    s = s + GetPickOutput()
    +    NodePick(138, 66)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("multi_point2d.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    m = MeshAttributes()
    +    m.meshColor = (255, 0, 255, 255)
    +    m.meshColorSource = m.MeshCustom
    +    m.pointSize = 0.05
    +    m.pointType = m.Box
    +    SetPlotOptions(m)
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.On
    +    v.windowCoords = (-2.05391, -0.442661, 1.02233, 2.43681)
    +    SetView2D(v)
    +
    +    vars = ("d", "p", "u", "v")
    +
    +    NodePick(122, 72, vars)
    +    s = s + GetPickOutput()
    +    Pick(134, 229, vars)
    +    s = s + GetPickOutput()
    +    NodePick(278, 266, vars)
    +    s = s + GetPickOutput()
    +
    +    m.pointType = mesh.Point
    +    SetPlotOptions(m)
    +
    +    NodePick(122, 72, vars)
    +    s = s + GetPickOutput()
    +    Pick(134, 229, vars)
    +    s = s + GetPickOutput()
    +    NodePick(278, 266, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Subset", "PointMesh")
    +    DrawPlots()
    +    ResetView()
    +
    +    NodePick(100, 240)
    +    s = s+ GetPickOutput()
    +    Pick(223, 197)
    +    s = s + GetPickOutput()
    +    NodePick(138, 66)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickPointMeshes", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickGlobalIds():
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +
    +    AddPlot("Pseudocolor", "dist")
    +    DrawPlots()
    +    ResetView()
    +    p = GetPickAttributes()
    +    p.showGlobalIds = 0
    +    p.variables = ("default")
    +    SetPickAttributes(p)
    +
    +    Pick(82, 225)
    +    s = GetPickOutput()
    +
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    Pick(82, 225)
    +    s = s + GetPickOutput()
    +
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +
    +    NodePick(195, 101)
    +    s = s + GetPickOutput()
    +
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    NodePick(195, 101)
    +    s = s + GetPickOutput()
    +
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +
    +    Pick(175, 162)
    +    s = s + GetPickOutput()
    +    NodePick(175, 162)
    +    s = s + GetPickOutput()
    +
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    Pick(175, 162)
    +    s = s + GetPickOutput()
    +    NodePick(175, 162)
    +    s = s + GetPickOutput()
    +
    +    PickByGlobalZone(3250)
    +    s = s + GetPickOutput()
    +    PickByGlobalZone(237394)
    +    s = s + GetPickOutput()
    +    PickByGlobalNode(3869)
    +    s = s + GetPickOutput()
    +    PickByGlobalNode(246827)
    +    s = s + GetPickOutput()
    +
    +    # bug '6097 -- global ids not displayed correctly with global picks.
    +    p.showGlobalIds = 1
    +    SetPickAttributes(p)
    +
    +    PickByGlobalZone(236919)
    +    s = s + GetPickOutput()
    +    PickByGlobalNode(244455)
    +    s = s + GetPickOutput()
    +
    +    ChangeActivePlotsVar("p")
    +    PickByGlobalZone(236919)
    +    s = s + GetPickOutput()
    +    PickByGlobalNode(244455)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickGlobalIds", s)
    +    p.showGlobalIds = 0
    +    SetPickAttributes(p)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickExpressions():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    DefineScalarExpression("m1", 'matvf(mat1, ["1", "3"])')
    +    DefineScalarExpression("mir1", 'mirvf(mat1, zoneid(quadmesh3d), volume(quadmesh3d), 1)')
    +
    +    AddPlot("Pseudocolor", "m1")
    +    DrawPlots()
    +    ResetView()
    +
    +    Pick(151, 172)
    +    s = GetPickOutput()
    +    Pick(68, 239)
    +    s = s + GetPickOutput()
    +    Pick(237, 86)
    +    s = s + GetPickOutput()
    +    NodePick(151, 172)
    +    s = s + GetPickOutput()
    +    NodePick(68, 239)
    +    s = s + GetPickOutput()
    +    NodePick(237, 86)
    +    s = s + GetPickOutput()
    +
    +    ChangeActivePlotsVar("mir1")
    +    Pick(151, 172)
    +    s = s + GetPickOutput()
    +    Pick(68, 239)
    +    s = s + GetPickOutput()
    +    Pick(237, 86)
    +    s = s + GetPickOutput()
    +    NodePick(151, 172)
    +    s = s + GetPickOutput()
    +    NodePick(68, 239)
    +    s = s + GetPickOutput()
    +    NodePick(237, 86)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "t")
    +    DrawPlots()
    +    ResetView()
    +    DefineScalarExpression("polar", "polar(mesh1)")
    +
    +    # pick with default var -- 't'
    +    Pick(128, 107)
    +    s = s + GetPickOutput()
    +    # pick again, adding new expression var -- 'polar'
    +    vars = ("default", "polar")
    +    Pick(128, 107, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickExpressions", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickAMR():
    +    OpenDatabase(data_path("boxlib_test_data/2D/plt0822/Header"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Pseudocolor", "density")
    +    DrawPlots()
    +    ResetView()
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.Off
    +    v.windowCoords = (0.0232322, 0.0302984, 0.11825, 0.123807)
    +    SetView2D(v)
    +
    +    s = "Testing boxlib 2D, pseudocolor\n"
    +    vars = "default"
    +    NodePick(226, 179, vars)
    +    s = s + GetPickOutput()
    +    ZonePick(226, 179, vars)
    +    s = s + GetPickOutput()
    +    NodePick(215, 168, vars)
    +    s = s + GetPickOutput()
    +    ZonePick(215, 168, vars)
    +    s = s + GetPickOutput()
    +    NodePick(114, 94, vars)
    +    s = s + GetPickOutput()
    +    ZonePick(114, 94, vars)
    +    s = s + GetPickOutput()
    +    NodePick(189, 197, vars)
    +    s = s + GetPickOutput()
    +    ZonePick(189, 197, vars)
    +    s = s + GetPickOutput()
    +    NodePick(242, 72, vars)
    +    s = s + GetPickOutput()
    +    ZonePick(242, 72, vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    s = s + "\nTesting boxlib 2D, contour\n"
    +    AddPlot("Contour", "density")
    +    DrawPlots()
    +    v.windowCoords = (0.00408394, 0.0401985, 0.109754, 0.138135)
    +    SetView2D(v)
    +
    +    Pick(161, 137)
    +    s = s + GetPickOutput()
    +    NodePick(161, 137)
    +    s = s + GetPickOutput()
    +    Pick(176, 139)
    +    s = s + GetPickOutput()
    +    NodePick(176, 139)
    +    s = s + GetPickOutput()
    +    Pick(228, 71)
    +    s = s + GetPickOutput()
    +    NodePick(228, 71)
    +    s = s + GetPickOutput()
    +    Pick(255, 196)
    +    s = s + GetPickOutput()
    +    NodePick(255, 196)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    s = s + "\nTesting boxlib 2D, Boundary\n"
    +    AddPlot("Boundary", "materials")
    +    DrawPlots()
    +    v.windowCoords = (0.00226909, 0.0378978, 0.0908832, 0.121254)
    +    SetView2D(v)
    +    Pick(161, 137)
    +    s = s + GetPickOutput()
    +    NodePick(161, 137)
    +    s = s + GetPickOutput()
    +    Pick(228, 71)
    +    s = s + GetPickOutput()
    +    NodePick(228, 71)
    +    s = s + GetPickOutput()
    +    Pick(139, 196)
    +    s = s + GetPickOutput()
    +    NodePick(139, 196)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickAMR", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickSamrai():
    +
    +    def doPicks1():
    +        def pickList(index):
    +            if index == 0 :
    +                ZonePick(172, 178)
    +                return GetPickOutput()
    +            elif index == 1 :
    +                NodePick(191, 188)
    +                return GetPickOutput()
    +            elif index == 2:
    +                NodePick(145, 157)
    +                return GetPickOutput()
    +            elif index == 3:
    +                PickByZone(1863, 2)
    +                return GetPickOutput()
    +            elif index == 4:
    +                PickByNode(2442, 2)
    +                return GetPickOutput()
    +            elif index == 5:
    +                PickByNode(2422, 2)
    +                return GetPickOutput()
    +            else :
    +                return ""
    +
    +        s = ""
    +        for j in range(6):
    +            for i in range(4):
    +                SetActivePlots(i)
    +                s = s + pickList(j)
    +        return s
    +
    +    def doPicks2():
    +        def pickList2(index):
    +            if index == 0 :
    +                ZonePick(239, 141)
    +                return GetPickOutput()
    +            elif index == 1 :
    +                NodePick(246, 108)
    +                return GetPickOutput()
    +            else :
    +                return ""
    +
    +        s = ""
    +        for j in range(2):
    +            for i in range(4):
    +                SetActivePlots(i)
    +                s = s + pickList2(j)
    +        return s
    +
    +    def doPicks3():
    +        def pickList3(index):
    +            if index == 0 :
    +                ZonePick(210, 148)
    +                return GetPickOutput()
    +            elif index == 1 :
    +                NodePick(200, 148)
    +                return GetPickOutput()
    +            elif index == 2 :
    +                ZonePick(210, 168)
    +                return GetPickOutput()
    +            elif index == 3 :
    +                NodePick(210, 168)
    +                return GetPickOutput()
    +            else :
    +                return ""
    +
    +        s = ""
    +        for j in range(4):
    +            for i in range(4):
    +                SetActivePlots(i)
    +                s = s + pickList3(j)
    +        return s
    +
    +
    +    # Open SAMRAI (add default subset plot)
    +    # Add PC, Mesh, and Contour Plots
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +    slice = SliceAttributes()
    +    slice.axisType = slice.ZAxis
    +    slice.originType = slice.Percent
    +    slice.originPercent = 20
    +    slice.project2d = 1
    +
    +    AddPlot("Pseudocolor", "Primitive Var _number_0")
    +    AddPlot("Mesh", "amr_mesh")
    +    AddPlot("Contour", "Primitive Var _number_0")
    +
    +    SetActivePlots((0, 1, 2, 3))
    +    AddOperator("Slice")
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.windowCoords = (4.89115, 6.43144, 6.80336, 8.63983)
    +    SetView2D(v)
    +    s = "\nTesting sliced SAMRAI:\n"
    +    s = s + doPicks1()
    +    TestText("PickSamrai_01", s)
    +
    +    SetActivePlots((0, 1, 2, 3))
    +    clip = ClipAttributes()
    +    clip.plane1Origin = (5.1, 0, 0)
    +    clip.plane1Normal = (-1, 0, 0)
    +
    +    AddOperator("Clip")
    +    SetOperatorOptions(clip)
    +    DrawPlots()
    +    ResetPickLetter()
    +    s = "\nTesting clipped sliced SAMRAI:\n"
    +    s = s + doPicks1()
    +    TestText("PickSamrai_02", s)
    +
    +    SetActivePlots((0, 1, 2, 3))
    +    DemoteOperator(1)
    +    DrawPlots()
    +    ResetPickLetter()
    +    s = "\nTesting sliced clipped SAMRAI:\n"
    +    s = s + doPicks1()
    +    TestText("PickSamrai_03", s)
    +
    +    SetActivePlots((0, 1, 2, 3))
    +    RemoveLastOperator()
    +    clip.plane1Origin = (4.3, 0, 0)
    +    SetOperatorOptions(clip)
    +
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, -1)
    +    v.focus = (15, 10, 10)
    +    v.viewUp = (0, 1, 0)
    +    v.parallelScale = 20.6155
    +    v.nearPlane = -41.2311
    +    v.farPlane = 41.2311
    +    v.perspective = 0
    +    SetView3D(v)
    +    v.imageZoom = 8
    +    SetView3D(v)
    +    v.imagePan = (-0.2, 0.1)
    +    SetView3D(v)
    +    ResetPickLetter()
    +    s = "\nTesting clipped SAMRAI (3D):\n"
    +    s = s + doPicks2()
    +    TestText("PickSamrai_04", s)
    +
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +
    +    OpenDatabase(data_path("samrai_test_data/front/dumps.visit"))
    +
    +    AddPlot("Mesh", "amr_mesh")
    +    AddPlot("Pseudocolor", "Distance to front")
    +    AddPlot("Contour", "Distance to front")
    +
    +    DrawPlots()
    +    v = GetView2D()
    +    v.windowCoords = (0.678228, 0.865969, 0.467317, 0.650137)
    +
    +    SetView2D(v)
    +    s = "\nTesting front:\n"
    +    s = s + doPicks3()
    +    TestText("PickSamrai_05", s)
    +
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickIndexSelect():
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh2d")
    +    AddPlot("Pseudocolor", "u")
    +    AddOperator("IndexSelect")
    +    isAtts = IndexSelectAttributes()
    +    isAtts.dim = isAtts.TwoD
    +    isAtts.xMin = 1
    +    isAtts.xMax = 2
    +    isAtts.yMin = 1
    +    isAtts.yMax = 2
    +    SetOperatorOptions(isAtts)
    +
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.windowCoords = (-0.0583437, 0.254323, -0.0576062, 0.220944)
    +    SetView2D(v)
    +
    +    SetActivePlots(0)
    +    s = "Pick on Index-selected 2D Mesh Plot\n"
    +    Pick(132, 117)
    +    s = s + GetPickOutput()
    +    NodePick(132, 117)
    +    s = s + GetPickOutput()
    +
    +    SetActivePlots(1)
    +    s = s + "\nSame Picks on Index-selected 2D Pseudocolor Plot\n"
    +    Pick(132, 117)
    +    s = s + GetPickOutput()
    +    NodePick(132, 117)
    +    s = s + GetPickOutput()
    +
    +    isAtts.xIncr = 5
    +    isAtts.yIncr = 5
    +    SetOperatorOptions(isAtts)
    +
    +    s = s+ "\nChanged stride of IndexSelect, 2D Mesh Plot picks\n"
    +    SetActivePlots(0)
    +    Pick(132, 117)
    +    s = s + GetPickOutput()
    +    NodePick(132, 117)
    +    s = s + GetPickOutput()
    +
    +    s = s + "\nSame picks 2D Pseudocolor Plot \n"
    +    SetActivePlots(1)
    +    Pick(132, 117)
    +    s = s + GetPickOutput()
    +    NodePick(132, 117)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddPlot("Pseudocolor", "d")
    +    SetActivePlots((0, 1))
    +    AddOperator("IndexSelect")
    +    isAtts = IndexSelectAttributes()
    +    isAtts.dim = isAtts.ThreeD
    +    isAtts.xIncr = 4
    +    isAtts.yIncr = 4
    +    SetOperatorOptions(isAtts)
    +
    +    DrawPlots()
    +
    +    ResetView()
    +    v = GetView3D()
    +    v.viewNormal = (-1, 0, 0)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0, 1, 0)
    +    v.parallelScale = 0.866025
    +    v.perspective = 1
    +    SetView3D(v)
    +    v.imagePan = (0.0552434, 0.225336)
    +    SetView3D(v)
    +    v.imageZoom = 5.01124
    +    SetView3D(v)
    +
    +    s = s + "\nIndex selected 3D Mesh Plot\n"
    +    SetActivePlots(0)
    +    Pick(143, 144)
    +    s = s + GetPickOutput()
    +    NodePick(143, 144)
    +    s = s + GetPickOutput()
    +    s = s + "\nSame picks on 3D Pseudocolor Plot\n"
    +    SetActivePlots(1)
    +    Pick(143, 144)
    +    s = s + GetPickOutput()
    +    NodePick(143, 144)
    +    s = s + GetPickOutput()
    +
    +    SetActivePlots((0, 1))
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.normal = (0, 0, 1)
    +    slice.originType = slice.Intercept
    +    slice.originIntercept = 0.5
    +    slice.upAxis = (0, 1, 0)
    +    slice.axisType = slice.ZAxis
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.windowCoords = (0.226685, 0.501966, 0.147753, 0.423034)
    +    SetView2D(v)
    +
    +    s = s + "\nSliced, Index-selected 3D Mesh Plot\n"
    +    SetActivePlots(0)
    +    Pick(184, 234)
    +    s = s + GetPickOutput()
    +    NodePick(184, 234)
    +    s = s + GetPickOutput()
    +
    +
    +    s = s + "\nSame pickes on Sliced, Index-selected 3D Pseudocolor Plot\n"
    +    SetActivePlots(1)
    +    Pick(184, 234)
    +    s = s + GetPickOutput()
    +    NodePick(184, 234)
    +    s = s + GetPickOutput()
    +
    +    AddPlot("FilledBoundary", "mat1")
    +    AddOperator("IndexSelect")
    +    SetOperatorOptions(isAtts)
    +    AddOperator("Slice")
    +    SetOperatorOptions(slice)
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddOperator("Slice")
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    s = s + "\nSame picks on Sliced, Index-selected 3D FilledBoundary Plot\n"
    +    s = s + "Stride changes back to 1 due to MIR, so should match Mesh results below\n"
    +    SetActivePlots(2)
    +    Pick(184, 234)
    +    s = s + GetPickOutput()
    +    NodePick(184, 234)
    +    s = s + GetPickOutput()
    +
    +    s = s + "\nSame picks on Sliced, 3D Mesh Plot\n"
    +    SetActivePlots(3)
    +    Pick(184, 234)
    +    s = s + GetPickOutput()
    +    NodePick(184, 234)
    +    s = s + GetPickOutput()
    +
    +
    +    TestText("PickIndexSelect", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickTensors():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Mesh", "Mesh")
    +    DrawPlots()
    +    vars = ("grad_tensor")
    +    Pick(133 , 178, vars)
    +    s = GetPickOutput()
    +    NodePick(133 ,178 , vars)
    +    s = s + GetPickOutput()
    +
    +    DeleteAllPlots()
    +    AddPlot("Tensor", "grad_tensor")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +    v.imagePan = (-0.181384, 0.137462)
    +    SetView3D(v)
    +    v.imageZoom = 4.86765
    +    SetView3D(v)
    +
    +    Pick(127, 59)
    +    s = s + GetPickOutput()
    +    Pick(269, 166)
    +    s = s + GetPickOutput()
    +    TestText("PickTensors", s)
    +    ResetView()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickMili():
    +    #'7144
    +    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
    +
    +    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
    +    AddOperator("Threshold")
    +    thresh = ThresholdAttributes()
    +    thresh.lowerBounds = (1.0)
    +    thresh.upperBounds = (1.0)
    +    thresh.listedVarNames = ("Primal/Shared/sand")
    +    SetOperatorOptions(thresh)
    +    SetTimeSliderState(77)
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0.761946, 0.114249, -0.637483)
    +    v.focus = (2, -4.76837e-07, -1.43051e-06)
    +    v.viewUp = (-.133671, -.990866, 0.0178134)
    +    v.viewAngle = 30
    +    v.parallelScale = 15.7797
    +    v.nearPlane = -31.5595
    +    v.farPlane = 31.5595
    +    SetView3D(v)
    +
    +    vars = "default"
    +    Pick(100, 150, vars)
    +    s = GetPickOutput()
    +    NodePick(100, 150, vars)
    +    s = s + GetPickOutput()
    +
    +    RemoveLastOperator()
    +
    +    #'7145
    +    AddPlot("Mesh", "mesh1")
    +    SetActivePlots((0, 1))
    +    AddOperator("Clip")
    +    clip = ClipAttributes()
    +    clip.plane1Status = 1
    +    clip.plane1Origin = (8, 7.77778, -10)
    +    clip.plane1Normal = (1, 0, 0)
    +    SetOperatorOptions(clip)
    +    SetTimeSliderState(77)
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (1, 0, 6.12307e-17)
    +    v.focus = (10.5296, -0.00138283, -0.000236511)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 19.0748
    +    v.nearPlane = -38.1495
    +    v.farPlane = 38.1495
    +    SetView3D(v)
    +
    +    Pick(204, 215, vars)
    +    s = s + GetPickOutput()
    +    NodePick(204, 215, vars)
    +    s = s + GetPickOutput()
    +    TestText("PickMili", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickContour():
    +    #'7144
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +    AddPlot("Contour", "d")
    +    contour = ContourAttributes()
    +    contour.contourNLevels = 4
    +    SetPlotOptions(contour)
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.582341, 0.658239, 0.477075)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.402453, 0.743318, -0.534331)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    SetView3D(v)
    +
    +    vars = "default"
    +    Pick(166, 138, vars)
    +    s = GetPickOutput()
    +    NodePick(166, 138, vars)
    +    s = s + GetPickOutput()
    +    Pick(160, 175, vars)
    +    s = s + GetPickOutput()
    +    NodePick(160, 175, vars)
    +    s = s + GetPickOutput()
    +    Pick(158, 210, vars)
    +    s = s + GetPickOutput()
    +    NodePick(158, 210, vars)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickContour", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickBox():
    +    #'7566
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Box")
    +    box = BoxAttributes()
    +    box.minx = 0.2
    +    box.maxx = 0.8
    +    box.miny = 0.2
    +    box.maxy = 0.8
    +    SetOperatorOptions(box)
    +    AddPlot("Mesh", "quadmesh2d")
    +    DrawPlots()
    +
    +    vars = "default"
    +    SetActivePlots(0)
    +
    +    Pick(155, 140)
    +    s = GetPickOutput()
    +    NodePick(155, 140)
    +    s = s + GetPickOutput()
    +
    +    SetActivePlots(1)
    +    Pick(155, 140)
    +    s = s + GetPickOutput()
    +    NodePick(155, 140)
    +    s = s + GetPickOutput()
    +
    +
    +    DeleteAllPlots()
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Box")
    +    box.minx = 0.3
    +    box.maxx = 0.83
    +    box.miny = 0.3
    +    box.maxy = 0.83
    +    box.minz = 0
    +    box.maxz = 1
    +    SetOperatorOptions(box)
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.axisType = slice.YAxis
    +    slice.originType = slice.Intercept
    +    slice.originIntercept = 0.5
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +
    +    AddPlot("Mesh", "quadmesh3d")
    +    AddOperator("Slice")
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +    SetActivePlots(0)
    +    TurnMaterialsOff("8")
    +
    +    Pick(221, 230)
    +    s = s + GetPickOutput()
    +    Pick(206, 67)
    +    s = s + GetPickOutput()
    +    NodePick(221, 230)
    +    s = s + GetPickOutput()
    +    NodePick(206, 67)
    +    s = s + GetPickOutput()
    +
    +    SetActivePlots(1)
    +    Pick(221, 230)
    +    s = s + GetPickOutput()
    +    Pick(206, 67)
    +    s = s + GetPickOutput()
    +    NodePick(221, 230)
    +    s = s + GetPickOutput()
    +    NodePick(206, 67)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickBox", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickScatter():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Scatter", "hardyglobal")
    +    scatter = ScatterAttributes()
    +    scatter.var1= "hardyglobal"
    +    scatter.var2= "shepardglobal"
    +    scatter.var3= "radial"
    +    scatter.var3Role = scatter.Color
    +    scatter.scaleCube = 1
    +    SetPlotOptions(scatter)
    +    DrawPlots()
    +    Pick(124, 174)
    +    s = GetPickOutput()
    +
    +    scatter.scaleCube = 0
    +    SetPlotOptions(scatter)
    +    DrawPlots()
    +    ResetView()
    +    Pick(124, 174)
    +    s = s + GetPickOutput()
    +
    +
    +    DeleteAllPlots()
    +
    +    s = s + "Expressions used in Scatter\n";
    +    OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +    DefineScalarExpression("xc", "coord(mesh1)[0]")
    +    DefineScalarExpression("yc", "coord(mesh1)[1]")
    +    DefineScalarExpression("zc", "coord(mesh1)[2]")
    +    DefineScalarExpression("uvw_prod", "u*v*w")
    +    AddPlot("Scatter", "xc")
    +    scatter.var1 = "xc"
    +    scatter.var1Role = scatter.Coordinate0
    +    scatter.var2 = "yc"
    +    scatter.var2Role = scatter.Coordinate1
    +    scatter.var3 = "zc"
    +    scatter.var3Role = scatter.Coordinate2
    +    scatter.var4 = "uvw_prod"
    +    scatter.var4Role = scatter.Color
    +    SetPlotOptions(scatter)
    +    DrawPlots()
    +    ResetView()
    +
    +    Pick(100, 200)
    +    s = s + GetPickOutput()
    +
    +    s = s + "Mix up the coordinates\n";
    +    scatter.var1Role = scatter.Coordinate1
    +    scatter.var2Role = scatter.Coordinate0
    +    SetPlotOptions(scatter)
    +    DrawPlots()
    +    Pick(100, 200)
    +    s = s + GetPickOutput()
    +
    +    TestText("PickScatter", s)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickHighlight():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    pickAtts = GetPickAttributes()
    +    pickAtts.showPickHighlight = 1
    +    SetPickAttributes(pickAtts)
    +    DrawPlots()
    +    PickByZone(116242)
    +    Test("PickHighlight_01")
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +    OpenDatabase(silo_data_path("global_node.silo"))
    +    AddPlot("Pseudocolor", "p")
    +    DrawPlots()
    +
    +    # bug '3880 -- global id highlights incorrect cell.
    +    origAtts = GetPickAttributes()
    +    pickAtts = origAtts
    +    pickAtts.showPickHighlight = 1
    +    pickAtts.showPickLetter = 1
    +    SetPickAttributes(pickAtts)
    +
    +    PickByGlobalZone(236919)
    +    Test("GlobalHighlight_00")
    +
    +    SetPickAttributes(origAtts)
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +    #restore the attributes
    +    annotAtts  = GetAnnotationAttributes()
    +    annotAtts.userInfoFlag = 1
    +    annotAtts.axes3D.xAxis.title.visible = 1
    +    annotAtts.axes3D.yAxis.title.visible = 1
    +    annotAtts.axes3D.zAxis.title.visible = 1
    +    annotAtts.axes3D.bboxFlag = 1;
    +    annotAtts.axes3D.triadFlag = 1;
    +    SetAnnotationAttributes(annotAtts)
    +
    +def PickHighlightColor():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    pickAtts = GetPickAttributes()
    +    pickAtts.showPickHighlight  = 1
    +    pickAtts.pickHighlightColor = (0, 0, 255)
    +    SetPickAttributes(pickAtts)
    +    DrawPlots()
    +    PickByZone(116242)
    +    Test("PickHighlightColor_01")
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    #restore the attributes
    +    pickAtts.pickHighlightColor = (255, 0, 0)
    +    SetPickAttributes(pickAtts)
    +    annotAtts  = GetAnnotationAttributes()
    +    annotAtts.userInfoFlag = 1
    +    annotAtts.axes3D.xAxis.title.visible = 1
    +    annotAtts.axes3D.yAxis.title.visible = 1
    +    annotAtts.axes3D.zAxis.title.visible = 1
    +    annotAtts.axes3D.bboxFlag = 1;
    +    annotAtts.axes3D.triadFlag = 1;
    +    SetAnnotationAttributes(annotAtts)
    +
    +def PickRange():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    pickAtts = GetPickAttributes()
    +    pickAtts.showPickHighlight = 1
    +    SetPickAttributes(pickAtts)
    +    DrawPlots()
    +    options = {}
    +    options["pick_range"] = "116242-116300, 116350,1"
    +    PickByZone(options)
    +    Test("PickRange_01")
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickLines3D():
    +    OpenDatabase(silo_data_path("ucd_lines3d.silo"))
    +    AddPlot("Mesh", "ucd_linesmesh3d")
    +    DrawPlots()
    +
    +    ZonePick(113,182)
    +    s = GetPickOutput();
    +    ZonePick(134,107)
    +    s = s + GetPickOutput();
    +    ZonePick(177,151)
    +    s = s + GetPickOutput();
    +
    +    NodePick(126,161)
    +    s = s + GetPickOutput();
    +    NodePick(203,130)
    +    s = s + GetPickOutput();
    +    NodePick(150,193)
    +    s = s + GetPickOutput();
    +
    +    # rotate, so lines closer to camera are reversed.
    +    v = GetView3D()
    +    v.viewNormal=(0,0,-1)
    +    SetView3D(v)
    +
    +    ZonePick(149,168)
    +    s = s + GetPickOutput();
    +    ZonePick(139,97)
    +    s = s + GetPickOutput();
    +    ZonePick(191,206)
    +    s = s + GetPickOutput();
    +
    +    NodePick(161,73)
    +    s = s + GetPickOutput();
    +    NodePick(173,159)
    +    s = s + GetPickOutput();
    +    NodePick(54,153)
    +    s = s + GetPickOutput();
    +
    +    TestText("PickLines3D", s)
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickZoneLabel():
    +    OpenDatabase(data_path("mili_test_data/single_proc/sslide14ball_l.plt.mili"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
    +    DrawPlots()
    +    options = {}
    +    options["element_label"] = "shell 9"
    +    options["vars"] = "OriginalZoneLabels"
    +    PickByZoneLabel(options)
    +    s = GetPickOutput()
    +    TestText("PickByZoneLabel",s)
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickNodeLabel():
    +    OpenDatabase(data_path("mili_test_data/single_proc/sslide14ball_l.plt.mili"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
    +    DrawPlots()
    +    options = {}
    +    options["element_label"] = "node 93"
    +    options["vars"] = "OriginalNodeLabels"
    +    PickByNodeLabel(options)
    +    s = GetPickOutput()
    +    TestText("PickByNodeLabel",s)
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def PickRangeLabel():
    +    OpenDatabase(data_path("mili_test_data/single_proc/d3samp6.plt.mili"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
    +    DrawPlots()
    +
    +    SetPickAttributes(defaultAtts)
    +
    +    options = {}
    +    options["element_label"] = "shell"
    +    options["return_curves"] = 1
    +    options["start_time"] = 0
    +    options["end_time"] = 2
    +    options["pick_range"] = "4-5,9"
    +    options["vars"] = "OriginalZoneLabels"
    +
    +    output_dict = PickByZoneLabel(options)
    +    # use json.dumps for dictionary object, makes for easier parsing
    +    # of diffs when there are errors
    +    TestText("PickRangeByZoneLabel",json.dumps(output_dict, indent=2))
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestRemovePicks():
    +    OpenDatabase(silo_data_path("noise.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    pickAtts = GetPickAttributes()
    +    pickAtts.showPickHighlight = 1
    +    SetPickAttributes(pickAtts)
    +    DrawPlots()
    +
    +    PickByZone(0)
    +    PickByZone(5)
    +    PickByZone(35)
    +    PickByZone(18)
    +    Test("RemovePicks_01")
    +    to_remove = "A, C, D"
    +    expected  = to_remove
    +    removed   = RemovePicks(to_remove)
    +    Test("RemovePicks_02")
    +
    +    #check that the returned list matches
    +    #what we expect
    +    TestValueEQ("Removed expected picks", removed, expected)
    +    ClearPickPoints()
    +
    +    PickByZone(0)
    +    PickByZone(18)
    +    Test("RemovePicks_03")
    +    to_remove = "A, C, D, E"
    +    expected  = "E"
    +    removed   = RemovePicks(to_remove)
    +    Test("RemovePicks_04")
    +
    +    TestValueEQ("Removed expected picks 2", removed, expected)
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestRemoveLabeledPicks():
    +    OpenDatabase(data_path("mili_test_data/single_proc/sslide14ball_l.plt.mili"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "Primal/shell/bend_magnitude")
    +    pickAtts = GetPickAttributes()
    +    pickAtts.showPickHighlight = 1
    +    SetPickAttributes(pickAtts)
    +    DrawPlots()
    +
    +    options = {}
    +    options["element_label"] = "shell 1"
    +    PickByZoneLabel(options)
    +    options["element_label"] = "shell 2"
    +    PickByZoneLabel(options)
    +    options["element_label"] = "shell 5"
    +    PickByZoneLabel(options)
    +
    +    Test("RemoveLabeledPicks_00")
    +    to_remove = "shell 1, shell 2, shell 19"
    +    removed   = RemovePicks(to_remove)
    +    Test("RemoveLabeledPicks_01")
    +
    +    expected = "shell 1, shell 2"
    +    TestValueEQ("Removed expected shell", expected, removed)
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestSwivelFocus():
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetView()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Mesh", "mesh1")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.461806, -0.673199, 0.577526)
    +    v.focus = (0., 0., 0.)
    +    v.viewUp = (-0.243052, 0.722237, 0.647532)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0.341463, 0.234840)
    +    v.imageZoom = 1.21
    +    SetView3D(v)
    +
    +    orig_atts = GetPickAttributes()
    +    fh_atts   = GetPickAttributes()
    +    fh_atts.swivelFocusToPick = 1
    +    SetPickAttributes(fh_atts)
    +
    +    PickByNode(element=707)
    +    Test("SwivelFocus_00")
    +
    +    SetPickAttributes(orig_atts)
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestSwivelHighlight():
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetView()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "v")
    +    DrawPlots()
    +    orig_atts = GetPickAttributes()
    +    fh_atts   = GetPickAttributes()
    +    fh_atts.overridePickLabel = 1
    +    fh_atts.forcedPickLabel   = "fhpick"
    +    fh_atts.showPickHighlight = 1
    +    fh_atts.swivelFocusToPick = 1
    +    fh_atts.showPickLetter    = 0
    +    SetPickAttributes(fh_atts)
    +
    +    PickByZone(element=580)
    +    Test("SwivelHighlight_00")
    +
    +    SetPickAttributes(orig_atts)
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestNodeHighlight():
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetView()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "v")
    +    DrawPlots()
    +
    +    pAtts = GetPickAttributes()
    +    pAtts.showPickHighlight = 1
    +    pAtts.pickHighlightColor = (230, 100, 0)
    +    SetPickAttributes(pAtts)
    +    PickByNode(800)
    +    pAtts.pickHighlightColor = (0, 0, 255)
    +    SetPickAttributes(pAtts)
    +    PickByNode(600)
    +    pAtts.pickHighlightColor = (255, 0, 0)
    +    SetPickAttributes(pAtts)
    +    PickByNode(1000)
    +    Test("NodeHighlight_00")
    +
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +
    +def TestTranslatedHighlight():
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetView()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "v")
    +    AddOperator("Transform")
    +
    +    TransformAtts = TransformAttributes()
    +    TransformAtts.doScale = 1
    +    TransformAtts.scaleOrigin = (0, 0, 0)
    +    TransformAtts.scaleX = 1
    +    TransformAtts.scaleY = 2
    +    TransformAtts.scaleZ = 1
    +    TransformAtts.doTranslate = 1
    +    TransformAtts.translateX = 100
    +    SetOperatorOptions(TransformAtts)
    +
    +    DrawPlots()
    +
    +    pAtts = GetPickAttributes()
    +    pAtts.showPickHighlight = 1
    +    SetPickAttributes(pAtts)
    +
    +    PickByZone(element=580)
    +    Test("TranslatedHighlight_00")
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +
    +def TestPickingExpression():
    +    ResetPickAttributes()
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    ResetView()
    +
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +    TurnOffAllAnnotations()
    +    AddPlot("Pseudocolor", "mesh_quality/jacobian")
    +
    +    DrawPlots()
    +
    +    PickByZone(element=100)
    +    result = GetPickOutput()
    +    PickByNode(element=100)
    +    result += GetPickOutput()
    +    TestText("TestPickingExpression_00", result)
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +    CloseDatabase(silo_data_path("curv3d.silo"))
    +
    +
    +def PickMain():
    +    Pick3DTo2D()
    +    Pick2D()
    +    PickOnionPeel()
    +    PickSubset()
    +    PickMatFracsThreshold()
    +    PickReflect()
    +    PickFilledBoundary()
    +    PickMultiBlock()
    +    PickSurface()
    +    PickBigSilMat()
    +    PickOnionPeel2()
    +    PickSpecMix()
    +    PickCurve()
    +    PickMultiWindow()
    +    PickAfterEngineClosed()
    +    PickAfterEngineCrashed()
    +    PickBoundary()
    +    PickVectorPlots()
    +    PickPointMeshes()
    +    PickGlobalIds()
    +    PickExpressions()
    +    PickAMR()
    +    PickSamrai()
    +    PickIndexSelect()
    +    PickTensors()
    +    PickMili()
    +    PickContour()
    +    PickBox()
    +    PickScatter()
    +    PickHighlight()
    +    PickHighlightColor()
    +    PickRange()
    +    TestRemovePicks()
    +    TestRemoveLabeledPicks()
    +    PickLines3D()
    +    PickZoneLabel()
    +    PickNodeLabel()
    +    PickRangeLabel()
    +    TestSwivelFocus()
    +    TestSwivelHighlight()
    +    TestNodeHighlight()
    +    TestTranslatedHighlight()
    +    TestPickingExpression()
    +
    +# Call the main function
    +TurnOnAllAnnotations()
    +PickMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_pickarray.html b/2023-11-08-22:00/pascal_trunk_serial/queries_pickarray.html new file mode 100644 index 000000000..6a6d34f53 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_pickarray.html @@ -0,0 +1,86 @@ + +Results for queries/pickarray.py + +

    Results of VisIt Regression Test - queries/pickarray

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    pickarray_010 modifications totalling 0 lines
    pickarray_020.000.00
    pickarray_030 modifications totalling 0 lines
    pickarray_040.000.00
    pickarray_050 modifications totalling 0 lines
    pickarray_060 modifications totalling 0 lines
    pickarray_070.000.00
    pickarray_080 modifications totalling 0 lines
    pickarray_090.000.00
    pickarray_100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_pickarray_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_pickarray_py.html new file mode 100644 index 000000000..a20293f50 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_pickarray_py.html @@ -0,0 +1,137 @@ +queries/pickarray.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pickarray.py
    +#  Tests:      queries     - Pick on array variables
    +#
    +#  Defect ID:  '6862, '3191, '7323, '7324
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 25, 2006
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Sep  5 17:08:59 PDT 2006
    +#    Add more tests for indexing bug ['7324].
    +#
    +#    Kathleen Bonnell, Wed Oct 18 11:43:27 PDT 2006 
    +#    Add more tests for bug '7498.
    +#
    +#    Hank Childs, Fri Jan  5 13:51:41 PST 2007
    +#    Add tests for time varying databases ['7323].
    +#
    +#    Hank Childs, Fri Jan 12 17:31:15 PST 2007
    +#    Added tests for array variables with bin widths.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor","d")
    +DrawPlots()
    +
    +DefineArrayExpression("arr", "array_compose(d, p)")
    +Pick((0.5, 0.5), "arr")
    +text = GetPickOutput()
    +TestText("pickarray_01", text)
    +
    +SetActiveWindow(2)
    +SetAnnotationAttributes(a)
    +
    +Test("pickarray_02")
    +
    +# Now make sure future picks cause the window to update.
    +SetActiveWindow(1)
    +Pick((0.5, 1.0), "arr")
    +text = GetPickOutput()
    +TestText("pickarray_03", text)
    +
    +SetActiveWindow(2)
    +Test("pickarray_04")
    +
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +DefineArrayExpression("arr2", "array_compose(u, v)")
    +ZonePick((0.29, 0.47, 5.0), "arr2")
    +text = GetPickOutput()
    +TestText("pickarray_05", text)
    +
    +#  bug '7498.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +DefineArrayExpression("arr3", "array_compose(dx, dy, dz)")
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +vars = ("u", "arr3")
    +Pick(128, 107, vars)
    +text = GetPickOutput() + "\n"
    +
    +e = ExportDBAttributes()
    +e.db_type = "VTK"
    +e.filename = "globe_temp"
    +e.variables = ("u", "dx", "dy")
    +ExportDatabase(e)
    +ReplaceDatabase("globe_temp.vtk")
    +Pick(128, 107, vars)
    +text += GetPickOutput()
    +text += "\n"
    +
    +DeleteExpression("arr3")
    +DefineArrayExpression("arr3", "array_compose(dx, dy)")
    +Pick(128, 107, vars)
    +text += GetPickOutput()
    +TestText("pickarray_06", text)
    +
    +#  bug '7323
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +SetActiveWindow(2)
    +DeleteAllPlots()
    +SetActiveWindow(1)
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor", "pressure")
    +TimeSliderSetState(34)
    +DrawPlots()
    +ZonePick((0.29, 0.47, 5.0), "arr2")
    +SetActiveWindow(2)
    +Test("pickarray_07")
    +Query("Cycle")
    +output = GetQueryOutputString()
    +TestText("pickarray_08", output)
    +
    +DeleteAllPlots()
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +DefineArrayExpression("arr4", "array_compose_with_bins(dx, dy, [0, 0.5, 1.5])")
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +vars = ("u", "arr4")
    +Pick(128, 107, vars)
    +SetActiveWindow(2)
    +ResetView()
    +Test("pickarray_09")
    +
    +h = HistogramAttributes()
    +h.useBinWidths = 0
    +h.basedOn = h.ManyVarsForSingleZone
    +SetPlotOptions(h)
    +ResetView()
    +Test("pickarray_10")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_pickcleanzonesonly.html b/2023-11-08-22:00/pascal_trunk_serial/queries_pickcleanzonesonly.html new file mode 100644 index 000000000..6f5bbd6f4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_pickcleanzonesonly.html @@ -0,0 +1,48 @@ + +Results for queries/pickcleanzonesonly.py + +

    Results of VisIt Regression Test - queries/pickcleanzonesonly

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    PickCleanZonesOnly10 modifications totalling 0 lines
    PickCleanZonesOnly20 modifications totalling 0 lines
    PickCleanZonesOnly30 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_pickcleanzonesonly_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_pickcleanzonesonly_py.html new file mode 100644 index 000000000..1a65881fc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_pickcleanzonesonly_py.html @@ -0,0 +1,57 @@ +queries/pickcleanzonesonly.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  pickcleanzonesonly.py
    +#  Tests:      queries     - Pick on mixed zones of clean zones only
    +#
    +#  Defect ID:  VisIt00003894
    +#
    +#  Programmer: Jeremy Meredith
    +#  Date:       October 30, 2003
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004 
    +#    Slice defaults atts have changed, update accordingly. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +# Make a sliced filled boundary plot with clean zones only enabled
    +TurnOnAllAnnotations()
    +OpenDatabase(silo_data_path("ucd3d.silo"))
    +
    +AddPlot("FilledBoundary","mat1")
    +f=FilledBoundaryAttributes()
    +f.cleanZonesOnly=1
    +SetPlotOptions(f)
    +AddOperator("Slice")
    +s=SliceAttributes()
    +s.axisType=s.YAxis
    +s.originIntercept = .01
    +s.project2d=1
    +SetOperatorOptions(s)
    +DrawPlots()
    +
    +# Pick on one of the mixed zones
    +Pick((-3.5,10.1))
    +text = GetPickOutput()
    +TestText("PickCleanZonesOnly1", text)
    +
    +# Change the slice position and do it again
    +s.axisType=s.ZAxis
    +s.originIntercept=3.
    +SetOperatorOptions(s)
    +Pick((-1,3.2))
    +text = GetPickOutput()
    +TestText("PickCleanZonesOnly2", text)
    +
    +# Remove the slice and do it again
    +RemoveAllOperators()
    +Pick((3,2,19))
    +text = GetPickOutput()
    +TestText("PickCleanZonesOnly3", text)
    +
    +# All done!
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_py_queries.html b/2023-11-08-22:00/pascal_trunk_serial/queries_py_queries.html new file mode 100644 index 000000000..f7e1a497c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_py_queries.html @@ -0,0 +1,44 @@ + +Results for queries/py_queries.py + +

    Results of VisIt Regression Test - queries/py_queries

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    py_queries_000 modifications totalling 0 lines
    py_queries_010 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_py_queries_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_py_queries_py.html new file mode 100644 index 000000000..75481378b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_py_queries_py.html @@ -0,0 +1,40 @@ +queries/py_queries.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  py_queires.py
    +#
    +#  Tests:      python filters / python queries
    +#              plots     - Pseudocolor
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Fri May 21 09:14:07 PDT 2010
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +import os
    +from os.path import join as pjoin
    +
    +def script_path(sname):
    +    return pjoin(os.path.split(TestScriptPath())[0],sname)
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +
    +PythonQuery(file=script_path("py_query_script_00.vpq"))
    +res = GetQueryOutputString()
    +TestText("py_queries_00",res + "\n")
    +
    +PythonQuery(file=script_path("py_query_script_01.vpq"),vars=["default","p"],args=["test",0.0,[1,2.0,3]])
    +res = GetQueryOutputString()
    +TestText("py_queries_01",res + "\n")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_queriesOverTime.html b/2023-11-08-22:00/pascal_trunk_serial/queries_queriesOverTime.html new file mode 100644 index 000000000..dde9a8467 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_queriesOverTime.html @@ -0,0 +1,324 @@ + +Results for queries/queriesOverTime.py + +

    Results of VisIt Regression Test - queries/queriesOverTime

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    AllTimeQueries_010.000.00
    AllTimeQueries_020.000.00
    AllTimeQueries_030.000.00
    AllTimeQueries_040.000.00
    AllTimeQueries_050.000.00
    AllTimeQueries_060.000.00
    AllTimeQueries_070.000.00
    FBTimeQuery_010.000.00
    FBTimeQuery_020.000.00
    TimeQuery_ops_010.000.00
    TimeQuery_ops_020.000.00
    TimeQuery_expr_010.000.00
    TimeQuery_expr_020.000.00
    TimeQuery_expr_030.000.00
    TimeQuery_trans_010.000.00
    TimeQuery_trans_020.000.00
    SpecifyTimeQueryWindow_010.000.00
    SpecifyTimeQueryWindow_020.000.00
    SpecifyTimeQueryWindow_030.000.00
    TimeQuery_sil_010.000.00
    QueryAfterQueryOverTime0 modifications totalling 0 lines
    TimeQuery_mili_010.000.00
    TimeQuery_mili_020.000.00
    TimeQuery_mili_030.000.00
    TimeQuery_mili_040.000.00
    TimePick_MultiVar_010.000.00
    TimePick_MultiVar_020.000.00
    TimePick_MultiVar_030.000.00
    TimePick_MultiVar_040.000.00
    TimePickRange_000.000.00
    TimePickRangeDict_000 modifications totalling 0 lines
    TimePickRange_010.000.00
    TimePickRangeDict_010 modifications totalling 0 lines
    TimePickRange_020.000.00
    TimePickRangeDict_020 modifications totalling 0 lines
    Pick Updated
     "" .eq. "" : True
    Timing Direct Database Query
     1.369887351989746 .le. 10 (prec=5) : True
    Direct_Database_Route_000.000.00
    Direct_Database_Route_010.000.00
    Direct_Database_Route_020.000.00
    Direct_Database_Route_030.000.00
    Direct_Database_Route_040.000.00
    Direct_Database_Route_050.000.00
    Direct_Database_Route_060.000.00
    Direct_Database_Route_070.000.00
    Direct_Database_Route_080.000.00
    Direct_Database_Route_090.000.00
    Direct_Database_Route_100.000.00
    Direct_Database_Route_110.000.00
    OperatorCreatedVar_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_queriesOverTime_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_queriesOverTime_py.html new file mode 100644 index 000000000..45663c656 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_queriesOverTime_py.html @@ -0,0 +1,1065 @@ +queries/queriesOverTime.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  queriesOverTime.py #
    +#  Tests:      queries     - Database
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Bonnell
    +#  Date:       March 31, 2004
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Tue Apr 13 13:00:15 PDT 2004
    +#    Rename surface area query.
    +#
    +#    Kathleen Bonnell, Tue Apr 20 09:42:30 PDT 2004
    +#    Added TestFilledBoundary.
    +#
    +#    Kathleen Bonnell, Tue Apr 27 12:10:44 PDT 2004
    +#    Added TestExpressions, TestOperators.
    +#
    +#    Kathleen Bonnell, Thu Jun 24 09:49:35 PDT 2004
    +#    Added TestTransientVariable.
    +#
    +#    Kathleen Bonnell, Wed Jul 21 16:51:31 PDT 2004
    +#    Added TestSpecifyTimeQueryWindow.
    +#
    +#    Kathleen Bonnell, Wed Sep  8 10:53:58 PDT 2004
    +#    Renamed 'WorldPick' as 'Pick'.
    +#
    +#    Kathleen Bonnell, Mon Dec 20 15:54:04 PST 2004
    +#    Changed 'Variable by Node' to 'PickByNode'.
    +#
    +#    Kathleen Bonnell, Thu Jan  6 11:06:29 PST 2005
    +#    Added TestTimeVaryingSIL.
    +#
    +#    Kathleen Bonnell, Wed Mar 16 11:13:40 PST 2005
    +#    Added TestQueryAfterQueryOverTime.
    +#
    +#    Kathleen Bonnell, Wed Jul  6 16:21:34 PDT 2005
    +#    Added TestMili.
    +#
    +#    Kathleen Bonnell, Thu Nov 10 08:21:54 PST 2005
    +#    Added TrajectoryByZone to TestMili.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Fri Feb  5 09:27:37 PST 2010
    +#    Turn off color cycling to avoid possible propagation of error from
    +#    one failed test to several.
    +#
    +#    Kathleen Bonnell, Thu Mar  3 11:47:09 PST 2011
    +#    Added MultiVarTimePick tests.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Use named arguments.
    +#
    +#    Alister Maguire, Tue Oct 17 16:54:48 PDT 2017
    +#    Added TestPickRangeTimeQuery
    +#
    +#    Alister Maguire, Wed May  9 10:13:26 PDT 2018
    +#    Added TestReturnValue.
    +#
    +#    Alister Maguire, Wed May 30 14:16:28 PDT 2018
    +#    Added tests for performing pick ranges over time with and
    +#    without plotting and returning the curves.
    +#
    +#    Alister Maguire, Wed May 22 08:49:30 PDT 2019
    +#    Updated mili tests to reflect new plugin changes.
    +#
    +#    Alister Maguire, Tue Oct  1 11:48:15 MST 2019
    +#    Make sure to set use_actual_data to true when we want
    +#    to use data from the pipeline output.
    +#
    +#    Alister Maguire, Fri Oct 11 13:12:36 PDT 2019
    +#    Added TestDirectDatabaseRoute. I also updated several tests to
    +#    use actual data so that they continue to test the old QOT route.
    +#
    +#    Kathleen Biagas, Thu Jan 30 13:37:50 MST 2020
    +#    Added TestOperatorCreatedVar. (github bugs #2842, #3489).
    +#
    +#    Alister Maguire, Tue Feb 25 13:46:24 PST 2020
    +#    Added tests for handling vectors in the direct database route.
    +#
    +#    Alister Maguire, Mon Mar  9 15:16:36 PDT 2020
    +#    I've removed the use_actual_data flag for Pick queries as this
    +#    is now handled internally.
    +#
    +#    Alister Maguire, Thu Nov  5 08:22:15 PST 2020
    +#    Updated the multi-domain DDQOT test to ensure that the selected
    +#    element is not on processor 0 when run in parallel.
    +#
    +#    Alister Maguire, Fri Nov  6 10:06:22 PST 2020
    +#    Added more DirectDatabaseQOT tests that ensure verdict metrics
    +#    are able to be queried using this route.
    +#
    +#    Mark C. Miller, Mon Jan 11 10:37:07 PST 2021
    +#    Replace Assert-style with TestValue-style tests
    +#
    +#    Kathleen Biagas, Wed Feb 16 13:11:57 PST 2022
    +#    Replaced Curve atts 'cycleColors' with 'curveColorSource', 'color' with
    +#    'curveColor', and 'renderMode=RenderAsLines' with 'showLines'.
    +#
    +# ----------------------------------------------------------------------------
    +
    +RequiredDatabasePlugin(("PDB", "Mili", "SAMRAI"))
    +
    +def InitAnnotation():
    +    # Turn off most annotations
    +    a = AnnotationAttributes()
    +    a.axes2D.visible = 1
    +    a.axes2D.xAxis.label.visible = 1
    +    a.axes2D.yAxis.label.visible = 1
    +    a.axes2D.xAxis.title.visible = 1
    +    a.axes2D.yAxis.title.visible = 1
    +    a.axes3D.triadFlag = 0
    +    a.axes3D.bboxFlag = 0
    +    a.userInfoFlag = 0
    +    a.databaseInfoFlag = 0
    +    a.legendInfoFlag = 0
    +    a.backgroundMode = a.Solid
    +    a.foregroundColor = (0, 0, 0, 255)
    +    a.backgroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(a)
    +
    +def SetCurvePlotDefaults():
    +    # Disable Color Cycling, default to a blue curve.
    +    catts = CurveAttributes()
    +    catts.lineWidth = 0
    +    catts.curveColor = (0, 0, 255, 255)
    +    catts.showLabels = 1
    +    catts.designator = ""
    +    catts.showPoints = 0
    +    catts.showLegend = 1
    +    catts.curveColorSource = catts.Custom
    +    catts.showLines = 1
    +    SetDefaultPlotOptions(catts)
    +
    +
    +
    +def TestAllTimeQueries():
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    # Do some database queries.
    +    QueryOverTime("3D surface area")
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("AllTimeQueries_01")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Volume")
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_02")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Min")
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_03")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Max")
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_04")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Variable Sum")
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_05")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Weighted Variable Sum")
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_06")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    pa = GetPickAttributes()
    +    pa.doTimeCurve = 1
    +    pa.timePreserveCoord = 0
    +    SetPickAttributes(pa)
    +    PickByNode(15947)
    +    # reset some defaults
    +    pa.doTimeCurve = 0
    +    pa.timePreserveCoord = 1
    +    SetPickAttributes(pa)
    +    SetActiveWindow(2);
    +    Test("AllTimeQueries_07")
    +
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    DeleteAllPlots()
    +
    +def TestFilledBoundary():
    +    #  bug '4708
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("FilledBoundary", "Material")
    +    DrawPlots()
    +    TurnMaterialsOff(("1 barrier", "2 water"))
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("3D surface area")
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +
    +    Test("FBTimeQuery_01")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    TurnMaterialsOff(("1 barrier", "2 water"))
    +    QueryOverTime("3D surface area")
    +    SetActiveWindow(2)
    +    Test("FBTimeQuery_02")
    +
    +    # delete window 2
    +    DeleteWindow()
    +    # remove plots from window 1
    +    TurnMaterialsOn()
    +    DeleteAllPlots()
    +
    +def TestOperators():
    +    #  bug '4818
    +    OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    AddOperator("Isovolume")
    +    iso = IsovolumeAttributes()
    +    iso.lbound = 0.1
    +    iso.ubound = 1.0
    +    SetOperatorOptions(iso)
    +    DrawPlots()
    +
    +    SetActiveWindow(1)
    +    QueryOverTime("Volume", stride=10, use_actual_data=1)
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_ops_01")
    +
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "mesh_quality/jacobian")
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.axisType = slice.Arbitrary
    +    slice.normal = (-0.689, -0.0416, 0.7233)
    +    slice.originType = slice.Point
    +    slice.originPoint = (2.0011, -0.4084, -1.1279)
    +    slice.upAxis = (-0.08584, 0.996007, -0.0245)
    +    slice.project2d = 1
    +    SetOperatorOptions(slice)
    +
    +    DrawPlots()
    +    QueryOverTime("2D area", stride=10, use_actual_data=1)
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_ops_02")
    +
    +    # prepare for next test-set
    +    # delete plots from window 2 & l
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestExpressions():
    +    #bug '4784
    +    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +    AddPlot("Pseudocolor", "mesh/ireg")
    +    pa = PseudocolorAttributes()
    +    pa.minFlag = 1
    +    pa.maxFlag = 1
    +    pa.min = 1
    +    pa.max = 4
    +    SetPlotOptions(pa)
    +    DrawPlots()
    +
    +    pt = (4., 3., 0.)
    +    pick = GetPickAttributes()
    +    pick.doTimeCurve = 1
    +    SetPickAttributes(pick)
    +    Pick(pt)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_expr_01")
    +
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    # test a scalar expression
    +    OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +    DefineScalarExpression("p2", "pressure*pressure")
    +    AddPlot("Pseudocolor", "p2")
    +    DrawPlots()
    +
    +    QueryOverTime("Variable Sum", stride=10)
    +    SetActiveWindow(2)
    +    Test("TimeQuery_expr_02")
    +
    +    # prepare for next test-set
    +    # delete plots from window 2 & l
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +    DefineScalarExpression("m", "matvf(material, 1)")
    +    AddPlot("Pseudocolor", "m")
    +    DrawPlots()
    +
    +    QueryOverTime("Variable Sum")
    +    SetActiveWindow(2)
    +    Test("TimeQuery_expr_03")
    +
    +    # prepare for next test-set
    +    # delete plots from window 2 & l
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +
    +
    +def TestTransientVariable():
    +    #bug '4906
    +
    +    # Do what is necessary to get access to the transient variable,
    +    # because QueryOverTime requires an active drawn plot.
    +    db = silo_data_path("wave_tv*.silo database")
    +    OpenDatabase(db)
    +    SetTimeSliderState(17)
    +    ReOpenDatabase(db)
    +    AddPlot("Pseudocolor", "transient")
    +    DrawPlots()
    +
    +    qt = GetQueryOverTimeAttributes()
    +    qt.timeType = qt.Timestep
    +    SetQueryOverTimeAttributes(qt)
    +
    +    QueryOverTime("Variable Sum")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_trans_01")
    +
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    pick = GetPickAttributes()
    +    pick.doTimeCurve = 1
    +    pick.timePreserveCoord = 0
    +    SetPickAttributes(pick)
    +    PickByNode(327)
    +
    +    pick.doTimeCurve = 0
    +    pick.timePreserveCoord = 1
    +    SetPickAttributes(pick)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_trans_02")
    +
    +    # Prepare for next test
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestSpecifyTimeQueryWindow():
    +    # bug '5163
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    qt = GetQueryOverTimeAttributes()
    +    qt.timeType = qt.Timestep
    +    SetQueryOverTimeAttributes(qt)
    +
    +    QueryOverTime("3D surface area")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("SpecifyTimeQueryWindow_01")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    TurnMaterialsOff(("1 barrier"))
    +    DrawPlots()
    +
    +    qot = GetQueryOverTimeAttributes()
    +    qot.createWindow = 0
    +    qot.windowId = 3
    +    SetQueryOverTimeAttributes(qot)
    +
    +    QueryOverTime("3D surface area")
    +
    +    SetActiveWindow(3)
    +    InitAnnotation()
    +    Test("SpecifyTimeQueryWindow_02")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    TurnMaterialsOff(("2 water"))
    +    DrawPlots()
    +
    +    qot.windowId = 2
    +    SetQueryOverTimeAttributes(qot)
    +
    +    QueryOverTime("3D surface area")
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("SpecifyTimeQueryWindow_03")
    +
    +    # Prepare for next test
    +    DeleteAllPlots()
    +    DeleteWindow()
    +    SetActiveWindow(3)
    +    DeleteWindow()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestTimeVaryingSIL():
    +    #bug '5473
    +    OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +
    +    cfileName = "./temp.curve"
    +    curveFile = open(cfileName, "wt")
    +    curveFile.write("#3D surface area\n")
    +    nframes = TimeSliderGetNStates()
    +    for i in range(nframes):
    +        Query("3D surface area")
    +        val = GetQueryOutputValue()
    +        curveFile.write("%g %g\n" % (i, val))
    +        TimeSliderNextState()
    +
    +    curveFile.close()
    +
    +    AddWindow()
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    OpenDatabase(cfileName)
    +    AddPlot("Curve", "3D surface area")
    +    DrawPlots()
    +
    +    SetActiveWindow(1)
    +
    +    # Go ahead and use default plot for now.
    +    qt = GetQueryOverTimeAttributes()
    +    qt.timeType = qt.Timestep
    +    qt.createWindow = 0
    +    qt.windowId = 2
    +    SetQueryOverTimeAttributes(qt)
    +
    +    QueryOverTime("3D surface area")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    cv = GetViewCurve();
    +    cv.domainCoords = (-0.534115, 10.5341)
    +    cv.rangeCoords = (4029.87, 5856.13)
    +    SetViewCurve(cv)
    +
    +    SetActivePlots((0, 1))
    +    c = CurveAttributes()
    +    c.showPoints = 1
    +    SetPlotOptions(c)
    +
    +    Query("Area Between Curves")
    +    s = GetQueryOutputString()
    +    text = CreateAnnotationObject("Text2D")
    +    text.text =  s
    +    text.height = 0.02
    +    text.position = (0.55, 0.4)
    +
    +    Test("TimeQuery_sil_01")
    +
    +    text.Delete()
    +    os.unlink(cfileName)
    +
    +    # Prepare for next test
    +    DeleteAllPlots()
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestQueryAfterQueryOverTime():
    +    # bug '5823
    +    OpenDatabase(silo_data_path("wave_tv.visit"))
    +
    +    SetTimeSliderState(17)
    +    ReOpenDatabase(silo_data_path("wave_tv.visit"))
    +
    +    AddPlot("Pseudocolor", "transient")
    +    DrawPlots()
    +
    +    QueryOverTime("Volume")
    +    Query("Volume")
    +    s = GetQueryOutputString()
    +    QueryOverTime("Max")
    +    Query("Max")
    +    s = s + GetQueryOutputString()
    +
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    # bug '6042
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +    TurnMaterialsOn()
    +    QueryOverTime("3D surface area", stride=10)
    +
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString()
    +    TestText("QueryAfterQueryOverTime", s)
    +
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestMili():
    +    # bug '6430
    +    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
    +
    +    AddPlot("Pseudocolor", "Primal/node/nodvel/vz")
    +    DrawPlots()
    +
    +    ResetQueryOverTimeAttributes()
    +
    +    QueryOverTime("Volume")
    +    SetActiveWindow(2)
    +    ResetView()
    +    InitAnnotation()
    +    Test("TimeQuery_mili_01")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    QueryOverTime("Max")
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_mili_02")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    p = GetPickAttributes()
    +    p.doTimeCurve = 1
    +    p.timePreserveCoord = 0
    +    SetPickAttributes(p)
    +    NodePick(122, 161)
    +
    +    p.doTimeCurve = 0
    +    SetPickAttributes(p)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("TimeQuery_mili_03")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    qvars = ("Primal/shell/edv1", "Primal/shell/edv2")
    +    QueryOverTime("TrajectoryByZone", element=242, vars=qvars)
    +    SetActiveWindow(2)
    +    ResetView()
    +    InitAnnotation()
    +    Test("TimeQuery_mili_04")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def MultiVarTimePick():
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    pa = GetPickAttributes()
    +    pa.doTimeCurve = 1
    +    pa.timeCurveType = pa.Single_Y_Axis
    +    SetPickAttributes(pa)
    +
    +    vars =("pressure", "v", "direction_magnitude")
    +    PickByNode(8837, vars)
    +
    +    SetActiveWindow(2);
    +    InitAnnotation()
    +    Test("TimePick_MultiVar_01")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    pa.timeCurveType = pa.Multiple_Y_Axes
    +    SetPickAttributes(pa)
    +    PickByNode(8837, vars)
    +
    +    SetActiveWindow(2);
    +    Test("TimePick_MultiVar_02")
    +    DeleteAllPlots()
    +
    +    # remove plots from window 1
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
    +
    +    AddPlot("Pseudocolor", "Primal/shell/inteng")
    +    DrawPlots()
    +
    +    pa.timePreserveCoord = 0
    +    pa.timeCurveType = pa.Single_Y_Axis
    +    SetPickAttributes(pa)
    +
    +    vars = ("default", "Primal/shell/normal_magnitude")
    +    PickByZone(233, vars)
    +
    +    SetActiveWindow(2);
    +    Test("TimePick_MultiVar_03")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    pa.timeCurveType = pa.Multiple_Y_Axes
    +    SetPickAttributes(pa)
    +    PickByZone(233, vars)
    +
    +    SetActiveWindow(2);
    +    Test("TimePick_MultiVar_04")
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +def TestPickRangeTimeQuery():
    +
    +    OpenDatabase(silo_data_path("wave_tv.visit"))
    +    SetTimeSliderState(17)
    +
    +    AddPlot("Pseudocolor", "v")
    +    DrawPlots()
    +
    +    pickAtts = GetPickAttributes()
    +    pickAtts.doTimeCurve = 0
    +    pickAtts.variables = ("default", "v")
    +    pickAtts.timeCurveType =  pickAtts.Single_Y_Axis
    +    SetPickAttributes(pickAtts)
    +
    +    #
    +    # Return the curves without plotting, and show
    +    # highlights.
    +    #
    +    pickAtts.showPickHighlight = 1
    +    SetPickAttributes(pickAtts)
    +    options = {}
    +    options["pick_range"] = "100-105, 100, 1"
    +    options["do_time"] = 0
    +    options["return_curves"] = 1
    +    output_dict = PickByZone(options)
    +
    +    Test("TimePickRange_00")
    +    # use json.dumps for dictionary object, makes for easier parsing
    +    # of diffs when there are errors
    +    TestText("TimePickRangeDict_00",json.dumps(output_dict, indent=2))
    +    ClearPickPoints()
    +
    +    #
    +    # Plot the curves, but don't return them.
    +    #
    +    pickAtts.showPickHighlight = 0
    +    SetPickAttributes(pickAtts)
    +    options = {}
    +    options["pick_range"] = "100-105, 100, 1"
    +    options["do_time"] = 1
    +    options["return_curves"] = 0
    +    options["start_time"] = 10
    +    options["end_time"] = 14
    +    options["stride"] = 2
    +    output_dict = PickByNode(options)
    +    SetActiveWindow(2)
    +    Test("TimePickRange_01")
    +    TestText("TimePickRangeDict_01",json.dumps(output_dict, indent=2))
    +    ClearPickPoints()
    +    SetActiveWindow(1)
    +
    +    #
    +    # Plot the curves, and return them.
    +    #
    +    pickAtts.showPickHighlight = 0
    +    SetPickAttributes(pickAtts)
    +    options = {}
    +    options["pick_range"] = "100-105"
    +    options["do_time"] = 1
    +    options["return_curves"] = 1
    +    options["start_time"] = 20
    +    options["end_time"] = 60
    +    options["stride"] = 2
    +    output_dict = PickByNode(options)
    +
    +    SetActiveWindow(2)
    +    Test("TimePickRange_02")
    +    TestText("TimePickRangeDict_02",json.dumps(output_dict, indent=2))
    +    SetActiveWindow(1)
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +    SetActiveWindow(1)
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestReturnValue():
    +    #
    +    # There used to be a bug where the return value
    +    # from previous picks would propagate to the following
    +    # time query. Let's make sure this isn't re-introduced.
    +    #
    +    OpenDatabase(silo_data_path("wave.visit"))
    +    AddPlot("Pseudocolor", "v")
    +    DrawPlots()
    +
    +    pickAtts = GetPickAttributes()
    +    pickAtts.doTimeCurve = 0
    +    pickAtts.variables = ("default", "v")
    +    pickAtts.timeCurveType =  pickAtts.Single_Y_Axis
    +    SetPickAttributes(pickAtts)
    +
    +    time1   = NodePick(coord=(3, .5, 3), do_time=1, start_time=0, end_time=70)
    +    no_time = NodePick(coord=(2, .2, 2), do_time=0)
    +    time2   = NodePick(coord=(3, .5, 3), do_time=1, start_time=0, end_time=70)
    +
    +    TestValueEQ("Pick Updated", type(time1), type(time2))
    +
    +    ClearPickPoints()
    +    DeleteAllPlots()
    +    ResetPickLetter()
    +
    +def TestDirectDatabaseRoute():
    +
    +    #
    +    # Cleanup any plots that haven't been deleted yet.
    +    #
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("mili_test_data/single_proc/d3samp6_10_longrun.plt.mili"))
    +    AddPlot("Pseudocolor", "Primal/Shared/edrate")
    +    DrawPlots()
    +
    +    element    = 116
    +    domain     = 0
    +    element    = 116
    +    preserve   = 0
    +    start      = 0
    +    stride     = 1
    +    stop       = 10000
    +    vars       = ("default")
    +
    +    #
    +    # First, let's time the query. This hard to predict because of it being dependent
    +    # on the machine's architecture, but we can make an educated guess. The direct
    +    # route should take under a second, and the old route should take at least
    +    # 30 seconds. We'll give ourselves a threshold of 10 seconds to be safe.
    +    #
    +    import time
    +    thresh = 10
    +    timer_start = time.time()
    +
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +
    +    timer_stop = time.time()
    +    res = timer_stop - timer_start
    +
    +    TestValueLE("Timing Direct Database Query", res, thresh)
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_00")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    #
    +    # Like the original QOT, the direct route creates a clone, but this clone
    +    # differs in that its resulting dataset will NOT match the original dataset.
    +    # Let's make sure the active dataset is being updated to the old plot by
    +    # performing a new pick (not through time).
    +    #
    +    PickByZone(do_time=0, domain=domain, element=element)
    +    Test("Direct_Database_Route_01")
    +
    +    #
    +    # Test basic range settings.
    +    #
    +    start  = 100
    +    stop   = 900
    +    stride = 10
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +    stride = 1
    +    start  = 0
    +    stop   = 10000
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_02")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "Primal/node/nodacc/ax")
    +    DrawPlots()
    +
    +    # This tests two things:
    +    #    1. Plotting a node pick curve.
    +    #    2. Using a direct route query on magnitude expression.
    +    #
    +    vars=("Primal/node/nodacc_magnitude")
    +    PickByNode(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_03")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    DeleteAllPlots()
    +    OpenDatabase(data_path("mili_test_data/single_proc/m_plot.mili"))
    +    AddPlot("Pseudocolor", "Primal/brick/stress/sx")
    +    DrawPlots()
    +
    +    #
    +    # Test plotting multiple variables at once.
    +    #
    +    element = 489
    +    vars=("Primal/brick/stress/sz", "Primal/brick/stress/sx")
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_04")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    #
    +    # Testing the multi curve plot.
    +    #
    +    PickByZone(curve_plot_type=1, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_05")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    #
    +    # Test multi-domain data.
    +    #
    +    DeleteAllPlots()
    +    OpenDatabase(data_path("mili_test_data/multi_proc/d3samp6.plt.mili"))
    +    AddPlot("Pseudocolor", "Primal/Shared/edrate")
    +    DrawPlots()
    +    domain = 5
    +    element = 14
    +    vars = ("default")
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_06")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    DeleteAllPlots()
    +
    +    #
    +    # Now let's test a variable that is not defined on all
    +    # timesteps.
    +    #
    +    db = silo_data_path("wave_tv*.silo database")
    +    OpenDatabase(db)
    +    SetTimeSliderState(17)
    +    ReOpenDatabase(db)
    +    AddPlot("Pseudocolor", "transient")
    +    DrawPlots()
    +
    +    pick = GetPickAttributes()
    +    pick.doTimeCurve = 1
    +    pick.timePreserveCoord = 0
    +    SetPickAttributes(pick)
    +    PickByNode(element=327)
    +
    +    pick.doTimeCurve = 0
    +    pick.timePreserveCoord = 1
    +    SetPickAttributes(pick)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("Direct_Database_Route_07")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    #
    +    # Next, let's test a vector plot. The vectors should be reduced
    +    # to their magnitudes.
    +    #
    +    AddPlot("Vector", "direction")
    +    DrawPlots()
    +
    +    pick = GetPickAttributes()
    +    pick.doTimeCurve = 1
    +    pick.timePreserveCoord = 0
    +    SetPickAttributes(pick)
    +    PickByNode(element=10)
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("Direct_Database_Route_08")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    #
    +    # Next, let's test using the direct database route on verdict metrics.
    +    #
    +    OpenDatabase(data_path("mili_test_data/single_proc/d3samp6.plt.mili"))
    +    AddPlot("Pseudocolor", "mesh_quality/mesh1/skew")
    +    DrawPlots()
    +
    +    domain     = 0
    +    element    = 116
    +    preserve   = 0
    +    start      = 0
    +    stride     = 1
    +    stop       = 10000
    +
    +    vars=("default")
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_09")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    #
    +    # This is a continuation of testing verdicts, but this is an edge case that should
    +    # be handled when plotting multiple variables. The case occurs when our active
    +    # variable does not depend on mesh coodinates, but we also request a variable that
    +    # requires mesh coordinates (like verdict). There is a re-ordering that needs to
    +    # take place during the request retrieval process.
    +    #
    +    AddPlot("Pseudocolor", "Primal/Shared/strain/ezx")
    +    DrawPlots()
    +
    +    vars=("default", "mesh_quality/mesh1/face_planarity")
    +    PickByZone(curve_plot_type=0, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_10")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +
    +    vars=("default", "mesh_quality/mesh1/face_planarity")
    +    PickByZone(curve_plot_type=1, vars=vars, do_time=1, domain=domain, element=element,
    +        preserve_coord=preserve, end_time=stop, start_time=start, stride=stride)
    +
    +    SetActiveWindow(2)
    +    Test("Direct_Database_Route_11")
    +    DeleteAllPlots()
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +
    +def TestOperatorCreatedVar():
    +    OpenDatabase(silo_data_path("wave.visit"))
    +    DefineVectorExpression("normals", "cell_surface_normal(quadmesh)")
    +
    +    AddPlot("Pseudocolor", "operators/Flux/quadmesh")
    +
    +    fluxAtts = FluxAttributes()
    +    fluxAtts.flowField = "direction"
    +    SetOperatorOptions(fluxAtts)
    +
    +    AddOperator("Slice")
    +    sliceAtts = SliceAttributes()
    +    sliceAtts.axisType = sliceAtts.Arbitrary
    +    sliceAtts.normal = (0, 1, 0)
    +    sliceAtts.originType = sliceAtts.Percent
    +    sliceAtts.originPercent = 50
    +    sliceAtts.project2d = 0
    +    SetOperatorOptions(sliceAtts)
    +
    +    AddOperator("DeferExpression")
    +    deferAtts = DeferExpressionAttributes()
    +    deferAtts.exprs = ("normals")
    +    SetOperatorOptions(deferAtts)
    +
    +    # we want slice before flux, so demote it
    +    DemoteOperator(1)
    +
    +    DrawPlots()
    +
    +    qt = GetQueryOverTimeAttributes()
    +    qt.timeType = qt.Cycle
    +    SetQueryOverTimeAttributes(qt)
    +
    +    QueryOverTime("Weighted Variable Sum")
    +
    +    SetActiveWindow(2)
    +    InitAnnotation()
    +    Test("OperatorCreatedVar_01")
    +
    +    DeleteAllPlots()
    +
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    DeleteExpression("normals")
    +    CloseDatabase(silo_data_path("wave.visit"))
    +
    +def TimeQueryMain():
    +    TestAllTimeQueries()
    +    TestFilledBoundary()
    +    TestOperators()
    +    TestExpressions()
    +    TestTransientVariable()
    +    TestSpecifyTimeQueryWindow()
    +    TestTimeVaryingSIL()
    +    TestQueryAfterQueryOverTime()
    +    TestMili()
    +    MultiVarTimePick()
    +    TestPickRangeTimeQuery()
    +    TestReturnValue()
    +    TestDirectDatabaseRoute()
    +    TestOperatorCreatedVar()
    +
    +# main
    +InitAnnotation()
    +SetCurvePlotDefaults()
    +TimeQueryMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_queryMultiWindow.html b/2023-11-08-22:00/pascal_trunk_serial/queries_queryMultiWindow.html new file mode 100644 index 000000000..98e1da156 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_queryMultiWindow.html @@ -0,0 +1,40 @@ + +Results for queries/queryMultiWindow.py + +

    Results of VisIt Regression Test - queries/queryMultiWindow

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    QueryMultiWindow0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_queryMultiWindow_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_queryMultiWindow_py.html new file mode 100644 index 000000000..0e4088f4c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_queryMultiWindow_py.html @@ -0,0 +1,154 @@ +queries/queryMultiWindow.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  queryMultiWindow.py #
    +#  Tests:      queries     - Database
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       May 19, 2004 
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Mon Dec 20 15:54:04 PST 2004
    +#    Changed 'Variable by Zone' to 'PickByZone' and 'Variable by Node' to
    +#    'PickByNode'.
    +#
    +#    Kathleen Bonnell, Thu Apr  3 10:00:48 PDT 2008 
    +#    Added tests from bug 8425. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Clean up unused / unnecessary query arguments. 
    +#
    +# ----------------------------------------------------------------------------
    +
    +def QueryMultiWindow():
    +    OpenDatabase(silo_data_path("wave*.silo database"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    SetTimeSliderState(31)
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, -1, 0)
    +    v.viewUp = (0, 0, 1)
    +    SetView3D(v)
    +
    +    CloneWindow()
    +    SetTimeSliderState(64)
    +    DrawPlots()
    +    ChangeActivePlotsVar("v")
    +
    +    s = "Window 1 queries:\n"
    +    SetActiveWindow(1)
    +    Query("MinMax")
    +    s = s + GetQueryOutputString()
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString() + "\n"
    +    PickByZone(7072)
    +    s = s + GetPickOutput() + "\n"
    +    PickByNode(11168)
    +    s = s + GetPickOutput() + "\n"
    +    Query("Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString() + "\n"
    +
    +
    +    s = s + "\nWindow 2 queries:\n"
    +    SetActiveWindow(2)
    +    Query("MinMax")
    +    s = s + GetQueryOutputString()
    +    Query("3D surface area")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("Volume")
    +    s = s + GetQueryOutputString() + "\n"
    +    PickByZone(7072)
    +    s = s + GetPickOutput() + "\n"
    +    PickByNode(11168)
    +    s = s + GetPickOutput() + "\n"
    +    Query("Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("NumNodes", use_actual_data=0)
    +    s = s + GetQueryOutputString() + "\n"
    +    Query("NumZones", use_actual_data=0)
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    #Delete window 2
    +    DeleteWindow()
    +    #Delete plots in window 1
    +    DeleteAllPlots()
    +
    +    #bug 8425 (multiple windows, same db, same timestate)
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    DefineScalarExpression("X", "coord(quadmesh3d)[0]")
    +    DefineScalarExpression("unnamed1", "X-1")
    +    DefineScalarExpression("unnamed2", "X-2")
    +    DefineScalarExpression("unnamed3", "X-3")
    +    SetWindowLayout(4)
    +    AddPlot("Pseudocolor", "unnamed1")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + "\n" + GetQueryOutputString() + "\n"
    +    SetActiveWindow(2)
    +    AddPlot("Pseudocolor", "unnamed2")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    SetActiveWindow(3)
    +    AddPlot("Pseudocolor", "unnamed3")
    +    DrawPlots()
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    SetActiveWindow(2)
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    SetActiveWindow(4)
    +    DeleteWindow()
    +    SetActiveWindow(3)
    +    DeleteWindow()
    +    SetActiveWindow(2)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +    #bug 8425 (multiple plots, same window, same db, same root var)
    +    OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +    DefineScalarExpression("p2", "p*p")
    +    DefineScalarExpression("p3", "p*p*p")
    +    AddPlot("Pseudocolor", "p")
    +    AddPlot("Pseudocolor", "p2")
    +    AddPlot("Pseudocolor", "p3")
    +    DrawPlots()
    +    SetActivePlots(0)
    +    Query("Weighted Variable Sum")
    +    s = s + "\n" + GetQueryOutputString() + "\n"
    +    SetActivePlots(1)
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +    SetActivePlots(2)
    +    Query("Weighted Variable Sum")
    +    s = s + GetQueryOutputString() + "\n"
    +
    +    TestText("QueryMultiWindow", s)
    +
    +    DeleteAllPlots()
    +
    +# Call the main function
    +TurnOnAllAnnotations()
    +QueryMultiWindow()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_revolved_surface_area.html b/2023-11-08-22:00/pascal_trunk_serial/queries_revolved_surface_area.html new file mode 100644 index 000000000..d9c789b72 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_revolved_surface_area.html @@ -0,0 +1,56 @@ + +Results for queries/revolved_surface_area.py + +

    Results of VisIt Regression Test - queries/revolved_surface_area

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    revolved_surface_area_010 modifications totalling 0 lines
    revolved_surface_area_020 modifications totalling 0 lines
    revolved_surface_area_030 modifications totalling 0 lines
    revolved_surface_area_040 modifications totalling 0 lines
    revolved_surface_area_050 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_revolved_surface_area_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_revolved_surface_area_py.html new file mode 100644 index 000000000..f50fbb437 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_revolved_surface_area_py.html @@ -0,0 +1,85 @@ +queries/revolved_surface_area.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  revolved_surface_area.py
    +#  Tests:      queries     - Revolved surface area of 2D plot.
    +#
    +#  Defect ID:  VisIt00004666, '3260, '3261
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 30, 2004
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Apr 29 07:40:58 PDT 2004 
    +#    Slice defaults atts have changed, update accordingly. 
    +#
    +#    Hank Childs, Thu Jan 12 15:57:52 PST 2006
    +#    Added additional tests ('3260, '3261).
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +# Test for topological dimension 2.
    +TurnOnAllAnnotations()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +Query("Revolved surface area")
    +text = GetQueryOutputString()
    +TestText("revolved_surface_area_01", text)
    +
    +
    +# Test with isosurface operator.
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +iso_atts = IsosurfaceAttributes();
    +iso_atts.contourValue = (.25)
    +iso_atts.contourMethod = iso_atts.Value
    +SetOperatorOptions(iso_atts)
    +DrawPlots()
    +
    +Query("Revolved surface area")
    +text = GetQueryOutputString()
    +TestText("revolved_surface_area_02", text)
    +
    +
    +# Test for boundary plot.
    +DeleteAllPlots()
    +AddPlot("Boundary", "mat1")
    +DrawPlots()
    +
    +Query("Revolved surface area")
    +text = GetQueryOutputString()
    +TestText("revolved_surface_area_03", text)
    +
    +
    +# Test with 3D, isosurface, slice.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +SetOperatorOptions(iso_atts)
    +AddOperator("Slice")
    +s = SliceAttributes()
    +s.originIntercept = 0.5
    +s.axisType = s.YAxis
    +SetOperatorOptions(s)
    +DrawPlots()
    +
    +Query("Revolved surface area")
    +text = GetQueryOutputString()
    +TestText("revolved_surface_area_04", text)
    +
    +RemoveLastOperator()
    +Query("Revolved surface area")
    +text = GetLastError()
    +TestText("revolved_surface_area_05", text)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_scf.html b/2023-11-08-22:00/pascal_trunk_serial/queries_scf.html new file mode 100644 index 000000000..95a8656c3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_scf.html @@ -0,0 +1,96 @@ + +Results for queries/scf.py + +

    Results of VisIt Regression Test - queries/scf

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    scf_010 modifications totalling 0 lines
    scf_01_obj0 modifications totalling 0 lines
    scf_01_default_txt0 modifications totalling 0 lines
    scf_01_default_obj0 modifications totalling 0 lines
    scf_01_override_txt0 modifications totalling 0 lines
    scf_01_override_obj0 modifications totalling 0 lines
    scf_020 modifications totalling 0 lines
    scf_030.000.00
    scf_03_override0.000.00
    scf_050 modifications totalling 0 lines
    scf_05_obj0 modifications totalling 0 lines
    scf_05_override_txt0 modifications totalling 0 lines
    scf_05_override_obj0 modifications totalling 0 lines
    scf_070 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_scf_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_scf_py.html new file mode 100644 index 000000000..4462b4633 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_scf_py.html @@ -0,0 +1,150 @@ +queries/scf.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scf.py
    +#  Tests:      queries     - spherical compactness factor
    +#
    +#  Defect ID:  VisIt00006385
    +#
    +#  Programmer: Hank Childs
    +#  Date:       July 14, 2005
    +#
    +#  Modifications:
    +#    Mark C. Miller, Fri Nov 17 22:03:34 PST 2006
    +#    Accounted for fact that threshold operator no longer has a default var
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Thu Mar 25 09:57:34 PDT 2010
    +#    Added call(s) to DrawPlots() b/c of changes to the default plot state 
    +#    behavior when an operator is added.
    +#
    +#    Kathleen Biagas, Thu Jul 14 10:44:55 PDT 2011
    +#    Use named arguments. 
    +#
    +#    Cyrus Harrison, Wed Jul 16 15:58:54 PDT 2014
    +#    Added test cases to exercise centroid override
    +#
    +#    Kathleen Biagas, Wed Aug 28 09:04:00 MST 2019
    +#    Turn off cycling of colors for all Curve plot tests.  Set the colors
    +#    individually to match current baseline results.
    +#
    +# ----------------------------------------------------------------------------
    +import json
    +
    +# Turn off all annotation
    +a = AnnotationAttributes()
    +TurnOffAllAnnotations(a)
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isovolume")
    +iso_atts = IsovolumeAttributes()
    +iso_atts.ubound = 0.7
    +SetOperatorOptions(iso_atts)
    +DrawPlots()
    +
    +Query("Spherical Compactness Factor")
    +text = GetQueryOutputString()
    +TestText("scf_01", text)
    +
    +res = GetQueryOutputObject()
    +TestText("scf_01_obj", json.dumps(res,indent=2))
    +
    +Query("Spherical Compactness Factor",centroid="default")
    +text = GetQueryOutputString()
    +TestText("scf_01_default_txt", text)
    +
    +res = GetQueryOutputObject()
    +TestText("scf_01_default_obj", json.dumps(res,indent=2))
    +
    +Query("Spherical Compactness Factor",centroid=[1.0,0.0,0.0])
    +text = GetQueryOutputString()
    +TestText("scf_01_override_txt", text)
    +
    +res = GetQueryOutputObject()
    +TestText("scf_01_override_obj", json.dumps(res,indent=2))
    +
    +
    +AddOperator("Revolve")
    +DrawPlots()
    +Query("Spherical Compactness Factor")
    +text = GetQueryOutputString()
    +TestText("scf_02", text)
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("wave.visit"))
    +
    +AddPlot("Pseudocolor", "pressure")
    +DrawPlots()
    +
    +c = CurveAttributes()
    +c.curveColorSource = c.Custom
    +c.curveColor = (255, 0, 0, 255)
    +SetDefaultPlotOptions(c)
    +
    +QueryOverTime("Spherical Compactness Factor", stride=10)
    +
    +c = CurveAttributes()
    +c.curveColorSource = c.Custom
    +c.curveColor = (255, 0, 0, 255)
    +SetDefaultPlotOptions(c)
    +
    +SetActiveWindow(2)
    +SetAnnotationAttributes(a)
    +Test("scf_03")
    +
    +c.curveColor = (0, 255, 0, 255)
    +SetDefaultPlotOptions(c)
    +
    +SetActiveWindow(1)
    +QueryOverTime("Spherical Compactness Factor", stride=10,centroid=[1.0,0.0,0.0])
    +
    +SetActiveWindow(2)
    +SetAnnotationAttributes(a)
    +Test("scf_03_override")
    +
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +i = ThresholdAttributes()
    +i.lowerBounds = (0.0)
    +i.upperBounds = (0.5)
    +i.listedVarNames = ("d")
    +SetDefaultOperatorOptions(i)
    +AddOperator("Threshold")
    +DrawPlots()
    +# Don't test localized compactness factor until radii is sorted out.
    +#Query("Localized Compactness Factor")
    +#t = GetQueryOutputString()
    +#TestText("scf_04", t)
    +Query("Elliptical Compactness Factor")
    +t = GetQueryOutputString()
    +TestText("scf_05", t)
    +
    +res = GetQueryOutputObject()
    +TestText("scf_05_obj", json.dumps(res,indent=2))
    +
    +Query("Elliptical Compactness Factor",centroid=[1.0,0.0,0.0])
    +text = GetQueryOutputString()
    +TestText("scf_05_override_txt", text)
    +
    +res = GetQueryOutputObject()
    +TestText("scf_05_override_obj", json.dumps(res,indent=2))
    +
    +AddOperator("Revolve")
    +DrawPlots()
    +#Query("Localized Compactness Factor")
    +#t = GetQueryOutputString()
    +#TestText("scf_06", t)
    +Query("Elliptical Compactness Factor")
    +t = GetQueryOutputString()
    +TestText("scf_07", t)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_surface_area_over_time.html b/2023-11-08-22:00/pascal_trunk_serial/queries_surface_area_over_time.html new file mode 100644 index 000000000..eac918152 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_surface_area_over_time.html @@ -0,0 +1,66 @@ + +Results for queries/surface_area_over_time.py + +

    Results of VisIt Regression Test - queries/surface_area_over_time

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    SA_OverTime_00000.000.00
    SA_OverTime_00010.000.00
    SA_OverTime_00020.000.00
    SA_OverTime_00030.000.00
    SA_OverTime_00040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_surface_area_over_time_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_surface_area_over_time_py.html new file mode 100644 index 000000000..f0281ea21 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_surface_area_over_time_py.html @@ -0,0 +1,144 @@ +queries/surface_area_over_time.py
    # ---------------------------------------------------------------------------- 
    +#  CLASSES: nightly
    +#
    +#  Test Case:  surface_area_over_time.py
    +#  Tests:      queries     - surface area over time
    +#
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Fri May 19 10:04:46 PDT 2017
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue Sep 22 13:24:42 PDT 2020
    +#    Use custom color for curves, as the color-cycling is non-deterministic
    +#    across runs.
    +#
    +# ----------------------------------------------------------------------------
    +
    +from visit_utils import *
    +
    +
    +def query_sa_stepwise(s, nts, qname):
    +    c_vals = []
    +    s_vals = []
    +    for ts in range(s, nts):
    +        TimeSliderSetState(ts)
    +        c_vals.append(query("Cycle"))
    +        s_vals.append(query(qname))
    +    f = open("_out_query_sa_stepwise.ult","w")
    +    f.write("# sa vs cycle\n")
    +    for i in range(len(c_vals)):
    +        f.write("%s %s\n" % (c_vals[i],s_vals[i]))
    +    f.close()
    +
    +def query_sa_q_over_time(s, nts, qname):
    +    TimeSliderSetState(0)
    +    QueryOverTime(qname, start_time=s, end_time=nts-1, stride=1)
    +
    +
    +def setup_PC_Iso_plot():
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "pressure")
    +    AddOperator("Isosurface")
    +    DrawPlots()
    +
    +def setup_boundary_plot():
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +    AddPlot("Boundary", "Material")
    +    DrawPlots()
    +
    +def setup_data_binning():
    +    SetActiveWindow(1)
    +    DeleteAllPlots()
    +
    +    # We *Should* be using data binning like this, but there is 
    +    # a bug with query-over-time, so we add the operator separately.
    +    #AddPlot("Pseudocolor", "operators/DataBinning/2D/quadmesh")
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    AddOperator("DataBinning")
    +    DataBinningAtts = DataBinningAttributes()
    +    DataBinningAtts.numDimensions = DataBinningAtts.Two
    +    DataBinningAtts.dim1BinBasedOn = DataBinningAtts.X
    +    DataBinningAtts.dim2BinBasedOn = DataBinningAtts.Y
    +    DataBinningAtts.reductionOperator = DataBinningAtts.Maximum
    +    DataBinningAtts.varForReduction = "pressure"
    +    SetOperatorOptions(DataBinningAtts, 1)
    +
    +    DrawPlots()
    +
    +
    +def run_queries(s, numSteps, qname = "3D Surface area"):
    +    query_sa_stepwise(s, numSteps, qname)
    +    query_sa_q_over_time(s, numSteps, qname)
    +    SetActiveWindow(2)
    +    ca1 = CurveAttributes(1)
    +    ca1.curveColorSource = ca1.Custom
    +    ca1.curveColor=(255, 0, 0)
    +    SetPlotOptions(ca1)
    +    OpenDatabase("_out_query_sa_stepwise.ult")
    +    AddPlot("Curve","sa vs cycle")
    +    DrawPlots()
    +    ca2 = CurveAttributes(1)
    +    ca2.curveColorSource = ca2.Custom
    +    ca2.curveColor=(0, 255, 0)
    +    SetPlotOptions(ca2)
    +
    +
    +def open_db():
    +    OpenDatabase(silo_data_path("wave.visit"))
    +
    +def clear_qot():
    +    SetActiveWindow(2)
    +    DeleteAllPlots()
    +    CloseDatabase("_out_query_sa_stepwise.ult")
    +    SetActiveWindow(1)
    +    TurnMaterialsOn()
    +
    +def main():
    +    open_db()
    +    setup_PC_Iso_plot()
    +    numSteps = TimeSliderGetNStates()
    +    run_queries(0, numSteps)
    +
    +    Test("SA_OverTime_0000")
    +
    +    clear_qot()
    +
    +    setup_boundary_plot()
    +    run_queries(0, numSteps)
    +    Test("SA_OverTime_0001")
    +
    +    clear_qot()
    +
    +    numSteps = 45
    +    m2 = "2 water"
    +    m1 = "1 barrier"
    +    TurnMaterialsOff(m2)
    +    run_queries(0, numSteps)
    +    Test("SA_OverTime_0002")
    +
    +    clear_qot()
    +
    +    TimeSliderSetState(1)
    +    TurnMaterialsOff(m1)
    +    run_queries(1, numSteps)
    +    Test("SA_OverTime_0003")
    +
    +
    +    clear_qot()
    +
    +    setup_data_binning()
    +    numSteps = TimeSliderGetNStates()
    +    run_queries(0, numSteps, "2D area")
    +    Test("SA_OverTime_0004")
    +
    +
    +
    +# Call the main function
    +TurnOnAllAnnotations()
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_variable_sum_volume.html b/2023-11-08-22:00/pascal_trunk_serial/queries_variable_sum_volume.html new file mode 100644 index 000000000..1d2ed1bd7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_variable_sum_volume.html @@ -0,0 +1,68 @@ + +Results for queries/variable_sum_volume.py + +

    Results of VisIt Regression Test - queries/variable_sum_volume

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mat_10 modifications totalling 0 lines
    mat_40 modifications totalling 0 lines
    mat_90 modifications totalling 0 lines
    mat_140 modifications totalling 0 lines
    mat_190 modifications totalling 0 lines
    mat_490 modifications totalling 0 lines
    mat_1490 modifications totalling 0 lines
    vws_mult_dim0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_variable_sum_volume_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_variable_sum_volume_py.html new file mode 100644 index 000000000..c432ef05a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_variable_sum_volume_py.html @@ -0,0 +1,69 @@ +queries/variable_sum_volume.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  volume.py
    +#  Tests:      queries     - volumes of various material selected regions
    +#                          - weighted volume of dataset with cells of different
    +#                               dimension.
    +#
    +#  Programmer: Eddie Rusu
    +#  Date:       January 14, 2020
    +# ----------------------------------------------------------------------------
    +
    +OpenDatabase(data_path("silo_pdb_test_data/ucd3d.silo"))
    +AddPlot("Pseudocolor", "mesh_quality/ucdmesh3d/volume", 1, 1)
    +DrawPlots()
    +
    +SetQueryFloatFormat("%g")
    +# Material 1
    +TurnMaterialsOff(("4", "9"))
    +text = Query("Variable Sum")
    +TestText("mat_1", text)
    +
    +# Material 4
    +TurnMaterialsOff("1")
    +TurnMaterialsOn("4")
    +text = Query("Variable Sum")
    +TestText("mat_4", text)
    +
    +# Material 9
    +TurnMaterialsOff("4")
    +TurnMaterialsOn("9")
    +text = Query("Variable Sum")
    +TestText("mat_9", text)
    +
    +# Material 14
    +TurnMaterialsOff("9")
    +TurnMaterialsOn(("1", "4"))
    +text = Query("Variable Sum")
    +TestText("mat_14", text)
    +
    +# Material 19
    +TurnMaterialsOff("4")
    +TurnMaterialsOn("9")
    +text = Query("Variable Sum")
    +TestText("mat_19", text)
    +
    +# Material 49
    +TurnMaterialsOff("1")
    +TurnMaterialsOn("4")
    +text = Query("Variable Sum")
    +TestText("mat_49", text)
    +
    +# Material 149
    +TurnMaterialsOn()
    +text = Query("Variable Sum")
    +TestText("mat_149", text)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("silo_pdb_test_data/ucd3d.silo"))
    +
    +# Weighted volume query on cells of different dimension
    +OpenDatabase(data_path("silo_pdb_test_data/multi_dim_cells.silo"))
    +AddPlot("Pseudocolor", "coordx", 1, 1)
    +DrawPlots()
    +text = Query("Weighted Variable Sum")
    +TestText("vws_mult_dim", text)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_watertight.html b/2023-11-08-22:00/pascal_trunk_serial/queries_watertight.html new file mode 100644 index 000000000..88e3503e0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_watertight.html @@ -0,0 +1,44 @@ + +Results for queries/watertight.py + +

    Results of VisIt Regression Test - queries/watertight

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    watertight_010 modifications totalling 0 lines
    watertight_020 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_watertight_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_watertight_py.html new file mode 100644 index 000000000..1239faf4b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_watertight_py.html @@ -0,0 +1,40 @@ +queries/watertight.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  watertight.py
    +#  Tests:      queries     - watertight 
    +#
    +#  Defect ID:  VisIt00006632
    +#
    +#  Programmer: Hank Childs
    +#  Date:       September 23, 2005
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +AddOperator("Isosurface")
    +i = IsosurfaceAttributes()
    +i.contourMethod = i.Value
    +i.contourValue = 0.48
    +SetOperatorOptions(i)
    +DrawPlots()
    +
    +Query("Watertight")
    +text = GetQueryOutputString()
    +TestText("watertight_01", text)
    +
    +i.contourValue = 0.5
    +SetOperatorOptions(i)
    +Query("Watertight")
    +text = GetQueryOutputString()
    +TestText("watertight_02", text)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_xrayimage.html b/2023-11-08-22:00/pascal_trunk_serial/queries_xrayimage.html new file mode 100644 index 000000000..9f9e5af3f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_xrayimage.html @@ -0,0 +1,1870 @@ + +Results for queries/xrayimage.py + +

    Results of VisIt Regression Test - queries/xrayimage

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    xrayimage000.000.00
    xrayimage010 modifications totalling 0 lines
    xrayimage020.000.00
    xrayimage030.000.00
    xrayimage040 modifications totalling 0 lines
    xrayimage050.000.00
    xrayimage060 modifications totalling 0 lines
    xrayimage070.000.00
    xrayimage080 modifications totalling 0 lines
    xrayimage090.000.00
    xrayimage100 modifications totalling 0 lines
    xrayimage110.000.00
    xrayimage120 modifications totalling 0 lines
    xrayimage130.000.00
    xrayimage140 modifications totalling 0 lines
    xrayimage150.000.00
    xrayimage160 modifications totalling 0 lines
    xrayimage170.000.00
    xrayimage180 modifications totalling 0 lines
    xrayimage190.000.00
    xrayimage200 modifications totalling 0 lines
    xrayimage210.000.00
    xrayimage220 modifications totalling 0 lines
    xrayimage230.000.00
    xrayimage240 modifications totalling 0 lines
    xrayimage250.000.00
    xrayimage260 modifications totalling 0 lines
    xrayimage270.000.00
    xrayimage280.000.00
    xrayimage290 modifications totalling 0 lines
    xrayimage300.000.00
    xrayimage310 modifications totalling 0 lines
    xrayimage320 modifications totalling 0 lines
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_legacy_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_legacy_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_legacy_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_legacy_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_intensities_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_path_length_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_legacy0.000.00
    Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_legacy0.000.00
    xrayimage330 modifications totalling 0 lines
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_intensities_modern_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_image_topo_path_length_modern_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_intensities_modern_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern_slice00.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern_slice10.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_topo_path_length_modern_slice20.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_intensities_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_spatial_energy_reduced_topo_path_length_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_spectra_topo_intensities_modern0.000.00
    Blueprint_HDF5_X_Ray_Output_spectra_topo_path_length_modern0.000.00
    Blueprint_HDF5_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_IntensityUnits
     "intensity units" .eq. "intensity units" : True
    Blueprint_HDF5_X_Ray_Output1_PathLengthUnits
     "path length metadata" .eq. "path length metadata" : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupBounds
     [0. 2. 6. 8.] .eq. [0, 2, 6, 8]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_HDF5_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_HDF5_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_HDF5_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." .eq. "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." : True
    Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_HDF5_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_HDF5_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_HDF5_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_HDF5_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds not provided." .eq. "Energy group bounds not provided." : True
    Blueprint_HDF5_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_HDF5_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_HDF5_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_HDF5_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_HDF5_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    xrayimage340 modifications totalling 0 lines
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy_slice00.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy_slice10.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_legacy_slice20.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy_slice00.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy_slice10.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_legacy_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy_slice00.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy_slice10.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_legacy_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy_slice00.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy_slice10.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_legacy_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_intensities_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_path_length_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_legacy0.000.00
    Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_legacy0.000.00
    xrayimage350 modifications totalling 0 lines
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern0.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern_slice00.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern_slice10.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_intensities_modern_slice20.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern0.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern_slice00.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern_slice10.000.00
    Blueprint_JSON_X_Ray_Output_image_topo_path_length_modern_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern_slice00.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern_slice10.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_intensities_modern_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern_slice00.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern_slice10.000.00
    Blueprint_JSON_X_Ray_Output_spatial_topo_path_length_modern_slice20.000.00
    Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_intensities_modern0.000.00
    Blueprint_JSON_X_Ray_Output_spatial_energy_reduced_topo_path_length_modern0.000.00
    Blueprint_JSON_X_Ray_Output_spectra_topo_intensities_modern0.000.00
    Blueprint_JSON_X_Ray_Output_spectra_topo_path_length_modern0.000.00
    Blueprint_JSON_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_IntensityUnits
     "intensity units" .eq. "intensity units" : True
    Blueprint_JSON_X_Ray_Output1_PathLengthUnits
     "path length metadata" .eq. "path length metadata" : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_EnergyGroupBounds
     [0. 2. 6. 8.] .eq. [0, 2, 6, 8]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_JSON_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_JSON_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_JSON_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." .eq. "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." : True
    Blueprint_JSON_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_JSON_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_JSON_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_JSON_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_JSON_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds not provided." .eq. "Energy group bounds not provided." : True
    Blueprint_JSON_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_JSON_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_JSON_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_JSON_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_JSON_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    xrayimage360 modifications totalling 0 lines
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy_slice00.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy_slice10.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_legacy_slice20.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy_slice00.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy_slice10.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_legacy_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy_slice00.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy_slice10.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_legacy_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy_slice00.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy_slice10.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_legacy_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_intensities_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_path_length_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_legacy0.000.00
    Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_legacy0.000.00
    xrayimage370 modifications totalling 0 lines
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern0.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern_slice00.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern_slice10.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_intensities_modern_slice20.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern0.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern_slice00.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern_slice10.000.00
    Blueprint_YAML_X_Ray_Output_image_topo_path_length_modern_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern_slice00.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern_slice10.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_intensities_modern_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern_slice00.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern_slice10.000.00
    Blueprint_YAML_X_Ray_Output_spatial_topo_path_length_modern_slice20.000.00
    Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_intensities_modern0.000.00
    Blueprint_YAML_X_Ray_Output_spatial_energy_reduced_topo_path_length_modern0.000.00
    Blueprint_YAML_X_Ray_Output_spectra_topo_intensities_modern0.000.00
    Blueprint_YAML_X_Ray_Output_spectra_topo_path_length_modern0.000.00
    Blueprint_YAML_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_IntensityUnits
     "intensity units" .eq. "intensity units" : True
    Blueprint_YAML_X_Ray_Output1_PathLengthUnits
     "path length metadata" .eq. "path length metadata" : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_EnergyGroupBounds
     [0. 2. 6. 8.] .eq. [0, 2, 6, 8]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_YAML_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_YAML_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_YAML_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." .eq. "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results." : True
    Blueprint_YAML_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_YAML_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_YAML_X_Ray_Output1_Time
     4.8 .eq. 4.8 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_Cycle
     48 .eq. 48 (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_xray_view
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_query
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_xray_data
     "" .eq. "" : True
    Blueprint_YAML_X_Ray_Output1_IntensityUnits
     "no units provided" .eq. "no units provided" : True
    Blueprint_YAML_X_Ray_Output1_PathLengthUnits
     "no info provided" .eq. "no info provided" : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents0
     [0.0, 0.0] .eq. [0.0, 0.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents1
     [0.05, 0.05] .eq. [0.05, 0.05]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents2
     [0.1, 0.1] .eq. [0.1, 0.1]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_SpatialExtents3
     [15.0, 10.0] .eq. [15.0, 10.0]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_data_EnergyGroupInfo
     "Energy group bounds not provided." .eq. "Energy group bounds not provided." : True
    Blueprint_YAML_X_Ray_Output1_data_EnergyGroupBounds
     [0.0, 1.0] .eq. [0, 1]
     (prec=5) : True
    Blueprint_YAML_X_Ray_Output1_spatial_units
     "False" .eq. "False" : True
    Blueprint_YAML_X_Ray_Output1_data_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_ZLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_XLabels
     "width" .eq. "width" : True
    Blueprint_YAML_X_Ray_Output1_data_ser_YLabels
     "height" .eq. "height" : True
    Blueprint_YAML_X_Ray_Output1_data_spectra_XLabels
     "energy_group" .eq. "energy_group" : True
    Blueprint_Positive_Detector_width
     22.393226323783825 .eq. 22.3932263237838 (prec=5) : True
    Blueprint_Positive_Detector_height
     16.79491924231027 .eq. 16.7949192423103 (prec=5) : True
    Blueprint_HDF5_Imaging_Planes00.000.00
    Blueprint_HDF5_Imaging_Planes10.000.00
    NonSquare_Pixels_Ray_trace_setup_10.000.00
    NonSquare_Pixels_Ray_trace_setup_20.000.00
    NonSquare_Pixels_Ray_trace_setup_30.000.00
    NonSquare_Pixels_Ray_trace_setup_40.000.00
    NonSquare_Pixels_Ray_trace_setup_50.000.00
    NonSquare_Pixels_Ray_trace_setup_60.000.00
    NonSquare_Pixels_Ray_trace_setup_70.000.00
    NonSquare_Pixels_Ray_trace_setup_80.000.00
    NonSquare_Pixels_hi_res_images10.000.00
    NonSquare_Pixels_hi_res_images20.000.00
    NonSquare_Pixels_hi_res_images30.000.00
    NonSquare_Pixels_hi_res_images40.000.00
    NonSquare_Pixels_hi_res_images50.000.00
    NonSquare_Pixels_hi_res_images60.000.00
    NonSquare_Pixels_hi_res_images70.000.00
    NonSquare_Pixels_hi_res_images80.000.00
    NonSquare_Pixels_low_res_mesh_plots10.000.00
    NonSquare_Pixels_low_res_mesh_plots20.000.00
    NonSquare_Pixels_low_res_mesh_plots30.000.00
    NonSquare_Pixels_low_res_mesh_plots40.000.00
    NonSquare_Pixels_low_res_mesh_plots50.000.00
    NonSquare_Pixels_low_res_mesh_plots60.000.00
    NonSquare_Pixels_low_res_mesh_plots70.000.00
    NonSquare_Pixels_low_res_mesh_plots80.000.00
    xrayimage38
     "None" .eq. "None" : True
    xrayimage39
     "None" .eq. "None" : True
    Test_filenames_for_jpeg_outputs0 modifications totalling 0 lines
    Test_filenames_for_png_outputs0 modifications totalling 0 lines
    Test_filenames_for_tif_outputs0 modifications totalling 0 lines
    Test_filenames_for_bof_outputs0 modifications totalling 0 lines
    Test_filenames_for_bov_outputs0 modifications totalling 0 lines
    Test_filenames_for_json_outputs0 modifications totalling 0 lines
    Test_filenames_for_hdf5_outputs0 modifications totalling 0 lines
    Test_filenames_for_yaml_outputs0 modifications totalling 0 lines
    Test_filenames_for_family0_outputs0 modifications totalling 0 lines
    Test_filenames_for_family1_outputs0 modifications totalling 0 lines
    detect and warn numpy array as query param
     "True" .eq. "True" : True
    numpy array converted to list works as query param
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/queries_xrayimage_py.html b/2023-11-08-22:00/pascal_trunk_serial/queries_xrayimage_py.html new file mode 100644 index 000000000..6ebe2124e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/queries_xrayimage_py.html @@ -0,0 +1,1337 @@ +queries/xrayimage.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  xrayimage.py
    +#  Tests:      queries     - xray imagel
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       July 13, 2010
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Jul 14 10:44:55 PDT 2011
    +#    Change most of code to use python dictionary to pass query parameters.
    +#    First call to 'Query' still tests old-style argument passing.
    +#    Second call to 'Query' creates a Python dictionary from scratch and
    +#    uses that.  Prior to third call to Query, retrieve default dictionary via
    +#    GetQueryParameters.  All subsequent calls to Query modify that dictionary 
    +#    object as necessary and pass it.
    +#
    +#    Kathleen Biagas, Wed Oct 17 14:25:05 PDT 2012
    +#    Show usage of new 'up_vector' parameter.
    +# 
    +#    Justin Privitera, Tue Jun 14 10:02:21 PDT 2022
    +#    Change tests to reflect new ability to send output directory to query.
    +# 
    +#    Justin Privitera, Wed Jun 15 16:43:34 PDT 2022
    +#    Added tests for new blueprint output.
    +# 
    +#    Justin Privitera, Wed Jul 20 13:54:06 PDT 2022
    +#    Added query output msg tests and tests for query errors.
    +# 
    +#    Justin Privitera, Thu Sep  8 16:29:06 PDT 2022
    +#    Added new tests for blueprint output metadata.
    +# 
    +#    Justin Privitera, Tue Sep 27 10:52:59 PDT 2022
    +#    Changed names of most output files to reflect new naming conventions.
    +#    Added tests for filenames, all output types, and result messages.
    +# 
    +#    Justin Privitera, Fri Sep 30 15:54:40 PDT 2022
    +#    Changed location of temp output files.
    +#    os.remove is gone.
    +#    tmp/baddir is gone, replaced.
    +#    These changes were made so the tests no longer crash on windows.
    +# 
    +#    Justin Privitera, Tue Nov 15 14:54:35 PST 2022
    +#    Added new tests for additional blueprint output metadata as well as
    +#    imaging plane topologies.
    +# 
    +#    Justin Privitera, Tue Nov 22 14:56:04 PST 2022
    +#    Updated numbering on later tests.
    +#    Reorganized blueprint tests so they use a function. That function also
    +#    uses new and old query calls, doubling the number of blueprint tests.
    +#    It also tests energy group bin output for hdf5.
    +# 
    +#    Justin Privitera, Mon Nov 28 15:38:25 PST 2022
    +#    Renamed energy group bins to energy group bounds.
    +# 
    +#    Justin Privitera, Wed Nov 30 10:41:17 PST 2022
    +#    Added tests for always positive detector height and width in blueprint
    +#    metadata.
    +# 
    +#    Justin Privitera, Wed Nov 30 17:43:48 PST 2022
    +#    Added tests for piping the units through the query.
    +# 
    +#    Justin Privitera, Thu Dec  1 15:29:48 PST 2022
    +#    Tests for new location of units in blueprint output.
    +# 
    +#    Justin Privitera, Wed Dec  7 16:16:16 PST 2022
    +#    Added tests for the blueprint ray output.
    +# 
    +#    Justin Privitera, Mon Dec 12 13:28:55 PST 2022
    +#    Reworked some of the blueprint output tests to reflect changes in 
    +#    output metadata.
    +#    Added new tests for path length and spatial extent images.
    +# 
    +#    Justin Privitera, Tue Feb 14 17:02:43 PST 2023
    +#    Change all metadata to use pot_hole_case instead of camelCase.
    +#    Add test for image_topo_order_of_domain_variables.
    +#
    +#    Justin Privitera, Wed Oct 12 11:38:11 PDT 2022
    +#    Changed output type for many tests since bmp output type is removed.
    +# 
    +#    Justin Privitera, Fri Mar 10 19:06:49 PST 2023
    +#    Added tests for new spatial energy reduced topo and fields.
    +# 
    +#    Justin Privitera, Wed Mar 15 17:51:13 PDT 2023
    +#    Added tests for new spectra topo and fields.
    +# 
    +#    Justin Privitera, Wed Mar 22 16:09:52 PDT 2023
    +#     - Added logic for setting up and tearing down blueprint output type 
    +#    tests.
    +#     - Added new query choices for blueprint output that can be passed down 
    +#    into the various blueprint tests.
    +#     - Created a new class for storing these query options and passing them 
    +#    around.
    +#     - Added a new function for making slices of plots to test specific 
    +#    energy group bins.
    +#     - More consistent query args for blueprint tests
    +#     - Added slice tests for specific energy group bins.
    +# 
    +#    Justin Privitera, Wed Apr 26 14:07:01 PDT 2023
    +#    The new conduit we are using for VisIt (0.8.7) can read in simple yaml
    +#    and json (w/o bp index?) (bug was fixed) so I am updating the x ray query
    +#    tests to take advantage of this and add tests back in for yaml and json
    +#    cases.
    +#
    +#    Justin Privitera, Fri Jun 16 17:17:14 PDT 2023
    +#    Added tests for the new view width override and non square pixels 
    +#    settings.
    +# 
    +#    Justin Privitera, Fri Jul 14 17:33:07 PDT 2023
    +#    Updated tests to reflect the new reality that the complete camera spec
    +#    is now the default.
    +# 
    +#    Justin Privitera, Tue Aug 22 12:30:01 PDT 2023
    +#    Sort filename list produced by os.listdir to prevent test suite failures.
    +# 
    +#    Justin Privitera, Mon Oct 30 14:45:55 PDT 2023
    +#    Use conduit node diff to compare query results to baselines.
    +# 
    +#    Justin Privitera, Tue Oct 31 13:20:23 PDT 2023
    +#    All output folders are created at the top of the file now.
    +#    Several visit expressions have been cleaned up or removed entirely.
    +#    Code cleanup for readability.
    +#    Lowered pixel resolution for query results where we are not testing the
    +#    images.
    +#    Use the python dictionary returned by the query to tell if the query was
    +#    successful or not.
    +# ----------------------------------------------------------------------------
    +
    +import os
    +import conduit
    +
    +if not os.path.isdir(out_path("current","queries")):
    +    os.mkdir(out_path("current","queries"))
    +out_base = out_path("current","queries","xrayimage")
    +if not os.path.isdir(out_base):
    +    os.mkdir(out_base)
    +
    +outdir_set = pjoin(TestEnv.params["run_dir"], "testdir")
    +if not os.path.isdir(outdir_set):
    +    os.mkdir(outdir_set)
    +
    +conduit_dir_hdf5 = pjoin(outdir_set, "hdf5")
    +if not os.path.isdir(conduit_dir_hdf5):
    +    os.mkdir(conduit_dir_hdf5)
    +conduit_dir_json = pjoin(outdir_set, "json")
    +if not os.path.isdir(conduit_dir_json):
    +    os.mkdir(conduit_dir_json)
    +conduit_dir_yaml = pjoin(outdir_set, "yaml")
    +if not os.path.isdir(conduit_dir_yaml):
    +    os.mkdir(conduit_dir_yaml)
    +conduit_dir_imaging_planes0 = pjoin(outdir_set, "imaging_planes0")
    +if not os.path.isdir(conduit_dir_imaging_planes0):
    +    os.mkdir(conduit_dir_imaging_planes0)
    +conduit_dir_imaging_planes1 = pjoin(outdir_set, "imaging_planes1")
    +if not os.path.isdir(conduit_dir_imaging_planes1):
    +    os.mkdir(conduit_dir_imaging_planes1)
    +conduit_dir_detector_dims = pjoin(outdir_set, "detector_dims")
    +if not os.path.isdir(conduit_dir_detector_dims):
    +    os.mkdir(conduit_dir_detector_dims)
    +conduit_dir_nonsquare_pixels = pjoin(outdir_set, "nonsquare_pix")
    +if not os.path.isdir(conduit_dir_nonsquare_pixels):
    +    os.mkdir(conduit_dir_nonsquare_pixels)
    +
    +dir_dne = pjoin(outdir_set, "doesnotexist")
    +if os.path.isdir(dir_dne):
    +    os.rmdir(dir_dne)
    +
    +# os.chmod does not work on windows
    +if not platform.system() == "Windows":
    +    outdir_bad = pjoin(outdir_set, "baddir")
    +    if not os.path.isdir(outdir_bad):
    +        os.mkdir(outdir_bad)
    +    os.chmod(outdir_bad, 0o444)
    +
    +output_types = ["jpeg", "png", "tif", "bof", "bov", "json", "hdf5", "yaml"]
    +for i in range(0, len(output_types)):
    +    outdir_set_otype = outdir_set + "_" + output_types[i]
    +    if not os.path.isdir(outdir_set_otype):
    +        os.mkdir(outdir_set_otype)
    +
    +family_options = [0, 1]
    +for i in range(0, len(family_options)):
    +    outdir_set_family = outdir_set + "_family_" + str(family_options[i])
    +    if not os.path.isdir(outdir_set_family):
    +        os.mkdir(outdir_set_family)
    +
    +#
    +# Test a single block structured grid with scalars.
    +#
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +# old style argument passing
    +Query("XRay Image", 1, ".", 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
    +
    +os.rename("output.png", out_path(out_base,"xrayimage00.png"))
    +Test("xrayimage00", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage01", s)
    +
    +#
    +# Test a multi block structured grid with an array variable.
    +#
    +DefineArrayExpression("da", "array_compose(d,d)")
    +DefineArrayExpression("pa", "array_compose(p,p)")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +# create our own dictionary
    +params = dict(output_type=1,
    +              output_dir=".",
    +              divide_emis_by_absorb=1,
    +              origin=(0.0, 2.5, 10.0),
    +              up_vector=(0, 1, 0),
    +              theta=0,
    +              phi=0,
    +              width = 10.,
    +              height=10.,
    +              image_size=(300, 300),
    +              vars=("da", "pa"))
    +Query("XRay Image", params)
    +
    +os.rename("output.00.png", out_path(out_base,"xrayimage02.png"))
    +os.rename("output.01.png", out_path(out_base,"xrayimage03.png"))
    +
    +Test("xrayimage02", 0, 1)
    +Test("xrayimage03", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage04", s)
    +
    +#
    +# Test a 2d structured grid with scalars.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +params = dict()
    +params['image_size'] = (300, 300)
    +params['divide_emis_by_absorb'] = 1
    +params['width'] = 10.
    +params['height'] = 10.
    +params['vars'] = ("d", "p")
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage05.png"))
    +Test("xrayimage05", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage06", s)
    +
    +params['theta'] = 90
    +params['phi'] =  0
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage07.png"))
    +Test("xrayimage07", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage08", s)
    +
    +#
    +# Test an unstructured grid with scalars.
    +#
    +DefineScalarExpression("u1", 'recenter(((u+10.)*0.01), "zonal")')
    +DefineScalarExpression("v1", 'recenter(((v+10.)*0.01*matvf(mat1,1)), "zonal")')
    +DefineScalarExpression("v2", 'recenter(((v+10.)*0.01*matvf(mat1,2)), "zonal")')
    +DefineScalarExpression("v3", 'recenter(((v+10.)*0.01*matvf(mat1,3)), "zonal")')
    +DefineScalarExpression("v4", 'recenter(((v+10.)*0.01*matvf(mat1,4)), "zonal")')
    +DefineScalarExpression("w1", 'recenter(((w+10.)*0.01), "zonal")')
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Do tets.
    +params['theta'] = 0
    +params['phi'] = 0
    +params['width'] = 1.
    +params['height'] = 1.
    +params['vars'] = ("w1", "v1")
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage09.png"))
    +Test("xrayimage09", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage10", s)
    +
    +params['theta'] = 90
    +params['width'] = 4.
    +params['height'] = 4.
    +
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage11.png"))
    +Test("xrayimage11", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage12", s)
    +
    +# Do pyramids.
    +params['theta'] = 0
    +params['vars'] = ("w1", "v2")
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage13.png"))
    +Test("xrayimage13", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage14", s)
    +
    +params['theta'] = 90
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage15.png"))
    +Test("xrayimage15", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage16", s)
    +
    +# Do wedges.
    +params['theta'] = 0
    +params['width'] = 8.
    +params['height'] = 8.
    +params['vars'] = ("w1", "v3")
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage17.png"))
    +Test("xrayimage17", 0, 1)
    +
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage18", s)
    +
    +params['theta'] = 90
    +params['width'] = 20.
    +params['height'] = 20.
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage19.png"))
    +Test("xrayimage19", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage20", s)
    +
    +# Do hexes.
    +params['theta'] = 0
    +params['vars'] = ("w1", "v4")
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage21.png"))
    +Test("xrayimage21", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage22", s)
    +
    +params['theta'] = 90
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage23.png"))
    +Test("xrayimage23", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage24", s)
    +
    +#
    +# Test with perspective.
    +#
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("multi_curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +params = dict(output_type="png",
    +              output_dir=".",
    +              divide_emis_by_absorb=1,
    +              focus=(0.0, 2.5, 15.0),
    +              view_up=(0., 1., 0.),
    +              normal=(0., 0., 1.),
    +              view_angle=30.,
    +              parallel_scale = 16.0078,
    +              near_plane = -32.0156,
    +              far_plane = 32.0156,
    +              image_pan=(0., 0.),
    +              image_zoom = 2.4,
    +              perspective = 1,
    +              image_size=(300, 300),
    +              vars=("d", "p"))
    +Query("XRay Image", params)
    +
    +os.rename("output.png", out_path(out_base,"xrayimage25.png"))
    +
    +Test("xrayimage25", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage26", s)
    +
    +#
    +# Test with background intensities.
    +#
    +DefineArrayExpression("wa", "array_compose(w1,w1)")
    +DefineArrayExpression("va", "array_compose(v4,v4)")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +params = dict(output_type="png",
    +              output_dir=".",
    +              divide_emis_by_absorb=1,
    +              theta=90.,
    +              phi=0.,
    +              width=20.,
    +              height=20.,
    +              image_size=(300, 300),
    +              vars=("wa", "va"),
    +              background_intensities=(0.05, 0.1))
    +Query("XRay Image", params)
    +
    +os.rename("output.00.png", out_path(out_base,"xrayimage27.png"))
    +os.rename("output.01.png", out_path(out_base,"xrayimage28.png"))
    +
    +Test("xrayimage27", 0, 1)
    +Test("xrayimage28", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage29", s)
    +
    +DeleteAllPlots()
    +
    +# 
    +# test setting output directory
    +# 
    +
    +OpenDatabase(silo_data_path("curv3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +# old style argument passing
    +Query("XRay Image", "png", outdir_set, 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
    +os.rename(outdir_set + "/output.png", out_path(out_base, "xrayimage30.png"))
    +Test("xrayimage30", 0, 1)
    +
    +s = GetQueryOutputString()
    +TestText("xrayimage31", s)
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("curv3d.silo"))
    +
    +#
    +# test blueprint output
    +#
    +
    +def setup_bp_test():
    +    OpenDatabase(silo_data_path("curv3d.silo"))
    +    DefineScalarExpression("d1", 'd')
    +    DefineScalarExpression("p1", 'p')
    +    DefineScalarExpression("d2", 'd * 6')
    +    DefineScalarExpression("p2", 'p * 6')
    +    DefineScalarExpression("d3", 'd * 3')
    +    DefineScalarExpression("p3", 'p * 3')
    +    DefineArrayExpression("darr", "array_compose(d1,d2,d3)")
    +    DefineArrayExpression("parr", "array_compose(p1,p2,d3)")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +def teardown_bp_test(lite = False):
    +    DeleteAllPlots()
    +    if not lite:
    +        DeleteExpression("d1")
    +        DeleteExpression("p1")
    +        DeleteExpression("d2")
    +        DeleteExpression("p2")
    +        DeleteExpression("d3")
    +        DeleteExpression("p3")
    +        DeleteExpression("darr")
    +        DeleteExpression("parr")
    +    CloseDatabase(silo_data_path("curv3d.silo"))
    +
    +# In conduit python, int types are assumed to be int64
    +# The xray query saves bools out as int32s
    +# So the diff fails unless we take the int32 type and 
    +# cast it to int64.
    +def cast_to_wide_int_type_conduit(node, leafname):
    +    val = int(node[leafname])
    +    node.remove_child(leafname)
    +    node[leafname] = val
    +
    +def test_bp_state_xray_view(testname, xray_view):
    +    yaml_text = """normal:
    +  x: 0.0
    +  y: 0.0
    +  z: 1.0
    +focus:
    +  x: 0.0
    +  y: 2.5
    +  z: 10.0
    +view_up:
    +  x: 0.0
    +  y: 1.0
    +  z: 0.0
    +view_angle: 30.0
    +parallel_scale: 5.0
    +view_width: 7.5
    +non_square_pixels: \"yes\"
    +near_plane: -100.0
    +far_plane: 100.0
    +image_pan:
    +  x: 0.0
    +  y: 0.0
    +image_zoom: 1.0
    +perspective: 0
    +perspective_str: \"parallel\""""
    +
    +    xray_view_base = conduit.Node()
    +    xray_view_base.parse(yaml_text, "yaml")
    +
    +    # We must make changes so that the diff will pass:
    +    cast_to_wide_int_type_conduit(xray_view, "perspective")
    +
    +    info = conduit.Node()
    +    diffval = xray_view.diff(xray_view_base, info)
    +    diff_str = info.to_yaml() if diffval else ""
    +    TestValueEQ(testname + "_xray_view", diff_str, "");
    +
    +UNITS_OFF = 0
    +UNITS_ON = 1
    +
    +def test_bp_state_xray_query(testname, xray_query, num_bins, abs_name, emis_name, units):
    +    yaml_text = f"""divide_emis_by_absorb: 1
    +divide_emis_by_absorb_str: \"yes\"
    +num_x_pixels: 300
    +num_y_pixels: 200
    +num_bins: {num_bins}
    +abs_var_name: {abs_name}
    +emis_var_name: {emis_name}
    +abs_units: {"abs units" if units == UNITS_ON else "no units provided"}
    +emis_units: {"emis units" if units == UNITS_ON else "no units provided"}"""
    +
    +    xray_query_base = conduit.Node()
    +    xray_query_base.parse(yaml_text, "yaml")
    +
    +    # We must make changes so that the diff will pass:
    +    cast_to_wide_int_type_conduit(xray_query, "divide_emis_by_absorb")
    +    cast_to_wide_int_type_conduit(xray_query, "num_x_pixels")
    +    cast_to_wide_int_type_conduit(xray_query, "num_y_pixels")
    +    cast_to_wide_int_type_conduit(xray_query, "num_bins")
    +
    +    info = conduit.Node()
    +    diffval = xray_query.diff(xray_query_base, info)
    +    diff_str = info.to_yaml() if diffval else ""
    +    TestValueEQ(testname + "_xray_query", diff_str, "");
    +
    +def test_bp_state_xray_data(testname, xray_data, int_max, pl_max):
    +    yaml_text = f"""detector_width: 15.0
    +detector_height: 10.0
    +intensity_max: {int_max}
    +intensity_min: 0.0
    +path_length_max: {pl_max}
    +path_length_min: 0.0
    +image_topo_order_of_domain_variables: \"xyz\""""
    +
    +    xray_data_base = conduit.Node()
    +    xray_data_base.parse(yaml_text, "yaml")
    +
    +    info = conduit.Node()
    +    diffval = xray_data.diff(xray_data_base, info)
    +    diff_str = info.to_yaml() if diffval else ""
    +    TestValueEQ(testname + "_xray_data", diff_str, "");
    +
    +NO_ENERGY_GROUP_BOUNDS = 0
    +ENERGY_GROUP_BOUNDS_MISMATCH = 1
    +ENERGY_GROUP_BOUNDS = 2
    +
    +class query_result_options:
    +    def __init__(self, num_bins, abs_name, emis_name, bin_state, units, int_max, pl_max):
    +        self.num_bins = num_bins
    +        self.abs_name = abs_name
    +        self.emis_name = emis_name
    +        self.bin_state = bin_state
    +        self.units = units
    +        self.int_max = int_max
    +        self.pl_max = pl_max
    +
    +def test_bp_data(testname, conduit_db, qro):
    +    xrayout = conduit.Node()
    +    conduit.relay.io.blueprint.load_mesh(xrayout, conduit_db)
    +
    +    # test metadata
    +    xray_state = xrayout["domain_000000/state"]
    +
    +    time = xray_state["time"]
    +    TestValueEQ(testname + "_Time", time, 4.8)
    +
    +    cycle = xray_state["cycle"]
    +    TestValueEQ(testname + "_Cycle", cycle, 48)
    +
    +    test_bp_state_xray_view(testname, xray_state["xray_view"])
    +    test_bp_state_xray_query(testname, xray_state["xray_query"],
    +        qro.num_bins, qro.abs_name, qro.emis_name, qro.units)
    +    test_bp_state_xray_data(testname, xray_state["xray_data"], qro.int_max, qro.pl_max)
    +
    +    # test data embedded within the fields
    +
    +    xray_fields = xrayout["domain_000000/fields"]
    +
    +    intensityUnits = xray_fields["intensities/units"]
    +    pathLengthUnits = xray_fields["path_length/units"]
    +
    +    if (qro.units == UNITS_ON):
    +        TestValueEQ(testname + "_IntensityUnits", intensityUnits, "intensity units")
    +        TestValueEQ(testname + "_PathLengthUnits", pathLengthUnits, "path length metadata")
    +    else:
    +        TestValueEQ(testname + "_IntensityUnits", intensityUnits, "no units provided")
    +        TestValueEQ(testname + "_PathLengthUnits", pathLengthUnits, "no info provided")
    +
    +    # test data embedded within the coordsets
    +
    +    xray_coordsets = xrayout["domain_000000/coordsets"]
    +
    +    spatial_coords_x = xray_coordsets["spatial_coords/values/x"]
    +    spatial_coords_y = xray_coordsets["spatial_coords/values/y"]
    +    energy_group_bounds = xray_coordsets["spatial_coords/values/z"]
    +    energy_group_info = xray_coordsets["spatial_coords/info"]
    +    TestValueEQ(testname + "_data_SpatialExtents0", [spatial_coords_x[0], spatial_coords_y[0]], [0.0, 0.0])
    +    TestValueEQ(testname + "_data_SpatialExtents1", [spatial_coords_x[1], spatial_coords_y[1]], [0.05, 0.05])
    +    TestValueEQ(testname + "_data_SpatialExtents2", [spatial_coords_x[2], spatial_coords_y[2]], [0.1, 0.1])
    +    TestValueEQ(testname + "_data_SpatialExtents3", [spatial_coords_x[-1], spatial_coords_y[-1]], [15.0, 10.0])
    +
    +    if (qro.bin_state == NO_ENERGY_GROUP_BOUNDS):
    +        TestValueEQ(testname + "_data_EnergyGroupInfo", energy_group_info, "Energy group bounds not provided.")
    +        TestValueEQ(testname + "_data_EnergyGroupBounds", [energy_group_bounds[0], energy_group_bounds[1]], [0, 1])
    +    elif (qro.bin_state == ENERGY_GROUP_BOUNDS_MISMATCH):
    +        baseline_string = "Energy group bounds size mismatch: provided 3 bounds, but 2 in query results."
    +        TestValueEQ(testname + "_data_EnergyGroupInfo", energy_group_info, baseline_string)
    +        TestValueEQ(testname + "_data_EnergyGroupBounds", [energy_group_bounds[0], energy_group_bounds[1]], [0, 1])
    +    elif (qro.bin_state == ENERGY_GROUP_BOUNDS):
    +        TestValueEQ(testname + "_data_EnergyGroupBounds", energy_group_bounds, [0, 2, 6, 8])
    +
    +    yaml_text = f"""x: {"cm" if qro.units == UNITS_ON else "no units provided"}
    +y: {"cm" if qro.units == UNITS_ON else "no units provided"}
    +z: {"kev" if qro.units == UNITS_ON else "no units provided"}"""
    +
    +    spatial_units_base = conduit.Node()
    +    spatial_units_base.parse(yaml_text, "yaml")
    +    spatial_units = xray_coordsets["spatial_coords/units"]
    +
    +    info = conduit.Node()
    +    diffval = spatial_units.diff(spatial_units_base, info)
    +    TestValueEQ(testname + "_spatial_units", diffval, False);
    +    if diffval:
    +        print(info.to_yaml())
    +
    +    xlabel = xray_coordsets["spatial_coords/labels/x"];
    +    ylabel = xray_coordsets["spatial_coords/labels/y"];
    +    zlabel = xray_coordsets["spatial_coords/labels/z"];
    +    TestValueEQ(testname + "_data_XLabels", xlabel, "width")
    +    TestValueEQ(testname + "_data_YLabels", ylabel, "height")
    +    TestValueEQ(testname + "_data_ZLabels", zlabel, "energy_group")
    +
    +    xlabel = xray_coordsets["spatial_energy_reduced_coords/labels/x"];
    +    ylabel = xray_coordsets["spatial_energy_reduced_coords/labels/y"];
    +    TestValueEQ(testname + "_data_ser_XLabels", xlabel, "width")
    +    TestValueEQ(testname + "_data_ser_YLabels", ylabel, "height")
    +
    +    xlabel = xray_coordsets["spectra_coords/labels/x"];
    +    TestValueEQ(testname + "_data_spectra_XLabels", xlabel, "energy_group")
    +
    +def calc_midpoints(arr):
    +    midpts = []
    +    for i in range(0, len(arr) - 1):
    +        midpts.append((arr[i] + arr[i + 1]) / 2)
    +    return midpts
    +
    +def z_slice(zval, mesh_name):
    +    AddOperator("Slice", 1)
    +    SetActivePlots(0)
    +    SliceAtts = SliceAttributes()
    +    SliceAtts.originType = SliceAtts.Point  # Point, Intercept, Percent, Zone, Node
    +    SliceAtts.originPoint = (0, 0, zval)
    +    SliceAtts.axisType = SliceAtts.ZAxis  # XAxis, YAxis, ZAxis, Arbitrary, ThetaPhi
    +    SliceAtts.project2d = 1
    +    SliceAtts.interactive = 1
    +    SliceAtts.meshName = mesh_name
    +    SetOperatorOptions(SliceAtts, 0, 1)
    +
    +def blueprint_test(output_type, outdir, testtextnumber, testname):
    +    for i in range(0, 2):
    +        setup_bp_test()
    +
    +        # common place for args
    +        divide_emis_by_absorb = 1
    +        origin = (0.0, 2.5, 10.0)
    +        theta = 0
    +        phi = 0
    +        width = 15
    +        height = 10
    +        image_size = (300, 200)
    +
    +        energy_group_bounds      = [0, 2, 6, 8]
    +        fake_energy_group_bounds = [0, 1, 2, 3]
    +
    +        energy_group_midpts      = calc_midpoints(energy_group_bounds)
    +        fake_energy_group_midpts = calc_midpoints(fake_energy_group_bounds)
    +
    +        calltype = "legacy" if i == 0 else "modern"
    +
    +        # run query
    +        if (i == 0):
    +            # test legacy call
    +            Query("XRay Image",
    +                  output_type,
    +                  outdir,
    +                  divide_emis_by_absorb,
    +                  origin[0],
    +                  origin[1],
    +                  origin[2],
    +                  theta,
    +                  phi,
    +                  width,
    +                  height,
    +                  image_size[0],
    +                  image_size[1],
    +                  ("darr", "parr"),
    +                  energy_group_bounds)
    +        elif (i == 1):
    +            # test modern call
    +            params = dict()
    +            params["output_type"] = output_type
    +            params["output_dir"] = outdir
    +            params["divide_emis_by_absorb"] = divide_emis_by_absorb
    +            params["origin"] = origin
    +            params["theta"] = theta
    +            params["phi"] = phi
    +            params["width"] = width
    +            params["height"] = height
    +            params["image_size"] = image_size
    +            params["vars"] = ("darr", "parr")
    +            params["energy_group_bounds"] = energy_group_bounds
    +            params["spatial_units"] = "cm"
    +            params["energy_units"] = "kev"
    +            params["abs_units"] = "abs units"
    +            params["emis_units"] = "emis units"
    +            params["intensity_units"] = "intensity units"
    +            params["path_length_info"] = "path length metadata"
    +            Query("XRay Image", params)
    +
    +        # test output message
    +        s = GetQueryOutputString()
    +        TestText("xrayimage" + str(testtextnumber + i), s)
    +        teardown_bp_test()
    +
    +        # test opening the bp output and visualizing in visit
    +        conduit_db = pjoin(outdir, "output.root")
    +        OpenDatabase(conduit_db)
    +
    +        # 
    +        # image topo
    +        # 
    +
    +        AddPlot("Pseudocolor", "mesh_image_topo/intensities")
    +        DrawPlots()
    +        Test(testname + "_image_topo_intensities_" + calltype)
    +        DeleteAllPlots()
    +
    +        # test some slices
    +        for j in range(0, len(fake_energy_group_midpts)):
    +            AddPlot("Pseudocolor", "mesh_image_topo/intensities")
    +            z_slice(fake_energy_group_midpts[j], "mesh_image_topo")
    +            DrawPlots()
    +            Test(testname + "_image_topo_intensities_" + calltype + "_slice" + str(j))
    +            DeleteAllPlots()
    +
    +        AddPlot("Pseudocolor", "mesh_image_topo/path_length")
    +        DrawPlots()
    +        Test(testname + "_image_topo_path_length_" + calltype)
    +        DeleteAllPlots()
    +
    +        # test some slices
    +        for j in range(0, len(fake_energy_group_midpts)):
    +            AddPlot("Pseudocolor", "mesh_image_topo/path_length")
    +            z_slice(fake_energy_group_midpts[j], "mesh_image_topo")
    +            DrawPlots()
    +            Test(testname + "_image_topo_path_length_" + calltype + "_slice" + str(j))
    +            DeleteAllPlots()
    +
    +        # 
    +        # spatial topo
    +        # 
    +
    +        AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial")
    +        DrawPlots()
    +        Test(testname + "_spatial_topo_intensities_" + calltype)
    +        DeleteAllPlots()
    +
    +        # test some slices
    +        for j in range(0, len(energy_group_midpts)):
    +            AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial")
    +            z_slice(energy_group_midpts[j], "mesh_spatial_topo")
    +            DrawPlots()
    +            Test(testname + "_spatial_topo_intensities_" + calltype + "_slice" + str(j))
    +            DeleteAllPlots()
    +
    +        AddPlot("Pseudocolor", "mesh_spatial_topo/path_length_spatial")
    +        DrawPlots()
    +        Test(testname + "_spatial_topo_path_length_" + calltype)
    +        DeleteAllPlots()
    +
    +        # test some slices
    +        for j in range(0, len(energy_group_midpts)):
    +            AddPlot("Pseudocolor", "mesh_spatial_topo/path_length_spatial")
    +            z_slice(energy_group_midpts[j], "mesh_spatial_topo")
    +            DrawPlots()
    +            Test(testname + "_spatial_topo_path_length_" + calltype + "_slice" + str(j))
    +            DeleteAllPlots()
    +
    +        # 
    +        # spatial energy reduced topo
    +        # 
    +
    +        AddPlot("Pseudocolor", "mesh_spatial_energy_reduced_topo/intensities_spatial_energy_reduced")
    +        DrawPlots()
    +        Test(testname + "_spatial_energy_reduced_topo_intensities_" + calltype)
    +        DeleteAllPlots()
    +
    +        AddPlot("Pseudocolor", "mesh_spatial_energy_reduced_topo/path_length_spatial_energy_reduced")
    +        DrawPlots()
    +        Test(testname + "_spatial_energy_reduced_topo_path_length_" + calltype)
    +        DeleteAllPlots()
    +
    +        # 
    +        # spectra topo
    +        # 
    +
    +        AddPlot("Curve", "mesh_spectra_topo/intensities_spectra")
    +        DrawPlots()
    +        Test(testname + "_spectra_topo_intensities_" + calltype)
    +        DeleteAllPlots()
    +
    +        AddPlot("Curve", "mesh_spectra_topo/path_length_spectra")
    +        DrawPlots()
    +        Test(testname + "_spectra_topo_path_length_" + calltype)
    +        DeleteAllPlots()
    +
    +        CloseDatabase(conduit_db)
    +
    +    units = UNITS_OFF if i == 0 else UNITS_ON
    +
    +    qro = query_result_options(num_bins=3, abs_name="darr", emis_name="parr", \
    +        bin_state=ENERGY_GROUP_BOUNDS, units=units, \
    +        int_max=1.0, pl_max=892.02587890625)
    +    test_bp_data(testname + str(i), conduit_db, qro) # bounds
    +
    +    setup_bp_test()
    +
    +    Query("XRay Image", output_type, outdir, 1, 0.0, 2.5, 10.0, 0, 0, 15., 10., 300, 200, ("d", "p"), [1,2,3])
    +    qro = query_result_options(num_bins=1, abs_name="d", emis_name="p", \
    +        bin_state=ENERGY_GROUP_BOUNDS_MISMATCH, units=UNITS_OFF, \
    +        int_max=0.241531997919083, pl_max=148.670989990234)
    +    test_bp_data(testname + str(i), conduit_db, qro) # bounds mismatch
    +
    +    Query("XRay Image", output_type, outdir, 1, 0.0, 2.5, 10.0, 0, 0, 15., 10., 300, 200, ("d", "p"))
    +    qro = query_result_options(num_bins=1, abs_name="d", emis_name="p", \
    +        bin_state=NO_ENERGY_GROUP_BOUNDS, units=UNITS_OFF, \
    +        int_max=0.241531997919083, pl_max=148.670989990234)
    +    test_bp_data(testname + str(i), conduit_db, qro) # no bounds
    +
    +    teardown_bp_test()
    +
    +blueprint_test("hdf5", conduit_dir_hdf5, 32, "Blueprint_HDF5_X_Ray_Output")
    +blueprint_test("json", conduit_dir_json, 34, "Blueprint_JSON_X_Ray_Output")
    +blueprint_test("yaml", conduit_dir_yaml, 36, "Blueprint_YAML_X_Ray_Output")
    +
    +#
    +# test detector height and width are always positive in blueprint output
    +#
    +
    +setup_bp_test()
    +
    +params = GetQueryParameters("XRay Image")
    +params["image_size"] = (4, 3)
    +params["output_type"] = "hdf5"
    +params["output_dir"] = conduit_dir_detector_dims
    +params["focus"] = (0., 2.5, 10.)
    +params["perspective"] = 1
    +params["near_plane"] = -50.
    +params["far_plane"] = 50.
    +params["vars"] = ("d", "p")
    +params["energy_group_bounds"] = [3.7, 4.2];
    +params["parallel_scale"] = 5.
    +Query("XRay Image", params)
    +
    +teardown_bp_test()
    +
    +conduit_db = pjoin(conduit_dir_detector_dims, "output.root")
    +xrayout = conduit.Node()
    +conduit.relay.io.blueprint.load_mesh(xrayout, conduit_db)
    +
    +detector_width = xrayout["domain_000000/state/xray_data/detector_width"]
    +TestValueEQ("Blueprint_Positive_Detector_width", detector_width, 22.3932263237838)
    +
    +detector_height = xrayout["domain_000000/state/xray_data/detector_height"]
    +TestValueEQ("Blueprint_Positive_Detector_height", detector_height, 16.7949192423103)
    +
    +#
    +# test imaging plane topos and ray output
    +#
    +
    +def test_imaging_planes_and_rays():
    +    for i in range(0, 2):
    +        setup_bp_test()
    +
    +        params = GetQueryParameters("XRay Image")
    +        params["image_size"] = (400, 300)
    +        params["output_dir"] = conduit_dir_imaging_planes0 if i == 0 else conduit_dir_imaging_planes1
    +        params["output_type"] = "hdf5"
    +        params["focus"] = (0., 2.5, 10.)
    +        params["perspective"] = 1
    +        params["near_plane"] = -50.
    +        params["far_plane"] = 50.
    +        params["vars"] = ("d", "p")
    +        params["parallel_scale"] = 5.
    +        Query("XRay Image", params)
    +
    +        conduit_db = pjoin(conduit_dir_imaging_planes0 if i == 0 else conduit_dir_imaging_planes1, "output.root")
    +
    +        OpenDatabase(conduit_db)
    +
    +        AddPlot("Pseudocolor", "mesh_far_plane_topo/far_plane_field", 1, 1)
    +        AddPlot("Pseudocolor", "mesh_view_plane_topo/view_plane_field", 1, 1)
    +        AddPlot("Pseudocolor", "mesh_near_plane_topo/near_plane_field", 1, 1)
    +        if i == 0:
    +            AddPlot("Pseudocolor", "mesh_ray_corners_topo/ray_corners_field", 1, 1)
    +        else:
    +            AddPlot("Pseudocolor", "mesh_ray_topo/ray_field", 1, 1)
    +        DrawPlots()
    +
    +        SetActivePlots(4)
    +        PseudocolorAtts = PseudocolorAttributes()
    +        PseudocolorAtts.invertColorTable = 1
    +        SetPlotOptions(PseudocolorAtts)
    +
    +        View3DAtts = View3DAttributes()
    +        View3DAtts.viewNormal = (-0.519145, 0.199692, -0.831031)
    +        View3DAtts.focus = (0, 2.5, 10)
    +        View3DAtts.viewUp = (-0.0954901, 0.952683, 0.288577)
    +        View3DAtts.viewAngle = 30
    +        View3DAtts.parallelScale = 58.6531
    +        View3DAtts.nearPlane = -117.306
    +        View3DAtts.farPlane = 117.306
    +        SetView3D(View3DAtts)
    +
    +        Test("Blueprint_HDF5_Imaging_Planes" + str(i))
    +
    +        teardown_bp_test()
    +        CloseDatabase(conduit_db)
    +
    +test_imaging_planes_and_rays()
    +
    +def test_non_square_pixels():
    +    DeleteAllPlots()
    +    setup_bp_test()
    +
    +    params = GetQueryParameters("XRay Image")
    +
    +    params["vars"] = ("d", "p")
    +    params["image_size"] = (300, 300)
    +    params["energy_group_bounds"] = [2.7, 6.2]
    +
    +    # filename, directory, and output type choices
    +    params["output_dir"] = conduit_dir_nonsquare_pixels
    +    params["filename_scheme"] = "family" # "none", "family", or "cycle" 
    +    params["output_type"] = "hdf5"
    +
    +    params["focus"] = (0., 2.5, 10.)
    +    params["parallel_scale"] = 10.
    +    params["near_plane"] = -25.
    +    params["far_plane"] = 25.
    +    params["view_angle"] = 30
    +    params["perspective"] = 1 # 0 parallel, 1 perspective
    +
    +    # default
    +    Query("XRay Image", params)
    +    params["image_size"] = (4, 4)
    +    Query("XRay Image", params)
    +    params["image_size"] = (300, 300)
    +
    +    # view width is set but is equal to what it would have been if it were calculated
    +    params["view_width"] = 10.
    +    Query("XRay Image", params)
    +    params["image_size"] = (4, 4)
    +    Query("XRay Image", params)
    +    params["image_size"] = (300, 300)
    +
    +    # view width is twice the length of the parallel scale
    +    params["view_width"] = 20.
    +    Query("XRay Image", params)
    +    params["image_size"] = (4, 4)
    +    Query("XRay Image", params)
    +    params["image_size"] = (300, 300)
    +
    +    # view width is half the length of the parallel scale
    +    params["view_width"] = 5.
    +    Query("XRay Image", params)
    +    params["image_size"] = (4, 4)
    +    Query("XRay Image", params)
    +
    +    conduit_db = pjoin(conduit_dir_nonsquare_pixels, "output.*.root database")
    +    OpenDatabase(conduit_db)
    +
    +    # first we test the imaging planes and rays look as we expect
    +    AddPlot("Pseudocolor", "mesh_near_plane_topo/near_plane_field")
    +    AddPlot("Pseudocolor", "mesh_view_plane_topo/view_plane_field")
    +    AddPlot("Pseudocolor", "mesh_far_plane_topo/far_plane_field")
    +    DrawPlots()
    +
    +    # Make the plot of the near plane active
    +    SetActivePlots(1)
    +    PseudocolorAtts = PseudocolorAttributes()
    +    # We invert the color table so that it is a different color from the far plane
    +    PseudocolorAtts.invertColorTable = 1
    +    SetPlotOptions(PseudocolorAtts)
    +
    +    # Make the plot of the view plane active
    +    SetActivePlots(2)
    +    PseudocolorAtts = PseudocolorAttributes()
    +    PseudocolorAtts.colorTableName = "hot_and_cold"
    +    PseudocolorAtts.invertColorTable = 1
    +    PseudocolorAtts.opacityType = PseudocolorAtts.Constant  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    +    # We lower the opacity so that the view plane does not obstruct our view of anything.
    +    PseudocolorAtts.opacity = 0.7
    +    SetPlotOptions(PseudocolorAtts)
    +
    +    # leave the far plane as is
    +
    +    # add ray corners topo
    +    AddPlot("Mesh", "mesh_ray_corners_topo")
    +    DrawPlots()
    +    MeshAtts = MeshAttributes()
    +    MeshAtts.lineWidth = 1
    +    SetPlotOptions(MeshAtts)
    +
    +    # set view
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (-0.350116, 0.224905, -0.909306)
    +    View3DAtts.focus = (0, 2.5, 10)
    +    View3DAtts.viewUp = (0.0306245, 0.972977, 0.228862)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 34.3903
    +    View3DAtts.nearPlane = -68.7807
    +    View3DAtts.farPlane = 68.7807
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0, 2.5, 10)
    +    View3DAtts.axis3DScaleFlag = 0
    +    View3DAtts.axis3DScales = (1, 1, 1)
    +    View3DAtts.shear = (0, 0, 1)
    +    View3DAtts.windowValid = 1
    +    SetView3D(View3DAtts)
    +
    +    # take pictures of all the ray setups
    +    Test("NonSquare_Pixels_Ray_trace_setup_1")
    +    TimeSliderNextState()
    +    AddPlot("Pseudocolor", "mesh_ray_topo/ray_field")
    +    DrawPlots()
    +    Test("NonSquare_Pixels_Ray_trace_setup_2")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_Ray_trace_setup_3")
    +    TimeSliderNextState()
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_Ray_trace_setup_4")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_Ray_trace_setup_5")
    +    TimeSliderNextState()
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_Ray_trace_setup_6")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_Ray_trace_setup_7")
    +    TimeSliderNextState()
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_Ray_trace_setup_8")
    +    HideActivePlots()
    +
    +    # cleanup
    +    TimeSliderNextState()
    +    DeleteAllPlots()
    +
    +    # take pictures of the hi-res images
    +    AddPlot("Pseudocolor", "mesh_image_topo/intensities", 1, 1)
    +    DrawPlots()
    +    ResetView()
    +    AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial", 1, 1)
    +    DrawPlots()
    +    HideActivePlots()
    +    SetActivePlots((0, 1))
    +    Test("NonSquare_Pixels_hi_res_images1")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_hi_res_images2")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_hi_res_images3")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_hi_res_images4")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_hi_res_images5")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_hi_res_images6")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    Test("NonSquare_Pixels_hi_res_images7")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_hi_res_images8")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +
    +    # cleanup
    +    TimeSliderNextState()
    +    DeleteAllPlots()
    +
    +    # take pictures of the low res images
    +    AddPlot("Pseudocolor", "mesh_image_topo/intensities", 1, 1)
    +    DrawPlots()
    +    AddPlot("Mesh", "mesh_image_topo", 1, 1)
    +    DrawPlots()
    +    AddPlot("Pseudocolor", "mesh_spatial_topo/intensities_spatial", 1, 1)
    +    DrawPlots()
    +    AddPlot("Mesh", "mesh_spatial_topo", 1, 1)
    +    DrawPlots()
    +    SetActivePlots((2, 3))
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    ResetView()
    +    SetActivePlots((0, 2, 3))
    +    SetActivePlots((0, 1, 2, 3))
    +    Test("NonSquare_Pixels_low_res_mesh_plots1")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_low_res_mesh_plots2")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    ResetView()
    +    Test("NonSquare_Pixels_low_res_mesh_plots3")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_low_res_mesh_plots4")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    ResetView()
    +    Test("NonSquare_Pixels_low_res_mesh_plots5")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_low_res_mesh_plots6")
    +    HideActivePlots()
    +    TimeSliderNextState()
    +    TimeSliderNextState()
    +    ResetView()
    +    Test("NonSquare_Pixels_low_res_mesh_plots7")
    +    HideActivePlots()
    +    Test("NonSquare_Pixels_low_res_mesh_plots8")
    +    HideActivePlots()
    +
    +    teardown_bp_test()
    +    CloseDatabase(conduit_db)
    +
    +test_non_square_pixels()
    +
    +# 
    +# test catching failures
    +# 
    +
    +# write to dir that does not exist
    +
    +setup_bp_test()
    +Query("XRay Image", "hdf5", dir_dne, 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
    +output_obj = GetQueryOutputObject()
    +TestValueEQ("xrayimage38", output_obj, None)
    +teardown_bp_test(True)
    +
    +# os.chmod does not work on windows
    +if not platform.system() == "Windows":
    +    # write to dir w/ read only permissions
    +    setup_bp_test()
    +    Query("XRay Image", "hdf5", outdir_bad, 1, 0.0, 2.5, 10.0, 0, 0, 10., 10., 300, 300, ("d", "p"))
    +    output_obj = GetQueryOutputObject()
    +    TestValueEQ("xrayimage39", output_obj, None)
    +    teardown_bp_test()
    +
    +# 
    +# Test filenames and output types
    +# 
    +
    +setup_bp_test()
    +
    +DefineArrayExpression("da", "array_compose(d,d)")
    +DefineArrayExpression("pa", "array_compose(p,p)")
    +
    +def query_variety(otype, scheme, thevars, outdir):
    +    SetQueryFloatFormat("%g")
    +    Query("XRay Image",
    +        background_intensity=0,
    +        divide_emis_by_absorb=0,
    +        far_plane=20,
    +        filename_scheme=scheme,
    +        family_files=0, # this is to test that family_files is ignored when filename_scheme is set
    +        focus=(0, 0, 0),
    +        image_pan=(0, 0),
    +        image_size=(3, 3),
    +        image_zoom=1,
    +        near_plane=-20,
    +        normal=(0, 0, 1),
    +        output_dir=outdir,
    +        output_ray_bounds=0,
    +        output_type=otype,
    +        parallel_scale=10,
    +        perspective=0,
    +        view_angle=30,
    +        view_up=(0, 1, 0),
    +        vars=thevars)
    +    return GetQueryOutputObject()
    +
    +def query_family_backwards_compat(family, thevars, outdir):
    +    SetQueryFloatFormat("%g")
    +    Query("XRay Image",
    +        background_intensity=0,
    +        divide_emis_by_absorb=0,
    +        far_plane=20,
    +        family_files=family,
    +        focus=(0, 0, 0),
    +        image_pan=(0, 0),
    +        image_size=(3, 3),
    +        image_zoom=1,
    +        near_plane=-20,
    +        normal=(0, 0, 1),
    +        output_dir=outdir,
    +        output_ray_bounds=0,
    +        output_type="png",
    +        parallel_scale=10,
    +        perspective=0,
    +        view_angle=30,
    +        view_up=(0, 1, 0),
    +        vars=thevars)
    +    return GetQueryOutputObject()
    +
    +filename_schemes = ["family", "family", "cycle", "none"]
    +vars_options = [("d", "p"), ("da", "pa")]
    +
    +for i in range(0, len(output_types)):
    +    outdir_set_otype = outdir_set + "_" + output_types[i]
    +    if output_types[i] == "jpeg":
    +        # create a dummy file to test the file familying
    +        open(outdir_set_otype + "/output.0000.jpg", 'w').close()
    +    info = ""
    +    for j in range(0, len(filename_schemes)):
    +        for k in range(0, len(vars_options)):
    +            info += str(query_variety(output_types[i],
    +                                      filename_schemes[j],
    +                                      vars_options[k],
    +                                      outdir_set_otype)) + "\n"
    +    info += str(sorted(os.listdir(outdir_set_otype))) + "\n"
    +    TestText("Test_filenames_for_" + output_types[i] + "_outputs", info)
    +
    +# test backwards compatibility with family_files option
    +for i in range(0, len(family_options)):
    +    outdir_set_family = outdir_set + "_family_" + str(family_options[i])
    +    info = ""
    +    for j in range(0, len(vars_options)):
    +        info += str(query_family_backwards_compat(family_options[i],
    +                                                  vars_options[j],
    +                                                  outdir_set_family)) + "\n"
    +    info += str(sorted(os.listdir(outdir_set_family))) + "\n"
    +    TestText("Test_filenames_for_family" + str(family_options[i]) + "_outputs", info)
    +
    +#
    +# Test that we get decent error messages for common cases
    +#
    +import numpy
    +
    +nporig = numpy.array([0.0, 2.5, 10.0])
    +
    +params = dict(output_type=1, output_dir=".", divide_emis_by_absorb=1, \
    +    origin=nporig, up_vector=(0, 1, 0), theta=0, phi=0, \
    +    width = 10., height=10., image_size=(300, 300), vars=("da", "pa"))
    +try:
    +    Query("XRay Image", params)
    +except (visit.VisItException, VisItException) as e:
    +    if '"origin"' in e.args[0] and "position 4" in e.args[0] and "type numpy.ndarray" in e.args[0]:
    +        TestPOA('detect and warn numpy array as query param')
    +    else:
    +        TestFOA('detect and warn numpy array as query param', LINE())
    +    pass
    +except:
    +    TestFOA('detect and warn numpy array as query param', LINE())
    +    pass
    +
    +params = dict(output_type=1, output_dir=".", divide_emis_by_absorb=1, \
    +    origin=nporig.tolist(), up_vector=(0, 1, 0), theta=0, phi=0, \
    +    width = 10., height=10., image_size=(300, 300), vars=("da", "pa"))
    +try:
    +    Query("XRay Image", params)
    +    TestPOA('numpy array converted to list works as query param')
    +except:
    +    TestFOA('numpy array converted to list works as query param', LINE())
    +    pass
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_cl_args.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_cl_args.html new file mode 100644 index 000000000..ccc30cb5e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_cl_args.html @@ -0,0 +1,44 @@ + +Results for quickrecipes/cl_args.py + +

    Results of VisIt Regression Test - quickrecipes/cl_args

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    handling command line arguments errors
     "" .eq. "" : True
    handling command line arguments no exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_cl_args_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_cl_args_py.html new file mode 100644 index 000000000..87c81f68c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_cl_args_py.html @@ -0,0 +1,30 @@ +quickrecipes/cl_args.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def handling_command_line_arguments():
    +
    +  try:
    +    # handling command line arguments {
    +    import sys
    +    print(Argv)
    +    print(sys.argv)
    +    # handling command line arguments }
    +    TestValueEQ('handling command line arguments errors',GetLastError(),'')
    +    TestPOA('handling command line arguments no exceptions')
    +  except Exception as inst:
    +    TestFOA('handling command line argumentts exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +handling_command_line_arguments()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_colortables.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_colortables.html new file mode 100644 index 000000000..628c070d0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_colortables.html @@ -0,0 +1,72 @@ + +Results for quickrecipes/colortables.py + +

    Results of VisIt Regression Test - quickrecipes/colortables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    standard_hot_table0.000.00
    modified_hot_table_10.000.00
    modified_hot_table_20.000.00
    hot20.000.00
    hot30.000.00
    rainbow_continuous0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_colortables_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_colortables_py.html new file mode 100644 index 000000000..6f9694d5a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_colortables_py.html @@ -0,0 +1,217 @@ +quickrecipes/colortables.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  colortables.py
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       March 30, 2022
    +#
    +#  Modificatons:
    +#    Justin Privitera, Wed Aug  3 19:46:13 PDT 2022
    +#    Made changes to reflect the fact that built-in tables cannot be edited.
    +#
    +#    Mark C. Miller, Mon Dec 12 19:02:35 PST 2022
    +#    Add introspecting block
    +# ----------------------------------------------------------------------------
    +
    +
    +# NOTE: Sections of this test file are 'literalinclude'd in quickrecipes.rst.
    +# After modifying this file, ensure the proper content is still displayed in the doc.
    +
    +# comments of the form '# sometext {' and '# sometext }' bracket the sections
    +# that are 'literalinclude'd in quickrecipes.rst.
    +
    +def introspectingColorTable():
    +
    +    # introspectingColorTable {
    +    hotCT = GetColorTable("hot")
    +    print(hotCT)
    +    # results of print
    +    #    GetControlPoints(0).colors = (0, 0, 255, 255)
    +    #    GetControlPoints(0).position = 0
    +    #    GetControlPoints(1).colors = (0, 255, 255, 255)
    +    #    GetControlPoints(1).position = 0.25
    +    #    GetControlPoints(2).colors = (0, 255, 0, 255)
    +    #    GetControlPoints(2).position = 0.5
    +    #    GetControlPoints(3).colors = (255, 255, 0, 255)
    +    #    GetControlPoints(3).position = 0.75
    +    #    GetControlPoints(4).colors = (255, 0, 0, 255)
    +    #    GetControlPoints(4).position = 1
    +    #    smoothing = Linear  # NONE, Linear, CubicSpline
    +    #    equalSpacingFlag = 0
    +    #    discreteFlag = 0
    +    # introspectingColorTable }
    +
    +def modifyExistingColorTable():
    +
    +    # modifyTable1 {
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +    AddPlot("Pseudocolor", "d")
    +
    +    pc = PseudocolorAttributes()
    +    pc.centering=pc.Nodal
    +    # set color table name
    +    pc.colorTableName = "hot"
    +    SetPlotOptions(pc)
    +
    +    DrawPlots()
    +    # put the plot in full-frame mode
    +    v = GetView2D()
    +    v.fullFrameActivationMode= v.On
    +    SetView2D(v)
    +    # modifyTable1 } 
    +
    +    Test("standard_hot_table")
    +
    +    hotCTorig = GetColorTable("hot")
    +
    +    # modifyTable2 {
    +    hotCT = GetColorTable("hot")
    +
    +    # Remove a couple of control points
    +    hotCT.RemoveControlPoints(4)
    +    hotCT.RemoveControlPoints(3)
    +
    +    # We must use a different name, as VisIt will not allow overwriting of built-in color tables
    +    SetColorTable("hot_edited", hotCT)
    +
    +    # set color table name so changes to it will be reflected in plot
    +    pc.colorTableName = "hot_edited"
    +    SetPlotOptions(pc)
    +    # modifyTable2 }
    +
    +    Test("modified_hot_table_1")
    +
    +    # modifyTable3 {
    +    # Change colors
    +    hotCT.GetControlPoints(0).colors = (255,0,0,255)
    +    hotCT.GetControlPoints(1).colors = (255, 0, 255, 255)
    +    SetColorTable("hot_edited", hotCT)
    +    # modifyTable3 }
    +
    +    Test("modified_hot_table_2")
    +
    +    # modifyTable4 {
    +    # Turn on equal spacing
    +    hotCT.equalSpacingFlag = 1
    +    # Create a new color table by providing a different name
    +    SetColorTable("hot2", hotCT)
    +
    +    # tell the Pseudocolor plot to use the new color table
    +    pc.colorTableName = "hot2"
    +    SetPlotOptions(pc)
    +    # modifyTable4 }
    +
    +    Test("hot2")
    +
    +    # modifyTable5 {
    +    # Change positions so that the first and last are at the endpoints
    +    hotCT.equalSpacingFlag=0
    +    hotCT.GetControlPoints(0).position = 0
    +    hotCT.GetControlPoints(1).position =0.5
    +    hotCT.GetControlPoints(2).position = 1
    +    SetColorTable("hot3", hotCT)
    +
    +    pc.colorTableName = "hot3"
    +    SetPlotOptions(pc)
    +    # modifyTable5 }
    +
    +    Test("hot3")
    +
    +    # remove the added color tables
    +    RemoveColorTable("hot_edited")
    +    RemoveColorTable("hot2")
    +    RemoveColorTable("hot3")
    +    DeleteAllPlots()
    +
    +def createContinuous():
    +    # based on http://visitusers.org/index.php?title=Creating_a_color_table
    +
    +    # continuous1 {
    +    # create control points (red, green, blue, position).
    +    ct = ((1,0,0,0.), (1,0.8,0.,0.166), (1,1,0,0.333), (0,1,0,0.5),
    +          (0,1,1,0.666), (0,0,1,0.8333), (0.8,0.1,1,1))
    +
    +    ccpl = ColorControlPointList()
    +
    +    # add the control points to the list 
    +    for pt in ct:
    +        p = ColorControlPoint()
    +        # colors is RGBA and must be in range 0...255
    +        p.colors = (pt[0] * 255, pt[1] * 255, pt[2] * 255, 255)
    +        p.position = pt[3]
    +        ccpl.AddControlPoints(p)
    +    AddColorTable("myrainbow", ccpl)
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +    AddPlot("Pseudocolor", "speed")
    +
    +    # Make the plot use the new color table
    +    pc = PseudocolorAttributes(1)
    +    pc.colorTableName = "myrainbow"
    +    SetPlotOptions(pc)
    +
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.693476, 0.212776, 0.688344)
    +    v. viewUp = (0.161927, 0.976983, -0.138864)
    +    SetView3D(v)
    +    # continuous1 }
    +
    +    Test("rainbow_continuous")
    +
    +    RemoveColorTable("myrainbow")
    +    DeleteAllPlots()
    +
    +
    +def createDiscreteUsingVTKNamedColors():
    +    # discrete1 {
    +    try:
    +        import vtk # for vtk.vtkNamedColors
    +    except:
    +        return
    +
    +    # to see list of all color names available: 
    +    # print(vtk.vtkNamedColors.GetColorNames())
    +
    +    # choose some colors from vtk.vtkNamedColors
    +    colorNames = ["tomato", "turquoise", "van_dyke_brown", "carrot",
    +                  "royalblue", "naples_yellow_deep", "cerulean", "warm_grey",
    +                  "venetian_red", "seagreen", "sky_blue", "pink"]
    +    # Create a color control point list
    +    ccpl = ColorControlPointList()
    +    # Make it discrete
    +    ccpl.discreteFlag=1
    +    # Add color control points corresponding to color names
    +    for name in colorNames:
    +        p = ColorControlPoint()
    +        p.colors=vtk.vtkNamedColors().GetColor4ub(name)
    +        ccpl.AddControlPoints(p)
    +    # add a color table based on the color control points
    +    AddColorTable("mylevels", ccpl)
    +
    +    OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +    AddPlot("Subset", "domains")
    +    s = SubsetAttributes()
    +    s.colorType = s.ColorByColorTable
    +    s.colorTableName = "mylevels"
    +    SetPlotOptions(s)
    +    DrawPlots()
    +    # discrete1 }
    +
    +    Test("discrete_using_vtk")
    +
    +    # remove the added color tables
    +    RemoveColorTable("mylevels")
    +    DeleteAllPlots()
    +
    +def main():
    +    introspectingColorTable()
    +    modifyExistingColorTable()
    +    createContinuous()
    +    createDiscreteUsingVTKNamedColors()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_expressions.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_expressions.html new file mode 100644 index 000000000..dae1179a8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_expressions.html @@ -0,0 +1,42 @@ + +Results for quickrecipes/expressions.py + +

    Results of VisIt Regression Test - quickrecipes/expressions

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    materials_to_values0.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_expressions_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_expressions_py.html new file mode 100644 index 000000000..cc1bafbcd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_expressions_py.html @@ -0,0 +1,62 @@ +quickrecipes/expressions.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  expressions.py
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       August 26, 2022
    +#
    +#  Modificatons:
    +#    Kathleen Biagas, Mon Sep 12, 2022
    +#    Change OpenDatabase call to use 'silo_data_path' so that the test can
    +#    run on Windows.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +# NOTE: Sections of this test file are 'literalinclude'd in quickrecipes.rst.
    +# After modifying this file, ensure the proper content is still displayed in the doc.
    +
    +# comments of the form '# sometext {' and '# sometext }' bracket the sections
    +# that are 'literalinclude'd in quickrecipes.rst.
    +
    +# mapMaterialsToValues {
    +# Create an expression that maps material numbers to scalar values.
    +#
    +# var is the name of the expression.
    +# mat is the name of the material variable.
    +# mesh is the name of the mesh variable.
    +# pairs is a list of tuples of material number and scalar value.
    +# The material number of the last tuple of the list is ignored and the value
    +# will be used for all the remaining materials.
    +
    +def create_mat_value_expr(var, mat, mesh, pairs):
    +    expr=""
    +    parens=""
    +    nlist = len(pairs)
    +    ilist = 0
    +    for pair in pairs:
    +        ilist = ilist + 1
    +        parens = parens + ")"
    +        if (ilist == nlist):
    +            expr = expr + "zonal_constant(%s,%f" % (mesh, pair[1]) + parens
    +        else:
    +            expr=expr + "if(eq(dominant_mat(%s),zonal_constant(%s,%d)),zonal_constant(%s,%f)," % (mat, mesh, pair[0], mesh, pair[1])
    +
    +    DefineScalarExpression(var, expr)
    +
    +# Call the function to create the expression.
    +mat_val_pairs = [(1, 0.75), (3, 1.2), (6, 0.2), (7, 1.6), (8, 1.8), (11, 2.2), (-1, 2.5)]
    +
    +create_mat_value_expr("myvar", "mat1", "quadmesh2d", mat_val_pairs)
    +
    +# Create a pseudocolor plot of the expression.
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +AddPlot("Pseudocolor", "myvar")
    +DrawPlots()
    +# mapMaterialsToValues }
    +
    +Test("materials_to_values")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_operators.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_operators.html new file mode 100644 index 000000000..371526a48 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_operators.html @@ -0,0 +1,52 @@ + +Results for quickrecipes/operators.py + +

    Results of VisIt Regression Test - quickrecipes/operators

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    adding operators error message
     "" .eq. "" : True
    adding operators exceptions
     "True" .eq. "True" : True
    setting operator attributes error message
     "" .eq. "" : True
    setting operator attributes exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_operators_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_operators_py.html new file mode 100644 index 000000000..b27dbfd69 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_operators_py.html @@ -0,0 +1,80 @@ +quickrecipes/operators.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def adding_operators():
    +
    +  OpenDatabase(silo_data_path("globe.silo"))
    +  try:
    +    # adding operators {
    +    # Names of all available operator plugins as a python tuple
    +    x = OperatorPlugins()
    +
    +    print(x)
    +    # will produce output something like...
    +    # ('AMRStitchCell', 'AxisAlignedSlice4D', 'BoundaryOp', 'Box', 'CartographicProjection',
    +    #  'Clip', 'Cone', 'ConnectedComponents', 'CoordSwap', 'CreateBonds', 'Cylinder',
    +    #  'DataBinning', 'DeferExpression', 'Displace', 'DualMesh', 'Edge', 'Elevate',
    +    #  'EllipsoidSlice', 'Explode', 'ExternalSurface', ...
    +    #  ..., 'TriangulateRegularPoints', 'Tube')
    +
    +    # We need at least one plot that we can add operators to
    +    AddPlot("Pseudocolor", "dx")
    +    AddPlot("Mesh","mesh1")
    +
    +    # Add Isovolume and Slice operators using whatever their default attributes are.
    +    # The non-zero 2nd arg means to add the operator to all plots. If the 2nd argument
    +    # is not present or zero, it means to add the operator only to the *active* plots
    +    # (by default, the *active* plots are just the last plot added).
    +    AddOperator("Isovolume", 1)
    +    AddOperator("Slice", 1)
    +    DrawPlots()
    +    # adding operators }
    +    TestValueEQ('adding operators error message',GetLastError(),'')
    +    TestPOA('adding operators exceptions')
    +  except Exception as inst:
    +    TestFOA('adding operators exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def setting_operator_attributes():
    +
    +  try:
    +    # setting operator attributes {
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    AddOperator("Slice")
    +    s = SliceAttributes()
    +    s.originType = s.Percent
    +    s.project2d = 0
    +    SetOperatorOptions(s)
    +    DrawPlots()
    +
    +    nSteps = 20
    +    for axis in (0,1,2):
    +      s.axisType = axis
    +      for step in range(nSteps):
    +        t = float(step) / float(nSteps - 1)
    +        s.originPercent = t * 100.
    +        SetOperatorOptions(s)
    +        SaveWindow()
    +    # setting operator attributes }
    +    TestValueEQ('setting operator attributes error message',GetLastError(),'')
    +    TestPOA('setting operator attributes exceptions')
    +  except Exception as inst:
    +    TestFOA('setting operator attributes exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +adding_operators()
    +setting_operator_attributes()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_quantitative_operations.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_quantitative_operations.html new file mode 100644 index 000000000..cd9d6222f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_quantitative_operations.html @@ -0,0 +1,116 @@ + +Results for quickrecipes/quantitative_operations.py + +

    Results of VisIt Regression Test - quickrecipes/quantitative_operations

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    defining expressions error message
     "" .eq. "" : True
    defining expressions exceptions
     "True" .eq. "True" : True
    pick string
     hgslice:   = 2.472 .in. 
    +A: noise.silo +Mesh2D +Point: <-10, -7.55102> +Node: 300 +Incident Zones: 294 245 +hgslice: = 2.47203 + + (prec=5, at=86) : True
    pick string
     hgslice:   = 4.043 .in. 
    +D: noise.silo +Mesh2D +Point: <-1.83673, 1.83673> +Node: 1470 +Incident Zones: 1440 1391 1441 1392 +hgslice: = 4.04322 + + (prec=5, at=105) : True
    pick error message
     "" .eq. "" : True
    pick exceptions
     "True" .eq. "True" : True
    lineout 1 error message
     "" .eq. "" : True
    lineout 1 exceptions
     "True" .eq. "True" : True
    lineout 2 error message
     "" .eq. "" : True
    lineout 2 exceptions
     "True" .eq. "True" : True
    query error message
     "" .eq. "" : True
    query exceptions
     "True" .eq. "True" : True
    finding the min and max error message
     "" .eq. "" : True
    finding the min and max exceptions
     "True" .eq. "True" : True
    csv query over time error message
     "" .eq. "" : True
    csv query over time exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_quantitative_operations_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_quantitative_operations_py.html new file mode 100644 index 000000000..78164d36f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_quantitative_operations_py.html @@ -0,0 +1,219 @@ +quickrecipes/quantitative_operations.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def defining_expressions():
    +
    +  try:
    +    # defining expressions {
    +    # Creating a new expression
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +    DefineScalarExpression("newvar", "sin(hardyglobal) + cos(shepardglobal)")
    +    ChangeActivePlotsVar("newvar")
    +    # defining expressions }
    +    TestValueEQ('defining expressions error message',GetLastError(),'')
    +    TestPOA('defining expressions exceptions')
    +  except Exception as inst:
    +    TestFOA('defining expressions exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def pick():
    +
    +  try:
    +    # pick {
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hgslice")
    +    DrawPlots()
    +    s = []
    +    # Pick by a node id
    +    PickByNode(300)
    +    s = s + [GetPickOutput()]
    +    # Pick by a cell id
    +    PickByZone(250)
    +    s = s + [GetPickOutput()]
    +    # Pick on a cell using a 3d point
    +    Pick((-2., 2., 0.))
    +    s = s + [GetPickOutput()]
    +    # Pick on the node closest to (-2,2,0)
    +    NodePick((-2,2,0))
    +    s = s + [GetPickOutput()]
    +    # Print all pick results
    +    print(s)
    +    # Will produce output somewhat like...
    +    # ['\nA:  noise.silo\nMesh2D \nPoint: <-10, -7.55102>\nNode:...
    +    #  '\nD:  noise.silo\nMesh2D \nPoint: <-1.83673, 1.83673>\nNode:...
    +    #  ...\nhgslice:  <nodal> = 4.04322\n\n']
    +    # pick }
    +    TestValueIN('pick string',s[0],'hgslice:  <nodal> = 2.472')
    +    TestValueIN('pick string',s[3],'hgslice:  <nodal> = 4.043')
    +    TestValueEQ('pick error message',GetLastError(),'')
    +    TestPOA('pick exceptions')
    +  except Exception as inst:
    +    TestFOA('pick exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def lineout1():
    +
    +  try:
    +    # lineout 1 {
    +    p0 = (-5,-3, 0)
    +    p1 = ( 5, 8, 0)
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +    Lineout(p0, p1)
    +    # Specify 65 sample points
    +    Lineout(p0, p1, 65)
    +    # Do three variables ("default" is "hardyglobal")
    +    Lineout(p0, p1, ("default", "airVf", "radial"))
    +    # lineout 1 }
    +    TestValueEQ('lineout 1 error message',GetLastError(),'')
    +    TestPOA('lineout 1 exceptions')
    +  except Exception as inst:
    +    TestFOA('lineout 1 exception "%s"'%str(inst), LINE())
    +    pass
    +  # No cleanup because next method uses results from this
    +  # DeleteWindow()
    +  # vqr_cleanup()
    +
    +def lineout2():
    +
    +  try:
    +    # lineout 2 {
    +    # Set active window to one containing Lineout curve plots (typically #2)
    +    SetActiveWindow(2)
    +    # Get array of x,y pairs for first curve plot in window
    +    SetActivePlots(0)
    +    hg_vals = GetPlotInformation()["Curve"]
    +    # Get array of x,y pairs for second curve plot in window
    +    SetActivePlots(1)
    +    avf_vals = GetPlotInformation()["Curve"]
    +    # Get array of x,y pairs for third curve plot in window
    +    SetActivePlots(2)
    +    rad_vals = GetPlotInformation()["Curve"]
    +
    +    # Write it as CSV data to a file
    +    for i in range(int(len(hg_vals) / 2)):
    +        idx = i*2+1 # take only y-values in each array
    +        print("%g,%g,%g" % (hg_vals[idx], avf_vals[idx], rad_vals[idx]))
    +    # lineout 2 }
    +    TestValueEQ('lineout 2 error message',GetLastError(),'')
    +    TestPOA('lineout 2 exceptions')
    +  except Exception as inst:
    +    TestFOA('lineout 2 exception "%s"'%str(inst), LINE())
    +    pass
    +  DeleteWindow()
    +  vqr_cleanup()
    +
    +def query():
    +
    +  try:
    +    # query {
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +    Query("NumNodes")
    +    print("The float value is: %g" % GetQueryOutputValue())
    +    Query("NumNodes")
    +    # query }
    +    TestValueEQ('query error message',GetLastError(),'')
    +    TestPOA('query exceptions')
    +  except Exception as inst:
    +    TestFOA('query exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def finding_the_min_and_max():
    +
    +  try:
    +    # finding the min and max {
    +    # Define a helper function to get node/zone id's from query string.
    +    def GetMinMaxIds(qstr):
    +        import string
    +        s = qstr.split(' ')
    +        retval = []
    +        nextGood = 0
    +        idType = 0
    +        for token in s:
    +            if token == "(zone" or token == "(cell":
    +                idType = 1
    +                nextGood = 1
    +                continue
    +            elif token == "(node":
    +                idType = 0
    +                nextGood = 1
    +                continue
    +            if nextGood == 1:
    +                nextGood = 0
    +                retval = retval + [(idType, int(token))]
    +        return retval
    +
    +    # Set up a plot
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hgslice")
    +    DrawPlots()
    +    Query("MinMax")
    +
    +    # Do picks on the ids that were returned by MinMax.
    +    for ids in GetMinMaxIds(GetQueryOutputString()):
    +        idType = ids[0]
    +        id = ids[1]
    +        if idType == 0:
    +            PickByNode(id)
    +        else:
    +            PickByZone(id)
    +    # finding the min and max }
    +    TestValueEQ('finding the min and max error message',GetLastError(),'')
    +    TestPOA('finding the min and max exceptions')
    +  except Exception as inst:
    +    TestFOA('finding the min and max exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def csv_query_over_time():
    +
    +  try:
    +    # csv query over time {
    +    OpenDatabase("~juanita/silo/stuff/wave.visit")
    +    AddPlot("Pseudocolor", "pressure")
    +    DrawPlots()
    +
    +    n_time_steps = TimeSliderGetNStates()
    +    f = open('points.txt', 'w', encoding='utf-8')
    +    f.write('time, x, y, z, u, v, w\n')
    +    for time_step in range(0, n_time_steps):
    +        TimeSliderSetState(time_step)
    +        pick = PickByNode(domain=0, element=3726, vars=["u", "v", "w"])
    +        Query("Time")
    +        time = GetQueryOutputValue()
    +        f.write('%g, %g, %g, %g, %g, %g, %g\n' % (time, pick['point'][0], pick['point'][1], pick['point'][2], pick['u'], pick['v'], pick['w']))
    +    f.close()
    +    # csv query over time }
    +    TestValueEQ('csv query over time error message',GetLastError(),'')
    +    TestPOA('csv query over time exceptions')
    +  except Exception as inst:
    +    TestFOA('csv query over time exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +defining_expressions()
    +pick()
    +lineout1()
    +lineout2()
    +query()
    +finding_the_min_and_max()
    +csv_query_over_time()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_saving_images.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_saving_images.html new file mode 100644 index 000000000..99a7a7f2e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_saving_images.html @@ -0,0 +1,52 @@ + +Results for quickrecipes/saving_images.py + +

    Results of VisIt Regression Test - quickrecipes/saving_images

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    setting output image characteristics error message
     "" .eq. "" : True
    setting output image characteristics no exceptions
     "True" .eq. "True" : True
    saving an image error message
     "" .eq. "" : True
    saving an image no exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_saving_images_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_saving_images_py.html new file mode 100644 index 000000000..901f6d47b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_saving_images_py.html @@ -0,0 +1,56 @@ +quickrecipes/saving_images.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def setting_output_image_characteristics():
    +
    +  try:
    +    # setting output image characteristics {
    +    # Prepare to save a BMP file at 1024x768 resolution 
    +    s = SaveWindowAttributes()
    +    s.format = s.BMP
    +    s.fileName = 'mybmpfile'
    +    s.width, s.height = 1024,768
    +    s.screenCapture = 0
    +    SetSaveWindowAttributes(s)
    +    # Subsequent calls to SaveWindow() will use these settings
    +    # setting output image characteristics }
    +    TestValueEQ('setting output image characteristics error message',GetLastError(),'')
    +    TestPOA('setting output image characteristics no exceptions')
    +  except Exception as inst:
    +    TestFOA('setting output image characteristics exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def saving_an_image():
    +
    +  try:
    +    # saving an image {
    +    # Save images of all timesteps and add each image filename to a list.
    +    names = []
    +    for state in range(TimeSliderGetNStates()):
    +      SetTimeSliderState(state)
    +      # Save the image
    +      n = SaveWindow()
    +      names = names + [n]
    +    print(names)
    +    # saving an image }
    +    TestValueEQ('saving an image error message',GetLastError(),'')
    +    TestPOA('saving an image no exceptions')
    +  except Exception as inst:
    +    TestFOA('saving an image exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +setting_output_image_characteristics()
    +saving_an_image()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_subsetting.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_subsetting.html new file mode 100644 index 000000000..7b84087ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_subsetting.html @@ -0,0 +1,52 @@ + +Results for quickrecipes/subsetting.py + +

    Results of VisIt Regression Test - quickrecipes/subsetting

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    turning off domains error message
     "" .eq. "" : True
    turning off domains exceptions
     "True" .eq. "True" : True
    turning off materials error message
     "" .eq. "" : True
    turning off materials exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_subsetting_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_subsetting_py.html new file mode 100644 index 000000000..9ae01e78b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_subsetting_py.html @@ -0,0 +1,67 @@ +quickrecipes/subsetting.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def turning_off_domains():
    +
    +  try:
    +    # turning off domains {
    +    OpenDatabase("~juanita/silo/stuff/multi_rect2d.silo")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    # Turning off every other domain
    +    d = GetDomains()
    +    i = 0
    +    for dom in d:
    +        if i%2:
    +            TurnDomainsOff(dom)
    +        i += 1
    +
    +    # Turn all domains off
    +    TurnDomainsOff()
    +
    +    # Turn on domains 3,5,7
    +    TurnDomainsOn((d[3], d[5], d[7]))
    +
    +    # turning off domains }
    +    TestValueEQ('turning off domains error message',GetLastError(),'')
    +    TestPOA('turning off domains exceptions')
    +  except Exception as inst:
    +    TestFOA('turning off domains exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def turning_off_materials():
    +
    +  try:
    +    # turning off materials {
    +    OpenDatabase("~juanita/silo/stuff/multi_rect2d.silo")
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +    # Get the material names 
    +    GetMaterials()
    +    # GetMaterials() will return a tuple of material names such as
    +    #     ('1', '2', '3')
    +    # Turn off material with name "2"
    +    TurnMaterialsOff("2")
    +    # turning off materials }
    +    TestValueEQ('turning off materials error message',GetLastError(),'')
    +    TestPOA('turning off materials exceptions')
    +  except Exception as inst:
    +    TestFOA('turning off domains exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +turning_off_domains()
    +turning_off_materials()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_view.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_view.html new file mode 100644 index 000000000..14e751912 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_view.html @@ -0,0 +1,60 @@ + +Results for quickrecipes/view.py + +

    Results of VisIt Regression Test - quickrecipes/view

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    setting the 2d view error message
     "" .eq. "" : True
    setting the 2d view exceptions
     "True" .eq. "True" : True
    setting the 3d view error message
     "" .eq. "" : True
    setting the 3d view exceptions
     "True" .eq. "True" : True
    flying around plots error message
     "" .eq. "" : True
    flying around plots exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_view_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_view_py.html new file mode 100644 index 000000000..c06ecaff9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_view_py.html @@ -0,0 +1,159 @@ +quickrecipes/view.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def setting_the_2d_view():
    +
    +  try:
    +    # setting the 2d view {
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hgslice")
    +    AddPlot("Mesh", "Mesh2D")
    +    AddPlot("Label", "hgslice")
    +    DrawPlots()
    +    print("The current view is:", GetView2D())
    +    # Get an initialized 2D view object.
    +    # Note that DrawPlots() must be executed prior to getting
    +    # the view to ensure current view parameters are obtained
    +    v = GetView2D()
    +    v.windowCoords = (-7.67964, -3.21856, 2.66766, 7.87724)
    +    SetView2D(v)
    +    # setting the 2d view }
    +    TestValueEQ('setting the 2d view error message',GetLastError(),'')
    +    TestPOA('setting the 2d view exceptions')
    +  except Exception as inst:
    +    TestFOA('setting the 2d view exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def setting_the_3d_view():
    +
    +  try:
    +    # setting the 3d view {
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    AddPlot("Mesh", "Mesh")
    +    DrawPlots()
    +    # Note that DrawPlots() must be executed prior to getting
    +    # the view to ensure current view parameters are obtained
    +    v = GetView3D()
    +    print("The view is: ", v)
    +    v.viewNormal = (-0.571619, 0.405393, 0.713378)
    +    v.viewUp = (0.308049, 0.911853, -0.271346)
    +    SetView3D(v)
    +    # setting the 3d view }
    +    TestValueEQ('setting the 3d view error message',GetLastError(),'')
    +    TestPOA('setting the 3d view exceptions')
    +  except Exception as inst:
    +    TestFOA('setting the 3d view exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def flying_around_plots():
    +
    +  try:
    +    # flying around plots {
    +    OpenDatabase("~juanita/silo/stuff/globe.silo")
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +
    +    # Create the control points for the views.
    +    c0 = View3DAttributes()
    +    c0.viewNormal = (0, 0, 1)
    +    c0.focus = (0, 0, 0)
    +    c0.viewUp = (0, 1, 0)
    +    c0.viewAngle = 30
    +    c0.parallelScale = 17.3205
    +    c0.nearPlane = 17.3205
    +    c0.farPlane = 81.9615
    +    c0.perspective = 1
    +
    +    c1 = View3DAttributes()
    +    c1.viewNormal = (-0.499159, 0.475135, 0.724629)
    +    c1.focus = (0, 0, 0)
    +    c1.viewUp = (0.196284, 0.876524, -0.439521)
    +    c1.viewAngle = 30
    +    c1.parallelScale = 14.0932
    +    c1.nearPlane = 15.276
    +    c1.farPlane = 69.917
    +    c1.perspective = 1
    +
    +    c2 = View3DAttributes()
    +    c2.viewNormal = (-0.522881, 0.831168, -0.189092)
    +    c2.focus = (0, 0, 0)
    +    c2.viewUp = (0.783763, 0.556011, 0.27671)
    +    c2.viewAngle = 30
    +    c2.parallelScale = 11.3107
    +    c2.nearPlane = 14.8914
    +    c2.farPlane = 59.5324
    +    c2.perspective = 1
    +
    +    c3 = View3DAttributes()
    +    c3.viewNormal = (-0.438771, 0.523661, -0.730246)
    +    c3.focus = (0, 0, 0)
    +    c3.viewUp = (-0.0199911, 0.80676, 0.590541)
    +    c3.viewAngle = 30
    +    c3.parallelScale = 8.28257
    +    c3.nearPlane = 3.5905
    +    c3.farPlane = 48.2315
    +    c3.perspective = 1
    +
    +    c4 = View3DAttributes()
    +    c4.viewNormal = (0.286142, -0.342802, -0.894768)
    +    c4.focus = (0, 0, 0)
    +    c4.viewUp = (-0.0382056, 0.928989, -0.36813)
    +    c4.viewAngle = 30
    +    c4.parallelScale = 10.4152
    +    c4.nearPlane = 1.5495
    +    c4.farPlane = 56.1905
    +    c4.perspective = 1
    +
    +    c5 = View3DAttributes()
    +    c5.viewNormal = (0.974296, -0.223599, -0.0274086)
    +    c5.focus = (0, 0, 0)
    +    c5.viewUp = (0.222245, 0.97394, -0.0452541)
    +    c5.viewAngle = 30
    +    c5.parallelScale = 1.1052
    +    c5.nearPlane = 24.1248
    +    c5.farPlane = 58.7658
    +    c5.perspective = 1
    +
    +    # Make the last point loop around to the first
    +    c6 = c0
    +
    +    # Create a tuple of camera values and x values. The x values
    +    # determine where in [0,1] the control points occur.
    +    cpts = (c0, c1, c2, c3, c4, c5, c6)
    +    x=[]
    +    for i in range(7):
    +        x = x + [float(i) / float(6.)]
    +
    +    # Animate the view using EvalCubicSpline.
    +    nsteps = 100
    +    for i in range(nsteps):
    +        t = float(i) / float(nsteps - 1)
    +        c = EvalCubicSpline(t, x, cpts)
    +        c.nearPlane = -34.461
    +        c.farPlane = 34.461
    +        SetView3D(c)
    +    # flying around plots }
    +    TestValueEQ('flying around plots error message',GetLastError(),'')
    +    TestPOA('flying around plots exceptions')
    +  except Exception as inst:
    +    TestFOA('flying around plots exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +setting_the_2d_view()
    +setting_the_3d_view()
    +flying_around_plots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_annotations.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_annotations.html new file mode 100644 index 000000000..01b188fcd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_annotations.html @@ -0,0 +1,76 @@ + +Results for quickrecipes/working_with_annotations.py + +

    Results of VisIt Regression Test - quickrecipes/working_with_annotations

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    using gradient background colors error message
     "" .eq. "" : True
    using gradient background colors exceptions
     "True" .eq. "True" : True
    adding a banner error message
     "" .eq. "" : True
    adding a banner exceptions
     "True" .eq. "True" : True
    adding a time slider error message
     "" .eq. "" : True
    adding a time slider exceptions
     "True" .eq. "True" : True
    adding a logo error message
     "" .eq. "" : True
    adding a logo exceptions
     "True" .eq. "True" : True
    modifying a legend error message
     "" .eq. "" : True
    modifying a legend exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_annotations_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_annotations_py.html new file mode 100644 index 000000000..492151b39 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_annotations_py.html @@ -0,0 +1,195 @@ +quickrecipes/working_with_annotations.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def using_gradient_background_colors():
    +
    +  try:
    +    # using gradient background colors {
    +    # Set a blue/black, radial, gradient background.
    +    a = AnnotationAttributes()
    +    a.backgroundMode = a.Gradient
    +    a.gradientBackgroundStyle = a.Radial
    +    a.gradientColor1 = (0,0,255,255) # Blue
    +    a.gradientColor2 = (0,0,0,255) # Black
    +    SetAnnotationAttributes(a)
    +    # using gradient background colors }
    +    TestValueEQ('using gradient background colors error message',GetLastError(),'')
    +    TestPOA('using gradient background colors exceptions')
    +  except Exception as inst:
    +    TestFOA('using gradient background colors exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def adding_a_banner():
    +
    +  try:
    +    # adding a banner {
    +    # Create a Text2D object to indicate the visualization is unclassified.
    +
    +    # Note the annoation object is added to the viewer window the moment it is created.
    +    banner = CreateAnnotationObject("Text2D")
    +
    +    # Note text is updated in the viewer window the moment it is changed.
    +    banner.text = "Unclassified"
    +
    +    banner.position = (0.37, 0.95)
    +    banner.fontBold = 1
    +
    +    # print the attributes to see what you can set in the Text2D object.
    +    print(banner)
    +    # print(banner) will print something like...
    +    #    visible = 1
    +    #    position = (0.5, 0.5)
    +    #    height = 0.03
    +    #    textColor = (0, 0, 0, 255)
    +    #    useForegroundForTextColor = 1
    +    #    text = "2D text annotation"
    +    #    fontFamily = Arial  # Arial, Courier, Times
    +    #    fontBold = 0
    +    #    fontItalic = 0
    +    #    fontShadow = 0
    +    # adding a banner }
    +    TestValueEQ('adding a banner error message',GetLastError(),'')
    +    TestPOA('adding a banner exceptions')
    +  except Exception as inst:
    +    TestFOA('adding a banner exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def adding_a_time_slider():
    +
    +  try:
    +    # adding a time slider {
    +    # Add a time slider in the lower left corner
    +    slider = CreateAnnotationObject("TimeSlider")
    +
    +    # Adjust the height. Takes effect immediately as the value is assigned.
    +    slider.height = 0.07
    +
    +    # Print members that are available in the time slider object
    +    print(slider)
    +    # will produce something like...
    +    #    visible = 1
    +    #    active = 1
    +    #    position = (0.01, 0.01)
    +    #    width = 0.4
    +    #    height = 0.05
    +    #    textColor = (0, 0, 0, 255)
    +    #    useForegroundForTextColor = 1
    +    #    startColor = (0, 255, 255, 255)
    +    #    endColor = (255, 255, 255, 153)
    +    #    text = "Time=$time"
    +    #    timeFormatString = "%g"
    +    #    timeDisplay = AllFrames  # AllFrames, FramesForPlot, StatesForPlot, UserSpecified
    +    #    percentComplete = 0
    +    #    rounded = 1
    +    #    shaded = 1
    +    # adding a time slider }
    +    TestValueEQ('adding a time slider error message',GetLastError(),'')
    +    TestPOA('adding a time slider exceptions')
    +  except Exception as inst:
    +    TestFOA('adding a time slider exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def adding_a_logo():
    +
    +  try:
    +    # adding a logo {
    +    # Incorporate LLNL logo image (llnl.jpeg) as an annotation
    +    image = CreateAnnotationObject("Image")
    +    image.image = "llnl.jpeg"
    +    image.position = (0.02, 0.02)
    +
    +    # Print the other image annotation options
    +    print(image)
    +    # Will print something like...
    +    #    visible = 1
    +    #    active = 1
    +    #    position = (0, 0)
    +    #    transparencyColor = (0, 0, 0, 255)
    +    #    useTransparencyColor = 0
    +    #    width = 100.000000
    +    #    height = 100.000000
    +    #    maintainAspectRatio = 1
    +    #    image = ("")
    +    # adding a logo }
    +    TestValueEQ('adding a logo error message',GetLastError(),'')
    +    TestPOA('adding a logo exceptions')
    +  except Exception as inst:
    +    TestFOA('adding a logo exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def modifying_a_legend():
    +
    +  try:
    +    # modifying a legend {
    +    # Open a file and make a plot
    +    OpenDatabase("~juanita/silo/stuff/noise.silo")
    +    AddPlot("Mesh", "Mesh")
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +    # Get the legend annotation object for the Pseudocolor plot, the second
    +    # plot in the list (0-indexed).
    +    plotName = GetPlotList().GetPlots(1).plotName
    +    legend = GetAnnotationObject(plotName)
    +    # See if we can scale the legend.
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +    # the bounding box.
    +    legend.drawBoundingBox = 1
    +    legend.boundingBoxColor = (180,180,180,230)
    +    # Make it horizontal
    +    legend.orientation = legend.HorizontalBottom
    +    # moving the legend
    +    legend.managePosition = 0
    +    legend.position = (0.7,0.15)
    +    # text color
    +    InvertBackgroundColor()
    +    legend.useForegroundForTextColor = 0
    +    legend.textColor = (255, 0, 0, 255)
    +    # number format
    +    legend.numberFormat = "%1.4e"
    +    # the font.
    +    legend.fontFamily = legend.Arial
    +    legend.fontBold = 1
    +    legend.fontItalic = 1
    +    # turning off the labels.
    +    legend.fontItalic = 0
    +    legend.drawLabels = 0
    +    legend.drawMinMax = 0
    +    # turning off the title.
    +    legend.drawTitle = 0
    +    # Use user-supplied labels, rather than numeric values.
    +    legend.controlTicks=0
    +    legend.drawLabels = legend.Labels
    +    # suppliedLabels must be strings, only valid when controlTicks is 0
    +    legend.suppliedLabels=("A", "B", "C", "D", "E")
    +    # Give the legend a custom title
    +    legend.useCustomTitle=1
    +    legend.customTitle="my custom title"
    +    # modifying a legend }
    +    TestValueEQ('modifying a legend error message',GetLastError(),'')
    +    TestPOA('modifying a legend exceptions')
    +  except Exception as inst:
    +    TestFOA('modifying a legend exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +using_gradient_background_colors()
    +adding_a_banner()
    +adding_a_time_slider()
    +adding_a_logo()
    +modifying_a_legend()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_dbs.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_dbs.html new file mode 100644 index 000000000..30e7d96b6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_dbs.html @@ -0,0 +1,68 @@ + +Results for quickrecipes/working_with_dbs.py + +

    Results of VisIt Regression Test - quickrecipes/working_with_dbs

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    opening a database error message
     "" .eq. "" : True
    opening a database no exceptions
     "True" .eq. "True" : True
    opening a database at specific time error message
     "" .eq. "" : True
    opening a database at specific time no exceptions
     "True" .eq. "True" : True
    opening a virtual database error message
     "" .eq. "" : True
    opening a virtual database no exceptions
     "True" .eq. "True" : True
    opening a remote database error message
     "" .eq. "" : True
    opening a remote database no exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_dbs_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_dbs_py.html new file mode 100644 index 000000000..04f452a30 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_dbs_py.html @@ -0,0 +1,78 @@ +quickrecipes/working_with_dbs.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def opening_a_database():
    +
    +  try:
    +    # opening a database {
    +    # Open a database (no time specified defaults to time state 0)
    +    OpenDatabase("/Users/amina/data/pdb_test_data/allinone00.pdb")
    +    # opening a database }
    +    TestValueEQ('opening a database error message',GetLastError(),'')
    +    TestPOA('opening a database no exceptions')
    +  except Exception as inst:
    +    TestFOA('opening a database exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def opening_a_database_at_specific_time():
    +
    +  try:
    +    # opening a database at specific time {
    +    # Open a database at a specific time state to pick up transient variables
    +    OpenDatabase("/Users/amina/data/pdb_test_data/allinone00.pdb", 17)
    +    # opening a database at specific time }
    +    TestValueEQ('opening a database at specific time error message',GetLastError(),'')
    +    TestPOA('opening a database at specific time no exceptions')
    +  except Exception as inst:
    +    TestFOA('opening a database at specific time exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def opening_a_virtual_database():
    +
    +  try:
    +    # opening a virtual database {
    +    # Opening just one file, the first, in series wave0000.silo, wave0010.silo, ...
    +    OpenDatabase("~juanita/silo/stuff/wave0000.silo")
    +
    +    # Opening a virtual database representing all available states.
    +    OpenDatabase("~juanita/silo/stuff/wave*.silo database")
    +    # opening a virtual database }
    +    TestValueEQ('opening a virtual database error message',GetLastError(),'')
    +    TestPOA('opening a virtual database no exceptions')
    +  except Exception as inst:
    +    TestFOA('opening a virtual database exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def opening_a_remote_database():
    +
    +  try:
    +    # opening a remote database {
    +    # Opening a file on a remote computer by giving a host name
    +    # Also, open the database to a later time slice (17)
    +    OpenDatabase("thunder:~juanita/silo/stuff/wave.visit", 17)
    +    # opening a remote database }
    +    TestValueEQ('opening a remote database error message',GetLastError(),'')
    +    TestPOA('opening a remote database no exceptions')
    +  except Exception as inst:
    +    TestFOA('opening a remote database exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +opening_a_database()
    +opening_a_database_at_specific_time()
    +opening_a_virtual_database()
    +opening_a_remote_database()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_plots.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_plots.html new file mode 100644 index 000000000..49cc6a071 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_plots.html @@ -0,0 +1,76 @@ + +Results for quickrecipes/working_with_plots.py + +

    Results of VisIt Regression Test - quickrecipes/working_with_plots

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    creating a plot error message
     "" .eq. "" : True
    creating a plot exceptions
     "True" .eq. "True" : True
    plotting materials error message
     "" .eq. "" : True
    plotting materials exceptions
     "True" .eq. "True" : True
    setting plot attributes message
     "" .eq. "" : True
    setting plot attributes exceptions
     "True" .eq. "True" : True
    working with multiple plots error message
     "" .eq. "" : True
    working with multiple plots exceptions
     "True" .eq. "True" : True
    plots in the error state error message
     "" .eq. "" : True
    plots in the error state exceptions
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_plots_py.html b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_plots_py.html new file mode 100644 index 000000000..b3af10775 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/quickrecipes_working_with_plots_py.html @@ -0,0 +1,196 @@ +quickrecipes/working_with_plots.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Mark C. Miller, Fri Aug 26 14:31:48 PDT 2022
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Get some utils shared across many .py files used for quick recipes.
    +#
    +Source(tests_path('quickrecipes','vqr_utils.py.inc'))
    +
    +def creating_a_plot():
    +
    +  OpenDatabase(silo_data_path("wave.visit"))
    +  try:
    +    # creating a plot {
    +    # Names of all available plot plugins as a python tuple
    +    x = PlotPlugins()
    +
    +    # print(x) will produce something like...
    +    #     ('Boundary', 'Contour', 'Curve', 'FilledBoundary', 'Histogram',
    +    #     'Label', 'Mesh', 'Molecule', 'MultiCurve', 'ParallelCoordinates',
    +    #     'Pseudocolor', 'Scatter', 'Spreadsheet', 'Subset', 'Tensor',
    +    #     'Truecolor', 'Vector', 'Volume')
    +    print(x)
    +
    +    # Create plots with AddPlot(<plot-plugin-name>,<database-variable-name>)
    +    AddPlot("Pseudocolor", "pressure")
    +    AddPlot("Mesh", "quadmesh")
    +
    +    # Draw the plots
    +    DrawPlots()
    +    # creating a plot }
    +    TestValueEQ('creating a plot error message',GetLastError(),'')
    +    TestPOA('creating a plot exceptions')
    +  except Exception as inst:
    +    TestFOA('creating a plot exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def plotting_materials():
    +
    +  OpenDatabase(silo_data_path("globe.silo"))
    +  try:
    +    # plotting materials {
    +    # Plot material boundaries
    +    AddPlot("Boundary", "mat1")
    +    # Plot materials
    +    AddPlot("FilledBoundary", "mat1")
    +    # plotting materials }
    +    TestValueEQ('plotting materials error message',GetLastError(),'')
    +    TestPOA('plotting materials exceptions')
    +  except Exception as inst:
    +    TestFOA('plotting materials exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def setting_plot_attributes():
    +
    +  OpenDatabase(silo_data_path("wave.visit"))
    +  try:
    +    # setting plot attributes {
    +    # Creating a Pseudocolor plot and setting min/max values.
    +    AddPlot("Pseudocolor", "pressure")
    +    p = PseudocolorAttributes()
    +
    +    # print p to find the names of members you want to change
    +    #
    +    # print(p) will produce output somewhat like...
    +    #     scaling = Linear  # Linear, Log, Skew
    +    #     skewFactor = 1
    +    #     limitsMode = OriginalData  # OriginalData, ActualData
    +    #     minFlag = 0
    +    #     min = 0
    +    #     useBelowMinColor = 0
    +    #     belowMinColor = (0, 0, 0, 255)
    +    #     maxFlag = 0
    +    #     max = 1
    +    #     .
    +    #     .
    +    #     .
    +    print(p)
    +
    +    # Set the min/max values
    +    p.min, p.minFlag = 0.0, 1
    +    p.max, p.maxFlag = 10.0, 1
    +    SetPlotOptions(p)
    +    # setting plot attributes }
    +    TestValueEQ('setting plot attributes message',GetLastError(),'')
    +    TestPOA('setting plot attributes exceptions')
    +  except Exception as inst:
    +    TestFOA('setting plot attributes exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +def working_with_multiple_plots():
    +
    +  OpenDatabase(silo_data_path("tire.silo"))
    +  try:
    +    # working with multiple plots {
    +
    +    # Create more than 1 plot of the same type
    +    AddPlot("Pseudocolor", "pressure")
    +    AddPlot("Pseudocolor", "temperature")
    +
    +    # List the plots. The second plot should be active.
    +    ListPlots()
    +
    +    # The output from ListPlots() will look something like...
    +    #     Plot[0]|id=5;type="Pseudocolor";database="localhost:/Users/miller86/visit/visit/data/silo_hdf5_test_data/tire.silo";
    +    #         var=pressure;active=0;hidden=0;framerange=(0, 0);keyframes={0};database keyframes={0};operators={};
    +    #         activeOperator=-1
    +    #     Plot[1]|id=6;type="Pseudocolor";database="localhost:/Users/miller86/visit/visit/data/silo_hdf5_test_data/tire.silo";
    +    #         var=temperature;active=1;hidden=0;framerange=(0, 0);keyframes={0};database keyframes={0};operators={};
    +    #         activeOperator=-1
    +    # Note that active=1 for Plot[1] meaning plot #1 is the active plot
    +
    +    # Draw the plots
    +    DrawPlots()
    +
    +    # Hide the first plot
    +    SetActivePlots(0) # makes plot 0 the active plot
    +    HideActivePlots()
    +
    +    # Set both plots' color table to "hot"
    +    p = PseudocolorAttributes()
    +    p.colorTableName = "hot"
    +    SetActivePlots((0,1)) # makes both plots active
    +    SetPlotOptions(p)
    +
    +    # Show the first plot again.
    +    SetActivePlots(0)
    +    HideActivePlots()
    +
    +    # Delete the second plot
    +    SetActivePlots(1)
    +    DeleteActivePlots()
    +    ListPlots()
    +
    +    # working with multiple plots }
    +    TestValueEQ('working with multiple plots error message',GetLastError(),'')
    +    TestPOA('working with multiple plots exceptions')
    +  except Exception as inst:
    +    TestFOA('working with multiple plots exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +  CloseDatabase(silo_data_path("tire.silo"))
    +
    +def plots_in_the_error_state():
    +
    +  try:
    +    # plots in the error state {
    +
    +    # Open the database at state 20 and add plots for "pressure" and "transient".
    +    # "transient" variable exists only in states 18...51.
    +    OpenDatabase(silo_data_path("wave.visit"),20)
    +    AddPlot("Pseudocolor","pressure")
    +    AddPlot("Pseudocolor","transient")
    +    DrawPlots()
    +
    +    # Start saving images from every 10th state starting at state 20 
    +    # but take care to clean up when we get an error.
    +    for state in range(20,TimeSliderGetNStates(),10):
    +
    +        TimeSliderSetState(state)
    +
    +        if DrawPlots() == 0:
    +
    +            # Find plot(s) in error state and remove them
    +            pl = GetPlotList()
    +            for i in range(pl.GetNumPlots()):
    +                if pl.GetPlots(i).stateType == pl.GetPlots(i).Error:
    +                    SetActivePlots((i,))
    +                    DeleteActivePlots()
    +
    +            # Clear the last error message
    +            GetLastError(1)
    +
    +        SaveWindow()
    +
    +    # plots in the error state }
    +    TestValueEQ('plots in the error state error message',GetLastError(),'')
    +    TestPOA('plots in the error state exceptions')
    +  except Exception as inst:
    +    TestFOA('plots in the error state exception "%s"'%str(inst), LINE())
    +    pass
    +  vqr_cleanup()
    +
    +creating_a_plot()
    +plotting_materials()
    +setting_plot_attributes()
    +working_with_multiple_plots()
    +plots_in_the_error_state()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_annotation.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_annotation.html new file mode 100644 index 000000000..6a5977fbd --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_annotation.html @@ -0,0 +1,294 @@ + +Results for rendering/annotation.py + +

    Results of VisIt Regression Test - rendering/annotation

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    annot_010.000.00
    annot_020.000.00
    annot_030.000.00
    annot_040.000.00
    annot_050.000.00
    annot2d_010.000.00
    annot2d_020.000.00
    annot2d_030.000.00
    annot2d_040.000.00
    annot2d_050.000.00
    annot2d_060.000.00
    annot2d_070.000.00
    annot2d_080.000.00
    annot2d_090.000.00
    annot2d_100.000.00
    annot2d_110.000.00
    annot2d_120.000.00
    annot2d_130.000.00
    annot2d_140.000.00
    annot2d_150.000.00
    annot2d_160.000.00
    annot2d_170.000.00
    annot2d_180.000.00
    annot2d_190.000.00
    annot2d_200.000.00
    annot2d_210.000.00
    annot2d_220.000.00
    annot2d_230.000.00
    annot2d_240.000.00
    annot2d_250.000.00
    annot2d_260.000.00
    annot2d_270.000.00
    annot3d_010.000.00
    annot3d_020.000.00
    annot3d_030.000.00
    annot3d_040.000.00
    annot3d_050.000.00
    annot3d_060.000.00
    annot3d_070.000.00
    annot3d_080.000.00
    annot3d_090.000.00
    annot3d_100.000.00
    annot3d_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_annotation_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_annotation_py.html new file mode 100644 index 000000000..730386160 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_annotation_py.html @@ -0,0 +1,464 @@ +rendering/annotation.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  annotation.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc, subset
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Jun 3 13:25:18 PST 2002
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Thu Jul 18 10:33:07 PDT 2002
    +#    Added test for combinations of ticks/labels/gridlines to ensure
    +#    that they all play together nicely.  Removed test of userInfo, as it will
    +#    always have a different timestamp than the baseline image.
    +#
    +#    Kathleen Bonnell, Thu Sep  5 10:55:47 PDT 2002 
    +#    Changed the variable format for SubsetPlots, to reflect new interface
    +#    which allows subsets of groups. 
    +#
    +#    Eric Brugger, Mon Nov 11 14:09:08 PST 2002
    +#    Changed the test suite extensively since the 2d annotations were
    +#    enhanced significantly and the 3d annotation field names were changed
    +#    to match.
    +#
    +#    Hank Childs, Tue Nov 19 15:45:12 PST 2002
    +#    Changed Aslice to Slice to account for interface change in slicing.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from Subset plots.
    +#
    +#    Eric Brugger, Tue Nov 25 15:12:15 PST 2003
    +#    Added tests for axis labeling with narrow 2d windows.
    +#
    +#    Kathleen Bonnell, Wed May  5 08:11:53 PDT 2004
    +#    Modified slice atts to get same picture since defaults have changed. 
    +#
    +#    Kathleen Bonnell, Mon Sep 14 15:01:25 PDT 2009
    +#    Removed deprecated annotation settings.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Wed Jan  8 13:39:46 PST 2014
    +#    Added 2d tests 26 & 27, gridlines with a different saved window size.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +#    Alister Maguire, Mon Mar  5 14:10:23 PST 2018
    +#    Added a test for manipulating the triad attributes. 
    +#
    +#    Alister Maguire, Fri Mar  9 10:21:50 PST 2018
    +#    Now using a 'set manually' flag for the triad attribtues. 
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Slice")
    +slice = SliceAttributes()
    +slice.project2d = 1
    +slice.SetAxisType(slice.XAxis)
    +slice.SetFlip(1)
    +SetOperatorOptions(slice)
    +DrawPlots()
    +
    +# Test gradient backgrounds
    +a = GetAnnotationAttributes()
    +a.gradientColor1 = (0, 255, 255)
    +a.gradientColor2 = (0, 0, 255)
    +a.gradientBackgroundStyle = 0 # TopToBottom
    +a.backgroundMode = 1 # Gradient
    +SetAnnotationAttributes(a)
    +Test("annot_01")
    +a.gradientBackgroundStyle = 4 # Radial
    +SetAnnotationAttributes(a)
    +Test("annot_02")
    +
    +# Test setting background/foreground colors
    +a.backgroundColor = (0, 0, 0)
    +a.foregroundColor = (255, 255, 255)
    +a.backgroundMode = 0 # Solid
    +SetAnnotationAttributes(a)
    +Test("annot_03")
    +
    +# Turn off the database
    +a.databaseInfoFlag = 0
    +SetAnnotationAttributes(a)
    +Test("annot_04")
    +
    +a.databaseInfoFlag = 1
    +
    +# Turn off the legend
    +a.legendInfoFlag = 0
    +SetAnnotationAttributes(a)
    +Test("annot_05")
    +
    +a.legendInfoFlag = 1
    +
    +##
    +## Test 2D options
    +##
    +
    +# Turn off the 2D axes
    +a.axes2D.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_01")
    +
    +a.axes2D.visible = 1
    +
    +# Test 2D axis labels
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_02")
    +
    +a.axes2D.xAxis.label.visible = 1
    +a.axes2D.yAxis.label.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_03")
    +
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_04")
    +
    +a.axes2D.xAxis.label.visible = 1
    +a.axes2D.yAxis.label.visible = 1
    +
    +# Test 2D axis titles
    +a.axes2D.xAxis.title.visible = 0
    +a.axes2D.yAxis.title.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_05")
    +
    +a.axes2D.xAxis.title.visible = 1
    +a.axes2D.yAxis.title.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_06")
    +
    +a.axes2D.xAxis.title.visible = 0
    +a.axes2D.yAxis.title.visible = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_07")
    +
    +a.axes2D.xAxis.title.visible = 1
    +a.axes2D.yAxis.title.visible = 1
    +
    +# Test 2D gridlines
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_08")
    +
    +a.axes2D.xAxis.grid = 0
    +a.axes2D.yAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_09")
    +
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_10")
    +
    +a.axes2D.xAxis.grid = 0
    +a.axes2D.yAxis.grid = 0
    +
    +# Test auto set ticks off
    +a.axes2D.autoSetTicks = 0
    +a.axes2D.xAxis.tickMarks.majorMinimum = -8.
    +a.axes2D.xAxis.tickMarks.majorMaximum = 8.
    +a.axes2D.xAxis.tickMarks.majorSpacing = 4.
    +a.axes2D.xAxis.tickMarks.minorSpacing = 1.
    +a.axes2D.yAxis.tickMarks.majorMinimum = -9.
    +a.axes2D.yAxis.tickMarks.majorMaximum = 9.
    +a.axes2D.yAxis.tickMarks.majorSpacing = 3.
    +a.axes2D.yAxis.tickMarks.minorSpacing = 1.
    +a.axes2D.tickAxes = a.axes2D.All  # All
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_11")
    +
    +a.axes2D.autoSetTicks = 1
    +a.axes2D.tickAxes = a.axes2D.BottomLeft # BottomLeft
    +a.axes2D.xAxis.grid = 0
    +a.axes2D.yAxis.grid = 0
    +
    +# Test tick locations
    +a.axes2D.tickLocation = a.axes2D.Inside # Inside
    +SetAnnotationAttributes(a)
    +Test("annot2d_12")
    +
    +a.axes2D.tickLocation = a.axes2D.Both # Both
    +SetAnnotationAttributes(a)
    +Test("annot2d_13")
    +
    +a.axes2D.tickLocation = 1 # Outside
    +
    +# Test font sizes
    +a.axes2D.xAxis.label.font.scale = 1.5
    +a.axes2D.yAxis.label.font.scale = 1.5
    +a.axes2D.xAxis.title.font.scale = 1.5
    +a.axes2D.yAxis.title.font.scale = 1.5
    +SetAnnotationAttributes(a)
    +Test("annot2d_14")
    +
    +a.axes2D.xAxis.label.font.scale = 2
    +a.axes2D.yAxis.label.font.scale = 2
    +a.axes2D.xAxis.title.font.scale = 2
    +a.axes2D.yAxis.title.font.scale = 2
    +SetAnnotationAttributes(a)
    +Test("annot2d_15")
    +
    +a.axes2D.xAxis.label.font.scale = 1
    +a.axes2D.yAxis.label.font.scale = 1
    +a.axes2D.xAxis.title.font.scale = 1
    +a.axes2D.yAxis.title.font.scale = 1
    +
    +# Test labeling locations
    +a.axes2D.tickAxes = a.axes2D.Off
    +SetAnnotationAttributes(a)
    +Test("annot2d_16")
    +
    +a.axes2D.tickAxes = a.axes2D.Bottom
    +SetAnnotationAttributes(a)
    +Test("annot2d_17")
    +
    +a.axes2D.tickAxes = a.axes2D.Left
    +SetAnnotationAttributes(a)
    +Test("annot2d_18")
    +
    +a.axes2D.tickAxes = a.axes2D.All
    +SetAnnotationAttributes(a)
    +Test("annot2d_19")
    +
    +a.axes2D.tickAxes = a.axes2D.BottomLeft
    +
    +# Test how the 2D flags play together
    +# Especially with gridlines on.  Changing
    +# databases so can also test that gridline
    +# length is correct in each direction.
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +ResetView()
    +
    +# Turn on y axis labels, x grid lines
    +# and turn off ticks.
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 1
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 0
    +a.axes2D.tickAxes = a.axes2D.Off
    +SetAnnotationAttributes(a)
    +Test("annot2d_20")
    +
    +# Turn on y axis labels, bottom ticks marks,
    +# and x and y gridlines 
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 1
    +a.axes2D.tickAxes = a.axes2D.Bottom
    +a.axes2D.tickLocation = a.axes2D.Outside
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_21")
    +
    +# Test how the gridlines work by themselves 
    +# Turn off labels and ticks, 
    +a.axes2D.tickAxes = a.axes2D.Off
    +a.axes2D.xAxis.label.visible = 0
    +a.axes2D.yAxis.label.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot2d_22")
    +
    +# Test the 2d axes line width.
    +a.axes2D.tickAxes = a.axes2D.BottomLeft
    +a.axes2D.tickLocation = a.axes2D.Outside
    +a.axes2D.lineWidth = 2
    +SetAnnotationAttributes(a)
    +Test("annot2d_23")
    +
    +# Test axis labeling with a narrow window.
    +a.axes2D.xAxis.label.visible = 1
    +a.axes2D.yAxis.label.visible = 1
    +a.axes2D.xAxis.grid = 0
    +a.axes2D.yAxis.grid = 0
    +a.axes2D.lineWidth = 0
    +SetAnnotationAttributes(a)
    +
    +v = View2DAttributes()
    +v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +v.windowCoords = (-4.68395, 4.89802, 2.5, 2.5001)
    +SetView2D(v)
    +Test("annot2d_24")
    +
    +v.windowCoords = (0., 0.0001, 0.216897, 4.925)
    +SetView2D(v)
    +Test("annot2d_25")
    +
    +##
    +## Gridlines with a changed window size (#1676)
    +##
    +ResetView()
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +a.axes2D.xAxis.grid = 1
    +a.axes2D.yAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot2d_26")
    +swa_orig = SaveWindowAttributes()
    +swa = SaveWindowAttributes()
    +swa.height = 800
    +swa.width = 600
    +swa.resConstraint = swa.NoConstraint
    +Test("annot2d_27", swa)
    +
    +##
    +## Test 3D options
    +##
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +v = View3DAttributes()
    +v.viewNormal = (-0.527602, 0.329431, 0.783014)
    +v.focus = (0, 0, 0)
    +v.viewUp = (0.115312, 0.940986, -0.318195)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.perspective = 1
    +SetView3D(v)
    +
    +# Turn off the triad.
    +a.axes3D.visible = 1
    +a.axes3D.bboxFlag = 1
    +a.axes3D.triadFlag = 0
    +SetAnnotationAttributes(a)
    +Test("annot3d_01")
    +
    +# Turn off the bounding box
    +a.axes3D.triadFlag = 1
    +a.axes3D.bboxFlag = 0
    +SetAnnotationAttributes(a)
    +Test("annot3d_02")
    +
    +# Turn some axes off
    +a.axes3D.bboxFlag = 1
    +a.axes3D.xAxis.label.visible = 0
    +a.axes3D.yAxis.label.visible = 1
    +a.axes3D.zAxis.label.visible = 0
    +a.axes3D.xAxis.tickMarks.visible = 0
    +a.axes3D.yAxis.tickMarks.visible = 1
    +a.axes3D.zAxis.tickMarks.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot3d_03")
    +
    +# Turn on all gridlines
    +a.axes3D.xAxis.label.visible = 1
    +a.axes3D.yAxis.label.visible = 1
    +a.axes3D.zAxis.label.visible = 1
    +a.axes3D.xAxis.tickMarks.visible = 1
    +a.axes3D.yAxis.tickMarks.visible = 1
    +a.axes3D.zAxis.tickMarks.visible = 1
    +a.axes3D.xAxis.grid = 1
    +a.axes3D.yAxis.grid = 1
    +a.axes3D.zAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot3d_04")
    +
    +# Turn off titles, labels and ticks
    +# want to ensure gridlines work alone
    +a.axes3D.xAxis.label.visible = 0
    +a.axes3D.yAxis.label.visible = 0
    +a.axes3D.zAxis.label.visible = 0
    +a.axes3D.xAxis.title.visible = 0
    +a.axes3D.yAxis.title.visible = 0
    +a.axes3D.zAxis.title.visible = 0
    +a.axes3D.xAxis.tickMarks.visible = 0
    +a.axes3D.yAxis.tickMarks.visible = 0
    +a.axes3D.zAxis.tickMarks.visible = 0
    +SetAnnotationAttributes(a)
    +Test("annot3d_05")
    +
    +# Mix up which ticks, titles, labels, 
    +# or gridlines are turned on
    +a.axes3D.xAxis.label.visible = 1
    +a.axes3D.yAxis.label.visible = 0
    +a.axes3D.zAxis.label.visible = 0
    +a.axes3D.xAxis.title.visible = 0
    +a.axes3D.yAxis.title.visible = 0
    +a.axes3D.zAxis.title.visible = 1
    +a.axes3D.xAxis.tickMarks.visible = 0
    +a.axes3D.yAxis.tickMarks.visible = 1
    +a.axes3D.zAxis.tickMarks.visible = 0
    +a.axes3D.xAxis.grid = 0
    +a.axes3D.yAxis.grid = 0
    +a.axes3D.zAxis.grid = 1
    +SetAnnotationAttributes(a)
    +Test("annot3d_06")
    +
    +a.axes3D.xAxis.label.visible = 1
    +a.axes3D.yAxis.label.visible = 1
    +a.axes3D.zAxis.label.visible = 1
    +a.axes3D.xAxis.title.visible = 1
    +a.axes3D.yAxis.title.visible = 1
    +a.axes3D.zAxis.title.visible = 1
    +a.axes3D.xAxis.tickMarks.visible = 1
    +a.axes3D.yAxis.tickMarks.visible = 1
    +a.axes3D.zAxis.tickMarks.visible = 1
    +a.axes3D.xAxis.grid = 0
    +a.axes3D.yAxis.grid = 0
    +a.axes3D.zAxis.grid = 0
    +
    +# Change the 3D axis type
    +a.axes3D.axesType = a.axes3D.StaticEdges
    +SetAnnotationAttributes(a)
    +Test("annot3d_07")
    +
    +# Change the 3D axis type
    +a.axes3D.axesType = a.axes3D.FurthestTriad
    +SetAnnotationAttributes(a)
    +Test("annot3d_08")
    +
    +# Change the 3D axis type
    +a.axes3D.axesType = a.axes3D.OutsideEdges
    +SetAnnotationAttributes(a)
    +Test("annot3d_09")
    +
    +# Change the 3D axis type
    +a.axes3D.axesType = a.axes3D.StaticTriad
    +SetAnnotationAttributes(a)
    +Test("annot3d_10")
    +
    +# Change the triad attribtues manually
    +a.axes3D.triadSetManually = 1
    +a.axes3D.triadColor = (66, 244, 215)
    +a.axes3D.triadLineWidth = 3
    +a.axes3D.triadFont = 1
    +a.axes3D.triadBold = 0
    +a.axes3D.triadItalic = 0
    +SetAnnotationAttributes(a)
    +Test("annot3d_11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_axislabels.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_axislabels.html new file mode 100644 index 000000000..db8b86348 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_axislabels.html @@ -0,0 +1,150 @@ + +Results for rendering/axislabels.py + +

    Results of VisIt Regression Test - rendering/axislabels

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    AxisLabelsLog2D_000.000.00
    AxisLabelsLog2D_010.000.00
    AxisLabelsLog2D_020.000.00
    AxisLabelsLog2D_030.000.00
    AxisLabelsLog2D_040.000.00
    AxisLabelsLog2D_050.000.00
    AxisLabelsLog2D_060.000.00
    AxisLabelsLog2D_070.000.00
    AxisLabelsLog2D_080.000.00
    AxisLabelsLog2D_090.000.00
    AxisLabelsLog2D_100.000.00
    AxisLabelsLog2D_110.000.00
    AxisLabelsLog2D_120.000.00
    AxisLabelsLog2D_130.000.00
    AxisLabelsLog2D_140.000.00
    AxisLabelsLog2D_150.000.00
    AxisLabelsLog2D_160.000.00
    AxisLabelsLog2D_170.000.00
    AxisLabelsLog2D_180.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_axislabels_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_axislabels_py.html new file mode 100644 index 000000000..6f17e9152 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_axislabels_py.html @@ -0,0 +1,141 @@ +rendering/axislabels.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial, parallel, scalable
    +#  CLASSES: nightly
    +#
    +#  Test Case:  axislabels.py 
    +#
    +#  Tests:      Tests the axis labels
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Fri Dec 17 16:19:49 PST 2021
    +#
    +#  Modifications
    +#
    +# ----------------------------------------------------------------------------
    +
    +def TestLog2D():
    +    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +    swa = SaveWindowAttributes()
    +    swa.width = 600
    +    swa.height = 600
    +    swa.screenCapture = 0
    +
    +    a = GetAnnotationAttributes()
    +    a.axes2D.visible = 1
    +    SetAnnotationAttributes(a)
    +
    +    v = GetViewCurve()
    +    v.domainScale = v.LINEAR
    +    v.rangeScale = v.LOG
    +    SetViewCurve(v)
    +
    +    AddPlot("Curve", "Exponential Distribution")
    +    c = CurveAttributes()
    +    c.curveColorSource = c.Custom
    +    c.curveColor = (255, 0, 0, 255)
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    Test("AxisLabelsLog2D_00", swa)
    +
    +    v.domainCoords = (1.601123657864678, 18.12971869918699)
    +    v.rangeCoords = (-7.130672752885499, 0.04760456234965804)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_01", swa)
    +
    +    v.domainCoords = (0.638075437299828, 17.16667047862213)
    +    v.rangeCoords = (-10.48436074884018, -3.306083433605024)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_02", swa)
    +
    +    v.domainCoords = (-8.812882729839023, 26.61762864576098)
    +    v.rangeCoords = (-14.58885955523007, 0.7984153727848649)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_03", swa)
    +
    +    v.domainCoords = (-37.04643791101395, 54.85118382693591)
    +    v.rangeCoords = (-26.85053625423488, 13.06009207178967)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_04", swa)
    +
    +    v.domainCoords = (-72.49874837389116, 90.30349428981312)
    +    v.rangeCoords = (-42.2472784051628, 28.4568342227176)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_05", swa)
    +
    +    v.domainCoords = (-135.3046789498164, 153.1094248657384)
    +    v.rangeCoords = (-69.52354632680284, 55.73310214435764)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_06", swa)
    +
    +    v.domainCoords = (2.563824255463072, 8.936313157343124)
    +    v.rangeCoords = (-4.113141545611167, -1.345604897058017)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_07", swa)
    +
    +    v.domainCoords = (2.581093873083343, 8.953582774963396)
    +    v.rangeCoords = (-3.296916569328953, -0.5293799207758031)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_08", swa)
    +
    +    v.domainCoords = (0.4742005234102636, 6.846689425290313)
    +    v.rangeCoords = (-3.235890402877946, -0.4683537543247966)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_09", swa)
    +
    +    v.domainCoords = (0.6728011260433816, 7.045290027923435)
    +    v.rangeCoords = (-2.461620916030798, 0.3059157325223497)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_10", swa)
    +
    +    v.domainCoords = (-3.883839369631302, 7.405413441872227)
    +    v.rangeCoords = (-2.289688582041886, 2.613171410605579)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_11", swa)
    +
    +    v.domainCoords = (-5.087720394381069, 8.572275507538203)
    +    v.rangeCoords = (-2.632794183897802, 3.299666407205631)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_12", swa)
    +
    +    v.domainCoords = (-4.680511844459359, 8.979484057459912)
    +    v.rangeCoords = (-1.569922247785004, 4.362538343318429)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_13", swa)
    +
    +    # The curve doesn't intersect the window.
    +    v.domainCoords = (-1.565282256005422, 0.4651890936507914)
    +    v.rangeCoords = (1.046155226469858, 1.927977691841728)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_14", swa)
    +
    +    # The curve doesn't intersect the window.
    +    v.domainCoords = (0.7831595313488587, 2.813630881005071)
    +    v.rangeCoords = (0.07581375463087496, 0.9576362200027442)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_15", swa)
    +
    +    v.domainCoords = (0.1079984801721102, 1.494837732720581)
    +    v.rangeCoords = (-0.7549194057961169, -0.1526227967039314)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_16", swa)
    +
    +    v.domainCoords = (7.150150811017356, 9.18062216067357)
    +    v.rangeCoords = (-3.893382901287159, -3.01156043591529)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_17", swa)
    +
    +    v.domainCoords = (8.915537392097869, 10.94600874175408)
    +    v.rangeCoords = (-4.898933596142739, -4.017111130770868)
    +    SetViewCurve(v)
    +    Test("AxisLabelsLog2D_18", swa)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +def Main():
    +    TestLog2D()
    +
    +Main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_axistitles.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_axistitles.html new file mode 100644 index 000000000..69b5f7bbf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_axistitles.html @@ -0,0 +1,120 @@ + +Results for rendering/axistitles.py + +

    Results of VisIt Regression Test - rendering/axistitles

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Setting axis titles in 2D
    axistitles_0_000.000.00
    axistitles_0_010.000.00
    axistitles_0_020.000.00
    axistitles_0_030.000.00
    axistitles_0_040.000.00
    axistitles_0_050.000.00
    Setting axis titles in 3D
    axistitles_1_000.000.00
    axistitles_1_010.000.00
    axistitles_1_020.000.00
    axistitles_1_030.000.00
    axistitles_1_040.000.00
    axistitles_1_050.000.00
    axistitles_1_060.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_axistitles_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_axistitles_py.html new file mode 100644 index 000000000..37c03212c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_axistitles_py.html @@ -0,0 +1,170 @@ +rendering/axistitles.py
    # ----------------------------------------------------------------------------
    +#  MODES: serial
    +#  CLASSES: nightly
    +#
    +#  Test Case:  axistitles.py 
    +#
    +#  Tests:      Tests setting axis titles and units.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jul 28 11:07:57 PDT 2005
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Apr 2 16:44:26 PST 2008
    +#    Modified the 3D test since setting the 3D font scale now actually works.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Jul 11 08:36:38 PDT 2013
    +#    Remove legacy style annotation settings.
    +#
    +#    Kathleen Biagas, Wed Jul  1 17:37:57 PDT 2015
    +#    Added title color test to 2D.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def SaveTestImage(name):
    +    # Save these images somewhat larger than a regular test case image
    +    # since the images contain a lot of text.
    +    swa = SaveWindowAttributes()
    +    swa.width = 500
    +    swa.height = 500
    +    swa.screenCapture = 0
    +    Test(name, swa)
    +
    +#
    +# Test replacing 2D titles and units.
    +#
    +def Test2D():
    +    TestSection("Setting axis titles in 2D")
    +    OpenDatabase(silo_data_path("noise2d.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.viewportCoords = (0.35, 0.95, 0.15, 0.95)
    +    SetView2D(v)
    +
    +    a = GetAnnotationAttributes()
    +    a.axes2D.visible = 1
    +    a.axes2D.xAxis.label.visible = 0
    +    a.axes2D.yAxis.label.visible = 0
    +    a.axes2D.xAxis.title.visible = 1
    +    a.axes2D.yAxis.title.visible = 1
    +    a.axes2D.xAxis.title.font.scale = 2 #TitleFontHeight2D = 0.04
    +    a.axes2D.yAxis.title.font.scale = 2 #TitleFontHeight2D = 0.04
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_00")
    +
    +    a.axes2D.xAxis.title.title = "New X Title"
    +    a.axes2D.xAxis.title.userTitle = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_01")
    +
    +    a.axes2D.yAxis.title.title = "New Y Title"
    +    a.axes2D.yAxis.title.userTitle = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_02")
    +
    +    a.axes2D.xAxis.title.units = "New X Units"
    +    a.axes2D.xAxis.title.userUnits = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_03")
    +
    +    a.axes2D.yAxis.title.units = "New Y Units"
    +    a.axes2D.yAxis.title.userUnits = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_04")
    +
    +    # Test colors for title
    +
    +    a.axes2D.xAxis.title.font.useForegroundColor = 0
    +    a.axes2D.xAxis.title.font.color =(255,0,0,255)
    +    a.axes2D.yAxis.title.font.useForegroundColor = 0
    +    a.axes2D.yAxis.title.font.color =(255,0,255,255)
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_0_05")
    +
    +    DeleteAllPlots()
    +
    +
    +#
    +# Test replacing 3D titles and units.
    +#
    +def Test3D():
    +    TestSection("Setting axis titles in 3D")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.749133, -0.494511, 0.440747)
    +    v.focus = (0, 0, 0)
    +    v.viewUp = (-0.588718, 0.802033, -0.10077)
    +    v.viewAngle = 30
    +    v.parallelScale = 17.3205
    +    v.nearPlane = -34.641
    +    v.farPlane = 34.641
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0, 0)
    +    SetView3D(v)
    +
    +    a = GetAnnotationAttributes()
    +    a.axes3D.visible = 1
    +    a.axes3D.xAxis.title.visible = 1
    +    a.axes3D.yAxis.title.visible = 1
    +    a.axes3D.zAxis.title.visible = 1
    +    a.axes3D.xAxis.title.font.scale = 2
    +    a.axes3D.yAxis.title.font.scale = 2
    +    a.axes3D.zAxis.title.font.scale = 2
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_00")
    +
    +    a.axes3D.xAxis.title.title = "New X Title"
    +    a.axes3D.xAxis.title.userTitle = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_01")
    +
    +    a.axes3D.yAxis.title.title = "New Y Title"
    +    a.axes3D.yAxis.title.userTitle = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_02")
    +
    +    a.axes3D.zAxis.title.title = "New Z Title"
    +    a.axes3D.zAxis.title.userTitle = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_03")
    +
    +    a.axes3D.xAxis.title.units = "New X Units"
    +    a.axes3D.xAxis.title.userUnits = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_04")
    +
    +    a.axes3D.yAxis.title.units = "New Y Units"
    +    a.axes3D.yAxis.title.userUnits = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_05")
    +
    +    a.axes3D.zAxis.title.units = "New Z Units"
    +    a.axes3D.zAxis.title.userUnits = 1
    +    SetAnnotationAttributes(a)
    +    SaveTestImage("axistitles_1_06")
    +    DeleteAllPlots()
    +
    +def main():
    +    Test2D()
    +    Test3D()
    +
    +# Run all of the tests
    +main()
    +
    +# Exit the test
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_bigdata.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_bigdata.html new file mode 100644 index 000000000..687cae1de --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_bigdata.html @@ -0,0 +1,56 @@ + +Results for rendering/bigdata.py + +

    Results of VisIt Regression Test - rendering/bigdata

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    bigdata_01100.0057.61
    bigdata_020.000.00
    bigdata_030.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_bigdata_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_bigdata_py.html new file mode 100644 index 000000000..233eb9f32 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_bigdata_py.html @@ -0,0 +1,36 @@ +rendering/bigdata.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  bigdata.py
    +#
    +#  Programmer: Hank Childs
    +#  Date:       August 27, 2010
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +AddOperator("Transform")
    +t = TransformAttributes()
    +t.doScale = 1
    +t.scaleX= 1e+20
    +t.scaleY= 1e+20
    +t.scaleZ= 1e+20
    +SetOperatorOptions(t)
    +DrawPlots()
    +Test("bigdata_01")
    +
    +AddOperator("Isosurface")
    +DrawPlots()
    +Test("bigdata_02")
    +
    +v = GetView3D()
    +v.axis3DScaleFlag = 1
    +v.axis3DScales = (2,1,1)
    +SetView3D(v)
    +Test("bigdata_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_colortexture.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_colortexture.html new file mode 100644 index 000000000..492abc8db --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_colortexture.html @@ -0,0 +1,66 @@ + +Results for rendering/colortexture.py + +

    Results of VisIt Regression Test - rendering/colortexture

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    colortexture_000.000.00
    colortexture_010.000.00
    colortexture_020.000.00
    colortexture_030.000.00
    colortexture_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_colortexture_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_colortexture_py.html new file mode 100644 index 000000000..56ea4b44a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_colortexture_py.html @@ -0,0 +1,86 @@ +rendering/colortexture.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  colortexture.py
    +#
    +#  Tests:      mesh      - 3D UCD
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Sep 18 13:44:14 PST 2006
    +#
    +#  Modificatons:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +def main():
    +    a = AnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +    a.foregroundColor = (255, 255, 255, 255)
    +    a.backgroundColor = (0, 0, 0, 255)
    +    SetAnnotationAttributes(a)
    +
    +    OpenDatabase(silo_data_path("ucd2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddPlot("Mesh", "ucdmesh2d")
    +    DrawPlots()
    +    Test("colortexture_00")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Pseudocolor", "speed")
    +    pc = PseudocolorAttributes()
    +    pc.colorTableName = "levels"
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +
    +    L = GetLight(0)
    +    L.enabledFlag = 1
    +    L.type = L.Camera  # Ambient, Object, Camera
    +    L.direction = (-0.131, -0.685, -0.716)
    +    L.color = (255, 255, 255, 255)
    +    L.brightness = 1
    +    SetLight(0, L)
    +
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.615147, 0.425906, 0.663475)
    +    v0.focus = (0, 0, 0)
    +    v0.viewUp = (0.235983, 0.902416, -0.360497)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 17.3205
    +    v0.nearPlane = -34.641
    +    v0.farPlane = 34.641
    +    v0.imagePan = (0, 0)
    +    v0.imageZoom = 1.56642
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0, 0, 0)
    +    SetView3D(v0)
    +    Test("colortexture_01")
    +
    +    # Turn off color texturing
    +    SetColorTexturingEnabled(0)
    +    Test("colortexture_02")
    +
    +    # Turn color texturing back on.
    +    SetColorTexturingEnabled(1)
    +    pc.colorTableName = "hot"
    +    SetPlotOptions(pc)
    +    Test("colortexture_03")
    +
    +    # Make sure that it works with specular highlights.
    +    r = GetRenderingAttributes()
    +    r.specularFlag = 1
    +    SetRenderingAttributes(r)
    +    Test("colortexture_04")
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_compositing.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_compositing.html new file mode 100644 index 000000000..998c9b8f2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_compositing.html @@ -0,0 +1,42 @@ + +Results for rendering/compositing.py + +

    Results of VisIt Regression Test - rendering/compositing

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    compositing_010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_compositing_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_compositing_py.html new file mode 100644 index 000000000..85835739b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_compositing_py.html @@ -0,0 +1,40 @@ +rendering/compositing.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  compositing.py
    +#
    +#  Tests: postprocessing of transparent images in SR mode.
    +#
    +#  Programmer: Tom Fogal
    +#  Date:       June 3, 2009
    +#
    +# Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +ds_noise = silo_data_path("noise.silo")
    +OpenDatabase(ds_noise)
    +
    +ra = GetRenderingAttributes()
    +ra.scalableActivationMode = ra.Always
    +ra.doShadowing = 1
    +SetRenderingAttributes(ra)
    +
    +AddPlot("Contour", "hardyglobal")
    +
    +ca = ContourAttributes()
    +ca.contourNLevels = 1
    +ca.contourPercent = (0.5, 0.5)
    +ca.SetMultiColor(0, 255,0,255,128)
    +SetPlotOptions(ca)
    +
    +DrawPlots()
    +Test("compositing_01")
    +
    +DeleteAllPlots()
    +CloseDatabase(ds_noise)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_evalcubic.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_evalcubic.html new file mode 100644 index 000000000..62a0e68ce --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_evalcubic.html @@ -0,0 +1,66 @@ + +Results for rendering/evalcubic.py + +

    Results of VisIt Regression Test - rendering/evalcubic

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    evalcubic_00.000.00
    evalcubic_10.000.00
    evalcubic_20.000.00
    evalcubic_30.000.00
    evalcubic_40.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_evalcubic_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_evalcubic_py.html new file mode 100644 index 000000000..e2cfa0a3f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_evalcubic_py.html @@ -0,0 +1,123 @@ +rendering/evalcubic.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  evalcubic.py
    +#
    +#  Tests:      mesh      - 3D structured, single domain
    +#              plots     - pseudocolor
    +#
    +#  Programmer: Cyrus Harrison
    +#  Date:       Mon Feb  7 15:52:37 PST 2011
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# Example from:
    +# https://visit-sphinx-github-user-manual.readthedocs.io/en/develop/tutorials/Scripting.html#animating-the-camera
    +#
    +
    +def fly():
    +    # Do a pseudocolor plot of u.
    +    DeleteAllPlots()
    +    AddPlot('Pseudocolor', 'hardyglobal')
    +    AddOperator("Clip")
    +    c = ClipAttributes()
    +    c.funcType = c.Sphere  # Plane, Sphere
    +    c.center = (0, 0, 0)
    +    c.radius = 10
    +    c.sphereInverse = 1
    +    SetOperatorOptions(c)
    +    DrawPlots()
    +    # Create the control points for the views.
    +    c0 = View3DAttributes()
    +    c0.viewNormal = (0, 0, 1)
    +    c0.focus = (0, 0, 0)
    +    c0.viewUp = (0, 1, 0)
    +    c0.viewAngle = 30
    +    c0.parallelScale = 17.3205
    +    c0.nearPlane = 17.3205
    +    c0.farPlane = 81.9615
    +    c0.perspective = 1
    +    c1 = View3DAttributes()
    +    c1.viewNormal = (-0.499159, 0.475135, 0.724629)
    +    c1.focus = (0, 0, 0)
    +    c1.viewUp = (0.196284, 0.876524, -0.439521)
    +    c1.viewAngle = 30
    +    c1.parallelScale = 14.0932
    +    c1.nearPlane = 15.276
    +    c1.farPlane = 69.917
    +    c1.perspective = 1
    +    c2 = View3DAttributes()
    +    c2.viewNormal = (-0.522881, 0.831168, -0.189092)
    +    c2.focus = (0, 0, 0)
    +    c2.viewUp = (0.783763, 0.556011, 0.27671)
    +    c2.viewAngle = 30
    +    c2.parallelScale = 11.3107
    +    c2.nearPlane = 14.8914
    +    c2.farPlane = 59.5324
    +    c2.perspective = 1
    +    c3 = View3DAttributes()
    +    c3.viewNormal = (-0.438771, 0.523661, -0.730246)
    +    c3.focus = (0, 0, 0)
    +    c3.viewUp = (-0.0199911, 0.80676, 0.590541)
    +    c3.viewAngle = 30
    +    c3.parallelScale = 8.28257
    +    c3.nearPlane = 3.5905
    +    c3.farPlane = 48.2315
    +    c3.perspective = 1
    +    c4 = View3DAttributes()
    +    c4.viewNormal = (0.286142, -0.342802, -0.894768)
    +    c4.focus = (0, 0, 0)
    +    c4.viewUp = (-0.0382056, 0.928989, -0.36813)
    +    c4.viewAngle = 30
    +    c4.parallelScale = 10.4152
    +    c4.nearPlane = 1.5495
    +    c4.farPlane = 56.1905
    +    c4.perspective = 1
    +    c5 = View3DAttributes()
    +    c5.viewNormal = (0.974296, -0.223599, -0.0274086)
    +    c5.focus = (0, 0, 0)
    +    c5.viewUp = (0.222245, 0.97394, -0.0452541)
    +    c5.viewAngle = 30
    +    c5.parallelScale = 1.1052
    +    c5.nearPlane = 24.1248
    +    c5.farPlane = 58.7658
    +    c5.perspective = 1
    +    c6 = c0
    +    # Create a tuple of camera values and x values. The x values are weights
    +    # that help to determine where in [0,1] the control points occur.
    +    cpts = (c0, c1, c2, c3, c4, c5, c6)
    +    x=[]
    +    for i in range(7):
    +        x = x + [float(i) / float(6.)]
    +    # Animate the camera. Note that we use the new built-in EvalCubicSpline
    +    # function which takes a t value from [0,1] a tuple of t values and a tuple
    +    # of control points. In this case, the control points are View3DAttributes
    +    # objects that we are using to animate the camera but they can be any object
    +    # that supports +, * operators.
    +    nsteps = 100
    +    for i in range(nsteps):
    +        t = float(i) / float(nsteps - 1)
    +        c = EvalCubicSpline(t, x, cpts)
    +        c.nearPlane = -34.461
    +        c.farPlane = 34.461
    +        SetView3D(c)
    +        if i == 0:
    +            Test("evalcubic_0")
    +        elif i == 24:
    +            Test("evalcubic_1")
    +        elif i == 49:
    +            Test("evalcubic_2")
    +        elif i == 74:
    +            Test("evalcubic_3")
    +        elif i == 99:
    +            Test("evalcubic_4")
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +fly()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_image.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_image.html new file mode 100644 index 000000000..7f2186724 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_image.html @@ -0,0 +1,54 @@ + +Results for rendering/image.py + +

    Results of VisIt Regression Test - rendering/image

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    image000.000.00
    image010.000.00
    image020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_image_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_image_py.html new file mode 100644 index 000000000..0a83fcbf4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_image_py.html @@ -0,0 +1,46 @@ +rendering/image.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  image.py
    +#
    +#  Tests:      mesh        - 2D curvilinear, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Image
    +#
    +#  Defect ID:  None 
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       July 1, 2015
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (255, 255, 255, 255)
    +a.foregroundColor = (0, 0, 0, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and do a plot.
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Create an Image object
    +img = CreateAnnotationObject("Image")
    +img.image = data_path("Image_test_data/manhattan.jpg")
    +img.position = (0.34, 0.12)
    +Test("image00")
    +
    +img.width = 50
    +Test("image01")
    +
    +img.width = 10
    +img.position = (0.5, 0.6)
    +Test("image02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_legends.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_legends.html new file mode 100644 index 000000000..f44f7808d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_legends.html @@ -0,0 +1,437 @@ + +Results for rendering/legends.py + +

    Results of VisIt Regression Test - rendering/legends

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Test levels legend
    legends_010.000.00
    legends_020.000.00
    legends_030.000.00
    Test legend default sizing and positioning
    legends_040.000.00
    legends_050.000.00
    legends_060.000.00
    legends_07612.0154.64
    legends_080.000.00
    Test Curve plot legend
    legends_090.000.00
    legends_100.000.00
    legends_110.000.00
    legends_120.000.00
    legends_130.000.00
    Test setting legend properties
    legends_140.000.00
    legends_150.000.00
    legends_160.000.00
    legends_170.000.00
    legends_180.000.00
    legends_190.000.00
    legends_200.000.00
    legends_210.000.00
    legends_220.000.00
    legends_230.000.00
    legends_240.000.00
    legends_250.000.00
    legends_260.000.00
    legends_270.000.00
    legends_280.000.00
    legends_290 modifications totalling 0 lines
    Test legend copying
    legends_300.000.00
    legends_310.000.00
    legends_320.000.00
    legends_330 modifications totalling 0 lines
    legends_340.000.00
    legends_350 modifications totalling 0 lines
    legends_360.000.00
    legends_370.000.00
    Test setting legend tics
    legends_380.000.00
    legends_390.000.00
    legends_400.000.00
    legends_410.000.00
    legends_420.000.00
    legends_430.000.00
    legends_440.000.00
    legends_450.000.00
    legends_460.000.00
    legends_470.000.00
    legends_480.000.00
    legends_490.000.00
    legends_500.000.00
    legends_510.000.00
    legends_520.000.00
    legends_530.000.00
    legends_540.000.00
    legends_550.000.00
    legends_560.000.00
    legends_570.000.00
    legends_580.000.00
    legends_590.000.00
    legends_600.000.00
    Test Variable legend
    legends_610.000.00
    legends_620.000.00
    legends_630.000.00
    legends_640.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_legends_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_legends_py.html new file mode 100644 index 000000000..3757172a3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_legends_py.html @@ -0,0 +1,597 @@ +rendering/legends.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  legends.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain 
    +#              plots     - subset, boundary, filledboundary
    +#              operators - none
    +#              selection - material
    +#
    +#  Defect ID:  VisIt00002740, VisIt00002737
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       December 2, 2002 
    +#
    +#  Modifications:
    +#    Brad Whitlock, Thu Dec 12 09:50:31 PDT 2002
    +#    I fixed the test so it uses the new interface for the SubsetAttributes.
    +#
    +#    Kathleen Bonnell, Fri Jul 18 14:04:19 PDT 2003 
    +#    I added tests for Boundary, FilledBoundary.
    +#
    +#    Eric Brugger, Mon Jul 21 12:14:52 PDT 2003
    +#    I added legend sizing and positioning tests.
    +#
    +#    Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#    Remove compound var name from Subset, Boundary and Filled Boundary plots.
    +#
    +#    Kathleen Bonnell, Fri Oct 28 10:00:30 PDT 2005 
    +#    Add tests for curve plots (legends_09 ... legends_11). 
    +#
    +#    Kathleen Bonnell, Fri Oct 28 15:54:37 PDT 2005 
    +#    Add more tests for curve plots, for testing reading of TIME 
    +#    (legends_12 & legends_13). 
    +#
    +#    Brad Whitlock, Tue Nov 21 10:54:18 PDT 2006
    +#    I made it use line style enum values instead of ints so the intent
    +#    is more clear.
    +#
    +#    Brad Whitlock, Mon Mar 26 08:54:40 PDT 2007
    +#    Organized different parts of the test into functions and added a new
    +#    function that sets the properties for a legend.
    +#
    +#    Hank Childs, Sun Jan 25 15:07:31 PST 2009
    +#    Turn off minmaxLabels as well.
    +#
    +#    Kathleen Bonnell, Wed Sep 23 10:13:13 PDT 2009
    +#    Add TestLegendProperties2, to test new capability of modifiying num tics,
    +#    and setting numeric values and text labels for tics in liu of the 
    +#    automatically generated ones.
    +#
    +#    Kathleen Bonnell, Tue Oct 6 11:36:41 PDT 2009
    +#    Added test for constant variable legend. 
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Brad Whitlock, Mon Jan 25 15:34:23 PST 2010
    +#    I fixed a bug that made small baselines. I also increased the legend size
    +#    in some tests so it's more prominent.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset, and Subset for 
    +#    domains instead of FilledBoundary.
    +#
    +#    Eric Brugger, Wed Mar  8 16:50:08 PST 2023
    +#    Added TestVariableLegend.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Test the Filled Boundary plot with some subsets turned off, and
    +# single-color on.
    +# This test ensures that correct labels are applied to the legend.
    +def TestLevelsLegend(a):
    +    TestSection("Test levels legend")
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +    AddPlot("FilledBoundary", "mat1")
    +    TurnMaterialsOff(("2", "4"))
    +    fbAtts = FilledBoundaryAttributes()
    +    fbAtts.colorType = fbAtts.ColorBySingleColor
    +    fbAtts.singleColor = (0, 255, 255, 255)
    +    SetPlotOptions(fbAtts)
    +    DrawPlots()
    +
    +    Test("legends_01")
    +    DeleteAllPlots()
    +
    +    # Test the FilledBoundary and Boundary plots, to ensure that setting
    +    # their atts works.
    +    AddPlot("FilledBoundary", "mat1")
    +    fba = FilledBoundaryAttributes()
    +    fba.colorType = fba.ColorByMultipleColors
    +    SetPlotOptions(fba)
    +    DrawPlots()
    +    Test("legends_02")
    +    DeleteAllPlots()
    +
    +    AddPlot("Boundary", "mat1")
    +    ba = BoundaryAttributes()
    +    ba.colorType = ba.ColorByColorTable
    +    ba.colorTableName = "rainbow"
    +    SetPlotOptions(ba)
    +    DrawPlots()
    +    Test("legends_03")
    +    DeleteAllPlots()
    +
    +#
    +# Test legend sizing and positioning.
    +#
    +def TestSizeAndPosition(a):
    +    TestSection("Test legend default sizing and positioning")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +    AddPlot("Boundary", "mat1")
    +    bndAtts = BoundaryAttributes()
    +    bndAtts.colorType = bndAtts.ColorBySingleColor
    +    bndAtts.singleColor = (0, 0, 0, 255)
    +    SetPlotOptions(bndAtts)
    +    AddPlot("Contour", "p")
    +    AddPlot("Mesh", "curvmesh2d")
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +    Test("legends_04")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddPlot("Vector", "vel")
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +    Test("legends_05")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Elevate")
    +    AddPlot("Pseudocolor", "p")
    +    AddOperator("Elevate")
    +    elevate_atts = ElevateAttributes()
    +    elevate_atts.useXYLimits = elevate_atts.Never
    +    SetOperatorOptions(elevate_atts)
    +
    +    DrawPlots()
    +    Test("legends_06")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +
    +    AddPlot("Volume", "u")
    +    DrawPlots()
    +    Test("legends_07")
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +    AddPlot("Contour", "d")
    +    contourAtts = ContourAttributes()
    +    contourAtts.contourNLevels = 15
    +    SetPlotOptions(contourAtts)
    +    AddPlot("Subset", "domains")
    +    DrawPlots()
    +    Test("legends_08")
    +    DeleteAllPlots()
    +
    +#
    +# TEST LEGEND FOR CURVE PLOTS
    +#
    +def TestCurveLegend(a):
    +    TestSection("Test Curve plot legend")
    +    OpenDatabase(data_path("curve_test_data/c033.curve"))
    +
    +    # Test legend on
    +    AddPlot("Curve", "parabolic")
    +    curveAtts = CurveAttributes()
    +    curveAtts.curveColorSource = curveAtts.Custom
    +    curveAtts.curveColor = (255, 0, 0, 255)
    +    curveAtts.lineWidth = 1
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    Test("legends_09")
    +
    +    # Test legend off
    +    curveAtts.showLegend = 0
    +    SetPlotOptions(curveAtts)
    +    Test("legends_10")
    +
    +    curveAtts.showLegend = 1
    +    SetPlotOptions(curveAtts)
    +
    +    # Tests multiple plots
    +    OpenDatabase(data_path("curve_test_data/c044.curve"))
    +
    +    AddPlot("Curve", "parabolic")
    +    curveAtts.curveColor = (0, 255, 0, 255)
    +    curveAtts.lineWidth = 5
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +
    +    OpenDatabase(data_path("curve_test_data/c055.curve"))
    +
    +    AddPlot("Curve", "parabolic")
    +    curveAtts.curveColor = (0, 0, 255, 255)
    +    curveAtts.lineWidth = 2
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +
    +    Test("legends_11")
    +
    +    # Add DatabaseInfo
    +    a.databaseInfoFlag = 1
    +    SetAnnotationAttributes(a)
    +    Test("legends_12")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +    AddPlot("Curve", "Laplace Distribution")
    +    curveAtts.curveColor = (0, 255, 255, 255)
    +    curveAtts.lineWidth = 0
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    Test("legends_13")
    +    DeleteAllPlots()
    +
    +    # Remove DatabaseInfo
    +    a.databaseInfoFlag = 0
    +    SetAnnotationAttributes(a)
    +
    +#
    +# Test setting legend properties. Note that we currently just test the
    +# avtVariableLegend but others work pretty much the same way.
    +#
    +def TestLegendProperties(a):
    +    TestSection("Test setting legend properties")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +    v0 = View3DAttributes()
    +    v0.viewNormal = (-0.778207, 0.3577, 0.516183)
    +    v0.focus = (0, 0, 0)
    +    v0.viewUp = (0.283417, 0.933512, -0.219613)
    +    v0.viewAngle = 30
    +    v0.parallelScale = 17.3205
    +    v0.nearPlane = -34.641
    +    v0.farPlane = 34.641
    +    v0.imagePan = (0.0768749, 0.057219)
    +    v0.imageZoom = 0.863307
    +    v0.perspective = 1
    +    v0.eyeAngle = 2
    +    v0.centerOfRotationSet = 0
    +    v0.centerOfRotation = (0, 0, 0)
    +    SetView3D(v0)
    +    Test("legends_14")
    +
    +    # Get the plot's legend
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +
    +    # See if we can scale the legend.
    +    legend.xScale = 3.
    +    Test("legends_15")
    +    legend.yScale = 3.
    +    Test("legends_16")
    +
    +    # Test the bounding box.
    +    legend.drawBoundingBox = 1
    +    Test("legends_17")
    +    legend.boundingBoxColor = (180,180,180,230)
    +    Test("legends_18")
    +
    +    # Test moving the legend
    +    legend.managePosition = 0
    +    legend.position = (0.55,0.9)
    +    Test("legends_19")
    +
    +    # Test text color
    +    InvertBackgroundColor()
    +    Test("legends_20")
    +    InvertBackgroundColor()
    +    legend.useForegroundForTextColor = 0
    +    legend.textColor = (255, 0, 0, 255)
    +    Test("legends_21")
    +
    +    # Test number format
    +    legend.numberFormat = "%1.4e"
    +    Test("legends_22")
    +
    +    # Test the font.
    +    legend.fontFamily = legend.Courier
    +    Test("legends_23")
    +    legend.fontFamily = legend.Times
    +    Test("legends_24")
    +    legend.fontFamily = legend.Arial
    +    legend.fontBold = 1
    +    Test("legends_25")
    +    legend.fontBold = 0
    +    legend.fontItalic = 1
    +    Test("legends_26")
    +
    +    # Test turning off the labels.
    +    legend.fontItalic = 0
    +    legend.drawLabels = 0
    +    legend.drawMinMax = 0
    +    Test("legends_27")
    +
    +    # Test turning off the title.
    +    legend.drawTitle = 0
    +    Test("legends_28")
    +
    +    # Add a plot and then delete plot 0 to see that the legend disappears
    +    # in the list of annotation objects. Note that plot names are created
    +    # using an increasing integer. If this test is executed out of the order
    +    # from when it was baselined then the number will change and the test
    +    # will need to be rebaselined.
    +    text = "Before: " + str(GetAnnotationObjectNames()) + "\n"
    +    AddPlot("Mesh", "Mesh")
    +    DrawPlots()
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    text = text + "After: " + str(GetAnnotationObjectNames()) + "\n"
    +    TestText("legends_29", text)
    +    DeleteAllPlots()
    +
    +#
    +# Test how legends get copied to new windows.
    +#
    +def TestLegendCopying(a):
    +    TestSection("Test legend copying")
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    AddPlot("Pseudocolor", "hardyglobal")
    +    DrawPlots()
    +
    +    # Customize the legend.
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +    legend.drawBoundingBox = 1
    +    legend.boundingBoxColor = (50,50,100,255)
    +
    +    # Create another annotation object.
    +    text2d = CreateAnnotationObject("Text2D", "text_obj")
    +    text2d.position = (0.45, 0.5)
    +    text2d.height = 0.05
    +    text2d.textColor = (255, 0, 0, 255)
    +    text2d.useForegroundForTextColor = 0
    +    text2d.text = "Text annotation"
    +    Test("legends_30")
    +
    +    # Clone the window and make sure that it has the right annotation objects
    +    # and that their properties have been inherited from window 1.
    +    CloneWindow()
    +    SetActiveWindow(2)
    +    DrawPlots()
    +    Test("legends_31")
    +    DeleteWindow()
    +
    +    # Test clone on first reference.
    +    SetCloneWindowOnFirstRef(1)
    +    AddWindow()
    +    DrawPlots()
    +    Test("legends_32")
    +    TestText("legends_33", str(GetAnnotationObjectNames()))
    +
    +    # Test it clone on first reference again via SetActiveWindow
    +    DeleteWindow()
    +    AddWindow()
    +    SetActiveWindow(2)
    +    DrawPlots()
    +    Test("legends_34")
    +    TestText("legends_35", str(GetAnnotationObjectNames()))
    +
    +    # Now that we're in window 2, delete the text object.
    +    w2text = GetAnnotationObject("text_obj")
    +    w2text.Delete()
    +    # Customize the legend in window 2 so we'll know if copying window 1's
    +    # attributes over to window 2 messed it up.
    +    legend2 = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend2.boundingBoxColor = (200,0,0,255)
    +    Test("legends_36")
    +    CopyAnnotationsToWindow(1, 2)
    +    RedrawWindow()
    +    Test("legends_37")
    +
    +    # Clean up
    +    DeleteAllPlots()
    +    DeleteWindow()
    +    text2d.Delete()
    +    GetAnnotationObject("text_obj").Delete()
    +    DeleteAllPlots()
    +
    +def TestLegendTics():
    +    TestSection("Test setting legend tics")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +
    +    # change number of ticks
    +    legend.numTicks = 3
    +    Test("legends_38")
    +
    +    # turn off use of min and max as tick values
    +    legend.minMaxInclusive = 0
    +    Test("legends_39")
    +
    +    legend.numTicks = 1
    +    Test("legends_40")
    +
    +    legend.minMaxInclusive = 1
    +    Test("legends_41")
    +
    +    legend.numTicks = 2
    +    Test("legends_42")
    +
    +    legend.minMaxInclusive = 0
    +    Test("legends_43")
    +
    +    legend.minMaxInclusive = 1
    +    # turn off automatic control of ticks so labels can be added
    +    legend.controlTicks = 0
    +    # default values should be what was calculated
    +    Test("legends_44")
    +
    +    # supply some labels
    +    legend.suppliedLabels = ("", "second", "", "fourth", "")
    +    # Turn on drawing of text labels
    +    legend.drawLabels = legend.Both
    +    Test("legends_45")
    +
    +    # only labels, no values
    +    legend.drawLabels = legend.Labels
    +    Test("legends_46")
    +
    +    # supply different values -- don't need to be in order
    +    # show that values out-of-range won't be used
    +    legend.suppliedValues = (2.2, 4.5, 3.8, 1.0, 5.7)
    +    legend.suppliedLabels = ("this", "that", "the other", "noshow1", "noshow2")
    +    legend.drawLabels = legend.Values
    +    Test("legends_47")
    +    legend.drawLabels = legend.Both
    +    Test("legends_48")
    +    legend.drawLabels = legend.Labels
    +    Test("legends_49")
    +
    +    legend.orientation = legend.HorizontalTop
    +    Test("legends_50")
    +    legend.orientation = legend.HorizontalBottom
    +    Test("legends_51")
    +    legend.orientation = legend.VerticalLeft
    +    Test("legends_52")
    +
    +    DeleteAllPlots()
    +
    +    # demonstrate adding labels to 'levels' type legends
    +    AddPlot("FilledBoundary", "mat1")
    +    DrawPlots()
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +
    +    legend.controlTicks = 0
    +    Test("legends_53")
    +    legend.drawLabels = legend.Both
    +    legend.suppliedLabels = ("red", "green", "blue");
    +    Test("legends_54")
    +    legend.drawLabels = legend.Labels
    +    Test("legends_55")
    +
    +    DeleteAllPlots()
    +    AddPlot("Contour", "p")
    +    contourAtts = ContourAttributes()
    +    contourAtts.contourNLevels = 6
    +    SetPlotOptions(contourAtts)
    +    DrawPlots()
    +
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +    Test("legends_56")
    +    nf = legend.numberFormat
    +    legend.numberFormat = "%# -0.2e"
    +    Test("legends_57")
    +    legend.numberFormat = nf
    +    legend.controlTicks = 0
    +    legend.drawLabels = legend.Both
    +    legend.suppliedLabels = ("one", "", "two", "", "three")
    +    Test("legends_58")
    +    legend.drawLabels = legend.Labels
    +    Test("legends_59")
    +
    +    DeleteAllPlots()
    +
    +    # test constant legend
    +    DefineScalarExpression("one", "cell_constant(<curvmesh2d>, 1)")
    +    AddPlot("Pseudocolor", "one")
    +    DrawPlots()
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 3.
    +    legend.yScale = 3.
    +    Test("legends_60")
    +
    +    #clean up
    +    DeleteAllPlots()
    +
    +# Test the pseudocolor plot with original and actual limits.
    +# This test ensures that correct limits are displayed.
    +def TestVariableLegend():
    +    TestSection("Test Variable legend")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    pc = PseudocolorAttributes()
    +    pc.limitsMode = pc.OriginalData
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    TurnMaterialsOff("1")
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 2.0
    +    legend.yScale = 2.0
    +    Test("legends_61")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "d")
    +    pc = PseudocolorAttributes()
    +    pc.limitsMode = pc.OriginalData
    +    pc.minFlag = 1
    +    pc.min = 2.8
    +    pc.maxFlag = 1
    +    pc.max = 4.2
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    TurnMaterialsOff("1")
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 2.0
    +    legend.yScale = 2.0
    +    Test("legends_62")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "d")
    +    pc = PseudocolorAttributes()
    +    pc.limitsMode = pc.ActualData
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    TurnMaterialsOff("1")
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 2.0
    +    legend.yScale = 2.0
    +    Test("legends_63")
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "d")
    +    pc = PseudocolorAttributes()
    +    pc.limitsMode = pc.ActualData
    +    pc.minFlag = 1
    +    pc.min = 2.8
    +    pc.maxFlag = 1
    +    pc.max = 4.2
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    TurnMaterialsOff("1")
    +    legend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +    legend.xScale = 2.0
    +    legend.yScale = 2.0
    +    Test("legends_64")
    +    DeleteAllPlots()
    +
    +def main():
    +    # Turn off all annotation except the legend.
    +    a = GetAnnotationAttributes()
    +    TurnOffAllAnnotations(a)
    +    a.legendInfoFlag = 1
    +    SetAnnotationAttributes(a)
    +
    +    TestLevelsLegend(a)
    +    TestSizeAndPosition(a)
    +    TestCurveLegend(a)
    +    TestLegendProperties(a)
    +    TestLegendCopying(a)
    +    TestLegendTics()
    +    TestVariableLegend()
    +
    +    # reset DatabaseInfo for future tests.
    +    a.databaseInfoFlag = 0
    +    SetAnnotationAttributes(a)
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_lighting.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_lighting.html new file mode 100644 index 000000000..7457c17b7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_lighting.html @@ -0,0 +1,54 @@ + +Results for rendering/lighting.py + +

    Results of VisIt Regression Test - rendering/lighting

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    lighting_010.000.00
    lighting_020.000.00
    normals_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_lighting_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_lighting_py.html new file mode 100644 index 000000000..e5df22ffb --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_lighting_py.html @@ -0,0 +1,113 @@ +rendering/lighting.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  lighting.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, one domain
    +#              plots     - pseudocolor
    +#              operators - slicing, elevation
    +#              selection - no
    +#
    +#  Defect ID:  8017
    +#
    +#  Programmer: Hank Childs
    +#  Date:       May 6, 2007
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Alister Maguire, Wed Mar 18 16:45:02 PDT 2020
    +#    Moved previous two tests into a function called TestBasicLighting and
    +#    added TestNormals.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def TestBasicLighting():
    +    OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +    AddPlot("Pseudocolor", "d")
    +    AddOperator("Slice")
    +    AddOperator("Elevate")
    +    DrawPlots()
    +
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (-0.58136, 0.782415, -0.223267)
    +    View3DAtts.focus = (0.5, 0.5, 0.66382)
    +    View3DAtts.viewUp = (0.259676, -0.0816327, -0.962239)
    +    View3DAtts.viewAngle = 30
    +    View3DAtts.parallelScale = 0.728621
    +    View3DAtts.nearPlane = -1.45724
    +    View3DAtts.farPlane = 1.45724
    +    View3DAtts.imagePan = (0, 0)
    +    View3DAtts.imageZoom = 1
    +    View3DAtts.perspective = 1
    +    View3DAtts.eyeAngle = 2
    +    View3DAtts.centerOfRotationSet = 0
    +    View3DAtts.centerOfRotation = (0.5, 0.5, 0.66382)
    +    SetView3D(View3DAtts)
    +
    +    light0 = GetLight(0)
    +    light0.enabledFlag = 1
    +    light0.type = light0.Camera  # Ambient, Object, Camera
    +    light0.direction = (0, 0, -1)
    +    light0.color = (255, 255, 255, 255)
    +    light0.brightness = 1
    +    SetLight(0, light0)
    +    light1 = GetLight(1)
    +    light1.enabledFlag = 1
    +    light1.type = light1.Ambient  # Ambient, Object, Camera
    +    light1.direction = (0, 0, -1)
    +    light1.color = (255, 255, 255, 255)
    +    light1.brightness = 0.47
    +    SetLight(1, light1)
    +
    +    # In SR mode, bug '8017 was that the ambient would get turned off on
    +    # the second save.
    +    Test("lighting_01")
    +    Test("lighting_02")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(silo_data_path("rect3d.silo"))
    +
    +
    +def TestNormals():
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.03622833898009251, 0.7402344653499199, 0.6713720606063838)
    +    SetView3D(v)
    +
    +    light0 = GetLight(0)
    +    light0.enabledFlag = 1
    +    light0.type = light0.Camera  # Ambient, Object, Camera
    +    light0.direction = (0, 0, -1)
    +    light0.brightness = .65
    +    SetLight(0, light0)
    +    light1 = GetLight(1)
    +    light1.enabledFlag = 1
    +    light1.type = light1.Ambient  # Ambient, Object, Camera
    +    light1.direction = (0, 0, -1)
    +    light0.brightness = .65
    +    SetLight(1, light1)
    +
    +    #
    +    # In the past, our normals filter wasn't able to handle triangle strips.
    +    # This test ensures that we now can.
    +    #
    +    OpenDatabase(data_path("vtk_test_data/polyWithStrips.vtk"))
    +    AddPlot("Pseudocolor", "fooData")
    +    DrawPlots()
    +    Test("normals_00")
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/polyWithStrips.vtk"))
    +
    +
    +def main():
    +    TestBasicLighting()
    +    TestNormals()
    +    Exit()
    +
    +main()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_line2d.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_line2d.html new file mode 100644 index 000000000..d4f667c01 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_line2d.html @@ -0,0 +1,102 @@ + +Results for rendering/line2d.py + +

    Results of VisIt Regression Test - rendering/line2d

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    line2d000.000.00
    line2d010.000.00
    line2d020.000.00
    line2d030.000.00
    line2d040.000.00
    line2d050.000.00
    line2d060.000.00
    line2d070.000.00
    line2d080.000.00
    line2d090.000.00
    line2d100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_line2d_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_line2d_py.html new file mode 100644 index 000000000..dd5be7a13 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_line2d_py.html @@ -0,0 +1,101 @@ +rendering/line2d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  line2d.py
    +#
    +#  Tests:      mesh        - 2D curvilinear, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Line2D
    +#
    +#  Defect ID:  #1724 (arrowheads for 2D Line annotations broke in 2.7) 
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       July 1, 2015
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Aug  3 17:35:13 PDT 2015
    +#    Uncomment test line2d01, also set nextLine.useForegroundForLineColor.
    +#    Change line width values so that they yield previous results, line
    +#    annotation object now uses a lineWidth gui widget that allows values 
    +#    from 0 to 9.
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (255, 255, 255, 255)
    +a.foregroundColor = (0, 0, 0, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and do a plot.
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Create a Line2D object
    +line = CreateAnnotationObject("Line2D")
    +line.position = (0.62, 0.83)
    +line.position2 = (0.43, 0.7)
    +Test("line2d00")
    +
    +# Set the foreground color to see if it changes
    +a.foregroundColor = (0, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +Test("line2d01")
    +
    +# Test line color
    +a.foregroundColor = (255, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +line.useForegroundForLineColor = 0
    +line.color = (0, 255, 255, 255)
    +Test("line2d02")
    +
    +# Test line width
    +line.width = 3
    +Test("line2d03")
    +
    +
    +# Test line arrow at start
    +line.color = (0,0,0,255)
    +line.width = 0
    +line.beginArrow = 1
    +Test("line2d04")
    +
    +# Test solid arrow at end
    +line.endArrow = 2
    +Test("line2d05")
    +
    +# Switch arrows
    +line.beginArrow = 2
    +line.endArrow = 1
    +Test("line2d06")
    +
    +# Test line opacity
    +line.position = (0.25, 0.32)
    +line.position2 = (0.85, 0.71)
    +line.width = 4
    +line.beginArrow = 0
    +line.endArrow = 0
    +line.color = (0,0,0,150)
    +Test("line2d07")
    +
    +# Create more line objects
    +nextLine = CreateAnnotationObject("Line2D")
    +nextLine.useForegroundForLineColor = 0
    +nextLine.color=(255, 0, 0, 255)
    +nextLine.position=(0.41, 0.86)
    +nextLine.position2=(0.75, 0.6)
    +nextLine.width=1
    +nextLine.endArrow=2
    +Test("line2d08")
    +
    +# Start Removing text
    +line.Delete()
    +Test("line2d09")
    +nextLine.Delete()
    +Test("line2d10")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_line3d.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_line3d.html new file mode 100644 index 000000000..1cfca3645 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_line3d.html @@ -0,0 +1,102 @@ + +Results for rendering/line3d.py + +

    Results of VisIt Regression Test - rendering/line3d

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    line3d000.000.00
    Line3d010.000.00
    line3d050.000.00
    line3d060.000.00
    line3d070.000.00
    line3d080.000.00
    line3d090.000.00
    line3d100.000.00
    line3d110.000.00
    line3d120.000.00
    line3d130.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_line3d_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_line3d_py.html new file mode 100644 index 000000000..9a5a47e48 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_line3d_py.html @@ -0,0 +1,104 @@ +rendering/line3d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  line3d.py
    +#
    +#  Tests:      mesh        - 3D unstructured, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Line3D
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       August 27, 2015
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Thu Apr 19 12:02:22 PDT 2018
    +#    Remove lineStyle tests, no longer available.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (255, 255, 255, 255)
    +a.foregroundColor = (0, 0, 0, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and do a plot.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Create a Line3D object
    +line = CreateAnnotationObject("Line3D")
    +line.point1 = (0, -15, 0)
    +line.point2 = (0, 15, 0)
    +Test("line3d00")
    +
    +line.width = 7
    +Test("Line3d01")
    +
    +# Set the foreground color to see if it changes
    +a.foregroundColor = (0, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +Test("line3d05")
    +
    +# Test line color
    +a.foregroundColor = (255, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +line.useForegroundForLineColor = 0
    +line.color = (255, 0, 255, 255)
    +Test("line3d06")
    +
    +# Test arrow at start (flat)
    +line.arrow1Resolution = 1
    +line.arrow2Resolution = 1
    +line.arrow1Radius = 2
    +line.arrow2Radius = 2
    +line.arrow1Height = 5.6
    +line.arrow2Height = 5.6
    +line.arrow1 = 1
    +Test("line3d07")
    +# Test arrow at end
    +line.arrow1 = 0
    +line.arrow2 = 1
    +Test("line3d08")
    +
    +# Test both arrows 
    +line.arrow1 = 1
    +Test("line3d09")
    +
    +# Tubes
    +line.arrow1 = 0
    +line.lineType = line.TUBE
    +line.tubeRadius = 0.3
    +# make the arrow a cone
    +line.arrow2Resolution = 15
    +line.arrow2Radius = 1
    +line.arrow2Height = 2.8
    +Test("line3d10")
    +
    +
    +# Create more line objects
    +nextLine = CreateAnnotationObject("Line3D")
    +nextLine.useForegroundForLineColor = 0
    +nextLine.color=(0, 255, 0, 255)
    +nextLine.point1=(-15, 0, 0)
    +nextLine.point2=(15, 0, 0)
    +nextLine.arrow2 = 1
    +nextLine.lineType = line.TUBE
    +nextLine.tubeRadius = 0.3
    +nextLine.arrow2Resolution = 15
    +nextLine.arrow2Radius = 1
    +nextLine.arrow2Height = 2.8
    +Test("line3d11")
    +
    +# Start Removing lines
    +line.Delete()
    +Test("line3d12")
    +nextLine.Delete()
    +Test("line3d13")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_offscreensave.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_offscreensave.html new file mode 100644 index 000000000..86c927c8c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_offscreensave.html @@ -0,0 +1,106 @@ + +Results for rendering/offscreensave.py + +

    Results of VisIt Regression Test - rendering/offscreensave

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    offscreen_010.000.00
    offscreen_020.000.00
    offscreen_030.000.00
    offscreen_040.000.00
    offscreen_050.000.00
    offscreen_060.000.00
    offscreen_070.000.00
    offscreen_080.000.00
    offscreen_090.000.00
    offscreen_100.000.00
    offscreen_110.000.00
    md5 hash for 16384x16384 image
     "3ec309acbd64eb52f8d7bf4c1f9e9628" .eq. "3ec309acbd64eb52f8d7bf4c1f9e9628" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_offscreensave_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_offscreensave_py.html new file mode 100644 index 000000000..3f329a238 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_offscreensave_py.html @@ -0,0 +1,177 @@ +rendering/offscreensave.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  offscreensave.py
    +#
    +#  Tests:      save window options
    +#              mesh      - 3D unstructured, multiple domains
    +#              plots     - pc, mesh 
    +#              operators - slice 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       29Mar04 
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Tue May 11 20:21:24 PDT 2004
    +#    Changed scalable rendering controls to use activation mode
    +#
    +#    Mark C. Miller, Thu Jan  6 15:09:06 PST 2005
    +#    Added a test that involves annotation objects
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Eric Brugger, Mon Aug  2 09:42:50 PDT 2021
    +#    Added test of 16384 x 16384 image save.
    +#
    +#    Kathleen Biagas, Fri Aug 27, 2021
    +#    Put tests into functions. Skip the large image test on Windows as it
    +#    doesn't yield the correct size image. Ensure the large image is saved
    +#    to run_dir so the test will execute on Windows properly once it can
    +#    be enabled.
    +#
    +# ----------------------------------------------------------------------------
    +
    +import hashlib
    +
    +def GeneralTests():
    +    TurnOnAllAnnotations()
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    view=GetView3D()
    +    view.viewNormal=(-0.528567, 0.374238, 0.761946)
    +    view.viewUp=(0.200044, 0.927212, -0.316639)
    +    SetView3D(view)
    +    Test("offscreen_01")
    +
    +    # build some savewindow attributes that DO NOT
    +    # use screen capture
    +    swa=SaveWindowAttributes()
    +    swa.screenCapture=0
    +    swa.width=400
    +    swa.height=400
    +
    +    # simple test to make sure we get all the annoations
    +    # when we save window using off-screen save
    +    Test("offscreen_02",swa)
    +
    +    # now, test saving at a different size
    +    swa.width=600
    +    swa.height=600
    +    Test("offscreen_03",swa)
    +
    +    # Ok, now diddle with annoations a bit and do some
    +    # more saves
    +    swa.width=300
    +    swa.height=300
    +    a = AnnotationAttributes()
    +    a.userInfoFlag = 0
    +    a.databaseInfoFlag = 0
    +    SetAnnotationAttributes(a)
    +    Test("offscreen_04",swa)
    +    a.legendInfoFlag = 0
    +    SetAnnotationAttributes(a)
    +    Test("offscreen_05",swa)
    +
    +    # Ok, now put the window into SR mode
    +    ra = GetRenderingAttributes()
    +    ra.scalableActivationMode = ra.Always
    +    SetRenderingAttributes(ra)
    +    Test("offscreen_06",swa)
    +
    +    # diddle some more with annoations
    +    a.databaseInfoFlag = 1
    +    a.legendInfoFlag = 1
    +    SetAnnotationAttributes(a)
    +    Test("offscreen_07",swa)
    +
    +    # Now, use screen capture mode to save the window
    +    Test("offscreen_08")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +    # Test off screen save of a 2D window
    +    AddPlot("Mesh", "curvmesh2d")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +    swa.width=400
    +    swa.height=400
    +    Test("offscreen_09",swa)
    +
    +    # Test off screen save of a full frame 2D window
    +    view2=GetView2D()
    +    view2.fullFrameActivationMode=view2.On
    +    SetView2D(view2)
    +    swa.width=500
    +    swa.height=500
    +    Test("offscreen_10",swa)
    +
    +    # Now test some annotation objects
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +    AddPlot("Mesh", "mesh1")
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    view=GetView3D()
    +    view.viewNormal=(-0.528567, 0.374238, 0.761946)
    +    view.viewUp=(0.200044, 0.927212, -0.316639)
    +    SetView3D(view)
    +
    +    # Create a time slider
    +    slider = CreateAnnotationObject("TimeSlider")
    +    slider.position = (0.5, 0.5)
    +    swa.width=300
    +    swa.height=300
    +    Test("offscreen_11",swa)
    +
    +    slider.Delete()
    +    DeleteAllPlots()
    +
    +def TestLargeImage():
    +    # Test saving a 16384 x 16384 image
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +    AddPlot("Pseudocolor", "d")
    +    DrawPlots()
    +
    +    view2=GetView2D()
    +    view2.fullFrameActivationMode=view2.Off
    +    SetView2D(view2)
    +
    +    swa=SaveWindowAttributes()
    +    # ensure the image is written to the run_dir by providing full path
    +    imgOutName=pjoin(TestEnv.params["run_dir"], "image_16384x16384.png")
    +    swa.width = 16384
    +    swa.height = 16384
    +    swa.fileName = imgOutName
    +    swa.family = 0
    +    SetSaveWindowAttributes(swa)
    +    SaveWindow()
    +
    +    # Comparing md5 sum instead of image, since the image is large.
    +    md5_hash = hashlib.md5()
    +    with open(imgOutName, "rb") as f:
    +        # Read and update hash in chunks of 4K
    +        for byte_block in iter(lambda: f.read(4096),b""):
    +            md5_hash.update(byte_block)
    +    TestValueEQ("md5 hash for 16384x16384 image", md5_hash.hexdigest(), "3ec309acbd64eb52f8d7bf4c1f9e9628")
    +
    +GeneralTests()
    +
    +if not sys.platform.startswith("win"):
    +    # Cannot perform this test on Windows as image size is limited
    +    TestLargeImage()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_ospray.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_ospray.html new file mode 100644 index 000000000..ab8a46138 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_ospray.html @@ -0,0 +1,48 @@ + +Results for rendering/ospray.py + +

    Results of VisIt Regression Test - rendering/ospray

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ospray_window_save0.000.00
    ospray_domain_boundaries_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_ospray_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_ospray_py.html new file mode 100644 index 000000000..27a6b3166 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_ospray_py.html @@ -0,0 +1,104 @@ +rendering/ospray.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ospray.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, one domain
    +#              plots     - pseudocolor
    +#              operators - Isovolume
    +#
    +#  Programmer: Alister Maguire
    +#  Date:       May 18, 2020
    +#
    +#  Modifications:
    +#
    +#    Alister Maguire, Fri Sep 11 16:16:49 PDT 2020
    +#    Added a test for OSPRay domain boundaries.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def TestOsprayWindowSave():
    +    #
    +    # This is testing a resolution of github issue #4286 where ospray
    +    # was not being used when SaveWindow was called, regardless of
    +    # whether or not we enabeld it.
    +    #
    +    OpenDatabase(silo_data_path("noise.silo"))
    +
    +    #
    +    # OSPRay looks pretty similar, so let's make sure that we
    +    # enable shadows and can see them in the output image.
    +    #
    +    AddPlot("Pseudocolor", "hardyglobal", 1, 1)
    +    AddOperator("Isovolume", 1)
    +    SetActivePlots(0)
    +    IsovolumeAtts = IsovolumeAttributes()
    +    IsovolumeAtts.lbound = 4.1
    +    IsovolumeAtts.ubound = 4.9
    +    IsovolumeAtts.variable = "default"
    +    SetOperatorOptions(IsovolumeAtts, 0, 1)
    +    DrawPlots()
    +
    +    RenderingAtts = RenderingAttributes()
    +    RenderingAtts.osprayRendering = 1
    +    RenderingAtts.osprayShadows = 1
    +    SetRenderingAttributes(RenderingAtts)
    +
    +    Test("ospray_window_save", pixdiff=0.2, avgdiff=0.01)
    +    DeleteAllPlots()
    +
    +    RenderingAtts = RenderingAttributes()
    +    RenderingAtts.osprayRendering = 0
    +    RenderingAtts.osprayShadows = 0
    +    SetRenderingAttributes(RenderingAtts)
    +
    +    CloseDatabase(silo_data_path("noise.silo"))
    +
    +
    +def TestOsprayVolumeDomainBoundaries():
    +    OpenDatabase(data_path("vtk_test_data/poiseuille_rayleigh_benard_3D_00000600.visit"))
    +
    +    #
    +    # Change the view so that we get a good look at the domain boundaries.
    +    # We need to first reset, otherwise the previous test ends up affecting
    +    # the view here.
    +    #
    +    ResetView()
    +    View3DAtts = View3DAttributes()
    +    View3DAtts.viewNormal = (0.171986, 0.984799, 0.0243329)
    +    View3DAtts.viewUp = (-0.187983, 0.0570564, -0.980514)
    +    SetView3D(View3DAtts)
    +
    +    #
    +    # Add our plot and set up the ospray renderer.
    +    #
    +    AddPlot("Volume", "Regular/temperature", 1, 1)
    +    SetActivePlots(0)
    +
    +    VolumeAtts = VolumeAttributes()
    +    VolumeAtts.lightingFlag = 0
    +    VolumeAtts.opacityMode = VolumeAtts.FreeformMode
    +    VolumeAtts.freeformOpacity = (255,) * 256
    +    VolumeAtts.samplesPerRay = 100
    +    VolumeAtts.rendererType = VolumeAtts.RayCastingOSPRay
    +    SetPlotOptions(VolumeAtts)
    +    DrawPlots()
    +
    +    #
    +    # NOTE: This test always has a slight pixel diff (~0.01%).
    +    #
    +    Test("ospray_domain_boundaries_00", pixdiff=0.1, avgdiff=0.01)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(data_path("vtk_test_data/poiseuille_rayleigh_benard_3D_00000600.visit"))
    +
    +
    +def main():
    +    TestOsprayWindowSave()
    +    TestOsprayVolumeDomainBoundaries()
    +
    +    Exit()
    +
    +main()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_pixeldata.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_pixeldata.html new file mode 100644 index 000000000..defe42161 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_pixeldata.html @@ -0,0 +1,174 @@ + +Results for rendering/pixeldata.py + +

    Results of VisIt Regression Test - rendering/pixeldata

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Save transparent background image
    pixeldata_0_000.000.00
    pixeldata_0_010.000.00
    pixeldata_0_020.000.00
    pixeldata_0_030.000.00
    pixeldata_0_040.000.00
    pixeldata_0_0553.1119.98
    pixeldata_0_060.000.00
    pixeldata_0_0752.6119.83
    pixeldata_0_0861.19107.97
    pixeldata_0_0991.9256.50
    pixeldata_0_1062.34109.85
    pixeldata_0_1191.7855.21
    Save image plus depth
    pixeldata_1_000.000.00
    pixeldata_1_010.000.00
    pixeldata_1_020.000.00
    pixeldata_1_030.000.00
    pixeldata_1_040.000.00
    pixeldata_1_050.000.00
    pixeldata_1_060.000.00
    pixeldata_1_070.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_pixeldata_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_pixeldata_py.html new file mode 100644 index 000000000..696ea3ca1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_pixeldata_py.html @@ -0,0 +1,215 @@ +rendering/pixeldata.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  openexr.py 
    +#
    +#  Tests:      saving pixel data, transparent backgrounds in saved images.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Feb 15 14:16:45 PST 2018
    +#
    +#  Modifications:
    +# 
    +# ----------------------------------------------------------------------------
    +
    +# Saves pixel data.
    +def SavePixelData(filename, alpha, depth, luminance, value):
    +    s = GetSaveWindowAttributes()
    +    s.outputToCurrentDirectory = 1
    +    s.family = 0
    +    s.fileName = filename
    +    s.width  = TestEnv.params["width"]
    +    s.height = TestEnv.params["height"]
    +    s.screenCapture = 0
    +    s.format = s.PNG
    +    s.pixelData = 1
    +    if alpha:
    +        s.pixelData = s.pixelData | 2
    +    if luminance:
    +        s.pixelData = s.pixelData | 4
    +    if value:
    +        s.pixelData = s.pixelData | 8
    +    if depth:
    +        s.pixelData = s.pixelData | 16
    +    SetSaveWindowAttributes(s)
    +    SaveWindow()
    +
    +def test0():
    +    TestSection("Save transparent background image")
    +    db = silo_data_path("noise.silo")
    +    OpenDatabase(db)
    +    AddPlot("Contour", "hardyglobal")
    +    c = GetPlotOptions()
    +    c.SetMultiColor(2, (0, 0, 255, 100))
    +    c.SetMultiColor(3, (0, 255, 255, 100))
    +    c.SetMultiColor(4, (255, 0, 255, 100))
    +    SetPlotOptions(c)
    +    DrawPlots()
    +    v3 = GetView3D()
    +    v3.viewNormal = (-0.569008, 0.313204, 0.760351)
    +    v3.focus = (0, 0, 0)
    +    v3.viewUp = (0.185488, 0.949682, -0.252384)
    +    v3.viewAngle = 30
    +    v3.parallelScale = 17.3205
    +    v3.nearPlane = -34.641
    +    v3.farPlane = 34.641
    +    v3.imagePan = (-0.0120947, 0.0574413)
    +    v3.imageZoom = 1.13829
    +    v3.perspective = 1
    +    v3.eyeAngle = 2
    +    v3.centerOfRotationSet = 0
    +    v3.centerOfRotation = (0, 0, 0)
    +    v3.axis3DScaleFlag = 0
    +    v3.axis3DScales = (1, 1, 1)
    +    v3.shear = (0, 0, 1)
    +    v3.windowValid = 1
    +    SetView3D(v3)
    +    Test("pixeldata_0_00")
    +    # Save a partially transparent Contour plot on a transparent background.
    +    SavePixelData("pd0", 1, 0, 0, 0)
    +
    +    # Save a partially transparent Contour plot on a transparent background -- with axes
    +    a = GetAnnotationAttributes()
    +    a.axes3D.bboxFlag = 1
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_0_01")
    +    SavePixelData("pd1", 1, 0, 0, 0)
    +
    +    # Test that we get the transparent background when we have a gradient bg.
    +    a = GetAnnotationAttributes()
    +    a.backgroundMode = a.Gradient
    +    a.gradientColor1 = (180, 100, 180, 255)
    +    a.gradientColor2 = (0, 0, 0, 255)
    +    a.axes3D.bboxFlag = 0
    +    a.foregroundColor = (255,255,255,255)
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_0_02")
    +    SavePixelData("pd2", 1, 0, 0, 0)
    +
    +    # Test that we get the transparent background when we have a gradient bg. with axes
    +    a.axes3D.bboxFlag = 1
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_0_03")
    +    SavePixelData("pd3", 1, 0, 0, 0)
    +
    +    # Restore solid bg, no axes
    +    a.backgroundMode = a.Solid
    +    a.axes3D.bboxFlag = 0
    +    a.foregroundColor = (0,0,0,255)
    +    SetAnnotationAttributes(a)
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    # Make some expressions that let us plot a transparent image with a checker background.
    +    DefineScalarExpression("i", "floor(coords(ImageMesh)[0] / 20)")
    +    DefineScalarExpression("j", "floor(coords(ImageMesh)[1] / 20)")
    +    DefineScalarExpression("checker", "mod(i+j, 2)")
    +    DefineScalarExpression("gray", "100+checker*80")
    +    DefineScalarExpression("t", "alpha / 255.")
    +    DefineScalarExpression("omt", "1 - t")
    +    DefineVectorExpression("blend", "color4(t*red + omt*gray,t*green + omt*gray,t*blue + omt*gray, 255)")
    +    DefineVectorExpression("comp", "if(lt(alpha, 255), blend, color4(red, green, blue, 255))")
    +
    +    # Open the files we made.
    +    idx = 4
    +    for db in ("pd0.png", "pd1.png", "pd2.png", "pd3.png"):
    +        OpenDatabase(db)
    +        AddPlot("Pseudocolor", "alpha")
    +        DrawPlots()
    +        v = GetView2D()
    +        v.viewportCoords = (0, 1, 0, 1)
    +        SetView2D(v)
    +        Test("pixeldata_0_%02d" % idx)
    +        DeleteAllPlots()
    +        AddPlot("Truecolor", "comp")
    +        DrawPlots()
    +        Test("pixeldata_0_%02d" % (idx+1))
    +        DeleteAllPlots()
    +        CloseDatabase(db)
    +        idx = idx + 2
    +
    +def test1():
    +    TestSection("Save image plus depth")
    +    db = silo_data_path("multi_rect3d.silo")
    +    OpenDatabase(db)
    +    AddPlot("Contour", "u")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (-0.483301, 0.412135, 0.772376)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.218992, 0.911123, -0.349139)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    # Save against a solid background.
    +    Test("pixeldata_1_00")
    +    SavePixelData("pdz0", 0, 1, 0, 0)
    +
    +    # Save against a solid background adding axes
    +    a = GetAnnotationAttributes()
    +    a.axes3D.bboxFlag = 1
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_1_01")
    +    SavePixelData("pdz1", 0, 1, 0, 0)
    +
    +    # Save against a gradient background 
    +    a.backgroundMode = a.Gradient
    +    a.gradientColor1 = (180, 100, 180, 255)
    +    a.gradientColor2 = (0, 0, 0, 255)
    +    a.axes3D.bboxFlag = 0
    +    a.foregroundColor = (255,255,255,255)
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_1_02")
    +    SavePixelData("pdz2", 0, 1, 0, 0)
    +
    +    # Save against a gradient background adding axes
    +    a.backgroundMode = a.Gradient
    +    a.gradientColor1 = (180, 100, 180, 255)
    +    a.gradientColor2 = (0, 0, 0, 255)
    +    a.axes3D.bboxFlag = 1
    +    a.foregroundColor = (255,255,255,255)
    +    SetAnnotationAttributes(a)
    +    Test("pixeldata_1_03")
    +    SavePixelData("pdz3", 0, 1, 0, 0)
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +    # Open the files we made.
    +    idx = 4
    +    for db in ("pdz0.png", "pdz1.png", "pdz2.png", "pdz3.png"):
    +        OpenDatabase(db)
    +        AddPlot("Pseudocolor", "depth")
    +        pc = GetPlotOptions()
    +        pc.max = 220.
    +        pc.maxFlag = 1
    +        SetPlotOptions(pc)
    +        DrawPlots()
    +        v = GetView2D()
    +        v.viewportCoords = (0, 1, 0, 1)
    +        SetView2D(v)
    +        Test("pixeldata_1_%02d" % idx)
    +        DeleteAllPlots()
    +        CloseDatabase(db)
    +        idx = idx + 1
    +
    +def main():
    +    test0()
    +    test1()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_renderpoints.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_renderpoints.html new file mode 100644 index 000000000..4d1893fb3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_renderpoints.html @@ -0,0 +1,444 @@ + +Results for rendering/renderpoints.py + +

    Results of VisIt Regression Test - rendering/renderpoints

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Set pointSizePixels for plots that support it
    renderpoint_0_000.000.00
    renderpoint_0_010.000.00
    renderpoint_0_020.000.00
    renderpoint_0_030.000.00
    renderpoint_0_040.000.00
    renderpoint_0_050.000.00
    renderpoint_0_060.000.00
    renderpoint_0_070.000.00
    renderpoint_0_080.000.00
    renderpoint_0_090.000.00
    renderpoint_0_100.000.00
    renderpoint_0_110.000.00
    renderpoint_0_120.000.00
    renderpoint_0_130.000.00
    renderpoint_0_140.000.00
    Check points to glyph transition
    renderpoint_1_000.000.00
    renderpoint_1_010.000.00
    renderpoint_1_020.000.00
    renderpoint_1_030.000.00
    Check points drawn as spheres
    renderpoint_2_000.000.00
    renderpoint_2_010.000.00
    renderpoint_2_020.000.00
    renderpoint_2_030.000.00
    renderpoint_2_040.000.00
    renderpoint_2_050.000.00
    renderpoint_2_060.000.00
    renderpoint_2_070.000.00
    renderpoint_2_080.000.00
    renderpoint_2_090.000.00
    Check glyph types for Mesh plot
    renderpoint_3_000.000.00
    renderpoint_3_010.000.00
    renderpoint_3_020.000.00
    renderpoint_3_030.000.00
    renderpoint_3_040.000.00
    Check glyph types for Pseudocolor plot
    renderpoint_3_050.000.00
    renderpoint_3_060.000.00
    renderpoint_3_070.000.00
    renderpoint_3_080.000.00
    renderpoint_3_090.000.00
    Check glyph types for Scatter plot
    renderpoint_3_100.000.00
    renderpoint_3_110.000.00
    renderpoint_3_120.000.00
    renderpoint_3_130.000.00
    renderpoint_3_140.000.00
    Check glyph types for FilledBoundary plot
    renderpoint_3_150.000.00
    renderpoint_3_160.000.00
    renderpoint_3_170.000.00
    renderpoint_3_180.000.00
    renderpoint_3_190.000.00
    Check all glyph types for Subset plot
    renderpoint_3_200.000.00
    renderpoint_3_210.000.00
    renderpoint_3_220.000.00
    renderpoint_3_230.000.00
    renderpoint_3_240.000.00
    Check scaling glyphs by a variable
    renderpoint_4_000.000.00
    renderpoint_4_010.000.00
    renderpoint_4_020.000.00
    renderpoint_4_030.000.00
    Check glyphed plots restored from session files
    renderpoint_5_000.000.00
    renderpoint_5_010.000.00
    renderpoint_5_020.000.00
    renderpoint_5_030.000.00
    renderpoint_5_040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_renderpoints_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_renderpoints_py.html new file mode 100644 index 000000000..b5046710c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_renderpoints_py.html @@ -0,0 +1,347 @@ +rendering/renderpoints.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  renderpoints.py
    +#
    +#  Tests:      mesh      - 3D point
    +#              plots     - pseudocolor, subset, mesh
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Aug 26 13:39:07 PST 2005
    +#
    +#  Modificatons:
    +#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
    +#    Removed silly comment regarding global annotation object 'a'
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Thu Dec 15 09:16:39 PST 2016
    +#    Added tests for other glyph types, scaling by variable and restoring
    +#    session files.
    +#
    +#    Kathleen Biagas, Wed Feb 16 09:15:45 PST 2022
    +#    Replace use of meshatts 'foregroundFlag' with meshColorSource.
    +#
    +# ----------------------------------------------------------------------------
    +
    +#
    +# General testing function
    +#
    +def TestPlot(plotName, plotVar, atts, cases):
    +    AddPlot(plotName, plotVar)
    +    if atts == None:
    +        atts = eval(plotName + "Attributes()")
    +    atts.pointType = atts.Point
    +    atts.pointSizePixels = 1
    +    SetPlotOptions(atts)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.51943, 0.317321, 0.79341)
    +    v.focus = (0.499552, 0.500362, 0.499909)
    +    v.viewUp = (0.172325, 0.948317, -0.266458)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.865387
    +    v.nearPlane = -1.73077
    +    v.farPlane = 1.73077
    +    v.imagePan = (-0.0139929, 0.0505193)
    +    v.imageZoom = 1.25645
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.499552, 0.500362, 0.499909)
    +    SetView3D(v)
    +    Test("renderpoint" + cases[0])
    +
    +    atts.pointSizePixels = 5
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[1])
    +
    +    # Make sure that it remains set after regenerating the plot.
    +    TurnDomainsOff(("domain3", "domain4", "domain7", "domain8"))
    +    Test("renderpoint" + cases[2])
    +    TurnDomainsOn()
    +    DeleteActivePlots()
    +
    +#
    +# Test plots that can render their points using GL points.
    +#
    +def test0():
    +    TestSection("Set pointSizePixels for plots that support it")
    +    # Test Mesh
    +    atts = MeshAttributes()
    +    atts.meshColor = (100,150,255)
    +    atts.meshColorSource = atts.MeshCustom
    +    TestPlot("Mesh", "StarMesh", atts, ("_0_00", "_0_01", "_0_02"))
    +
    +    # Test Pseudocolor
    +    TestPlot("Pseudocolor", "Matnos", None, ("_0_03", "_0_04", "_0_05"))
    +
    +    # Test Scatter
    +    atts = ScatterAttributes()
    +    atts.var2 = "vy"
    +    atts.var3 = "vz"
    +    atts.var3Role = atts.Coordinate2
    +    atts.var4 = "Matnos"
    +    atts.var4Role = atts.Color
    +    TestPlot("Scatter", "vx", atts, ("_0_06", "_0_07", "_0_08"))
    +
    +    # Test FilledBoundary
    +    TestPlot("FilledBoundary", "stars", None, ("_0_09", "_0_10", "_0_11"))
    +
    +    # Test Subset
    +    TestPlot("Subset", "domains", None, ("_0_12", "_0_13", "_0_14"))
    +
    +#
    +# General testing function #2
    +#
    +def TestPlot1(plotName, plotVar, atts, cases):
    +    AddPlot(plotName, plotVar)
    +    if atts == None:
    +        atts = eval(plotName + "Attributes()")
    +    atts.pointType = atts.Point
    +    atts.pointSizePixels = 5
    +    SetPlotOptions(atts)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.51943, 0.317321, 0.79341)
    +    v.focus = (0.499552, 0.500362, 0.499909)
    +    v.viewUp = (0.172325, 0.948317, -0.266458)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.865387
    +    v.nearPlane = -1.73077
    +    v.farPlane = 1.73077
    +    v.imagePan = (-0.0139929, 0.0505193)
    +    v.imageZoom = 1.25645
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.499552, 0.500362, 0.499909)
    +    SetView3D(v)
    +    Test("renderpoint" + cases[0])
    +
    +    atts.pointType = atts.Box
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[1])
    +    DeleteActivePlots()
    +
    +#
    +# Test that we can switch to other glyph types after starting up
    +# in point glyph mode, which does not use the glyph filters.
    +#
    +def test1():
    +    TestSection("Check points to glyph transition")
    +    # Test Pseudocolor
    +    TestPlot1("Pseudocolor", "Matnos", None, ("_1_00", "_1_01"))
    +    # Test FilledBoundary
    +    TestPlot1("FilledBoundary", "stars", None, ("_1_02", "_1_03"))
    +
    +#
    +# General testing function #3
    +#
    +def TestPlot2(plotName, plotVar, atts, cases):
    +    AddPlot(plotName, plotVar)
    +    if atts == None:
    +        atts = eval(plotName + "Attributes()")
    +    atts.pointType = atts.Sphere
    +    atts.pointSizePixels = 10
    +    SetPlotOptions(atts)
    +    DrawPlots()
    +
    +    v = View3DAttributes()
    +    v.viewNormal = (-0.51943, 0.317321, 0.79341)
    +    v.focus = (0.499552, 0.500362, 0.499909)
    +    v.viewUp = (0.172325, 0.948317, -0.266458)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.865387
    +    v.nearPlane = -1.73077
    +    v.farPlane = 1.73077
    +    v.imagePan = (-0.0139929, 0.0505193)
    +    v.imageZoom = 1.25645
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.499552, 0.500362, 0.499909)
    +    SetView3D(v)
    +    Test("renderpoint" + cases[0])
    +
    +    atts.pointSizePixels = 20
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[1])
    +    DeleteActivePlots()
    +
    +#
    +# Test that all plots that support sphere point texturing can do it.
    +#
    +def test2():
    +    TestSection("Check points drawn as spheres")
    +
    +    # Test Mesh
    +    atts = MeshAttributes()
    +    atts.meshColor = (100,150,255)
    +    atts.meshColorSource = atts.MeshCustom
    +    TestPlot2("Mesh", "StarMesh", atts, ("_2_00", "_2_01"))
    +
    +    # Test Pseudocolor
    +    TestPlot2("Pseudocolor", "Matnos", None, ("_2_02", "_2_03"))
    +
    +    # Test Scatter
    +    atts = ScatterAttributes()
    +    atts.var2 = "vy"
    +    atts.var3 = "vz"
    +    atts.var3Role = atts.Coordinate2
    +    atts.var4 = "Matnos"
    +    atts.var4Role = atts.Color
    +    TestPlot2("Scatter", "vx", atts, ("_2_04", "_2_05"))
    +
    +    # Test FilledBoundary
    +    TestPlot2("FilledBoundary", "stars", None, ("_2_06", "_2_07"))
    +
    +    # Test Subset
    +    TestPlot2("Subset", "domains", None, ("_2_08", "_2_09"))
    +
    +def TestPlot3(plotName, plotVar, atts, cases):
    +    AddPlot(plotName, plotVar)
    +    if atts == None:
    +        atts = eval(plotName + "Attributes()")
    +    atts.pointType = atts.Axis
    +    SetPlotOptions(atts)
    +    DrawPlots()
    +
    +    Test("renderpoint" + cases[0])
    +
    +    atts.pointType = atts.Icosahedron
    +    atts.pointSize = 0.1
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[1])
    +
    +    atts.pointType = atts.Octahedron
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[2])
    +
    +    atts.pointSize = 0.05
    +    atts.pointType = atts.Tetrahedron
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[3])
    +
    +    atts.pointType = atts.SphereGeometry
    +    SetPlotOptions(atts)
    +    Test("renderpoint" + cases[4])
    +
    +    DeleteActivePlots()
    +
    +#
    +# Test that all plots that support sphere point texturing can do it.
    +#
    +def test3():
    +    TestSection("Check glyph types for Mesh plot")
    +    atts = MeshAttributes()
    +    atts.meshColor = (152,203,0)
    +    atts.meshColorSource = atts.MeshCustom
    +    TestPlot3("Mesh", "StarMesh", atts, ("_3_00", "_3_01", "_3_02", "_3_03", "_3_04"))
    +
    +    TestSection("Check glyph types for Pseudocolor plot")
    +    # Test Pseudocolor
    +    TestPlot3("Pseudocolor", "Matnos", None, ("_3_05", "_3_06", "_3_07", "_3_08", "_3_09"))
    +
    +    TestSection("Check glyph types for Scatter plot")
    +    # Test Scatter
    +    atts = ScatterAttributes()
    +    atts.var2 = "vy"
    +    atts.var3 = "vz"
    +    atts.var3Role = atts.Coordinate2
    +    atts.var4 = "Matnos"
    +    atts.var4Role = atts.Color
    +    TestPlot3("Scatter", "vx", atts, ("_3_10", "_3_11", "_3_12", "_3_13", "_3_14"))
    +
    +    TestSection("Check glyph types for FilledBoundary plot")
    +    # Test FilledBoundary
    +    TestPlot3("FilledBoundary", "stars", None, ("_3_15", "_3_16", "_3_17", "_3_18", "_3_19"))
    +
    +    # Test Subset
    +    TestSection("Check all glyph types for Subset plot")
    +    TestPlot3("Subset", "domains", None, ("_3_20", "_3_21", "_3_22", "_3_23", "_3_24"))
    +
    +def TestPlot4(plotName, plotVar, atts, case):
    +    AddPlot(plotName, plotVar)
    +    if atts == None:
    +        atts = eval(plotName + "Attributes()")
    +    atts.pointType = atts.SphereGeometry
    +    atts.pointSize = 0.007
    +    atts.pointSizeVarEnabled = 1
    +    atts.pointSizeVar = "Matnos"
    +    SetPlotOptions(atts)
    +    DrawPlots()
    +
    +    Test("renderpoint" + case)
    +
    +    DeleteActivePlots()
    +
    +#
    +# Test that all plots that support scaling glyphs by a variable can do it.
    +#
    +def test4():
    +    TestSection("Check scaling glyphs by a variable")
    +    atts = MeshAttributes()
    +    atts.meshColor = (152,203,0)
    +    atts.meshColorSource = atts.MeshCustom
    +    TestPlot4("Mesh", "StarMesh", atts, "_4_00")
    +
    +    # Test Pseudocolor
    +    TestPlot4("Pseudocolor", "Matnos", None, "_4_01")
    +
    +    # Test FilledBoundary
    +    TestPlot4("FilledBoundary", "stars", None, "_4_02")
    +
    +    # Test Subset
    +    TestPlot4("Subset", "domains", None, "_4_03")
    +
    +#
    +# Test that glyphed plots can be restored from session files
    +#
    +def test5():
    +    TestSection("Check glyphed plots restored from session files")
    +    DeleteAllPlots()
    +    RestoreSessionWithDifferentSources(tests_path("rendering", "filledBoundaryStars.session"), 0, silo_data_path("galaxy0000.silo"))
    +    Test("renderpoint_5_00")
    +
    +    DeleteAllPlots()
    +    RestoreSessionWithDifferentSources(tests_path("rendering", "meshNoisePoint.session"), 0, silo_data_path("noise.silo"))
    +    Test("renderpoint_5_01")
    +
    +    DeleteAllPlots()
    +    RestoreSessionWithDifferentSources(tests_path("rendering", "pcNoisePoint.session"), 0, silo_data_path("noise.silo"))
    +    Test("renderpoint_5_02")
    +
    +    DeleteAllPlots()
    +    RestoreSessionWithDifferentSources(tests_path("rendering", "scatterNoiseHG.session"), 0, silo_data_path("noise.silo"))
    +    Test("renderpoint_5_03")
    +
    +    DeleteAllPlots()
    +    RestoreSessionWithDifferentSources(tests_path("rendering", "subsetNoisePoint.session"), 0, silo_data_path("noise.silo"))
    +    Test("renderpoint_5_04")
    +
    +
    +def main():
    +    # Turn off all annotation
    +    TurnOffAllAnnotations()
    +
    +    OpenDatabase(silo_data_path("galaxy0000.silo"))
    +
    +    test0()
    +    test1()
    +    test2()
    +    test3()
    +    test4()
    +
    +    CloseDatabase(silo_data_path("galaxy0000.silo"))
    +
    +    test5()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_saveformats.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_saveformats.html new file mode 100644 index 000000000..ab0a908a8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_saveformats.html @@ -0,0 +1,120 @@ + +Results for rendering/saveformats.py + +

    Results of VisIt Regression Test - rendering/saveformats

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Curve Formats
    saveformat_curve0 modifications totalling 0 lines
    saveformat_ps0 modifications totalling 0 lines
    saveformat_ultra0 modifications totalling 0 lines
    Image Formats via Screen Capture
    saveformat_bmp0 modifications totalling 0 lines
    saveformat_jpeg0 modifications totalling 0 lines
    saveformat_png0 modifications totalling 0 lines
    saveformat_ppm0 modifications totalling 0 lines
    saveformat_rgb0 modifications totalling 0 lines
    saveformat_tif0 modifications totalling 0 lines
    Image Formats via Off Screen
    saveformat_offscreen_bmp0 modifications totalling 0 lines
    saveformat_offscreen_jpeg0 modifications totalling 0 lines
    saveformat_offscreen_png0 modifications totalling 0 lines
    saveformat_offscreen_ppm0 modifications totalling 0 lines
    saveformat_offscreen_rgb0 modifications totalling 0 lines
    saveformat_offscreen_tif0 modifications totalling 0 lines
    Geometry Formats
    saveformat_stl0 modifications totalling 0 lines
    saveformat_obj0 modifications totalling 0 lines
    saveformat_vtk0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_saveformats_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_saveformats_py.html new file mode 100644 index 000000000..33993017b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_saveformats_py.html @@ -0,0 +1,272 @@ +rendering/saveformats.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  saveformats.py
    +#
    +#  Tests:      save window formats 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       September 20, 2005 
    +#
    +#  Modifications:
    +#    Jeremy Meredith, Mon Apr 23 14:07:35 EDT 2007
    +#    Don't create a mesh plot when we're saving geometry formats, since
    +#    the new behavior is to separate plots into different files (as they
    +#    typically have different variables and geometry types).
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Tue Feb  2 10:55:43 PST 2010
    +#    Fixed problem w/ setting active window that allowed errors to propagate
    +#    between test cases.
    +#
    +#    Mark C. Miller, Wed Apr  7 19:02:29 PDT 2010
    +#    Be smarter about testing curve formats while in scalable mode.
    +# ----------------------------------------------------------------------------
    +
    +# ----------------------------------------------------------------------------
    +# Function: FileExists 
    +#
    +# Purpose:
    +#   Tests if a file exists and, if the file is being written, waits
    +#   until the file size does not change for growthInterval seconds. If the
    +#   file exists but is of zero size, that is the same as it NOT existing
    +#
    +# waitToAppear: number of seconds to wait for the file to first appear
    +# growhtInterval: number of seconds between successive stats on the file 
    +#
    +# Programmer: Mark C. Miller
    +#             September 20, 2005
    +#
    +# ----------------------------------------------------------------------------
    +
    +from PIL import Image
    +
    +def FileExists(name, waitToAppear, growthInterval):
    +    if os.path.isfile(name) == 0:
    +        time.sleep(waitToAppear)
    +    if os.path.isfile(name) == 0:
    +        return 0
    +    curSize = os.stat(name)[ST_SIZE]
    +    if growthInterval == 0:
    +        if curSize == 0:
    +            return 0
    +    else:
    +            return 1
    +    while 1:
    +        time.sleep(growthInterval)
    +        size = os.stat(name)[ST_SIZE]
    +        if size == curSize:
    +            if curSize == 0:
    +                return 0
    +            else:
    +                return 1
    +            curSize = size
    +
    +# ----------------------------------------------------------------------------
    +# Function: SaveFileInfo
    +#
    +# Purpose:
    +#   Return a string representing the appropriate extension for the
    +#   given file format and return bools indicating if the format supports
    +#   curves, images and/or geometry.
    +#
    +# Programmer: Mark C. Miller
    +#             September 20, 2005
    +#
    +# ----------------------------------------------------------------------------
    +def SaveFileInfo(fmt):
    +    swa = SaveWindowAttributes()
    +    if (fmt == swa.POSTSCRIPT):
    +        return ("ps", 1, 0, 0)
    +    elif (fmt == swa.CURVE):
    +        return ("curve", 1, 0, 0)
    +    elif (fmt == swa.ULTRA):
    +        return ("ultra", 1, 0, 0)
    +    elif (fmt == swa.BMP):
    +        return ("bmp", 0, 1, 0)
    +    elif (fmt == swa.JPEG):
    +        return ("jpeg", 0, 1, 0)
    +    elif (fmt == swa.PNG):
    +        return ("png", 0, 1, 0)
    +    elif (fmt == swa.PPM):
    +        return ("ppm", 0, 1, 0)
    +    elif (fmt == swa.RGB):
    +        return ("rgb", 0, 1, 0)
    +    elif (fmt == swa.TIFF):
    +        return ("tif", 0, 1, 0)
    +    elif (fmt == swa.STL):
    +        return ("stl", 0, 0, 1)
    +    elif (fmt == swa.OBJ):
    +        return ("obj", 0, 0, 1)
    +    elif (fmt == swa.VTK):
    +        return ("vtk", 0, 0, 1)
    +    else:
    +        return ("unknown", 0, 0, 0)
    +
    +
    +swa=SaveWindowAttributes()
    +swa.family = 0
    +
    +AddWindow()
    +SetActiveWindow(1)
    +
    +# I=Image, G=Geometry, C=Curve formats
    +CFormats=[swa.CURVE, swa.POSTSCRIPT, swa.ULTRA]
    +IFormats=[swa.BMP, swa.JPEG, swa.PNG, swa.PPM, swa.RGB, swa.TIFF]
    +GFormats=[swa.STL, swa.OBJ, swa.VTK]
    +
    +a = AnnotationAttributes()
    +a.userInfoFlag = 0
    +a.databaseInfoFlag = 0
    +a.legendInfoFlag = 0
    +SetAnnotationAttributes(a)
    +
    +# ----------------------------------------------------------------------------
    +# Function: TestSaveFormat
    +#
    +# Modifications:
    +#   Kathleen Biagas, Thu Feb 11 2021
    +#   For Image formats, only convert RGB to TIFF, as all other formats tested
    +#   here should be readable and plottable by VisIt. Use PIL::Image for
    +#   conversion instead of 'convert'.
    +# ----------------------------------------------------------------------------
    +
    +def TestSaveFormat(fmt):
    +    SetActiveWindow(1)
    +    mode = ""
    +    result = "Failed\n"
    +    (ext, isC, isI, isG) = SaveFileInfo(fmt)
    +    swatmp = swa
    +    swatmp.format = fmt
    +    swatmp.outputToCurrentDirectory = 1
    +    if isI:
    +        swatmp.fileName = "saveformat_tmp.%s"%ext
    +    else:
    +        swatmp.fileName = "saveformat_tmp"
    +    SetSaveWindowAttributes(swatmp)
    +    try:
    +        SaveWindow()
    +    except:
    +        if TestEnv.params["scalable"]:
    +            if GetLastError() == "You cannot save non-image formats (e.g. ultra, curve, stl, etc.)" \
    +                                 " from a window that is currently in scalable rendering mode. You" \
    +                                 " may force scalable rendering to Never but if the resulting data" \
    +                                 " is too big for the viewer to handle, it will likely crash" \
    +                                 " VisIt. For 3D formats, try an export database operation instead." :
    +                TestText("saveformat_%s%s"%(mode,ext), "Passed\n")
    +                return
    +        TestText("saveformat_%s%s"%(mode,ext), result)
    +        return
    +
    +    # depending on the type of format this is, try to
    +    # read the file we just created back into VisIt and
    +    # put up a plot in window 2. If that succeeds, we'll
    +    # say this format's save actually worked
    +    if isC:
    +        if FileExists(swatmp.fileName+"."+ext, 1, 0):
    +            if ext == "ps":
    +                result = "Passed\n" # can only test existence for ps
    +            else:
    +                SetActiveWindow(2)
    +                if OpenDatabase(swatmp.fileName+"."+ext):
    +                    AddPlot("Curve","curve")
    +                    if DrawPlots():
    +                        result = "Passed\n"
    +                    DeleteAllPlots()
    +                    CloseDatabase(swatmp.fileName+"."+ext)
    +    elif isI:
    +        if swatmp.screenCapture == 0:
    +            mode = "offscreen_"
    +        imageFileExists = FileExists(swatmp.fileName, 1, 0)
    +        if imageFileExists:
    +            # visit should be able to read all but the RGB format, so only convert RGB to TIFF
    +            if fmt != swa.RGB:
    +                SetActiveWindow(2)
    +                if OpenDatabase(swatmp.fileName):
    +                    AddPlot("Pseudocolor","red")
    +                    if DrawPlots():
    +                        result = "Passed\n"
    +                    DeleteAllPlots()
    +                    CloseDatabase(swatmp.fileName)
    +            else:
    +                tiffFileName = "%s/saveformat_tmp.tif"%TestEnv.params["run_dir"]
    +                tiffFileExists = 0
    +                try:
    +                    im1=Image.open(swatmp.fileName)
    +                    im1.save(tiffFileName, 'tiff')
    +                    tiffFileExists = FileExists(tiffFileName, 1, 0)
    +                except ValueError:
    +                    result="Format type could not be determined"
    +                except OSError:
    +                    result="Could not convert"
    +                if tiffFileExists:
    +                    SetActiveWindow(2)
    +                    if OpenDatabase(tiffFileName):
    +                        AddPlot("Pseudocolor","red")
    +                        if DrawPlots():
    +                            result = "Passed\n"
    +                        DeleteAllPlots()
    +                        CloseDatabase(tiffFileName)
    +    elif isG:
    +        if FileExists(swatmp.fileName+"."+ext, 1, 0):
    +            if ext == "stl":
    +                meshName = "STL_mesh"
    +            elif ext == "obj":
    +                meshName = "OBJMesh"
    +            elif ext == "vtk":
    +                meshName = "mesh"
    +            SetActiveWindow(2)
    +            if OpenDatabase(swatmp.fileName+"."+ext):
    +                AddPlot("Mesh",meshName)
    +                if DrawPlots():
    +                    result = "Passed\n"
    +                DeleteAllPlots()
    +                CloseDatabase(swatmp.fileName+"."+ext)
    +    TestText("saveformat_%s%s"%(mode,ext), result)
    +    SetActiveWindow(1)
    +
    +
    +TestSection("Curve Formats")
    +OpenDatabase(data_path("curve_test_data","c062.curve"))
    +
    +AddPlot("Curve", "going_down")
    +DrawPlots()
    +for f in CFormats:
    +    TestSaveFormat(f)
    +
    +DeleteAllPlots()
    +CloseDatabase(data_path("curve_test_data","c062.curve"))
    +
    +TestSection("Image Formats via Screen Capture")
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +AddPlot("Mesh", "mesh1")
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +slider = CreateAnnotationObject("TimeSlider")
    +# make sure screenCapture is on
    +swa.screenCapture = 1
    +for f in IFormats:
    +    TestSaveFormat(f)
    +
    +TestSection("Image Formats via Off Screen")
    +swa.screenCapture = 0
    +for f in IFormats:
    +    TestSaveFormat(f)
    +swa.screenCapture = 1
    +
    +DeleteAllPlots()
    +CloseDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +TestSection("Geometry Formats")
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "dx")
    +DrawPlots()
    +for f in GFormats:
    +    TestSaveFormat(f)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable.html new file mode 100644 index 000000000..42c7c0145 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable.html @@ -0,0 +1,117 @@ + +Results for rendering/scalable.py + +

    Results of VisIt Regression Test - rendering/scalable

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    scalable_010.000.00
    scalable_020.000.00
    scalable_030.000.00
    scalable_040.000.00
    scalable_050.000.00
    scalable_060.000.00
    SRModeHistory0 modifications totalling 0 lines
    Multiple Windows
    multiWindow_SRModeHistory0 modifications totalling 0 lines
    scalable_070.000.00
    Testing Mesh plot's opaque flag in SR mode
    scalable_080.000.00
    scalable_090.000.00
    scalable_100.000.00
    Glyphed Plot Causing SR Transitions
    glyphedPlot_SRModeHistory0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable2.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable2.html new file mode 100644 index 000000000..f4d4bb750 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable2.html @@ -0,0 +1,53 @@ + +Results for rendering/scalable2.py + +

    Results of VisIt Regression Test - rendering/scalable2

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing that plots of single-timestep are requested in SR after engine loss
    scalable2_0_000.000.00
    scalable2_0_010 modifications totalling 0 lines
    scalable2_0_020 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable2_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable2_py.html new file mode 100644 index 000000000..7e2879db0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable2_py.html @@ -0,0 +1,113 @@ +rendering/scalable2.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scalable2.py
    +#
    +#  Tests:      mesh      - 2D curvilinear
    +#              plots     - Pseudocolor, Contour
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri May 12 15:55:22 PST 2006
    +#
    +#  Modifications:
    +#    Mark C. Miller, Wed Jan 21 10:00:10 PST 2009
    +#    Removed silly comment regarding global annotation object 'a'
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +import os, sys
    +
    +#
    +# Test that single-timestep plots have their networks reset in the
    +# viewer when we lose the compute engine.
    +#
    +def TestNetworkReset():
    +    TestSection("Testing that plots of single-timestep are "\
    +                "requested in SR after engine loss")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh2d")
    +
    +    OpenDatabase(data_path("pdb_test_data/dbA00.pdb"))
    +
    +    AddPlot("Contour", "mesh/nummm")
    +    DrawPlots()
    +
    +    # Use scalable rendering always
    +    r = GetRenderingAttributes()
    +    r.scalableActivationMode = r.Always
    +    SetRenderingAttributes(r)
    +
    +    Test("scalable2_0_00")
    +
    +    # Turn off screen capture
    +    base = "TestNetworkReset"
    +    s = GetSaveWindowAttributes()
    +    s.screenCapture = 0
    +    s.width = 400
    +    s.height = 400
    +    s.format = s.PNG
    +    s.fileName = base
    +    s.outputToCurrentDirectory = 1
    +    s.family = 1
    +    SetSaveWindowAttributes(s)
    +
    +    # Save out images, killing the compute engine halfway through
    +    usingSR = ""
    +    for i in range(TimeSliderGetNStates()):
    +        SetTimeSliderState(i)
    +        # TODO_WINDOWS THIS WONT WORK ON WINDOWS
    +        # Kill the compute engine partway through to simulate it getting
    +        # booted out of the batch queue.
    +        if(i == 5):
    +            pinfo = GetProcessAttributes("engine")
    +            for pid in pinfo.pids:
    +                os.system("kill -9 %d" % pid)
    +
    +        DrawPlots()
    +        SaveWindow()
    +        if(GetWindowInformation().usingScalableRendering == 1):
    +            usingSR = usingSR + "Using scalable rendering on frame %d: true\n" % i
    +        else:
    +            usingSR = usingSR + "Using scalable rendering on frame %d: false\n" % i
    +
    +    # Look at the file sizes to make sure that all are non-zero
    +    files = os.listdir(".")
    +    pngs = []
    +    for f in files:
    +        if(len(f) > len(base) and f[:len(base)] == base):
    +            pngs = pngs + [f]
    +    pngs.sort()
    +
    +    # Iterate through the png files and look at their sizes. Remove them too.
    +    pngSize = ""
    +    for png in pngs:
    +        filesize = os.stat(png)[6]
    +        if filesize > 0:
    +            pngSize = pngSize + "File size for %s greater than zero.\n" % png
    +        else:
    +            pngSize = pngSize + "File size for %s is zero.\n" % png
    +        # remove the png file.
    +        os.unlink(png)
    +
    +    TestText("scalable2_0_01", usingSR)
    +    TestText("scalable2_0_02", pngSize)
    +
    +    DeleteAllPlots()
    +
    +#
    +# Call all of the subtests.
    +#
    +def main():
    +    # Turn off all annotation
    +    TurnOffAllAnnotations()
    +
    +    TestNetworkReset()
    +
    +#
    +# Call main
    +#
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_c.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_c.html new file mode 100644 index 000000000..1240fea53 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_c.html @@ -0,0 +1,117 @@ + +Results for rendering/scalable_c.py + +

    Results of VisIt Regression Test - rendering/scalable_c

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    scalable_010.000.00
    scalable_020.000.00
    scalable_030.000.00
    scalable_040.000.00
    scalable_050.000.00
    scalable_060.000.00
    SRModeHistory0 modifications totalling 0 lines
    Multiple Windows
    multiWindow_SRModeHistory0 modifications totalling 0 lines
    scalable_070.000.00
    Testing Mesh plot's opaque flag in SR mode
    scalable_080.000.00
    scalable_090.000.00
    scalable_100.000.00
    Glyphed Plot Causing SR Transitions
    glyphedPlot_SRModeHistory0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_c_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_c_py.html new file mode 100644 index 000000000..3be73d7c0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_c_py.html @@ -0,0 +1,21 @@ +rendering/scalable_c.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scalable_c.py
    +#
    +#  Tests:      Runs the scalable.py test but with compression turned on 
    +#              scalable.py tests for existence of 'useCompression' variable
    +#              and turns on compression if it exists. We expect identical
    +#              output from the tests but because this py file has a different
    +#              name, it will generate them a subdir by the name 'scalable_c'
    +#              and look for baselines likewise. So, in baseline dir,
    +#              the scalable_c dir is a symlink to scalable.
    +#
    +#  Programmer: Mark C. Miller
    +#  Date:       19Aug08 
    +#
    +# ----------------------------------------------------------------------------
    +
    +useCompression = 1
    +Source(tests_path("rendering","scalable.py"))
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_py.html new file mode 100644 index 000000000..5aad55a3e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_scalable_py.html @@ -0,0 +1,392 @@ +rendering/scalable.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scalable.py
    +#
    +#  Tests:      mesh      - 3D unstructured, multiple domains
    +#              plots     - pc, mesh 
    +#              operators - slice 
    +#              selection - some of the domains 
    +#
    +#  Defect ID:  '3359
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       01Jul03
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Tue May 11 20:21:24 PDT 2004
    +#    Changed scalable rendering controls to use activation mode
    +#
    +#    Mark C. Miller, Tue May 25 14:29:40 PDT 2004
    +#    Added code to test automatic tranitions into and out of SR mode
    +#
    +#    Mark C. Miller, Thu Jan  6 14:23:01 PST 2005
    +#    Added code to test multiple windows and auto SR transitions
    +#
    +#    Kathleen Bonnell, Mon Jan 23 21:02:56 PST 2006 
    +#    Added tests '08-10, testing auto-opaque mesh and sr mode.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to switch between Silo's HDF5 and PDB data.
    +#
    +#    Eric Brugger, Fri Aug 15 10:19:33 PDT 2014
    +#    Modified the script to use srun to launch the parallel engine on edge.
    +#
    +#    Eric Brugger, Wed Oct 29 12:08:54 PDT 2014
    +#    Changed the parallel job launching logic to use srun on surface instead
    +#    of edge.
    +#
    +#    Brad Whitlock, Mon Dec 15 17:22:38 PST 2014
    +#    Only close the compute engine if it is not parallel.
    +#
    +#    Kathleen Biagas, Fri Jul  7 13:41:36 PDT 2017
    +#    Don't run this test if the parallel engine doesn't exist.
    +#
    +#    Kathleen Biagas, Tue Feb 8 2022
    +#    Use run_dir for location of saving windows, it is cleaned up on exit.
    +#
    +#    Eric Brugger, Wed Nov  1 13:46:08 PDT 2023
    +#    Updated the list of hosts where srun was used to launch a parallel
    +#    compute engine.
    +#
    +# ----------------------------------------------------------------------------
    +
    +if not sys.platform.startswith("win"):
    +    if not os.path.exists(visit_bin_path("..", "exe", "engine_par")):
    +        Exit(121)
    +else:
    +    if not os.path.exists(visit_bin_path("engine_par.exe")):
    +        Exit(121)
    +
    +# sleep is needed to allow viewer to complete update of window information
    +# before it is queried here
    +import time
    +sleepTime=1
    +
    +# Turn on scalable rendering
    +ra = GetRenderingAttributes()
    +ra.scalableActivationMode = ra.Always
    +if "useCompression" in dir():
    +    ra.compressionActivationMode = ra.Always
    +SetRenderingAttributes(ra)
    +
    +# Close the compute engine, if it is not already parallel.
    +engines = GetEngineList()
    +if len(engines) > 0:
    +    props = GetEngineProperties(engines[0])
    +    if props.numProcessors < 2:
    +        CloseComputeEngine()
    +        # explicitly open a parallel engine, if possible
    +        # if it fails, the OpenDatabase will start a serial engine
    +        import socket
    +        if "quartz" in socket.gethostname() or \
    +           "pascal"  in socket.gethostname() or \
    +           "poodle"  in socket.gethostname() or \
    +           "syrah"   in socket.gethostname():
    +            haveParallelEngine = OpenComputeEngine("localhost", ("-l", "srun", "-np", "2"))
    +        else:
    +            haveParallelEngine = OpenComputeEngine("localhost", ("-np", "2"))
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Mesh", "mesh1")
    +silr=SILRestriction()
    +silr.TurnOffAll()
    +silr.TurnOnSet(1)
    +silr.TurnOnSet(3)
    +silr.TurnOnSet(5)
    +silr.TurnOnSet(10)
    +SetPlotSILRestriction(silr)
    +AddPlot("Pseudocolor", "d")
    +SetPlotSILRestriction(silr)
    +
    +DrawPlots()
    +
    +view=GetView3D()
    +view.viewNormal=(0,1,0)
    +view.viewUp=(0,0,-1)
    +SetView3D(view)
    +
    +Test("scalable_01")
    +
    +# rotate and draw them again
    +view.viewNormal=(0,1,0)
    +view.viewUp=(1,0,0)
    +SetView3D(view)
    +
    +# Make sure mesh plot doesn't dissappear after a rotate
    +# ('3359)
    +Test("scalable_02")
    +
    +# Pan and zoom
    +view.imageZoom = 0.75
    +view.imagePan = (0.25, 0.25)
    +SetView3D(view)
    +Test("scalable_03")
    +
    +# Make sure hide behavior still works
    +SetActivePlots(1)
    +HideActivePlots()
    +Test("scalable_04")
    +
    +HideActivePlots()
    +SetActivePlots(0)
    +DeleteActivePlots()
    +Test("scalable_05")
    +
    +# reset the SIL restriction for the succeeding SR auto mode tests
    +# tests to make sure the ERI actor doesn't leave stale image data around
    +ResetView()
    +silr.TurnOnAll()
    +SetPlotSILRestriction(silr)
    +DeleteAllPlots()
    +Test("scalable_06")
    +
    +# accumulate results of SR mode changes here
    +srModeHistory=""
    +
    +# function to save temporary windows used to force renders
    +def MySaveWindow():
    +    swa = GetSaveWindowAttributes()
    +    swa.fileName = pjoin(TestEnv.params["run_dir"], "scalable_tmp.png")
    +    swa.format = swa.PNG
    +    swa.family = 0
    +    SetSaveWindowAttributes(swa)
    +    SaveWindow() # required to force render
    +
    +# function to examine current SR mode of window
    +def CheckSRMode(winID):
    +   global srModeHistory
    +   DrawPlots()
    +   MySaveWindow() # required to force render
    +   time.sleep(sleepTime)
    +   wi=GetWindowInformation()
    +   if wi.usingScalableRendering == 1:
    +       srModeHistory+="window %d:SR is ON\n"%winID
    +   else:
    +       srModeHistory+="window %d:SR is off\n"%winID
    +
    +# function to force window into specified SR mode and confirm it 
    +def ForceSRMode(mode):
    +   global srModeHistory
    +   if mode:
    +       ra.scalableActivationMode = ra.Always
    +   else:
    +       ra.scalableActivationMode = ra.Never
    +   SetRenderingAttributes(ra)
    +   DrawPlots()
    +   time.sleep(sleepTime)
    +   wi=GetWindowInformation()
    +   srModeHistory+="force SR mode %d\n"%wi.usingScalableRendering
    +
    +ForceSRMode(0)
    +
    +# test an individual plot taking poly count above threshold
    +# with proc 0's data alone
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 2000
    +SetRenderingAttributes(ra)
    +DrawPlots()
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="single plot, proc 0 >threshold %d\n"%wi.usingScalableRendering
    +DeleteAllPlots()
    +
    +ForceSRMode(0)
    +
    +# test an individual plot taking poly count above threshold with
    +# data from proc 2 (or above)
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 5000
    +SetRenderingAttributes(ra)
    +DrawPlots()
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="single plot, proc >0 >threshold %d\n"%wi.usingScalableRendering
    +DeleteAllPlots()
    +
    +ForceSRMode(0)
    +
    +# test a addition and deletion causing to go above threshold and then
    +# back below
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 15000
    +SetRenderingAttributes(ra)
    +DrawPlots()
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="two plots, first <threshold %d\n"%wi.usingScalableRendering
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="two plots, second >threshold %d\n"%wi.usingScalableRendering
    +DeleteActivePlots()
    +DrawPlots()
    +MySaveWindow() # force engine to render
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="delete 2nd, <threshold %d\n"%wi.usingScalableRendering
    +
    +ForceSRMode(0)
    +
    +# test setting auto threshold below current count
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 3000
    +SetRenderingAttributes(ra)
    +DrawPlots()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="auto threshold set < plot %d\n"%wi.usingScalableRendering
    +
    +ForceSRMode(1)
    +
    +# test setting auto threshold above current count
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 30000
    +SetRenderingAttributes(ra)
    +DrawPlots()
    +# save window is required to force the re-draw that causes engine to
    +# decide SR mode is no longer necessary
    +MySaveWindow()
    +time.sleep(sleepTime)
    +wi=GetWindowInformation()
    +srModeHistory+="auto threshold set > plot %d\n"%wi.usingScalableRendering
    +
    +TestText("SRModeHistory",srModeHistory)
    +
    +DeleteAllPlots()
    +srModeHistory=""
    +
    +#
    +# Do some testing with multiple windows
    +#
    +TestSection("Multiple Windows")
    +
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 14000
    +SetRenderingAttributes(ra)
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +CheckSRMode(1)
    +
    +CloneWindow()
    +SetActiveWindow(2)
    +DrawPlots()
    +CheckSRMode(2)
    +
    +SetActiveWindow(1)
    +AddPlot("Pseudocolor", "p")
    +AddPlot("Pseudocolor", "u")
    +AddPlot("Pseudocolor", "w")
    +DrawPlots()
    +CheckSRMode(1)
    +SetActiveWindow(2)
    +AddPlot("Pseudocolor", "p")
    +DrawPlots()
    +CheckSRMode(2)
    +
    +SetActiveWindow(1)
    +SetActivePlots((1,2,3))
    +DeleteActivePlots()
    +DrawPlots()
    +CheckSRMode(1)
    +SetActiveWindow(2)
    +CheckSRMode(2)
    +
    +TestText("multiWindow_SRModeHistory",srModeHistory)
    +
    +#
    +# test unhiding mesh to make sure it doesn't go opaque ('5947)
    +#
    +DeleteWindow()
    +SetActiveWindow(1)
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +ra.scalableActivationMode = ra.Always
    +SetRenderingAttributes(ra)
    +AddPlot("Mesh","mesh1")
    +AddPlot("Pseudocolor","dx")
    +DrawPlots()
    +MySaveWindow() # force a render
    +SetActivePlots((0))
    +HideActivePlots()
    +DrawPlots()
    +MySaveWindow() # force a render
    +HideActivePlots()
    +DrawPlots()
    +Test("scalable_07")
    +
    +DeleteAllPlots()
    +
    +TestSection("Testing Mesh plot's opaque flag in SR mode")
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +AddPlot("Mesh", "curvmesh2d")
    +m = MeshAttributes()
    +m.opaqueMode = m.Auto
    +SetPlotOptions(m)
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("scalable_08")
    +SetActivePlots(1)
    +Test("scalable_09")
    +Pick(164, 136)
    +Test("scalable_10")
    +DeleteAllPlots()
    +
    +
    +TestSection("Glyphed Plot Causing SR Transitions")
    +
    +srModeHistory=""
    +ForceSRMode(0)
    +ra.scalableActivationMode = ra.Auto
    +ra.scalableAutoThreshold = 30000
    +SetRenderingAttributes(ra)
    +
    +OpenDatabase(silo_data_path("galaxy0000.silo"))
    +
    +AddPlot("Pseudocolor", "vx")
    +DrawPlots()
    +CheckSRMode(1)
    +TestText("glyphedPlot_SRModeHistory",srModeHistory)
    +
    +DeleteAllPlots()
    +
    +# this section causes a crash, comment out until fixed.
    +#TestSection("Stereo Modes")
    +
    +#ra.scalableActivationMode = ra.Always
    +#ra.stereoRendering = 1
    +#ra.stereoType = ra.RedBlue
    +#SetRenderingAttributes(ra)
    +
    +#OpenDatabase(silo_data_path("multi_rect3d.silo"))
    +
    +#AddPlot("Mesh","mesh1")
    +
    +# make the eye separation as noticable as possible
    +#ResetView()
    +#v = GetView3D()
    +#v.eyeAngle = 5
    +#v.viewNormal=(0.707, 0, 0.707)
    +#SetView3D(v)
    +#DrawPlots()
    +
    +#Test("scalable_11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_shadows.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_shadows.html new file mode 100644 index 000000000..1e0439ace --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_shadows.html @@ -0,0 +1,54 @@ + +Results for rendering/shadows.py + +

    Results of VisIt Regression Test - rendering/shadows

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    shadows_010.000.00
    shadows_020.000.00
    shadows_030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_shadows_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_shadows_py.html new file mode 100644 index 000000000..179c94a93 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_shadows_py.html @@ -0,0 +1,55 @@ +rendering/shadows.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  shadows.py
    +#
    +#  Tests:      mesh      - 2D/3D rectilinear, one domain
    +#              plots     - pseudocolor, surface
    +#              operators - isosurface
    +#              selection - no
    +#
    +#  Defect ID:  5539, 7068
    +#
    +#  Programmer: Hank Childs
    +#  Date:       March 3, 2006
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +
    +AddOperator("Isosurface")
    +i = IsosurfaceAttributes()
    +i.contourNLevels = 1
    +SetOperatorOptions(i)
    +
    +r = RenderingAttributes()
    +r.scalableActivationMode = r.Always
    +r.doShadowing = 1
    +SetRenderingAttributes(r)
    +l = GetLight(0)
    +l.direction = (-0.707, 0, -0.707)
    +SetLight(0, l)
    +DrawPlots()
    +Test("shadows_01")
    +
    +r.shadowStrength = 0.9
    +SetRenderingAttributes(r)
    +Test("shadows_02")
    +
    +# Now test that we don't crash with 2D.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("shadows_03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_specular.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_specular.html new file mode 100644 index 000000000..8f0218f87 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_specular.html @@ -0,0 +1,102 @@ + +Results for rendering/specular.py + +

    Results of VisIt Regression Test - rendering/specular

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    specular_010.000.00
    specular_020.000.00
    specular_030.000.00
    specular_040.000.00
    specular_050.000.00
    specular_060.000.00
    specular_070.000.00
    specular_080.000.00
    specular_090.000.00
    specular_100.000.00
    specular_110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_specular_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_specular_py.html new file mode 100644 index 000000000..5d3318baa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_specular_py.html @@ -0,0 +1,124 @@ +rendering/specular.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  specular.py
    +#
    +#  Tests:      mesh      - 2D/3D rectilinear, one domain
    +#              plots     - pseudocolor
    +#              operators - isosurface
    +#              selection - no
    +#
    +#  Defect ID:  5555, 5580
    +#
    +#  Programmer: Hank Childs
    +#  Date:       November 2, 2004
    +#
    +#  Modifications:
    +#
    +#    Hank Childs, Wed Nov  3 16:41:56 PST 2004
    +#    Commented out specular_11, since it was failing in SR mode.  Submitted
    +#    new ticket, '5580 to address this.
    +#
    +#    Hank Childs, Fri Dec  9 08:01:46 PST 2005
    +#    Uncomment specular_11.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hardyglobal")
    +
    +AddOperator("Isosurface")
    +i = IsosurfaceAttributes()
    +i.contourNLevels = 1
    +SetOperatorOptions(i)
    +
    +DrawPlots()
    +Test("specular_01")
    +
    +r = GetRenderingAttributes()
    +r.specularFlag = 1
    +SetRenderingAttributes(r)
    +Test("specular_02")
    +
    +# Highly concentrated, low power
    +r.specularCoeff = 0.9
    +r.specularPower = 100
    +SetRenderingAttributes(r)
    +Test("specular_03")
    +
    +# Poorly concentrated, high power
    +r.specularCoeff = 0.1
    +r.specularPower = 1
    +SetRenderingAttributes(r)
    +Test("specular_04")
    +
    +# Test that specular is properly turned off when PC's lighting is turned off.
    +pc_atts = PseudocolorAttributes()
    +pc_atts.lightingFlag = 0
    +SetPlotOptions(pc_atts)
    +Test("specular_05")
    +
    +# Make sure that specular is not affecting 2D plots.
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("specular_06")
    +
    +# Now do the same things over again with Pseudocolor + Elevate
    +
    +DeleteAllPlots()
    +r.specularFlag = 0
    +SetRenderingAttributes(r)
    +OpenDatabase(silo_data_path("noise.silo"))
    +
    +AddPlot("Pseudocolor", "hgslice")
    +AddOperator("Elevate")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.35795, -0.730451, 0.581647)
    +v.focus = (0, 0, 10)
    +v.viewUp = (0.0642975, 0.60216, 0.795782)
    +v.viewAngle = 30
    +v.parallelScale = 17.3205
    +v.nearPlane = -34.641
    +v.farPlane = 34.641
    +v.imagePan = (0, 0)
    +v.imageZoom = 1
    +v.perspective = 1
    +SetView3D(v)
    +Test("specular_07")
    +
    +r = GetRenderingAttributes()
    +r.specularCoeff = 0.6
    +r.specularPower = 10
    +r.specularFlag = 1
    +SetRenderingAttributes(r)
    +Test("specular_08")
    +
    +# Highly concentrated, low power
    +r.specularCoeff = 0.9
    +r.specularPower = 100
    +SetRenderingAttributes(r)
    +Test("specular_09")
    +
    +# Poorly concentrated, high power
    +r.specularCoeff = 0.1
    +r.specularPower = 1
    +SetRenderingAttributes(r)
    +Test("specular_10")
    +
    +# Test that specular is properly turned off when PC's lighting is turned off.
    +pc_atts = PseudocolorAttributes()
    +pc_atts.lightingFlag = 0
    +SetPlotOptions(pc_atts)
    +Test("specular_11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_text2d.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_text2d.html new file mode 100644 index 000000000..f169a424a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_text2d.html @@ -0,0 +1,108 @@ + +Results for rendering/text2d.py + +

    Results of VisIt Regression Test - rendering/text2d

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    text2d000.000.00
    text2d010.000.00
    text2d020.000.00
    text2d030.000.00
    text2d040.000.00
    text2d050.000.00
    text2d060.000.00
    text2d070.000.00
    text2d080.000.00
    text2d090.000.00
    text2d100.000.00
    text2d110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_text2d_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_text2d_py.html new file mode 100644 index 000000000..72a908dee --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_text2d_py.html @@ -0,0 +1,123 @@ +rendering/text2d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  text2d.py
    +#
    +#  Tests:      mesh        - 2D curvilinear, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Text2D
    +#
    +#  Defect ID:  None
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Dec 4 14:39:21 PST 2003
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Brad Whitlock, Tue Feb 28 12:00:21 PST 2012
    +#    Add test for words that used to get truncated.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (80, 0, 100, 255)
    +a.foregroundColor = (255, 255, 255, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and do a plot.
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Create a Text2D object
    +text = CreateAnnotationObject("Text2D")
    +text.text = "Pseudocolor plot!"
    +text.height = 0.05
    +text.position = (0.25, 0.45)
    +Test("text2d00")
    +
    +# Set the foreground color to see if it changes
    +a.foregroundColor = (255, 255, 0, 255)
    +SetAnnotationAttributes(a)
    +Test("text2d01")
    +
    +# Test solid text color
    +a.foregroundColor = (255, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +text.useForegroundForTextColor = 0
    +text.textColor = (0, 255, 0, 255)
    +Test("text2d02")
    +
    +# Test text opacity
    +text.height = 0.18
    +text.position = (0.25, 0.45)
    +text.textColor = (255,255,255,150)
    +Test("text2d03")
    +
    +# Set the text atts
    +text.textColor = (255,255,255,255)
    +text.useForegroundForTextColor = 1
    +text.height = 0.05
    +
    +# Create more text objects
    +courier = CreateAnnotationObject("Text2D")
    +courier.text = "Courier"
    +courier.fontFamily = courier.Courier
    +courier.position = (0.25, 0.35)
    +courier.height = 0.06
    +times = CreateAnnotationObject("Text2D")
    +times.text = "Times"
    +times.fontFamily = courier.Times
    +times.position = (0.25, 0.25)
    +times.height = 0.07
    +Test("text2d04")
    +
    +# Set the bold flag
    +text.fontBold = 1
    +courier.fontBold = 1
    +times.fontBold = 1
    +Test("text2d05")
    +
    +# Set the italic flag
    +text.fontItalic = 1
    +courier.fontItalic = 1
    +times.fontItalic = 1
    +Test("text2d06")
    +
    +# Set the shadow flag
    +text.fontShadow = 1
    +courier.fontShadow = 1
    +times.fontShadow = 1
    +Test("text2d07")
    +
    +# Start Removing text
    +courier.Delete()
    +Test("text2d08")
    +times.Delete()
    +Test("text2d09")
    +text.Delete()
    +Test("text2d10")
    +
    +# Test for words that used to get truncated
    +erg = CreateAnnotationObject("Text2D")
    +erg.position = (0.5, 0.3)
    +erg.text = "Erg"
    +erg.height = 0.08
    +erg.useForegroundForTextColor = 0
    +erg.textColor = (255, 255, 255, 255)
    +era = CreateAnnotationObject("Text2D")
    +era.position = (0.5, 0.2)
    +era.text = "    Era"
    +era.height = 0.12
    +era.useForegroundForTextColor = 0
    +era.textColor = (255, 255, 255, 255)
    +Test("text2d11")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_text3d.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_text3d.html new file mode 100644 index 000000000..9b04406f0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_text3d.html @@ -0,0 +1,102 @@ + +Results for rendering/text3d.py + +

    Results of VisIt Regression Test - rendering/text3d

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    text3d000.000.00
    text3d010.000.00
    text3d020.000.00
    text3d030.000.00
    text3d040.000.00
    text3d050.000.00
    text3d060.000.00
    text3d070.000.00
    text3d080.000.00
    text3d090.000.00
    text3d100.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_text3d_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_text3d_py.html new file mode 100644 index 000000000..9878095a6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_text3d_py.html @@ -0,0 +1,103 @@ +rendering/text3d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  text3d.py
    +#
    +#  Tests:      mesh        - 2D curvilinear, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Text2D
    +#
    +#  Defect ID:  None
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       August 31, 2015
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (80, 0, 100, 255)
    +a.foregroundColor = (255, 255, 255, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and do a plot.
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +
    +# Create a Text2D object
    +text = CreateAnnotationObject("Text3D")
    +text.text = "Pseudocolor plot!"
    +text.position = (-10,10,10)
    +Test("text3d00")
    +
    +# Set the foreground color to see if it changes
    +a.foregroundColor = (51, 204, 204, 255)
    +SetAnnotationAttributes(a)
    +Test("text3d01")
    +
    +# Test solid text color
    +a.foregroundColor = (255, 255, 255, 255)
    +SetAnnotationAttributes(a)
    +text.useForegroundForTextColor = 0
    +text.textColor = (255, 102, 0, 255)
    +Test("text3d02")
    +
    +# Test text opacity
    +text.position = (-5,0,9)
    +text.textColor = (255,102,0,150)
    +text.relativeHeight = 0.05
    +Test("text3d03")
    +
    +# Test Height mode
    +text.textColor = (255,102,0,255)
    +text.heightMode = text.Fixed
    +text.fixedHeight = 2
    +Test("text3d04")
    +
    +# Test preserveOrientation
    +text.position = (-10, 0, 12)
    +v = GetView3D()
    +v.viewNormal = (0, 0.707107, 0.707107)
    +v.viewUp = (0, 0.707107, -0.707107)
    +SetView3D(v)
    +Test("text3d05")
    +
    +text.preserveOrientation = 1
    +Test("text3d06")
    +
    +
    +# Test rotations
    +
    +# Create more text objects
    +AddOperator("Reflect")
    +reflect = ReflectAttributes()
    +reflect.reflections=(1, 1, 0, 0, 0, 0, 0, 0)
    +SetOperatorOptions(reflect)
    +text.text="Left"
    +text.position=(-20, -5, 10)
    +text.rotations=(0,0,90)
    +text.heightMode = text.Relative
    +DrawPlots()
    +ResetView()
    +Test("text3d07")
    +
    +right = CreateAnnotationObject("Text3D")
    +right.position = (-5, 0, 10)
    +right.text = "Right"
    +right.relativeHeight = 0.05
    +right.rotations=(0,0, -45)
    +Test("text3d08")
    +
    +text.Delete()
    +Test("text3d09")
    +right.Delete()
    +Test("text3d10")
    +
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_timeslider.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_timeslider.html new file mode 100644 index 000000000..caf30b5f5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_timeslider.html @@ -0,0 +1,174 @@ + +Results for rendering/timeslider.py + +

    Results of VisIt Regression Test - rendering/timeslider

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    timeslider000.000.00
    timeslider010.000.00
    timeslider020.000.00
    timeslider030.000.00
    timeslider040.000.00
    timeslider050.000.00
    timeslider060.000.00
    timeslider070.000.00
    timeslider080.000.00
    timeslider090.000.00
    timeslider100.000.00
    timeslider110.000.00
    timeslider120.000.00
    timeslider130.000.00
    timeslider140.000.00
    timeslider150.000.00
    timeslider160.000.00
    timeslider170.000.00
    timeslider180.000.00
    timeslider190.000.00
    timeslider200.000.00
    timeslider210.000.00
    timeslider220.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_timeslider_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_timeslider_py.html new file mode 100644 index 000000000..6ee6b28d4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_timeslider_py.html @@ -0,0 +1,162 @@ +rendering/timeslider.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  timeslider.py
    +#
    +#  Tests:      mesh        - 2D curvilinear, single domain
    +#              plots       - Pseudocolor
    +#              annotations - Time slider
    +#
    +#  Defect ID:  VisIt00003746
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Dec 4 14:39:21 PST 2003
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Update due to change 
    +#
    +#    Brad Whitlock, Wed Sep 28 14:12:00 PDT 2011
    +#    Move the time slider around a couple times.
    +# ----------------------------------------------------------------------------
    +
    +# Set up the annotation colors, etc.
    +a = GetAnnotationAttributes()
    +a.backgroundColor = (0, 0, 0, 255)
    +a.foregroundColor = (255, 255, 255, 255)
    +a.backgroundMode = a.Solid
    +SetAnnotationAttributes(a)
    +
    +# Open up the database and create a plot.
    +OpenDatabase(data_path("pdb_test_data/allinone00.pdb"))
    +
    +AddPlot("Pseudocolor", "mesh/a")
    +SetTimeSliderState(4)
    +DrawPlots()
    +
    +# Create a time slider
    +slider = CreateAnnotationObject("TimeSlider")
    +Test("timeslider00")
    +
    +# Turn it off
    +slider.visible = 0
    +Test("timeslider01")
    +
    +# Turn it back on and move and resize it
    +slider.visible = 1
    +slider.width = 0.60
    +slider.height = 0.1
    +slider.position = (0.2, 0.03)
    +Test("timeslider02")
    +
    +# Change the colors
    +slider.startColor = (255, 0, 0, 255)
    +slider.endColor = (255, 255, 0, 255)
    +Test("timeslider03")
    +
    +# Change the rounding mode
    +slider.rounded = 0
    +Test("timeslider04")
    +
    +# Change the shading mode
    +slider.shaded = 0
    +Test("timeslider05")
    +
    +# Change the text
    +slider.text = "The time is: $time"
    +Test("timeslider06")
    +SetTimeSliderState(14)
    +Test("timeslider07")
    +
    +# Change the text color
    +slider.shaded = 1
    +slider.rounded = 1
    +slider.useForegroundForTextColor = 0
    +slider.textColor = (0, 0, 255, 255)
    +Test("timeslider08")
    +
    +# Create a new slider
    +SetTimeSliderState(18)
    +slider2 = CreateAnnotationObject("TimeSlider","slider_obj")
    +slider2.position = (0.3, 0.8)
    +slider2.height = 0.15
    +Test("timeslider09")
    +
    +# Delete the first slider.
    +slider.Delete()
    +Test("timeslider10")
    +
    +# Create an alias to the second slider using the GetAnnotationObject call.
    +foo = GetAnnotationObject("slider_obj")
    +foo.startColor = (255, 0, 255, 255)
    +foo.endColor = (0, 255, 255, 100)
    +Test("timeslider11")
    +
    +# Delete the annotation using the alias.
    +foo.Delete()
    +Test("timeslider12")
    +
    +# Delete all plots and open a new database
    +SetTimeSliderState(0)
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "speed")
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +v0 = View3DAttributes()
    +v0.viewNormal = (-0.556371, 0.348221, 0.754449)
    +v0.focus = (0, 0, 0)
    +v0.viewUp = (0.185162, 0.93708, -0.295968)
    +v0.viewAngle = 30
    +v0.parallelScale = 17.3205
    +v0.nearPlane = -34.641
    +v0.farPlane = 34.641
    +v0.imagePan = (0, 0)
    +v0.imageZoom = 1.20945
    +v0.perspective = 1
    +v0.eyeAngle = 2
    +
    +v1 = View3DAttributes()
    +v1.viewNormal = (0.501427, 0.560716, 0.658915)
    +v1.focus = (0, 0, 0)
    +v1.viewUp = (-0.272851, 0.825194, -0.494577)
    +v1.viewAngle = 30
    +v1.parallelScale = 17.3205
    +v1.nearPlane = -34.641
    +v1.farPlane = 34.641
    +v1.imagePan = (0, 0)
    +v1.imageZoom = 1.52784
    +v1.perspective = 1
    +v1.eyeAngle = 2
    +
    +# Create a new slider
    +slider = CreateAnnotationObject("TimeSlider")
    +slider.position = (0.2, 0.02)
    +slider.width = 0.6
    +slider.height = 0.08
    +slider.percentComplete = 0
    +slider.timeDisplay = slider.UserSpecified
    +slider.text = "Using percentComplete manually"
    +testnum = 13
    +nsteps = 10
    +moves = {4 : (0.02, 0.5), 8 : (0.2, 0.9)}
    +# Set the percentComplete manually
    +for i in range(nsteps):
    +    t = float(i) / float(nsteps - 1)
    +    slider.percentComplete = t * 100.
    +    if i in list(moves.keys()):
    +        slider.position = moves[i]
    +    v = v0 * (1. - t) + v1 * t
    +    SetView3D(v)
    +    Test("timeslider%02d" % testnum)
    +    testnum = testnum + 1
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_transparency.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_transparency.html new file mode 100644 index 000000000..7f3d31c3c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_transparency.html @@ -0,0 +1,114 @@ + +Results for rendering/transparency.py + +

    Results of VisIt Regression Test - rendering/transparency

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    transparency_010.000.00
    transparency_020.000.00
    transparency_030.000.00
    transparency_040.000.00
    transparency_050.000.00
    transparency_060.000.00
    transparency_070.000.00
    transparency_080.000.00
    transparency_090.000.00
    transparency_100.000.00
    transparency_110.000.00
    transparency_120.000.00
    transparency_130.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_transparency_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_transparency_py.html new file mode 100644 index 000000000..d8c0c5da1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_transparency_py.html @@ -0,0 +1,164 @@ +rendering/transparency.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  transparency.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - pc, subset
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  '2784 + general transparency testing + '7772 + '7773 + '7879
    +#
    +#  Programmer: Hank Childs
    +#  Date:       November 20, 2002
    +#
    +# Modifications:
    +#   Brad Whitlock, Thu Dec 12 09:56:02 PDT 2002
    +#   I made the test use the new SubsetAttributes.
    +#
    +#   Brad Whitlock, Mon Feb 24 10:36:21 PDT 2003
    +#   I made it use the multiple colors coloring mode for the Subset attributes
    +#   instead of the single color coloring mode.
    +#
    +#   Kathleen Bonnell, Thu Aug 28 14:34:57 PDT 2003
    +#   Remove compound var name from Subset plots.
    +#
    +#   Hank Childs, Thu May  6 09:34:27 PDT 2004
    +#   Remove out of date comments regarding test that was recently fixed ('4878).
    +#
    +#   Hank Childs, Mon Feb 12 14:06:10 PST 2007
    +#   Add tests for rectilinear transparency ('7772 & '7773).
    +#
    +#   Hank Childs, Thu Mar  8 11:13:49 PST 2007
    +#   Test transparency after scaling ('7879) ... that the scale factor in the
    +#   transparency actor gets set back to 1.
    +#
    +#   Hank Childs, Wed Dec 31 10:21:31 PST 2008
    +#   Add a test for multi-block rectilinear grids.
    +#
    +#   Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#   Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Mon Dec 19 15:45:38 PST 2016
    +#    Use FilledBoundary plot for materials instead of Subset.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("FilledBoundary", "mat1")
    +DrawPlots()
    +
    +fbAtts = FilledBoundaryAttributes()
    +fbAtts.opacity = 0.9
    +fbAtts.colorType = fbAtts.ColorByMultipleColors
    +SetPlotOptions(fbAtts)
    +
    +# Test that the normals stick around when we slightly drop the transparency
    +# ('2784)
    +Test("transparency_01")
    +
    +
    +# Test that it still looks good when we crank the transparency down.
    +fbAtts.opacity = 0.4
    +SetPlotOptions(fbAtts)
    +
    +Test("transparency_02")
    +
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Box")
    +box = BoxAttributes()
    +box.minx = -4
    +box.maxx = +2
    +box.miny = -6
    +box.maxy = 0
    +box.minz = -4
    +box.maxz = +4
    +SetOperatorOptions(box)
    +DrawPlots()
    +
    +# Make sure that it still looks good when we have solid geometry in there.
    +Test("transparency_03")
    +
    +pcAtts = PseudocolorAttributes()
    +pcAtts.SetOpacityType(pcAtts.Constant)
    +pcAtts.opacity = 0.75
    +SetPlotOptions(pcAtts)
    +
    +# Test having two transparent plots
    +Test("transparency_04")
    +
    +
    +AddPlot("Pseudocolor", "t")
    +AddOperator("Box")
    +box.minx = 2
    +box.maxx = 10
    +SetOperatorOptions(box)
    +DrawPlots()
    +
    +# Test having two transparent plots + plus one solid geometry plot.
    +Test("transparency_05")
    +
    +
    +SetPlotOptions(pcAtts)
    +
    +# Test having three transparent plots, one with zonal centering.  Note:
    +# this is testing whether or not we can encode zonal-normals as nodal-normals
    +# and have it play well with other plots that have legitimate nodal-normals.
    +Test("transparency_06")
    +
    +# Test that it can do transparency correctly for rectilinear grids ('7772)
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("rect3d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +pcAtts = PseudocolorAttributes()
    +pcAtts.SetOpacityType(pcAtts.Constant)
    +pcAtts.opacity = 0.75
    +SetPlotOptions(pcAtts)
    +DrawPlots()
    +Test("transparency_07")
    +DeleteAllPlots()
    +
    +# Test that updates transparency correctly for rectilinear grids ('7773)
    +# To test this, we must draw a non-transparent grid first.
    +AddPlot("Pseudocolor", "u")
    +DrawPlots()
    +Test("transparency_08")
    +pcAtts.SetOpacityType(pcAtts.Constant)
    +pcAtts.opacity = 0.75
    +SetPlotOptions(pcAtts)
    +DrawPlots()
    +Test("transparency_09")
    +
    +DeleteAllPlots()
    +AddPlot("Histogram", "d")
    +DrawPlots()
    +Test("transparency_10")
    +DeleteAllPlots()
    +AddPlot("Pseudocolor", "u")
    +pcAtts.SetOpacityType(pcAtts.Constant)
    +pcAtts.opacity = 0.75
    +SetPlotOptions(pcAtts)
    +DrawPlots()
    +Test("transparency_11")
    +
    +DeleteAllPlots()
    +OpenDatabase(silo_data_path("multi_rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +ResetView()
    +Test("transparency_12")
    +pcAtts.SetOpacityType(pcAtts.Constant)
    +pcAtts.opacity = 0.25
    +SetPlotOptions(pcAtts)
    +Test("transparency_13")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_view.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_view.html new file mode 100644 index 000000000..ad39aabad --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_view.html @@ -0,0 +1,249 @@ + +Results for rendering/view.py + +

    Results of VisIt Regression Test - rendering/view

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    view_010.000.00
    Test degenerate 2D views
    view_020.000.00
    view_030.000.00
    view_040.000.00
    view_050.000.00
    Test degenerate curve views
    view_060.000.00
    view_070.000.00
    view_080.000.00
    view_090.000.00
    Test zoom in on mesh lines
    view_100.000.00
    view_110.000.00
    view_120.000.00
    view_130.000.00
    Test actual extents
    view_140.000.00
    view_150.000.00
    view_160.000.00
    view_170.000.00
    view_180.000.00
    view_190.000.00
    Test 3D plots with degenerate extents
    view_200.000.00
    view_210.000.00
    view_220.000.00
    Test interpolation of View3DAttributes
    view_230.000.00
    view_240.000.00
    view_250.000.00
    view_260.000.00
    view_270.000.00
    Test interpolation of View2DAttributes
    view_280.000.00
    view_290.000.00
    view_300.000.00
    view_310.000.00
    view_320.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_viewChange.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_viewChange.html new file mode 100644 index 000000000..c4d070f15 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_viewChange.html @@ -0,0 +1,222 @@ + +Results for rendering/viewChange.py + +

    Results of VisIt Regression Test - rendering/viewChange

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing view changes with slice flip
    ViewChangeSliceFlip0.000.00
    Testing view changes with fullframe
    ViewChangeFullFrame_010.000.00
    ViewChangeFullFrame_020.000.00
    ViewChangeFullFrame_030.000.00
    ViewChangeFullFrame_040.000.00
    ViewChangeFullFrame_050.000.00
    ViewChangeFullFrame_060.000.00
    ViewChangeFullFrame_070.000.00
    Testing view changes with fullframe and glyphed plots
    ViewChangeAutoFF_000.000.00
    ViewChangeAutoFF_010.000.00
    ViewChangeAutoFF_020.000.00
    ViewChangeAutoFF_030.000.00
    ViewChangeAutoFF_040.000.00
    ViewChangeAutoFF_050.000.00
    Testing view changes with log scaling of 2D plots
    ViewChangeLogScale2D_000.000.00
    ViewChangeLogScale2D_010.000.00
    ViewChangeLogScale2D_020.000.00
    Testing view changes with log scaling of curves
    ViewChangeLogScaleCurves_000.000.00
    ViewChangeLogScaleCurves_010.000.00
    ViewChangeLogScaleCurves_020.000.00
    ViewChangeLogScaleCurves_030.000.00
    ViewChangeLogScaleCurves_040.000.00
    ViewChangeLogScaleCurves_050.000.00
    largeValueLineout0.000.00
    largeValueLineout_logScaling0.000.00
    largeValueMeshCurve0.000.00
    largeValueMeshCurve_logScaling0.000.00
    Testing view changes with fullframe and label plots
    ViewChangeFullFrameWithLabels_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_viewChange_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_viewChange_py.html new file mode 100644 index 000000000..7b5143ff9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_viewChange_py.html @@ -0,0 +1,450 @@ +rendering/viewChange.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  viewChange.py
    +#
    +#  Tests:      mesh      - structured grid 
    +#              plots     - pc
    +#              operators - slice
    +#              selection - none
    +#
    +#  Defect ID:  VisIt00003350, VisIt000032263
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       May 14, 2003 
    +#
    +#  Modifications:
    +#    Kathleen Bonnell, Tue Jul  8 21:04:45 PDT 2003 
    +#    Changed ViewChangeSliceFlip, to use Flip, then change so that
    +#    image remains the same .. necessary do to slice changes.
    +#
    +#    Kathleen Bonnell, Wed Jul 16 18:07:33 PDT 2003 
    +#    Added more full-frame tests: for Histogram plot, transparent plot,
    +#    and plots with ViewExtentsType set to 'actual'.
    +#
    +#    Mark C. Miller, Tue Mar 14 07:54:20 PST 2006
    +#    Changed how full-frame is turned on/off
    +#
    +#    Brad Whitlock, Wed Jul 26 14:31:57 PST 2006
    +#    Added testing for auto fullframe of some glyphed plots.
    +#
    +#    Kathleen Bonnell, Tue Mar  3 13:20:57 PST 2009
    +#    Added testing for log-scaling of curves and 2d plots.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Kathleen Biagas, Wed Oct 21 11:19:52 PDT 2020
    +#    Added TestLargeValueLineoutWithLogScaling
    +#
    +#    Alister Maguire, Mon May 24 12:50:20 PDT 2021
    +#    Added TestViewChangeFullFrameWithLabels.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def InitAnnotation():
    +    # Turn off most annotation
    +    a = GetAnnotationAttributes()
    +    a.axes2D.visible = 1
    +    a.axes2D.xAxis.label.visible = 0
    +    a.axes2D.yAxis.label.visible = 0
    +    a.axes2D.xAxis.title.visible = 0
    +    a.axes2D.yAxis.title.visible = 0
    +    a.axes3D.visible = 0
    +    a.axes3D.triadFlag = 0
    +    a.axes3D.bboxFlag = 0
    +    a.userInfoFlag = 0
    +    a.databaseInfoFlag = 0
    +    a.legendInfoFlag = 0
    +    a.backgroundMode = 0
    +    a.foregroundColor = (0, 0, 0, 255)
    +    a.backgroundColor = (255, 255, 255, 255)
    +    SetAnnotationAttributes(a)
    +
    +
    +def TestViewChangeSliceFlip():
    +    TestSection("Testing view changes with slice flip")
    +    OpenDatabase(silo_data_path("wave0000.silo"))
    +
    +    AddPlot("Pseudocolor", "pressure")
    +    AddOperator("Slice")
    +    slice = SliceAttributes()
    +    slice.project2d = 1
    +    slice.axisType = slice.ZAxis
    +    slice.flip = 1
    +    SetOperatorOptions(slice)
    +    DrawPlots()
    +
    +    # We want to capture the image after the flip, to ensure
    +    # the frame and axes are still drawn correctly.
    +    slice.flip = 0
    +    SetOperatorOptions(slice)
    +
    +    Test("ViewChangeSliceFlip")
    +    DeleteAllPlots()
    +
    +def TestViewChangeFullFrame():
    +    TestSection("Testing view changes with fullframe")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    # We want to capture the image after toggling full frame mode, 
    +    # to ensure frame and axes are still drawn correctly.
    +
    +    # Turn full frame mode ON
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.On
    +    SetView2D(v)
    +    Test("ViewChangeFullFrame_01")
    +
    +    # Does a transparent actor maintain the full frame mode? 
    +    p = PseudocolorAttributes()
    +    p.SetOpacityType(p.Constant)
    +    p.opacity = 0.5;
    +    SetPlotOptions(p);
    +    Test("ViewChangeFullFrame_02")
    +
    +
    +    p.SetOpacityType(p.FullyOpaque)
    +    SetPlotOptions(p)
    +    # Turn full frame mode OFF
    +    ToggleFullFrameMode()
    +    AddOperator("Clip")
    +    c = ClipAttributes()
    +    c.plane1Origin = (0, 3, 0)
    +    c.plane1Normal = (0, -1, 0)
    +    SetOperatorOptions(c)
    +    DrawPlots()
    +    SetViewExtentsType("actual")
    +    # Turn full frame mode ON
    +    ToggleFullFrameMode()
    +    Test("ViewChangeFullFrame_03")
    +    # Turn full frame mode OFF
    +    ToggleFullFrameMode()
    +    Test("ViewChangeFullFrame_04")
    +    # Turn full frame mode ON
    +    ToggleFullFrameMode()
    +    SetViewExtentsType("original")
    +    Test("ViewChangeFullFrame_05")
    +
    +    DeleteAllPlots()
    +
    +    OpenDatabase(silo_data_path("globe.silo"))
    +
    +    AddPlot("Histogram", "u")
    +    DrawPlots()
    +    ResetView()
    +    Test("ViewChangeFullFrame_06")
    +    h = HistogramAttributes()
    +    h.numBins = 5
    +    SetPlotOptions(h)
    +    Test("ViewChangeFullFrame_07")
    +
    +    # cleanup for next test
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.Auto
    +    SetView2D(v)
    +
    +    DeleteAllPlots()
    +
    +def TestViewChangeFullFrameWithGlyphs():
    +    TestSection("Testing view changes with fullframe and glyphed plots")
    +    OpenDatabase(silo_data_path("fullframe.silo"))
    +
    +    AddPlot("Mesh", "fullframe")
    +    DrawPlots()
    +    ResetView()
    +    Test("ViewChangeAutoFF_00")
    +
    +    AddPlot("Vector", "vec")
    +    v = VectorAttributes()
    +    v.nVectors = 800
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    Test("ViewChangeAutoFF_01")
    +
    +    DeleteAllPlots()
    +
    +    # Make sure it kicks in when the vector plot is the only plot.
    +    AddPlot("Vector", "vec")
    +    v = VectorAttributes()
    +    v.nVectors = 800
    +    SetPlotOptions(v)
    +    DrawPlots()
    +    Test("ViewChangeAutoFF_02")
    +
    +    DeleteAllPlots()
    +
    +    # Test a Pseudocolor plot of point mesh data
    +    AddPlot("Pseudocolor", "rad")
    +    p = PseudocolorAttributes()
    +    p.pointType = p.Box
    +    p.pointSize = 5e+8
    +    SetPlotOptions(p)
    +    DrawPlots()
    +    Test("ViewChangeAutoFF_03")
    +
    +    p.pointType = p.Axis
    +    SetPlotOptions(p)
    +    Test("ViewChangeAutoFF_04")
    +
    +    DeleteAllPlots()
    +
    +    # Test a Mesh plot of a point mesh
    +    AddPlot("Mesh", "pointmesh")
    +    m = MeshAttributes()
    +    m.pointType = m.Box
    +    m.pointSize = 5e+8
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("ViewChangeAutoFF_05")
    +    DeleteAllPlots()
    +
    +def TestViewChangeLogScaling2D():
    +    TestSection("Testing view changes with log scaling of 2D plots")
    +
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Pseudocolor", "u")
    +    DrawPlots()
    +    ResetView()
    +
    +    #7944  ensure that changing curve view scaling does not affect 2D.
    +    v = GetViewCurve()
    +    v.domainScale = v.LOG
    +    v.rangeScale = v.LOG
    +    SetViewCurve(v)
    +
    +    Test("ViewChangeLogScale2D_00")
    +
    +    #8563  using view window coords to put a plot into a range suitable 
    +    #      for log-scaling
    +
    +    v = GetView2D()
    +    v.fullFrameActivationMode = v.Off
    +    wc = v.windowCoords
    +    v.windowCoords = (1e-13, 0.25, wc[2], wc[3])
    +    SetView2D(v)
    +
    +    Test("ViewChangeLogScale2D_01")
    +    v.xScale = v.LOG
    +    SetView2D(v)
    +    Test("ViewChangeLogScale2D_02")
    +
    +    #clean up for next test
    +    v = GetView2D()
    +    v.xScale = v.LINEAR
    +    v.yScale = v.LINEAR
    +    SetView2D(v)
    +    ResetView()
    +
    +    v = GetViewCurve()
    +    v.domainScale = v.LINEAR
    +    v.rangeScale = v.LINEAR
    +    SetViewCurve(v)
    +    DeleteAllPlots()
    +
    +def TestViewChangeLogScalingCurves():
    +    TestSection("Testing view changes with log scaling of curves")
    +    # '8880:  Add curve plot.  Set scaling to log-log.  Add another curve plot.
    +    OpenDatabase(data_path("curve_test_data/distribution.ultra"))
    +
    +    AddPlot("Curve", "Laplace Distribution")
    +    curveAtts = CurveAttributes()
    +    curveAtts.curveColorSource = curveAtts.Custom
    +    curveAtts.curveColor = (255, 0, 0, 255)
    +    SetPlotOptions(curveAtts)
    +
    +    # For log scaling to work with these curves, we need to transform
    +    # first.
    +
    +    trans = TransformAttributes()
    +    trans.doTranslate = 1
    +    trans.translateX = 30
    +    trans.translateY = 10
    +    SetDefaultOperatorOptions(trans)
    +    AddOperator("Transform")
    +    DrawPlots()
    +    ResetView()
    +    Test("ViewChangeLogScaleCurves_00")
    +
    +    v = GetViewCurve()
    +    v.domainScale = v.LOG
    +    v.rangeScale  = v.LOG
    +    SetViewCurve(v)
    +
    +    Test("ViewChangeLogScaleCurves_01")
    +
    +    AddPlot("Curve", "Log Normal Distribution")
    +    curveAtts.curveColor = (0, 255, 0, 255)
    +    SetPlotOptions(curveAtts)
    +    AddOperator("Transform")
    +    DrawPlots()
    +    Test("ViewChangeLogScaleCurves_02")
    +
    +    AddPlot("Curve", "Exponential Distribution")
    +    curveAtts.curveColor = (0, 0, 255, 255)
    +    SetPlotOptions(curveAtts)
    +    AddOperator("Transform")
    +    DrawPlots()
    +    Test("ViewChangeLogScaleCurves_03")
    +
    +    v = GetViewCurve()
    +    v.domainScale = v.LINEAR
    +    v.rangeScale  = v.LINEAR
    +    SetViewCurve(v)
    +
    +    DeleteAllPlots()
    +
    +    #8660  add log scaling to a curve put in an appropriate range via the
    +    #      box operator
    +    OpenDatabase(data_path("curve_test_data/c063.curve"))
    +
    +    AddPlot("Curve", "flat")
    +    curveAtts.curveColor = (0, 255, 255, 255)
    +    SetPlotOptions(curveAtts)
    +    AddPlot("Curve", "going_down")
    +    curveAtts.curveColor = (255, 0, 255, 255)
    +    SetPlotOptions(curveAtts)
    +    AddPlot("Curve", "going_up")
    +    curveAtts.curveColor = (255, 255, 0, 255)
    +    SetPlotOptions(curveAtts)
    +    AddPlot("Curve", "parabolic")
    +    curveAtts.curveColor = (255, 135, 0, 255)
    +    SetPlotOptions(curveAtts)
    +
    +    DrawPlots()
    +
    +    SetActivePlots((0, 1, 2, 3))
    +    AddOperator("Box")
    +    b = BoxAttributes()
    +    b.minx = 0.4
    +    b.maxx = 0.8
    +    b.miny = 0.000001
    +    b.maxy = 10000
    +    SetOperatorOptions(b)
    +    DrawPlots()
    +
    +    SetViewExtentsType("actual")
    +
    +    Test("ViewChangeLogScaleCurves_04")
    +
    +    v = GetViewCurve()
    +    v.domainScale = v.LOG
    +    v.rangeScale  = v.LOG
    +    SetViewCurve(v)
    +
    +    Test("ViewChangeLogScaleCurves_05")
    +
    +    #clean up for next test
    +    v = GetViewCurve()
    +    v.domainScale = v.LINEAR
    +    v.rangeScale  = v.LINEAR
    +    SetViewCurve(v)
    +    ResetView()
    +    DeleteAllPlots()
    +
    +def TestLargeValueLineoutWithLogScaling():
    +    # github bug #5066
    +    OpenDatabase(silo_data_path("rect2d.silo"))
    +    DefineScalarExpression("tlarge", "t*1e19")
    +    AddPlot("Pseudocolor", "tlarge")
    +    DrawPlots()
    +    Lineout((0.5, 1.5, 0), (0.5, 0, 0))
    +    SetActiveWindow(2)
    +    # Instead of getting *default* curve plot atts,
    +    # get *current* plot's atts using `1` arg. This
    +    # is to change *only* the attrs we want to change.
    +    curveAtts = CurveAttributes(1)
    +    curveAtts.lineWidth = 3
    +    SetPlotOptions(curveAtts)
    +    Test("largeValueLineout")
    +
    +    # save the curve as VTK so Mesh plot and 2D view can be tested.
    +    oldSwa = SaveWindowAttributes()
    +    swa = SaveWindowAttributes()
    +    swa.fileName="lineoutRes"
    +    swa.family=0
    +    swa.format=swa.VTK
    +    # need to ensure this is set (not the default on Windows)
    +    swa.outputToCurrentDirectory=1
    +    SetSaveWindowAttributes(swa)
    +    if TestEnv.params["scalable"] == 0:
    +        SaveWindow()
    +    else:
    +        # Turn of SR mode for the saveWindow, then turn it back on
    +        ra = GetRenderingAttributes()
    +        srm = ra.scalableActivationMode
    +        ra.scalableActivationMode = ra.Never
    +        SetRenderingAttributes(ra)
    +        SaveWindow()
    +        ra = GetRenderingAttributes()
    +        ra.scalableActivationMode = srm
    +        SetRenderingAttributes(ra)
    +    # restore previous settings
    +    SetSaveWindowAttributes(oldSwa)
    +
    +    v = GetViewCurve()
    +    v.rangeScale  = v.LOG
    +    SetViewCurve(v)
    +    Test("largeValueLineout_logScaling")
    +
    +    v = GetViewCurve()
    +    v.rangeScale  = v.LINEAR
    +    SetViewCurve(v)
    +
    +    DeleteAllPlots()
    +    OpenDatabase("lineoutRes.vtk")
    +    AddPlot("Mesh", "mesh")
    +    meshAtts = MeshAttributes()
    +    meshAtts.lineWidth=3
    +    SetPlotOptions(meshAtts)
    +    DrawPlots()
    +    Test("largeValueMeshCurve")
    +
    +    v = GetView2D()
    +    v.yScale = v.LOG
    +    SetView2D(v)
    +    Test("largeValueMeshCurve_logScaling")
    +    v.yScale = v.LINEAR
    +    SetView2D(v)
    +    DeleteWindow()
    +    DeleteAllPlots()
    +
    +def TestViewChangeFullFrameWithLabels():
    +    TestSection("Testing view changes with fullframe and label plots")
    +    OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +    AddPlot("Mesh", "curvmesh2d")
    +    AddPlot("Label", "curvmesh2d")
    +
    +    View2DAtts = View2DAttributes()
    +    View2DAtts.windowCoords = (-4.69855, 4.88342, 0.225185, 4.93329)
    +    View2DAtts.fullFrameActivationMode = View2DAtts.On
    +    SetView2D(View2DAtts)
    +
    +    DrawPlots()
    +
    +    Test("ViewChangeFullFrameWithLabels_00")
    +
    +    DeleteAllPlots()
    +    ResetView()
    +    CloseDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +
    +def ViewChangeMain():
    +    InitAnnotation()
    +    TestViewChangeSliceFlip()
    +    TestViewChangeFullFrame()
    +    TestViewChangeFullFrameWithGlyphs()
    +    TestViewChangeLogScaling2D()
    +    TestViewChangeLogScalingCurves()
    +    TestLargeValueLineoutWithLogScaling()
    +    TestViewChangeFullFrameWithLabels()
    +
    +# Call the main function
    +ViewChangeMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_view_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_view_py.html new file mode 100644 index 000000000..5d6297072 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_view_py.html @@ -0,0 +1,382 @@ +rendering/view.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  view.py
    +#
    +#  Tests:      mesh      - 2D structured, single domain 
    +#                        - 3D unstructured, multiple domains
    +#                        - 3D rectilinear, single domain
    +#                        - Curve
    +#              plots     - pseudocolor, curve, mesh
    +#              operators - none
    +#              selection - none
    +#
    +#  Defect ID:  VisIt00003915, VisIt00004247, VisIt00003398, VisIt00004896,
    +#              VisIt00005337
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       November 18, 2003 
    +#
    +#  Modifications:
    +#    Eric Brugger, Fri Apr 23 08:54:22 PDT 2004
    +#    Add a test to make sure that we can set the 3d view before any plots
    +#    are created.  Add tests to make sure that we can reset and recenter
    +#    the view when no plots are present.
    +#
    +#    Eric Brugger, Thu May 13 10:26:02 PDT 2004
    +#    Add a test to make sure switching view extents type to actual results
    +#    in new plots being centered after deleting all the existing plots.
    +#
    +#    Eric Brugger, Mon May 24 11:21:04 PDT 2004
    +#    Add a test with small extents.
    +#
    +#    Eric Brugger, Tue May 25 15:17:18 PDT 2004
    +#    Modify the test for small extents, and add more small and large extents
    +#    tests.
    +#
    +#    Eric Brugger, Mon Sep 20 13:37:52 PDT 2004
    +#    Add several tests for combining 3d plots with degenerate extents.
    +#
    +#    Brad Whitlock, Thu Mar 15 11:31:26 PDT 2007
    +#    Test that the bindings for 2D,3D views can still interpolate.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +
    +# Test setting the 3d view before creating the first plot.
    +v = View3DAttributes()
    +v.imagePan = (0.2, 0.2)
    +v.imageZoom = 1.2
    +v.viewNormal = (-0.5, 0.707107, 0.5)
    +v.viewUp = (0.5, 0.707107, -0.5)
    +SetView3D(v)
    +
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +Test("view_01")
    +
    +DeleteAllPlots()
    +
    +# Create a psuedocolor plot and test various degenerate 2d views.
    +TestSection("Test degenerate 2D views")
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "d")
    +DrawPlots()
    +
    +v = View2DAttributes()
    +v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +
    +v.windowCoords = (-4.68395, 4.89802, 2.5, 2.5)
    +SetView2D(v)
    +Test("view_02")
    +
    +v.windowCoords = (0.5, 0.5, 0.216897, 4.925)
    +SetView2D(v)
    +Test("view_03")
    +
    +v.windowCoords = (0.5, 0.5, 2.5, 2.5)
    +SetView2D(v)
    +Test("view_04")
    +
    +v.windowCoords = (0, 0, 0, 0)
    +SetView2D(v)
    +Test("view_05")
    +
    +DeleteAllPlots()
    +
    +# Create several curve plots and test various degenerate curve views.
    +TestSection("Test degenerate curve views")
    +OpenDatabase(data_path("curve_test_data/c051.curve"))
    +
    +
    +AddPlot("Curve", "flat")
    +curveAtts = CurveAttributes()
    +curveAtts.curveColorSource = curveAtts.Custom
    +curveAtts.curveColor = (255, 0, 0, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "going_up")
    +curveAtts.curveColor = (0, 255, 0, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "going_down")
    +curveAtts.curveColor = (0, 0, 255, 255)
    +SetPlotOptions(curveAtts)
    +AddPlot("Curve", "parabolic")
    +curveAtts.curveColor = (0, 255, 255, 255)
    +SetPlotOptions(curveAtts)
    +DrawPlots()
    +
    +v = ViewCurveAttributes()
    +v.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +
    +v.domainCoords = (0., 1.)
    +v.rangeCoords = (0.3, 0.3)
    +SetViewCurve(v)
    +Test("view_06")
    +
    +v.domainCoords = (0.6, 0.6)
    +v.rangeCoords = (0., 1.)
    +SetViewCurve(v)
    +Test("view_07")
    +
    +v.domainCoords = (0.6, 0.6)
    +v.rangeCoords = (0.3, 0.3)
    +SetViewCurve(v)
    +Test("view_08")
    +
    +v.domainCoords = (0., 0.)
    +v.rangeCoords = (0., 0.)
    +SetViewCurve(v)
    +Test("view_09")
    +
    +DeleteAllPlots()
    +
    +# Create a pseudocolor and mesh plot and zoom in on a sharp edge to
    +# verify that the mesh lines are not bleeding through the surface.
    +TestSection("Test zoom in on mesh lines")
    +OpenDatabase(silo_data_path("multi_ucd3d.silo"))
    +
    +
    +AddPlot("Pseudocolor", "u")
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +
    +v = GetView3D()
    +v.viewNormal = (-0.335187, -0.557088, 0.759804)
    +v.focus = (0, 2.5, 10)
    +v.viewUp = (-0.327416, 0.825068, 0.460501)
    +v.viewAngle = 30
    +v.parallelScale = 11.4564
    +v.nearPlane = -22.9129
    +v.farPlane = 22.9129
    +v.imagePan = (-0.136785, -0.172112)
    +v.imageZoom = 20.125
    +v.perspective = 1
    +SetView3D(v)
    +Test("view_10")
    +
    +# Test resetting and recentering the view when no plot is present.
    +DeleteAllPlots()
    +
    +ResetView()
    +
    +AddPlot("Pseudocolor", "u")
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +Test("view_11")
    +
    +v.viewNormal = (0.393726, -0.416942, 0.819231)
    +v.focus = (0, 5., 10)
    +v.viewUp = (-0.603958, 0.554522, 0.572486)
    +v.viewAngle = 30
    +v.parallelScale = 11.4564
    +v.nearPlane = -22.9129
    +v.farPlane = 22.9129
    +v.imagePan = (0.05, 0.)
    +v.imageZoom = 2.
    +v.perspective = 1
    +SetView3D(v)
    +Test("view_12")
    +
    +DeleteAllPlots()
    +
    +RecenterView()
    +
    +AddPlot("Pseudocolor", "u")
    +AddPlot("Mesh", "mesh1")
    +DrawPlots()
    +Test("view_13")
    +
    +# Test that setting view extents type to actual works.  Test that
    +# switching view extents type to actual results in new plots being
    +# centered after deleting all the existing plots.
    +TestSection("Test actual extents")
    +DeleteAllPlots()
    +
    +ResetView()
    +
    +OpenDatabase(silo_data_path("curv2d.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Clip")
    +DrawPlots()
    +SetViewExtentsType("actual")
    +Test("view_14")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(silo_data_path("rect2d.silo"))
    +
    +AddPlot("Pseudocolor", "p")
    +DrawPlots()
    +Test("view_15")
    +
    +# Test setting the view with small extents.
    +DeleteAllPlots()
    +
    +ResetView()
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Transform")
    +scale = TransformAttributes()
    +scale.doScale = 1
    +scale.scaleX = 1.0e-21
    +scale.scaleY = 1.0e-21
    +scale.scaleZ = 1.0e-21
    +SetOperatorOptions(scale)
    +DrawPlots()
    +Test("view_16")
    +
    +ChangeActivePlotsVar("t")
    +Test("view_17")
    +
    +# Test setting the view with large extents.
    +DeleteAllPlots()
    +
    +AddPlot("Pseudocolor", "u")
    +AddOperator("Transform")
    +scale = TransformAttributes()
    +scale.doScale = 1
    +scale.scaleX = 1.0e17
    +scale.scaleY = 1.0e17
    +scale.scaleZ = 1.0e17
    +SetOperatorOptions(scale)
    +DrawPlots()
    +Test("view_18")
    +
    +ChangeActivePlotsVar("t")
    +Test("view_19")
    +
    +# Test various combinations of 3d plots with degenerate extents.
    +TestSection("Test 3D plots with degenerate extents")
    +DeleteAllPlots()
    +
    +ResetView()
    +
    +OpenDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +OpenDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("view_20")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("vtk_test_data/rect_flat_j.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +OpenDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("view_21")
    +
    +DeleteAllPlots()
    +
    +OpenDatabase(data_path("vtk_test_data/rect_flat_k.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +OpenDatabase(data_path("vtk_test_data/rect_flat_i.vtk"))
    +
    +AddPlot("Mesh", "mesh")
    +DrawPlots()
    +Test("view_22")
    +DeleteAllPlots()
    +
    +
    +#
    +# Test that the View3DAttributes object's Python binding still has the
    +# ability to interpolate the view.
    +#
    +TestSection("Test interpolation of View3DAttributes")
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Pseudocolor", "speed")
    +DrawPlots()
    +
    +v0 = View3DAttributes()
    +v0.viewNormal = (0.416973, 0.447113, 0.791343)
    +v0.focus = (0, 0, 0)
    +v0.viewUp = (-0.23799, 0.893974, -0.379699)
    +v0.viewAngle = 30
    +v0.parallelScale = 17.3205
    +v0.nearPlane = -34.641
    +v0.farPlane = 34.641
    +v0.imagePan = (0, 0)
    +v0.imageZoom = 1
    +v0.perspective = 1
    +v0.eyeAngle = 2
    +v0.centerOfRotationSet = 0
    +v0.centerOfRotation = (0, 0, 0)
    +
    +v1 = View3DAttributes()
    +v1.viewNormal = (0.416973, 0.447113, 0.791343)
    +v1.focus = (0, 0, 0)
    +v1.viewUp = (-0.23799, 0.893974, -0.379699)
    +v1.viewAngle = 30
    +v1.parallelScale = 17.3205
    +v1.nearPlane = -34.641
    +v1.farPlane = 34.641
    +v1.imagePan = (0.160832, 0.126504)
    +v1.imageZoom = 3.95662
    +v1.perspective = 1
    +v1.eyeAngle = 2
    +v1.centerOfRotationSet = 0
    +v1.centerOfRotation = (0, 0, 0)
    +
    +idx = 23
    +nsteps = 5
    +for i in range(nsteps):
    +    t = float(i) / float(nsteps - 1)
    +    v = (1. - t) * v0 + t * v1
    +    SetView3D(v)
    +    Test("view_%d" % idx)
    +    idx = idx + 1
    +DeleteAllPlots()
    +
    +#
    +# Test that the View2DAttributes object's Python binding still has the
    +# ability to interpolate the view.
    +#
    +TestSection("Test interpolation of View2DAttributes")
    +OpenDatabase(data_path("shapefile_test_data/prism0p020/prism0p020.shp"))
    +
    +AddPlot("Pseudocolor", "RANGE")
    +DrawPlots()
    +
    +v0 = View2DAttributes()
    +v0.windowCoords = (-124.756, -66.954, 24.5183, 49.3856)
    +v0.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +v0.fullFrameActivationMode = v0.Off  # On, Off, Auto
    +v0.fullFrameAutoThreshold = 100
    +
    +v1 = View2DAttributes()
    +v1.windowCoords = (-77.667, -74.881, 36.6969, 39.662)
    +v1.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +v1.fullFrameActivationMode = v1.Off  # On, Off, Auto
    +v1.fullFrameAutoThreshold = 100
    +
    +nsteps = 5
    +for i in range(nsteps):
    +    t = float(i) / float(nsteps - 1)
    +    v = (1. - t) * v0 + t * v1
    +    SetView2D(v)
    +    Test("view_%d" % idx)
    +    idx = idx + 1
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_volume.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_volume.html new file mode 100644 index 000000000..93ef8be92 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_volume.html @@ -0,0 +1,58 @@ + +Results for rendering/volume.py + +

    Results of VisIt Regression Test - rendering/volume

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    volume_030.000.00
    volume_01393.52178.82
    volume_02406.40203.36
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/rendering_volume_py.html b/2023-11-08-22:00/pascal_trunk_serial/rendering_volume_py.html new file mode 100644 index 000000000..48bf03722 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/rendering_volume_py.html @@ -0,0 +1,95 @@ +rendering/volume.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  volume.py
    +#
    +#  Tests:      mesh      - 3D unstructured, one domain 
    +#              plots     - volume 
    +#              operators - none
    +#              selection - yes 
    +#
    +#  Programmer: Mark C. Miller 
    +#  Date:       01Jul03
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Dec 15 09:36:51 PDT 2004
    +#    I changed the flag that's used to make it do software rendering.
    +#
    +#    Hank Childs, Mon Jul 11 14:07:16 PDT 2005
    +#    Added test for rectilinear grids with ghost zones and hardware rendering
    +#    ['5712].
    +#
    +#    Hank Childs, Wed Jul 13 10:31:08 PDT 2005
    +#    Delete wireframe plot, since that exposes '6380.
    +#
    +#    Jeremy Meredith, Wed Sep  7 12:06:04 PDT 2005
    +#    Allowed spaces in variable names.
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +#
    +#    Cyrus Harrison, Wed Aug 25 14:25:13 PDT 2010
    +#    SIL id shift (from 4 to 5) due to changes in SIL generation.
    +#
    +#    Brad Whitlock, Wed Sep 28 11:48:16 PDT 2011
    +#    Zoom in a little so we have more pixels covered.
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +#START SECTION TO BE MOVED
    +
    +DeleteAllPlots()
    +OpenDatabase(data_path("samrai_test_data/sil_changes/dumps.visit"))
    +
    +
    +# '6380.  The wireframe is not composited correctly when in SR mode.
    +# So delete the wireframe and we should get the same picture in SR and
    +# non-SR.  When '6380 is fixed, the DeleteAllPlots() call below should be
    +# removed and the baseline should be reset.
    +DeleteAllPlots()
    +
    +AddPlot("Volume", "Primitive Var _number_0")
    +vol_atts = VolumeAttributes()
    +vol_atts.smoothData = 0
    +vol_atts.useColorVarMin = 1
    +vol_atts.colorVarMin = 22
    +SetPlotOptions(vol_atts)
    +DrawPlots()
    +ResetView()
    +v = GetView3D()
    +v.viewNormal = (-0.369824, 0.535308, 0.759391)
    +v.viewUp = (-0.022009, 0.812062, -0.583155)
    +SetView3D(v)
    +
    +Test("volume_03")
    +DeleteAllPlots()
    +
    +# END SECTION TO BE MOVED
    +
    +OpenDatabase(silo_data_path("globe.silo"))
    +
    +AddPlot("Volume", "t")
    +silr=SILRestriction()
    +silr.TurnOffSet(5)
    +SetPlotSILRestriction(silr)
    +
    +DrawPlots()
    +
    +v=GetView3D()
    +v.viewNormal=(0.507832, -0.301407, -0.807007)
    +v.viewUp=(-0.831783, -0.415313, -0.368309)
    +v.imageZoom = 2.
    +SetView3D(v)
    +
    +# test fast volume render
    +Test("volume_01")
    +
    +# test software volume render
    +volAtts=VolumeAttributes()
    +volAtts.rendererType = volAtts.RayCasting
    +SetPlotOptions(volAtts)
    +Test("volume_02")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_colortable.html b/2023-11-08-22:00/pascal_trunk_serial/session_colortable.html new file mode 100644 index 000000000..9e5414f0f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_colortable.html @@ -0,0 +1,42 @@ + +Results for session/colortable.py + +

    Results of VisIt Regression Test - session/colortable

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    colortable000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_colortable_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_colortable_py.html new file mode 100644 index 000000000..6f5a82b0f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_colortable_py.html @@ -0,0 +1,34 @@ +session/colortable.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  colortable.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Pseudocolor, Mesh
    +#
    +#  Notes:      This test case uses a session file to create a plot that uses
    +#              a specific built-in color table. This makes sure that choice
    +#              of color tables is preserved with session files.
    +# 
    +# OUTDATED
    +#  Notes:      This test case uses a session file to create a plot that uses
    +#              a user defined color table. This makes sure that user defined
    +#              color tables can be used from session files. VisIt00004000.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Nov 13 17:10:35 PST 2003
    +#
    +#  Modifications:
    +#      Justin Privitera, Wed Aug  3 15:04:31 PDT 2022
    +#      Changed the session file and the purpose of the test to reflect that
    +#      we no longer save info about color tables to or read info about color 
    +#      tables from session files.
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","colortable.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +Test("colortable00")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_correlationsession.html b/2023-11-08-22:00/pascal_trunk_serial/session_correlationsession.html new file mode 100644 index 000000000..1286626df --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_correlationsession.html @@ -0,0 +1,92 @@ + +Results for session/correlationsession.py + +

    Results of VisIt Regression Test - session/correlationsession

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    correlationsession000.000.00
    correlationsession010 modifications totalling 0 lines
    correlationsession020.000.00
    correlationsession030.000.00
    correlationsession040 modifications totalling 0 lines
    correlationsession050.000.00
    correlationsession060 modifications totalling 0 lines
    correlationsession070.000.00
    correlationsession080 modifications totalling 0 lines
    correlationsession090.000.00
    correlationsession100 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_correlationsession_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_correlationsession_py.html new file mode 100644 index 000000000..f7c93fa4a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_correlationsession_py.html @@ -0,0 +1,95 @@ +session/correlationsession.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  correlationsession.py
    +#
    +#  Tests:      mesh      - 2D curvilinear, single domain
    +#              plots     - Boundary, FilledBoundary
    +#
    +#  Notes:      This test case makes sure that VisIt sessions that made heavy
    +#              use of database correlations can have that information
    +#              correctly captured in a session file.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Mar 25 11:32:09 PDT 2004
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +import string
    +
    +def GetTruncatedWindowInformationString():
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    for i in range(5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    return s
    +
    +def TestLength(testname):
    +    tsLength = TimeSliderGetNStates()
    +    testString = "%s has %d states\n" % (GetActiveTimeSlider(), tsLength)
    +    testString = testString + GetTruncatedWindowInformationString()
    +    TestText(testname, testString)
    +
    +TurnOnAllAnnotations()
    +
    +ra1 = GetRenderingAttributes()
    +
    +#
    +# Restore the session file and make sure that it at the right time step
    +# and has the right time slider.
    +#
    +RestoreSessionWithDifferentSources(tests_path("session","correlationsession.session"), 0,
    +                                   [data_path("pdb_test_data","dbA00.pdb"),
    +                                    data_path("pdb_test_data","dbB00.pdb"),
    +                                    data_path("pdb_test_data","dbC00.pdb")])
    +
    +# Restore the scalable rendering mode for the tests.
    +ra2 = GetRenderingAttributes()
    +ra2.scalableActivationMode = ra1.scalableActivationMode
    +ra2.scalableAutoThreshold = ra1.scalableActivationMode
    +SetRenderingAttributes(ra2)
    +
    +Test("correlationsession00")
    +TestLength("correlationsession01")
    +
    +#
    +# Make sure we have the right active source by making a new plot. The active
    +# source should be dbA00.pdb
    +#
    +AddPlot("Boundary", "material(mesh)")
    +b = BoundaryAttributes()
    +b.colorType = b.ColorBySingleColor
    +b.singleColor = (255,255,0,255)
    +b.lineWidth = 2
    +SetPlotOptions(b)
    +DrawPlots()
    +Test("correlationsession02")
    +
    +#
    +# Make sure that we can advance to the end of the time slider. Save some
    +# test images along the way though.
    +#
    +timeSliders = GetTimeSliders()
    +currentState = timeSliders[GetActiveTimeSlider()]
    +endState = TimeSliderGetNStates() - 1
    +nSteps = 4
    +start = currentState + int(float(endState - currentState) / float(nSteps))
    +testIndex = 3
    +for i in range(nSteps):
    +    t = float(i) / float(nSteps - 1)
    +    omt = 1. - t
    +    state = int(omt * float(start) + t * float(endState))
    +    SetTimeSliderState(state)
    +    Test("correlationsession%02d" % testIndex)
    +    TestLength("correlationsession%02d" % (testIndex + 1))
    +    testIndex = testIndex + 2
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_legendproperties.html b/2023-11-08-22:00/pascal_trunk_serial/session_legendproperties.html new file mode 100644 index 000000000..9253e43e8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_legendproperties.html @@ -0,0 +1,48 @@ + +Results for session/legendproperties.py + +

    Results of VisIt Regression Test - session/legendproperties

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    legendproperties000.000.00
    legendproperties010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_legendproperties_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_legendproperties_py.html new file mode 100644 index 000000000..d0f12caff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_legendproperties_py.html @@ -0,0 +1,48 @@ +session/legendproperties.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  legendproperties.py
    +#
    +#  Notes:      This test case sets legend properties and makes sure that they
    +#              can be accessed via uses a session file to create a plot that uses
    +#              a user defined color table. This makes sure that user defined
    +#              color tables can be used from session files. VisIt00004000.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Mon Mar 26 10:48:25 PDT 2007
    +#
    +#  Modifications:
    +#    Brad Whitlock, Thu Jul 22 11:03:42 PDT 2010
    +#    Force some save window settings so testing routines don't mess up in
    +#    the scalable,parallel,icet mode. VisIt itself, outside of testing doesn't
    +#    have problems as far as I can tell so we're working around "issues" with
    +#    our testing routines.
    +#    
    +# ----------------------------------------------------------------------------
    +
    +# Get the save window atts and force a few settings.
    +sa = GetSaveWindowAttributes()
    +sa.screenCapture = 0
    +sa.width,sa.height = 300,300
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","legendproperties.session"), 0,
    +                                   silo_data_path("bigsil.silo"))
    +
    +
    +Test("legendproperties00", altSWA=sa)
    +
    +# Now that we've restored the session, see if we can get the legend objects
    +# and change them.
    +subsetLegend = GetAnnotationObject(GetPlotList().GetPlots(0).plotName)
    +pcLegend = GetAnnotationObject(GetPlotList().GetPlots(1).plotName)
    +
    +subsetLegend.drawBoundingBox = 0
    +pcLegend.drawBoundingBox = 0
    +Test("legendproperties01", altSWA=sa)
    +
    +# Make sure that the plots are deleted
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_rect3d-contour.html b/2023-11-08-22:00/pascal_trunk_serial/session_rect3d-contour.html new file mode 100644 index 000000000..7e3935679 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_rect3d-contour.html @@ -0,0 +1,42 @@ + +Results for session/rect3d-contour.py + +

    Results of VisIt Regression Test - session/rect3d-contour

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    rect3d-contour000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_rect3d-contour_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_rect3d-contour_py.html new file mode 100644 index 000000000..866eb0e35 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_rect3d-contour_py.html @@ -0,0 +1,25 @@ +session/rect3d-contour.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  rect3d-contour.py
    +#
    +#  Tests:      mesh      - 3D rectilinear, single domain
    +#              plots     - Contour, with transparent contours
    +#
    +#  Notes:      This test case uses a session file to ensure that the Contour
    +#              plot can be restored from a session file and have its correct
    +#              colors and opacities, from  a bug reported in VisIt00004115.
    +#
    +#  Programmer: Kathleen Bonnell 
    +#  Date:       January 13, 2005 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","rect3d-contour.session"), 0,
    +                                   silo_data_path("rect3d.silo"))
    +Test("rect3d-contour00")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_restorewithsources.html b/2023-11-08-22:00/pascal_trunk_serial/session_restorewithsources.html new file mode 100644 index 000000000..c485c0eff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_restorewithsources.html @@ -0,0 +1,48 @@ + +Results for session/restorewithsources.py + +

    Results of VisIt Regression Test - session/restorewithsources

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    restorewithsources000.000.00
    restorewithsources010.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_restorewithsources_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_restorewithsources_py.html new file mode 100644 index 000000000..0c065b791 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_restorewithsources_py.html @@ -0,0 +1,42 @@ +session/restorewithsources.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  restorewithsources.py
    +#
    +#  Notes:      This test case tests restoring sessions with different sources.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Mar 28 10:36:04 PDT 2007
    +#
    +#  Modifications:
    +#
    +#    Mark C. Miller, Wed Jan 20 07:37:11 PST 2010
    +#    Added ability to swtich between Silo's HDF5 and PDB data.
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +
    +tpath = tests_path("session","restorewithsources.session")
    +dpath = silo_data_path("rect3d.silo")
    +print(repr(tpath))
    +print(repr(silo_data_path("rect3d.silo") ))
    +
    +RestoreSessionWithDifferentSources(tests_path("session","restorewithsources.session"),
    +                                   0,
    +                                   silo_data_path("rect3d.silo") )
    +
    +
    +Test("restorewithsources00")
    +
    +# Now, try restoring the session with a different data file. Note that since
    +# there's just one source, we pass a string instead of a tuple of strings.
    +RestoreSessionWithDifferentSources(tests_path("session","restorewithsources.session"),
    +                                   0,
    +                                   silo_data_path("rect2d.silo") )
    +Test("restorewithsources01")
    +
    +# Make sure that the plots are deleted
    +DeleteAllPlots()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_selection.html b/2023-11-08-22:00/pascal_trunk_serial/session_selection.html new file mode 100644 index 000000000..bcc5d2d9d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_selection.html @@ -0,0 +1,42 @@ + +Results for session/selection.py + +

    Results of VisIt Regression Test - session/selection

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    selection_000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_selection_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_selection_py.html new file mode 100644 index 000000000..e0b5e07c5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_selection_py.html @@ -0,0 +1,29 @@ +session/selection.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  selection.py
    +#
    +#  Tests:      mesh      - 2D curvilinear, multiple domain
    +#              plots     - FilledBoundary, Mesh, Pseudocolor
    +#
    +#  Notes:      This test case makes sure that VisIt can read session files
    +#              that have subset selection. Session files from before 1.3 and
    +#              from version 1.3 are tested.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Mar 25 08:34:37 PDT 2004
    +#
    +#  Modifications:
    +#    Brad Whitlock, Tue Jan 6 09:17:15 PDT 2009
    +#    I removed support for pre-1.3 session files.
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","selection.session"), 0,
    +                                   silo_data_path("multi_curv2d.silo"))
    +
    +Test("selection_00")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_sessionexpression.html b/2023-11-08-22:00/pascal_trunk_serial/session_sessionexpression.html new file mode 100644 index 000000000..c29869afa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_sessionexpression.html @@ -0,0 +1,42 @@ + +Results for session/sessionexpression.py + +

    Results of VisIt Regression Test - session/sessionexpression

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sessionexpression000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_sessionexpression_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_sessionexpression_py.html new file mode 100644 index 000000000..c3899a5f3 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_sessionexpression_py.html @@ -0,0 +1,27 @@ +session/sessionexpression.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  sessionexpression.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Pseudocolor
    +#
    +#  Notes:      This test case creates a plot of a user-defined expression
    +#              using a session file to ensure that session files containing
    +#              plots of user-defined expressions work. This test case tests
    +#              for a bug reported in VisIt00006070.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Apr 5 14:26:56 PST 2005
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","sessionexpression.session"), 0,
    +                                   ( silo_data_path("wave.visit"),
    +                                     silo_data_path("globe.silo")))
    +Test("sessionexpression00")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_sessionview.html b/2023-11-08-22:00/pascal_trunk_serial/session_sessionview.html new file mode 100644 index 000000000..8933478f6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_sessionview.html @@ -0,0 +1,66 @@ + +Results for session/sessionview.py + +

    Results of VisIt Regression Test - session/sessionview

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    sessionview000.000.00
    sessionview010.000.00
    sessionview020.000.00
    sessionview030.000.00
    sessionview040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_sessionview_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_sessionview_py.html new file mode 100644 index 000000000..36b5c8e67 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_sessionview_py.html @@ -0,0 +1,55 @@ +session/sessionview.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  sessionview.py
    +#
    +#  Tests:      mesh      - 3D unstructured, 3D rectilinear, single domain
    +#              plots     - Pseudocolor, Mesh
    +#              operators - Reflect
    +#
    +#  Notes:      This test case makes sure that we can switch back and forth
    +#              between session files that use expressions.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 31 15:21:23 PST 2003
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +
    +# Open the first session file
    +RestoreSessionWithDifferentSources(tests_path("session","sessionview1.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +
    +Test("sessionview00")
    +
    +# Open the second session file
    +RestoreSession("tests/session/sessionview2.session", 0)
    +RestoreSessionWithDifferentSources(tests_path("session","sessionview2.session"), 0,
    +                                   data_path("ANALYZE_test_data",
    +                                             "s01_anatomy_stripped.hdr"))
    +
    +
    +Test("sessionview01")
    +
    +# Open the first session file again. This used to crash VisIt
    +RestoreSessionWithDifferentSources(tests_path("session","sessionview1.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +
    +Test("sessionview02")
    +
    +# Open the second session file again.
    +RestoreSessionWithDifferentSources(tests_path("session","sessionview2.session"), 0,
    +                                   data_path("ANALYZE_test_data",
    +                                             "s01_anatomy_stripped.hdr"))
    +Test("sessionview03")
    +
    +# Open the first session file
    +RestoreSessionWithDifferentSources(tests_path("session","sessionview1.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +Test("sessionview04")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_simplekeyframe.html b/2023-11-08-22:00/pascal_trunk_serial/session_simplekeyframe.html new file mode 100644 index 000000000..52f6c1ba1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_simplekeyframe.html @@ -0,0 +1,130 @@ + +Results for session/simplekeyframe.py + +

    Results of VisIt Regression Test - session/simplekeyframe

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing keyframes from a restored session file.
    simplekeyframe_setup0 modifications totalling 0 lines
    simplekeyframe000.000.00
    simplekeyframe010.000.00
    simplekeyframe020.000.00
    simplekeyframe030.000.00
    simplekeyframe040.000.00
    simplekeyframe050.000.00
    simplekeyframe060.000.00
    simplekeyframe070.000.00
    simplekeyframe080.000.00
    simplekeyframe090.000.00
    Testing keyframes from a cloned window.
    viewkeyframe000.000.00
    viewkeyframe010.000.00
    viewkeyframe020.000.00
    viewkeyframe030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_simplekeyframe_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_simplekeyframe_py.html new file mode 100644 index 000000000..ae8bc83cc --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_simplekeyframe_py.html @@ -0,0 +1,78 @@ +session/simplekeyframe.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  simplekeyframe.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Pseudocolor, Mesh
    +#              operators - Clip
    +#
    +#  Notes:      This test case uses a session file to ensure that keyframe
    +#              animations that modify the plot attributes and the view can
    +#              be loaded from a session file.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Oct 22 15:14:20 PST 2003
    +#
    +#  Modifications:
    +#    Brad Whitlock, Tue Dec 30 17:09:10 PST 2003
    +#    Added test cases to make sure that view keyframes are copied to windows
    +#    created via window cloning.
    +#
    +#    Brad Whitlock, Wed Apr 7 14:19:31 PST 2004
    +#    Changed the test case so the number of frames is verified first thing.
    +#
    +# ----------------------------------------------------------------------------
    +
    +def GetTruncatedWindowInformationString():
    +    # Get the window information and convert it to a string.
    +    s = str(GetWindowInformation())
    +    # Only use the first 5 or so lines from the string.
    +    lines = s.split("\n")
    +    s = ""
    +    # ignore the active source
    +    for i in range(1,5):
    +        if(i < len(lines)):
    +            s = s + lines[i]
    +            s = s + "\n"
    +    return s
    +
    +def TestSetup(testName):
    +    s = GetTruncatedWindowInformationString()
    +    s = s + str(GetKeyframeAttributes())
    +    TestText(testName, s)
    +
    +TurnOnAllAnnotations()
    +
    +# Set up the visualization by restoring a session file.
    +RestoreSessionWithDifferentSources(tests_path("session","simplekeyframe.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +
    +TestSection("Testing keyframes from a restored session file.")
    +
    +# Make sure that the session file created the right number of keyframes.
    +TestSetup("simplekeyframe_setup")
    +
    +# Save a test frame for all of the frames in the animation.
    +for i in range(TimeSliderGetNStates()):
    +    SetTimeSliderState(i)
    +    Test("simplekeyframe%02d" % i)
    +
    +# 
    +# Clone the window and make sure that the keyframes were copied.
    +#
    +TestSection("Testing keyframes from a cloned window.")
    +SetTimeSliderState(0)
    +CloneWindow()
    +SetActiveWindow(2)
    +DrawPlots()
    +Test("viewkeyframe00")
    +SetTimeSliderState(int(TimeSliderGetNStates() * 0.3333))
    +Test("viewkeyframe01")
    +SetTimeSliderState(int(TimeSliderGetNStates() * 0.6666))
    +Test("viewkeyframe02")
    +SetTimeSliderState(TimeSliderGetNStates() - 1)
    +Test("viewkeyframe03")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_textannot.html b/2023-11-08-22:00/pascal_trunk_serial/session_textannot.html new file mode 100644 index 000000000..692d03ac4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_textannot.html @@ -0,0 +1,66 @@ + +Results for session/textannot.py + +

    Results of VisIt Regression Test - session/textannot

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    textannot000.000.00
    textannot010.000.00
    textannot020.000.00
    textannot030.000.00
    textannot040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_textannot_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_textannot_py.html new file mode 100644 index 000000000..8a1d42ed4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_textannot_py.html @@ -0,0 +1,38 @@ +session/textannot.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  textanot.py
    +#
    +#  Tests:      mesh      - 2D curvilinear, single domain
    +#              plots     - Pseudocolor
    +#
    +#  Notes:      This test case uses a session file to set up a plot and create
    +#              several text annotations and a time slider annotation.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Dec 4 14:17:46 PST 2003
    +#
    +#  Modifications:
    +#    Brad Whitlock, Wed Mar 9 09:15:30 PDT 2005
    +#    Removed deprecated functions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +
    +# Set up the visualization by restoring a session file.
    +RestoreSessionWithDifferentSources(tests_path("session","textannot.session"), 0,
    +                                   data_path("pdb_test_data","allinone00.pdb"))
    +
    +# Save a test frame for some of the frames in the animation so we can see
    +# if the time slider is working.
    +testindex = 0
    +ntests = 5
    +for i in range(ntests):
    +    frame = int(float(i) / float(ntests - 1) * (TimeSliderGetNStates() - 1))
    +    SetTimeSliderState(frame)
    +    Test("textannot%02d" % testindex)
    +    testindex = testindex + 1
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_view3d.html b/2023-11-08-22:00/pascal_trunk_serial/session_view3d.html new file mode 100644 index 000000000..9bb7fb086 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_view3d.html @@ -0,0 +1,42 @@ + +Results for session/view3d.py + +

    Results of VisIt Regression Test - session/view3d

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    view3d000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_view3d_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_view3d_py.html new file mode 100644 index 000000000..eb82e6127 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_view3d_py.html @@ -0,0 +1,29 @@ +session/view3d.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  view3d.py
    +#
    +#  Tests:      mesh      - 3D unstructured, single domain
    +#              plots     - Pseudocolor
    +#
    +#  Defect ID:  visit00004724
    +#
    +#  Notes:      This test case makes sure that all the 3d view parameters
    +#              are properly restored from a session.  In particular the
    +#              focus, parallelScale, nearPlane and farPlane.
    +#
    +#  Programmer: Eric Brugger
    +#  Date:       Thu Apr 22 15:05:59 PDT 2004
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +
    +# Open the session file
    +RestoreSessionWithDifferentSources(tests_path("session","view3d.session"), 0,
    +                                   silo_data_path("globe.silo"))
    +
    +Test("view3d00")
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_wavecontour.html b/2023-11-08-22:00/pascal_trunk_serial/session_wavecontour.html new file mode 100644 index 000000000..828aac6a0 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_wavecontour.html @@ -0,0 +1,42 @@ + +Results for session/wavecontour.py + +

    Results of VisIt Regression Test - session/wavecontour

    + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    wavecontour000.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/session_wavecontour_py.html b/2023-11-08-22:00/pascal_trunk_serial/session_wavecontour_py.html new file mode 100644 index 000000000..865b39aff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/session_wavecontour_py.html @@ -0,0 +1,29 @@ +session/wavecontour.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  wavecontour.py
    +#
    +#  Tests:      mesh      - 3D curvilinear, single domain
    +#              plots     - Contour, Mesh
    +#              operators - Reflect
    +#
    +#  Notes:      This test case uses a session file to ensure that the Contour
    +#              plot can be restored from a session file and have its correct
    +#              colors and number of contour levels. This test case tests
    +#              for a bug reported in VisIt00003883.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Oct 22 15:14:20 PST 2003
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +TurnOnAllAnnotations()
    +RestoreSessionWithDifferentSources(tests_path("session","wavecontour.session"), 0,
    +                                   silo_data_path("wave.visit"))
    +# tslider state is lost w/ restore with sources
    +TimeSliderSetState(28)
    +Test("wavecontour00")
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_amr.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_amr.html new file mode 100644 index 000000000..63b252908 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_amr.html @@ -0,0 +1,68 @@ + +Results for simulation/amr.py + +

    Results of VisIt Regression Test - simulation/amr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    amr000 modifications totalling 0 lines
    amr010 modifications totalling 0 lines
    amr020.000.00
    amr030.000.00
    amr040.000.00
    amr050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_amr_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_amr_py.html new file mode 100644 index 000000000..9cf4e1672 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_amr_py.html @@ -0,0 +1,58 @@ +simulation/amr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  amr.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D amr mesh
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("amr", "amr.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("amr00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("amr01", sim.metadata())
    +
    +    AddPlot("Mesh", "amr")
    +    AddPlot("Subset", "Levels")
    +    DrawPlots()
    +    Test("amr02")
    +
    +    SetActivePlots(1)
    +    ChangeActivePlotsVar("Patches")
    +    Test("amr03")
    +
    +    SetActivePlots(0)
    +    DeleteActivePlots()
    +    silr = SILRestriction()
    +    silr.TurnOffSet(8)
    +    SetPlotSILRestriction(silr, 0)
    +    DrawPlots()
    +    Test("amr04")
    +
    +    silr.TurnOnAll()
    +    silr.TurnOffSet(6)
    +    silr.TurnOffSet(8)
    +    SetPlotSILRestriction(silr, 0)
    +    DrawPlots()
    +    Test("amr05")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_aresamr.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_aresamr.html new file mode 100644 index 000000000..af031d79a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_aresamr.html @@ -0,0 +1,62 @@ + +Results for simulation/aresamr.py + +

    Results of VisIt Regression Test - simulation/aresamr

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    aresamr000 modifications totalling 0 lines
    aresamr010 modifications totalling 0 lines
    aresamr020.000.00
    aresamr030.000.00
    aresamr040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_aresamr_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_aresamr_py.html new file mode 100644 index 000000000..fd9818151 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_aresamr_py.html @@ -0,0 +1,48 @@ +simulation/aresamr.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  aresamr.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D aresamr mesh
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("aresamr", "aresamr.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("aresamr00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("aresamr01", sim.metadata())
    +
    +    AddPlot("Pseudocolor", "zonal_scalar")
    +    DrawPlots()
    +    Test("aresamr02")
    +
    +    silr = SILRestriction()
    +    silr.TurnOnAll()
    +    silr.TurnOffSet(4)
    +    SetPlotSILRestriction(silr, 1)
    +    Test("aresamr03")
    +    silr.TurnOnAll()
    +    silr.TurnOffSet(3)
    +    SetPlotSILRestriction(silr, 1)
    +    Test("aresamr04")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_batch.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_batch.html new file mode 100644 index 000000000..dd0ed7cd2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_batch.html @@ -0,0 +1,426 @@ + +Results for simulation/batch.py + +

    Results of VisIt Regression Test - simulation/batch

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Slice Export with 3 vertices
    batch_0_000.000.00
    batch_0_010.000.00
    batch_0_020.000.00
    batch_0_030.000.00
    batch_0_040.000.00
    batch_0_050.000.00
    Slice Export with Origin+Normal
    batch_1_000.000.00
    batch_1_010.000.00
    batch_1_020.000.00
    batch_1_030.000.00
    batch_1_040.000.00
    batch_1_050.000.00
    Slice Export of X
    batch_2_000.000.00
    batch_2_010.000.00
    batch_2_020.000.00
    batch_2_030.000.00
    batch_2_040.000.00
    batch_2_050.000.00
    Slice Export of Y
    batch_3_000.000.00
    batch_3_010.000.00
    batch_3_020.000.00
    batch_3_030.000.00
    batch_3_040.000.00
    batch_3_050.000.00
    Slice Export of Z
    batch_4_000.000.00
    batch_4_010.000.00
    batch_4_020.000.00
    batch_4_030.000.00
    batch_4_040.000.00
    batch_4_050.000.00
    Iso Export
    batch_5_000.000.00
    batch_5_010.000.00
    batch_5_020.000.00
    batch_5_030.000.00
    batch_5_040.000.00
    batch_5_050.000.00
    batch_5_060.000.00
    batch_5_070.000.00
    batch_5_080.000.00
    batch_5_090.000.00
    batch_5_100.000.00
    batch_5_110.000.00
    batch_5_120.000.00
    batch_5_130.000.00
    batch_5_140.000.00
    batch_5_150.000.00
    batch_5_160.000.00
    batch_5_170.000.00
    batch_5_180.000.00
    batch_5_190.000.00
    Image Rendering
    batch_6_000.000.00
    batch_6_010.000.00
    batch_6_020.000.00
    batch_6_030.000.00
    batch_6_040.000.00
    Streamline Export
    batch_7_000.000.00
    batch_7_010.000.00
    batch_7_020.000.00
    batch_7_030.000.00
    batch_7_040.000.00
    batch_7_050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_batch_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_batch_py.html new file mode 100644 index 000000000..5ab4f2163 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_batch_py.html @@ -0,0 +1,393 @@ +simulation/batch.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  batch.py
    +#
    +#  Tests:      libsim - batch mode.
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 18, 2014 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def test0():
    +    TestSection("Slice Export with 3 vertices")
    +    db = "slice3v_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "dom")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (-0.0556426, 0.707794, 0.704224)
    +    v.focus = (5, 1.53846, 5)
    +    v.viewUp = (0.048696, 0.706401, -0.706134)
    +    v.viewAngle = 30
    +    v.parallelScale = 7.12383
    +    v.nearPlane = -14.2477
    +    v.farPlane = 14.2477
    +    v.imagePan = (-0.021177, 0.0636043)
    +    v.imageZoom = 1.09666
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (5, 1.53846, 5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    Test("batch_0_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_0_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_0_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_0_03")
    +
    +    TimeSliderSetState(2)
    +    Test("batch_0_04")
    +    TimeSliderSetState(4)
    +    Test("batch_0_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test1():
    +    TestSection("Slice Export with Origin+Normal")
    +    db = "sliceON_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "dom")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (5, 5, 5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 8.66025
    +    v.nearPlane = -17.3205
    +    v.farPlane = 17.3205
    +    v.imagePan = (-0.00113806, 0.0530002)
    +    v.imageZoom = 1.33438
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (5, 5, 5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    Test("batch_1_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_1_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_1_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_1_03")
    +
    +    TimeSliderSetState(2)
    +    Test("batch_1_04")
    +    TimeSliderSetState(4)
    +    Test("batch_1_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test2():
    +    TestSection("Slice Export of X")
    +    db = "sliceX_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "dom")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (1, 0, 6.12323e-17)
    +    v.focus = (0.5, 5, 5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 7.07107
    +    v.nearPlane = -14.1421
    +    v.farPlane = 14.1421
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.27205
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 5, 5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    Test("batch_2_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_2_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_2_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_2_03")
    +
    +    ChangeActivePlotsVar("radius")
    +    TimeSliderSetState(2)
    +    Test("batch_2_04")
    +    TimeSliderSetState(4)
    +    Test("batch_2_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test3():
    +    TestSection("Slice Export of Y")
    +    db = "sliceY_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "dom")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 1, 6.12323e-17)
    +    v.focus = (5, 2.5, 5)
    +    v.viewUp = (0, 6.12323e-17, -1)
    +    v.viewAngle = 30
    +    v.parallelScale = 7.07107
    +    v.nearPlane = -14.1421
    +    v.farPlane = 14.1421
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.32859
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (5, 2.5, 5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    Test("batch_3_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_3_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_3_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_3_03")
    +
    +    TimeSliderSetState(2)
    +    Test("batch_3_04")
    +    TimeSliderSetState(4)
    +    Test("batch_3_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test4():
    +    TestSection("Slice Export of Z")
    +    db = "sliceZ_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "dom")
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (5, 5, 5)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 7.07107
    +    v.nearPlane = -14.1421
    +    v.farPlane = 14.1421
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.2647
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (5, 5, 5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +    Test("batch_4_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_4_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_4_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_4_03")
    +
    +    TimeSliderSetState(2)
    +    Test("batch_4_04")
    +    TimeSliderSetState(4)
    +    Test("batch_4_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test5():
    +    TestSection("Iso Export")
    +    dbs = ("iso_0000.visit","iso_0001.visit","iso_0002.visit","iso_0003.visit","iso_0004.visit")
    +    index = 0
    +    for db in dbs:
    +        OpenDatabase(db)
    +        AddPlot("Pseudocolor", "dom")
    +        DrawPlots()
    +
    +        v = GetView3D()
    +        v.viewNormal = (-0.433402, 0.101212, 0.895499)
    +        v.focus = (5, 5, 5)
    +        v.viewUp = (0.0882645, 0.993663, -0.0695889)
    +        v.viewAngle = 30
    +        v.parallelScale = 8.66025
    +        v.nearPlane = -17.3205
    +        v.farPlane = 17.3205
    +        v.imagePan = (0.00394299, 0.0327202)
    +        v.imageZoom = 1.34799
    +        v.perspective = 1
    +        v.eyeAngle = 2
    +        v.centerOfRotationSet = 0
    +        v.centerOfRotation = (5, 5, 5)
    +        v.axis3DScaleFlag = 0
    +        v.axis3DScales = (1, 1, 1)
    +        v.shear = (0, 0, 1)
    +        v.windowValid = 1
    +        SetView3D(v)
    +
    +        Test("batch_5_%02d" % index)
    +
    +        ChangeActivePlotsVar("xc")
    +        Test("batch_5_%02d" % (index+1))
    +        ChangeActivePlotsVar("radius")
    +        Test("batch_5_%02d" % (index+2))
    +        ChangeActivePlotsVar("q")
    +        Test("batch_5_%02d" % (index+3))
    +        index = index + 4
    +
    +        DeleteAllPlots()
    +        CloseDatabase(db)
    +
    +def test6():
    +    TestSection("Image Rendering")
    +    db = "batch*.png database"
    +    OpenDatabase(db)
    +    AddPlot("Truecolor", "color")
    +    AddOperator("Box")
    +    box = BoxAttributes()
    +    box.amount = box.Some  # Some, All
    +    box.minx = 230
    +    box.maxx = 1000
    +    box.miny = 45
    +    box.maxy = 1000
    +    box.minz = 0
    +    box.maxz = 1
    +    box.inverse = 0
    +    SetOperatorOptions(box)
    +    DrawPlots()
    +
    +    v = GetView2D()
    +    v.windowCoords = (0, 960, 0, 540)
    +    v.viewportCoords = (0.01, 0.99, 0.22, 0.99)
    +    v.fullFrameActivationMode = v.Auto  # On, Off, Auto
    +    v.fullFrameAutoThreshold = 100
    +    v.xScale = v.LINEAR  # LINEAR, LOG
    +    v.yScale = v.LINEAR  # LINEAR, LOG
    +    v.windowValid = 1
    +    SetView2D(v)
    +
    +    Test("batch_6_00")
    +    TimeSliderSetState(1)
    +    Test("batch_6_01")
    +    TimeSliderSetState(2)
    +    Test("batch_6_02")
    +    TimeSliderSetState(3)
    +    Test("batch_6_03")
    +    TimeSliderSetState(4)
    +    Test("batch_6_04")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def test7():
    +    TestSection("Streamline Export")
    +    db = "streamline_*.vtk database"
    +    OpenDatabase(db)
    +    AddPlot("Pseudocolor", "colorVar")
    +    pc = PseudocolorAttributes(1)
    +    pc.lineWidth = 3
    +    SetPlotOptions(pc)
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0, 0, 1)
    +    v.focus = (5.2835, 5.2835, 5.2562)
    +    v.viewUp = (0, 1, 0)
    +    v.viewAngle = 30
    +    v.parallelScale = 8.26953
    +    v.nearPlane = -16.5391
    +    v.farPlane = 16.5391
    +    v.imagePan = (0, 0)
    +    v.imageZoom = 1.33131
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (5.2835, 5.2835, 5.2562)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +    Test("batch_7_00")
    +
    +    ChangeActivePlotsVar("xc")
    +    Test("batch_7_01")
    +    ChangeActivePlotsVar("radius")
    +    Test("batch_7_02")
    +    ChangeActivePlotsVar("q")
    +    Test("batch_7_03")
    +
    +    TimeSliderSetState(2)
    +    Test("batch_7_04")
    +    TimeSliderSetState(4)
    +    Test("batch_7_05")
    +
    +    DeleteAllPlots()
    +    CloseDatabase(db)
    +
    +def main():
    +    # Create our simulation object.
    +    sim = TestBatchSimulation("batch")
    +    sim.addargument("-format")
    +    sim.addargument("VTK_1.0")
    +    sim.addargument("-maxcycles")
    +    sim.addargument("5")
    +    sim.addargument("-render")
    +    sim.addargument("1")
    +    sim.addargument("-export")
    +    sim.addargument("1")
    +
    +    # Test that we can start the simulation.
    +    sim.startsim()
    +    # This will wait for the simulation to complete.
    +    sim.endsim()
    +
    +    # Test the simulation outputs.
    +    test0()
    +    test1()
    +    test2()
    +    test3()
    +    test4()
    +    test5()
    +    test6()
    +    test7()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_csg.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_csg.html new file mode 100644 index 000000000..ee64f0084 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_csg.html @@ -0,0 +1,114 @@ + +Results for simulation/csg.py + +

    Results of VisIt Regression Test - simulation/csg

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    csg000 modifications totalling 0 lines
    csg010 modifications totalling 0 lines
    csg020.000.00
    csg030.000.00
    csg040.000.00
    csg050.000.00
    csg060.000.00
    csg070.000.00
    csg080.000.00
    csg090.000.00
    csg100.000.00
    csg110.000.00
    csg120.000.00
    csg130 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_csg_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_csg_py.html new file mode 100644 index 000000000..03cb8df8b --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_csg_py.html @@ -0,0 +1,64 @@ +simulation/csg.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  csg.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              csg   - 3D csg mesh .
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 27, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("csg", "csg.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("csg00", sim)
    +
    +def simcommand(sim, com):
    +    sim.consolecommand(com)
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command '%s'"%com in buf:
    +            keepGoing = False
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("csg01", sim.metadata())
    +
    +    AddPlot("Subset", "Regions")
    +    s = SubsetAttributes()
    +    s.smoothingLevel = 2
    +    SetPlotOptions(s)
    +    DrawPlots()
    +    Test("csg02")
    +
    +    times = "Times:\n"
    +    SetQueryOutputToValue();
    +    times = times + str(Query("Time")) + "\n"
    +    for i in range(10):
    +        simcommand(sim, 'step')
    +        simcommand(sim, 'step')
    +        simcommand(sim, 'update')
    +        Test("csg%02d" % (i+3))
    +        times = times + str(Query("Time")) + "\n"
    +
    +    TestText("csg13", times)
    +    DeleteAllPlots()
    +    SetQueryOutputToString()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_curve.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_curve.html new file mode 100644 index 000000000..7a6b8fe7f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_curve.html @@ -0,0 +1,66 @@ + +Results for simulation/curve.py + +

    Results of VisIt Regression Test - simulation/curve

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    curve000 modifications totalling 0 lines
    curve010 modifications totalling 0 lines
    curve020.000.00
    curve030.000.00
    curve040.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_curve_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_curve_py.html new file mode 100644 index 000000000..7ab5c7371 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_curve_py.html @@ -0,0 +1,61 @@ +simulation/curve.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  curve.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - curve
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       Jun 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("curve", "curve.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("curve00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("curve01", sim.metadata())
    +
    +    AddPlot("Curve", "sine")
    +    curveAtts = CurveAttributes(1)
    +    curveAtts.showLabels = 0
    +    curveAtts.lineWidth = 2
    +    SetPlotOptions(curveAtts)
    +    DrawPlots()
    +    Test("curve02")
    +
    +    # Read the 'VisIt connected' message
    +    buf = sim.p.stderr.readline()
    +    for i in range(25):
    +        sim.consolecommand("step")
    +        # Read from stderr to look for the echoed command.
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        sim.consolecommand("update")
    +
    +    Test("curve03")
    +
    +    for i in range(25):
    +        sim.consolecommand("step")
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        sim.consolecommand("update")
    +    Test("curve04")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_domainbounds.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_domainbounds.html new file mode 100644 index 000000000..a178d022a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_domainbounds.html @@ -0,0 +1,56 @@ + +Results for simulation/domainbounds.py + +

    Results of VisIt Regression Test - simulation/domainbounds

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    domainbounds000 modifications totalling 0 lines
    domainbounds010 modifications totalling 0 lines
    domainbounds020.000.00
    domainbounds030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_domainbounds_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_domainbounds_py.html new file mode 100644 index 000000000..58a24ff73 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_domainbounds_py.html @@ -0,0 +1,47 @@ +simulation/domainbounds.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  domainbounds.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 3D rectilinear mesh
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("domainbounds", "domainbounds.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("domainbounds00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("domainbounds01", sim.metadata())
    +
    +    AddPlot("Subset", "Domains")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0.672727, 0.569817, 0.471961)
    +    v.viewUp = (-0.252634, 0.776445, -0.57733)
    +    SetView3D(v)
    +    Test("domainbounds02")
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", "zonal")
    +    DrawPlots()
    +    Test("domainbounds03")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_domainlist.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_domainlist.html new file mode 100644 index 000000000..cdcff3074 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_domainlist.html @@ -0,0 +1,108 @@ + +Results for simulation/domainlist.py + +

    Results of VisIt Regression Test - simulation/domainlist

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    domainlist000 modifications totalling 0 lines
    domainlist010 modifications totalling 0 lines
    domainlist020.000.00
    domainlist030.000.00
    domainlist040.000.00
    domainlist050.000.00
    domainlist060.000.00
    domainlist070.000.00
    domainlist080.000.00
    domainlist090.000.00
    domainlist100.000.00
    domainlist110.000.00
    domainlist120 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_domainlist_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_domainlist_py.html new file mode 100644 index 000000000..f1203890c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_domainlist_py.html @@ -0,0 +1,125 @@ +simulation/domainlist.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  domainlist.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D,3D unstructured mesh.
    +#
    +#              Tests that VisIt's load balancer can accept different domain
    +#              lists from simulations and distribute work accordingly. If it
    +#              was to mess up then we would not get all domains for at least
    +#              one of the meshes.
    +#
    +#              This test must run in parallel.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Thu Jun 26 17:19:08 PDT 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def step(sim):
    +    sim.consolecommand("step")
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command step" in buf:
    +            keepGoing = False
    +
    +def set_the_view():
    +    v = GetView3D()
    +    v.viewNormal = (0.48257, -0.684101, 0.54693)
    +    v.focus = (0.95, 1.5, 0.5)
    +    v.viewUp = (-0.352936, 0.419625, 0.836272)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.84459
    +    v.nearPlane = -3.68917
    +    v.farPlane = 3.68917
    +    v.imagePan = (0.0637817, 0.0407714)
    +    v.imageZoom = 1.04766
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.95, 1.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def add_time(times):
    +    Query("Time")
    +    t2 = times + str(GetQueryOutputValue()) + "\n"
    +    return t2
    +
    +def start_time():
    +    return add_time("Times:\n")
    +
    +def test0(sim):
    +    AddPlot("Subset", "Domains(mesh)")
    +    AddPlot("Subset", "Domains(surface)")
    +    SetActivePlots((0,1))
    +    AddOperator("Reflect")
    +    r = ReflectAttributes()
    +    r.octant = r.PXPYPZ  # PXPYPZ, NXPYPZ, PXNYPZ, NXNYPZ, PXPYNZ, NXPYNZ, PXNYNZ, NXNYNZ
    +    r.useXBoundary = 1
    +    r.specifiedX = 0
    +    r.useYBoundary = 0
    +    r.specifiedY = 1.5
    +    r.useZBoundary = 1
    +    r.specifiedZ = 0
    +    r.reflections = (1, 0, 1, 0, 0, 0, 0, 0)
    +    SetOperatorOptions(r)
    +
    +    SetActivePlots(1)
    +    AddOperator("Transform", 0)
    +    trans = TransformAttributes()
    +    trans.doTranslate = 1
    +    trans.translateX = 1
    +    SetOperatorOptions(trans)
    +    DrawPlots()
    +    set_the_view()
    +
    +    # Advance some steps and make sure that we get all domains for each mesh
    +    times = start_time()
    +    idx = 2
    +    for i in range(10):
    +        Test("domainlist%02d" % idx)
    +        times = add_time(times)
    +        step(sim)
    +        idx = idx + 1
    +
    +    # Get the number of processors.
    +    e,s = GetEngineList(1)[0]
    +    text = "Engine Properties:\n" + str(GetEngineProperties(e,s)) + "\n" + times
    +    TestText("domainlist%02d" % idx, text)
    +    idx = idx + 1
    +    DeleteAllPlots()
    +
    +
    +
    +def main():
    +    # Create our simulation object.
    +    sim = TestParallelSimulation("globalids_par", "globalids_par.sim2", 4)
    +    sim.addargument("-echo")
    +
    +    # Test that we can start and connect to the simulation.
    +    started, connected = TestSimStartAndConnect("domainlist00", sim)
    +
    +    # Perform our tests.
    +    if connected:
    +        # Make sure the metadata is right.
    +        TestSimMetaData("domainlist01", sim.metadata())
    +        test0(sim)
    +
    +    # Close down the simulation.
    +    if started:
    +        sim.endsim()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_ghostcells.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_ghostcells.html new file mode 100644 index 000000000..580c71880 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_ghostcells.html @@ -0,0 +1,194 @@ + +Results for simulation/ghostcells.py + +

    Results of VisIt Regression Test - simulation/ghostcells

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ghostcells000 modifications totalling 0 lines
    ghostcells010 modifications totalling 0 lines
    Ghosting with meshes
    ghostcells020.000.00
    ghostcells030.000.00
    ghostcells040.000.00
    ghostcells050.000.00
    ghostcells060.000.00
    ghostcells070.000.00
    ghostcells080.000.00
    ghostcells090.000.00
    ghostcells100.000.00
    ghostcells110.000.00
    ghostcells120.000.00
    ghostcells130.000.00
    Ghosting with scalars
    ghostcells140.000.00
    ghostcells150.000.00
    ghostcells160.000.00
    ghostcells170.000.00
    ghostcells180.000.00
    ghostcells190.000.00
    ghostcells200.000.00
    ghostcells210.000.00
    ghostcells220.000.00
    ghostcells230.000.00
    ghostcells240.000.00
    ghostcells250.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_ghostcells_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_ghostcells_py.html new file mode 100644 index 000000000..4041b1f27 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_ghostcells_py.html @@ -0,0 +1,84 @@ +simulation/ghostcells.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ghostcells.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D structured mesh.
    +#              scalars defined on material sub regions.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#
    +#  NOTES: #3, #17 do not look correct.
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("ghostcells", "ghostcells.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("ghostcells00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("ghostcells01", sim.metadata())
    +
    +    meshes = ("rect_blank", "curv_blank", "ucd_blank",
    +              "multi_domain_index", "multi_domain", "multi_types")
    +    scalars= ("rect_var", "curv_var", "ucd_var",
    +              "multi_var", "multi_var_index", "multi_types_var")
    +
    +    i = 2
    +    TestSection("Ghosting with meshes")
    +    for m in meshes:
    +        AddPlot("Subset", m)
    +        s = SubsetAttributes(1)
    +        if "multi" in m:
    +            s.opacity = 0.4
    +            SetPlotOptions(s)
    +        DrawPlots()
    +        ResetView()
    +        Test("ghostcells%02d" % i)
    +
    +        s.colorType = s.ColorBySingleColor
    +        s.singleColor = (0,0,255,255)
    +        SetPlotOptions(s)
    +        AddOperator("InverseGhostZone")
    +        s.opacity = 1.
    +        SetPlotOptions(s)
    +        DrawPlots()
    +        Test("ghostcells%02d" % (i+1))
    +        DeleteAllPlots()
    +        i = i + 2
    +
    +    TestSection("Ghosting with scalars")
    +    for s in scalars:
    +        AddPlot("Pseudocolor", s)
    +        pc = PseudocolorAttributes(1)
    +        if "multi" in s:
    +            pc.opacityType = pc.Constant
    +            pc.opacity = 0.4
    +            SetPlotOptions(pc)
    +        DrawPlots()
    +        ResetView()
    +        Test("ghostcells%02d" % i)
    +
    +        AddOperator("InverseGhostZone")
    +        pc.opacity = 1.0
    +        SetPlotOptions(pc)
    +        DrawPlots()
    +        Test("ghostcells%02d" % (i+1))
    +        DeleteAllPlots()
    +        i = i + 2
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_globalids.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_globalids.html new file mode 100644 index 000000000..53340aad9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_globalids.html @@ -0,0 +1,196 @@ + +Results for simulation/globalids.py + +

    Results of VisIt Regression Test - simulation/globalids

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    globalids000 modifications totalling 0 lines
    globalids010 modifications totalling 0 lines
    Topologically 3D meshes in 3D
    globalids020.000.00
    globalids030.000.00
    globalids040.000.00
    globalids050.000.00
    globalids060.000.00
    globalids070.000.00
    globalids080.000.00
    globalids090.000.00
    globalids100.000.00
    globalids110.000.00
    globalids120.000.00
    globalids130 modifications totalling 0 lines
    Topologically 2D meshes in 3D
    globalids_1_000.000.00
    globalids_1_010.000.00
    globalids_1_020.000.00
    globalids_1_030.000.00
    globalids_1_040.000.00
    globalids_1_050.000.00
    globalids_1_060.000.00
    globalids_1_070.000.00
    globalids_1_080.000.00
    globalids_1_090.000.00
    globalids_1_100.000.00
    globalids_1_110.000.00
    globalids_1_120 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_globalids_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_globalids_py.html new file mode 100644 index 000000000..52f4b4828 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_globalids_py.html @@ -0,0 +1,218 @@ +simulation/globalids.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  globalids.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 3D unstructured mesh.
    +#              global node and cell ids
    +#              unstructured ghost cell generation from global ids
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Tue Jun 17 16:32:51 PDT 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +def step(sim):
    +    sim.consolecommand("step")
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command step" in buf:
    +            keepGoing = False
    +
    +def set_the_view():
    +    v = GetView3D()
    +    v.viewNormal = (-0.707418, 0.404282, 0.579755)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.294715, 0.914272, -0.27794)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.866025
    +    v.nearPlane = -1.73205
    +    v.farPlane = 1.73205
    +    v.imagePan = (0, 0.0589478)
    +    v.imageZoom = 1.0963
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def set_the_view2():
    +    v = GetView3D()
    +    v.viewNormal = (-0.542717, -0.70433, 0.457578)
    +    v.focus = (0.5, 0.5, 0.5)
    +    v.viewUp = (0.252732, 0.3826, 0.888675)
    +    v.viewAngle = 30
    +    v.parallelScale = 0.722842
    +    v.nearPlane = -1.44568
    +    v.farPlane = 1.44568
    +    v.imagePan = (-0.00135472, 0.013532)
    +    v.imageZoom = 1.12868
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0.5, 0.5, 0.5)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def add_time(times):
    +    Query("Time")
    +    t2 = times + str(GetQueryOutputValue()) + "\n"
    +    return t2
    +
    +def start_time():
    +    return add_time("Times:\n")
    +
    +def test0(sim):
    +    TestSection("Topologically 3D meshes in 3D")
    +    DefineScalarExpression("gnid", "global_nodeid(mesh)")
    +    DefineScalarExpression("gzid", "global_zoneid(mesh)")
    +    DefineScalarExpression("nid",  "nodeid(mesh)")
    +
    +    AddPlot("Pseudocolor", "nid")
    +    DrawPlots()
    +    set_the_view()
    +    Test("globalids02")
    +
    +    ChangeActivePlotsVar("gzid")
    +    DrawPlots()
    +    Test("globalids03")
    +
    +    ChangeActivePlotsVar("gnid")
    +    DrawPlots()
    +    Test("globalids04")
    +    DeleteAllPlots()
    +
    +    AddPlot("Subset", "Domains")
    +    DrawPlots()
    +    Test("globalids05")
    +
    +    # Make sure that the plot is hollow
    +    s = SubsetAttributes(1)
    +    s_clear = SubsetAttributes(1)
    +    s_clear.opacity = 0.25
    +    s_clear.colorType = s_clear.ColorBySingleColor
    +    s_clear.singleColor = (200,200,200,255)
    +    SetPlotOptions(s_clear)
    +    DrawPlots()
    +    Test("globalids06")
    +
    +    # Advance some steps and make sure that the plot
    +    # stays transparent. We're changing the size of the
    +    # domains at each time step and thus the global ids.
    +    times = start_time()
    +    idx = 7
    +    for i in range(3):
    +        # Advance some steps. This should make the plots update.
    +        nsteps = 5
    +        for j in range(nsteps):
    +            step(sim)
    +            DrawPlots()
    +        times = add_time(times)
    +        SetPlotOptions(s)
    +        Test("globalids%02d" % idx)
    +        idx = idx + 1
    +        SetPlotOptions(s_clear)
    +        Test("globalids%02d" % idx)
    +        idx = idx + 1
    +
    +    TestText("globalids%02d" % idx, times)
    +    idx = idx + 1
    +    DeleteAllPlots()
    +
    +def hideplot(id):
    +    pl = GetPlotList()
    +    if pl.GetPlots(id).hiddenFlag == 0:
    +        SetActivePlots(id)
    +        HideActivePlots()
    +
    +def showplot(id):
    +    pl = GetPlotList()
    +    if pl.GetPlots(id).hiddenFlag == 1:
    +        SetActivePlots(id)
    +        HideActivePlots()
    +
    +def test1(sim):
    +    TestSection("Topologically 2D meshes in 3D")
    +    DefineScalarExpression("gnid2d", "global_nodeid(surface)")
    +    DefineScalarExpression("gzid2d", "global_zoneid(surface)")
    +    DefineScalarExpression("nid2d",  "nodeid(surface)")
    +
    +    AddPlot("FilledBoundary", "surfacemat")
    +    fb = FilledBoundaryAttributes(1)
    +    fb.colorType = fb.ColorBySingleColor
    +    fb.singleColor = (0,0,0,255)
    +    fb.wireframe = 1
    +    fb.lineWidth = 3
    +    SetPlotOptions(fb)
    +    AddPlot("Subset", "Domains(surface)")
    +    AddPlot("Pseudocolor", "nid2d")
    +    DrawPlots()
    +    set_the_view2()
    +
    +    idx = 0
    +    times = start_time()
    +    ntests = 4
    +    for i in range(3):
    +        ids = [idx+j for j in range(ntests)]
    +        # Show the Subset plot
    +        showplot(1)
    +        hideplot(2)
    +        Test("globalids_1_%02d" % ids[0])
    +
    +        # Show the Pseudocolor plot
    +        hideplot(1)
    +        showplot(2)
    +        ChangeActivePlotsVar("nid2d")
    +        Test("globalids_1_%02d" % ids[1])
    +
    +        ChangeActivePlotsVar("gnid2d")
    +        Test("globalids_1_%02d" % ids[2])
    +
    +        ChangeActivePlotsVar("gzid2d")
    +        Test("globalids_1_%02d" % ids[3])
    +        SetActivePlots(0)
    +        times = add_time(times)
    +
    +        # Take a step.
    +        showplot(1)
    +        step(sim)
    +        idx = idx + ntests
    +
    +    TestText("globalids_1_%02d" % idx, times)
    +    DeleteAllPlots()
    +
    +def main():
    +    # Create our simulation object.
    +    sim = TestSimulation("globalids", "globalids.sim2")
    +    sim.addargument("-echo")
    +
    +    # Test that we can start and connect to the simulation.
    +    started, connected = TestSimStartAndConnect("globalids00", sim)
    +
    +    # Perform our tests.
    +    if connected:
    +        # Make sure the metadata is right.
    +        TestSimMetaData("globalids01", sim.metadata())
    +        test0(sim)
    +        test1(sim)
    +
    +    # Close down the simulation.
    +    if started:
    +        sim.endsim()
    +
    +main()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_interleave.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_interleave.html new file mode 100644 index 000000000..31561abda --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_interleave.html @@ -0,0 +1,188 @@ + +Results for simulation/interleave.py + +

    Results of VisIt Regression Test - simulation/interleave

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    interleave000 modifications totalling 0 lines
    interleave010 modifications totalling 0 lines
    interleave020.000.00
    interleave030.000.00
    interleave040.000.00
    interleave050.000.00
    interleave060.000.00
    interleave070.000.00
    interleave080.000.00
    interleave090.000.00
    interleave100.000.00
    interleave110.000.00
    interleave120.000.00
    interleave130.000.00
    interleave140.000.00
    interleave150.000.00
    interleave160.000.00
    interleave170.000.00
    interleave180.000.00
    interleave190.000.00
    interleave200.000.00
    interleave210.000.00
    interleave220.000.00
    interleave230.000.00
    interleave240.000.00
    interleave250.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_interleave_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_interleave_py.html new file mode 100644 index 000000000..9f31cddf9 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_interleave_py.html @@ -0,0 +1,86 @@ +simulation/interleave.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  interleave.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       June 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("interleave", "interleave.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("interleave00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("interleave01", sim.metadata())
    +
    +    meshes2d = ("curv2d_static_float", "curv2d_static_double",
    +                "curv2d_dynamic_float", "curv2d_dynamic_double",
    +
    +                "point2d_static_float", "point2d_static_double",
    +                "point2d_dynamic_float", "point2d_dynamic_double",
    +
    +                "ucd2d_static_float", "ucd2d_static_double",
    +                "ucd2d_dynamic_float", "ucd2d_dynamic_double")
    +
    +    meshes3d = ("curv3d_static_float", "curv3d_static_double",
    +                "curv3d_dynamic_float", "curv3d_dynamic_double",
    +
    +                "point3d_static_float", "point3d_static_double",
    +                "point3d_dynamic_float", "point3d_dynamic_double",
    +
    +                "ucd3d_static_float", "ucd3d_static_double",
    +                "ucd3d_dynamic_float", "ucd3d_dynamic_double")
    +
    +    i = 2
    +    meshAtts = MeshAttributes()
    +    meshAtts.pointSizePixels = 10
    +    meshAtts.lineWidth = 2
    +    SetDefaultPlotOptions(meshAtts)
    +
    +    v2 = GetView2D()
    +    v2.windowCoords = (-0.104083, 4.10408, -0.369428, 3.36943)
    +    v2.viewportCoords = (0.2, 0.95, 0.15, 0.95)
    +    AddPlot("Mesh", "%s"%meshes2d[0])
    +    DrawPlots()
    +    SetView2D(v2)
    +    Test("interleave%02d" % i)
    +    i = i + 1
    +
    +    for m in meshes2d[1:]:
    +        ChangeActivePlotsVar(m)
    +        DrawPlots()
    +        Test("interleave%02d" % i)
    +        i = i + 1
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Mesh", "%s"%meshes3d[0])
    +    DrawPlots()
    +    ResetView()
    +    Test("interleave%02d" % i)
    +    i = i + 1
    +
    +    for m in meshes3d[1:]:
    +        ChangeActivePlotsVar(m)
    +        DrawPlots()
    +        Test("interleave%02d" % i)
    +        i = i + 1
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_life.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_life.html new file mode 100644 index 000000000..8b8f22434 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_life.html @@ -0,0 +1,58 @@ + +Results for simulation/life.py + +

    Results of VisIt Regression Test - simulation/life

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    life000 modifications totalling 0 lines
    life010 modifications totalling 0 lines
    life020.000.00
    life030.000.00
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_life_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_life_py.html new file mode 100644 index 000000000..25e3555d5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_life_py.html @@ -0,0 +1,43 @@ +simulation/life.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  life.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D rectilinear mesh
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 17, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("life", "life.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("life00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("life01", sim.metadata())
    +
    +    AddPlot("Pseudocolor", "life")
    +    DrawPlots()
    +    Test("life02")
    +
    +    # Run the simulation for awhile to get a different image
    +    for i in range(100):
    +        sim.consolecommand("step")
    +    Test("life03")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_mandelbrot.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_mandelbrot.html new file mode 100644 index 000000000..c8ef393bf --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_mandelbrot.html @@ -0,0 +1,78 @@ + +Results for simulation/mandelbrot.py + +

    Results of VisIt Regression Test - simulation/mandelbrot

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mandelbrot000 modifications totalling 0 lines
    mandelbrot010 modifications totalling 0 lines
    mandelbrot020.000.00
    mandelbrot030.000.00
    mandelbrot040 modifications totalling 0 lines
    mandelbrot050.000.00
    mandelbrot060.000.00
    mandelbrot070.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_mandelbrot_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_mandelbrot_py.html new file mode 100644 index 000000000..45ab2a987 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_mandelbrot_py.html @@ -0,0 +1,77 @@ +simulation/mandelbrot.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mandelbrot.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D structured mesh.
    +#              scalars
    +#              AMR
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +import time
    +
    +# Create our simulation object.
    +sim = TestSimulation("mandelbrot", "mandelbrot.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("mandelbrot00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("mandelbrot01", sim.metadata())
    +
    +    AddPlot("Pseudocolor", "mandelbrot")
    +    DrawPlots()
    +    v = GetView2D()
    +    v.viewportCoords = (0., 1., 0., 1.)
    +    SetView2D(v)
    +    Test("mandelbrot02")
    +
    +    # Advance some steps and update the plots.
    +
    +    # Read the "VisIt connected" message.
    +    buf = sim.p.stderr.readline()
    +    for i in range(12):
    +        sim.consolecommand("step")
    +        # Read from stderr to look for the echoed command.
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        time.sleep(1)
    +    # Update the data for the new time step.
    +    sim.consolecommand("update")
    +    Test("mandelbrot03")
    +
    +    # Make sure the metadata has updated.
    +    TestSimMetaData("mandelbrot04", sim.metadata())
    +
    +    # Test transparency to see if nesting is used.
    +    pc = PseudocolorAttributes(1)
    +    pc.opacityType = pc.Constant
    +    pc.opacity = 0.5
    +    SetPlotOptions(pc)
    +    Test("mandelbrot05")
    +
    +    DeleteActivePlots()
    +    AddPlot("Subset", "levels")
    +    DrawPlots()
    +    Test("mandelbrot06")
    +
    +    ChangeActivePlotsVar("patches")
    +    Test("mandelbrot07")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_material.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_material.html new file mode 100644 index 000000000..ef6ec659a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_material.html @@ -0,0 +1,62 @@ + +Results for simulation/material.py + +

    Results of VisIt Regression Test - simulation/material

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    material000 modifications totalling 0 lines
    material010 modifications totalling 0 lines
    material020.000.00
    material030.000.00
    material040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_material_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_material_py.html new file mode 100644 index 000000000..924a4cec6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_material_py.html @@ -0,0 +1,59 @@ +simulation/material.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  material.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              material   - 2D structured/unstructured material.
    +#              materials
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Force MIR
    +m = GetMaterialAttributes()
    +m.forceMIR = 1
    +SetMaterialAttributes(m)
    +
    +# Create our simulation object.
    +sim = TestSimulation("material", "material.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("material00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("material01", sim.metadata())
    +
    +    AddPlot("Mesh", "mesh2d")
    +    m = MeshAttributes(1)
    +    m.lineWidth = 1
    +    SetPlotOptions(m)
    +    AddPlot("FilledBoundary", "Material")
    +    DrawPlots()
    +    Test("material02")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "scalar")
    +    DrawPlots()
    +    Test("material03")
    +    DeleteAllPlots()
    +
    +    # Make a new plot.
    +    AddPlot("Mesh", "ucdmesh")
    +    SetPlotOptions(m)
    +    AddPlot("FilledBoundary", "MaterialFromArrays")
    +    DrawPlots()
    +    Test("material04")
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_materialvar.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_materialvar.html new file mode 100644 index 000000000..ffd9d937c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_materialvar.html @@ -0,0 +1,104 @@ + +Results for simulation/materialvar.py + +

    Results of VisIt Regression Test - simulation/materialvar

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    materialvar000 modifications totalling 0 lines
    materialvar010 modifications totalling 0 lines
    materialvar020.000.00
    materialvar030.000.00
    materialvar040.000.00
    materialvar050.000.00
    materialvar060.000.00
    materialvar070.000.00
    materialvar080.000.00
    materialvar090.000.00
    materialvar100.000.00
    materialvar110.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_materialvar_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_materialvar_py.html new file mode 100644 index 000000000..4d28edb12 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_materialvar_py.html @@ -0,0 +1,58 @@ +simulation/materialvar.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  materialvar.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D structured mesh.
    +#              scalars defined on material sub regions.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("materialvar", "materialvar.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("materialvar00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("materialvar01", sim.metadata())
    +
    +    AddPlot("Mesh", "mesh2d")
    +    AddPlot("FilledBoundary", "Material")
    +    DrawPlots()
    +    Test("materialvar02")
    +    DeleteActivePlots()
    +
    +    scalars = ("scalar",
    +               "zonal_scalar_on_mat1",
    +               "zonal_scalar_on_mat2",
    +               "zonal_scalar_on_mat3",
    +               "zonal_scalar_on_mats12",
    +               "nodal_scalar_on_mat1",
    +               "nodal_scalar_on_mat2",
    +               "nodal_scalar_on_mat3",
    +               "nodal_scalar_on_mats23")
    +    i = 3
    +    for s in scalars:
    +        AddPlot("Pseudocolor", s)
    +        DrawPlots()
    +        Test("materialvar%02d" % i)
    +        DeleteActivePlots()
    +        i = i + 1
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_mesh.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_mesh.html new file mode 100644 index 000000000..4102305ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_mesh.html @@ -0,0 +1,62 @@ + +Results for simulation/mesh.py + +

    Results of VisIt Regression Test - simulation/mesh

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mesh000 modifications totalling 0 lines
    mesh010 modifications totalling 0 lines
    mesh020.000.00
    mesh030.000.00
    mesh040.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_mesh_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_mesh_py.html new file mode 100644 index 000000000..350f563ff --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_mesh_py.html @@ -0,0 +1,53 @@ +simulation/mesh.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mesh.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D and 3D structured mesh.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("mesh", "mesh.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("mesh00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("mesh01", sim.metadata())
    +
    +    AddPlot("Mesh", "mesh2d")
    +    m = MeshAttributes(1)
    +    m.lineWidth = 1
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("mesh02")
    +
    +    ChangeActivePlotsVar("mesh3d")
    +    Test("mesh03")
    +    DeleteAllPlots()
    +
    +    # Disconnect and reconnect.
    +    sim.disconnect()
    +    sim.connect()
    +
    +    # Make a new plot.
    +    AddPlot("Mesh", "mesh2d")
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("mesh04")
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_multiblock.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_multiblock.html new file mode 100644 index 000000000..b5e2305e5 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_multiblock.html @@ -0,0 +1,68 @@ + +Results for simulation/multiblock.py + +

    Results of VisIt Regression Test - simulation/multiblock

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    multiblock000 modifications totalling 0 lines
    multiblock010 modifications totalling 0 lines
    multiblock020.000.00
    multiblock030.000.00
    multiblock040.000.00
    multiblock050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_multiblock_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_multiblock_py.html new file mode 100644 index 000000000..22d248be8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_multiblock_py.html @@ -0,0 +1,56 @@ +simulation/multiblock.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  multiblock.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - 2D structured mesh.
    +#              scalars
    +#              domain boundaries
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Dec 18 12:04:01 PST 2013
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("multiblock", "multiblock.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("multiblock00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("multiblock01", sim.metadata())
    +
    +    AddPlot("Mesh", "mesh2d")
    +    AddPlot("Pseudocolor", "domainID")
    +    DrawPlots()
    +    Test("multiblock02")
    +
    +    # Force nodal centering to test domain boundary information.
    +    pc = PseudocolorAttributes(1)
    +    pc.centering = pc.Nodal
    +    SetPlotOptions(pc)
    +    Test("multiblock03")
    +
    +    DeleteActivePlots()
    +
    +    AddPlot("Subset", "Domains")
    +    DrawPlots()
    +    Test("multiblock04")
    +
    +    ChangeActivePlotsVar("Blocks")
    +    Test("multiblock05")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_point.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_point.html new file mode 100644 index 000000000..5a496245a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_point.html @@ -0,0 +1,92 @@ + +Results for simulation/point.py + +

    Results of VisIt Regression Test - simulation/point

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    point000 modifications totalling 0 lines
    point010 modifications totalling 0 lines
    point020.000.00
    point030.000.00
    point040.000.00
    point050.000.00
    point060.000.00
    point070.000.00
    point080.000.00
    point090.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_point_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_point_py.html new file mode 100644 index 000000000..2bd113c00 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_point_py.html @@ -0,0 +1,79 @@ +simulation/point.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  point.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   -  point mesh
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 25, 2014 
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("point", "point.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("point00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("point01", sim.metadata())
    +
    +    # 2d mesh and points
    +    AddPlot("Mesh", "point3d")
    +    meshAtts = MeshAttributes()
    +    meshAtts.pointSizePixels = 3
    +    SetPlotOptions(meshAtts)
    +    DrawPlots()
    +    Test("point02")
    +
    +    v = GetView3D()
    +    v.viewNormal = (0, 1, 0)
    +    v.viewUp     = (0, 0, -1)
    +    SetView3D(v)
    +
    +    Test("point03")
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Pseudocolor", "pointvar")
    +    pcAtts = PseudocolorAttributes()
    +    pcAtts.pointSizePixels = 3
    +    SetPlotOptions(pcAtts)
    +    DrawPlots()
    +    Test("point04")
    +
    +    ResetView()
    +    Test("point05")
    +
    +    AddOperator("Project")
    +    DrawPlots()
    +    Test("point06")
    +
    +    projAtts = ProjectAttributes()
    +    projAtts.projectionType = projAtts.ZYCartesian
    +    SetOperatorOptions(projAtts)
    +    Test("point07")
    +
    +    projAtts.projectionType = projAtts.XRCylindrical
    +    SetOperatorOptions(projAtts)
    +    Test("point08")
    +
    +    projAtts.projectionType = projAtts.ZRCylindrical
    +    SetOperatorOptions(projAtts)
    +    Test("point09")
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_polyhedral.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_polyhedral.html new file mode 100644 index 000000000..7b4a6ea07 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_polyhedral.html @@ -0,0 +1,68 @@ + +Results for simulation/polyhedral.py + +

    Results of VisIt Regression Test - simulation/polyhedral

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    polyhedral000 modifications totalling 0 lines
    polyhedral010 modifications totalling 0 lines
    polyhedral020.000.00
    polyhedral030.000.00
    polyhedral040.000.00
    polyhedral050.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_polyhedral_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_polyhedral_py.html new file mode 100644 index 000000000..1f0c59f57 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_polyhedral_py.html @@ -0,0 +1,64 @@ +simulation/polyhedral.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  polyhedral.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              polyhedral   - 3D polyhedral.
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 26, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("polyhedral", "polyhedral.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("polyhedral00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("polyhedral01", sim.metadata())
    +
    +    AddPlot("Mesh", "polyhedral")
    +    m = MeshAttributes(1)
    +    m.lineWidth = 2
    +    m.opaqueMode = m.Off
    +    DrawPlots()
    +
    +    v = GetView3D()
    +    v.viewNormal = (0.04, 0.66, 0.74)
    +    v.viewUp = (-0.35, 0.71, -0.62)
    +    SetView3D(v)
    +    Test("polyhedral02")
    +
    +    AddPlot("Pseudocolor", "nodal")
    +    DrawPlots()
    +    Test("polyhedral03")
    +
    +    ChangeActivePlotsVar("zonal")
    +    SetActivePlots(0)
    +    # show the tesselation that occured on the polyhedral zone
    +    m.showInternal = 1
    +    SetPlotOptions(m)
    +    DrawPlots()
    +    Test("polyhedral04")
    +
    +    SetActivePlots(1)
    +    DeleteActivePlots()
    +
    +    Test("polyhedral05")
    +
    +    DeleteAllPlots()
    +
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_scalar.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_scalar.html new file mode 100644 index 000000000..779405557 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_scalar.html @@ -0,0 +1,56 @@ + +Results for simulation/scalar.py + +

    Results of VisIt Regression Test - simulation/scalar

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    scalar000 modifications totalling 0 lines
    scalar010 modifications totalling 0 lines
    scalar020.000.00
    scalar030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_scalar_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_scalar_py.html new file mode 100644 index 000000000..895d2eec6 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_scalar_py.html @@ -0,0 +1,57 @@ +simulation/scalar.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  scalar.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       June 18, 2014
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("scalar", "scalar.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("scalar00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("scalar01", sim.metadata())
    +
    +    # 2d mesh and scalars
    +    AddPlot("Mesh", "mesh2d")
    +    AddPlot("Pseudocolor", "zonal")
    +    AddPlot("Label", "zonal")
    +    LabelAtts = LabelAttributes()
    +    LabelAtts.textFont1.scale = 7
    +    SetPlotOptions(LabelAtts)
    +    DrawPlots()
    +    Test("scalar02")
    +
    +    DeleteAllPlots()
    +
    +    # 2d mesh and scalars
    +    AddPlot("Mesh", "mesh3d")
    +    AddPlot("Pseudocolor", "nodal")
    +    AddPlot("Label", "nodal")
    +    LabelAtts = LabelAttributes()
    +    LabelAtts.textFont1.scale = 7
    +    LabelAtts.depthTestMode = LabelAtts.LABEL_DT_NEVER
    +    SetPlotOptions(LabelAtts)
    +
    +    DrawPlots()
    +    Test("scalar03")
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_species.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_species.html new file mode 100644 index 000000000..fd2e46bd4 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_species.html @@ -0,0 +1,137 @@ + +Results for simulation/species.py + +

    Results of VisIt Regression Test - simulation/species

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    species000 modifications totalling 0 lines
    species010 modifications totalling 0 lines
    species020.000.00
    species030.000.00
    Force MIR
    species040.000.00
    Turn off materials
    species050.000.00
    species060.000.00
    species070.000.00
    Turn off species
    species080.000.00
    species090.000.00
    species100.000.00
    species110.000.00
    species120.000.00
    species130.000.00
    species140.000.00
    species150.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_species_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_species_py.html new file mode 100644 index 000000000..199820581 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_species_py.html @@ -0,0 +1,83 @@ +simulation/species.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  species.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       July 9, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Force MIR
    +#m = GetMaterialAttributes()
    +#m.forceMIR = 1
    +#SetMaterialAttributes(m)
    +
    +# Create our simulation object.
    +sim = TestSimulation("species", "species.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("species00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("species01", sim.metadata())
    +
    +    AddPlot("FilledBoundary", "Material")
    +    DrawPlots()
    +    Test("species02")
    +
    +    DeleteActivePlots()
    +    AddPlot("Pseudocolor", "scalar")
    +    DrawPlots()
    +    Test("species03")
    +
    +    DeleteAllPlots()
    +    TestSection("Force MIR")
    +    # Force MIR
    +    m = GetMaterialAttributes()
    +    m.forceMIR = 1
    +    SetMaterialAttributes(m)
    +
    +    AddPlot("Pseudocolor", "scalar")
    +    DrawPlots()
    +    Test("species04")
    +
    +    TestSection("Turn off materials")
    +    TurnMaterialsOff("Water")
    +    DrawPlots()
    +    Test("species05")
    +
    +    TurnMaterialsOn("Water")
    +    TurnMaterialsOff("Membrane")
    +    DrawPlots()
    +    Test("species06")
    +
    +    TurnMaterialsOn("Membrane")
    +    TurnMaterialsOff("Air")
    +    DrawPlots()
    +    Test("species07")
    +
    +    TurnMaterialsOn("Air")
    +
    +    TestSection("Turn off species")
    +    s = SILRestriction()
    +    for i in range(8):
    +        s.TurnOffSet(s.SetsInCategory("Species")[i])
    +        SetPlotSILRestriction(s)
    +        s.TurnOnSet(s.SetsInCategory("Species")[i])
    +        Test("species%02d"%(i+8))
    +    DeleteAllPlots()
    +
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_ucdcurve.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_ucdcurve.html new file mode 100644 index 000000000..636875694 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_ucdcurve.html @@ -0,0 +1,66 @@ + +Results for simulation/ucdcurve.py + +

    Results of VisIt Regression Test - simulation/ucdcurve

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ucdcurve000 modifications totalling 0 lines
    ucdcurve010 modifications totalling 0 lines
    ucdcurve020.000.00
    ucdcurve030.000.00
    ucdcurve040.000.00
    ucdcurve050 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_ucdcurve_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_ucdcurve_py.html new file mode 100644 index 000000000..95330e313 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_ucdcurve_py.html @@ -0,0 +1,72 @@ +simulation/ucdcurve.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  ucdcurve.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              mesh   - ucdcurve
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       Jun 24, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +import time
    +
    +# Create our simulation object.
    +sim = TestSimulation("ucdcurve", "ucdcurve.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("ucdcurve00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("ucdcurve01", sim.metadata())
    +
    +    AddPlot("Pseudocolor", "nodal")
    +    pcAtts = PseudocolorAttributes()
    +    pcAtts.lineWidth = 4
    +    SetPlotOptions(pcAtts)
    +    DrawPlots()
    +    Test("ucdcurve02")
    +
    +    times = "Times:\n"
    +    Query("Time")
    +    times = times + str(GetQueryOutputValue()) + "\n"
    +
    +    # Read the 'VisIt connected' message
    +    buf = sim.p.stderr.readline()
    +    for i in range(4):
    +        sim.consolecommand("step")
    +        # Read from stderr to look for the echoed command.
    +        buf = sim.p.stderr.readline()
    +        time.sleep(1)
    +    Test("ucdcurve03")
    +
    +    Query("Time")
    +    times = times + str(GetQueryOutputValue()) + "\n"
    +
    +    ChangeActivePlotsVar("zonal")
    +
    +    for i in range(10):
    +        sim.consolecommand("step")
    +        buf = sim.p.stderr.readline()
    +        time.sleep(1)
    +    Test("ucdcurve04")
    +
    +    Query("Time")
    +    times = times + str(GetQueryOutputValue()) + "\n"
    +
    +    TestText("ucdcurve05", times)
    +
    +    DeleteAllPlots()
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_unstructured.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_unstructured.html new file mode 100644 index 000000000..1b8d051f1 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_unstructured.html @@ -0,0 +1,50 @@ + +Results for simulation/unstructured.py + +

    Results of VisIt Regression Test - simulation/unstructured

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    unstructured000 modifications totalling 0 lines
    unstructured010 modifications totalling 0 lines
    unstructured020.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_unstructured_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_unstructured_py.html new file mode 100644 index 000000000..65a0821be --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_unstructured_py.html @@ -0,0 +1,44 @@ +simulation/unstructured.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  unstructured.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#              unstructured   - 3D unstructured.
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 18, 2014
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("unstructured", "unstructured.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("unstructured00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("unstructured01", sim.metadata())
    +
    +    AddPlot("Mesh", "unstructured3d")
    +    m = MeshAttributes(1)
    +    m.lineWidth = 1
    +    SetPlotOptions(m)
    +    AddPlot("Subset", "Domains")
    +    DrawPlots()
    +    v = GetView3D()
    +    v.viewNormal = (0.707107, 0, 0.707107)
    +    SetView3D(v)
    +    Test("unstructured02")
    +
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots.html new file mode 100644 index 000000000..b7e8e64e2 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots.html @@ -0,0 +1,90 @@ + +Results for simulation/updateplots.py + +

    Results of VisIt Regression Test - simulation/updateplots

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    updateplots000 modifications totalling 0 lines
    updateplots010 modifications totalling 0 lines
    updateplots020.000.00
    updateplots030.000.00
    updateplots040.000.00
    updateplots050.000.00
    updateplots060.000.00
    updateplots070.000.00
    updateplots080.000.00
    updateplots090 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_py.html new file mode 100644 index 000000000..aca239315 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_py.html @@ -0,0 +1,89 @@ +simulation/updateplots.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  updateplots.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Kathleen Biagas 
    +#  Date:       June 18, 2014 
    +#
    +#  Modifications:
    +#   Kathleen Biagas, Fri Sep 10 09:37:11 PDT 2021
    +#   Added test for exporting vtk.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("updateplots", "updateplots.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("updateplots00", sim)
    +
    +def step(sim):
    +    sim.consolecommand("step")
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command 'step'" in buf:
    +            keepGoing = False
    +
    +def testExportVTK(sim):
    +    # default export FileFormat for VTK is Legacy ascii (.vtk extension),
    +    # Test an export that sets the FileFormat to XML Binary (.vtr extension)
    +    sim.consolecommand("exportVTK")
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command 'exportVTK'" in buf:
    +            keepGoing = False
    +    TestValueEQ("updateplots_export0000.vtr exists",
    +         os.path.isfile(os.path.join(TestEnv.params["run_dir"], "updateplots_export0000.vtr")),
    +         True)
    +
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("updateplots01", sim.metadata())
    +
    +    # 2d mesh and updateplotss
    +    #AddPlot("Mesh", "mesh2d")
    +    AddPlot("Pseudocolor", "zonal")
    +    AddPlot("Vector", "zvec")
    +    VectorAtts = VectorAttributes()
    +    VectorAtts.scale = 0.5
    +    VectorAtts.colorByMagnitude = 0
    +    VectorAtts.vectorColor = (255, 255, 255, 255)
    +    SetPlotOptions(VectorAtts)
    +    DrawPlots()
    +    Test("updateplots02")
    +
    +    i = 3
    +    times = "Times:\n"
    +    Query("Time")
    +    times = times + str(GetQueryOutputValue()) + "\n"
    +    for outer in range(6):
    +        for inner in range(3):
    +            step(sim)
    +        Query("Time")
    +        times = times + str(GetQueryOutputValue()) + "\n"
    +        Test("updateplots%02d"%i)
    +        i = i+1
    +
    +    TestText("updateplots%02d"%i, times)
    +
    +    # Uncomment this when #17008 is fixed (crash when Logging ExportDBRPC)
    +    #testExportVTK(sim)
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_session.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_session.html new file mode 100644 index 000000000..1869b1bc7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_session.html @@ -0,0 +1,99 @@ + +Results for simulation/updateplots_session.py + +

    Results of VisIt Regression Test - simulation/updateplots_session

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Testing batch simulation with session file
    updateplots_session_000.000.00
    updateplots_session_010.000.00
    updateplots_session_020.000.00
    updateplots_session_030.000.00
    updateplots_session_040.000.00
    updateplots_session_050.000.00
    updateplots_session_060.000.00
    updateplots_session_070.000.00
    updateplots_session_080.000.00
    updateplots_session_090.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_session_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_session_py.html new file mode 100644 index 000000000..1cde57183 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_updateplots_session_py.html @@ -0,0 +1,88 @@ +simulation/updateplots_session.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  updateplots_session.py
    +#
    +#  Tests:      libsim - batch simulations that make images via a session file.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Fri Oct  2 15:18:56 PDT 2015
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +import string, time
    +
    +def WaitForFile(filename, starttime, timelimit):
    +    fileSize = 0
    +    lastFileSize = 0
    +    samecount = 0
    +    for iteration in range(1000):
    +        delay = 2
    +        try:
    +            # Get the size of the file.
    +            fileSize = os.stat(filename).st_size
    +
    +            # If the file grew, wait a little bit and check again.
    +            if fileSize > lastFileSize:
    +                samecount = 0
    +            elif fileSize == lastFileSize and fileSize > 0:
    +                delay = 1
    +                samecount = samecount + 1
    +                if samecount == 3:
    +                    break
    +
    +            lastFileSize = fileSize
    +        except:
    +            print("Problem stat'ing ", filename)
    +            pass
    +
    +        time.sleep(delay)
    +        if (time.time() - starttime) > timelimit:
    +            raise "Out of time"
    +
    +    return fileSize
    +
    +TestSection("Testing batch simulation with session file")
    +
    +# The name of the session file.
    +session = TestEnv.params["script"].replace("updateplots_session.py", "updateplots_session.session")
    +
    +# Create our simulation object.
    +sim = Simulation(SimVisItDir(), SimProgram("updateplots"), SimFile("dummy"))
    +sim.addargument("-batch")
    +sim.addargument("-sessionfile")
    +sim.addargument(session)
    +sim.addargument("-maxcycles")
    +sim.addargument("11")
    +sim.addargument("-width")
    +sim.addargument("%d" % TestEnv.params["width"])
    +sim.addargument("-height")
    +sim.addargument("%d" % TestEnv.params["height"])
    +
    +
    +# Start the sim.
    +sim.startsim()
    +
    +# Iterate through the images that we hoped the simulation would create.
    +timelimit = 300
    +starttime = time.time()
    +for testindex in range(10):
    +    filename = "updateplots%04d.png" % testindex
    +    if WaitForFile(filename, starttime, timelimit):
    +        OpenDatabase(filename)
    +        AddPlot("Truecolor", "color")
    +        DrawPlots()
    +        ResetView()
    +        v = GetView2D()
    +        v.viewportCoords = (0,1,0,1)
    +        SetView2D(v)
    +        testname = "updateplots_session_%02d" % testindex
    +        Test(testname)
    +        DeleteAllPlots()
    +        CloseDatabase(filename)
    +
    +sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_var.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_var.html new file mode 100644 index 000000000..e4bdd0b57 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_var.html @@ -0,0 +1,56 @@ + +Results for simulation/var.py + +

    Results of VisIt Regression Test - simulation/var

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    var000 modifications totalling 0 lines
    var010 modifications totalling 0 lines
    var020.000.00
    var030.000.00
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_var_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_var_py.html new file mode 100644 index 000000000..2f7673f2e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_var_py.html @@ -0,0 +1,62 @@ +simulation/var.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  var.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Kathleen Biagas
    +#  Date:       June 6, 2014
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Nov 28, 2022
    +#    Replace obsolete Label text attributes with new versions.
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Create our simulation object.
    +sim = TestSimulation("var", "var.sim2")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("var00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("var01", sim.metadata())
    +
    +    # 2d mesh and vars
    +    AddPlot("Mesh", "mesh2d")
    +    AddPlot("Pseudocolor", "zonal_scalar")
    +    AddPlot("Vector", "zonal_vector")
    +    VectorAtts = VectorAttributes()
    +    VectorAtts.scale = 0.5
    +    VectorAtts.colorByMagnitude = 0
    +    VectorAtts.vectorColor = (255, 255, 255, 255)
    +    SetPlotOptions(VectorAtts)
    +    AddPlot("Label", "zonal_label")
    +    LabelAtts = LabelAttributes()
    +    LabelAtts.textFont1.scale = 6
    +    SetPlotOptions(LabelAtts)
    +    DrawPlots()
    +    Test("var02")
    +
    +    DeleteAllPlots()
    +
    +    # 2d mesh and vars
    +    AddPlot("Mesh", "mesh3d")
    +    AddPlot("Pseudocolor", "nodal_scalar")
    +    AddPlot("Vector", "nodal_vector")
    +    VectorAtts = VectorAttributes()
    +    VectorAtts.scale = 0.5
    +    SetPlotOptions(VectorAtts)
    +
    +    DrawPlots()
    +    Test("var03")
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_zerocopy.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_zerocopy.html new file mode 100644 index 000000000..796fda321 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_zerocopy.html @@ -0,0 +1,285 @@ + +Results for simulation/zerocopy.py + +

    Results of VisIt Regression Test - simulation/zerocopy

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    zerocopy000 modifications totalling 0 lines
    zerocopy010 modifications totalling 0 lines
    Mesh soa_s
    zerocopy_soa_s_000.000.00
    zerocopy_soa_s_010.000.00
    zerocopy_soa_s_020.000.00
    zerocopy_soa_s_030.000.00
    zerocopy_soa_s_040.000.00
    zerocopy_soa_s_050.000.00
    Mesh soa_m
    zerocopy_soa_m_000.000.00
    zerocopy_soa_m_010.000.00
    zerocopy_soa_m_020.000.00
    zerocopy_soa_m_030.000.00
    zerocopy_soa_m_040.000.00
    zerocopy_soa_m_050.000.00
    Mesh soa_i
    zerocopy_soa_i_000.000.00
    zerocopy_soa_i_010.000.00
    zerocopy_soa_i_020.000.00
    zerocopy_soa_i_030.000.00
    zerocopy_soa_i_040.000.00
    zerocopy_soa_i_050.000.00
    Mesh aos_s
    zerocopy_aos_s_000.000.00
    zerocopy_aos_s_010.000.00
    zerocopy_aos_s_020.000.00
    zerocopy_aos_s_030.000.00
    zerocopy_aos_s_040.000.00
    zerocopy_aos_s_050.000.00
    Mesh aos_m
    zerocopy_aos_m_000.000.00
    zerocopy_aos_m_010.000.00
    zerocopy_aos_m_020.000.00
    zerocopy_aos_m_030.000.00
    zerocopy_aos_m_040.000.00
    zerocopy_aos_m_050.000.00
    Mesh aos_c
    zerocopy_aos_c_000.000.00
    zerocopy_aos_c_010.000.00
    zerocopy_aos_c_020.000.00
    zerocopy_aos_c_030.000.00
    zerocopy_aos_c_040.000.00
    zerocopy_aos_c_050.000.00
    Memory usage
    zerocopy020 modifications totalling 0 lines
    +

    Final Return Code: 119

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/simulation_zerocopy_py.html b/2023-11-08-22:00/pascal_trunk_serial/simulation_zerocopy_py.html new file mode 100644 index 000000000..2df862b9c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/simulation_zerocopy_py.html @@ -0,0 +1,178 @@ +simulation/zerocopy.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  zerocopy.py
    +#
    +#  Tests:      libsim - connecting to simulation and retrieving data from it.
    +#
    +#  Programmer: Brad Whitlock
    +#  Date:       Wed Jul 22 16:07:12 PDT 2015
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +import string
    +
    +def step(sim):
    +    sim.consolecommand("step")
    +    # Read from stderr to look for the echoed command. Sync.
    +    keepGoing = True
    +    while keepGoing:
    +        buf = sim.p.stderr.readline()
    +        print(buf)
    +        if "Command 'step'" in buf:
    +            keepGoing = False
    +
    +def MemorySample(sim, label = ""):
    +    EL = GetEngineList(1)
    +    pa = GetProcessAttributes("engine", EL[0][0], EL[0][1])
    +    return (pa.memory[0], label)
    +
    +def sv():
    +    v = GetView3D()
    +    v.viewNormal = (0.284499, -0.766043, 0.576401)
    +    v.focus = (0, 0.499486, 0)
    +    v.viewUp = (-0.137723, 0.562352, 0.815348)
    +    v.viewAngle = 30
    +    v.parallelScale = 1.49949
    +    v.nearPlane = -2.99897
    +    v.farPlane = 2.99897
    +    v.imagePan = (0.0351381, 0.0550703)
    +    v.imageZoom = 1.15316
    +    v.perspective = 1
    +    v.eyeAngle = 2
    +    v.centerOfRotationSet = 0
    +    v.centerOfRotation = (0, 0.499486, 0)
    +    v.axis3DScaleFlag = 0
    +    v.axis3DScales = (1, 1, 1)
    +    v.shear = (0, 0, 1)
    +    v.windowValid = 1
    +    SetView3D(v)
    +
    +def meshtest(sim, mesh):
    +    m = [MemorySample(sim, "Initial")]
    +    TestSection("Mesh " + mesh)
    +
    +    AddPlot("Pseudocolor", mesh + "/temperature")
    +    DrawPlots()
    +    sv()
    +    m = m + [MemorySample(sim, "Pseudocolor plot temperature")]
    +    Test("zerocopy_%s_00" % mesh)
    +
    +    ChangeActivePlotsVar(mesh + "/vx")
    +    Test("zerocopy_%s_01" % mesh)
    +    m = m + [MemorySample(sim, "Change to vx")]
    +
    +    ChangeActivePlotsVar(mesh + "/I")
    +    Test("zerocopy_%s_02" % mesh)
    +    m = m + [MemorySample(sim, "Change to I")]
    +
    +    ChangeActivePlotsVar(mesh + "/J")
    +    Test("zerocopy_%s_03" % mesh)
    +    m = m + [MemorySample(sim, "Change to J")]
    +
    +    ChangeActivePlotsVar(mesh + "/K")
    +    Test("zerocopy_%s_04" % mesh)
    +    m = m + [MemorySample(sim, "Change to K")]
    +
    +    DeleteAllPlots()
    +
    +    AddPlot("Vector", mesh + "/velocity")
    +    DrawPlots()
    +    Test("zerocopy_%s_05" % mesh)
    +    m = m + [MemorySample(sim, "Vector plot velocity")]
    +
    +    DeleteAllPlots()
    +    AddPlot("Pseudocolor", mesh + "/temperature")
    +    DrawPlots()
    +    for i in range(20):
    +        step(sim)
    +        m = m + [MemorySample(sim, "Pseudocolor plot temperature iteration %d" % i)]
    +    DeleteAllPlots()
    +    return m
    +
    +def SaveTestImage(name):
    +    # Save these images somewhat larger than a regular test case image
    +    # since the images contain a lot of text.
    +    swa = SaveWindowAttributes()
    +    swa.width = 800
    +    swa.height = 800
    +    swa.screenCapture = 0
    +    Test(name, swa)
    +
    +def MeshNames():
    +    return ("soa_s", "soa_m", "soa_i", "aos_s", "aos_m", "aos_c")
    +
    +def PlotMemoryCurve(filename, testname):
    +    OpenDatabase("simmem.curve")
    +    M = MeshNames()
    +    for mesh in M:
    +        AddPlot("Curve", mesh)
    +    DrawPlots()
    +    ResetView()
    +    SaveTestImage(testname)
    +
    +# Do a simple, reliable test without quantifying since that would not be
    +# portable and would require rebaselining as VisIt changes.
    +def TestMemoryUsage(memory, testname):
    +    def AllMethodsUseLessMemoryThanCopying(memory):
    +        numSamples = len(memory["aos_c"])
    +        for i in range(numSamples):
    +            copyMem = memory["aos_c"][i][0]
    +            for k in list(memory.keys()):
    +                if k != "aos_c":
    +                    if memory[k][i][0] > copyMem:
    +                        return False
    +        return True
    +    if AllMethodsUseLessMemoryThanCopying(memory):
    +        TestText(testname, "OK: All methods use less memory than copying.")
    +    else:
    +        TestText(testname, "ERROR: Some methods used more memory than copying.")
    +
    +def WriteData(filename, memory):
    +    print(memory)
    +    numSamples = len(memory["aos_c"])
    +    f = open(filename, "wt")
    +    M = MeshNames()
    +    f.write("event," + string.replace(str(M), "'", "")[1:-1] + "\n")
    +    for row in range(numSamples):
    +        s = memory["aos_c"][row][1]
    +        for m in M:
    +            s = s + ", " + str(memory[m][row][0])
    +        f.write(s + "\n")
    +    f.close()
    +
    +# Create our simulation object.
    +sim = TestSimulation("zerocopy", "zerocopy.sim2")
    +sim.addargument("-echo")
    +
    +# Test that we can start and connect to the simulation.
    +started, connected = TestSimStartAndConnect("zerocopy00", sim)
    +
    +# Perform our tests.
    +if connected:
    +    # Make sure the metadata is right.
    +    TestSimMetaData("zerocopy01", sim.metadata())
    +
    +    memorySamples = {}
    +    f = open("simmem.curve", "wt")
    +    M = MeshNames()
    +    for mesh in M:
    +        m = meshtest(sim, mesh)
    +        f.write("# " + mesh + "\n")
    +        for i in range(len(m)):
    +            f.write("%g %g\n" % (i,m[i][0]))
    +        memorySamples[mesh] = m
    +    f.close()
    +
    +    TestSection("Memory usage")
    +    TestMemoryUsage(memorySamples, "zerocopy02")
    +#    PlotMemoryCurve("simmem.curve", "zerocopy03")
    +#    WriteData("zerocopy.dat", memorySamples)
    +
    +# Close down the simulation.
    +if started:
    +    sim.endsim()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_annotation_objects.html b/2023-11-08-22:00/pascal_trunk_serial/unit_annotation_objects.html new file mode 100644 index 000000000..2499e1397 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_annotation_objects.html @@ -0,0 +1,44 @@ + +Results for unit/annotation_objects.py + +

    Results of VisIt Regression Test - unit/annotation_objects

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    ComparisonOperator_00
     "False" .eq. "False" : True
    ComparisonOperator_01
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_annotation_objects_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_annotation_objects_py.html new file mode 100644 index 000000000..17752536d --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_annotation_objects_py.html @@ -0,0 +1,30 @@ +unit/annotation_objects.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  annotation_objects.py
    +#
    +#  Tests:      AnnotationObject unit test
    +#
    +#  Alister Maguire, Fri Jul 16 12:50:11 PDT 2021
    +#
    +#  Modifications:
    +#
    +# ----------------------------------------------------------------------------
    +
    +
    +def CheckComparisonOperator():
    +    annot = CreateAnnotationObject("Text2D")
    +
    +    #
    +    # In the past, a bug caused a crash whenever we compared to a non-annotation
    +    # type object.
    +    #
    +    TestValueEQ("ComparisonOperator_00", annot == "", False)
    +    TestValueEQ("ComparisonOperator_01", annot == annot, True)
    +
    +def RunMain():
    +    CheckComparisonOperator()
    +
    +RunMain()
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_atts_assign.html b/2023-11-08-22:00/pascal_trunk_serial/unit_atts_assign.html new file mode 100644 index 000000000..ddb84056a --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_atts_assign.html @@ -0,0 +1,1806 @@ + +Results for unit/atts_assign.py + +

    Results of VisIt Regression Test - unit/atts_assign

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Assignment to bool member, "inverse", (of CylinderAttributes())
    ca.inverse=1,2
     "True" .eq. "True" : True
    ca.inverse='123'
     "True" .eq. "True" : True
    ca.inverse=(1+2j)
     "True" .eq. "True" : True
    ca.inverse=[2, 4, 6]
     "True" .eq. "True" : True
    ca.inverse=None
     "True" .eq. "True" : True
    ca.inverse=5
     "True" .eq. "True" : True
    ca.SetInverse('123')
     "True" .eq. "True" : True
    ca.SetInverse((1+2j))
     "True" .eq. "True" : True
    ca.SetInverse([2, 4, 6])
     "True" .eq. "True" : True
    ca.SetInverse(None)
     "True" .eq. "True" : True
    ca.SetInverse(5)
     "True" .eq. "True" : True
    ca.inverse=0
     "True" .eq. "True" : True
    ca.inverse=1
     "True" .eq. "True" : True
    ca.inverse=True
     "True" .eq. "True" : True
    ca.inverse=False
     "True" .eq. "True" : True
    ca.SetInverse(0)
     "True" .eq. "True" : True
    ca.SetInverse(1)
     "True" .eq. "True" : True
    ca.SetInverse(True)
     "True" .eq. "True" : True
    ca.SetInverse(False)
     "True" .eq. "True" : True
    Assignment to int member, "samplesPerRay", (of VolumeAttributes())
    va.samplesPerRay=1,2
     "True" .eq. "True" : True
    va.samplesPerRay='123'
     "True" .eq. "True" : True
    va.samplesPerRay=(1+2j)
     "True" .eq. "True" : True
    va.samplesPerRay=None
     "True" .eq. "True" : True
    va.samplesPerRay=[2, 4, 6]
     "True" .eq. "True" : True
    va.samplesPerRay=2147483648
     "True" .eq. "True" : True
    va.SetSamplesPerRay('123')
     "True" .eq. "True" : True
    va.SetSamplesPerRay((1+2j))
     "True" .eq. "True" : True
    va.SetSamplesPerRay(None)
     "True" .eq. "True" : True
    va.SetSamplesPerRay([2, 4, 6])
     "True" .eq. "True" : True
    va.SetSamplesPerRay(2147483648)
     "True" .eq. "True" : True
    va.samplesPerRay=0
     "True" .eq. "True" : True
    va.samplesPerRay=1
     "True" .eq. "True" : True
    va.samplesPerRay=-1
     "True" .eq. "True" : True
    va.samplesPerRay=5
     "True" .eq. "True" : True
    va.samplesPerRay=True
     "True" .eq. "True" : True
    va.samplesPerRay=False
     "True" .eq. "True" : True
    va.samplesPerRay=2147483647
     "True" .eq. "True" : True
    va.SetSamplesPerRay(0)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(1)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(-1)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(5)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(True)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(False)
     "True" .eq. "True" : True
    va.SetSamplesPerRay(2147483647)
     "True" .eq. "True" : True
    Assignment to float member, "opacityAttenuation", (of VolumeAttributes())
    va.opacityAttenuation=1,2
     "True" .eq. "True" : True
    va.opacityAttenuation='123'
     "True" .eq. "True" : True
    va.opacityAttenuation=(1+2j)
     "True" .eq. "True" : True
    va.opacityAttenuation=None
     "True" .eq. "True" : True
    va.opacityAttenuation=[2, 4, 6]
     "True" .eq. "True" : True
    va.opacityAttenuation=3.402823e+39
     "True" .eq. "True" : True
    va.SetOpacityAttenuation('123')
     "True" .eq. "True" : True
    va.SetOpacityAttenuation((1+2j))
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(None)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation([2, 4, 6])
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(3.402823e+39)
     "True" .eq. "True" : True
    va.opacityAttenuation=0
     "True" .eq. "True" : True
    va.opacityAttenuation=1
     "True" .eq. "True" : True
    va.opacityAttenuation=-1
     "True" .eq. "True" : True
    va.opacityAttenuation=0.3
     "True" .eq. "True" : True
    va.opacityAttenuation=3.40282e+37
     "True" .eq. "True" : True
    va.opacityAttenuation=True
     "True" .eq. "True" : True
    va.opacityAttenuation=False
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(0)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(1)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(-1)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(0.3)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(3.40282e+37)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(True)
     "True" .eq. "True" : True
    va.SetOpacityAttenuation(False)
     "True" .eq. "True" : True
    Assignment to double member, "radius", (of CylinderAttributes())
    ca.radius=1,2
     "True" .eq. "True" : True
    ca.radius='123'
     "True" .eq. "True" : True
    ca.radius=(1+2j)
     "True" .eq. "True" : True
    ca.radius=None
     "True" .eq. "True" : True
    ca.radius=[2, 4, 6]
     "True" .eq. "True" : True
    ca.SetRadius('123')
     "True" .eq. "True" : True
    ca.SetRadius((1+2j))
     "True" .eq. "True" : True
    ca.SetRadius(None)
     "True" .eq. "True" : True
    ca.SetRadius([2, 4, 6])
     "True" .eq. "True" : True
    ca.radius=0
     "True" .eq. "True" : True
    ca.radius=1
     "True" .eq. "True" : True
    ca.radius=-1
     "True" .eq. "True" : True
    ca.radius=5.5
     "True" .eq. "True" : True
    ca.radius=0.0
     "True" .eq. "True" : True
    ca.radius=inf
     "True" .eq. "True" : True
    ca.radius=True
     "True" .eq. "True" : True
    ca.radius=False
     "True" .eq. "True" : True
    ca.SetRadius(0)
     "True" .eq. "True" : True
    ca.SetRadius(1)
     "True" .eq. "True" : True
    ca.SetRadius(-1)
     "True" .eq. "True" : True
    ca.SetRadius(5.5)
     "True" .eq. "True" : True
    ca.SetRadius(0.0)
     "True" .eq. "True" : True
    ca.SetRadius(inf)
     "True" .eq. "True" : True
    ca.SetRadius(True)
     "True" .eq. "True" : True
    ca.SetRadius(False)
     "True" .eq. "True" : True
    Assignment to string member, "designator", (of CurveAttributes())
    ca.designator="123","abc"
     "True" .eq. "True" : True
    ca.designator=0
     "True" .eq. "True" : True
    ca.designator=1
     "True" .eq. "True" : True
    ca.designator=1.1
     "True" .eq. "True" : True
    ca.designator=(1+2j)
     "True" .eq. "True" : True
    ca.designator=None
     "True" .eq. "True" : True
    ca.designator=[2, 4, 6]
     "True" .eq. "True" : True
    ca.SetDesignator(0)
     "True" .eq. "True" : True
    ca.SetDesignator(1)
     "True" .eq. "True" : True
    ca.SetDesignator(1.1)
     "True" .eq. "True" : True
    ca.SetDesignator((1+2j))
     "True" .eq. "True" : True
    ca.SetDesignator(None)
     "True" .eq. "True" : True
    ca.SetDesignator([2, 4, 6])
     "True" .eq. "True" : True
    ca.designator='123'
     "True" .eq. "True" : True
    ca.designator='abc'
     "True" .eq. "True" : True
    ca.designator=''
     "True" .eq. "True" : True
    ca.SetDesignator('123')
     "True" .eq. "True" : True
    ca.SetDesignator('abc')
     "True" .eq. "True" : True
    ca.SetDesignator('')
     "True" .eq. "True" : True
    Assignment to GlyphType member, "pointType", (of MeshAttributes())
    ma.pointType=1
     "True" .eq. "True" : True
    ma.pointType='123'
     "True" .eq. "True" : True
    ma.pointType=(1+2j)
     "True" .eq. "True" : True
    ma.pointType=None
     "True" .eq. "True" : True
    ma.pointType=[2, 4, 6]
     "True" .eq. "True" : True
    ma.pointType=-1
     "True" .eq. "True" : True
    ma.pointType=123123123123123123123123123123
     "True" .eq. "True" : True
    ma.SetPointType('123')
     "True" .eq. "True" : True
    ma.SetPointType((1+2j))
     "True" .eq. "True" : True
    ma.SetPointType(None)
     "True" .eq. "True" : True
    ma.SetPointType([2, 4, 6])
     "True" .eq. "True" : True
    ma.SetPointType(-1)
     "True" .eq. "True" : True
    ma.SetPointType(123123123123123123123123123123)
     "True" .eq. "True" : True
    ma.pointType=0
     "True" .eq. "True" : True
    ma.pointType=1
     "True" .eq. "True" : True
    ma.pointType=5
     "True" .eq. "True" : True
    ma.pointType=True
     "True" .eq. "True" : True
    ma.pointType=False
     "True" .eq. "True" : True
    ma.pointType=6
     "True" .eq. "True" : True
    ma.SetPointType(0)
     "True" .eq. "True" : True
    ma.SetPointType(1)
     "True" .eq. "True" : True
    ma.SetPointType(5)
     "True" .eq. "True" : True
    ma.SetPointType(True)
     "True" .eq. "True" : True
    ma.SetPointType(False)
     "True" .eq. "True" : True
    ma.SetPointType(6)
     "True" .eq. "True" : True
    Assignment to Enum member, "smoothingLevel", (of MeshAttributes())
    ma.smoothingLevel=1
     "True" .eq. "True" : True
    ma.smoothingLevel='123'
     "True" .eq. "True" : True
    ma.smoothingLevel=(1+2j)
     "True" .eq. "True" : True
    ma.smoothingLevel=None
     "True" .eq. "True" : True
    ma.smoothingLevel=[2, 4, 6]
     "True" .eq. "True" : True
    ma.smoothingLevel=-1
     "True" .eq. "True" : True
    ma.smoothingLevel=123123123
     "True" .eq. "True" : True
    ma.smoothingLevel=123123123123123123123123123123
     "True" .eq. "True" : True
    ma.SetSmoothingLevel('123')
     "True" .eq. "True" : True
    ma.SetSmoothingLevel((1+2j))
     "True" .eq. "True" : True
    ma.SetSmoothingLevel(None)
     "True" .eq. "True" : True
    ma.SetSmoothingLevel([2, 4, 6])
     "True" .eq. "True" : True
    ma.SetSmoothingLevel(-1)
     "True" .eq. "True" : True
    ma.SetSmoothingLevel(123123123)
     "True" .eq. "True" : True
    ma.SetSmoothingLevel(123123123123123123123123123123)
     "True" .eq. "True" : True
    ma.smoothingLevel=0
     "True" .eq. "True" : True
    ma.smoothingLevel=1
     "True" .eq. "True" : True
    ma.smoothingLevel=2
     "True" .eq. "True" : True
    ma.smoothingLevel=True
     "True" .eq. "True" : True
    ma.smoothingLevel=False
     "True" .eq. "True" : True
    ma.smoothingLevel=1
     "True" .eq. "True" : True
    ma.SmoothingLevel(0)
     "True" .eq. "True" : True
    ma.SmoothingLevel(1)
     "True" .eq. "True" : True
    ma.SmoothingLevel(2)
     "True" .eq. "True" : True
    ma.SmoothingLevel(True)
     "True" .eq. "True" : True
    ma.SmoothingLevel(False)
     "True" .eq. "True" : True
    ma.SmoothingLevel(1)
     "True" .eq. "True" : True
    Assignment to tuple, "point1", member (of CylinderAttributes())
    ca.point=1,2,3
     "True" .eq. "True" : True
    ca.SetPoint(1,2,3)
     "True" .eq. "True" : True
    ca.point1=1,2
     "True" .eq. "True" : True
    ca.point1=1,2,3,4
     "True" .eq. "True" : True
    ca.point1=1, 2
     "True" .eq. "True" : True
    ca.point1=1, 2, 3, 4
     "True" .eq. "True" : True
    ca.point1='123'
     "True" .eq. "True" : True
    ca.point1=1, (1+2j), 3
     "True" .eq. "True" : True
    ca.point1=1, [2, 4, 6], 3
     "True" .eq. "True" : True
    ca.point1=1, 'b', 3
     "True" .eq. "True" : True
    ca.point1=1, None, 3
     "True" .eq. "True" : True
    ca.point1=array([1.1, 2.2]
     "True" .eq. "True" : True
    ca.point1=array([1.1, 2.2, 3.3, 4.4]
     "True" .eq. "True" : True
    ca.SetPoint1(1, 2)
     "True" .eq. "True" : True
    ca.SetPoint1(1, 2, 3, 4)
     "True" .eq. "True" : True
    ca.SetPoint1('123')
     "True" .eq. "True" : True
    ca.SetPoint1(1, (1+2j), 3)
     "True" .eq. "True" : True
    ca.SetPoint1(1, [2, 4, 6], 3)
     "True" .eq. "True" : True
    ca.SetPoint1(1, 'b', 3)
     "True" .eq. "True" : True
    ca.SetPoint1(1, None, 3)
     "True" .eq. "True" : True
    ca.SetPoint1(array([1.1, 2.2])
     "True" .eq. "True" : True
    ca.SetPoint1(array([1.1, 2.2, 3.3, 4.4])
     "True" .eq. "True" : True
    ca.point1=1,2,3
     "True" .eq. "True" : True
    ca.point1=1, 2, 3
     "True" .eq. "True" : True
    ca.point1=1.1, 2.2, 3.3
     "True" .eq. "True" : True
    ca.point1=2, 4, 6
     "True" .eq. "True" : True
    ca.point1=array([1, 2, 3]
     "True" .eq. "True" : True
    ca.point1=array([1.1, 2.2, 3.3]
     "True" .eq. "True" : True
    ca.SetPoint1(1, 2, 3)
     "True" .eq. "True" : True
    ca.SetPoint1(1.1, 2.2, 3.3)
     "True" .eq. "True" : True
    ca.SetPoint1(2, 4, 6)
     "True" .eq. "True" : True
    ca.SetPoint1(array([1, 2, 3])
     "True" .eq. "True" : True
    ca.SetPoint1(array([1.1, 2.2, 3.3])
     "True" .eq. "True" : True
    Assignment to ucharVector member, "changedColors", (of MultiCurveAttributes())
    mca.changedColors=1,2,3
     "True" .eq. "True" : True
    mca.changedColors=1, 123123123123123123123123123123, 3
     "True" .eq. "True" : True
    mca.changedColors=1, (1+2j), 3
     "True" .eq. "True" : True
    mca.changedColors=1, [2, 4, 6], 3
     "True" .eq. "True" : True
    mca.changedColors=1, 'b', 3
     "True" .eq. "True" : True
    mca.changedColors=1, None, 3
     "True" .eq. "True" : True
    mca.changedColors='123',
     "True" .eq. "True" : True
    mca.SetChangedColors(1, 123123123123123123123123123123, 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, (1+2j), 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, [2, 4, 6], 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, 'b', 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, None, 3)
     "True" .eq. "True" : True
    mca.SetChangedColors('123',)
     "True" .eq. "True" : True
    mca.changedColors=1, 2, 3
     "True" .eq. "True" : True
    mca.changedColors=2, 4, 6
     "True" .eq. "True" : True
    mca.changedColors=1, True, 3
     "True" .eq. "True" : True
    mca.changedColors=1, False, 3
     "True" .eq. "True" : True
    mca.SetChangedColors(1, 2, 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(2, 4, 6)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, True, 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(1, False, 3)
     "True" .eq. "True" : True
    mca.SetChangedColors(array([1, 2, 3])
     "True" .eq. "True" : True
    Assignment to intVector member, "index", (of OnionPeelAttributes())
    opa.index=1,2,3
     "True" .eq. "True" : True
    opa.index=2147483648,
     "True" .eq. "True" : True
    opa.index=1+2j),
     "True" .eq. "True" : True
    opa.index='b',
     "True" .eq. "True" : True
    opa.index=None,
     "True" .eq. "True" : True
    opa.index=1, 2147483648, 3
     "True" .eq. "True" : True
    opa.index=1, (1+2j), 3
     "True" .eq. "True" : True
    opa.index=1, [2, 4, 6], 3
     "True" .eq. "True" : True
    opa.index=1, 'b', 3
     "True" .eq. "True" : True
    opa.index=1, None, 3
     "True" .eq. "True" : True
    opa.SetIndex(2147483648,)
     "True" .eq. "True" : True
    opa.SetIndex(1+2j),)
     "True" .eq. "True" : True
    opa.SetIndex('b',)
     "True" .eq. "True" : True
    opa.SetIndex(None,)
     "True" .eq. "True" : True
    opa.SetIndex(1, 2147483648, 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, (1+2j), 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, [2, 4, 6], 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, 'b', 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, None, 3)
     "True" .eq. "True" : True
    opa.index=1, 2, 3
     "True" .eq. "True" : True
    opa.index=[2, 4, 6]
     "True" .eq. "True" : True
    opa.index=2, 4, 6
     "True" .eq. "True" : True
    opa.index=1, True, 3
     "True" .eq. "True" : True
    opa.index=1, False, 3
     "True" .eq. "True" : True
    opa.index=1, 2147483647, 3
     "True" .eq. "True" : True
    opa.SetIndex(1, 2, 3)
     "True" .eq. "True" : True
    opa.SetIndex([2, 4, 6])
     "True" .eq. "True" : True
    opa.SetIndex(2, 4, 6)
     "True" .eq. "True" : True
    opa.SetIndex(1, True, 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, False, 3)
     "True" .eq. "True" : True
    opa.SetIndex(1, 2147483647, 3)
     "True" .eq. "True" : True
    opa.SetIndex(array([1, 2, 3])
     "True" .eq. "True" : True
    Assignment to doubleVector member, "values", (of ContourAttributes())
    ca.contourValue=1,2,3
     "True" .eq. "True" : True
    ca.contourValue=1+2j),
     "True" .eq. "True" : True
    ca.contourValue='b',
     "True" .eq. "True" : True
    ca.contourValue=None,
     "True" .eq. "True" : True
    ca.contourValue=1, (1+2j), 3
     "True" .eq. "True" : True
    ca.contourValue=1, [2, 4, 6], 3
     "True" .eq. "True" : True
    ca.contourValue=1, 'b', 3
     "True" .eq. "True" : True
    ca.contourValue=1, None, 3
     "True" .eq. "True" : True
    ca.SetContourValue(1+2j),)
     "True" .eq. "True" : True
    ca.SetContourValue('b',)
     "True" .eq. "True" : True
    ca.SetContourValue(None,)
     "True" .eq. "True" : True
    ca.SetContourValue(1, (1+2j), 3)
     "True" .eq. "True" : True
    ca.SetContourValue(1, [2, 4, 6], 3)
     "True" .eq. "True" : True
    ca.SetContourValue(1, 'b', 3)
     "True" .eq. "True" : True
    ca.SetContourValue(1, None, 3)
     "True" .eq. "True" : True
    ca.contourValue=1, 2, 3
     "True" .eq. "True" : True
    ca.contourValue=[2, 4, 6]
     "True" .eq. "True" : True
    ca.contourValue=2, 4, 6
     "True" .eq. "True" : True
    ca.contourValue=1, True, 3
     "True" .eq. "True" : True
    ca.contourValue=1, False, 3
     "True" .eq. "True" : True
    ca.SetContourValue(1, 2, 3)
     "True" .eq. "True" : True
    ca.SetContourValue([2, 4, 6])
     "True" .eq. "True" : True
    ca.SetContourValue(2, 4, 6)
     "True" .eq. "True" : True
    ca.SetContourValue(1, True, 3)
     "True" .eq. "True" : True
    ca.SetContourValue(1, False, 3)
     "True" .eq. "True" : True
    ca.SetContourValue(array([1.1, 2.2, 3.3])
     "True" .eq. "True" : True
    Assignment to ucharArray member, "freeformOpacity", (of VolumeAttributes())
    va.freeformOpacity=3,17
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,17)
     "True" .eq. "True" : True
    va.freeformOpacity=tuple(arr)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(*tuple(arr))
     "True" .eq. "True" : True
    va.freeformOpacity=3,None
     "True" .eq. "True" : True
    va.freeformOpacity=3,(1+2j)
     "True" .eq. "True" : True
    va.freeformOpacity=3,[2, 4, 6]
     "True" .eq. "True" : True
    va.freeformOpacity=3,'123'
     "True" .eq. "True" : True
    va.freeformOpacity=None,17
     "True" .eq. "True" : True
    va.freeformOpacity=(1+2j),17
     "True" .eq. "True" : True
    va.freeformOpacity=[2, 4, 6],17
     "True" .eq. "True" : True
    va.freeformOpacity='123',17
     "True" .eq. "True" : True
    va.freeformOpacity=-3,17
     "True" .eq. "True" : True
    va.freeformOpacity=3,1700
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,None)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,(1+2j))
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,[2, 4, 6])
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,'123')
     "True" .eq. "True" : True
    va.SetFreeformOpacity(None,17)
     "True" .eq. "True" : True
    va.SetFreeformOpacity((1+2j),17)
     "True" .eq. "True" : True
    va.SetFreeformOpacity([2, 4, 6],17)
     "True" .eq. "True" : True
    va.SetFreeformOpacity('123',17)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(-3,17)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(3,1700)
     "True" .eq. "True" : True
    va.freeformOpacity=(17,)*256
     "True" .eq. "True" : True
    va.SetFreeformOpacity((17,)*256)
     "True" .eq. "True" : True
    va.freeformOpacity=(17, 17, 17, None, 17, 17, 17, ...
     "True" .eq. "True" : True
    va.freeformOpacity=(17, 17, 17, (1+2j, ..., 17, 17, 17, ...
     "True" .eq. "True" : True
    va.freeformOpacity=(17, 17, 17, [2, 4, 6], 17, 17, 17, ...
     "True" .eq. "True" : True
    va.freeformOpacity=(17, 17, 17, (1, 2, 3, ..., 17, 17, 17, ...
     "True" .eq. "True" : True
    va.freeformOpacity=(17, 17, 17, '123', 17, 17, 17, ...
     "True" .eq. "True" : True
    va.SetFreeformOpacity(17, 17, 17, None, 17, 17, 17, ...)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(17, 17, 17, (1+2j, ...), 17, 17, 17, ...)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(17, 17, 17, [2, 4, 6], 17, 17, 17, ...)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(17, 17, 17, (1, 2, 3, ...), 17, 17, 17, ...)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(17, 17, 17, '123', 17, 17, 17, ...)
     "True" .eq. "True" : True
    va.SetFreeformOpacity(fails[0])
     "True" .eq. "True" : True
    va.SetFreeformOpacity(fails[1])
     "True" .eq. "True" : True
    va.SetFreeformOpacity(fails[2])
     "True" .eq. "True" : True
    va.SetFreeformOpacity(fails[3])
     "True" .eq. "True" : True
    va.SetFreeformOpacity(fails[4])
     "True" .eq. "True" : True
    Assignment to intArray member, "reflections", (of ReflectAttributes())
    ra.reflections=0,1,0,1,0,1,0,1
     "True" .eq. "True" : True
    ra.reflections=0, 1, None, 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, (1+2j), 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, [2, 4, 6], 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, 2147483648, 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, '123', 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, 0, 1, 0, 1, 0, 1, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, 0, 1, 0, 1, 0
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, None, 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, (1+2j), 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, [2, 4, 6], 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, 2147483648, 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, '123', 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, 0, 1, 0, 1, 0, 1, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, 0, 1, 0, 1, 0)
     "True" .eq. "True" : True
    ra.reflections=0, 1, 0, 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=-1, 100, -1, 100, -1, 100, -1, 100
     "True" .eq. "True" : True
    ra.reflections=0, True, False, 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=0, 1, 2147483647, 1, 0, 1, 0, 1
     "True" .eq. "True" : True
    ra.reflections=array([0, 1, 0, 1, 0, 1, 0, 1]
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, 0, 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(-1, 100, -1, 100, -1, 100, -1, 100)
     "True" .eq. "True" : True
    ra.SetReflections(0, True, False, 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(0, 1, 2147483647, 1, 0, 1, 0, 1)
     "True" .eq. "True" : True
    ra.SetReflections(array([0, 1, 0, 1, 0, 1, 0, 1])
     "True" .eq. "True" : True
    Assignment to floatArray member, "center", (of RadialResampleAttributes())
    rra.center=0,1,2
     "True" .eq. "True" : True
    rra.center=0,1
     "True" .eq. "True" : True
    rra.center=0,1,2,3
     "True" .eq. "True" : True
    rra.center=0, 1
     "True" .eq. "True" : True
    rra.center=0, 1, 2, 3
     "True" .eq. "True" : True
    rra.center=0, None, 2
     "True" .eq. "True" : True
    rra.center=0, (1+2j), 2
     "True" .eq. "True" : True
    rra.center=0, [2, 4, 6], 2
     "True" .eq. "True" : True
    rra.center=0, '123', 2
     "True" .eq. "True" : True
    rra.center=0, 3.402823e+39, 2
     "True" .eq. "True" : True
    rra.SetCenter(0, 1)
     "True" .eq. "True" : True
    rra.SetCenter(0, 1, 2, 3)
     "True" .eq. "True" : True
    rra.SetCenter(0, None, 2)
     "True" .eq. "True" : True
    rra.SetCenter(0, (1+2j), 2)
     "True" .eq. "True" : True
    rra.SetCenter(0, [2, 4, 6], 2)
     "True" .eq. "True" : True
    rra.SetCenter(0, '123', 2)
     "True" .eq. "True" : True
    rra.SetCenter(0, 3.402823e+39, 2)
     "True" .eq. "True" : True
    rra.center=1, 2, 3
     "True" .eq. "True" : True
    rra.center=1.1, 2.2, 3.3
     "True" .eq. "True" : True
    rra.center=2, 4, 6
     "True" .eq. "True" : True
    rra.center=1, True, 3
     "True" .eq. "True" : True
    rra.center=1, False, 3
     "True" .eq. "True" : True
    rra.center=1, 3.40282e+37, 3
     "True" .eq. "True" : True
    rra.center=array([1.1, 2.2, 3.3]
     "True" .eq. "True" : True
    rra.SetCenter(1, 2, 3)
     "True" .eq. "True" : True
    rra.SetCenter(1.1, 2.2, 3.3)
     "True" .eq. "True" : True
    rra.SetCenter(2, 4, 6)
     "True" .eq. "True" : True
    rra.SetCenter(1, True, 3)
     "True" .eq. "True" : True
    rra.SetCenter(1, False, 3)
     "True" .eq. "True" : True
    rra.SetCenter(1, 3.40282e+37, 3)
     "True" .eq. "True" : True
    rra.SetCenter(array([1.1, 2.2, 3.3])
     "True" .eq. "True" : True
    Assignment to doubleArray member, "materialProperties", (of VolumeAttributes())
    va.materialProperties=0,1,2,3
     "True" .eq. "True" : True
    va.materialProperties=0,1,2
     "True" .eq. "True" : True
    va.materialProperties=0,1,2,3,4
     "True" .eq. "True" : True
    va.materialProperties=0, 1
     "True" .eq. "True" : True
    va.materialProperties=0, 1, 2, 3, 4
     "True" .eq. "True" : True
    va.materialProperties=0, None, 2, 3
     "True" .eq. "True" : True
    va.materialProperties=0, (1+2j), 2, 3
     "True" .eq. "True" : True
    va.materialProperties=0, [2, 4, 6], 2, 3
     "True" .eq. "True" : True
    va.materialProperties=0, '123', 2, 3
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, 1)
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, 1, 2, 3, 4)
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, None, 2, 3)
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, (1+2j), 2, 3)
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, [2, 4, 6], 2, 3)
     "True" .eq. "True" : True
    va.SetMaterialProperties(0, '123', 2, 3)
     "True" .eq. "True" : True
    va.materialProperties=1, 2, 3, 4
     "True" .eq. "True" : True
    va.materialProperties=1.1, 2.2, 3.3, 4.4
     "True" .eq. "True" : True
    va.materialProperties=1, True, 3, 4
     "True" .eq. "True" : True
    va.materialProperties=1, False, 3, 4
     "True" .eq. "True" : True
    va.SetMaterialProperties(1, 2, 3, 4)
     "True" .eq. "True" : True
    va.SetMaterialProperties(1.1, 2.2, 3.3, 4.4)
     "True" .eq. "True" : True
    va.SetMaterialProperties(1, True, 3, 4)
     "True" .eq. "True" : True
    va.SetMaterialProperties(1, False, 3, 4)
     "True" .eq. "True" : True
    va.SetMaterialProperties(array([1.1, 2.2, 3.3, 4.4])
     "True" .eq. "True" : True
    ColorAttribute stuff
    ca.color=0, 1, 2
     "True" .eq. "True" : True
    ca.color=0, 1, 2, 3, 4
     "True" .eq. "True" : True
    ca.color=0, None, 2, 3
     "True" .eq. "True" : True
    ca.color=0, (1+2j), 2, 3
     "True" .eq. "True" : True
    ca.color=0, [2, 4, 6], 2, 3
     "True" .eq. "True" : True
    ca.color=0, '123', 2, 3
     "True" .eq. "True" : True
    ca.color=0, -1, 2, 3
     "True" .eq. "True" : True
    ca.color=0, 256, 2, 3
     "True" .eq. "True" : True
    ca.SetColor(0, 1, 2)
     "True" .eq. "True" : True
    ca.SetColor(0, 1, 2, 3, 4)
     "True" .eq. "True" : True
    ca.SetColor(0, None, 2, 3)
     "True" .eq. "True" : True
    ca.SetColor(0, (1+2j), 2, 3)
     "True" .eq. "True" : True
    ca.SetColor(0, [2, 4, 6], 2, 3)
     "True" .eq. "True" : True
    ca.SetColor(0, '123', 2, 3)
     "True" .eq. "True" : True
    ca.SetColor(0, -1, 2, 3)
     "True" .eq. "True" : True
    ca.SetColor(0, 256, 2, 3)
     "True" .eq. "True" : True
    cla.AddColors
     "True" .eq. "True" : True
    cla.colors
     "True" .eq. "True" : True
    cla.GetColors(0)
     "True" .eq. "True" : True
    cla.GetColors(2)
     "True" .eq. "True" : True
    behavior of dir()
    dir()
     "True" .eq. "True" : True
    dir(SILRestriction)
     "True" .eq. "True" : True
    dir(scaling)
     "True" .eq. "True" : True
    dir(#colors)
     "True" .eq. "True" : True
    behavior of help()
    help(AddPlot)
     "True" .eq. "True" : True
    help(CreateDatabaseCorrelation)
     "True" .eq. "True" : True
    help(SILRestriction)
     "True" .eq. "True" : True
    help(SILRestriction)
     "True" .eq. "True" : True
    help('wholes')
     "True" .eq. "True" : True
    help('tensor')
     "True" .eq. "True" : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_atts_assign_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_atts_assign_py.html new file mode 100644 index 000000000..61f818e84 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_atts_assign_py.html @@ -0,0 +1,1193 @@ +unit/atts_assign.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  atts_assign.py
    +#
    +#  Tests: Behavior of assignment for attribute objects. Ensures good cases
    +#  succeed and bad cases fail with specific python exceptions. Tests variety
    +#  of types present in members of VisIt attribute objects. Tests both
    +#  assignment usage (e.g. atts.memberName=...) and setter function usage
    +#  (e.g. atts.SetMemberName(...))
    +#
    +#  Mark C. Miller, Tue Jun  8 15:51:59 PDT 2021
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Tue July 27, 2021
    +#    Assigning Max32BitInt+1 to int on Windows causes TypeError, not
    +#    ValueError, so change expected results in those cases.
    +#
    +# ----------------------------------------------------------------------------
    +import copy, io, numpy, sys
    +
    +# Some useful global variables
    +X = [2,4,6]
    +NumPy2Int = numpy.array([1,2])
    +NumPy2Flt = numpy.array([1.1,2.2])
    +NumPy3Int = numpy.array([1,2,3])
    +NumPy3Flt = numpy.array([1.1,2.2,3.3])
    +NumPy4Int = numpy.array([1,2,3,4])
    +NumPy4Flt = numpy.array([1.1,2.2,3.3,4.4])
    +Max32BitInt = 2147483647
    +Max32BitInt1 = Max32BitInt+1
    +MaxIntAs32BitFloat = 16777216
    +MaxIntAs32BitFloat1 = MaxIntAs32BitFloat+1
    +MaxIntAs64BitFloat = 9007199254740992
    +MaxIntAs64BitFloat1 = MaxIntAs64BitFloat+1
    +Max32BitFloat  = 3.402823E+38
    +Max32BitFloatA = 3.402820E+37 # One order mag down from Max
    +Max32BitFloatB = 3.402823E+39 # One order mag up from Max
    +Min32BitFloat = 1.175494E-38
    +
    +# version of repr that strips parens at end
    +def repr2(s):
    +    return repr(s).lstrip('(').rstrip(')')
    +
    +def TestAssignmentToTuple():
    +    TestSection('Assignment to tuple, "point1", member (of CylinderAttributes())')
    +
    +    ca = CylinderAttributes()
    +
    +    # Non-existent member name 'point'
    +    try:
    +        ca.point = 1,2,3
    +        TestFOA('ca.point=1,2,3', LINE())
    +    except NameError:
    +        TestPOA('ca.point=1,2,3')
    +        pass
    +    except:
    +        TestFOA('ca.point=1,2,3', LINE())
    +        pass
    +
    +    # Non-existent member name 'point'
    +    try:
    +        ca.SetPoint(1,2,3)
    +        TestFOA('ca.SetPoint(1,2,3)', LINE())
    +    except ValueError:
    +        TestPOA('ca.SetPoint(1,2,3)')
    +        pass
    +    except:
    +        TestFOA('ca.SetPoint(1,2,3)', LINE())
    +        pass
    +
    +    # CSV too short
    +    try:
    +        ca.point1 = 1,2
    +        TestFOA('ca.point1=1,2', LINE())
    +    except TypeError:
    +        TestPOA('ca.point1=1,2')
    +        pass
    +    except:
    +        TestFOA('ca.point1=1,2', LINE())
    +        pass
    +
    +    # CSV too long
    +    try:
    +        ca.point1 = 1,2,3,4
    +        TestFOA('ca.point1=1,2,3,4', LINE())
    +    except TypeError:
    +        TestPOA('ca.point1=1,2,3,4')
    +        pass
    +    except:
    +        TestFOA('ca.point1=1,2,3,4', LINE())
    +        pass
    +
    +    # The above cases can't be put in a loop. Put remaining cases in a loop
    +    fails = [(1,2), (1,2,3,4), '123', (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3), NumPy2Flt, NumPy4Flt]
    +    for i in range(len(fails)):
    +        try:
    +            ca.point1 = fails[i]
    +            TestFOA('ca.point1=%s'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.point1=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.point1=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetPoint1(fails[i])
    +            TestFOA('ca.SetPoint1(%s)'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.SetPoint1(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetPoint1(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    try:
    +        ca.point1 = 1,2,3
    +        TestPOA('ca.point1=1,2,3')
    +    except:
    +        TestFOA('ca.point1=1,2,3', LINE())
    +        pass
    +
    +    works = [(1,2,3), (1.1,2.2,3.3), tuple(X), NumPy3Int, NumPy3Flt]
    +    for i in range(len(works)):
    +        try:
    +            ca.point1 = works[i]
    +            TestPOA('ca.point1=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('ca.point1=%s'%repr2(works[i]), LINE())
    +            pass
    +
    +    for i in range(len(works)):
    +        try:
    +            ca.SetPoint1(*works[i])
    +            TestPOA('ca.SetPoint1(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('ca.SetPoint1(%s)'%repr2(works[i]), LINE())
    +            pass
    +
    +def TestAssignmentToBool():
    +    TestSection('Assignment to bool member, "inverse", (of CylinderAttributes())')
    +
    +    ca = CylinderAttributes()
    +
    +    try:
    +        ca.inverse = 1,2
    +        TestFOA('ca.inverse=1,2', LINE())
    +    except TypeError:
    +        TestPOA('ca.inverse=1,2')
    +        pass
    +    except:
    +        TestFOA('ca.inverse=1,2', LINE())
    +        pass
    +
    +    fails =  [    '123',      1+2j,         X,      None,          5]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            ca.inverse = fails[i]
    +            TestFOA('ca.inverse=%s'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ca.inverse=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.inverse=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetInverse(fails[i])
    +            TestFOA('ca.SetInverse(%s)'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ca.SetInverse(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetInverse(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, True, False]
    +    for i in range(len(works)):
    +        try:
    +            ca.inverse = works[i]
    +            TestPOA('ca.inverse=%s'%repr(works[i]))
    +        except:
    +            TestFOA('ca.inverse=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ca.SetInverse(works[i])
    +            TestPOA('ca.SetInverse(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('ca.SetInverse(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToInt():
    +    TestSection('Assignment to int member, "samplesPerRay", (of VolumeAttributes())')
    +
    +    va = VolumeAttributes()
    +
    +    try:
    +        va.samplesPerRay = 1,2
    +        TestFOA('va.samplesPerRay=1,2', LINE())
    +    except TypeError:
    +        TestPOA('va.samplesPerRay=1,2')
    +        pass
    +    except:
    +        TestFOA('va.samplesPerRay=1,2', LINE())
    +        pass
    +
    +    fails =  [    '123',      1+2j,      None,         X, Max32BitInt1]
    +    if sys.platform.startswith("win"):
    +        excpts = [TypeError, TypeError, TypeError, TypeError, TypeError]
    +    else:
    +        excpts = [TypeError, TypeError, TypeError, TypeError, ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            va.samplesPerRay = fails[i]
    +            TestFOA('va.samplesPerRay=%s'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('va.samplesPerRay=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.samplesPerRay=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            va.SetSamplesPerRay(fails[i])
    +            TestFOA('va.SetSamplesPerRay(%s)'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('va.SetSamplesPerRay(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.SetSamplesPerRay(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, -1, 5, True, False, Max32BitInt]
    +    for i in range(len(works)):
    +        try:
    +            va.samplesPerRay = works[i]
    +            TestPOA('va.samplesPerRay=%s'%repr(works[i]))
    +        except:
    +            TestFOA('va.samplesPerRay=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            va.SetSamplesPerRay(works[i])
    +            TestPOA('va.SetSamplesPerRay(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('va.SetSamplesPerRay(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToFloat():
    +    TestSection('Assignment to float member, "opacityAttenuation", (of VolumeAttributes())')
    +
    +    va = VolumeAttributes()
    +
    +    try:
    +        va.opacityAttenuation = 1,2
    +        TestFOA('va.opacityAttenuation=1,2', LINE())
    +    except TypeError:
    +        TestPOA('va.opacityAttenuation=1,2')
    +        pass
    +    except:
    +        TestFOA('va.opacityAttenuation=1,2', LINE())
    +        pass
    +
    +    fails =  [    '123',      1+2j,      None,         X, Max32BitFloatB]
    +    excpts = [TypeError, TypeError, TypeError, TypeError,       ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            va.opacityAttenuation = fails[i]
    +            TestFOA('va.opacityAttenuation=%s'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('va.opacityAttenuation=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.opacityAttenuation=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            va.SetOpacityAttenuation(fails[i])
    +            TestFOA('va.SetOpacityAttenuation(%s)'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('va.SetOpacityAttenuation(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.SetOpacityAttenuation(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, -1, 0.3, Max32BitFloatA, True, False]
    +    for i in range(len(works)):
    +        try:
    +            va.opacityAttenuation = works[i]
    +            TestPOA('va.opacityAttenuation=%s'%repr(works[i]))
    +        except:
    +            TestFOA('va.opacityAttenuation=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            va.SetOpacityAttenuation(works[i])
    +            TestPOA('va.SetOpacityAttenuation(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('va.SetOpacityAttenuation(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToDouble():
    +    TestSection('Assignment to double member, "radius", (of CylinderAttributes())')
    +
    +    ca = CylinderAttributes()
    +
    +    try:
    +        ca.radius = 1,2
    +        TestFOA('ca.radius=1,2', LINE())
    +    except TypeError:
    +        TestPOA('ca.radius=1,2')
    +        pass
    +    except:
    +        TestFOA('ca.radius=1,2', LINE())
    +        pass
    +
    +    fails = ['123', 1+2j, None, X]
    +    for i in range(len(fails)):
    +        try:
    +            ca.radius = fails[i]
    +            TestFOA('ca.radius=%s'%repr(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.radius=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.radius=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetRadius(fails[i])
    +            TestFOA('ca.SetRadius(%s)'%repr(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.SetRadius(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetRadius(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, -1, 5.5, 1.1E-479, 1.1E+479, True, False]
    +    for i in range(len(works)):
    +        try:
    +            ca.radius = works[i]
    +            TestPOA('ca.radius=%s'%repr(works[i]))
    +        except:
    +            TestFOA('ca.radius=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ca.SetRadius(works[i])
    +            TestPOA('ca.SetRadius(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('ca.SetRadius(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToString():
    +    TestSection('Assignment to string member, "designator", (of CurveAttributes())')
    +
    +    ca = CurveAttributes()
    +
    +    try:
    +        ca.designator = "123","abc"
    +        TestFOA('ca.designator="123","abc"', LINE())
    +    except TypeError:
    +        TestPOA('ca.designator="123","abc"')
    +        pass
    +    except:
    +        TestFOA('ca.designator="123","abc"', LINE())
    +        pass
    +
    +    fails = [0, 1, 1.1, 1+2j, None, X]
    +    for i in range(len(fails)):
    +        try:
    +            ca.designator = fails[i]
    +            TestFOA('ca.designator=%s'%repr(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.designator=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.designator=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetDesignator(fails[i])
    +            TestFOA('ca.SetDesignator(%s)'%repr(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.SetDesignator(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetDesignator(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = ['123', 'abc', '']
    +    for i in range(len(works)):
    +        try:
    +            ca.designator = works[i]
    +            TestPOA('ca.designator=%s'%repr(works[i]))
    +        except:
    +            TestFOA('ca.designator=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ca.SetDesignator(works[i])
    +            TestPOA('ca.SetDesignator(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('ca.SetDesignator(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToGlyphType():
    +    TestSection('Assignment to GlyphType member, "pointType", (of MeshAttributes())')
    +
    +    ma = MeshAttributes()
    +
    +    # Test direct assignment with = operator
    +    try:
    +        ma.pointType = 1
    +        TestPOA('ma.pointType=1')
    +    except:
    +        TestFOA('ma.pointType=1', LINE())
    +        pass
    +
    +    fails =  [    '123',      1+2j,      None,         X,         -1, 123123123123123123123123123123]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, ValueError,                      TypeError]
    +    for i in range(len(fails)):
    +        try:
    +            ma.pointType = fails[i]
    +            TestFOA('ma.pointType=%s'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ma.pointType=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ma.pointType=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ma.SetPointType(fails[i])
    +            TestFOA('ma.SetPointType(%s)'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ma.SetPointType(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ma.SetPointType(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, 5, True, False, ma.Point]
    +    for i in range(len(works)):
    +        try:
    +            ma.pointType = works[i]
    +            TestPOA('ma.pointType=%s'%repr(works[i]))
    +        except:
    +            TestFOA('ma.pointType=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ma.SetPointType(works[i])
    +            TestPOA('ma.SetPointType(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('ma.SetPointType(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToEnum():
    +    TestSection('Assignment to Enum member, "smoothingLevel", (of MeshAttributes())')
    +
    +    ma = MeshAttributes()
    +
    +    # Test direct assignment with = operator
    +    try:
    +        ma.smoothingLevel = 1
    +        TestPOA('ma.smoothingLevel=1')
    +    except:
    +        TestFOA('ma.smoothingLevel=1', LINE())
    +        pass
    +
    +    fails  = [    '123',      1+2j,      None,         X,         -1,  123123123, 123123123123123123123123123123]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, ValueError, ValueError,                      TypeError]
    +    for i in range(len(fails)):
    +        try:
    +            ma.smoothingLevel = fails[i]
    +            TestFOA('ma.smoothingLevel=%s'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ma.smoothingLevel=%s'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ma.smoothingLevel=%s'%repr(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ma.SetSmoothingLevel(fails[i])
    +            TestFOA('ma.SetSmoothingLevel(%s)'%repr(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ma.SetSmoothingLevel(%s)'%repr(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ma.SetSmoothingLevel(%s)'%repr(fails[i]), LINE())
    +            pass
    +
    +    works = [0, 1, 2, True, False, ma.Fast]
    +    for i in range(len(works)):
    +        try:
    +            ma.smoothingLevel = works[i]
    +            TestPOA('ma.smoothingLevel=%s'%repr(works[i]))
    +        except:
    +            TestFOA('ma.smoothingLevel=%s'%repr(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ma.SetSmoothingLevel(works[i])
    +            TestPOA('ma.SmoothingLevel(%s)'%repr(works[i]))
    +        except:
    +            TestFOA('ma.SetSmoothingLevel(%s)'%repr(works[i]), LINE())
    +
    +def TestAssignmentToUCharVector():
    +    TestSection('Assignment to ucharVector member, "changedColors",  (of MultiCurveAttributes())')
    +
    +    mca = MultiCurveAttributes()
    +
    +    # Test direct assignment with = operator
    +    try:
    +        mca.changedColors = 1,2,3
    +        TestPOA('mca.changedColors=1,2,3')
    +    except:
    +        TestFOA('mca.changedColors=1,2,3', LINE())
    +        pass
    +
    +    fails = [(1,123123123123123123123123123123,3), (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3), ('123',)]
    +    for i in range(len(fails)):
    +        try:
    +            mca.changedColors = fails[i]
    +            TestFOA('mca.changedColors=%s'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('mca.changedColors=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('mca.changedColors=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            mca.SetChangedColors(*fails[i])
    +            TestFOA('mca.SetChangedColors(%s)'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('mca.SetChangedColors(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('mca.SetChangedColors(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    works = [(1,2,3), tuple(X), (1,True,3), (1,False,3)]
    +    for i in range(len(works)):
    +        try:
    +            mca.changedColors = works[i]
    +            TestPOA('mca.changedColors=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('mca.changedColors=%s'%repr2(works[i]), LINE())
    +
    +    works += [NumPy3Int] # NP arrays only work via deref operator
    +    for i in range(len(works)):
    +        try:
    +            mca.SetChangedColors(*works[i])
    +            TestPOA('mca.SetChangedColors(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('mca.SetChangedColors(%s)'%repr2(works[i]), LINE())
    +
    +def TestAssignmentToIntVector():
    +    TestSection('Assignment to intVector member, "index", (of OnionPeelAttributes())')
    +
    +    opa = OnionPeelAttributes()
    +
    +    # Test direct assignment with = operator
    +    try:
    +        opa.index = 1,2,3
    +        TestPOA('opa.index=1,2,3')
    +    except:
    +        TestFOA('opa.index=1,2,3', LINE())
    +        pass
    +
    +    fails =  [(Max32BitInt1,), (1+2j,), ('b',), (None,), (1,Max32BitInt1,3),
    +              (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3)]
    +    if sys.platform.startswith("win"):
    +        excpts = [TypeError, TypeError, TypeError, TypeError, TypeError,
    +                  TypeError, TypeError, TypeError, TypeError]
    +    else:
    +        excpts = [ValueError, TypeError, TypeError, TypeError, ValueError,
    +                  TypeError, TypeError, TypeError, TypeError]
    +    for i in range(len(fails)):
    +        try:
    +            opa.index = fails[i]
    +            TestFOA('opa.index=%s'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('opa.index=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('opa.index=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            opa.SetIndex(*fails[i])
    +            TestFOA('opa.SetIndex(%s)'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('opa.SetIndex(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('opa.SetIndex(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    works = [(1,2,3), X, tuple(X), (1,True,3), (1,False,3), (1,Max32BitInt,3)]
    +    for i in range(len(works)):
    +        try:
    +            opa.index = works[i]
    +            TestPOA('opa.index=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('opa.index=%s'%repr2(works[i]), LINE())
    +
    +    works += [NumPy3Int] # NP Arrays work only via deref operator
    +    for i in range(len(works)):
    +        try:
    +            opa.SetIndex(*works[i])
    +            TestPOA('opa.SetIndex(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('opa.SetIndex(%s)'%repr2(works[i]), LINE())
    +
    +def TestAssignmentToDoubleVector():
    +    TestSection('Assignment to doubleVector member, "values", (of ContourAttributes())')
    +
    +    ca = ContourAttributes()
    +
    +    # Test direct assignment with = operator
    +    try:
    +        ca.contourValue = 1,2,3
    +        TestPOA('ca.contourValue=1,2,3')
    +    except:
    +        TestFOA('ca.contourValue=1,2,3', LINE())
    +        pass
    +
    +    fails = [(1+2j,), ('b',), (None,), (1,1+2j,3), (1,X,3), (1,'b',3), (1,None,3)]
    +    for i in range(len(fails)):
    +        try:
    +            ca.contourValue = fails[i]
    +            TestFOA('ca.contourValue=%s'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.contourValue=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.contourValue=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetContourValue(*fails[i])
    +            TestFOA('ca.SetContourValue(%s)'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('ca.SetContourValue(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetContourValue(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    works = [(1,2,3), X, tuple(X), (1,True,3), (1,False,3)]
    +    for i in range(len(works)):
    +        try:
    +            ca.contourValue = works[i]
    +            TestPOA('ca.contourValue=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('ca.contourValue=%s'%repr2(works[i]), LINE())
    +
    +    works += [NumPy3Flt] # NP Arrays work only via deref operator
    +    for i in range(len(works)):
    +        try:
    +            ca.SetContourValue(*works[i])
    +            TestPOA('ca.SetContourValue(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('ca.SetContourValue(%s)'%repr2(works[i]), LINE())
    +
    +def TestAssignmentToUCharArray():
    +    TestSection('Assignment to ucharArray member, "freeformOpacity", (of VolumeAttributes())')
    +    arr = [17,]*256
    +
    +    va = VolumeAttributes()
    +
    +    # Test assigning to individual entry via direct (operator =) assignment
    +    try:
    +        va.freeformOpacity = 3,17
    +        TestPOA('va.freeformOpacity=3,17')
    +    except:
    +        TestFOA('va.freeformOpacity=3,17', LINE())
    +        pass
    +
    +    # Test assigning to individual entry via Set method 
    +    try:
    +        va.SetFreeformOpacity(3,17)
    +        TestPOA('va.SetFreeformOpacity(3,17)')
    +    except:
    +        TestFOA('va.SetFreeformOpacity(3,17)', LINE())
    +        pass
    +
    +    # Test assigning to whole array via (operator =) assignment
    +    try:
    +        va.freeformOpacity = tuple(arr)
    +        TestPOA('va.freeformOpacity=tuple(arr)')
    +    except:
    +        TestFOA('va.freeformOpacity=tuple(arr)', LINE())
    +        pass
    +
    +    # Test assigning to whole array via Set method 
    +    try:
    +        va.SetFreeformOpacity(*tuple(arr))
    +        TestPOA('va.SetFreeformOpacity(*tuple(arr))')
    +    except:
    +        TestFOA('va.SetFreeformOpacity(*tuple(arr))', LINE())
    +        pass
    +
    +    # Test assigning to individual entry via direct (operator =) assignment
    +    # failures for type of second argument (color value)
    +    fails =  [ (3,None),  (3,1+2j),     (3,X), (3,'123'), (None,17), (1+2j,17),    (X,17),('123',17),    (-3,17),   (3,1700)]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, IndexError, ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            va.freeformOpacity = fails[i][0],fails[i][1]
    +            TestFOA('va.freeformOpacity=%s,%s'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
    +        except excpts[i]:
    +            TestPOA('va.freeformOpacity=%s,%s'%(repr(fails[i][0]),repr(fails[i][1])))
    +            pass
    +        except:
    +            TestFOA('va.freeformOpacity=%s,%s'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            va.SetFreeformOpacity(fails[i][0],fails[i][1])
    +            TestFOA('va.SetFreeformOpacity(%s,%s)'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
    +        except excpts[i]:
    +            TestPOA('va.SetFreeformOpacity(%s,%s)'%(repr(fails[i][0]),repr(fails[i][1])))
    +            pass
    +        except:
    +            TestFOA('va.SetFreeformOpacity(%s,%s)'%(repr(fails[i][0]),repr(fails[i][1])), LINE())
    +            pass
    +
    +    # Test assigning to whole member via direct (operator =) assignment
    +    try:
    +        va.freeformOpacity = (17,)*256
    +        TestPOA('va.freeformOpacity=(17,)*256')
    +    except:
    +        TestFOA('va.freeformOpacity=(17,)*256', LINE())
    +        pass
    +
    +    # Test assigning to whole member via Set method 
    +    try:
    +        va.SetFreeformOpacity(*(17,)*256)
    +        TestPOA('va.SetFreeformOpacity((17,)*256)')
    +    except:
    +        TestFOA('va.SetFreeformOpacity((17,)*256)', LINE())
    +        pass
    +
    +    # Test assigning to whole member via direct (operator =) assignment
    +    # failures for type of first argument (index)
    +    arr1 = copy.deepcopy(arr)
    +    arr2 = copy.deepcopy(arr)
    +    arr3 = copy.deepcopy(arr)
    +    arr4 = copy.deepcopy(arr)
    +    arr5 = copy.deepcopy(arr)
    +    arr1[3] = None
    +    arr2[3] = 1+2j
    +    arr3[3] = X
    +    arr4[3] = (1,2,3)
    +    arr5[3] = '123'
    +    fails = [tuple(arr1), tuple(arr2), tuple(arr3), tuple(arr4), tuple(arr5)]
    +    for i in range(len(fails)):
    +        try:
    +            va.freeformOpacity = fails[i]
    +            TestFOA('va.freeformOpacity=%s'%repr(fails[i][:7]).replace(')',', ...'), LINE())
    +        except TypeError:
    +            TestPOA('va.freeformOpacity=%s'%repr(fails[i][:7]).replace(')',', ...'))
    +            pass
    +        except:
    +            TestFOA('va.freeformOpacity=%s'%repr(fails[i][:7]).replace(')',', ...'), LINE())
    +            pass
    +
    +    # Test star-deref of tuple
    +    for i in range(len(fails)):
    +        try:
    +            va.SetFreeformOpacity(*fails[i])
    +            TestFOA('va.SetFreeformOpacity%s'%repr(fails[i][:7]).replace(')',', ...)'), LINE())
    +        except TypeError:
    +            TestPOA('va.SetFreeformOpacity%s'%repr(fails[i][:7]).replace(')',', ...)'))
    +            pass
    +        except:
    +            TestFOA('va.SetFreeformOpacity%s'%repr(fails[i][:7]).replace(')',', ...)'), LINE())
    +            pass
    +
    +    # Test just passing the tuple
    +    for i in range(len(fails)):
    +        try:
    +            va.SetFreeformOpacity(fails[i])
    +            TestFOA('va.SetFreeformOpacity(fails[%d])'%i, LINE())
    +        except TypeError:
    +            TestPOA('va.SetFreeformOpacity(fails[%d])'%i)
    +            pass
    +        except:
    +            TestFOA('va.SetFreeformOpacity(fails[%d])'%i, LINE())
    +            pass
    +
    +def TestAssignmentToIntArray():
    +    TestSection('Assignment to intArray member, "reflections", (of ReflectAttributes())')
    +
    +    ra = ReflectAttributes()
    +
    +    # Test assigning via (operator =) assignment
    +    try:
    +        ra.reflections = 0,1,0,1,0,1,0,1
    +        TestPOA('ra.reflections=0,1,0,1,0,1,0,1')
    +    except:
    +        TestFOA('ra.reflections=0,1,0,1,0,1,0,1', LINE())
    +        pass
    +
    +    fails =  [(0,1,None,1,0,1,0,1), (0,1,1+2j,1,0,1,0,1), (0,1,X,1,0,1,0,1),
    +              (0,1,Max32BitInt1,1,0,1,0,1), (0,1,'123',1,0,1,0,1),
    +              (0,1,0,1,0,1,0,1,1), (0,1,0,1,0,1,0)]
    +    if sys.platform.startswith("win"):
    +        excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, TypeError]
    +    else:
    +        excpts = [TypeError, TypeError, TypeError, ValueError, TypeError, TypeError, TypeError]
    +    for i in range(len(fails)):
    +        try:
    +            ra.reflections = fails[i]
    +            TestFOA('ra.reflections=%s'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ra.reflections=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ra.reflections=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ra.SetReflections(*fails[i])
    +            TestFOA('ra.SetReflections(%s)'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ra.SetReflections(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ra.SetReflections(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    NumPyArray = numpy.array([0,1,0,1,0,1,0,1])
    +    works = [(0,1,0,1,0,1,0,1), (-1,100,-1,100,-1,100,-1,100), (0,True,False,1,0,1,0,1), (0,1,Max32BitInt,1,0,1,0,1), NumPyArray]
    +    for i in range(len(works)):
    +        try:
    +            ra.reflections = works[i]
    +            TestPOA('ra.reflections=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('ra.reflections=%s'%repr2(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            ra.SetReflections(*works[i])
    +            TestPOA('ra.SetReflections(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('ra.SetReflections(%s)'%repr2(works[i]), LINE())
    +
    +def TestAssignmentToFloatArray():
    +    TestSection('Assignment to floatArray member, "center", (of RadialResampleAttributes())')
    +
    +    rra = RadialResampleAttributes()
    +
    +    # Test assigning via (operator =) assignment
    +    try:
    +        rra.center = 0,1,2
    +        TestPOA('rra.center=0,1,2')
    +    except:
    +        TestFOA('rra.center=0,1,2', LINE())
    +        pass
    +    try:
    +        rra.center = 0,1
    +        TestFOA('rra.center=0,1', LINE())
    +    except:
    +        TestPOA('rra.center=0,1')
    +        pass
    +    try:
    +        rra.center = 0,1,2,3
    +        TestFOA('rra.center=0,1,2,3', LINE())
    +    except:
    +        TestPOA('rra.center=0,1,2,3')
    +        pass
    +
    +    fails =  [(0,1), (0,1,2,3), (0,None,2), (0,1+2j,2), (0,X,2), (0,'123',2), (0, Max32BitFloatB,2)]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            rra.center = fails[i]
    +            TestFOA('rra.center=%s'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('rra.center=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('rra.center=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            rra.SetCenter(*fails[i])
    +            TestFOA('rra.SetCenter(%s)'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('rra.SetCenter(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('rra.SetCenter(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    works = [(1,2,3), (1.1,2.2,3.3), tuple(X), (1,True,3), (1,False,3), (1,Max32BitFloatA,3), NumPy3Flt]
    +    for i in range(len(works)):
    +        try:
    +            rra.center = works[i]
    +            TestPOA('rra.center=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('rra.center=%s'%repr2(works[i]), LINE())
    +
    +    for i in range(len(works)):
    +        try:
    +            rra.SetCenter(*works[i])
    +            TestPOA('rra.SetCenter(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('rra.SetCenter(%s)'%repr2(works[i]), LINE())
    +
    +def TestAssignmentToDoubleArray():
    +    TestSection('Assignment to doubleArray member, "materialProperties", (of VolumeAttributes())')
    +
    +    va = VolumeAttributes()
    +
    +    # Test assigning via (operator =) assignment
    +    try:
    +        va.materialProperties = 0,1,2,3
    +        TestPOA('va.materialProperties=0,1,2,3')
    +    except:
    +        TestFOA('va.materialProperites=0,1,2,3', LINE())
    +        pass
    +    try:
    +        va.materialProperties = 0,1,2
    +        TestFOA('va.materialProperties=0,1,2', LINE())
    +    except:
    +        TestPOA('va.materialProperties=0,1,2')
    +        pass
    +    try:
    +        va.materialProperties = 0,1,2,3,4
    +        TestFOA('va.materialProperties=0,1,2,3,4', LINE())
    +    except:
    +        TestPOA('va.materialProperties=0,1,2,3,4')
    +        pass
    +
    +    fails = [(0,1), (0,1,2,3,4), (0,None,2,3), (0,1+2j,2,3), (0,X,2,3), (0,'123',2,3)]
    +    for i in range(len(fails)):
    +        try:
    +            va.materialProperties = fails[i]
    +            TestFOA('va.materialProperties=%s'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('va.materialProperties=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.materialProperties=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            va.SetMaterialProperties(*fails[i])
    +            TestFOA('va.SetMaterialProperties(%s)'%repr2(fails[i]), LINE())
    +        except TypeError:
    +            TestPOA('va.SetMaterialProperties(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('va.SetMaterialProperties(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    works = [(1,2,3,4), (1.1,2.2,3.3,4.4), (1,True,3,4), (1,False,3,4)]
    +    for i in range(len(works)):
    +        try:
    +            va.materialProperties = works[i]
    +            TestPOA('va.materialProperties=%s'%repr2(works[i]))
    +        except:
    +            TestFOA('va.materialProperties=%s'%repr2(works[i]), LINE())
    +
    +    NumPyArray = numpy.array([1.1,2.2,3.3,4.4])
    +    works += [NumPyArray]
    +    for i in range(len(works)):
    +        try:
    +            va.SetMaterialProperties(*works[i])
    +            TestPOA('va.SetMaterialProperties(%s)'%repr2(works[i]))
    +        except:
    +            TestFOA('va.SetMaterialProperties(%s)'%repr2(works[i]), LINE())
    +
    +def TestColorAttributeStuff():
    +    TestSection('ColorAttribute stuff')
    +
    +    cla = ColorAttributeList()
    +    ca = ColorAttribute()
    +
    +    fails = [(0,1,2), (0,1,2,3,4), (0,None,2,3), (0,1+2j,2,3), (0,X,2,3),
    +             (0,'123',2,3), (0,-1,2,3), (0,256,2,3)]
    +    excpts = [TypeError, TypeError, TypeError, TypeError, TypeError, TypeError, ValueError, ValueError]
    +    for i in range(len(fails)):
    +        try:
    +            ca.color = fails[i]
    +            TestFOA('ca.color=%s'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ca.color=%s'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.color=%s'%repr2(fails[i]), LINE())
    +            pass
    +
    +    for i in range(len(fails)):
    +        try:
    +            ca.SetColor(*fails[i])
    +            TestFOA('ca.SetColor(%s)'%repr2(fails[i]), LINE())
    +        except excpts[i]:
    +            TestPOA('ca.SetColor(%s)'%repr2(fails[i]))
    +            pass
    +        except:
    +            TestFOA('ca.SetColor(%s)'%repr2(fails[i]), LINE())
    +            pass
    +
    +    try:
    +        ca.color = (5,5,5,5)
    +        cla.AddColors(ca)
    +        ca.color = (255,0,0,255)
    +        cla.AddColors(ca)
    +        TestPOA('cla.AddColors')
    +    except:
    +        TestFOA('cla.AddColors', LINE())
    +        pass
    +
    +    try:
    +        cla.colors
    +        TestFOA('cla.colors', LINE())
    +    except NameError:
    +        TestPOA('cla.colors')
    +    except:
    +        TestFOA('cla.colors', LINE())
    +        pass
    +
    +    try:
    +        if cla.GetColors(0).color != (5,5,5,5) or cla.GetColors(1).color != (255,0,0,255):
    +           raise ValueError
    +        TestPOA('cla.GetColors(0)')
    +    except:
    +        TestFOA('cla.Getcolors(0)', LINE())
    +        pass
    +
    +    try:
    +        cla.GetColors(2)
    +        TestFOA('cla.Getcolors(2)', LINE())
    +    except ValueError:
    +        TestPOA('cla.GetColors(2)')
    +    except:
    +        TestFOA('cla.Getcolors(2)', LINE())
    +        pass
    +
    +def TestDirOutput(obj, names):
    +    try:
    +        x = [f for f in dir(obj) if not (f.startswith('__') and f.endswith('__'))]
    +        y = [n for n in names if n in x]
    +        if len(y) != len(names):
    +            raise Exception
    +        x = repr(obj)
    +        if x.startswith('<built-in'):
    +            x = x.strip('<>').split()[2]
    +        else:
    +            x = x.strip('<>').split()[0]
    +        TestPOA('dir(%s)'%x)
    +    except:
    +        TestFOA('dir(%s)'%x, LINE())
    +
    +#
    +# Test that dir(x) appears to work
    +#
    +def TestDir(global_dir_result):
    +    TestSection('behavior of dir()')
    +
    +    #
    +    # Testing of global dir() behavior can't be done from within a func
    +    #
    +    global_dir_checks = ['AddPlot', 'DeleteAllPlots', 'Launch', 'GetMetaData']
    +    y = [n for n in global_dir_checks if n in global_dir_result]
    +    if len(y) != len(global_dir_checks):
    +        TestFOA('dir()', LINE())
    +    else:
    +        TestPOA('dir()')
    +
    +    #
    +    # Test a random handful of object level dirs
    +    #
    +    TestDirOutput(SILRestriction(), ['NumSets', 'TurnOnAll', 'Wholes'])
    +    TestDirOutput(PseudocolorAttributes(), ['GetCentering', 'GetColorTableName',
    +        'GetLightingFlag', 'GetLimitsMode', 'GetMax', 'SetCentering',
    +        'SetColorTableName', 'SetLegendFlag', 'SetLimitsMode'])
    +    TestDirOutput(ColorAttributeList(), ['AddColors', 'ClearColors', 'GetColors'])
    +
    +
    +# Class to facilitate stdout redirect for testing `help()`
    +class my_redirect_stdout(list):
    +    def __enter__(self):
    +        self._stdout = sys.stdout
    +        sys.stdout = self._stringio = io.StringIO()
    +        return self
    +    def __exit__(self, *args):
    +        self.extend(self._stringio.getvalue().splitlines())
    +        del self._stringio    # free up some memory
    +        sys.stdout = self._stdout
    +
    +# Below import works only for Python > 3.4
    +# So, we use the class def above
    +# from contextlib import redirect_stdout
    +def TestHelpOutput(thing, words = None):
    +    try:
    +        with my_redirect_stdout() as output:
    +            help(thing)
    +        x  = [w for w in words if w in str(output)]
    +        if len(x) != len(words):
    +            raise Exception
    +        x = repr(thing)
    +        if x.startswith('<built-in'):
    +            x = x.strip('<>').split()[2]
    +        else:
    +            x = x.strip('<>').split()[0]
    +        TestPOA('help(%s)'%x)
    +    except:
    +        TestFOA('help(%s)'%x, LINE())
    +
    +def TestHelp():
    +    TestSection('behavior of help()')
    +
    +    TestHelpOutput(AddPlot, ['plotType', 'variableName', 'inheritSIL'])
    +    TestHelpOutput(CreateDatabaseCorrelation,
    +        ['IndexForIndexCorrelation', 'CycleCorrelation', 'StretchedIndexCorrelation'])
    +    TestHelpOutput(SILRestriction(),[]) # should not except
    +    TestHelpOutput(SILRestriction, ['GlobalAttributes', 'SetPlotSILRestriction',
    +        'TurnDomainsOff', 'TurnDomainsOn', 'TurnMaterialsOff', 'TurnMaterialsOn'])
    +    TestHelpOutput('wholes', ['SILRestriction'])
    +    TestHelpOutput('tensor', ['DefineArrayExpression', 'DefineTensorExpression',
    +        'LCSAttributes', 'SPHResampleAttributes', 'TensorAttributes'])
    +
    +#
    +# Scalar assignments
    +#
    +# TestAssignmentToUChar() No instances in any .xml files
    +TestAssignmentToBool()
    +TestAssignmentToInt()
    +TestAssignmentToFloat()
    +TestAssignmentToDouble()
    +TestAssignmentToString()
    +TestAssignmentToGlyphType()
    +TestAssignmentToEnum()
    +TestAssignmentToTuple()
    +
    +#
    +# Vector assignments
    +#
    +TestAssignmentToUCharVector()
    +#TestAssignmentToBoolVector() No instances in any .xml files
    +TestAssignmentToIntVector()
    +#TestAssignmentToFloatVector() No instances in any .xml files
    +TestAssignmentToDoubleVector()
    +
    +#
    +# Array assignments
    +#
    +TestAssignmentToUCharArray()
    +#TestAssignmentToBoolArray() No instances in any .xml files
    +TestAssignmentToIntArray()
    +TestAssignmentToFloatArray()
    +TestAssignmentToDoubleArray()
    +
    +#
    +# Attribute Assignments
    +#
    +TestColorAttributeStuff()
    +
    +#
    +# Dir behavior
    +#
    +TestDir(dir())
    +
    +#
    +# Help() behavior
    +#
    +TestHelp()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_compiler_warnings.html b/2023-11-08-22:00/pascal_trunk_serial/unit_compiler_warnings.html new file mode 100644 index 000000000..2f8c1f36c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_compiler_warnings.html @@ -0,0 +1,36 @@ + +Results for unit/compiler_warnings.py + +

    Results of VisIt Regression Test - unit/compiler_warnings

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 116

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_compiler_warnings_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_compiler_warnings_py.html new file mode 100644 index 000000000..9df655a36 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_compiler_warnings_py.html @@ -0,0 +1,213 @@ +unit/compiler_warnings.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  compiler_warnings.py
    +#
    +#  Tests:      changes in compiler warnings
    +#
    +#  Mark C. Miller, Sun Jul 13 21:45:49 PDT 2014
    +# ----------------------------------------------------------------------------
    +import time, os.path, json, subprocess
    +
    +def ShouldSkip(srcfile, msg):
    +    srcfile_tmp = "global skip list"
    +    if srcfile in skip_list:
    +        srcfile_tmp = srcfile
    +    for skipmsg in skip_list[srcfile_tmp][0]:
    +        minlen = min(len(skipmsg),len(msg))
    +        if msg[0:minlen] == skipmsg[0:minlen]:
    +            return 1
    +    return 0
    +
    +data_dir = test_root_path("..","data")
    +src_dir = test_root_path("..","src")
    +tpb_dir = test_root_path("..","src","third_party_builtin")
    +qtssh_dir = test_root_path("..","src","tools","qtssh")
    +
    +# skip this test if we don't have the make.err file
    +if not os.path.exists(test_root_path("..","make.err")):
    +    Exit(116)
    +
    +# To reduce noise, only run this test on Sunday evenings
    +# regressiontest script stuffs a line of the form "DAY_OF_WEEK=Sunday"
    +# into first line of make.err
    +mfile = open(test_root_path("..","make.err"))
    +shouldSkip = 1
    +for line in mfile:
    +    if "DAY_OF_WEEK=Sunday" in line:
    +        shouldSkip = 0
    +        break
    +mfile.close()
    +if shouldSkip:
    +    Exit(116)
    +
    +#
    +# Read per-file skip list and zero any line numbers
    +# We allow line numbers there so that easy cut-n-paste
    +# can be used to populate skip list
    +#
    +skip_list = {}
    +try:
    +    skip_list = json.load(open(test_root_path("tests","unit","compiler_warnings_skips.json")))
    +except:
    +    pass
    +for s in skip_list:
    +    for l in skip_list[s]:
    +        for m in skip_list[s][l]:
    +            skip_list[s][l][m] = 0
    +        if l == 0:
    +            continue
    +        skip_list[s][0] = skip_list[s][l];
    +        del skip_list[s][l]
    +
    +
    +#
    +# Examine warning messages in make output, building a single, large dictionary
    +# spanning all source files that produced warnings.
    +#   
    +mfile = open(test_root_path("..","make.err"))
    +warning_counts ={}
    +warning_messages = {}
    +for line in mfile:
    +    if "warning" in line.lower():
    +
    +        # get name of file generating warning
    +        line = line[0:-1] # remove trailing newline
    +        warnline = line.partition(":")
    +        warnfile1 = warnline[0]
    +        warnfile2 = warnfile1.partition("]")
    +        if warnfile2[1] == "]":
    +            warnfile = warnfile2[2].replace(" ","")
    +        else:
    +            warnfile = warnfile2[0]
    +
    +        if warnfile[0:len(src_dir):1] != src_dir:
    +            continue # ignore files not in our src dir, not our code
    +        if warnfile[0:len(tpb_dir):1] == tpb_dir:
    +            continue # ignore files in third_party_builtin, not our code
    +        if warnfile[0:len(data_dir):1] == data_dir:
    +            continue # ignore files in data dir, not relevant to VisIt for users
    +        if warnfile[0:len(qtssh_dir):1] == qtssh_dir:
    +            continue # ignore files in qtssh dir, not our code 
    +
    +        src_file = warnfile[len(src_dir)+1::1]
    +        if warnline[1] == ":" and os.path.exists(warnfile):
    +            msginfo = warnline[2].partition(":")
    +            if not msginfo[0].isdigit():
    +                continue # probably a garbled message in make.err
    +            lineno = int(msginfo[0])
    +            rawmsg = msginfo[2]
    +            idx = rawmsg.find("warning")
    +            if idx > -1:
    +                msg = rawmsg[idx::1]
    +            else:
    +                msg = rawmsg
    +            if msg[0:len("warning: ")] == "warning: ":
    +                msg = msg[len("warning: ")::1]
    +            msg_ascii = msg.decode('unicode_escape').encode('ascii','ignore')
    +            msg = msg_ascii
    +
    +            if ShouldSkip(src_file, msg):
    +                continue
    +
    +            if src_file in warning_counts:
    +                warning_counts[src_file] += 1
    +                if lineno in warning_messages[src_file]:
    +                    if msg in warning_messages[src_file][lineno]:
    +                        warning_messages[src_file][lineno][msg] += 1
    +                    else:
    +                        warning_messages[src_file][lineno][msg] = 1
    +                else:
    +                    warning_messages[src_file][lineno] = {msg:1}
    +            else:
    +                warning_counts[src_file] = 1
    +                warning_messages[src_file] = {lineno:{msg:1}}
    +
    +mfile.close()
    +
    +#
    +# Load in current warning counts baseline data
    +#
    +baseline_counts = {}
    +try:
    +    baseline_counts = json.load(open(test_baseline_path("unit","compiler_warnings","warning_counts_by_file.txt")))
    +except:
    +    pass
    +
    +improved_counts = {}
    +worsened_counts = {}
    +for f in warning_counts:
    +    if f in baseline_counts:
    +        if warning_counts[f] > baseline_counts[f]:
    +            worsened_counts[f] = warning_counts[f]
    +        elif warning_counts[f] < baseline_counts[f]:
    +            improved_counts[f] = warning_counts[f]
    +            baseline_counts[f] = warning_counts[f]
    +    else:
    +        worsened_counts[f] = warning_counts[f]
    +for f in baseline_counts:
    +    if f not in warning_counts:
    +        improved_counts[f] = 0
    +for f in improved_counts:
    +    if improved_counts[f] == 0 and f in baseline_counts:
    +        del baseline_counts[f]
    +
    +#
    +# If there were improvements, re-baseline counts file
    +#
    +if len(improved_counts):
    +    bfilename = test_baseline_path("unit","compiler_warnings","warning_counts_by_file.txt")
    +    bfile = open(bfilename,"w+")
    +    json.dump(baseline_counts,bfile,indent=4,sort_keys=True)
    +    bfile.write("\n")
    +    bfile.close()
    +    retval = subprocess.call(["/usr/bin/svn","commit","-m","'Updating warning counts'","%s"%bfilename])
    +
    +#
    +# Generate the (sorted) warning counts data
    +#
    +counts_txt = "{\n"
    +keys = list(worsened_counts.keys())
    +keys.sort()
    +for k in keys:
    +    counts_txt += "\"%s\": %d,\n"%(k,worsened_counts[k])
    +counts_txt += "\"last line\": 0\n}\n"
    +TestText("worsened_counts_by_file", counts_txt)
    +
    +#
    +# Ok, tricky here. Append all the warning details to the html file
    +# so others can actually see it
    +#
    +uniq_msgs = {}
    +tot_files = len(warning_counts)
    +tot_cnt = 0
    +tot_uniq_cnt = 0
    +for srcfile in warning_messages:
    +    for lineno in warning_messages[srcfile]:
    +        for msg in warning_messages[srcfile][lineno]:
    +            if msg not in uniq_msgs:
    +                uniq_msgs[msg] = 1
    +            else:
    +                uniq_msgs[msg] += 1
    +            tot_uniq_cnt += 1
    +            tot_cnt += len(warning_messages[srcfile][lineno])
    +
    +
    +f = open(out_path("html","worsened_counts_by_file.html"),"a")
    +f.write("<pre>\n")
    +f.write("\n\n\nTotal warnings %d\n"%tot_cnt)
    +f.write("Total files with warnings %d\n"%tot_files)
    +f.write("Total unique warnings %d\n"%tot_uniq_cnt)
    +f.write("Unique warning messages by count...\n")
    +sorted_uniq_msgs = sorted(uniq_msgs, key=uniq_msgs.get, reverse=True)
    +for msg in sorted_uniq_msgs:
    +    f.write("%d: \"%s\"\n"%(uniq_msgs[msg],msg))
    +f.write("\n\n\nWarning message details by file and line number...\n");
    +f.write(json.dumps(warning_messages,indent=4))
    +f.write("\n\n\nWarning message strings currently being skipped if matched...\n")
    +f.write(json.dumps(skip_list,indent=4))
    +f.write("</pre>\n")
    +f.close()
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_convert2to3.html b/2023-11-08-22:00/pascal_trunk_serial/unit_convert2to3.html new file mode 100644 index 000000000..d9d0271d7 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_convert2to3.html @@ -0,0 +1,44 @@ + +Results for unit/convert2to3.py + +

    Results of VisIt Regression Test - unit/convert2to3

    + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    simple_2to3_input0 modifications totalling 0 lines
    simple_2to3_result0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_convert2to3_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_convert2to3_py.html new file mode 100644 index 000000000..e69c2b76c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_convert2to3_py.html @@ -0,0 +1,34 @@ +unit/convert2to3.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  convert2to3.py
    +#
    +#  Tests:      Tests methods that help with converting python 2 style scripts
    +#              to python 3. 
    +#
    +#  Cyrus Harrison, Mon Jul 20 11:32:42 PDT 2020
    +# ----------------------------------------------------------------------------
    +
    +
    +
    +test_script_src = "print 'Old Style Print!'\n"
    +
    +TestText("simple_2to3_input",test_script_src)
    +TestText("simple_2to3_result",ConvertPy2to3(test_script_src))
    +
    +
    +#
    +# Test on-the-fly logic for visit.Source
    +#
    +
    +test_script_file = "tgen_test_py2_script.py";
    +open(test_script_file,"w").write(test_script_src)
    +
    +curr_val = visit_utils.builtin.GetAutoPy2to3()
    +
    +visit_utils.SetAutoPy2to3(True)
    +visit.Source(test_script_file)
    +visit_utils.SetAutoPy2to3(curr_val)
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_default_methods.html b/2023-11-08-22:00/pascal_trunk_serial/unit_default_methods.html new file mode 100644 index 000000000..40107afb8 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_default_methods.html @@ -0,0 +1,84 @@ + +Results for unit/default_methods.py + +

    Results of VisIt Regression Test - unit/default_methods

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    GetDebugLevel()
     0 .eq. 0 (prec=5) : True
    GetLastError()
     "Can't delete the last window." .eq. "Can't delete the last window." : True
    Clearing GetLastError()
     "" .eq. "" : True
    Version()
     340 .ge. 321 (prec=5) : True
    LocalNameSpace()
     "None" .eq. "None" : True
    WriteScript('foo.py') == WriteScript(f)
     "True" .eq. "True" : True
    WriteScript() file size
     4000 .gt. 3000 (prec=5) : True
    SetsInCategory in dir(SILAttributes())
     SetsInCategory .in. 
    ['Categories', 'EnableCorrectnessChecking', 'MapsOut', 'NumCategories', 'NumSets', 'SetIndex', 'SetName', 'SetsInCategory', 'SuspendCorrectnessChecking', 'TopSet', 'TurnOffAll', 'TurnOffSet', 'TurnOnAll', 'TurnOnSet', 'TurnSet', 'UsesAllData', 'UsesData', 'Wholes']
     (prec=5, at=7) : True
    SetIndex in dir(SILAttributes())
     SetIndex .in. 
    ['Categories', 'EnableCorrectnessChecking', 'MapsOut', 'NumCategories', 'NumSets', 'SetIndex', 'SetName', 'SetsInCategory', 'SuspendCorrectnessChecking', 'TopSet', 'TurnOffAll', 'TurnOffSet', 'TurnOnAll', 'TurnOnSet', 'TurnSet', 'UsesAllData', 'UsesData', 'Wholes']
     (prec=5, at=5) : True
    RotateAxis in dir(View3Dattributes())
     RotateAxis .in. 
    ['Add', 'GetAxis3DScaleFlag', 'GetAxis3DScales', 'GetCenterOfRotation', 'GetCenterOfRotationSet', 'GetEyeAngle', 'GetFarPlane', 'GetFocus', 'GetImagePan', 'GetImageZoom', 'GetNearPlane', 'GetParallelScale', 'GetPerspective', 'GetShear', 'GetViewAngle', 'GetViewNormal', 'GetViewUp', 'GetWindowValid', 'Mul', 'Notify', 'RotateAxis', 'SetAxis3DScaleFlag', 'SetAxis3DScales', 'SetCenterOfRotation', 'SetCenterOfRotationSet', 'SetEyeAngle', 'SetFarPlane', 'SetFocus', 'SetImagePan', 'SetImageZoom', 'SetNearPlane', 'SetParallelScale', 'SetPerspective', 'SetShear', 'SetViewAngle', 'SetViewNormal', 'SetViewUp', 'SetWindowValid']
     (prec=5, at=20) : True
    GetImageZoom in dir(View3Dattributes())
     GetImageZoom .in. 
    ['Add', 'GetAxis3DScaleFlag', 'GetAxis3DScales', 'GetCenterOfRotation', 'GetCenterOfRotationSet', 'GetEyeAngle', 'GetFarPlane', 'GetFocus', 'GetImagePan', 'GetImageZoom', 'GetNearPlane', 'GetParallelScale', 'GetPerspective', 'GetShear', 'GetViewAngle', 'GetViewNormal', 'GetViewUp', 'GetWindowValid', 'Mul', 'Notify', 'RotateAxis', 'SetAxis3DScaleFlag', 'SetAxis3DScales', 'SetCenterOfRotation', 'SetCenterOfRotationSet', 'SetEyeAngle', 'SetFarPlane', 'SetFocus', 'SetImagePan', 'SetImageZoom', 'SetNearPlane', 'SetParallelScale', 'SetPerspective', 'SetShear', 'SetViewAngle', 'SetViewNormal', 'SetViewUp', 'SetWindowValid']
     (prec=5, at=9) : True
    SetImagePan in dir(View3Dattributes())
     SetImagePan .in. 
    ['Add', 'GetAxis3DScaleFlag', 'GetAxis3DScales', 'GetCenterOfRotation', 'GetCenterOfRotationSet', 'GetEyeAngle', 'GetFarPlane', 'GetFocus', 'GetImagePan', 'GetImageZoom', 'GetNearPlane', 'GetParallelScale', 'GetPerspective', 'GetShear', 'GetViewAngle', 'GetViewNormal', 'GetViewUp', 'GetWindowValid', 'Mul', 'Notify', 'RotateAxis', 'SetAxis3DScaleFlag', 'SetAxis3DScales', 'SetCenterOfRotation', 'SetCenterOfRotationSet', 'SetEyeAngle', 'SetFarPlane', 'SetFocus', 'SetImagePan', 'SetImageZoom', 'SetNearPlane', 'SetParallelScale', 'SetPerspective', 'SetShear', 'SetViewAngle', 'SetViewNormal', 'SetViewUp', 'SetWindowValid']
     (prec=5, at=28) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_default_methods_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_default_methods_py.html new file mode 100644 index 000000000..6c882a104 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_default_methods_py.html @@ -0,0 +1,58 @@ +unit/default_methods.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  default_methods.py
    +#
    +#  Tests:      Tests default method interface of the visit module
    +#
    +#  Cyrus Harrison, Mon Jul 20 11:32:42 PDT 2020
    +#
    +#  Modifications
    +#    Mark C. Miller, Thu Dec 16 16:43:39 PST 2021
    +#    Wrap in TestValueXX calls so that we really do test behavior and not
    +#    just that something doesn't fail due to exception. Add tests for
    +#    WriteScript.
    +# ----------------------------------------------------------------------------
    +import os, sys, filecmp
    +
    +TestValueEQ("GetDebugLevel()", GetDebugLevel(), 0)
    +
    +# Do something to create an error (not a python exception) so that we
    +# can get something other than the empty string from GetLastError()
    +DeleteWindow()
    +TestValueEQ("GetLastError()", GetLastError(), "Can't delete the last window.")
    +
    +# Test that we can clear the last error too
    +GetLastError(1)
    +TestValueEQ("Clearing GetLastError()", GetLastError(), "")
    +
    +# This version number test assumes 3, single digits
    +TestValueGE("Version()", int(Version().replace('.','')), 321)
    +
    +TestValueEQ("LocalNameSpace()", LocalNameSpace(), None)
    +
    +# The long file name test is relevant only on Windows
    +# But, we should really have an example of a short file name
    +# there that LongFileName expands and we confirm matches expected
    +if sys.platform.startswith("win"):
    +    TestValueEQ("LongFileName()", LongFileName("myfile.txt"), "myfile.txt")
    +
    +# Test two ways of using WriteScript
    +f = open('foo.py', 'wt')
    +WriteScript(f)
    +f.close()
    +WriteScript('bar.py')
    +TestValueEQ("WriteScript('foo.py') == WriteScript(f)", filecmp.cmp('foo.py','bar.py'), True)
    +TestValueGT("WriteScript() file size", os.path.getsize('foo.py'), 3000)
    +
    +# Test dir() on some objects
    +dout = dir(SILRestriction())
    +TestValueIN("SetsInCategory in dir(SILAttributes())", dout, 'SetsInCategory')
    +TestValueIN("SetIndex in dir(SILAttributes())", dout, 'SetIndex')
    +dout = dir(View3DAttributes())
    +TestValueIN("RotateAxis in dir(View3Dattributes())", dout, 'RotateAxis')
    +TestValueIN("GetImageZoom in dir(View3Dattributes())", dout, 'GetImageZoom')
    +TestValueIN("SetImagePan in dir(View3Dattributes())", dout, 'SetImagePan')
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_launcher.html b/2023-11-08-22:00/pascal_trunk_serial/unit_launcher.html new file mode 100644 index 000000000..218cc6962 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_launcher.html @@ -0,0 +1,120 @@ + +Results for unit/launcher.py + +

    Results of VisIt Regression Test - unit/launcher

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    aprun0 modifications totalling 0 lines
    bsub0 modifications totalling 0 lines
    bsub_mpirun0 modifications totalling 0 lines
    dmpirun0 modifications totalling 0 lines
    ibrun0 modifications totalling 0 lines
    mpirun0 modifications totalling 0 lines
    msub_aprun0 modifications totalling 0 lines
    msub_ibrun0 modifications totalling 0 lines
    msub_mpiexec0 modifications totalling 0 lines
    msub_mpirun0 modifications totalling 0 lines
    msub_srun0 modifications totalling 0 lines
    poe0 modifications totalling 0 lines
    prun0 modifications totalling 0 lines
    psub0 modifications totalling 0 lines
    psub_mpirun0 modifications totalling 0 lines
    psub_srun0 modifications totalling 0 lines
    salloc0 modifications totalling 0 lines
    sbatch0 modifications totalling 0 lines
    sbatch_aprun0 modifications totalling 0 lines
    srun0 modifications totalling 0 lines
    yod0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_launcher_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_launcher_py.html new file mode 100644 index 000000000..18151e599 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_launcher_py.html @@ -0,0 +1,196 @@ +unit/launcher.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  launcher.py
    +#
    +#  Tests:      This script tests internallauncher's transformation of visit
    +#              command line arguments into parallel launch arguments.
    +#
    +#  Brad Whitlock, Tue Sep 11 12:31:34 PDT 2012
    +#
    +# Modifications:
    +#   Brad Whitlock, Fri Dec  7 09:08:22 PST 2012
    +#   I added a little more filtering of the launcher output to replace the host
    +#   with $HOST now that the noloopback case will always use the real host
    +#   name instead of 127.0.0.1 for parallel engine launches.
    +#
    +# ----------------------------------------------------------------------------
    +import os
    +import socket
    +import subprocess
    +import getpass
    +
    +# The launch cases we want to test.
    +launch_cases = {
    +"aprun"          : ["-nn", "1"],
    +"bsub"           : ["-p", "pbatch", "-t", "30:00", "-la", "-arg1 -arg2"],
    +"bsub/mpirun"    : ["-p", "pbatch", "-t", "30:00", "-la", "-arg1 -arg2", "-sla", "-arg3 -arg4"],
    +"dmpirun"        : ["-b", "bdivp"],
    +"ibrun"          : [],
    +"mpirun"         : [],
    +"msub/aprun"     : ["-nn", "1", "-sla", "-arg1 -arg2", "-hw-pre", "startx", "-hw-post", "stopx"],
    +"msub/ibrun"     : ["-hw-pre", "startx", "-hw-post", "stopx"],
    +"msub/mpiexec"   : ["-slpre", "echo 'slprecommand'", "-slpost", "echo 'slpostcommand'", "-sla", "-arg1 -arg2", "-machinefile", "machine.txt", "-hw-pre", "startx", "-hw-post", "stopx"],
    +"msub/mpirun"    : ["-sla", "-arg1 -arg2", "-machinefile", "machine.txt", "-hw-pre", "startx", "-hw-post", "stopx"],
    +"msub/srun"      : ["-sla", "-arg1 -arg2", "-hw-pre", "startx", "-hw-post", "stopx"],
    +"poe"            : ["-nn", "1", "-p", "pbatch"],
    +"prun"           : ["-nn", "1", "-p", "pbatch"],
    +"psub"           : ["-n", "JOB_NAME", "-p", "pbatch", "-b", "bdivp", "-t", "30:00", "-expedite", "-slpre", "echo 'pre command'", "-slpost", "echo 'post command'"],
    +"psub/mpirun"    : ["-nn", "1", "-n", "JOB_NAME", "-p", "pbatch", "-b", "bdivp", "-t", "30:00", "-expedite", "-slpre", "echo 'pre command'", "-slpost", "echo 'post command'"],
    +"psub/srun"      : ["-nn", "1", "-n", "JOB_NAME", "-p", "pbatch", "-b", "bdivp", "-t", "30:00", "-expedite", "-slpre", "echo 'pre command'", "-slpost", "echo 'post command'"],
    +
    +
    +"salloc"         : ["-p", "pbatch", "-t", "30:00", "-nn", "1"],
    +"sbatch"         : ["-p", "pbatch", "-b", "bdivp", "-nn", "1"],
    +"sbatch/aprun"   : ["-p", "pbatch", "-b", "bdivp", "-nn", "1", "-sla", "-arg1 -arg2"],
    +"srun"           : ["-nn", "1", "-p", "pbatch", "-b", "bdivp", "-n", "JOB_NAME", "-t", "30:00"],
    +"yod"            : []}
    +
    +# Some debugger arguments.
    +debuggers = [[], ["-totalview", "engine_par"], ["-valgrind", "engine_par"], ["-strace", "engine_par"]]
    +
    +# Get the launcher command for new versions of VisIt.
    +def GetLauncherCommand(args):
    +    p = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
    +    stdout, stderr = p.communicate()
    +    ru = stdout.find("RUN USING")
    +    if ru != -1:
    +        cmd = stdout[ru + 11:-2]
    +    else:
    +        cmd = stdout
    +    return cmd
    +
    +def FilterLauncherOutput(text, replacements):
    +    for k in list(replacements.keys()):
    +        text = text.replace(k, replacements[k])
    +    return text
    +
    +def FilterHostName(text):
    +    host = text.find("-host")
    +    port = text.find("-port")
    +    if host != -1 and port != -1:
    +        return text[:host + 6] + "$HOST " + text[port:]
    +    return text
    +
    +def hostname():
    +    return socket.gethostname()
    +
    +def nodename():
    +    return hostname().split(".")[0]
    +
    +def sectorname():
    +    s = nodename()
    +    for d in "0123456789":
    +        s = s.replace(d, "")
    +    return s
    +
    +def FormatLauncherOutput(cmd):
    +    tmpvisit = cmd.find("/tmp/visit")
    +    text = ""
    +    if tmpvisit == -1:
    +        text = cmd
    +    else:
    +        # The launcher made a script. Get the contents of the script.
    +        index = tmpvisit
    +        try:
    +            while cmd[index] != '\n':
    +                index = index + 1
    +            filename = cmd[tmpvisit:index]
    +        except:
    +            filename = cmd[tmpvisit:]
    +
    +        cmd = cmd.replace(filename, "$LAUNCHSCRIPT")
    +        text = text + cmd
    +
    +        try:
    +            lines = open(filename, "rt").readlines()
    +            text = text + '\n\nContents of $LAUNCHSCRIPT:\n'
    +            for line in lines:
    +                text = text + line
    +            os.unlink(filename)
    +        except:
    +            pass
    +
    +    return text
    +
    +
    +# For each launcher
    +i = 0
    +keys = list(launch_cases.keys())
    +keys.sort()
    +for k in keys:
    +    # Test the launcher with each debugger.
    +    j = 0
    +    text = ""
    +    for j in range(len(debuggers)):
    +        np = []
    +        if not "-np" in launch_cases[k]:
    +            np = ["-np", "8"]
    +        args = ["-engine", "-norun", "engine_par", "-l", k] + np + launch_cases[k] + ["-host", "127.0.0.1", "-port", "5600"] + debuggers[j]
    +
    +        # Come up with a visit command
    +        cmd = ""
    +        for a in args:
    +            if " " in a:
    +                cmd = cmd + '"%s" ' % a
    +            else:
    +                cmd = cmd + a + ' '
    +
    +        # Run the launcher and get the output.
    +        visitdir = pjoin(TestEnv.params["top_dir"],"src")
    +        visittestdir = pjoin(TestEnv.params["top_dir"],"test")
    +        visit =  visit_bin_path("visit")
    +        output = FormatLauncherOutput(GetLauncherCommand([visit] + args))
    +        # filter the run dir, since there are multiple variants for nightly tests
    +        # (serial, par, etc)
    +        output = FilterLauncherOutput(output, {TestEnv.params["run_dir"]: "$VISIT_TEST_DIR"})
    +        output = FilterLauncherOutput(output, {TestEnv.params["result_dir"] : "$VISIT_TEST_DIR"})
    +        # Filter out visitdir and some related directories.
    +        output = FilterLauncherOutput(output, {visit_bin_path() : "$VISIT_EXE_DIR"})
    +        output = FilterLauncherOutput(output, {visit_bin_path("..","exe") : "$VISIT_EXE_DIR"})
    +        output = FilterLauncherOutput(output, {visittestdir : "$VISIT_TEST_DIR"})
    +        output = FilterLauncherOutput(output, {visit_bin_path("..") : "$VISITDIR"})
    +        output = FilterLauncherOutput(output, {visitdir : "$VISITDIR"})
    +        # special case filter to resolve csh vs bash env differences
    +        bash_case   = "ulimit -c 0 ;"
    +        bash_case  += " LIBPATH=$VISITDIR/lib ;"
    +        bash_case  += " export LIBPATH ;"
    +        bash_case  += " LD_LIBRARY_PATH=$VISITDIR/lib ;"
    +        bash_case  += " export LD_LIBRARY_PATH"
    +
    +        csh_case  = "limit coredumpsize 0 ;"
    +        csh_case += " setenv LIBPATH $VISITDIR/lib ;"
    +        csh_case += " setenv LD_LIBRARY_PATH $VISITDIR/lib"
    +        shell_filter = {bash_case : csh_case}
    +        output = FilterLauncherOutput(output, shell_filter)
    +        # Filter out $HOME.
    +        try:
    +            output = FilterLauncherOutput(output, {os.environ["HOME"] : "$HOME"})
    +        except:
    +            pass
    +
    +        cdcmd = "cd $VISIT_TEST_DIR"
    +
    +        # Filter out some other stuff.
    +        replacements = {getpass.getuser() : "$USER",
    +                        Version()         : "$VERSION",
    +                        "linux-intel"     : "$PLATFORM",
    +                        "linux-x86_64"    : "$PLATFORM",
    +                        "darwin-i386"     : "$PLATFORM",
    +                        "darwin-x86_64"   : "$PLATFORM"}
    +
    +        output = FilterLauncherOutput(output, replacements)
    +
    +        output = FilterHostName(output)
    +
    +        # Do the test
    +        text = text + "="*80 + "\n"
    +        text = text + "CASE: %s\n\nINPUT: visit %s\n\nRESULTS:\n" % (k + " " + " ".join(debuggers[j]), cmd[:-1])
    +        text = text + output + "\n"*2
    +
    +    name = k.replace("/", "_")
    +    TestText(name, text)
    +    i = i + 1
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_mrucache.html b/2023-11-08-22:00/pascal_trunk_serial/unit_mrucache.html new file mode 100644 index 000000000..bf2285b52 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_mrucache.html @@ -0,0 +1,40 @@ + +Results for unit/mrucache.py + +

    Results of VisIt Regression Test - unit/mrucache

    + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    mrucache0 modifications totalling 0 lines
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_mrucache_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_mrucache_py.html new file mode 100644 index 000000000..9b09eb16e --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_mrucache_py.html @@ -0,0 +1,24 @@ +unit/mrucache.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  mrucache.py
    +#
    +#  Tests:      MRUCache_test unit test
    +#
    +#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Oct 26, 2020
    +#    Retrieve the correct path on Windows.
    +#
    +# ----------------------------------------------------------------------------
    +import sys
    +
    +if sys.platform.startswith("win"):
    +    tapp = visit_bin_path("MRUCache_test.exe")
    +else:
    +    tapp = visit_bin_path("..","exe","MRUCache_test")
    +res = sexe(tapp,ret_output=True)
    +TestText("mrucache", res["output"])
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_namescheme.html b/2023-11-08-22:00/pascal_trunk_serial/unit_namescheme.html new file mode 100644 index 000000000..00fd70580 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_namescheme.html @@ -0,0 +1,36 @@ + +Results for unit/namescheme.py + +

    Results of VisIt Regression Test - unit/namescheme

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_namescheme_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_namescheme_py.html new file mode 100644 index 000000000..83cec4432 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_namescheme_py.html @@ -0,0 +1,27 @@ +unit/namescheme.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  namescheme.py
    +#
    +#  Tests:      Namescheme_test unit test
    +#
    +#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Oct 26, 2020
    +#    Retrieve correct path on Windows.
    +#
    +# ----------------------------------------------------------------------------
    +import sys
    +
    +if sys.platform.startswith("win"):
    +    tapp = visit_bin_path("Namescheme_test.exe")
    +else:
    +    tapp = visit_bin_path("..","exe","Namescheme_test")
    +res = sexe(tapp,ret_output=True)
    +if res["return_code"] == 0:
    +    excode = 111
    +else:
    +    excode = 113
    +Exit(excode)
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_protocol.html b/2023-11-08-22:00/pascal_trunk_serial/unit_protocol.html new file mode 100644 index 000000000..d76a7fe7f --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_protocol.html @@ -0,0 +1,36 @@ + +Results for unit/protocol.py + +

    Results of VisIt Regression Test - unit/protocol

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_protocol_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_protocol_py.html new file mode 100644 index 000000000..4bdb01b09 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_protocol_py.html @@ -0,0 +1,17 @@ +unit/protocol.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  protocolo.py
    +#
    +#  Tests:      vistprotocol unit test
    +#
    +#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
    +# ----------------------------------------------------------------------------
    +tapp = visit_bin_path("visitprotocol")
    +res = sexe(tapp,ret_output=True)
    +if res["return_code"] == 0:
    +    excode = 111
    +else:
    +    excode = 113
    +Exit(excode)
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_stringhelpers.html b/2023-11-08-22:00/pascal_trunk_serial/unit_stringhelpers.html new file mode 100644 index 000000000..9a7b72614 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_stringhelpers.html @@ -0,0 +1,36 @@ + +Results for unit/stringhelpers.py + +

    Results of VisIt Regression Test - unit/stringhelpers

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_stringhelpers_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_stringhelpers_py.html new file mode 100644 index 000000000..bb4c42a06 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_stringhelpers_py.html @@ -0,0 +1,26 @@ +unit/stringhelpers.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  stringhelpers.py
    +#
    +#  Tests:      StringHelpers_test unit test
    +#
    +#  Mark C. Miller, Tue Jan 11 10:19:23 PST 2011
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Thu Nov 12, 2020
    +#    Retrieve the correct path on Windows.
    +# ----------------------------------------------------------------------------
    +import sys
    +
    +if sys.platform.startswith("win"):
    +    tapp = visit_bin_path("StringHelpers_test.exe")
    +else:
    +    tapp = visit_bin_path("..","exe","StringHelpers_test")
    +res = sexe(tapp,ret_output=True)
    +if res["return_code"] == 0:
    +    excode = 111
    +else:
    +    excode = 113
    +Exit(excode)
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_test_value_simple.html b/2023-11-08-22:00/pascal_trunk_serial/unit_test_value_simple.html new file mode 100644 index 000000000..ac1c5c847 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_test_value_simple.html @@ -0,0 +1,120 @@ + +Results for unit/test_value_simple.py + +

    Results of VisIt Regression Test - unit/test_value_simple

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    Basic
    test_value_basic_001
     100 .eq. 100 (prec=5) : True
    test_value_basic_002
     200 .ne. 100 (prec=5) : True
    test_value_basic_003
     100 .lt. 200 (prec=5) : True
    test_value_basic_004
     100 .le. 200 (prec=5) : True
    test_value_basic_005
     200 .le. 200 (prec=5) : True
    test_value_basic_006
     200 .gt. 100 (prec=5) : True
    test_value_basic_007
     200 .ge. 100 (prec=5) : True
    test_value_basic_008
     200 .ge. 200 (prec=5) : True
    test_value_basic_009
     100.0 .eq. 100 (prec=5) : True
    Precision
    test_value_prec_001
     200.0001 .eq. 200 (prec=3) : True
    test_value_prec_002
     200.0000000001 .eq. 200 (prec=9) : True
    test_value_prec_004
     200.0001 .ne. 200 (prec=9) : True
    In Operator
    test_value_in_001
     200 .in. 
    (100, 200, 300)
     (prec=5, at=1) : True
    test_value_in_001
     (1, -1) .in. 
    [(0, 0),
      (1, 0),
      (1, -1),
      (0, 1)]
     (prec=5, at=2) : True
    test_value_in_002
     35 .in. 
    (17, 18, 19, 20, 21)
     (prec=2, at=3) : True
    Objects
    test_value_object_001
     "[1, '2', 3]" .eq. "[1, '2', 3]" : True
    test_value_object_002
     "apple" .lt. "carrot" : True
    test_value_object_003
     (1, 1, 4.71e-06) .lt. (1, 1, 5.01e-06)
     (prec=5) : True
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_test_value_simple_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_test_value_simple_py.html new file mode 100644 index 000000000..6af22d3aa --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_test_value_simple_py.html @@ -0,0 +1,56 @@ +unit/test_value_simple.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  test_value_simple.py
    +#
    +#  Tests:      VisIt Test Suite Test Value tests
    +#
    +#  Defect ID:  none
    +#
    +#  Programmer: Mark C. Miller, Sun Jan 10 10:24:59 PST 2021
    +#
    +# ----------------------------------------------------------------------------
    +
    +# Basic cases
    +TestSection("Basic")
    +TestValueEQ("test_value_basic_001",100,100)
    +TestValueNE("test_value_basic_002",200,100)
    +
    +TestValueLT("test_value_basic_003",100,200)
    +TestValueLE("test_value_basic_004",100,200)
    +TestValueLE("test_value_basic_005",200,200)
    +
    +TestValueGT("test_value_basic_006",200,100)
    +TestValueGE("test_value_basic_007",200,100)
    +TestValueGE("test_value_basic_008",200,200)
    +
    +TestValueEQ("test_value_basic_009",100.0,100)
    +
    +# Rounding cases
    +TestSection("Precision")
    +TestValueEQ("test_value_prec_001",200.0001,200,3)
    +TestValueEQ("test_value_prec_002",200.0000000001,200,9)
    +TestValueNE("test_value_prec_004",200.0001,200,9)
    +
    +# IN operator
    +TestSection("In Operator")
    +TestValueIN("test_value_in_001",(100,200,300),200)
    +TestValueIN("test_value_in_001",[(0,0), (1,0), (1,-1), (0,1)],(1,-1))
    +
    +# Custom equivalence operator for TestValueIN
    +def EqMod5(a,b):
    +    return a%5 == b%5
    +
    +# This tests that '35' is IN '(17,18,19,20,21)' by the EqMod5 operator
    +# which says two things are equal if their mod 5 values are equal. So,
    +# '35' is IN the list because 20%5==35%5 (0)
    +TestValueIN("test_value_in_002",(17,18,19,20,21),35,2,EqMod5)
    +
    +# General Python objects wind up being tested as strings
    +TestSection("Objects")
    +TestValueEQ("test_value_object_001",[1,'2',3],"[1, '2', 3]")
    +TestValueLT("test_value_object_002","apple","carrot")
    +TestValueLT("test_value_object_003",(1,1,0.00000471),(1,1,0.00000501))
    +
    +Exit()
    +
    \ No newline at end of file diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_utility.html b/2023-11-08-22:00/pascal_trunk_serial/unit_utility.html new file mode 100644 index 000000000..6259f9415 --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_utility.html @@ -0,0 +1,36 @@ + +Results for unit/utility.py + +

    Results of VisIt Regression Test - unit/utility

    + + + + + + + + + + + + + + +
    Test CaseErrorsImages
    %DiffsMaximumBaselineCurrentDiff Map
    +

    Final Return Code: 111

    + + diff --git a/2023-11-08-22:00/pascal_trunk_serial/unit_utility_py.html b/2023-11-08-22:00/pascal_trunk_serial/unit_utility_py.html new file mode 100644 index 000000000..cd40f750c --- /dev/null +++ b/2023-11-08-22:00/pascal_trunk_serial/unit_utility_py.html @@ -0,0 +1,27 @@ +unit/utility.py
    # ----------------------------------------------------------------------------
    +#  CLASSES: nightly
    +#
    +#  Test Case:  utility.py
    +#
    +#  Tests:      Utility_test unit test
    +#
    +#  Mark C. Miller, Mon Dec  1 23:55:05 PST 2014
    +#
    +#  Modifications:
    +#    Kathleen Biagas, Mon Oct 26, 2020
    +#    Retrieve correct path on Windows.
    +#
    +# ----------------------------------------------------------------------------
    +import sys
    +
    +if sys.platform.startswith("win"):
    +    tapp = visit_bin_path("Utility_test.exe")
    +else:
    +    tapp = visit_bin_path("..","exe","Utility_test")
    +res = sexe(tapp,ret_output=True)
    +if res["return_code"] == 0:
    +    excode = 111
    +else:
    +    excode = 113
    +Exit(excode)
    +
    \ No newline at end of file diff --git a/index.html b/index.html index 7d9b86660..2e82f9426 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,21 @@

    Results of VisIt Regression Tests

    Result +Wednesday, November 08, 2023 22:00 +pascal_trunk_scalable_parallel_icet +Failed + + +Wednesday, November 08, 2023 22:00 +pascal_trunk_parallel +Failed + + +Wednesday, November 08, 2023 22:00 +pascal_trunk_serial +Failed + + Tuesday, November 07, 2023 22:00 pascal_trunk_scalable_parallel_icet Failed

    Results of VisIt Regression Test - databases/ANALYZE

    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 Ct*D9s literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_15.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_15.png new file mode 100644 index 0000000000000000000000000000000000000000..3f91131ed20dd2f7d8cbb2217d5e0e7a92f3552e GIT binary patch literal 1228 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_qYNo-U3d6?5L+Ihc1jL!#~C zd5wvuREtz~(vCJ&KRV}-rMlVaaEIqD6+gMf^OW-^L>H*qSJrQQv1#3FhPnJ-nGaN} zJ9TslBq_Db;80W>Wuk<`jfHg$t94G>oZb2QF>m?&w7$=^&yK%*{pW7@{s*bg?%40I znf>+hnTNMtR~-H>m)5uW+@3i*=562cH8t}3*1GnxBSKC-Eds)dM_f1z1&1;-2jri& zZr#&C_Dpk%1H;;X+aCYB#`tr|w_g>9?=GMDxMu#(!e3VP->>Rd%-n2$;8X53f8+M- z^^bY)SI@9KXZ5-0QPsUi*QTfbt9;}B|9Yz3`u}!k{(P_e_vi8Fo4fb_cUk^#mA6G7 zFo-s6PG&46(;Z#iHd>AEtHJKBXlr8%Xg>LgcF64AZ=+M)?=zpoxz{&ivMoh-*3?0QI zI*NO4))sAq8Ib$#T9<0e4AmC%9qAe{rF)*8n;HRffW=$IS|9`LfPzDdA8i0R;6uG! zL>o{KhvG8}uKF8a%%%370$Z2gr2w=5812Ucf2giH2o^gtMH6O#KzRblsg?K30vf>D zw>2BKowAFo_vYAGTO)Gd@!My2w}ahPW_)xN# zyI&5}6I*9=!1m48REVBwrLnKm8_LfPRO;I}|MrX>|M|@V)&ol^22WQ%mvv4FO#s(x B(=Px3 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_15_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_tecplot_15_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..c232c71ac3ea56719b5c8d07db8a5135dcd48f0c GIT binary patch literal 1267 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_text3d03_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_text3d03_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7ef79ac0f2c63c4b5a3e2858e8c9425357ef6edd GIT binary patch literal 4624 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_var02_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_var02_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..21adbb049f127e809f2313606d51ad4c6beeed49 GIT binary patch literal 3286 zcmZXXXE+-Q`^FI?_GoJFtwt23W~>sW_N>@ds;Wk9u~J&2v}mY3t5&PjA+$z_P0A@H zw1gC?B7%zjKj%9C>w4eoydR$D`S{!)?)$lZPnxx*DJv5{6BQK|s~ObT_OE&8?*h{N z)h`lh08~^gC1%D3_EE)K#V)~uL(z#n+w=3xa~PT~W`*sHW$GLb;}kCFd|qRVufvV^ z4nJfg+)ue71i3oGRfp&>DXf{pX}SFmDR2ZV3uK~X`f@G@Ggc{?_#|podfSI*$UW?l zaH5ofHSOoF@^SmM2E{M4o}GTjMWvxdLryo?hPebs8INeo>iRWiW;Asjb>#N9LI*NMrhQ-|8dV#*gx4m0BBU zAUxn{U8o)Hs4$rKluWZ!qM(7&$H6%f z6Pmke_ek(?>b<8_i#{(fB43JwOI^=*EC*P%_`z2!b8BdiKk9EOQ7vl!tr79g*pUw| zPp3Y2lAu&%?=Us{x@bdgEVPeKwLbr55?|#RFZkkWxAoE492lc^w42Q*c*j#;gZO7& zP5CxRW=Y~eJy}eYBBSrvVe1a(56d2e6P%`d(&)q?};_bd#*%3@pBf6X)JOmyoA09MX zmfej&zJE`)b&@tmnoM!Q)EQ<3#A=}$=OAL3EKrYogsa9eVRdXU;qvw14XKuUuXpea zejcur@9u(6Vh=|r%TE`q<<|1e-r+mP6#BnyKjEk-yiKfwrKT*mV;EAfi zq+XNLhIP z*jY_0z@=|*y@!>KBbX+rk9y+oZI1^cD92YF!#>6*??&?nM7L#Ea1sfxy*Zg?`?cP; zg#!J7(_GS=)!;!AKOp3GKg^wb*QcOR1dtwkS1RnFa8fDL(}|Ihk(TqsWE` zwuM}feShp_PPTO1bOP+Stq=@wn=f)yO=n~IAM|9;N~XyU;rL#yW-zj#qI*XaR5g?7 zH`TwY6xYcF*lw;*IGY&8UcL&sC1$Ob0^BHGmK@jTn8ouKC&_+67rn}S9P!jZ0G6uO z_>;#auP1%*Hlh8=FxXoM2Zg)=)qja+piDf}Brz&Z$^1gGw$HbAJh1%c`okq}vMP)6g6yL77t@f;75-Yw zVi>GIC~I*Kg2fH-9@rm{OCsuv)YlV3`L@})cF?0UHQwssO(g6Fs6#F0-a`{Ycb%%Z{ajnhwW z#JE_EH_emKv}0dw?pc_H3o(~*k~rIMgU`vi4vrxtBS{OlV*izj#sl65yKb|P4_{Q` zQWnKiB^~;oSpg}^eR4qza`m3_Vy65!Oe#%luEMmF)f>NuU?d-F zj96^79HZIg_ipb0%2ilMTjV<#`a!gs0ew)*h&{}Em%nQk>3b#sPJn-RQq?;aTjPvB zpk|fxeVVZR*7=z%2#6}ojja9VT_WpDNPnBVJev8G&O`6_3buC5B+l>4M&)%-q-p(3 z|Hdc#Kl3k+evh(6B4~VOcE2gk-LM1Y4WqJF*KfKH5QsjtGOvTID5f*kwvAnrdt&(Q z)8KH4KWFkW@l6Pgv)}Sdtv|K+iUyP^=j|OaxrLrvM2Sn0CP85Ls?OXtssxf2gO*%% zYf1diT=rTGLby0Ji`f8nLj}%oyFaaB3dJ{l=WPEGhqC4uV;?uUG=sYehlR;PS`9Ry z(3ejKIE*E$xZw^Hc%*sNrB;g<>YT|+2!vSSxRCb5TQVJ{%4$3vr(jUJ=@ebTnVkqgP0$g+Hj|4V1HO|8IG1*MG~J*aa8LX z!k_P7>8P=1^By~tf#2ODJm_SBF%U(C*p87u^Y3EdxHHKL>f2Id7`N6O@7VRq)98MT z_wMH|KORV@zKTI5Qd>e$*I3W$R$g1Uqoa#U)y4G`o%_*iCjLTF!VAT0#qRhu9n+jf z&@eYKYqdi*C2!GH(j_JNDEwH!Jgha5fYx+Z{1uv1`yhz>I+rI#YIAyP$VN5=wAc#e zrwUU)Gsr9v5e_wnp=7T7}=`wr%T_ATy;vBL=7z zG5By|SpG~-`%JPUYs<(8vmjDh1Y-#O&upb7JW~TF^(wT3yuOLvoCr6dJ^h%?3 z8%@e|qu*fF$CsCryUw840G-WO1OFnY|3BC)W4J>e8{s>yL6cUlNait*7MDOiy-~#k z2OBqtRwZP;>l|2Fg&@-UimuQ%Eu(f9rTaCtN0T80)tU(4Mnf?4a?3b(` zD@BQP9}YWkT8}rYLBn}0*|g0+JgI5u`&k%V>3461zd{T7&d1NJ+t?vv5NOtWJGBd; z7H%{A0y{n3Pnz+pzFXeDj{bbD_K(sNiOi+tHW7~cS)o`5+51L)vKGBw6!5U1Zp@=7 zN-YY;ZxLMKdlGD!#3v2Ow$q1>19Sa2*U~2Um!Iu{Xf2VG5MScnx7vn3DntdPRkI!R zZyItcm12~wDAPO_TXB7to$1`8i(WK<$dB869ijwq%Cu)S&6&xAczh{rG8v?1#Hyoy zChrO7m$3?8U$cMm{EOge+-p78#Cq;}?Si9gmZiZ}?$Im-Wv>flX3{prr3|M-NnsxF z?@4#$+gLM~Bxm{x*I+>FkO|vhDkjpk4!}}!oDxqeB>A#)lC-i|vo22b7J8z9vtGNo zRqaz!Xz0zUsfnM;=e+ZB)$Fy2_W~%ko&}PHjHb}==UDQJz;#PYIsVR9ou&(3d1F6S zZZYhC=b^iT{P9G!X2*;wfC`94Q27|u2}*$;3)JD>T&pv6ucG3@R*B*mYu>DU4-uP( z)^jo#2gH(ghSMf~m!m#?ET41Y#>V6|B`F@v^$0I@L`DFk=3RfwW%zZJ9sI)oFK_?j z8fzQ&@AD_5QJW(8W_ssZeWm6DMbM;AgZ>p~yDL!1s9)_mWr<5x_FRqSZ`3I?l%D#c zKGO%oV1fjLe8S~tw$*=Tzhj7^L8Bkq!#;~sC-`dmiweoFY5Z|qzZ@xaeu2M6`ZrGh hn>7CU1^O;%48tcJXKHSE{`Id=ncc87erxEN{C^&EQw9J4 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_16.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_16.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf37e379d2c441e65c910bcf2c7bdb32d9172f3 GIT binary patch literal 5612 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 ajJ6#vM2}kD-ny9L(rBscs#RdDUi?3IBVbSf literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_16_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_16_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..efe829facbe970f96d7b667b1c860d6297295e0c GIT binary patch literal 7495 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�s8U=w4`%F{nh)SljrldV2Z2aOmZ)O%Ulday+bf z(M%Z#exTLMY`-v33tpt>OjFCIRn-Py|$8fM<>nOB#YNE zR1f!B1HD}id1xVCA~>q{hL2&dD@g)_5`=FpsGLpK5}RK-fNj$|e^FkgQRjvPDX}0e z>p*5Ve+{JjkK@7X@AsxH^2N#)quUUMz(*Q3GvQ?KQsIP~NB6U|Al>=OLu0@`y?n`5 z4l|a{D<^>GtM8*XQO15;9!mGlliRu?3p}&R^iQ8si?VhCk_PlhhV1@CZx1rOBhRjf zHouD_<-P6wkb^$DpRFj{X`0+n%Adj-QS|R94QWk>8JuPxPI)7QJ{Ymyv+!W)dqT(w zGOeoIQ7*~Fjo$76I0urR%1QiJe_`!9Ay B9+Ut8 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_17_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_17_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..87513f9b84de5c5ccf127b74d3c773bb82f18e6f GIT binary patch literal 6033 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_18.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_18.png new file mode 100644 index 0000000000000000000000000000000000000000..5f819a13847a5cd2b9fd55b22415f8385fcbde2a GIT binary patch literal 5723 zcmcJT_ct5f|Hp$ODpk}7Eh?%6MeR*PimFwcnzhxaJ);QP*roQ~)U1lVB2?|#qr|K| zW7Yh6pYPxB`QiTZIXFjFAdn^|@izbHk zh+RLN1Hk4f;7UDaoG=)PJQcM77!@1ap@Bq#!XQs9`Ds{LLvny*450r}3lA#>T<|l4 z;!f%pLqSpY?-QNcO~P(k7qWy#Iu>M9gwrC`6prSdRo?b^YKZ$5>H8_U-OB0>3NWsM zUExz#c}Sxpm~vGZ&AhdYsDQxgC^pgNa@Nh=V+$9FUJXBV6u{Z1edT&Bi;Q1a=yiOe zgxji{jmbY#lFzk}>D8&YoDGxyNCa-|=DqgGgKm7k@xl`=H{Di3^jM6i=DyN6ldpL0 z&{e!<-_bdNKQmB6I=8RQzOe3HKXzyNgB5X{&*w(D)W0)G+l=w(3lg0cvp1;91>)pR z>*T*WkQ;gk>tr{ycUJG321cML&m@lQ?mCo@BpmN=l*!W+H%CNe($lg&$9O5F(4b<4 zEb`^IT?PZ_g~B1&pny%M@(#)IV=dyBk-FR8;Gc%_8gwYIGsw@1QY5GhEo62RrI*&c z|6ES3qhJh;%Njbuc|GZOIt1j@jPGR}&gOQ=^K;UD&z5)j0|FXs7ECvZ%`|;L`AEc0 z?0Fd2==gFd9~zH=cIaAQi-e>f^0?}QDPix&7FTZXIfGMUuFc)Uw@Av{la$Y^N7Ui>HW;@QV_{yEh;C~5dTNzq?B0$x3Ii$}QS zzw*-zVTGZ{6%VGmfIC*ZX>)U$tWNGTfA_gvaS|tpA>G&**&_dQa=43 z2SQ)b{pg20b+5)SHd^Boi0@DdP3>B)cZ0jO(Vg=%gERNi*5|IgTkK3a3hVy$TtYy5 zQ@&ehb1jXr@jWHyg#lw2QlE1}myMzZDhjqSxbs>P{vmtlM;XAZ)7K<#C=E&?QBE2j zSB0DflH^nm6kD+X>a#KbN1S|*jPmb&TvH>2S1GQ!E%w@aFaYPCuLtYxX_7|k;5{tv;BW8ga`OCmHk`XpRpLy8n}dDmsG{=Y|1q| zA8$#0j<&1G6L(TEtanTXtBHfFUOjQ2g@!IX1|ud?TM!vV#NR$qs<0?O9H0bxzn;&p zwZ?u7RaoZ_-jQ<`TiF!b-@?EkAUDrf#$n)i_3y|unlo5-xOM`*e1PW;zwtRHp+w!AvquJ5eQz2=#yWLgzF=Sv&hV)odK|?LnzQmTRK~w;;Ie=zKQ_ zdg`S1fu9)Xp*hqzUS_jm6<0MxohY*i_k0Elxb{u~dP#^a74NRzOUTkQfnu1Ng7I^Y zTHZ7!WI59@J&3k&xJlPX@c3Gu)hxt&uXaI@fpbnuxvNi!yNI*m`HO(81y+yLuz7}E z>!P%7D1OdTX7)XyXWKdJ38jW#pECDIz0OR|>10n1NJ+F~TZ|TXk1Vqx-^+LvV(!-A zqt>K8*bhOTz2&79l_(26Gzu1n7pIWbS2GL~dv=YzWm>Jft2MzCN`EuA1J;@8nwYwW z^OW$`iB((t=lWYR(c7Ht9T%;g z_-~;coJ>rAYPlrg=iTS3Scew9c=ZX6F_m!pXD)Yaqr5ZZxy~*2BW0GGchvkWbg9fq z>w$$FGA5qSu~ngzOIar%##?DrLvrqCJ=R&5V!e*Mcth;2)Yr@N1OpgZBp_+O1~tsi zDkA8Z2K^?e&E@WsfdPI3mX!u~0}dn#QY622B)f@I<(dJ~Q}34KJFPLFrxs0pDC2}( zHK7PxctjWmk@>TB8~3?yId@_pS`bK2@CODU^tF)!V1O!vmtO}1y?b^cP#y^S*iw9I zjLiEPP`1W*#FPzW09=e%O-`Dwr!6iHwne}?=!)A3{GBfFd#PS^myWiSJJz;<#-!t~ zar=H3xi6x~N3xnCBR=HPV)`KFCM4abAqL6d(r{c1fekryH%NASs#+f-2{CWXp_!L! z6%CX>JH-pow~IT;bMkicK7-jii!&!S(A4~4td-iN>_9>CPy8R8noWu6{pO$a64~|p zH)aS~amS&sozbnO@3MQJPb^YHEZ4V4dYQHwKedepM4f0(Nsjm5ZVWTSNssa#j*0Ra zv$d&vlQm_$d){=DMAVk*Mo`Cg;!!TXMke03Mqt}8**20wf#(=E)QCgNIk& zzvC-?hSUta60#7(`&u37t0|^-BF<@vv)sZAPWreMU#kOCs`&A4cnWn_N=%8=yBuzt zL|TEq?R3-1Q+6(Ut`lAK=3lg^p+i8hTQu2cW&>wfL&x4lOG4XN-*~o4L#v)_;?~q` zF3_~UHQo4SUXtiG|BRaH$8xFPKSFMOj#A0!V$G$iWG_NYH{9nN53L$i>%+dtkM@B( z;$U>Q{3q8&1wGV$IY2Kf!#2^hz%1-YMT@!bbu7)|g%a6)qMu(B+wdwmQ_WAAP<;C? z2_K|ZETw?epSFx$5#YpYiJ09~j!ZplLxRN%O za+wazId`BTue#>bl93s(HdE@4y;PqWzjqhaLNhZ}*cjVzW;bEBt9Eb8~P)o?W2@On;rX&Q;F zsZxl=P^pgjO>eS2EooeR9|)sP$Dk007M zraARZ<)rz+KGD8+J>SnoLMMv>(;GJ>u92mD%GIf)lRTi_UvMk0)Zx@kGgLfC74hgg zGPO=_XJk_c@fq?qV>TMMy5d)NXd3>&uGf*qip|7Q>r#<-0YS{v82p^%U?!=C&7LtG z{erAJ{8XeU7~xOK)W#acN zmVKn(S~Mlmxq7WE0 z-SVQUwN}L6#cpevZXk22^T}No7{TtLdFHAOZsB&C1{_@k#{U- zybQ&(nw>VAW~^8f@{8IsxnT=9rS5b_OXLHSa!Zf0jR$B4v|C9RnQZ6Ya5~DuZHIi~ zEVmYE)$1IIU$1&1SpgwA^Gc&C3KEe;K)>pY*0XW^EPuiKMt<0`{2V zV0pkMv%e-EMk7sqLYm0A7weRlJK-|+ zRId$%gtx8za^7d2_-7A95Ldh>51aHgTFeARjm7XvD%C-YA8Y6yjBXOGE$ zuy0BTIQa6hgZE`k+Rwc&s?aRGmHRX~j8}fAlkX69zf5R8mPqD3@rMSwc#Mg65@f-I zMlu6p5+K;eWy+d|gI9a^{|)&LeH7Dhb^5^He@&@b&V_b?abkXd;s9*TsWE&T;;S+)3wK_Xy6J|DE164lbwj6*}pCG3DB#GpJ!xbu3aNnflv-q`{MIWV}=beoi_) zE$AEI7kyV_0qD{6nL^S?!WaaJk|n%D9KlT`*;Znn~`_$|ig<5>+>bM#1BtR7$R z6n4b@l)mZ$FBov&gqEGmeJ$7!Kn- zks3_jG~=E1%6;9BQfn?K!ls73K0(8gJX8I;h{-pOXFbVK})j)bkN$6fl zVLNE-2a@7&d4;0bZzCYyftX8A6E@g(NPn4hVDfptk6M}fI;G?fqE)&5r)?RNpD1ew z#i-cKps%C#QL$WI9Bcy8Om zc-&x`LVce83(vRri2TRkT2o~k9ooyPXHF6BrJc&Fb@=btNQ-;!=HkU;+C-o3j1-hC z4KW{l-J0?jR>WRF%yX^M@l}i@VwMv6BkpXfr-X93KX$KWT z>4h~v_S^$c$8~&K`%+u2|7MGcb4v-|z>&?Xx%)I@R0xsdt0pmjY{2dl;n(pdbhV{o zCxTGipSiJbO?g)6XP+YSGA7H`{l2WpI)Gp^Ap>w7{WMX$0TKMHPcP_@HmA!@!XsX) zB7Aowzbh;d&WYjipt|mTKnOCqsvW19nA9Yx{?2KT=DS(>SsV_;UEs%a#!(vg_KBxS zne6*#?sT5^INPXE%}BAhM4kIP0Y=#FiKtbk6v*L4{_WiQa3VzO*k?nE)EioMxV8=T z_g0!oBSg`q=U*CDiN`b+kB2AS)ODP5f;ELW9WoouE5G6f(;?W3D`{@Zhi(`sKdLjj z^L2@ugtHPtMxY2tR66P{O`-iBT`X3)RBKw<`4jhtSKHR%i&@fs#6=cqA+34r*1nO; zldv;w$bfq|GTHuif)usS@S2Tc)U}@E5RBjliga}eQSsgAR)F$WpT>;22gE<#o=rr{ z#9~(HH%$u|r#|o2L%j5bYiL0}v&V8Jn9TMtbj!{@&p_u^bD*tp>go zFS=I&5BLQNBawFKD}fDHPvoU(l~eEx>u>Xw313tqPLP1j`W02FYi9DX6Ru-XwCy{w zaT|?rAh0M`c{`9RwBY~h~HdAa-Lp8MUZEOhqQN# wE*F{`&-hrGy*-{h!4mziBhmk5_Igb!?AqG&1~z}276Smva5aSrm|5`u0f8;zqW}N^ literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_18_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_18_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..186fb06670836e2c9b7b33bbc213e31982748f31 GIT binary patch literal 8254 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_19.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_19.png new file mode 100644 index 0000000000000000000000000000000000000000..7397efcf288430cf52dd17756e13fe5487dfd3c1 GIT binary patch literal 4889 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 b>4dGc9s04@!CCOa@}jzpFo9RV9Ao|m6s{^Q literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_19_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_vector_19_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2557e2901ef54430fee66dae5b89017e2173d737 GIT binary patch literal 7345 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 XWvIP+Y<61yt0{Q6UV=41BYyiAc7LpN literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_view_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_view_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..116ffae91d5c51f5f3ea59033a3f4963da114efd GIT binary patch literal 2070 zcmd6o`9Bj30LDjpWs$|)YswWhb4(>8+UuBd6?5dAn+mJt9U+uqa?82HoM{@ibRd%3 zC}-p>IXfI9nH+ELfAM}k&+~kLcz$?(d=hP}%tU~)KmY(BVvaVx`iI{C`4In~+>hoz z000P1nj2rVBanaObF7^mpwWiEw>{+`Q|&4VM#qUNbTBHqB(Ka;&%EGDMjM))dynp# zQkU0z!`E=2=Sg5Gysjbx<6N4r1jJ;bT*Od>xNHY)P<3+~@zZs=re&B%0^i@dgC_W1 zo@Dk8a^aulxxp}8ie(*B@uS@Q$S%Jrs$0ycTkH+D&fO>)FWW@JZ~K%~3fEHzkfb<& zaMHod#0LFne=s}GQP{F2$P9ziZH49>rx)fTwlmYc<62zmO>eJnkHqjz1i>U5-1MPj ztFiIK4w+-6#rG41qCL{4+}=@5FkveOH61_u2GPZGzf4=bH-zzHge(-b@%z9`9Y%w5Hm)Tbm07H+HQrY;0y&t*>>A{_vM2 z@mJmpI$?}9oAxA;zdOnK%euNk46R%#jzveTW0$OGIQ6TJRNdw(Re(vcO!hP5yU5FzA3jW50QO2H@9r7-VX>PV zyUK@isq?(sQ&Gsv{eL%@fbSB#$|rWU{ceUVf=F){7e5dlj^5re^Pf=uXS$1D51B_* z0gZwoo{!_QE0IKz&0^T69+`%z9QQA+_h!xH8{u^g1T$$N&?vRm+UGpvrHh83m#Be? zg{_69mc+?D8Japg&J=Lx(Xhi(<=$Uba`J?68rEoj(bZXJ<;Ee z@tAN9Y6t;}Naaj?N~x&lr3TMAKMjOYn5ib}ayJWlUry#GBZb}D1T2gW%Zvz*69g{m zil{|JT1?0MmIq^O97L;&uhE(|m3ILR?D+h3P2h>3$W9q$`_} zy1|I3_+AWi8pq?Cw=HDeT32zXYE(Ea6>cxJWfbF%{jqmK-VPlrPGXhf2Pd1C6nZEj zqHxEGCmvkCuhRhZ8||!Mj&{WReB!-k32EYyLwq&>U&k0Fa=iMNr4yn_s$;r7G-8x$ ziq>-@+cQGq#ULWPukn2UD9iq{qz-Eds*hzRTx2}$i zo4x=Fs*w+4#DG+7p51hjyDJ?|mkB&8h}bVtFDo)$!M%_1dRQZ*QkF{sRTMKxbH~rU z$H?EAC@;fazwhLHR(hZBdEOYMe!`&R74Xzd>w4#4zoK!sYU)wm>71xjwWTltes2TY z_LnW1f4%rT^PJ}|Rky?}VWk`kcIm*vjP?}YMW(%uy^`v`O~2TeCHD(n7Om(Js?9i> z>Qm)`cH$#6Kj-|UI3Y0ByUW8CeL~GDM5y0?O=L){t7tT0kzStB?T~-17%Z#5qjTV+ z%E>QX*O1GTSm2a#Lf;)`eF)}i1zp+v>!R$ntVOsJMMd&Sm>#vXlfc?8yeT>i<*tff zz|9DY?Zj#{&VO?YcW~s9-v{HalW%APRAbsrqdM(_s)scJk*lAXcXqY}rERV_IKJvM zF*5r#L-Ar}kJ(?lgO?btTjzovG);b5DOVed2ny76dQm9S9jfZ;L8nC>d;Q2>iaE_K zyqAKr`-1vbR+xUaG^rXWh;FZb(C-P>ePgjbt-qC5uW_ihf3}R3hLU1J!?~RWUdyMd z^ej5tX$BGJyML?o$QX*~WK_cEJJzBSU#FjvA7nt_O1{1U#8p^DQ^=esL_~ave$t%v zAj5rYZhzU`N_<$*2|e>J&8Gyb+u>ww^oSJLhs^al~s4`;vOQ=A)m!h3QRPe|^{g?MX}H){84FSKZ6-W4Ewk zOQ*mg7mh@w76U=2861i}Edpvz9Fz#(nALVpPEO9Q^3#(K9}3FLzhAj>rIDHa*zx1u zn$_Rl>@0ffm7o89neXghzkb=({rU0o@^V@0vNv~j7FSN=UG1K1otU2fe6f3f+53C8 z=H})G1|NQWe0=or=g*&`x98p6UH<;&=JfmfYJWdDIk~T|@8{2-sSyTi%z9lbetdW+ zZJw8Nf8XAywS7H3Z*FZ}J>}Ee+uLWG=dX+0ylg2L1g(5?fB%1==<921qvx3(UKR9l zewAW&C%ZAfyj{#Ke~#60lbdILeSO^@2>kr^)%^T)sFhpVEN4gYbHBA=vuDn%{QvLo z=jZ3o&$r+2qumzz?7!5RlG0LHn~Du#tEUD%d-m+y9LvpRZ*R4>wgxZv(>>M!&YBk7dw0Ye0gbUV6fcWq$3ul+$_lved^$uzrVl# ze=hidy_Yxb*s)`FH9rE@U%!3(ws?K=vs+uUZEbBYU%q_2Uw(i2`+G-@xGW8tIcLtC zS+icfd^vN*j2qi>Z$CRbdwS;A4O}MMg!ff`e)i(x;^Td?zyC=a*Vfj$_sIaQo;!E$ z@9*!|hpp~ro_+N3-o1OdTK=!wIJe;OvEJ?Z_y2u*>J5y96DLjp!x*J@V-`r3oamHbWeQFah?L;JBZ{e4-`SH-B{=a>l#iOUXCP)0B z=_(>w@Z0zA`j@R91%#+ z++E+Uny8K?Wovz{+S|BUd+L9SZ;#u}KmBB|R$Kzf2feYvOy1|fwrw!wom>0y(NXW| zdcD29d#k^%+r7KGs;a7}sOa)C->F`y1qB5k=e)kYzW(2zpI=^HK79D_eEa%!VXHT9 z-rU{4+<$&v=0w{+vyV-B@&3KMtnA#GGhe=VF=O^@X$grJuU=*4=DvOVw)WSTmyaxE zWkETh;_t7ok0#%|dGme$`uP2EZTgI1+m0#a9!-At?%n%-U_y`kwVol&;&LEIaVuNmS^l(bIX8{0tZrStT>S3N z&TrqoC8;p`X4V;e2BwgG`}Qfj_ubiBUH);eo6&`qXY9sHr(C;sZQHhO@5848MOc8T zv3M>U6^jPsILBJ-JoE}(JvC~rO+`T6|GgnvOM^W1JJQyA>Nli?Xr*SXm=d%uPIr6W z)O+`U`RD4tszaxefU#@+u&d-}k)({y(kb)nwCeu^0u?Qt5?{Abc%4VtA<>r?78X5n zu`GPF-aP-V7ErhS|DJW7X`!#aR#owutO?Uzym;vpBZ~;XIU4)_hIwi3{})wb9Ij-o z*m9FIeAUrvq3Qb5o!d{Hx1SyqBd{)n%~*S?{Jhm|(-%`(P!bFc>X*$U$;xm3N9P@X VCl){BI+$s6{Vurpu3YfDo=__N@N;qVC6!GF2lm6Nj>#x+Y-2Q&U9Ti5Pn;^YDveJ zmsfwNCs!YnaGd}6wp_ww1F?pU3_Yv~It+TW*dG6Cm*1o%I;Wo&?TlKx zNW;p;rswgEYX$2vk9?}N?|ZyRW66}}gA1;|ZcWU{HexsBb6#6I@44rsih0wQWrl|K ze4Y0FTmP18RaSGwTo+CW^77PdRsE>153igT9-0c$A2!V} zZQ~4W)pO_C=BfMnwM_Z{<8A$N!NoeKXV0D=spjur@1ZF#cjR2(+JiAyEO<8S?B4fJ zwC%5kP@sy<`D-D4S@SnmdyvSjk5l3g)c|J-ZV*P7nB|Nq;kN$wYmOoZ(8 zJAHf4?%%cUvdP+P`&+-+uHw4}H8PrRU_P9J~3~OZP_T z%$q;|vdPt`&k{9HKhC{${xK^*IM%R4q=mS*rs3SKZtjIs-Ui+)e0O%=NtZqQW*fOx#ib(M(7p4GboXSCkiaaQ(dT@ Z!Petn4FA+qA;2Wh;OXk;vd$@?2>^8%Vg3LB literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volume_01.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_volume_01.png new file mode 100644 index 0000000000000000000000000000000000000000..d9b261c2adcde3d025faca879cc6748483023c11 GIT binary patch literal 127840 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

    O!MrN`@jSA!trOMZ(0a>**pFLr#p}Y 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 LNkvXXu0mjft;Nd# literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_08.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_08.png new file mode 100644 index 0000000000000000000000000000000000000000..d59728b43f3d0ad60bf2d49d56691e65c37f38ea GIT binary patch literal 911 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIZPZ!6KiaBpD8!|E|@Eq9C zSbyHxjbDhhwkoZx;oMs02jyxlGdLB~oH}L-B#kmh!(lWL5Y7zW7`Ey$hi@%ed;*x! O7(8A5T-G@yGywonlqt^u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecece5e2f8812a41d4efa801d1572cf0886d478 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^DImfe|(a+t|hi>;_|Fn#bwY|W zSPq&ETVLa1PQ9KJufD->*XjGO-pOn1Ke6-Vj|jkE$M#zP|Ks~l>^%9SYd5~?n^PMD zFtZa4j_t9*{`Il#l#eHlV}oYb{@DNU^s_(N#q@24jVYb-S?nYiu6PAOP*J_MoGJnm+*8{^R1B!!RJ;~Xx zaWS7l9MXyVR3Y#NCH|8Ezu{$^{_*-}$Mq=gd!G_0erj<@FaFtpz)u8zCk}G*<1+-mV`uMQHwd{K&?@`0T=O6& z_Fpv|^kRB)|7oy1eg887%Nqj2GX%x!A@hcz_$kLB3s>M%ioj1l_?=2mPeZFb-ts!_ zZ^RFDO|Cl)nNJCpC-*-oEQgr+G=bu$7Kbcc@hm~$^(FqP!S4i+u7kIy3%{ofxle%N zuGu&rcOb6EUZ>;asSxJVgXPnM;*%ruy4brxD4vSvPc05vy7JkAz)uJG4H@io)*3W8 zW&hRfZxC|VKI5scUeHe8e`4n|sK;JM+@F0=e3sylm9OxuLEzJaU%%&%gZ++^+Eaqu zjcApFT{qS^emV|{>(SSZ!4jW<9(xiqpG+v;ATm#d;btbFw>Lf~}(@N9zL5Kh-b z%QFr+p0@L<*BTFY+Rm#Re`2sa(f*k9KdYd48Vx>6aLAD#JsT1D?1tafF!;o^%9A^v z402cRzaG-^)|0mHrS(P*el;vlmHuZH6rY7S7@&wf_DCMze~nkX%t3=*=x*e7H7vKsetnQ* zO>Y#I*OC5V<4*<@uZPUMt*tiOE03+ZC0z4HbPX(5?J@!vmk3Dv-Pc9U%i@obZ@!5<+Zd4ne1_-#yhs&DOZ+VQDAYCwVyj8^Z#? zdVep?ssOgf+c@@vld!xIBD(q`a5@y99GOoAiq9ZyZlulAYs}5jCZ6>O{9}gS!HSuA zVq3p8YEPi?>a!1DB=?q)tPBW17;N{zAQ(?1r!wIXa&#v+_G(tVnuIyPi(L(#xI=l= zZ>NUCjp5%cUZ=wHnDk#8dw={;eD>pzo1@K73j|&dZ#M?NLl=7S+OqQMgY>NrR?O#! zP7%pC>CY~wT})3t@vVdH7BJ9&zyz4#TL|uqN64?;Fozk;2*L~;WAIwLaMBfVee$cB zs&A0L9x|cIJa$OmGwUPtEl)!uG8C@|hN~d7ZuX2q@%qSo_T!LSqpeRb1U?P;^&bzU zi(*YO$`ip&l3a|+CX7&2AaGoP0Wet9MKy{{`WpuY z%_5%2HCibL)#ZzQ6x)TX$nEj=rx5}_5%|R)9(Y~DFOwkjqk2--^K~QYz&v(7+O+?6eg6JB2Iv|b$JTPo#c|N-vBt+p z=>(E33sRIWn^hZLT>k!@U2w>q@y;I`0!Qsga_E_$!3Y}j!;Ii4 zpZx5&3Sio5Yi&I8xEh}dzy9Mvp$UGLF9kir5H@1O8%emV^7XoCwg#Ee7%ewsl`slM zM4vll^yR#k=L@QX*-_koBG zj~<8pVM!Y$T{JdymlHZiZaE z5y>j(F$yNaxc`|M3apRQ#=AHUHj_CFAlC$VH5&V!YYZN1Y^FQK27oK8T>ynE4Vd}y zsl3#G#En7mVAa|Bq_#OKZUlS4Ckm}UejM`5~^dhh$M?)Z#*U-&}Ybr;T` z$Jw*k+QMW45rlxc#{1uoZ~R8Qa_5y3 zwt�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%0A#q@hD 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_09_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_09_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..aa436e6b7f8417f93bd774c3d3ffa8fbea799277 GIT binary patch literal 15413 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_10.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_10.png new file mode 100644 index 0000000000000000000000000000000000000000..d59728b43f3d0ad60bf2d49d56691e65c37f38ea GIT binary patch literal 911 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI&4kn<;H+e}V1_tIZPZ!6KiaBpD8!|E|@Eq9C zSbyHxjbDhhwkoZx;oMs02jyxlGdLB~oH}L-B#kmh!(lWL5Y7zW7`Ey$hi@%ed;*x! O7(8A5T-G@yGywonlqt^u literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_10_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixeldata_0_10_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecece5e2f8812a41d4efa801d1572cf0886d478 GIT binary patch literal 289 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�ZlK19b0!#R9mg(3Mz>&5XXoj7z;U`YK4`^ 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_04.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_pixie_04.png new file mode 100644 index 0000000000000000000000000000000000000000..293fc05fe139b945bc4039d14ff26719c7d9d29a GIT binary patch literal 23379 zcmeEN19N0uwC!->OfYdKwrxyodt!TH+qUgYteIe9b!^)m+kXAMfAOkbS9NvOt*(3P z?z7L@d#$}rq>_RpG6Eg~002OimJ(9|03hi9`@%tjuRIXpk^%rf@ubCmsCnd^=em2S zEj)B@RnWM6ZP%xZijqQ0P&g`l+{BQwBq6`s6oC&UPxwlFx9N?RQdSgHKx*9HTqSgW zs!l&2LVo*da?az-3eSST-M4X>Of{96%yyWQc{ZhOQ}_2_6DxfzRHFErP{Uv=K;pJL z4y#aN&*Tpr2Od$e`0tq~90rkC;E*MnHM^ihv{Laki%tk$Z2S!Ayroaf|Nr&>d<2$# zeWCCs40??laMl>p$HLv6_P}fXF_SR}3N7r^jcAkW%$$RHZweasbh^#_B(aqJ{p`FR!SEt_c@0F)UHaPrZA*PcL?I5ohilsp>3x#Q zZjcd3h|{^Vzk@d!q+g2qEV&*6JbdHmJeYGkumjY&cdS_JU5a={^W+x|E>S8+U-?Jl zyHMWN+xp8G?k~>WqW}C(*e4`szOU+`&pS2szJ=hjvPu|D!DW9H(nxZ?aNzV_NIO2{ zq0La&GKRbVh@t4=2I3#LvH1Sz*@>T!tFLe@e-`(l?c#E$u&u#f!0*G;WZ1DT&Q!Jg z?Q<9xukDo4?$!84i)1&5&W`m;p?f1`b_seBa$`Cc%4%r4wnf8$hoH^Qyz``YEYFrB{&7Bei#{0*cALrh zs-C`4r-Yw(b859nO6{D&Lva8oSY{7qVHb8XNyr$Yy10DiKzNM#ho|cpeD@7HkfRCE zZ7?eD-Sy;mtj^#0Uu_iqc!wR+TLD-*TaugSps5=R#iLPq&F8j;a?ckM2r-`hB_Tyj1-<9(d9wu*|8$1D&Gp&o z;Q6p=1QiZN1HXtpSfj>rLBeJoEWQr)15lOqFV? z8SN=C&T^^t#O!c#+btQcr;bO;@s7A^OA!IR*OE(yX{f` z;(ll=@)l#8E5nF8?U=SKub%;Iytn8zUPz8@cLRRqFdIJc{|HJ_

WdIr=N)V_rJOxKVD0p>_{3dM$lGR?nxq|d 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

?iceI+QV!6`qVyEP-X}2F1j?s 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

%DN%C`pFh=?3dCh9g+kQ0@4sPv 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� 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_06.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_06.png new file mode 100644 index 0000000000000000000000000000000000000000..ee193fd245f08bce5e599a7c52d055473feeee06 GIT binary patch literal 31172 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 wYT3zk=;YtAhVNrla(c;2 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_07.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_07.png new file mode 100644 index 0000000000000000000000000000000000000000..24e184c76f32b1dbcc74fc11e0c5062abfa51993 GIT binary patch literal 31372 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_08_thumb.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_08_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..03d6f010d68f72ffde25567770c432d8234a41ee GIT binary patch literal 5994 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 CV6EW* literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_09.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_colorMethod_09.png new file mode 100644 index 0000000000000000000000000000000000000000..fb6c1df58f5265732bd4d40d3c3fdc07ceede38c GIT binary patch literal 34956 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 literal 0 HcmV?d00001 diff --git a/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_00.png b/2023-11-08-22:00/pascal_trunk_scalable_parallel_icet/c_contour_multicolor_00.png new file mode 100644 index 0000000000000000000000000000000000000000..3cd38f7a7fd37ee1dd291535e8cecc3f2bf38196 GIT binary patch literal 68513 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%0A^=h4mB|{G*EjF-DzCHP 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