CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

Integrated conjugate heat transfer solver in OpenFOAM

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree3Likes

Reply
 
LinkBack Thread Tools Display Modes
Old   December 30, 2008, 18:55
Default has anyone used conjugateHeatF
  #121
New Member
 
Peter Canfield
Join Date: Mar 2009
Posts: 16
Rep Power: 7
canfield is on a distinguished road
has anyone used conjugateHeatFoam in OF-1.5? I am still having difficulties compiling the solver. Any help would be much appreciated?
canfield is offline   Reply With Quote

Old   December 31, 2008, 08:19
Default I seem to have managed to get
  #122
New Member
 
Peter Canfield
Join Date: Mar 2009
Posts: 16
Rep Power: 7
canfield is on a distinguished road
I seem to have managed to get around my OFStream problem while compiling the solver. But now I get this:
peter@peter-laptop:~/OpenFOAM/peter-1.5/applications/solvers/conjugateHeatFoam$ wmake
Making dependency list for source file regionCouplePolyPatch/regionCouplePolyPatch.C
Making dependency list for source file coupledLduMatrix/coupledLduMatrix.C
Making dependency list for source file coupledLduSolver/coupledLduSolver.C
Making dependency list for source file coupledDiagonalSolver/coupledDiagonalSolver.C
Making dependency list for source file coupledFvMatrices/coupledFvMatrix/coupledFvMatrix.C
Making dependency list for source file coupledFvMatrices/coupledFvScalarMatrix/coupledFvScalarMatrix.C
Making dependency list for source file coupledFvMatrices/coupledFvMatrices.C
Making dependency list for source file conjugateHeatFoam.C
could not open file regionCouplePolyPatch.H for source file conjugateHeatFoam.C
SOURCE=regionCouplePolyPatch/regionCouplePolyPatch.C ; g++ -m32 -Dlinux -DDP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-40 -I/home/peter/OpenFOAM/OpenFOAM-1.5/src/coupledMatrix/lnInclude -I/home/peter/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude -IlnInclude -I. -I/home/peter/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude -I/home/peter/OpenFOAM/OpenFOAM-1.5/src/OSspecific/Unix/lnInclude -fPIC -pthread -c $SOURCE -o Make/linuxGccDPOpt/regionCouplePolyPatch.o
SOURCE=coupledLduMatrix/coupledLduMatrix.C ; g++ -m32 -Dlinux -DDP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-40 -I/home/peter/OpenFOAM/OpenFOAM-1.5/src/coupledMatrix/lnInclude -I/home/peter/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude -IlnInclude -I. -I/home/peter/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude -I/home/peter/OpenFOAM/OpenFOAM-1.5/src/OSspecific/Unix/lnInclude -fPIC -pthread -c $SOURCE -o Make/linuxGccDPOpt/coupledLduMatrix.o
In file included from coupledLduMatrix/coupledLduMatrix.C:36:
coupledLduMatrix/coupledLduMatrix.H:109: error: expected ',' or '...' before '&' token
coupledLduMatrix/coupledLduMatrix.H:111: error: ISO C++ forbids declaration of 'lduInterfaceFieldPtrsListList' with no type
coupledLduMatrix/coupledLduMatrix.H:119: error: expected ',' or '...' before '&' token
coupledLduMatrix/coupledLduMatrix.H:121: error: ISO C++ forbids declaration of 'lduInterfaceFieldPtrsListList' with no type
coupledLduMatrix/coupledLduMatrix.H:129: error: expected ',' or '...' before '&' token
coupledLduMatrix/coupledLduMatrix.H:133: error: ISO C++ forbids declaration of 'lduInterfaceFieldPtrsListList' with no type
coupledLduMatrix/coupledLduMatrix.H:139: error: expected ',' or '...' before '&' token
coupledLduMatrix/coupledLduMatrix.H:143: error: ISO C++ forbids declaration of 'lduInterfaceFieldPtrsListList' with no type
coupledLduMatrix/coupledLduMatrix.C:118: error: expected ',' or '...' before '&' token
coupledLduMatrix/coupledLduMatrix.C:120: error: ISO C++ forbids declaration of 'lduInterfaceFieldPtrsListList' with no type
coupledLduMatrix/coupledLduMatrix.C: In member function 'void Foam::coupledLduMatrix::Amul(Foam::FieldField<foam ::field,>&, const Foam::FieldField<foam::field,>&, const Foam::PtrList<foam::fieldfield<foam::field,> >&, int) const':
coupledLduMatrix/coupledLduMatrix.C:131: error: 'interfaces' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C:134: error: 'cmpt' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C:139: error: 'const class Foam::lduMatrix' has no member named 'AmulCore'
coupledLduMatrix/coupledLduMatrix.C: At global scope:
coupledLduMatrix/coupledLduMatrix.C:159: error: expected ',' or '...' before '&' token
coupledLduMatrix/coupledLduMatrix.C:161: error: ISO C++ forbids declaration of 'lduInterfaceFieldPtrsListList' with no type
coupledLduMatrix/coupledLduMatrix.C: In member function 'void Foam::coupledLduMatrix::Tmul(Foam::FieldField<foam ::field,>&, const Foam::FieldField<foam::field,>&, const Foam::PtrList<foam::fieldfield<foam::field,> >&, int) const':
coupledLduMatrix/coupledLduMatrix.C:172: error: 'interfaces' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C:175: error: 'cmpt' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C:180: error: 'const class Foam::lduMatrix' has no member named 'TmulCore'
coupledLduMatrix/coupledLduMatrix.C: At global scope:
coupledLduMatrix/coupledLduMatrix.C:198: error: expected ',' or '...' before '&' token
coupledLduMatrix/coupledLduMatrix.C:202: error: ISO C++ forbids declaration of 'lduInterfaceFieldPtrsListList' with no type
coupledLduMatrix/coupledLduMatrix.C: In member function 'void Foam::coupledLduMatrix::initMatrixInterfaces(const Foam::PtrList<foam::fieldfield<foam::field,> >&, int) const':
coupledLduMatrix/coupledLduMatrix.C:211: error: 'interfaces' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C:212: error: 'x' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C:213: error: 'result' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C:214: error: 'cmpt' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C: At global scope:
coupledLduMatrix/coupledLduMatrix.C:223: error: expected ',' or '...' before '&' token
coupledLduMatrix/coupledLduMatrix.C:227: error: ISO C++ forbids declaration of 'lduInterfaceFieldPtrsListList' with no type
coupledLduMatrix/coupledLduMatrix.C: In member function 'void Foam::coupledLduMatrix::updateMatrixInterfaces(con st Foam::PtrList<foam::fieldfield<foam::field,> >&, int) const':
coupledLduMatrix/coupledLduMatrix.C:236: error: 'interfaces' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C:237: error: 'x' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C:238: error: 'result' was not declared in this scope
coupledLduMatrix/coupledLduMatrix.C:239: error: 'cmpt' was not declared in this scope
make: *** [Make/linuxGccDPOpt/coupledLduMatrix.o] Fehler 1

