InterFoam

From OpenFOAMWiki
Revision as of 11:59, 29 August 2015 by Wyldckat (Talk | contribs)

InterFoam is a solver for 2 incompressible fluids, which tracks the interface and includes the option of mesh motion.

1 Related information in the web

1.1 Online discussion

// Version Openfoam 1.5

 
#include "fvCFD.H"
#include "MULES.H"
#include "subCycle.H"
#include "interfaceProperties.H"
#include "twoPhaseMixture.H"
 
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
int main(int argc, char *argv[])
{
// these header files contain source code for common tasks that are used in numerous applications.
    #include "setRootCase.H"// set the run directory 
    #include "createTime.H" // rootPath, caseName
    #include "createMesh.H" // timeName
    #include "readEnvironmentalProperties.H"
    #include "readPISOControls.H"
    #include "initContinuityErrs.H"
    #include "createFields.H"
// Reading nGammaCorr, nGammaSubCycles
// Creates pd, gamma, U, rho, rhoPhi(Mass flux)
// Creates and initialises the face-flux field phi.
// Reading transportProperties
// Construct interface from gamma distribution
 
    #include "readTimeControls.H"
    #include "correctPhi.H"
    #include "CourantNo.H"
    #include "setInitialDeltaT.H"
 
 
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
    Info<< "\nStarting time loop\n" << endl;
 
// use the runTime object to control time stepping
    while (runTime.run())
    {
        #include "readPISOControls.H"
        // Read nCorrectors, nNonOrthogonalCorrectors, momentumPredictor,
        //  fluxGradp, transSonic, nOuterCorrectors
        #include "readTimeControls.H"
        // Read adjustTimeStep, maxCo, maxDeltaT
        #include "CourantNo.H"
        // Get the Mean and max Courant Numbers 
        #include "setDeltaT.H"
        // Get the deltaT
 
        runTime++;
 
        Info<< "Time = " << runTime.timeName() << nl << endl;
 
        // Calculates the laminar average kinematic viscosity
        twoPhaseProperties.correct();
 
        #include "gammaEqnSubCycle.H"
        // Read nGammaCorr, nGammaSubCycles
 
        #include "UEqn.H"
 
        // --- PISO loop
        for (int corr=0; corr<nCorr; corr++)
        {
            #include "pEqn.H"
        }
 
        #include "continuityErrs.H"
 
        p = pd + rho*gh;
 
        runTime.write();
 
        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
            << nl << endl;
    }
 
    Info<< "End\n" << endl;
 
    return(0);
}
 
 
// ************************************************************************* //