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/)
-   -   Doubts in SimpleFoam..... (https://www.cfd-online.com/Forums/openfoam-solving/119694-doubts-simplefoam.html)

AB08 June 22, 2013 18:47

Doubts in SimpleFoam.....
 
Hi,, am very new to OpenFoam....... can sm1 please tell me

Q1) What is the exact function of fvOptions(U) in the UEqn.H file of simpleFoam? (I assumed that it gave the guessed value of the velocity(U) field (am I right) and if so from where does the initial guess come) ??



tmp<fvVectorMatrix> UEqn
(
fvm::div(phi, U)
+ turbulence->divDevReff(U)
==
fvOptions(U)
);

UEqn().relax();

fvOptions.constrain(UEqn());

solve(UEqn() == -fvc::grad(p));

fvOptions.correct(U);


Q2) What is the function of adjustPhi(phiHbyA, U, p); in the pEqn.H of simpleFoam?



{
volScalarField rAU(1.0/UEqn().A());
volVectorField HbyA("HbyA", U);
HbyA = rAU*UEqn().H();
UEqn.clear();

surfaceScalarField phiHbyA("phiHbyA", fvc::interpolate(HbyA) & mesh.Sf());
adjustPhi(phiHbyA, U, p);


fvOptions.relativeFlux(phiHbyA);

// Non-orthogonal pressure corrector loop
while (simple.correctNonOrthogonal())
{
fvScalarMatrix pEqn
(
fvm::laplacian(rAU, p) == fvc::div(phiHbyA)
);

pEqn.setReference(pRefCell, pRefValue);

pEqn.solve();

if (simple.finalNonOrthogonalIter())
{
phi = phiHbyA - pEqn.flux();
}
}

#include "continuityErrs.H"

// Explicitly relax pressure for momentum corrector
p.relax();

// Momentum corrector
U = HbyA - rAU*fvc::grad(p);
U.correctBoundaryConditions();
fvOptions.correct(U);
}

AB08 June 25, 2013 06:58

Doubts in scalarTransportFoam
 
Hi,,, i m new to OpenFoam nd need sm help .......

What is the function of fvOptions in the following????

#include "fvCFD.H"
#include "fvIOoptionList.H"
#include "simpleControl.H"

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

int main(int argc, char *argv[])
{
#include "setRootCase.H"
#include "createTime.H"
#include "createMesh.H"
#include "createFields.H"
#include "createFvOptions.H"

simpleControl simple(mesh);

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

Info<< "\nCalculating scalar transport\n" << endl;

#include "CourantNo.H"

while (simple.loop())
{
Info<< "Time = " << runTime.timeName() << nl << endl;

while (simple.correctNonOrthogonal())
{
solve
(
fvm::ddt(T)
+ fvm::div(phi, T)
- fvm::laplacian(DT, T)
==
fvOptions(T)
);
}

runTime.write();
}

Info<< "End\n" << endl;

return 0;
}

cyang July 2, 2013 14:22

I also have the same questions. Does anyboody know the answers?

AB08 July 4, 2013 06:47

Hey cyang,, i dont have the answers yet....but hv a look here ,,might help

http://www.cfd-online.com/Forums/ope...sportfoam.html


All times are GMT -4. The time now is 19:49.