|
[Sponsors] |
[FSI] Having trouble installing FSI_4.0 on foam-extend 4.1 and Ubuntu 16.04 |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 14, 2018, 17:15 |
Having trouble installing FSI_4.0 on foam-extend 4.1 and Ubuntu 16.04
|
#1 |
New Member
Ali
Join Date: Jun 2018
Posts: 5
Rep Power: 8 |
Hi all,
I successfully installed foam-extend 4.1 but I got errors when I try to install FSI 4.0 and I get the following errors: Code:
lidSolvers/solidModels/constitutiveModel/plasticityStressReturnMethods/kirchhoffMises/kirchhoffMises.C:1675:36: error: ‘const class Foam::processorPolyPatch’ has no member named ‘owner’ if (!procPatch.owner()) ^ make: *** [Make/linux64GccDPOpt/kirchhoffMises.o] Error 1 make: *** Waiting for unfinished jobs.... + wmake solvers/fsiFoam Making dependency list for source file fsiFoam.C /usr/bin/ld: cannot find -lfluidSolidInteraction collect2: error: ld returned 1 exit status make: *** [/home/ali1/foam/ali1-4.1/applications/bin/linux64GccDPOpt/fsiFoam] Error 1 + wmake solvers/ampFsiFoam Making dependency list for source file ampFsiFoam.C /usr/bin/ld: cannot find -lfluidSolidInteraction collect2: error: ld returned 1 exit status make: *** [/home/ali1/foam/ali1-4.1/applications/bin/linux64GccDPOpt/ampFsiFoam] Error 1 + wmake solvers/weakFsiFoam Making dependency list for source file weakFsiFoam.C /usr/bin/ld: cannot find -lfluidSolidInteraction collect2: error: ld returned 1 exit status make: *** [/home/ali1/foam/ali1-4.1/applications/bin/linux64GccDPOpt/weakFsiFoam] Error 1 + wmake solvers/fluidFoam Making dependency list for source file fluidFoam.C /usr/bin/ld: cannot find -lfluidSolidInteraction collect2: error: ld returned 1 exit status make: *** [/home/ali1/foam/ali1-4.1/applications/bin/linux64GccDPOpt/fluidFoam] Error 1 + wmake solvers/solidFoam Making dependency list for source file solidFoam.C /usr/bin/ld: cannot find -lfluidSolidInteraction collect2: error: ld returned 1 exit status make: *** [/home/ali1/foam/ali1-4.1/applications/bin/linux64GccDPOpt/solidFoam] Error 1 + wmake solvers/thermalSolidFoam Making dependency list for source file thermalSolidFoam.C /usr/bin/ld: cannot find -lfluidSolidInteraction collect2: error: ld returned 1 exit status make: *** [/home/ali1/foam/ali1-4.1/applications/bin/linux64GccDPOpt/thermalSolidFoam] Error 1 + wmake libso utilities/functionObjects/pointHistory Making dependency list for source file pointHistory.C In file included from /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/token.H:49:0, from /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/runTimeSelectionTables.H:38, from /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:43, from pointHistory.H:41, from pointHistory.C:29: /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H: In instantiation of ‘static Foam::autoPtr<Foam::functionObject> Foam::functionObject::adddictionaryConstructorToTable<functionObjectType>::New(const Foam::word&, const Foam::Time&, const Foam::dictionary&) [with functionObjectType = Foam::pointHistory]’: /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:87:9: required from ‘Foam::functionObject::adddictionaryConstructorToTable<functionObjectType>::adddictionaryConstructorToTable(const Foam::word&) [with functionObjectType = Foam::pointHistory]’ pointHistory.C:45:5: required from here /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/runTimeSelectionTables.H:73:66: error: invalid new-expression of abstract class type ‘Foam::pointHistory’ return autoPtr< baseType >(new baseType##Type parList); \ ^ /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:87:9: note: in expansion of macro ‘declareRunTimeSelectionTable’ declareRunTimeSelectionTable ^ In file included from pointHistory.C:29:0: pointHistory.H:55:7: note: because the following virtual functions are pure within ‘Foam::pointHistory’: class pointHistory ^ In file included from pointHistory.H:41:0, from pointHistory.C:29: /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:156:22: note: virtual bool Foam::functionObject::execute(bool) virtual bool execute(const bool forceWrite) = 0; ^ /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:172:22: note: virtual void Foam::functionObject::updateMesh(const Foam::mapPolyMesh&) virtual void updateMesh(const mapPolyMesh& mpm) = 0; ^ /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:175:22: note: virtual void Foam::functionObject::movePoints(const pointField&) virtual void movePoints(const pointField& points) = 0; ^ make: *** [Make/linux64GccDPOpt/pointHistory.o] Error 1 + wmake libso utilities/functionObjects/patchAvgTractionHistory Making dependency list for source file patchAvgTractionHistory.C In file included from /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/token.H:49:0, from /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/runTimeSelectionTables.H:38, from /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:43, from patchAvgTractionHistory.H:41, from patchAvgTractionHistory.C:29: /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H: In instantiation of ‘static Foam::autoPtr<Foam::functionObject> Foam::functionObject::adddictionaryConstructorToTable<functionObjectType>::New(const Foam::word&, const Foam::Time&, const Foam::dictionary&) [with functionObjectType = Foam::patchAvgTractionHistory]’: /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:87:9: required from ‘Foam::functionObject::adddictionaryConstructorToTable<functionObjectType>::adddictionaryConstructorToTable(const Foam::word&) [with functionObjectType = Foam::patchAvgTractionHistory]’ patchAvgTractionHistory.C:42:5: required from here /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/runTimeSelectionTables.H:73:66: error: invalid new-expression of abstract class type ‘Foam::patchAvgTractionHistory’ return autoPtr< baseType >(new baseType##Type parList); \ ^ /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:87:9: note: in expansion of macro ‘declareRunTimeSelectionTable’ declareRunTimeSelectionTable ^ In file included from patchAvgTractionHistory.C:29:0: patchAvgTractionHistory.H:55:7: note: because the following virtual functions are pure within ‘Foam::patchAvgTractionHistory’: class patchAvgTractionHistory ^ In file included from patchAvgTractionHistory.H:41:0, from patchAvgTractionHistory.C:29: /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:156:22: note: virtual bool Foam::functionObject::execute(bool) virtual bool execute(const bool forceWrite) = 0; ^ /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:172:22: note: virtual void Foam::functionObject::updateMesh(const Foam::mapPolyMesh&) virtual void updateMesh(const mapPolyMesh& mpm) = 0; ^ /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:175:22: note: virtual void Foam::functionObject::movePoints(const pointField&) virtual void movePoints(const pointField& points) = 0; ^ make: *** [Make/linux64GccDPOpt/patchAvgTractionHistory.o] Error 1 + wmake libso utilities/functionObjects/centrifugalBodyForce Making dependency list for source file centrifugalBodyForce.C In file included from centrifugalBodyForce.C:29:0: centrifugalBodyForce.H:71:9: error: ‘dimensionedVector’ does not name a type dimensionedVector angularVelocity_; ^ centrifugalBodyForce.C: In member function ‘bool Foam::centrifugalBodyForce::setBodyForce()’: centrifugalBodyForce.C:67:19: error: ‘angularVelocity_’ was not declared in this scope bodyForce = -(angularVelocity_^(angularVelocity_^mesh.C())); ^ centrifugalBodyForce.C: In constructor ‘Foam::centrifugalBodyForce::centrifugalBodyForce(const Foam::word&, const Foam::Time&, const Foam::dictionary&)’: centrifugalBodyForce.C:85:5: error: class ‘Foam::centrifugalBodyForce’ does not have any field named ‘angularVelocity_’ angularVelocity_(dict.lookup("angularVelocity")) ^ In file included from /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/token.H:49:0, from /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/runTimeSelectionTables.H:38, from /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:43, from centrifugalBodyForce.H:41, from centrifugalBodyForce.C:29: /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H: In instantiation of ‘static Foam::autoPtr<Foam::functionObject> Foam::functionObject::adddictionaryConstructorToTable<functionObjectType>::New(const Foam::word&, const Foam::Time&, const Foam::dictionary&) [with functionObjectType = Foam::centrifugalBodyForce]’: /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:87:9: required from ‘Foam::functionObject::adddictionaryConstructorToTable<functionObjectType>::adddictionaryConstructorToTable(const Foam::word&) [with functionObjectType = Foam::centrifugalBodyForce]’ centrifugalBodyForce.C:45:5: required from here /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/runTimeSelectionTables.H:73:66: error: invalid new-expression of abstract class type ‘Foam::centrifugalBodyForce’ return autoPtr< baseType >(new baseType##Type parList); \ ^ /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:87:9: note: in expansion of macro ‘declareRunTimeSelectionTable’ declareRunTimeSelectionTable ^ In file included from centrifugalBodyForce.C:29:0: centrifugalBodyForce.H:55:7: note: because the following virtual functions are pure within ‘Foam::centrifugalBodyForce’: class centrifugalBodyForce ^ In file included from centrifugalBodyForce.H:41:0, from centrifugalBodyForce.C:29: /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:156:22: note: virtual bool Foam::functionObject::execute(bool) virtual bool execute(const bool forceWrite) = 0; ^ /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:172:22: note: virtual void Foam::functionObject::updateMesh(const Foam::mapPolyMesh&) virtual void updateMesh(const mapPolyMesh& mpm) = 0; ^ /home/ali1/foam/foam-extend-4.1/src/foam/lnInclude/functionObject.H:175:22: note: virtual void Foam::functionObject::movePoints(const pointField&) virtual void movePoints(const pointField& points) = 0; ^ make: *** [Make/linux64GccDPOpt/centrifugalBodyForce.o] Error 1 Thanks, Ali Last edited by wyldckat; December 16, 2018 at 14:48. Reason: Added [CODE][/CODE] markers |
|
December 14, 2018, 19:50 |
|
#2 |
Senior Member
Daniel
Join Date: Mar 2013
Location: Noshahr, Iran
Posts: 348
Rep Power: 21 |
in foam-extend 4.1, the owner() function has been renamed to master()!
so, change owner() to master() anywhere that compiler complains by saying "has no member..." regarding function objects not getting compiled, new changes in foam-extend 4.1 require you to define "updateMesh(const mapPolyMesh&)" and "movePoints(const pointField&)" in every class derived from functionObject class as they are pure virtual methods. Also the definition of "execute()" has changed to "execute(const bool forceWrite)". I have modified pointHistory.H as an example for you: 1) centrifugalBodyForce.H 2) patchAvgTractionHistory.H 3) pointHistory.H Code:
class pointHistory : public functionObject { // Private data //- Name const word name_; //- Reference to main object registry const Time& time_; //- Region name word regionName_; //- History point ID label historyPointID_; //- History point vector refHistoryPoint_; //- Write velocity bool writeVelocity_; //- Processor of history point label processor_; //- Forces/moment file ptr autoPtr<OFstream> historyFilePtr_; // Private Member Functions //- Write data bool writeData(); //- Disallow default bitwise copy construct pointHistory ( const pointHistory& ); //- Disallow default bitwise assignment void operator=(const pointHistory&); public: //- Runtime type information TypeName("pointHistory"); // Constructors //- Construct from components pointHistory ( const word& name, const Time&, const dictionary& ); // Member Functions //- start is called at the start of the time-loop virtual bool start(); //- execute is called at each ++ or += of the time-loop virtual bool execute(const bool forceWrite); //- Read and set the function object if its data has changed virtual bool read(const dictionary& dict); //- Update for changes of mesh virtual void updateMesh(const mapPolyMesh&) {} //- Update for mesh point-motion virtual void movePoints(const pointField&) {} }; Regards, D. Khazaei Last edited by Daniel_Khazaei; December 16, 2018 at 02:48. |
|
December 15, 2018, 16:56 |
|
#3 | |
New Member
Ali
Join Date: Jun 2018
Posts: 5
Rep Power: 8 |
Quote:
Thanks very much for your response. It fixed most of the errors that I was encountering during the installation. I also had to change neighbour() to slave() to fix some other errors. The error that I get now is: In file included from centrifugalBodyForce.C:29:0: centrifugalBodyForce.H:71:9: error: ‘dimensionedVector’ does not name a type dimensionedVector angularVelocity_; ^ centrifugalBodyForce.C: In member function ‘bool Foam::centrifugalBodyForce::setBodyForce()’: centrifugalBodyForce.C:67:19: error: ‘angularVelocity_’ was not declared in this scope bodyForce = -(angularVelocity_^(angularVelocity_^mesh.C())); ^ centrifugalBodyForce.C: In constructor ‘Foam::centrifugalBodyForce::centrifugalBodyForce( const Foam::word&, const Foam::Time&, const Foam::dictionary&)’: centrifugalBodyForce.C:85:5: error: class ‘Foam::centrifugalBodyForce’ does not have any field named ‘angularVelocity_’ angularVelocity_(dict.lookup("angularVelocity")) ^ centrifugalBodyForce.dep:858: recipe for target 'Make/linux64GccDPOpt/centrifugalBodyForce.o' failed make: *** [Make/linux64GccDPOpt/centrifugalBodyForce.o] Error 1 I'm not quite sure if I need to forward declare the class or this is caused by something else. I wanted to ask you if you have any idea about this. Kind regards, Ali |
||
December 15, 2018, 18:03 |
|
#4 |
Senior Member
Daniel
Join Date: Mar 2013
Location: Noshahr, Iran
Posts: 348
Rep Power: 21 |
I'm not sure whether slave() in foam-extend-4.1 has the same definition as neighbor() in foam-extend-4.0, because I haven't checked the definition yet!
But you can use the following which I'm sure has the same meaning as neighbour(), for example if the processor patch name is "procPatch", then use: Code:
!procPatch.master() for the last error, adding "dimensionedVector.H" header file to the centrifugalBodyForce.H should make the class aware of the dimensionedVector type it is using to define angularVelocity_ variable! check if this fix the error as I'm still using foam-extend-4.0 and I can't test it. Last edited by Daniel_Khazaei; December 16, 2018 at 02:49. |
|
December 16, 2018, 14:47 |
|
#5 |
New Member
Ali
Join Date: Jun 2018
Posts: 5
Rep Power: 8 |
Dear Daniel,
Just wanted to let you know that the changes that you suggested worked and I finally was able to install Foam FSI 4.0 on foam-extend 4.0: For future reference, here is the summary of the changes that are needed to be done for other friends who might face the same issues: 1- As Daniel mentioned, you need to change the definition of "execute()" to "execute(const bool forceWrite)" in the following files: 1) centrifugalBodyForce.H 2) patchAvgTractionHistory.H 3) pointHistory.H 2- You also need to add these definitions to the member functions of every class deriving from functionObject class (Check the example provided by Daniel in reply to my original post) //- Update for changes of mesh virtual void updateMesh(const mapPolyMesh&) {} //- Update for mesh point-motion virtual void movePoints(const pointField&) {} So just add this to: 1) centrifugalBodyForce.H 2) patchAvgTractionHistory.H 3) pointHistory.H 3- You would also need to change the definition of "execute()" to "execute(const bool forceWrite)" in the corresponding *.C files (centrifugalBodyForce.C, patchAvgTractionHistory.C and pointHistory.C) 4- ./Allwclean and ./Allwmake and you'll get errors saying that: solidSolvers/solidModels/constitutiveModel/plasticityStressReturnMethods/kirchhoffMises/kirchhoffMises.C:1675:36: error: ‘const class FoamrocessorPolyPatch’ has no member named ‘owner’ change "owner()" to "master()" in kirchhoffMises.C (only in the lines that you get the error!) 4- ./Allwclean and ./Allwmake and you will probably get a similar error saying that ‘const class FoamrocessorPolyPatch’ has no member named ‘neighbour’ change "neighbour()" to "slave()" in ULLSMaterialInterface.C wherever it complains about this error! 5- Add "dimensionedVector.H" header file to the "centrifugalBodyForce.H" ./Allwclean and ./Allwmake and you should be good to go! Also when running tutorials, you might wanna check this post as well (to resolve the errors): https://www.cfd-online.com/Forums/op...tutorials.html |
|
December 20, 2018, 12:16 |
|
#6 | |
New Member
behzad
Join Date: Dec 2010
Posts: 15
Rep Power: 15 |
Quote:
Still doesn't work. I get the following error: fluidSolvers/finiteVolume/RBFMeshMotionSolver/RBFMeshMotionSolver.C: In member function ‘virtual void Foam::RBFMeshMotionSolver::solve()’: fluidSolvers/finiteVolume/RBFMeshMotionSolver/RBFMeshMotionSolver.C:297:5: error: ‘vector’ is not a member of ‘std’ std::vector<unsigned int> movingControlPointLabelsVector; I dont even know why there is an instruction for installing different versions! non of them works! |
||
February 7, 2019, 12:59 |
|
#7 | |
New Member
CHAITHANYA SUGGALA
Join Date: Dec 2015
Location: Nagpur,India
Posts: 4
Blog Entries: 1
Rep Power: 10 |
Quote:
did you solve those errors? Please reply |
||
March 12, 2019, 18:09 |
|
#8 | |
New Member
RJ
Join Date: Mar 2019
Posts: 2
Rep Power: 0 |
Quote:
|
||
June 3, 2019, 05:51 |
|
#9 |
New Member
YangHongtao
Join Date: Jan 2018
Posts: 1
Rep Power: 0 |
||
August 8, 2019, 06:00 |
|
#10 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,091
Rep Power: 34 |
Hi all,
Another solution is to use solids4foam (PM me for access) which compiles with foam-extend-4.0 and foam-extend-4.1. Philip |
|
May 26, 2022, 04:53 |
|
#11 | |
New Member
李室庆
Join Date: May 2022
Posts: 2
Rep Power: 0 |
Quote:
I have followed your reminder to step 3 and the error in step 4 has not occured. However, there are 3 other errors, as shown in log.txt. (the file is in my next reply) Do you konw how to fix this? Please reply! |
||
May 26, 2022, 05:00 |
|
#12 | |
New Member
李室庆
Join Date: May 2022
Posts: 2
Rep Power: 0 |
Quote:
|
||
Tags |
compilation error, foam extend 4.1, fsi installation problem |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[OpenFOAM.org] I have trouble installing openfoam 5.0 on ubuntu 16.04 | haydii | OpenFOAM Installation | 5 | December 27, 2018 10:56 |
[waves2Foam] Difficulties installing with OpenFOAM 4.1 on Ubuntu 16.04 | Ben UWIHANGANYE | OpenFOAM Community Contributions | 4 | May 4, 2018 05:14 |
[foam-extend.org] Foam Extend 3.2 in ubuntu 16.04 LTS | JMosiezny | OpenFOAM Installation | 15 | December 9, 2017 08:20 |
[foam-extend.org] error installing foam extend 1.6 in ubuntu 12.04 | christos | OpenFOAM Installation | 1 | May 9, 2016 17:20 |
[swak4Foam] Basic Error when installing swak4foam with foam extend 3.0 | mnobrega | OpenFOAM Community Contributions | 6 | April 1, 2014 01:47 |