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

Lund Recycled Method for LES (flat plate)

Register Blogs Community New Posts Updated Threads Search

Like Tree36Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 27, 2015, 15:04
Default
  #41
Senior Member
 
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18
syavash is on a distinguished road
Quote:
Originally Posted by ChrisWe View Post
Hi Syavash,

I am pretty sure that you have to define two surfaces when using cyclic BCs.

Of course it is not enough to define one patch without using cyclic patches. Thats the problem I mentioned when I wrote:
If it is not possible for you to create two independent domains with some distance between the cyclic patches (This must be possible!) in ICEM, you can use Joachims blockMeshDict and adapt it to your wishes. Have a look at this file and try to understand, what he is doing there.

Cheers,
Christoph
Dear Christoph,

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);
    }
and 0/U file:

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;
    }
Here is the error message, which seems to be a floating point due to near-zero value of deltaRecycle.

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 also attached a picture of my domain.


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
Attached Images
File Type: jpg pic.jpg (48.7 KB, 78 views)
syavash is offline   Reply With Quote

Old   August 27, 2015, 15:22
Default
  #42
Senior Member
 
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18
syavash is on a distinguished road
Quote:
Originally Posted by syavash View Post
Dear Christoph,

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);
    }
and 0/U file:

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;
    }
Here is the error message, which seems to be a floating point due to near-zero value of deltaRecycle.

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 also attached a picture of my domain.


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
I am really sorrey for bothering you, but as I changed the value of UMeanSpanTime to something greater than 0, the problem resolved initially and a reasonable thickness at recycling plane was reported by the solver, but it happend again after several time steps!

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
syavash is offline   Reply With Quote

Old   September 8, 2015, 17:39
Default
  #43
Senior Member
 
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18
syavash is on a distinguished road
Quote:
Originally Posted by ChrisWe View Post
Hi Syavash,

I am pretty sure that you have to define two surfaces when using cyclic BCs.

Of course it is not enough to define one patch without using cyclic patches. Thats the problem I mentioned when I wrote:
If it is not possible for you to create two independent domains with some distance between the cyclic patches (This must be possible!) in ICEM, you can use Joachims blockMeshDict and adapt it to your wishes. Have a look at this file and try to understand, what he is doing there.

Cheers,
Christoph
Hi Christoph,

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
syavash is offline   Reply With Quote

Old   September 10, 2015, 11:46
Default
  #44
Senior Member
 
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18
syavash is on a distinguished road
Quote:
Originally Posted by syavash View Post
Hi Christoph,

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
Thanks Chris,

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
syavash is offline   Reply With Quote

Old   October 10, 2015, 06:31
Question LUND BC on OpenFOAM v2.4.0
  #45
New Member
 
Jack B.
Join Date: Apr 2009
Posts: 24
Rep Power: 17
Turbulent is on a distinguished road
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
Thanks !!

Jack
Turbulent is offline   Reply With Quote

Old   October 10, 2015, 19:46
Default
  #46
Senior Member
 
Timofey Mukha
Join Date: Mar 2012
Location: Stockholm, Sweden
Posts: 119
Rep Power: 14
tiam is on a distinguished road
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
tiam is offline   Reply With Quote

Old   October 11, 2015, 14:33
Default
  #47
Senior Member
 
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18
syavash is on a distinguished road
Quote:
Originally Posted by tiam View Post
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
Hi Tiam,

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
syavash is offline   Reply With Quote

Old   October 11, 2015, 14:57
Default
  #48
Senior Member
 
Timofey Mukha
Join Date: Mar 2012
Location: Stockholm, Sweden
Posts: 119
Rep Power: 14
tiam is on a distinguished road
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
tiam is offline   Reply With Quote

Old   October 11, 2015, 15:17
Default
  #49
Senior Member
 
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18
syavash is on a distinguished road
Quote:
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
Use perturbUGeneric instead of perturbUChannel. It requires no dictionary (in contrast to perturbUChannel) and the only informations required are Ubar and Retau which should be present within transportProperties.
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:
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?
Yep, just assign a uniform velocity at inlet using fixedValue. It should be sufficient for your aim.
After some flow-through cycles, see if boundary layer has become turbulent and then switch to Lund BC with desired B.L. thickness.

Goodluck
syavash is offline   Reply With Quote

Old   October 11, 2015, 15:54
Default
  #50
New Member
 
Jack B.
Join Date: Apr 2009
Posts: 24
Rep Power: 17
Turbulent is on a distinguished road
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.
Turbulent is offline   Reply With Quote

Old   October 11, 2015, 19:18
Default
  #51
Senior Member
 
Timofey Mukha
Join Date: Mar 2012
Location: Stockholm, Sweden
Posts: 119
Rep Power: 14
tiam is on a distinguished road
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.
tiam is offline   Reply With Quote

Old   October 11, 2015, 20:03
Default
  #52
Senior Member
 
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18
syavash is on a distinguished road
Quote:
Originally Posted by tiam View Post
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.
Well, I cannot assess since I don't have any knowledge about your computational setup.
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
syavash is offline   Reply With Quote

Old   February 25, 2016, 09:10
Wink Test case.
  #53
New Member
 
Lee Yachao
Join Date: Dec 2015
Location: Beijing,China
Posts: 12
Rep Power: 11
iLyrics is on a distinguished road
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!
iLyrics is offline   Reply With Quote

Old   April 9, 2016, 02:52
Default
  #54
New Member
 
luo yin
Join Date: Apr 2016
Posts: 4
Rep Power: 10
Loey is on a distinguished road
I find that the test case in the dropbox doesn't exist. Would you please sent me the test case by email: yin_luo@outlook.com. Thanks a lot!
Loey is offline   Reply With Quote

Old   April 12, 2016, 08:59
Default
  #55
New Member
 
sandy
Join Date: Aug 2011
Posts: 13
Rep Power: 15
vishwakarma is on a distinguished road
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
ykanani likes this.
vishwakarma is offline   Reply With Quote

Old   June 7, 2016, 13:10
Default
  #56
New Member
 
luo yin
Join Date: Apr 2016
Posts: 4
Rep Power: 10
Loey is on a distinguished road
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
Loey is offline   Reply With Quote

Old   June 7, 2016, 14:57
Default
  #57
New Member
 
Lee Yachao
Join Date: Dec 2015
Location: Beijing,China
Posts: 12
Rep Power: 11
iLyrics is on a distinguished road
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.
iLyrics is offline   Reply With Quote

Old   June 20, 2016, 12:44
Default
  #58
Senior Member
 
Mahdi Hosseinali
Join Date: Apr 2009
Location: NB, Canada
Posts: 273
Rep Power: 18
anishtain4 is on a distinguished road
Can anyone also please send the test case to me at mhossein@unb.ca?
Bests.
anishtain4 is offline   Reply With Quote

Old   July 2, 2016, 06:00
Default
  #59
New Member
 
mohafarmani
Join Date: Aug 2015
Location: shiraz
Posts: 14
Rep Power: 11
moh-farmani is on a distinguished road
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
moh-farmani is offline   Reply With Quote

Old   July 27, 2016, 18:44
Default
  #60
Member
 
Yousef
Join Date: Feb 2015
Posts: 40
Rep Power: 11
ykanani is on a distinguished road
Hi everyone,

I'll really appreciate if someone can share the Lund case files with me. Thank you very much.

kanani.yousef@gmail.com
ykanani is offline   Reply With Quote

Reply

Tags
les lund recycled method


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
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


All times are GMT -4. The time now is 09:14.