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

RASmodel laminar vs. simulationType laminar

Register Blogs Community New Posts Updated Threads Search

Like Tree3Likes
  • 3 Post By alexeym

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 26, 2015, 15:40
Question RASmodel laminar vs. simulationType laminar
  #1
Member
 
Thiago Parente Lima
Join Date: Sep 2011
Location: Diamantina, Brazil.
Posts: 62
Rep Power: 14
thiagopl is on a distinguished road
Hi,

I'm using the buoyantBoussinesqSimpleFoam in OF 2.3.1 to solve the classical vertically heated square enclosure with laminar flow (Ra=10^3 ).
My first question is: What is the differennce between setting simulationType laminar in the turbulenceProperties dictionary and RASmodel laminar in RASProperties dictionary?
Actually, I notice that the turbulenceProperties is not necessary when you set RASmodel laminar in RASProperties. However, the opposite is not true.
Another question is: If the turbulence model is off, why do I still need to set all the turbulent properties in the /0 folder?

Tkz.
thiagopl is offline   Reply With Quote

Old   January 27, 2015, 03:26
Default
  #2
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,930
Rep Power: 38
alexeym has a spectacular aura aboutalexeym has a spectacular aura about
Send a message via Skype™ to alexeym
Hi,

Here is how buoyantBoussinesqSimpleFoam creates turbulence model:

Code:
...
    Info<< "Creating turbulence model\n" << endl;
    autoPtr<incompressible::RASModel> turbulence
    (
        incompressible::RASModel::New(U, phi, laminarTransport)
    );
...
And if you look at RASModel::New, you will see, first it reads RASProperties file:

Code:
autoPtr<RASModel> RASModel::New
(
    const volVectorField& U,
    const surfaceScalarField& phi,
    transportModel& transport,
    const word& turbulenceModelName
)
{
    // get model name, but do not register the dictionary
    // otherwise it is registered in the database twice
    const word modelType
    (
        IOdictionary
        (
            IOobject
            (
                "RASProperties",
                U.time().constant(),
                U.db(),
                IOobject::MUST_READ_IF_MODIFIED,
                IOobject::NO_WRITE,
                false
            )
        ).lookup("RASModel")
    );

    Info<< "Selecting RAS turbulence model " << modelType << endl;

    dictionaryConstructorTable::iterator cstrIter =
        dictionaryConstructorTablePtr_->find(modelType);
    ...
But if you look at another solver, for example, pimpleFoam, which deals with turbulence in more general way (i.e. you can use LES models with it):

Code:
autoPtr<incompressible::turbulenceModel> turbulence
(
    incompressible::turbulenceModel::New(U, phi, laminarTransport)
);
and in this case it will first read turbulenceProperties file:

Code:
autoPtr<turbulenceModel> turbulenceModel::New
(
    const volVectorField& U,
    const surfaceScalarField& phi,
    transportModel& transport,
    const word& turbulenceModelName
)
{
    // get model name, but do not register the dictionary
    // otherwise it is registered in the database twice
    const word modelType
    (
        IOdictionary
        (
            IOobject
            (
                "turbulenceProperties",
                U.time().constant(),
                U.db(),
                IOobject::MUST_READ_IF_MODIFIED,
                IOobject::NO_WRITE,
                false
            )
        ).lookup("simulationType")
    );
    ...
}
Finally, if you keep turbulence model other than laminar in RASProperties but switch off turbulence, you still need turbulence IC and BC because turbulence model will create these fields and read them in constructor. But will skip any recalculation of turbulence properties.
alexeym is offline   Reply With Quote

Old   January 27, 2015, 11:28
Default
  #3
Member
 
Thiago Parente Lima
Join Date: Sep 2011
Location: Diamantina, Brazil.
Posts: 62
Rep Power: 14
thiagopl is on a distinguished road
Ok, thank you for the answer.

I'm still in the superficial user level so... this is what I got: this is a carachteristic of the way the buoyantBoussinesqSimpleFoam creates the turbulence model (previously set as RASmodel (?)). In others applications, turbulencePropertires might be read first and then we need to set simulationType in turbulenceProperties. Once laminar was choosed, we shouldn't need any <tubulenceModel>Properties dictionary.

Ok?
thiagopl is offline   Reply With Quote

Old   January 27, 2015, 11:38
Default
  #4
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,930
Rep Power: 38
alexeym has a spectacular aura aboutalexeym has a spectacular aura about
Send a message via Skype™ to alexeym
Yes, that is correct.

And answering your original question, there's no physical difference between "simulationType laminar" and "RASModel laminar". Both return zero volume fields for nut, k, epsilon, and omega. Difference is in the way classes are instantiated.
alexeym is offline   Reply With Quote

Reply


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
CFX Treatment of Laminar and Turbulent Flows Jade M CFX 18 September 15, 2022 07:08
Laminar vs Turbulent Navier-Stokes truman Main CFD Forum 8 July 10, 2017 07:20
Laminar doesn't converge; Turbulent models do? Amit FLUENT 11 April 23, 2015 22:55
Ratio of eddy viscosity to molecular viscosity : Laminar or turbulent flow? JuPa CFX 7 September 9, 2013 07:45
Laminar simpleFoam and inviscid simpleFoam herenger OpenFOAM Running, Solving & CFD 7 July 11, 2013 06:27


All times are GMT -4. The time now is 20:34.