I am working on a problem invovling heat conduction in a fairly simple geometry.
I have successfully run Elmer and get results consistent with, e.g., FlexPDE.
I would like to consider the role of heat transfer at an interal interface. I have found online examples (Heat Gap) and made some progress.
In the Solver manual, under Discontinuous Boundary, it states "Currently there can be only one discontinuous boundary at a time."
So if the problem has two interal interfaces one can only set up the problem for one at a time?
The statement seems clear but perhaps someone could clarify. Logically, it is not clear why there should be this limitation.
Thanks
Heat conduction, discontinuous boundary
-
- Site Admin
- Posts: 4812
- Joined: 22 Aug 2009, 11:57
- Antispam: Yes
- Location: Espoo, Finland
- Contact:
Re: Heat conduction, discontinuous boundary
Hi
You're right. The limitation seems stupid. As the person who coded it I must admit that this feature was sort of left half-way. I don't really remember if that is an actual limitation. It may well be. At least I remember that there were problems in geometric junctions.
Still, the most annoying part of the feature was that it really did break up the mesh and create second incartionations for the nodes at the interface. Where this was ok'ish for just one field it became very limiting for multiphysical problems where you would need to set the discontinuity for just one field. Then for other fields you still end up having to create some kind of lagrange multipliers etc. to ensure continuity. That was really annoying.
The current "best practice" to create discontinuities builds on the discontinuous galerkin (DG) basis functions. We can decleare sets of bodies that are discontinuous with respect to the others and enforce flux conditions of various types at the interface. Elsewhere the DG field is eliminated by permutation but at the interface it is maintained. The reduced basis dg is solver-specific so other solvers don't need to know anything about the discontinuities. The multiphysicists in me likes this and I stand behind this approach.
Unfortunately the solvers that utilize this need to have the special BCs implemented. Luckily we have a new (somewhat limited) version of HeatSolver to do this: HeatSolverVec. Look for examples how to do this in the following test cases:
-Peter
You're right. The limitation seems stupid. As the person who coded it I must admit that this feature was sort of left half-way. I don't really remember if that is an actual limitation. It may well be. At least I remember that there were problems in geometric junctions.
Still, the most annoying part of the feature was that it really did break up the mesh and create second incartionations for the nodes at the interface. Where this was ok'ish for just one field it became very limiting for multiphysical problems where you would need to set the discontinuity for just one field. Then for other fields you still end up having to create some kind of lagrange multipliers etc. to ensure continuity. That was really annoying.
The current "best practice" to create discontinuities builds on the discontinuous galerkin (DG) basis functions. We can decleare sets of bodies that are discontinuous with respect to the others and enforce flux conditions of various types at the interface. Elsewhere the DG field is eliminated by permutation but at the interface it is maintained. The reduced basis dg is solver-specific so other solvers don't need to know anything about the discontinuities. The multiphysicists in me likes this and I stand behind this approach.
Unfortunately the solvers that utilize this need to have the special BCs implemented. Luckily we have a new (somewhat limited) version of HeatSolver to do this: HeatSolverVec. Look for examples how to do this in the following test cases:
Code: Select all
elmeruser@elmeruser-VirtualBox:~/elmerfem/fem/tests$ grep -i 'heat gap coefficien' */*.sif
MarchingODE4/case.sif: Heat Gap Coefficient = Real 10.0
radiation_dg/radiation.sif: Heat Gap Coefficient = Real 1.0e1
structmap8/case.sif: Heat Gap Coefficient = Real 1.0e1
Re: Heat conduction, discontinuous boundary
Peter:
Thanks for your quick reply. I have looked at the examples and found the "radiation" one to be most relevant.
I have attempted to adapt my sif file accordingly - without fully understanding all the keywords.
I thought to run my problem first without introducing a discontinuous boundary to be sure all was good. It runs and produces a solution but when I ask for the temperature versus time at a point (using ParaView) the result I get is as if heat conduction is turned off.
The options are very extensive and "obvious" changes do not seem to have any effect.
Perhaps an experienced eye could quickly point me in the right direction.
Thanks,
Carl
Thanks for your quick reply. I have looked at the examples and found the "radiation" one to be most relevant.
I have attempted to adapt my sif file accordingly - without fully understanding all the keywords.
I thought to run my problem first without introducing a discontinuous boundary to be sure all was good. It runs and produces a solution but when I ask for the temperature versus time at a point (using ParaView) the result I get is as if heat conduction is turned off.
The options are very extensive and "obvious" changes do not seem to have any effect.
Perhaps an experienced eye could quickly point me in the right direction.
Thanks,
Carl
-
- Site Admin
- Posts: 4812
- Joined: 22 Aug 2009, 11:57
- Antispam: Yes
- Location: Espoo, Finland
- Contact:
Re: Heat conduction, discontinuous boundary
Hi Carl,
Without the gap condition the different bodies are fully separated. Maybe you don't have any gradient because heat cannot push through the interface? A picture would help.
-Peter
Without the gap condition the different bodies are fully separated. Maybe you don't have any gradient because heat cannot push through the interface? A picture would help.
-Peter
Re: Heat conduction, discontinuous boundary
Thanks, Peter.
I attach a picture from ParaView and the geometry file that gmsh reads.
The problem has cylindrical symmetry, basically some aluminum bodies within a Styrofoam shell. The axis of symmetry is vertical (y).
The central Al cylinder is thermally isolated from the rest. There are two radical cuts in the larger Al cylinder and it here that I want to explore thermal contact resistance. (These physical curves are commented out in the present problem).
Do you mean I need a boundary condition and heat gap at EVERY interface? Note that before introducing DG, the solver gave sensible results.
Carl
I attach a picture from ParaView and the geometry file that gmsh reads.
The problem has cylindrical symmetry, basically some aluminum bodies within a Styrofoam shell. The axis of symmetry is vertical (y).
The central Al cylinder is thermally isolated from the rest. There are two radical cuts in the larger Al cylinder and it here that I want to explore thermal contact resistance. (These physical curves are commented out in the present problem).
Do you mean I need a boundary condition and heat gap at EVERY interface? Note that before introducing DG, the solver gave sensible results.
Carl
-
- Site Admin
- Posts: 4812
- Joined: 22 Aug 2009, 11:57
- Antispam: Yes
- Location: Espoo, Finland
- Contact:
Re: Heat conduction, discontinuous boundary
Hi
Why you introduce discontinuities but have zero heat transfer over them? You did plot geometric entities, not temperature?
-Peter
Why you introduce discontinuities but have zero heat transfer over them? You did plot geometric entities, not temperature?
-Peter
Re: Heat conduction, discontinuous boundary
I'm sorry - I thought you wanted an idea of the geometry.
With the present sif file, the temperature of each body just rises according to the prescribed heat input; there is no heat conduction between the bodies. So the temperature map is not very interesting.
I probably do not understand the solver properly. According to the solver manual, 14.5, "Master and slave bodies create two body groups and the discontinuities are preserved only between them. If there are bodies which do not belong to either group then they are not affected by
the discontinuity."
I assumed by not defining any bodies (or discontinuities) I should get the same result as with the heatsolve module.
I need to do more reading ... Perhaps I need to use two solvers ...
Carl
With the present sif file, the temperature of each body just rises according to the prescribed heat input; there is no heat conduction between the bodies. So the temperature map is not very interesting.
I probably do not understand the solver properly. According to the solver manual, 14.5, "Master and slave bodies create two body groups and the discontinuities are preserved only between them. If there are bodies which do not belong to either group then they are not affected by
the discontinuity."
I assumed by not defining any bodies (or discontinuities) I should get the same result as with the heatsolve module.
I need to do more reading ... Perhaps I need to use two solvers ...
Carl
Re: Heat conduction, discontinuous boundary
Followup:
If I remove "Discontinuous Galerkin = Logical True" from the Solver, keeping everything else the same, I get the expected result.
With this keyword active there seems to be no conduction between bodies even though no internal boundaries or Heat Gaps have been declared.
If one wanted a heat gap at every interface this might be OK but in general this would not be the case.
The documentation in section 14.5 of the Solver manual is somewhat ambiguous. It states "Assume that we only have discontinuities at the interfaces." Does this mean EVERY interface? For my problem, the discontinuity is indeed at an interface but only one (or at most two) while I have altogether eight bodies.
(Elmer seems to be very powerful software and a lot of development work has gone into it. I appreciate that I can use it for free. It seems capable of dealing with very sophisticated discontinuities, e.g., rotating machines, but maybe the simple cases are not handled so well.)
Carl
If I remove "Discontinuous Galerkin = Logical True" from the Solver, keeping everything else the same, I get the expected result.
With this keyword active there seems to be no conduction between bodies even though no internal boundaries or Heat Gaps have been declared.
If one wanted a heat gap at every interface this might be OK but in general this would not be the case.
The documentation in section 14.5 of the Solver manual is somewhat ambiguous. It states "Assume that we only have discontinuities at the interfaces." Does this mean EVERY interface? For my problem, the discontinuity is indeed at an interface but only one (or at most two) while I have altogether eight bodies.
(Elmer seems to be very powerful software and a lot of development work has gone into it. I appreciate that I can use it for free. It seems capable of dealing with very sophisticated discontinuities, e.g., rotating machines, but maybe the simple cases are not handled so well.)
Carl
-
- Site Admin
- Posts: 4812
- Joined: 22 Aug 2009, 11:57
- Antispam: Yes
- Location: Espoo, Finland
- Contact:
Re: Heat conduction, discontinuous boundary
Hi Carl,
You must list, for example
and this will create two groups of bodies which are discontinuous with each other. If you omit these keywords then all bodies will be discontinuous with respect to other bodies. After introducing discontinuities you must introduce heat gap model for each BC where you want to jump condition - not just discontinuity.
It is cumbersome because having full control of discontinuity creation is not really that straight-forward. The 1st implementation of duplicating nodes worked for simple cases. However, it didn't work for T-junctions or multifold discontinuities. Also, people don't usually need these kind of features so this is a path less visited. Rotating machines are more common.
-Peter
You must list, for example
Code: Select all
DG Reduced Basis Master Bodies(3) = Integer 1 2 3
DG Reduced Basis Slave Bodies(2) = Integer 4 7
It is cumbersome because having full control of discontinuity creation is not really that straight-forward. The 1st implementation of duplicating nodes worked for simple cases. However, it didn't work for T-junctions or multifold discontinuities. Also, people don't usually need these kind of features so this is a path less visited. Rotating machines are more common.
-Peter
Re: Heat conduction, discontinuous boundary
Thanks, Peter. I will try some more. I was aware of those key words but didn't understand their significance. So if I list all my bodies as master bodies it should behave as if there were no discontinuities? I will try.
Yes, I know about Heat Gap (although it doesn't seem to be in any of the recent documentation).
Carl
Yes, I know about Heat Gap (although it doesn't seem to be in any of the recent documentation).
Carl