|
[Sponsors] |
August 27, 2015, 15:04 |
|
#41 | |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
I could finally create a grid file like that in Joachim test case, with a small gap between my domain. I let my solution continues for one flow-through time and the flow is still laminar. Then, I changed inlet boundary type to scaledMappedVelocity in 0/U and also changed inlet type from patch to mappedPatch in polyMesh/boundary file just like the test case. I set interface_0_new as samplePatch with corresponding offset distance. interface_0_new is cyclic with neighbourPatch interface_1_new. Now, I would expect to see a non-zero value for boundary layer thickness at recycling plane (deltaRecycle) at the first iteration, but the solver returns me something very small (e.g. 1e-322)!! I have tried to change the sample plane as outlet, but the value does not change! My settings in boundary file: Code:
inlet { type mappedPatch; nFaces 4318; startFace 861288; sampleMode nearestPatchFace; sampleRegion region0; samplePatch interface_0_new; offsetMode uniform; offset (0.125 0 0); } outlet { type patch; nFaces 4318; startFace 865606; } top_0 { type wall; inGroups 1(wall); //~ type patch; nFaces 1156; startFace 869924; } top_1 { type wall; inGroups 1(wall); //~ type patch; nFaces 1156; startFace 871080; } plate_0 { type wall; inGroups 1(wall); nFaces 1156; startFace 872236; } plate_1 { type wall; inGroups 1(wall); nFaces 1156; startFace 873392; } left_0_new { type cyclic; inGroups 1(cyclic); nFaces 4318; startFace 874548; matchTolerance 1e-05; transform translational; neighbourPatch right_0_new; separationVector (0 0 0.034); } right_0_new { type cyclic; inGroups 1(cyclic); nFaces 4318; startFace 878866; matchTolerance 0.0001; transform translational; neighbourPatch left_0_new; separationVector (0 0 -0.034); } left_1_new { type cyclic; inGroups 1(cyclic); nFaces 4318; startFace 883184; matchTolerance 1e-05; transform translational; neighbourPatch right_1_new; separationVector (0 0 0.034); } right_1_new { type cyclic; inGroups 1(cyclic); nFaces 4318; startFace 887502; matchTolerance 0.0001; transform translational; neighbourPatch left_1_new; separationVector (0 0 -0.034); } interface_0_new { type cyclic; inGroups 1(cyclic); nFaces 4318; startFace 891820; matchTolerance 1e-05; transform translational; neighbourPatch interface_1_new; separationVector (0.002 0 0); } interface_1_new { type cyclic; inGroups 1(cyclic); nFaces 4318; startFace 896138; matchTolerance 0.0001; transform translational; neighbourPatch interface_0_new; separationVector (-0.002 0 0); } Code:
inlet { type scaledMappedVelocity; deltaInlet 0.02835; thetaInlet 0.002667; Ue 6.355; nu 1.4612e-5; t 2e-2; UMeanSpanTime uniform (0 0 0); value nonuniform List<vector> 4318 ( ... ... ) outlet { type zeroGradient; } top_0 { type freestream; freestreamValue uniform (6.355 0 0); value nonuniform List<vector> ... } top_1 { type freestream; freestreamValue uniform (6.355 0 0); value nonuniform List<vector> ... } plate_0 { type fixedValue; value uniform (0 0 0); } plate_1 { type fixedValue; value uniform (0 0 0); } left_0_new { type cyclic; } right_0_new { type cyclic; } left_1_new { type cyclic; } right_1_new { type cyclic; } interface_0_new { type cyclic; } interface_1_new { type cyclic; } Code:
PIMPLE: iteration 1 deltaRecycle = 1.63042e-322 deltaInlet = 0.02835 thetaRecycle = 0.000146079 thetaInlet = 0.002667 UTauRecycle = 0.00204416 UTauInlet = 0.00142179 smoothSolver: Solving for Ux, Initial residual = 0.0417374, Final residual = 9.61418e-09, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.0286828, Final residual = 2.09521e-08, No Iterations 2 smoothSolver: Solving for Uz, Initial residual = 0.0262806, Final residual = 1.90369e-08, No Iterations 2 GAMG: Solving for p, Initial residual = 0.998864, Final residual = 0.000968268, No Iterations 114 time step continuity errors : sum local = 8.71013e-06, global = -2.20226e-06, cumulative = -2.20226e-06 deltaRecycle = 0.0335 deltaInlet = 0.02835 thetaRecycle = 0.00285647 thetaInlet = 0.0226563 UTauRecycle = 0.0104659 UTauInlet = 0.00807895 GAMG: Solving for p, Initial residual = 0.00983424, Final residual = 0.000913251, No Iterations 34 time step continuity errors : sum local = 0.00084197, global = 0.000156662, cumulative = 0.000154459 deltaRecycle = 200 deltaInlet = 0.02835 thetaRecycle = 0.00325667 thetaInlet = 0.0510992 UTauRecycle = 0.0111309 UTauInlet = 0.00788997 PIMPLE: iteration 2 deltaRecycle = 7.25346e-316 deltaInlet = 0.02835 thetaRecycle = 0.00365515 thetaInlet = 0.0593542 UTauRecycle = 0.0117578 UTauInlet = 0.00829864 smoothSolver: Solving for Ux, Initial residual = 0.0596497, Final residual = 6.05182e-07, No Iterations 16 smoothSolver: Solving for Uy, Initial residual = 0.0939232, Final residual = 9.0903e-07, No Iterations 8 smoothSolver: Solving for Uz, Initial residual = 0.0937113, Final residual = 8.44328e-07, No Iterations 17 GAMG: Solving for p, Initial residual = 0.161126, Final residual = 0.000956449, No Iterations 96 time step continuity errors : sum local = 0.00013399, global = 3.39121e-05, cumulative = 0.000188371 #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::scaledMappedVelocityFixedValueFvPatchField::updateCoeffs() at ??:? #4 Foam::fvPatchField<Foam::Vector<double> >::evaluate(Foam::UPstream::commsTypes) at ??:? #5 Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::evaluate() at ??:? #6 at ??:? #7 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #8 at ??:? Floating point exception (core dumped) I have tried several options but still no success and only frustration Do you have any Idea where I could be wrong?! I can provide further details if necessary. Thanks, Syavash |
||
August 27, 2015, 15:22 |
|
#42 | |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
PS: Please introduce me an appropriate utility for perturbing the initial flow field. I can see a perturbU utility in the forum but that is for channel flow. How can I do this for flow over a flat plate?! I also noted there is a perturbSpaldingDict in constant directory of the test case but have no idea what it actually does!! Thanks, Syavash |
||
September 8, 2015, 17:39 |
|
#43 | |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
I hope you had some time to take a look at this When I apply Lund BC to my own case, something odd happens. Gradually, deltaRecycle decreases until it becomes lower than deltaInlet and kinetic energy becomes very large (both negative and positive limits) and finally my simulation blows up!! I tried to lower courant number but it was not useful. Did you encounter this problem too?! I noted that Joachim has used some unusual schemes to run his test case (mostly upwind scheme!!). Could they possibly have some effects on simulation stability?! Thanks, Syavash |
||
September 10, 2015, 11:46 |
|
#44 | |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
Whole this time I was struggling to apply Lund BC with no success, but now I can see that it was not a problem of boundary conditions or solution schemes. As you suggested, I tried to use the blockMeshDict that Joachim provided in his test case and modified it to be fit to my own case. I could successfully run my simulation without any trouble!! I see now that it was ICEM CFD which unfortunately could not provide enough precision to the generated grid, no matter how much I increased the topology tolerance. In other words, OF does not recognize the interface bc generated through ICEM CFD, neither gives it any error!! I hope someone would find this helpful. Nevertheless, the final grid was generated using ICEM, but very special treatments were applied to pass the rigours tolerance of OF! Currently, I am doing some test simulations to evaluate my understanding of the BC. I will post my findings here because I think very little is present in the forum about this subject. Regards, Syavash |
||
October 10, 2015, 06:31 |
LUND BC on OpenFOAM v2.4.0
|
#45 |
New Member
Jack B.
Join Date: Apr 2009
Posts: 24
Rep Power: 17 |
Hi guys,
I'm trying to run Joachim's test case 'baseDeltaCase' using OpenFOAM v.2.4.0 but I receive an error during pimpleFoam execution. Does anyone succeeded to use this BC with OpenFOAM v.2.4.0 or alternately can give me an idea regarding the error I receive during run?? Please see the following: Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.4.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 2.4.0-f0842aea0e77 Exec : pimpleFoam Date : Oct 10 2015 Time : 12:00:52 Host : "private" PID : 4387 Case : /workdir/Lund_Recycling/baseDeltaCase nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Allowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 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 turbulence model type LESModel Selecting LES turbulence model Smagorinsky Selecting LES delta type vanDriest Selecting LES delta type cubeRootVol SmagorinskyCoeffs { ce 1.048; ck 0.094; } No finite volume options present PIMPLE: Operating solver in PISO mode Starting time loop fieldAverage fieldAverage1: Starting averaging at time 0 Courant Number mean: 0.75015 max: 1.33588 Time = 0.02 PIMPLE: iteration 1 deltaRecycle = 0.270909 deltaInlet = 0.243 thetaRecycle = 0.026763 thetaInlet = 0.0242242 UTauRecycle = 0.0411277 UTauInlet = 0.0416432 DILUPBiCG: Solving for Ux, Initial residual = 0.00381007, Final residual = 5.13084e-06, No Iterations 2 DILUPBiCG: Solving for Uy, Initial residual = 0.0545234, Final residual = 1.5054e-07, No Iterations 4 DILUPBiCG: Solving for Uz, Initial residual = 0.0645162, Final residual = 8.87655e-06, No Iterations 3 --> FOAM FATAL IO ERROR: keyword laplacian(rAUf,p) is undefined in dictionary "/workdir/Lund_Recycling/baseDeltaCase/system/fvSchemes.laplacianSchemes" file: /workdir/Lund_Recycling/baseDeltaCase/system/fvSchemes.laplacianSchemes from line 45 to line 52. From function dictionary::lookupEntry(const word&, bool, bool) const in file db/dictionary/dictionary.C at line 442. FOAM exiting Jack |
|
October 10, 2015, 19:46 |
|
#46 |
Senior Member
Timofey Mukha
Join Date: Mar 2012
Location: Stockholm, Sweden
Posts: 119
Rep Power: 14 |
Hi Jack,
Put default Gauss linear corrected; in laplacianSchemes in system/fvSchemes Basically, the notation for the a particular field has changed and this causes the error. If you set a default value it will be used for all terms that are not set explicitly. I'm also working with this code, so far with limited success. Some pitfalls to be aware are * Only decmopose in the x direction using the simple decomposition method * make sure t_ is set to the value of the timestep, at least in case you are starting with a zero-valued UMeanSpanTime I'm having trouble with initial conditions for the flow, which the whole procedure seems to be very sensitive to. I used a delta(Re_x) function for a flat plate to set the initial velocity profile, but everything crashes after a couple of iterations . Let me know if it works out for you! Best, Tim |
|
October 11, 2015, 14:33 |
|
#47 | |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
The best way to get an initialized turbulent flow is using perturbU utility. You can search the forum to find it. After making the flow turbulent, switch to the Lund BC and continue with correct inlet boundary layer thickness. After some iterations the inlet BC adjusts itself with imposed thickness. Regards |
||
October 11, 2015, 14:57 |
|
#48 |
Senior Member
Timofey Mukha
Join Date: Mar 2012
Location: Stockholm, Sweden
Posts: 119
Rep Power: 14 |
Dear Syavash,
Thank you for the reply. Yes, I have been toying around with the perturbU. I am not exactly sure how to setup the dictionary properly to adjust it for boundary layer instead of channel. So far I just put the "channel half-width" to the height of my boundary layer. Please tell me if you have any tips regarding that. So what you suggest is that I first run without the Lund bc for a while, is that right? Would you suggest some uniform bc, like U = U_e, where U_e is the freestream velocity in my boundary layer? The way it goes for me right now is that at some point delta becomes zero. By examining the code I understand that that means that z delta could not be found, and by checking the flow I see that indeed, the values are far below U_e everywhere. I tryed to be careful with the averaging time and that seems to help sometimes, but finally the simulation crashes anyway. Best, Timofey |
|
October 11, 2015, 15:17 |
|
#49 | ||
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
Try to set Retau to something like 1000 which can generate a u_tau in the range. Ubar is the mean value of free stream velocity. Quote:
After some flow-through cycles, see if boundary layer has become turbulent and then switch to Lund BC with desired B.L. thickness. Goodluck |
|||
October 11, 2015, 15:54 |
|
#50 |
New Member
Jack B.
Join Date: Apr 2009
Posts: 24
Rep Power: 17 |
Hi Tim,
Thank you very much for the reply - now I got it working. I'll keep you inform with my progress with it, I'll also try to use perturbU/perturbUGeneric. Thanks again, Jack. |
|
October 11, 2015, 19:18 |
|
#51 |
Senior Member
Timofey Mukha
Join Date: Mar 2012
Location: Stockholm, Sweden
Posts: 119
Rep Power: 14 |
What I experience with the uniform-velocity inlet is that the initial field with the perturbations created by perturbU gets simply "flushed" downstream and in the end what I have is a thin and steady boundary layer.
One should probably apply some more appropriate conditions on nuSgs in order to make the layer thicker.. But that would not change the fact that the initial field seems to not playing any role, hmm. |
|
October 11, 2015, 20:03 |
|
#52 | |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
Anyway, you should be able to get a fairly turbulent initial field using perturbUGeneric. However, as the last resort (think twice before leaving perturbUGeneric behind!), you can apply LeMOS inflow generator which applies second order statistics at inlet. The perturbations generated through this method are not damped downstream and you may achieve a turbulent B.L. with an additional computational cost. Regards |
||
February 25, 2016, 09:10 |
Test case.
|
#53 |
New Member
Lee Yachao
Join Date: Dec 2015
Location: Beijing,China
Posts: 12
Rep Power: 11 |
Hello Foamers:
Does anyone have the Lund BC test casess created by Joachim? I just cann't land the DropBox in my country. I'll greatly appreciate it if anyone counld send me relevant materials. yachaoli@foxmail.com is my Email. Thanks! |
|
April 9, 2016, 02:52 |
|
#54 |
New Member
luo yin
Join Date: Apr 2016
Posts: 4
Rep Power: 10 |
||
April 12, 2016, 08:59 |
|
#55 |
New Member
sandy
Join Date: Aug 2011
Posts: 13
Rep Power: 15 |
Hi,
I dont know if you got the code by now. If no please let me know. I have a copy of the code. Regards Vishwakarma |
|
June 7, 2016, 13:10 |
|
#56 |
New Member
luo yin
Join Date: Apr 2016
Posts: 4
Rep Power: 10 |
Hi, Vishwakarma
Thank you for your kindness. I have got a copy, but I have a question to ask: How is the initial internalField generated? Loey |
|
June 7, 2016, 14:57 |
|
#57 |
New Member
Lee Yachao
Join Date: Dec 2015
Location: Beijing,China
Posts: 12
Rep Power: 11 |
To my experience, you need to modify the perturbU created by Eugene which is initialized for channel initializition. Just change the channel height to the boundary layer(maybe one and half boundary layer is better). You may specify the velocity profile for the inlet plane and recycling plane as the initialized boundary field, which will help accelerate the transition process. In addition, at the very beginning time, you'd better map directly.
|
|
June 20, 2016, 12:44 |
|
#58 |
Senior Member
Mahdi Hosseinali
Join Date: Apr 2009
Location: NB, Canada
Posts: 273
Rep Power: 18 |
Can anyone also please send the test case to me at mhossein@unb.ca?
Bests. |
|
July 2, 2016, 06:00 |
|
#59 |
New Member
mohafarmani
Join Date: Aug 2015
Location: shiraz
Posts: 14
Rep Power: 11 |
Hi Joachim,
I am inerested so much in your code. can you send the file to me (armehrjoo@gmail.com) and i'll take care of sharing it. thanks again for your help |
|
July 27, 2016, 18:44 |
|
#60 |
Member
Yousef
Join Date: Feb 2015
Posts: 40
Rep Power: 11 |
Hi everyone,
I'll really appreciate if someone can share the Lund case files with me. Thank you very much. kanani.yousef@gmail.com |
|
Tags |
les lund recycled method |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
heat transfer with RANS wall function, over a flat plate (validation with fluent) | bruce | OpenFOAM Running, Solving & CFD | 6 | January 20, 2017 07:22 |
Low Reynolds Number Flow over a Flat Plate | Go | FLUENT | 4 | August 28, 2013 06:19 |
different boundary conditions for flat plate | easyRider | Main CFD Forum | 0 | March 20, 2012 09:40 |
Conjugate heat transfer for film-cooled flat plate | Michele | FLUENT | 0 | July 3, 2006 09:42 |
flat plate boundary layer data | Ekachai Juntasaro | Main CFD Forum | 3 | March 14, 2001 00:18 |