CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

Error message with 'wmake' in foam-extend 3.1

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 7, 2018, 08:25
Default Error message with 'wmake' in foam-extend 3.1
  #1
New Member
 
Joe Mattson
Join Date: Nov 2016
Location: Ithaca, NY
Posts: 3
Rep Power: 9
jwm349 is on a distinguished road
Good morning all,

Just so we all have an idea of what my baseline for openFoam knowledge is, I would consider myself a foam user of moderate aptitude; I'm no professional, but I can maneuver the basics relatively easily. I am running version foam-extend 3.1

I am trying to compile a new solver in openFoam called 'interThermalPhaseChangeFoam'. As the name would suggest, it's a multiphase solver that allows for both heat transfer and phase change.
https://www.sciencedirect.com/scienc...52711016300309
https://github.com/ElsevierSoftwareX/SOFTX-D-16-00038

My problem comes when I try to compile the solver; I get fatal errors when trying to locate the header files pimpleControl.H and fvIOoptionList.H

Quote:
fatal error: pimpleControl.H: No such file or directory
fatal error: fvIOoptionList.H: No such file or directory
The interThermalPhaseChange solver was written for v2.4.0; is there some reason why the pimpleControl and fvIOoptionList headers would have been renamed, changed, or removed? Does anyone know why I'm seeing these fatal errors?

Thanks!

Joe

Last edited by jwm349; February 7, 2018 at 08:26. Reason: Accidentally posted before finished
jwm349 is offline   Reply With Quote

Old   February 7, 2018, 08:42
Default
  #2
New Member
 
Joe Mattson
Join Date: Nov 2016
Location: Ithaca, NY
Posts: 3
Rep Power: 9
jwm349 is on a distinguished road
If you're curious about how the error shows up in the terminal, I've pasted that below. It's (to me) rather unintelligible, but I've bolded the first error I get in pimpleControl.H. Hope this helps!

