Syrthes - Code_Saturne coupling problem

Questions and remarks about code_saturne usage
Forum rules
Please read the forum usage recommendations before posting.
Post Reply
stefann
Posts: 25
Joined: Fri Oct 10, 2014 7:49 pm

Syrthes - Code_Saturne coupling problem

Post by stefann »

I installed code_saturne 4.0.0 and syrthes 4.3.0 together. Each code works individually but when I try to couple them together I get the following error:

Code: Select all

Single processor Code_Saturne simulation.
 Single processor SYRTHES simulation.
 ****************************
  Preparing calculation data
 ****************************

Traceback (most recent call last):
  File "/usr/local/bin/code_saturne", line 76, in <module>
    retcode = cs.execute()
  File "/usr/local/lib/python2.7/dist-packages/code_saturne/cs_script.py", line 88, in execute
    return self.commands[command](options)
  File "/usr/local/lib/python2.7/dist-packages/code_saturne/cs_script.py", line 150, in run
    return cs_run.main(options, self.package)
  File "/usr/local/lib/python2.7/dist-packages/code_saturne/cs_run.py", line 304, in main
    save_results=save_results)
  File "/usr/local/lib/python2.7/dist-packages/code_saturne/cs_case.py", line 1717, in run
    force_id)
  File "/usr/local/lib/python2.7/dist-packages/code_saturne/cs_case.py", line 1444, in prepare_data
    d.prepare_data()
  File "/usr/local/lib/python2.7/dist-packages/code_saturne/cs_case_domain.py", line 1124, in prepare_data
    raise RunCaseError("Cannot locate SYRTHES installation.\n")
cs_case_domain.RunCaseError: Cannot locate SYRTHES installation.
I have checked if SYRTHES4_HOME is in my path:

Code: Select all

echo $SYRTHES4_HOME
/opt/syrthes4.3.0/arch/Linux_x86_64
My /usr/local/etc/code_saturne.cfg file has:

Code: Select all

[install]
syrthes = /opt/syrthes4.3.0/arch/Linux_x86_64
[run]
Any ideas why it cannot find the syrthes installation?


Thanks


Stefan
Yvan Fournier
Posts: 4089
Joined: Mon Feb 20, 2012 3:25 pm

Re: Syrthes - Code_Saturne coupling problem

Post by Yvan Fournier »

Hello,

Is this a case created under version 4.0 or converted from another version ?

What is in your runcase and coupling_parameters.py file ?

Regards,

Yvan
stefann
Posts: 25
Joined: Fri Oct 10, 2014 7:49 pm

Re: Syrthes - Code_Saturne coupling problem

Post by stefann »

I used the code_saturne cmd to create the study/case:

Code: Select all

code_saturne create --study 3disks2D --case case1
Then I copied the files from the code_saturne-4.0.0/examples/4-2Ddisks/case1/solid to their respective directories (per the coupling tutorial).


The runcase file I assume was created automatically when the study/case was created:

Code: Select all

#!/bin/bash

# Ensure the correct command is found:
export PATH=/usr/local/bin:$PATH

# Run command:
\code_saturne run --coupling coupling_parameters.py


The coupling_parameters.py file I have tried the default sys.path which is '<code_saturne.cfg/syrthes>' and I have also tried the actual location of my syrthes installation:

Code: Select all

# -*- coding: utf-8 -*-

#===============================================================================
# User variable settings to specify a coupling computation environnement.

# A coupling case is defined by a dictionnary, containing the following:

# Solver type ('Code_Saturne', 'SYRTHES', 'NEPTUNE_CFD' or 'Code_Aster')
# Domain directory name
# Run parameter setting file
# Number of processors (or None for automatic setting)
# Optional command line parameters. If not useful = None
#===============================================================================

# Ensure the correct SYRTHES install is used.
#sys.path.insert(1, '<code_saturne.cfg/syrthes>')
sys.path.insert(1, '/opt/syrthes4.3.0/arch/Linux_x86_64')


# Define coupled domains

