CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Lund Recycled Method for LES (flat plate) (https://www.cfd-online.com/Forums/openfoam-solving/123889-lund-recycled-method-les-flat-plate.html)

syavash August 27, 2015 14:04

1 Attachment(s)
Quote:

Originally Posted by ChrisWe (Post 560937)
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

syavash August 27, 2015 14:22

Quote:

Originally Posted by syavash (Post 561380)
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 September 8, 2015 16:39

Quote:

Originally Posted by ChrisWe (Post 560937)
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 September 10, 2015 10:46

Quote:

Originally Posted by syavash (Post 563025)
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

Turbulent October 10, 2015 05:31

LUND BC on OpenFOAM v2.4.0
 
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

tiam October 10, 2015 18:46

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

syavash October 11, 2015 13:33

Quote:

Originally Posted by tiam (Post 567513)
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

tiam October 11, 2015 13:57

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

syavash October 11, 2015 14:17

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

Turbulent October 11, 2015 14:54

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.

tiam October 11, 2015 18:18

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.

syavash October 11, 2015 19:03

Quote:

Originally Posted by tiam (Post 567608)
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

iLyrics February 25, 2016 08:10

Test case.
 
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!

Loey April 9, 2016 01:52

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!

vishwakarma April 12, 2016 07:59

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

Loey June 7, 2016 12: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

iLyrics June 7, 2016 13:57

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.

anishtain4 June 20, 2016 11:44

Can anyone also please send the test case to me at mhossein@unb.ca?
Bests.

moh-farmani July 2, 2016 05:00

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

ykanani July 27, 2016 17:44

Hi everyone,

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

kanani.yousef@gmail.com


All times are GMT -4. The time now is 18:23.