CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   picture "cracked" on paraFoam (https://www.cfd-online.com/Forums/openfoam/206071-picture-cracked-parafoam.html)

mnaufalazwar August 29, 2018 08:06

picture "cracked" on paraFoam
 
1 Attachment(s)
Hi guys, I am working on heat transfer in porous media, and I have a problem with my paraview when I run paraFoam on my terminal.

On my case, the flow is driven by pressure gradient, when I put low pressure on my case, it seems fine, but when I put higher pressure, the picture in paraview seems broken like this :
https://www.cfd-online.com/Forums/at...1&d=1535544130

I think my problem is because the temperature is very high and it makes my flow is turbulent, how can I insert the turbulent characteristic on my solver?

I make my own solver named darcyTemperatureFoam, here is my createFields.H :

Info<< "Reading field p\n" << endl;

volScalarField p
(
IOobject
(
"p",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);

Info<< "Reading field U\n" << endl;

volVectorField U
(
IOobject
(
"U",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
mesh,
dimensionedVector("U",dimensionSet(0,1,-1,0,0,0,0),vector::zero)
);

surfaceScalarField phi ("phi", linearInterpolate(U) & mesh.Sf());

Info<< "Reading field T\n" << endl;

volScalarField T
(
IOobject
(
"T",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);

Info<< "Reading transportProperties\n" << endl;

IOdictionary transportProperties
(
IOobject
(
"transportProperties",
runTime.constant(),
mesh,
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE
)
);

Info<< "Reading diffusivity DT\n" << endl;

dimensionedScalar DT
(
transportProperties.lookup("DT")
);

Info<< "Reading porosity eps\n" << endl;

dimensionedScalar eps
(
transportProperties.lookup("eps")
);

Info<< "Reading solidHeatCapacities rhoCps\n" << endl;

dimensionedScalar rhoCps
(
transportProperties.lookup("rhoCps")
);

Info<< "Reading fluidHeatCapacities rhoCpf\n" << endl;

dimensionedScalar rhoCpf
(
transportProperties.lookup("rhoCpf")
);

Info<< "Reading permeability k\n" << endl;

dimensionedScalar k
(
transportProperties.lookup("k")
);

Info<< "Reading fluid viscosity mu\n" << endl;

dimensionedScalar mu
(
transportProperties.lookup("mu")
);

and here is my darcyTemperatureFoam.C

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

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

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

#include "createTime.H"
#include "createMesh.H"

simpleControl simple(mesh);

#include "createFields.H"

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

Info<< "\nCalculating pressure distribution\n" << endl;

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

while (simple.correctNonOrthogonal())
{
solve
(
fvm::laplacian(k/mu, p)
);
}

U = -k/mu*fvc::grad(p);

phi = linearInterpolate(U) & mesh.Sf();

solve
(
(eps*rhoCpf+(1.-eps)*rhoCps)*fvm::ddt(T)
+ rhoCpf*fvm::div(phi, T)
==
fvm::laplacian(DT, T)
);

runTime.write();

Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
<< nl << endl;
}

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

return 0;
}


All times are GMT -4. The time now is 10:05.