Impossible check model while coupling with code_saturne

Hello,
I’m using persalys in Linux by running the AppImage. I want to link with code_saturne (CFD solver) to do sensitivity analysis. However, when I finish the definition of input parameters, that is to say the template file and configured file, I click the button check template file, the software crash and I receive message from terminal like this:


If I check neither the template file, nor my model and go to evaluation directly, the software crash again and I get massage:

I don’t know what’s wrong

regards,
Ru

Hello @Ru.CHEN,

Which persalys version are you currently running?
Can I have a look at your study (both xml and h5 files) or at least at your template file so I can see what is going on?

Cheers,
Guillaume

Hello Guillaume,

I’m using persalys version 10.0.8. You can find the xml below. As I’m not allowed to upload h5 and other types of files, I show you the code in my template file. It’s named cs_user_modules_template.f90.
Another thing, I have tried the template file with persalys 10.0.8 under windows environment, it goes well. But the CFD solver can only run in Linux, so I must make sure the coupling model is OK in Linux.

module user_module

implicit none

double precision T_cool
double precision Ext_h

! Coolant Temperature T_cool of secondary circuit(deg.C)
parameter (T_cool=@T_coold0)

! External Heat Exchanger Coefficient at secondary circuit(W/(m2K))
parameter (Ext_h=@hd0)

end module user_module

Study_0.xml (23.5 KB)

Regards,
Ru

Hello @Ru.CHEN,

I made a minimal toy model and I do not have any issue when checking your template.
I would say the issue you are facing is most likely due to a lib conflict (hdf5 is the usual suspect) between persalys and code_saturne environments.
Rather than calling code_saturne directly in the coupling command, I would isolate it in a bash script.
The bash script sets the environment required for code_saturne, and launches the solver.
All you have to change in your coupling model is:

  • the command :launch the script you just created instead of launching code_saturne directly
  • the resources files: you need to add the launch script and remove code_saturne executable

Please note that you should also run the appimage from a “clean” terminal, ie with minimal environment so you can avoid such conflicts.

Let me know if this helps,
Cheers,

GG

Hello Guillaume,

I changed setup as you said. The command is “sh run.sh” and run.sh is set to be ressource now. But when I evaluated the model, persalys crashed again. You can find my script below (the extension for files has been changed to .xml to upload ).

code_saturne.xml (660 Bytes)
run.sh.xml (531 Bytes)

In fact, I launch persalys in home path. I have tried the case that no command, no ressource file, just the template file (come from aster or saturne) for input, and click on check template file, the software crash. It’s strange that one of my collegue do the same thing on his Linux machine, the software fail. But another collegue can successfully run the program without error message on Linux.

Besides, I have tried under windows environment, the check template file runs fine. I don’t know if any thing wrong with my Appimage package. How can we find the installation package of persalys? I want to see if this problem will happen with persalys of new version.


Regards,
Ru

Hi @Ru.CHEN ,

I am still suspecting an environment conflict. That could explain the different behaviour between your machine and your colleagues ones.

  • Are you running persalys from a fresh terminal?
  • Is there anything environment related in your .bashrc?
  • Can you check your PATH/LD_LIBRARY_PATH do not look suspicious right before launching persalys?

Let me know,
Cheers,

GG

This are all the environment setting in my .bashrc

Try disabling those source and exports before launching persalys. You just have to comment the lines, save .bashrc and open a new terminal. Let me know if it still crashes (or not)

Cheers,
GG

I have tried. It still crashes.

I got error message from terminal like this. Maybe you are right there is something wrong with hdf5. Any suggestion to fix this?
图片

Regards,
Ru

Hi,

The H5::DataspaceIException is produced by HDF5:

https://web.mit.edu/fwtools_v3.1.0/www/cpplus_RM/classH5_1_1DataSpace.html

There are several messages related to this issue, including:

HDF5 DataspaceIException

but there is no definitive answer.

To further see what happens, we may proceed as usually:

  • simplify the test case until it finally works,
  • proceed by bisection until we can locate the issue.

The problem is that you were not able to come to the point where it works. I would suggest to:

  • further simplify the environment, removing any unnecessary library (e.g. MPI),
  • simplify the test case especially the .comm file.

For step 1, I suggest to proceed systematically so that the target .bashrc file contains the smallest possible number of lines. The output of this step is a minimum .bashrc file. At this point, removing any line in the file should produce another error. On this topic, one way to make tests is to use virtual machines, using e.g. VirtualBox.

For step 2, you may e.g. decrease the size of the mesh, decrease the time discretization, etc. This allows to reduce the physical model to the simplest possible model which produces the bug. The output of this step is the minimum Saturne test case which makes the code run, or produce another error.

It might happen that the dimension or size of the data is larger than expected. What is the size of the data involved here?

Regards,

Michaël

Hello Michael,

To answer your question: there is just one line in the output file, the result is a single value.

In fact, even though I just upload a simple template file and test the button “check template file”, my persalys crashes. PS: I have commented all addictive commands in .bashrc.
input_template.txt.xml (33 Bytes)

I find another strange thing, the last line of error message is about paraview. But I don’t have installed an independent paraview. I just have paraview in salome plateform. Is there any relation between persalys and paraview?

Regards,
Ru

Hi,
To check the behavior on Windows system, i used Persalys v12, created a new “Coupling model” and loaded the template file you provided.
The content of the template file is just:

dp = @dp
L = @L
R = @R
miu = @miu

Then I selected the “Entrée” tab, added 4 input variables and set the values to 1, 2, 3, 4. The following picture presents the state after clicking on “Check template file” :


I also reproduce the experiment on my Linux (Debian) system with the same result. May you share a screenshot of PERSALYS just before the crash ? What version of PERSALYS do you use?

Persalys uses Paraview for some of its graphics.

Best regards,

Michaël

Hello,

This is the screen I have before the software crash:


If I click on “check template file”, my persalys crashes.

I am using persalys version 10.0.8 on Linux(Ubuntu)

Regards,

Ru

I suggest to check how this performs with PERSALYS v12, as it is the latest release.
Regards,
Michaël

It could be a symbol clash between different hdf5 libs loaded by persalys and code saturne.
Remember that your coupling command process inherits the persalys environment and hence its LD_LIBRARY_PATH (and PATH, PYTHONHOME/PYTHONPATH) which could mess the saturne env.
I’d try to unset these in run.sh before calling saturne.