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

SimpleWindFoam TurbineSiting atmBoundaryLayerInletVelocity

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By jianggb

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 25, 2011, 11:06
Default SimpleWindFoam TurbineSiting atmBoundaryLayerInletVelocity
  #1
New Member
 
Jochem
Join Date: May 2010
Posts: 28
Rep Power: 15
Jochem is on a distinguished road
Hello,

I am trying to use the turbineSiting tutorial to simulate wind flows in city's. I've been reading a lot on this forum about this tutorial and the atmoshericBoundaryLayerInletVelocity. However I don't seem to succeed in adjusting the tutorial to my case.

I've been changing all parameters to my case and the meshing is not a problem. I am getting quite well results with the snappyHexMesh. If I then use SimpleFoam (I've read on the forum that you don't have to use simpleWindFoam if you don't have any turbines in your case), I get an error :

Create time

Create mesh for time = 0

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting RAS turbulence model kEpsilon
kEpsilonCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
C3 -0.33;
sigmak 1;
sigmaEps 1.11;
Prt 1;
}


Starting time loop

Time = 1

smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 0.048921619129, No Iterations 3
smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 0.0379697123169, No Iterations 2
smoothSolver: Solving for Uz, Initial residual = 0.999999999978, Final residual = 0.0301590067167, No Iterations 2
smoothSolver: Solving for p, Initial residual = 1, Final residual = 0.973538950195, No Iterations 300
smoothSolver: Solving for p, Initial residual = 0.369644226296, Final residual = 0.365816840222, No Iterations 300
time step continuity errors : sum local = 0.0402944057061, global = -1.52332950846e-06, cumulative = -1.52332950846e-06
smoothSolver: Solving for epsilon, Initial residual = 0.999999999779, Final residual = 0.0605020173719, No Iterations 4
smoothSolver: Solving for k, Initial residual = 0.999999998267, Final residual = 0.0636421123157, No Iterations 4
bounding k, min: 0 max: 10.2206631121 average: 6.03698473658
ExecutionTime = 150.11 s ClockTime = 150 s

Time = 2

smoothSolver: Solving for Ux, Initial residual = 0.523922716702, Final residual = 0.0348655168634, No Iterations 4
smoothSolver: Solving for Uy, Initial residual = 0.539626088908, Final residual = 0.0362048666305, No Iterations 4
smoothSolver: Solving for Uz, Initial residual = 0.479550397895, Final residual = 0.0306379571382, No Iterations 4
smoothSolver: Solving for p, Initial residual = 0.760211753981, Final residual = 0.637002209255, No Iterations 300
smoothSolver: Solving for p, Initial residual = 0.608690091219, Final residual = 0.597137654786, No Iterations 300
time step continuity errors : sum local = 0.0386763087088, global = -2.25283245784e-05, cumulative = -2.40516540868e-05
#0 Foam::error:rintStack(Foam::Ostream&) in "/home/xx/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/xx/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 in "/lib/libc.so.6"
#3 Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/home/xx/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#4 void Foam::divide<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/home/xx/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#5 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam:perator/<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<doub le, Foam::fvPatchField, Foam::volMesh> > const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/home/xx/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#6 Foam::incompressible::RASModels::kEpsilon::correct () in "/home/jvermeir/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#7
in "/home/xx/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/simpleFoam"
#8 __libc_start_main in "/lib/libc.so.6"
#9
in "/home/xx/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/simpleFoam"
Floating point exception


Does anyone know what this error means?

If I don't use an atm boundary layer and a different RAS-model (komegaSST based on the motorBike case) everything does work (but this is not what I want). So I guess my problem would be regarding the k-epsilon model or the atmBoundaryLayer?

Also I've seen on the forum a lot of people are also having problems adjusting this tutorials to their case. Does anyone actually succeeded in making this tutorial to work for their case?

Regards,

Jochem
Jochem is offline   Reply With Quote

Old   July 6, 2011, 03:56
Default
  #2
New Member
 
Jochem
Join Date: May 2010
Posts: 28
Rep Power: 15
Jochem is on a distinguished road
Hello,

I found out changing the value for epsilon in the initial condition can help. True some research I found out that the value for epsilon in the initial condition can be found be equation :

