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/)
-   -   buoyantSimpleFoam for HVAC application (https://www.cfd-online.com/Forums/openfoam-solving/104377-buoyantsimplefoam-hvac-application.html)

Mojtaba.a July 8, 2012 09:05

buoyantSimpleFoam for an HVAC application
 
Hi.
I am using buoyantSimpleFoam for a simple HVAC system containing 4 air inlet on the ceiling and various forms of air outlet on the wall. There are 5 boxes in the room as a model for humans. there is a lamp producing a known amount of heat.
When i run the simulation after 3 iterations I got this error message:
Quote:


/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.0.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 2.0.1
Exec : buoyantSimpleFoam
Date : Jul 08 2012
Time : 17:03:33
Host : mojtaba-HP-Pavilion-dv5-Notebook-PC
PID : 25666
Case : /home/mojtaba/OpenFOAM/mojtaba-2.0.1/run/6_case1/RAS
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0


Reading g
Reading thermophysical properties

Selecting thermodynamics package hPsiThermo<pureMixture<constTransport<specieThermo <hConstThermo<perfectGas>>>>>
Reading field U

Reading/calculating face flux field phi

Creating turbulence model

Selecting RAS turbulence model kEpsilon
kEpsilonCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
C3 -0.33;
sigmak 1;
sigmaEps 1.3;
Prt 1;
}

Calculating field g.h

Reading field p_rgh


SIMPLE: convergence criteria
field p_rgh tolerance 0.01
field U tolerance 0.001
field h tolerance 0.001
field "(k|epsilon|omega)" tolerance 0.001


Starting time loop

Time = 0.01

DILUPBiCG: Solving for Ux, Initial residual = 1, Final residual = 0.00330151, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 1, Final residual = 0.0046823, No Iterations 1
DILUPBiCG: Solving for Uz, Initial residual = 1, Final residual = 0.00350567, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 1, Final residual = 1.39886e-06, No Iterations 1
DICPCG: Solving for p_rgh, Initial residual = 0.971915, Final residual = 0.00889702, No Iterations 33
time step continuity errors : sum local = 3.10455, global = -3.6689e-16, cumulative = -3.6689e-16
rho max/min : 1.3434 0.990723
DILUPBiCG: Solving for epsilon, Initial residual = 0.971289, Final residual = 0.0619395, No Iterations 1
DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 0.033557, No Iterations 1
ExecutionTime = 1.21 s ClockTime = 1 s

Time = 0.02

DILUPBiCG: Solving for Ux, Initial residual = 0.127444, Final residual = 0.000790034, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.0886407, Final residual = 0.000657201, No Iterations 1
DILUPBiCG: Solving for Uz, Initial residual = 0.113225, Final residual = 0.000845678, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 0.435941, Final residual = 0.00537677, No Iterations 3
DICPCG: Solving for p_rgh, Initial residual = 1, Final residual = 0.00945094, No Iterations 638
time step continuity errors : sum local = 0.518813, global = -2.86768e-16, cumulative = -6.53658e-16
rho max/min : 1.97732e+10 -9.88007e+09
DILUPBiCG: Solving for epsilon, Initial residual = 0.605293, Final residual = 0.0131068, No Iterations 1
DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 0.014658, No Iterations 2
ExecutionTime = 4.24 s ClockTime = 4 s

Time = 0.03

DILUPBiCG: Solving for Ux, Initial residual = 0.189338, Final residual = 0.00230566, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.153492, Final residual = 0.00222301, No Iterations 1
DILUPBiCG: Solving for Uz, Initial residual = 0.0758416, Final residual = 0.00080249, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 0.0792621, Final residual = 0.000120424, No Iterations 1


--> FOAM FATAL ERROR:
Maximum number of iterations exceeded

From function specieThermo<Thermo>::T(scalar f, scalar T0, scalar (specieThermo<Thermo>::*F)(const scalar) const, scalar (specieThermo<Thermo>::*dFdT)(const scalar) const) const
in file /home/mojtaba/OpenFOAM/OpenFOAM-2.0.1/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 67.

FOAM aborting

