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/)
-   -   chtmultiregion: pipe in a wall (https://www.cfd-online.com/Forums/openfoam-solving/87430-chtmultiregion-pipe-wall.html)

NicolasB April 20, 2011 05:24

chtmultiregion: pipe in a wall
 
3 Attachment(s)
Hi!
Even if there are many threads about cht, I haven't fixed my problem.
I've got a wall (concrete) on half a circle (radius = 40m). There is a sheathed cable (steel) through it, on the length.
I have to blow hot air (313K) in the sheath, and study the heating of the wall (initial temperature = 263K).
I use the chtMultiRegionSimpleFoam solver.
I've made the mesh with Gambit, converted it using 'fluent3DMeshToFoam', and then splitting it by the three regions (air, cable, concrete), with 'splitMeshRegions -cellZones -overwrite'.
The attached picture shows a section of the domain
I've used the multiRegionHeater tutorial to set up my case: files needed, BC's, fvSchemes, fvSolutions...

1) on the diretMappedWalls, temperature is set as compressible::tubulentTemperatureCoupledBaffle. Wall functions are also 'compressible::' for k and epsilon. How may I do in order to run an incompressible case?

2) I gave correct values (I hope so :)) to rho, Cp and K for both concrete (2500; 880; 0.92) and steel (7867; 502.48; 16.27). However, the wall is heated by the fluid faster than the cable. I don't understand why.
I ran the case on Fluent, and I haven't this problem. I certainly mistaken in my BCs, but I don't know where.

3) I've seen the wallHeatFlux utility was only for combustion cases. Therefore I've tried the wallHeatFluxRho found on a thread. But I can't make it work:
Code:

$ wallHeatFluxRho
/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.7.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.com                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 1.7.0-113391ee57bd
Exec  : wallHeatFluxRho
Date  : Apr 20 2011
Time  : 11:08:16
Host  : caelinux-desktop
PID    : 4575
Case  : /home/caelinux/OpenFOAM/caelinux-1.7.0/Freyssinet3
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

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

Create mesh for time = 0

Time = 0
Selecting thermodynamics package hPsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam170/lib/linux64GccDPOpt/libOpenFOAM.so"
#1  Foam::sigFpe::sigFpeHandler(int) in "/opt/openfoam170/lib/linux64GccDPOpt/libOpenFOAM.so"
#2  in "/lib/libc.so.6"
#3  Foam::hPsiThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > >::calculate() in "/opt/openfoam170/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#4  Foam::hPsiThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > >::hPsiThermo(Foam::fvMesh const&) in "/opt/openfoam170/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#5  Foam::basicPsiThermo::addfvMeshConstructorToTable<Foam::hPsiThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > > >::New(Foam::fvMesh const&) in "/opt/openfoam170/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#6  Foam::basicPsiThermo::New(Foam::fvMesh const&) in "/opt/openfoam170/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#7 
 in "/home/caelinux/OpenFOAM/caelinux-1.7.0/applications/bin/linux64GccDPOpt/wallHeatFluxRho"
#8  __libc_start_main in "/lib/libc.so.6"
#9 
 in "/home/caelinux/OpenFOAM/caelinux-1.7.0/applications/bin/linux64GccDPOpt/wallHeatFluxRho"
Exception en point flottant

4) last but not least, I'd like to set up a convective condition on the external vertical walls. How does it work?

The second picture shows the temperature at the inlet, after 5000it, running the case with the files in the attached archive (unfortunately without prompting for a log file).

Thanks in advance for your help

NicolasB April 27, 2011 09:57

running in parallel
 
I've almost fixed my problem on the wallHeatFlux utility thanks to this thread

By now, I'd like to run my case using 3 CPUs. I've adapted the script given in the multiRegionHeater tutorial.
However, I've got this error:
Code:

Time = 83


