CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   New boundary condition available (http://www.cfd-online.com/Forums/openfoam/60839-new-boundary-condition-available.html)

mbeaudoin March 19, 2008 06:54

Hello, We are pleased to an
 
Hello,

We are pleased to announce that the source code for a new boundary condition as been released on the openfoam-extend Subversion site on SourceForge.net.

The boundary condition profile1DfixedValue implements a cylindrical boundary condition field defined by a 1D fixed value profile (radial or vertical) for a typical RANS k-epsilon computation (eg. simpleFoam, turbFoam, etc). The profile data is read from a separate CSV (Comma Separated Value) file similar to files generated by Ansys CFX.

This boundary condition is available on openfoam-extend through a new library called OpenFoamTurbo.

That library will regroup many new developments made by the Turbomachinery Special Interest Group related to the application of OpenFOAM for TurboMachinery simulations.

The ERCOFTAC simulation case documented on the Wiki (namely Case0) is a good test case for playing with the new profile1DfixedValue BC.

The source code is documented extensively, and we plan to add some more documentation on the TurboWG section of the Wiki as we go.

See the following URL for more details:
http://openfoamwiki.net/index.php/Si...e_next_meeting

Here is the URL for downloading this new source code:

OpenFoamTurbo Library:
https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breede r/OSIG/TurboMachinery/src/OpenFoamTurbo

Enjoy.

Martin Beaudoin, Hydro-Quebec - IREQ
Maryse Page, Hydro-Quebec - IREQ
Robert Magnan, Hydro-Quebec - IREQ

braennstroem May 31, 2009 10:55

Hi Hydro-Quebec-Team,

I have some trouble to compile the library. I get this error for version 1.5.x and 1.5-dev:

finiteVolume/fields/fvPatchFields/derived/rotatingTotalTemperature/rotatingTotal
TemperatureFvPatchScalarField.C:114: error: ‘UName’ was not declared in this sco
pe
finiteVolume/fields/fvPatchFields/derived/rotatingTotalTemperature/rotatingTotal
TemperatureFvPatchScalarField.C:117: error: no matching function for call to ‘Fo
am::rotatingTotalTemperatureFvPatchScalarField::up dateCoeffs(Foam::vectorField&)

/home/gcae504/OpenFOAM/OpenFOAM-1.5-dev/src/finiteVolume/lnInclude/totalTemperat
ureFvPatchScalarField.H:176: note: candidates are: virtual void Foam::totalTempe
ratureFvPatchScalarField::updateCoeffs()
make: *** [Make/linux64GccDPOpt/rotatingTotalTemperatureFvPatchScalarField.o] Er
ror 1
make: *** Waiting for unfinished jobs....

Does anyone have a suggestion, what I am missing!?

Regards!
Fabian

hani May 31, 2009 11:28

Hi Fabian,

The files you are having problem with was posted by boroli (Borm Oliver), not the Hydro-Quebec-Team (see the author at http://openfoam-extend.svn.sourcefor...ields/derived/). If you only want to use the profile1DFixedValue boundary condition, please check out revision 1167 of that library, using the command:
svn co -r 1167 https://openfoam-extend.svn.sourcefo...OpenFoamTurbo/
This revision is the one just before boroli added some stuff. Revision 1167 works nicely for me, but for the latest revision I get the same error as you do.

Oliver Borm, can you please make sure that your added files work so that people don't run into problems when compiling libOpenFOAMTurbo? Otherwise we must revert the library to 1167.

Håkan.

braennstroem May 31, 2009 11:38

Thanks Hakan, it works.
Fabian

mbeaudoin May 31, 2009 14:09

Hello Fabian,

Basically, Oliver Borm's BCs source code is dependant on a modification that Hrv introduce for Oliver at revision 1233.

So currently, in order to get libOpenFOAMTurbo to compile correctly, you either need to upgrade your 1.5-dev installation to at least revision 1233, or you need to follow Håkan's instructions and move your OpenFOAMTurbo version down to revision 1167.

And obviously, you need to stay at revision 1167 for your OpenFOAMTurbo package if you you want to compile for 1.5.x.

We are currently discussing on the best ways to address and prevent this kind of problems.

We try our best to keep OpenFOAMTurbo compatible with both 1.5-dev and 1.5.x releases. We will make the necessary adjustments.

Thank you for your patience.

Martin

Quote:

Originally Posted by braennstroem (Post 217731)
Thanks Hakan, it works.
Fabian


hani June 9, 2009 15:32

Hi,

The compilation of the additional boundary conditions by Oliver Borm has temporarily been disabled so that people won't run into compilation problems with libOpenFOAMTurbo.

Håkan.

pjohhn January 27, 2016 09:50

Hello,

I have installed foam-extend 3.1 and openFoam 2.3.0 on ubuntu 14.4.

As I wanted to run ERCOFTAC centrifugal pump case, I tried to install OpenFoamTurbo library. As this library was not compiling with foam-extend 3.1 (because of wmake errors), i compiled with openFoam 2.3.0 and it worked. Now problem is how can I link libOpenFoamTurbo.so, as it is installed in OpenFoam 2.3.0 directory and not in foam-extend 3.1.

So can any one tell me either how can I associate the same file with foam-extend 3.1 or in which directory of foam-extend 3.1 I should copy this?

pjohhn

pjohhn January 27, 2016 10:21

Problem with foam-extend 3.1 is as follows

Code:

purvic@purvic-VirtualBox:~/foam/purvic-3.1/src/OpenFoamTurbo$ wmake libso
SOURCE=finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-200 -I/home/purvic/foam/foam-extend-3.1/src/finiteVolume/lnInclude -IlnInclude -I. -I/home/purvic/foam/foam-extend-3.1/src/foam/lnInclude -I/home/purvic/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/profile1DfixedValueFvPatchFields.o
In file included from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:252:0,
                from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.H:39,
                from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.C:36:
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.C: In member function ‘virtual void Foam::profile1DfixedValueFvPatchField<Type>::updateProfileValues()’:
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.C:456:43: warning: typedef ‘double_iterator’ locally defined but not used [-Wunused-local-typedefs]
    typedef std::vector<double>::iterator double_iterator;
                                          ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.C: In instantiation of ‘void Foam::profile1DfixedValueFvPatchField<Type>::updateProfileValues() [with Type = Foam::SymmTensor4thOrder<double>]’:
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.C:345:5:  required from ‘Foam::profile1DfixedValueFvPatchField<Type>::profile1DfixedValueFvPatchField(const Foam::fvPatch&, const Foam::DimensionedField<Type, Foam::volMesh>&, const Foam::dictionary&) [with Type = Foam::SymmTensor4thOrder<double>]’
/home/purvic/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:149:9:  required from ‘static Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::adddictionaryConstructorToTable<fvPatchFieldType>::New(const Foam::fvPatch&, const Foam::DimensionedField<Type, Foam::volMesh>&, const Foam::dictionary&) [with fvPatchFieldType = Foam::profile1DfixedValueFvPatchField<Foam::SymmTensor4thOrder<double> >; Type = Foam::SymmTensor4thOrder<double>]’
/home/purvic/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:149:9:  required from ‘Foam::fvPatchField<Type>::adddictionaryConstructorToTable<fvPatchFieldType>::adddictionaryConstructorToTable(const Foam::word&) [with fvPatchFieldType = Foam::profile1DfixedValueFvPatchField<Foam::SymmTensor4thOrder<double> >; Type = Foam::SymmTensor4thOrder<double>]’
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.C:47:1:  required from here
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.C:576:71: error: no matching function for call to ‘Foam::profile1DfixedValueFvPatchField<Foam::SymmTensor4thOrder<double> >::assignVector(Foam::SymmTensor4thOrder<double>&, Foam::vector&)’
                            assignVector(profile1DValue_[faceI], Vcart);
                                                                      ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.C:576:71: note: candidates are:
In file included from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.H:39:0,
                from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.C:36:
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:188:17: note: void Foam::profile1DfixedValueFvPatchField<Type>::assignVector(Foam::vector&, Foam::vector) [with Type = Foam::SymmTensor4thOrder<double>; Foam::vector = Foam::Vector<double>]
    inline void assignVector(vector          &v_dest,  const vector v) {v_dest  = v;}                   
                ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:188:17: note:  no known conversion for argument 1 from ‘Foam::SymmTensor4thOrder<double>’ to ‘Foam::vector& {aka Foam::Vector<double>&}’
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:189:17: note: void Foam::profile1DfixedValueFvPatchField<Type>::assignVector(Foam::scalar&, Foam::vector) [with Type = Foam::SymmTensor4thOrder<double>; Foam::scalar = double; Foam::vector = Foam::Vector<double>]
    inline void assignVector(scalar          &s_dest,  const vector v) {s_dest  = pTraits<Type>::zero;}  // Dummy function for velocity vector
                ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:189:17: note:  no known conversion for argument 1 from ‘Foam::SymmTensor4thOrder<double>’ to ‘Foam::scalar& {aka double&}’
In file included from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.H:39:0,
                from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.C:36:
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:190:17: note: void Foam::profile1DfixedValueFvPatchField<Type>::assignVector(Foam::tensor&, Foam::vector) [with Type = Foam::SymmTensor4thOrder<double>; Foam::tensor = Foam::Tensor<double>; Foam::vector = Foam::Vector<double>]
    inline void assignVector(tensor          &t_dest,  const vector v) {t_dest  = pTraits<Type>::zero;}  // Dummy function for velocity vector
                ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:190:17: note:  no known conversion for argument 1 from ‘Foam::SymmTensor4thOrder<double>’ to ‘Foam::tensor& {aka Foam::Tensor<double>&}’
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:191:17: note: void Foam::profile1DfixedValueFvPatchField<Type>::assignVector(Foam::sphericalTensor&, Foam::vector) [with Type = Foam::SymmTensor4thOrder<double>; Foam::sphericalTensor = Foam::SphericalTensor<double>; Foam::vector = Foam::Vector<double>]
    inline void assignVector(sphericalTensor &st_dest, const vector v) {st_dest = pTraits<Type>::zero;}  // Dummy function for velocity vector
                ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:191:17: note:  no known conversion for argument 1 from ‘Foam::SymmTensor4thOrder<double>’ to ‘Foam::sphericalTensor& {aka Foam::SphericalTensor<double>&}’
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:193:17: note: void Foam::profile1DfixedValueFvPatchField<Type>::assignVector(Foam::symmTensor&, Foam::vector) [with Type = Foam::SymmTensor4thOrder<double>; Foam::symmTensor = Foam::SymmTensor<double>; Foam::vector = Foam::Vector<double>]
    inline void assignVector(symmTensor &st_dest, const vector v) {st_dest = pTraits<Type>::zero;}  // Dummy function for velocity vector
                ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:193:17: note:  no known conversion for argument 1 from ‘Foam::SymmTensor4thOrder<double>’ to ‘Foam::symmTensor& {aka Foam::SymmTensor<double>&}’
In file included from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:252:0,
                from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.H:39,
                from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.C:36:
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.C: In instantiation of ‘void Foam::profile1DfixedValueFvPatchField<Type>::updateProfileValues() [with Type = Foam::DiagTensor<double>]’:
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.C:345:5:  required from ‘Foam::profile1DfixedValueFvPatchField<Type>::profile1DfixedValueFvPatchField(const Foam::fvPatch&, const Foam::DimensionedField<Type, Foam::volMesh>&, const Foam::dictionary&) [with Type = Foam::DiagTensor<double>]’
/home/purvic/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:149:9:  required from ‘static Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::adddictionaryConstructorToTable<fvPatchFieldType>::New(const Foam::fvPatch&, const Foam::DimensionedField<Type, Foam::volMesh>&, const Foam::dictionary&) [with fvPatchFieldType = Foam::profile1DfixedValueFvPatchField<Foam::DiagTensor<double> >; Type = Foam::DiagTensor<double>]’
/home/purvic/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:149:9:  required from ‘Foam::fvPatchField<Type>::adddictionaryConstructorToTable<fvPatchFieldType>::adddictionaryConstructorToTable(const Foam::word&) [with fvPatchFieldType = Foam::profile1DfixedValueFvPatchField<Foam::DiagTensor<double> >; Type = Foam::DiagTensor<double>]’
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.C:47:1:  required from here
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.C:576:71: error: no matching function for call to ‘Foam::profile1DfixedValueFvPatchField<Foam::DiagTensor<double> >::assignVector(Foam::DiagTensor<double>&, Foam::vector&)’
                            assignVector(profile1DValue_[faceI], Vcart);
                                                                      ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.C:576:71: note: candidates are:
In file included from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.H:39:0,
                from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.C:36:
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:188:17: note: void Foam::profile1DfixedValueFvPatchField<Type>::assignVector(Foam::vector&, Foam::vector) [with Type = Foam::DiagTensor<double>; Foam::vector = Foam::Vector<double>]
    inline void assignVector(vector          &v_dest,  const vector v) {v_dest  = v;}                   
                ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:188:17: note:  no known conversion for argument 1 from ‘Foam::DiagTensor<double>’ to ‘Foam::vector& {aka Foam::Vector<double>&}’
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:189:17: note: void Foam::profile1DfixedValueFvPatchField<Type>::assignVector(Foam::scalar&, Foam::vector) [with Type = Foam::DiagTensor<double>; Foam::scalar = double; Foam::vector = Foam::Vector<double>]
    inline void assignVector(scalar          &s_dest,  const vector v) {s_dest  = pTraits<Type>::zero;}  // Dummy function for velocity vector
                ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:189:17: note:  no known conversion for argument 1 from ‘Foam::DiagTensor<double>’ to ‘Foam::scalar& {aka double&}’
In file included from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.H:39:0,
                from finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchFields.C:36:
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:190:17: note: void Foam::profile1DfixedValueFvPatchField<Type>::assignVector(Foam::tensor&, Foam::vector) [with Type = Foam::DiagTensor<double>; Foam::tensor = Foam::Tensor<double>; Foam::vector = Foam::Vector<double>]
    inline void assignVector(tensor          &t_dest,  const vector v) {t_dest  = pTraits<Type>::zero;}  // Dummy function for velocity vector
                ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:190:17: note:  no known conversion for argument 1 from ‘Foam::DiagTensor<double>’ to ‘Foam::tensor& {aka Foam::Tensor<double>&}’
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:191:17: note: void Foam::profile1DfixedValueFvPatchField<Type>::assignVector(Foam::sphericalTensor&, Foam::vector) [with Type = Foam::DiagTensor<double>; Foam::sphericalTensor = Foam::SphericalTensor<double>; Foam::vector = Foam::Vector<double>]
    inline void assignVector(sphericalTensor &st_dest, const vector v) {st_dest = pTraits<Type>::zero;}  // Dummy function for velocity vector
                ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:191:17: note:  no known conversion for argument 1 from ‘Foam::DiagTensor<double>’ to ‘Foam::sphericalTensor& {aka Foam::SphericalTensor<double>&}’
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:193:17: note: void Foam::profile1DfixedValueFvPatchField<Type>::assignVector(Foam::symmTensor&, Foam::vector) [with Type = Foam::DiagTensor<double>; Foam::symmTensor = Foam::SymmTensor<double>; Foam::vector = Foam::Vector<double>]
    inline void assignVector(symmTensor &st_dest, const vector v) {st_dest = pTraits<Type>::zero;}  // Dummy function for velocity vector
                ^
finiteVolume/fields/fvPatchFields/derived/profile1DfixedValue/profile1DfixedValueFvPatchField.H:193:17: note:  no known conversion for argument 1 from ‘Foam::DiagTensor<double>’ to ‘Foam::symmTensor& {aka Foam::SymmTensor<double>&}’
make: *** [Make/linux64GccDPOpt/profile1DfixedValueFvPatchFields.o] Error 1


pjohhn January 27, 2016 15:06

I put libOpenFoamTurbo.so in $FOAM_USER_LIBBIN location as mentioned in http://openfoamwiki.net/index.php/Si..._OpenFoamTurbo.

However, when I try to run MRFSimpleFoam, I get the error as
Code:

--> FOAM FATAL IO ERROR:

    Cannot find 'value' entry on patch INLET of field U in file "/home/purvic/foam/purvic-3.1/run/ECPGgi2D/ECPGgi2D/0/U"
    which is required to set the values of the generic patch field.
    (Actual type profile1DfixedValue)

    Please add the 'value' entry to the write function of the user-defined boundary-condition
    or link the boundary-condition into libfoamUtil.so

Quote:

Originally Posted by pjohhn (Post 582638)
Hello,

I have installed foam-extend 3.1 and openFoam 2.3.0 on ubuntu 14.4.

As I wanted to run ERCOFTAC centrifugal pump case, I tried to install OpenFoamTurbo library. As this library was not compiling with foam-extend 3.1 (because of wmake errors), i compiled with openFoam 2.3.0 and it worked. Now problem is how can I link libOpenFoamTurbo.so, as it is installed in OpenFoam 2.3.0 directory and not in foam-extend 3.1.

So can any one tell me either how can I associate the same file with foam-extend 3.1 or in which directory of foam-extend 3.1 I should copy this?

pjohhn



All times are GMT -4. The time now is 17:00.