anyone have any ideas?

PC
canfield is offline   Reply With Quote

Old   December 31, 2008, 10:35
Default Your choice is easy: - use 1.
  #123
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,730
Rep Power: 20
hjasak will become famous soon enough
Your choice is easy:
- use 1.5-dev, where all the changes are done and it will all work and compile for you
- carry on merging changes into whatever version you choose. What you see is just the beginning...

My preference is probably clear

Happy New Year,

Hrv
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   January 5, 2009, 11:33
Default dear all!! i would like to
  #124
Senior Member
 
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 181
Rep Power: 7
mabinty is on a distinguished road
dear all!!

i would like to implement the P1 radiation model (used in the buoyantSimplRadiationFoam solver) into the chtMultiRegionFoam solver. i m using the 1.5 version and started first by implementing the P1-model into the transient buoyantFoam solver which i think works well as a parameter study with respect to the absorption/emission coefficients showed plausible results. Now i m about to realize the implementation into the chtMultiRegionFoam solver, but the same parameter study indicates that the energy balance is decoupled from the radiative transfer equation (plausible behavior of the radiative flux but no changes in temperature distribution). my implementation looks like this:

1.) create a radiationModel "rad" in creatFluidFields.H with the temperature field thermof[i].T().

2.) the object "rad" is given to the function solveEnthalpyEquation, done at the top of hEqn.H and solveEnthalpyEquation.C.

3.) add the radiation source term to the enthalpy equation in solveEnthalpyEquation.C in the form rad.Sh(thermo).

i ll keep working on it and report, and would greatly appreciate any comments!! thx in advance!!

aram
mabinty is offline   Reply With Quote

Old   January 29, 2009, 13:03
Default Has anyone used conjugateHeatF
  #125
