I am working on a conductive-radiative heat transfer simulation in a rather large geometry, which means I have to use an iterative solver to calculate the Gebhardt factors from view factors. My casefile is attached, the UNV file with the mesh cannot be uploaded due to size but I would be happy to send it to you if you need.
All the simulation runs fine with the casefile I am sharing, as long as the emissivity is not equal to 1.00 (and yes, it this specific geometry, it helps to set it to 0.99 but in more complex geometries, I am getting the same error at emissivity of 0.9, which is already a trouble). Thing is, that with emissivity very close to 1.00, the CGS iterative solver fails, saying
Code: Select all
IterSolver: Using iterative method: cgs
1 0.0000E+00
IterSolver: Using iterative method: cgs
1 0.2122-312
ERROR:: IterSolve: Failed convergence tolerances.
Note: The following floating-point exceptions are signalling: IEEE_DENORMAL
Trying to dig in the answers from the source codes, I found the FIterSolve routine in the GebhardtFactors.F90 . It seems to have CGS hard-wired as the iterative solver for the iterative Gebhardt factor calculation. My question is, if there is a point in trying to update the GebhardFactors.F90 file so that it uses another solver. My feeling is, that with emissivity of 1.00, the CGS residua are already too small in the first iteration and that is why it fails. Is there a way to get around it?
Many thanks
Adam