trnsystor.statement.NaNCheck

class trnsystor.statement.NaNCheck(n=0)[source]

NaNCheck Statement.

One problem that has plagued TRNSYS simulation debuggers is that in Fortran, the “Not a Number” (NaN) condition can be passed along through numerous subroutines without being flagged as an error. For example, a division by zero results in a variable being set to NaN. This NaN can then be used in subsequent equation, causing them to be set to NaN as well. The problem persists for a time until a Range Check or an Integer Overflow error occurs and actually stops simulation progress. To alleviate the problem, the NAN_CHECK Statement was added as an optional debugging feature in TRNSYS input files.

Initialize a NaNCheck object.

Hint

If the NAN_CHECK statement is present (n=1), then the TRNSYS kernel checks every output of each component at each iteration and generates a clean error if ever one of those outputs has been set to the FORTRAN NaN condition. Because this checking is very time consuming, users are not advised to leave NAN_CHECK set in their input files as it causes simulations to run much more slowly.

Parameters

n (int) – Is 0 if the NAN_CHECK feature is not desired or 1 if NAN_CHECK feature is desired. Default is 0.