CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Installation (http://www.cfd-online.com/Forums/openfoam-installation/)
-   -   Are OSIG TurboMachinery libraries able to work under OpenFOAM-1.6-ext? (http://www.cfd-online.com/Forums/openfoam-installation/83584-osig-turbomachinery-libraries-able-work-under-openfoam-1-6-ext.html)

alkochevsky January 4, 2011 11:02

Are OSIG TurboMachinery libraries able to work under OpenFOAM-1.6-ext?
 
Hi dear OpenFOAMer,

I am trying to use the OSIG TurboMachinery libraries available from the link
https://openfoam-extend.svn.sourcefo...TurboMachinery

Is it possible to use it with the version OpenFOAM-1.6-ext,
available at http://openfoam-extend.git.sourceforge.net ?

If no, what is better: to use it with OpenFOAM-1.5-dev or
to get the version of OSIG TurboMachinery for
OpenFOAM-1.6-ext (if available)?

Is OpenFOAM-1.6-ext the next version of OpenFOAM-1.5-dev?

Sincerely,
Alexey Kochevsky

bastil January 5, 2011 03:54

Quote:

Originally Posted by alkochevsky;289226
Is it possible to use it with the version OpenFOAM-1.6-ext,
available at [URL
http://openfoam-extend.git.sourceforge.net[/URL] ?

I don't know. Simply try to compile it and you will see.

Quote:

Originally Posted by alkochevsky (Post 289226)
Is OpenFOAM-1.6-ext the next version of OpenFOAM-1.5-dev?

Yes.

alkochevsky January 5, 2011 10:00

error messages
 
Thank you very much.

I have tried to compile it under OpenFOAM-1.6-ext, and have got 2 error messages:

1.
Code:

finiteVolume/cfdTools/general/SRFZones/SRFZone.C: In Elementfunktion »void Foam::SRFZone::addCoriolis(Foam::fvVectorMatrix&) const«:
finiteVolume/cfdTools/general/SRFZones/SRFZone.C:97:19: Fehler: Abfrage des Elementes »db« ist mehrdeutig
/home/oko/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/IOobject.H:236:35: Fehler: Kandidaten sind: const Foam::objectRegistry& Foam::IOobject::db() const
/home/oko/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/IOobject.H:236:35: Fehler:                  const Foam::objectRegistry& Foam::IOobject::db() const
/home/oko/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/IOobject.H:236:35: Fehler:                  const Foam::objectRegistry& Foam::IOobject::db() const
finiteVolume/cfdTools/general/SRFZones/SRFZone.C:97:51: Fehler: expected primary-expression before »>« token

I.e., ambiguous definition of »db« element

2.
Quote:

In file included from forces/forces.C:27:0:
forces/forces.H:49:26: schwerwiegender Fehler: labelHashSet.H: Datei oder Verzeichnis nicht gefunden
I.e., the file labelHashSet.H is not found

Do you have some ideas why these errors happen?
Concerning the first of them, can the reason be the compiler which I use?
(I use gcc 4.5.0 and work under SUSE Linux 11.3).

Concerning the second error, the file labelHashSet.H is available in version OpenFOAM-1.5-dev in the folder
$FOAM_INST_DIR/OpenFOAM-1.5-dev/src/OpenFOAM/containers/HashTables/labelHashSet
In the version OpenFOAM-1.6-ext (which I have got from http://openfoam-extend.git.sourceforge.net) it is not available. Was it omitted purposefully?

Regards,
Alexey

elvis January 16, 2011 09:57

Hi,

if you take a look
~/OpenFOAM/OpenFOAM-1.6-ext/testHarness/OSIG/Turbomachinery$
you will realize that it is intended to run the examples

if you work with Oliver Borm's 1.6-ext Binaries the path will be different

boger January 17, 2011 08:20

Alexey,

Did you try the version at https://openfoam-extend.svn.sourcefo...TurboMachinery (i.e. in Breeder_1.6)?

I think it should compile with OpenFOAM/1.6-ext without changes.

alkochevsky January 17, 2011 11:07

Dear Elvis and David, thank you for your assistance.

To Elvis: oh, really, I did not see it before. I have tried to run it now, however, have got a lot of errors, maybe have omitted something. Meanwhile, I have succeeded to compile the OSIG TurboMachinery (Breeder_1.5) libraries with the previous version (OpenFOAM-1.5-dev) and will proceed over there.

To David: yes, I have compiled the version in Breeder_1.6 under OpenFOAM-1.6-ext successfully. However, it contains only the OpenFoamTurbo library and does not contain, in particular, the turboPerformance library that is available in Breeder_1.5.

Regards,
Alexey

boger January 17, 2011 11:19

1 Attachment(s)
I made the attached modifications to compile the turboPerformance library.

alkochevsky January 17, 2011 12:32

Hi David, I have just applied your modifications, now the turboPerformance library is successfully compiled! Thank you very much!

linnemann January 19, 2011 00:53

Just to let you know I also got this working with the above patch.

I although had to change

#include "labelHashSet.H"

to

#include "HashSet.H"

in fluidPower/fluidPower.H
and forces/forces.H

Thx for the patch though.

claco February 16, 2011 03:13

Quote:

Originally Posted by boger (Post 290801)
I made the attached modifications to compile the turboPerformance library.


Dear Sir,


I have a problem regarding installation of Single_Channel_Pump example on OF 1.6-ext (correctly installed).

I have followed the tips given in http://openfoamwiki.net/index.php/Si...e_Channel_Pump.

Here there is the log.MRFSimpleFoam file:

/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 1.6-ext-1f09367282cf
Exec : MRFSimpleFoam
Date : Feb 15 2011
Time : 19:38:36
Host : claudio-laptop
PID : 26429
Case : /root/OpenFOAM/OpenFOAM-1.6-ext/singleChannelPump/Pump
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0


From function void polyMesh::initMesh()
in file meshes/polyMesh/polyMeshInitMesh.C at line 82
Truncating neighbour list at 1333188 for backward compatibility
// using new solver syntax:
p
{
solver GAMG;
tolerance 1e-06;
relTol 0.001;
smoother DIC;
nPreSweeps 0;
nPostSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 800;
agglomerator faceAreaPair;
mergeLevels 1;
maxIter 30;
}

// using new solver syntax:
U
{
solver PBiCG;
preconditioner
{
type DILU;
}
smoother
{
type DILU;
}
minIter 1;
maxIter 4;
tolerance 1e-07;
relTol 0;
}

// using new solver syntax:
k
{
solver PBiCG;
preconditioner
{
type DILU;
}
smoother
{
type DILU;
}
minIter 1;
maxIter 3;
tolerance 1e-07;
relTol 0;
}

// using new solver syntax:
epsilon
{
solver PBiCG;
preconditioner
{
type DILU;
}
smoother
{
type DILU;
}
minIter 1;
maxIter 3;
tolerance 1e-07;
relTol 0;
}

// using new solver syntax:
omega
{
solver PBiCG;
preconditioner
{
type DILU;
}
smoother
{
type DILU;
}
minIter 1;
maxIter 3;
tolerance 1e-07;
relTol 0;
}

Reading field p

Reading field U

Reading/calculating face flux field phi

Initializing the GGI interpolator between master/shadow patches: insideGGI/outsideGGI
Selecting incompressible transport model Newtonian
Selecting RAS turbulence model kOmegaSST
--> Upgrading k to employ run-time selectable wall functions
Backup original k to k.old
Writing updated k
--> Upgrading omega to employ run-time selectable wall functions
Backup original omega to omega.old
Writing updated omega
--> Creating nut to employ run-time selectable wall functions
Writing new nut
kOmegaSSTCoeffs
{
alphaK1 0.85034;
alphaK2 1;
alphaOmega1 0.5;
alphaOmega2 0.85616;
gamma1 0.5532;
gamma2 0.4403;
beta1 0.075;
beta2 0.0828;
betaStar 0.09;
a1 0.31;
c1 10;
Cmu 0.09;
}


Starting time loop



--> FOAM FATAL ERROR:
Unknown function type ggiCheck

Valid functions are :

3
(
surfaces
sets
probes
)



From function functionObject::New(const word& name, const Time&, const dictionary&)
in file db/functionObjects/functionObject/functionObject.C at line 89.

FOAM exiting



However, the libsampling.so, containing the ggiCheck function exists (the OF 1.6-ext is correctly installed).



Moreover, I cannot compile the transientSimpleDyMFoam solver.

Here are the errors:

root@claudio-laptop:~/OpenFOAM/OpenFOAM-1.6-ext/transientSimpleDyMFoam# transientSimpleDyMFoam.C:43:46: error: incompressible/RASModel/RASModel.H: No such file or directory
transientSimpleDyMFoam.C:44:27: error: dynamicFvMesh.H: No such file or directory
transientSimpleDyMFoam.C:52:36: error: createDynamicFvMesh.H: No such file or directory
In file included from transientSimpleDyMFoam.C:54:
createFields.H: In function ‘int main(int, char**)’:
createFields.H:8: error: ‘mesh’ was not declared in this scope
In file included from transientSimpleDyMFoam.C:54:
createFields.H:54: error: ‘incompressible’ was not declared in this scope
createFields.H:54: error: template argument 1 is invalid
createFields.H:55: error: invalid type in declaration before ‘(’ token
createFields.H:56: error: ‘incompressible’ is not a class or namespace
In file included from transientSimpleDyMFoam.C:100:
UEqn.H:5: error: base operand of ‘->’ is not a pointer
transientSimpleDyMFoam.C:148: error: base operand of ‘->’ is not a pointer
/root/OpenFOAM/OpenFOAM-1.6-ext/src/finiteVolume/lnInclude/readPISOControls.H:3: warning: unused variable ‘nCorr’
/root/OpenFOAM/OpenFOAM-1.6-ext/src/finiteVolume/lnInclude/readPISOControls.H:8: warning: unused variable ‘momentumPredictor’
/root/OpenFOAM/OpenFOAM-1.6-ext/src/finiteVolume/lnInclude/readPISOControls.H:11: warning: unused variable ‘transonic’
make: *** [Make/linux64GccDPOpt/transientSimpleDyMFoam.o] Error 1

Actually, dynamicFvMesh.H and the other files are contained in 1.6-ext version.


So, can You please help me to correctly install this tutorial?

(I saw it is mentioned in the testHarness, but I cannot understand and run the latter).


Yours sincerely.


Claudio Comis

Skrifvars February 22, 2011 05:19

Hi Claudio,
have you done the changes to transientSimpleDyMFoam for instance:
in createFields.H change the following

singlePhaseTransportModel laminarTransport(U, phi);

autoPtr<incompressible::RASModel> turbulence
(
incompressible::RASModel::New(U, phi, laminarTransport)
);
to

singlePhaseTransportModel laminarTransport(U, phi);

autoPtr<incompressible::turbulenceModel> turbulence
(
incompressible::turbulenceModel::New(U, phi, laminarTransport)
);

I have problems with the functionObjects like you, only 3 available, anybody has solved this ?

claco February 24, 2011 07:52

Quote:

Originally Posted by boger (Post 290801)
I made the attached modifications to compile the turboPerformance library.

Dear Mr. Boger,


I have some troubles regarding installation of Single_Channel_Pump example on OF 1.6-ext (correctly installed).

I have followed the tips given in http://openfoamwiki.net/index.php/Si...e_Channel_Pump. However these tips are expressly given for 1.5 release.

Here there is the log.MRFSimpleFoam file:

/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 1.6-ext-1f09367282cf
Exec : MRFSimpleFoam
Date : Feb 15 2011
Time : 19:38:36
Host : claudio-laptop
PID : 26429
Case : /root/OpenFOAM/OpenFOAM-1.6-ext/singleChannelPump/Pump
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0


From function void polyMesh::initMesh()
in file meshes/polyMesh/polyMeshInitMesh.C at line 82
Truncating neighbour list at 1333188 for backward compatibility
// using new solver syntax:
p
{
solver GAMG;
tolerance 1e-06;
relTol 0.001;
smoother DIC;
nPreSweeps 0;
nPostSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 800;
agglomerator faceAreaPair;
mergeLevels 1;
maxIter 30;
}

// using new solver syntax:
U
{
solver PBiCG;
preconditioner
{
type DILU;
}
smoother
{
type DILU;
}
minIter 1;
maxIter 4;
tolerance 1e-07;
relTol 0;
}

// using new solver syntax:
k
{
solver PBiCG;
preconditioner
{
type DILU;
}
smoother
{
type DILU;
}
minIter 1;
maxIter 3;
tolerance 1e-07;
relTol 0;
}

// using new solver syntax:
epsilon
{
solver PBiCG;
preconditioner
{
type DILU;
}
smoother
{
type DILU;
}
minIter 1;
maxIter 3;
tolerance 1e-07;
relTol 0;
}

// using new solver syntax:
omega
{
solver PBiCG;
preconditioner
{
type DILU;
}
smoother
{
type DILU;
}
minIter 1;
maxIter 3;
tolerance 1e-07;
relTol 0;
}

Reading field p

Reading field U

Reading/calculating face flux field phi

Initializing the GGI interpolator between master/shadow patches: insideGGI/outsideGGI
Selecting incompressible transport model Newtonian
Selecting RAS turbulence model kOmegaSST
--> Upgrading k to employ run-time selectable wall functions
Backup original k to k.old
Writing updated k
--> Upgrading omega to employ run-time selectable wall functions
Backup original omega to omega.old
Writing updated omega
--> Creating nut to employ run-time selectable wall functions
Writing new nut
kOmegaSSTCoeffs
{
alphaK1 0.85034;
alphaK2 1;
alphaOmega1 0.5;
alphaOmega2 0.85616;
gamma1 0.5532;
gamma2 0.4403;
beta1 0.075;
beta2 0.0828;
betaStar 0.09;
a1 0.31;
c1 10;
Cmu 0.09;
}


Starting time loop



--> FOAM FATAL ERROR:
Unknown function type ggiCheck

Valid functions are :

3
(
surfaces
sets
probes
)



From function functionObject::New(const word& name, const Time&, const dictionary&)
in file db/functionObjects/functionObject/functionObject.C at line 89.

FOAM exiting



However, the libsampling.so, containing the ggiCheck function exists (the OF 1.6-ext is correctly installed).



Moreover, I cannot compile the transientSimpleDyMFoam solver.

Here are the errors:

root@claudio-laptop:~/OpenFOAM/OpenFOAM-1.6-ext/transientSimpleDyMFoam# transientSimpleDyMFoam.C:43:46: error: incompressible/RASModel/RASModel.H: No such file or directory
transientSimpleDyMFoam.C:44:27: error: dynamicFvMesh.H: No such file or directory
transientSimpleDyMFoam.C:52:36: error: createDynamicFvMesh.H: No such file or directory
In file included from transientSimpleDyMFoam.C:54:
createFields.H: In function ‘int main(int, char**)’:
createFields.H:8: error: ‘mesh’ was not declared in this scope
In file included from transientSimpleDyMFoam.C:54:
createFields.H:54: error: ‘incompressible’ was not declared in this scope
createFields.H:54: error: template argument 1 is invalid
createFields.H:55: error: invalid type in declaration before ‘(’ token
createFields.H:56: error: ‘incompressible’ is not a class or namespace
In file included from transientSimpleDyMFoam.C:100:
UEqn.H:5: error: base operand of ‘->’ is not a pointer
transientSimpleDyMFoam.C:148: error: base operand of ‘->’ is not a pointer
/root/OpenFOAM/OpenFOAM-1.6-ext/src/finiteVolume/lnInclude/readPISOControls.H:3: warning: unused variable ‘nCorr’
/root/OpenFOAM/OpenFOAM-1.6-ext/src/finiteVolume/lnInclude/readPISOControls.H:8: warning: unused variable ‘momentumPredictor’
/root/OpenFOAM/OpenFOAM-1.6-ext/src/finiteVolume/lnInclude/readPISOControls.H:11: warning: unused variable ‘transonic’
make: *** [Make/linux64GccDPOpt/transientSimpleDyMFoam.o] Error 1

Actually, dynamicFvMesh.H and the other files are contained in 1.6-ext version.


So, can You please help me to correctly install this tutorial?

(I saw it is mentioned in the testHarness, but I cannot understand and run the latter).


Yours sincerely.


Claudio Comis

boger February 24, 2011 09:06

1 Attachment(s)
You simply need to look for the header files that the compiler is complaining about in 1.6-ext; e.g.
Code:

find $FOAM_SRC -name 'dynamicFvMesh.H'
then edit Make/options and in some cases transientSimpleDyMFoam.C to point the compiler to the new location.

I've attached the patch with the changes I identified in this way.

boger February 24, 2011 09:16

Likewise, if you search for ggiCheck in the 1.6-ext directory, you will find it is in OpenFOAM-1.6-ext/src/postProcessing/functionObjects/check. Look there in Make/files and you will see the name of the library where it is stored is libcheckFunctionObjects.so, so change libsampling.so to libcheckFunctionObjects.so in system/controlDict.

claco February 25, 2011 06:43

Quote:

Originally Posted by boger (Post 290801)
I made the attached modifications to compile the turboPerformance library.

Dear Mr. Boger,

I succeeded in compiling transientSimpleDyMFoam.

However a problem remains: I cannot understand how to use the svn.diff.txt in order to make the turboPerformance library available also on 1.6-ext release.

Thank You in advance.


Claudio

boger February 25, 2011 09:01

If all else fails, just open the file and make the changes you see. Lines beginning with - are lines to be removed; lines beginning with + are lines that need to be added (often in place of the ones that were just removed).

claco February 25, 2011 12:44

Quote:

Originally Posted by boger (Post 296977)
If all else fails, just open the file and make the changes you see. Lines beginning with - are lines to be removed; lines beginning with + are lines that need to be added (often in place of the ones that were just removed).


Dear Mr. Boger,

I applied the changes described in svn.diff.txt.

After that, I recompiled the library through "wmake libso turboPerformance".

Now this message appears:

In file included from forces/forces.C:27:
,
fro :
error: forces.H:49:26: labelHalabelHashSet.H: No such file or di
ectory
In file included from forces/forcesFunctionObject.H:40,
from forces/forcesFunctionObject.C:27:
forces/forces.H:127: error: ‘labelHashSet’ does not name a type
In file included from forces/forces.C:27:
forces/forces.H:127: error: ‘labelHashSet’ does not name a type
make: *** [Make/linux64GccDPOpt/forcesFunctionObject.o] Error 1
make: *** Waiting for unfinished jobs....
forces/forces.C: In constructor ‘Foam::forces::forces(const Foam::word&, const Foam::objectRegistry&, const Foam::dictionary&, bool)’:
forces/forces.C:154: error: class ‘Foam::forces’ does not have any field named ‘patchSet_’
forces/forces.C: In member function ‘virtual void Foam::forces::read(const Foam::dictionary&)’:
forces/forces.C:192: error: ‘patchSet_’ was not declared in this scope
forces/forces.C: In member function ‘virtual Foam::Tuple2<Foam::Tuple2<Foam::Vector<double>, Foam::Vector<double> >, Foam::Tuple2<Foam::Vector<double>, Foam::Vector<double> > > Foam::forces::calcForcesMoment() const’:
forces/forces.C:329: error: ‘patchSet_’ was not declared in this scope
make: *** [Make/linux64GccDPOpt/forces.o] Error 1

What can be it due to?


Thank You in advance.

Best,

Claudio

boger February 25, 2011 12:47

It's due to the fact that labelHashSet.H was removed between 1.5-dev and 1.6-ext. I copied it from 1.5-dev into the forces/ directory and forgot to mention that. Don't know if there's a better solution.

claco February 28, 2011 04:31

Thank You Mr. Boger.

After these changes, the following errors occur:

################################################## ####################
In file included from turboPerformance/turboPerformance.H:43,
from turboPerformance/turboPerformance.C:27:
lnInclude/forces.H:49:26: error: labelHashSet.H: No such file or directory
In file included from turboPerformance/turboPerformance.H:43,
from turboPerformance/turboPerformanceFunctionObject.H:40,
from turboPerformance/turboPerformanceFunctionObject.C:27:
lnInclude/forces.H:49:26: error: labelHashSet.H: No such file or directory
In file included from turboPerformance/turboPerformance.H:43,
from turboPerformance/turboPerformance.C:27:
lnInclude/forces.H:127: error: ‘labelHashSet’ does not name a type
In file included from turboPerformance/turboPerformance.H:44,
from turboPerformance/turboPerformance.C:27:
lnInclude/fluidPower.H:127: error: ‘labelHashSet’ does not name a type
lnInclude/fluidPower.H:130: error: ‘labelHashSet’ does not name a type
In file included from turboPerformance/turboPerformance.H:43,
from turboPerformance/turboPerformanceFunctionObject.H:40,
from turboPerformance/turboPerformanceFunctionObject.C:27:
lnInclude/forces.H:127: error: ‘labelHashSet’ does not name a type
In file included from turboPerformance/turboPerformance.H:44,
from turboPerformance/turboPerformanceFunctionObject.H:40,
from turboPerformance/turboPerformanceFunctionObject.C:27:
lnInclude/fluidPower.H:127: error: ‘labelHashSet’ does not name a type
lnInclude/fluidPower.H:130: error: ‘labelHashSet’ does not name a type
make: *** [Make/linux64GccDPOpt/turboPerformance.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Make/linux64GccDPOpt/turboPerformanceFunctionObject.o] Error 1
################################################## #######################


Moreover, when i compiled MRFSimpleFoam solver under tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam directory, this error appears:

/usr/bin/ld: warning: libparMetisDecomp.so, needed by /root/OpenFOAM/OpenFOAM-1.6-ext/lib/linux64GccDPOpt/libdecompositionMethods.so, not found (try using -rpath or -rpath-link)

A similar error obviously appear when I run the solver for the singleChannelPump tutorial.

This library is present under ./lib/linux64GccDPOpt/openmpi-1.4.3/libparMetisDecomp.so.

I have installed correctly the ThirdParty tools (It took me 3 hours...).

So how can I face up this problem?


Thank You.


Best regards.


Claudio Comis

claco February 28, 2011 10:09

Dear Mr. Boger,

I finally succeeded in overcoming the troubles.

Thank You.

Claudio


All times are GMT -4. The time now is 09:49.