|
#(#(#room1 #Room #amountOfHeat: 0 #heatCapacity: 1250.0 #interval: 10000 #temperature: 25 #thermalResistance: 0 #timeOfLastComputation: 0 #volume: 50) #(#room2 #Room #amountOfHeat: 0 #heatCapacity: 1250.0 #interval: 10000 #temperature: 5 #thermalResistance: 0 #timeOfLastComputation: 0 #volume: 75) )
Relations can be described in a similar way. For example, to connect a Surface to a Radiator and a Room, the following array is used:
#(#(#surface1 #Radiator: #radiator1) #(#surface1 #Room: #room1) )
The complete specification for a simple building can be found here.
Speedikon is an object oriented CAD program in the sense, that it stores
its data in objects and not only as line coordinates, as some simpler CAD
systems do. Therefore, a Wall is
identifiable as such and consists not only of a couple of lines.
This "object oriented" data can be exchanged with other programs
(e.g., our simulator) by files written in a so called HLI (high level interface
language, see example) format. The transformation
tool reads this HLI data and tries to convert it to the class model of
the building. One big problem of this transformation is that our simulator
is not restricted to one class model - the class model itself can vary for
different simulators. Unfortunately, for each different class model the
transformation program has to be adapted. But, if the class model hasn't
changed too much, adaption is an easy task.
The other problem of the transformation is that Speedikon doesn't store all
its data into a HLI file. Therefore, some heuristics have to be applied to
get "reasonable" data for the simulator. Eventually some manual
adaptions have to be made after the transformation.
This slide shows the structure of our transformation program (gzipped postscript, 51KB).
|
|
|
|