Hans,Using dynamically allocated arrays can be a little tricky. Remember that when you use more than one instance of a Type in a simulation, the same data structures are being used in the code for each instance. That means that you cannot rely on locally defined data structures to hold values from one iteration (or timestep) to the next. Incidentally, that is why we reread parameters if we notice that INFO(1) is not equal to IUNIT (in Trnsys16) or if the getIsReReadParameters() function returns .true. (in Trnsys17); the local variables that hold the parameter values have to be reset for each instance.
If you want to use dynamically allocated arrays then the safest thing to do is to reallocate and deallocate them each iteration. That is likely going to be time consuming and may also defeat the purpose of the arrays. Another option would be to use TRNSYS's built-in storage (the S array in Trnsys15, the setStorageSize(), setStorageVars(), and getStorageVars() functions in Trnsys16 and the setNumberStoredVariables(), setStaticArrayValue() and getStaticArrayValue() functions in Trnsys17). You can reserve however many spaces you want at the beginning of the simulation (and it doesn't have to be the same number for each instance of the Type in the simulation). All of the allocating and deallocating is taking place behind the scenes.
Kind regards, David On 10/16/2014 04:04, Hans Böhm wrote:
Dear trnsys users, i wrote a new type for my trnsys project, which uses allocatable/dynamic arrays. The array size is defined by a parameter in the proforma.Currently i allocate the arrays during initialization call (INFO(7) == -1) and deallocate them during the last call (INFO(8) == -1) as recommended athttps://www.mail-archive.com/trnsys-users@engr.wisc.edu/msg01360.html. This works so far as long as i only use one unit of this type in my simulation. When i add another one i get the following error: forrtl: severe (151): allocatable array is already allocatedSo where/how do i have to allocate and deallocate my arrays to be able touse multiple units of my type? Any ideas? Thanks, Hans Böhm _______________________________________________ TRNSYS-users mailing list TRNSYS-users@lists.onebuilding.org http://lists.onebuilding.org/listinfo.cgi/trnsys-users-onebuilding.org
-- *************************** David BRADLEY Principal Thermal Energy Systems Specialists, LLC 22 North Carroll Street - suite 370 Madison, WI 53703 USA P:+1.608.274.2577 F:+1.608.278.1475 d.bradley@tess-inc.com http://www.tess-inc.com http://www.trnsys.com