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

Why does LaplacianFoam use a SIMPLE algorithm?

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 4, 2021, 04:51
Default Why does LaplacianFoam use a SIMPLE algorithm?
  #1
New Member
 
Join Date: Sep 2020
Posts: 28
Rep Power: 6
Reptider is on a distinguished road
Hello!
At present, I study discretisation schemes introduced in openFOAM. I know there are emplicit and implicit schemes. Intruduced code below solves the thermal equasion using Euler implicit implementation for a treatment of temporal discretisation (fmv).
Code:
    while (simple.loop())
    {
        Info<< "Time = " << runTime.timeName() << nl << endl;

        while (simple.correctNonOrthogonal())
        {
            fvScalarMatrix TEqn
            (
                fvm::ddt(T) - fvm::laplacian(DT, T)
             ==
                fvOptions(T)
            );

            fvOptions.constrain(TEqn);
            TEqn.solve();
            fvOptions.correct(T);
        }

        #include "write.H"

        runTime.printExecutionTime(Info);
    }
Euler implicit implementation gives us a first order accurate in time, guarantees boundedness and is unconditionally stable, so Courant number is unneccesary.
I have the question about SIMPLE algorithm which is used in laplacianFOAM.
SIMPLE algorithm is used for solving steady-state modes where Courant number isn't used, but time derivative is presented. So why is this algorithm presented in solver?
In fvSolution nonOrhogonalCorrector is included in SIMPLE.
Code:
SIMPLE
{
    nNonOrthogonalCorrectors 2;
}
Does it mean that SIMPLE is used only for inner loop to solve laplacian disctirisation?
Tnx!
Reptider is offline   Reply With Quote

Old   June 4, 2021, 06:59
Default
  #2
Senior Member
 
Domenico Lahaye
Join Date: Dec 2013
Posts: 802
Blog Entries: 1
Rep Power: 18
dlahaye is on a distinguished road
The simple.loop() is used to iterate until residual is small.

Giving that laplacianFoam solves only one field (T), no segregated solves are applied (most obviously).

Simple changes to the code might be insightful to make.

A first suggested simple modification is to remove the while loop and verify that only one iteration is performed.

A second suggested simple modification is to remove the fvm:ddt term and verify that a steady state solver is obtained.

Possibly this helps.
dlahaye 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
Backward Facing Step using Simple Algorithm aar_out Main CFD Forum 14 March 25, 2019 17:15
SIMPLE algorithm in 3D cylindrical coordinates zouchu Main CFD Forum 1 January 20, 2014 18:02
Velocity correction and under-relaxation in the SIMPLE algorithm johnhelt Main CFD Forum 2 October 18, 2010 07:27
SIMPLE algorithm confusion lost.identity Main CFD Forum 1 October 7, 2010 12:48
About Phase Coupled SIMPLE (PC-SIMPLE) algorithm Yan Kai Main CFD Forum 0 April 18, 2007 04:48


All times are GMT -4. The time now is 01:28.