New Member
 
Brent Craven
Join Date: Mar 2009
Location: University Park, PA, USA
Posts: 21
Rep Power: 7
brent_craven is on a distinguished road
Has anyone used conjugateHeatFoam in parallel with both fluid and solid domains decomposed? If so, can you highlight your methodology ... I am having some problems getting it to work.

Thanks,
Brent
brent_craven is offline   Reply With Quote

Old   February 26, 2009, 11:13
Default Hi, I am thinking about usi
  #126
Senior Member
 
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 9
braennstroem is on a distinguished road
Hi,

I am thinking about using the cht-dev version for a problem with three regions; the heat transfers between one air fluid region, a solid region and a second solid/fluid region with phase change. In the phase change region I would like to apply the enthalpy-porosity approach. As I got it I need a second fluid solving equation with an additional porosity source term and a third temperature equation for the phase change material. My approach would be to create a coupled matrix with 3 equations for the temperature:

coupledFvScalarMatrix TEqns(3);

though I am not sure, if this works and how one would do it with the two different momentum equations!?

Would be nice, if anyone has some hints!
Greetings!
Fabian
braennstroem is offline   Reply With Quote

Old   April 25, 2009, 10:03
Default
  #127
Senior Member
 
John Deas
Join Date: Mar 2009
Posts: 160
Rep Power: 7
johndeas is on a distinguished road
Hi,

I tried to run conjugateHeatFoam on the 1.5-dev tutorial. I tried to run it directly, since blockMesh would have erased the default boundary file with regionCoupling.

So, when I enter the conjugateCavity directory and type:

Code:
conjugateHeatFoam
All I get is:

Code:
Unknown asymmetric matrix solver BiCGStab

Valid asymmetric matrix solvers are :

4
(
smoothSolver
PBiCG
BICCG
GAMG
)


file: /home/vinvin/Desktop/09-04/conjugateHeatFoam/conjugateCavity/system/fvSolution::U at line 28.

    From function lduMatrix::solver::New
    in file matrices/lduMatrix/lduMatrix/lduMatrixSolver.C at line 120.

FOAM exiting
johndeas is offline   Reply With Quote

Old   April 25, 2009, 10:53
Default Change your solver
  #128
Senior Member
 
chegdan's Avatar
 
Daniel P. Combest
Join Date: Mar 2009
Location: St. Louis, USA
Posts: 505
Rep Power: 17
chegdan will become famous soon enough
Johndeas,

This error message is telling you to change your solver. In the "system/fvsolution" file in your case, change the solver from BiCGStab to one of the allowed solvers printed in the error message. choose between:

smoothSolver
PBiCG
BICCG
GAMG

that should work

Dan


Quote:
Originally Posted by johndeas View Post
Hi,

I tried to run conjugateHeatFoam on the 1.5-dev tutorial. I tried to run it directly, since blockMesh would have erased the default boundary file with regionCoupling.

So, when I enter the conjugateCavity directory and type:

Code:
conjugateHeatFoam
All I get is:

Code:
Unknown asymmetric matrix solver BiCGStab

Valid asymmetric matrix solvers are :

4
(
smoothSolver
PBiCG
BICCG
GAMG
)


file: /home/vinvin/Desktop/09-04/conjugateHeatFoam/conjugateCavity/system/fvSolution::U at line 28.

    From function lduMatrix::solver::New
    in file matrices/lduMatrix/lduMatrix/lduMatrixSolver.C at line 120.

FOAM exiting
chegdan is offline   Reply With Quote

Old   April 25, 2009, 15:00
Default
  #129
Senior Member
 
John Deas
Join Date: Mar 2009
Posts: 160
Rep Power: 7
johndeas is on a distinguished road
I will, but I found odd that the tutorial wasn't working with default settings.

I suspect a corruption in my install but I have the latest svn commit, and the only compilation error was related (from memory) to a wrapper.H early in compilation.
johndeas is offline   Reply With Quote

Old   April 28, 2009, 03:28
Default
  #130
Senior Member
 
Henrik Rusche
Join Date: Mar 2009
Location: Braunschweig, Niedersachsen, Germany
Posts: 273
Rep Power: 8
henrik is on a distinguished road
@Fabian:

Yes, you can solve on three regions, but you need to duplicate the flow physics which is not natural unless the physics is actually different, e.g. turbulent on one side and visco-elastic on the other.