epsilon = Ustar^3/(kappa*(H+Z_0)

Does someone now what height you have to use? If i use the H_ref from ABLcondition, the code crashes. By manipulating this H I'm able to run the code, but for sure this can not be the way to do this.

Regards,

Jochem
Jochem is offline   Reply With Quote

Old   July 7, 2011, 17:51
Default
  #3
New Member
 
Scott Haynes
Join Date: May 2009
Posts: 10
Rep Power: 16
scotth2o is on a distinguished road
I actually haven't used this solver a great deal or the atmBoundaryLayerInletVelocity BC but if I had to guess I bet you have something unphysical in your pressure BCs.

This is based on your error :

Code:
smoothSolver: Solving for p, Initial residual = 0.760211753981, Final residual = 0.637002209255, No Iterations 300
smoothSolver: Solving for p, Initial residual = 0.608690091219, Final residual = 0.597137654786, No Iterations 300
300 iterations is way too many. When I see #'s over ~40 running a buoyant solver, that to me is an indication somethings not right. There's no reason this shouldn't be the case for simpleWindFoam either.

Good Luck

Scott
scotth2o is offline   Reply With Quote

Old   August 2, 2011, 12:06
Default
  #4
Member
 
inginer's Avatar
 
Ovidiu Michiu
Join Date: Apr 2010
Location: Munich, Germany
Posts: 53
Rep Power: 16
inginer is on a distinguished road
hello,

Im using simpleWindFoam for a applications. I'm building the box, but when I'm trying to extract the surface with snappyhexmesh i receive this error:

openfoam@linux-bkii:~/OpenFOAM/openfoam-1.7.0/run/projects/TRAINS/Cordoba> snappyHexMesh -overwrite
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.7.0 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 1.7.0-21131bcbd876
Exec : snappyHexMesh -overwrite
Date : Aug 02 2011
Time : 17:36:20
Host : linux-bkii
PID : 7974
Case : /home/openfoam/OpenFOAM/openfoam-1.7.0/run/projects/TRAINS/Cordoba
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

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

Create mesh for time = 0

Read mesh in = 0.26 s

Overall mesh bounding box : (299348.525 4158905.764 0) (342171.227 4189109.863 2000)
Relative tolerance : 1e-06
Absolute matching distance : 0.0524411232048

Reading refinement surfaces.
Read refinement surfaces in = 37.63 s

Reading refinement shells.
Read refinement shells in = 0 s

Setting refinement level of surface to be consistent with shells.
Checked shell refinement in = 0 s


Determining initial surface intersections
-----------------------------------------



--> FOAM FATAL ERROR:
Number of cells in mesh:18000 does not equal size of cellLevel:18969
This might be because of a restart with inconsistent cellLevel.

From function hexRef8::getLevel0EdgeLength() const
in file polyTopoChange/polyTopoChange/hexRef8.C at line 357.

FOAM aborting

#0 Foam::error:rintStack(Foam::Ostream&) in "/home/openfoam/OpenFOAM/OpenFOAM-1.7.0/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/openfoam/OpenFOAM/OpenFOAM-1.7.0/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Foam::hexRef8::getLevel0EdgeLength() const in "/home/openfoam/OpenFOAM/OpenFOAM-1.7.0/lib/linuxGccDPOpt/libdynamicMesh.so"
#3 Foam::hexRef8::hexRef8(Foam:olyMesh const&, Foam::List<int> const&, Foam::List<int> const&, Foam::refinementHistory const&) in "/home/openfoam/OpenFOAM/OpenFOAM-1.7.0/lib/linuxGccDPOpt/libdynamicMesh.so"
#4 Foam::meshRefinement::meshRefinement(Foam::fvMesh& , double, bool, Foam::refinementSurfaces const&, Foam::shellSurfaces const&) in "/home/openfoam/OpenFOAM/OpenFOAM-1.7.0/lib/linuxGccDPOpt/libautoMesh.so"
#5 main in "/home/openfoam/OpenFOAM/OpenFOAM-1.7.0/applications/bin/linuxGccDPOpt/snappyHexMesh"
#6 __libc_start_main in "/lib/libc.so.6"
#7 _start at /usr/src/packages/BUILD/glibc-2.10.1/csu/../sysdeps/i386/elf/start.S:122
Aborted
openfoam@linux-bkii:~/OpenFOAM/openfoam-1.7.0/run/projects/TRAINS/Cordoba>

Any suggestions, ....

Thank you,
Best Regards
inginer is offline   Reply With Quote

Old   August 3, 2011, 03:36
Default
  #5
New Member
 
Jochem
Join Date: May 2010
Posts: 28
Rep Power: 15
Jochem is on a distinguished road
Hello,

I don't immediately recognize the error but some suggestions are :

- Have you tried snappyhexmesh before in the same case? If there are some files left in your constant/polyMesh from the snappyhexmesh, you can't start a new mesh.

- Make sure your stl file is bigger than the domain of you blockMesh. So your stl file has a larger width and length than your blockMesh

I hope this helps.

Regards
Jochem is offline   Reply With Quote

Old   August 3, 2011, 07:20
Default
  #6
Member
 
inginer's Avatar
 
Ovidiu Michiu
Join Date: Apr 2010
Location: Munich, Germany
Posts: 53
Rep Power: 16
inginer is on a distinguished road
Hi Jochem,

the answer of the 1st question is yes; but i was building just a small case from the tutorial where i had all the coordinate, box and also the *.stl file. Now I have a different surface.
Your right, i didn't remove the history of the previous *.stl which I used. Thats why i was having that error. Now is starting the snappyhexmesh process, but seems that i have to decrease the dimensions of the box to allow the substraction of the *.stl surface.

Thank you,
Regards
inginer is offline   Reply With Quote

Old   September 23, 2011, 13:25
Default
  #7
Senior Member
 
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 520
Rep Power: 18
samiam1000 is on a distinguished road
Pardon the stupid question, but where can I find the turbineSiting tutorial?

I am looking for it, but it seems that I do not have it.

Thanks a lot,

Samuele
samiam1000 is offline   Reply With Quote

Old   September 23, 2011, 17:06
Exclamation
  #8
Member
 
inginer's Avatar
 
Ovidiu Michiu
Join Date: Apr 2010
Location: Munich, Germany
Posts: 53
Rep Power: 16
inginer is on a distinguished road
Hello Samuel,

The turboSiting tutorial is located in incompressible/windSimpleFoam/turboSiting directory. This location is valid for OF version 2.0.1. For version OF 1.7.1 the location is in incompressible/simpeWindFoam directory. Also here you have the *.C code for this tutorial. you need to compilate the code before using (OF v.1.7.1) it.

Have a nice weekend!!!!
__________________
Best Regards,
Ovi
inginer is offline   Reply With Quote

Old   September 24, 2011, 07:04
Default
  #9
Senior Member
 
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 520
Rep Power: 18
samiam1000 is on a distinguished road
Thanks a lot Ovidiu,

I have found the tutorial.

I am gonna read some reports (if available!), but I still have a problem.

Could you help?

The point is that I am running OF-2.0.1. Hence, I change directory and I enter in the case directory.

Then I give the command
Code:
./Allrun
It works and when it finishes I write in the commandline
Code:
paraFoam
I can see the mesh, but all the values (u, p, k and epsilon) are constant.

So I try to give the command
Code:
windSimpleFoam
,

but I get this error message:

Code:
sammy@nash:~/OpenFOAM/sammy-2.0.1/run/tutorials/incompressible/windSimpleFoam/turbineSiting$ windSimpleFoam 
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.0.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.0.1-cce6c678443c
Exec   : windSimpleFoam
Date   : Sep 24 2011
Time   : 13:03:38
Host   : nash
PID    : 21325
Case   : /home/sammy/OpenFOAM/sammy-2.0.1/run/tutorials/incompressible/windSimpleFoam/turbineSiting
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

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

Create mesh for time = 75

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting RAS turbulence model kEpsilon
kEpsilonCoeffs
{
    Cmu             0.09;
    C1              1.44;
    C2              1.92;
    C3              -0.33;
    sigmak          1;
    sigmaEps        1.11;
    Prt             1;
}

Selecting model type actuationDiskSource
    Source: disk1
    - selecting cells using cellSet actuationDisk1


--> FOAM FATAL ERROR: 
Cannot find file "" in directory "polyMesh/sets" in times 75 down to constant

    From function Time::findInstance(const fileName&, const word&, const IOobject::readOption, const word&)
    in file db/Time/findInstance.C at line 140.

FOAM exiting
Any idea?
Could you help?

Thanks,

Samuele
samiam1000 is offline   Reply With Quote

Old   September 27, 2011, 09:24
Default
  #10
New Member
 
Jochem
Join Date: May 2010
Posts: 28
Rep Power: 15
Jochem is on a distinguished road
Hi Samuele,

Are you still strugling with the error you posted in my tread? If you do, the problem is in your snappyHexmeshdict file (in the system directory). The tutorial makes a mesh around 2 imaginery wind turbines (actuator disk) to calculate the energy output on these points in the .stl file. The place of these actuator disk is defined in the constant/source directory. If you don't wont to use imaginery wind turbines (like me) you have to delete them in your snappyHexmeshdict file. If you want to use them make sure you put them on the right place by adjusting the source file, so the disks are for example not placed outside your domain. This should solve your error.

Regards,

Jochem
Jochem is offline   Reply With Quote

Old   September 20, 2012, 03:29
Default
  #11
Member
 
Usit McCarra
Join Date: Oct 2010
Posts: 51
Blog Entries: 2
Rep Power: 15
McCarra is on a distinguished road
In my case the problem cannot find file " " in directory polymesh/sets occurred because I ran topoSet with file compression activated in the controlDict and it just didn't recognize the file because of the format. When running topoSet with file compression off this error desappears.

Mc
__________________
Mc
McCarra is offline   Reply With Quote

Old   October 25, 2012, 06:01
Default
  #12
New Member
 
Join Date: Oct 2012
Posts: 8
Rep Power: 13
alirezaj is on a distinguished road
Hi all,

I use OF 2.1.1 , and there is no directory with the name of "windSimpleFoam" or "simpleWindFoam". It seems such solver does not exist anymore. In addition, turbineSiting tutorial is located in "simpleFoam" directory.

Does it mean that simpleWindFoam has been removed in OF 2.1.1 ?
If so, can I use simpleFoam for my case in which I have to study a wind turbine (actuator disk) in a wind park?

Regards,

Alireza

Last edited by alirezaj; October 25, 2012 at 08:52.
alirezaj is offline   Reply With Quote

Old   October 27, 2012, 05:40
Default
  #13
Senior Member
 
Nima Samkhaniani
Join Date: Sep 2009
Location: Tehran, Iran
Posts: 1,266
Blog Entries: 1
Rep Power: 24
nimasam is on a distinguished road
yep
it has been removed
it was in OpenFOAM-2.0.1 if you are interested in, but in latest version it has been removed!
look for MRFSimple cases, i think it would help you.
nimasam is offline   Reply With Quote

Old   October 30, 2012, 04:01
Default
  #14
New Member
 
Join Date: Oct 2012
Posts: 8
Rep Power: 13
alirezaj is on a distinguished road
MRFSimleFoam can be applied for non-newtonian folws which does not match my case (wind flow) unfortunately.
Do you know if in simpleFoam we can put a rotating mesh field like a wind turbine?
alirezaj is offline   Reply With Quote

Old   October 30, 2012, 12:17
Default
  #15
Senior Member
 
Nima Samkhaniani
Join Date: Sep 2009
Location: Tehran, Iran
Posts: 1,266
Blog Entries: 1
Rep Power: 24
nimasam is on a distinguished road
whats your mean?
MRFSimple can be applied both on newtonian and non-newtonian flow!

also you can use pimpleDyMFoam, if you want moving Mesh
__________________
My Personal Website (http://nimasamkhaniani.ir/)
Telegram channel (https://t.me/cfd_foam)
nimasam is offline   Reply With Quote

Old   November 1, 2012, 09:31
Default
  #16
New Member
 
Join Date: Oct 2012
Posts: 8
Rep Power: 13
alirezaj is on a distinguished road
Hi Nima,

I would see that. Thanks for your advise.
alirezaj is offline   Reply With Quote

Old   May 8, 2017, 22:42
Angry keyword flowDir is undefined in dictionary
  #17
New Member
 
jianggb
Join Date: Jun 2013
Posts: 1
Rep Power: 0
jianggb is on a distinguished road
Hi all,

I am trying to use atmBoundaryLayerInletVelocity for a very simple application however I am receiving this error i cant figure out. Thanks for any helps however small


--> FOAM FATAL IO ERROR:
keyword flowDir is undefined in dictionary "/home/jgbfoam/OpenFOAM/jgbfoam-3.0.1/run/ptofc/additional_tutorials/tuts4/building/potential/0/U.boundaryField.inflow"
file: /home/jgbfoam/OpenFOAM/jgbfoam-3.0.1/run/ptofc/additional_tutorials/tuts4/building/potential/0/U.boundaryField.inflow from line 94 to line 102.
From function dictionary::lookupEntry(const word&, bool, bool) const
in file db/dictionary/dictionary.C at line 442.
FOAM exiting
vs1 likes this.
jianggb is offline   Reply With Quote

Old   May 9, 2017, 05:54
Default
  #18
Senior Member
 
Join Date: Aug 2013
Posts: 407
Rep Power: 15
Antimony is on a distinguished road
Hi,

As the error says, on the patch that you are applying the atmBoundaryLayerInletVelocity, you have not defined the direction of the flow, denoted by the parameter flowDir and given as a vector.

For example, if the flow is coming into the domain through a plane with normal along the positive Y-axis, then you would use:

Code:
type atmBoundaryLayerInletVelocity;
flowDir (0 -1 0);
Hope this clarifies.

Cheers,
Antimony
Antimony is online now   Reply With Quote

Reply


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
simpleWindFoam Explicit Source tidal_Tom OpenFOAM Running, Solving & CFD 0 March 18, 2011 05:14


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