Quote:
joe@joe-300E4C-300E5C-300E7C:~/foam/joe-3.1/applications/solvers/interThermalPhaseFoam/interThermalPhaseChangeFoam$ wmake
SOURCE=interThermalPhaseChangeFoam.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I../incompressibleTwoPhaseThermalMixture/lnInclude -I/home/joe/foam/foam-extend-3.1/src/transportModels -I/home/joe/foam/foam-extend-3.1/src/transportModels/incompressible/lnInclude -I/home/joe/foam/foam-extend-3.1/src/transportModels/interfaceProperties/lnInclude -I/home/joe/foam/foam-extend-3.1/src/turbulenceModels/incompressible/turbulenceModel -I/home/joe/foam/foam-extend-3.1/src/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle -I/home/joe/foam/foam-extend-3.1/src/fvOptions/lnInclude -I/home/joe/foam/foam-extend-3.1/src/finiteVolume/lnInclude -IthermalPhaseChangeModels/thermalPhaseChangeModel -I/home/joe/foam/foam-extend-3.1/src/meshTools/lnInclude -IthermalPhaseChangeModels/MeshGraph -I/home/joe/foam/foam-extend-3.1/src/sampling/lnInclude -IsurfaceTensionForceModels/surfaceTensionForceModel -IlnInclude -I. -I/home/joe/foam/foam-extend-3.1/src/foam/lnInclude -I/home/joe/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/interThermalPhaseChangeFoam.o
SOURCE=thermalPhaseChangeModels/MeshGraph/MeshGraph.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I../incompressibleTwoPhaseThermalMixture/lnInclude -I/home/joe/foam/foam-extend-3.1/src/transportModels -I/home/joe/foam/foam-extend-3.1/src/transportModels/incompressible/lnInclude -I/home/joe/foam/foam-extend-3.1/src/transportModels/interfaceProperties/lnInclude -I/home/joe/foam/foam-extend-3.1/src/turbulenceModels/incompressible/turbulenceModel -I/home/joe/foam/foam-extend-3.1/src/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle -I/home/joe/foam/foam-extend-3.1/src/fvOptions/lnInclude -I/home/joe/foam/foam-extend-3.1/src/finiteVolume/lnInclude -IthermalPhaseChangeModels/thermalPhaseChangeModel -I/home/joe/foam/foam-extend-3.1/src/meshTools/lnInclude -IthermalPhaseChangeModels/MeshGraph -I/home/joe/foam/foam-extend-3.1/src/sampling/lnInclude -IsurfaceTensionForceModels/surfaceTensionForceModel -IlnInclude -I. -I/home/joe/foam/foam-extend-3.1/src/foam/lnInclude -I/home/joe/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/MeshGraph.o
SOURCE=thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I../incompressibleTwoPhaseThermalMixture/lnInclude -I/home/joe/foam/foam-extend-3.1/src/transportModels -I/home/joe/foam/foam-extend-3.1/src/transportModels/incompressible/lnInclude -I/home/joe/foam/foam-extend-3.1/src/transportModels/interfaceProperties/lnInclude -I/home/joe/foam/foam-extend-3.1/src/turbulenceModels/incompressible/turbulenceModel -I/home/joe/foam/foam-extend-3.1/src/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle -I/home/joe/foam/foam-extend-3.1/src/fvOptions/lnInclude -I/home/joe/foam/foam-extend-3.1/src/finiteVolume/lnInclude -IthermalPhaseChangeModels/thermalPhaseChangeModel -I/home/joe/foam/foam-extend-3.1/src/meshTools/lnInclude -IthermalPhaseChangeModels/MeshGraph -I/home/joe/foam/foam-extend-3.1/src/sampling/lnInclude -IsurfaceTensionForceModels/surfaceTensionForceModel -IlnInclude -I. -I/home/joe/foam/foam-extend-3.1/src/foam/lnInclude -I/home/joe/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/thermalPhaseChangeModel.o
SOURCE=thermalPhaseChangeModels/thermalPhaseChangeModel/newThermalPhaseChangeModel.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I../incompressibleTwoPhaseThermalMixture/lnInclude -I/home/joe/foam/foam-extend-3.1/src/transportModels -I/home/joe/foam/foam-extend-3.1/src/transportModels/incompressible/lnInclude -I/home/joe/foam/foam-extend-3.1/src/transportModels/interfaceProperties/lnInclude -I/home/joe/foam/foam-extend-3.1/src/turbulenceModels/incompressible/turbulenceModel -I/home/joe/foam/foam-extend-3.1/src/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle -I/home/joe/foam/foam-extend-3.1/src/fvOptions/lnInclude -I/home/joe/foam/foam-extend-3.1/src/finiteVolume/lnInclude -IthermalPhaseChangeModels/thermalPhaseChangeModel -I/home/joe/foam/foam-extend-3.1/src/meshTools/lnInclude -IthermalPhaseChangeModels/MeshGraph -I/home/joe/foam/foam-extend-3.1/src/sampling/lnInclude -IsurfaceTensionForceModels/surfaceTensionForceModel -IlnInclude -I. -I/home/joe/foam/foam-extend-3.1/src/foam/lnInclude -I/home/joe/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/newThermalPhaseChangeModel.o
interThermalPhaseChangeFoam.C:52:27: fatal error: pimpleControl.H: No such file or directory
compilation terminated.