I suggest you try this (think of a sandwich):

1 fluid mesh with two regions: The toast
1 solid mesh: The stuff between the toast

Then cook using coupledFvScalarMatrix TEqns(2);

Henrik
henrik is offline   Reply With Quote

Old   May 14, 2009, 04:14
Default
  #131
New Member
 
Kyian Barrat
Join Date: Apr 2009
Posts: 25
Rep Power: 7
Khelian973 is on a distinguished road
Hi,

I would like to simulate a flow in a conduct but with 1 specific material on the top, and a different one on the bottom (there are both solid materials).
I would like to see the impact of the heat transfert of the flow on these 2 differents materials.
Which solver i have to use? chtMultiRegionFoam or conjugateHeatFoam ?
Thanks in advance
Khelian973 is offline   Reply With Quote

Old   May 14, 2009, 04:42
Default
  #132
Senior Member
 
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 9
braennstroem is on a distinguished road
Hallo Henrik,

thanks for your help! I will see, how it works out...

Fabian
braennstroem is offline   Reply With Quote

Old   May 27, 2009, 02:26
Default
  #133
New Member
 
Join Date: May 2009
Posts: 7
Rep Power: 7
dakos is on a distinguished road
Hi,

I'm trying to run the conjugateHeatFoam tutorial but I'm encountering some difficulties.
If I run blockMesh I have: Unknown polyPatch type regionCouple for patch right.
If I run conjugateHeatFoam: Cannot find file "points" in directory "constant/solid/polyMesh".
I don't know why!
Can someone help me?
Thanks

Dario
dakos is offline   Reply With Quote

Old   May 31, 2009, 08:15
Default
  #134
New Member
 
Join Date: May 2009
Posts: 7
Rep Power: 7
dakos is on a distinguished road
Hi,

I have solved my problem, now the solver seems to go.
Thanks

Dario
dakos is offline   Reply With Quote

Old   June 2, 2009, 06:19
Unhappy OpenFOAM-1.5-dev: heat transfer problems
  #135
mgc
New Member
 
Maria
Join Date: Apr 2009
Posts: 12
Rep Power: 7
mgc is on a distinguished road
Hi there!

Is it possible to access the thermophysicalProperties dictionary??

If yes: please, let me know how can I do it.
If not: I think it could be useful....at least I would use it.

At the moment I have created a new IOdictionary called "thermoDict" in the createFields.H file, then in the directory case/constant I have created a symbolic link to the thermophysicalProperties dictionary called thermoDict....It is not really clean, but at least it works!

Marķa

Last edited by mgc; June 2, 2009 at 07:54.
mgc is offline   Reply With Quote

Old   July 20, 2009, 16:06
Default conjugateHeatFoam: gradientInternalCoeffs cannot be called for a genericFvPatchField
  #136
New Member
 
Join Date: Apr 2009
Posts: 10
Rep Power: 7
Pierpaolo is on a distinguished road
Hi all,
I am interested in the conjugateHeatFoam solver. After downloading and compiling svn 1.5-dev I have been trying to study the conjugateCavity tutorial. After altering the unrecognized "regionCoupling" to "regionCouple", altering the solid and fluid poliMesh boundary files, making all the requested links to "solid" in the conjugateCavity case dir, I keep getting the following error message:

----- snip --------
Time = 0.01

Courant Number mean: 0 max: 0 velocity magnitude: 0
PBiCG: Solving for Ux, Initial residual = 1, Final residual = 1.36284e-06, No Iterations 6
PBiCG: Solving for Uy, Initial residual = 0, Final residual = 0, No Iterations 0
PCG: Solving for p, Initial residual = 1, Final residual = 7.95294e-07, No Iterations 18
time step continuity errors : sum local = 1.41709e-08, global = 6.98802e-19, cumulative = 6.98802e-19
PCG: Solving for p, Initial residual = 0.431067, Final residual = 1.96388e-07, No Iterations 18
time step continuity errors : sum local = 6.11905e-09, global = -2.96462e-19, cumulative = 4.02341e-19

gradientInternalCoeffs cannot be called for a genericFvPatchField (actual type regionCouple)
on patch right of field T in file "/home/pier/OpenFOAM/OpenFOAM-1.5-dev/tutorials/conjugateHeatFoam/conjugateCavity/0/T"
You are probably trying to solve for a field with a generic boundary condition.