domains = [

    {'solver': 'Code_Saturne',
     'domain': 'fluid',
     'script': 'runcase',
     'n_procs_weight': None,
     'n_procs_min': 1,
     'n_procs_max': None}

    ,
    {'solver': 'SYRTHES',
     'domain': 'solid',
     'script': 'solid-coupling.syd',
     'n_procs_weight': None,
     'n_procs_min': 1,
     'n_procs_max': None,
     'opt' : '-v ens'}         # Additional SYRTHES options
                               # (ex.: postprocessing with '-v ens' or '-v med')

    ]
Yvan Fournier
Posts: 4089
Joined: Mon Feb 20, 2012 3:25 pm

Re: Syrthes - Code_Saturne coupling problem

Post by Yvan Fournier »

Hello,

In the coupling_parameters.py file, could you try ?
sys.path.insert(1, '/opt/syrthes4.3.0/arch/Linux_x86_64/share/syrthes')
instead of
sys.path.insert(1, '/opt/syrthes4.3.0/arch/Linux_x86_64')
?

Still, this should be automatic. Another user has also reported a similar issue, but I have not been able to reproduce it on my side, so it must be subtle (it might be related to installing Code_Saturne in /usr/local instead of a user directory (as the path does not need to be modified), but I am not sure.

I'll try to make things more verbose in version 4.0.1 to help debugging this sort of issue.

Regards,

Yvan
stefann
Posts: 25
Joined: Fri Oct 10, 2014 7:49 pm

Re: Syrthes - Code_Saturne coupling problem

Post by stefann »

Thanks. That got me past the path not found error.

However, I am using the example files directly from the code_saturne example directory and the coupled case doesn't run. The individual cases (fluid and solid), individually, work fine.


In the RESU_COUPLING/2015......./ directory the summary file says "solver failed"

In the /fluid directory, the error file is empty, the listing file has no error or fail listed anywhere. It makes it as far as MAIN CALCULATION and nothing afterwards.

In the /solid directory, the syrthes.log file has:

Code: Select all

*** READING THE VOLUMIC CONDITIONS IN THE DATA FILE
        --> No constant volumic source term is present in the data file

 CFD COUPLING INITIALIZATIONS
 ============================
  coupling 0: initializing MPI communication ...
CFD coupling: local_ranks =                 [0..0]
              distant ranks =               [1..1]
              communication scheme version: 2
              conservativity flag:          0
              allow nonmatching:            0
              tolerance:                    0      0.1

Cfd struct
  app_num:       -1
  name: solid
  do_coupling:     1
  coupl_surf :     1
  coupl_vol  :     0
  n_couplings:     1
      Code_Saturne

[ubuntu:03033] *** Process received signal ***
[ubuntu:03033] Signal: Segmentation fault (11)
[ubuntu:03033] Signal code: Address not mapped (1)
[ubuntu:03033] Failing at address: 0x50
[ubuntu:03033] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7f5180c28340]
[ubuntu:03033] [ 1] ./syrthes[0x41d602]
[ubuntu:03033] [ 2] ./syrthes[0x414054]
[ubuntu:03033] [ 3] ./syrthes[0x40a97b]
[ubuntu:03033] [ 4] ./syrthes[0x402c6f]
[ubuntu:03033] [ 5] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f5180874ec5]
[ubuntu:03033] [ 6] ./syrthes[0x402e95]
[ubuntu:03033] *** End of error message ***
I compiled both code_saturne and syrthes with openmpi version 1.8.3, both codes can run with openmpi and multiple cores activated.


Any ideas? I think its been over a year since I have been able to run coupled codes together.

It isn't very easy to get them to play nice with each other!


Stefan
Yvan Fournier
Posts: 4089
Joined: Mon Feb 20, 2012 3:25 pm

Re: Syrthes - Code_Saturne coupling problem

Post by Yvan Fournier »

Hello,

In this case, it seems it is Syrthes which crashes very early on. We have reported a bug to the Syrthes developers relative to a crash at the end of the Syrthes run, so this migh be the same bug of either Code_Saturne or Syrthes requested no iterations.

Otherwise, without the data to run your case, I have no idea what might be wrong.

Regards,

Yvan
Post Reply