|
[Sponsors] |
March 19, 2008, 06:54 |
Hello,
We are pleased to an
|
#1 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
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 |
|
May 31, 2009, 11:55 |
|
#2 |
Senior Member
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19 |
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 |
|
May 31, 2009, 12:28 |
|
#3 |
Senior Member
Håkan Nilsson
Join Date: Mar 2009
Location: Gothenburg, Sweden
Posts: 205
Rep Power: 18 |
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. |
|
May 31, 2009, 12:38 |
|
#4 |
Senior Member
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19 |
Thanks Hakan, it works.
Fabian |
|
May 31, 2009, 15:09 |
|
#5 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
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 |
|
June 9, 2009, 16:32 |
|
#6 |
Senior Member
Håkan Nilsson
Join Date: Mar 2009
Location: Gothenburg, Sweden
Posts: 205
Rep Power: 18 |
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. |
|
January 27, 2016, 09:50 |
|
#7 |
New Member
pjohhn
Join Date: Jun 2014
Posts: 9
Rep Power: 12 |
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 |
|
January 27, 2016, 10:21 |
|
#8 |
New Member
pjohhn
Join Date: Jun 2014
Posts: 9
Rep Power: 12 |
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 Last edited by pjohhn; January 27, 2016 at 15:08. |
|
January 27, 2016, 15:06 |
|
#9 | |
New Member
pjohhn
Join Date: Jun 2014
Posts: 9
Rep Power: 12 |
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:
|
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Boundary condition for UDS | Tomik | FLUENT | 0 | December 5, 2006 18:37 |
Boundary condition of the third kind or Danckwertz boundary condition | plage | OpenFOAM Running, Solving & CFD | 4 | October 3, 2006 13:21 |
Slip Boundary Condition for Moving Boundary | Shukla | Main CFD Forum | 3 | November 11, 2005 16:02 |
UDF boundary condition | Jeff | FLUENT | 2 | November 20, 2003 18:15 |
Boundary Condition in LES | Zhang Tsiang | Main CFD Forum | 3 | February 5, 2002 21:15 |