From f1b2929d32953ac4d2056d564dab62e2e8d7c2a5 Mon Sep 17 00:00:00 2001 From: vsr Date: Sat, 27 Nov 2021 14:22:41 +0300 Subject: [PATCH] Update configuration for SALOME 9.8 --- config/patches/boost.101-python.patch | 25 + ...ommon.patch => netgen.001.common.v5.patch} | 0 config/patches/netgen.001.common.v6.patch | 293 +++++ config/patches/netgen.002.version.v6.patch | 13 + config/patches/netgen.003.pthread.v6.patch | 14 + .../paraview.0015-Paraview_VTKM_ioss.patch | 1111 +++++++++++++++++ ...paraview.0018-spns-26351-autoconvert.patch | 34 + .../paraview.0019-spns-26344-VTK-OpenMP.patch | 75 ++ config/salome.xml | 106 +- 9 files changed, 1623 insertions(+), 48 deletions(-) create mode 100644 config/patches/boost.101-python.patch rename config/patches/{netgen.001.common.patch => netgen.001.common.v5.patch} (100%) create mode 100644 config/patches/netgen.001.common.v6.patch create mode 100644 config/patches/netgen.002.version.v6.patch create mode 100644 config/patches/netgen.003.pthread.v6.patch create mode 100644 config/patches/paraview.0015-Paraview_VTKM_ioss.patch create mode 100644 config/patches/paraview.0018-spns-26351-autoconvert.patch create mode 100644 config/patches/paraview.0019-spns-26344-VTK-OpenMP.patch diff --git a/config/patches/boost.101-python.patch b/config/patches/boost.101-python.patch new file mode 100644 index 0000000..3ba83bb --- /dev/null +++ b/config/patches/boost.101-python.patch @@ -0,0 +1,25 @@ +diff --git a/include/boost/python/detail/config.hpp b/include/boost/python/detail/config.hpp +index acf58831..8dce9b74 100644 +--- a/include/boost/python/detail/config.hpp ++++ b/include/boost/python/detail/config.hpp +@@ -105,7 +105,9 @@ + // Set the name of our library, this will get undef'ed by auto_link.hpp + // once it's done with it: + // +-#define BOOST_LIB_NAME boost_python##PY_MAJOR_VERSION##PY_MINOR_VERSION ++#define _BOOST_PYTHON_CONCAT(N, M, m) N ## M ## m ++#define BOOST_PYTHON_CONCAT(N, M, m) _BOOST_PYTHON_CONCAT(N, M, m) ++#define BOOST_LIB_NAME BOOST_PYTHON_CONCAT(boost_python, PY_MAJOR_VERSION, PY_MINOR_VERSION) + // + // If we're importing code from a dll, then tell auto_link.hpp about it: + // +@@ -118,6 +120,9 @@ + #include + #endif // auto-linking disabled + ++#undef BOOST_PYTHON_CONCAT ++#undef _BOOST_PYTHON_CONCAT ++ + #ifndef BOOST_PYTHON_NO_PY_SIGNATURES + #define BOOST_PYTHON_SUPPORTS_PY_SIGNATURES // enables smooth transition + #endif diff --git a/config/patches/netgen.001.common.patch b/config/patches/netgen.001.common.v5.patch similarity index 100% rename from config/patches/netgen.001.common.patch rename to config/patches/netgen.001.common.v5.patch diff --git a/config/patches/netgen.001.common.v6.patch b/config/patches/netgen.001.common.v6.patch new file mode 100644 index 0000000..20c187b --- /dev/null +++ b/config/patches/netgen.001.common.v6.patch @@ -0,0 +1,293 @@ +diff --git a/libsrc/occ/occgenmesh.cpp b/libsrc/occ/occgenmesh.cpp +index 314d405a..7c912bcc 100644 +--- a/libsrc/occ/occgenmesh.cpp ++++ b/libsrc/occ/occgenmesh.cpp +@@ -49,7 +49,7 @@ namespace netgen + double ComputeH (double kappa, const MeshingParameters & mparam) + { + kappa *= mparam.curvaturesafety; +- /* ++ /**/ + double hret; + + if (mparam.maxh * kappa < 1) +@@ -61,7 +61,7 @@ namespace netgen + hret = mparam.maxh; + + return hret; +- */ ++ /**/ + // return min(mparam.maxh, 1/kappa); + return (mparam.maxh*kappa < 1) ? mparam.maxh : 1/kappa; + } +@@ -253,10 +253,12 @@ namespace netgen + { + oldpnt = pnt; + pnt = c->Value(s0+(i/double(DIVIDEEDGESECTIONS))*(s1-s0)); ++ // !!! no more than 1 segment per /DIVIDEEDGESECTIONS + hvalue[i] = hvalue[i-1] + +- 1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))* +- pnt.Distance(oldpnt); ++ min( 1.0, ++ 1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))* ++ pnt.Distance(oldpnt)); + + //(*testout) << "mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) " << mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) + // << " pnt.Distance(oldpnt) " << pnt.Distance(oldpnt) << endl; + +@@ -299,7 +301,7 @@ namespace netgen + cout << "CORRECTED" << endl; + ps.SetSize (nsubedges-2); + params.SetSize (nsubedges); +- params[nsubedges] = s1; ++ params[nsubedges-1] = s1; + } + } + +@@ -323,6 +325,8 @@ namespace netgen + + double eps = 1e-6 * geom.GetBoundingBox().Diam(); + ++ int first_vp = mesh.GetNP()+1; ++ + tsearch.Start(); + for (int i = 1; i <= nvertices; i++) + { +@@ -481,22 +485,107 @@ namespace netgen + + if (!merge_solids) + { +- pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge)) + PointIndex::BASE-1; +- pnums.Last() = geom.vmap.FindIndex (TopExp::LastVertex (edge)) + PointIndex::BASE-1; ++ //pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge)) + PointIndex::BASE-1; ++ //pnums.Last() = geom.vmap.FindIndex (TopExp::LastVertex (edge)) + PointIndex::BASE-1; ++ const int dpi = PointIndex::BASE-1; ++ MeshPoint dfltP ( Point<3> ( 0, 0, 0 ) ); ++ PointIndex *ipp[] = { &pnums[0], &pnums.Last() }; ++ TopoDS_Iterator vIt( edge, false ); ++ TopoDS_Vertex v[2]; ++ v[0] = TopoDS::Vertex( vIt.Value() ); vIt.Next(); ++ v[1] = TopoDS::Vertex( vIt.Value() ); ++ if ( v[0].Orientation() == TopAbs_REVERSED ) ++ std::swap( v[0], v[1] ); ++ for ( int i = 0; i < 2; ++i) ++ { ++ PointIndex &ip = *ipp[i]; ++ ip = geom.vmap.FindIndex ( v[i] ) + dpi; ++ if ( ip == dpi || ip > nvertices + dpi ) ++ { ++ PointIndex iv = ip; ++ if ( ip == dpi ) ++ ip = iv = const_cast(geom).vmap.Add( v[i] ); ++ gp_Pnt pnt = BRep_Tool::Pnt( v[i] ); ++ MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) ); ++ for (PointIndex pi = 1; pi < first_vp; pi++) ++ if ( Dist2 (mesh.Point(pi), Point<3>(mp)) < 1e-100 ) ++ { ++ ip = pi; ++ if ( mesh.Point(ip).GetLayer() != dfltP.GetLayer() && mesh.Point(ip).GetLayer() != iv ) ++ continue; ++ if ( mesh.Point(ip).GetLayer() == dfltP.GetLayer()) ++ mesh.Point(ip) = MeshPoint( mesh.Point(ip), iv ); ++ break; ++ } ++ } ++ else ++ { ++ ip += first_vp - 1; ++ } ++ } + } + else + { +- Point<3> fp = occ2ng (BRep_Tool::Pnt (TopExp::FirstVertex (edge))); +- Point<3> lp = occ2ng (BRep_Tool::Pnt (TopExp::LastVertex (edge))); ++ TopoDS_Iterator vIt( edge, false ); ++ TopoDS_Vertex v1 = TopoDS::Vertex( vIt.Value() ); vIt.Next(); ++ TopoDS_Vertex v2 = TopoDS::Vertex( vIt.Value() ); ++ if ( v1.Orientation() == TopAbs_REVERSED ) ++ std::swap( v1, v2 ); ++ const bool isClosedEdge = v1.IsSame( v2 ); ++ ++ Point<3> fp = occ2ng (BRep_Tool::Pnt (v1)); ++ Point<3> lp = occ2ng (BRep_Tool::Pnt (v2)); ++ double tol2 = std::min( eps*eps, 1e-6 * Dist2( fp, lp )); ++ if ( isClosedEdge ) ++ tol2 = BRep_Tool::Tolerance( v1 ) * BRep_Tool::Tolerance( v1 ); + + pnums[0] = PointIndex::INVALID; + pnums.Last() = PointIndex::INVALID; + for (PointIndex pi : vertexrange) + { +- if (Dist2 (mesh[pi], fp) < eps*eps) pnums[0] = pi; +- if (Dist2 (mesh[pi], lp) < eps*eps) pnums.Last() = pi; ++ if (Dist2 (mesh[pi], fp) < tol2) pnums[0] = pi; ++ if (Dist2 (mesh[pi], lp) < tol2) pnums.Last() = pi; + } +- } ++ if (( isClosedEdge && pnums[0] != pnums.Last() ) || ++ ( !isClosedEdge && pnums[0] == pnums.Last() )) ++ pnums[0] = pnums.Last() = PointIndex::INVALID; ++ if ( pnums[0] < PointIndex::BASE || pnums.Last() < PointIndex::BASE ) ++ { ++ // take into account a possible large gap between a vertex and an edge curve ++ // end and a large vertex tolerance covering the whole edge ++ if ( pnums[0] < PointIndex::BASE ) ++ { ++ double tol = BRep_Tool::Tolerance( v1 ); ++ for (PointIndex pi = 1; pi < first_ep; pi++) ++ if (pi != pnums.Last() && Dist2 (mesh[pi], fp) < 2*tol*tol) ++ pnums[0] = pi; ++ ++ if ( pnums[0] < PointIndex::BASE ) ++ pnums[0] = first_ep-1 - nvertices + geom.vmap.FindIndex ( v1 ); ++ } ++ if ( isClosedEdge ) ++ { ++ pnums.Last() = pnums[0]; ++ } ++ else ++ { ++ if ( pnums.Last() < PointIndex::BASE ) ++ { ++ double tol = BRep_Tool::Tolerance( v2 ); ++ for (PointIndex pi = 1; pi < first_ep; pi++) ++ if (pi != pnums[0] && Dist2 (mesh[pi], lp) < 2*tol*tol) ++ pnums.Last() = pi; ++ ++ if ( pnums.Last() < PointIndex::BASE ) ++ pnums.Last() = first_ep-1-nvertices + geom.vmap.FindIndex ( v2 ); ++ } ++ ++ if ( Dist2( fp, mesh[PointIndex(pnums[0])]) > ++ Dist2( lp, mesh[PointIndex(pnums.Last())])) ++ std::swap( pnums[0], pnums.Last() ); ++ } ++ } ++ } + + for (size_t i = 1; i <= mp.Size(); i++) + { +@@ -505,17 +594,19 @@ namespace netgen + + // for (PointIndex j = first_ep; j < mesh.Points().End(); j++) + for (PointIndex j = first_ep; j < *mesh.Points().Range().end(); j++) ++ { ++ if (!merge_solids && mesh.Point(j).GetLayer() != geomedgenr ) continue; + if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps) + { + exists = true; + pnums[i] = j; + break; + } +- ++ } + tsearch.Stop(); + + if (!exists) +- pnums[i] = mesh.AddPoint (mp[i-1]); ++ pnums[i] = mesh.AddPoint (mp[i-1], geomedgenr); + } + if(geom.enames.Size() && geom.enames[curr-1] != "") + mesh.SetCD2Name(geomedgenr, geom.enames[curr-1]); +@@ -599,6 +690,9 @@ namespace netgen + // << " p1 " << mesh.LineSegment(i)[0] << " p2 " << mesh.LineSegment(i)[1] << endl; + // exit(10); + ++ for (int j = 1; j <= mesh.GetNP(); j++) // support SALOME fuse edges: set level to zero ++ mesh.Point(j) = MeshPoint( (Point<3>&) mesh.Point(j) ); ++ + mesh.CalcSurfacesOfNode(); + multithread.task = savetask; + } +@@ -652,7 +746,7 @@ namespace netgen + + Box<3> bb = geom.GetBoundingBox(); + +- int projecttype = PLANESPACE; ++ //int projecttype = PLANESPACE; + + static Timer tinit("init"); + tinit.Start(); +diff --git a/libsrc/occ/occmeshsurf.cpp b/libsrc/occ/occmeshsurf.cpp +index 7fa5d237..9e05fd95 100644 +--- a/libsrc/occ/occmeshsurf.cpp ++++ b/libsrc/occ/occmeshsurf.cpp +@@ -173,50 +173,6 @@ namespace netgen + gp_Vec du, dv; + occface->D1 (geominfo1.u, geominfo1.v, pnt, du, dv); + +- // static Timer t("occ-defintangplane calculations"); +- // RegionTimer reg(t); +- +- Mat<3,2> D1_; +- D1_(0,0) = du.X(); D1_(1,0) = du.Y(); D1_(2,0) = du.Z(); +- D1_(0,1) = dv.X(); D1_(1,1) = dv.Y(); D1_(2,1) = dv.Z(); +- auto D1T_ = Trans(D1_); +- auto D1TD1_ = D1T_*D1_; +- if (Det (D1TD1_) == 0) throw SingularMatrixException(); +- Mat<2,2> DDTinv_; +- CalcInverse (D1TD1_, DDTinv_); +- +- Mat<3,2> Y_; +- Vec<3> y1_ = (ap2-ap1).Normalize(); +- Vec<3> y2_ = Cross(n, y1_).Normalize(); +- for (int i = 0; i < 3; i++) +- { +- Y_(i,0) = y1_(i); +- Y_(i,1) = y2_(i); +- } +- +- auto A_ = DDTinv_ * D1T_ * Y_; +- Mat<2,2> Ainv_; +- if (Det(A_) == 0) throw SingularMatrixException(); +- CalcInverse (A_, Ainv_); +- +- Vec<2> temp_ = Ainv_ * (psp2-psp1); +- double r_ = temp_.Length(); +- Mat<2,2> R_; +- R_(0,0) = temp_(0)/r_; +- R_(1,0) = temp_(1)/r_; +- R_(0,1) = -R_(1,0); +- R_(1,1) = R_(0,0); +- +- A_ = A_ * R_; +- Ainv_ = Trans(R_) * Ainv_; +- +- Amat = A_; +- Amatinv = Ainv_; +- +- // temp = Amatinv * (psp2-psp1); +- +- +-#ifdef OLD + DenseMatrix D1(3,2), D1T(2,3), DDTinv(2,2); + D1(0,0) = du.X(); D1(1,0) = du.Y(); D1(2,0) = du.Z(); + D1(0,1) = dv.X(); D1(1,1) = dv.Y(); D1(2,1) = dv.Z(); +@@ -289,8 +245,7 @@ namespace netgen + } + // cout << "=?= Ainv = " << endl << Ainv << endl; + temp = Amatinv * (psp2-psp1); +- cout << " =?= Amatinv = " << Amatinv << endl; +-#endif ++ // cout << " =?= Amatinv = " << Amatinv << endl; + }; + + } +@@ -380,6 +335,7 @@ namespace netgen + + double u = gi.u; + double v = gi.v; ++ if ( 0 ) { // exclude Newton's method + gp_Pnt x = occface->Value (u,v); + + if (p.SquareDistance(x) <= sqr(PROJECTION_TOLERANCE)) return; +@@ -429,7 +385,7 @@ namespace netgen + } + } + while (count < 20); +- ++ } + + // Newton did not converge, use OCC projection + diff --git a/config/patches/netgen.002.version.v6.patch b/config/patches/netgen.002.version.v6.patch new file mode 100644 index 0000000..9a67397 --- /dev/null +++ b/config/patches/netgen.002.version.v6.patch @@ -0,0 +1,13 @@ +--- netgen-6.2.2101_orig/cmake/generate_version_file.cmake 2021-09-21 17:05:13.000000000 +0300 ++++ netgen-6.2.2101_new/cmake/generate_version_file.cmake 2021-10-25 18:10:29.562193300 +0300 +@@ -15,8 +15,8 @@ + string(REGEX REPLACE "^netgen(.*)" "\\1" git_version_string "${git_version_string}") + endif() + else() +- MESSAGE(WARNING "Could not determine git-version from source code - assuming 6.2.0.0") +- set(git_version_string "v6.2.0.0") ++ MESSAGE(WARNING "Could not determine git-version from source code - assuming 6.2.0-0") ++ set(git_version_string "v6.2.0-0") + endif() + endif() + diff --git a/config/patches/netgen.003.pthread.v6.patch b/config/patches/netgen.003.pthread.v6.patch new file mode 100644 index 0000000..e6ad4bd --- /dev/null +++ b/config/patches/netgen.003.pthread.v6.patch @@ -0,0 +1,14 @@ +--- netgen-6.2.2101_orig/CMakeLists.txt 2021-09-21 17:05:13.000000000 +0300 ++++ netgen-6.2.2101_new/CMakeLists.txt 2021-10-25 16:31:45.656379721 +0300 +@@ -233,6 +233,11 @@ + endif(NOT ZLIB_INCLUDE_DIRS) + include_directories(${ZLIB_INCLUDE_DIRS}) + ++find_package(Threads REQUIRED) ++if(NOT WIN32) ++ string(APPEND CMAKE_CXX_STANDARD_LIBRARIES " -dl") ++endif() ++ + ####################################################################### + if (USE_GUI) + find_package(TCL 8.5 REQUIRED) diff --git a/config/patches/paraview.0015-Paraview_VTKM_ioss.patch b/config/patches/paraview.0015-Paraview_VTKM_ioss.patch new file mode 100644 index 0000000..0930f67 --- /dev/null +++ b/config/patches/paraview.0015-Paraview_VTKM_ioss.patch @@ -0,0 +1,1111 @@ +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss ParaView-5.9.0_new/VTK/ThirdParty/ioss +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_BaseDatabaseIO.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_BaseDatabaseIO.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_BaseDatabaseIO.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_BaseDatabaseIO.C 2021-04-15 15:05:03.009043046 +0200 +@@ -144,7 +144,7 @@ + // Set exodusII warning level. + if (util().get_environment("EX_DEBUG", isParallel)) { + fmt::print( +- Ioss::DEBUG(), ++ Ioss::STREAM_DEBUG(), + "IOEX: Setting EX_VERBOSE|EX_DEBUG because EX_DEBUG environment variable is set.\n"); + ex_opts(EX_VERBOSE | EX_DEBUG); + } +@@ -152,13 +152,13 @@ + if (!is_input()) { + if (util().get_environment("EX_MODE", exodusMode, isParallel)) { + fmt::print( +- Ioss::OUTPUT(), ++ Ioss::STREAM_OUTPUT(), + "IOEX: Exodus create mode set to {} from value of EX_MODE environment variable.\n", + exodusMode); + } + + if (util().get_environment("EX_MINIMIZE_OPEN_FILES", isParallel)) { +- fmt::print(Ioss::OUTPUT(), ++ fmt::print(Ioss::STREAM_OUTPUT(), + "IOEX: Minimizing open files because EX_MINIMIZE_OPEN_FILES environment " + "variable is set.\n"); + minimizeOpenFiles = true; +@@ -337,7 +337,7 @@ + double t_end = Ioss::Utils::timer(); + double duration = util().global_minmax(t_end - t_begin, Ioss::ParallelUtils::DO_MAX); + if (myProcessor == 0) { +- fmt::print(Ioss::DEBUG(), "File Close Time = {}\n", duration); ++ fmt::print(Ioss::STREAM_DEBUG(), "File Close Time = {}\n", duration); + } + } + } +@@ -389,7 +389,7 @@ + // Check byte-size of integers stored on the database... + if ((ex_int64_status(exodusFilePtr) & EX_ALL_INT64_DB) != 0) { + if (myProcessor == 0) { +- fmt::print(Ioss::OUTPUT(), ++ fmt::print(Ioss::STREAM_OUTPUT(), + "IOSS: Input database contains 8-byte integers. Setting Ioss to use " + "8-byte integers.\n"); + } +@@ -1914,7 +1914,7 @@ + // try changing DIM_STR_NAME value and see if works...) + if (name_length > static_cast(maximumNameLength)) { + if (myProcessor == 0) { +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "There are variables names whose name length ({0}) exceeds the current " + "maximum name length ({1})\n set for this database ({2}).\n" + " You should either reduce the length of the variable name, or " +@@ -2182,7 +2182,7 @@ + else if (Ioss::Utils::str_equal(type, "sphere-mass")) { + if (attribute_count != 10) { + if (myProcessor == 0) { +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "For element block '{}' of type '{}' there were {} attributes instead of " + "the expected 10 attributes " + "known to the IO Subsystem. " +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_DatabaseIO.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_DatabaseIO.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_DatabaseIO.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_DatabaseIO.C 2021-04-15 15:05:03.008043046 +0200 +@@ -228,7 +228,7 @@ + IOSS_ERROR(errmsg); + } + else { +- Ioss::WARNING() << errmsg.str(); ++ Ioss::STREAM_WARNING() << errmsg.str(); + } + return false; + } +@@ -274,7 +274,7 @@ + *error_msg = errmsg.str(); + } + if (write_message && myProcessor == 0) { +- Ioss::WARNING() << errmsg.str(); ++ Ioss::STREAM_WARNING() << errmsg.str(); + } + } + if (bad_count != nullptr) { +@@ -321,7 +321,7 @@ + if (do_timer) { + double t_end = Ioss::Utils::timer(); + double duration = t_end - t_begin; +- fmt::print(Ioss::DEBUG(), "Input File Open Time = {}\n", duration); ++ fmt::print(Ioss::STREAM_DEBUG(), "Input File Open Time = {}\n", duration); + } + + bool is_ok = check_valid_file_ptr(write_message, error_msg, bad_count, abort_if_error); +@@ -545,7 +545,7 @@ + m_groupCount[EX_BLOB] = info.num_blob; + + if (nodeCount == 0) { +- fmt::print(Ioss::WARNING(), "No nodes were found in the model, file '{}'\n", ++ fmt::print(Ioss::STREAM_WARNING(), "No nodes were found in the model, file '{}'\n", + decoded_filename()); + } + else if (nodeCount < 0) { +@@ -559,7 +559,7 @@ + } + + if (elementCount == 0) { +- fmt::print(Ioss::WARNING(), "No elements were found in the model, file '{}'\n", ++ fmt::print(Ioss::STREAM_WARNING(), "No elements were found in the model, file '{}'\n", + decoded_filename()); + } + +@@ -744,7 +744,7 @@ + // a warning if there is a corrupt step on processor + // 0... Need better warnings which won't overload in the + // worst case... +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "Skipping step {:n} at time {} in database file\n\t{}.\n" + "\tThe data for that step is possibly corrupt since the last time written " + "successfully was {}.\n", +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_DecompositionData.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_DecompositionData.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_DecompositionData.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_DecompositionData.C 2021-04-15 15:05:03.008043046 +0200 +@@ -144,9 +144,9 @@ + generate_adjacency_list(filePtr, m_decomposition); + + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "Processor {} has {} elements; offset = {}\n", m_processor, ++ fmt::print(Ioss::STREAM_DEBUG(), "Processor {} has {} elements; offset = {}\n", m_processor, + decomp_elem_count(), decomp_elem_offset()); +- fmt::print(Ioss::DEBUG(), "Processor {} has {} nodes; offset = {}\n", m_processor, ++ fmt::print(Ioss::STREAM_DEBUG(), "Processor {} has {} nodes; offset = {}\n", m_processor, + decomp_node_count(), decomp_node_offset()); + #endif + +@@ -213,7 +213,7 @@ + pu.hwm_memory_stats(min, max, avg); + int64_t MiB = 1024 * 1024; + if (m_processor == 0) { +- fmt::print(Ioss::DEBUG(), "\n\tHigh Water Memory at end of Decomposition: {}M {}M {}M\n", ++ fmt::print(Ioss::STREAM_DEBUG(), "\n\tHigh Water Memory at end of Decomposition: {}M {}M {}M\n", + min / MiB, max / MiB, avg / MiB); + } + } +@@ -322,7 +322,7 @@ + std::vector connectivity(overlap * element_nodes); + size_t blk_start = std::max(b_start, p_start) - b_start + 1; + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "Processor {} has {} elements on element block {}\n", m_processor, ++ fmt::print(Ioss::STREAM_DEBUG(), "Processor {} has {} elements on element block {}\n", m_processor, + overlap, id); + #endif + ex_get_partial_conn(filePtr, EX_ELEM_BLOCK, id, blk_start, overlap, connectivity.data(), +@@ -416,7 +416,7 @@ + ssize_t to_read = std::min(remain, entitys_to_read); + if (m_processor == root) { + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "{} {} reading {} entities from offset {}\n", set_type_name, ++ fmt::print(Ioss::STREAM_DEBUG(), "{} {} reading {} entities from offset {}\n", set_type_name, + sets[i].id, to_read, set_entities_read[i] + 1); + #endif + // Read the entitylists on root processor. +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_IOFactory.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_IOFactory.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_IOFactory.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_IOFactory.C 2021-04-15 15:05:03.010043045 +0200 +@@ -128,16 +128,16 @@ + { + ex_print_config(); + #if !defined(NO_PARMETIS_SUPPORT) +- fmt::print(Ioss::OUTPUT(), "\tParMetis Library Version: {}.{}.{} (Parallel Decomposition)\n" ++ fmt::print(Ioss::STREAM_OUTPUT(), "\tParMetis Library Version: {}.{}.{} (Parallel Decomposition)\n" + "\t\tInteger Size is {}, Real Size is {}\n\n", PARMETIS_MAJOR_VERSION, PARMETIS_MINOR_VERSION, PARMETIS_SUBMINOR_VERSION, + IDXTYPEWIDTH, REALTYPEWIDTH); + #else +- fmt::print(Ioss::OUTPUT(), "\tParMetis Library is NOT Available for Parallel Decomposition.\n\n"); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\tParMetis Library is NOT Available for Parallel Decomposition.\n\n"); + #endif + #if !defined(NO_ZOLTAN_SUPPORT) +- fmt::print(Ioss::OUTPUT(), "\tZoltan Library is Available for Parallel Decomposition.\n\n"); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\tZoltan Library is Available for Parallel Decomposition.\n\n"); + #else +- fmt::print(Ioss::OUTPUT(), "\tZoltan Library is NOT Available for Parallel Decomposition.\n\n"); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\tZoltan Library is NOT Available for Parallel Decomposition.\n\n"); + #endif + } + } // namespace Ioex +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_ParallelDatabaseIO.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_ParallelDatabaseIO.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_ParallelDatabaseIO.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_ParallelDatabaseIO.C 2021-04-15 15:05:03.010043045 +0200 +@@ -322,7 +322,7 @@ + *error_msg = errmsg.str(); + } + if (write_message && myProcessor == 0) { +- fmt::print(Ioss::OUTPUT(), "{}", errmsg.str()); ++ fmt::print(Ioss::STREAM_OUTPUT(), "{}", errmsg.str()); + } + } + if (bad_count != nullptr) { +@@ -390,7 +390,7 @@ + double t_end = Ioss::Utils::timer(); + double duration = util().global_minmax(t_end - t_begin, Ioss::ParallelUtils::DO_MAX); + if (myProcessor == 0) { +- fmt::print(Ioss::DEBUG(), "File Open Time = {}\n", duration); ++ fmt::print(Ioss::STREAM_DEBUG(), "File Open Time = {}\n", duration); + } + } + +@@ -501,7 +501,7 @@ + double duration = util().global_minmax(t_end - t_begin, Ioss::ParallelUtils::DO_MAX); + std::string open_create = fileExists ? "Open" : "Create"; + if (myProcessor == 0) { +- fmt::print(Ioss::DEBUG(), "File {} Time = {}\n", open_create, duration); ++ fmt::print(Ioss::STREAM_DEBUG(), "File {} Time = {}\n", open_create, duration); + } + } + +@@ -749,7 +749,7 @@ + // 0... Need better warnings which won't overload in the + // worst case... + fmt::print( +- Ioss::WARNING(), ++ Ioss::STREAM_WARNING(), + "Skipping step {:n} at time {} in database file\n\t{}.\nThe data for that step " + "is possibly corrupt.\n", + i + 1, tsteps[i], get_filename()); +@@ -4873,7 +4873,7 @@ + } + + if (!bad_proc.empty()) { +- fmt::print(Ioss::WARNING(), "No {} on processor{}:\n\t{}\n\n", label[j], ++ fmt::print(Ioss::STREAM_WARNING(), "No {} on processor{}:\n\t{}\n\n", label[j], + bad_proc.size() > 1 ? "s" : "", Ioss::Utils::format_id_list(bad_proc, ":")); + if (j == 0) { + break; +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_SuperElement.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_SuperElement.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_SuperElement.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_SuperElement.C 2021-04-15 15:05:03.009043046 +0200 +@@ -267,7 +267,7 @@ + } + } + else { +- fmt::print(Ioss::WARNING(), "{} '{}'. Unknown input field '{}'", type(), name(), ++ fmt::print(Ioss::STREAM_WARNING(), "{} '{}'. Unknown input field '{}'", type(), name(), + field.get_name()); + return -4; + } +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_Utils.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_Utils.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_Utils.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_Utils.C 2021-04-15 15:05:03.009043046 +0200 +@@ -231,7 +231,7 @@ + status = nc_get_att_int(exodusFilePtr, NC_GLOBAL, "processor_info", proc_info); + if (status == NC_NOERR) { + if (proc_info[0] != processor_count && proc_info[0] > 1) { +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "Processor decomposition count in file ({}) does not match current " + "processor " + "count ({}).\n", +@@ -240,7 +240,7 @@ + } + if (proc_info[1] != processor_id) { + fmt::print( +- Ioss::WARNING(), ++ Ioss::STREAM_WARNING(), + "This file was originally written on processor {}, but is now being read on " + "processor {}.\n" + "This may cause problems if there is any processor-dependent data on the file.\n", +@@ -495,7 +495,7 @@ + std::string tmp_name = Ioss::Utils::encode_entity_name(basename, name_id); + if (tmp_name == buffer.data()) { + std::string new_name = Ioss::Utils::encode_entity_name(basename, id); +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "The entity named '{}' has the id {} which does not match the " + "embedded id {}.\n" + " This can cause issues later; the entity will be renamed to '{}' " +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/generated/Iogn_GeneratedMesh.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/generated/Iogn_GeneratedMesh.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/generated/Iogn_GeneratedMesh.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/generated/Iogn_GeneratedMesh.C 2021-04-15 15:05:03.011043045 +0200 +@@ -371,7 +371,7 @@ + } + + else if (option[0] == "help") { +- fmt::print(Ioss::OUTPUT(), ++ fmt::print(Ioss::STREAM_OUTPUT(), + "\nValid Options for GeneratedMesh parameter string:\n" + "\tIxJxK -- specifies intervals; must be first option. Ex: 4x10x12\n" + "\toffset:xoff, yoff, zoff\n" +@@ -405,7 +405,7 @@ + void GeneratedMesh::show_parameters() const + { + if (myProcessor == 0) { +- fmt::print(Ioss::OUTPUT(), ++ fmt::print(Ioss::STREAM_OUTPUT(), + "\nMesh Parameters:\n" + "\tIntervals: {} by {} by {}\n" + "\tX = {} * (0..{}) + {}\tRange: {} <= X <= {}\n" +@@ -423,14 +423,14 @@ + timestep_count()); + + if (doRotation) { +- fmt::print(Ioss::OUTPUT(), "\tRotation Matrix: \n\t"); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\tRotation Matrix: \n\t"); + for (auto &elem : rotmat) { + for (double jj : elem) { +- fmt::print(Ioss::OUTPUT(), "{:14.e}\t", jj); ++ fmt::print(Ioss::STREAM_OUTPUT(), "{:14.e}\t", jj); + } +- fmt::print(Ioss::OUTPUT(), "\n\t"); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\n\t"); + } +- fmt::print(Ioss::OUTPUT(), "\n"); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\n"); + } + } + } +@@ -1578,7 +1578,7 @@ + n3 = 2; + } + else { +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "\nInvalid axis specification '{}'. Valid options are 'x', 'y', or 'z'\n", axis); + return; + } +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/gen_struc/Iogs_GeneratedMesh.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/gen_struc/Iogs_GeneratedMesh.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/gen_struc/Iogs_GeneratedMesh.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/gen_struc/Iogs_GeneratedMesh.C 2021-04-15 15:05:03.010043045 +0200 +@@ -290,7 +290,7 @@ + } + + else if (option[0] == "help") { +- fmt::print(Ioss::OUTPUT(), ++ fmt::print(Ioss::STREAM_OUTPUT(), + "\nValid Options for GeneratedMesh parameter string:\n" + "\tIxJxK -- specifies intervals; must be first option. Ex: 4x10x12\n" + "\toffset:xoff, yoff, zoff\n" +@@ -310,7 +310,7 @@ + show_parameters(); + } + else { +- fmt::print(Ioss::WARNING(), "Unrecognized option '{}'. It will be ignored.\n", option[0]); ++ fmt::print(Ioss::STREAM_WARNING(), "Unrecognized option '{}'. It will be ignored.\n", option[0]); + } + } + } +@@ -318,7 +318,7 @@ + void GeneratedMesh::show_parameters() const + { + if (myProcessor == 0) { +- fmt::print(Ioss::OUTPUT(), ++ fmt::print(Ioss::STREAM_OUTPUT(), + "\nMesh Parameters:\n" + "\tIntervals: {} by {} by {}\n" + "\tX = {} * (0..{}) + {}\tRange: {} <= X <= {}\n" +@@ -334,14 +334,14 @@ + element_count(), structured_block_count(), sideset_count(), timestep_count()); + + if (doRotation) { +- fmt::print(Ioss::OUTPUT(), "\tRotation Matrix: \n\t"); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\tRotation Matrix: \n\t"); + for (auto &elem : rotmat) { + for (double jj : elem) { +- fmt::print(Ioss::OUTPUT(), "{:14.e}\t", jj); ++ fmt::print(Ioss::STREAM_OUTPUT(), "{:14.e}\t", jj); + } +- fmt::print(Ioss::OUTPUT(), "\n\t"); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\n\t"); + } +- fmt::print(Ioss::OUTPUT(), "\n"); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\n"); + } + } + } +@@ -872,7 +872,7 @@ + variableCount[Ioss::SIDEBLOCK] = count; + } + else { +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "(Iogs::GeneratedMesh::set_variable_count)\n" + " Unrecognized variable type '{}'. Valid types are:\n" + " global, element, node, nodal, surface, sideset.\n", +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_DatabaseIO.C 2021-04-15 15:05:02.964043048 +0200 +@@ -99,7 +99,7 @@ + unsigned int min_hash = util.global_minmax(hash_code, Ioss::ParallelUtils::DO_MIN); + if (max_hash != min_hash) { + const std::string &ge_name = ge->name(); +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "Parallel inconsistency detected for {} field '{}' on entity '{}'\n", + in_out == 0 ? "writing" : "reading", field_name, ge_name); + return false; +@@ -298,12 +298,12 @@ + usingDataWarp = true; + dwPath = bb_path; + if (myProcessor == 0) { +- fmt::print(Ioss::OUTPUT(), "\nDataWarp Burst Buffer Enabled. Path = `{}`\n\n", dwPath); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\nDataWarp Burst Buffer Enabled. Path = `{}`\n\n", dwPath); + } + } + else { + if (myProcessor == 0) { +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "DataWarp enabled via Ioss property `ENABLE_DATAWARP`, but\n" + " burst buffer path was not specified via `DW_JOB_STRIPED` or " + "`DW_JOB_PRIVATE`\n" +@@ -336,7 +336,7 @@ + #if defined SEACAS_HAVE_DATAWARP + #if IOSS_DEBUG_OUTPUT + if (myProcessor == 0) { +- fmt::print(Ioss::DEBUG(), "DW: dw_wait_file_stage({});\n", bb_file.filename()); ++ fmt::print(Ioss::STREAM_DEBUG(), "DW: dw_wait_file_stage({});\n", bb_file.filename()); + } + #endif + int dwret = dw_wait_file_stage(bb_file.filename().c_str()); +@@ -348,7 +348,7 @@ + } + #else + // Used to debug DataWarp logic on systems without DataWarp... +- fmt::print(Ioss::DEBUG(), "DW: (FAKE) dw_wait_file_stage({});\n", bb_file.filename()); ++ fmt::print(Ioss::STREAM_DEBUG(), "DW: (FAKE) dw_wait_file_stage({});\n", bb_file.filename()); + #endif + } + set_dwname(bb_file.filename()); +@@ -370,7 +370,7 @@ + dw_query_file_stage(get_dwname().c_str(), &complete, &pending, &deferred, &failed); + #if IOSS_DEBUG_OUTPUT + auto initial = std::chrono::high_resolution_clock::now(); +- fmt::print(Ioss::DEBUG(), "Query: {}, {}, {}, {}\n", complete, pending, deferred, failed); ++ fmt::print(Ioss::STREAM_DEBUG(), "Query: {}, {}, {}, {}\n", complete, pending, deferred, failed); + #endif + if (pending > 0) { + int dwret = dw_wait_file_stage(get_dwname().c_str()); +@@ -382,12 +382,12 @@ + } + #if IOSS_DEBUG_OUTPUT + dw_query_file_stage(get_dwname().c_str(), &complete, &pending, &deferred, &failed); +- fmt::print(Ioss::DEBUG(), "Query: {}, {}, {}, {}\n", complete, pending, deferred, failed); ++ fmt::print(Ioss::STREAM_DEBUG(), "Query: {}, {}, {}, {}\n", complete, pending, deferred, failed); + #endif + } + + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "\nDW: BEGIN dw_stage_file_out({}, {}, DW_STAGE_IMMEDIATE);\n", ++ fmt::print(Ioss::STREAM_DEBUG(), "\nDW: BEGIN dw_stage_file_out({}, {}, DW_STAGE_IMMEDIATE);\n", + get_dwname(), get_pfsname()); + #endif + int ret = +@@ -396,7 +396,7 @@ + #if IOSS_DEBUG_OUTPUT + auto time_now = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = time_now - initial; +- fmt::print(Ioss::DEBUG(), "\nDW: END dw_stage_file_out({})\n", diff.count()); ++ fmt::print(Ioss::STREAM_DEBUG(), "\nDW: END dw_stage_file_out({})\n", diff.count()); + #endif + if (ret < 0) { + std::ostringstream errmsg; +@@ -405,7 +405,7 @@ + IOSS_ERROR(errmsg); + } + #else +- fmt::print(Ioss::DEBUG(), "\nDW: (FAKE) dw_stage_file_out({}, {}, DW_STAGE_IMMEDIATE);\n", ++ fmt::print(Ioss::STREAM_DEBUG(), "\nDW: (FAKE) dw_stage_file_out({}, {}, DW_STAGE_IMMEDIATE);\n", + get_dwname(), get_pfsname()); + #endif + } +@@ -545,7 +545,7 @@ + void DatabaseIO::create_group(EntityType /*type*/, const std::string &type_name, + const std::vector &group_spec, const T * /*set_type*/) + { +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "Grouping of {0} sets is not yet implemented.\n" + " Skipping the creation of {0} set '{1}'\n\n", + type_name, group_spec[0]); +@@ -600,7 +600,7 @@ + } + } + else { +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "While creating the grouped surface '{}', the surface '{}' does not exist. " + "This surface will skipped and not added to the group.\n\n", + group_spec[0], group_spec[i]); +@@ -1182,7 +1182,7 @@ + if (util.parallel_size() > 1) { + fmt::print(strm, "\tTot: {} (ms)\n", total); + } +- fmt::print(Ioss::DEBUG(), "{}", strm.str()); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}", strm.str()); + } + } + +@@ -1224,7 +1224,7 @@ + fmt::print(strm, " T:{:8d}", total); + } + fmt::print(strm, "\t{}/{}\n", name, field.get_name()); +- fmt::print(Ioss::DEBUG(), "{}", strm.str()); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}", strm.str()); + } + } + else { +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_Decomposition.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_Decomposition.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_Decomposition.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_Decomposition.C 2021-04-15 15:05:02.964043048 +0200 +@@ -161,7 +161,7 @@ + common_nodes = par_util.global_minmax(common_nodes, Ioss::ParallelUtils::DO_MIN); + + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "Setting common_nodes to {}\n", common_nodes); ++ fmt::print(Ioss::STREAM_DEBUG(), "Setting common_nodes to {}\n", common_nodes); + #endif + return common_nodes; + } +@@ -315,12 +315,12 @@ + { + show_progress(__func__); + if (m_processor == 0) { +- fmt::print(Ioss::OUTPUT(), ++ fmt::print(Ioss::STREAM_OUTPUT(), + "\nIOSS: Using decomposition method '{}' for {:n} elements on {} processors.\n", + m_method, m_globalElementCount, m_processorCount); + + if ((size_t)m_processorCount > m_globalElementCount) { +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "Decomposing {} elements across {} processors will " + "result in some processors with *NO* elements.\n", + m_globalElementCount, m_processorCount); +@@ -438,7 +438,7 @@ + } + + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), ++ fmt::print(Ioss::STREAM_DEBUG(), + "Processor {} communicates {} nodes from and {} nodes to other processors\n", + m_processor, sumr, sums); + #endif +@@ -722,7 +722,7 @@ + show_progress("\tmetis_decompose Communication 2 finished"); + + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "Processor {}:\t{} local, {} imported and {} exported elements\n", ++ fmt::print(Ioss::STREAM_DEBUG(), "Processor {}:\t{} local, {} imported and {} exported elements\n", + m_processor, m_elementCount - exp_size, imp_size, exp_size); + #endif + } +@@ -758,7 +758,7 @@ + &ncon, &common_nodes, &nparts, tp_wgts.data(), ub_vec.data(), + options.data(), &edge_cuts, elem_partition, &m_comm); + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "Edge Cuts = {}\n", edge_cuts); ++ fmt::print(Ioss::STREAM_DEBUG(), "Edge Cuts = {}\n", edge_cuts); + #endif + if (rc != METIS_OK) { + std::ostringstream errmsg; +@@ -796,7 +796,7 @@ + } + + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "Edge Cuts = {}\n", edge_cuts); ++ fmt::print(Ioss::STREAM_DEBUG(), "Edge Cuts = {}\n", edge_cuts); + #endif + METIS_Free(dual_xadj); + METIS_Free(dual_adjacency); +@@ -886,7 +886,7 @@ + show_progress("\tZoltan lb_partition finished"); + + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "Processor {}:\t{} local, {} imported and {} exported elements\n", ++ fmt::print(Ioss::STREAM_DEBUG(), "Processor {}:\t{} local, {} imported and {} exported elements\n", + m_processor, m_elementCount - num_export, num_import, num_export); + #endif + +@@ -1197,7 +1197,7 @@ + nodes.push_back(i + m_nodeOffset); + found_count++; + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "Processor {}:\tNode {} not connected to any elements\n", ++ fmt::print(Ioss::STREAM_DEBUG(), "Processor {}:\tNode {} not connected to any elements\n", + m_processor, i + m_nodeOffset + 1); + #endif + } +@@ -1227,7 +1227,7 @@ + // Map that converts nodes from the global index (1-based) to a + // local-per-processor index (1-based) + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "Processor {}:\tNode Count = {}\n", m_processor, nodes.size()); ++ fmt::print(Ioss::STREAM_DEBUG(), "Processor {}:\tNode Count = {}\n", m_processor, nodes.size()); + #endif + nodeGTL.swap(nodes); + for (size_t i = 0; i < nodeGTL.size(); i++) { +@@ -1354,7 +1354,7 @@ + m_nodeCommMap[i] = node_global_to_local(m_nodeCommMap[i] + 1); + } + #if IOSS_DEBUG_OUTPUT +- fmt::print(Ioss::DEBUG(), "Processor {} has {} shared nodes\n", m_processor, ++ fmt::print(Ioss::STREAM_DEBUG(), "Processor {} has {} shared nodes\n", m_processor, + m_nodeCommMap.size() / 2); + #endif + show_progress(__func__); +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_ElementTopology.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_ElementTopology.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_ElementTopology.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_ElementTopology.C 2021-04-15 15:05:02.966043048 +0200 +@@ -158,7 +158,7 @@ + std::string ltype = Ioss::Utils::lowercase(type); + auto iter = registry().find(ltype); + if (iter == registry().end()) { +- fmt::print(Ioss::WARNING(), "The topology type '{}' is not supported.\n", type); ++ fmt::print(Ioss::STREAM_WARNING(), "The topology type '{}' is not supported.\n", type); + } + else { + Ioss::ElementTopology *inst = (*iter).second; +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_IOFactory.C 2021-04-15 15:05:02.971043048 +0200 +@@ -145,16 +145,16 @@ + + void Ioss::IOFactory::show_configuration() + { +- fmt::print(Ioss::OUTPUT(), "\nIOSS Library Version '{}'\n\n", Ioss::Version()); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\nIOSS Library Version '{}'\n\n", Ioss::Version()); + NameList db_types; + describe(&db_types); +- fmt::print(Ioss::OUTPUT(), "Supported database types:\n\t{}\n", fmt::join(db_types, ", ")); ++ fmt::print(Ioss::STREAM_OUTPUT(), "Supported database types:\n\t{}\n", fmt::join(db_types, ", ")); + + #if defined(SEACAS_HAVE_MPI) +- fmt::print(Ioss::OUTPUT(), "\nSupported decomposition methods:\n\t{}\n", fmt::join(Ioss::valid_decomp_methods(), ", ")); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\nSupported decomposition methods:\n\t{}\n", fmt::join(Ioss::valid_decomp_methods(), ", ")); + #endif + +- fmt::print(Ioss::OUTPUT(), "\nThird-Party Library Configuration Information:\n\n"); ++ fmt::print(Ioss::STREAM_OUTPUT(), "\nThird-Party Library Configuration Information:\n\n"); + + // Each database type may appear multiple times in the registry + // due to aliasing (i.e. exodus, genesis, exodusII, ...) +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_ParallelUtils.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_ParallelUtils.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_ParallelUtils.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_ParallelUtils.C 2021-04-15 15:05:02.974043048 +0200 +@@ -101,7 +101,7 @@ + bool all_digit = value.find_first_not_of("0123456789") == std::string::npos; + + if (do_print && rank == 0) { +- fmt::print(Ioss::OUTPUT(), "IOSS: Adding property '{}' with value '{}'\n", prop, value); ++ fmt::print(Ioss::STREAM_OUTPUT(), "IOSS: Adding property '{}' with value '{}'\n", prop, value); + } + if (all_digit) { + int int_value = std::stoi(value); +@@ -527,7 +527,7 @@ + + if (parallel_rank() == 0) { + double diff = Utils::timer() - begin; +- fmt::print(Ioss::DEBUG(), " [{:.3f}] ({}MiB {}MiB {}MiB)\t{}\n", diff, min / MiB, max / MiB, ++ fmt::print(Ioss::STREAM_DEBUG(), " [{:.3f}] ({}MiB {}MiB {}MiB)\t{}\n", diff, min / MiB, max / MiB, + avg / MiB, output); + } + } +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_Region.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_Region.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_Region.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_Region.C 2021-04-15 15:05:02.982043047 +0200 +@@ -812,7 +812,7 @@ + if (!get_database()->is_input() && !stateTimes.empty() && time <= stateTimes.back()) { + // Check that time is increasing... + if (!warning_output) { +- fmt::print(Ioss::WARNING(), ++ fmt::print(Ioss::STREAM_WARNING(), + "Current time {} is not greater than previous time {} in\n\t{}.\n" + "This may cause problems in applications that assume monotonically increasing " + "time values.\n", +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_SerializeIO.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_SerializeIO.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_SerializeIO.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_SerializeIO.C 2021-04-15 15:05:02.983043047 +0200 +@@ -33,7 +33,7 @@ + #include // for DatabaseIO + #include // for ParallelUtils + #include +-#include // for IOSS_ERROR, Ioss::WARNING() ++#include // for IOSS_ERROR, Ioss::STREAM_WARNING() + #include + #include // for operator<<, etc + #include // for char_traits +@@ -114,7 +114,7 @@ + { + IOSS_FUNC_ENTER(m_); + if (s_rank != -1) { +- fmt::print(Ioss::WARNING(), "Mesh I/O serialization group factor cannot be changed " ++ fmt::print(Ioss::STREAM_WARNING(), "Mesh I/O serialization group factor cannot be changed " + "once serialized I/O has begun"); + } + else { +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_Tracer.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_Tracer.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_Tracer.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_Tracer.C 2021-04-15 15:05:02.995043046 +0200 +@@ -41,7 +41,7 @@ + + Tracer::Tracer(const char *function) + { +- fmt::print(Ioss::DEBUG(), "Entering Function: {} at level {}\n", function, ++level); ++ fmt::print(Ioss::STREAM_DEBUG(), "Entering Function: {} at level {}\n", function, ++level); + assert(level == 1); + } + +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_Utils.C ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_Utils.C +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_Utils.C 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_Utils.C 2021-04-15 15:05:03.001043046 +0200 +@@ -485,7 +485,7 @@ + int Ioss::Utils::field_warning(const Ioss::GroupingEntity *ge, const Ioss::Field &field, + const std::string &inout) + { +- fmt::print(Ioss::WARNING(), "{} '{}'. Unknown {} field '{}'\n", ge->type_string(), ge->name(), ++ fmt::print(Ioss::STREAM_WARNING(), "{} '{}'. Unknown {} field '{}'\n", ge->type_string(), ge->name(), + inout, field.get_name()); + return -4; + } +@@ -1439,7 +1439,7 @@ + if (!appending) { + + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "DEFINING MODEL ... \n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "DEFINING MODEL ... \n"); + } + dbi->progress("DEFINING MODEL"); + if (!output_region.begin_mode(Ioss::STATE_DEFINE_MODEL)) { +@@ -1485,7 +1485,7 @@ + transfer_blobs(region, output_region, options, rank); + + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "END STATE_DEFINE_MODEL...\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "END STATE_DEFINE_MODEL...\n"); + } + dbi->progress("END STATE_DEFINE_MODEL"); + +@@ -1493,15 +1493,15 @@ + dbi->progress("output_region.end_mode(Ioss::STATE_DEFINE_MODEL) finished"); + + if (options.verbose && rank == 0) { +- fmt::print(Ioss::DEBUG(), "Maximum Field size = {:n} bytes.\n", max_field_size); ++ fmt::print(Ioss::STREAM_DEBUG(), "Maximum Field size = {:n} bytes.\n", max_field_size); + } + data_pool.data.resize(max_field_size); + if (options.verbose && rank == 0) { +- fmt::print(Ioss::DEBUG(), "Resize finished...\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "Resize finished...\n"); + } + + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "TRANSFERRING MESH FIELD DATA ...\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "TRANSFERRING MESH FIELD DATA ...\n"); + } + dbi->progress("TRANSFERRING MESH FIELD DATA ... "); + +@@ -1538,7 +1538,7 @@ + for (const auto &isb : sbs) { + const std::string &name = isb->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + // Find matching output structured block + Ioss::StructuredBlock *osb = output_region.get_structured_block(name); +@@ -1549,7 +1549,7 @@ + auto &inb = isb->get_node_block(); + auto &onb = osb->get_node_block(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "NB: {}, ", inb.name()); ++ fmt::print(Ioss::STREAM_DEBUG(), "NB: {}, ", inb.name()); + } + + transfer_field_data(&inb, &onb, data_pool, Ioss::Field::MESH, options); +@@ -1609,7 +1609,7 @@ + for (const auto &ifs : fss) { + const std::string &name = ifs->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + // Find matching output sideset + Ioss::SideSet *ofs = output_region.get_sideset(name); +@@ -1624,7 +1624,7 @@ + // Find matching output sideblock + const std::string &fbname = ifb->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", fbname); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", fbname); + } + Ioss::SideBlock *ofb = ofs->get_side_block(fbname); + +@@ -1636,11 +1636,11 @@ + } + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "\n"); + } + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "END STATE_MODEL... \n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "END STATE_MODEL... \n"); + } + dbi->progress("END STATE_MODEL... "); + output_region.end_mode(Ioss::STATE_MODEL); +@@ -1658,13 +1658,13 @@ + } // !appending + + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "DEFINING TRANSIENT FIELDS ... \n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "DEFINING TRANSIENT FIELDS ... \n"); + } + dbi->progress("DEFINING TRANSIENT FIELDS ... "); + + if (region.property_exists("state_count") && region.get_property("state_count").get_int() > 0) { + if (options.verbose && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\nNumber of time steps on database = {}\n\n", ++ fmt::print(Ioss::STREAM_DEBUG(), "\nNumber of time steps on database = {}\n\n", + region.get_property("state_count").get_int()); + } + +@@ -1695,14 +1695,14 @@ + } + + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "END STATE_DEFINE_TRANSIENT... \n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "END STATE_DEFINE_TRANSIENT... \n"); + } + dbi->progress("END STATE_DEFINE_TRANSIENT... "); + output_region.end_mode(Ioss::STATE_DEFINE_TRANSIENT); + } + + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "TRANSFERRING TRANSIENT FIELDS ... \n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "TRANSFERRING TRANSIENT FIELDS ... \n"); + } + dbi->progress("TRANSFERRING TRANSIENT FIELDS... "); + +@@ -1753,7 +1753,7 @@ + for (const auto &isb : sbs) { + const std::string &name = isb->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + // Find matching output structured block + Ioss::StructuredBlock *osb = output_region.get_structured_block(name); +@@ -1778,7 +1778,7 @@ + for (const auto &ifs : fss) { + const std::string &name = ifs->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + + // Find matching output sideset +@@ -1792,7 +1792,7 @@ + // Find matching output sideblock + const std::string &fbname = ifb->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", fbname); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", fbname); + } + + Ioss::SideBlock *ofb = ofs->get_side_block(fbname); +@@ -1818,7 +1818,7 @@ + } + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "END STATE_TRANSIENT... \n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "END STATE_TRANSIENT... \n"); + } + dbi->progress("END STATE_TRANSIENT (begin) ... "); + +@@ -1845,13 +1845,13 @@ + for (const auto &inb : nbs) { + const std::string &name = inb->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + size_t num_nodes = inb->entity_count(); + size_t degree = inb->get_property("component_degree").get_int(); + if (options.verbose && rank == 0) { +- fmt::print(Ioss::DEBUG(), " Number of Coordinates per Node = {:14n}\n", degree); +- fmt::print(Ioss::DEBUG(), " Number of Nodes = {:14n}\n", num_nodes); ++ fmt::print(Ioss::STREAM_DEBUG(), " Number of Coordinates per Node = {:14n}\n", degree); ++ fmt::print(Ioss::STREAM_DEBUG(), " Number of Nodes = {:14n}\n", num_nodes); + } + auto nb = new Ioss::NodeBlock(*inb); + output_region.add(nb); +@@ -1875,7 +1875,7 @@ + } + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "\n"); + } + } + +@@ -1886,7 +1886,7 @@ + for (const auto &entity : entities) { + const std::string &name = entity->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + + // Find the corresponding output node_block... +@@ -1896,7 +1896,7 @@ + } + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "\n"); + } + } + +@@ -1925,7 +1925,7 @@ + for (const auto &iblock : blocks) { + const std::string &name = iblock->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + size_t count = iblock->entity_count(); + total_entities += count; +@@ -1934,13 +1934,13 @@ + output_region.add(block); + } + if (options.verbose && rank == 0) { +- fmt::print(Ioss::DEBUG(), " Number of {:20s} = {:14n}\n", ++ fmt::print(Ioss::STREAM_DEBUG(), " Number of {:20s} = {:14n}\n", + (*blocks.begin())->type_string() + "s", blocks.size()); +- fmt::print(Ioss::DEBUG(), " Number of {:20s} = {:14n}\n", ++ fmt::print(Ioss::STREAM_DEBUG(), " Number of {:20s} = {:14n}\n", + (*blocks.begin())->contains_string() + "s", total_entities); + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "\n"); + } + } + } +@@ -1960,7 +1960,7 @@ + const auto & iblock = blocks[i]; + const std::string &name = iblock->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + size_t count = iblock->entity_count(); + total_entities += count; +@@ -1973,7 +1973,7 @@ + auto &inb = iblock->get_node_block(); + auto &onb = block->get_node_block(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "(NB: {}), ", inb.name()); ++ fmt::print(Ioss::STREAM_DEBUG(), "(NB: {}), ", inb.name()); + } + transfer_mesh_info(&inb, &onb); + } +@@ -1982,7 +1982,7 @@ + for (const auto &iblock : blocks) { + const std::string &name = iblock->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + size_t count = iblock->entity_count(); + total_entities += count; +@@ -1995,20 +1995,20 @@ + auto &inb = iblock->get_node_block(); + auto &onb = block->get_node_block(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "(NB: {}), ", inb.name()); ++ fmt::print(Ioss::STREAM_DEBUG(), "(NB: {}), ", inb.name()); + } + transfer_mesh_info(&inb, &onb); + } + } + + if (options.verbose && rank == 0) { +- fmt::print(Ioss::DEBUG(), " Number of {:20s} = {:14n}\n", ++ fmt::print(Ioss::STREAM_DEBUG(), " Number of {:20s} = {:14n}\n", + (*blocks.begin())->type_string() + "s", blocks.size()); +- fmt::print(Ioss::DEBUG(), " Number of {:20s} = {:14n}\n", ++ fmt::print(Ioss::STREAM_DEBUG(), " Number of {:20s} = {:14n}\n", + (*blocks.begin())->contains_string() + "s", total_entities); + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "\n"); + } + } + } +@@ -2042,7 +2042,7 @@ + for (const auto &ss : fss) { + const std::string &name = ss->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + auto surf = new Ioss::SideSet(*ss); + output_region.add(surf); +@@ -2062,13 +2062,13 @@ + } + + if (options.verbose && rank == 0 && !fss.empty()) { +- fmt::print(Ioss::DEBUG(), " Number of {:20s} = {:14n}\n", (*fss.begin())->type_string() + "s", ++ fmt::print(Ioss::STREAM_DEBUG(), " Number of {:20s} = {:14n}\n", (*fss.begin())->type_string() + "s", + fss.size()); +- fmt::print(Ioss::DEBUG(), " Number of {:20s} = {:14n}\n", ++ fmt::print(Ioss::STREAM_DEBUG(), " Number of {:20s} = {:14n}\n", + (*fss.begin())->contains_string() + "s", total_sides); + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "\n"); + } + } + +@@ -2081,7 +2081,7 @@ + for (const auto &set : sets) { + const std::string &name = set->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + size_t count = set->entity_count(); + total_entities += count; +@@ -2090,12 +2090,12 @@ + } + + if (options.verbose && rank == 0) { +- fmt::print(Ioss::DEBUG(), " Number of {:20s} = {:14n}", ++ fmt::print(Ioss::STREAM_DEBUG(), " Number of {:20s} = {:14n}", + (*sets.begin())->type_string() + "s", sets.size()); +- fmt::print(Ioss::DEBUG(), "\tLength of entity list = {:14n}\n", total_entities); ++ fmt::print(Ioss::STREAM_DEBUG(), "\tLength of entity list = {:14n}\n", total_entities); + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "\n"); + } + } + } +@@ -2146,7 +2146,7 @@ + fmt::print(stderr, "\tLength of entity list = {:14n}\n", total_entities); + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "\n"); + } + } + } +@@ -2186,13 +2186,13 @@ + for (const auto &ics : css) { + const std::string &name = ics->name(); + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "{}, ", name); ++ fmt::print(Ioss::STREAM_DEBUG(), "{}, ", name); + } + auto cs = new Ioss::CommSet(*ics); + output_region.add(cs); + } + if (options.debug && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\n"); ++ fmt::print(Ioss::STREAM_DEBUG(), "\n"); + } + } + +@@ -2413,7 +2413,7 @@ + #endif + default: + if (field_name == "mesh_model_coordinates") { +- fmt::print(Ioss::DEBUG(), "data_storage option not recognized."); ++ fmt::print(Ioss::STREAM_DEBUG(), "data_storage option not recognized."); + } + return; + } +@@ -2535,7 +2535,7 @@ + void show_step(int istep, double time, const Ioss::MeshCopyOptions &options, int rank) + { + if (options.verbose && rank == 0) { +- fmt::print(Ioss::DEBUG(), "\r\tTime step {:5d} at time {:10.5e}", istep, time); ++ fmt::print(Ioss::STREAM_DEBUG(), "\r\tTime step {:5d} at time {:10.5e}", istep, time); + } + } + +diff -Naur ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_Utils.h ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_Utils.h +--- ParaView-5.9.0_ref/VTK/ThirdParty/ioss/vtkioss/Ioss_Utils.h 2021-02-04 15:22:04.000000000 +0100 ++++ ParaView-5.9.0_new/VTK/ThirdParty/ioss/vtkioss/Ioss_Utils.h 2021-04-15 15:05:03.001043046 +0200 +@@ -522,11 +522,11 @@ + Ioss::MeshCopyOptions &options); + }; + +- inline std::ostream &OUTPUT() { return *Utils::m_outputStream; } ++ inline std::ostream &STREAM_OUTPUT() { return *Utils::m_outputStream; } + +- inline std::ostream &DEBUG() { return *Utils::m_debugStream; } ++ inline std::ostream &STREAM_DEBUG() { return *Utils::m_debugStream; } + +- inline std::ostream &WARNING() ++ inline std::ostream &STREAM_WARNING() + { + *Utils::m_warningStream << Utils::m_preWarningText; + return *Utils::m_warningStream; diff --git a/config/patches/paraview.0018-spns-26351-autoconvert.patch b/config/patches/paraview.0018-spns-26351-autoconvert.patch new file mode 100644 index 0000000..997960f --- /dev/null +++ b/config/patches/paraview.0018-spns-26351-autoconvert.patch @@ -0,0 +1,34 @@ +--- ParaView.orig/Remoting/ServerManager/vtkSMInputArrayDomain.cxx 2021-09-09 08:57:14.769827497 +0200 ++++ ParaView/Remoting/ServerManager/vtkSMInputArrayDomain.cxx 2021-09-07 13:23:51.029276211 +0200 +@@ -144,26 +144,15 @@ + *acceptable_as_type = attribute_type; + } + +- if (required_type == ANY) ++ if (required_type == ANY_EXCEPT_FIELD && attribute_type == FIELD) + { +- return attribute_type == POINT || attribute_type == CELL || attribute_type == FIELD || +- attribute_type == EDGE || attribute_type == VERTEX || attribute_type == ROW; ++ return false; + } + +- if (required_type == ANY_EXCEPT_FIELD) ++ if (required_type == ANY || required_type == ANY_EXCEPT_FIELD) + { +- // Try out all attribute types except field data sequentially. +- int attribute_types_to_try[] = { vtkDataObject::POINT, vtkDataObject::CELL, +- vtkDataObject::VERTEX, vtkDataObject::EDGE, vtkDataObject::ROW, -1 }; +- for (int cc = 0; attribute_types_to_try[cc] != -1; ++cc) +- { +- if (vtkSMInputArrayDomain::IsAttributeTypeAcceptable( +- attribute_types_to_try[cc], attribute_type, acceptable_as_type)) +- { +- return true; +- } +- } +- return false; ++ return attribute_type == POINT || attribute_type == CELL || attribute_type == FIELD || ++ attribute_type == EDGE || attribute_type == VERTEX || attribute_type == ROW; + } + + switch (attribute_type) diff --git a/config/patches/paraview.0019-spns-26344-VTK-OpenMP.patch b/config/patches/paraview.0019-spns-26344-VTK-OpenMP.patch new file mode 100644 index 0000000..41f72a2 --- /dev/null +++ b/config/patches/paraview.0019-spns-26344-VTK-OpenMP.patch @@ -0,0 +1,75 @@ +diff -Naur ParaView-5.9.0_ref/VTK/Filters/Geometry/vtkGeometryFilter.cxx ParaView-5.9.0/VTK/Filters/Geometry/vtkGeometryFilter.cxx +--- ParaView-5.9.0_ref/VTK/Filters/Geometry/vtkGeometryFilter.cxx 2021-09-16 13:17:47.022010882 +0200 ++++ ParaView-5.9.0/VTK/Filters/Geometry/vtkGeometryFilter.cxx 2021-09-16 13:21:51.054384099 +0200 +@@ -448,6 +448,71 @@ + this->ICellIds.TakeReference(vtkIdList::New()); + this->Coords.TakeReference(vtkPoints::New()); + } ++ ++ LocalDataType(const LocalDataType& other) ++ { ++ this->ThreadId = other.ThreadId; ++ ++ this->Verts = other.Verts; ++ this->Lines = other.Lines; ++ this->Polys = other.Polys; ++ this->Strips = other.Strips; ++ ++ this->VertsConnOffset = other.VertsConnOffset; ++ this->VertsOffset = other.VertsOffset; ++ this->LinesConnOffset = other.LinesConnOffset; ++ this->LinesOffset = other.LinesOffset; ++ this->PolysConnOffset = other.PolysConnOffset; ++ this->PolysOffset = other.PolysOffset; ++ this->StripsConnOffset = other.StripsConnOffset; ++ this->StripsOffset = other.StripsOffset; ++ ++ this->PointMap = other.PointMap; ++ // These are here to have a different allocation for each threads ++ this->Cell.TakeReference(vtkGenericCell::New()); ++ this->CellIds.TakeReference(vtkIdList::New()); ++ this->IPts.TakeReference(vtkIdList::New()); ++ this->ICellIds.TakeReference(vtkIdList::New()); ++ this->Coords.TakeReference(vtkPoints::New()); ++ } ++ ++ LocalDataType& operator=(const LocalDataType& other) ++ { ++ if (this != &other) ++ { ++ LocalDataType tmp = LocalDataType(other); ++ this->Swap(tmp); ++ } ++ return *this; ++ } ++ ++ void Swap(LocalDataType& other) ++ { ++ using std::swap; // the compiler will use custom swap for members if it exists ++ ++ swap(this->Verts, other.Verts); ++ swap(this->Lines, other.Lines); ++ swap(this->Polys, other.Polys); ++ swap(this->Strips, other.Strips); ++ ++ swap(this->VertsConnOffset, other.VertsConnOffset); ++ swap(this->VertsOffset, other.VertsOffset); ++ swap(this->LinesConnOffset, other.LinesConnOffset); ++ swap(this->LinesOffset, other.LinesOffset); ++ swap(this->PolysConnOffset, other.PolysConnOffset); ++ swap(this->PolysOffset, other.PolysOffset); ++ swap(this->StripsConnOffset, other.StripsConnOffset); ++ swap(this->StripsOffset, other.StripsOffset); ++ ++ swap(this->PointMap, other.PointMap); ++ swap(this->Cell, other.Cell); ++ swap(this->CellIds, other.CellIds); ++ swap(this->IPts, other.IPts); ++ swap(this->ICellIds, other.ICellIds); ++ swap(this->Coords, other.Coords); ++ } ++ ++ + + void SetPointMap(vtkIdType* ptMap) + { diff --git a/config/salome.xml b/config/salome.xml index 2b988a8..96b75e7 100644 --- a/config/salome.xml +++ b/config/salome.xml @@ -1,8 +1,12 @@ - + - + + + + + @@ -25,7 +29,7 @@ - + @@ -39,7 +43,7 @@ - + @@ -51,19 +55,21 @@ - + - + - + - + + + @@ -73,7 +79,7 @@ - + @@ -87,6 +93,7 @@ + @@ -100,8 +107,11 @@ - - + + + + + @@ -155,41 +165,41 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- 2.39.2