I'd like to start with thermal simulations using Code_Saturne+Syrthes. When trying to do example simulations according to tutorial "Code Saturne version 6.0 tutorial: three 2D disks" I had some problems with the software.
1. I downloaded Salome-CFD (Qualified version based on Code_Saturne 5.0 and SALOME 8.3). I tried development version too but it crashed.
2. I did extra steps acc. https://www.code-aster.org/forum2/viewt ... p?id=24883 (post by sb1966 2020-06-25), including the necessary change of python to python2 in installer and removing libstdc++.so
3. The salome was working (except GUI bugs) OK, so I started with the three 2D disks. I couldn't find the mentioned "syrthes.profile" file and even though syrthes is not installed, so I installed it from mint20.1 repo. Later found out it wasn't necessary (the file exist but it's burried deep in the Salome_CFD-SCFD_V8_5_0-Code_Saturne-5_2-univ_d54f597c). I removed the unnecessary syrthes, hope it didn't cause future issues.
4. I don't understand the step with editing "vim <install-prefix>/etc/code_saturne.cfg" to add "SYRTHES installation directory" - I don't know what's the directory, anyway it seems unnecessary to run syrthes.
5. I entered all the input to syrthes in salome and tried to start simulation. It failed because it couldn't find python. I installed python-is-python2. Got another error "No module named builtins ubuntu", found solution - install library "future" (https://stackoverflow.com/questions/274 ... d-builtins) from mint repo (python3-future if I recall correctly).
6. Syrthes still not running. The solution was to manually edit makefile in SOLID directory and add option -no-pie (https://nanxiao.me/en/gccs-enable-enabl ... nst-error/). It runs!
7. Next step is fluid symulation with code_saturne. No major issues (if I recall correctly) except different GUI and apparently wrong formula describing density (with Figure III.22 I got pointless results, correction acc. formula II.1 helped).
8. Next step was coupled simulations. At the beginning it failed because I set number of processes to 1 which I didn't expect to cause error, but that was easy to fix. Next, I got warning that syrthes and code_saturne use different libraries: libmpi.so.1 and libmpi.so.40.
So here's the question: can this be fixed in the version that is installed from Salome_CFD-SCFD_V8_5_0-Code_Saturne-5_2-univ_d54f597c.run or I need to compile the software instead of using this installer, to get the right libraries?
9. For further attempts I tried to install newer version of Salome and Code_Saturne. I downloaded salome 9.3 installer (http://files.salome-platform.org/Salome ... withOT.run).
10. After installing salome I tried to separately install code_saturne-6.1.3 with option to integrate with salome. It's not working because of missing pyqt5. The reason is in point 5. - for the newer version I need python-is-python3 instead of python-is-python2. I reinstalled also salome after this.
11. Still couldn't compile - got error "failed to get the Python codec of the filesystem encoding compilation". Maybe because salome installer has python3.6 and my linux uses 3.8. I found solution for this (viewtopic.php?p=15031) - run "salome shell" and then compile. I had to use ./configure... instead of the installer script "install_saturne.py", fortunately the "install_saturne.py" generated config.log before crash so I got the options ready to copy:
Code: Select all
"configure --prefix=/home/michal/Code_Saturne/6.1.3/code_saturne-6.1.3/arch/Linux_x86_64 --with-hdf5=salome --with-cgns=salome --with-med=salome --without-metis --without-scotch PYTHON=/usr/bin/python --with-salome=/home/michal/salome/Salome-V9_3_0-x86_64 --disable-static CXX=/usr/bin/mpicxx CC=/usr/bin/mpicc FC=/usr/bin/f95"
12. More errors while making - some libraries can't be linked. In log I found that compiler looks for some libraries in some weird locations that have never existed on my computer, e.g.
[/code]"/home/rd-ap-palmco/salome/edf/V9_3_0_univ_yamm_test/prerequisites/install/Gcc-630-bin227-cloog0184-gmp513-mpc102-mpfr312/lib64/libstdc++.la"[/code]
I'm not rd-ap-palmco and directories in my salome versions have different names.
So the question: How could it happen and how to fix the pathes?
In config.log it appears the first time here:
Code: Select all
configure:4754: $? = 0
configure:4743: /usr/bin/mpicc -v >&5
Using built-in specs.
COLLECT_GCC=/home/michal/salome/Salome-V9_3_0-x86_64/prerequisites/Gcc-630/bin/gcc
COLLECT_LTO_WRAPPER=/home/michal/salome/Salome-V9_3_0-x86_64/prerequisites/Gcc-630/bin/../libexec/gcc/x86_64-pc-linux-gnu/6.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /home/rd-ap-palmco/salome/edf/V9_3_0_univ_yamm_test/prerequisites/src/Gcc-630-bin227-cloog0184-gmp513-mpc102-mpfr312/configure --prefix=/home/rd-ap-palmco/salome/edf/V9_3_0_univ_yamm_test/prerequisites/install/Gcc-630-bin227-cloog0184-gmp513-mpc102-mpfr312 --with-binutils=/home/rd-ap-palmco/salome/edf/V9_3_0_univ_yamm_test/prerequisites/install/Binutils-227-cloog0184-gmp513-mpc102-mpfr312 --with-cloog=/home/rd-ap-palmco/salome/edf/V9_3_0_univ_yamm_test/prerequisites/install/Cloog-0184-gmp513-mpfr312 --with-gmp=/home/rd-ap-palmco/salome/edf/V9_3_0_univ_yamm_test/prerequisites/install/Gmp-513 --with-mpc=/home/rd-ap-palmco/salome/edf/V9_3_0_univ_yamm_test/prerequisites/install/Mpc-102-gmp513-mpfr312 --with-mpfr=/home/rd-ap-palmco/salome/edf/V9_3_0_univ_yamm_test/prerequisites/install/Mpfr-312-gmp513 -v --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-bootstrap --enable-nls --enable-__cxa_atexit --enable-checking=release --with-pkgversion='GCC 6.3.0 PR-2015/02/04'
14. I tried the newest salome - salome 9.6 for ubuntu 20.04. It installs differently than the previous .run installers, with "sat" tool. The "sat" didn't work because it coudn't find linux distro name. I hardcoded mint (distrib="LM") in ./salomeTools/src/architecture.py - it worked.
15. Trying to compile using sat - compilation failed because openssl-dev, libtbb, libtbb-dev are missing but actually I've got libssl-dev, libtbb2, libtbb-dev which should be fine.
16. According to readme in salome 9.6 I tried "compilation based on the binaries used as prerequisites". It worked, except I didn't know how should I understand
Code: Select all
Use SalomeTool (as explained in Sources section) and compile only the
modules you need to (with -p option)
17. The newest salome works but compilation of code_saturne fails. Problems like:
Code: Select all
/home/michal/build/code_saturne-6.1.3/src/fvm/fvm_to_medcoupling.cxx:637:48: error: cannot convert ‘int [8]’ to ‘const mcIdType*’ {aka ‘const long int*’}
637 | med_mesh->insertNextCell(med_type, stride, elt_buf);
| ^~~~~~~
| |
| int [8]
All that is a little mess. Has someone managed to install coupled CS+Syrthes, with consistent libmpi on mint 20.1? Where to start?