interThermalPhaseChangeFoam.dep:672: recipe for target 'Make/linux64GccDPOpt/interThermalPhaseChangeFoam.o' failed
make: *** [Make/linux64GccDPOpt/interThermalPhaseChangeFoam.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.H:46:0,
from thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.C:26:
../incompressibleTwoPhaseThermalMixture/lnInclude/twoPhaseThermalMixture.H:202:25: error: conflicting return type specified for ‘virtual Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::twoPhaseThermalMixture::nu() const’
tmp<volScalarField> nu() const
^
In file included from ../incompressibleTwoPhaseThermalMixture/lnInclude/twoPhaseThermalMixture.H:38:0,
from thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.H:46,
from thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.C:26:
/home/joe/foam/foam-extend-3.1/src/transportModels/incompressible/lnInclude/transportModel.H:85:39: error: overriding ‘virtual const volScalarField& Foam::transportModel::nu() const’
virtual const volScalarField& nu() const = 0;
^
In file included from thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.H:46:0,
from thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.C:26:
../incompressibleTwoPhaseThermalMixture/lnInclude/twoPhaseThermalMixture.H:55:7: warning: direct base ‘Foam::IOdictionary’ inaccessible in ‘Foam::twoPhaseThermalMixture’ due to ambiguity
class twoPhaseThermalMixture
^
thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.C: In constructor ‘Foam::thermalPhaseChangeModel::thermalPhaseChange Model(const Foam::word&, const Foam::dictionary&, const Foam::twoPhaseThermalMixture&, const volScalarField&, const volScalarField&)’:
thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.C:54:13: error: ‘MUST_READ_IF_MODIFIED’ is not a member of ‘Foam::IOobject’
IOobject::MUST_READ_IF_MODIFIED,
^
In file included from thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.H:46:0,
from thermalPhaseChangeModels/thermalPhaseChangeModel/newThermalPhaseChangeModel.C:26:
../incompressibleTwoPhaseThermalMixture/lnInclude/twoPhaseThermalMixture.H:202:25: error: conflicting return type specified for ‘virtual Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::twoPhaseThermalMixture::nu() const’
tmp<volScalarField> nu() const
^
In file included from ../incompressibleTwoPhaseThermalMixture/lnInclude/twoPhaseThermalMixture.H:38:0,
from thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.H:46,
from thermalPhaseChangeModels/thermalPhaseChangeModel/newThermalPhaseChangeModel.C:26:
/home/joe/foam/foam-extend-3.1/src/transportModels/incompressible/lnInclude/transportModel.H:85:39: error: overriding ‘virtual const volScalarField& Foam::transportModel::nu() const’
virtual const volScalarField& nu() const = 0;
^
In file included from thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.H:46:0,
from thermalPhaseChangeModels/thermalPhaseChangeModel/newThermalPhaseChangeModel.C:26:
../incompressibleTwoPhaseThermalMixture/lnInclude/twoPhaseThermalMixture.H:55:7: warning: direct base ‘Foam::IOdictionary’ inaccessible in ‘Foam::twoPhaseThermalMixture’ due to ambiguity
class twoPhaseThermalMixture
^
thermalPhaseChangeModels/MeshGraph/MeshGraph.C: In member function ‘void Foam::MeshGraph::GetInterfaceCells(Foam::labelList &, const scalar&)’:
thermalPhaseChangeModels/MeshGraph/MeshGraph.C:140:30: error: no matching function for call to ‘Foam::List<int>::append(const int&)’
IntCells.append( *it );
^
In file included from /home/joe/foam/foam-extend-3.1/src/foam/lnInclude/List.H:264:0,
from /home/joe/foam/foam-extend-3.1/src/foam/lnInclude/labelList.H:36,
from /home/joe/foam/foam-extend-3.1/src/foam/lnInclude/Pstream.H:43,
from /home/joe/foam/foam-extend-3.1/src/foam/lnInclude/OPstream.H:35,
from /home/joe/foam/foam-extend-3.1/src/foam/lnInclude/parRun.H:35,
from /home/joe/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvCFD.H:4,
from thermalPhaseChangeModels/MeshGraph/MeshGraph.H:36,
from thermalPhaseChangeModels/MeshGraph/MeshGraph.C:33:
/home/joe/foam/foam-extend-3.1/src/foam/lnInclude/ListI.H:97: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)
^
/home/joe/foam/foam-extend-3.1/src/foam/lnInclude/ListI.H:97:13: note: no known conversion for argument 1 from ‘const int’ to ‘const Foam::UList<int>&’
/home/joe/foam/foam-extend-3.1/src/foam/lnInclude/ListI.H:118: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)
^
/home/joe/foam/foam-extend-3.1/src/foam/lnInclude/ListI.H:118:13: note: no known conversion for argument 1 from ‘const int’ to ‘const Foam::UIndirectList<int>&’
thermalPhaseChangeModels/MeshGraph/MeshGraph.C: In member function ‘void Foam::MeshGraph::GetDoubleInterfaceCells(Foam::lab elList&, const scalar&)’:
thermalPhaseChangeModels/MeshGraph/MeshGraph.C:190:30: error: no matching function for call to ‘Foam::List<int>::append(const int&)’
IntCells.append( *it );
^
In file included from /home/joe/foam/foam-extend-3.1/src/foam/lnInclude/List.H:264:0,
from /home/joe/foam/foam-extend-3.1/src/foam/lnInclude/labelList.H:36,
from /home/joe/foam/foam-extend-3.1/src/foam/lnInclude/Pstream.H:43,
from /home/joe/foam/foam-extend-3.1/src/foam/lnInclude/OPstream.H:35,
from /home/joe/foam/foam-extend-3.1/src/foam/lnInclude/parRun.H:35,
from /home/joe/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvCFD.H:4,
from thermalPhaseChangeModels/MeshGraph/MeshGraph.H:36,
from thermalPhaseChangeModels/MeshGraph/MeshGraph.C:33:
/home/joe/foam/foam-extend-3.1/src/foam/lnInclude/ListI.H:97: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)
^
/home/joe/foam/foam-extend-3.1/src/foam/lnInclude/ListI.H:97:13: note: no known conversion for argument 1 from ‘const int’ to ‘const Foam::UList<int>&’
/home/joe/foam/foam-extend-3.1/src/foam/lnInclude/ListI.H:118: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)
^
/home/joe/foam/foam-extend-3.1/src/foam/lnInclude/ListI.H:118:13: note: no known conversion for argument 1 from ‘const int’ to ‘const Foam::UIndirectList<int>&’
thermalPhaseChangeModels/thermalPhaseChangeModel/thermalPhaseChangeModel.dep:479: recipe for target 'Make/linux64GccDPOpt/thermalPhaseChangeModel.o' failed
make: *** [Make/linux64GccDPOpt/thermalPhaseChangeModel.o] Error 1
thermalPhaseChangeModels/thermalPhaseChangeModel/newThermalPhaseChangeModel.dep:479: recipe for target 'Make/linux64GccDPOpt/newThermalPhaseChangeModel.o' failed
make: *** [Make/linux64GccDPOpt/newThermalPhaseChangeModel.o] Error 1
thermalPhaseChangeModels/MeshGraph/MeshGraph.dep:605: recipe for target 'Make/linux64GccDPOpt/MeshGraph.o' failed
make: *** [Make/linux64GccDPOpt/MeshGraph.o] Error 1
jwm349 is offline   Reply With Quote

