CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

Add conjugate heat transfer between solid/liquid to buoyantBoussinesqPimpleFoam

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

Like Tree3Likes
  • 1 Post By onlyacan
  • 2 Post By onlyacan

LinkBack Thread Tools Search this Thread Display Modes
Old   May 29, 2017, 07:17
Default Add conjugate heat transfer between solid/liquid to buoyantBoussinesqPimpleFoam
New Member
Can Huang
Join Date: Oct 2010
Posts: 8
Rep Power: 15
onlyacan is on a distinguished road
Hallo everyone,

I have developed a melting/solidification solver based on buoyantBoussinesqPimpleFoam. It was applied to melt of a cylinderical geometry. Now I have to calculate the temperature of the container (solid) with the melt. So I studied the chtMultiRegionFoam, but I found that it's quite difficult to directly integrate the code to my code because of may things such as the "setRegionFluidFields.H" etc. However I understand that basic steps are
1. create fields of each mesh (per region)
2. in each time step, update fields by solving PDEs seperately
3. coupled through the boundary condition "compressible::turbulentTemperatureCoupledBaffleMi xed"
it was also confirmed by the old presentation about "conjugate heat transfer" by Craven and Campbell 2011, link:

I have also done the toturials for chtMultiRegionFoam, but what I want is simply to calculate T for solid coupled with exsting models in melt.

Based on their hints, I extends the laplacianFoam to a very simple heat transfer code for testing/learning purpose. In that code, simple do following steps:
1. create mesh for solid and liquid separately: fvMesh solidMesh, fvMesh liquidMesh
2. create T fields sperately:
      volScalarField Tsolid

    volScalarField Tliquid
3. solving T equations for solid and liquid one after another.

(take the liquid as an example)
volScalarField& T = Tliquid;
dimensionedScalar& DT = DTliquid;
                fvm::ddt(T) - fvm::laplacian(DT, T)
Test result and problem

I have tested it in a very simple geometry: two blocks of two regions connected by a interface. It was created by blockMesh and splitMeshRegions -cellZones -overwrite. The just created code "chtTFoam" works fine if the BC on interfaces "Solid_to_liquid" and "liquid_to_Solid" are set to e.g. zeroGradient. But If I set them to "compressible::turbulentTemperatureCoupledBaffleMi xed" for conjugate heat transfer, the solver said:
Unknown patchField type compressible::turbulentTemperatureCoupledBaffleMix ed for patch type mappedWall

the patchField type "compressible::turbulentTemperatureCoupledBaffleMi xed" is even not in the list of the valid patch Field.

1. does anyone know which boundary condition is suitable for such a simple condition?

2. in the above mentioned presentation, the method "Dirichlet-Neumann partitioned Multi-region" was used, but the my first option is not to bluid the boundary condition by myself according to their description. Is there any existing BC?

3. why "compressible::turbulentTemperatureCoupledBaffleMi xed" is not known by the solver? I have included those headers from chtMultiRegionFoam.
Thanks a lot for helping and discussion!

best regards,
Ramzy1990 likes this.
onlyacan is offline   Reply With Quote

Old   May 29, 2017, 10:04
Default it works now
New Member
Can Huang
Join Date: Oct 2010
Posts: 8
Rep Power: 15
onlyacan is on a distinguished road
Thanks to some hints from some colleagues, it works now!
One has to add the libraries in Make/option:
then solver know the boundary condition "compressible::turbulentTemperatureCoupledBaffleMi xed"

    -lcompressibleTransportModels \
    -lfluidThermophysicalModels \
    -lsolidThermo \
    -lspecie \
    -lturbulenceModels \
    -lcompressibleTurbulenceModels \
    -lmeshTools \
    -lfiniteVolume \
    -lradiationModels \
    -lfvOptions \
    -lregionModels \
raj kumar saini and Ramzy1990 like this.
onlyacan is offline   Reply With Quote

Old   July 24, 2017, 20:46
New Member
Join Date: Jul 2017
Posts: 1
Rep Power: 0
c3scriven is on a distinguished road
Could you please post you solver in order to understand how are you implementing conjugate heat transfer into buoyantBoussinesqPimpleFoam?.
I'm also trying to modify fabian roesler solver from melting problem: looking for appropriate solvers
but I don't know how to implement chtMultiRegionFoam.
c3scriven is offline   Reply With Quote

Old   March 13, 2019, 11:16
New Member
Join Date: May 2018
Posts: 3
Rep Power: 8
AmalSoman is on a distinguished road
Dear onlyacan,
I tried doing what you did but didn't work. I am relatively new to OpenFOAM. It would be helpful you can share all the changes you made in buoyantbuossinesq pimple foam. I am trying to model incompressible liquid inside a solid cavity with heat transfer from the solid boundaries.

Any suggestion for solving this problem will be great.
AmalSoman is offline   Reply With Quote


cht, cht coupling, chtmultiregionfoam, conjugate heat transfer, heat boundary condition

Thread Tools Search this Thread
Search this Thread:

Advanced Search
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 Off
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
heat flux on solid surface in conjugate heat transfer skuznet OpenFOAM Pre-Processing 0 December 10, 2013 00:36
Conjugate heat transfer ali_1364reza FLUENT 1 May 31, 2012 09:38
Conjugate heat transfer in reacting flow ali_1364reza OpenFOAM 1 May 30, 2012 14:15
Conjugate heat transfer ali_1364reza CFX 3 May 30, 2012 07:42
Conjugate Heat Transfer between fluid and solid Li Yang Main CFD Forum 8 March 27, 2004 11:05

All times are GMT -4. The time now is 23:53.