Solving for fluid region fluid_air
DILUPBiCG:  Solving for Ux, Initial residual = 0.27497527, Final residual = 0.013834413, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0.18275816, Final residual = 0.01096949, No Iterations 1
DILUPBiCG:  Solving for Uz, Initial residual = 0.21642908, Final residual = 0.0036842018, No Iterations 1
DILUPBiCG:  Solving for h, Initial residual = 0.40721761, Final residual = 0.010308408, No Iterations 7
Min/max T:-1587290.3 321.54105
[2]
[2]
[2] --> FOAM FATAL ERROR:
[2] Continuity error cannot be removed by adjusting the outflow.
Please check the velocity boundary conditions and/or run potentialFoam to initialise the outflow.
Total flux              : 3.83583e+17
Specified mass inflow  : 8.89806e+12
Specified mass outflow  : 0
Adjustable mass outflow : 0
[2]
[2]
[2]    From function adjustPhi(surfaceScalarField& phi, const volVectorField& U,const volScalarField& p
[2]    in file cfdTools/general/adjustPhi/adjustPhi.C at line 115.
[2]
FOAM parallel run exiting
[2]
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 2 in communicator MPI_COMM_WORLD
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
[0] [1]
[1]
[1] --> FOAM FATAL ERROR:
[1] Continuity error cannot be removed by adjusting the outflow.

Obviously the BCs are exactly the same as when using a single CPU (cf the attached archive in the previous post).
I use the Scotch's method.

Has somebody got any idea?

Regards

NicolasB May 24, 2011 10:25

new solver ?
 
In order to simplify, I'd like to know if exists a way to solve this kind of problem with incompressible and steady-state conditions.
I've already tried the chtMultiRegionFoam with the "ddt" set up as "steadyState", but with no success. And conversely it seems impossible to use the chtMultiRegionSimpleFoam with incompressible case.
Do I need to (test my weak C++ abilities and) code a new solver ?

mirko June 9, 2011 14:41

Quote:

Originally Posted by NicolasB (Post 304361)
Hi!

stuff deleted ...

3) I've seen the wallHeatFlux utility was only for combustion cases. Therefore I've tried the wallHeatFluxRho found on a thread. But I can't make it work:
Code:

$ wallHeatFluxRho
/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.7.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.com                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 1.7.0-113391ee57bd
Exec  : wallHeatFluxRho
Date  : Apr 20 2011
Time  : 11:08:16
Host  : caelinux-desktop
PID    : 4575
Case  : /home/caelinux/OpenFOAM/caelinux-1.7.0/Freyssinet3
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

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

Create mesh for time = 0

Time = 0
Selecting thermodynamics package hPsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam170/lib/linux64GccDPOpt/libOpenFOAM.so"
#1  Foam::sigFpe::sigFpeHandler(int) in "/opt/openfoam170/lib/linux64GccDPOpt/libOpenFOAM.so"
#2  in "/lib/libc.so.6"
#3  Foam::hPsiThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > >::calculate() in "/opt/openfoam170/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#4  Foam::hPsiThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > >::hPsiThermo(Foam::fvMesh const&) in "/opt/openfoam170/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#5  Foam::basicPsiThermo::addfvMeshConstructorToTable<Foam::hPsiThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > > >::New(Foam::fvMesh const&) in "/opt/openfoam170/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#6  Foam::basicPsiThermo::New(Foam::fvMesh const&) in "/opt/openfoam170/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#7 
 in "/home/caelinux/OpenFOAM/caelinux-1.7.0/applications/bin/linux64GccDPOpt/wallHeatFluxRho"
#8  __libc_start_main in "/lib/libc.so.6"
#9 
 in "/home/caelinux/OpenFOAM/caelinux-1.7.0/applications/bin/linux64GccDPOpt/wallHeatFluxRho"
Exception en point flottant

...more stuff deleted ...

Nicolas,

Do you recall how did you fix 3).

Thanks,

Mirko

NicolasB June 9, 2011 15:50

Hi Mirko,

The wallHeatFluxRho utility works only in fluid domain. In order to use it you have to set up a fake case with every data from your fluid (ie constant, system and times directories).
For more details, check this thread.

Hope my answer is clear enough.

regards

Nicolas.

chaz March 23, 2012 18:22

Any progress or new advice?
 
Hello,
I would like to evaluate heat flow or heat flux on walls in chtmultiregionfoam or chtmultiregionsimplefoam. Has there been anyone who has developed a way to do this, other than the approach mentioned. The only approach that i can find in these threads is to take the results and divide them into mutiple folder sets, and run the utitilty on each region as if it was an individual foam problem.
Thank you


All times are GMT -4. The time now is 15:14.