From function genericFvPatchField<Type>::gradientInternalCoeffs( ) const
in file fields/fvPatchFields/basic/generic/genericFvPatchField.C at line 692.

FOAM exiting

-------------------------------

In 0/T the "right" patch reads as follow:

--------------------------------
right
{
type regionCouple; //regionCoupling;
value uniform 273;

remoteField T;
}
---------------------------------

Could someone please give me a hint on how to solve this?

Thanks a lot,
Pier
Pierpaolo is offline   Reply With Quote

Old   July 21, 2009, 10:17
Default
  #137
mgc
New Member
 
Maria
Join Date: Apr 2009
Posts: 12
Rep Power: 7
mgc is on a distinguished road
Quote:
Originally Posted by Pierpaolo View Post
In 0/T the "right" patch reads as follow:
--------------------------------
right
{
type regionCouple; //regionCoupling;
value uniform 273;

remoteField T;
}
---------------------------------

Pier,
This is wrong.
The "right" boundary condition in "case/0/T" should look like this:
<<
right
{
type regionCoupling;
value uniform 273;
remoteField T;
}
>>

Meanwhile, "right" in "case/constant/polyMesh/boundary" should be as follows:

<<
right
{
type regionCouple;
shadowRegion solid;
shadowPatch left;
attached on;
nFaces 10;
startFace 200;
}
>>

Let me know if it helps!

Marķa
mgc is offline   Reply With Quote

Old   July 21, 2009, 14:11
Default solved
  #138
New Member
 
Join Date: Apr 2009
Posts: 10
Rep Power: 7
Pierpaolo is on a distinguished road
Maria,
thank you very much for your reply.
I would have banged my head against my desk for days without your help.
A posteriori, I can say that a more careful reading of the thread on my part (#65 and #92) would have been advisable.

Pier
Pierpaolo is offline   Reply With Quote

Old   July 22, 2009, 10:58
Default
  #139
Senior Member
 
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 181
Rep Power: 7
mabinty is on a distinguished road
Dear all!!

I m using the chtMultiRegionFoam solver supplied with OF 1.5.x. I searched the forum for how to parallelise a simulation with this solver and found some comments on it but still run into problems. The main problem is the decomposition of the fluid and solid region as well as their communication. When I use "mpirun.openmpi -np 4 chtMultiRegionFoam -parallel" after applying the "decomposePar" utillity, all my 4 cpus get busy; but instead of simulating one portion of the domain, each cpu solves for the complete domain. What I m trying now is first to decompose the domain with "decomposePar", and then to split each subdomain in its fluid and solid region. Till now I haven t succeeded yet but I ll keep on investigating. I would greatly appreciate any hint on how to parallelise with chtMultiRegionFoam!!

Thx in advance!! All the best,
Aram
mabinty is offline   Reply With Quote

Old   July 23, 2009, 07:06
Default
  #140
Senior Member
 
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 181
Rep Power: 7
mabinty is on a distinguished road
Hi all!!

Hope someone can help me with the problem I face with "my" way of how to parallelise with chtMultiRegionFoam, as described below. I proceeded as follows:

1) split the whole domain in the fluid and solid region, and run "changeDictionary" as done in the "Allrun" executable.
2) replace the constant/polyMesh directory with air/polyMesh found in 0.001/.
3) run "decomposePar" so the fluid mesh is decomposed into 4 domains (put in processor<n> n=4 directories; looks plausible when visualised with paraFoam, where it can be seen that the solid region is excluded).
4) copy 0.001/ into processor<n>
5) run "mpirun.openmpi -np 4 chtMultiRegionFoam -parallel"

All 4 cpus get busy but the simulation needs longer than in serial. When I check the results stored in the directories processor<n>/<time>/<fluidRegion>/ I can see that values for the whole region, instead of one forth are available. Currently this behaviour is not cmprehensible for me. Hope somebody can shed light on that!

Thx in advance!!!! All the best,
Aram
mabinty is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
conjugate heat transfer ajay chandra FLUENT 3 October 26, 2010 17:14
heat transfer in conjugate heat problems cirilo CD-adapco 1 April 18, 2006 09:16
What's conjugate heat transfer? Larva-nymph Main CFD Forum 7 March 16, 2005 07:27
Conjugate Heat Transfer A. Roy Phoenics 1 June 26, 2002 18:35
Conjugate Heat Transfer Thomas P. Abraham Main CFD Forum 11 May 7, 1999 10:46


All times are GMT -4. The time now is 03:33.