btuznik / porousGasificationFoam

Solver for reacting flow through porous media. foam-extend-4.1 equivalent at https://github.com/pjzuk/porousGasificationFoam. Submitted to Computer Physics Communications
15 stars 9 forks source link

Problem compiling the library #3

Open fcgaleazzo opened 2 years ago

fcgaleazzo commented 2 years ago

Hello,

I am having problems compiling the library. I have tested in two different systems, using GCC 7.3 and 9.2, and both ended with the same error message. Can we help me with that?

Best regards,

Flavio

Here the error message

In file included from /zhome/academic/HLRS/hlrs/hpcfcunh/OpenFOAM/hpcfcunh-8/applications/porousGasificationMedia/thermophysicalModels/solid/lnInclude/IrreversibleSolidHeterogeneousReaction.H:138:0, from reaction/heterogeneousReactions/makeSolidHeterogeneousReactionThermo.H:36, from reaction/heterogeneousReactions/makeSolidHeterogeneousReactionThermoReactions.C:26: /zhome/academic/HLRS/hlrs/hpcfcunh/OpenFOAM/hpcfcunh-8/applications/porousGasificationMedia/thermophysicalModels/solid/lnInclude/IrreversibleSolidHeterogeneousReaction.C: In constructor ‘Foam::IrreversibleSolidHeterogeneousReaction<ReactionRate>::IrreversibleSolidHeterogeneousReaction(const Foam::PtrList<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> >&, const speciesTable&, Foam::Istream&, const speciesTable&)’: /zhome/academic/HLRS/hlrs/hpcfcunh/OpenFOAM/hpcfcunh-8/applications/porousGasificationMedia/thermophysicalModels/solid/lnInclude/IrreversibleSolidHeterogeneousReaction.C:61:22: error: no matching function for call to ‘Foam::List<int>::append(const Foam::List<long int>&)’ lhs.append(slhs()); ^ In file included from /lustre/nec/ws3/ws/hpcfcunh-HPCWE_2/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/List.H:311:0, from /lustre/nec/ws3/ws/hpcfcunh-HPCWE_2/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/wordList.H:42, from /lustre/nec/ws3/ws/hpcfcunh-HPCWE_2/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/hashedWordList.H:39, from /lustre/nec/ws3/ws/hpcfcunh-HPCWE_2/OpenFOAM/OpenFOAM-8/src/thermophysicalModels/specie/lnInclude/speciesTable.H:35, from /zhome/academic/HLRS/hlrs/hpcfcunh/OpenFOAM/hpcfcunh-8/applications/porousGasificationMedia/thermophysicalModels/solid/lnInclude/solidHeterogeneousReaction.H:40, from reaction/heterogeneousReactions/makeSolidHeterogeneousReactionThermo.H:35, from reaction/heterogeneousReactions/makeSolidHeterogeneousReactionThermoReactions.C:26: /lustre/nec/ws3/ws/hpcfcunh-HPCWE_2/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/ListI.H:178:13: note: candidate: void Foam::List<T>::append(const T&) [with T = int] inline void Foam::List<T>::append(const T& t) ^~~~ /lustre/nec/ws3/ws/hpcfcunh-HPCWE_2/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/ListI.H:178:13: note: no known conversion for argument 1 from ‘const Foam::List<long int>’ to ‘const int&’ /lustre/nec/ws3/ws/hpcfcunh-HPCWE_2/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/ListI.H:185:13: note: candidate: void Foam::List<T>::append(const Foam::UList<T>&) [with T = int] inline void Foam::List<T>::append(const UList<T>& lst) ^~~~ /lustre/nec/ws3/ws/hpcfcunh-HPCWE_2/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/ListI.H:185:13: note: no known conversion for argument 1 from ‘const Foam::List<long int>’ to ‘const Foam::UList<int>&’ /lustre/nec/ws3/ws/hpcfcunh-HPCWE_2/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/ListI.H:204:13: note: candidate: void Foam::List<T>::append(const Foam::UIndirectList<T>&) [with T = int] inline void Foam::List<T>::append(const UIndirectList<T>& lst) ^~~~ /lustre/nec/ws3/ws/hpcfcunh-HPCWE_2/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/ListI.H:204:13: note: no known conversion for argument 1 from ‘const Foam::List<long int>’ to ‘const Foam::UIndirectList<int>&’

fcgaleazzo commented 2 years ago

With the help of my colleagues, we found and solved the problem. The error message was related to a 64bit/32bit label problem. Within OpenFOAM, all integers should be "label", i.e. "label" instead of "int", and all constants "label(0)" instead of "0", etc. To fix the error, simply replace int for label in this code line

https://github.com/btuznik/porousGasificationFoam/blob/d8d77578ccb57b1425c662a6cf54cc0f6ac84f7e/porousGasificationMedia/thermophysicalModels/solid/reaction/Reactions/IrreversibleSolidHeterogeneousReaction/IrreversibleSolidHeterogeneousReaction.C#L59