Hi Kentaro,
On Fri, Feb 22, 2013 at 04:48:48PM +0100, Kentaro Takami wrote:
I encountered the problem in which the simulation result is randomly different at each run( of course I used same executable, par file, HPC and so on.).
I see the same for some of my runs, but I wouldn't expect otherwise.
In my case the simulation depends on 'global' quantities, e.g., quantities obtained by reductions. Reductions cannot be done exactly, at least not efficiently. Thus, values obtained via reductions (can) have always an error that is different even when running the same simulation twice, at least when done in parallel. If your simulation depends on this, then these (small) differences can quickly grow, especially in iterative schemes, e.g., hydro.
Finally I'm doubting the origin of the problem is "CactusNumerical/Dissipation", because when I don't activate this thorn, the problem can be disappeared.
This is interesting. So, you say you don't see random changes when Dissipation isn't active, but you do when you activate it, and everything else is the same? Which variables do you apply dissipation to?
In this thorn, "dissipation.c" calls the fortran subroutine "apply_dissipation.F77" directly without scheduling in CACTUS. I guess the variables between C and fortran become inconsistency in this stage.
I don't see a problem in the code with this. Calling fortran from C the way done in this thorn seems to be ok.
Frank