preiceDt is giving me random values

I am trying to replicate the perpendicular flap tutorial. I am using the dealii adapter srtiagh of the of box for the structural part.
As for the fluid part, I am trying to interface with another solver which is written in fortran. I am not passing any forces or displacements between both solvers and my changes are minimal but
A)
whenver I querry for the max time step with:

         CALL precicef_get_max_time_step_size(preciceDt)

I get random numbers which are either close to zero or very large.

B) I am ignoring this value and just progressing with my fluid solver with a small constant time step. At some point later precice aborts and I get this error:

"The time step size given to preCICE in “advance” 6e-06 exceeds the maximum allowed time step size 4.000000000000097e-06 in the remaining of this time window. Did you restrict your time step size, “dt = min(preciceDt, solverDt)”

How is this value calculated? I can’t chose the minimum between the solver and precice’s time step because preciceDt as I explained above is just giving weird values.

horses_output.txt (38.9 KB)
dealii_output.txt (1.0 KB)
precice-config.xml (1.8 KB)

Your Fortran compiler may be assuming a different endianness than the compiler you used to build preCICE. Also check that preciceDt is declared in your fluid solver as REAL(KIND=C_DOUBLE) where C_DOUBLE comes from the intrinsic ISO_C_BINDING module.

2 Likes

Hi,

This looks very odd. If the comment from @Ray_Scarr doesn’t solve your issue, could you please let us know the following:

  • OS Distribution ( lsb_release -a) and Architecture (uname -m )
  • preCICE version
  • method of installation (Debian package, spack, source-build)
  • for source builds the configuration used
  • compilers used and their versions
  • can you reproduce this behaviour with the Fortran solverdummy?

Thanks!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.