|
[Sponsors] |
[swak4Foam] having problems configuring parabolic inlet using groovyBC |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
November 9, 2010, 06:47 |
having problems configuring parabolic inlet using groovyBC
|
#1 |
New Member
Abhinav Sharma
Join Date: Sep 2010
Posts: 28
Rep Power: 16 |
Hi ,
I've been experimenting with different boundary conditions and am trying to set up velocity profile using groovyBC. At the inlet i require a power law condition given by U=2.5*(z/zr)^0.299... Code:
inlet { type groovyBC; variables "Umin=2.5;h=pts().y;a=pow((h/10),0.299);speed=Umin*a;"; valueExpression "vector (speed, 0, 0)"; } " ^^ " I am also a little confused on how to specify my "y" co-ordinate varying from 40 to 100 in groovy BC, I think i've done it incorrectly. Any help would be much appreciated. Thanks in advance, Regards , Abhinav |
|
November 10, 2010, 00:02 |
|
#2 |
Member
Stefano Wahono
Join Date: Aug 2010
Location: Melbourne, Australia
Posts: 42
Rep Power: 16 |
I'm also now trying to use groovy BC to model a parabolic inlet velocity profile in a pipe flow.
Any help please?
__________________
Stefano Wahono Defence Science and Technology Organisation Propulsion Systems |
|
November 10, 2010, 01:15 |
|
#3 |
New Member
Aidan
Join Date: Apr 2010
Posts: 18
Rep Power: 16 |
pts() returns a vector and you are using it as a scalar. Try something like this instead:
Code:
inlet { type groovyBC; variables "dir=vector (0,1,0);Umin=2.5;h=mag(pos()*dir);a=pow((h/10),0.299);speed=Umin*a;"; valueExpression "vector (speed, 0, 0)"; } |
|
November 10, 2010, 02:00 |
|
#4 | |
New Member
Abhinav Sharma
Join Date: Sep 2010
Posts: 28
Rep Power: 16 |
Hi Aidan,
Thanks for the prompt reply. I tried implementing "dir=vector (0,1,0)" as suggested, but then when i run i get the following... Quote:
Regards, Abhinav |
||
November 10, 2010, 02:14 |
|
#5 |
Member
Stefano Wahono
Join Date: Aug 2010
Location: Melbourne, Australia
Posts: 42
Rep Power: 16 |
Hi,
Thanks for the reply. I am trying to put a parabolic velocity profile at a pipe inlet. u(r) = umean * (1- (r/R)^2) My domain is a half pipe (see attached Picture). Pipe is oriented along the x-direction. Code:
inlet { type groovyBC; // Use Parabolic Profile //fractionExpression 1; variables "Umax=0.178;c=vector(0,0,0);n=vector(1,0,0);p=pos()-c;r=mag(p)+1.0e-10;R=max(r);uprof=(1-pow(r/R,2))*Umax*normal();"; valueExpression "-uprof"; timelines (); value uniform (0.178 0 0); } It's supposed to be 0.178 m/s at the inlet centre. I think I haven't got the transformation from the cylindrical to cartesian coordinate correctly. Can someone please help on the transformation. Thank you very much. Stefano |
|
November 30, 2010, 06:06 |
groovy BC
|
#6 | |
New Member
Abhinav Sharma
Join Date: Sep 2010
Posts: 28
Rep Power: 16 |
Hi foamers,
I've been trying out this new boundary condition describing inflow vertical velocity profile given as:- u(z)=u*/k*log((z-do)/zo) i've used groovyBC at my inlet wall as follows... Code:
inlet { type groovyBC; variables "Ustar=0.05;do=0.057;zo=0.00025;K=0.4;para (Ustar/K)*log((pos().z-do)/(zo))*normal();"; valueExpression "vector(para,0,0)"; } Quote:
regards, Abhinav |
||
December 1, 2010, 03:20 |
|
#7 |
New Member
Abhinav Sharma
Join Date: Sep 2010
Posts: 28
Rep Power: 16 |
I could get to run my case without any error.The problem was a small mistake at my end in defining my points.(sorry)
Thank you, Abhinav |
|
December 4, 2010, 06:54 |
|
#8 |
Senior Member
Suresh kumar Kannan
Join Date: Mar 2009
Location: Luxembourg, Luxembourg, Luxembourg
Posts: 129
Rep Power: 17 |
Hello Stefano and Abhinav,
I am trying to set parabolic inlet velocity using the groovyBC on a radial mesh which I generated using the guidelines from this website http://openfoamwiki.net/index.php/Si...nical_diffuser A snapshot of my mesh is attached . My flow is in the Z direction and it is a radial mesh. My doubt is that to apply the parabolic inlet do I have to perform transformation. Secondly I dont get the syntax of the groovyBC as used by Stefano. Some advice would be really helpful bye regards K.Suresh kumar |
|
December 6, 2010, 01:42 |
|
#9 |
Member
Stefano Wahono
Join Date: Aug 2010
Location: Melbourne, Australia
Posts: 42
Rep Power: 16 |
Hi Kumar,
I just used the groovyBC syntax as given in the groovyBC Wiki (http://openfoamwiki.net/index.php/Contrib_groovyBC). I made a bit of mistake in my earlier post. The setup for the 0/U file supposed to be: Code:
inlet { type groovyBC; variables "rpm=0.0;Un=0.178;c=vector(-10,0,0);n=sum(normal())/mag(sum(normal()));p=pos()-c;r=mag(p)+1.0e-10;R=max(r);xt=vector(n.y,-n.x,0);xT=xt/mag(xt);yt=vector(-n.x*n.z,-n.y*n.z,n.x*n.x+n.y*n.y);yT=yt/mag(yt);"; valueExpression "-Un*normal()*(1-pow(r/R,2)) + (rpm*pi/30)*((p & yT)*xT - (p & xT)*yT)"; value uniform (0 0 0); timelines(); } Un is the centreline velocity at the inlet c is the position vector of the centre of the inlet patch. The parabolic profile is just simply given by: U(r) = Un * (1-(r/R)^2), where R is the radius of the inlet patch. Just put the above expression onto your 0/U for the inlet patch, set rpm to zero, change the value of c and Un. It's already in the cylindrical coordinate. It should work straight away - no additional transformation required. Be warned, epsilon will blow up in less than 10 iterations (if you use k-epsilon and steady RANS, and starting the solution from zero). You need to start the run with laminar RAS model, then switch to k-epsilon after the initial instabilities near the wall dissapear. Good luck. Please let me know if you need further info. Best Regards, Stefano |
|
December 7, 2010, 03:49 |
|
#10 |
Senior Member
Suresh kumar Kannan
Join Date: Mar 2009
Location: Luxembourg, Luxembourg, Luxembourg
Posts: 129
Rep Power: 17 |
Hi Stefano,
Thanks for the clear explanation of the use of the syntax. I will try the groovyBC in the format that you have specified. Actually I am still having some issues with the mesh . Once I am done with that, I will straight away use the groovyBC in the way you have specified. I will get back to you, If I have any errors. Thanks again. bye regards K.Suresh kumar |
|
December 27, 2010, 06:20 |
|
#11 |
Senior Member
Suresh kumar Kannan
Join Date: Mar 2009
Location: Luxembourg, Luxembourg, Luxembourg
Posts: 129
Rep Power: 17 |
Hi Stefano,
I had to change the mesh, because I want to compare the results with another solver FS3D. This time I am using a cartesian mesh and the solver interFoam. So I first had to define the volume fraction in a circular way from the center. Now I want to put a parabolic velocity profile on it. I started with your formulation. internalField uniform (0 0 0); boundaryField { inletWall { type groovyBC; variables "rpm=0.0;Un=20;c=vector(2.1e-3,2.1e-3,0);n=sum(normal())/mag(sum(normal()));p=pos()-c;r=mag(p)+1.0e-10;R=max(r);xt=vector(n.y,-n.x,0);xT=xt/mag(xt);yt=vector(-n.x*n.z,-n.y*n.z,n.x*n.x+n.y*n.y);yT=yt/mag(yt);"; valueExpression "-(alpha1+internalField(alpha1))*-Un*normal()*(1-pow(r/R,2)) + (rpm*pi/30)*((p & yT)*xT - (p & xT)*yT)"; value uniform (0 0 20); timelines (); } atmosphere { type fixedValue; value uniform (0 0 0); } } But I am not getting the parabolic velocity profile.The definition of c is the location of the centre of the round inlet. And I want to have a max velocity of 20 m/s. Could you give me any suggestions on how to set a parabolic velocity profile for this kind of problem regards K.Suresh kumar |
|
January 10, 2011, 19:10 |
|
#12 | |
Member
Stefano Wahono
Join Date: Aug 2010
Location: Melbourne, Australia
Posts: 42
Rep Power: 16 |
Quote:
I don't understand why you put "-(alpha1+internalField(alpha1))" in your value expression. This is a U BC isn't it? I don't think you need that alpha1. But again, I have not run interFoam before. Another suggestion, it may be simpler to put the centre of the inlet face at 0,0,0. It makes things simpler because you don't have to worry about rounding. The other thing, is the patch "atmosphere" your outlet? You cannot have both fixedValue for velocity on both inlet and outlet. If you fixed the velocity at inlet, then you need to use zeroGradient for velocity at the outlet boundary. You can then use zeroGradient pressure at Inlet, and fixedValue pressure at outlet. Kind Regards, Stefano |
||
January 11, 2011, 07:33 |
|
#13 |
Senior Member
Suresh kumar Kannan
Join Date: Mar 2009
Location: Luxembourg, Luxembourg, Luxembourg
Posts: 129
Rep Power: 17 |
Hi Stefano,
Thanks for the suggestions. Actually I solved the problem for setting the parabolic inlet. You are right about the velocity at the outlet. I will change it. Your explanation was very useful. regards K.Suresh kumar |
|
May 25, 2011, 08:41 |
information in parabolic inlet
|
#14 |
New Member
bamba
Join Date: Apr 2011
Posts: 4
Rep Power: 15 |
Hello foamers
I 'm using open foam (IcoFoam)to solver my problem.I want use the parabolic velocity inlet for a cylinder.I understand stephane use a same my problem. Stephane ,I want your help.I have attache the geometry and the condition inlet. Thank |
|
May 27, 2011, 06:41 |
information in parabolic inlet
|
#15 |
New Member
bamba
Join Date: Apr 2011
Posts: 4
Rep Power: 15 |
Hello Stefano
I send you my geomtry .you can find it on the attachment.I work with IcoFoam( laminar staionnary) and i want a parabolic velocity inlet. Thank you . |
|
October 4, 2013, 14:41 |
GroovyBC doubt
|
#16 |
New Member
Akash Sharma
Join Date: May 2013
Location: Paris
Posts: 15
Rep Power: 13 |
Hello,
I am doing simulation on a rotor blade. My flow is a pressure based flow. I have my Velocity at inlet which is given by direction cosines dir_cos1 = 4.04 dir_cos2 = EXPR{57.2958*(acos(0.07045*(z/sqrt(z*z+y*y))))} dir_cos3 = EXPR{57.2958*(acos(-0.07045*(y/sqrt(z*z+y*y))))} Can someone tell me how to give this using groovyBC. Thanks a lot !! |
|
October 6, 2013, 07:59 |
|
#17 | |
Assistant Moderator
Bernhard Gschaider
Join Date: Mar 2009
Posts: 4,225
Rep Power: 51 |
Quote:
__________________
Note: I don't use "Friend"-feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request |
||
June 23, 2015, 14:21 |
|
#18 | |
New Member
Jindo
Join Date: Mar 2011
Location: Germany
Posts: 25
Rep Power: 15 |
Quote:
I use OpenFoam to simulate flow throught street canyon, but I have some troubles, it is the boundaries condition. Especially, boundary condition for inlet? Can you help me about it? Thanks. |
||
February 12, 2018, 09:40 |
|
#19 |
Senior Member
A. Min
Join Date: Mar 2015
Posts: 308
Rep Power: 12 |
Hi
consider a 3D box that I want to put a circular input with U=(0,5,0) boundary condition(on one of my walls that is rectangular) If I want to use funkySetFields: funkySetFields -case hotRoom -time 0 -field U -keepPatches -valuePatches "pipe" -condition "...." -expression 'vector(0,5,0)' I put it just in time=0 ! however I want to use it as a boundary condition in my all timeSteps. And if I want to use groovyBC I don't have any experience! plz help me if you know what should I do. Thank you |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Inlet velocity as parabolic function | @cfd | OpenFOAM Pre-Processing | 2 | July 29, 2017 16:43 |
[swak4Foam] Inlet Boundary with groovyBC | fmerk | OpenFOAM Community Contributions | 0 | May 3, 2017 11:00 |
[swak4Foam] Power law inlet velocity using groovyBC | aviator | OpenFOAM Community Contributions | 3 | November 13, 2013 11:50 |
[swak4Foam] parabolic velocity profile with fluctuations (groovyBC?) | newOFuser | OpenFOAM Community Contributions | 17 | July 15, 2013 18:27 |
what the result is negatif pressure at inlet | chong chee nan | FLUENT | 0 | December 29, 2001 06:13 |