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

limit high velocity values

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree1Likes
  • 1 Post By doubtsincfd

Reply
 
LinkBack Thread Tools Display Modes
Old   February 16, 2012, 04:46
Default limit high velocity values
  #1
New Member
 
Florian
Join Date: Jan 2011
Location: Mannheim, Germany
Posts: 24
Rep Power: 6
riesotto is on a distinguished road
Hi all,
I have a problem with unphysical high velocity values in some areas of my simulation (rhoPorousMRFLTSPimpeFoam). The high velocities appear at the end of the rotorblades (compressible flow in a turbocharger).
The rotorblades have sharp edges, so I believe this can be the problem.

Is there a possibility to limit the velocity???

There is a possiblity of the density:
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.05;
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.0;

but this works only for rho.

kind regards
Florian
riesotto is offline   Reply With Quote

Old   November 26, 2012, 17:47
Default
  #2
Senior Member
 
Join Date: Nov 2009
Location: Michigan
Posts: 135
Rep Power: 7
doubtsincfd is on a distinguished road
Hi. Did you find out how that can be done?
immortality likes this.
doubtsincfd is offline   Reply With Quote

Old   November 27, 2012, 10:42
Default
  #3
Senior Member
 
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 490
Rep Power: 9
samiam1000 is on a distinguished road
Any news about this problem?

How did you solve it? It could be very useful for me, too.

Thanks a lot,

Samuele
samiam1000 is offline   Reply With Quote

Old   December 4, 2012, 10:43
Default
  #4
Senior Member
 
Join Date: Nov 2009
Location: Michigan
Posts: 135
Rep Power: 7
doubtsincfd is on a distinguished road
The method which works for density works for pressure as well but not for velocity. So for velocity I just looped over all cells and the boundary faces

forAll(U,cellI)
{
U[cellI].component(0)=some value;
}

forAll(U.boundaryField(),patchI)
{
forAll(U.boundaryField()[patchI],faceI)
{
U.boundaryField()[patchI][faceI].component(0)=some value;
}

}

Let me know if this works
doubtsincfd is offline   Reply With Quote

Old   December 7, 2012, 13:54
Default
  #5
Senior Member
 
Kent Wardle
Join Date: Mar 2009
Location: Illinois, USA
Posts: 195
Rep Power: 10
kwardle is on a distinguished road
You might also take a look at UEqns.H in multiphaseEulerFoam. There is a velocity dampener there which might give you some idea of how better to tackle this than a brute force reassignment. Basically, what is used is a source term dampener that is controlled by a proportional coefficient defined in transportProperties.
kwardle is offline   Reply With Quote

Old   February 11, 2013, 17:26
Default
  #6
Senior Member
 
immortality's Avatar
 
Ehsan
Join Date: Oct 2012
Location: Iran
Posts: 2,186
Rep Power: 16
immortality is on a distinguished road
hi Omkar
how and where i can use the expressions you mentioned?

hi kent
where in the code below you mentioned the velocity bounding has been applied?and how i can use that in sonicFoam solver?do u have any idea?
Code:
int phasei = 0;
forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
{
    phaseModel& phase = iter();
    const volScalarField& alpha = phase;
    volVectorField& U = phase.U();

    volScalarField nuEff(sgsModel->nut() + iter().nu());

    UEqns.set
    (
        phasei,
        new fvVectorMatrix
        (
            (scalar(1) + fluid.Cvm(phase)/phase.rho())*
            (
                fvm::ddt(alpha, U)
              + fvm::div(phase.phiAlpha(), U)
              - fvm::Sp(fvc::ddt(alpha) + fvc::div(phase.phiAlpha()), U)
            )
            - fvm::laplacian(alpha*nuEff, U)
            - fvc::div
              (
                  alpha*(nuEff*dev(T(fvc::grad(U))) /*- ((2.0/3.0)*I)*k*/),
                  "div(Rc)"
              )
          ==
            - fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U)
          //- (alpha*phase.rho())*fluid.lift(phase)
            + (alpha/phase.rho())*fluid.Svm(phase)
        )
    );
    mrfZones.addCoriolis(alpha, UEqns[phasei]);
    UEqns[phasei].relax();

    phasei++;
}
immortality is offline   Reply With Quote

Old   February 28, 2013, 18:14
Default
  #7
Senior Member
 
Kent Wardle
Join Date: Mar 2009
Location: Illinois, USA
Posts: 195
Rep Power: 10
kwardle is on a distinguished road
I am not sure where you pulled that code from, but in multiphaseEulerFoam/UEqns.H the source term is given as:
Code:
        ==
          - fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U)
        //- (alpha*phase.rho())*fluid.lift(phase)
          + (alpha/phase.rho())*fluid.Svm(phase)
          - fvm::Sp
            (
                slamDampCoeff
               *max
                (
                    mag(U.dimensionedInternalField()) - maxSlamVelocity,
                    dimensionedScalar("U0", dimVelocity, 0)
                )
               /pow(mesh.V(), 1.0/3.0),
                U
            )
The implicit dampener is given by the last term (the part in -fvm::Sp( <stuff here>)). Basically, it scales the velocity according to some max value (maxSlamVelocity) and a coefficient (slamDampCoeff)
kwardle is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Correct values of drag but high values of lift. aamer Main CFD Forum 16 December 16, 2010 05:44
high velocity in chemical reaction fkuwo FLUENT 0 August 27, 2009 15:30
High Values of Cl,Cd,Cm taimoor FLUENT 1 February 4, 2009 03:00
RMS values too high! Usman Main CFD Forum 12 February 7, 2008 12:43
Getting Inlet Velocity Values through CCL or User Shraman CFX 3 May 1, 2007 14:58


All times are GMT -4. The time now is 00:27.