#0 Foam::error:: printStack(Foam::Ostream&) in "/home/mojtaba/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/mojtaba/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 Foam::hPsiThermo<Foam:: pureMixture<Foam::constTransport<Foam::specieTherm o<Foam::hConstThermo<Foam:: perfectGas> > > > >::calculate() in "/home/mojtaba/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/lib/libbasicThermophysicalModels.so"
#3 Foam::hPsiThermo<Foam:: pureMixture<Foam::constTransport<Foam::specieTherm o<Foam::hConstThermo<Foam:: perfectGas> > > > >::correct() in "/home/mojtaba/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/lib/libbasicThermophysicalModels.so"
#4
in "/home/mojtaba/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/bin/buoyantSimpleFoam"
#5 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#6
in "/home/mojtaba/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/bin/buoyantSimpleFoam"
Aborted

Any helps would be appreciated.

tian July 9, 2012 04:57

Hi,

check your boundary setup at time 0. It seems to be wrong.

Bye
Tian

Mojtaba.a July 9, 2012 08:06

1 Attachment(s)
Quote:

Originally Posted by tian (Post 370418)
Hi,

check your boundary setup at time 0. It seems to be wrong.

Bye
Tian

Hi Tian,
Thanks for yout reply. my boundary conditions at time 0 are as follows:

For Pressure:
Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.0.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [1 -1 -2 0 0 0 0];

internalField uniform 35e4;

boundaryField
{
wall
{
type calculated;
value $internalField;
}

air-inlet
{
type fixedValue;
value 2e5;
}

out_flow
{
type calculated;
value $internalField;
}

patient
{
type calculated;
value $internalField;
}

staff4
{
type calculated;
value $internalField;
}

staff3
{
type calculated;
value $internalField;
}

staff2
{
type calculated;
value $internalField;
}

staff1
{
type calculated;
value $internalField;
}

back_light
{
type calculated;
value $internalField;
}

light
{
type calculated;
value $internalField;
}

}

// ************************************************** *********************** //
For Velocity:
Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.0.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 1 -1 0 0 0 0];

internalField uniform (0 0 0);

boundaryField
{
wall
{
type fixedValue;
value uniform (0 0 0);
}

air-inlet
{
type turbulentInlet;
referenceField uniform (0 -1 0);
fluctuationScale (0.01 0.01 0.01);
value uniform (0 -1 0);
}

out_flow
{
type inletOutlet;
inletValue uniform (0 0 0);
value uniform (0 0 0);
}

patient
{
type fixedValue;
value uniform (0 0 0);
}

staff4
{
type fixedValue;
value uniform (0 0 0);
}

staff3
{
type fixedValue;
value uniform (0 0 0);
}

staff2
{
type fixedValue;
value uniform (0 0 0);
}

staff1
{
type fixedValue;
value uniform (0 0 0);
}

back_light
{
type fixedValue;
value uniform (0 0 0);
}

light
{
type fixedValue;
value uniform (0 0 0);
}

}

// ************************************************** *********************** //
For Temperature:
Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.0.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 0 0 1 0 0 0];

internalField uniform 300;

boundaryField
{
wall
{
type fixedValue;
value uniform 298;
}

air-inlet
{
type fixedValue;
value uniform 293;
}

out_flow
{
type fixedValue;
value uniform 293;
}

patient
{
type fixedValue;
value uniform 307;
}

staff4
{
type fixedValue;
value uniform 307;
}

staff3
{
type fixedValue;
value uniform 307;
}

staff2
{
type fixedValue;
value uniform 307;
}

staff1
{
type fixedValue;
value uniform 307;
}

back_light
{
type fixedValue;
value uniform 298;
}
light
{
type fixedValue;
value uniform 298;
}
}

// ************************************************** *********************** //
Model image:


tian July 9, 2012 08:26

Hi,

T: out_flow
type fixedValue;
value uniform 293;
-- > Should be "zeroGradient" ?

P:
internalField uniform 35e4; ?
Is it not to much for a normal room?

air-inlet should be "zeroGradient" and out_flow also as fixedValue?

Bye
Tian

Mojtaba.a July 9, 2012 14:27

Quote:

Originally Posted by tian (Post 370444)
air-inlet should be "zeroGradient" and out_flow also as fixedValue?

Do you mean I apply these changes in pressure 0 conditions? or all other conditions too?
And what do i assign as value to out_flow when I change it to fixedValue?

Mojtaba.a July 9, 2012 14:35

Quote:

Originally Posted by tian (Post 370444)
Hi,

T: out_flow
type fixedValue;
value uniform 293;
-- > Should be "zeroGradient" ?

P:
internalField uniform 35e4; ?
Is it not to much for a normal room?