Old   April 21, 2018, 09:13
Default
  #3
New Member
 
HarrisonW's Avatar
 
Wells
Join Date: Mar 2016
Posts: 2
Rep Power: 0
HarrisonW is on a distinguished road
hi, Joe
is your problem solved?
__________________
Regards
Wells
HarrisonW is offline   Reply With Quote

Old   November 12, 2018, 09:37
Default
  #4
Senior Member
 
Daniel
Join Date: Mar 2013
Location: Noshahr, Iran
Posts: 348
Rep Power: 21
Daniel_Khazaei will become famous soon enough
Quote:
Originally Posted by jwm349 View Post
Good morning all,

My problem comes when I try to compile the solver; I get fatal errors when trying to locate the header files pimpleControl.H and fvIOoptionList.H

Joe
Hi, that's because foam-extend-3.1 doesn't have fvOption and pimpleControl headers...
You can probably back-port solutionControl from foam-extend-4.0 or simply upgrade to extend-4.0 which fix the problem with pimpleControl.H not being found...

However, fvOption is a different story and if you want to use it you need to back-port it from OpenFOAM-2.4 or simply removing the related part from the solver.

Also, foam-extend doesn't have "MUST_READ_IF_MODIFIED" option for IOobject so change it according to your need, e.g. MUST_READ!

You also face another error saying no match for ‘Foam::List<int>::append(const int&)’ which you need to define:

modify List.H from foam-extend source code as follow:
add the green part...

Code:
            //- Clear the list, i.e. set size to zero.
            void clear();

            //- Append an element at the end of the list
            inline void append(const T&);

            //- Append a List at the end of this list
            inline void append(const UList<T>&);
then define the method in ListI.H: add the green part

Code:
template<class T>
inline Foam::Xfer< Foam::List<T> > Foam::List<T>::xfer()
{
    return xferMove(*this);
}

template<class T>
inline void Foam::List<T>::append(const T& t)
{
    setSize(size()+1, t);
}

template<class T>
inline void Foam::List<T>::append(const UList<T>& lst)
{
    if (this == &lst)
    {
        FatalErrorIn
        (
            "List<T>::append(const UList<T>&)"
        )   << "attempted appending to self" << abort(FatalError);
    }

    label nextFree = this->size();
    setSize(nextFree + lst.size());

    forAll(lst, elemI)
    {
        this->operator[](nextFree++) = lst[elemI];
    }
}
now just recompile foam-extend by running ./Allwmake to update the libraries.

Another error simply says that you are overriding pure virtual method with different type:

change:

Code:
tmp<volScalarField> nu() const
to

Code:
virtual const volScalarField& nu() const
this was as far as I can suggest from the log file you have provided!

Regards,
Danial Khazaei
Daniel_Khazaei is offline   Reply With Quote

Reply

Tags
compile solver, foam extend 3.1, pimple, wmake error


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenFOAM 1.7.1 installation problem on OpenSUSE 11.3 flakid OpenFOAM Installation 16 December 28, 2010 08:48
Problems Installing OF 1.6 32 bit bucksfan OpenFOAM Installation 19 August 4, 2009 01:36
OpenFOAM15 installables are incomplete problem with paraFoam tryingof OpenFOAM Bugs 17 December 7, 2008 04:41
Problem of compilation OF 14Allwmake command not found erik_d OpenFOAM Bugs 13 September 13, 2008 21:45
[OpenFOAM] ParaFoam error message joey ParaView 1 October 2, 2006 13:28


All times are GMT -4. The time now is 20:16.