Hello, great thanks for your support. I solved "many files" issue by setting just "Catalyst" file name in ParaView Export Inspector, Advanced writer (filter) options is opened with [...] button. By default, this file name includes iteration number.
Small report about how I set up Catalyst for those who needs it.
1. ParaView Catalyst builds and interaction with Code Saturne.
It seems that only PV versions 5.8 and 5.9-RC are suitable for current Kubuntu-20 (january 2020).
With very old versions, like 5.2, that worked with Saturne 5.x branch, modern Saturne (6.x branch) cannot find lots of VTK functions etc, so it's incompatible.
PV 5.6...5.7 have OS compatibility problem in Catalyst configuration.
PV 5.6 make showed some "Error 2" and I didn't even find particular error in lots of its (parallel compile) output (parallel compile output is not synced).
PV 5.7 cannot decide what to do with Python versions. Although I set explicitly all Python versions/paths in CCMake and disable all 4 parameters connected with
mpi4py module (checked searching CMakeCache with editor), it starts compiling
mpi4py (even with clear build dir) and fails because it's not compatible with some
mpi4py-related function (wrong number of arguments). May be some tweak required or environment variable or it's just a bug in PV configure. So I decided to drop these tries cause I don't see the reason to have all these old Catalystic ParaView's.
PV 5.8.1 and 5.9-RC3 compile in Catalyst mode. It may require some tricks, I cannot guarantee that I haven't forgot something. Major things for
Kubuntu-20 are:
1. In
CCMake, enable
Catalyst mode. Don't forget to press "T" to see all params. Check for parameters that was required for older versions like 5.2, set them if found. Set specific VTK parameters needed for modern Saturne (see code section below). Configure, generate and start make. Then pray for it to complete successfuly
If you are not a guru, it may be quite tricky to compile "catalystic" ParaView version. Here are some parameters I collected in text file to remember if needed:
Code: Select all
CMAKE_INSTALL_PREFIX /Programs/ParaView-5.8.1/install-catalyst
PARAVIEW_BUILD_EDITION CATALYST
PARAVIEW_INSTALL_DEVELOPMENT_F ON
PARAVIEW_USE_PYTHON ON
PARAVIEW_USE_MPI ON
MPIEXEC_EXECUTABLE /Programs/openmpi-1.8.4/build/bin/mpiexec
MPIEXEC_MAX_NUMPROCS 16 (Number of cores)
MPIEXEC_NUMPROC_FLAG -np
VTK_MPI_NUMPROCS 16
VTK_MODULE_ENABLE_ParaView_Catalyst YES
VTK_MODULE_ENABLE_ParaView_PythonCatalyst YES
VTK_MODULE_ENABLE_VTK_RenderingContext2D YES
VTK_MODULE_ENABLE_VTK_ChartsCore YES
I attach CMakeCache.txt for PV 5.8.1 version (checked with Saturne 6.3.0).
Paths like /Programs/... must be adjusted to actual paths where you build/install catalystic ParaView build. The same for
Python and
MPI paths. Set appropriate max number of MPI threads (to your number of cores or threads if you use multi-threading).
2. If there are different Python versions in system (that is very likely due to older programs support) set
/usr/bin/python and
/usr/bin/python-config to point to
python3/python3-config in the same directory (I recommend to save old symlinks with "old" extension). Use Ctrl+F in Double Commander (root privileges) to easily find these files (there are lots of stuff in /usr/bin).
3. Add /usr/lib/x86_64-linux-gnu/libpython3.8.so (up-to-date Python library) to your LD_PRELOAD variable. If it's set from Saturne start script, use syntax like:
Code: Select all
export LD_PRELOAD=$LD_PRELOAD:/usr/lib/x86_64-linux-gnu/libpython3.8.so
If you will not do it, Saturne may have "PyExc_ValueError" issue despite of
python pointer set to
python3. Quick googling didn't reveal how to do the same for Python library (*.so), there is no libpython.so or like pointer in
/usr/lib/x86_64-linux-gnu/ so I just LD_PRELOAD actual library version. Similar trick was needed in Kubuntu-14 for Saturne 5.x branch and Python-2.7.
I noticed seldom random crashes of Saturne 5.x with Kubuntu-14 with OpenMPI version 3, while the most reliable version is 1.8.4. I'm not sure that it's important for modern Kubuntu/Saturne
Warning: Errors in ParaView crash the calculation. It was not so with older versions. Be careful!
2. Catalyst Python scripts.
Catalyst stuff is completely different in ParaView 5.8 compared with older versions (4.3, 5.2). It creates issues but may be solved. Here is how I made it to work:
1. Open your sample dataset as usual, but
rename it's root tree item to Catalyst!
2. Create, for example, Slice, as usual.
3. Select Catalyst in treeview. Open View -
Export Inspector, ensure that
Catalyst is selected in list at the left under
Data Extracts, check corresponding box to export this writer.
4. Select XMLMultiBlockDataWriter as writer type. CSV should also work, I didn't check thoroughly for now.
5. Press
[...] button to open
Advanced options dialog, ensure that Cell data is selected in File association and set File Pattern at the bottom to
Catalyst.vtm if you don't want to retain Catalyst output file from every iteration. Other options may have to be adjusted. Press OK.
6. Export script via
Catalyst => Export Catalyst Script in main menu. Name it "
Catalyst.py", don't forget to name your Catalyst writer in Saturne case "
Catalyst". Keep only one script in DATA directory for Saturne not to confuse what script to use, rename old ones to *.old.
7. Check that Saturne case is OK (Catalyst writer is present in output dialogs and is named "Catalyst", output is set to every N iterations and at the start of calculation, Catalyst writer is added for Fluid domain).
8. Open ParaView, Connect to Catalyst and run Saturne as usual. Catalyst output should appear at first iteration. Don't mark TrivialProducer in Catalyst tree (it crashed PV and Saturne when I tried), select, for example, Slice, as usual. If something go wrong, see "error" file in run directory (if it's empty, use single-thread run to debug as usual). If there are specific Catalyst issues, Catalyst log file appear in run directory.