[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[TRNSYS-users] Maximum number of Derivatives DTDT array inside one single component ???




Hi to all,


I need to solve at least 92 differential equations inside of one TRNSYS type Im writting with the numerical method that uses the DTDT / T array.
When defining the DTDT and T arrays with more than 50 slots, the TRACE command will give me a Fatal error while debugging. I already tried to change the TrnsysConstants.f90 file to assume a higher number of everything that can be set as a higher number there (including number of derivatives), but the errors are the same.

If anyone has any tips on how to debug this please tell me something :)

Thanks!

--
Sérgio Casimiro
MIT Portugal  |  Ph.D. Student


------------------------------------------------------------------------------------------------------
Details:

I'm using  TRNSYS 16.1, with CVF 6.6B
  1. If I use the TRACE command with more than 60 Derivatives, TRNSYS will stop saying:  "First-Chance exception in TRNEXE.EXE (TRNDLL.DLL): 0xC000008C: Array Bounds Exceeded"
  2. The debugger will stop at Trace.for, line 71  :   10        TF(N)=TI(N)+DELT*DTDT(N)
  3. LST file wont say anything relevant for me to correct anything

In my component I got to the point of destroying the whole code I wrote just to see the sensibility of TRNSYS to this maximum number of derivatives with the TRACE command. I have set there also the correct Dimensions for the DTDT and T arrays (in the case of 60 derivatives, their size is 60), and T=0  and  DTDT=0.

In the deck file I have this:

* START, STOP and STEP
CONSTANTS 3
START=0
STOP=1.000000024
STEP=0.000277778
* User defined CONSTANTS

SIMULATION      START     STOP     STEP    ! Start time    End time    Time step
TOLERANCES 0.0001 0.0001            ! Integration     Convergence    !>>Adicionei aqui um zero (diminui a tolerancia por uma ordem de grandeza)
LIMITS 84 30 84                ! Max iterations    Max warnings    Trace limit
DFQ 1                    ! TRNSYS numerical integration solver method
WIDTH 80                ! TRNSYS output file width, number of characters
LIST                     ! NOLIST statement
MAP                     ! MAP statement
SOLVER 0 1 1                ! Solver statement    Minimum relaxation factor    Maximum relaxation factor
NAN_CHECK 1                ! Nan DEBUG statement
OVERWRITE_CHECK 1            ! Overwrite DEBUG statement
TIME_REPORT 1            ! enable time report statement
EQSOLVER 0                ! EQUATION SOLVER statement
ETRACE START STOP            ! EQUATION TRACE statement

* Model "Type810" (Type 810)
*
UNIT 2 TYPE 810     Type810
*$UNIT_NAME Type810
*$MODEL .\My Components\Type810.tmf
*$POSITION 300 142
*$LAYER Main #
TRACE START STOP
DERIVATIVES 60

(I have here 60 Zeros's bellow "DERIVATIVES 60" that Im not copying now here).
*------------------------------------------------------------------------------
END