air-inlet should be "zeroGradient" and out_flow also as fixedValue?

Bye
Tian

Final initial conditions are now as follows:

For Pressure:
Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.0.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [1 -1 -2 0 0 0 0];

internalField uniform 1e5;

boundaryField
{
wall
{
type calculated;
value $internalField;
}

air-inlet
{
type zeroGradient;
}

out_flow
{
type fixedValue;
value 1e5;
}

patient
{
type calculated;
value $internalField;
}

staff4
{
type calculated;
value $internalField;
}

staff3
{
type calculated;
value $internalField;
}

staff2
{
type calculated;
value $internalField;
}

staff1
{
type calculated;
value $internalField;
}

back_light
{
type calculated;
value $internalField;
}

light
{
type calculated;
value $internalField;
}

}

// ************************************************** *********************** //
For Temperature:
Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.0.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 0 0 1 0 0 0];

internalField uniform 300;

boundaryField
{
wall
{
type fixedValue;
value uniform 298;
}

air-inlet
{
type fixedValue;
value uniform 293;
}

out_flow
{
type zeroGradient;
}

patient
{
type fixedValue;
value uniform 307;
}

staff4
{
type fixedValue;
value uniform 307;
}

staff3
{
type fixedValue;
value uniform 307;
}

staff2
{
type fixedValue;
value uniform 307;
}

staff1
{
type fixedValue;
value uniform 307;
}

back_light
{
type fixedValue;
value uniform 298;
}
light
{
type fixedValue;
value uniform 298;
}
}

// ************************************************** *********************** //
For P_rgh:
Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.0.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [1 -1 -2 0 0 0 0];

internalField uniform 1e5;

boundaryField
{
wall
{
type buoyantPressure;
value $internalField;
}

air-inlet
{
type buoyantPressure;
value $internalField;
}

out_flow
{
type buoyantPressure;
value $internalField;
}

patient
{
type buoyantPressure;
value $internalField;
}

staff4
{
type buoyantPressure;
value $internalField;
}

staff3
{
type buoyantPressure;
value $internalField;
}

staff2
{
type buoyantPressure;
value $internalField;
}

staff1
{
type buoyantPressure;
value $internalField;
}

back_light
{
type buoyantPressure;
value $internalField;
}
light
{
type buoyantPressure;
value $internalField;
}
}

// ************************************************** *********************** //
For Velocity:
Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.0.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 1 -1 0 0 0 0];

internalField uniform (0 0 0);

boundaryField
{
wall
{
type fixedValue;
value uniform (0 0 0);
}

air-inlet
{
type turbulentInlet;
referenceField uniform (0 -1 0);
fluctuationScale (0.01 0.01 0.01);
value uniform (0 -1 0);
}

out_flow
{
type inletOutlet;
inletValue uniform (0 0 0);
value uniform (0 0 0);
}

patient
{
type fixedValue;
value uniform (0 0 0);
}

staff4
{
type fixedValue;
value uniform (0 0 0);
}

staff3
{
type fixedValue;
value uniform (0 0 0);
}

staff2
{
type fixedValue;
value uniform (0 0 0);
}

staff1
{
type fixedValue;
value uniform (0 0 0);
}

back_light
{
type fixedValue;
value uniform (0 0 0);
}

light
{
type fixedValue;
value uniform (0 0 0);
}

}

// ************************************************** *********************** //
But i face the same error message again.

himanshu28 November 14, 2017 16:28

Quote:

Originally Posted by Mojtaba.a (Post 370520)
Final initial conditions are now as follows:

For Pressure:


For Temperature:


For P_rgh:


For Velocity:


But i face the same error message again.

Were you able to solve the problem. I am doing pretty much the same kind of the problem, and getting the same divergence.

Thank you

jaydeep November 16, 2017 15:49

As a thumb rule - you should not use explicit boundary conditions to Pressure in cht solvers.

Quote:

p = p_rgh + rho*gh;
This is how pressure is handled in the solver.


Secondly - for free boundaries on pressure (atmospheric) ideally you should use totalPressure in p_rgh (updated version of buoyantPressure), although I have experienced instability with totalPressure and discovered zeroGradient to be working quite well.

Next - for inlet conditions, unless specified, I'd recommend "zeroGradient" at both inlets and outlets in velocity boundary condition.


All times are GMT -4. The time now is 02:42.