AMReX-Combustion / PeleLM

An adaptive mesh hydrodynamics simulation code for low Mach number reacting flows
https://amrex-combustion.github.io/PeleLM/
Other
83 stars 41 forks source link

Error encountered when using intel compilers #246

Closed mybaykan closed 1 year ago

mybaykan commented 1 year ago

I have compiled a PeleLM simulation code using the icc, icpc, and ifort compilers found in the oneAPI 2023.0 release, and I tried to run the code using the mpi library found in the same release which gave me the following error. The same setup with GNU compilers did run successfully without any errors.

amrex::amrex::Abort::3::Abort::amrex::2::FORTRAN:RD_SCL_FLCTHD: infl_type is not set !!!
SIGABRT
Abort::0::FORTRAN:RD_SCL_FLCTHD: infl_type is not set !!!
SIGABRT
FORTRAN:RD_SCL_FLCTHD: infl_type is not set !!!
SIGABRT
amrex::Abort::1::FORTRAN:RD_SCL_FLCTHD: infl_type is not set !!!
SIGABRT
See Backtrace.2 file for details
See Backtrace.0 file for details
See Backtrace.1 file for details
See Backtrace.3 file for details
Abort(6) on node 2 (rank 2 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 6) - process 2

All the back trace files are the same so I have attached one of them as a txt file below.

Backtrace0.txt

drummerdoc commented 1 year ago

It is trying to read a "turbulence" file. Is that intended? Do you have one with the correct name (as indicated in your inputs file) and is it correctly formatted? Maybe attach the first few lines of the turbulence HDR file here and we can look. If you are not intending to inflow velocity fluctuations from a precomputed file, then remove the associated bits from the inputs.

Also, you may wish to try PeleLMeX instead, as we are a bit limited in our support and LMeX is the more actively maintained low Mach code.

Let me know how it goes.

esclapez commented 1 year ago

I'm curious what case you're trying to compile. Support for Fortran in PeleLM was dropped over a year ago. If you're trying to revive an old case, we can assist you in transitioning to PeleLMeX.

mybaykan commented 1 year ago

The turbulence is intended and the name of the turbulence file matches the one indicated in the inputs file. I think there are no issues with the format since the exact same file structure works without any errors when GNU compilers are used to create the executable instead of Intel compilers. Also when the "forceInflow" variable in the "probin" file is set to false the simulation runs without any errors.

Here are the first few lines of the HDR file:

35 35 81
0.00425 0.00425 0.01
1 1 1
0
9888
19778
29668
39558

One thing I did not notice before creating this issue is that the PeleLM package that I use is from around 2018, so it might be a good idea to transition to the new version, but I have to discuss it with my colleagues.

mybaykan commented 1 year ago

Hello, I've found out that the infl_type is being set to 0 when using intel to compile, while it should have been set to 1 by default. Manually defining the value of infl_type in one of our "FEXE_sources" files fixed the issue.

drummerdoc commented 1 year ago

@nickwimer @esclapez We should figure out why the default behavior appears to differ with compilers

esclapez commented 1 year ago

I'm not sure we want to spend time on this, none of the functionalities discussed here still exists in the latest PeleLM.