I'm trying to model the temperature distribution over a curved surface. Apart from the heat equation, I need to take into account the energy emission/absorption through electromagnetic radiation. The surface is divided into small triangles that will exchange energy.

If we focus on the radiation part, one way to start is to compute form factors that take into account how much one surface sees another one. Then, it is easy to derive a formula for the energy exchange between the triangles. However, this formula implies calculating powers of a matrix $n\times n$ where n is the number of triangles. This can be done in $n^{2.8}$. Besides that, form factors are also expensive to calculate.

This is quite expensive. For a mesh divided in 10,000 triangles, which is not a lot, it's more than $10^{11}$ calculations.

Does anyone know any reference to some algorithm that solves the same problem with better complexity? Note that game-like algorithms aren't likely to work well because here there are as many light sources and as many observers as there are triangles...

If you're not aware of any good deterministic algorithm but know about heuristic ones it can also be useful.


Disclaimer: I am not an expert in heat transfer, but have a lot of computational electromagnetics experience.

I think you are looking for a so-called fast algorithm for heat transfer problems. One family worth considering is a family of multipole algorithms. Fast Multipole Method (FMM) is extremely popular in the modeling of electromagnetic phenomena. But I've seen its application to heat transfer problems as well. FMM, in general, allows reducing the complexity to $\mathcal O(N\log N)$ (subject to the problem statement, preconditioning, etc.) There probably are certain limitations/details in applying FMM to heat transfer, but I would consider this approach very viable.

For example,

These are some publications which I found first. I think that they will allow you to get to maybe more foundational/advanced papers on this topic.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.